From 043116fbc9687241a22ee4ba2dde7b74f58a9ff4 Mon Sep 17 00:00:00 2001 From: ninavirgiana Date: Thu, 12 Mar 2026 21:10:27 +0700 Subject: [PATCH] Initial commit --- .editorconfig | 18 + .env.example | 65 + .gitattributes | 11 + .gitignore | 24 + README.md | 59 + .../Auth/AuthenticatedSessionController.php | 47 + .../Auth/ConfirmablePasswordController.php | 40 + ...mailVerificationNotificationController.php | 24 + .../EmailVerificationPromptController.php | 21 + .../Auth/NewPasswordController.php | 64 + .../Controllers/Auth/PasswordController.php | 29 + .../Auth/PasswordResetLinkController.php | 44 + .../Auth/RegisteredUserController.php | 50 + .../Auth/VerifyEmailController.php | 27 + app/Http/Controllers/AyamController.php | 288 + app/Http/Controllers/Controller.php | 8 + app/Http/Controllers/GajiController.php | 130 + app/Http/Controllers/HasilController.php | 183 + app/Http/Controllers/HomeController.php | 165 + app/Http/Controllers/KaryawanController.php | 184 + app/Http/Controllers/KeuanganController.php | 154 + app/Http/Controllers/LaporanController.php | 102 + .../Controllers/LaporanExportController.php | 51 + app/Http/Controllers/PakanController.php | 308 + app/Http/Controllers/ProfilController.php | 120 + app/Http/Controllers/ProfileController.php | 60 + app/Http/Middleware/CheckRole.php | 24 + app/Http/Requests/Auth/LoginRequest.php | 48 + app/Http/Requests/ProfileUpdateRequest.php | 30 + app/Models/GajiKaryawan.php | 27 + app/Models/InventoriKandang.php | 29 + app/Models/Kandang.php | 28 + app/Models/Karyawan.php | 39 + app/Models/MutasiAyam.php | 36 + app/Models/Penjualan.php | 30 + app/Models/ProduksiTelur.php | 37 + app/Models/User.php | 74 + .../ResetPasswordNotification.php | 25 + app/Providers/AppServiceProvider.php | 29 + app/Services/LaporanExportService.php | 213 + app/View/Components/AppLayout.php | 17 + app/View/Components/GuestLayout.php | 17 + artisan | 18 + bootstrap/app.php | 18 + bootstrap/cache/.gitignore | 2 + bootstrap/providers.php | 5 + composer.json | 89 + composer.lock | 9019 +++++++++++++++++ config/app.php | 126 + config/auth.php | 115 + config/cache.php | 117 + config/database.php | 183 + config/filesystems.php | 80 + config/logging.php | 132 + config/mail.php | 118 + config/queue.php | 129 + config/services.php | 38 + config/session.php | 217 + database/.gitignore | 1 + database/factories/UserFactory.php | 44 + .../0001_01_01_000000_create_users_table.php | 32 + .../0001_01_01_000001_create_cache_table.php | 35 + .../0001_01_01_000002_create_jobs_table.php | 57 + ...026_01_24_224914_create_karyawan_table.php | 32 + ...2026_01_24_225149_create_kandang_table.php | 29 + .../2026_01_24_225312_create_produk_table.php | 30 + ...1_24_225419_create_populasi_ayam_table.php | 32 + ..._24_225548_create_produksi_telur_table.php | 34 + ..._225718_create_inventori_kandang_table.php | 34 + ...26_01_24_225918_create_penjualan_table.php | 29 + ...4_230027_create_detail_penjualan_table.php | 31 + ...1_24_230130_create_gaji_karyawan_table.php | 33 + ...24_230232_create_password_resets_table.php | 28 + ...26_02_08_143108_update_penjualan_table.php | 45 + ..._08_145521_drop_detail_penjualan_table.php | 25 + .../2026_02_08_150032_drop_produk_table.php | 32 + ..._02_08_151028_drop_populasi_ayam_table.php | 26 + ..._02_08_151133_create_mutasi_ayam_table.php | 37 + ..._08_152710_update_produksi_telur_types.php | 26 + ...13_084221_rename_password_resets_table.php | 17 + ...40_add_jenis_produk_to_penjualan_table.php | 29 + ...add_tanggal_to_inventori_kandang_table.php | 30 + database/seeders/DatabaseSeeder.php | 22 + database/seeders/GajiKaryawanSeeder.php | 21 + database/seeders/InventoriKandangSeeder.php | 36 + database/seeders/KandangSeeder.php | 22 + database/seeders/KaryawanSeeder.php | 28 + database/seeders/MutasiAyamSeeder.php | 21 + database/seeders/PenjualanSeeder.php | 32 + database/seeders/ProduksiTelurSeeder.php | 37 + database/seeders/UserSeeder.php | 41 + package-lock.json | 3473 +++++++ package.json | 21 + phpunit.xml | 35 + postcss.config.js | 6 + public/.htaccess | 25 + public/assets/css/auth.css | 146 + public/assets/css/bootstrap.min.css | 7 + public/assets/css/custom.css | 508 + public/assets/css/demo.css | 101 + public/assets/css/ready.css | 6857 +++++++++++++ public/assets/css/ready.css.map | 7 + public/assets/css/ready.min.css | 15 + public/assets/fonts/line-awesome.eot | Bin 0 -> 112916 bytes public/assets/fonts/line-awesome.svg | 2628 +++++ public/assets/fonts/line-awesome.ttf | Bin 0 -> 112728 bytes public/assets/fonts/line-awesome.woff | Bin 0 -> 57436 bytes public/assets/fonts/line-awesome.woff2 | Bin 0 -> 45108 bytes public/assets/img/ayam.png | Bin 0 -> 115470 bytes public/assets/img/menu.png | Bin 0 -> 2719 bytes public/assets/img/menu2.png | Bin 0 -> 3448 bytes public/assets/img/profile.jpg | Bin 0 -> 19934 bytes public/assets/img/profile2.jpg | Bin 0 -> 11365 bytes public/assets/js/core/bootstrap.min.js | 7 + public/assets/js/core/jquery.3.2.1.min.js | 4 + public/assets/js/core/popper.min.js | 4 + public/assets/js/demo.js | 163 + .../bootstrap-notify/bootstrap-notify.min.js | 1 + .../bootstrap-toggle/bootstrap-toggle.min.js | 9 + .../js/plugin/chart-circle/circles.min.js | 7 + .../assets/js/plugin/chartist/chartist.min.js | 10 + .../plugin/chartist-plugin-tooltip.min.js | 213 + .../plugin/jquery-mapael/jquery.mapael.min.js | 4 + .../js/plugin/jquery-mapael/maps/README.txt | 3 + .../jquery-mapael/maps/france_departments.js | 165 + .../maps/france_departments.min.js | 5 + .../plugin/jquery-mapael/maps/usa_states.js | 148 + .../jquery-mapael/maps/usa_states.min.js | 2 + .../jquery-mapael/maps/world_countries.js | 229 + .../jquery-mapael/maps/world_countries.min.js | 5 + .../maps/world_countries_mercator.js | 285 + .../maps/world_countries_mercator.min.js | 4 + .../maps/world_countries_miller.js | 322 + .../maps/world_countries_miller.min.js | 3 + .../jquery-scrollbar/jquery.scrollbar.min.js | 16 + .../jquery-ui-1.12.1.custom/jquery-ui.min.js | 8 + public/assets/js/ready.js | 57 + public/assets/js/ready.min.js | 2 + public/assets/sass/ready.scss | 36 + public/assets/sass/ready/_background.scss | 25 + public/assets/sass/ready/_components.scss | 15 + public/assets/sass/ready/_layouts.scss | 246 + public/assets/sass/ready/_line-awesome.scss | 2817 +++++ public/assets/sass/ready/_outlinefocus.scss | 5 + public/assets/sass/ready/_plugins.scss | 4 + public/assets/sass/ready/_responsive.scss | 141 + public/assets/sass/ready/_typography.scss | 116 + public/assets/sass/ready/_variables.scss | 18 + .../assets/sass/ready/components/_alerts.scss | 51 + .../assets/sass/ready/components/_badges.scss | 51 + .../sass/ready/components/_buttons.scss | 266 + .../assets/sass/ready/components/_cards.scss | 194 + .../assets/sass/ready/components/_charts.scss | 69 + .../sass/ready/components/_dropdowns.scss | 143 + .../assets/sass/ready/components/_inputs.scss | 310 + .../assets/sass/ready/components/_maps.scss | 49 + .../assets/sass/ready/components/_modals.scss | 12 + .../sass/ready/components/_navbars.scss | 80 + .../sass/ready/components/_navpills.scss | 71 + .../sass/ready/components/_navsearch.scss | 25 + .../sass/ready/components/_paginations.scss | 54 + .../sass/ready/components/_sliders.scss | 25 + .../assets/sass/ready/components/_tables.scss | 153 + .../assets/sass/ready/plugins/_chartist.scss | 793 ++ .../sass/ready/plugins/_jqueryscrollbar.scss | 800 ++ .../assets/sass/ready/plugins/_jqueryui.scss | 269 + public/assets/sass/ready/plugins/_toggle.scss | 114 + public/favicon.ico | 0 public/index.php | 20 + public/robots.txt | 2 + resources/css/app.css | 3 + resources/js/app.js | 7 + resources/js/bootstrap.js | 4 + .../views/auth/confirm-password.blade.php | 27 + .../views/auth/forgot-password.blade.php | 49 + resources/views/auth/login.blade.php | 82 + resources/views/auth/register.blade.php | 52 + resources/views/auth/reset-password.blade.php | 76 + resources/views/auth/verify-email.blade.php | 31 + .../components/application-logo.blade.php | 3 + .../components/auth-session-status.blade.php | 7 + .../views/components/danger-button.blade.php | 3 + .../views/components/dropdown-link.blade.php | 1 + resources/views/components/dropdown.blade.php | 35 + .../views/components/input-error.blade.php | 9 + .../views/components/input-label.blade.php | 5 + resources/views/components/modal.blade.php | 78 + resources/views/components/nav-link.blade.php | 11 + .../views/components/primary-button.blade.php | 3 + .../components/responsive-nav-link.blade.php | 11 + .../components/secondary-button.blade.php | 3 + .../views/components/text-input.blade.php | 3 + resources/views/dashboard.blade.php | 17 + resources/views/gaji.blade.php | 336 + resources/views/home.blade.php | 287 + resources/views/inventori-ayam.blade.php | 560 + resources/views/inventori-pakan.blade.php | 692 ++ resources/views/karyawan.blade.php | 465 + resources/views/laporan.blade.php | 301 + resources/views/layouts/app.blade.php | 36 + resources/views/layouts/guest.blade.php | 44 + resources/views/layouts/navigation.blade.php | 100 + resources/views/produksi-hasil.blade.php | 455 + resources/views/produksi-keuangan.blade.php | 541 + resources/views/profil.blade.php | 287 + resources/views/profile/edit.blade.php | 29 + .../partials/delete-user-form.blade.php | 55 + .../partials/update-password-form.blade.php | 48 + .../update-profile-information-form.blade.php | 64 + resources/views/template.blade.php | 247 + resources/views/welcome.blade.php | 277 + routes/auth.php | 59 + routes/console.php | 8 + routes/web.php | 101 + storage/app/.gitignore | 4 + storage/app/private/.gitignore | 2 + storage/app/public/.gitignore | 2 + storage/framework/.gitignore | 9 + storage/framework/cache/.gitignore | 3 + storage/framework/cache/data/.gitignore | 2 + storage/framework/sessions/.gitignore | 2 + storage/framework/testing/.gitignore | 2 + storage/framework/views/.gitignore | 2 + storage/logs/.gitignore | 2 + tailwind.config.js | 21 + tests/Feature/Auth/AuthenticationTest.php | 54 + tests/Feature/Auth/EmailVerificationTest.php | 58 + .../Feature/Auth/PasswordConfirmationTest.php | 44 + tests/Feature/Auth/PasswordResetTest.php | 73 + tests/Feature/Auth/PasswordUpdateTest.php | 51 + tests/Feature/Auth/RegistrationTest.php | 31 + tests/Feature/ExampleTest.php | 19 + tests/Feature/ProfileTest.php | 99 + tests/TestCase.php | 10 + tests/Unit/ExampleTest.php | 16 + vite.config.js | 11 + 236 files changed, 42901 insertions(+) create mode 100644 .editorconfig create mode 100644 .env.example create mode 100644 .gitattributes create mode 100644 .gitignore create mode 100644 README.md create mode 100644 app/Http/Controllers/Auth/AuthenticatedSessionController.php create mode 100644 app/Http/Controllers/Auth/ConfirmablePasswordController.php create mode 100644 app/Http/Controllers/Auth/EmailVerificationNotificationController.php create mode 100644 app/Http/Controllers/Auth/EmailVerificationPromptController.php create mode 100644 app/Http/Controllers/Auth/NewPasswordController.php create mode 100644 app/Http/Controllers/Auth/PasswordController.php create mode 100644 app/Http/Controllers/Auth/PasswordResetLinkController.php create mode 100644 app/Http/Controllers/Auth/RegisteredUserController.php create mode 100644 app/Http/Controllers/Auth/VerifyEmailController.php create mode 100644 app/Http/Controllers/AyamController.php create mode 100644 app/Http/Controllers/Controller.php create mode 100644 app/Http/Controllers/GajiController.php create mode 100644 app/Http/Controllers/HasilController.php create mode 100644 app/Http/Controllers/HomeController.php create mode 100644 app/Http/Controllers/KaryawanController.php create mode 100644 app/Http/Controllers/KeuanganController.php create mode 100644 app/Http/Controllers/LaporanController.php create mode 100644 app/Http/Controllers/LaporanExportController.php create mode 100644 app/Http/Controllers/PakanController.php create mode 100644 app/Http/Controllers/ProfilController.php create mode 100644 app/Http/Controllers/ProfileController.php create mode 100644 app/Http/Middleware/CheckRole.php create mode 100644 app/Http/Requests/Auth/LoginRequest.php create mode 100644 app/Http/Requests/ProfileUpdateRequest.php create mode 100644 app/Models/GajiKaryawan.php create mode 100644 app/Models/InventoriKandang.php create mode 100644 app/Models/Kandang.php create mode 100644 app/Models/Karyawan.php create mode 100644 app/Models/MutasiAyam.php create mode 100644 app/Models/Penjualan.php create mode 100644 app/Models/ProduksiTelur.php create mode 100644 app/Models/User.php create mode 100644 app/Notifications/ResetPasswordNotification.php create mode 100644 app/Providers/AppServiceProvider.php create mode 100644 app/Services/LaporanExportService.php create mode 100644 app/View/Components/AppLayout.php create mode 100644 app/View/Components/GuestLayout.php create mode 100644 artisan create mode 100644 bootstrap/app.php create mode 100644 bootstrap/cache/.gitignore create mode 100644 bootstrap/providers.php create mode 100644 composer.json create mode 100644 composer.lock create mode 100644 config/app.php create mode 100644 config/auth.php create mode 100644 config/cache.php create mode 100644 config/database.php create mode 100644 config/filesystems.php create mode 100644 config/logging.php create mode 100644 config/mail.php create mode 100644 config/queue.php create mode 100644 config/services.php create mode 100644 config/session.php create mode 100644 database/.gitignore create mode 100644 database/factories/UserFactory.php create mode 100644 database/migrations/0001_01_01_000000_create_users_table.php create mode 100644 database/migrations/0001_01_01_000001_create_cache_table.php create mode 100644 database/migrations/0001_01_01_000002_create_jobs_table.php create mode 100644 database/migrations/2026_01_24_224914_create_karyawan_table.php create mode 100644 database/migrations/2026_01_24_225149_create_kandang_table.php create mode 100644 database/migrations/2026_01_24_225312_create_produk_table.php create mode 100644 database/migrations/2026_01_24_225419_create_populasi_ayam_table.php create mode 100644 database/migrations/2026_01_24_225548_create_produksi_telur_table.php create mode 100644 database/migrations/2026_01_24_225718_create_inventori_kandang_table.php create mode 100644 database/migrations/2026_01_24_225918_create_penjualan_table.php create mode 100644 database/migrations/2026_01_24_230027_create_detail_penjualan_table.php create mode 100644 database/migrations/2026_01_24_230130_create_gaji_karyawan_table.php create mode 100644 database/migrations/2026_01_24_230232_create_password_resets_table.php create mode 100644 database/migrations/2026_02_08_143108_update_penjualan_table.php create mode 100644 database/migrations/2026_02_08_145521_drop_detail_penjualan_table.php create mode 100644 database/migrations/2026_02_08_150032_drop_produk_table.php create mode 100644 database/migrations/2026_02_08_151028_drop_populasi_ayam_table.php create mode 100644 database/migrations/2026_02_08_151133_create_mutasi_ayam_table.php create mode 100644 database/migrations/2026_02_08_152710_update_produksi_telur_types.php create mode 100644 database/migrations/2026_02_13_084221_rename_password_resets_table.php create mode 100644 database/migrations/2026_02_17_055540_add_jenis_produk_to_penjualan_table.php create mode 100644 database/migrations/2026_03_11_034650_add_tanggal_to_inventori_kandang_table.php create mode 100644 database/seeders/DatabaseSeeder.php create mode 100644 database/seeders/GajiKaryawanSeeder.php create mode 100644 database/seeders/InventoriKandangSeeder.php create mode 100644 database/seeders/KandangSeeder.php create mode 100644 database/seeders/KaryawanSeeder.php create mode 100644 database/seeders/MutasiAyamSeeder.php create mode 100644 database/seeders/PenjualanSeeder.php create mode 100644 database/seeders/ProduksiTelurSeeder.php create mode 100644 database/seeders/UserSeeder.php create mode 100644 package-lock.json create mode 100644 package.json create mode 100644 phpunit.xml create mode 100644 postcss.config.js create mode 100644 public/.htaccess create mode 100644 public/assets/css/auth.css create mode 100644 public/assets/css/bootstrap.min.css create mode 100644 public/assets/css/custom.css create mode 100644 public/assets/css/demo.css create mode 100644 public/assets/css/ready.css create mode 100644 public/assets/css/ready.css.map create mode 100644 public/assets/css/ready.min.css create mode 100644 public/assets/fonts/line-awesome.eot create mode 100644 public/assets/fonts/line-awesome.svg create mode 100644 public/assets/fonts/line-awesome.ttf create mode 100644 public/assets/fonts/line-awesome.woff create mode 100644 public/assets/fonts/line-awesome.woff2 create mode 100644 public/assets/img/ayam.png create mode 100644 public/assets/img/menu.png create mode 100644 public/assets/img/menu2.png create mode 100644 public/assets/img/profile.jpg create mode 100644 public/assets/img/profile2.jpg create mode 100644 public/assets/js/core/bootstrap.min.js create mode 100644 public/assets/js/core/jquery.3.2.1.min.js create mode 100644 public/assets/js/core/popper.min.js create mode 100644 public/assets/js/demo.js create mode 100644 public/assets/js/plugin/bootstrap-notify/bootstrap-notify.min.js create mode 100644 public/assets/js/plugin/bootstrap-toggle/bootstrap-toggle.min.js create mode 100644 public/assets/js/plugin/chart-circle/circles.min.js create mode 100644 public/assets/js/plugin/chartist/chartist.min.js create mode 100644 public/assets/js/plugin/chartist/plugin/chartist-plugin-tooltip.min.js create mode 100644 public/assets/js/plugin/jquery-mapael/jquery.mapael.min.js create mode 100644 public/assets/js/plugin/jquery-mapael/maps/README.txt create mode 100644 public/assets/js/plugin/jquery-mapael/maps/france_departments.js create mode 100644 public/assets/js/plugin/jquery-mapael/maps/france_departments.min.js create mode 100644 public/assets/js/plugin/jquery-mapael/maps/usa_states.js create mode 100644 public/assets/js/plugin/jquery-mapael/maps/usa_states.min.js create mode 100644 public/assets/js/plugin/jquery-mapael/maps/world_countries.js create mode 100644 public/assets/js/plugin/jquery-mapael/maps/world_countries.min.js create mode 100644 public/assets/js/plugin/jquery-mapael/maps/world_countries_mercator.js create mode 100644 public/assets/js/plugin/jquery-mapael/maps/world_countries_mercator.min.js create mode 100644 public/assets/js/plugin/jquery-mapael/maps/world_countries_miller.js create mode 100644 public/assets/js/plugin/jquery-mapael/maps/world_countries_miller.min.js create mode 100644 public/assets/js/plugin/jquery-scrollbar/jquery.scrollbar.min.js create mode 100644 public/assets/js/plugin/jquery-ui-1.12.1.custom/jquery-ui.min.js create mode 100644 public/assets/js/ready.js create mode 100644 public/assets/js/ready.min.js create mode 100644 public/assets/sass/ready.scss create mode 100644 public/assets/sass/ready/_background.scss create mode 100644 public/assets/sass/ready/_components.scss create mode 100644 public/assets/sass/ready/_layouts.scss create mode 100644 public/assets/sass/ready/_line-awesome.scss create mode 100644 public/assets/sass/ready/_outlinefocus.scss create mode 100644 public/assets/sass/ready/_plugins.scss create mode 100644 public/assets/sass/ready/_responsive.scss create mode 100644 public/assets/sass/ready/_typography.scss create mode 100644 public/assets/sass/ready/_variables.scss create mode 100644 public/assets/sass/ready/components/_alerts.scss create mode 100644 public/assets/sass/ready/components/_badges.scss create mode 100644 public/assets/sass/ready/components/_buttons.scss create mode 100644 public/assets/sass/ready/components/_cards.scss create mode 100644 public/assets/sass/ready/components/_charts.scss create mode 100644 public/assets/sass/ready/components/_dropdowns.scss create mode 100644 public/assets/sass/ready/components/_inputs.scss create mode 100644 public/assets/sass/ready/components/_maps.scss create mode 100644 public/assets/sass/ready/components/_modals.scss create mode 100644 public/assets/sass/ready/components/_navbars.scss create mode 100644 public/assets/sass/ready/components/_navpills.scss create mode 100644 public/assets/sass/ready/components/_navsearch.scss create mode 100644 public/assets/sass/ready/components/_paginations.scss create mode 100644 public/assets/sass/ready/components/_sliders.scss create mode 100644 public/assets/sass/ready/components/_tables.scss create mode 100644 public/assets/sass/ready/plugins/_chartist.scss create mode 100644 public/assets/sass/ready/plugins/_jqueryscrollbar.scss create mode 100644 public/assets/sass/ready/plugins/_jqueryui.scss create mode 100644 public/assets/sass/ready/plugins/_toggle.scss create mode 100644 public/favicon.ico create mode 100644 public/index.php create mode 100644 public/robots.txt create mode 100644 resources/css/app.css create mode 100644 resources/js/app.js create mode 100644 resources/js/bootstrap.js create mode 100644 resources/views/auth/confirm-password.blade.php create mode 100644 resources/views/auth/forgot-password.blade.php create mode 100644 resources/views/auth/login.blade.php create mode 100644 resources/views/auth/register.blade.php create mode 100644 resources/views/auth/reset-password.blade.php create mode 100644 resources/views/auth/verify-email.blade.php create mode 100644 resources/views/components/application-logo.blade.php create mode 100644 resources/views/components/auth-session-status.blade.php create mode 100644 resources/views/components/danger-button.blade.php create mode 100644 resources/views/components/dropdown-link.blade.php create mode 100644 resources/views/components/dropdown.blade.php create mode 100644 resources/views/components/input-error.blade.php create mode 100644 resources/views/components/input-label.blade.php create mode 100644 resources/views/components/modal.blade.php create mode 100644 resources/views/components/nav-link.blade.php create mode 100644 resources/views/components/primary-button.blade.php create mode 100644 resources/views/components/responsive-nav-link.blade.php create mode 100644 resources/views/components/secondary-button.blade.php create mode 100644 resources/views/components/text-input.blade.php create mode 100644 resources/views/dashboard.blade.php create mode 100644 resources/views/gaji.blade.php create mode 100644 resources/views/home.blade.php create mode 100644 resources/views/inventori-ayam.blade.php create mode 100644 resources/views/inventori-pakan.blade.php create mode 100644 resources/views/karyawan.blade.php create mode 100644 resources/views/laporan.blade.php create mode 100644 resources/views/layouts/app.blade.php create mode 100644 resources/views/layouts/guest.blade.php create mode 100644 resources/views/layouts/navigation.blade.php create mode 100644 resources/views/produksi-hasil.blade.php create mode 100644 resources/views/produksi-keuangan.blade.php create mode 100644 resources/views/profil.blade.php create mode 100644 resources/views/profile/edit.blade.php create mode 100644 resources/views/profile/partials/delete-user-form.blade.php create mode 100644 resources/views/profile/partials/update-password-form.blade.php create mode 100644 resources/views/profile/partials/update-profile-information-form.blade.php create mode 100644 resources/views/template.blade.php create mode 100644 resources/views/welcome.blade.php create mode 100644 routes/auth.php create mode 100644 routes/console.php create mode 100644 routes/web.php create mode 100644 storage/app/.gitignore create mode 100644 storage/app/private/.gitignore create mode 100644 storage/app/public/.gitignore create mode 100644 storage/framework/.gitignore create mode 100644 storage/framework/cache/.gitignore create mode 100644 storage/framework/cache/data/.gitignore create mode 100644 storage/framework/sessions/.gitignore create mode 100644 storage/framework/testing/.gitignore create mode 100644 storage/framework/views/.gitignore create mode 100644 storage/logs/.gitignore create mode 100644 tailwind.config.js create mode 100644 tests/Feature/Auth/AuthenticationTest.php create mode 100644 tests/Feature/Auth/EmailVerificationTest.php create mode 100644 tests/Feature/Auth/PasswordConfirmationTest.php create mode 100644 tests/Feature/Auth/PasswordResetTest.php create mode 100644 tests/Feature/Auth/PasswordUpdateTest.php create mode 100644 tests/Feature/Auth/RegistrationTest.php create mode 100644 tests/Feature/ExampleTest.php create mode 100644 tests/Feature/ProfileTest.php create mode 100644 tests/TestCase.php create mode 100644 tests/Unit/ExampleTest.php create mode 100644 vite.config.js diff --git a/.editorconfig b/.editorconfig new file mode 100644 index 0000000..a186cd2 --- /dev/null +++ b/.editorconfig @@ -0,0 +1,18 @@ +root = true + +[*] +charset = utf-8 +end_of_line = lf +indent_size = 4 +indent_style = space +insert_final_newline = true +trim_trailing_whitespace = true + +[*.md] +trim_trailing_whitespace = false + +[*.{yml,yaml}] +indent_size = 2 + +[compose.yaml] +indent_size = 4 diff --git a/.env.example b/.env.example new file mode 100644 index 0000000..c0660ea --- /dev/null +++ b/.env.example @@ -0,0 +1,65 @@ +APP_NAME=Laravel +APP_ENV=local +APP_KEY= +APP_DEBUG=true +APP_URL=http://localhost + +APP_LOCALE=en +APP_FALLBACK_LOCALE=en +APP_FAKER_LOCALE=en_US + +APP_MAINTENANCE_DRIVER=file +# APP_MAINTENANCE_STORE=database + +# PHP_CLI_SERVER_WORKERS=4 + +BCRYPT_ROUNDS=12 + +LOG_CHANNEL=stack +LOG_STACK=single +LOG_DEPRECATIONS_CHANNEL=null +LOG_LEVEL=debug + +DB_CONNECTION=sqlite +# DB_HOST=127.0.0.1 +# DB_PORT=3306 +# DB_DATABASE=laravel +# DB_USERNAME=root +# DB_PASSWORD= + +SESSION_DRIVER=database +SESSION_LIFETIME=120 +SESSION_ENCRYPT=false +SESSION_PATH=/ +SESSION_DOMAIN=null + +BROADCAST_CONNECTION=log +FILESYSTEM_DISK=local +QUEUE_CONNECTION=database + +CACHE_STORE=database +# CACHE_PREFIX= + +MEMCACHED_HOST=127.0.0.1 + +REDIS_CLIENT=phpredis +REDIS_HOST=127.0.0.1 +REDIS_PASSWORD=null +REDIS_PORT=6379 + +MAIL_MAILER=log +MAIL_SCHEME=null +MAIL_HOST=127.0.0.1 +MAIL_PORT=2525 +MAIL_USERNAME=null +MAIL_PASSWORD=null +MAIL_FROM_ADDRESS="hello@example.com" +MAIL_FROM_NAME="${APP_NAME}" + +AWS_ACCESS_KEY_ID= +AWS_SECRET_ACCESS_KEY= +AWS_DEFAULT_REGION=us-east-1 +AWS_BUCKET= +AWS_USE_PATH_STYLE_ENDPOINT=false + +VITE_APP_NAME="${APP_NAME}" diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000..fcb21d3 --- /dev/null +++ b/.gitattributes @@ -0,0 +1,11 @@ +* text=auto eol=lf + +*.blade.php diff=html +*.css diff=css +*.html diff=html +*.md diff=markdown +*.php diff=php + +/.github export-ignore +CHANGELOG.md export-ignore +.styleci.yml export-ignore diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..b71b1ea --- /dev/null +++ b/.gitignore @@ -0,0 +1,24 @@ +*.log +.DS_Store +.env +.env.backup +.env.production +.phpactor.json +.phpunit.result.cache +/.fleet +/.idea +/.nova +/.phpunit.cache +/.vscode +/.zed +/auth.json +/node_modules +/public/build +/public/hot +/public/storage +/storage/*.key +/storage/pail +/vendor +Homestead.json +Homestead.yaml +Thumbs.db diff --git a/README.md b/README.md new file mode 100644 index 0000000..0165a77 --- /dev/null +++ b/README.md @@ -0,0 +1,59 @@ +

Laravel Logo

+ +

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

+ +## About Laravel + +Laravel is a web application framework with expressive, elegant syntax. We believe development must be an enjoyable and creative experience to be truly fulfilling. Laravel takes the pain out of development by easing common tasks used in many 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. +- Expressive, intuitive [database ORM](https://laravel.com/docs/eloquent). +- 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, powerful, and provides tools required for large, robust applications. + +## Learning Laravel + +Laravel has the most extensive and thorough [documentation](https://laravel.com/docs) and video tutorial library of all modern web application frameworks, making it a breeze to get started with the framework. You can also check out [Laravel Learn](https://laravel.com/learn), where you will be guided through building a modern Laravel application. + +If you don't feel like reading, [Laracasts](https://laracasts.com) can help. Laracasts contains thousands of video tutorials on a range of topics including Laravel, modern PHP, unit testing, and JavaScript. Boost your skills by digging into our comprehensive video library. + +## Laravel Sponsors + +We would like to extend our thanks to the following sponsors for funding Laravel development. If you are interested in becoming a sponsor, please visit the [Laravel Partners program](https://partners.laravel.com). + +### Premium Partners + +- **[Vehikl](https://vehikl.com)** +- **[Tighten Co.](https://tighten.co)** +- **[Kirschbaum Development Group](https://kirschbaumdevelopment.com)** +- **[64 Robots](https://64robots.com)** +- **[Curotec](https://www.curotec.com/services/technologies/laravel)** +- **[DevSquad](https://devsquad.com/hire-laravel-developers)** +- **[Redberry](https://redberry.international/laravel-development)** +- **[Active Logic](https://activelogic.com)** + +## 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](https://laravel.com/docs/contributions#code-of-conduct). + +## Security Vulnerabilities + +If you discover a security vulnerability within Laravel, please send an e-mail to Taylor Otwell via [taylor@laravel.com](mailto:taylor@laravel.com). All security vulnerabilities will be promptly addressed. + +## License + +The Laravel framework is open-sourced software licensed under the [MIT license](https://opensource.org/licenses/MIT). diff --git a/app/Http/Controllers/Auth/AuthenticatedSessionController.php b/app/Http/Controllers/Auth/AuthenticatedSessionController.php new file mode 100644 index 0000000..4a8762d --- /dev/null +++ b/app/Http/Controllers/Auth/AuthenticatedSessionController.php @@ -0,0 +1,47 @@ +authenticate(); + + $request->session()->regenerate(); + + return redirect()->intended(route('beranda', absolute: false)); + } + + /** + * Destroy an authenticated session. + */ + public function destroy(Request $request): RedirectResponse + { + Auth::guard('web')->logout(); + + $request->session()->invalidate(); + + $request->session()->regenerateToken(); + + return redirect('/'); + } +} diff --git a/app/Http/Controllers/Auth/ConfirmablePasswordController.php b/app/Http/Controllers/Auth/ConfirmablePasswordController.php new file mode 100644 index 0000000..712394a --- /dev/null +++ b/app/Http/Controllers/Auth/ConfirmablePasswordController.php @@ -0,0 +1,40 @@ +validate([ + 'email' => $request->user()->email, + 'password' => $request->password, + ])) { + throw ValidationException::withMessages([ + 'password' => __('auth.password'), + ]); + } + + $request->session()->put('auth.password_confirmed_at', time()); + + return redirect()->intended(route('dashboard', absolute: false)); + } +} diff --git a/app/Http/Controllers/Auth/EmailVerificationNotificationController.php b/app/Http/Controllers/Auth/EmailVerificationNotificationController.php new file mode 100644 index 0000000..f64fa9b --- /dev/null +++ b/app/Http/Controllers/Auth/EmailVerificationNotificationController.php @@ -0,0 +1,24 @@ +user()->hasVerifiedEmail()) { + return redirect()->intended(route('dashboard', absolute: false)); + } + + $request->user()->sendEmailVerificationNotification(); + + return back()->with('status', 'verification-link-sent'); + } +} diff --git a/app/Http/Controllers/Auth/EmailVerificationPromptController.php b/app/Http/Controllers/Auth/EmailVerificationPromptController.php new file mode 100644 index 0000000..ee3cb6f --- /dev/null +++ b/app/Http/Controllers/Auth/EmailVerificationPromptController.php @@ -0,0 +1,21 @@ +user()->hasVerifiedEmail() + ? redirect()->intended(route('dashboard', absolute: false)) + : view('auth.verify-email'); + } +} diff --git a/app/Http/Controllers/Auth/NewPasswordController.php b/app/Http/Controllers/Auth/NewPasswordController.php new file mode 100644 index 0000000..d864a9a --- /dev/null +++ b/app/Http/Controllers/Auth/NewPasswordController.php @@ -0,0 +1,64 @@ + $request]); + } + + /** + * Handle an incoming new password request. + * + * @throws \Illuminate\Validation\ValidationException + */ + public function store(Request $request): RedirectResponse + { + $request->validate([ + 'token' => ['required'], + 'email' => ['required', 'email'], + 'password' => ['required', 'confirmed', 'min:6', 'max:20'], + ], [ + 'email.required' => 'Email wajib diisi.', + 'email.email' => 'Format email tidak valid.', + + 'password.required' => 'Kata sandi wajib diisi.', + 'password.confirmed' => 'Konfirmasi kata sandi tidak cocok.', + 'password.min' => 'Kata sandi minimal 6 karakter.', + 'password.max' => 'Kata sandi maksimal 20 karakter.', + ]); + + $status = Password::reset( + $request->only('email', 'password', 'password_confirmation', 'token'), + function (User $user) use ($request) { + $user->forceFill([ + 'password' => Hash::make($request->password), + 'remember_token' => Str::random(60), + ])->save(); + + event(new PasswordReset($user)); + } + ); + + return $status == Password::PASSWORD_RESET + ? redirect()->route('login')->with('status', 'Kata sandi berhasil diperbarui. Silakan login.') + : back()->withInput($request->only('email')) + ->withErrors(['email' => 'Token reset tidak valid atau sudah kedaluwarsa.']); + } +} diff --git a/app/Http/Controllers/Auth/PasswordController.php b/app/Http/Controllers/Auth/PasswordController.php new file mode 100644 index 0000000..6916409 --- /dev/null +++ b/app/Http/Controllers/Auth/PasswordController.php @@ -0,0 +1,29 @@ +validateWithBag('updatePassword', [ + 'current_password' => ['required', 'current_password'], + 'password' => ['required', Password::defaults(), 'confirmed'], + ]); + + $request->user()->update([ + 'password' => Hash::make($validated['password']), + ]); + + return back()->with('status', 'password-updated'); + } +} diff --git a/app/Http/Controllers/Auth/PasswordResetLinkController.php b/app/Http/Controllers/Auth/PasswordResetLinkController.php new file mode 100644 index 0000000..c71a03f --- /dev/null +++ b/app/Http/Controllers/Auth/PasswordResetLinkController.php @@ -0,0 +1,44 @@ +validate([ + 'email' => ['required', 'email'], + ], [ + 'email.required' => 'Email wajib diisi.', + 'email.email' => 'Format email tidak valid.', + ]); + + $status = Password::sendResetLink( + $request->only('email') + ); + + return $status == Password::RESET_LINK_SENT + ? back()->with('status', 'Link reset kata sandi berhasil dikirim ke email Anda.') + : back()->withInput($request->only('email')) + ->withErrors(['email' => 'Email tidak ditemukan dalam sistem.']); + } +} diff --git a/app/Http/Controllers/Auth/RegisteredUserController.php b/app/Http/Controllers/Auth/RegisteredUserController.php new file mode 100644 index 0000000..0739e2e --- /dev/null +++ b/app/Http/Controllers/Auth/RegisteredUserController.php @@ -0,0 +1,50 @@ +validate([ + 'name' => ['required', 'string', 'max:255'], + 'email' => ['required', 'string', 'lowercase', 'email', 'max:255', 'unique:'.User::class], + 'password' => ['required', 'confirmed', Rules\Password::defaults()], + ]); + + $user = User::create([ + 'name' => $request->name, + 'email' => $request->email, + 'password' => Hash::make($request->password), + ]); + + event(new Registered($user)); + + Auth::login($user); + + return redirect(route('dashboard', absolute: false)); + } +} diff --git a/app/Http/Controllers/Auth/VerifyEmailController.php b/app/Http/Controllers/Auth/VerifyEmailController.php new file mode 100644 index 0000000..784765e --- /dev/null +++ b/app/Http/Controllers/Auth/VerifyEmailController.php @@ -0,0 +1,27 @@ +user()->hasVerifiedEmail()) { + return redirect()->intended(route('dashboard', absolute: false).'?verified=1'); + } + + if ($request->user()->markEmailAsVerified()) { + event(new Verified($request->user())); + } + + return redirect()->intended(route('dashboard', absolute: false).'?verified=1'); + } +} diff --git a/app/Http/Controllers/AyamController.php b/app/Http/Controllers/AyamController.php new file mode 100644 index 0000000..aecd047 --- /dev/null +++ b/app/Http/Controllers/AyamController.php @@ -0,0 +1,288 @@ +isKaryawan()) { + $query->where('user_id', $user->id); + } + + if ($request->search) { + $query->where(function ($q) use ($request) { + $q->whereHas('kandang', function ($k) use ($request) { + $k->where('nama_kandang', 'like', '%' . $request->search . '%'); + })->orWhere('keterangan', 'like', '%' . $request->search . '%'); + }); + } + + if ($request->kandang) $query->where('kandang_id', $request->kandang); + if ($request->bulan) $query->whereMonth('tanggal', $request->bulan); + if ($request->tahun) $query->whereYear('tanggal', $request->tahun); + + $perPage = $request->perPage ?? 10; + $data = $query + ->orderBy('tanggal', 'desc') // tanggal terbaru dulu + ->orderBy('id', 'desc') // jika tanggal sama, yang terakhir ditambah tetap di atas + ->paginate($perPage) + ->withQueryString(); + + // jumlah ayam terakhir per kandang + $kandang = Kandang::query() + ->select('id', 'nama_kandang') + ->selectSub(function ($q) { + $q->from('mutasi_ayam') + ->whereColumn('mutasi_ayam.kandang_id', 'kandang.id') + ->selectRaw(" + COALESCE(SUM( + CASE + WHEN jenis_mutasi = 'masuk' THEN jumlah + WHEN jenis_mutasi IN ('mati','afkir','pindah') THEN -jumlah + ELSE 0 + END + ), 0) + "); + }, 'jumlah_ayam_terakhir') + ->get(); + + return view('inventori-ayam', compact('data', 'kandang')); + } + + public function store(Request $request) + { + $request->validate([ + 'jenis_mutasi' => 'required|in:masuk,mati,afkir,pindah', + 'jumlah' => 'required|integer|min:1|max:9999', + 'tanggal' => 'required|date|before_or_equal:today', + ], [ + 'jenis_mutasi.required' => 'Jenis mutasi wajib dipilih.', + 'jenis_mutasi.in' => 'Jenis mutasi tidak valid.', + + 'jumlah.required' => 'Jumlah ayam wajib diisi.', + 'jumlah.integer' => 'Jumlah ayam harus berupa angka.', + 'jumlah.min' => 'Jumlah ayam minimal 1 ekor.', + + 'tanggal.required' => 'Tanggal wajib diisi.', + 'tanggal.date' => 'Format tanggal tidak valid.', + 'tanggal.before_or_equal' => 'Tanggal tidak boleh melebihi hari ini.', + ]); + + DB::transaction(function () use ($request) { + + // PINDAH + if ($request->jenis_mutasi === 'pindah') { + + $request->validate([ + 'kandang_asal_id' => 'required|exists:kandang,id|different:kandang_tujuan_id', + 'kandang_tujuan_id' => 'required|exists:kandang,id', + ], [ + 'kandang_asal_id.required' => 'Kandang asal wajib dipilih.', + 'kandang_asal_id.different' => 'Kandang asal dan tujuan tidak boleh sama.', + 'kandang_tujuan_id.required' => 'Kandang tujuan wajib dipilih.', + ]); + + $kandangAsal = Kandang::findOrFail($request->kandang_asal_id); + $kandangTujuan = Kandang::findOrFail($request->kandang_tujuan_id); + + $stokAsal = $kandangAsal->mutasiAyam() + ->selectRaw(" +COALESCE(SUM( +CASE +WHEN jenis_mutasi='masuk' THEN jumlah +WHEN jenis_mutasi IN ('mati','afkir','pindah') THEN -jumlah +ELSE 0 END +),0) as stok +")->value('stok'); + + if ($stokAsal <= 0) { + throw \Illuminate\Validation\ValidationException::withMessages([ + 'jumlah' => 'Stok kandang asal sudah habis.' + ]); + } + + if ($request->jumlah > $stokAsal) { + throw \Illuminate\Validation\ValidationException::withMessages([ + 'jumlah' => "Stok kandang asal hanya $stokAsal ekor." + ]); + } + + MutasiAyam::create([ + 'kandang_id' => $request->kandang_asal_id, + 'user_id' => Auth::id(), + 'jenis_mutasi' => 'pindah', + 'jumlah' => $request->jumlah, + 'tanggal' => $request->tanggal, + 'keterangan' => 'Pindah ke ' . $kandangTujuan->nama_kandang, + ]); + + MutasiAyam::create([ + 'kandang_id' => $request->kandang_tujuan_id, + 'user_id' => Auth::id(), + 'jenis_mutasi' => 'masuk', + 'jumlah' => $request->jumlah, + 'tanggal' => $request->tanggal, + 'keterangan' => 'Pindahan dari ' . $kandangAsal->nama_kandang, + ]);} + + // MUTASI BIASA + else { + + $request->validate([ + 'kandang_id' => 'required|exists:kandang,id', + ], [ + 'kandang_id.required' => 'Nama kandang wajib dipilih.', + 'kandang_id.exists' => 'Kandang tidak ditemukan.', + ]); + + $kandang = Kandang::findOrFail($request->kandang_id); + + $stok = $kandang->mutasiAyam()->selectRaw(" +COALESCE(SUM( +CASE +WHEN jenis_mutasi='masuk' THEN jumlah +WHEN jenis_mutasi IN ('mati','afkir','pindah') THEN -jumlah +ELSE 0 END +),0) as stok +")->value('stok'); + + // Kalau mutasi keluar/mati/afkir → cek stok + if (in_array($request->jenis_mutasi, ['mati', 'afkir'])) { + + if ($stok <= 0) { + throw \Illuminate\Validation\ValidationException::withMessages([ + 'jumlah' => 'Stok ayam di kandang ini sudah habis.' + ]); + } + + if ($request->jumlah > $stok) { + throw \Illuminate\Validation\ValidationException::withMessages([ + 'jumlah' => "Stok hanya tersisa $stok ekor." + ]); + } + } + + MutasiAyam::create([ + 'kandang_id' => $request->kandang_id, + 'user_id' => Auth::id(), + 'jenis_mutasi' => $request->jenis_mutasi, + 'jumlah' => $request->jumlah, + 'tanggal' => $request->tanggal, + 'keterangan' => $request->keterangan, + ]); + } + }); + + return redirect()->route('ayam') + ->with('success', 'Data mutasi berhasil disimpan.'); + } + + public function update(Request $request, $id) + { + $mutasi = MutasiAyam::findOrFail($id); + + /** @var \App\Models\User $user */ + $user = Auth::user(); + + if ($user->isKaryawan() && $mutasi->user_id !== $user->id) { + abort(403, 'Tidak diizinkan mengedit data ini.'); + } + // VALIDASI MANUAL + $validator = Validator::make($request->all(), [ + 'kandang_id' => 'required|exists:kandang,id', + 'jenis_mutasi' => 'required|in:masuk,mati,afkir', + 'jumlah' => 'required|integer|min:1', + 'tanggal' => 'required|date|before_or_equal:today', + ], [ + 'kandang_id.required' => 'Nama kandang wajib dipilih.', + 'kandang_id.exists' => 'Kandang tidak ditemukan.', + 'jenis_mutasi.required' => 'Jenis mutasi wajib dipilih.', + 'jenis_mutasi.in' => 'Jenis mutasi tidak valid.', + 'jumlah.required' => 'Jumlah ayam wajib diisi.', + 'jumlah.integer' => 'Jumlah ayam harus berupa angka.', + 'jumlah.min' => 'Jumlah ayam minimal 1 ekor.', + 'tanggal.required' => 'Tanggal wajib diisi.', + 'tanggal.date' => 'Format tanggal tidak valid.', + 'tanggal.before_or_equal' => 'Tanggal tidak boleh melebihi hari ini.', + ]); + + if ($validator->fails()) { + return back() + ->withErrors($validator) + ->withInput() + ->with('edit_id', $mutasi->id); + } + + // HITUNG STOK + $kandang = Kandang::findOrFail($request->kandang_id); + + $stok = $kandang->mutasiAyam() + ->where('id', '!=', $mutasi->id) + ->selectRaw(" +COALESCE(SUM( +CASE +WHEN jenis_mutasi='masuk' THEN jumlah +WHEN jenis_mutasi IN ('mati','afkir','pindah') THEN -jumlah +ELSE 0 END +),0) as stok +")->value('stok'); + + // kembalikan stok lama jika mutasi lama adalah pengurang + if (in_array($mutasi->jenis_mutasi, ['mati', 'afkir', 'pindah'])) { + $stok += $mutasi->jumlah; + } + // CEK STOK + if (in_array($request->jenis_mutasi, ['mati', 'afkir'])) { + + if ($stok <= 0) { + throw \Illuminate\Validation\ValidationException::withMessages([ + 'jumlah' => 'Stok ayam di kandang ini sudah habis.' + ]); + } + + if ($request->jumlah > $stok) { + throw \Illuminate\Validation\ValidationException::withMessages([ + 'jumlah' => "Stok hanya tersisa $stok ekor." + ]); + } + } + + // UPDATE DATA + $mutasi->update([ + 'kandang_id' => $request->kandang_id, + 'jenis_mutasi' => $request->jenis_mutasi, + 'jumlah' => $request->jumlah, + 'tanggal' => $request->tanggal, + 'keterangan' => $request->keterangan, + ]); + + return redirect()->route('ayam') + ->with('success', 'Data berhasil diperbarui.'); + } + public function destroy($id) + { + /** @var \App\Models\User $user */ + $user = Auth::user(); + + if ($user->isKaryawan()) { + abort(403, 'Karyawan tidak boleh menghapus data.'); + } + + MutasiAyam::findOrFail($id)->delete(); + + return redirect()->route('ayam') + ->with('success', 'Data berhasil dihapus.'); + } +} diff --git a/app/Http/Controllers/Controller.php b/app/Http/Controllers/Controller.php new file mode 100644 index 0000000..8677cd5 --- /dev/null +++ b/app/Http/Controllers/Controller.php @@ -0,0 +1,8 @@ +perPage ?? 10; + + $query = GajiKaryawan::with('karyawan'); + + // SEARCH GLOBAL + if ($request->search) { + + $search = $request->search; + + $query->where(function ($q) use ($search) { + + // Cari nama karyawan + $q->whereHas('karyawan', function ($sub) use ($search) { + $sub->where('nama_karyawan', 'like', '%' . $search . '%'); + }) + + // Cari bulan + ->orWhere('bulan', 'like', '%' . $search . '%') + // Cari tahun + ->orWhere('tahun', 'like', '%' . $search . '%') + // Cari gaji + ->orWhere('gaji_pokok', 'like', '%' . $search . '%') + // Cari tanggal bayar + ->orWhere('tanggal_bayar', 'like', '%' . $search . '%'); + }); + } + + + // FILTER BULAN + if ($request->bulan) { + $query->where('bulan', $request->bulan); + } + + // FILTER TAHUN + if ($request->tahun) { + $query->where('tahun', $request->tahun); + } + + $gaji = $query + ->orderByDesc('id') + ->paginate($perPage) + ->withQueryString(); + + $karyawan = Karyawan::where('status_karyawan', 'aktif') + ->orderBy('nama_karyawan') + ->get(); + + return view('gaji', compact('gaji', 'karyawan', 'perPage')); + } + + public function store(Request $request) + { + // Bersihkan format rupiah dulu sebelum validasi + $request->merge([ + 'gaji_pokok' => preg_replace('/[^0-9]/', '', $request->gaji_pokok) + ]); + + // Validasi + $request->validate( + [ + 'karyawan_id' => 'required|exists:karyawan,id', + 'bulan' => 'required|integer|min:1|max:12', + 'tahun' => 'required|integer|min:2000|max:' . date('Y'), + 'gaji_pokok' => 'required|numeric|min:100000|max:9999999', + 'tanggal_bayar' => 'required|date|before_or_equal:today' + ], + [ + 'karyawan_id.required' => 'Karyawan wajib dipilih', + 'karyawan_id.exists' => 'Karyawan tidak valid', + + 'bulan.required' => 'Bulan wajib dipilih', + 'bulan.min' => 'Bulan tidak valid', + 'bulan.max' => 'Bulan tidak valid', + + 'tahun.required' => 'Tahun wajib diisi', + 'tahun.integer' => 'Tahun harus berupa angka', + 'tahun.max' => 'Tahun tidak boleh melebihi tahun sekarang', + 'tahun.min' => 'Tahun tidak valid', + + 'gaji_pokok.required' => 'Gaji pokok wajib diisi', + 'gaji_pokok.numeric' => 'Gaji pokok harus berupa angka', + 'gaji_pokok.max' => 'Gaji pokok maksimal Rp 9.999.999', + 'gaji_pokok.min' => 'Gaji pokok minimal Rp 100.000', + + 'tanggal_bayar.required' => 'Tanggal pembayaran wajib diisi', + 'tanggal_bayar.date' => 'Format tanggal tidak valid', + 'tanggal_bayar.before_or_equal' => 'Tanggal pembayaran tidak boleh melebihi hari ini.', + ] + ); + + // Cegah gaji dobel + $cek = GajiKaryawan::where('karyawan_id', $request->karyawan_id) + ->where('bulan', $request->bulan) + ->where('tahun', $request->tahun) + ->exists(); + + if ($cek) { + return back() + ->withErrors([ + 'bulan' => 'Gaji untuk bulan dan tahun ini sudah dicatat' + ]) + ->withInput(); + } + + // Simpan + GajiKaryawan::create([ + 'karyawan_id' => $request->karyawan_id, + 'bulan' => $request->bulan, + 'tahun' => $request->tahun, + 'gaji_pokok' => $request->gaji_pokok, + 'tanggal_bayar' => $request->tanggal_bayar, + 'status_bayar' => 'dibayar', + ]); + + return redirect()->route('gaji') + ->with('success', 'Pembayaran gaji berhasil dicatat'); + } +} diff --git a/app/Http/Controllers/HasilController.php b/app/Http/Controllers/HasilController.php new file mode 100644 index 0000000..8452877 --- /dev/null +++ b/app/Http/Controllers/HasilController.php @@ -0,0 +1,183 @@ +whereHas( + 'kandang', + fn($q) => + $q->where('jenis_kandang', 'Produksi') + ); + + /** @var User $user */ + $user = Auth::user(); + + // FILTER ROLE + if ($user->isKaryawan()) { + $query->where('user_id', $user->id); + } + + // SEARCH GLOBAL + if ($request->search) { + + $search = $request->search; + + $query->where(function ($q) use ($search) { + + $q->whereHas('kandang', function ($sub) use ($search) { + $sub->where('nama_kandang', 'like', '%' . $search . '%'); + }) + ->orWhere('shift', 'like', '%' . $search . '%') + ->orWhere('tanggal_produksi', 'like', '%' . $search . '%') + ->orWhere('berat_telur_layak', 'like', '%' . $search . '%') + ->orWhere('berat_telur_rusak', 'like', '%' . $search . '%') + ->orWhereRaw("CAST(berat_telur_total AS CHAR) LIKE ?", ["%$search%"]); + }); + } + + if ($request->kandang) { + $query->where('kandang_id', $request->kandang); + } + + if ($request->bulan) { + $query->whereMonth('tanggal_produksi', $request->bulan); + } + + if ($request->tahun) { + $query->whereYear('tanggal_produksi', $request->tahun); + } + $perPage = $request->perPage ?? 10; + + + $data = $query + ->orderByDesc('tanggal_produksi') + ->orderByDesc('created_at') + ->paginate($perPage) + ->withQueryString(); + + + $kandang = Kandang::where('jenis_kandang', 'Produksi')->get(); + $tahunList = ProduksiTelur::selectRaw('YEAR(tanggal_produksi) as tahun') + ->distinct() + ->orderBy('tahun', 'desc') + ->pluck('tahun'); + + return view('produksi-hasil', compact('data', 'kandang', 'tahunList')); + } + + public function store(Request $request) + { + $request->validate([ + 'kandang_id' => 'required|exists:kandang,id', + 'shift' => 'required|in:pagi,sore', + 'berat_telur_layak' => 'required|regex:/^\d{1,6}(\.\d{1,2})?$/', + 'berat_telur_rusak' => 'required|regex:/^\d{1,6}(\.\d{1,2})?$/', + 'tanggal_produksi' => [ + 'required', + 'date_format:Y-m-d', + 'after_or_equal:2000-01-01', + 'before_or_equal:today', + ], + ], [ + 'kandang_id.required' => 'Kandang wajib dipilih.', + 'shift.required' => 'Shift wajib dipilih.', + 'berat_telur_layak.required' => 'Berat telur layak wajib diisi.', + 'berat_telur_layak.regex' => 'Berat telur layak maksimal 6 digit dan hanya boleh angka desimal.', + 'berat_telur_rusak.required' => 'Berat telur rusak wajib diisi.', + 'berat_telur_rusak.regex' => 'Berat telur rusak maksimal 6 digit dan hanya boleh angka desimal.', + 'tanggal_produksi.required' => 'Tanggal produksi wajib diisi.', + 'tanggal_produksi.date_format' => 'Format tanggal harus YYYY-MM-DD.', + 'tanggal_produksi.after_or_equal' => 'Tanggal terlalu lama dan tidak valid.', + 'tanggal_produksi.before_or_equal' => 'Tanggal tidak boleh melebihi hari ini.', + ]); + + + $total = $request->berat_telur_layak + $request->berat_telur_rusak; + + ProduksiTelur::create([ + 'kandang_id' => $request->kandang_id, + 'user_id' => Auth::id(), + 'shift' => $request->shift, + 'berat_telur_layak' => $request->berat_telur_layak, + 'berat_telur_rusak' => $request->berat_telur_rusak, + 'berat_telur_total' => $total, + 'tanggal_produksi' => $request->tanggal_produksi, + ]); + + return redirect()->route('hasil') + ->with('success', 'Data produksi berhasil ditambahkan.'); + } + + + public function update(Request $request, $id) + { + $request->validate([ + 'kandang_id' => 'required|exists:kandang,id', + 'shift' => 'required|in:pagi,sore', + 'berat_telur_layak' => 'required|regex:/^\d{1,6}(\.\d{1,2})?$/', + 'berat_telur_rusak' => 'required|regex:/^\d{1,6}(\.\d{1,2})?$/', + 'tanggal_produksi' => [ + 'required', + 'date_format:Y-m-d', + 'after_or_equal:2000-01-01', + 'before_or_equal:today', + ], + ], [ + 'kandang_id.required' => 'Kandang wajib dipilih.', + 'kandang_id.exists' => 'Kandang tidak ditemukan.', + 'shift.required' => 'Shift wajib dipilih.', + 'shift.in' => 'Shift harus pagi atau sore.', + 'berat_telur_layak.required' => 'Berat telur layak wajib diisi.', + 'berat_telur_layak.regex' => 'Berat telur layak maksimal 6 digit dan hanya boleh angka desimal.', + 'berat_telur_rusak.required' => 'Berat telur rusak wajib diisi.', + 'berat_telur_rusak.regex' => 'Berat telur rusak maksimal 6 digit dan hanya boleh angka desimal.', + 'tanggal_produksi.required' => 'Tanggal produksi wajib diisi.', + 'tanggal_produksi.date' => 'Tanggal produksi tidak valid.', + 'tanggal_produksi.date_format' => 'Format tanggal harus YYYY-MM-DD.', + 'tanggal_produksi.after_or_equal' => 'Tanggal terlalu lama dan tidak valid.', + 'tanggal_produksi.before_or_equal' => 'Tanggal tidak boleh melebihi hari ini.', + ]); + + + $total = $request->berat_telur_layak + $request->berat_telur_rusak; + + ProduksiTelur::findOrFail($id)->update([ + 'kandang_id' => $request->kandang_id, + 'shift' => $request->shift, + 'berat_telur_layak' => $request->berat_telur_layak, + 'berat_telur_rusak' => $request->berat_telur_rusak, + 'berat_telur_total' => $total, + 'tanggal_produksi' => $request->tanggal_produksi, + ]); + + return redirect()->route('hasil') + ->with('success', 'Data produksi berhasil diperbarui.'); + } + + + public function destroy($id) + { + /** @var User $user */ + $user = Auth::user(); + + if ($user->isKaryawan()) { + abort(403, 'Anda tidak memiliki izin menghapus data.'); + } + + ProduksiTelur::findOrFail($id)->delete(); + + return back()->with('success', 'Data produksi berhasil dihapus.'); + } +} diff --git a/app/Http/Controllers/HomeController.php b/app/Http/Controllers/HomeController.php new file mode 100644 index 0000000..47c3b31 --- /dev/null +++ b/app/Http/Controllers/HomeController.php @@ -0,0 +1,165 @@ +sum('jumlah'); + $jumlahKeluar = MutasiAyam::whereIn('jenis_mutasi', ['keluar', 'mati', 'afkir', 'pindah'])->sum('jumlah'); + $jumlahAyam = $jumlahMasuk - $jumlahKeluar; + + $produksiHariIni = ProduksiTelur::whereDate('tanggal_produksi', $today) + ->sum(DB::raw('berat_telur_layak + berat_telur_rusak')); + + // total stok pakan global (yang lama) + $stokPakan = InventoriKandang::where('jenis_transaksi', 'masuk')->sum('jumlah') + - InventoriKandang::where('jenis_transaksi', 'keluar')->sum('jumlah'); + + // stok per barang + deteksi stok menipis + $stok = InventoriKandang::selectRaw(" + nama_barang, + SUM(CASE WHEN jenis_transaksi = 'masuk' THEN jumlah ELSE 0 END) + - + SUM(CASE WHEN jenis_transaksi = 'keluar' THEN jumlah ELSE 0 END) + AS stok +") + ->groupBy('nama_barang') + ->get(); + + $batasMinimum = [ + 'Jagung' => 5, + 'Katul' => 5, + 'Konsentrat' => 5, + 'Pakan Layer' => 5, + 'Pakan Starter' => 5, + ]; + + $stokMenipis = $stok->filter(function ($item) use ($batasMinimum) { + $min = $batasMinimum[$item->nama_barang] ?? 5; + return $item->stok <= $min; + }); + // untuk Admin & Karyawan + $pendapatanHariIni = Penjualan::whereDate('tanggal_penjualan', $today) + ->sum('total_penjualan'); + $bulan = request('bulan', now()->month); + $minggu = request('minggu', ceil(now()->day / 7)); + $tahun = request('tahun', now()->year); + + $query = ProduksiTelur::select( + DB::raw('DATE(tanggal_produksi) as tanggal'), + DB::raw('SUM(berat_telur_layak + berat_telur_rusak) as total') + ) + ->whereYear('tanggal_produksi', $tahun) + ->whereMonth('tanggal_produksi', $bulan); + + if ($minggu) { + $query->whereRaw('CEIL(DAY(tanggal_produksi) / 7) = ?', [$minggu]); + } + + $produksiMingguan = $query + ->groupBy('tanggal') + ->orderBy('tanggal') + ->get(); + + $chartProduksiLabels = $produksiMingguan->pluck('tanggal') + ->map(fn($tgl) => Carbon::parse($tgl)->format('d M')); + + $chartProduksiData = $produksiMingguan->pluck('total'); + + + /* CHART KEUANGAN (ADMIN ONLY)*/ + if ($user->isAdmin()) { + + $finance = DB::table('penjualan') + ->selectRaw(' + CEIL(DAY(tanggal_penjualan)/7) as minggu, + SUM(total_penjualan) as pemasukan + ') + ->whereYear('tanggal_penjualan', $tahun) + ->whereMonth('tanggal_penjualan', $bulan) + ->groupBy('minggu') + ->orderBy('minggu') + ->get(); + + + /* PENGELUARAN INVENTORI */ + $pengeluaranInventori = DB::table('inventori_kandang') + ->selectRaw(' + CEIL(DAY(created_at)/7) as minggu, + SUM(total_harga) as total + ') + ->whereYear('created_at', $tahun) + ->whereMonth('created_at', $bulan) + ->where('jenis_transaksi', 'masuk') + ->groupBy('minggu') + ->pluck('total', 'minggu'); + + + /* GAJI KARYAWAN (dibagi rata per minggu) */ + $gajiBulanan = DB::table('gaji_karyawan') + ->where('tahun', $tahun) + ->where('bulan', $bulan) + ->sum('gaji_pokok'); + + $gajiMingguan = $gajiBulanan / 4; + + + $chartFinanceLabels = []; + $chartFinancePemasukan = []; + $chartFinancePengeluaran = []; + + + foreach ($finance as $row) { + + $minggu = $row->minggu; + + $chartFinanceLabels[] = 'Minggu ' . $minggu; + + $chartFinancePemasukan[] = $row->pemasukan; + + $pengeluaranInventoriMinggu = $pengeluaranInventori[$minggu] ?? 0; + + $chartFinancePengeluaran[] = + $pengeluaranInventoriMinggu + $gajiMingguan; + } + } else { + $chartFinanceLabels = []; + $chartFinancePemasukan = []; + $chartFinancePengeluaran = []; + } + + + return view('home', compact( + 'jumlahAyam', + 'produksiHariIni', + 'stokPakan', + 'stokMenipis', + + 'pendapatanHariIni', + 'chartProduksiLabels', + 'chartProduksiData', + 'chartFinanceLabels', + 'chartFinancePemasukan', + 'chartFinancePengeluaran' + )); + } +} diff --git a/app/Http/Controllers/KaryawanController.php b/app/Http/Controllers/KaryawanController.php new file mode 100644 index 0000000..bb26809 --- /dev/null +++ b/app/Http/Controllers/KaryawanController.php @@ -0,0 +1,184 @@ +search) { + $query->where(function ($q) use ($request) { + $q->where('nama_karyawan', 'like', '%' . $request->search . '%') + ->orWhere('no_hp', 'like', '%' . $request->search . '%') + ->orWhere('alamat', 'like', '%' . $request->search . '%'); // ✅ TAMBAHAN + }); + } + + // FILTER STATUS + if ($request->status) { + $query->where('status_karyawan', $request->status); + } + + $perPage = in_array($request->perPage, [10, 25, 50]) ? $request->perPage : 10; + + $data = $query + ->orderBy('created_at', 'desc') + ->paginate($perPage) + ->withQueryString(); + + return view('karyawan', compact('data')); + } + + public function store(Request $request) + { + $request->validate( + [ + 'nama_karyawan' => 'required|string|min:3|max:100', + 'no_hp' => ['required', 'regex:/^08[0-9]{8,11}$/'], + 'alamat' => 'required|string|max:255', + 'status_karyawan' => 'required|in:aktif,nonaktif', + ], + [ + 'nama_karyawan.required' => 'Nama karyawan wajib diisi', + 'nama_karyawan.string' => 'Nama karyawan harus berupa teks', + 'nama_karyawan.min' => 'Nama karyawan minimal 3 karakter', + 'nama_karyawan.max' => 'Nama karyawan maksimal 100 karakter', + + 'no_hp.required' => 'Nomor HP wajib diisi', + 'no_hp.regex' => 'Nomor HP harus 10–13 digit, diawali 08, dan hanya angka.', + + 'alamat.required' => 'Alamat wajib diisi', + 'alamat.string' => 'Alamat harus berupa teks', + 'alamat.max' => 'Alamat maksimal 255 karakter', + + 'status_karyawan.required' => 'Status karyawan wajib dipilih', + 'status_karyawan.in' => 'Status karyawan tidak valid', + ] + ); + + $userId = null; + + if ($request->has_login) { + $request->validate( + [ + 'email' => 'required|email|unique:users,email', + 'password' => 'required|string|min:6|max:20', + ], + [ + 'email.required' => 'Email wajib diisi', + 'email.email' => 'Format email tidak valid', + 'email.unique' => 'Email sudah terdaftar', + + 'password.required' => 'Password wajib diisi', + 'password.string' => 'Password harus berupa teks', + 'password.min' => 'Password minimal 6 karakter', + 'password.max' => 'Password maksimal 20 karakter', + ] + ); + + $user = User::create([ + 'name' => $request->nama_karyawan, + 'email' => $request->email, + 'no_hp' => $request->no_hp, + 'alamat' => $request->alamat, + 'password' => Hash::make($request->password), + 'is_active' => true, + ]); + + $userId = $user->id; + } + + Karyawan::create([ + 'user_id' => $userId, + 'nama_karyawan' => $request->nama_karyawan, + 'no_hp' => $request->no_hp, + 'alamat' => $request->alamat, + 'status_karyawan' => $request->status_karyawan, + ]); + + return redirect()->route('karyawan') + ->with('success', 'Karyawan berhasil ditambahkan'); + } + + public function update(Request $request, $id) + { + $request->validate( + [ + 'nama_karyawan' => 'required|string|min:3|max:100', + 'no_hp' => ['required', 'regex:/^08[0-9]{8,11}$/'], + 'alamat' => 'required|string|max:255', + ], + [ + 'nama_karyawan.required' => 'Nama karyawan wajib diisi', + 'nama_karyawan.string' => 'Nama karyawan harus berupa teks', + 'nama_karyawan.min' => 'Nama karyawan minimal 3 karakter', + 'nama_karyawan.max' => 'Nama karyawan maksimal 100 karakter', + + 'no_hp.required' => 'Nomor HP wajib diisi', + 'no_hp.regex' => 'Nomor HP harus 10–13 digit, diawali 08, dan hanya angka.', + + 'alamat.required' => 'Alamat wajib diisi', + 'alamat.string' => 'Alamat harus berupa teks', + 'alamat.max' => 'Alamat maksimal 255 karakter', + ] + ); + + $karyawan = Karyawan::findOrFail($id); + + $karyawan->update([ + 'nama_karyawan' => $request->nama_karyawan, + 'no_hp' => $request->no_hp, + 'alamat' => $request->alamat, + ]); + + return redirect()->route('karyawan') + ->with('success', 'Data karyawan berhasil diperbarui'); + } + + + public function nonaktifkan($id) + { + $karyawan = Karyawan::with('user')->findOrFail($id); + + $karyawan->update([ + 'status_karyawan' => 'nonaktif' + ]); + + // OPTIONAL: kalau punya akun, sekalian matikan akses login + if ($karyawan->user) { + $karyawan->user->update([ + 'is_active' => false + ]); + } + + return redirect()->route('karyawan') + ->with('success', 'Karyawan berhasil dinonaktifkan'); + } + + public function aktifkan($id) + { + $karyawan = Karyawan::with('user')->findOrFail($id); + + $karyawan->update([ + 'status_karyawan' => 'aktif' + ]); + + // OPTIONAL + if ($karyawan->user) { + $karyawan->user->update([ + 'is_active' => true + ]); + } + + return redirect()->route('karyawan') + ->with('success', 'Karyawan berhasil diaktifkan kembali'); + } +} diff --git a/app/Http/Controllers/KeuanganController.php b/app/Http/Controllers/KeuanganController.php new file mode 100644 index 0000000..5f9e8cb --- /dev/null +++ b/app/Http/Controllers/KeuanganController.php @@ -0,0 +1,154 @@ +orderByDesc('created_at'); + /** @var \App\Models\User $user */ + + $user = Auth::user(); + + if ($user->isKaryawan()) { + $query->where('user_id', $user->id); + } + + // FILTER PRODUK AKTIF + if ($request->produk) { + $query->where('jenis_produk', $request->produk); + } + + // SEARCH GLOBAL + if ($request->search) { + + $s = $request->search; + + $query->where(function ($q) use ($s) { + + // cari jenis produk (telur / afkir) + $q->where('jenis_produk', 'like', "%$s%") + ->orWhere('berat_terjual', 'like', "%$s%") + ->orWhere('harga_satuan', 'like', "%$s%") + ->orWhere('total_penjualan', 'like', "%$s%") + ->orWhere('tanggal_penjualan', 'like', "%$s%") + ->orWhereRaw("DATE_FORMAT(tanggal_penjualan, '%Y-%m-%d') like ?", ["%$s%"]); + }); + } + + + if ($request->bulan) { + $query->whereMonth('tanggal_penjualan', $request->bulan); + } + + if ($request->tahun) { + $query->whereYear('tanggal_penjualan', $request->tahun); + } + + return view('produksi-keuangan', [ + 'penjualans' => $query->paginate($request->perPage ?? 10)->withQueryString(), + 'produks' => [ + 'telur' => 'Telur Ayam', + 'afkir' => 'Ayam Afkir', + ], + ]); + } + + public function store(Request $request) + { + $request->validate( + [ + 'tanggal' => 'required|date|before_or_equal:today', + 'jenis_produk' => 'required|in:telur,afkir', + 'jumlah' => 'required|numeric|min:0.1|max:9999', + 'harga_satuan' => 'required|numeric|min:1|max:99999999', + ], + [ + 'tanggal.required' => 'Tanggal penjualan wajib diisi.', + 'tanggal.date' => 'Tanggal penjualan tidak valid.', + 'jenis_produk.required' => 'Jenis produk wajib diisi.', + 'jumlah.required' => 'Jumlah penjualan wajib diisi.', + 'jumlah.numeric' => 'Jumlah harus berupa angka.', + 'jumlah.min' => 'Jumlah minimal 0,1 Kg.', + 'harga_satuan.required' => 'Harga satuan wajib diisi.', + 'harga_satuan.numeric' => 'Harga satuan harus berupa angka.', + 'harga_satuan.min' => 'Harga satuan minimal Rp 1.', + ] + ); + + + Penjualan::create([ + 'user_id' => Auth::id(), + 'jenis_produk' => $request->jenis_produk, + 'berat_terjual' => $request->jumlah, + 'harga_satuan' => $request->harga_satuan, + 'total_penjualan' => $request->jumlah * $request->harga_satuan, + 'tanggal_penjualan' => $request->tanggal, + ]); + + return back()->with('success', 'Penjualan berhasil ditambahkan.'); + } + public function update(Request $request, $id) + { + $penjualan = Penjualan::findOrFail($id); + + $validated = $request->validate( + [ + 'tanggal' => 'required|date|before_or_equal:today', + 'jenis_produk' => 'required|in:telur,afkir', + 'jumlah' => 'required|numeric|min:0.1', + 'harga_satuan' => 'required|numeric|min:1', + ], + [ + 'tanggal.required' => 'Tanggal penjualan wajib diisi.', + 'tanggal.date' => 'Tanggal penjualan tidak valid.', + 'jenis_produk.required' => 'Jenis produk wajib diisi.', + 'jumlah.required' => 'Jumlah penjualan wajib diisi.', + 'jumlah.numeric' => 'Jumlah harus berupa angka.', + 'jumlah.min' => 'Jumlah minimal 0,1 Kg.', + 'harga_satuan.required' => 'Harga satuan wajib diisi.', + 'harga_satuan.numeric' => 'Harga satuan harus berupa angka.', + 'harga_satuan.min' => 'Harga satuan minimal Rp 1.', + ] + ); + + $penjualan->update([ + 'berat_terjual' => $validated['jumlah'], + 'jenis_produk' => $validated['jenis_produk'], + 'harga_satuan' => $validated['harga_satuan'], + 'total_penjualan' => $validated['jumlah'] * $validated['harga_satuan'], + 'tanggal_penjualan' => $validated['tanggal'], + ]); + + return redirect()->back()->with('success', 'Penjualan berhasil diupdate.'); + } + + + public function destroy($id) + { + /** @var \App\Models\User $user */ + + $user = Auth::user(); + + if ($user->isKaryawan()) { + abort(403); + } + + Penjualan::findOrFail($id)->delete(); + + return back()->with('success', 'Penjualan berhasil dihapus'); + } +} diff --git a/app/Http/Controllers/LaporanController.php b/app/Http/Controllers/LaporanController.php new file mode 100644 index 0000000..cda2658 --- /dev/null +++ b/app/Http/Controllers/LaporanController.php @@ -0,0 +1,102 @@ +get('tahun', now()->year); + + return view('laporan', [ + 'tahun' => $tahun, + 'produksi' => $this->laporanProduksi($tahun), + 'inventori' => $this->laporanInventori($tahun), + 'keuangan' => $this->laporanKeuangan($tahun), + ]); + } + + + private function laporanProduksi(int $tahun) + { + return DB::table('produksi_telur') + ->selectRaw(' + MONTH(tanggal_produksi) AS bulan, + CEIL(DAY(tanggal_produksi) / 7) AS minggu, + SUM(berat_telur_total) AS total_produksi + ') + ->whereYear('tanggal_produksi', $tahun) + ->groupBy('bulan', 'minggu') + ->orderBy('bulan') + ->orderBy('minggu') + ->get(); + } + + private function laporanInventori(int $tahun) + { + return DB::table('inventori_kandang') + ->selectRaw(' + MONTH(created_at) AS bulan, + CEIL(DAY(created_at) / 7) AS minggu, + SUM(CASE WHEN jenis_transaksi = "masuk" THEN jumlah ELSE 0 END) AS masuk, + SUM(CASE WHEN jenis_transaksi = "keluar" THEN jumlah ELSE 0 END) AS keluar + ') + ->whereYear('created_at', $tahun) + ->groupBy('bulan', 'minggu') + ->orderBy('bulan') + ->orderBy('minggu') + ->get(); + } + + /** + * LAPORAN KEUANGAN (BULANAN) + */ + private function laporanKeuangan(int $tahun) + { + // PEMASUKAN (PENJUALAN) + // sumber: tabel penjualan + $pemasukan = DB::table('penjualan') + ->selectRaw(' + MONTH(tanggal_penjualan) AS bulan, + SUM(total_penjualan) AS total + ') + ->whereYear('tanggal_penjualan', $tahun) + ->groupBy('bulan') + ->get(); + + // PENGELUARAN INVENTORI + $pengeluaranInventori = DB::table('inventori_kandang') + ->selectRaw(' + MONTH(created_at) AS bulan, + SUM(total_harga) AS total + ') + ->whereYear('created_at', $tahun) + ->where('jenis_transaksi', 'masuk') + ->groupBy('bulan') + ->get(); + + // GAJI KARYAWAN + $gaji = DB::table('gaji_karyawan') + ->selectRaw('bulan, SUM(gaji_pokok) AS total') + ->where('tahun', $tahun) + ->groupBy('bulan') + ->get(); + + return [ + 'pemasukan' => $pemasukan, + 'inventori' => $pengeluaranInventori, + 'gaji' => $gaji, + ]; + } + + public function export(Request $request) + { + $tahun = $request->get('tahun', now()->year); + return app(LaporanExportService::class)->export($tahun); + } +} diff --git a/app/Http/Controllers/LaporanExportController.php b/app/Http/Controllers/LaporanExportController.php new file mode 100644 index 0000000..cd06355 --- /dev/null +++ b/app/Http/Controllers/LaporanExportController.php @@ -0,0 +1,51 @@ +bulan; + $tahun = $request->tahun; + + // ambil data (contoh) + $data = ProduksiTelur::whereYear('tanggal', $tahun) + ->whereMonth('tanggal', $bulan) + ->get(); + + $spreadsheet = new Spreadsheet(); + $sheet = $spreadsheet->getActiveSheet(); + + // HEADER + $sheet->setCellValue('A1', 'Tanggal'); + $sheet->setCellValue('B1', 'Kandang'); + $sheet->setCellValue('C1', 'Jumlah Telur'); + + $row = 2; + foreach ($data as $item) { + $sheet->setCellValue('A' . $row, $item->tanggal); + $sheet->setCellValue('B' . $row, $item->kandang->nama ?? '-'); + $sheet->setCellValue('C' . $row, $item->jumlah); + $row++; + } + + $filename = "laporan-{$bulan}-{$tahun}.xlsx"; + + return new StreamedResponse(function () use ($spreadsheet) { + $writer = new Xlsx($spreadsheet); + $writer->save('php://output'); + }, 200, [ + "Content-Type" => "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet", + "Content-Disposition" => "attachment; filename=\"$filename\"", + ]); + } +} diff --git a/app/Http/Controllers/PakanController.php b/app/Http/Controllers/PakanController.php new file mode 100644 index 0000000..3446898 --- /dev/null +++ b/app/Http/Controllers/PakanController.php @@ -0,0 +1,308 @@ +isKaryawan()) { + $query->where('user_id', $user->id); + } + + /* SEARCH */ + if ($request->search) { + $s = $request->search; + $query->where(function ($q) use ($s) { + $q->where('nama_barang', 'like', "%$s%") + ->orWhere('jenis_transaksi', 'like', "%$s%") + ->orWhereRaw("CAST(jumlah AS CHAR) LIKE ?", ["%$s%"]); + }); + } + + /* FILTER */ + if ($request->jenis) { + $query->where('jenis_transaksi', $request->jenis); + } + + if ($request->bulan) { + $query->whereMonth('tanggal', $request->bulan); + } + + if ($request->tahun) { + $query->whereYear('tanggal', $request->tahun); + } + + $perPage = $request->perPage ?? 10; + + // DATA TABEL + $data = $query + ->orderBy('tanggal', 'desc') + ->orderBy('id', 'desc') + ->paginate($perPage) + ->withQueryString(); + + // HITUNG STOK (GLOBAL) + $stok = InventoriKandang::selectRaw(" + nama_barang, + SUM(CASE WHEN jenis_transaksi = 'masuk' THEN jumlah ELSE 0 END) + - + SUM(CASE WHEN jenis_transaksi = 'keluar' THEN jumlah ELSE 0 END) + AS stok + ") + ->groupBy('nama_barang') + ->get(); + + // BATAS MINIMUM + $batasMinimum = [ + 'Jagung' => 5, + 'Katul' => 5, + 'Konsentrat' => 5, + 'Pakan Layer' => 5, + 'Pakan Starter' => 5, + ]; + + $stokMenipis = $stok->filter(function ($item) use ($batasMinimum) { + $min = $batasMinimum[$item->nama_barang] ?? 5; + return $item->stok <= $min; + }); + + return view('inventori-pakan', compact('data', 'stokMenipis')); + } + + public function store(Request $request) + { + /** @var User $user */ + $user = Auth::user(); + $request->merge([ + 'harga_satuan' => str_replace('.', '', $request->harga_satuan) + ]); + + // karyawan TIDAK BOLEH input barang masuk + if ($user->isKaryawan() && $request->jenis_transaksi === 'masuk') { + abort(403, 'Karyawan tidak diizinkan mencatat barang masuk.'); + } + $namaBarang = ucfirst(strtolower(trim($request->nama_barang))); + + $request->validate([ + 'tanggal' => 'required|date|before_or_equal:today', + 'nama_barang' => 'required|string|max:100', + 'jenis_transaksi' => 'required|in:masuk,keluar', + 'jumlah' => 'required|numeric|min:1|max:999999', + // 'satuan' => 'required|string|max:50|in:karung', + 'harga_satuan' => $request->jenis_transaksi === 'masuk' + ? 'required|numeric|min:1|max:999999999' + : 'nullable', + ], [ + 'tanggal.required' => 'Tanggal wajib diisi.', + 'tanggal.date' => 'Format tanggal tidak valid.', + + 'nama_barang.required' => 'Nama barang wajib diisi.', + 'nama_barang.string' => 'Nama barang harus berupa teks.', + 'nama_barang.max' => 'Nama barang maksimal 100 karakter.', + + 'jenis_transaksi.required' => 'Jenis transaksi wajib dipilih.', + 'jenis_transaksi.in' => 'Jenis transaksi tidak valid.', + + 'jumlah.required' => 'Jumlah wajib diisi.', + 'jumlah.numeric' => 'Jumlah harus berupa angka.', + 'jumlah.min' => 'Jumlah minimal 1.', + 'jumlah.max' => 'Jumlah terlalu besar.', + + // 'satuan.required' => 'Satuan wajib diisi.', + // 'satuan.string' => 'Satuan harus berupa teks.', + // 'satuan.max' => 'Satuan maksimal 50 karakter.', + + 'harga_satuan.required' => 'Harga satuan wajib diisi untuk transaksi masuk.', + 'harga_satuan.numeric' => 'Harga satuan harus berupa angka.', + 'harga_satuan.min' => 'Harga satuan minimal 1.', + 'harga_satuan.max' => 'Harga satuan terlalu besar.', + ]); + + + $total = null; + + if ($request->jenis_transaksi === 'masuk') { + $total = $request->jumlah * $request->harga_satuan; + } + // CEK STOK JIKA BARANG KELUAR + if ($request->jenis_transaksi === 'keluar') { + + $stokSekarang = InventoriKandang::where('nama_barang', $namaBarang) + ->selectRaw(" + SUM(CASE WHEN jenis_transaksi = 'masuk' THEN jumlah ELSE 0 END) + - + SUM(CASE WHEN jenis_transaksi = 'keluar' THEN jumlah ELSE 0 END) + AS stok + ") + ->value('stok') ?? 0; + + if ($request->jumlah > $stokSekarang) { + return back()->withErrors([ + 'jumlah' => 'Stok ' . $namaBarang . ' tidak mencukupi. Sisa stok: ' . $stokSekarang + ])->withInput(); + } + } + + InventoriKandang::create([ + 'user_id' => $user->id, + 'tanggal' => $request->tanggal, + 'nama_barang' => $namaBarang, + 'jenis_transaksi' => $request->jenis_transaksi, + 'jumlah' => $request->jumlah, + 'satuan' => 'karung', + 'harga_satuan' => $request->jenis_transaksi === 'masuk' ? $request->harga_satuan : null, + 'total_harga' => $total, + ]); + + return redirect()->route('pakan')->with('success', 'Transaksi berhasil disimpan'); + } + + + + public function update(Request $request, $id) + { + /** @var User $user */ + $user = Auth::user(); + $request->merge([ + 'harga_satuan' => str_replace('.', '', $request->harga_satuan) + ]); + if ($user->isKaryawan()) { + abort(403, 'Anda tidak memiliki izin mengedit data.'); + } + + $namaBarang = ucfirst(strtolower(trim($request->nama_barang))); + + $request->validate([ + 'tanggal' => 'required|date|before_or_equal:today', + 'nama_barang' => 'required|string|max:100', + 'jenis_transaksi' => 'required|in:masuk,keluar', + 'jumlah' => 'required|numeric|min:1|max:999999', + // 'satuan' => 'required|string|max:50|in:karung', + 'harga_satuan' => $request->jenis_transaksi === 'masuk' + ? 'required|numeric|min:1|max:999999999' + : 'nullable', + ], [ + 'tanggal.required' => 'Tanggal wajib diisi.', + 'tanggal.date' => 'Format tanggal tidak valid.', + + 'nama_barang.required' => 'Nama barang wajib diisi.', + 'nama_barang.string' => 'Nama barang harus berupa teks.', + 'nama_barang.max' => 'Nama barang maksimal 100 karakter.', + + 'jenis_transaksi.required' => 'Jenis transaksi wajib dipilih.', + 'jenis_transaksi.in' => 'Jenis transaksi tidak valid.', + + 'jumlah.required' => 'Jumlah wajib diisi.', + 'jumlah.numeric' => 'Jumlah harus berupa angka.', + 'jumlah.min' => 'Jumlah minimal 1.', + 'jumlah.max' => 'Jumlah terlalu besar.', + + // 'satuan.required' => 'Satuan wajib diisi.', + // 'satuan.string' => 'Satuan harus berupa teks.', + // 'satuan.max' => 'Satuan maksimal 50 karakter.', + + 'harga_satuan.required' => 'Harga satuan wajib diisi untuk transaksi masuk.', + 'harga_satuan.numeric' => 'Harga satuan harus berupa angka.', + 'harga_satuan.min' => 'Harga satuan minimal 1.', + 'harga_satuan.max' => 'Harga satuan terlalu besar.', + ]); + + $item = InventoriKandang::findOrFail($id); + + $total = null; + + if ($request->jenis_transaksi === 'masuk') { + $total = $request->jumlah * $request->harga_satuan; + } + + // CEK STOK JIKA KELUAR + if ($request->jenis_transaksi === 'keluar') { + + $stokSekarang = InventoriKandang::where('nama_barang', $namaBarang) + ->where('id', '!=', $id) + ->selectRaw(" + SUM(CASE WHEN jenis_transaksi = 'masuk' THEN jumlah ELSE 0 END) + - + SUM(CASE WHEN jenis_transaksi = 'keluar' THEN jumlah ELSE 0 END) + AS stok + ") + ->value('stok') ?? 0; + + if ($request->jumlah > $stokSekarang) { + return back()->withErrors([ + 'jumlah' => 'Stok tidak mencukupi. Sisa stok: ' . $stokSekarang + ])->withInput(); + } + } + + $item->update([ + 'tanggal' => $request->tanggal, + 'nama_barang' => $namaBarang, + 'jenis_transaksi' => $request->jenis_transaksi, + 'jumlah' => $request->jumlah, + 'satuan' => 'karung', + 'harga_satuan' => $request->jenis_transaksi === 'masuk' + ? $request->harga_satuan + : null, + 'total_harga' => $total, + ]); + + return redirect()->route('pakan')->with('success', 'Transaksi berhasil diupdate'); + } + + + + public function destroy($id) + { + /** @var \App\Models\User $user */ + $user = Auth::user(); + + // hanya admin boleh hapus + if ($user->isKaryawan()) { + abort(403, 'Anda tidak memiliki izin menghapus data.'); + } + + $item = InventoriKandang::findOrFail($id); + + // Cek jika yang dihapus adalah transaksi masuk + if ($item->jenis_transaksi === 'masuk') { + + $stokSekarang = InventoriKandang::where('nama_barang', $item->nama_barang) + ->selectRaw(" + SUM(CASE WHEN jenis_transaksi = 'masuk' THEN jumlah ELSE 0 END) + - + SUM(CASE WHEN jenis_transaksi = 'keluar' THEN jumlah ELSE 0 END) + AS stok + ") + ->value('stok') ?? 0; + + // jika setelah dihapus stok jadi minus + if (($stokSekarang - $item->jumlah) < 0) { + return redirect() + ->route('pakan') + ->withErrors([ + 'delete' => 'Transaksi tidak bisa dihapus karena akan menyebabkan stok menjadi minus.' + ]); + } + } + + $item->delete(); + + return redirect() + ->route('pakan') + ->with('success', 'Transaksi berhasil dihapus'); + } +} diff --git a/app/Http/Controllers/ProfilController.php b/app/Http/Controllers/ProfilController.php new file mode 100644 index 0000000..df71ff2 --- /dev/null +++ b/app/Http/Controllers/ProfilController.php @@ -0,0 +1,120 @@ +isKaryawan() ? $user->karyawan : null; + + return view('profil', compact('user', 'karyawan')); + } + + + public function update(Request $request) + { + /** @var \App\Models\User $user */ + $user = Auth::user(); + $request->session()->flash('active_tab', 'editProfil'); + + $rules = [ + 'name' => ['required', 'string', 'min:3', 'max:100'], + ]; + + if ($user->isKaryawan()) { + $rules['no_hp'] = ['required', 'regex:/^08[0-9]{8,11}$/']; + $rules['alamat'] = [ + 'required', + 'string', + 'min:5', + 'max:255', + 'regex:/[A-Za-z]/' + ]; + } + + $messages = [ + 'name.required' => 'Nama lengkap wajib diisi.', + 'name.string' => 'Nama lengkap harus berupa teks.', + 'name.min' => 'Nama lengkap minimal 3 karakter.', + 'name.max' => 'Nama lengkap maksimal 100 karakter.', + + 'email.required' => 'Alamat email wajib diisi.', + 'email.email' => 'Format alamat email tidak valid.', + 'email.max' => 'Alamat email maksimal 100 karakter.', + 'email.unique' => 'Alamat email sudah digunakan oleh pengguna lain.', + + 'no_hp.required' => 'Nomor telepon wajib diisi.', + 'no_hp.regex' => 'Nomor telepon harus diawali dengan 08 dan terdiri dari 10 sampai 13 digit angka.', + + 'alamat.required' => 'Alamat wajib diisi.', + 'alamat.string' => 'Alamat harus berupa teks.', + 'alamat.max' => 'Alamat maksimal 255 karakter.', + 'alamat.min' => 'Alamat minimal 5 karakter.', + 'alamat.regex' => 'Alamat harus mengandung huruf (tidak boleh angka saja).', + + ]; + + $validated = $request->validate($rules, $messages); + + $user->update([ + 'name' => $validated['name'], + ]); + + if ($user->isKaryawan()) { + $user->karyawan()->updateOrCreate( + ['user_id' => $user->id], + [ + 'nama_karyawan' => $validated['name'], + 'no_hp' => $validated['no_hp'], + 'alamat' => $validated['alamat'] ?? null, + 'status_karyawan' => 'aktif', + ] + ); + } + + return back()->with('success', 'Profil berhasil diperbarui.'); + } + + public function updatePassword(Request $request) + { + $request->session()->flash('active_tab', 'ubahPassword'); + + $request->validate([ + 'current_password' => ['required', 'current_password'], + 'password' => [ + 'required', + 'string', + 'min:8', + 'max:20', + 'confirmed', + 'regex:/^(?=.*[A-Za-z])(?=.*\d).+$/' + ], + ], [ + 'current_password.required' => 'Password lama wajib diisi.', + 'current_password.current_password' => 'Password lama yang Anda masukkan tidak sesuai.', + + 'password.required' => 'Password baru wajib diisi.', + 'password.string' => 'Password baru harus berupa teks.', + 'password.min' => 'Password baru minimal terdiri dari 8 karakter.', + 'password.max' => 'Password baru maksimal terdiri dari 20 karakter.', + 'password.confirmed' => 'Konfirmasi password baru tidak cocok.', + 'password.regex' => 'Password baru harus mengandung minimal satu huruf dan satu angka.', + ]); + + $request->user()->update([ + 'password' => Hash::make($request->password), + ]); + + return back()->with('success', 'Password berhasil diperbarui.'); + } +} diff --git a/app/Http/Controllers/ProfileController.php b/app/Http/Controllers/ProfileController.php new file mode 100644 index 0000000..a48eb8d --- /dev/null +++ b/app/Http/Controllers/ProfileController.php @@ -0,0 +1,60 @@ + $request->user(), + ]); + } + + /** + * Update the user's profile information. + */ + public function update(ProfileUpdateRequest $request): RedirectResponse + { + $request->user()->fill($request->validated()); + + if ($request->user()->isDirty('email')) { + $request->user()->email_verified_at = null; + } + + $request->user()->save(); + + return Redirect::route('profile.edit')->with('status', 'profile-updated'); + } + + /** + * Delete the user's account. + */ + public function destroy(Request $request): RedirectResponse + { + $request->validateWithBag('userDeletion', [ + 'password' => ['required', 'current_password'], + ]); + + $user = $request->user(); + + Auth::logout(); + + $user->delete(); + + $request->session()->invalidate(); + $request->session()->regenerateToken(); + + return Redirect::to('/'); + } +} diff --git a/app/Http/Middleware/CheckRole.php b/app/Http/Middleware/CheckRole.php new file mode 100644 index 0000000..99a3799 --- /dev/null +++ b/app/Http/Middleware/CheckRole.php @@ -0,0 +1,24 @@ +role, $roles)) { + abort(403, 'Unauthorized.'); + } + + return $next($request); + } +} diff --git a/app/Http/Requests/Auth/LoginRequest.php b/app/Http/Requests/Auth/LoginRequest.php new file mode 100644 index 0000000..f836945 --- /dev/null +++ b/app/Http/Requests/Auth/LoginRequest.php @@ -0,0 +1,48 @@ + ['required', 'email'], + 'password' => ['required', 'string', 'min:6', 'max:20'], + ]; + } + + public function messages(): array + { + return [ + 'email.required' => 'Email wajib diisi.', + 'email.email' => 'Format email tidak valid.', + + 'password.required' => 'Kata sandi wajib diisi.', + 'password.min' => 'Kata sandi minimal 6 karakter.', + 'password.max' => 'Kata sandi maksimal 20 karakter.', + ]; + } + + public function authenticate(): void + { + if (! Auth::attempt([ + 'email' => $this->email, + 'password' => $this->password, + 'is_active' => 1 + ], $this->boolean('remember'))) { + + throw \Illuminate\Validation\ValidationException::withMessages([ + 'email' => 'Email, kata sandi salah atau akun sudah dinonaktifkan oleh admin.', + ]); + } + } +} diff --git a/app/Http/Requests/ProfileUpdateRequest.php b/app/Http/Requests/ProfileUpdateRequest.php new file mode 100644 index 0000000..3622a8f --- /dev/null +++ b/app/Http/Requests/ProfileUpdateRequest.php @@ -0,0 +1,30 @@ +|string> + */ + public function rules(): array + { + return [ + 'name' => ['required', 'string', 'max:255'], + 'email' => [ + 'required', + 'string', + 'lowercase', + 'email', + 'max:255', + Rule::unique(User::class)->ignore($this->user()->id), + ], + ]; + } +} diff --git a/app/Models/GajiKaryawan.php b/app/Models/GajiKaryawan.php new file mode 100644 index 0000000..f3f8ac1 --- /dev/null +++ b/app/Models/GajiKaryawan.php @@ -0,0 +1,27 @@ +belongsTo(Karyawan::class); + } +} diff --git a/app/Models/InventoriKandang.php b/app/Models/InventoriKandang.php new file mode 100644 index 0000000..70de8b8 --- /dev/null +++ b/app/Models/InventoriKandang.php @@ -0,0 +1,29 @@ +belongsTo(User::class); + } +} diff --git a/app/Models/Kandang.php b/app/Models/Kandang.php new file mode 100644 index 0000000..0f40bf8 --- /dev/null +++ b/app/Models/Kandang.php @@ -0,0 +1,28 @@ +hasMany(MutasiAyam::class); + } + + public function produksiTelur() + { + return $this->hasMany(ProduksiTelur::class); + } +} diff --git a/app/Models/Karyawan.php b/app/Models/Karyawan.php new file mode 100644 index 0000000..5de7311 --- /dev/null +++ b/app/Models/Karyawan.php @@ -0,0 +1,39 @@ +belongsTo(User::class); + } + + public function gaji() + { + return $this->hasMany(GajiKaryawan::class); + } + public function isAktif() + { + return $this->status_karyawan === 'aktif'; + } +} diff --git a/app/Models/MutasiAyam.php b/app/Models/MutasiAyam.php new file mode 100644 index 0000000..a98eea9 --- /dev/null +++ b/app/Models/MutasiAyam.php @@ -0,0 +1,36 @@ +belongsTo(Kandang::class, 'kandang_id'); + } + + // Relasi ke User + public function user() + { + return $this->belongsTo(User::class, 'user_id'); + } +} diff --git a/app/Models/Penjualan.php b/app/Models/Penjualan.php new file mode 100644 index 0000000..ddb4b90 --- /dev/null +++ b/app/Models/Penjualan.php @@ -0,0 +1,30 @@ +belongsTo(User::class, 'user_id'); + } + + +} diff --git a/app/Models/ProduksiTelur.php b/app/Models/ProduksiTelur.php new file mode 100644 index 0000000..1934b41 --- /dev/null +++ b/app/Models/ProduksiTelur.php @@ -0,0 +1,37 @@ +belongsTo(Kandang::class); + } + + public function user() + { + return $this->belongsTo(User::class); + } +} diff --git a/app/Models/User.php b/app/Models/User.php new file mode 100644 index 0000000..02d12c6 --- /dev/null +++ b/app/Models/User.php @@ -0,0 +1,74 @@ + 'datetime', + 'is_active' => 'boolean', + ]; + + /* ========== ROLE CHECK ========== */ + public function isAdmin(): bool + { + return $this->role === 'admin'; + } + + public function isKaryawan(): bool + { + return $this->role === 'karyawan'; + } + + + /* RELASI */ + public function inventoriKandang() + { + return $this->hasMany(InventoriKandang::class); + } + + public function penjualan() + { + return $this->hasMany(Penjualan::class); + } + + public function karyawan() + { + return $this->hasOne(Karyawan::class); + } + + public function mutasiAyam() + { + return $this->hasMany(MutasiAyam::class); + } + + public function produksiTelur() + { + return $this->hasMany(ProduksiTelur::class); + } + public function sendPasswordResetNotification($token) + { + $this->notify(new ResetPasswordNotification($token)); + } +} diff --git a/app/Notifications/ResetPasswordNotification.php b/app/Notifications/ResetPasswordNotification.php new file mode 100644 index 0000000..ea48eaf --- /dev/null +++ b/app/Notifications/ResetPasswordNotification.php @@ -0,0 +1,25 @@ + $this->token, + 'email' => $notifiable->getEmailForPasswordReset(), + ], false)); + + return (new MailMessage) + ->subject('Reset Kata Sandi Akun Anda') + ->greeting('Halo!') + ->line('Anda menerima email ini karena kami menerima permintaan reset kata sandi untuk akun Anda.') + ->action('Reset Kata Sandi', $url) + ->line('Link reset kata sandi ini akan kedaluwarsa dalam 60 menit.') + ->line('Jika Anda tidak merasa meminta reset kata sandi, abaikan email ini.'); + } +} diff --git a/app/Providers/AppServiceProvider.php b/app/Providers/AppServiceProvider.php new file mode 100644 index 0000000..54107ba --- /dev/null +++ b/app/Providers/AppServiceProvider.php @@ -0,0 +1,29 @@ +getActiveSheet(); + $sheetProduksi->setTitle('Produksi'); + + $sheetProduksi->setCellValue('A1', 'LAPORAN PETERNAKAN AYAM PETELUR PAK HARI'); + $sheetProduksi->setCellValue('A2', 'TAHUN ' . $tahun); + + $sheetProduksi->setCellValue('A4', 'Bulan'); + $sheetProduksi->setCellValue('B4', 'Minggu'); + $sheetProduksi->setCellValue('C4', 'Total Produksi (Kg)'); + + $produksi = DB::table('produksi_telur') + ->selectRaw(' + MONTH(tanggal_produksi) AS bulan, + CEIL(DAY(tanggal_produksi) / 7) AS minggu, + SUM(berat_telur_total) AS total + ') + ->whereYear('tanggal_produksi', $tahun) + ->groupBy('bulan', 'minggu') + ->orderBy('bulan') + ->orderBy('minggu') + ->get(); + + $row = 5; + foreach ($produksi as $item) { + $sheetProduksi->setCellValue( + "A{$row}", + \Carbon\Carbon::createFromDate(null, $item->bulan, 1) + ->locale('id') + ->translatedFormat('F') + ); + $sheetProduksi->setCellValue("B{$row}", 'Minggu ' . $item->minggu); + $sheetProduksi->setCellValue("C{$row}", $item->total); + $row++; + } + + $totalProduksi = $produksi->sum('total'); + $jumlahMinggu = $produksi->count(); + $rataProduksi = $jumlahMinggu > 0 ? $totalProduksi / $jumlahMinggu : 0; + + $sheetProduksi->setCellValue("A{$row}", 'TOTAL PRODUKSI TAHUNAN'); + $sheetProduksi->setCellValue("C{$row}", $totalProduksi); + $row++; + + $sheetProduksi->setCellValue("A{$row}", 'RATA-RATA PRODUKSI MINGGUAN'); + $sheetProduksi->setCellValue("C{$row}", round($rataProduksi, 1)); + $row++; + + $this->autoSize($sheetProduksi); + + /* + | SHEET 2 — INVENTORI (MINGGUAN) + */ + $sheetInventori = $spreadsheet->createSheet(); + $sheetInventori->setTitle('Pakan'); + + $sheetInventori->setCellValue('A1', 'LAPORAN PETERNAKAN AYAM PETELUR PAK HARI'); + $sheetInventori->setCellValue('A2', 'TAHUN ' . $tahun); + + $sheetInventori->setCellValue('A4', 'Bulan'); + $sheetInventori->setCellValue('B4', 'Minggu'); + $sheetInventori->setCellValue('C4', 'Pakan Masuk (Kg)'); + $sheetInventori->setCellValue('D4', 'Pakan Keluar (Kg)'); + + $inventori = DB::table('inventori_kandang') + ->selectRaw(' + MONTH(created_at) AS bulan, + CEIL(DAY(created_at) / 7) AS minggu, + SUM(CASE WHEN jenis_transaksi = "masuk" THEN jumlah ELSE 0 END) AS masuk, + SUM(CASE WHEN jenis_transaksi = "keluar" THEN jumlah ELSE 0 END) AS keluar + ') + ->whereYear('created_at', $tahun) + ->groupBy('bulan', 'minggu') + ->orderBy('bulan') + ->orderBy('minggu') + ->get(); + + $row = 5; + foreach ($inventori as $item) { + $sheetInventori->setCellValue( + "A{$row}", + \Carbon\Carbon::createFromDate(null, $item->bulan, 1) + ->locale('id') + ->translatedFormat('F') + ); + $sheetInventori->setCellValue("B{$row}", 'Minggu ' . $item->minggu); + $sheetInventori->setCellValue("C{$row}", $item->masuk); + $sheetInventori->setCellValue("D{$row}", $item->keluar); + $row++; + } + + $totalMasuk = $inventori->sum('masuk'); + $totalKeluar = $inventori->sum('keluar'); + + $sheetInventori->setCellValue("A{$row}", 'TOTAL MASUK PAKAN TAHUNAN'); + $sheetInventori->setCellValue("C{$row}", $totalMasuk); + $row++; + + $sheetInventori->setCellValue("A{$row}", 'TOTAL KELUAR PAKAN TAHUNAN'); + $sheetInventori->setCellValue("D{$row}", $totalKeluar); + $row++; + + $this->autoSize($sheetInventori); + + /* + | SHEET 3 — KEUANGAN (BULANAN) + */ + $sheetKeuangan = $spreadsheet->createSheet(); + $sheetKeuangan->setTitle('Keuangan'); + + $sheetKeuangan->setCellValue('A1', 'LAPORAN PETERNAKAN AYAM PETELUR PAK HARI'); + $sheetKeuangan->setCellValue('A2', 'TAHUN ' . $tahun); + + $sheetKeuangan->setCellValue('A4', 'Bulan'); + $sheetKeuangan->setCellValue('B4', 'Pemasukan'); + $sheetKeuangan->setCellValue('C4', 'Pembelian Pakan'); + $sheetKeuangan->setCellValue('D4', 'Gaji'); + $sheetKeuangan->setCellValue('E4', 'Laba / Rugi'); + + $pemasukan = DB::table('penjualan') + ->selectRaw(' + MONTH(tanggal_penjualan) AS bulan, + SUM(total_penjualan) AS total + ') + ->whereYear('tanggal_penjualan', $tahun) + ->groupBy('bulan') + ->get() + ->keyBy('bulan'); + + + $inventoriMasuk = DB::table('inventori_kandang') + ->selectRaw('MONTH(created_at) AS bulan, SUM(total_harga) AS total') + ->whereYear('created_at', $tahun) + ->where('jenis_transaksi', 'masuk') + ->groupBy('bulan') + ->get() + ->keyBy('bulan'); + + $gaji = DB::table('gaji_karyawan') + ->selectRaw('bulan, SUM(gaji_pokok) AS total') + ->where('tahun', $tahun) + ->groupBy('bulan') + ->get() + ->keyBy('bulan'); + + $row = 5; + for ($bulan = 1; $bulan <= 12; $bulan++) { + $p = $pemasukan[$bulan]->total ?? 0; + $i = $inventoriMasuk[$bulan]->total ?? 0; + $g = $gaji[$bulan]->total ?? 0; + $laba = $p - ($i + $g); + + $sheetKeuangan->setCellValue( + "A{$row}", + \Carbon\Carbon::createFromDate(null, $bulan, 1) + ->locale('id') + ->translatedFormat('F') + ); + $sheetKeuangan->setCellValue("B{$row}", $p); + $sheetKeuangan->setCellValue("C{$row}", $i); + $sheetKeuangan->setCellValue("D{$row}", $g); + $sheetKeuangan->setCellValue("E{$row}", $laba); + $row++; + } + + $totalPemasukan = $pemasukan->sum('total'); + $totalInventori = $inventoriMasuk->sum('total'); + $totalGaji = $gaji->sum('total'); + $labaTahunan = $totalPemasukan - ($totalInventori + $totalGaji); + + $sheetKeuangan->setCellValue("A{$row}", 'LABA BERSIH TAHUNAN'); + $sheetKeuangan->setCellValue("E{$row}", $labaTahunan); + + $this->autoSize($sheetKeuangan); + + /* + | DOWNLOAD + */ + $filename = "Laporan-Tahunan-{$tahun}.xlsx"; + + return new StreamedResponse(function () use ($spreadsheet) { + $writer = new Xlsx($spreadsheet); + $writer->save('php://output'); + }, 200, [ + 'Content-Type' => 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet', + 'Content-Disposition' => "attachment; filename=\"{$filename}\"", + ]); + } + + private function autoSize($sheet): void + { + foreach (range('A', $sheet->getHighestColumn()) as $col) { + $sheet->getColumnDimension($col)->setAutoSize(true); + } + } +} diff --git a/app/View/Components/AppLayout.php b/app/View/Components/AppLayout.php new file mode 100644 index 0000000..de0d46f --- /dev/null +++ b/app/View/Components/AppLayout.php @@ -0,0 +1,17 @@ +handleCommand(new ArgvInput); + +exit($status); diff --git a/bootstrap/app.php b/bootstrap/app.php new file mode 100644 index 0000000..c183276 --- /dev/null +++ b/bootstrap/app.php @@ -0,0 +1,18 @@ +withRouting( + web: __DIR__.'/../routes/web.php', + commands: __DIR__.'/../routes/console.php', + health: '/up', + ) + ->withMiddleware(function (Middleware $middleware): void { + // + }) + ->withExceptions(function (Exceptions $exceptions): void { + // + })->create(); diff --git a/bootstrap/cache/.gitignore b/bootstrap/cache/.gitignore new file mode 100644 index 0000000..d6b7ef3 --- /dev/null +++ b/bootstrap/cache/.gitignore @@ -0,0 +1,2 @@ +* +!.gitignore diff --git a/bootstrap/providers.php b/bootstrap/providers.php new file mode 100644 index 0000000..38b258d --- /dev/null +++ b/bootstrap/providers.php @@ -0,0 +1,5 @@ +=5.0.0" + }, + "require-dev": { + "doctrine/dbal": "^4.0.0", + "nesbot/carbon": "^2.71.0 || ^3.0.0", + "phpunit/phpunit": "^10.3" + }, + "type": "library", + "autoload": { + "psr-4": { + "Carbon\\Doctrine\\": "src/Carbon/Doctrine/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "KyleKatarn", + "email": "kylekatarnls@gmail.com" + } + ], + "description": "Types to use Carbon in Doctrine", + "keywords": [ + "carbon", + "date", + "datetime", + "doctrine", + "time" + ], + "support": { + "issues": "https://github.com/CarbonPHP/carbon-doctrine-types/issues", + "source": "https://github.com/CarbonPHP/carbon-doctrine-types/tree/3.2.0" + }, + "funding": [ + { + "url": "https://github.com/kylekatarnls", + "type": "github" + }, + { + "url": "https://opencollective.com/Carbon", + "type": "open_collective" + }, + { + "url": "https://tidelift.com/funding/github/packagist/nesbot/carbon", + "type": "tidelift" + } + ], + "time": "2024-02-09T16:56:22+00:00" + }, + { + "name": "composer/pcre", + "version": "3.3.2", + "source": { + "type": "git", + "url": "https://github.com/composer/pcre.git", + "reference": "b2bed4734f0cc156ee1fe9c0da2550420d99a21e" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/composer/pcre/zipball/b2bed4734f0cc156ee1fe9c0da2550420d99a21e", + "reference": "b2bed4734f0cc156ee1fe9c0da2550420d99a21e", + "shasum": "" + }, + "require": { + "php": "^7.4 || ^8.0" + }, + "conflict": { + "phpstan/phpstan": "<1.11.10" + }, + "require-dev": { + "phpstan/phpstan": "^1.12 || ^2", + "phpstan/phpstan-strict-rules": "^1 || ^2", + "phpunit/phpunit": "^8 || ^9" + }, + "type": "library", + "extra": { + "phpstan": { + "includes": [ + "extension.neon" + ] + }, + "branch-alias": { + "dev-main": "3.x-dev" + } + }, + "autoload": { + "psr-4": { + "Composer\\Pcre\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Jordi Boggiano", + "email": "j.boggiano@seld.be", + "homepage": "http://seld.be" + } + ], + "description": "PCRE wrapping library that offers type-safe preg_* replacements.", + "keywords": [ + "PCRE", + "preg", + "regex", + "regular expression" + ], + "support": { + "issues": "https://github.com/composer/pcre/issues", + "source": "https://github.com/composer/pcre/tree/3.3.2" + }, + "funding": [ + { + "url": "https://packagist.com", + "type": "custom" + }, + { + "url": "https://github.com/composer", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/composer/composer", + "type": "tidelift" + } + ], + "time": "2024-11-12T16:29:46+00:00" + }, + { + "name": "dflydev/dot-access-data", + "version": "v3.0.3", + "source": { + "type": "git", + "url": "https://github.com/dflydev/dflydev-dot-access-data.git", + "reference": "a23a2bf4f31d3518f3ecb38660c95715dfead60f" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/dflydev/dflydev-dot-access-data/zipball/a23a2bf4f31d3518f3ecb38660c95715dfead60f", + "reference": "a23a2bf4f31d3518f3ecb38660c95715dfead60f", + "shasum": "" + }, + "require": { + "php": "^7.1 || ^8.0" + }, + "require-dev": { + "phpstan/phpstan": "^0.12.42", + "phpunit/phpunit": "^7.5 || ^8.5 || ^9.3", + "scrutinizer/ocular": "1.6.0", + "squizlabs/php_codesniffer": "^3.5", + "vimeo/psalm": "^4.0.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "3.x-dev" + } + }, + "autoload": { + "psr-4": { + "Dflydev\\DotAccessData\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Dragonfly Development Inc.", + "email": "info@dflydev.com", + "homepage": "http://dflydev.com" + }, + { + "name": "Beau Simensen", + "email": "beau@dflydev.com", + "homepage": "http://beausimensen.com" + }, + { + "name": "Carlos Frutos", + "email": "carlos@kiwing.it", + "homepage": "https://github.com/cfrutos" + }, + { + "name": "Colin O'Dell", + "email": "colinodell@gmail.com", + "homepage": "https://www.colinodell.com" + } + ], + "description": "Given a deep data structure, access data by dot notation.", + "homepage": "https://github.com/dflydev/dflydev-dot-access-data", + "keywords": [ + "access", + "data", + "dot", + "notation" + ], + "support": { + "issues": "https://github.com/dflydev/dflydev-dot-access-data/issues", + "source": "https://github.com/dflydev/dflydev-dot-access-data/tree/v3.0.3" + }, + "time": "2024-07-08T12:26:09+00:00" + }, + { + "name": "doctrine/dbal", + "version": "4.4.1", + "source": { + "type": "git", + "url": "https://github.com/doctrine/dbal.git", + "reference": "3d544473fb93f5c25b483ea4f4ce99f8c4d9d44c" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/doctrine/dbal/zipball/3d544473fb93f5c25b483ea4f4ce99f8c4d9d44c", + "reference": "3d544473fb93f5c25b483ea4f4ce99f8c4d9d44c", + "shasum": "" + }, + "require": { + "doctrine/deprecations": "^1.1.5", + "php": "^8.2", + "psr/cache": "^1|^2|^3", + "psr/log": "^1|^2|^3" + }, + "require-dev": { + "doctrine/coding-standard": "14.0.0", + "fig/log-test": "^1", + "jetbrains/phpstorm-stubs": "2023.2", + "phpstan/phpstan": "2.1.30", + "phpstan/phpstan-phpunit": "2.0.7", + "phpstan/phpstan-strict-rules": "^2", + "phpunit/phpunit": "11.5.23", + "slevomat/coding-standard": "8.24.0", + "squizlabs/php_codesniffer": "4.0.0", + "symfony/cache": "^6.3.8|^7.0|^8.0", + "symfony/console": "^5.4|^6.3|^7.0|^8.0" + }, + "suggest": { + "symfony/console": "For helpful console commands such as SQL execution and import of files." + }, + "type": "library", + "autoload": { + "psr-4": { + "Doctrine\\DBAL\\": "src" + } + }, + "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" + } + ], + "description": "Powerful PHP database abstraction layer (DBAL) with many features for database schema introspection and management.", + "homepage": "https://www.doctrine-project.org/projects/dbal.html", + "keywords": [ + "abstraction", + "database", + "db2", + "dbal", + "mariadb", + "mssql", + "mysql", + "oci8", + "oracle", + "pdo", + "pgsql", + "postgresql", + "queryobject", + "sasql", + "sql", + "sqlite", + "sqlserver", + "sqlsrv" + ], + "support": { + "issues": "https://github.com/doctrine/dbal/issues", + "source": "https://github.com/doctrine/dbal/tree/4.4.1" + }, + "funding": [ + { + "url": "https://www.doctrine-project.org/sponsorship.html", + "type": "custom" + }, + { + "url": "https://www.patreon.com/phpdoctrine", + "type": "patreon" + }, + { + "url": "https://tidelift.com/funding/github/packagist/doctrine%2Fdbal", + "type": "tidelift" + } + ], + "time": "2025-12-04T10:11:03+00:00" + }, + { + "name": "doctrine/deprecations", + "version": "1.1.6", + "source": { + "type": "git", + "url": "https://github.com/doctrine/deprecations.git", + "reference": "d4fe3e6fd9bb9e72557a19674f44d8ac7db4c6ca" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/doctrine/deprecations/zipball/d4fe3e6fd9bb9e72557a19674f44d8ac7db4c6ca", + "reference": "d4fe3e6fd9bb9e72557a19674f44d8ac7db4c6ca", + "shasum": "" + }, + "require": { + "php": "^7.1 || ^8.0" + }, + "conflict": { + "phpunit/phpunit": "<=7.5 || >=14" + }, + "require-dev": { + "doctrine/coding-standard": "^9 || ^12 || ^14", + "phpstan/phpstan": "1.4.10 || 2.1.30", + "phpstan/phpstan-phpunit": "^1.0 || ^2", + "phpunit/phpunit": "^7.5 || ^8.5 || ^9.6 || ^10.5 || ^11.5 || ^12.4 || ^13.0", + "psr/log": "^1 || ^2 || ^3" + }, + "suggest": { + "psr/log": "Allows logging deprecations via PSR-3 logger implementation" + }, + "type": "library", + "autoload": { + "psr-4": { + "Doctrine\\Deprecations\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "description": "A small layer on top of trigger_error(E_USER_DEPRECATED) or PSR-3 logging with options to disable all deprecations or selectively for packages.", + "homepage": "https://www.doctrine-project.org/", + "support": { + "issues": "https://github.com/doctrine/deprecations/issues", + "source": "https://github.com/doctrine/deprecations/tree/1.1.6" + }, + "time": "2026-02-07T07:09:04+00:00" + }, + { + "name": "doctrine/inflector", + "version": "2.1.0", + "source": { + "type": "git", + "url": "https://github.com/doctrine/inflector.git", + "reference": "6d6c96277ea252fc1304627204c3d5e6e15faa3b" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/doctrine/inflector/zipball/6d6c96277ea252fc1304627204c3d5e6e15faa3b", + "reference": "6d6c96277ea252fc1304627204c3d5e6e15faa3b", + "shasum": "" + }, + "require": { + "php": "^7.2 || ^8.0" + }, + "require-dev": { + "doctrine/coding-standard": "^12.0 || ^13.0", + "phpstan/phpstan": "^1.12 || ^2.0", + "phpstan/phpstan-phpunit": "^1.4 || ^2.0", + "phpstan/phpstan-strict-rules": "^1.6 || ^2.0", + "phpunit/phpunit": "^8.5 || ^12.2" + }, + "type": "library", + "autoload": { + "psr-4": { + "Doctrine\\Inflector\\": "src" + } + }, + "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": "PHP Doctrine Inflector is a small library that can perform string manipulations with regard to upper/lowercase and singular/plural forms of words.", + "homepage": "https://www.doctrine-project.org/projects/inflector.html", + "keywords": [ + "inflection", + "inflector", + "lowercase", + "manipulation", + "php", + "plural", + "singular", + "strings", + "uppercase", + "words" + ], + "support": { + "issues": "https://github.com/doctrine/inflector/issues", + "source": "https://github.com/doctrine/inflector/tree/2.1.0" + }, + "funding": [ + { + "url": "https://www.doctrine-project.org/sponsorship.html", + "type": "custom" + }, + { + "url": "https://www.patreon.com/phpdoctrine", + "type": "patreon" + }, + { + "url": "https://tidelift.com/funding/github/packagist/doctrine%2Finflector", + "type": "tidelift" + } + ], + "time": "2025-08-10T19:31:58+00:00" + }, + { + "name": "doctrine/lexer", + "version": "3.0.1", + "source": { + "type": "git", + "url": "https://github.com/doctrine/lexer.git", + "reference": "31ad66abc0fc9e1a1f2d9bc6a42668d2fbbcd6dd" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/doctrine/lexer/zipball/31ad66abc0fc9e1a1f2d9bc6a42668d2fbbcd6dd", + "reference": "31ad66abc0fc9e1a1f2d9bc6a42668d2fbbcd6dd", + "shasum": "" + }, + "require": { + "php": "^8.1" + }, + "require-dev": { + "doctrine/coding-standard": "^12", + "phpstan/phpstan": "^1.10", + "phpunit/phpunit": "^10.5", + "psalm/plugin-phpunit": "^0.18.3", + "vimeo/psalm": "^5.21" + }, + "type": "library", + "autoload": { + "psr-4": { + "Doctrine\\Common\\Lexer\\": "src" + } + }, + "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" + ], + "support": { + "issues": "https://github.com/doctrine/lexer/issues", + "source": "https://github.com/doctrine/lexer/tree/3.0.1" + }, + "funding": [ + { + "url": "https://www.doctrine-project.org/sponsorship.html", + "type": "custom" + }, + { + "url": "https://www.patreon.com/phpdoctrine", + "type": "patreon" + }, + { + "url": "https://tidelift.com/funding/github/packagist/doctrine%2Flexer", + "type": "tidelift" + } + ], + "time": "2024-02-05T11:56:58+00:00" + }, + { + "name": "dragonmantank/cron-expression", + "version": "v3.6.0", + "source": { + "type": "git", + "url": "https://github.com/dragonmantank/cron-expression.git", + "reference": "d61a8a9604ec1f8c3d150d09db6ce98b32675013" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/dragonmantank/cron-expression/zipball/d61a8a9604ec1f8c3d150d09db6ce98b32675013", + "reference": "d61a8a9604ec1f8c3d150d09db6ce98b32675013", + "shasum": "" + }, + "require": { + "php": "^8.2|^8.3|^8.4|^8.5" + }, + "replace": { + "mtdowling/cron-expression": "^1.0" + }, + "require-dev": { + "phpstan/extension-installer": "^1.4.3", + "phpstan/phpstan": "^1.12.32|^2.1.31", + "phpunit/phpunit": "^8.5.48|^9.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "3.x-dev" + } + }, + "autoload": { + "psr-4": { + "Cron\\": "src/Cron/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "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" + ], + "support": { + "issues": "https://github.com/dragonmantank/cron-expression/issues", + "source": "https://github.com/dragonmantank/cron-expression/tree/v3.6.0" + }, + "funding": [ + { + "url": "https://github.com/dragonmantank", + "type": "github" + } + ], + "time": "2025-10-31T18:51:33+00:00" + }, + { + "name": "egulias/email-validator", + "version": "4.0.4", + "source": { + "type": "git", + "url": "https://github.com/egulias/EmailValidator.git", + "reference": "d42c8731f0624ad6bdc8d3e5e9a4524f68801cfa" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/egulias/EmailValidator/zipball/d42c8731f0624ad6bdc8d3e5e9a4524f68801cfa", + "reference": "d42c8731f0624ad6bdc8d3e5e9a4524f68801cfa", + "shasum": "" + }, + "require": { + "doctrine/lexer": "^2.0 || ^3.0", + "php": ">=8.1", + "symfony/polyfill-intl-idn": "^1.26" + }, + "require-dev": { + "phpunit/phpunit": "^10.2", + "vimeo/psalm": "^5.12" + }, + "suggest": { + "ext-intl": "PHP Internationalization Libraries are required to use the SpoofChecking validation" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "4.0.x-dev" + } + }, + "autoload": { + "psr-4": { + "Egulias\\EmailValidator\\": "src" + } + }, + "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" + ], + "support": { + "issues": "https://github.com/egulias/EmailValidator/issues", + "source": "https://github.com/egulias/EmailValidator/tree/4.0.4" + }, + "funding": [ + { + "url": "https://github.com/egulias", + "type": "github" + } + ], + "time": "2025-03-06T22:45:56+00:00" + }, + { + "name": "fruitcake/php-cors", + "version": "v1.4.0", + "source": { + "type": "git", + "url": "https://github.com/fruitcake/php-cors.git", + "reference": "38aaa6c3fd4c157ffe2a4d10aa8b9b16ba8de379" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/fruitcake/php-cors/zipball/38aaa6c3fd4c157ffe2a4d10aa8b9b16ba8de379", + "reference": "38aaa6c3fd4c157ffe2a4d10aa8b9b16ba8de379", + "shasum": "" + }, + "require": { + "php": "^8.1", + "symfony/http-foundation": "^5.4|^6.4|^7.3|^8" + }, + "require-dev": { + "phpstan/phpstan": "^2", + "phpunit/phpunit": "^9", + "squizlabs/php_codesniffer": "^4" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.3-dev" + } + }, + "autoload": { + "psr-4": { + "Fruitcake\\Cors\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fruitcake", + "homepage": "https://fruitcake.nl" + }, + { + "name": "Barryvdh", + "email": "barryvdh@gmail.com" + } + ], + "description": "Cross-origin resource sharing library for the Symfony HttpFoundation", + "homepage": "https://github.com/fruitcake/php-cors", + "keywords": [ + "cors", + "laravel", + "symfony" + ], + "support": { + "issues": "https://github.com/fruitcake/php-cors/issues", + "source": "https://github.com/fruitcake/php-cors/tree/v1.4.0" + }, + "funding": [ + { + "url": "https://fruitcake.nl", + "type": "custom" + }, + { + "url": "https://github.com/barryvdh", + "type": "github" + } + ], + "time": "2025-12-03T09:33:47+00:00" + }, + { + "name": "graham-campbell/result-type", + "version": "v1.1.4", + "source": { + "type": "git", + "url": "https://github.com/GrahamCampbell/Result-Type.git", + "reference": "e01f4a821471308ba86aa202fed6698b6b695e3b" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/GrahamCampbell/Result-Type/zipball/e01f4a821471308ba86aa202fed6698b6b695e3b", + "reference": "e01f4a821471308ba86aa202fed6698b6b695e3b", + "shasum": "" + }, + "require": { + "php": "^7.2.5 || ^8.0", + "phpoption/phpoption": "^1.9.5" + }, + "require-dev": { + "phpunit/phpunit": "^8.5.41 || ^9.6.22 || ^10.5.45 || ^11.5.7" + }, + "type": "library", + "autoload": { + "psr-4": { + "GrahamCampbell\\ResultType\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Graham Campbell", + "email": "hello@gjcampbell.co.uk", + "homepage": "https://github.com/GrahamCampbell" + } + ], + "description": "An Implementation Of The Result Type", + "keywords": [ + "Graham Campbell", + "GrahamCampbell", + "Result Type", + "Result-Type", + "result" + ], + "support": { + "issues": "https://github.com/GrahamCampbell/Result-Type/issues", + "source": "https://github.com/GrahamCampbell/Result-Type/tree/v1.1.4" + }, + "funding": [ + { + "url": "https://github.com/GrahamCampbell", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/graham-campbell/result-type", + "type": "tidelift" + } + ], + "time": "2025-12-27T19:43:20+00:00" + }, + { + "name": "guzzlehttp/guzzle", + "version": "7.10.0", + "source": { + "type": "git", + "url": "https://github.com/guzzle/guzzle.git", + "reference": "b51ac707cfa420b7bfd4e4d5e510ba8008e822b4" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/guzzle/guzzle/zipball/b51ac707cfa420b7bfd4e4d5e510ba8008e822b4", + "reference": "b51ac707cfa420b7bfd4e4d5e510ba8008e822b4", + "shasum": "" + }, + "require": { + "ext-json": "*", + "guzzlehttp/promises": "^2.3", + "guzzlehttp/psr7": "^2.8", + "php": "^7.2.5 || ^8.0", + "psr/http-client": "^1.0", + "symfony/deprecation-contracts": "^2.2 || ^3.0" + }, + "provide": { + "psr/http-client-implementation": "1.0" + }, + "require-dev": { + "bamarni/composer-bin-plugin": "^1.8.2", + "ext-curl": "*", + "guzzle/client-integration-tests": "3.0.2", + "php-http/message-factory": "^1.1", + "phpunit/phpunit": "^8.5.39 || ^9.6.20", + "psr/log": "^1.1 || ^2.0 || ^3.0" + }, + "suggest": { + "ext-curl": "Required for CURL handler support", + "ext-intl": "Required for Internationalized Domain Name (IDN) support", + "psr/log": "Required for using the Log middleware" + }, + "type": "library", + "extra": { + "bamarni-bin": { + "bin-links": true, + "forward-command": false + } + }, + "autoload": { + "files": [ + "src/functions_include.php" + ], + "psr-4": { + "GuzzleHttp\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Graham Campbell", + "email": "hello@gjcampbell.co.uk", + "homepage": "https://github.com/GrahamCampbell" + }, + { + "name": "Michael Dowling", + "email": "mtdowling@gmail.com", + "homepage": "https://github.com/mtdowling" + }, + { + "name": "Jeremy Lindblom", + "email": "jeremeamia@gmail.com", + "homepage": "https://github.com/jeremeamia" + }, + { + "name": "George Mponos", + "email": "gmponos@gmail.com", + "homepage": "https://github.com/gmponos" + }, + { + "name": "Tobias Nyholm", + "email": "tobias.nyholm@gmail.com", + "homepage": "https://github.com/Nyholm" + }, + { + "name": "Márk Sági-Kazár", + "email": "mark.sagikazar@gmail.com", + "homepage": "https://github.com/sagikazarmark" + }, + { + "name": "Tobias Schultze", + "email": "webmaster@tubo-world.de", + "homepage": "https://github.com/Tobion" + } + ], + "description": "Guzzle is a PHP HTTP client library", + "keywords": [ + "client", + "curl", + "framework", + "http", + "http client", + "psr-18", + "psr-7", + "rest", + "web service" + ], + "support": { + "issues": "https://github.com/guzzle/guzzle/issues", + "source": "https://github.com/guzzle/guzzle/tree/7.10.0" + }, + "funding": [ + { + "url": "https://github.com/GrahamCampbell", + "type": "github" + }, + { + "url": "https://github.com/Nyholm", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/guzzlehttp/guzzle", + "type": "tidelift" + } + ], + "time": "2025-08-23T22:36:01+00:00" + }, + { + "name": "guzzlehttp/promises", + "version": "2.3.0", + "source": { + "type": "git", + "url": "https://github.com/guzzle/promises.git", + "reference": "481557b130ef3790cf82b713667b43030dc9c957" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/guzzle/promises/zipball/481557b130ef3790cf82b713667b43030dc9c957", + "reference": "481557b130ef3790cf82b713667b43030dc9c957", + "shasum": "" + }, + "require": { + "php": "^7.2.5 || ^8.0" + }, + "require-dev": { + "bamarni/composer-bin-plugin": "^1.8.2", + "phpunit/phpunit": "^8.5.44 || ^9.6.25" + }, + "type": "library", + "extra": { + "bamarni-bin": { + "bin-links": true, + "forward-command": false + } + }, + "autoload": { + "psr-4": { + "GuzzleHttp\\Promise\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Graham Campbell", + "email": "hello@gjcampbell.co.uk", + "homepage": "https://github.com/GrahamCampbell" + }, + { + "name": "Michael Dowling", + "email": "mtdowling@gmail.com", + "homepage": "https://github.com/mtdowling" + }, + { + "name": "Tobias Nyholm", + "email": "tobias.nyholm@gmail.com", + "homepage": "https://github.com/Nyholm" + }, + { + "name": "Tobias Schultze", + "email": "webmaster@tubo-world.de", + "homepage": "https://github.com/Tobion" + } + ], + "description": "Guzzle promises library", + "keywords": [ + "promise" + ], + "support": { + "issues": "https://github.com/guzzle/promises/issues", + "source": "https://github.com/guzzle/promises/tree/2.3.0" + }, + "funding": [ + { + "url": "https://github.com/GrahamCampbell", + "type": "github" + }, + { + "url": "https://github.com/Nyholm", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/guzzlehttp/promises", + "type": "tidelift" + } + ], + "time": "2025-08-22T14:34:08+00:00" + }, + { + "name": "guzzlehttp/psr7", + "version": "2.8.0", + "source": { + "type": "git", + "url": "https://github.com/guzzle/psr7.git", + "reference": "21dc724a0583619cd1652f673303492272778051" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/guzzle/psr7/zipball/21dc724a0583619cd1652f673303492272778051", + "reference": "21dc724a0583619cd1652f673303492272778051", + "shasum": "" + }, + "require": { + "php": "^7.2.5 || ^8.0", + "psr/http-factory": "^1.0", + "psr/http-message": "^1.1 || ^2.0", + "ralouphie/getallheaders": "^3.0" + }, + "provide": { + "psr/http-factory-implementation": "1.0", + "psr/http-message-implementation": "1.0" + }, + "require-dev": { + "bamarni/composer-bin-plugin": "^1.8.2", + "http-interop/http-factory-tests": "0.9.0", + "phpunit/phpunit": "^8.5.44 || ^9.6.25" + }, + "suggest": { + "laminas/laminas-httphandlerrunner": "Emit PSR-7 responses" + }, + "type": "library", + "extra": { + "bamarni-bin": { + "bin-links": true, + "forward-command": false + } + }, + "autoload": { + "psr-4": { + "GuzzleHttp\\Psr7\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Graham Campbell", + "email": "hello@gjcampbell.co.uk", + "homepage": "https://github.com/GrahamCampbell" + }, + { + "name": "Michael Dowling", + "email": "mtdowling@gmail.com", + "homepage": "https://github.com/mtdowling" + }, + { + "name": "George Mponos", + "email": "gmponos@gmail.com", + "homepage": "https://github.com/gmponos" + }, + { + "name": "Tobias Nyholm", + "email": "tobias.nyholm@gmail.com", + "homepage": "https://github.com/Nyholm" + }, + { + "name": "Márk Sági-Kazár", + "email": "mark.sagikazar@gmail.com", + "homepage": "https://github.com/sagikazarmark" + }, + { + "name": "Tobias Schultze", + "email": "webmaster@tubo-world.de", + "homepage": "https://github.com/Tobion" + }, + { + "name": "Márk Sági-Kazár", + "email": "mark.sagikazar@gmail.com", + "homepage": "https://sagikazarmark.hu" + } + ], + "description": "PSR-7 message implementation that also provides common utility methods", + "keywords": [ + "http", + "message", + "psr-7", + "request", + "response", + "stream", + "uri", + "url" + ], + "support": { + "issues": "https://github.com/guzzle/psr7/issues", + "source": "https://github.com/guzzle/psr7/tree/2.8.0" + }, + "funding": [ + { + "url": "https://github.com/GrahamCampbell", + "type": "github" + }, + { + "url": "https://github.com/Nyholm", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/guzzlehttp/psr7", + "type": "tidelift" + } + ], + "time": "2025-08-23T21:21:41+00:00" + }, + { + "name": "guzzlehttp/uri-template", + "version": "v1.0.5", + "source": { + "type": "git", + "url": "https://github.com/guzzle/uri-template.git", + "reference": "4f4bbd4e7172148801e76e3decc1e559bdee34e1" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/guzzle/uri-template/zipball/4f4bbd4e7172148801e76e3decc1e559bdee34e1", + "reference": "4f4bbd4e7172148801e76e3decc1e559bdee34e1", + "shasum": "" + }, + "require": { + "php": "^7.2.5 || ^8.0", + "symfony/polyfill-php80": "^1.24" + }, + "require-dev": { + "bamarni/composer-bin-plugin": "^1.8.2", + "phpunit/phpunit": "^8.5.44 || ^9.6.25", + "uri-template/tests": "1.0.0" + }, + "type": "library", + "extra": { + "bamarni-bin": { + "bin-links": true, + "forward-command": false + } + }, + "autoload": { + "psr-4": { + "GuzzleHttp\\UriTemplate\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Graham Campbell", + "email": "hello@gjcampbell.co.uk", + "homepage": "https://github.com/GrahamCampbell" + }, + { + "name": "Michael Dowling", + "email": "mtdowling@gmail.com", + "homepage": "https://github.com/mtdowling" + }, + { + "name": "George Mponos", + "email": "gmponos@gmail.com", + "homepage": "https://github.com/gmponos" + }, + { + "name": "Tobias Nyholm", + "email": "tobias.nyholm@gmail.com", + "homepage": "https://github.com/Nyholm" + } + ], + "description": "A polyfill class for uri_template of PHP", + "keywords": [ + "guzzlehttp", + "uri-template" + ], + "support": { + "issues": "https://github.com/guzzle/uri-template/issues", + "source": "https://github.com/guzzle/uri-template/tree/v1.0.5" + }, + "funding": [ + { + "url": "https://github.com/GrahamCampbell", + "type": "github" + }, + { + "url": "https://github.com/Nyholm", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/guzzlehttp/uri-template", + "type": "tidelift" + } + ], + "time": "2025-08-22T14:27:06+00:00" + }, + { + "name": "laravel/framework", + "version": "v12.48.1", + "source": { + "type": "git", + "url": "https://github.com/laravel/framework.git", + "reference": "0f0974a9769378ccd9c9935c09b9927f3a606830" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/laravel/framework/zipball/0f0974a9769378ccd9c9935c09b9927f3a606830", + "reference": "0f0974a9769378ccd9c9935c09b9927f3a606830", + "shasum": "" + }, + "require": { + "brick/math": "^0.11|^0.12|^0.13|^0.14", + "composer-runtime-api": "^2.2", + "doctrine/inflector": "^2.0.5", + "dragonmantank/cron-expression": "^3.4", + "egulias/email-validator": "^3.2.1|^4.0", + "ext-ctype": "*", + "ext-filter": "*", + "ext-hash": "*", + "ext-mbstring": "*", + "ext-openssl": "*", + "ext-session": "*", + "ext-tokenizer": "*", + "fruitcake/php-cors": "^1.3", + "guzzlehttp/guzzle": "^7.8.2", + "guzzlehttp/uri-template": "^1.0", + "laravel/prompts": "^0.3.0", + "laravel/serializable-closure": "^1.3|^2.0", + "league/commonmark": "^2.7", + "league/flysystem": "^3.25.1", + "league/flysystem-local": "^3.25.1", + "league/uri": "^7.5.1", + "monolog/monolog": "^3.0", + "nesbot/carbon": "^3.8.4", + "nunomaduro/termwind": "^2.0", + "php": "^8.2", + "psr/container": "^1.1.1|^2.0.1", + "psr/log": "^1.0|^2.0|^3.0", + "psr/simple-cache": "^1.0|^2.0|^3.0", + "ramsey/uuid": "^4.7", + "symfony/console": "^7.2.0", + "symfony/error-handler": "^7.2.0", + "symfony/finder": "^7.2.0", + "symfony/http-foundation": "^7.2.0", + "symfony/http-kernel": "^7.2.0", + "symfony/mailer": "^7.2.0", + "symfony/mime": "^7.2.0", + "symfony/polyfill-php83": "^1.33", + "symfony/polyfill-php84": "^1.33", + "symfony/polyfill-php85": "^1.33", + "symfony/process": "^7.2.0", + "symfony/routing": "^7.2.0", + "symfony/uid": "^7.2.0", + "symfony/var-dumper": "^7.2.0", + "tijsverkoyen/css-to-inline-styles": "^2.2.5", + "vlucas/phpdotenv": "^5.6.1", + "voku/portable-ascii": "^2.0.2" + }, + "conflict": { + "tightenco/collect": "<5.5.33" + }, + "provide": { + "psr/container-implementation": "1.1|2.0", + "psr/log-implementation": "1.0|2.0|3.0", + "psr/simple-cache-implementation": "1.0|2.0|3.0" + }, + "replace": { + "illuminate/auth": "self.version", + "illuminate/broadcasting": "self.version", + "illuminate/bus": "self.version", + "illuminate/cache": "self.version", + "illuminate/collections": "self.version", + "illuminate/concurrency": "self.version", + "illuminate/conditionable": "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/json-schema": "self.version", + "illuminate/log": "self.version", + "illuminate/macroable": "self.version", + "illuminate/mail": "self.version", + "illuminate/notifications": "self.version", + "illuminate/pagination": "self.version", + "illuminate/pipeline": "self.version", + "illuminate/process": "self.version", + "illuminate/queue": "self.version", + "illuminate/redis": "self.version", + "illuminate/reflection": "self.version", + "illuminate/routing": "self.version", + "illuminate/session": "self.version", + "illuminate/support": "self.version", + "illuminate/testing": "self.version", + "illuminate/translation": "self.version", + "illuminate/validation": "self.version", + "illuminate/view": "self.version", + "spatie/once": "*" + }, + "require-dev": { + "ably/ably-php": "^1.0", + "aws/aws-sdk-php": "^3.322.9", + "ext-gmp": "*", + "fakerphp/faker": "^1.24", + "guzzlehttp/promises": "^2.0.3", + "guzzlehttp/psr7": "^2.4", + "laravel/pint": "^1.18", + "league/flysystem-aws-s3-v3": "^3.25.1", + "league/flysystem-ftp": "^3.25.1", + "league/flysystem-path-prefixing": "^3.25.1", + "league/flysystem-read-only": "^3.25.1", + "league/flysystem-sftp-v3": "^3.25.1", + "mockery/mockery": "^1.6.10", + "opis/json-schema": "^2.4.1", + "orchestra/testbench-core": "^10.9.0", + "pda/pheanstalk": "^5.0.6|^7.0.0", + "php-http/discovery": "^1.15", + "phpstan/phpstan": "^2.0", + "phpunit/phpunit": "^10.5.35|^11.5.3|^12.0.1", + "predis/predis": "^2.3|^3.0", + "resend/resend-php": "^0.10.0|^1.0", + "symfony/cache": "^7.2.0", + "symfony/http-client": "^7.2.0", + "symfony/psr-http-message-bridge": "^7.2.0", + "symfony/translation": "^7.2.0" + }, + "suggest": { + "ably/ably-php": "Required to use the Ably broadcast driver (^1.0).", + "aws/aws-sdk-php": "Required to use the SQS queue driver, DynamoDb failed job storage, and SES mail driver (^3.322.9).", + "brianium/paratest": "Required to run tests in parallel (^7.0|^8.0).", + "ext-apcu": "Required to use the APC cache driver.", + "ext-fileinfo": "Required to use the Filesystem class.", + "ext-ftp": "Required to use the Flysystem FTP driver.", + "ext-gd": "Required to use Illuminate\\Http\\Testing\\FileFactory::image().", + "ext-memcached": "Required to use the memcache cache driver.", + "ext-pcntl": "Required to use all features of the queue worker and console signal trapping.", + "ext-pdo": "Required to use all database features.", + "ext-posix": "Required to use all features of the queue worker.", + "ext-redis": "Required to use the Redis cache and queue drivers (^4.0|^5.0|^6.0).", + "fakerphp/faker": "Required to generate fake data using the fake() helper (^1.23).", + "filp/whoops": "Required for friendly error pages in development (^2.14.3).", + "laravel/tinker": "Required to use the tinker console command (^2.0).", + "league/flysystem-aws-s3-v3": "Required to use the Flysystem S3 driver (^3.25.1).", + "league/flysystem-ftp": "Required to use the Flysystem FTP driver (^3.25.1).", + "league/flysystem-path-prefixing": "Required to use the scoped driver (^3.25.1).", + "league/flysystem-read-only": "Required to use read-only disks (^3.25.1)", + "league/flysystem-sftp-v3": "Required to use the Flysystem SFTP driver (^3.25.1).", + "mockery/mockery": "Required to use mocking (^1.6).", + "pda/pheanstalk": "Required to use the beanstalk queue driver (^5.0).", + "php-http/discovery": "Required to use PSR-7 bridging features (^1.15).", + "phpunit/phpunit": "Required to use assertions and run tests (^10.5.35|^11.5.3|^12.0.1).", + "predis/predis": "Required to use the predis connector (^2.3|^3.0).", + "psr/http-message": "Required to allow Storage::put to accept a StreamInterface (^1.0).", + "pusher/pusher-php-server": "Required to use the Pusher broadcast driver (^6.0|^7.0).", + "resend/resend-php": "Required to enable support for the Resend mail transport (^0.10.0|^1.0).", + "symfony/cache": "Required to PSR-6 cache bridge (^7.2).", + "symfony/filesystem": "Required to enable support for relative symbolic links (^7.2).", + "symfony/http-client": "Required to enable support for the Symfony API mail transports (^7.2).", + "symfony/mailgun-mailer": "Required to enable support for the Mailgun mail transport (^7.2).", + "symfony/postmark-mailer": "Required to enable support for the Postmark mail transport (^7.2).", + "symfony/psr-http-message-bridge": "Required to use PSR-7 bridging features (^7.2)." + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "12.x-dev" + } + }, + "autoload": { + "files": [ + "src/Illuminate/Collections/functions.php", + "src/Illuminate/Collections/helpers.php", + "src/Illuminate/Events/functions.php", + "src/Illuminate/Filesystem/functions.php", + "src/Illuminate/Foundation/helpers.php", + "src/Illuminate/Log/functions.php", + "src/Illuminate/Reflection/helpers.php", + "src/Illuminate/Support/functions.php", + "src/Illuminate/Support/helpers.php" + ], + "psr-4": { + "Illuminate\\": "src/Illuminate/", + "Illuminate\\Support\\": [ + "src/Illuminate/Macroable/", + "src/Illuminate/Collections/", + "src/Illuminate/Conditionable/", + "src/Illuminate/Reflection/" + ] + } + }, + "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" + ], + "support": { + "issues": "https://github.com/laravel/framework/issues", + "source": "https://github.com/laravel/framework" + }, + "time": "2026-01-20T16:12:36+00:00" + }, + { + "name": "laravel/prompts", + "version": "v0.3.10", + "source": { + "type": "git", + "url": "https://github.com/laravel/prompts.git", + "reference": "360ba095ef9f51017473505191fbd4ab73e1cab3" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/laravel/prompts/zipball/360ba095ef9f51017473505191fbd4ab73e1cab3", + "reference": "360ba095ef9f51017473505191fbd4ab73e1cab3", + "shasum": "" + }, + "require": { + "composer-runtime-api": "^2.2", + "ext-mbstring": "*", + "php": "^8.1", + "symfony/console": "^6.2|^7.0" + }, + "conflict": { + "illuminate/console": ">=10.17.0 <10.25.0", + "laravel/framework": ">=10.17.0 <10.25.0" + }, + "require-dev": { + "illuminate/collections": "^10.0|^11.0|^12.0", + "mockery/mockery": "^1.5", + "pestphp/pest": "^2.3|^3.4|^4.0", + "phpstan/phpstan": "^1.12.28", + "phpstan/phpstan-mockery": "^1.1.3" + }, + "suggest": { + "ext-pcntl": "Required for the spinner to be animated." + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "0.3.x-dev" + } + }, + "autoload": { + "files": [ + "src/helpers.php" + ], + "psr-4": { + "Laravel\\Prompts\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "description": "Add beautiful and user-friendly forms to your command-line applications.", + "support": { + "issues": "https://github.com/laravel/prompts/issues", + "source": "https://github.com/laravel/prompts/tree/v0.3.10" + }, + "time": "2026-01-13T20:29:29+00:00" + }, + { + "name": "laravel/serializable-closure", + "version": "v2.0.8", + "source": { + "type": "git", + "url": "https://github.com/laravel/serializable-closure.git", + "reference": "7581a4407012f5f53365e11bafc520fd7f36bc9b" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/laravel/serializable-closure/zipball/7581a4407012f5f53365e11bafc520fd7f36bc9b", + "reference": "7581a4407012f5f53365e11bafc520fd7f36bc9b", + "shasum": "" + }, + "require": { + "php": "^8.1" + }, + "require-dev": { + "illuminate/support": "^10.0|^11.0|^12.0", + "nesbot/carbon": "^2.67|^3.0", + "pestphp/pest": "^2.36|^3.0|^4.0", + "phpstan/phpstan": "^2.0", + "symfony/var-dumper": "^6.2.0|^7.0.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.x-dev" + } + }, + "autoload": { + "psr-4": { + "Laravel\\SerializableClosure\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Taylor Otwell", + "email": "taylor@laravel.com" + }, + { + "name": "Nuno Maduro", + "email": "nuno@laravel.com" + } + ], + "description": "Laravel Serializable Closure provides an easy and secure way to serialize closures in PHP.", + "keywords": [ + "closure", + "laravel", + "serializable" + ], + "support": { + "issues": "https://github.com/laravel/serializable-closure/issues", + "source": "https://github.com/laravel/serializable-closure" + }, + "time": "2026-01-08T16:22:46+00:00" + }, + { + "name": "laravel/tinker", + "version": "v2.11.0", + "source": { + "type": "git", + "url": "https://github.com/laravel/tinker.git", + "reference": "3d34b97c9a1747a81a3fde90482c092bd8b66468" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/laravel/tinker/zipball/3d34b97c9a1747a81a3fde90482c092bd8b66468", + "reference": "3d34b97c9a1747a81a3fde90482c092bd8b66468", + "shasum": "" + }, + "require": { + "illuminate/console": "^6.0|^7.0|^8.0|^9.0|^10.0|^11.0|^12.0", + "illuminate/contracts": "^6.0|^7.0|^8.0|^9.0|^10.0|^11.0|^12.0", + "illuminate/support": "^6.0|^7.0|^8.0|^9.0|^10.0|^11.0|^12.0", + "php": "^7.2.5|^8.0", + "psy/psysh": "^0.11.1|^0.12.0", + "symfony/var-dumper": "^4.3.4|^5.0|^6.0|^7.0|^8.0" + }, + "require-dev": { + "mockery/mockery": "~1.3.3|^1.4.2", + "phpstan/phpstan": "^1.10", + "phpunit/phpunit": "^8.5.8|^9.3.3|^10.0" + }, + "suggest": { + "illuminate/database": "The Illuminate Database package (^6.0|^7.0|^8.0|^9.0|^10.0|^11.0|^12.0)." + }, + "type": "library", + "extra": { + "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" + ], + "support": { + "issues": "https://github.com/laravel/tinker/issues", + "source": "https://github.com/laravel/tinker/tree/v2.11.0" + }, + "time": "2025-12-19T19:16:45+00:00" + }, + { + "name": "league/commonmark", + "version": "2.8.0", + "source": { + "type": "git", + "url": "https://github.com/thephpleague/commonmark.git", + "reference": "4efa10c1e56488e658d10adf7b7b7dcd19940bfb" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/thephpleague/commonmark/zipball/4efa10c1e56488e658d10adf7b7b7dcd19940bfb", + "reference": "4efa10c1e56488e658d10adf7b7b7dcd19940bfb", + "shasum": "" + }, + "require": { + "ext-mbstring": "*", + "league/config": "^1.1.1", + "php": "^7.4 || ^8.0", + "psr/event-dispatcher": "^1.0", + "symfony/deprecation-contracts": "^2.1 || ^3.0", + "symfony/polyfill-php80": "^1.16" + }, + "require-dev": { + "cebe/markdown": "^1.0", + "commonmark/cmark": "0.31.1", + "commonmark/commonmark.js": "0.31.1", + "composer/package-versions-deprecated": "^1.8", + "embed/embed": "^4.4", + "erusev/parsedown": "^1.0", + "ext-json": "*", + "github/gfm": "0.29.0", + "michelf/php-markdown": "^1.4 || ^2.0", + "nyholm/psr7": "^1.5", + "phpstan/phpstan": "^1.8.2", + "phpunit/phpunit": "^9.5.21 || ^10.5.9 || ^11.0.0", + "scrutinizer/ocular": "^1.8.1", + "symfony/finder": "^5.3 | ^6.0 | ^7.0", + "symfony/process": "^5.4 | ^6.0 | ^7.0", + "symfony/yaml": "^2.3 | ^3.0 | ^4.0 | ^5.0 | ^6.0 | ^7.0", + "unleashedtech/php-coding-standard": "^3.1.1", + "vimeo/psalm": "^4.24.0 || ^5.0.0 || ^6.0.0" + }, + "suggest": { + "symfony/yaml": "v2.3+ required if using the Front Matter extension" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "2.9-dev" + } + }, + "autoload": { + "psr-4": { + "League\\CommonMark\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Colin O'Dell", + "email": "colinodell@gmail.com", + "homepage": "https://www.colinodell.com", + "role": "Lead Developer" + } + ], + "description": "Highly-extensible PHP Markdown parser which fully supports the CommonMark spec and GitHub-Flavored Markdown (GFM)", + "homepage": "https://commonmark.thephpleague.com", + "keywords": [ + "commonmark", + "flavored", + "gfm", + "github", + "github-flavored", + "markdown", + "md", + "parser" + ], + "support": { + "docs": "https://commonmark.thephpleague.com/", + "forum": "https://github.com/thephpleague/commonmark/discussions", + "issues": "https://github.com/thephpleague/commonmark/issues", + "rss": "https://github.com/thephpleague/commonmark/releases.atom", + "source": "https://github.com/thephpleague/commonmark" + }, + "funding": [ + { + "url": "https://www.colinodell.com/sponsor", + "type": "custom" + }, + { + "url": "https://www.paypal.me/colinpodell/10.00", + "type": "custom" + }, + { + "url": "https://github.com/colinodell", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/league/commonmark", + "type": "tidelift" + } + ], + "time": "2025-11-26T21:48:24+00:00" + }, + { + "name": "league/config", + "version": "v1.2.0", + "source": { + "type": "git", + "url": "https://github.com/thephpleague/config.git", + "reference": "754b3604fb2984c71f4af4a9cbe7b57f346ec1f3" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/thephpleague/config/zipball/754b3604fb2984c71f4af4a9cbe7b57f346ec1f3", + "reference": "754b3604fb2984c71f4af4a9cbe7b57f346ec1f3", + "shasum": "" + }, + "require": { + "dflydev/dot-access-data": "^3.0.1", + "nette/schema": "^1.2", + "php": "^7.4 || ^8.0" + }, + "require-dev": { + "phpstan/phpstan": "^1.8.2", + "phpunit/phpunit": "^9.5.5", + "scrutinizer/ocular": "^1.8.1", + "unleashedtech/php-coding-standard": "^3.1", + "vimeo/psalm": "^4.7.3" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "1.2-dev" + } + }, + "autoload": { + "psr-4": { + "League\\Config\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Colin O'Dell", + "email": "colinodell@gmail.com", + "homepage": "https://www.colinodell.com", + "role": "Lead Developer" + } + ], + "description": "Define configuration arrays with strict schemas and access values with dot notation", + "homepage": "https://config.thephpleague.com", + "keywords": [ + "array", + "config", + "configuration", + "dot", + "dot-access", + "nested", + "schema" + ], + "support": { + "docs": "https://config.thephpleague.com/", + "issues": "https://github.com/thephpleague/config/issues", + "rss": "https://github.com/thephpleague/config/releases.atom", + "source": "https://github.com/thephpleague/config" + }, + "funding": [ + { + "url": "https://www.colinodell.com/sponsor", + "type": "custom" + }, + { + "url": "https://www.paypal.me/colinpodell/10.00", + "type": "custom" + }, + { + "url": "https://github.com/colinodell", + "type": "github" + } + ], + "time": "2022-12-11T20:36:23+00:00" + }, + { + "name": "league/flysystem", + "version": "3.31.0", + "source": { + "type": "git", + "url": "https://github.com/thephpleague/flysystem.git", + "reference": "1717e0b3642b0df65ecb0cc89cdd99fa840672ff" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/thephpleague/flysystem/zipball/1717e0b3642b0df65ecb0cc89cdd99fa840672ff", + "reference": "1717e0b3642b0df65ecb0cc89cdd99fa840672ff", + "shasum": "" + }, + "require": { + "league/flysystem-local": "^3.0.0", + "league/mime-type-detection": "^1.0.0", + "php": "^8.0.2" + }, + "conflict": { + "async-aws/core": "<1.19.0", + "async-aws/s3": "<1.14.0", + "aws/aws-sdk-php": "3.209.31 || 3.210.0", + "guzzlehttp/guzzle": "<7.0", + "guzzlehttp/ringphp": "<1.1.1", + "phpseclib/phpseclib": "3.0.15", + "symfony/http-client": "<5.2" + }, + "require-dev": { + "async-aws/s3": "^1.5 || ^2.0", + "async-aws/simple-s3": "^1.1 || ^2.0", + "aws/aws-sdk-php": "^3.295.10", + "composer/semver": "^3.0", + "ext-fileinfo": "*", + "ext-ftp": "*", + "ext-mongodb": "^1.3|^2", + "ext-zip": "*", + "friendsofphp/php-cs-fixer": "^3.5", + "google/cloud-storage": "^1.23", + "guzzlehttp/psr7": "^2.6", + "microsoft/azure-storage-blob": "^1.1", + "mongodb/mongodb": "^1.2|^2", + "phpseclib/phpseclib": "^3.0.36", + "phpstan/phpstan": "^1.10", + "phpunit/phpunit": "^9.5.11|^10.0", + "sabre/dav": "^4.6.0" + }, + "type": "library", + "autoload": { + "psr-4": { + "League\\Flysystem\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Frank de Jonge", + "email": "info@frankdejonge.nl" + } + ], + "description": "File storage abstraction for PHP", + "keywords": [ + "WebDAV", + "aws", + "cloud", + "file", + "files", + "filesystem", + "filesystems", + "ftp", + "s3", + "sftp", + "storage" + ], + "support": { + "issues": "https://github.com/thephpleague/flysystem/issues", + "source": "https://github.com/thephpleague/flysystem/tree/3.31.0" + }, + "time": "2026-01-23T15:38:47+00:00" + }, + { + "name": "league/flysystem-local", + "version": "3.31.0", + "source": { + "type": "git", + "url": "https://github.com/thephpleague/flysystem-local.git", + "reference": "2f669db18a4c20c755c2bb7d3a7b0b2340488079" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/thephpleague/flysystem-local/zipball/2f669db18a4c20c755c2bb7d3a7b0b2340488079", + "reference": "2f669db18a4c20c755c2bb7d3a7b0b2340488079", + "shasum": "" + }, + "require": { + "ext-fileinfo": "*", + "league/flysystem": "^3.0.0", + "league/mime-type-detection": "^1.0.0", + "php": "^8.0.2" + }, + "type": "library", + "autoload": { + "psr-4": { + "League\\Flysystem\\Local\\": "" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Frank de Jonge", + "email": "info@frankdejonge.nl" + } + ], + "description": "Local filesystem adapter for Flysystem.", + "keywords": [ + "Flysystem", + "file", + "files", + "filesystem", + "local" + ], + "support": { + "source": "https://github.com/thephpleague/flysystem-local/tree/3.31.0" + }, + "time": "2026-01-23T15:30:45+00:00" + }, + { + "name": "league/mime-type-detection", + "version": "1.16.0", + "source": { + "type": "git", + "url": "https://github.com/thephpleague/mime-type-detection.git", + "reference": "2d6702ff215bf922936ccc1ad31007edc76451b9" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/thephpleague/mime-type-detection/zipball/2d6702ff215bf922936ccc1ad31007edc76451b9", + "reference": "2d6702ff215bf922936ccc1ad31007edc76451b9", + "shasum": "" + }, + "require": { + "ext-fileinfo": "*", + "php": "^7.4 || ^8.0" + }, + "require-dev": { + "friendsofphp/php-cs-fixer": "^3.2", + "phpstan/phpstan": "^0.12.68", + "phpunit/phpunit": "^8.5.8 || ^9.3 || ^10.0" + }, + "type": "library", + "autoload": { + "psr-4": { + "League\\MimeTypeDetection\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Frank de Jonge", + "email": "info@frankdejonge.nl" + } + ], + "description": "Mime-type detection for Flysystem", + "support": { + "issues": "https://github.com/thephpleague/mime-type-detection/issues", + "source": "https://github.com/thephpleague/mime-type-detection/tree/1.16.0" + }, + "funding": [ + { + "url": "https://github.com/frankdejonge", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/league/flysystem", + "type": "tidelift" + } + ], + "time": "2024-09-21T08:32:55+00:00" + }, + { + "name": "league/uri", + "version": "7.8.0", + "source": { + "type": "git", + "url": "https://github.com/thephpleague/uri.git", + "reference": "4436c6ec8d458e4244448b069cc572d088230b76" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/thephpleague/uri/zipball/4436c6ec8d458e4244448b069cc572d088230b76", + "reference": "4436c6ec8d458e4244448b069cc572d088230b76", + "shasum": "" + }, + "require": { + "league/uri-interfaces": "^7.8", + "php": "^8.1", + "psr/http-factory": "^1" + }, + "conflict": { + "league/uri-schemes": "^1.0" + }, + "suggest": { + "ext-bcmath": "to improve IPV4 host parsing", + "ext-dom": "to convert the URI into an HTML anchor tag", + "ext-fileinfo": "to create Data URI from file contennts", + "ext-gmp": "to improve IPV4 host parsing", + "ext-intl": "to handle IDN host with the best performance", + "ext-uri": "to use the PHP native URI class", + "jeremykendall/php-domain-parser": "to further parse the URI host and resolve its Public Suffix and Top Level Domain", + "league/uri-components": "to provide additional tools to manipulate URI objects components", + "league/uri-polyfill": "to backport the PHP URI extension for older versions of PHP", + "php-64bit": "to improve IPV4 host parsing", + "rowbot/url": "to handle URLs using the WHATWG URL Living Standard specification", + "symfony/polyfill-intl-idn": "to handle IDN host via the Symfony polyfill if ext-intl is not present" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "7.x-dev" + } + }, + "autoload": { + "psr-4": { + "League\\Uri\\": "" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Ignace Nyamagana Butera", + "email": "nyamsprod@gmail.com", + "homepage": "https://nyamsprod.com" + } + ], + "description": "URI manipulation library", + "homepage": "https://uri.thephpleague.com", + "keywords": [ + "URN", + "data-uri", + "file-uri", + "ftp", + "hostname", + "http", + "https", + "middleware", + "parse_str", + "parse_url", + "psr-7", + "query-string", + "querystring", + "rfc2141", + "rfc3986", + "rfc3987", + "rfc6570", + "rfc8141", + "uri", + "uri-template", + "url", + "ws" + ], + "support": { + "docs": "https://uri.thephpleague.com", + "forum": "https://thephpleague.slack.com", + "issues": "https://github.com/thephpleague/uri-src/issues", + "source": "https://github.com/thephpleague/uri/tree/7.8.0" + }, + "funding": [ + { + "url": "https://github.com/sponsors/nyamsprod", + "type": "github" + } + ], + "time": "2026-01-14T17:24:56+00:00" + }, + { + "name": "league/uri-interfaces", + "version": "7.8.0", + "source": { + "type": "git", + "url": "https://github.com/thephpleague/uri-interfaces.git", + "reference": "c5c5cd056110fc8afaba29fa6b72a43ced42acd4" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/thephpleague/uri-interfaces/zipball/c5c5cd056110fc8afaba29fa6b72a43ced42acd4", + "reference": "c5c5cd056110fc8afaba29fa6b72a43ced42acd4", + "shasum": "" + }, + "require": { + "ext-filter": "*", + "php": "^8.1", + "psr/http-message": "^1.1 || ^2.0" + }, + "suggest": { + "ext-bcmath": "to improve IPV4 host parsing", + "ext-gmp": "to improve IPV4 host parsing", + "ext-intl": "to handle IDN host with the best performance", + "php-64bit": "to improve IPV4 host parsing", + "rowbot/url": "to handle URLs using the WHATWG URL Living Standard specification", + "symfony/polyfill-intl-idn": "to handle IDN host via the Symfony polyfill if ext-intl is not present" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "7.x-dev" + } + }, + "autoload": { + "psr-4": { + "League\\Uri\\": "" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Ignace Nyamagana Butera", + "email": "nyamsprod@gmail.com", + "homepage": "https://nyamsprod.com" + } + ], + "description": "Common tools for parsing and resolving RFC3987/RFC3986 URI", + "homepage": "https://uri.thephpleague.com", + "keywords": [ + "data-uri", + "file-uri", + "ftp", + "hostname", + "http", + "https", + "parse_str", + "parse_url", + "psr-7", + "query-string", + "querystring", + "rfc3986", + "rfc3987", + "rfc6570", + "uri", + "url", + "ws" + ], + "support": { + "docs": "https://uri.thephpleague.com", + "forum": "https://thephpleague.slack.com", + "issues": "https://github.com/thephpleague/uri-src/issues", + "source": "https://github.com/thephpleague/uri-interfaces/tree/7.8.0" + }, + "funding": [ + { + "url": "https://github.com/sponsors/nyamsprod", + "type": "github" + } + ], + "time": "2026-01-15T06:54:53+00:00" + }, + { + "name": "maennchen/zipstream-php", + "version": "3.1.2", + "source": { + "type": "git", + "url": "https://github.com/maennchen/ZipStream-PHP.git", + "reference": "aeadcf5c412332eb426c0f9b4485f6accba2a99f" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/maennchen/ZipStream-PHP/zipball/aeadcf5c412332eb426c0f9b4485f6accba2a99f", + "reference": "aeadcf5c412332eb426c0f9b4485f6accba2a99f", + "shasum": "" + }, + "require": { + "ext-mbstring": "*", + "ext-zlib": "*", + "php-64bit": "^8.2" + }, + "require-dev": { + "brianium/paratest": "^7.7", + "ext-zip": "*", + "friendsofphp/php-cs-fixer": "^3.16", + "guzzlehttp/guzzle": "^7.5", + "mikey179/vfsstream": "^1.6", + "php-coveralls/php-coveralls": "^2.5", + "phpunit/phpunit": "^11.0", + "vimeo/psalm": "^6.0" + }, + "suggest": { + "guzzlehttp/psr7": "^2.4", + "psr/http-message": "^2.0" + }, + "type": "library", + "autoload": { + "psr-4": { + "ZipStream\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Paul Duncan", + "email": "pabs@pablotron.org" + }, + { + "name": "Jonatan Männchen", + "email": "jonatan@maennchen.ch" + }, + { + "name": "Jesse Donat", + "email": "donatj@gmail.com" + }, + { + "name": "András Kolesár", + "email": "kolesar@kolesar.hu" + } + ], + "description": "ZipStream is a library for dynamically streaming dynamic zip files from PHP without writing to the disk at all on the server.", + "keywords": [ + "stream", + "zip" + ], + "support": { + "issues": "https://github.com/maennchen/ZipStream-PHP/issues", + "source": "https://github.com/maennchen/ZipStream-PHP/tree/3.1.2" + }, + "funding": [ + { + "url": "https://github.com/maennchen", + "type": "github" + } + ], + "time": "2025-01-27T12:07:53+00:00" + }, + { + "name": "markbaker/complex", + "version": "3.0.2", + "source": { + "type": "git", + "url": "https://github.com/MarkBaker/PHPComplex.git", + "reference": "95c56caa1cf5c766ad6d65b6344b807c1e8405b9" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/MarkBaker/PHPComplex/zipball/95c56caa1cf5c766ad6d65b6344b807c1e8405b9", + "reference": "95c56caa1cf5c766ad6d65b6344b807c1e8405b9", + "shasum": "" + }, + "require": { + "php": "^7.2 || ^8.0" + }, + "require-dev": { + "dealerdirect/phpcodesniffer-composer-installer": "dev-master", + "phpcompatibility/php-compatibility": "^9.3", + "phpunit/phpunit": "^7.0 || ^8.0 || ^9.0", + "squizlabs/php_codesniffer": "^3.7" + }, + "type": "library", + "autoload": { + "psr-4": { + "Complex\\": "classes/src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Mark Baker", + "email": "mark@lange.demon.co.uk" + } + ], + "description": "PHP Class for working with complex numbers", + "homepage": "https://github.com/MarkBaker/PHPComplex", + "keywords": [ + "complex", + "mathematics" + ], + "support": { + "issues": "https://github.com/MarkBaker/PHPComplex/issues", + "source": "https://github.com/MarkBaker/PHPComplex/tree/3.0.2" + }, + "time": "2022-12-06T16:21:08+00:00" + }, + { + "name": "markbaker/matrix", + "version": "3.0.1", + "source": { + "type": "git", + "url": "https://github.com/MarkBaker/PHPMatrix.git", + "reference": "728434227fe21be27ff6d86621a1b13107a2562c" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/MarkBaker/PHPMatrix/zipball/728434227fe21be27ff6d86621a1b13107a2562c", + "reference": "728434227fe21be27ff6d86621a1b13107a2562c", + "shasum": "" + }, + "require": { + "php": "^7.1 || ^8.0" + }, + "require-dev": { + "dealerdirect/phpcodesniffer-composer-installer": "dev-master", + "phpcompatibility/php-compatibility": "^9.3", + "phpdocumentor/phpdocumentor": "2.*", + "phploc/phploc": "^4.0", + "phpmd/phpmd": "2.*", + "phpunit/phpunit": "^7.0 || ^8.0 || ^9.0", + "sebastian/phpcpd": "^4.0", + "squizlabs/php_codesniffer": "^3.7" + }, + "type": "library", + "autoload": { + "psr-4": { + "Matrix\\": "classes/src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Mark Baker", + "email": "mark@demon-angel.eu" + } + ], + "description": "PHP Class for working with matrices", + "homepage": "https://github.com/MarkBaker/PHPMatrix", + "keywords": [ + "mathematics", + "matrix", + "vector" + ], + "support": { + "issues": "https://github.com/MarkBaker/PHPMatrix/issues", + "source": "https://github.com/MarkBaker/PHPMatrix/tree/3.0.1" + }, + "time": "2022-12-02T22:17:43+00:00" + }, + { + "name": "monolog/monolog", + "version": "3.10.0", + "source": { + "type": "git", + "url": "https://github.com/Seldaek/monolog.git", + "reference": "b321dd6749f0bf7189444158a3ce785cc16d69b0" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/Seldaek/monolog/zipball/b321dd6749f0bf7189444158a3ce785cc16d69b0", + "reference": "b321dd6749f0bf7189444158a3ce785cc16d69b0", + "shasum": "" + }, + "require": { + "php": ">=8.1", + "psr/log": "^2.0 || ^3.0" + }, + "provide": { + "psr/log-implementation": "3.0.0" + }, + "require-dev": { + "aws/aws-sdk-php": "^3.0", + "doctrine/couchdb": "~1.0@dev", + "elasticsearch/elasticsearch": "^7 || ^8", + "ext-json": "*", + "graylog2/gelf-php": "^1.4.2 || ^2.0", + "guzzlehttp/guzzle": "^7.4.5", + "guzzlehttp/psr7": "^2.2", + "mongodb/mongodb": "^1.8 || ^2.0", + "php-amqplib/php-amqplib": "~2.4 || ^3", + "php-console/php-console": "^3.1.8", + "phpstan/phpstan": "^2", + "phpstan/phpstan-deprecation-rules": "^2", + "phpstan/phpstan-strict-rules": "^2", + "phpunit/phpunit": "^10.5.17 || ^11.0.7", + "predis/predis": "^1.1 || ^2", + "rollbar/rollbar": "^4.0", + "ruflin/elastica": "^7 || ^8", + "symfony/mailer": "^5.4 || ^6", + "symfony/mime": "^5.4 || ^6" + }, + "suggest": { + "aws/aws-sdk-php": "Allow sending log messages to AWS services like DynamoDB", + "doctrine/couchdb": "Allow sending log messages to a CouchDB server", + "elasticsearch/elasticsearch": "Allow sending log messages to an Elasticsearch server via official client", + "ext-amqp": "Allow sending log messages to an AMQP server (1.0+ required)", + "ext-curl": "Required to send log messages using the IFTTTHandler, the LogglyHandler, the SendGridHandler, the SlackWebhookHandler or the TelegramBotHandler", + "ext-mbstring": "Allow to work properly with unicode symbols", + "ext-mongodb": "Allow sending log messages to a MongoDB server (via driver)", + "ext-openssl": "Required to send log messages using SSL", + "ext-sockets": "Allow sending log messages to a Syslog server (via UDP driver)", + "graylog2/gelf-php": "Allow sending log messages to a GrayLog2 server", + "mongodb/mongodb": "Allow sending log messages to a MongoDB server (via library)", + "php-amqplib/php-amqplib": "Allow sending log messages to an AMQP server using php-amqplib", + "rollbar/rollbar": "Allow sending log messages to Rollbar", + "ruflin/elastica": "Allow sending log messages to an Elastic Search server" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "3.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": "https://seld.be" + } + ], + "description": "Sends your logs to files, sockets, inboxes, databases and various web services", + "homepage": "https://github.com/Seldaek/monolog", + "keywords": [ + "log", + "logging", + "psr-3" + ], + "support": { + "issues": "https://github.com/Seldaek/monolog/issues", + "source": "https://github.com/Seldaek/monolog/tree/3.10.0" + }, + "funding": [ + { + "url": "https://github.com/Seldaek", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/monolog/monolog", + "type": "tidelift" + } + ], + "time": "2026-01-02T08:56:05+00:00" + }, + { + "name": "nesbot/carbon", + "version": "3.11.0", + "source": { + "type": "git", + "url": "https://github.com/CarbonPHP/carbon.git", + "reference": "bdb375400dcd162624531666db4799b36b64e4a1" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/CarbonPHP/carbon/zipball/bdb375400dcd162624531666db4799b36b64e4a1", + "reference": "bdb375400dcd162624531666db4799b36b64e4a1", + "shasum": "" + }, + "require": { + "carbonphp/carbon-doctrine-types": "<100.0", + "ext-json": "*", + "php": "^8.1", + "psr/clock": "^1.0", + "symfony/clock": "^6.3.12 || ^7.0 || ^8.0", + "symfony/polyfill-mbstring": "^1.0", + "symfony/translation": "^4.4.18 || ^5.2.1 || ^6.0 || ^7.0 || ^8.0" + }, + "provide": { + "psr/clock-implementation": "1.0" + }, + "require-dev": { + "doctrine/dbal": "^3.6.3 || ^4.0", + "doctrine/orm": "^2.15.2 || ^3.0", + "friendsofphp/php-cs-fixer": "^v3.87.1", + "kylekatarnls/multi-tester": "^2.5.3", + "phpmd/phpmd": "^2.15.0", + "phpstan/extension-installer": "^1.4.3", + "phpstan/phpstan": "^2.1.22", + "phpunit/phpunit": "^10.5.53", + "squizlabs/php_codesniffer": "^3.13.4" + }, + "bin": [ + "bin/carbon" + ], + "type": "library", + "extra": { + "laravel": { + "providers": [ + "Carbon\\Laravel\\ServiceProvider" + ] + }, + "phpstan": { + "includes": [ + "extension.neon" + ] + }, + "branch-alias": { + "dev-2.x": "2.x-dev", + "dev-master": "3.x-dev" + } + }, + "autoload": { + "psr-4": { + "Carbon\\": "src/Carbon/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Brian Nesbitt", + "email": "brian@nesbot.com", + "homepage": "https://markido.com" + }, + { + "name": "kylekatarnls", + "homepage": "https://github.com/kylekatarnls" + } + ], + "description": "An API extension for DateTime that supports 281 different languages.", + "homepage": "https://carbon.nesbot.com", + "keywords": [ + "date", + "datetime", + "time" + ], + "support": { + "docs": "https://carbon.nesbot.com/docs", + "issues": "https://github.com/CarbonPHP/carbon/issues", + "source": "https://github.com/CarbonPHP/carbon" + }, + "funding": [ + { + "url": "https://github.com/sponsors/kylekatarnls", + "type": "github" + }, + { + "url": "https://opencollective.com/Carbon#sponsor", + "type": "opencollective" + }, + { + "url": "https://tidelift.com/subscription/pkg/packagist-nesbot-carbon?utm_source=packagist-nesbot-carbon&utm_medium=referral&utm_campaign=readme", + "type": "tidelift" + } + ], + "time": "2025-12-02T21:04:28+00:00" + }, + { + "name": "nette/schema", + "version": "v1.3.3", + "source": { + "type": "git", + "url": "https://github.com/nette/schema.git", + "reference": "2befc2f42d7c715fd9d95efc31b1081e5d765004" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/nette/schema/zipball/2befc2f42d7c715fd9d95efc31b1081e5d765004", + "reference": "2befc2f42d7c715fd9d95efc31b1081e5d765004", + "shasum": "" + }, + "require": { + "nette/utils": "^4.0", + "php": "8.1 - 8.5" + }, + "require-dev": { + "nette/tester": "^2.5.2", + "phpstan/phpstan-nette": "^2.0@stable", + "tracy/tracy": "^2.8" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.3-dev" + } + }, + "autoload": { + "psr-4": { + "Nette\\": "src" + }, + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause", + "GPL-2.0-only", + "GPL-3.0-only" + ], + "authors": [ + { + "name": "David Grudl", + "homepage": "https://davidgrudl.com" + }, + { + "name": "Nette Community", + "homepage": "https://nette.org/contributors" + } + ], + "description": "📐 Nette Schema: validating data structures against a given Schema.", + "homepage": "https://nette.org", + "keywords": [ + "config", + "nette" + ], + "support": { + "issues": "https://github.com/nette/schema/issues", + "source": "https://github.com/nette/schema/tree/v1.3.3" + }, + "time": "2025-10-30T22:57:59+00:00" + }, + { + "name": "nette/utils", + "version": "v4.1.1", + "source": { + "type": "git", + "url": "https://github.com/nette/utils.git", + "reference": "c99059c0315591f1a0db7ad6002000288ab8dc72" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/nette/utils/zipball/c99059c0315591f1a0db7ad6002000288ab8dc72", + "reference": "c99059c0315591f1a0db7ad6002000288ab8dc72", + "shasum": "" + }, + "require": { + "php": "8.2 - 8.5" + }, + "conflict": { + "nette/finder": "<3", + "nette/schema": "<1.2.2" + }, + "require-dev": { + "jetbrains/phpstorm-attributes": "^1.2", + "nette/tester": "^2.5", + "phpstan/phpstan-nette": "^2.0@stable", + "tracy/tracy": "^2.9" + }, + "suggest": { + "ext-gd": "to use Image", + "ext-iconv": "to use Strings::webalize(), toAscii(), chr() and reverse()", + "ext-intl": "to use Strings::webalize(), toAscii(), normalize() and compare()", + "ext-json": "to use Nette\\Utils\\Json", + "ext-mbstring": "to use Strings::lower() etc...", + "ext-tokenizer": "to use Nette\\Utils\\Reflection::getUseStatements()" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "4.1-dev" + } + }, + "autoload": { + "psr-4": { + "Nette\\": "src" + }, + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause", + "GPL-2.0-only", + "GPL-3.0-only" + ], + "authors": [ + { + "name": "David Grudl", + "homepage": "https://davidgrudl.com" + }, + { + "name": "Nette Community", + "homepage": "https://nette.org/contributors" + } + ], + "description": "🛠 Nette Utils: lightweight utilities for string & array manipulation, image handling, safe JSON encoding/decoding, validation, slug or strong password generating etc.", + "homepage": "https://nette.org", + "keywords": [ + "array", + "core", + "datetime", + "images", + "json", + "nette", + "paginator", + "password", + "slugify", + "string", + "unicode", + "utf-8", + "utility", + "validation" + ], + "support": { + "issues": "https://github.com/nette/utils/issues", + "source": "https://github.com/nette/utils/tree/v4.1.1" + }, + "time": "2025-12-22T12:14:32+00:00" + }, + { + "name": "nikic/php-parser", + "version": "v5.7.0", + "source": { + "type": "git", + "url": "https://github.com/nikic/PHP-Parser.git", + "reference": "dca41cd15c2ac9d055ad70dbfd011130757d1f82" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/dca41cd15c2ac9d055ad70dbfd011130757d1f82", + "reference": "dca41cd15c2ac9d055ad70dbfd011130757d1f82", + "shasum": "" + }, + "require": { + "ext-ctype": "*", + "ext-json": "*", + "ext-tokenizer": "*", + "php": ">=7.4" + }, + "require-dev": { + "ircmaxell/php-yacc": "^0.0.7", + "phpunit/phpunit": "^9.0" + }, + "bin": [ + "bin/php-parse" + ], + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "5.x-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" + ], + "support": { + "issues": "https://github.com/nikic/PHP-Parser/issues", + "source": "https://github.com/nikic/PHP-Parser/tree/v5.7.0" + }, + "time": "2025-12-06T11:56:16+00:00" + }, + { + "name": "nunomaduro/termwind", + "version": "v2.3.3", + "source": { + "type": "git", + "url": "https://github.com/nunomaduro/termwind.git", + "reference": "6fb2a640ff502caace8e05fd7be3b503a7e1c017" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/nunomaduro/termwind/zipball/6fb2a640ff502caace8e05fd7be3b503a7e1c017", + "reference": "6fb2a640ff502caace8e05fd7be3b503a7e1c017", + "shasum": "" + }, + "require": { + "ext-mbstring": "*", + "php": "^8.2", + "symfony/console": "^7.3.6" + }, + "require-dev": { + "illuminate/console": "^11.46.1", + "laravel/pint": "^1.25.1", + "mockery/mockery": "^1.6.12", + "pestphp/pest": "^2.36.0 || ^3.8.4 || ^4.1.3", + "phpstan/phpstan": "^1.12.32", + "phpstan/phpstan-strict-rules": "^1.6.2", + "symfony/var-dumper": "^7.3.5", + "thecodingmachine/phpstan-strict-rules": "^1.0.0" + }, + "type": "library", + "extra": { + "laravel": { + "providers": [ + "Termwind\\Laravel\\TermwindServiceProvider" + ] + }, + "branch-alias": { + "dev-2.x": "2.x-dev" + } + }, + "autoload": { + "files": [ + "src/Functions.php" + ], + "psr-4": { + "Termwind\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nuno Maduro", + "email": "enunomaduro@gmail.com" + } + ], + "description": "Its like Tailwind CSS, but for the console.", + "keywords": [ + "cli", + "console", + "css", + "package", + "php", + "style" + ], + "support": { + "issues": "https://github.com/nunomaduro/termwind/issues", + "source": "https://github.com/nunomaduro/termwind/tree/v2.3.3" + }, + "funding": [ + { + "url": "https://www.paypal.com/paypalme/enunomaduro", + "type": "custom" + }, + { + "url": "https://github.com/nunomaduro", + "type": "github" + }, + { + "url": "https://github.com/xiCO2k", + "type": "github" + } + ], + "time": "2025-11-20T02:34:59+00:00" + }, + { + "name": "phpoffice/phpspreadsheet", + "version": "5.4.0", + "source": { + "type": "git", + "url": "https://github.com/PHPOffice/PhpSpreadsheet.git", + "reference": "48f2fe37d64c2dece0ef71fb2ac55497566782af" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/PHPOffice/PhpSpreadsheet/zipball/48f2fe37d64c2dece0ef71fb2ac55497566782af", + "reference": "48f2fe37d64c2dece0ef71fb2ac55497566782af", + "shasum": "" + }, + "require": { + "composer/pcre": "^1||^2||^3", + "ext-ctype": "*", + "ext-dom": "*", + "ext-fileinfo": "*", + "ext-filter": "*", + "ext-gd": "*", + "ext-iconv": "*", + "ext-libxml": "*", + "ext-mbstring": "*", + "ext-simplexml": "*", + "ext-xml": "*", + "ext-xmlreader": "*", + "ext-xmlwriter": "*", + "ext-zip": "*", + "ext-zlib": "*", + "maennchen/zipstream-php": "^2.1 || ^3.0", + "markbaker/complex": "^3.0", + "markbaker/matrix": "^3.0", + "php": "^8.1", + "psr/simple-cache": "^1.0 || ^2.0 || ^3.0" + }, + "require-dev": { + "dealerdirect/phpcodesniffer-composer-installer": "dev-main", + "dompdf/dompdf": "^2.0 || ^3.0", + "ext-intl": "*", + "friendsofphp/php-cs-fixer": "^3.2", + "mitoteam/jpgraph": "^10.5", + "mpdf/mpdf": "^8.1.1", + "phpcompatibility/php-compatibility": "^9.3", + "phpstan/phpstan": "^1.1 || ^2.0", + "phpstan/phpstan-deprecation-rules": "^1.0 || ^2.0", + "phpstan/phpstan-phpunit": "^1.0 || ^2.0", + "phpunit/phpunit": "^10.5", + "squizlabs/php_codesniffer": "^3.7", + "tecnickcom/tcpdf": "^6.5" + }, + "suggest": { + "dompdf/dompdf": "Option for rendering PDF with PDF Writer", + "ext-intl": "PHP Internationalization Functions, required for NumberFormat Wizard and StringHelper::setLocale()", + "mitoteam/jpgraph": "Option for rendering charts, or including charts with PDF or HTML Writers", + "mpdf/mpdf": "Option for rendering PDF with PDF Writer", + "tecnickcom/tcpdf": "Option for rendering PDF with PDF Writer" + }, + "type": "library", + "autoload": { + "psr-4": { + "PhpOffice\\PhpSpreadsheet\\": "src/PhpSpreadsheet" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Maarten Balliauw", + "homepage": "https://blog.maartenballiauw.be" + }, + { + "name": "Mark Baker", + "homepage": "https://markbakeruk.net" + }, + { + "name": "Franck Lefevre", + "homepage": "https://rootslabs.net" + }, + { + "name": "Erik Tilt" + }, + { + "name": "Adrien Crivelli" + }, + { + "name": "Owen Leibman" + } + ], + "description": "PHPSpreadsheet - Read, Create and Write Spreadsheet documents in PHP - Spreadsheet engine", + "homepage": "https://github.com/PHPOffice/PhpSpreadsheet", + "keywords": [ + "OpenXML", + "excel", + "gnumeric", + "ods", + "php", + "spreadsheet", + "xls", + "xlsx" + ], + "support": { + "issues": "https://github.com/PHPOffice/PhpSpreadsheet/issues", + "source": "https://github.com/PHPOffice/PhpSpreadsheet/tree/5.4.0" + }, + "time": "2026-01-11T04:52:00+00:00" + }, + { + "name": "phpoption/phpoption", + "version": "1.9.5", + "source": { + "type": "git", + "url": "https://github.com/schmittjoh/php-option.git", + "reference": "75365b91986c2405cf5e1e012c5595cd487a98be" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/schmittjoh/php-option/zipball/75365b91986c2405cf5e1e012c5595cd487a98be", + "reference": "75365b91986c2405cf5e1e012c5595cd487a98be", + "shasum": "" + }, + "require": { + "php": "^7.2.5 || ^8.0" + }, + "require-dev": { + "bamarni/composer-bin-plugin": "^1.8.2", + "phpunit/phpunit": "^8.5.44 || ^9.6.25 || ^10.5.53 || ^11.5.34" + }, + "type": "library", + "extra": { + "bamarni-bin": { + "bin-links": true, + "forward-command": false + }, + "branch-alias": { + "dev-master": "1.9-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", + "homepage": "https://github.com/schmittjoh" + }, + { + "name": "Graham Campbell", + "email": "hello@gjcampbell.co.uk", + "homepage": "https://github.com/GrahamCampbell" + } + ], + "description": "Option Type for PHP", + "keywords": [ + "language", + "option", + "php", + "type" + ], + "support": { + "issues": "https://github.com/schmittjoh/php-option/issues", + "source": "https://github.com/schmittjoh/php-option/tree/1.9.5" + }, + "funding": [ + { + "url": "https://github.com/GrahamCampbell", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/phpoption/phpoption", + "type": "tidelift" + } + ], + "time": "2025-12-27T19:41:33+00:00" + }, + { + "name": "psr/cache", + "version": "3.0.0", + "source": { + "type": "git", + "url": "https://github.com/php-fig/cache.git", + "reference": "aa5030cfa5405eccfdcb1083ce040c2cb8d253bf" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/php-fig/cache/zipball/aa5030cfa5405eccfdcb1083ce040c2cb8d253bf", + "reference": "aa5030cfa5405eccfdcb1083ce040c2cb8d253bf", + "shasum": "" + }, + "require": { + "php": ">=8.0.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0.x-dev" + } + }, + "autoload": { + "psr-4": { + "Psr\\Cache\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "PHP-FIG", + "homepage": "https://www.php-fig.org/" + } + ], + "description": "Common interface for caching libraries", + "keywords": [ + "cache", + "psr", + "psr-6" + ], + "support": { + "source": "https://github.com/php-fig/cache/tree/3.0.0" + }, + "time": "2021-02-03T23:26:27+00:00" + }, + { + "name": "psr/clock", + "version": "1.0.0", + "source": { + "type": "git", + "url": "https://github.com/php-fig/clock.git", + "reference": "e41a24703d4560fd0acb709162f73b8adfc3aa0d" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/php-fig/clock/zipball/e41a24703d4560fd0acb709162f73b8adfc3aa0d", + "reference": "e41a24703d4560fd0acb709162f73b8adfc3aa0d", + "shasum": "" + }, + "require": { + "php": "^7.0 || ^8.0" + }, + "type": "library", + "autoload": { + "psr-4": { + "Psr\\Clock\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "PHP-FIG", + "homepage": "https://www.php-fig.org/" + } + ], + "description": "Common interface for reading the clock.", + "homepage": "https://github.com/php-fig/clock", + "keywords": [ + "clock", + "now", + "psr", + "psr-20", + "time" + ], + "support": { + "issues": "https://github.com/php-fig/clock/issues", + "source": "https://github.com/php-fig/clock/tree/1.0.0" + }, + "time": "2022-11-25T14:36:26+00:00" + }, + { + "name": "psr/container", + "version": "2.0.2", + "source": { + "type": "git", + "url": "https://github.com/php-fig/container.git", + "reference": "c71ecc56dfe541dbd90c5360474fbc405f8d5963" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/php-fig/container/zipball/c71ecc56dfe541dbd90c5360474fbc405f8d5963", + "reference": "c71ecc56dfe541dbd90c5360474fbc405f8d5963", + "shasum": "" + }, + "require": { + "php": ">=7.4.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.0.x-dev" + } + }, + "autoload": { + "psr-4": { + "Psr\\Container\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "PHP-FIG", + "homepage": "https://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" + ], + "support": { + "issues": "https://github.com/php-fig/container/issues", + "source": "https://github.com/php-fig/container/tree/2.0.2" + }, + "time": "2021-11-05T16:47:00+00:00" + }, + { + "name": "psr/event-dispatcher", + "version": "1.0.0", + "source": { + "type": "git", + "url": "https://github.com/php-fig/event-dispatcher.git", + "reference": "dbefd12671e8a14ec7f180cab83036ed26714bb0" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/php-fig/event-dispatcher/zipball/dbefd12671e8a14ec7f180cab83036ed26714bb0", + "reference": "dbefd12671e8a14ec7f180cab83036ed26714bb0", + "shasum": "" + }, + "require": { + "php": ">=7.2.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0.x-dev" + } + }, + "autoload": { + "psr-4": { + "Psr\\EventDispatcher\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "PHP-FIG", + "homepage": "http://www.php-fig.org/" + } + ], + "description": "Standard interfaces for event handling.", + "keywords": [ + "events", + "psr", + "psr-14" + ], + "support": { + "issues": "https://github.com/php-fig/event-dispatcher/issues", + "source": "https://github.com/php-fig/event-dispatcher/tree/1.0.0" + }, + "time": "2019-01-08T18:20:26+00:00" + }, + { + "name": "psr/http-client", + "version": "1.0.3", + "source": { + "type": "git", + "url": "https://github.com/php-fig/http-client.git", + "reference": "bb5906edc1c324c9a05aa0873d40117941e5fa90" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/php-fig/http-client/zipball/bb5906edc1c324c9a05aa0873d40117941e5fa90", + "reference": "bb5906edc1c324c9a05aa0873d40117941e5fa90", + "shasum": "" + }, + "require": { + "php": "^7.0 || ^8.0", + "psr/http-message": "^1.0 || ^2.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0.x-dev" + } + }, + "autoload": { + "psr-4": { + "Psr\\Http\\Client\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "PHP-FIG", + "homepage": "https://www.php-fig.org/" + } + ], + "description": "Common interface for HTTP clients", + "homepage": "https://github.com/php-fig/http-client", + "keywords": [ + "http", + "http-client", + "psr", + "psr-18" + ], + "support": { + "source": "https://github.com/php-fig/http-client" + }, + "time": "2023-09-23T14:17:50+00:00" + }, + { + "name": "psr/http-factory", + "version": "1.1.0", + "source": { + "type": "git", + "url": "https://github.com/php-fig/http-factory.git", + "reference": "2b4765fddfe3b508ac62f829e852b1501d3f6e8a" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/php-fig/http-factory/zipball/2b4765fddfe3b508ac62f829e852b1501d3f6e8a", + "reference": "2b4765fddfe3b508ac62f829e852b1501d3f6e8a", + "shasum": "" + }, + "require": { + "php": ">=7.1", + "psr/http-message": "^1.0 || ^2.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0.x-dev" + } + }, + "autoload": { + "psr-4": { + "Psr\\Http\\Message\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "PHP-FIG", + "homepage": "https://www.php-fig.org/" + } + ], + "description": "PSR-17: Common interfaces for PSR-7 HTTP message factories", + "keywords": [ + "factory", + "http", + "message", + "psr", + "psr-17", + "psr-7", + "request", + "response" + ], + "support": { + "source": "https://github.com/php-fig/http-factory" + }, + "time": "2024-04-15T12:06:14+00:00" + }, + { + "name": "psr/http-message", + "version": "2.0", + "source": { + "type": "git", + "url": "https://github.com/php-fig/http-message.git", + "reference": "402d35bcb92c70c026d1a6a9883f06b2ead23d71" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/php-fig/http-message/zipball/402d35bcb92c70c026d1a6a9883f06b2ead23d71", + "reference": "402d35bcb92c70c026d1a6a9883f06b2ead23d71", + "shasum": "" + }, + "require": { + "php": "^7.2 || ^8.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.0.x-dev" + } + }, + "autoload": { + "psr-4": { + "Psr\\Http\\Message\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "PHP-FIG", + "homepage": "https://www.php-fig.org/" + } + ], + "description": "Common interface for HTTP messages", + "homepage": "https://github.com/php-fig/http-message", + "keywords": [ + "http", + "http-message", + "psr", + "psr-7", + "request", + "response" + ], + "support": { + "source": "https://github.com/php-fig/http-message/tree/2.0" + }, + "time": "2023-04-04T09:54:51+00:00" + }, + { + "name": "psr/log", + "version": "3.0.2", + "source": { + "type": "git", + "url": "https://github.com/php-fig/log.git", + "reference": "f16e1d5863e37f8d8c2a01719f5b34baa2b714d3" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/php-fig/log/zipball/f16e1d5863e37f8d8c2a01719f5b34baa2b714d3", + "reference": "f16e1d5863e37f8d8c2a01719f5b34baa2b714d3", + "shasum": "" + }, + "require": { + "php": ">=8.0.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "3.x-dev" + } + }, + "autoload": { + "psr-4": { + "Psr\\Log\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "PHP-FIG", + "homepage": "https://www.php-fig.org/" + } + ], + "description": "Common interface for logging libraries", + "homepage": "https://github.com/php-fig/log", + "keywords": [ + "log", + "psr", + "psr-3" + ], + "support": { + "source": "https://github.com/php-fig/log/tree/3.0.2" + }, + "time": "2024-09-11T13:17:53+00:00" + }, + { + "name": "psr/simple-cache", + "version": "3.0.0", + "source": { + "type": "git", + "url": "https://github.com/php-fig/simple-cache.git", + "reference": "764e0b3939f5ca87cb904f570ef9be2d78a07865" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/php-fig/simple-cache/zipball/764e0b3939f5ca87cb904f570ef9be2d78a07865", + "reference": "764e0b3939f5ca87cb904f570ef9be2d78a07865", + "shasum": "" + }, + "require": { + "php": ">=8.0.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "3.0.x-dev" + } + }, + "autoload": { + "psr-4": { + "Psr\\SimpleCache\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "PHP-FIG", + "homepage": "https://www.php-fig.org/" + } + ], + "description": "Common interfaces for simple caching", + "keywords": [ + "cache", + "caching", + "psr", + "psr-16", + "simple-cache" + ], + "support": { + "source": "https://github.com/php-fig/simple-cache/tree/3.0.0" + }, + "time": "2021-10-29T13:26:27+00:00" + }, + { + "name": "psy/psysh", + "version": "v0.12.18", + "source": { + "type": "git", + "url": "https://github.com/bobthecow/psysh.git", + "reference": "ddff0ac01beddc251786fe70367cd8bbdb258196" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/bobthecow/psysh/zipball/ddff0ac01beddc251786fe70367cd8bbdb258196", + "reference": "ddff0ac01beddc251786fe70367cd8bbdb258196", + "shasum": "" + }, + "require": { + "ext-json": "*", + "ext-tokenizer": "*", + "nikic/php-parser": "^5.0 || ^4.0", + "php": "^8.0 || ^7.4", + "symfony/console": "^8.0 || ^7.0 || ^6.0 || ^5.0 || ^4.0 || ^3.4", + "symfony/var-dumper": "^8.0 || ^7.0 || ^6.0 || ^5.0 || ^4.0 || ^3.4" + }, + "conflict": { + "symfony/console": "4.4.37 || 5.3.14 || 5.3.15 || 5.4.3 || 5.4.4 || 6.0.3 || 6.0.4" + }, + "require-dev": { + "bamarni/composer-bin-plugin": "^1.2", + "composer/class-map-generator": "^1.6" + }, + "suggest": { + "composer/class-map-generator": "Improved tab completion performance with better class discovery.", + "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." + }, + "bin": [ + "bin/psysh" + ], + "type": "library", + "extra": { + "bamarni-bin": { + "bin-links": false, + "forward-command": false + }, + "branch-alias": { + "dev-main": "0.12.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" + } + ], + "description": "An interactive shell for modern PHP.", + "homepage": "https://psysh.org", + "keywords": [ + "REPL", + "console", + "interactive", + "shell" + ], + "support": { + "issues": "https://github.com/bobthecow/psysh/issues", + "source": "https://github.com/bobthecow/psysh/tree/v0.12.18" + }, + "time": "2025-12-17T14:35:46+00:00" + }, + { + "name": "ralouphie/getallheaders", + "version": "3.0.3", + "source": { + "type": "git", + "url": "https://github.com/ralouphie/getallheaders.git", + "reference": "120b605dfeb996808c31b6477290a714d356e822" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/ralouphie/getallheaders/zipball/120b605dfeb996808c31b6477290a714d356e822", + "reference": "120b605dfeb996808c31b6477290a714d356e822", + "shasum": "" + }, + "require": { + "php": ">=5.6" + }, + "require-dev": { + "php-coveralls/php-coveralls": "^2.1", + "phpunit/phpunit": "^5 || ^6.5" + }, + "type": "library", + "autoload": { + "files": [ + "src/getallheaders.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Ralph Khattar", + "email": "ralph.khattar@gmail.com" + } + ], + "description": "A polyfill for getallheaders.", + "support": { + "issues": "https://github.com/ralouphie/getallheaders/issues", + "source": "https://github.com/ralouphie/getallheaders/tree/develop" + }, + "time": "2019-03-08T08:55:37+00:00" + }, + { + "name": "ramsey/collection", + "version": "2.1.1", + "source": { + "type": "git", + "url": "https://github.com/ramsey/collection.git", + "reference": "344572933ad0181accbf4ba763e85a0306a8c5e2" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/ramsey/collection/zipball/344572933ad0181accbf4ba763e85a0306a8c5e2", + "reference": "344572933ad0181accbf4ba763e85a0306a8c5e2", + "shasum": "" + }, + "require": { + "php": "^8.1" + }, + "require-dev": { + "captainhook/plugin-composer": "^5.3", + "ergebnis/composer-normalize": "^2.45", + "fakerphp/faker": "^1.24", + "hamcrest/hamcrest-php": "^2.0", + "jangregor/phpstan-prophecy": "^2.1", + "mockery/mockery": "^1.6", + "php-parallel-lint/php-console-highlighter": "^1.0", + "php-parallel-lint/php-parallel-lint": "^1.4", + "phpspec/prophecy-phpunit": "^2.3", + "phpstan/extension-installer": "^1.4", + "phpstan/phpstan": "^2.1", + "phpstan/phpstan-mockery": "^2.0", + "phpstan/phpstan-phpunit": "^2.0", + "phpunit/phpunit": "^10.5", + "ramsey/coding-standard": "^2.3", + "ramsey/conventional-commits": "^1.6", + "roave/security-advisories": "dev-latest" + }, + "type": "library", + "extra": { + "captainhook": { + "force-install": true + }, + "ramsey/conventional-commits": { + "configFile": "conventional-commits.json" + } + }, + "autoload": { + "psr-4": { + "Ramsey\\Collection\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Ben Ramsey", + "email": "ben@benramsey.com", + "homepage": "https://benramsey.com" + } + ], + "description": "A PHP library for representing and manipulating collections.", + "keywords": [ + "array", + "collection", + "hash", + "map", + "queue", + "set" + ], + "support": { + "issues": "https://github.com/ramsey/collection/issues", + "source": "https://github.com/ramsey/collection/tree/2.1.1" + }, + "time": "2025-03-22T05:38:12+00:00" + }, + { + "name": "ramsey/uuid", + "version": "4.9.2", + "source": { + "type": "git", + "url": "https://github.com/ramsey/uuid.git", + "reference": "8429c78ca35a09f27565311b98101e2826affde0" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/ramsey/uuid/zipball/8429c78ca35a09f27565311b98101e2826affde0", + "reference": "8429c78ca35a09f27565311b98101e2826affde0", + "shasum": "" + }, + "require": { + "brick/math": "^0.8.16 || ^0.9 || ^0.10 || ^0.11 || ^0.12 || ^0.13 || ^0.14", + "php": "^8.0", + "ramsey/collection": "^1.2 || ^2.0" + }, + "replace": { + "rhumsaa/uuid": "self.version" + }, + "require-dev": { + "captainhook/captainhook": "^5.25", + "captainhook/plugin-composer": "^5.3", + "dealerdirect/phpcodesniffer-composer-installer": "^1.0", + "ergebnis/composer-normalize": "^2.47", + "mockery/mockery": "^1.6", + "paragonie/random-lib": "^2", + "php-mock/php-mock": "^2.6", + "php-mock/php-mock-mockery": "^1.5", + "php-parallel-lint/php-parallel-lint": "^1.4.0", + "phpbench/phpbench": "^1.2.14", + "phpstan/extension-installer": "^1.4", + "phpstan/phpstan": "^2.1", + "phpstan/phpstan-mockery": "^2.0", + "phpstan/phpstan-phpunit": "^2.0", + "phpunit/phpunit": "^9.6", + "slevomat/coding-standard": "^8.18", + "squizlabs/php_codesniffer": "^3.13" + }, + "suggest": { + "ext-bcmath": "Enables faster math with arbitrary-precision integers using BCMath.", + "ext-gmp": "Enables faster math with arbitrary-precision integers using GMP.", + "ext-uuid": "Enables the use of PeclUuidTimeGenerator and PeclUuidRandomGenerator.", + "paragonie/random-lib": "Provides RandomLib for use with the RandomLibAdapter", + "ramsey/uuid-doctrine": "Allows the use of Ramsey\\Uuid\\Uuid as Doctrine field type." + }, + "type": "library", + "extra": { + "captainhook": { + "force-install": true + } + }, + "autoload": { + "files": [ + "src/functions.php" + ], + "psr-4": { + "Ramsey\\Uuid\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "description": "A PHP library for generating and working with universally unique identifiers (UUIDs).", + "keywords": [ + "guid", + "identifier", + "uuid" + ], + "support": { + "issues": "https://github.com/ramsey/uuid/issues", + "source": "https://github.com/ramsey/uuid/tree/4.9.2" + }, + "time": "2025-12-14T04:43:48+00:00" + }, + { + "name": "symfony/clock", + "version": "v7.4.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/clock.git", + "reference": "9169f24776edde469914c1e7a1442a50f7a4e110" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/clock/zipball/9169f24776edde469914c1e7a1442a50f7a4e110", + "reference": "9169f24776edde469914c1e7a1442a50f7a4e110", + "shasum": "" + }, + "require": { + "php": ">=8.2", + "psr/clock": "^1.0", + "symfony/polyfill-php83": "^1.28" + }, + "provide": { + "psr/clock-implementation": "1.0" + }, + "type": "library", + "autoload": { + "files": [ + "Resources/now.php" + ], + "psr-4": { + "Symfony\\Component\\Clock\\": "" + }, + "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": "Decouples applications from the system clock", + "homepage": "https://symfony.com", + "keywords": [ + "clock", + "psr20", + "time" + ], + "support": { + "source": "https://github.com/symfony/clock/tree/v7.4.0" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://github.com/nicolas-grekas", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2025-11-12T15:39:26+00:00" + }, + { + "name": "symfony/console", + "version": "v7.4.3", + "source": { + "type": "git", + "url": "https://github.com/symfony/console.git", + "reference": "732a9ca6cd9dfd940c639062d5edbde2f6727fb6" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/console/zipball/732a9ca6cd9dfd940c639062d5edbde2f6727fb6", + "reference": "732a9ca6cd9dfd940c639062d5edbde2f6727fb6", + "shasum": "" + }, + "require": { + "php": ">=8.2", + "symfony/deprecation-contracts": "^2.5|^3", + "symfony/polyfill-mbstring": "~1.0", + "symfony/service-contracts": "^2.5|^3", + "symfony/string": "^7.2|^8.0" + }, + "conflict": { + "symfony/dependency-injection": "<6.4", + "symfony/dotenv": "<6.4", + "symfony/event-dispatcher": "<6.4", + "symfony/lock": "<6.4", + "symfony/process": "<6.4" + }, + "provide": { + "psr/log-implementation": "1.0|2.0|3.0" + }, + "require-dev": { + "psr/log": "^1|^2|^3", + "symfony/config": "^6.4|^7.0|^8.0", + "symfony/dependency-injection": "^6.4|^7.0|^8.0", + "symfony/event-dispatcher": "^6.4|^7.0|^8.0", + "symfony/http-foundation": "^6.4|^7.0|^8.0", + "symfony/http-kernel": "^6.4|^7.0|^8.0", + "symfony/lock": "^6.4|^7.0|^8.0", + "symfony/messenger": "^6.4|^7.0|^8.0", + "symfony/process": "^6.4|^7.0|^8.0", + "symfony/stopwatch": "^6.4|^7.0|^8.0", + "symfony/var-dumper": "^6.4|^7.0|^8.0" + }, + "type": "library", + "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": "Eases the creation of beautiful and testable command line interfaces", + "homepage": "https://symfony.com", + "keywords": [ + "cli", + "command-line", + "console", + "terminal" + ], + "support": { + "source": "https://github.com/symfony/console/tree/v7.4.3" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://github.com/nicolas-grekas", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2025-12-23T14:50:43+00:00" + }, + { + "name": "symfony/css-selector", + "version": "v7.4.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/css-selector.git", + "reference": "ab862f478513e7ca2fe9ec117a6f01a8da6e1135" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/css-selector/zipball/ab862f478513e7ca2fe9ec117a6f01a8da6e1135", + "reference": "ab862f478513e7ca2fe9ec117a6f01a8da6e1135", + "shasum": "" + }, + "require": { + "php": ">=8.2" + }, + "type": "library", + "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": "Converts CSS selectors to XPath expressions", + "homepage": "https://symfony.com", + "support": { + "source": "https://github.com/symfony/css-selector/tree/v7.4.0" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://github.com/nicolas-grekas", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2025-10-30T13:39:42+00:00" + }, + { + "name": "symfony/deprecation-contracts", + "version": "v3.6.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/deprecation-contracts.git", + "reference": "63afe740e99a13ba87ec199bb07bbdee937a5b62" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/deprecation-contracts/zipball/63afe740e99a13ba87ec199bb07bbdee937a5b62", + "reference": "63afe740e99a13ba87ec199bb07bbdee937a5b62", + "shasum": "" + }, + "require": { + "php": ">=8.1" + }, + "type": "library", + "extra": { + "thanks": { + "url": "https://github.com/symfony/contracts", + "name": "symfony/contracts" + }, + "branch-alias": { + "dev-main": "3.6-dev" + } + }, + "autoload": { + "files": [ + "function.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": "A generic function and convention to trigger deprecation notices", + "homepage": "https://symfony.com", + "support": { + "source": "https://github.com/symfony/deprecation-contracts/tree/v3.6.0" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2024-09-25T14:21:43+00:00" + }, + { + "name": "symfony/error-handler", + "version": "v7.4.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/error-handler.git", + "reference": "48be2b0653594eea32dcef130cca1c811dcf25c2" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/error-handler/zipball/48be2b0653594eea32dcef130cca1c811dcf25c2", + "reference": "48be2b0653594eea32dcef130cca1c811dcf25c2", + "shasum": "" + }, + "require": { + "php": ">=8.2", + "psr/log": "^1|^2|^3", + "symfony/polyfill-php85": "^1.32", + "symfony/var-dumper": "^6.4|^7.0|^8.0" + }, + "conflict": { + "symfony/deprecation-contracts": "<2.5", + "symfony/http-kernel": "<6.4" + }, + "require-dev": { + "symfony/console": "^6.4|^7.0|^8.0", + "symfony/deprecation-contracts": "^2.5|^3", + "symfony/http-kernel": "^6.4|^7.0|^8.0", + "symfony/serializer": "^6.4|^7.0|^8.0", + "symfony/webpack-encore-bundle": "^1.0|^2.0" + }, + "bin": [ + "Resources/bin/patch-type-declarations" + ], + "type": "library", + "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": "Provides tools to manage errors and ease debugging PHP code", + "homepage": "https://symfony.com", + "support": { + "source": "https://github.com/symfony/error-handler/tree/v7.4.0" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://github.com/nicolas-grekas", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2025-11-05T14:29:59+00:00" + }, + { + "name": "symfony/event-dispatcher", + "version": "v7.4.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/event-dispatcher.git", + "reference": "9dddcddff1ef974ad87b3708e4b442dc38b2261d" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/9dddcddff1ef974ad87b3708e4b442dc38b2261d", + "reference": "9dddcddff1ef974ad87b3708e4b442dc38b2261d", + "shasum": "" + }, + "require": { + "php": ">=8.2", + "symfony/event-dispatcher-contracts": "^2.5|^3" + }, + "conflict": { + "symfony/dependency-injection": "<6.4", + "symfony/service-contracts": "<2.5" + }, + "provide": { + "psr/event-dispatcher-implementation": "1.0", + "symfony/event-dispatcher-implementation": "2.0|3.0" + }, + "require-dev": { + "psr/log": "^1|^2|^3", + "symfony/config": "^6.4|^7.0|^8.0", + "symfony/dependency-injection": "^6.4|^7.0|^8.0", + "symfony/error-handler": "^6.4|^7.0|^8.0", + "symfony/expression-language": "^6.4|^7.0|^8.0", + "symfony/framework-bundle": "^6.4|^7.0|^8.0", + "symfony/http-foundation": "^6.4|^7.0|^8.0", + "symfony/service-contracts": "^2.5|^3", + "symfony/stopwatch": "^6.4|^7.0|^8.0" + }, + "type": "library", + "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": "Provides tools that allow your application components to communicate with each other by dispatching events and listening to them", + "homepage": "https://symfony.com", + "support": { + "source": "https://github.com/symfony/event-dispatcher/tree/v7.4.0" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://github.com/nicolas-grekas", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2025-10-28T09:38:46+00:00" + }, + { + "name": "symfony/event-dispatcher-contracts", + "version": "v3.6.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/event-dispatcher-contracts.git", + "reference": "59eb412e93815df44f05f342958efa9f46b1e586" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/event-dispatcher-contracts/zipball/59eb412e93815df44f05f342958efa9f46b1e586", + "reference": "59eb412e93815df44f05f342958efa9f46b1e586", + "shasum": "" + }, + "require": { + "php": ">=8.1", + "psr/event-dispatcher": "^1" + }, + "type": "library", + "extra": { + "thanks": { + "url": "https://github.com/symfony/contracts", + "name": "symfony/contracts" + }, + "branch-alias": { + "dev-main": "3.6-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" + ], + "support": { + "source": "https://github.com/symfony/event-dispatcher-contracts/tree/v3.6.0" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2024-09-25T14:21:43+00:00" + }, + { + "name": "symfony/finder", + "version": "v7.4.3", + "source": { + "type": "git", + "url": "https://github.com/symfony/finder.git", + "reference": "fffe05569336549b20a1be64250b40516d6e8d06" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/finder/zipball/fffe05569336549b20a1be64250b40516d6e8d06", + "reference": "fffe05569336549b20a1be64250b40516d6e8d06", + "shasum": "" + }, + "require": { + "php": ">=8.2" + }, + "require-dev": { + "symfony/filesystem": "^6.4|^7.0|^8.0" + }, + "type": "library", + "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": "Finds files and directories via an intuitive fluent interface", + "homepage": "https://symfony.com", + "support": { + "source": "https://github.com/symfony/finder/tree/v7.4.3" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://github.com/nicolas-grekas", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2025-12-23T14:50:43+00:00" + }, + { + "name": "symfony/http-foundation", + "version": "v7.4.3", + "source": { + "type": "git", + "url": "https://github.com/symfony/http-foundation.git", + "reference": "a70c745d4cea48dbd609f4075e5f5cbce453bd52" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/http-foundation/zipball/a70c745d4cea48dbd609f4075e5f5cbce453bd52", + "reference": "a70c745d4cea48dbd609f4075e5f5cbce453bd52", + "shasum": "" + }, + "require": { + "php": ">=8.2", + "symfony/deprecation-contracts": "^2.5|^3", + "symfony/polyfill-mbstring": "^1.1" + }, + "conflict": { + "doctrine/dbal": "<3.6", + "symfony/cache": "<6.4.12|>=7.0,<7.1.5" + }, + "require-dev": { + "doctrine/dbal": "^3.6|^4", + "predis/predis": "^1.1|^2.0", + "symfony/cache": "^6.4.12|^7.1.5|^8.0", + "symfony/clock": "^6.4|^7.0|^8.0", + "symfony/dependency-injection": "^6.4|^7.0|^8.0", + "symfony/expression-language": "^6.4|^7.0|^8.0", + "symfony/http-kernel": "^6.4|^7.0|^8.0", + "symfony/mime": "^6.4|^7.0|^8.0", + "symfony/rate-limiter": "^6.4|^7.0|^8.0" + }, + "type": "library", + "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": "Defines an object-oriented layer for the HTTP specification", + "homepage": "https://symfony.com", + "support": { + "source": "https://github.com/symfony/http-foundation/tree/v7.4.3" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://github.com/nicolas-grekas", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2025-12-23T14:23:49+00:00" + }, + { + "name": "symfony/http-kernel", + "version": "v7.4.3", + "source": { + "type": "git", + "url": "https://github.com/symfony/http-kernel.git", + "reference": "885211d4bed3f857b8c964011923528a55702aa5" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/http-kernel/zipball/885211d4bed3f857b8c964011923528a55702aa5", + "reference": "885211d4bed3f857b8c964011923528a55702aa5", + "shasum": "" + }, + "require": { + "php": ">=8.2", + "psr/log": "^1|^2|^3", + "symfony/deprecation-contracts": "^2.5|^3", + "symfony/error-handler": "^6.4|^7.0|^8.0", + "symfony/event-dispatcher": "^7.3|^8.0", + "symfony/http-foundation": "^7.4|^8.0", + "symfony/polyfill-ctype": "^1.8" + }, + "conflict": { + "symfony/browser-kit": "<6.4", + "symfony/cache": "<6.4", + "symfony/config": "<6.4", + "symfony/console": "<6.4", + "symfony/dependency-injection": "<6.4", + "symfony/doctrine-bridge": "<6.4", + "symfony/flex": "<2.10", + "symfony/form": "<6.4", + "symfony/http-client": "<6.4", + "symfony/http-client-contracts": "<2.5", + "symfony/mailer": "<6.4", + "symfony/messenger": "<6.4", + "symfony/translation": "<6.4", + "symfony/translation-contracts": "<2.5", + "symfony/twig-bridge": "<6.4", + "symfony/validator": "<6.4", + "symfony/var-dumper": "<6.4", + "twig/twig": "<3.12" + }, + "provide": { + "psr/log-implementation": "1.0|2.0|3.0" + }, + "require-dev": { + "psr/cache": "^1.0|^2.0|^3.0", + "symfony/browser-kit": "^6.4|^7.0|^8.0", + "symfony/clock": "^6.4|^7.0|^8.0", + "symfony/config": "^6.4|^7.0|^8.0", + "symfony/console": "^6.4|^7.0|^8.0", + "symfony/css-selector": "^6.4|^7.0|^8.0", + "symfony/dependency-injection": "^6.4|^7.0|^8.0", + "symfony/dom-crawler": "^6.4|^7.0|^8.0", + "symfony/expression-language": "^6.4|^7.0|^8.0", + "symfony/finder": "^6.4|^7.0|^8.0", + "symfony/http-client-contracts": "^2.5|^3", + "symfony/process": "^6.4|^7.0|^8.0", + "symfony/property-access": "^7.1|^8.0", + "symfony/routing": "^6.4|^7.0|^8.0", + "symfony/serializer": "^7.1|^8.0", + "symfony/stopwatch": "^6.4|^7.0|^8.0", + "symfony/translation": "^6.4|^7.0|^8.0", + "symfony/translation-contracts": "^2.5|^3", + "symfony/uid": "^6.4|^7.0|^8.0", + "symfony/validator": "^6.4|^7.0|^8.0", + "symfony/var-dumper": "^6.4|^7.0|^8.0", + "symfony/var-exporter": "^6.4|^7.0|^8.0", + "twig/twig": "^3.12" + }, + "type": "library", + "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": "Provides a structured process for converting a Request into a Response", + "homepage": "https://symfony.com", + "support": { + "source": "https://github.com/symfony/http-kernel/tree/v7.4.3" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://github.com/nicolas-grekas", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2025-12-31T08:43:57+00:00" + }, + { + "name": "symfony/mailer", + "version": "v7.4.3", + "source": { + "type": "git", + "url": "https://github.com/symfony/mailer.git", + "reference": "e472d35e230108231ccb7f51eb6b2100cac02ee4" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/mailer/zipball/e472d35e230108231ccb7f51eb6b2100cac02ee4", + "reference": "e472d35e230108231ccb7f51eb6b2100cac02ee4", + "shasum": "" + }, + "require": { + "egulias/email-validator": "^2.1.10|^3|^4", + "php": ">=8.2", + "psr/event-dispatcher": "^1", + "psr/log": "^1|^2|^3", + "symfony/event-dispatcher": "^6.4|^7.0|^8.0", + "symfony/mime": "^7.2|^8.0", + "symfony/service-contracts": "^2.5|^3" + }, + "conflict": { + "symfony/http-client-contracts": "<2.5", + "symfony/http-kernel": "<6.4", + "symfony/messenger": "<6.4", + "symfony/mime": "<6.4", + "symfony/twig-bridge": "<6.4" + }, + "require-dev": { + "symfony/console": "^6.4|^7.0|^8.0", + "symfony/http-client": "^6.4|^7.0|^8.0", + "symfony/messenger": "^6.4|^7.0|^8.0", + "symfony/twig-bridge": "^6.4|^7.0|^8.0" + }, + "type": "library", + "autoload": { + "psr-4": { + "Symfony\\Component\\Mailer\\": "" + }, + "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": "Helps sending emails", + "homepage": "https://symfony.com", + "support": { + "source": "https://github.com/symfony/mailer/tree/v7.4.3" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://github.com/nicolas-grekas", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2025-12-16T08:02:06+00:00" + }, + { + "name": "symfony/mime", + "version": "v7.4.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/mime.git", + "reference": "bdb02729471be5d047a3ac4a69068748f1a6be7a" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/mime/zipball/bdb02729471be5d047a3ac4a69068748f1a6be7a", + "reference": "bdb02729471be5d047a3ac4a69068748f1a6be7a", + "shasum": "" + }, + "require": { + "php": ">=8.2", + "symfony/deprecation-contracts": "^2.5|^3", + "symfony/polyfill-intl-idn": "^1.10", + "symfony/polyfill-mbstring": "^1.0" + }, + "conflict": { + "egulias/email-validator": "~3.0.0", + "phpdocumentor/reflection-docblock": "<3.2.2", + "phpdocumentor/type-resolver": "<1.4.0", + "symfony/mailer": "<6.4", + "symfony/serializer": "<6.4.3|>7.0,<7.0.3" + }, + "require-dev": { + "egulias/email-validator": "^2.1.10|^3.1|^4", + "league/html-to-markdown": "^5.0", + "phpdocumentor/reflection-docblock": "^3.0|^4.0|^5.0", + "symfony/dependency-injection": "^6.4|^7.0|^8.0", + "symfony/process": "^6.4|^7.0|^8.0", + "symfony/property-access": "^6.4|^7.0|^8.0", + "symfony/property-info": "^6.4|^7.0|^8.0", + "symfony/serializer": "^6.4.3|^7.0.3|^8.0" + }, + "type": "library", + "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": "Allows manipulating MIME messages", + "homepage": "https://symfony.com", + "keywords": [ + "mime", + "mime-type" + ], + "support": { + "source": "https://github.com/symfony/mime/tree/v7.4.0" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://github.com/nicolas-grekas", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2025-11-16T10:14:42+00:00" + }, + { + "name": "symfony/polyfill-ctype", + "version": "v1.33.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/polyfill-ctype.git", + "reference": "a3cc8b044a6ea513310cbd48ef7333b384945638" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/polyfill-ctype/zipball/a3cc8b044a6ea513310cbd48ef7333b384945638", + "reference": "a3cc8b044a6ea513310cbd48ef7333b384945638", + "shasum": "" + }, + "require": { + "php": ">=7.2" + }, + "provide": { + "ext-ctype": "*" + }, + "suggest": { + "ext-ctype": "For best performance" + }, + "type": "library", + "extra": { + "thanks": { + "url": "https://github.com/symfony/polyfill", + "name": "symfony/polyfill" + } + }, + "autoload": { + "files": [ + "bootstrap.php" + ], + "psr-4": { + "Symfony\\Polyfill\\Ctype\\": "" + } + }, + "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" + ], + "support": { + "source": "https://github.com/symfony/polyfill-ctype/tree/v1.33.0" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://github.com/nicolas-grekas", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2024-09-09T11:45:10+00:00" + }, + { + "name": "symfony/polyfill-intl-grapheme", + "version": "v1.33.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/polyfill-intl-grapheme.git", + "reference": "380872130d3a5dd3ace2f4010d95125fde5d5c70" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/polyfill-intl-grapheme/zipball/380872130d3a5dd3ace2f4010d95125fde5d5c70", + "reference": "380872130d3a5dd3ace2f4010d95125fde5d5c70", + "shasum": "" + }, + "require": { + "php": ">=7.2" + }, + "suggest": { + "ext-intl": "For best performance" + }, + "type": "library", + "extra": { + "thanks": { + "url": "https://github.com/symfony/polyfill", + "name": "symfony/polyfill" + } + }, + "autoload": { + "files": [ + "bootstrap.php" + ], + "psr-4": { + "Symfony\\Polyfill\\Intl\\Grapheme\\": "" + } + }, + "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 intl's grapheme_* functions", + "homepage": "https://symfony.com", + "keywords": [ + "compatibility", + "grapheme", + "intl", + "polyfill", + "portable", + "shim" + ], + "support": { + "source": "https://github.com/symfony/polyfill-intl-grapheme/tree/v1.33.0" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://github.com/nicolas-grekas", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2025-06-27T09:58:17+00:00" + }, + { + "name": "symfony/polyfill-intl-idn", + "version": "v1.33.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/polyfill-intl-idn.git", + "reference": "9614ac4d8061dc257ecc64cba1b140873dce8ad3" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/polyfill-intl-idn/zipball/9614ac4d8061dc257ecc64cba1b140873dce8ad3", + "reference": "9614ac4d8061dc257ecc64cba1b140873dce8ad3", + "shasum": "" + }, + "require": { + "php": ">=7.2", + "symfony/polyfill-intl-normalizer": "^1.10" + }, + "suggest": { + "ext-intl": "For best performance" + }, + "type": "library", + "extra": { + "thanks": { + "url": "https://github.com/symfony/polyfill", + "name": "symfony/polyfill" + } + }, + "autoload": { + "files": [ + "bootstrap.php" + ], + "psr-4": { + "Symfony\\Polyfill\\Intl\\Idn\\": "" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Laurent Bassin", + "email": "laurent@bassin.info" + }, + { + "name": "Trevor Rowbotham", + "email": "trevor.rowbotham@pm.me" + }, + { + "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" + ], + "support": { + "source": "https://github.com/symfony/polyfill-intl-idn/tree/v1.33.0" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://github.com/nicolas-grekas", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2024-09-10T14:38:51+00:00" + }, + { + "name": "symfony/polyfill-intl-normalizer", + "version": "v1.33.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/polyfill-intl-normalizer.git", + "reference": "3833d7255cc303546435cb650316bff708a1c75c" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/polyfill-intl-normalizer/zipball/3833d7255cc303546435cb650316bff708a1c75c", + "reference": "3833d7255cc303546435cb650316bff708a1c75c", + "shasum": "" + }, + "require": { + "php": ">=7.2" + }, + "suggest": { + "ext-intl": "For best performance" + }, + "type": "library", + "extra": { + "thanks": { + "url": "https://github.com/symfony/polyfill", + "name": "symfony/polyfill" + } + }, + "autoload": { + "files": [ + "bootstrap.php" + ], + "psr-4": { + "Symfony\\Polyfill\\Intl\\Normalizer\\": "" + }, + "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 for intl's Normalizer class and related functions", + "homepage": "https://symfony.com", + "keywords": [ + "compatibility", + "intl", + "normalizer", + "polyfill", + "portable", + "shim" + ], + "support": { + "source": "https://github.com/symfony/polyfill-intl-normalizer/tree/v1.33.0" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://github.com/nicolas-grekas", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2024-09-09T11:45:10+00:00" + }, + { + "name": "symfony/polyfill-mbstring", + "version": "v1.33.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/polyfill-mbstring.git", + "reference": "6d857f4d76bd4b343eac26d6b539585d2bc56493" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/6d857f4d76bd4b343eac26d6b539585d2bc56493", + "reference": "6d857f4d76bd4b343eac26d6b539585d2bc56493", + "shasum": "" + }, + "require": { + "ext-iconv": "*", + "php": ">=7.2" + }, + "provide": { + "ext-mbstring": "*" + }, + "suggest": { + "ext-mbstring": "For best performance" + }, + "type": "library", + "extra": { + "thanks": { + "url": "https://github.com/symfony/polyfill", + "name": "symfony/polyfill" + } + }, + "autoload": { + "files": [ + "bootstrap.php" + ], + "psr-4": { + "Symfony\\Polyfill\\Mbstring\\": "" + } + }, + "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" + ], + "support": { + "source": "https://github.com/symfony/polyfill-mbstring/tree/v1.33.0" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://github.com/nicolas-grekas", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2024-12-23T08:48:59+00:00" + }, + { + "name": "symfony/polyfill-php80", + "version": "v1.33.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/polyfill-php80.git", + "reference": "0cc9dd0f17f61d8131e7df6b84bd344899fe2608" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/polyfill-php80/zipball/0cc9dd0f17f61d8131e7df6b84bd344899fe2608", + "reference": "0cc9dd0f17f61d8131e7df6b84bd344899fe2608", + "shasum": "" + }, + "require": { + "php": ">=7.2" + }, + "type": "library", + "extra": { + "thanks": { + "url": "https://github.com/symfony/polyfill", + "name": "symfony/polyfill" + } + }, + "autoload": { + "files": [ + "bootstrap.php" + ], + "psr-4": { + "Symfony\\Polyfill\\Php80\\": "" + }, + "classmap": [ + "Resources/stubs" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Ion Bazan", + "email": "ion.bazan@gmail.com" + }, + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony polyfill backporting some PHP 8.0+ features to lower PHP versions", + "homepage": "https://symfony.com", + "keywords": [ + "compatibility", + "polyfill", + "portable", + "shim" + ], + "support": { + "source": "https://github.com/symfony/polyfill-php80/tree/v1.33.0" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://github.com/nicolas-grekas", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2025-01-02T08:10:11+00:00" + }, + { + "name": "symfony/polyfill-php83", + "version": "v1.33.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/polyfill-php83.git", + "reference": "17f6f9a6b1735c0f163024d959f700cfbc5155e5" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/polyfill-php83/zipball/17f6f9a6b1735c0f163024d959f700cfbc5155e5", + "reference": "17f6f9a6b1735c0f163024d959f700cfbc5155e5", + "shasum": "" + }, + "require": { + "php": ">=7.2" + }, + "type": "library", + "extra": { + "thanks": { + "url": "https://github.com/symfony/polyfill", + "name": "symfony/polyfill" + } + }, + "autoload": { + "files": [ + "bootstrap.php" + ], + "psr-4": { + "Symfony\\Polyfill\\Php83\\": "" + }, + "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 8.3+ features to lower PHP versions", + "homepage": "https://symfony.com", + "keywords": [ + "compatibility", + "polyfill", + "portable", + "shim" + ], + "support": { + "source": "https://github.com/symfony/polyfill-php83/tree/v1.33.0" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://github.com/nicolas-grekas", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2025-07-08T02:45:35+00:00" + }, + { + "name": "symfony/polyfill-php84", + "version": "v1.33.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/polyfill-php84.git", + "reference": "d8ced4d875142b6a7426000426b8abc631d6b191" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/polyfill-php84/zipball/d8ced4d875142b6a7426000426b8abc631d6b191", + "reference": "d8ced4d875142b6a7426000426b8abc631d6b191", + "shasum": "" + }, + "require": { + "php": ">=7.2" + }, + "type": "library", + "extra": { + "thanks": { + "url": "https://github.com/symfony/polyfill", + "name": "symfony/polyfill" + } + }, + "autoload": { + "files": [ + "bootstrap.php" + ], + "psr-4": { + "Symfony\\Polyfill\\Php84\\": "" + }, + "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 8.4+ features to lower PHP versions", + "homepage": "https://symfony.com", + "keywords": [ + "compatibility", + "polyfill", + "portable", + "shim" + ], + "support": { + "source": "https://github.com/symfony/polyfill-php84/tree/v1.33.0" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://github.com/nicolas-grekas", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2025-06-24T13:30:11+00:00" + }, + { + "name": "symfony/polyfill-php85", + "version": "v1.33.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/polyfill-php85.git", + "reference": "d4e5fcd4ab3d998ab16c0db48e6cbb9a01993f91" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/polyfill-php85/zipball/d4e5fcd4ab3d998ab16c0db48e6cbb9a01993f91", + "reference": "d4e5fcd4ab3d998ab16c0db48e6cbb9a01993f91", + "shasum": "" + }, + "require": { + "php": ">=7.2" + }, + "type": "library", + "extra": { + "thanks": { + "url": "https://github.com/symfony/polyfill", + "name": "symfony/polyfill" + } + }, + "autoload": { + "files": [ + "bootstrap.php" + ], + "psr-4": { + "Symfony\\Polyfill\\Php85\\": "" + }, + "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 8.5+ features to lower PHP versions", + "homepage": "https://symfony.com", + "keywords": [ + "compatibility", + "polyfill", + "portable", + "shim" + ], + "support": { + "source": "https://github.com/symfony/polyfill-php85/tree/v1.33.0" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://github.com/nicolas-grekas", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2025-06-23T16:12:55+00:00" + }, + { + "name": "symfony/polyfill-uuid", + "version": "v1.33.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/polyfill-uuid.git", + "reference": "21533be36c24be3f4b1669c4725c7d1d2bab4ae2" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/polyfill-uuid/zipball/21533be36c24be3f4b1669c4725c7d1d2bab4ae2", + "reference": "21533be36c24be3f4b1669c4725c7d1d2bab4ae2", + "shasum": "" + }, + "require": { + "php": ">=7.2" + }, + "provide": { + "ext-uuid": "*" + }, + "suggest": { + "ext-uuid": "For best performance" + }, + "type": "library", + "extra": { + "thanks": { + "url": "https://github.com/symfony/polyfill", + "name": "symfony/polyfill" + } + }, + "autoload": { + "files": [ + "bootstrap.php" + ], + "psr-4": { + "Symfony\\Polyfill\\Uuid\\": "" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Grégoire Pineau", + "email": "lyrixx@lyrixx.info" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony polyfill for uuid functions", + "homepage": "https://symfony.com", + "keywords": [ + "compatibility", + "polyfill", + "portable", + "uuid" + ], + "support": { + "source": "https://github.com/symfony/polyfill-uuid/tree/v1.33.0" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://github.com/nicolas-grekas", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2024-09-09T11:45:10+00:00" + }, + { + "name": "symfony/process", + "version": "v7.4.3", + "source": { + "type": "git", + "url": "https://github.com/symfony/process.git", + "reference": "2f8e1a6cdf590ca63715da4d3a7a3327404a523f" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/process/zipball/2f8e1a6cdf590ca63715da4d3a7a3327404a523f", + "reference": "2f8e1a6cdf590ca63715da4d3a7a3327404a523f", + "shasum": "" + }, + "require": { + "php": ">=8.2" + }, + "type": "library", + "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": "Executes commands in sub-processes", + "homepage": "https://symfony.com", + "support": { + "source": "https://github.com/symfony/process/tree/v7.4.3" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://github.com/nicolas-grekas", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2025-12-19T10:00:43+00:00" + }, + { + "name": "symfony/routing", + "version": "v7.4.3", + "source": { + "type": "git", + "url": "https://github.com/symfony/routing.git", + "reference": "5d3fd7adf8896c2fdb54e2f0f35b1bcbd9e45090" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/routing/zipball/5d3fd7adf8896c2fdb54e2f0f35b1bcbd9e45090", + "reference": "5d3fd7adf8896c2fdb54e2f0f35b1bcbd9e45090", + "shasum": "" + }, + "require": { + "php": ">=8.2", + "symfony/deprecation-contracts": "^2.5|^3" + }, + "conflict": { + "symfony/config": "<6.4", + "symfony/dependency-injection": "<6.4", + "symfony/yaml": "<6.4" + }, + "require-dev": { + "psr/log": "^1|^2|^3", + "symfony/config": "^6.4|^7.0|^8.0", + "symfony/dependency-injection": "^6.4|^7.0|^8.0", + "symfony/expression-language": "^6.4|^7.0|^8.0", + "symfony/http-foundation": "^6.4|^7.0|^8.0", + "symfony/yaml": "^6.4|^7.0|^8.0" + }, + "type": "library", + "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": "Maps an HTTP request to a set of configuration variables", + "homepage": "https://symfony.com", + "keywords": [ + "router", + "routing", + "uri", + "url" + ], + "support": { + "source": "https://github.com/symfony/routing/tree/v7.4.3" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://github.com/nicolas-grekas", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2025-12-19T10:00:43+00:00" + }, + { + "name": "symfony/service-contracts", + "version": "v3.6.1", + "source": { + "type": "git", + "url": "https://github.com/symfony/service-contracts.git", + "reference": "45112560a3ba2d715666a509a0bc9521d10b6c43" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/service-contracts/zipball/45112560a3ba2d715666a509a0bc9521d10b6c43", + "reference": "45112560a3ba2d715666a509a0bc9521d10b6c43", + "shasum": "" + }, + "require": { + "php": ">=8.1", + "psr/container": "^1.1|^2.0", + "symfony/deprecation-contracts": "^2.5|^3" + }, + "conflict": { + "ext-psr": "<1.1|>=2" + }, + "type": "library", + "extra": { + "thanks": { + "url": "https://github.com/symfony/contracts", + "name": "symfony/contracts" + }, + "branch-alias": { + "dev-main": "3.6-dev" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Contracts\\Service\\": "" + }, + "exclude-from-classmap": [ + "/Test/" + ] + }, + "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" + ], + "support": { + "source": "https://github.com/symfony/service-contracts/tree/v3.6.1" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://github.com/nicolas-grekas", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2025-07-15T11:30:57+00:00" + }, + { + "name": "symfony/string", + "version": "v7.4.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/string.git", + "reference": "d50e862cb0a0e0886f73ca1f31b865efbb795003" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/string/zipball/d50e862cb0a0e0886f73ca1f31b865efbb795003", + "reference": "d50e862cb0a0e0886f73ca1f31b865efbb795003", + "shasum": "" + }, + "require": { + "php": ">=8.2", + "symfony/deprecation-contracts": "^2.5|^3.0", + "symfony/polyfill-ctype": "~1.8", + "symfony/polyfill-intl-grapheme": "~1.33", + "symfony/polyfill-intl-normalizer": "~1.0", + "symfony/polyfill-mbstring": "~1.0" + }, + "conflict": { + "symfony/translation-contracts": "<2.5" + }, + "require-dev": { + "symfony/emoji": "^7.1|^8.0", + "symfony/http-client": "^6.4|^7.0|^8.0", + "symfony/intl": "^6.4|^7.0|^8.0", + "symfony/translation-contracts": "^2.5|^3.0", + "symfony/var-exporter": "^6.4|^7.0|^8.0" + }, + "type": "library", + "autoload": { + "files": [ + "Resources/functions.php" + ], + "psr-4": { + "Symfony\\Component\\String\\": "" + }, + "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": "Provides an object-oriented API to strings and deals with bytes, UTF-8 code points and grapheme clusters in a unified way", + "homepage": "https://symfony.com", + "keywords": [ + "grapheme", + "i18n", + "string", + "unicode", + "utf-8", + "utf8" + ], + "support": { + "source": "https://github.com/symfony/string/tree/v7.4.0" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://github.com/nicolas-grekas", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2025-11-27T13:27:24+00:00" + }, + { + "name": "symfony/translation", + "version": "v7.4.3", + "source": { + "type": "git", + "url": "https://github.com/symfony/translation.git", + "reference": "7ef27c65d78886f7599fdd5c93d12c9243ecf44d" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/translation/zipball/7ef27c65d78886f7599fdd5c93d12c9243ecf44d", + "reference": "7ef27c65d78886f7599fdd5c93d12c9243ecf44d", + "shasum": "" + }, + "require": { + "php": ">=8.2", + "symfony/deprecation-contracts": "^2.5|^3", + "symfony/polyfill-mbstring": "~1.0", + "symfony/translation-contracts": "^2.5.3|^3.3" + }, + "conflict": { + "nikic/php-parser": "<5.0", + "symfony/config": "<6.4", + "symfony/console": "<6.4", + "symfony/dependency-injection": "<6.4", + "symfony/http-client-contracts": "<2.5", + "symfony/http-kernel": "<6.4", + "symfony/service-contracts": "<2.5", + "symfony/twig-bundle": "<6.4", + "symfony/yaml": "<6.4" + }, + "provide": { + "symfony/translation-implementation": "2.3|3.0" + }, + "require-dev": { + "nikic/php-parser": "^5.0", + "psr/log": "^1|^2|^3", + "symfony/config": "^6.4|^7.0|^8.0", + "symfony/console": "^6.4|^7.0|^8.0", + "symfony/dependency-injection": "^6.4|^7.0|^8.0", + "symfony/finder": "^6.4|^7.0|^8.0", + "symfony/http-client-contracts": "^2.5|^3.0", + "symfony/http-kernel": "^6.4|^7.0|^8.0", + "symfony/intl": "^6.4|^7.0|^8.0", + "symfony/polyfill-intl-icu": "^1.21", + "symfony/routing": "^6.4|^7.0|^8.0", + "symfony/service-contracts": "^2.5|^3", + "symfony/yaml": "^6.4|^7.0|^8.0" + }, + "type": "library", + "autoload": { + "files": [ + "Resources/functions.php" + ], + "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": "Provides tools to internationalize your application", + "homepage": "https://symfony.com", + "support": { + "source": "https://github.com/symfony/translation/tree/v7.4.3" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://github.com/nicolas-grekas", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2025-12-29T09:31:36+00:00" + }, + { + "name": "symfony/translation-contracts", + "version": "v3.6.1", + "source": { + "type": "git", + "url": "https://github.com/symfony/translation-contracts.git", + "reference": "65a8bc82080447fae78373aa10f8d13b38338977" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/translation-contracts/zipball/65a8bc82080447fae78373aa10f8d13b38338977", + "reference": "65a8bc82080447fae78373aa10f8d13b38338977", + "shasum": "" + }, + "require": { + "php": ">=8.1" + }, + "type": "library", + "extra": { + "thanks": { + "url": "https://github.com/symfony/contracts", + "name": "symfony/contracts" + }, + "branch-alias": { + "dev-main": "3.6-dev" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Contracts\\Translation\\": "" + }, + "exclude-from-classmap": [ + "/Test/" + ] + }, + "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" + ], + "support": { + "source": "https://github.com/symfony/translation-contracts/tree/v3.6.1" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://github.com/nicolas-grekas", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2025-07-15T13:41:35+00:00" + }, + { + "name": "symfony/uid", + "version": "v7.4.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/uid.git", + "reference": "2498e9f81b7baa206f44de583f2f48350b90142c" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/uid/zipball/2498e9f81b7baa206f44de583f2f48350b90142c", + "reference": "2498e9f81b7baa206f44de583f2f48350b90142c", + "shasum": "" + }, + "require": { + "php": ">=8.2", + "symfony/polyfill-uuid": "^1.15" + }, + "require-dev": { + "symfony/console": "^6.4|^7.0|^8.0" + }, + "type": "library", + "autoload": { + "psr-4": { + "Symfony\\Component\\Uid\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Grégoire Pineau", + "email": "lyrixx@lyrixx.info" + }, + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Provides an object-oriented API to generate and represent UIDs", + "homepage": "https://symfony.com", + "keywords": [ + "UID", + "ulid", + "uuid" + ], + "support": { + "source": "https://github.com/symfony/uid/tree/v7.4.0" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://github.com/nicolas-grekas", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2025-09-25T11:02:55+00:00" + }, + { + "name": "symfony/var-dumper", + "version": "v7.4.3", + "source": { + "type": "git", + "url": "https://github.com/symfony/var-dumper.git", + "reference": "7e99bebcb3f90d8721890f2963463280848cba92" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/var-dumper/zipball/7e99bebcb3f90d8721890f2963463280848cba92", + "reference": "7e99bebcb3f90d8721890f2963463280848cba92", + "shasum": "" + }, + "require": { + "php": ">=8.2", + "symfony/deprecation-contracts": "^2.5|^3", + "symfony/polyfill-mbstring": "~1.0" + }, + "conflict": { + "symfony/console": "<6.4" + }, + "require-dev": { + "symfony/console": "^6.4|^7.0|^8.0", + "symfony/http-kernel": "^6.4|^7.0|^8.0", + "symfony/process": "^6.4|^7.0|^8.0", + "symfony/uid": "^6.4|^7.0|^8.0", + "twig/twig": "^3.12" + }, + "bin": [ + "Resources/bin/var-dump-server" + ], + "type": "library", + "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": "Provides mechanisms for walking through any arbitrary PHP variable", + "homepage": "https://symfony.com", + "keywords": [ + "debug", + "dump" + ], + "support": { + "source": "https://github.com/symfony/var-dumper/tree/v7.4.3" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://github.com/nicolas-grekas", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2025-12-18T07:04:31+00:00" + }, + { + "name": "tijsverkoyen/css-to-inline-styles", + "version": "v2.4.0", + "source": { + "type": "git", + "url": "https://github.com/tijsverkoyen/CssToInlineStyles.git", + "reference": "f0292ccf0ec75843d65027214426b6b163b48b41" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/tijsverkoyen/CssToInlineStyles/zipball/f0292ccf0ec75843d65027214426b6b163b48b41", + "reference": "f0292ccf0ec75843d65027214426b6b163b48b41", + "shasum": "" + }, + "require": { + "ext-dom": "*", + "ext-libxml": "*", + "php": "^7.4 || ^8.0", + "symfony/css-selector": "^5.4 || ^6.0 || ^7.0 || ^8.0" + }, + "require-dev": { + "phpstan/phpstan": "^2.0", + "phpstan/phpstan-phpunit": "^2.0", + "phpunit/phpunit": "^8.5.21 || ^9.5.10" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "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", + "support": { + "issues": "https://github.com/tijsverkoyen/CssToInlineStyles/issues", + "source": "https://github.com/tijsverkoyen/CssToInlineStyles/tree/v2.4.0" + }, + "time": "2025-12-02T11:56:42+00:00" + }, + { + "name": "vlucas/phpdotenv", + "version": "v5.6.3", + "source": { + "type": "git", + "url": "https://github.com/vlucas/phpdotenv.git", + "reference": "955e7815d677a3eaa7075231212f2110983adecc" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/vlucas/phpdotenv/zipball/955e7815d677a3eaa7075231212f2110983adecc", + "reference": "955e7815d677a3eaa7075231212f2110983adecc", + "shasum": "" + }, + "require": { + "ext-pcre": "*", + "graham-campbell/result-type": "^1.1.4", + "php": "^7.2.5 || ^8.0", + "phpoption/phpoption": "^1.9.5", + "symfony/polyfill-ctype": "^1.26", + "symfony/polyfill-mbstring": "^1.26", + "symfony/polyfill-php80": "^1.26" + }, + "require-dev": { + "bamarni/composer-bin-plugin": "^1.8.2", + "ext-filter": "*", + "phpunit/phpunit": "^8.5.34 || ^9.6.13 || ^10.4.2" + }, + "suggest": { + "ext-filter": "Required to use the boolean validator." + }, + "type": "library", + "extra": { + "bamarni-bin": { + "bin-links": true, + "forward-command": false + }, + "branch-alias": { + "dev-master": "5.6-dev" + } + }, + "autoload": { + "psr-4": { + "Dotenv\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Graham Campbell", + "email": "hello@gjcampbell.co.uk", + "homepage": "https://github.com/GrahamCampbell" + }, + { + "name": "Vance Lucas", + "email": "vance@vancelucas.com", + "homepage": "https://github.com/vlucas" + } + ], + "description": "Loads environment variables from `.env` to `getenv()`, `$_ENV` and `$_SERVER` automagically.", + "keywords": [ + "dotenv", + "env", + "environment" + ], + "support": { + "issues": "https://github.com/vlucas/phpdotenv/issues", + "source": "https://github.com/vlucas/phpdotenv/tree/v5.6.3" + }, + "funding": [ + { + "url": "https://github.com/GrahamCampbell", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/vlucas/phpdotenv", + "type": "tidelift" + } + ], + "time": "2025-12-27T19:49:13+00:00" + }, + { + "name": "voku/portable-ascii", + "version": "2.0.3", + "source": { + "type": "git", + "url": "https://github.com/voku/portable-ascii.git", + "reference": "b1d923f88091c6bf09699efcd7c8a1b1bfd7351d" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/voku/portable-ascii/zipball/b1d923f88091c6bf09699efcd7c8a1b1bfd7351d", + "reference": "b1d923f88091c6bf09699efcd7c8a1b1bfd7351d", + "shasum": "" + }, + "require": { + "php": ">=7.0.0" + }, + "require-dev": { + "phpunit/phpunit": "~6.0 || ~7.0 || ~9.0" + }, + "suggest": { + "ext-intl": "Use Intl for transliterator_transliterate() support" + }, + "type": "library", + "autoload": { + "psr-4": { + "voku\\": "src/voku/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Lars Moelleken", + "homepage": "https://www.moelleken.org/" + } + ], + "description": "Portable ASCII library - performance optimized (ascii) string functions for php.", + "homepage": "https://github.com/voku/portable-ascii", + "keywords": [ + "ascii", + "clean", + "php" + ], + "support": { + "issues": "https://github.com/voku/portable-ascii/issues", + "source": "https://github.com/voku/portable-ascii/tree/2.0.3" + }, + "funding": [ + { + "url": "https://www.paypal.me/moelleken", + "type": "custom" + }, + { + "url": "https://github.com/voku", + "type": "github" + }, + { + "url": "https://opencollective.com/portable-ascii", + "type": "open_collective" + }, + { + "url": "https://www.patreon.com/voku", + "type": "patreon" + }, + { + "url": "https://tidelift.com/funding/github/packagist/voku/portable-ascii", + "type": "tidelift" + } + ], + "time": "2024-11-21T01:49:47+00:00" + } + ], + "packages-dev": [ + { + "name": "fakerphp/faker", + "version": "v1.24.1", + "source": { + "type": "git", + "url": "https://github.com/FakerPHP/Faker.git", + "reference": "e0ee18eb1e6dc3cda3ce9fd97e5a0689a88a64b5" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/FakerPHP/Faker/zipball/e0ee18eb1e6dc3cda3ce9fd97e5a0689a88a64b5", + "reference": "e0ee18eb1e6dc3cda3ce9fd97e5a0689a88a64b5", + "shasum": "" + }, + "require": { + "php": "^7.4 || ^8.0", + "psr/container": "^1.0 || ^2.0", + "symfony/deprecation-contracts": "^2.2 || ^3.0" + }, + "conflict": { + "fzaninotto/faker": "*" + }, + "require-dev": { + "bamarni/composer-bin-plugin": "^1.4.1", + "doctrine/persistence": "^1.3 || ^2.0", + "ext-intl": "*", + "phpunit/phpunit": "^9.5.26", + "symfony/phpunit-bridge": "^5.4.16" + }, + "suggest": { + "doctrine/orm": "Required to use Faker\\ORM\\Doctrine", + "ext-curl": "Required by Faker\\Provider\\Image to download images.", + "ext-dom": "Required by Faker\\Provider\\HtmlLorem for generating random HTML.", + "ext-iconv": "Required by Faker\\Provider\\ru_RU\\Text::realText() for generating real Russian text.", + "ext-mbstring": "Required for multibyte Unicode string functionality." + }, + "type": "library", + "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" + ], + "support": { + "issues": "https://github.com/FakerPHP/Faker/issues", + "source": "https://github.com/FakerPHP/Faker/tree/v1.24.1" + }, + "time": "2024-11-21T13:46:39+00:00" + }, + { + "name": "filp/whoops", + "version": "2.18.4", + "source": { + "type": "git", + "url": "https://github.com/filp/whoops.git", + "reference": "d2102955e48b9fd9ab24280a7ad12ed552752c4d" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/filp/whoops/zipball/d2102955e48b9fd9ab24280a7ad12ed552752c4d", + "reference": "d2102955e48b9fd9ab24280a7ad12ed552752c4d", + "shasum": "" + }, + "require": { + "php": "^7.1 || ^8.0", + "psr/log": "^1.0.1 || ^2.0 || ^3.0" + }, + "require-dev": { + "mockery/mockery": "^1.0", + "phpunit/phpunit": "^7.5.20 || ^8.5.8 || ^9.3.3", + "symfony/var-dumper": "^4.0 || ^5.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.7-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" + ], + "support": { + "issues": "https://github.com/filp/whoops/issues", + "source": "https://github.com/filp/whoops/tree/2.18.4" + }, + "funding": [ + { + "url": "https://github.com/denis-sokolov", + "type": "github" + } + ], + "time": "2025-08-08T12:00:00+00:00" + }, + { + "name": "hamcrest/hamcrest-php", + "version": "v2.1.1", + "source": { + "type": "git", + "url": "https://github.com/hamcrest/hamcrest-php.git", + "reference": "f8b1c0173b22fa6ec77a81fe63e5b01eba7e6487" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/hamcrest/hamcrest-php/zipball/f8b1c0173b22fa6ec77a81fe63e5b01eba7e6487", + "reference": "f8b1c0173b22fa6ec77a81fe63e5b01eba7e6487", + "shasum": "" + }, + "require": { + "php": "^7.4|^8.0" + }, + "replace": { + "cordoval/hamcrest-php": "*", + "davedevelopment/hamcrest-php": "*", + "kodova/hamcrest-php": "*" + }, + "require-dev": { + "phpunit/php-file-iterator": "^1.4 || ^2.0 || ^3.0", + "phpunit/phpunit": "^4.8.36 || ^5.7 || ^6.5 || ^7.0 || ^8.0 || ^9.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.1-dev" + } + }, + "autoload": { + "classmap": [ + "hamcrest" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "description": "This is the PHP port of Hamcrest Matchers", + "keywords": [ + "test" + ], + "support": { + "issues": "https://github.com/hamcrest/hamcrest-php/issues", + "source": "https://github.com/hamcrest/hamcrest-php/tree/v2.1.1" + }, + "time": "2025-04-30T06:54:44+00:00" + }, + { + "name": "laravel/breeze", + "version": "v2.3.8", + "source": { + "type": "git", + "url": "https://github.com/laravel/breeze.git", + "reference": "1a29c5792818bd4cddf70b5f743a227e02fbcfcd" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/laravel/breeze/zipball/1a29c5792818bd4cddf70b5f743a227e02fbcfcd", + "reference": "1a29c5792818bd4cddf70b5f743a227e02fbcfcd", + "shasum": "" + }, + "require": { + "illuminate/console": "^11.0|^12.0", + "illuminate/filesystem": "^11.0|^12.0", + "illuminate/support": "^11.0|^12.0", + "illuminate/validation": "^11.0|^12.0", + "php": "^8.2.0", + "symfony/console": "^7.0" + }, + "require-dev": { + "laravel/framework": "^11.0|^12.0", + "orchestra/testbench-core": "^9.0|^10.0", + "phpstan/phpstan": "^2.0" + }, + "type": "library", + "extra": { + "laravel": { + "providers": [ + "Laravel\\Breeze\\BreezeServiceProvider" + ] + } + }, + "autoload": { + "psr-4": { + "Laravel\\Breeze\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Taylor Otwell", + "email": "taylor@laravel.com" + } + ], + "description": "Minimal Laravel authentication scaffolding with Blade and Tailwind.", + "keywords": [ + "auth", + "laravel" + ], + "support": { + "issues": "https://github.com/laravel/breeze/issues", + "source": "https://github.com/laravel/breeze" + }, + "time": "2025-07-18T18:49:59+00:00" + }, + { + "name": "laravel/pail", + "version": "v1.2.4", + "source": { + "type": "git", + "url": "https://github.com/laravel/pail.git", + "reference": "49f92285ff5d6fc09816e976a004f8dec6a0ea30" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/laravel/pail/zipball/49f92285ff5d6fc09816e976a004f8dec6a0ea30", + "reference": "49f92285ff5d6fc09816e976a004f8dec6a0ea30", + "shasum": "" + }, + "require": { + "ext-mbstring": "*", + "illuminate/console": "^10.24|^11.0|^12.0", + "illuminate/contracts": "^10.24|^11.0|^12.0", + "illuminate/log": "^10.24|^11.0|^12.0", + "illuminate/process": "^10.24|^11.0|^12.0", + "illuminate/support": "^10.24|^11.0|^12.0", + "nunomaduro/termwind": "^1.15|^2.0", + "php": "^8.2", + "symfony/console": "^6.0|^7.0" + }, + "require-dev": { + "laravel/framework": "^10.24|^11.0|^12.0", + "laravel/pint": "^1.13", + "orchestra/testbench-core": "^8.13|^9.17|^10.8", + "pestphp/pest": "^2.20|^3.0|^4.0", + "pestphp/pest-plugin-type-coverage": "^2.3|^3.0|^4.0", + "phpstan/phpstan": "^1.12.27", + "symfony/var-dumper": "^6.3|^7.0" + }, + "type": "library", + "extra": { + "laravel": { + "providers": [ + "Laravel\\Pail\\PailServiceProvider" + ] + }, + "branch-alias": { + "dev-main": "1.x-dev" + } + }, + "autoload": { + "psr-4": { + "Laravel\\Pail\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Taylor Otwell", + "email": "taylor@laravel.com" + }, + { + "name": "Nuno Maduro", + "email": "enunomaduro@gmail.com" + } + ], + "description": "Easily delve into your Laravel application's log files directly from the command line.", + "homepage": "https://github.com/laravel/pail", + "keywords": [ + "dev", + "laravel", + "logs", + "php", + "tail" + ], + "support": { + "issues": "https://github.com/laravel/pail/issues", + "source": "https://github.com/laravel/pail" + }, + "time": "2025-11-20T16:29:35+00:00" + }, + { + "name": "laravel/pint", + "version": "v1.27.0", + "source": { + "type": "git", + "url": "https://github.com/laravel/pint.git", + "reference": "c67b4195b75491e4dfc6b00b1c78b68d86f54c90" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/laravel/pint/zipball/c67b4195b75491e4dfc6b00b1c78b68d86f54c90", + "reference": "c67b4195b75491e4dfc6b00b1c78b68d86f54c90", + "shasum": "" + }, + "require": { + "ext-json": "*", + "ext-mbstring": "*", + "ext-tokenizer": "*", + "ext-xml": "*", + "php": "^8.2.0" + }, + "require-dev": { + "friendsofphp/php-cs-fixer": "^3.92.4", + "illuminate/view": "^12.44.0", + "larastan/larastan": "^3.8.1", + "laravel-zero/framework": "^12.0.4", + "mockery/mockery": "^1.6.12", + "nunomaduro/termwind": "^2.3.3", + "pestphp/pest": "^3.8.4" + }, + "bin": [ + "builds/pint" + ], + "type": "project", + "autoload": { + "psr-4": { + "App\\": "app/", + "Database\\Seeders\\": "database/seeders/", + "Database\\Factories\\": "database/factories/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nuno Maduro", + "email": "enunomaduro@gmail.com" + } + ], + "description": "An opinionated code formatter for PHP.", + "homepage": "https://laravel.com", + "keywords": [ + "dev", + "format", + "formatter", + "lint", + "linter", + "php" + ], + "support": { + "issues": "https://github.com/laravel/pint/issues", + "source": "https://github.com/laravel/pint" + }, + "time": "2026-01-05T16:49:17+00:00" + }, + { + "name": "laravel/sail", + "version": "v1.52.0", + "source": { + "type": "git", + "url": "https://github.com/laravel/sail.git", + "reference": "64ac7d8abb2dbcf2b76e61289451bae79066b0b3" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/laravel/sail/zipball/64ac7d8abb2dbcf2b76e61289451bae79066b0b3", + "reference": "64ac7d8abb2dbcf2b76e61289451bae79066b0b3", + "shasum": "" + }, + "require": { + "illuminate/console": "^9.52.16|^10.0|^11.0|^12.0", + "illuminate/contracts": "^9.52.16|^10.0|^11.0|^12.0", + "illuminate/support": "^9.52.16|^10.0|^11.0|^12.0", + "php": "^8.0", + "symfony/console": "^6.0|^7.0", + "symfony/yaml": "^6.0|^7.0" + }, + "require-dev": { + "orchestra/testbench": "^7.0|^8.0|^9.0|^10.0", + "phpstan/phpstan": "^2.0" + }, + "bin": [ + "bin/sail" + ], + "type": "library", + "extra": { + "laravel": { + "providers": [ + "Laravel\\Sail\\SailServiceProvider" + ] + } + }, + "autoload": { + "psr-4": { + "Laravel\\Sail\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Taylor Otwell", + "email": "taylor@laravel.com" + } + ], + "description": "Docker files for running a basic Laravel application.", + "keywords": [ + "docker", + "laravel" + ], + "support": { + "issues": "https://github.com/laravel/sail/issues", + "source": "https://github.com/laravel/sail" + }, + "time": "2026-01-01T02:46:03+00:00" + }, + { + "name": "mockery/mockery", + "version": "1.6.12", + "source": { + "type": "git", + "url": "https://github.com/mockery/mockery.git", + "reference": "1f4efdd7d3beafe9807b08156dfcb176d18f1699" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/mockery/mockery/zipball/1f4efdd7d3beafe9807b08156dfcb176d18f1699", + "reference": "1f4efdd7d3beafe9807b08156dfcb176d18f1699", + "shasum": "" + }, + "require": { + "hamcrest/hamcrest-php": "^2.0.1", + "lib-pcre": ">=7.0", + "php": ">=7.3" + }, + "conflict": { + "phpunit/phpunit": "<8.0" + }, + "require-dev": { + "phpunit/phpunit": "^8.5 || ^9.6.17", + "symplify/easy-coding-standard": "^12.1.14" + }, + "type": "library", + "autoload": { + "files": [ + "library/helpers.php", + "library/Mockery.php" + ], + "psr-4": { + "Mockery\\": "library/Mockery" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Pádraic Brady", + "email": "padraic.brady@gmail.com", + "homepage": "https://github.com/padraic", + "role": "Author" + }, + { + "name": "Dave Marshall", + "email": "dave.marshall@atstsolutions.co.uk", + "homepage": "https://davedevelopment.co.uk", + "role": "Developer" + }, + { + "name": "Nathanael Esayeas", + "email": "nathanael.esayeas@protonmail.com", + "homepage": "https://github.com/ghostwriter", + "role": "Lead Developer" + } + ], + "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" + ], + "support": { + "docs": "https://docs.mockery.io/", + "issues": "https://github.com/mockery/mockery/issues", + "rss": "https://github.com/mockery/mockery/releases.atom", + "security": "https://github.com/mockery/mockery/security/advisories", + "source": "https://github.com/mockery/mockery" + }, + "time": "2024-05-16T03:13:13+00:00" + }, + { + "name": "myclabs/deep-copy", + "version": "1.13.4", + "source": { + "type": "git", + "url": "https://github.com/myclabs/DeepCopy.git", + "reference": "07d290f0c47959fd5eed98c95ee5602db07e0b6a" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/myclabs/DeepCopy/zipball/07d290f0c47959fd5eed98c95ee5602db07e0b6a", + "reference": "07d290f0c47959fd5eed98c95ee5602db07e0b6a", + "shasum": "" + }, + "require": { + "php": "^7.1 || ^8.0" + }, + "conflict": { + "doctrine/collections": "<1.6.8", + "doctrine/common": "<2.13.3 || >=3 <3.2.2" + }, + "require-dev": { + "doctrine/collections": "^1.6.8", + "doctrine/common": "^2.13.3 || ^3.2.2", + "phpspec/prophecy": "^1.10", + "phpunit/phpunit": "^7.5.20 || ^8.5.23 || ^9.5.13" + }, + "type": "library", + "autoload": { + "files": [ + "src/DeepCopy/deep_copy.php" + ], + "psr-4": { + "DeepCopy\\": "src/DeepCopy/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "description": "Create deep copies (clones) of your objects", + "keywords": [ + "clone", + "copy", + "duplicate", + "object", + "object graph" + ], + "support": { + "issues": "https://github.com/myclabs/DeepCopy/issues", + "source": "https://github.com/myclabs/DeepCopy/tree/1.13.4" + }, + "funding": [ + { + "url": "https://tidelift.com/funding/github/packagist/myclabs/deep-copy", + "type": "tidelift" + } + ], + "time": "2025-08-01T08:46:24+00:00" + }, + { + "name": "nunomaduro/collision", + "version": "v8.8.3", + "source": { + "type": "git", + "url": "https://github.com/nunomaduro/collision.git", + "reference": "1dc9e88d105699d0fee8bb18890f41b274f6b4c4" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/nunomaduro/collision/zipball/1dc9e88d105699d0fee8bb18890f41b274f6b4c4", + "reference": "1dc9e88d105699d0fee8bb18890f41b274f6b4c4", + "shasum": "" + }, + "require": { + "filp/whoops": "^2.18.1", + "nunomaduro/termwind": "^2.3.1", + "php": "^8.2.0", + "symfony/console": "^7.3.0" + }, + "conflict": { + "laravel/framework": "<11.44.2 || >=13.0.0", + "phpunit/phpunit": "<11.5.15 || >=13.0.0" + }, + "require-dev": { + "brianium/paratest": "^7.8.3", + "larastan/larastan": "^3.4.2", + "laravel/framework": "^11.44.2 || ^12.18", + "laravel/pint": "^1.22.1", + "laravel/sail": "^1.43.1", + "laravel/sanctum": "^4.1.1", + "laravel/tinker": "^2.10.1", + "orchestra/testbench-core": "^9.12.0 || ^10.4", + "pestphp/pest": "^3.8.2 || ^4.0.0", + "sebastian/environment": "^7.2.1 || ^8.0" + }, + "type": "library", + "extra": { + "laravel": { + "providers": [ + "NunoMaduro\\Collision\\Adapters\\Laravel\\CollisionServiceProvider" + ] + }, + "branch-alias": { + "dev-8.x": "8.x-dev" + } + }, + "autoload": { + "files": [ + "./src/Adapters/Phpunit/Autoload.php" + ], + "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", + "dev", + "error", + "handling", + "laravel", + "laravel-zero", + "php", + "symfony" + ], + "support": { + "issues": "https://github.com/nunomaduro/collision/issues", + "source": "https://github.com/nunomaduro/collision" + }, + "funding": [ + { + "url": "https://www.paypal.com/paypalme/enunomaduro", + "type": "custom" + }, + { + "url": "https://github.com/nunomaduro", + "type": "github" + }, + { + "url": "https://www.patreon.com/nunomaduro", + "type": "patreon" + } + ], + "time": "2025-11-20T02:55:25+00:00" + }, + { + "name": "phar-io/manifest", + "version": "2.0.4", + "source": { + "type": "git", + "url": "https://github.com/phar-io/manifest.git", + "reference": "54750ef60c58e43759730615a392c31c80e23176" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/phar-io/manifest/zipball/54750ef60c58e43759730615a392c31c80e23176", + "reference": "54750ef60c58e43759730615a392c31c80e23176", + "shasum": "" + }, + "require": { + "ext-dom": "*", + "ext-libxml": "*", + "ext-phar": "*", + "ext-xmlwriter": "*", + "phar-io/version": "^3.0.1", + "php": "^7.2 || ^8.0" + }, + "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": "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)", + "support": { + "issues": "https://github.com/phar-io/manifest/issues", + "source": "https://github.com/phar-io/manifest/tree/2.0.4" + }, + "funding": [ + { + "url": "https://github.com/theseer", + "type": "github" + } + ], + "time": "2024-03-03T12:33:53+00:00" + }, + { + "name": "phar-io/version", + "version": "3.2.1", + "source": { + "type": "git", + "url": "https://github.com/phar-io/version.git", + "reference": "4f7fd7836c6f332bb2933569e566a0d6c4cbed74" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/phar-io/version/zipball/4f7fd7836c6f332bb2933569e566a0d6c4cbed74", + "reference": "4f7fd7836c6f332bb2933569e566a0d6c4cbed74", + "shasum": "" + }, + "require": { + "php": "^7.2 || ^8.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", + "support": { + "issues": "https://github.com/phar-io/version/issues", + "source": "https://github.com/phar-io/version/tree/3.2.1" + }, + "time": "2022-02-21T01:04:05+00:00" + }, + { + "name": "phpunit/php-code-coverage", + "version": "11.0.12", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/php-code-coverage.git", + "reference": "2c1ed04922802c15e1de5d7447b4856de949cf56" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/2c1ed04922802c15e1de5d7447b4856de949cf56", + "reference": "2c1ed04922802c15e1de5d7447b4856de949cf56", + "shasum": "" + }, + "require": { + "ext-dom": "*", + "ext-libxml": "*", + "ext-xmlwriter": "*", + "nikic/php-parser": "^5.7.0", + "php": ">=8.2", + "phpunit/php-file-iterator": "^5.1.0", + "phpunit/php-text-template": "^4.0.1", + "sebastian/code-unit-reverse-lookup": "^4.0.1", + "sebastian/complexity": "^4.0.1", + "sebastian/environment": "^7.2.1", + "sebastian/lines-of-code": "^3.0.1", + "sebastian/version": "^5.0.2", + "theseer/tokenizer": "^1.3.1" + }, + "require-dev": { + "phpunit/phpunit": "^11.5.46" + }, + "suggest": { + "ext-pcov": "PHP extension that provides line coverage", + "ext-xdebug": "PHP extension that provides line coverage as well as branch and path coverage" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "11.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 provides collection, processing, and rendering functionality for PHP code coverage information.", + "homepage": "https://github.com/sebastianbergmann/php-code-coverage", + "keywords": [ + "coverage", + "testing", + "xunit" + ], + "support": { + "issues": "https://github.com/sebastianbergmann/php-code-coverage/issues", + "security": "https://github.com/sebastianbergmann/php-code-coverage/security/policy", + "source": "https://github.com/sebastianbergmann/php-code-coverage/tree/11.0.12" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + }, + { + "url": "https://liberapay.com/sebastianbergmann", + "type": "liberapay" + }, + { + "url": "https://thanks.dev/u/gh/sebastianbergmann", + "type": "thanks_dev" + }, + { + "url": "https://tidelift.com/funding/github/packagist/phpunit/php-code-coverage", + "type": "tidelift" + } + ], + "time": "2025-12-24T07:01:01+00:00" + }, + { + "name": "phpunit/php-file-iterator", + "version": "5.1.0", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/php-file-iterator.git", + "reference": "118cfaaa8bc5aef3287bf315b6060b1174754af6" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/php-file-iterator/zipball/118cfaaa8bc5aef3287bf315b6060b1174754af6", + "reference": "118cfaaa8bc5aef3287bf315b6060b1174754af6", + "shasum": "" + }, + "require": { + "php": ">=8.2" + }, + "require-dev": { + "phpunit/phpunit": "^11.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "5.0-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" + ], + "support": { + "issues": "https://github.com/sebastianbergmann/php-file-iterator/issues", + "security": "https://github.com/sebastianbergmann/php-file-iterator/security/policy", + "source": "https://github.com/sebastianbergmann/php-file-iterator/tree/5.1.0" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2024-08-27T05:02:59+00:00" + }, + { + "name": "phpunit/php-invoker", + "version": "5.0.1", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/php-invoker.git", + "reference": "c1ca3814734c07492b3d4c5f794f4b0995333da2" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/php-invoker/zipball/c1ca3814734c07492b3d4c5f794f4b0995333da2", + "reference": "c1ca3814734c07492b3d4c5f794f4b0995333da2", + "shasum": "" + }, + "require": { + "php": ">=8.2" + }, + "require-dev": { + "ext-pcntl": "*", + "phpunit/phpunit": "^11.0" + }, + "suggest": { + "ext-pcntl": "*" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "5.0-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": "Invoke callables with a timeout", + "homepage": "https://github.com/sebastianbergmann/php-invoker/", + "keywords": [ + "process" + ], + "support": { + "issues": "https://github.com/sebastianbergmann/php-invoker/issues", + "security": "https://github.com/sebastianbergmann/php-invoker/security/policy", + "source": "https://github.com/sebastianbergmann/php-invoker/tree/5.0.1" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2024-07-03T05:07:44+00:00" + }, + { + "name": "phpunit/php-text-template", + "version": "4.0.1", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/php-text-template.git", + "reference": "3e0404dc6b300e6bf56415467ebcb3fe4f33e964" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/php-text-template/zipball/3e0404dc6b300e6bf56415467ebcb3fe4f33e964", + "reference": "3e0404dc6b300e6bf56415467ebcb3fe4f33e964", + "shasum": "" + }, + "require": { + "php": ">=8.2" + }, + "require-dev": { + "phpunit/phpunit": "^11.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "4.0-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": "Simple template engine.", + "homepage": "https://github.com/sebastianbergmann/php-text-template/", + "keywords": [ + "template" + ], + "support": { + "issues": "https://github.com/sebastianbergmann/php-text-template/issues", + "security": "https://github.com/sebastianbergmann/php-text-template/security/policy", + "source": "https://github.com/sebastianbergmann/php-text-template/tree/4.0.1" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2024-07-03T05:08:43+00:00" + }, + { + "name": "phpunit/php-timer", + "version": "7.0.1", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/php-timer.git", + "reference": "3b415def83fbcb41f991d9ebf16ae4ad8b7837b3" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/php-timer/zipball/3b415def83fbcb41f991d9ebf16ae4ad8b7837b3", + "reference": "3b415def83fbcb41f991d9ebf16ae4ad8b7837b3", + "shasum": "" + }, + "require": { + "php": ">=8.2" + }, + "require-dev": { + "phpunit/phpunit": "^11.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "7.0-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" + ], + "support": { + "issues": "https://github.com/sebastianbergmann/php-timer/issues", + "security": "https://github.com/sebastianbergmann/php-timer/security/policy", + "source": "https://github.com/sebastianbergmann/php-timer/tree/7.0.1" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2024-07-03T05:09:35+00:00" + }, + { + "name": "phpunit/phpunit", + "version": "11.5.49", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/phpunit.git", + "reference": "4f1750675ba411dd6c2d5fa8a3cca07f6742020e" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/4f1750675ba411dd6c2d5fa8a3cca07f6742020e", + "reference": "4f1750675ba411dd6c2d5fa8a3cca07f6742020e", + "shasum": "" + }, + "require": { + "ext-dom": "*", + "ext-json": "*", + "ext-libxml": "*", + "ext-mbstring": "*", + "ext-xml": "*", + "ext-xmlwriter": "*", + "myclabs/deep-copy": "^1.13.4", + "phar-io/manifest": "^2.0.4", + "phar-io/version": "^3.2.1", + "php": ">=8.2", + "phpunit/php-code-coverage": "^11.0.12", + "phpunit/php-file-iterator": "^5.1.0", + "phpunit/php-invoker": "^5.0.1", + "phpunit/php-text-template": "^4.0.1", + "phpunit/php-timer": "^7.0.1", + "sebastian/cli-parser": "^3.0.2", + "sebastian/code-unit": "^3.0.3", + "sebastian/comparator": "^6.3.3", + "sebastian/diff": "^6.0.2", + "sebastian/environment": "^7.2.1", + "sebastian/exporter": "^6.3.2", + "sebastian/global-state": "^7.0.2", + "sebastian/object-enumerator": "^6.0.1", + "sebastian/type": "^5.1.3", + "sebastian/version": "^5.0.2", + "staabm/side-effects-detector": "^1.0.5" + }, + "suggest": { + "ext-soap": "To be able to generate mocks based on WSDL files" + }, + "bin": [ + "phpunit" + ], + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "11.5-dev" + } + }, + "autoload": { + "files": [ + "src/Framework/Assert/Functions.php" + ], + "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" + ], + "support": { + "issues": "https://github.com/sebastianbergmann/phpunit/issues", + "security": "https://github.com/sebastianbergmann/phpunit/security/policy", + "source": "https://github.com/sebastianbergmann/phpunit/tree/11.5.49" + }, + "funding": [ + { + "url": "https://phpunit.de/sponsors.html", + "type": "custom" + }, + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + }, + { + "url": "https://liberapay.com/sebastianbergmann", + "type": "liberapay" + }, + { + "url": "https://thanks.dev/u/gh/sebastianbergmann", + "type": "thanks_dev" + }, + { + "url": "https://tidelift.com/funding/github/packagist/phpunit/phpunit", + "type": "tidelift" + } + ], + "time": "2026-01-24T16:09:28+00:00" + }, + { + "name": "sebastian/cli-parser", + "version": "3.0.2", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/cli-parser.git", + "reference": "15c5dd40dc4f38794d383bb95465193f5e0ae180" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/cli-parser/zipball/15c5dd40dc4f38794d383bb95465193f5e0ae180", + "reference": "15c5dd40dc4f38794d383bb95465193f5e0ae180", + "shasum": "" + }, + "require": { + "php": ">=8.2" + }, + "require-dev": { + "phpunit/phpunit": "^11.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "3.0-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 for parsing CLI options", + "homepage": "https://github.com/sebastianbergmann/cli-parser", + "support": { + "issues": "https://github.com/sebastianbergmann/cli-parser/issues", + "security": "https://github.com/sebastianbergmann/cli-parser/security/policy", + "source": "https://github.com/sebastianbergmann/cli-parser/tree/3.0.2" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2024-07-03T04:41:36+00:00" + }, + { + "name": "sebastian/code-unit", + "version": "3.0.3", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/code-unit.git", + "reference": "54391c61e4af8078e5b276ab082b6d3c54c9ad64" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/code-unit/zipball/54391c61e4af8078e5b276ab082b6d3c54c9ad64", + "reference": "54391c61e4af8078e5b276ab082b6d3c54c9ad64", + "shasum": "" + }, + "require": { + "php": ">=8.2" + }, + "require-dev": { + "phpunit/phpunit": "^11.5" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "3.0-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": "Collection of value objects that represent the PHP code units", + "homepage": "https://github.com/sebastianbergmann/code-unit", + "support": { + "issues": "https://github.com/sebastianbergmann/code-unit/issues", + "security": "https://github.com/sebastianbergmann/code-unit/security/policy", + "source": "https://github.com/sebastianbergmann/code-unit/tree/3.0.3" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2025-03-19T07:56:08+00:00" + }, + { + "name": "sebastian/code-unit-reverse-lookup", + "version": "4.0.1", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/code-unit-reverse-lookup.git", + "reference": "183a9b2632194febd219bb9246eee421dad8d45e" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/code-unit-reverse-lookup/zipball/183a9b2632194febd219bb9246eee421dad8d45e", + "reference": "183a9b2632194febd219bb9246eee421dad8d45e", + "shasum": "" + }, + "require": { + "php": ">=8.2" + }, + "require-dev": { + "phpunit/phpunit": "^11.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "4.0-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/", + "support": { + "issues": "https://github.com/sebastianbergmann/code-unit-reverse-lookup/issues", + "security": "https://github.com/sebastianbergmann/code-unit-reverse-lookup/security/policy", + "source": "https://github.com/sebastianbergmann/code-unit-reverse-lookup/tree/4.0.1" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2024-07-03T04:45:54+00:00" + }, + { + "name": "sebastian/comparator", + "version": "6.3.3", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/comparator.git", + "reference": "2c95e1e86cb8dd41beb8d502057d1081ccc8eca9" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/comparator/zipball/2c95e1e86cb8dd41beb8d502057d1081ccc8eca9", + "reference": "2c95e1e86cb8dd41beb8d502057d1081ccc8eca9", + "shasum": "" + }, + "require": { + "ext-dom": "*", + "ext-mbstring": "*", + "php": ">=8.2", + "sebastian/diff": "^6.0", + "sebastian/exporter": "^6.0" + }, + "require-dev": { + "phpunit/phpunit": "^11.4" + }, + "suggest": { + "ext-bcmath": "For comparing BcMath\\Number objects" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "6.3-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": "Bernhard Schussek", + "email": "bschussek@2bepublished.at" + } + ], + "description": "Provides the functionality to compare PHP values for equality", + "homepage": "https://github.com/sebastianbergmann/comparator", + "keywords": [ + "comparator", + "compare", + "equality" + ], + "support": { + "issues": "https://github.com/sebastianbergmann/comparator/issues", + "security": "https://github.com/sebastianbergmann/comparator/security/policy", + "source": "https://github.com/sebastianbergmann/comparator/tree/6.3.3" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + }, + { + "url": "https://liberapay.com/sebastianbergmann", + "type": "liberapay" + }, + { + "url": "https://thanks.dev/u/gh/sebastianbergmann", + "type": "thanks_dev" + }, + { + "url": "https://tidelift.com/funding/github/packagist/sebastian/comparator", + "type": "tidelift" + } + ], + "time": "2026-01-24T09:26:40+00:00" + }, + { + "name": "sebastian/complexity", + "version": "4.0.1", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/complexity.git", + "reference": "ee41d384ab1906c68852636b6de493846e13e5a0" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/complexity/zipball/ee41d384ab1906c68852636b6de493846e13e5a0", + "reference": "ee41d384ab1906c68852636b6de493846e13e5a0", + "shasum": "" + }, + "require": { + "nikic/php-parser": "^5.0", + "php": ">=8.2" + }, + "require-dev": { + "phpunit/phpunit": "^11.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "4.0-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 for calculating the complexity of PHP code units", + "homepage": "https://github.com/sebastianbergmann/complexity", + "support": { + "issues": "https://github.com/sebastianbergmann/complexity/issues", + "security": "https://github.com/sebastianbergmann/complexity/security/policy", + "source": "https://github.com/sebastianbergmann/complexity/tree/4.0.1" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2024-07-03T04:49:50+00:00" + }, + { + "name": "sebastian/diff", + "version": "6.0.2", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/diff.git", + "reference": "b4ccd857127db5d41a5b676f24b51371d76d8544" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/diff/zipball/b4ccd857127db5d41a5b676f24b51371d76d8544", + "reference": "b4ccd857127db5d41a5b676f24b51371d76d8544", + "shasum": "" + }, + "require": { + "php": ">=8.2" + }, + "require-dev": { + "phpunit/phpunit": "^11.0", + "symfony/process": "^4.2 || ^5" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "6.0-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de" + }, + { + "name": "Kore Nordmann", + "email": "mail@kore-nordmann.de" + } + ], + "description": "Diff implementation", + "homepage": "https://github.com/sebastianbergmann/diff", + "keywords": [ + "diff", + "udiff", + "unidiff", + "unified diff" + ], + "support": { + "issues": "https://github.com/sebastianbergmann/diff/issues", + "security": "https://github.com/sebastianbergmann/diff/security/policy", + "source": "https://github.com/sebastianbergmann/diff/tree/6.0.2" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2024-07-03T04:53:05+00:00" + }, + { + "name": "sebastian/environment", + "version": "7.2.1", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/environment.git", + "reference": "a5c75038693ad2e8d4b6c15ba2403532647830c4" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/environment/zipball/a5c75038693ad2e8d4b6c15ba2403532647830c4", + "reference": "a5c75038693ad2e8d4b6c15ba2403532647830c4", + "shasum": "" + }, + "require": { + "php": ">=8.2" + }, + "require-dev": { + "phpunit/phpunit": "^11.3" + }, + "suggest": { + "ext-posix": "*" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "7.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": "https://github.com/sebastianbergmann/environment", + "keywords": [ + "Xdebug", + "environment", + "hhvm" + ], + "support": { + "issues": "https://github.com/sebastianbergmann/environment/issues", + "security": "https://github.com/sebastianbergmann/environment/security/policy", + "source": "https://github.com/sebastianbergmann/environment/tree/7.2.1" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + }, + { + "url": "https://liberapay.com/sebastianbergmann", + "type": "liberapay" + }, + { + "url": "https://thanks.dev/u/gh/sebastianbergmann", + "type": "thanks_dev" + }, + { + "url": "https://tidelift.com/funding/github/packagist/sebastian/environment", + "type": "tidelift" + } + ], + "time": "2025-05-21T11:55:47+00:00" + }, + { + "name": "sebastian/exporter", + "version": "6.3.2", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/exporter.git", + "reference": "70a298763b40b213ec087c51c739efcaa90bcd74" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/exporter/zipball/70a298763b40b213ec087c51c739efcaa90bcd74", + "reference": "70a298763b40b213ec087c51c739efcaa90bcd74", + "shasum": "" + }, + "require": { + "ext-mbstring": "*", + "php": ">=8.2", + "sebastian/recursion-context": "^6.0" + }, + "require-dev": { + "phpunit/phpunit": "^11.3" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "6.3-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": "https://www.github.com/sebastianbergmann/exporter", + "keywords": [ + "export", + "exporter" + ], + "support": { + "issues": "https://github.com/sebastianbergmann/exporter/issues", + "security": "https://github.com/sebastianbergmann/exporter/security/policy", + "source": "https://github.com/sebastianbergmann/exporter/tree/6.3.2" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + }, + { + "url": "https://liberapay.com/sebastianbergmann", + "type": "liberapay" + }, + { + "url": "https://thanks.dev/u/gh/sebastianbergmann", + "type": "thanks_dev" + }, + { + "url": "https://tidelift.com/funding/github/packagist/sebastian/exporter", + "type": "tidelift" + } + ], + "time": "2025-09-24T06:12:51+00:00" + }, + { + "name": "sebastian/global-state", + "version": "7.0.2", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/global-state.git", + "reference": "3be331570a721f9a4b5917f4209773de17f747d7" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/global-state/zipball/3be331570a721f9a4b5917f4209773de17f747d7", + "reference": "3be331570a721f9a4b5917f4209773de17f747d7", + "shasum": "" + }, + "require": { + "php": ">=8.2", + "sebastian/object-reflector": "^4.0", + "sebastian/recursion-context": "^6.0" + }, + "require-dev": { + "ext-dom": "*", + "phpunit/phpunit": "^11.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "7.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": "https://www.github.com/sebastianbergmann/global-state", + "keywords": [ + "global state" + ], + "support": { + "issues": "https://github.com/sebastianbergmann/global-state/issues", + "security": "https://github.com/sebastianbergmann/global-state/security/policy", + "source": "https://github.com/sebastianbergmann/global-state/tree/7.0.2" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2024-07-03T04:57:36+00:00" + }, + { + "name": "sebastian/lines-of-code", + "version": "3.0.1", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/lines-of-code.git", + "reference": "d36ad0d782e5756913e42ad87cb2890f4ffe467a" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/lines-of-code/zipball/d36ad0d782e5756913e42ad87cb2890f4ffe467a", + "reference": "d36ad0d782e5756913e42ad87cb2890f4ffe467a", + "shasum": "" + }, + "require": { + "nikic/php-parser": "^5.0", + "php": ">=8.2" + }, + "require-dev": { + "phpunit/phpunit": "^11.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "3.0-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 for counting the lines of code in PHP source code", + "homepage": "https://github.com/sebastianbergmann/lines-of-code", + "support": { + "issues": "https://github.com/sebastianbergmann/lines-of-code/issues", + "security": "https://github.com/sebastianbergmann/lines-of-code/security/policy", + "source": "https://github.com/sebastianbergmann/lines-of-code/tree/3.0.1" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2024-07-03T04:58:38+00:00" + }, + { + "name": "sebastian/object-enumerator", + "version": "6.0.1", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/object-enumerator.git", + "reference": "f5b498e631a74204185071eb41f33f38d64608aa" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/object-enumerator/zipball/f5b498e631a74204185071eb41f33f38d64608aa", + "reference": "f5b498e631a74204185071eb41f33f38d64608aa", + "shasum": "" + }, + "require": { + "php": ">=8.2", + "sebastian/object-reflector": "^4.0", + "sebastian/recursion-context": "^6.0" + }, + "require-dev": { + "phpunit/phpunit": "^11.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "6.0-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/", + "support": { + "issues": "https://github.com/sebastianbergmann/object-enumerator/issues", + "security": "https://github.com/sebastianbergmann/object-enumerator/security/policy", + "source": "https://github.com/sebastianbergmann/object-enumerator/tree/6.0.1" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2024-07-03T05:00:13+00:00" + }, + { + "name": "sebastian/object-reflector", + "version": "4.0.1", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/object-reflector.git", + "reference": "6e1a43b411b2ad34146dee7524cb13a068bb35f9" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/object-reflector/zipball/6e1a43b411b2ad34146dee7524cb13a068bb35f9", + "reference": "6e1a43b411b2ad34146dee7524cb13a068bb35f9", + "shasum": "" + }, + "require": { + "php": ">=8.2" + }, + "require-dev": { + "phpunit/phpunit": "^11.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "4.0-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/", + "support": { + "issues": "https://github.com/sebastianbergmann/object-reflector/issues", + "security": "https://github.com/sebastianbergmann/object-reflector/security/policy", + "source": "https://github.com/sebastianbergmann/object-reflector/tree/4.0.1" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2024-07-03T05:01:32+00:00" + }, + { + "name": "sebastian/recursion-context", + "version": "6.0.3", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/recursion-context.git", + "reference": "f6458abbf32a6c8174f8f26261475dc133b3d9dc" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/recursion-context/zipball/f6458abbf32a6c8174f8f26261475dc133b3d9dc", + "reference": "f6458abbf32a6c8174f8f26261475dc133b3d9dc", + "shasum": "" + }, + "require": { + "php": ">=8.2" + }, + "require-dev": { + "phpunit/phpunit": "^11.3" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "6.0-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": "Adam Harvey", + "email": "aharvey@php.net" + } + ], + "description": "Provides functionality to recursively process PHP variables", + "homepage": "https://github.com/sebastianbergmann/recursion-context", + "support": { + "issues": "https://github.com/sebastianbergmann/recursion-context/issues", + "security": "https://github.com/sebastianbergmann/recursion-context/security/policy", + "source": "https://github.com/sebastianbergmann/recursion-context/tree/6.0.3" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + }, + { + "url": "https://liberapay.com/sebastianbergmann", + "type": "liberapay" + }, + { + "url": "https://thanks.dev/u/gh/sebastianbergmann", + "type": "thanks_dev" + }, + { + "url": "https://tidelift.com/funding/github/packagist/sebastian/recursion-context", + "type": "tidelift" + } + ], + "time": "2025-08-13T04:42:22+00:00" + }, + { + "name": "sebastian/type", + "version": "5.1.3", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/type.git", + "reference": "f77d2d4e78738c98d9a68d2596fe5e8fa380f449" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/type/zipball/f77d2d4e78738c98d9a68d2596fe5e8fa380f449", + "reference": "f77d2d4e78738c98d9a68d2596fe5e8fa380f449", + "shasum": "" + }, + "require": { + "php": ">=8.2" + }, + "require-dev": { + "phpunit/phpunit": "^11.3" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "5.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": "Collection of value objects that represent the types of the PHP type system", + "homepage": "https://github.com/sebastianbergmann/type", + "support": { + "issues": "https://github.com/sebastianbergmann/type/issues", + "security": "https://github.com/sebastianbergmann/type/security/policy", + "source": "https://github.com/sebastianbergmann/type/tree/5.1.3" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + }, + { + "url": "https://liberapay.com/sebastianbergmann", + "type": "liberapay" + }, + { + "url": "https://thanks.dev/u/gh/sebastianbergmann", + "type": "thanks_dev" + }, + { + "url": "https://tidelift.com/funding/github/packagist/sebastian/type", + "type": "tidelift" + } + ], + "time": "2025-08-09T06:55:48+00:00" + }, + { + "name": "sebastian/version", + "version": "5.0.2", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/version.git", + "reference": "c687e3387b99f5b03b6caa64c74b63e2936ff874" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/version/zipball/c687e3387b99f5b03b6caa64c74b63e2936ff874", + "reference": "c687e3387b99f5b03b6caa64c74b63e2936ff874", + "shasum": "" + }, + "require": { + "php": ">=8.2" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "5.0-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", + "support": { + "issues": "https://github.com/sebastianbergmann/version/issues", + "security": "https://github.com/sebastianbergmann/version/security/policy", + "source": "https://github.com/sebastianbergmann/version/tree/5.0.2" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2024-10-09T05:16:32+00:00" + }, + { + "name": "staabm/side-effects-detector", + "version": "1.0.5", + "source": { + "type": "git", + "url": "https://github.com/staabm/side-effects-detector.git", + "reference": "d8334211a140ce329c13726d4a715adbddd0a163" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/staabm/side-effects-detector/zipball/d8334211a140ce329c13726d4a715adbddd0a163", + "reference": "d8334211a140ce329c13726d4a715adbddd0a163", + "shasum": "" + }, + "require": { + "ext-tokenizer": "*", + "php": "^7.4 || ^8.0" + }, + "require-dev": { + "phpstan/extension-installer": "^1.4.3", + "phpstan/phpstan": "^1.12.6", + "phpunit/phpunit": "^9.6.21", + "symfony/var-dumper": "^5.4.43", + "tomasvotruba/type-coverage": "1.0.0", + "tomasvotruba/unused-public": "1.0.0" + }, + "type": "library", + "autoload": { + "classmap": [ + "lib/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "description": "A static analysis tool to detect side effects in PHP code", + "keywords": [ + "static analysis" + ], + "support": { + "issues": "https://github.com/staabm/side-effects-detector/issues", + "source": "https://github.com/staabm/side-effects-detector/tree/1.0.5" + }, + "funding": [ + { + "url": "https://github.com/staabm", + "type": "github" + } + ], + "time": "2024-10-20T05:08:20+00:00" + }, + { + "name": "symfony/yaml", + "version": "v7.4.1", + "source": { + "type": "git", + "url": "https://github.com/symfony/yaml.git", + "reference": "24dd4de28d2e3988b311751ac49e684d783e2345" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/yaml/zipball/24dd4de28d2e3988b311751ac49e684d783e2345", + "reference": "24dd4de28d2e3988b311751ac49e684d783e2345", + "shasum": "" + }, + "require": { + "php": ">=8.2", + "symfony/deprecation-contracts": "^2.5|^3", + "symfony/polyfill-ctype": "^1.8" + }, + "conflict": { + "symfony/console": "<6.4" + }, + "require-dev": { + "symfony/console": "^6.4|^7.0|^8.0" + }, + "bin": [ + "Resources/bin/yaml-lint" + ], + "type": "library", + "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": "Loads and dumps YAML files", + "homepage": "https://symfony.com", + "support": { + "source": "https://github.com/symfony/yaml/tree/v7.4.1" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://github.com/nicolas-grekas", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2025-12-04T18:11:45+00:00" + }, + { + "name": "theseer/tokenizer", + "version": "1.3.1", + "source": { + "type": "git", + "url": "https://github.com/theseer/tokenizer.git", + "reference": "b7489ce515e168639d17feec34b8847c326b0b3c" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/theseer/tokenizer/zipball/b7489ce515e168639d17feec34b8847c326b0b3c", + "reference": "b7489ce515e168639d17feec34b8847c326b0b3c", + "shasum": "" + }, + "require": { + "ext-dom": "*", + "ext-tokenizer": "*", + "ext-xmlwriter": "*", + "php": "^7.2 || ^8.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", + "support": { + "issues": "https://github.com/theseer/tokenizer/issues", + "source": "https://github.com/theseer/tokenizer/tree/1.3.1" + }, + "funding": [ + { + "url": "https://github.com/theseer", + "type": "github" + } + ], + "time": "2025-11-17T20:03:58+00:00" + } + ], + "aliases": [], + "minimum-stability": "stable", + "stability-flags": [], + "prefer-stable": true, + "prefer-lowest": false, + "platform": { + "php": "^8.2" + }, + "platform-dev": [], + "plugin-api-version": "2.6.0" +} diff --git a/config/app.php b/config/app.php new file mode 100644 index 0000000..423eed5 --- /dev/null +++ b/config/app.php @@ -0,0 +1,126 @@ + 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' => (bool) 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 + | the application so that it's available within Artisan commands. + | + */ + + 'url' => env('APP_URL', 'http://localhost'), + + /* + |-------------------------------------------------------------------------- + | Application Timezone + |-------------------------------------------------------------------------- + | + | Here you may specify the default timezone for your application, which + | will be used by the PHP date and date-time functions. The timezone + | is set to "UTC" by default as it is suitable for most use cases. + | + */ + + 'timezone' => 'UTC', + + /* + |-------------------------------------------------------------------------- + | Application Locale Configuration + |-------------------------------------------------------------------------- + | + | The application locale determines the default locale that will be used + | by Laravel's translation / localization methods. This option can be + | set to any locale for which you plan to have translation strings. + | + */ + + 'locale' => env('APP_LOCALE', 'en'), + + 'fallback_locale' => env('APP_FALLBACK_LOCALE', 'en'), + + 'faker_locale' => env('APP_FAKER_LOCALE', 'en_US'), + + /* + |-------------------------------------------------------------------------- + | Encryption Key + |-------------------------------------------------------------------------- + | + | This key is utilized by Laravel's encryption services and should be set + | to a random, 32 character string to ensure that all encrypted values + | are secure. You should do this prior to deploying the application. + | + */ + + 'cipher' => 'AES-256-CBC', + + 'key' => env('APP_KEY'), + + 'previous_keys' => [ + ...array_filter( + explode(',', (string) env('APP_PREVIOUS_KEYS', '')) + ), + ], + + /* + |-------------------------------------------------------------------------- + | Maintenance Mode Driver + |-------------------------------------------------------------------------- + | + | These configuration options determine the driver used to determine and + | manage Laravel's "maintenance mode" status. The "cache" driver will + | allow maintenance mode to be controlled across multiple machines. + | + | Supported drivers: "file", "cache" + | + */ + + 'maintenance' => [ + 'driver' => env('APP_MAINTENANCE_DRIVER', 'file'), + 'store' => env('APP_MAINTENANCE_STORE', 'database'), + ], + +]; diff --git a/config/auth.php b/config/auth.php new file mode 100644 index 0000000..7d1eb0d --- /dev/null +++ b/config/auth.php @@ -0,0 +1,115 @@ + [ + 'guard' => env('AUTH_GUARD', 'web'), + 'passwords' => env('AUTH_PASSWORD_BROKER', 'users'), + ], + + /* + |-------------------------------------------------------------------------- + | Authentication Guards + |-------------------------------------------------------------------------- + | + | Next, you may define every authentication guard for your application. + | Of course, a great default configuration has been defined for you + | which utilizes session storage plus the Eloquent user provider. + | + | All authentication guards have a user provider, which defines how the + | users are actually retrieved out of your database or other storage + | system used by the application. Typically, Eloquent is utilized. + | + | Supported: "session" + | + */ + + 'guards' => [ + 'web' => [ + 'driver' => 'session', + 'provider' => 'users', + ], + ], + + /* + |-------------------------------------------------------------------------- + | User Providers + |-------------------------------------------------------------------------- + | + | All authentication guards have a user provider, which defines how the + | users are actually retrieved out of your database or other storage + | system used by the application. Typically, Eloquent is utilized. + | + | If you have multiple user tables or models you may configure multiple + | providers to represent the model / table. These providers may then + | be assigned to any extra authentication guards you have defined. + | + | Supported: "database", "eloquent" + | + */ + + 'providers' => [ + 'users' => [ + 'driver' => 'eloquent', + 'model' => env('AUTH_MODEL', App\Models\User::class), + ], + + // 'users' => [ + // 'driver' => 'database', + // 'table' => 'users', + // ], + ], + + /* + |-------------------------------------------------------------------------- + | Resetting Passwords + |-------------------------------------------------------------------------- + | + | These configuration options specify the behavior of Laravel's password + | reset functionality, including the table utilized for token storage + | and the user provider that is invoked to actually retrieve users. + | + | The expiry time is the number of minutes that each reset token will be + | considered valid. This security feature keeps tokens short-lived so + | they have less time to be guessed. You may change this as needed. + | + | The throttle setting is the number of seconds a user must wait before + | generating more password reset tokens. This prevents the user from + | quickly generating a very large amount of password reset tokens. + | + */ + + 'passwords' => [ + 'users' => [ + 'provider' => 'users', + 'table' => env('AUTH_PASSWORD_RESET_TOKEN_TABLE', 'password_reset_tokens'), + 'expire' => 60, + 'throttle' => 60, + ], + ], + + /* + |-------------------------------------------------------------------------- + | Password Confirmation Timeout + |-------------------------------------------------------------------------- + | + | Here you may define the number of seconds before a password confirmation + | window expires and users are asked to re-enter their password via the + | confirmation screen. By default, the timeout lasts for three hours. + | + */ + + 'password_timeout' => env('AUTH_PASSWORD_TIMEOUT', 10800), + +]; diff --git a/config/cache.php b/config/cache.php new file mode 100644 index 0000000..b32aead --- /dev/null +++ b/config/cache.php @@ -0,0 +1,117 @@ + env('CACHE_STORE', 'database'), + + /* + |-------------------------------------------------------------------------- + | 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. + | + | Supported drivers: "array", "database", "file", "memcached", + | "redis", "dynamodb", "octane", + | "failover", "null" + | + */ + + 'stores' => [ + + 'array' => [ + 'driver' => 'array', + 'serialize' => false, + ], + + 'database' => [ + 'driver' => 'database', + 'connection' => env('DB_CACHE_CONNECTION'), + 'table' => env('DB_CACHE_TABLE', 'cache'), + 'lock_connection' => env('DB_CACHE_LOCK_CONNECTION'), + 'lock_table' => env('DB_CACHE_LOCK_TABLE'), + ], + + 'file' => [ + 'driver' => 'file', + 'path' => storage_path('framework/cache/data'), + 'lock_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' => env('REDIS_CACHE_CONNECTION', 'cache'), + 'lock_connection' => env('REDIS_CACHE_LOCK_CONNECTION', 'default'), + ], + + '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'), + ], + + 'octane' => [ + 'driver' => 'octane', + ], + + 'failover' => [ + 'driver' => 'failover', + 'stores' => [ + 'database', + 'array', + ], + ], + + ], + + /* + |-------------------------------------------------------------------------- + | Cache Key Prefix + |-------------------------------------------------------------------------- + | + | When utilizing the APC, database, memcached, Redis, and DynamoDB cache + | stores, there might be other applications using the same cache. For + | that reason, you may prefix every cache key to avoid collisions. + | + */ + + 'prefix' => env('CACHE_PREFIX', Str::slug((string) env('APP_NAME', 'laravel')).'-cache-'), + +]; diff --git a/config/database.php b/config/database.php new file mode 100644 index 0000000..df933e7 --- /dev/null +++ b/config/database.php @@ -0,0 +1,183 @@ + env('DB_CONNECTION', 'sqlite'), + + /* + |-------------------------------------------------------------------------- + | Database Connections + |-------------------------------------------------------------------------- + | + | Below are all of the database connections defined for your application. + | An example configuration is provided for each database system which + | is supported by Laravel. You're free to add / remove connections. + | + */ + + 'connections' => [ + + 'sqlite' => [ + 'driver' => 'sqlite', + 'url' => env('DB_URL'), + 'database' => env('DB_DATABASE', database_path('database.sqlite')), + 'prefix' => '', + 'foreign_key_constraints' => env('DB_FOREIGN_KEYS', true), + 'busy_timeout' => null, + 'journal_mode' => null, + 'synchronous' => null, + 'transaction_mode' => 'DEFERRED', + ], + + 'mysql' => [ + 'driver' => 'mysql', + 'url' => env('DB_URL'), + 'host' => env('DB_HOST', '127.0.0.1'), + 'port' => env('DB_PORT', '3306'), + 'database' => env('DB_DATABASE', 'laravel'), + 'username' => env('DB_USERNAME', 'root'), + 'password' => env('DB_PASSWORD', ''), + 'unix_socket' => env('DB_SOCKET', ''), + 'charset' => env('DB_CHARSET', 'utf8mb4'), + 'collation' => env('DB_COLLATION', 'utf8mb4_unicode_ci'), + 'prefix' => '', + 'prefix_indexes' => true, + 'strict' => true, + 'engine' => null, + 'options' => extension_loaded('pdo_mysql') ? array_filter([ + (PHP_VERSION_ID >= 80500 ? \Pdo\Mysql::ATTR_SSL_CA : \PDO::MYSQL_ATTR_SSL_CA) => env('MYSQL_ATTR_SSL_CA'), + ]) : [], + ], + + 'mariadb' => [ + 'driver' => 'mariadb', + 'url' => env('DB_URL'), + 'host' => env('DB_HOST', '127.0.0.1'), + 'port' => env('DB_PORT', '3306'), + 'database' => env('DB_DATABASE', 'laravel'), + 'username' => env('DB_USERNAME', 'root'), + 'password' => env('DB_PASSWORD', ''), + 'unix_socket' => env('DB_SOCKET', ''), + 'charset' => env('DB_CHARSET', 'utf8mb4'), + 'collation' => env('DB_COLLATION', 'utf8mb4_unicode_ci'), + 'prefix' => '', + 'prefix_indexes' => true, + 'strict' => true, + 'engine' => null, + 'options' => extension_loaded('pdo_mysql') ? array_filter([ + (PHP_VERSION_ID >= 80500 ? \Pdo\Mysql::ATTR_SSL_CA : \PDO::MYSQL_ATTR_SSL_CA) => env('MYSQL_ATTR_SSL_CA'), + ]) : [], + ], + + 'pgsql' => [ + 'driver' => 'pgsql', + 'url' => env('DB_URL'), + 'host' => env('DB_HOST', '127.0.0.1'), + 'port' => env('DB_PORT', '5432'), + 'database' => env('DB_DATABASE', 'laravel'), + 'username' => env('DB_USERNAME', 'root'), + 'password' => env('DB_PASSWORD', ''), + 'charset' => env('DB_CHARSET', 'utf8'), + 'prefix' => '', + 'prefix_indexes' => true, + 'search_path' => 'public', + 'sslmode' => env('DB_SSLMODE', 'prefer'), + ], + + 'sqlsrv' => [ + 'driver' => 'sqlsrv', + 'url' => env('DB_URL'), + 'host' => env('DB_HOST', 'localhost'), + 'port' => env('DB_PORT', '1433'), + 'database' => env('DB_DATABASE', 'laravel'), + 'username' => env('DB_USERNAME', 'root'), + 'password' => env('DB_PASSWORD', ''), + 'charset' => env('DB_CHARSET', 'utf8'), + 'prefix' => '', + 'prefix_indexes' => true, + // 'encrypt' => env('DB_ENCRYPT', 'yes'), + // 'trust_server_certificate' => env('DB_TRUST_SERVER_CERTIFICATE', 'false'), + ], + + ], + + /* + |-------------------------------------------------------------------------- + | 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 on the database. + | + */ + + 'migrations' => [ + 'table' => 'migrations', + 'update_date_on_publish' => true, + ], + + /* + |-------------------------------------------------------------------------- + | 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 Memcached. You may define your connection settings here. + | + */ + + 'redis' => [ + + 'client' => env('REDIS_CLIENT', 'phpredis'), + + 'options' => [ + 'cluster' => env('REDIS_CLUSTER', 'redis'), + 'prefix' => env('REDIS_PREFIX', Str::slug((string) env('APP_NAME', 'laravel')).'-database-'), + 'persistent' => env('REDIS_PERSISTENT', false), + ], + + 'default' => [ + 'url' => env('REDIS_URL'), + 'host' => env('REDIS_HOST', '127.0.0.1'), + 'username' => env('REDIS_USERNAME'), + 'password' => env('REDIS_PASSWORD'), + 'port' => env('REDIS_PORT', '6379'), + 'database' => env('REDIS_DB', '0'), + 'max_retries' => env('REDIS_MAX_RETRIES', 3), + 'backoff_algorithm' => env('REDIS_BACKOFF_ALGORITHM', 'decorrelated_jitter'), + 'backoff_base' => env('REDIS_BACKOFF_BASE', 100), + 'backoff_cap' => env('REDIS_BACKOFF_CAP', 1000), + ], + + 'cache' => [ + 'url' => env('REDIS_URL'), + 'host' => env('REDIS_HOST', '127.0.0.1'), + 'username' => env('REDIS_USERNAME'), + 'password' => env('REDIS_PASSWORD'), + 'port' => env('REDIS_PORT', '6379'), + 'database' => env('REDIS_CACHE_DB', '1'), + 'max_retries' => env('REDIS_MAX_RETRIES', 3), + 'backoff_algorithm' => env('REDIS_BACKOFF_ALGORITHM', 'decorrelated_jitter'), + 'backoff_base' => env('REDIS_BACKOFF_BASE', 100), + 'backoff_cap' => env('REDIS_BACKOFF_CAP', 1000), + ], + + ], + +]; diff --git a/config/filesystems.php b/config/filesystems.php new file mode 100644 index 0000000..37d8fca --- /dev/null +++ b/config/filesystems.php @@ -0,0 +1,80 @@ + env('FILESYSTEM_DISK', 'local'), + + /* + |-------------------------------------------------------------------------- + | Filesystem Disks + |-------------------------------------------------------------------------- + | + | Below you may configure as many filesystem disks as necessary, and you + | may even configure multiple disks for the same driver. Examples for + | most supported storage drivers are configured here for reference. + | + | Supported drivers: "local", "ftp", "sftp", "s3" + | + */ + + 'disks' => [ + + 'local' => [ + 'driver' => 'local', + 'root' => storage_path('app/private'), + 'serve' => true, + 'throw' => false, + 'report' => false, + ], + + 'public' => [ + 'driver' => 'local', + 'root' => storage_path('app/public'), + 'url' => rtrim(env('APP_URL', 'http://localhost'), '/').'/storage', + 'visibility' => 'public', + 'throw' => false, + 'report' => false, + ], + + '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'), + 'endpoint' => env('AWS_ENDPOINT'), + 'use_path_style_endpoint' => env('AWS_USE_PATH_STYLE_ENDPOINT', false), + 'throw' => false, + 'report' => false, + ], + + ], + + /* + |-------------------------------------------------------------------------- + | Symbolic Links + |-------------------------------------------------------------------------- + | + | Here you may configure the symbolic links that will be created when the + | `storage:link` Artisan command is executed. The array keys should be + | the locations of the links and the values should be their targets. + | + */ + + 'links' => [ + public_path('storage') => storage_path('app/public'), + ], + +]; diff --git a/config/logging.php b/config/logging.php new file mode 100644 index 0000000..9e998a4 --- /dev/null +++ b/config/logging.php @@ -0,0 +1,132 @@ + env('LOG_CHANNEL', 'stack'), + + /* + |-------------------------------------------------------------------------- + | Deprecations Log Channel + |-------------------------------------------------------------------------- + | + | This option controls the log channel that should be used to log warnings + | regarding deprecated PHP and library features. This allows you to get + | your application ready for upcoming major versions of dependencies. + | + */ + + 'deprecations' => [ + 'channel' => env('LOG_DEPRECATIONS_CHANNEL', 'null'), + 'trace' => env('LOG_DEPRECATIONS_TRACE', false), + ], + + /* + |-------------------------------------------------------------------------- + | Log Channels + |-------------------------------------------------------------------------- + | + | Here you may configure the log channels for your application. Laravel + | utilizes the Monolog PHP logging library, which includes a variety + | of powerful log handlers and formatters that you're free to use. + | + | Available drivers: "single", "daily", "slack", "syslog", + | "errorlog", "monolog", "custom", "stack" + | + */ + + 'channels' => [ + + 'stack' => [ + 'driver' => 'stack', + 'channels' => explode(',', (string) env('LOG_STACK', 'single')), + 'ignore_exceptions' => false, + ], + + 'single' => [ + 'driver' => 'single', + 'path' => storage_path('logs/laravel.log'), + 'level' => env('LOG_LEVEL', 'debug'), + 'replace_placeholders' => true, + ], + + 'daily' => [ + 'driver' => 'daily', + 'path' => storage_path('logs/laravel.log'), + 'level' => env('LOG_LEVEL', 'debug'), + 'days' => env('LOG_DAILY_DAYS', 14), + 'replace_placeholders' => true, + ], + + 'slack' => [ + 'driver' => 'slack', + 'url' => env('LOG_SLACK_WEBHOOK_URL'), + 'username' => env('LOG_SLACK_USERNAME', 'Laravel Log'), + 'emoji' => env('LOG_SLACK_EMOJI', ':boom:'), + 'level' => env('LOG_LEVEL', 'critical'), + 'replace_placeholders' => true, + ], + + 'papertrail' => [ + 'driver' => 'monolog', + 'level' => env('LOG_LEVEL', 'debug'), + 'handler' => env('LOG_PAPERTRAIL_HANDLER', SyslogUdpHandler::class), + 'handler_with' => [ + 'host' => env('PAPERTRAIL_URL'), + 'port' => env('PAPERTRAIL_PORT'), + 'connectionString' => 'tls://'.env('PAPERTRAIL_URL').':'.env('PAPERTRAIL_PORT'), + ], + 'processors' => [PsrLogMessageProcessor::class], + ], + + 'stderr' => [ + 'driver' => 'monolog', + 'level' => env('LOG_LEVEL', 'debug'), + 'handler' => StreamHandler::class, + 'handler_with' => [ + 'stream' => 'php://stderr', + ], + 'formatter' => env('LOG_STDERR_FORMATTER'), + 'processors' => [PsrLogMessageProcessor::class], + ], + + 'syslog' => [ + 'driver' => 'syslog', + 'level' => env('LOG_LEVEL', 'debug'), + 'facility' => env('LOG_SYSLOG_FACILITY', LOG_USER), + 'replace_placeholders' => true, + ], + + 'errorlog' => [ + 'driver' => 'errorlog', + 'level' => env('LOG_LEVEL', 'debug'), + 'replace_placeholders' => true, + ], + + 'null' => [ + 'driver' => 'monolog', + 'handler' => NullHandler::class, + ], + + 'emergency' => [ + 'path' => storage_path('logs/laravel.log'), + ], + + ], + +]; diff --git a/config/mail.php b/config/mail.php new file mode 100644 index 0000000..522b284 --- /dev/null +++ b/config/mail.php @@ -0,0 +1,118 @@ + env('MAIL_MAILER', 'log'), + + /* + |-------------------------------------------------------------------------- + | Mailer Configurations + |-------------------------------------------------------------------------- + | + | Here you may configure all of the mailers used by your application plus + | their respective settings. Several examples have been configured for + | you and you are free to add your own as your application requires. + | + | Laravel supports a variety of mail "transport" drivers that can be used + | when delivering an email. You may specify which one you're using for + | your mailers below. You may also add additional mailers if needed. + | + | Supported: "smtp", "sendmail", "mailgun", "ses", "ses-v2", + | "postmark", "resend", "log", "array", + | "failover", "roundrobin" + | + */ + + 'mailers' => [ + + 'smtp' => [ + 'transport' => 'smtp', + 'scheme' => env('MAIL_SCHEME'), + 'url' => env('MAIL_URL'), + 'host' => env('MAIL_HOST', '127.0.0.1'), + 'port' => env('MAIL_PORT', 2525), + 'username' => env('MAIL_USERNAME'), + 'password' => env('MAIL_PASSWORD'), + 'timeout' => null, + 'local_domain' => env('MAIL_EHLO_DOMAIN', parse_url((string) env('APP_URL', 'http://localhost'), PHP_URL_HOST)), + ], + + 'ses' => [ + 'transport' => 'ses', + ], + + 'postmark' => [ + 'transport' => 'postmark', + // 'message_stream_id' => env('POSTMARK_MESSAGE_STREAM_ID'), + // 'client' => [ + // 'timeout' => 5, + // ], + ], + + 'resend' => [ + 'transport' => 'resend', + ], + + 'sendmail' => [ + 'transport' => 'sendmail', + 'path' => env('MAIL_SENDMAIL_PATH', '/usr/sbin/sendmail -bs -i'), + ], + + 'log' => [ + 'transport' => 'log', + 'channel' => env('MAIL_LOG_CHANNEL'), + ], + + 'array' => [ + 'transport' => 'array', + ], + + 'failover' => [ + 'transport' => 'failover', + 'mailers' => [ + 'smtp', + 'log', + ], + 'retry_after' => 60, + ], + + 'roundrobin' => [ + 'transport' => 'roundrobin', + 'mailers' => [ + 'ses', + 'postmark', + ], + 'retry_after' => 60, + ], + + ], + + /* + |-------------------------------------------------------------------------- + | Global "From" Address + |-------------------------------------------------------------------------- + | + | You may wish for all emails 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 emails that are sent by your application. + | + */ + + 'from' => [ + 'address' => env('MAIL_FROM_ADDRESS', 'hello@example.com'), + 'name' => env('MAIL_FROM_NAME', 'Example'), + ], + +]; diff --git a/config/queue.php b/config/queue.php new file mode 100644 index 0000000..79c2c0a --- /dev/null +++ b/config/queue.php @@ -0,0 +1,129 @@ + env('QUEUE_CONNECTION', 'database'), + + /* + |-------------------------------------------------------------------------- + | Queue Connections + |-------------------------------------------------------------------------- + | + | Here you may configure the connection options for every queue backend + | used by your application. An example configuration is provided for + | each backend supported by Laravel. You're also free to add more. + | + | Drivers: "sync", "database", "beanstalkd", "sqs", "redis", + | "deferred", "background", "failover", "null" + | + */ + + 'connections' => [ + + 'sync' => [ + 'driver' => 'sync', + ], + + 'database' => [ + 'driver' => 'database', + 'connection' => env('DB_QUEUE_CONNECTION'), + 'table' => env('DB_QUEUE_TABLE', 'jobs'), + 'queue' => env('DB_QUEUE', 'default'), + 'retry_after' => (int) env('DB_QUEUE_RETRY_AFTER', 90), + 'after_commit' => false, + ], + + 'beanstalkd' => [ + 'driver' => 'beanstalkd', + 'host' => env('BEANSTALKD_QUEUE_HOST', 'localhost'), + 'queue' => env('BEANSTALKD_QUEUE', 'default'), + 'retry_after' => (int) env('BEANSTALKD_QUEUE_RETRY_AFTER', 90), + 'block_for' => 0, + 'after_commit' => false, + ], + + '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', 'default'), + 'suffix' => env('SQS_SUFFIX'), + 'region' => env('AWS_DEFAULT_REGION', 'us-east-1'), + 'after_commit' => false, + ], + + 'redis' => [ + 'driver' => 'redis', + 'connection' => env('REDIS_QUEUE_CONNECTION', 'default'), + 'queue' => env('REDIS_QUEUE', 'default'), + 'retry_after' => (int) env('REDIS_QUEUE_RETRY_AFTER', 90), + 'block_for' => null, + 'after_commit' => false, + ], + + 'deferred' => [ + 'driver' => 'deferred', + ], + + 'background' => [ + 'driver' => 'background', + ], + + 'failover' => [ + 'driver' => 'failover', + 'connections' => [ + 'database', + 'deferred', + ], + ], + + ], + + /* + |-------------------------------------------------------------------------- + | Job Batching + |-------------------------------------------------------------------------- + | + | The following options configure the database and table that store job + | batching information. These options can be updated to any database + | connection and table which has been defined by your application. + | + */ + + 'batching' => [ + 'database' => env('DB_CONNECTION', 'sqlite'), + 'table' => 'job_batches', + ], + + /* + |-------------------------------------------------------------------------- + | Failed Queue Jobs + |-------------------------------------------------------------------------- + | + | These options configure the behavior of failed queue job logging so you + | can control how and where failed jobs are stored. Laravel ships with + | support for storing failed jobs in a simple file or in a database. + | + | Supported drivers: "database-uuids", "dynamodb", "file", "null" + | + */ + + 'failed' => [ + 'driver' => env('QUEUE_FAILED_DRIVER', 'database-uuids'), + 'database' => env('DB_CONNECTION', 'sqlite'), + 'table' => 'failed_jobs', + ], + +]; diff --git a/config/services.php b/config/services.php new file mode 100644 index 0000000..6a90eb8 --- /dev/null +++ b/config/services.php @@ -0,0 +1,38 @@ + [ + 'key' => env('POSTMARK_API_KEY'), + ], + + 'resend' => [ + 'key' => env('RESEND_API_KEY'), + ], + + 'ses' => [ + 'key' => env('AWS_ACCESS_KEY_ID'), + 'secret' => env('AWS_SECRET_ACCESS_KEY'), + 'region' => env('AWS_DEFAULT_REGION', 'us-east-1'), + ], + + 'slack' => [ + 'notifications' => [ + 'bot_user_oauth_token' => env('SLACK_BOT_USER_OAUTH_TOKEN'), + 'channel' => env('SLACK_BOT_USER_DEFAULT_CHANNEL'), + ], + ], + +]; diff --git a/config/session.php b/config/session.php new file mode 100644 index 0000000..5b541b7 --- /dev/null +++ b/config/session.php @@ -0,0 +1,217 @@ + env('SESSION_DRIVER', 'database'), + + /* + |-------------------------------------------------------------------------- + | 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 expire immediately when the browser is closed then you may + | indicate that via the expire_on_close configuration option. + | + */ + + 'lifetime' => (int) env('SESSION_LIFETIME', 120), + + 'expire_on_close' => env('SESSION_EXPIRE_ON_CLOSE', false), + + /* + |-------------------------------------------------------------------------- + | Session Encryption + |-------------------------------------------------------------------------- + | + | This option allows you to easily specify that all of your session data + | should be encrypted before it's stored. All encryption is performed + | automatically by Laravel and you may use the session like normal. + | + */ + + 'encrypt' => env('SESSION_ENCRYPT', false), + + /* + |-------------------------------------------------------------------------- + | Session File Location + |-------------------------------------------------------------------------- + | + | When utilizing the "file" session driver, the session files are placed + | on disk. The default storage location is defined here; however, you + | are free to provide another location where they should be stored. + | + */ + + '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'), + + /* + |-------------------------------------------------------------------------- + | Session Database Table + |-------------------------------------------------------------------------- + | + | When using the "database" session driver, you may specify the table to + | be used to store sessions. Of course, a sensible default is defined + | for you; however, you're welcome to change this to another table. + | + */ + + 'table' => env('SESSION_TABLE', 'sessions'), + + /* + |-------------------------------------------------------------------------- + | Session Cache Store + |-------------------------------------------------------------------------- + | + | When using one of the framework's cache driven session backends, you may + | define the cache store which should be used to store the session data + | between requests. This must match one of your defined cache stores. + | + | Affects: "dynamodb", "memcached", "redis" + | + */ + + 'store' => env('SESSION_STORE'), + + /* + |-------------------------------------------------------------------------- + | 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 session cookie that is created by + | the framework. Typically, you should not need to change this value + | since doing so does not grant a meaningful security improvement. + | + */ + + 'cookie' => env( + 'SESSION_COOKIE', + Str::slug((string) 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're free to change this when necessary. + | + */ + + 'path' => env('SESSION_PATH', '/'), + + /* + |-------------------------------------------------------------------------- + | Session Cookie Domain + |-------------------------------------------------------------------------- + | + | This value determines the domain and subdomains the session cookie is + | available to. By default, the cookie will be available to the root + | domain without subdomains. Typically, this shouldn't be changed. + | + */ + + 'domain' => env('SESSION_DOMAIN'), + + /* + |-------------------------------------------------------------------------- + | 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 when it can't be done securely. + | + */ + + 'secure' => env('SESSION_SECURE_COOKIE'), + + /* + |-------------------------------------------------------------------------- + | 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. It's unlikely you should disable this option. + | + */ + + 'http_only' => env('SESSION_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 + | will set this value to "lax" to permit secure cross-site requests. + | + | See: https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Set-Cookie#samesitesamesite-value + | + | Supported: "lax", "strict", "none", null + | + */ + + 'same_site' => env('SESSION_SAME_SITE', 'lax'), + + /* + |-------------------------------------------------------------------------- + | Partitioned Cookies + |-------------------------------------------------------------------------- + | + | Setting this value to true will tie the cookie to the top-level site for + | a cross-site context. Partitioned cookies are accepted by the browser + | when flagged "secure" and the Same-Site attribute is set to "none". + | + */ + + 'partitioned' => env('SESSION_PARTITIONED_COOKIE', false), + +]; diff --git a/database/.gitignore b/database/.gitignore new file mode 100644 index 0000000..9b19b93 --- /dev/null +++ b/database/.gitignore @@ -0,0 +1 @@ +*.sqlite* diff --git a/database/factories/UserFactory.php b/database/factories/UserFactory.php new file mode 100644 index 0000000..584104c --- /dev/null +++ b/database/factories/UserFactory.php @@ -0,0 +1,44 @@ + + */ +class UserFactory extends Factory +{ + /** + * The current password being used by the factory. + */ + protected static ?string $password; + + /** + * Define the model's default state. + * + * @return array + */ + public function definition(): array + { + return [ + 'name' => fake()->name(), + 'email' => fake()->unique()->safeEmail(), + 'email_verified_at' => now(), + 'password' => static::$password ??= Hash::make('password'), + 'remember_token' => Str::random(10), + ]; + } + + /** + * Indicate that the model's email address should be unverified. + */ + public function unverified(): static + { + return $this->state(fn (array $attributes) => [ + 'email_verified_at' => null, + ]); + } +} diff --git a/database/migrations/0001_01_01_000000_create_users_table.php b/database/migrations/0001_01_01_000000_create_users_table.php new file mode 100644 index 0000000..fc9a502 --- /dev/null +++ b/database/migrations/0001_01_01_000000_create_users_table.php @@ -0,0 +1,32 @@ +id(); + + $table->string('name'); + $table->string('email')->unique(); // WAJIB UNIQUE + $table->timestamp('email_verified_at')->nullable(); + + $table->string('password'); + + $table->enum('role', ['admin', 'karyawan'])->default('karyawan'); + $table->boolean('is_active')->default(true); // kontrol login + + $table->rememberToken(); + $table->timestamps(); + }); + } + + public function down(): void + { + Schema::dropIfExists('users'); + } +}; diff --git a/database/migrations/0001_01_01_000001_create_cache_table.php b/database/migrations/0001_01_01_000001_create_cache_table.php new file mode 100644 index 0000000..ed758bd --- /dev/null +++ b/database/migrations/0001_01_01_000001_create_cache_table.php @@ -0,0 +1,35 @@ +string('key')->primary(); + $table->mediumText('value'); + $table->integer('expiration')->index(); + }); + + Schema::create('cache_locks', function (Blueprint $table) { + $table->string('key')->primary(); + $table->string('owner'); + $table->integer('expiration')->index(); + }); + } + + /** + * Reverse the migrations. + */ + public function down(): void + { + Schema::dropIfExists('cache'); + Schema::dropIfExists('cache_locks'); + } +}; diff --git a/database/migrations/0001_01_01_000002_create_jobs_table.php b/database/migrations/0001_01_01_000002_create_jobs_table.php new file mode 100644 index 0000000..425e705 --- /dev/null +++ b/database/migrations/0001_01_01_000002_create_jobs_table.php @@ -0,0 +1,57 @@ +id(); + $table->string('queue')->index(); + $table->longText('payload'); + $table->unsignedTinyInteger('attempts'); + $table->unsignedInteger('reserved_at')->nullable(); + $table->unsignedInteger('available_at'); + $table->unsignedInteger('created_at'); + }); + + Schema::create('job_batches', function (Blueprint $table) { + $table->string('id')->primary(); + $table->string('name'); + $table->integer('total_jobs'); + $table->integer('pending_jobs'); + $table->integer('failed_jobs'); + $table->longText('failed_job_ids'); + $table->mediumText('options')->nullable(); + $table->integer('cancelled_at')->nullable(); + $table->integer('created_at'); + $table->integer('finished_at')->nullable(); + }); + + Schema::create('failed_jobs', function (Blueprint $table) { + $table->id(); + $table->string('uuid')->unique(); + $table->text('connection'); + $table->text('queue'); + $table->longText('payload'); + $table->longText('exception'); + $table->timestamp('failed_at')->useCurrent(); + }); + } + + /** + * Reverse the migrations. + */ + public function down(): void + { + Schema::dropIfExists('jobs'); + Schema::dropIfExists('job_batches'); + Schema::dropIfExists('failed_jobs'); + } +}; diff --git a/database/migrations/2026_01_24_224914_create_karyawan_table.php b/database/migrations/2026_01_24_224914_create_karyawan_table.php new file mode 100644 index 0000000..e632162 --- /dev/null +++ b/database/migrations/2026_01_24_224914_create_karyawan_table.php @@ -0,0 +1,32 @@ +id(); // id primary key auto increment + $table->foreignId('user_id')->nullable()->constrained()->onDelete('cascade'); // jika relasi ke user ada + $table->string('nama_karyawan'); + $table->string('no_hp'); + $table->string('alamat')->nullable(); + $table->enum('status_karyawan', ['aktif', 'nonaktif']); + $table->timestamps(); // created_at & updated_at + }); + } + + /** + * Reverse the migrations. + */ + public function down(): void + { + Schema::dropIfExists('karyawan'); + } +}; diff --git a/database/migrations/2026_01_24_225149_create_kandang_table.php b/database/migrations/2026_01_24_225149_create_kandang_table.php new file mode 100644 index 0000000..88c822c --- /dev/null +++ b/database/migrations/2026_01_24_225149_create_kandang_table.php @@ -0,0 +1,29 @@ +id(); // id primary key auto increment + $table->string('nama_kandang'); + $table->string('jenis_kandang'); + $table->timestamps(); // created_at & updated_at + }); + } + + /** + * Reverse the migrations. + */ + public function down(): void + { + Schema::dropIfExists('kandang'); + } +}; diff --git a/database/migrations/2026_01_24_225312_create_produk_table.php b/database/migrations/2026_01_24_225312_create_produk_table.php new file mode 100644 index 0000000..068103e --- /dev/null +++ b/database/migrations/2026_01_24_225312_create_produk_table.php @@ -0,0 +1,30 @@ +id(); // id primary key auto increment + $table->string('nama_produk'); + $table->string('jenis_produk'); + $table->string('satuan'); + $table->timestamps(); // created_at & updated_at + }); + } + + /** + * Reverse the migrations. + */ + public function down(): void + { + Schema::dropIfExists('produk'); + } +}; diff --git a/database/migrations/2026_01_24_225419_create_populasi_ayam_table.php b/database/migrations/2026_01_24_225419_create_populasi_ayam_table.php new file mode 100644 index 0000000..e5ed23d --- /dev/null +++ b/database/migrations/2026_01_24_225419_create_populasi_ayam_table.php @@ -0,0 +1,32 @@ +id(); + $table->foreignId('kandang_id')->constrained('kandang'); // foreign key ke tabel kandang + $table->foreignId('user_id')->nullable()->constrained('users'); // foreign key ke users, nullable + $table->integer('jumlah_ayam'); + $table->date('tanggal'); + $table->text('keterangan')->nullable(); + $table->timestamps(); + }); + } + + /** + * Reverse the migrations. + */ + public function down(): void + { + Schema::dropIfExists('populasi_ayam'); + } +}; diff --git a/database/migrations/2026_01_24_225548_create_produksi_telur_table.php b/database/migrations/2026_01_24_225548_create_produksi_telur_table.php new file mode 100644 index 0000000..ae0e51a --- /dev/null +++ b/database/migrations/2026_01_24_225548_create_produksi_telur_table.php @@ -0,0 +1,34 @@ +id(); + $table->foreignId('kandang_id')->constrained('kandang'); // FK ke tabel kandang + $table->foreignId('user_id')->nullable()->constrained('users'); // FK ke users, nullable + $table->enum('shift', ['pagi', 'sore']); + $table->decimal('berat_telur_layak', 8, 2); + $table->decimal('berat_telur_rusak', 8, 2); + $table->decimal('berat_telur_total', 8, 2); + $table->date('tanggal_produksi'); + $table->timestamps(); // created_at & updated_at + }); + } + + /** + * Reverse the migrations. + */ + public function down(): void + { + Schema::dropIfExists('produksi_telur'); + } +}; diff --git a/database/migrations/2026_01_24_225718_create_inventori_kandang_table.php b/database/migrations/2026_01_24_225718_create_inventori_kandang_table.php new file mode 100644 index 0000000..0d284be --- /dev/null +++ b/database/migrations/2026_01_24_225718_create_inventori_kandang_table.php @@ -0,0 +1,34 @@ +id(); + $table->foreignId('user_id')->constrained('users'); // FK ke users + $table->string('nama_barang'); + $table->enum('jenis_transaksi', ['masuk', 'keluar']); + $table->decimal('jumlah', 10, 2); + $table->string('satuan'); + $table->decimal('harga_satuan', 12, 2)->nullable(); + $table->decimal('total_harga', 14, 2)->nullable(); + $table->timestamps(); // created_at & updated_at + }); + } + + /** + * Reverse the migrations. + */ + public function down(): void + { + Schema::dropIfExists('inventori_kandang'); + } +}; diff --git a/database/migrations/2026_01_24_225918_create_penjualan_table.php b/database/migrations/2026_01_24_225918_create_penjualan_table.php new file mode 100644 index 0000000..9f1f019 --- /dev/null +++ b/database/migrations/2026_01_24_225918_create_penjualan_table.php @@ -0,0 +1,29 @@ +id(); + $table->foreignId('user_id')->constrained('users'); // FK ke users + $table->decimal('total_penjualan', 14, 2); + $table->timestamps(); // created_at & updated_at + }); + } + + /** + * Reverse the migrations. + */ + public function down(): void + { + Schema::dropIfExists('penjualan'); + } +}; diff --git a/database/migrations/2026_01_24_230027_create_detail_penjualan_table.php b/database/migrations/2026_01_24_230027_create_detail_penjualan_table.php new file mode 100644 index 0000000..687e658 --- /dev/null +++ b/database/migrations/2026_01_24_230027_create_detail_penjualan_table.php @@ -0,0 +1,31 @@ +id(); + $table->foreignId('penjualan_id')->constrained('penjualan')->cascadeOnDelete(); + $table->foreignId('produk_id')->constrained('produk')->cascadeOnDelete(); + $table->decimal('jumlah', 10, 2); + $table->decimal('harga_satuan', 12, 2); + $table->timestamps(); // created_at & updated_at + }); + } + + /** + * Reverse the migrations. + */ + public function down(): void + { + Schema::dropIfExists('detail_penjualan'); + } +}; diff --git a/database/migrations/2026_01_24_230130_create_gaji_karyawan_table.php b/database/migrations/2026_01_24_230130_create_gaji_karyawan_table.php new file mode 100644 index 0000000..91d0b23 --- /dev/null +++ b/database/migrations/2026_01_24_230130_create_gaji_karyawan_table.php @@ -0,0 +1,33 @@ +id(); + $table->foreignId('karyawan_id')->constrained('karyawan')->cascadeOnDelete(); + $table->integer('bulan'); + $table->integer('tahun'); + $table->decimal('gaji_pokok', 12, 2); + $table->date('tanggal_bayar'); + $table->enum('status_bayar', ['dibayar', 'belum']); + $table->timestamps(); // created_at & updated_at + }); + } + + /** + * Reverse the migrations. + */ + public function down(): void + { + Schema::dropIfExists('gaji_karyawan'); + } +}; diff --git a/database/migrations/2026_01_24_230232_create_password_resets_table.php b/database/migrations/2026_01_24_230232_create_password_resets_table.php new file mode 100644 index 0000000..4f42fe6 --- /dev/null +++ b/database/migrations/2026_01_24_230232_create_password_resets_table.php @@ -0,0 +1,28 @@ +string('email')->index(); + $table->string('token'); + $table->timestamp('created_at')->nullable(); + }); + } + + /** + * Reverse the migrations. + */ + public function down(): void + { + Schema::dropIfExists('password_resets'); + } +}; diff --git a/database/migrations/2026_02_08_143108_update_penjualan_table.php b/database/migrations/2026_02_08_143108_update_penjualan_table.php new file mode 100644 index 0000000..eeef2e9 --- /dev/null +++ b/database/migrations/2026_02_08_143108_update_penjualan_table.php @@ -0,0 +1,45 @@ +decimal('berat_terjual', 8, 2)->after('user_id'); + } + + // harga_satuan belum ada → tambah + if (!Schema::hasColumn('penjualan', 'harga_satuan')) { + $table->decimal('harga_satuan', 12, 2)->after('berat_terjual'); + } + + // total_penjualan sudah ada → lewati + + // tanggal_penjualan baru → gunakan nullable supaya data lama aman + if (!Schema::hasColumn('penjualan', 'tanggal_penjualan')) { + $table->date('tanggal_penjualan')->nullable()->after('total_penjualan'); + } + }); + } + + public function down() + { + Schema::table('penjualan', function (Blueprint $table) { + if (Schema::hasColumn('penjualan', 'berat_terjual')) { + $table->dropColumn('berat_terjual'); + } + if (Schema::hasColumn('penjualan', 'harga_satuan')) { + $table->dropColumn('harga_satuan'); + } + if (Schema::hasColumn('penjualan', 'tanggal_penjualan')) { + $table->dropColumn('tanggal_penjualan'); + } + }); + } +}; diff --git a/database/migrations/2026_02_08_145521_drop_detail_penjualan_table.php b/database/migrations/2026_02_08_145521_drop_detail_penjualan_table.php new file mode 100644 index 0000000..4276dee --- /dev/null +++ b/database/migrations/2026_02_08_145521_drop_detail_penjualan_table.php @@ -0,0 +1,25 @@ +id(); + $table->foreignId('penjualan_id')->constrained()->cascadeOnDelete(); + $table->string('produk_id'); // sesuaikan dengan kolom lama + $table->integer('jumlah'); + $table->decimal('harga_satuan', 12, 2); + $table->timestamps(); + }); + } +}; diff --git a/database/migrations/2026_02_08_150032_drop_produk_table.php b/database/migrations/2026_02_08_150032_drop_produk_table.php new file mode 100644 index 0000000..61a097e --- /dev/null +++ b/database/migrations/2026_02_08_150032_drop_produk_table.php @@ -0,0 +1,32 @@ +id(); // id primary key auto increment + $table->string('nama_produk'); + $table->string('jenis_produk'); + $table->string('satuan'); + $table->timestamps(); // created_at & updated_at + }); + } +}; diff --git a/database/migrations/2026_02_08_151028_drop_populasi_ayam_table.php b/database/migrations/2026_02_08_151028_drop_populasi_ayam_table.php new file mode 100644 index 0000000..a307eb1 --- /dev/null +++ b/database/migrations/2026_02_08_151028_drop_populasi_ayam_table.php @@ -0,0 +1,26 @@ +id(); + $table->foreignId('kandang_id')->constrained('kandang'); + $table->foreignId('user_id')->nullable()->constrained('users'); + $table->integer('jumlah_ayam'); + $table->date('tanggal'); + $table->text('keterangan')->nullable(); + $table->timestamps(); + }); + } +}; diff --git a/database/migrations/2026_02_08_151133_create_mutasi_ayam_table.php b/database/migrations/2026_02_08_151133_create_mutasi_ayam_table.php new file mode 100644 index 0000000..e81db08 --- /dev/null +++ b/database/migrations/2026_02_08_151133_create_mutasi_ayam_table.php @@ -0,0 +1,37 @@ +id(); + + // kolom foreign key ke kandang + $table->unsignedBigInteger('kandang_id'); + $table->foreign('kandang_id')->references('id')->on('kandang')->cascadeOnDelete(); + + // kolom foreign key ke users + $table->unsignedBigInteger('user_id'); + $table->foreign('user_id')->references('id')->on('users')->cascadeOnDelete(); + + // kolom lainnya + $table->enum('jenis_mutasi', ['masuk','keluar','mati','afkir','pindah']); + $table->integer('jumlah'); + $table->date('tanggal'); + $table->text('keterangan')->nullable(); + $table->timestamps(); + }); + } + + public function down(): void + { + Schema::dropIfExists('mutasi_ayam'); + } +}; diff --git a/database/migrations/2026_02_08_152710_update_produksi_telur_types.php b/database/migrations/2026_02_08_152710_update_produksi_telur_types.php new file mode 100644 index 0000000..9a4be04 --- /dev/null +++ b/database/migrations/2026_02_08_152710_update_produksi_telur_types.php @@ -0,0 +1,26 @@ +decimal('berat_telur_layak', 8, 2)->change(); + $table->decimal('berat_telur_rusak', 8, 2)->change(); + $table->decimal('berat_telur_total', 8, 2)->change(); + }); + } + + public function down(): void + { + Schema::table('produksi_telur', function (Blueprint $table) { + $table->integer('berat_telur_layak')->change(); + $table->integer('berat_telur_rusak')->change(); + $table->integer('berat_telur_total')->change(); + }); + } +}; diff --git a/database/migrations/2026_02_13_084221_rename_password_resets_table.php b/database/migrations/2026_02_13_084221_rename_password_resets_table.php new file mode 100644 index 0000000..c880bed --- /dev/null +++ b/database/migrations/2026_02_13_084221_rename_password_resets_table.php @@ -0,0 +1,17 @@ +enum('jenis_produk', ['telur', 'afkir']) + ->after('user_id'); + } + }); + } + + public function down() + { + Schema::table('penjualan', function (Blueprint $table) { + + if (Schema::hasColumn('penjualan', 'jenis_produk')) { + $table->dropColumn('jenis_produk'); + } + }); + } +}; diff --git a/database/migrations/2026_03_11_034650_add_tanggal_to_inventori_kandang_table.php b/database/migrations/2026_03_11_034650_add_tanggal_to_inventori_kandang_table.php new file mode 100644 index 0000000..e8d238d --- /dev/null +++ b/database/migrations/2026_03_11_034650_add_tanggal_to_inventori_kandang_table.php @@ -0,0 +1,30 @@ +date('tanggal') + ->default(now()) + ->after('user_id'); + }); + } + + /** + * Reverse the migrations. + */ + public function down(): void + { + Schema::table('inventori_kandang', function (Blueprint $table) { + $table->dropColumn('tanggal'); + }); + } +}; diff --git a/database/seeders/DatabaseSeeder.php b/database/seeders/DatabaseSeeder.php new file mode 100644 index 0000000..d43ace0 --- /dev/null +++ b/database/seeders/DatabaseSeeder.php @@ -0,0 +1,22 @@ +call([ + UserSeeder::class, + KandangSeeder::class, + KaryawanSeeder::class, + GajiKaryawanSeeder::class, + InventoriKandangSeeder::class, + MutasiAyamSeeder::class, + ProduksiTelurSeeder::class, + PenjualanSeeder::class, + ]); + } +} diff --git a/database/seeders/GajiKaryawanSeeder.php b/database/seeders/GajiKaryawanSeeder.php new file mode 100644 index 0000000..63945bd --- /dev/null +++ b/database/seeders/GajiKaryawanSeeder.php @@ -0,0 +1,21 @@ + 1, + 'bulan' => 1, + 'tahun' => 2026, + 'gaji_pokok' => 2500000, + 'tanggal_bayar' => '2026-01-31', + 'status_bayar' => 'dibayar' + ]); + } +} diff --git a/database/seeders/InventoriKandangSeeder.php b/database/seeders/InventoriKandangSeeder.php new file mode 100644 index 0000000..d66331e --- /dev/null +++ b/database/seeders/InventoriKandangSeeder.php @@ -0,0 +1,36 @@ + 1, + 'tanggal' => now(), + 'nama_barang' => 'Konsentrat', + 'jenis_transaksi' => 'masuk', + 'jumlah' => 15, + 'satuan' => 'karung', + 'harga_satuan' => 300000, + 'total_harga' => 4500000 + ]); + + // Transaksi Keluar + InventoriKandang::create([ + 'user_id' => 1, + 'tanggal' => now(), + 'nama_barang' => 'Konsentrat', + 'jenis_transaksi' => 'keluar', + 'jumlah' => 5, + 'satuan' => 'karung', + 'harga_satuan' => null, + 'total_harga' => null + ]); + } +} diff --git a/database/seeders/KandangSeeder.php b/database/seeders/KandangSeeder.php new file mode 100644 index 0000000..45fd9f7 --- /dev/null +++ b/database/seeders/KandangSeeder.php @@ -0,0 +1,22 @@ + 'Kandang Pembesaran', + 'jenis_kandang' => 'Pembesaran' + ]); + + Kandang::create([ + 'nama_kandang' => 'Kandang Produksi', + 'jenis_kandang' => 'Produksi' + ]); + } +} diff --git a/database/seeders/KaryawanSeeder.php b/database/seeders/KaryawanSeeder.php new file mode 100644 index 0000000..aa21b17 --- /dev/null +++ b/database/seeders/KaryawanSeeder.php @@ -0,0 +1,28 @@ +first(); + + Karyawan::updateOrCreate( + [ + 'nama_karyawan' => 'Misno' + ], + [ + 'user_id' => $userMisno ? $userMisno->id : null, + 'nama_karyawan' => 'Misno', + 'no_hp' => '085859716566', + 'alamat' => 'Tanjungkalang', + 'status_karyawan' => 'aktif' + ] + ); + } +} diff --git a/database/seeders/MutasiAyamSeeder.php b/database/seeders/MutasiAyamSeeder.php new file mode 100644 index 0000000..21e7b56 --- /dev/null +++ b/database/seeders/MutasiAyamSeeder.php @@ -0,0 +1,21 @@ + 1, + 'user_id' => 1, + 'jenis_mutasi' => 'masuk', + 'jumlah' => 7000, + 'tanggal' => now(), + 'keterangan' => 'DOC baru' + ]); + } +} diff --git a/database/seeders/PenjualanSeeder.php b/database/seeders/PenjualanSeeder.php new file mode 100644 index 0000000..0eb8532 --- /dev/null +++ b/database/seeders/PenjualanSeeder.php @@ -0,0 +1,32 @@ + 1, + 'jenis_produk' => 'telur', + 'berat_terjual' => 50, + 'harga_satuan' => 27500, + 'total_penjualan' => 1375000, + 'tanggal_penjualan' => now() + ]); + + // Penjualan 2 + Penjualan::create([ + 'user_id' => 1, + 'jenis_produk' => 'telur', + 'berat_terjual' => 80, + 'harga_satuan' => 27500, + 'total_penjualan' => 2200000, + 'tanggal_penjualan' => now() + ]); + } +} diff --git a/database/seeders/ProduksiTelurSeeder.php b/database/seeders/ProduksiTelurSeeder.php new file mode 100644 index 0000000..f22ac0c --- /dev/null +++ b/database/seeders/ProduksiTelurSeeder.php @@ -0,0 +1,37 @@ + 2, + 'user_id' => 1, + 'shift' => 'pagi', + 'berat_telur_layak' => 150, + 'berat_telur_rusak' => 0, + 'berat_telur_total' => 150, + 'tanggal_produksi' => now(), + ]); + + // Shift Sore + ProduksiTelur::create([ + 'kandang_id' => 2, + 'user_id' => 1, + 'shift' => 'sore', + 'berat_telur_layak' => 80, + 'berat_telur_rusak' => 0, + 'berat_telur_total' => 80, + 'tanggal_produksi' => now(), + ]); + } +} diff --git a/database/seeders/UserSeeder.php b/database/seeders/UserSeeder.php new file mode 100644 index 0000000..db2f080 --- /dev/null +++ b/database/seeders/UserSeeder.php @@ -0,0 +1,41 @@ + 'vrgnina001@gmail.com', + ], + [ + 'name' => 'Mashari', + 'password' => Hash::make('password'), + 'role' => 'admin', + 'is_active' => true, + 'email_verified_at' => now(), + ] + ); + + // USER UNTUK KARYAWAN + User::updateOrCreate( + [ + 'email' => 'ninavirgiana931@gmail.com', + ], + [ + 'name' => 'Misno', + 'password' => Hash::make('password'), + 'role' => 'karyawan', + 'is_active' => true, + 'email_verified_at' => now(), + ] + ); + } +} diff --git a/package-lock.json b/package-lock.json new file mode 100644 index 0000000..1a1e93e --- /dev/null +++ b/package-lock.json @@ -0,0 +1,3473 @@ +{ + "name": "layerku", + "lockfileVersion": 3, + "requires": true, + "packages": { + "": { + "devDependencies": { + "@tailwindcss/forms": "^0.5.2", + "@tailwindcss/vite": "^4.0.0", + "alpinejs": "^3.4.2", + "autoprefixer": "^10.4.2", + "axios": "^1.11.0", + "concurrently": "^9.0.1", + "laravel-vite-plugin": "^2.0.0", + "postcss": "^8.4.31", + "tailwindcss": "^3.1.0", + "vite": "^7.0.7" + } + }, + "node_modules/@alloc/quick-lru": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/@alloc/quick-lru/-/quick-lru-5.2.0.tgz", + "integrity": "sha512-UrcABB+4bUrFABwbluTIBErXwvbsU/V7TZWfmbgJfbkwiBuziS9gxdODUyuiecfdGQ85jglMW6juS3+z5TsKLw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@esbuild/aix-ppc64": { + "version": "0.27.2", + "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.27.2.tgz", + "integrity": "sha512-GZMB+a0mOMZs4MpDbj8RJp4cw+w1WV5NYD6xzgvzUJ5Ek2jerwfO2eADyI6ExDSUED+1X8aMbegahsJi+8mgpw==", + "cpu": [ + "ppc64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "aix" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/android-arm": { + "version": "0.27.2", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.27.2.tgz", + "integrity": "sha512-DVNI8jlPa7Ujbr1yjU2PfUSRtAUZPG9I1RwW4F4xFB1Imiu2on0ADiI/c3td+KmDtVKNbi+nffGDQMfcIMkwIA==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/android-arm64": { + "version": "0.27.2", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.27.2.tgz", + "integrity": "sha512-pvz8ZZ7ot/RBphf8fv60ljmaoydPU12VuXHImtAs0XhLLw+EXBi2BLe3OYSBslR4rryHvweW5gmkKFwTiFy6KA==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/android-x64": { + "version": "0.27.2", + "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.27.2.tgz", + "integrity": "sha512-z8Ank4Byh4TJJOh4wpz8g2vDy75zFL0TlZlkUkEwYXuPSgX8yzep596n6mT7905kA9uHZsf/o2OJZubl2l3M7A==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/darwin-arm64": { + "version": "0.27.2", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.27.2.tgz", + "integrity": "sha512-davCD2Zc80nzDVRwXTcQP/28fiJbcOwvdolL0sOiOsbwBa72kegmVU0Wrh1MYrbuCL98Omp5dVhQFWRKR2ZAlg==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/darwin-x64": { + "version": "0.27.2", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.27.2.tgz", + "integrity": "sha512-ZxtijOmlQCBWGwbVmwOF/UCzuGIbUkqB1faQRf5akQmxRJ1ujusWsb3CVfk/9iZKr2L5SMU5wPBi1UWbvL+VQA==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/freebsd-arm64": { + "version": "0.27.2", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.27.2.tgz", + "integrity": "sha512-lS/9CN+rgqQ9czogxlMcBMGd+l8Q3Nj1MFQwBZJyoEKI50XGxwuzznYdwcav6lpOGv5BqaZXqvBSiB/kJ5op+g==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/freebsd-x64": { + "version": "0.27.2", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.27.2.tgz", + "integrity": "sha512-tAfqtNYb4YgPnJlEFu4c212HYjQWSO/w/h/lQaBK7RbwGIkBOuNKQI9tqWzx7Wtp7bTPaGC6MJvWI608P3wXYA==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-arm": { + "version": "0.27.2", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.27.2.tgz", + "integrity": "sha512-vWfq4GaIMP9AIe4yj1ZUW18RDhx6EPQKjwe7n8BbIecFtCQG4CfHGaHuh7fdfq+y3LIA2vGS/o9ZBGVxIDi9hw==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-arm64": { + "version": "0.27.2", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.27.2.tgz", + "integrity": "sha512-hYxN8pr66NsCCiRFkHUAsxylNOcAQaxSSkHMMjcpx0si13t1LHFphxJZUiGwojB1a/Hd5OiPIqDdXONia6bhTw==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-ia32": { + "version": "0.27.2", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.27.2.tgz", + "integrity": "sha512-MJt5BRRSScPDwG2hLelYhAAKh9imjHK5+NE/tvnRLbIqUWa+0E9N4WNMjmp/kXXPHZGqPLxggwVhz7QP8CTR8w==", + "cpu": [ + "ia32" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-loong64": { + "version": "0.27.2", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.27.2.tgz", + "integrity": "sha512-lugyF1atnAT463aO6KPshVCJK5NgRnU4yb3FUumyVz+cGvZbontBgzeGFO1nF+dPueHD367a2ZXe1NtUkAjOtg==", + "cpu": [ + "loong64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-mips64el": { + "version": "0.27.2", + "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.27.2.tgz", + "integrity": "sha512-nlP2I6ArEBewvJ2gjrrkESEZkB5mIoaTswuqNFRv/WYd+ATtUpe9Y09RnJvgvdag7he0OWgEZWhviS1OTOKixw==", + "cpu": [ + "mips64el" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-ppc64": { + "version": "0.27.2", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.27.2.tgz", + "integrity": "sha512-C92gnpey7tUQONqg1n6dKVbx3vphKtTHJaNG2Ok9lGwbZil6DrfyecMsp9CrmXGQJmZ7iiVXvvZH6Ml5hL6XdQ==", + "cpu": [ + "ppc64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-riscv64": { + "version": "0.27.2", + "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.27.2.tgz", + "integrity": "sha512-B5BOmojNtUyN8AXlK0QJyvjEZkWwy/FKvakkTDCziX95AowLZKR6aCDhG7LeF7uMCXEJqwa8Bejz5LTPYm8AvA==", + "cpu": [ + "riscv64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-s390x": { + "version": "0.27.2", + "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.27.2.tgz", + "integrity": "sha512-p4bm9+wsPwup5Z8f4EpfN63qNagQ47Ua2znaqGH6bqLlmJ4bx97Y9JdqxgGZ6Y8xVTixUnEkoKSHcpRlDnNr5w==", + "cpu": [ + "s390x" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-x64": { + "version": "0.27.2", + "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.27.2.tgz", + "integrity": "sha512-uwp2Tip5aPmH+NRUwTcfLb+W32WXjpFejTIOWZFw/v7/KnpCDKG66u4DLcurQpiYTiYwQ9B7KOeMJvLCu/OvbA==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/netbsd-arm64": { + "version": "0.27.2", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-arm64/-/netbsd-arm64-0.27.2.tgz", + "integrity": "sha512-Kj6DiBlwXrPsCRDeRvGAUb/LNrBASrfqAIok+xB0LxK8CHqxZ037viF13ugfsIpePH93mX7xfJp97cyDuTZ3cw==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "netbsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/netbsd-x64": { + "version": "0.27.2", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.27.2.tgz", + "integrity": "sha512-HwGDZ0VLVBY3Y+Nw0JexZy9o/nUAWq9MlV7cahpaXKW6TOzfVno3y3/M8Ga8u8Yr7GldLOov27xiCnqRZf0tCA==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "netbsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/openbsd-arm64": { + "version": "0.27.2", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.27.2.tgz", + "integrity": "sha512-DNIHH2BPQ5551A7oSHD0CKbwIA/Ox7+78/AWkbS5QoRzaqlev2uFayfSxq68EkonB+IKjiuxBFoV8ESJy8bOHA==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "openbsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/openbsd-x64": { + "version": "0.27.2", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.27.2.tgz", + "integrity": "sha512-/it7w9Nb7+0KFIzjalNJVR5bOzA9Vay+yIPLVHfIQYG/j+j9VTH84aNB8ExGKPU4AzfaEvN9/V4HV+F+vo8OEg==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "openbsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/openharmony-arm64": { + "version": "0.27.2", + "resolved": "https://registry.npmjs.org/@esbuild/openharmony-arm64/-/openharmony-arm64-0.27.2.tgz", + "integrity": "sha512-LRBbCmiU51IXfeXk59csuX/aSaToeG7w48nMwA6049Y4J4+VbWALAuXcs+qcD04rHDuSCSRKdmY63sruDS5qag==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "openharmony" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/sunos-x64": { + "version": "0.27.2", + "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.27.2.tgz", + "integrity": "sha512-kMtx1yqJHTmqaqHPAzKCAkDaKsffmXkPHThSfRwZGyuqyIeBvf08KSsYXl+abf5HDAPMJIPnbBfXvP2ZC2TfHg==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "sunos" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/win32-arm64": { + "version": "0.27.2", + "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.27.2.tgz", + "integrity": "sha512-Yaf78O/B3Kkh+nKABUF++bvJv5Ijoy9AN1ww904rOXZFLWVc5OLOfL56W+C8F9xn5JQZa3UX6m+IktJnIb1Jjg==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/win32-ia32": { + "version": "0.27.2", + "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.27.2.tgz", + "integrity": "sha512-Iuws0kxo4yusk7sw70Xa2E2imZU5HoixzxfGCdxwBdhiDgt9vX9VUCBhqcwY7/uh//78A1hMkkROMJq9l27oLQ==", + "cpu": [ + "ia32" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/win32-x64": { + "version": "0.27.2", + "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.27.2.tgz", + "integrity": "sha512-sRdU18mcKf7F+YgheI/zGf5alZatMUTKj/jNS6l744f9u3WFu4v7twcUI9vu4mknF4Y9aDlblIie0IM+5xxaqQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@jridgewell/gen-mapping": { + "version": "0.3.13", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.13.tgz", + "integrity": "sha512-2kkt/7niJ6MgEPxF0bYdQ6etZaA+fQvDcLKckhy1yIQOzaoKjBBjSj63/aLVjYE3qhRt5dvM+uUyfCg6UKCBbA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jridgewell/sourcemap-codec": "^1.5.0", + "@jridgewell/trace-mapping": "^0.3.24" + } + }, + "node_modules/@jridgewell/remapping": { + "version": "2.3.5", + "resolved": "https://registry.npmjs.org/@jridgewell/remapping/-/remapping-2.3.5.tgz", + "integrity": "sha512-LI9u/+laYG4Ds1TDKSJW2YPrIlcVYOwi2fUC6xB43lueCjgxV4lffOCZCtYFiH6TNOX+tQKXx97T4IKHbhyHEQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jridgewell/gen-mapping": "^0.3.5", + "@jridgewell/trace-mapping": "^0.3.24" + } + }, + "node_modules/@jridgewell/resolve-uri": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz", + "integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/sourcemap-codec": { + "version": "1.5.5", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.5.tgz", + "integrity": "sha512-cYQ9310grqxueWbl+WuIUIaiUaDcj7WOq5fVhEljNVgRfOUhY9fy2zTvfoqWsnebh8Sl70VScFbICvJnLKB0Og==", + "dev": true, + "license": "MIT" + }, + "node_modules/@jridgewell/trace-mapping": { + "version": "0.3.31", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.31.tgz", + "integrity": "sha512-zzNR+SdQSDJzc8joaeP8QQoCQr8NuYx2dIIytl1QeBEZHJ9uW6hebsrYgbz8hJwUQao3TWCMtmfV8Nu1twOLAw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jridgewell/resolve-uri": "^3.1.0", + "@jridgewell/sourcemap-codec": "^1.4.14" + } + }, + "node_modules/@nodelib/fs.scandir": { + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", + "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", + "dev": true, + "license": "MIT", + "dependencies": { + "@nodelib/fs.stat": "2.0.5", + "run-parallel": "^1.1.9" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nodelib/fs.stat": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", + "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nodelib/fs.walk": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", + "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@nodelib/fs.scandir": "2.1.5", + "fastq": "^1.6.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@rollup/rollup-android-arm-eabi": { + "version": "4.56.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.56.0.tgz", + "integrity": "sha512-LNKIPA5k8PF1+jAFomGe3qN3bbIgJe/IlpDBwuVjrDKrJhVWywgnJvflMt/zkbVNLFtF1+94SljYQS6e99klnw==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ] + }, + "node_modules/@rollup/rollup-android-arm64": { + "version": "4.56.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.56.0.tgz", + "integrity": "sha512-lfbVUbelYqXlYiU/HApNMJzT1E87UPGvzveGg2h0ktUNlOCxKlWuJ9jtfvs1sKHdwU4fzY7Pl8sAl49/XaEk6Q==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ] + }, + "node_modules/@rollup/rollup-darwin-arm64": { + "version": "4.56.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.56.0.tgz", + "integrity": "sha512-EgxD1ocWfhoD6xSOeEEwyE7tDvwTgZc8Bss7wCWe+uc7wO8G34HHCUH+Q6cHqJubxIAnQzAsyUsClt0yFLu06w==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@rollup/rollup-darwin-x64": { + "version": "4.56.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.56.0.tgz", + "integrity": "sha512-1vXe1vcMOssb/hOF8iv52A7feWW2xnu+c8BV4t1F//m9QVLTfNVpEdja5ia762j/UEJe2Z1jAmEqZAK42tVW3g==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@rollup/rollup-freebsd-arm64": { + "version": "4.56.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.56.0.tgz", + "integrity": "sha512-bof7fbIlvqsyv/DtaXSck4VYQ9lPtoWNFCB/JY4snlFuJREXfZnm+Ej6yaCHfQvofJDXLDMTVxWscVSuQvVWUQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ] + }, + "node_modules/@rollup/rollup-freebsd-x64": { + "version": "4.56.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.56.0.tgz", + "integrity": "sha512-KNa6lYHloW+7lTEkYGa37fpvPq+NKG/EHKM8+G/g9WDU7ls4sMqbVRV78J6LdNuVaeeK5WB9/9VAFbKxcbXKYg==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ] + }, + "node_modules/@rollup/rollup-linux-arm-gnueabihf": { + "version": "4.56.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.56.0.tgz", + "integrity": "sha512-E8jKK87uOvLrrLN28jnAAAChNq5LeCd2mGgZF+fGF5D507WlG/Noct3lP/QzQ6MrqJ5BCKNwI9ipADB6jyiq2A==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-arm-musleabihf": { + "version": "4.56.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.56.0.tgz", + "integrity": "sha512-jQosa5FMYF5Z6prEpTCCmzCXz6eKr/tCBssSmQGEeozA9tkRUty/5Vx06ibaOP9RCrW1Pvb8yp3gvZhHwTDsJw==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-arm64-gnu": { + "version": "4.56.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.56.0.tgz", + "integrity": "sha512-uQVoKkrC1KGEV6udrdVahASIsaF8h7iLG0U0W+Xn14ucFwi6uS539PsAr24IEF9/FoDtzMeeJXJIBo5RkbNWvQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-arm64-musl": { + "version": "4.56.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.56.0.tgz", + "integrity": "sha512-vLZ1yJKLxhQLFKTs42RwTwa6zkGln+bnXc8ueFGMYmBTLfNu58sl5/eXyxRa2RarTkJbXl8TKPgfS6V5ijNqEA==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-loong64-gnu": { + "version": "4.56.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-loong64-gnu/-/rollup-linux-loong64-gnu-4.56.0.tgz", + "integrity": "sha512-FWfHOCub564kSE3xJQLLIC/hbKqHSVxy8vY75/YHHzWvbJL7aYJkdgwD/xGfUlL5UV2SB7otapLrcCj2xnF1dg==", + "cpu": [ + "loong64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-loong64-musl": { + "version": "4.56.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-loong64-musl/-/rollup-linux-loong64-musl-4.56.0.tgz", + "integrity": "sha512-z1EkujxIh7nbrKL1lmIpqFTc/sr0u8Uk0zK/qIEFldbt6EDKWFk/pxFq3gYj4Bjn3aa9eEhYRlL3H8ZbPT1xvA==", + "cpu": [ + "loong64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-ppc64-gnu": { + "version": "4.56.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-ppc64-gnu/-/rollup-linux-ppc64-gnu-4.56.0.tgz", + "integrity": "sha512-iNFTluqgdoQC7AIE8Q34R3AuPrJGJirj5wMUErxj22deOcY7XwZRaqYmB6ZKFHoVGqRcRd0mqO+845jAibKCkw==", + "cpu": [ + "ppc64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-ppc64-musl": { + "version": "4.56.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-ppc64-musl/-/rollup-linux-ppc64-musl-4.56.0.tgz", + "integrity": "sha512-MtMeFVlD2LIKjp2sE2xM2slq3Zxf9zwVuw0jemsxvh1QOpHSsSzfNOTH9uYW9i1MXFxUSMmLpeVeUzoNOKBaWg==", + "cpu": [ + "ppc64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-riscv64-gnu": { + "version": "4.56.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.56.0.tgz", + "integrity": "sha512-in+v6wiHdzzVhYKXIk5U74dEZHdKN9KH0Q4ANHOTvyXPG41bajYRsy7a8TPKbYPl34hU7PP7hMVHRvv/5aCSew==", + "cpu": [ + "riscv64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-riscv64-musl": { + "version": "4.56.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-musl/-/rollup-linux-riscv64-musl-4.56.0.tgz", + "integrity": "sha512-yni2raKHB8m9NQpI9fPVwN754mn6dHQSbDTwxdr9SE0ks38DTjLMMBjrwvB5+mXrX+C0npX0CVeCUcvvvD8CNQ==", + "cpu": [ + "riscv64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-s390x-gnu": { + "version": "4.56.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.56.0.tgz", + "integrity": "sha512-zhLLJx9nQPu7wezbxt2ut+CI4YlXi68ndEve16tPc/iwoylWS9B3FxpLS2PkmfYgDQtosah07Mj9E0khc3Y+vQ==", + "cpu": [ + "s390x" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-x64-gnu": { + "version": "4.56.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.56.0.tgz", + "integrity": "sha512-MVC6UDp16ZSH7x4rtuJPAEoE1RwS8N4oK9DLHy3FTEdFoUTCFVzMfJl/BVJ330C+hx8FfprA5Wqx4FhZXkj2Kw==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-x64-musl": { + "version": "4.56.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.56.0.tgz", + "integrity": "sha512-ZhGH1eA4Qv0lxaV00azCIS1ChedK0V32952Md3FtnxSqZTBTd6tgil4nZT5cU8B+SIw3PFYkvyR4FKo2oyZIHA==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-openbsd-x64": { + "version": "4.56.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-openbsd-x64/-/rollup-openbsd-x64-4.56.0.tgz", + "integrity": "sha512-O16XcmyDeFI9879pEcmtWvD/2nyxR9mF7Gs44lf1vGGx8Vg2DRNx11aVXBEqOQhWb92WN4z7fW/q4+2NYzCbBA==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "openbsd" + ] + }, + "node_modules/@rollup/rollup-openharmony-arm64": { + "version": "4.56.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-openharmony-arm64/-/rollup-openharmony-arm64-4.56.0.tgz", + "integrity": "sha512-LhN/Reh+7F3RCgQIRbgw8ZMwUwyqJM+8pXNT6IIJAqm2IdKkzpCh/V9EdgOMBKuebIrzswqy4ATlrDgiOwbRcQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "openharmony" + ] + }, + "node_modules/@rollup/rollup-win32-arm64-msvc": { + "version": "4.56.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.56.0.tgz", + "integrity": "sha512-kbFsOObXp3LBULg1d3JIUQMa9Kv4UitDmpS+k0tinPBz3watcUiV2/LUDMMucA6pZO3WGE27P7DsfaN54l9ing==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@rollup/rollup-win32-ia32-msvc": { + "version": "4.56.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.56.0.tgz", + "integrity": "sha512-vSSgny54D6P4vf2izbtFm/TcWYedw7f8eBrOiGGecyHyQB9q4Kqentjaj8hToe+995nob/Wv48pDqL5a62EWtg==", + "cpu": [ + "ia32" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@rollup/rollup-win32-x64-gnu": { + "version": "4.56.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-gnu/-/rollup-win32-x64-gnu-4.56.0.tgz", + "integrity": "sha512-FeCnkPCTHQJFbiGG49KjV5YGW/8b9rrXAM2Mz2kiIoktq2qsJxRD5giEMEOD2lPdgs72upzefaUvS+nc8E3UzQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@rollup/rollup-win32-x64-msvc": { + "version": "4.56.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.56.0.tgz", + "integrity": "sha512-H8AE9Ur/t0+1VXujj90w0HrSOuv0Nq9r1vSZF2t5km20NTfosQsGGUXDaKdQZzwuLts7IyL1fYT4hM95TI9c4g==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@tailwindcss/forms": { + "version": "0.5.11", + "resolved": "https://registry.npmjs.org/@tailwindcss/forms/-/forms-0.5.11.tgz", + "integrity": "sha512-h9wegbZDPurxG22xZSoWtdzc41/OlNEUQERNqI/0fOwa2aVlWGu7C35E/x6LDyD3lgtztFSSjKZyuVM0hxhbgA==", + "dev": true, + "license": "MIT", + "dependencies": { + "mini-svg-data-uri": "^1.2.3" + }, + "peerDependencies": { + "tailwindcss": ">=3.0.0 || >= 3.0.0-alpha.1 || >= 4.0.0-alpha.20 || >= 4.0.0-beta.1" + } + }, + "node_modules/@tailwindcss/node": { + "version": "4.1.18", + "resolved": "https://registry.npmjs.org/@tailwindcss/node/-/node-4.1.18.tgz", + "integrity": "sha512-DoR7U1P7iYhw16qJ49fgXUlry1t4CpXeErJHnQ44JgTSKMaZUdf17cfn5mHchfJ4KRBZRFA/Coo+MUF5+gOaCQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jridgewell/remapping": "^2.3.4", + "enhanced-resolve": "^5.18.3", + "jiti": "^2.6.1", + "lightningcss": "1.30.2", + "magic-string": "^0.30.21", + "source-map-js": "^1.2.1", + "tailwindcss": "4.1.18" + } + }, + "node_modules/@tailwindcss/node/node_modules/tailwindcss": { + "version": "4.1.18", + "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-4.1.18.tgz", + "integrity": "sha512-4+Z+0yiYyEtUVCScyfHCxOYP06L5Ne+JiHhY2IjR2KWMIWhJOYZKLSGZaP5HkZ8+bY0cxfzwDE5uOmzFXyIwxw==", + "dev": true, + "license": "MIT" + }, + "node_modules/@tailwindcss/oxide": { + "version": "4.1.18", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide/-/oxide-4.1.18.tgz", + "integrity": "sha512-EgCR5tTS5bUSKQgzeMClT6iCY3ToqE1y+ZB0AKldj809QXk1Y+3jB0upOYZrn9aGIzPtUsP7sX4QQ4XtjBB95A==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 10" + }, + "optionalDependencies": { + "@tailwindcss/oxide-android-arm64": "4.1.18", + "@tailwindcss/oxide-darwin-arm64": "4.1.18", + "@tailwindcss/oxide-darwin-x64": "4.1.18", + "@tailwindcss/oxide-freebsd-x64": "4.1.18", + "@tailwindcss/oxide-linux-arm-gnueabihf": "4.1.18", + "@tailwindcss/oxide-linux-arm64-gnu": "4.1.18", + "@tailwindcss/oxide-linux-arm64-musl": "4.1.18", + "@tailwindcss/oxide-linux-x64-gnu": "4.1.18", + "@tailwindcss/oxide-linux-x64-musl": "4.1.18", + "@tailwindcss/oxide-wasm32-wasi": "4.1.18", + "@tailwindcss/oxide-win32-arm64-msvc": "4.1.18", + "@tailwindcss/oxide-win32-x64-msvc": "4.1.18" + } + }, + "node_modules/@tailwindcss/oxide-android-arm64": { + "version": "4.1.18", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-android-arm64/-/oxide-android-arm64-4.1.18.tgz", + "integrity": "sha512-dJHz7+Ugr9U/diKJA0W6N/6/cjI+ZTAoxPf9Iz9BFRF2GzEX8IvXxFIi/dZBloVJX/MZGvRuFA9rqwdiIEZQ0Q==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@tailwindcss/oxide-darwin-arm64": { + "version": "4.1.18", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-darwin-arm64/-/oxide-darwin-arm64-4.1.18.tgz", + "integrity": "sha512-Gc2q4Qhs660bhjyBSKgq6BYvwDz4G+BuyJ5H1xfhmDR3D8HnHCmT/BSkvSL0vQLy/nkMLY20PQ2OoYMO15Jd0A==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@tailwindcss/oxide-darwin-x64": { + "version": "4.1.18", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-darwin-x64/-/oxide-darwin-x64-4.1.18.tgz", + "integrity": "sha512-FL5oxr2xQsFrc3X9o1fjHKBYBMD1QZNyc1Xzw/h5Qu4XnEBi3dZn96HcHm41c/euGV+GRiXFfh2hUCyKi/e+yw==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@tailwindcss/oxide-freebsd-x64": { + "version": "4.1.18", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-freebsd-x64/-/oxide-freebsd-x64-4.1.18.tgz", + "integrity": "sha512-Fj+RHgu5bDodmV1dM9yAxlfJwkkWvLiRjbhuO2LEtwtlYlBgiAT4x/j5wQr1tC3SANAgD+0YcmWVrj8R9trVMA==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@tailwindcss/oxide-linux-arm-gnueabihf": { + "version": "4.1.18", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-arm-gnueabihf/-/oxide-linux-arm-gnueabihf-4.1.18.tgz", + "integrity": "sha512-Fp+Wzk/Ws4dZn+LV2Nqx3IilnhH51YZoRaYHQsVq3RQvEl+71VGKFpkfHrLM/Li+kt5c0DJe/bHXK1eHgDmdiA==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@tailwindcss/oxide-linux-arm64-gnu": { + "version": "4.1.18", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-arm64-gnu/-/oxide-linux-arm64-gnu-4.1.18.tgz", + "integrity": "sha512-S0n3jboLysNbh55Vrt7pk9wgpyTTPD0fdQeh7wQfMqLPM/Hrxi+dVsLsPrycQjGKEQk85Kgbx+6+QnYNiHalnw==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@tailwindcss/oxide-linux-arm64-musl": { + "version": "4.1.18", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-arm64-musl/-/oxide-linux-arm64-musl-4.1.18.tgz", + "integrity": "sha512-1px92582HkPQlaaCkdRcio71p8bc8i/ap5807tPRDK/uw953cauQBT8c5tVGkOwrHMfc2Yh6UuxaH4vtTjGvHg==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@tailwindcss/oxide-linux-x64-gnu": { + "version": "4.1.18", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-x64-gnu/-/oxide-linux-x64-gnu-4.1.18.tgz", + "integrity": "sha512-v3gyT0ivkfBLoZGF9LyHmts0Isc8jHZyVcbzio6Wpzifg/+5ZJpDiRiUhDLkcr7f/r38SWNe7ucxmGW3j3Kb/g==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@tailwindcss/oxide-linux-x64-musl": { + "version": "4.1.18", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-x64-musl/-/oxide-linux-x64-musl-4.1.18.tgz", + "integrity": "sha512-bhJ2y2OQNlcRwwgOAGMY0xTFStt4/wyU6pvI6LSuZpRgKQwxTec0/3Scu91O8ir7qCR3AuepQKLU/kX99FouqQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@tailwindcss/oxide-wasm32-wasi": { + "version": "4.1.18", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-wasm32-wasi/-/oxide-wasm32-wasi-4.1.18.tgz", + "integrity": "sha512-LffYTvPjODiP6PT16oNeUQJzNVyJl1cjIebq/rWWBF+3eDst5JGEFSc5cWxyRCJ0Mxl+KyIkqRxk1XPEs9x8TA==", + "bundleDependencies": [ + "@napi-rs/wasm-runtime", + "@emnapi/core", + "@emnapi/runtime", + "@tybys/wasm-util", + "@emnapi/wasi-threads", + "tslib" + ], + "cpu": [ + "wasm32" + ], + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "@emnapi/core": "^1.7.1", + "@emnapi/runtime": "^1.7.1", + "@emnapi/wasi-threads": "^1.1.0", + "@napi-rs/wasm-runtime": "^1.1.0", + "@tybys/wasm-util": "^0.10.1", + "tslib": "^2.4.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@tailwindcss/oxide-win32-arm64-msvc": { + "version": "4.1.18", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-win32-arm64-msvc/-/oxide-win32-arm64-msvc-4.1.18.tgz", + "integrity": "sha512-HjSA7mr9HmC8fu6bdsZvZ+dhjyGCLdotjVOgLA2vEqxEBZaQo9YTX4kwgEvPCpRh8o4uWc4J/wEoFzhEmjvPbA==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@tailwindcss/oxide-win32-x64-msvc": { + "version": "4.1.18", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-win32-x64-msvc/-/oxide-win32-x64-msvc-4.1.18.tgz", + "integrity": "sha512-bJWbyYpUlqamC8dpR7pfjA0I7vdF6t5VpUGMWRkXVE3AXgIZjYUYAK7II1GNaxR8J1SSrSrppRar8G++JekE3Q==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@tailwindcss/vite": { + "version": "4.1.18", + "resolved": "https://registry.npmjs.org/@tailwindcss/vite/-/vite-4.1.18.tgz", + "integrity": "sha512-jVA+/UpKL1vRLg6Hkao5jldawNmRo7mQYrZtNHMIVpLfLhDml5nMRUo/8MwoX2vNXvnaXNNMedrMfMugAVX1nA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@tailwindcss/node": "4.1.18", + "@tailwindcss/oxide": "4.1.18", + "tailwindcss": "4.1.18" + }, + "peerDependencies": { + "vite": "^5.2.0 || ^6 || ^7" + } + }, + "node_modules/@tailwindcss/vite/node_modules/tailwindcss": { + "version": "4.1.18", + "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-4.1.18.tgz", + "integrity": "sha512-4+Z+0yiYyEtUVCScyfHCxOYP06L5Ne+JiHhY2IjR2KWMIWhJOYZKLSGZaP5HkZ8+bY0cxfzwDE5uOmzFXyIwxw==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/estree": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.8.tgz", + "integrity": "sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==", + "dev": true, + "license": "MIT" + }, + "node_modules/@vue/reactivity": { + "version": "3.1.5", + "resolved": "https://registry.npmjs.org/@vue/reactivity/-/reactivity-3.1.5.tgz", + "integrity": "sha512-1tdfLmNjWG6t/CsPldh+foumYFo3cpyCHgBYQ34ylaMsJ+SNHQ1kApMIa8jN+i593zQuaw3AdWH0nJTARzCFhg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@vue/shared": "3.1.5" + } + }, + "node_modules/@vue/shared": { + "version": "3.1.5", + "resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.1.5.tgz", + "integrity": "sha512-oJ4F3TnvpXaQwZJNF3ZK+kLPHKarDmJjJ6jyzVNDKH9md1dptjC7lWR//jrGuLdek/U6iltWxqAnYOu8gCiOvA==", + "dev": true, + "license": "MIT" + }, + "node_modules/alpinejs": { + "version": "3.15.4", + "resolved": "https://registry.npmjs.org/alpinejs/-/alpinejs-3.15.4.tgz", + "integrity": "sha512-lDpOdoVo0bhFjgl310k1qw3kbpUYwM/v0WByvAchsO93bl3o1rrgr0P/ssx3CimwEtNfXbmwKbtHbqTRCTTH9g==", + "dev": true, + "license": "MIT", + "dependencies": { + "@vue/reactivity": "~3.1.1" + } + }, + "node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/any-promise": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/any-promise/-/any-promise-1.3.0.tgz", + "integrity": "sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==", + "dev": true, + "license": "MIT" + }, + "node_modules/anymatch": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", + "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", + "dev": true, + "license": "ISC", + "dependencies": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/arg": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/arg/-/arg-5.0.2.tgz", + "integrity": "sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==", + "dev": true, + "license": "MIT" + }, + "node_modules/asynckit": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", + "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==", + "dev": true, + "license": "MIT" + }, + "node_modules/autoprefixer": { + "version": "10.4.23", + "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.23.tgz", + "integrity": "sha512-YYTXSFulfwytnjAPlw8QHncHJmlvFKtczb8InXaAx9Q0LbfDnfEYDE55omerIJKihhmU61Ft+cAOSzQVaBUmeA==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/autoprefixer" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "dependencies": { + "browserslist": "^4.28.1", + "caniuse-lite": "^1.0.30001760", + "fraction.js": "^5.3.4", + "picocolors": "^1.1.1", + "postcss-value-parser": "^4.2.0" + }, + "bin": { + "autoprefixer": "bin/autoprefixer" + }, + "engines": { + "node": "^10 || ^12 || >=14" + }, + "peerDependencies": { + "postcss": "^8.1.0" + } + }, + "node_modules/axios": { + "version": "1.13.2", + "resolved": "https://registry.npmjs.org/axios/-/axios-1.13.2.tgz", + "integrity": "sha512-VPk9ebNqPcy5lRGuSlKx752IlDatOjT9paPlm8A7yOuW2Fbvp4X3JznJtT4f0GzGLLiWE9W8onz51SqLYwzGaA==", + "dev": true, + "license": "MIT", + "dependencies": { + "follow-redirects": "^1.15.6", + "form-data": "^4.0.4", + "proxy-from-env": "^1.1.0" + } + }, + "node_modules/baseline-browser-mapping": { + "version": "2.9.18", + "resolved": "https://registry.npmjs.org/baseline-browser-mapping/-/baseline-browser-mapping-2.9.18.tgz", + "integrity": "sha512-e23vBV1ZLfjb9apvfPk4rHVu2ry6RIr2Wfs+O324okSidrX7pTAnEJPCh/O5BtRlr7QtZI7ktOP3vsqr7Z5XoA==", + "dev": true, + "license": "Apache-2.0", + "bin": { + "baseline-browser-mapping": "dist/cli.js" + } + }, + "node_modules/binary-extensions": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.3.0.tgz", + "integrity": "sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/braces": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz", + "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==", + "dev": true, + "license": "MIT", + "dependencies": { + "fill-range": "^7.1.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/browserslist": { + "version": "4.28.1", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.28.1.tgz", + "integrity": "sha512-ZC5Bd0LgJXgwGqUknZY/vkUQ04r8NXnJZ3yYi4vDmSiZmC/pdSN0NbNRPxZpbtO4uAfDUAFffO8IZoM3Gj8IkA==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "dependencies": { + "baseline-browser-mapping": "^2.9.0", + "caniuse-lite": "^1.0.30001759", + "electron-to-chromium": "^1.5.263", + "node-releases": "^2.0.27", + "update-browserslist-db": "^1.2.0" + }, + "bin": { + "browserslist": "cli.js" + }, + "engines": { + "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" + } + }, + "node_modules/call-bind-apply-helpers": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/call-bind-apply-helpers/-/call-bind-apply-helpers-1.0.2.tgz", + "integrity": "sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "function-bind": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/camelcase-css": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/camelcase-css/-/camelcase-css-2.0.1.tgz", + "integrity": "sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 6" + } + }, + "node_modules/caniuse-lite": { + "version": "1.0.30001766", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001766.tgz", + "integrity": "sha512-4C0lfJ0/YPjJQHagaE9x2Elb69CIqEPZeG0anQt9SIvIoOH4a4uaRl73IavyO+0qZh6MDLH//DrXThEYKHkmYA==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/caniuse-lite" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "CC-BY-4.0" + }, + "node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/chalk/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/chokidar": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.6.0.tgz", + "integrity": "sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==", + "dev": true, + "license": "MIT", + "dependencies": { + "anymatch": "~3.1.2", + "braces": "~3.0.2", + "glob-parent": "~5.1.2", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.6.0" + }, + "engines": { + "node": ">= 8.10.0" + }, + "funding": { + "url": "https://paulmillr.com/funding/" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" + } + }, + "node_modules/chokidar/node_modules/glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dev": true, + "license": "ISC", + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/cliui": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz", + "integrity": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==", + "dev": true, + "license": "ISC", + "dependencies": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.1", + "wrap-ansi": "^7.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true, + "license": "MIT" + }, + "node_modules/combined-stream": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", + "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", + "dev": true, + "license": "MIT", + "dependencies": { + "delayed-stream": "~1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/commander": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/commander/-/commander-4.1.1.tgz", + "integrity": "sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 6" + } + }, + "node_modules/concurrently": { + "version": "9.2.1", + "resolved": "https://registry.npmjs.org/concurrently/-/concurrently-9.2.1.tgz", + "integrity": "sha512-fsfrO0MxV64Znoy8/l1vVIjjHa29SZyyqPgQBwhiDcaW8wJc2W3XWVOGx4M3oJBnv/zdUZIIp1gDeS98GzP8Ng==", + "dev": true, + "license": "MIT", + "dependencies": { + "chalk": "4.1.2", + "rxjs": "7.8.2", + "shell-quote": "1.8.3", + "supports-color": "8.1.1", + "tree-kill": "1.2.2", + "yargs": "17.7.2" + }, + "bin": { + "conc": "dist/bin/concurrently.js", + "concurrently": "dist/bin/concurrently.js" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/open-cli-tools/concurrently?sponsor=1" + } + }, + "node_modules/cssesc": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz", + "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==", + "dev": true, + "license": "MIT", + "bin": { + "cssesc": "bin/cssesc" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/delayed-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", + "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/detect-libc": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-2.1.2.tgz", + "integrity": "sha512-Btj2BOOO83o3WyH59e8MgXsxEQVcarkUOpEYrubB0urwnN10yQ364rsiByU11nZlqWYZm05i/of7io4mzihBtQ==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">=8" + } + }, + "node_modules/didyoumean": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/didyoumean/-/didyoumean-1.2.2.tgz", + "integrity": "sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw==", + "dev": true, + "license": "Apache-2.0" + }, + "node_modules/dlv": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/dlv/-/dlv-1.1.3.tgz", + "integrity": "sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==", + "dev": true, + "license": "MIT" + }, + "node_modules/dunder-proto": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/dunder-proto/-/dunder-proto-1.0.1.tgz", + "integrity": "sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind-apply-helpers": "^1.0.1", + "es-errors": "^1.3.0", + "gopd": "^1.2.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/electron-to-chromium": { + "version": "1.5.278", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.278.tgz", + "integrity": "sha512-dQ0tM1svDRQOwxnXxm+twlGTjr9Upvt8UFWAgmLsxEzFQxhbti4VwxmMjsDxVC51Zo84swW7FVCXEV+VAkhuPw==", + "dev": true, + "license": "ISC" + }, + "node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true, + "license": "MIT" + }, + "node_modules/enhanced-resolve": { + "version": "5.18.4", + "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.18.4.tgz", + "integrity": "sha512-LgQMM4WXU3QI+SYgEc2liRgznaD5ojbmY3sb8LxyguVkIg5FxdpTkvk72te2R38/TGKxH634oLxXRGY6d7AP+Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "graceful-fs": "^4.2.4", + "tapable": "^2.2.0" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/es-define-property": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.1.tgz", + "integrity": "sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-errors": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz", + "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-object-atoms": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/es-object-atoms/-/es-object-atoms-1.1.1.tgz", + "integrity": "sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA==", + "dev": true, + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-set-tostringtag": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.1.0.tgz", + "integrity": "sha512-j6vWzfrGVfyXxge+O0x5sh6cvxAog0a/4Rdd2K36zCMV5eJ+/+tOAngRO8cODMNWbVRdVlmGZQL2YS3yR8bIUA==", + "dev": true, + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.6", + "has-tostringtag": "^1.0.2", + "hasown": "^2.0.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/esbuild": { + "version": "0.27.2", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.27.2.tgz", + "integrity": "sha512-HyNQImnsOC7X9PMNaCIeAm4ISCQXs5a5YasTXVliKv4uuBo1dKrG0A+uQS8M5eXjVMnLg3WgXaKvprHlFJQffw==", + "dev": true, + "hasInstallScript": true, + "license": "MIT", + "bin": { + "esbuild": "bin/esbuild" + }, + "engines": { + "node": ">=18" + }, + "optionalDependencies": { + "@esbuild/aix-ppc64": "0.27.2", + "@esbuild/android-arm": "0.27.2", + "@esbuild/android-arm64": "0.27.2", + "@esbuild/android-x64": "0.27.2", + "@esbuild/darwin-arm64": "0.27.2", + "@esbuild/darwin-x64": "0.27.2", + "@esbuild/freebsd-arm64": "0.27.2", + "@esbuild/freebsd-x64": "0.27.2", + "@esbuild/linux-arm": "0.27.2", + "@esbuild/linux-arm64": "0.27.2", + "@esbuild/linux-ia32": "0.27.2", + "@esbuild/linux-loong64": "0.27.2", + "@esbuild/linux-mips64el": "0.27.2", + "@esbuild/linux-ppc64": "0.27.2", + "@esbuild/linux-riscv64": "0.27.2", + "@esbuild/linux-s390x": "0.27.2", + "@esbuild/linux-x64": "0.27.2", + "@esbuild/netbsd-arm64": "0.27.2", + "@esbuild/netbsd-x64": "0.27.2", + "@esbuild/openbsd-arm64": "0.27.2", + "@esbuild/openbsd-x64": "0.27.2", + "@esbuild/openharmony-arm64": "0.27.2", + "@esbuild/sunos-x64": "0.27.2", + "@esbuild/win32-arm64": "0.27.2", + "@esbuild/win32-ia32": "0.27.2", + "@esbuild/win32-x64": "0.27.2" + } + }, + "node_modules/escalade": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.2.0.tgz", + "integrity": "sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/fast-glob": { + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.3.tgz", + "integrity": "sha512-7MptL8U0cqcFdzIzwOTHoilX9x5BrNqye7Z/LuC7kCMRio1EMSyqRK3BEAUD7sXRq4iT4AzTVuZdhgQ2TCvYLg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@nodelib/fs.stat": "^2.0.2", + "@nodelib/fs.walk": "^1.2.3", + "glob-parent": "^5.1.2", + "merge2": "^1.3.0", + "micromatch": "^4.0.8" + }, + "engines": { + "node": ">=8.6.0" + } + }, + "node_modules/fast-glob/node_modules/glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dev": true, + "license": "ISC", + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/fastq": { + "version": "1.20.1", + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.20.1.tgz", + "integrity": "sha512-GGToxJ/w1x32s/D2EKND7kTil4n8OVk/9mycTc4VDza13lOvpUZTGX3mFSCtV9ksdGBVzvsyAVLM6mHFThxXxw==", + "dev": true, + "license": "ISC", + "dependencies": { + "reusify": "^1.0.4" + } + }, + "node_modules/fill-range": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz", + "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==", + "dev": true, + "license": "MIT", + "dependencies": { + "to-regex-range": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/follow-redirects": { + "version": "1.15.11", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.11.tgz", + "integrity": "sha512-deG2P0JfjrTxl50XGCDyfI97ZGVCxIpfKYmfyrQ54n5FO/0gfIES8C/Psl6kWVDolizcaaxZJnTS0QSMxvnsBQ==", + "dev": true, + "funding": [ + { + "type": "individual", + "url": "https://github.com/sponsors/RubenVerborgh" + } + ], + "license": "MIT", + "engines": { + "node": ">=4.0" + }, + "peerDependenciesMeta": { + "debug": { + "optional": true + } + } + }, + "node_modules/form-data": { + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.5.tgz", + "integrity": "sha512-8RipRLol37bNs2bhoV67fiTEvdTrbMUYcFTiy3+wuuOnUog2QBHCZWXDRijWQfAkhBj2Uf5UnVaiWwA5vdd82w==", + "dev": true, + "license": "MIT", + "dependencies": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.8", + "es-set-tostringtag": "^2.1.0", + "hasown": "^2.0.2", + "mime-types": "^2.1.12" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/fraction.js": { + "version": "5.3.4", + "resolved": "https://registry.npmjs.org/fraction.js/-/fraction.js-5.3.4.tgz", + "integrity": "sha512-1X1NTtiJphryn/uLQz3whtY6jK3fTqoE3ohKs0tT+Ujr1W59oopxmoEh7Lu5p6vBaPbgoM0bzveAW4Qi5RyWDQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": "*" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/rawify" + } + }, + "node_modules/fsevents": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", + "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", + "dev": true, + "hasInstallScript": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" + } + }, + "node_modules/function-bind": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", + "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", + "dev": true, + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/get-caller-file": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", + "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", + "dev": true, + "license": "ISC", + "engines": { + "node": "6.* || 8.* || >= 10.*" + } + }, + "node_modules/get-intrinsic": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.3.0.tgz", + "integrity": "sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind-apply-helpers": "^1.0.2", + "es-define-property": "^1.0.1", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.1.1", + "function-bind": "^1.1.2", + "get-proto": "^1.0.1", + "gopd": "^1.2.0", + "has-symbols": "^1.1.0", + "hasown": "^2.0.2", + "math-intrinsics": "^1.1.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/get-proto": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/get-proto/-/get-proto-1.0.1.tgz", + "integrity": "sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==", + "dev": true, + "license": "MIT", + "dependencies": { + "dunder-proto": "^1.0.1", + "es-object-atoms": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/glob-parent": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", + "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", + "dev": true, + "license": "ISC", + "dependencies": { + "is-glob": "^4.0.3" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/gopd": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.2.0.tgz", + "integrity": "sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/graceful-fs": { + "version": "4.2.11", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", + "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==", + "dev": true, + "license": "ISC" + }, + "node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/has-symbols": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.1.0.tgz", + "integrity": "sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-tostringtag": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.2.tgz", + "integrity": "sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==", + "dev": true, + "license": "MIT", + "dependencies": { + "has-symbols": "^1.0.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/hasown": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz", + "integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "function-bind": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/is-binary-path": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", + "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", + "dev": true, + "license": "MIT", + "dependencies": { + "binary-extensions": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/is-core-module": { + "version": "2.16.1", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.16.1.tgz", + "integrity": "sha512-UfoeMA6fIJ8wTYFEUjelnaGI67v6+N7qXJEvQuIGa99l4xsCruSYOVSQ0uPANn4dAzm8lkYPaKLrrijLq7x23w==", + "dev": true, + "license": "MIT", + "dependencies": { + "hasown": "^2.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/is-glob": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", + "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-extglob": "^2.1.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.12.0" + } + }, + "node_modules/jiti": { + "version": "2.6.1", + "resolved": "https://registry.npmjs.org/jiti/-/jiti-2.6.1.tgz", + "integrity": "sha512-ekilCSN1jwRvIbgeg/57YFh8qQDNbwDb9xT/qu2DAHbFFZUicIl4ygVaAvzveMhMVr3LnpSKTNnwt8PoOfmKhQ==", + "dev": true, + "license": "MIT", + "bin": { + "jiti": "lib/jiti-cli.mjs" + } + }, + "node_modules/laravel-vite-plugin": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/laravel-vite-plugin/-/laravel-vite-plugin-2.1.0.tgz", + "integrity": "sha512-z+ck2BSV6KWtYcoIzk9Y5+p4NEjqM+Y4i8/H+VZRLq0OgNjW2DqyADquwYu5j8qRvaXwzNmfCWl1KrMlV1zpsg==", + "dev": true, + "license": "MIT", + "dependencies": { + "picocolors": "^1.0.0", + "vite-plugin-full-reload": "^1.1.0" + }, + "bin": { + "clean-orphaned-assets": "bin/clean.js" + }, + "engines": { + "node": "^20.19.0 || >=22.12.0" + }, + "peerDependencies": { + "vite": "^7.0.0" + } + }, + "node_modules/lightningcss": { + "version": "1.30.2", + "resolved": "https://registry.npmjs.org/lightningcss/-/lightningcss-1.30.2.tgz", + "integrity": "sha512-utfs7Pr5uJyyvDETitgsaqSyjCb2qNRAtuqUeWIAKztsOYdcACf2KtARYXg2pSvhkt+9NfoaNY7fxjl6nuMjIQ==", + "dev": true, + "license": "MPL-2.0", + "dependencies": { + "detect-libc": "^2.0.3" + }, + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + }, + "optionalDependencies": { + "lightningcss-android-arm64": "1.30.2", + "lightningcss-darwin-arm64": "1.30.2", + "lightningcss-darwin-x64": "1.30.2", + "lightningcss-freebsd-x64": "1.30.2", + "lightningcss-linux-arm-gnueabihf": "1.30.2", + "lightningcss-linux-arm64-gnu": "1.30.2", + "lightningcss-linux-arm64-musl": "1.30.2", + "lightningcss-linux-x64-gnu": "1.30.2", + "lightningcss-linux-x64-musl": "1.30.2", + "lightningcss-win32-arm64-msvc": "1.30.2", + "lightningcss-win32-x64-msvc": "1.30.2" + } + }, + "node_modules/lightningcss-android-arm64": { + "version": "1.30.2", + "resolved": "https://registry.npmjs.org/lightningcss-android-arm64/-/lightningcss-android-arm64-1.30.2.tgz", + "integrity": "sha512-BH9sEdOCahSgmkVhBLeU7Hc9DWeZ1Eb6wNS6Da8igvUwAe0sqROHddIlvU06q3WyXVEOYDZ6ykBZQnjTbmo4+A==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MPL-2.0", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-darwin-arm64": { + "version": "1.30.2", + "resolved": "https://registry.npmjs.org/lightningcss-darwin-arm64/-/lightningcss-darwin-arm64-1.30.2.tgz", + "integrity": "sha512-ylTcDJBN3Hp21TdhRT5zBOIi73P6/W0qwvlFEk22fkdXchtNTOU4Qc37SkzV+EKYxLouZ6M4LG9NfZ1qkhhBWA==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MPL-2.0", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-darwin-x64": { + "version": "1.30.2", + "resolved": "https://registry.npmjs.org/lightningcss-darwin-x64/-/lightningcss-darwin-x64-1.30.2.tgz", + "integrity": "sha512-oBZgKchomuDYxr7ilwLcyms6BCyLn0z8J0+ZZmfpjwg9fRVZIR5/GMXd7r9RH94iDhld3UmSjBM6nXWM2TfZTQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MPL-2.0", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-freebsd-x64": { + "version": "1.30.2", + "resolved": "https://registry.npmjs.org/lightningcss-freebsd-x64/-/lightningcss-freebsd-x64-1.30.2.tgz", + "integrity": "sha512-c2bH6xTrf4BDpK8MoGG4Bd6zAMZDAXS569UxCAGcA7IKbHNMlhGQ89eRmvpIUGfKWNVdbhSbkQaWhEoMGmGslA==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MPL-2.0", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-linux-arm-gnueabihf": { + "version": "1.30.2", + "resolved": "https://registry.npmjs.org/lightningcss-linux-arm-gnueabihf/-/lightningcss-linux-arm-gnueabihf-1.30.2.tgz", + "integrity": "sha512-eVdpxh4wYcm0PofJIZVuYuLiqBIakQ9uFZmipf6LF/HRj5Bgm0eb3qL/mr1smyXIS1twwOxNWndd8z0E374hiA==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MPL-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-linux-arm64-gnu": { + "version": "1.30.2", + "resolved": "https://registry.npmjs.org/lightningcss-linux-arm64-gnu/-/lightningcss-linux-arm64-gnu-1.30.2.tgz", + "integrity": "sha512-UK65WJAbwIJbiBFXpxrbTNArtfuznvxAJw4Q2ZGlU8kPeDIWEX1dg3rn2veBVUylA2Ezg89ktszWbaQnxD/e3A==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MPL-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-linux-arm64-musl": { + "version": "1.30.2", + "resolved": "https://registry.npmjs.org/lightningcss-linux-arm64-musl/-/lightningcss-linux-arm64-musl-1.30.2.tgz", + "integrity": "sha512-5Vh9dGeblpTxWHpOx8iauV02popZDsCYMPIgiuw97OJ5uaDsL86cnqSFs5LZkG3ghHoX5isLgWzMs+eD1YzrnA==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MPL-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-linux-x64-gnu": { + "version": "1.30.2", + "resolved": "https://registry.npmjs.org/lightningcss-linux-x64-gnu/-/lightningcss-linux-x64-gnu-1.30.2.tgz", + "integrity": "sha512-Cfd46gdmj1vQ+lR6VRTTadNHu6ALuw2pKR9lYq4FnhvgBc4zWY1EtZcAc6EffShbb1MFrIPfLDXD6Xprbnni4w==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MPL-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-linux-x64-musl": { + "version": "1.30.2", + "resolved": "https://registry.npmjs.org/lightningcss-linux-x64-musl/-/lightningcss-linux-x64-musl-1.30.2.tgz", + "integrity": "sha512-XJaLUUFXb6/QG2lGIW6aIk6jKdtjtcffUT0NKvIqhSBY3hh9Ch+1LCeH80dR9q9LBjG3ewbDjnumefsLsP6aiA==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MPL-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-win32-arm64-msvc": { + "version": "1.30.2", + "resolved": "https://registry.npmjs.org/lightningcss-win32-arm64-msvc/-/lightningcss-win32-arm64-msvc-1.30.2.tgz", + "integrity": "sha512-FZn+vaj7zLv//D/192WFFVA0RgHawIcHqLX9xuWiQt7P0PtdFEVaxgF9rjM/IRYHQXNnk61/H/gb2Ei+kUQ4xQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MPL-2.0", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-win32-x64-msvc": { + "version": "1.30.2", + "resolved": "https://registry.npmjs.org/lightningcss-win32-x64-msvc/-/lightningcss-win32-x64-msvc-1.30.2.tgz", + "integrity": "sha512-5g1yc73p+iAkid5phb4oVFMB45417DkRevRbt/El/gKXJk4jid+vPFF/AXbxn05Aky8PapwzZrdJShv5C0avjw==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MPL-2.0", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lilconfig": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-3.1.3.tgz", + "integrity": "sha512-/vlFKAoH5Cgt3Ie+JLhRbwOsCQePABiU3tJ1egGvyQ+33R/vcwM2Zl2QR/LzjsBeItPt3oSVXapn+m4nQDvpzw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/antonk52" + } + }, + "node_modules/lines-and-columns": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz", + "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==", + "dev": true, + "license": "MIT" + }, + "node_modules/magic-string": { + "version": "0.30.21", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.21.tgz", + "integrity": "sha512-vd2F4YUyEXKGcLHoq+TEyCjxueSeHnFxyyjNp80yg0XV4vUhnDer/lvvlqM/arB5bXQN5K2/3oinyCRyx8T2CQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jridgewell/sourcemap-codec": "^1.5.5" + } + }, + "node_modules/math-intrinsics": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/math-intrinsics/-/math-intrinsics-1.1.0.tgz", + "integrity": "sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/merge2": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", + "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 8" + } + }, + "node_modules/micromatch": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.8.tgz", + "integrity": "sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==", + "dev": true, + "license": "MIT", + "dependencies": { + "braces": "^3.0.3", + "picomatch": "^2.3.1" + }, + "engines": { + "node": ">=8.6" + } + }, + "node_modules/mime-db": { + "version": "1.52.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mime-types": { + "version": "2.1.35", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", + "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", + "dev": true, + "license": "MIT", + "dependencies": { + "mime-db": "1.52.0" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mini-svg-data-uri": { + "version": "1.4.4", + "resolved": "https://registry.npmjs.org/mini-svg-data-uri/-/mini-svg-data-uri-1.4.4.tgz", + "integrity": "sha512-r9deDe9p5FJUPZAk3A59wGH7Ii9YrjjWw0jmw/liSbHl2CHiyXj6FcDXDu2K3TjVAXqiJdaw3xxwlZZr9E6nHg==", + "dev": true, + "license": "MIT", + "bin": { + "mini-svg-data-uri": "cli.js" + } + }, + "node_modules/mz": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/mz/-/mz-2.7.0.tgz", + "integrity": "sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "any-promise": "^1.0.0", + "object-assign": "^4.0.1", + "thenify-all": "^1.0.0" + } + }, + "node_modules/nanoid": { + "version": "3.3.11", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.11.tgz", + "integrity": "sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "bin": { + "nanoid": "bin/nanoid.cjs" + }, + "engines": { + "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" + } + }, + "node_modules/node-releases": { + "version": "2.0.27", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.27.tgz", + "integrity": "sha512-nmh3lCkYZ3grZvqcCH+fjmQ7X+H0OeZgP40OierEaAptX4XofMh5kwNbWh7lBduUzCcV/8kZ+NDLCwm2iorIlA==", + "dev": true, + "license": "MIT" + }, + "node_modules/normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object-assign": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object-hash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/object-hash/-/object-hash-3.0.0.tgz", + "integrity": "sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 6" + } + }, + "node_modules/path-parse": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", + "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", + "dev": true, + "license": "MIT" + }, + "node_modules/picocolors": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz", + "integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==", + "dev": true, + "license": "ISC" + }, + "node_modules/picomatch": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8.6" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/pify": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/pirates": { + "version": "4.0.7", + "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.7.tgz", + "integrity": "sha512-TfySrs/5nm8fQJDcBDuUng3VOUKsd7S+zqvbOTiGXHfxX4wK31ard+hoNuvkicM/2YFzlpDgABOevKSsB4G/FA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 6" + } + }, + "node_modules/postcss": { + "version": "8.5.6", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.6.tgz", + "integrity": "sha512-3Ybi1tAuwAP9s0r1UQ2J4n5Y0G05bJkpUIO0/bI9MhwmD70S5aTWbXGBwxHrelT+XM1k6dM0pk+SwNkpTRN7Pg==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/postcss" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "dependencies": { + "nanoid": "^3.3.11", + "picocolors": "^1.1.1", + "source-map-js": "^1.2.1" + }, + "engines": { + "node": "^10 || ^12 || >=14" + } + }, + "node_modules/postcss-import": { + "version": "15.1.0", + "resolved": "https://registry.npmjs.org/postcss-import/-/postcss-import-15.1.0.tgz", + "integrity": "sha512-hpr+J05B2FVYUAXHeK1YyI267J/dDDhMU6B6civm8hSY1jYJnBXxzKDKDswzJmtLHryrjhnDjqqp/49t8FALew==", + "dev": true, + "license": "MIT", + "dependencies": { + "postcss-value-parser": "^4.0.0", + "read-cache": "^1.0.0", + "resolve": "^1.1.7" + }, + "engines": { + "node": ">=14.0.0" + }, + "peerDependencies": { + "postcss": "^8.0.0" + } + }, + "node_modules/postcss-js": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/postcss-js/-/postcss-js-4.1.0.tgz", + "integrity": "sha512-oIAOTqgIo7q2EOwbhb8UalYePMvYoIeRY2YKntdpFQXNosSu3vLrniGgmH9OKs/qAkfoj5oB3le/7mINW1LCfw==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "dependencies": { + "camelcase-css": "^2.0.1" + }, + "engines": { + "node": "^12 || ^14 || >= 16" + }, + "peerDependencies": { + "postcss": "^8.4.21" + } + }, + "node_modules/postcss-load-config": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-6.0.1.tgz", + "integrity": "sha512-oPtTM4oerL+UXmx+93ytZVN82RrlY/wPUV8IeDxFrzIjXOLF1pN+EmKPLbubvKHT2HC20xXsCAH2Z+CKV6Oz/g==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "dependencies": { + "lilconfig": "^3.1.1" + }, + "engines": { + "node": ">= 18" + }, + "peerDependencies": { + "jiti": ">=1.21.0", + "postcss": ">=8.0.9", + "tsx": "^4.8.1", + "yaml": "^2.4.2" + }, + "peerDependenciesMeta": { + "jiti": { + "optional": true + }, + "postcss": { + "optional": true + }, + "tsx": { + "optional": true + }, + "yaml": { + "optional": true + } + } + }, + "node_modules/postcss-nested": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/postcss-nested/-/postcss-nested-6.2.0.tgz", + "integrity": "sha512-HQbt28KulC5AJzG+cZtj9kvKB93CFCdLvog1WFLf1D+xmMvPGlBstkpTEZfK5+AN9hfJocyBFCNiqyS48bpgzQ==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "dependencies": { + "postcss-selector-parser": "^6.1.1" + }, + "engines": { + "node": ">=12.0" + }, + "peerDependencies": { + "postcss": "^8.2.14" + } + }, + "node_modules/postcss-selector-parser": { + "version": "6.1.2", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.1.2.tgz", + "integrity": "sha512-Q8qQfPiZ+THO/3ZrOrO0cJJKfpYCagtMUkXbnEfmgUjwXg6z/WBeOyS9APBBPCTSiDV+s4SwQGu8yFsiMRIudg==", + "dev": true, + "license": "MIT", + "dependencies": { + "cssesc": "^3.0.0", + "util-deprecate": "^1.0.2" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/postcss-value-parser": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz", + "integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/proxy-from-env": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz", + "integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==", + "dev": true, + "license": "MIT" + }, + "node_modules/queue-microtask": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", + "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT" + }, + "node_modules/read-cache": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/read-cache/-/read-cache-1.0.0.tgz", + "integrity": "sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA==", + "dev": true, + "license": "MIT", + "dependencies": { + "pify": "^2.3.0" + } + }, + "node_modules/readdirp": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", + "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", + "dev": true, + "license": "MIT", + "dependencies": { + "picomatch": "^2.2.1" + }, + "engines": { + "node": ">=8.10.0" + } + }, + "node_modules/require-directory": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", + "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/resolve": { + "version": "1.22.11", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.11.tgz", + "integrity": "sha512-RfqAvLnMl313r7c9oclB1HhUEAezcpLjz95wFH4LVuhk9JF/r22qmVP9AMmOU4vMX7Q8pN8jwNg/CSpdFnMjTQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-core-module": "^2.16.1", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" + }, + "bin": { + "resolve": "bin/resolve" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/reusify": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.1.0.tgz", + "integrity": "sha512-g6QUff04oZpHs0eG5p83rFLhHeV00ug/Yf9nZM6fLeUrPguBTkTQOdpAWWspMh55TZfVQDPaN3NQJfbVRAxdIw==", + "dev": true, + "license": "MIT", + "engines": { + "iojs": ">=1.0.0", + "node": ">=0.10.0" + } + }, + "node_modules/rollup": { + "version": "4.56.0", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.56.0.tgz", + "integrity": "sha512-9FwVqlgUHzbXtDg9RCMgodF3Ua4Na6Gau+Sdt9vyCN4RhHfVKX2DCHy3BjMLTDd47ITDhYAnTwGulWTblJSDLg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/estree": "1.0.8" + }, + "bin": { + "rollup": "dist/bin/rollup" + }, + "engines": { + "node": ">=18.0.0", + "npm": ">=8.0.0" + }, + "optionalDependencies": { + "@rollup/rollup-android-arm-eabi": "4.56.0", + "@rollup/rollup-android-arm64": "4.56.0", + "@rollup/rollup-darwin-arm64": "4.56.0", + "@rollup/rollup-darwin-x64": "4.56.0", + "@rollup/rollup-freebsd-arm64": "4.56.0", + "@rollup/rollup-freebsd-x64": "4.56.0", + "@rollup/rollup-linux-arm-gnueabihf": "4.56.0", + "@rollup/rollup-linux-arm-musleabihf": "4.56.0", + "@rollup/rollup-linux-arm64-gnu": "4.56.0", + "@rollup/rollup-linux-arm64-musl": "4.56.0", + "@rollup/rollup-linux-loong64-gnu": "4.56.0", + "@rollup/rollup-linux-loong64-musl": "4.56.0", + "@rollup/rollup-linux-ppc64-gnu": "4.56.0", + "@rollup/rollup-linux-ppc64-musl": "4.56.0", + "@rollup/rollup-linux-riscv64-gnu": "4.56.0", + "@rollup/rollup-linux-riscv64-musl": "4.56.0", + "@rollup/rollup-linux-s390x-gnu": "4.56.0", + "@rollup/rollup-linux-x64-gnu": "4.56.0", + "@rollup/rollup-linux-x64-musl": "4.56.0", + "@rollup/rollup-openbsd-x64": "4.56.0", + "@rollup/rollup-openharmony-arm64": "4.56.0", + "@rollup/rollup-win32-arm64-msvc": "4.56.0", + "@rollup/rollup-win32-ia32-msvc": "4.56.0", + "@rollup/rollup-win32-x64-gnu": "4.56.0", + "@rollup/rollup-win32-x64-msvc": "4.56.0", + "fsevents": "~2.3.2" + } + }, + "node_modules/run-parallel": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", + "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT", + "dependencies": { + "queue-microtask": "^1.2.2" + } + }, + "node_modules/rxjs": { + "version": "7.8.2", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-7.8.2.tgz", + "integrity": "sha512-dhKf903U/PQZY6boNNtAGdWbG85WAbjT/1xYoZIC7FAY0yWapOBQVsVrDl58W86//e1VpMNBtRV4MaXfdMySFA==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "tslib": "^2.1.0" + } + }, + "node_modules/shell-quote": { + "version": "1.8.3", + "resolved": "https://registry.npmjs.org/shell-quote/-/shell-quote-1.8.3.tgz", + "integrity": "sha512-ObmnIF4hXNg1BqhnHmgbDETF8dLPCggZWBjkQfhZpbszZnYur5DUljTcCHii5LC3J5E0yeO/1LIMyH+UvHQgyw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/source-map-js": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.1.tgz", + "integrity": "sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==", + "dev": true, + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dev": true, + "license": "MIT", + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/sucrase": { + "version": "3.35.1", + "resolved": "https://registry.npmjs.org/sucrase/-/sucrase-3.35.1.tgz", + "integrity": "sha512-DhuTmvZWux4H1UOnWMB3sk0sbaCVOoQZjv8u1rDoTV0HTdGem9hkAZtl4JZy8P2z4Bg0nT+YMeOFyVr4zcG5Tw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jridgewell/gen-mapping": "^0.3.2", + "commander": "^4.0.0", + "lines-and-columns": "^1.1.6", + "mz": "^2.7.0", + "pirates": "^4.0.1", + "tinyglobby": "^0.2.11", + "ts-interface-checker": "^0.1.9" + }, + "bin": { + "sucrase": "bin/sucrase", + "sucrase-node": "bin/sucrase-node" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + } + }, + "node_modules/supports-color": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", + "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/supports-color?sponsor=1" + } + }, + "node_modules/supports-preserve-symlinks-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", + "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/tailwindcss": { + "version": "3.4.19", + "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-3.4.19.tgz", + "integrity": "sha512-3ofp+LL8E+pK/JuPLPggVAIaEuhvIz4qNcf3nA1Xn2o/7fb7s/TYpHhwGDv1ZU3PkBluUVaF8PyCHcm48cKLWQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@alloc/quick-lru": "^5.2.0", + "arg": "^5.0.2", + "chokidar": "^3.6.0", + "didyoumean": "^1.2.2", + "dlv": "^1.1.3", + "fast-glob": "^3.3.2", + "glob-parent": "^6.0.2", + "is-glob": "^4.0.3", + "jiti": "^1.21.7", + "lilconfig": "^3.1.3", + "micromatch": "^4.0.8", + "normalize-path": "^3.0.0", + "object-hash": "^3.0.0", + "picocolors": "^1.1.1", + "postcss": "^8.4.47", + "postcss-import": "^15.1.0", + "postcss-js": "^4.0.1", + "postcss-load-config": "^4.0.2 || ^5.0 || ^6.0", + "postcss-nested": "^6.2.0", + "postcss-selector-parser": "^6.1.2", + "resolve": "^1.22.8", + "sucrase": "^3.35.0" + }, + "bin": { + "tailwind": "lib/cli.js", + "tailwindcss": "lib/cli.js" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/tailwindcss/node_modules/jiti": { + "version": "1.21.7", + "resolved": "https://registry.npmjs.org/jiti/-/jiti-1.21.7.tgz", + "integrity": "sha512-/imKNG4EbWNrVjoNC/1H5/9GFy+tqjGBHCaSsN+P2RnPqjsLmv6UD3Ej+Kj8nBWaRAwyk7kK5ZUc+OEatnTR3A==", + "dev": true, + "license": "MIT", + "bin": { + "jiti": "bin/jiti.js" + } + }, + "node_modules/tapable": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.3.0.tgz", + "integrity": "sha512-g9ljZiwki/LfxmQADO3dEY1CbpmXT5Hm2fJ+QaGKwSXUylMybePR7/67YW7jOrrvjEgL1Fmz5kzyAjWVWLlucg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + } + }, + "node_modules/thenify": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/thenify/-/thenify-3.3.1.tgz", + "integrity": "sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==", + "dev": true, + "license": "MIT", + "dependencies": { + "any-promise": "^1.0.0" + } + }, + "node_modules/thenify-all": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/thenify-all/-/thenify-all-1.6.0.tgz", + "integrity": "sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA==", + "dev": true, + "license": "MIT", + "dependencies": { + "thenify": ">= 3.1.0 < 4" + }, + "engines": { + "node": ">=0.8" + } + }, + "node_modules/tinyglobby": { + "version": "0.2.15", + "resolved": "https://registry.npmjs.org/tinyglobby/-/tinyglobby-0.2.15.tgz", + "integrity": "sha512-j2Zq4NyQYG5XMST4cbs02Ak8iJUdxRM0XI5QyxXuZOzKOINmWurp3smXu3y5wDcJrptwpSjgXHzIQxR0omXljQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "fdir": "^6.5.0", + "picomatch": "^4.0.3" + }, + "engines": { + "node": ">=12.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/SuperchupuDev" + } + }, + "node_modules/tinyglobby/node_modules/fdir": { + "version": "6.5.0", + "resolved": "https://registry.npmjs.org/fdir/-/fdir-6.5.0.tgz", + "integrity": "sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12.0.0" + }, + "peerDependencies": { + "picomatch": "^3 || ^4" + }, + "peerDependenciesMeta": { + "picomatch": { + "optional": true + } + } + }, + "node_modules/tinyglobby/node_modules/picomatch": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.3.tgz", + "integrity": "sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-number": "^7.0.0" + }, + "engines": { + "node": ">=8.0" + } + }, + "node_modules/tree-kill": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/tree-kill/-/tree-kill-1.2.2.tgz", + "integrity": "sha512-L0Orpi8qGpRG//Nd+H90vFB+3iHnue1zSSGmNOOCh1GLJ7rUKVwV2HvijphGQS2UmhUZewS9VgvxYIdgr+fG1A==", + "dev": true, + "license": "MIT", + "bin": { + "tree-kill": "cli.js" + } + }, + "node_modules/ts-interface-checker": { + "version": "0.1.13", + "resolved": "https://registry.npmjs.org/ts-interface-checker/-/ts-interface-checker-0.1.13.tgz", + "integrity": "sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==", + "dev": true, + "license": "Apache-2.0" + }, + "node_modules/tslib": { + "version": "2.8.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz", + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", + "dev": true, + "license": "0BSD" + }, + "node_modules/update-browserslist-db": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.2.3.tgz", + "integrity": "sha512-Js0m9cx+qOgDxo0eMiFGEueWztz+d4+M3rGlmKPT+T4IS/jP4ylw3Nwpu6cpTTP8R1MAC1kF4VbdLt3ARf209w==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "dependencies": { + "escalade": "^3.2.0", + "picocolors": "^1.1.1" + }, + "bin": { + "update-browserslist-db": "cli.js" + }, + "peerDependencies": { + "browserslist": ">= 4.21.0" + } + }, + "node_modules/util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==", + "dev": true, + "license": "MIT" + }, + "node_modules/vite": { + "version": "7.3.1", + "resolved": "https://registry.npmjs.org/vite/-/vite-7.3.1.tgz", + "integrity": "sha512-w+N7Hifpc3gRjZ63vYBXA56dvvRlNWRczTdmCBBa+CotUzAPf5b7YMdMR/8CQoeYE5LX3W4wj6RYTgonm1b9DA==", + "dev": true, + "license": "MIT", + "dependencies": { + "esbuild": "^0.27.0", + "fdir": "^6.5.0", + "picomatch": "^4.0.3", + "postcss": "^8.5.6", + "rollup": "^4.43.0", + "tinyglobby": "^0.2.15" + }, + "bin": { + "vite": "bin/vite.js" + }, + "engines": { + "node": "^20.19.0 || >=22.12.0" + }, + "funding": { + "url": "https://github.com/vitejs/vite?sponsor=1" + }, + "optionalDependencies": { + "fsevents": "~2.3.3" + }, + "peerDependencies": { + "@types/node": "^20.19.0 || >=22.12.0", + "jiti": ">=1.21.0", + "less": "^4.0.0", + "lightningcss": "^1.21.0", + "sass": "^1.70.0", + "sass-embedded": "^1.70.0", + "stylus": ">=0.54.8", + "sugarss": "^5.0.0", + "terser": "^5.16.0", + "tsx": "^4.8.1", + "yaml": "^2.4.2" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + }, + "jiti": { + "optional": true + }, + "less": { + "optional": true + }, + "lightningcss": { + "optional": true + }, + "sass": { + "optional": true + }, + "sass-embedded": { + "optional": true + }, + "stylus": { + "optional": true + }, + "sugarss": { + "optional": true + }, + "terser": { + "optional": true + }, + "tsx": { + "optional": true + }, + "yaml": { + "optional": true + } + } + }, + "node_modules/vite-plugin-full-reload": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/vite-plugin-full-reload/-/vite-plugin-full-reload-1.2.0.tgz", + "integrity": "sha512-kz18NW79x0IHbxRSHm0jttP4zoO9P9gXh+n6UTwlNKnviTTEpOlum6oS9SmecrTtSr+muHEn5TUuC75UovQzcA==", + "dev": true, + "license": "MIT", + "dependencies": { + "picocolors": "^1.0.0", + "picomatch": "^2.3.1" + } + }, + "node_modules/vite/node_modules/fdir": { + "version": "6.5.0", + "resolved": "https://registry.npmjs.org/fdir/-/fdir-6.5.0.tgz", + "integrity": "sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12.0.0" + }, + "peerDependencies": { + "picomatch": "^3 || ^4" + }, + "peerDependenciesMeta": { + "picomatch": { + "optional": true + } + } + }, + "node_modules/vite/node_modules/picomatch": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.3.tgz", + "integrity": "sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/wrap-ansi": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/y18n": { + "version": "5.0.8", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", + "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=10" + } + }, + "node_modules/yargs": { + "version": "17.7.2", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz", + "integrity": "sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==", + "dev": true, + "license": "MIT", + "dependencies": { + "cliui": "^8.0.1", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.3", + "y18n": "^5.0.5", + "yargs-parser": "^21.1.1" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/yargs-parser": { + "version": "21.1.1", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", + "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=12" + } + } + } +} diff --git a/package.json b/package.json new file mode 100644 index 0000000..2ea7e1d --- /dev/null +++ b/package.json @@ -0,0 +1,21 @@ +{ + "$schema": "https://www.schemastore.org/package.json", + "private": true, + "type": "module", + "scripts": { + "build": "vite build", + "dev": "vite" + }, + "devDependencies": { + "@tailwindcss/forms": "^0.5.2", + "@tailwindcss/vite": "^4.0.0", + "alpinejs": "^3.4.2", + "autoprefixer": "^10.4.2", + "axios": "^1.11.0", + "concurrently": "^9.0.1", + "laravel-vite-plugin": "^2.0.0", + "postcss": "^8.4.31", + "tailwindcss": "^3.1.0", + "vite": "^7.0.7" + } +} diff --git a/phpunit.xml b/phpunit.xml new file mode 100644 index 0000000..d703241 --- /dev/null +++ b/phpunit.xml @@ -0,0 +1,35 @@ + + + + + tests/Unit + + + tests/Feature + + + + + app + + + + + + + + + + + + + + + + + + diff --git a/postcss.config.js b/postcss.config.js new file mode 100644 index 0000000..49c0612 --- /dev/null +++ b/postcss.config.js @@ -0,0 +1,6 @@ +export default { + plugins: { + tailwindcss: {}, + autoprefixer: {}, + }, +}; diff --git a/public/.htaccess b/public/.htaccess new file mode 100644 index 0000000..b574a59 --- /dev/null +++ b/public/.htaccess @@ -0,0 +1,25 @@ + + + Options -MultiViews -Indexes + + + RewriteEngine On + + # Handle Authorization Header + RewriteCond %{HTTP:Authorization} . + RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}] + + # Handle X-XSRF-Token Header + RewriteCond %{HTTP:x-xsrf-token} . + RewriteRule .* - [E=HTTP_X_XSRF_TOKEN:%{HTTP:X-XSRF-Token}] + + # Redirect Trailing Slashes If Not A Folder... + RewriteCond %{REQUEST_FILENAME} !-d + RewriteCond %{REQUEST_URI} (.+)/$ + RewriteRule ^ %1 [L,R=301] + + # Send Requests To Front Controller... + RewriteCond %{REQUEST_FILENAME} !-d + RewriteCond %{REQUEST_FILENAME} !-f + RewriteRule ^ index.php [L] + diff --git a/public/assets/css/auth.css b/public/assets/css/auth.css new file mode 100644 index 0000000..4092607 --- /dev/null +++ b/public/assets/css/auth.css @@ -0,0 +1,146 @@ +/* ========================================= + AUTH CLEAN MODERN STYLE +========================================= */ +body { + overflow-x: hidden; +} +html { + overflow-x: hidden; +} +html, +body { + height: 100%; + margin: 0; +} + +body.auth-page { + display: flex; + align-items: center; + justify-content: center; + min-height: 100vh; + background: linear-gradient(135deg, #f1f5f9, #e2e8f0); + padding: 24px; +} + +/* ===== WRAPPER ===== */ +.auth-wrapper { + width: 100%; + display: flex; + justify-content: center; +} +/* ===== CARD ===== */ +.auth-card { + background: #ffffff; + padding: 40px; + border-radius: 20px; + box-shadow: 0 25px 50px rgba(0, 0, 0, 0.08); + width: 100%; + max-width: 420px; + transition: all 0.3s ease; +} + +/* Hover subtle modern */ +.auth-card:hover { + transform: translateY(-2px); +} + +/* ===== IMAGE ===== */ +.auth-card img { + max-width: 75%; +} + +/* ===== TITLE ===== */ +.auth-card h4 { + font-weight: 600; + color: #1e293b; + font-size: 20px; +} + +.auth-card .text-muted { + font-size: 13px; + color: #64748b; +} + +/* ===== INPUT ===== */ +.form-label { + font-size: 13px; + font-weight: 500; + color: #374151; +} + +.form-control { + border-radius: 12px; + font-size: 14px; + padding: 10px 14px; + border: 1px solid #e2e8f0; + transition: all 0.2s ease; +} + +.form-control:focus { + border-color: #2563EB; + box-shadow: 0 0 0 0.15rem rgba(37, 99, 235, 0.2); +} + +/* ===== CHECKBOX ===== */ +.form-check-input { + cursor: pointer; +} + +.form-check-label { + font-size: 13px; +} + +/* ===== BUTTON ===== */ +.btn { + border-radius: 12px; + font-weight: 500; + padding: 10px; + font-size: 14px; +} + +.btn-primary { + background-color: #2563EB; + border-color: #2563EB; + box-shadow: 0 6px 18px rgba(37, 99, 235, 0.25); + transition: all 0.2s ease; +} + +.btn-primary:hover { + background-color: #1E4ED8; + border-color: #1E4ED8; + transform: translateY(-1px); +} + +/* ===== LINK ===== */ +a { + color: #2563EB; + font-size: 13px; +} + +a:hover { + color: #1E40AF; +} + +/* ========================================= + RESPONSIVE MOBILE +========================================= */ + +@media (max-width: 576px) { + body.auth-page { + align-items: center; + padding-top: 0; + } + + .auth-card { + padding: 25px; + border-radius: 16px; + } + + .auth-card img { + max-width: 85%; + } + + .auth-card h4 { + font-size: 18px; + } +} diff --git a/public/assets/css/bootstrap.min.css b/public/assets/css/bootstrap.min.css new file mode 100644 index 0000000..6561b6f --- /dev/null +++ b/public/assets/css/bootstrap.min.css @@ -0,0 +1,7 @@ +/*! + * Bootstrap v4.0.0 (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";--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,dialog,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";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:monospace,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:not(:root){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.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,kbd,pre,samp{font-family:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace}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:-webkit-box;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;-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1;max-width:100%}.col-auto{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;width:auto;max-width:none}.col-1{-webkit-box-flex:0;-ms-flex:0 0 8.333333%;flex:0 0 8.333333%;max-width:8.333333%}.col-2{-webkit-box-flex:0;-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-3{-webkit-box-flex:0;-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-4{-webkit-box-flex:0;-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.col-5{-webkit-box-flex:0;-ms-flex:0 0 41.666667%;flex:0 0 41.666667%;max-width:41.666667%}.col-6{-webkit-box-flex:0;-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-7{-webkit-box-flex:0;-ms-flex:0 0 58.333333%;flex:0 0 58.333333%;max-width:58.333333%}.col-8{-webkit-box-flex:0;-ms-flex:0 0 66.666667%;flex:0 0 66.666667%;max-width:66.666667%}.col-9{-webkit-box-flex:0;-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-10{-webkit-box-flex:0;-ms-flex:0 0 83.333333%;flex:0 0 83.333333%;max-width:83.333333%}.col-11{-webkit-box-flex:0;-ms-flex:0 0 91.666667%;flex:0 0 91.666667%;max-width:91.666667%}.col-12{-webkit-box-flex:0;-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.order-first{-webkit-box-ordinal-group:0;-ms-flex-order:-1;order:-1}.order-last{-webkit-box-ordinal-group:14;-ms-flex-order:13;order:13}.order-0{-webkit-box-ordinal-group:1;-ms-flex-order:0;order:0}.order-1{-webkit-box-ordinal-group:2;-ms-flex-order:1;order:1}.order-2{-webkit-box-ordinal-group:3;-ms-flex-order:2;order:2}.order-3{-webkit-box-ordinal-group:4;-ms-flex-order:3;order:3}.order-4{-webkit-box-ordinal-group:5;-ms-flex-order:4;order:4}.order-5{-webkit-box-ordinal-group:6;-ms-flex-order:5;order:5}.order-6{-webkit-box-ordinal-group:7;-ms-flex-order:6;order:6}.order-7{-webkit-box-ordinal-group:8;-ms-flex-order:7;order:7}.order-8{-webkit-box-ordinal-group:9;-ms-flex-order:8;order:8}.order-9{-webkit-box-ordinal-group:10;-ms-flex-order:9;order:9}.order-10{-webkit-box-ordinal-group:11;-ms-flex-order:10;order:10}.order-11{-webkit-box-ordinal-group:12;-ms-flex-order:11;order:11}.order-12{-webkit-box-ordinal-group:13;-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;-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1;max-width:100%}.col-sm-auto{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;width:auto;max-width:none}.col-sm-1{-webkit-box-flex:0;-ms-flex:0 0 8.333333%;flex:0 0 8.333333%;max-width:8.333333%}.col-sm-2{-webkit-box-flex:0;-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-sm-3{-webkit-box-flex:0;-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-sm-4{-webkit-box-flex:0;-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.col-sm-5{-webkit-box-flex:0;-ms-flex:0 0 41.666667%;flex:0 0 41.666667%;max-width:41.666667%}.col-sm-6{-webkit-box-flex:0;-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-sm-7{-webkit-box-flex:0;-ms-flex:0 0 58.333333%;flex:0 0 58.333333%;max-width:58.333333%}.col-sm-8{-webkit-box-flex:0;-ms-flex:0 0 66.666667%;flex:0 0 66.666667%;max-width:66.666667%}.col-sm-9{-webkit-box-flex:0;-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-sm-10{-webkit-box-flex:0;-ms-flex:0 0 83.333333%;flex:0 0 83.333333%;max-width:83.333333%}.col-sm-11{-webkit-box-flex:0;-ms-flex:0 0 91.666667%;flex:0 0 91.666667%;max-width:91.666667%}.col-sm-12{-webkit-box-flex:0;-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.order-sm-first{-webkit-box-ordinal-group:0;-ms-flex-order:-1;order:-1}.order-sm-last{-webkit-box-ordinal-group:14;-ms-flex-order:13;order:13}.order-sm-0{-webkit-box-ordinal-group:1;-ms-flex-order:0;order:0}.order-sm-1{-webkit-box-ordinal-group:2;-ms-flex-order:1;order:1}.order-sm-2{-webkit-box-ordinal-group:3;-ms-flex-order:2;order:2}.order-sm-3{-webkit-box-ordinal-group:4;-ms-flex-order:3;order:3}.order-sm-4{-webkit-box-ordinal-group:5;-ms-flex-order:4;order:4}.order-sm-5{-webkit-box-ordinal-group:6;-ms-flex-order:5;order:5}.order-sm-6{-webkit-box-ordinal-group:7;-ms-flex-order:6;order:6}.order-sm-7{-webkit-box-ordinal-group:8;-ms-flex-order:7;order:7}.order-sm-8{-webkit-box-ordinal-group:9;-ms-flex-order:8;order:8}.order-sm-9{-webkit-box-ordinal-group:10;-ms-flex-order:9;order:9}.order-sm-10{-webkit-box-ordinal-group:11;-ms-flex-order:10;order:10}.order-sm-11{-webkit-box-ordinal-group:12;-ms-flex-order:11;order:11}.order-sm-12{-webkit-box-ordinal-group:13;-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;-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1;max-width:100%}.col-md-auto{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;width:auto;max-width:none}.col-md-1{-webkit-box-flex:0;-ms-flex:0 0 8.333333%;flex:0 0 8.333333%;max-width:8.333333%}.col-md-2{-webkit-box-flex:0;-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-md-3{-webkit-box-flex:0;-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-md-4{-webkit-box-flex:0;-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.col-md-5{-webkit-box-flex:0;-ms-flex:0 0 41.666667%;flex:0 0 41.666667%;max-width:41.666667%}.col-md-6{-webkit-box-flex:0;-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-md-7{-webkit-box-flex:0;-ms-flex:0 0 58.333333%;flex:0 0 58.333333%;max-width:58.333333%}.col-md-8{-webkit-box-flex:0;-ms-flex:0 0 66.666667%;flex:0 0 66.666667%;max-width:66.666667%}.col-md-9{-webkit-box-flex:0;-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-md-10{-webkit-box-flex:0;-ms-flex:0 0 83.333333%;flex:0 0 83.333333%;max-width:83.333333%}.col-md-11{-webkit-box-flex:0;-ms-flex:0 0 91.666667%;flex:0 0 91.666667%;max-width:91.666667%}.col-md-12{-webkit-box-flex:0;-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.order-md-first{-webkit-box-ordinal-group:0;-ms-flex-order:-1;order:-1}.order-md-last{-webkit-box-ordinal-group:14;-ms-flex-order:13;order:13}.order-md-0{-webkit-box-ordinal-group:1;-ms-flex-order:0;order:0}.order-md-1{-webkit-box-ordinal-group:2;-ms-flex-order:1;order:1}.order-md-2{-webkit-box-ordinal-group:3;-ms-flex-order:2;order:2}.order-md-3{-webkit-box-ordinal-group:4;-ms-flex-order:3;order:3}.order-md-4{-webkit-box-ordinal-group:5;-ms-flex-order:4;order:4}.order-md-5{-webkit-box-ordinal-group:6;-ms-flex-order:5;order:5}.order-md-6{-webkit-box-ordinal-group:7;-ms-flex-order:6;order:6}.order-md-7{-webkit-box-ordinal-group:8;-ms-flex-order:7;order:7}.order-md-8{-webkit-box-ordinal-group:9;-ms-flex-order:8;order:8}.order-md-9{-webkit-box-ordinal-group:10;-ms-flex-order:9;order:9}.order-md-10{-webkit-box-ordinal-group:11;-ms-flex-order:10;order:10}.order-md-11{-webkit-box-ordinal-group:12;-ms-flex-order:11;order:11}.order-md-12{-webkit-box-ordinal-group:13;-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;-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1;max-width:100%}.col-lg-auto{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;width:auto;max-width:none}.col-lg-1{-webkit-box-flex:0;-ms-flex:0 0 8.333333%;flex:0 0 8.333333%;max-width:8.333333%}.col-lg-2{-webkit-box-flex:0;-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-lg-3{-webkit-box-flex:0;-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-lg-4{-webkit-box-flex:0;-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.col-lg-5{-webkit-box-flex:0;-ms-flex:0 0 41.666667%;flex:0 0 41.666667%;max-width:41.666667%}.col-lg-6{-webkit-box-flex:0;-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-lg-7{-webkit-box-flex:0;-ms-flex:0 0 58.333333%;flex:0 0 58.333333%;max-width:58.333333%}.col-lg-8{-webkit-box-flex:0;-ms-flex:0 0 66.666667%;flex:0 0 66.666667%;max-width:66.666667%}.col-lg-9{-webkit-box-flex:0;-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-lg-10{-webkit-box-flex:0;-ms-flex:0 0 83.333333%;flex:0 0 83.333333%;max-width:83.333333%}.col-lg-11{-webkit-box-flex:0;-ms-flex:0 0 91.666667%;flex:0 0 91.666667%;max-width:91.666667%}.col-lg-12{-webkit-box-flex:0;-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.order-lg-first{-webkit-box-ordinal-group:0;-ms-flex-order:-1;order:-1}.order-lg-last{-webkit-box-ordinal-group:14;-ms-flex-order:13;order:13}.order-lg-0{-webkit-box-ordinal-group:1;-ms-flex-order:0;order:0}.order-lg-1{-webkit-box-ordinal-group:2;-ms-flex-order:1;order:1}.order-lg-2{-webkit-box-ordinal-group:3;-ms-flex-order:2;order:2}.order-lg-3{-webkit-box-ordinal-group:4;-ms-flex-order:3;order:3}.order-lg-4{-webkit-box-ordinal-group:5;-ms-flex-order:4;order:4}.order-lg-5{-webkit-box-ordinal-group:6;-ms-flex-order:5;order:5}.order-lg-6{-webkit-box-ordinal-group:7;-ms-flex-order:6;order:6}.order-lg-7{-webkit-box-ordinal-group:8;-ms-flex-order:7;order:7}.order-lg-8{-webkit-box-ordinal-group:9;-ms-flex-order:8;order:8}.order-lg-9{-webkit-box-ordinal-group:10;-ms-flex-order:9;order:9}.order-lg-10{-webkit-box-ordinal-group:11;-ms-flex-order:10;order:10}.order-lg-11{-webkit-box-ordinal-group:12;-ms-flex-order:11;order:11}.order-lg-12{-webkit-box-ordinal-group:13;-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;-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1;max-width:100%}.col-xl-auto{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;width:auto;max-width:none}.col-xl-1{-webkit-box-flex:0;-ms-flex:0 0 8.333333%;flex:0 0 8.333333%;max-width:8.333333%}.col-xl-2{-webkit-box-flex:0;-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-xl-3{-webkit-box-flex:0;-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-xl-4{-webkit-box-flex:0;-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.col-xl-5{-webkit-box-flex:0;-ms-flex:0 0 41.666667%;flex:0 0 41.666667%;max-width:41.666667%}.col-xl-6{-webkit-box-flex:0;-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-xl-7{-webkit-box-flex:0;-ms-flex:0 0 58.333333%;flex:0 0 58.333333%;max-width:58.333333%}.col-xl-8{-webkit-box-flex:0;-ms-flex:0 0 66.666667%;flex:0 0 66.666667%;max-width:66.666667%}.col-xl-9{-webkit-box-flex:0;-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-xl-10{-webkit-box-flex:0;-ms-flex:0 0 83.333333%;flex:0 0 83.333333%;max-width:83.333333%}.col-xl-11{-webkit-box-flex:0;-ms-flex:0 0 91.666667%;flex:0 0 91.666667%;max-width:91.666667%}.col-xl-12{-webkit-box-flex:0;-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.order-xl-first{-webkit-box-ordinal-group:0;-ms-flex-order:-1;order:-1}.order-xl-last{-webkit-box-ordinal-group:14;-ms-flex-order:13;order:13}.order-xl-0{-webkit-box-ordinal-group:1;-ms-flex-order:0;order:0}.order-xl-1{-webkit-box-ordinal-group:2;-ms-flex-order:1;order:1}.order-xl-2{-webkit-box-ordinal-group:3;-ms-flex-order:2;order:2}.order-xl-3{-webkit-box-ordinal-group:4;-ms-flex-order:3;order:3}.order-xl-4{-webkit-box-ordinal-group:5;-ms-flex-order:4;order:4}.order-xl-5{-webkit-box-ordinal-group:6;-ms-flex-order:5;order:5}.order-xl-6{-webkit-box-ordinal-group:7;-ms-flex-order:6;order:6}.order-xl-7{-webkit-box-ordinal-group:8;-ms-flex-order:7;order:7}.order-xl-8{-webkit-box-ordinal-group:9;-ms-flex-order:8;order:8}.order-xl-9{-webkit-box-ordinal-group:10;-ms-flex-order:9;order:9}.order-xl-10{-webkit-box-ordinal-group:11;-ms-flex-order:10;order:10}.order-xl-11{-webkit-box-ordinal-group:12;-ms-flex-order:11;order:11}.order-xl-12{-webkit-box-ordinal-group:13;-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%;max-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-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%;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}.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:not([size]):not([multiple]){height:calc(2.25rem + 2px)}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;background-color:transparent;border:solid transparent;border-width:1px 0}.form-control-plaintext.form-control-lg,.form-control-plaintext.form-control-sm,.input-group-lg>.form-control-plaintext.form-control,.input-group-lg>.input-group-append>.form-control-plaintext.btn,.input-group-lg>.input-group-append>.form-control-plaintext.input-group-text,.input-group-lg>.input-group-prepend>.form-control-plaintext.btn,.input-group-lg>.input-group-prepend>.form-control-plaintext.input-group-text,.input-group-sm>.form-control-plaintext.form-control,.input-group-sm>.input-group-append>.form-control-plaintext.btn,.input-group-sm>.input-group-append>.form-control-plaintext.input-group-text,.input-group-sm>.input-group-prepend>.form-control-plaintext.btn,.input-group-sm>.input-group-prepend>.form-control-plaintext.input-group-text{padding-right:0;padding-left:0}.form-control-sm,.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{padding:.25rem .5rem;font-size:.875rem;line-height:1.5;border-radius:.2rem}.input-group-sm>.input-group-append>select.btn:not([size]):not([multiple]),.input-group-sm>.input-group-append>select.input-group-text:not([size]):not([multiple]),.input-group-sm>.input-group-prepend>select.btn:not([size]):not([multiple]),.input-group-sm>.input-group-prepend>select.input-group-text:not([size]):not([multiple]),.input-group-sm>select.form-control:not([size]):not([multiple]),select.form-control-sm:not([size]):not([multiple]){height:calc(1.8125rem + 2px)}.form-control-lg,.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{padding:.5rem 1rem;font-size:1.25rem;line-height:1.5;border-radius:.3rem}.input-group-lg>.input-group-append>select.btn:not([size]):not([multiple]),.input-group-lg>.input-group-append>select.input-group-text:not([size]):not([multiple]),.input-group-lg>.input-group-prepend>select.btn:not([size]):not([multiple]),.input-group-lg>.input-group-prepend>select.input-group-text:not([size]):not([multiple]),.input-group-lg>select.form-control:not([size]):not([multiple]),select.form-control-lg:not([size]):not([multiple]){height:calc(2.875rem + 2px)}.form-group{margin-bottom:1rem}.form-text{display:block;margin-top:.25rem}.form-row{display:-webkit-box;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:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-align:center;-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:.5rem;margin-top:.1rem;font-size:.875rem;line-height:1;color:#fff;background-color:rgba(40,167,69,.8);border-radius:.2rem}.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-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::before,.was-validated .custom-file-input:valid~.custom-file-label::before{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:.5rem;margin-top:.1rem;font-size:.875rem;line-height:1;color:#fff;background-color:rgba(220,53,69,.8);border-radius:.2rem}.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-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::before,.was-validated .custom-file-input:invalid~.custom-file-label::before{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:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-flow:row wrap;flex-flow:row wrap;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.form-inline .form-check{width:100%}@media (min-width:576px){.form-inline label{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;margin-bottom:0}.form-inline .form-group{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-flow:row wrap;flex-flow:row wrap;-webkit-box-align:center;-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 .input-group{width:auto}.form-inline .form-check{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack: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{-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack: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}.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}.btn:not(:disabled):not(.disabled).active,.btn:not(:disabled):not(.disabled):active{background-image:none}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}.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{opacity:0;transition:opacity .15s linear}.fade.show{opacity:1}.collapse{display:none}.collapse.show{display:block}tr.collapse.show{display:table-row}tbody.collapse.show{display:table-row-group}.collapsing{position:relative;height:0;overflow:hidden;transition:height .35s ease}.dropdown,.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}.dropup .dropdown-menu{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{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-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{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-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}.btn-group,.btn-group-vertical{position:relative;display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;vertical-align:middle}.btn-group-vertical>.btn,.btn-group>.btn{position:relative;-webkit-box-flex:0;-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:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-box-pack:start;-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{margin-left: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{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start;-webkit-box-pack:center;-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:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-box-align:stretch;-ms-flex-align:stretch;align-items:stretch;width:100%}.input-group>.custom-file,.input-group>.custom-select,.input-group>.form-control{position:relative;-webkit-box-flex:1;-ms-flex:1 1 auto;flex:1 1 auto;width:1%;margin-bottom:0}.input-group>.custom-file:focus,.input-group>.custom-select:focus,.input-group>.form-control:focus{z-index:3}.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-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:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-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::before{border-top-right-radius:0;border-bottom-right-radius:0}.input-group>.custom-file:not(:first-child) .custom-file-label,.input-group>.custom-file:not(:first-child) .custom-file-label::before{border-top-left-radius:0;border-bottom-left-radius:0}.input-group-append,.input-group-prepend{display:-webkit-box;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:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-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>.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:-webkit-inline-box;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{margin-bottom:0}.custom-control-label::before{position:absolute;top:.25rem;left:0;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:0;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:inset 0 1px 2px rgba(0,0,0,.075),0 0 5px 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-control{border-color:#80bdff;box-shadow:0 0 0 .2rem rgba(0,123,255,.25)}.custom-file-input:focus~.custom-file-control::before{border-color:#80bdff}.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:calc(calc(2.25rem + 2px) - 1px * 2);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}.nav{display:-webkit-box;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{-webkit-box-flex:1;-ms-flex:1 1 auto;flex:1 1 auto;text-align:center}.nav-justified .nav-item{-ms-flex-preferred-size:0;flex-basis:0;-webkit-box-flex:1;-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:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;padding:.5rem 1rem}.navbar>.container,.navbar>.container-fluid{display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:justify;-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:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-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%;-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1;-webkit-box-align:center;-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{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-flow:row nowrap;flex-flow:row nowrap;-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start}.navbar-expand-sm .navbar-nav{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row}.navbar-expand-sm .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-sm .navbar-nav .dropdown-menu-right{right:0;left:auto}.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:-webkit-box!important;display:-ms-flexbox!important;display:flex!important;-ms-flex-preferred-size:auto;flex-basis:auto}.navbar-expand-sm .navbar-toggler{display:none}.navbar-expand-sm .dropup .dropdown-menu{top:auto;bottom:100%}}@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{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-flow:row nowrap;flex-flow:row nowrap;-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start}.navbar-expand-md .navbar-nav{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row}.navbar-expand-md .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-md .navbar-nav .dropdown-menu-right{right:0;left:auto}.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:-webkit-box!important;display:-ms-flexbox!important;display:flex!important;-ms-flex-preferred-size:auto;flex-basis:auto}.navbar-expand-md .navbar-toggler{display:none}.navbar-expand-md .dropup .dropdown-menu{top:auto;bottom:100%}}@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{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-flow:row nowrap;flex-flow:row nowrap;-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start}.navbar-expand-lg .navbar-nav{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row}.navbar-expand-lg .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-lg .navbar-nav .dropdown-menu-right{right:0;left:auto}.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:-webkit-box!important;display:-ms-flexbox!important;display:flex!important;-ms-flex-preferred-size:auto;flex-basis:auto}.navbar-expand-lg .navbar-toggler{display:none}.navbar-expand-lg .dropup .dropdown-menu{top:auto;bottom:100%}}@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{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-flow:row nowrap;flex-flow:row nowrap;-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start}.navbar-expand-xl .navbar-nav{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row}.navbar-expand-xl .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-xl .navbar-nav .dropdown-menu-right{right:0;left:auto}.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:-webkit-box!important;display:-ms-flexbox!important;display:flex!important;-ms-flex-preferred-size:auto;flex-basis:auto}.navbar-expand-xl .navbar-toggler{display:none}.navbar-expand-xl .dropup .dropdown-menu{top:auto;bottom:100%}}.navbar-expand{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-flow:row nowrap;flex-flow:row nowrap;-webkit-box-pack:start;-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{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row}.navbar-expand .navbar-nav .dropdown-menu{position:absolute}.navbar-expand .navbar-nav .dropdown-menu-right{right:0;left:auto}.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:-webkit-box!important;display:-ms-flexbox!important;display:flex!important;-ms-flex-preferred-size:auto;flex-basis:auto}.navbar-expand .navbar-toggler{display:none}.navbar-expand .dropup .dropdown-menu{top:auto;bottom:100%}.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:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-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{-webkit-box-flex:1;-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:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.card-deck .card{margin-bottom:15px}@media (min-width:576px){.card-deck{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-flow:row wrap;flex-flow:row wrap;margin-right:-15px;margin-left:-15px}.card-deck .card{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-flex:1;-ms-flex:1 0 0%;flex:1 0 0%;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;margin-right:15px;margin-bottom:0;margin-left:15px}}.card-group{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.card-group>.card{margin-bottom:15px}@media (min-width:576px){.card-group{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-flow:row wrap;flex-flow:row wrap}.card-group>.card{-webkit-box-flex:1;-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}.card-columns .card{display:inline-block;width:100%}}.breadcrumb{display:-webkit-box;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::before{display:inline-block;padding-right:.5rem;padding-left:.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:-webkit-box;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{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:-webkit-box;display:-ms-flexbox;display:flex;height:1rem;overflow:hidden;font-size:.75rem;background-color:#e9ecef;border-radius:.25rem}.progress-bar{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;color:#fff;text-align:center;background-color:#007bff;transition:width .6s ease}.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:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start}.media-body{-webkit-box-flex:1;-ms-flex:1;flex:1}.list-group{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-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:focus,.close:hover{color:#000;text-decoration:none;opacity:.75}.close:not(:disabled):not(.disabled){cursor:pointer}button.close{padding:0;background-color:transparent;border:0;-webkit-appearance:none}.modal-open{overflow:hidden}.modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1050;display:none;overflow:hidden;outline:0}.modal-open .modal{overflow-x:hidden;overflow-y:auto}.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%)}.modal.show .modal-dialog{-webkit-transform:translate(0,0);transform:translate(0,0)}.modal-dialog-centered{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;min-height:calc(100% - (.5rem * 2))}.modal-content{position:relative;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-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:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start;-webkit-box-pack:justify;-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;-webkit-box-flex:1;-ms-flex:1 1 auto;flex:1 1 auto;padding:1rem}.modal-footer{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:end;-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-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";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";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;-webkit-box-align:center;-ms-flex-align:center;align-items:center;width:100%;transition:-webkit-transform .6s ease;transition:transform .6s ease;transition:transform .6s ease,-webkit-transform .6s ease;-webkit-backface-visibility:hidden;backface-visibility:hidden;-webkit-perspective:1000px;perspective:1000px}.carousel-item-next,.carousel-item-prev,.carousel-item.active{display:block}.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-control-next,.carousel-control-prev{position:absolute;top:0;bottom:0;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack: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:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;padding-left:0;margin-right:15%;margin-left:15%;list-style:none}.carousel-indicators li{position:relative;-webkit-box-flex:0;-ms-flex:0 1 auto;flex:0 1 auto;width:30px;height:3px;margin-right:3px;margin-left:3px;text-indent:-999px;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:-webkit-box!important;display:-ms-flexbox!important;display:flex!important}.d-inline-flex{display:-webkit-inline-box!important;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:-webkit-box!important;display:-ms-flexbox!important;display:flex!important}.d-sm-inline-flex{display:-webkit-inline-box!important;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:-webkit-box!important;display:-ms-flexbox!important;display:flex!important}.d-md-inline-flex{display:-webkit-inline-box!important;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:-webkit-box!important;display:-ms-flexbox!important;display:flex!important}.d-lg-inline-flex{display:-webkit-inline-box!important;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:-webkit-box!important;display:-ms-flexbox!important;display:flex!important}.d-xl-inline-flex{display:-webkit-inline-box!important;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:-webkit-box!important;display:-ms-flexbox!important;display:flex!important}.d-print-inline-flex{display:-webkit-inline-box!important;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{-webkit-box-orient:horizontal!important;-webkit-box-direction:normal!important;-ms-flex-direction:row!important;flex-direction:row!important}.flex-column{-webkit-box-orient:vertical!important;-webkit-box-direction:normal!important;-ms-flex-direction:column!important;flex-direction:column!important}.flex-row-reverse{-webkit-box-orient:horizontal!important;-webkit-box-direction:reverse!important;-ms-flex-direction:row-reverse!important;flex-direction:row-reverse!important}.flex-column-reverse{-webkit-box-orient:vertical!important;-webkit-box-direction:reverse!important;-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}.justify-content-start{-webkit-box-pack:start!important;-ms-flex-pack:start!important;justify-content:flex-start!important}.justify-content-end{-webkit-box-pack:end!important;-ms-flex-pack:end!important;justify-content:flex-end!important}.justify-content-center{-webkit-box-pack:center!important;-ms-flex-pack:center!important;justify-content:center!important}.justify-content-between{-webkit-box-pack:justify!important;-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{-webkit-box-align:start!important;-ms-flex-align:start!important;align-items:flex-start!important}.align-items-end{-webkit-box-align:end!important;-ms-flex-align:end!important;align-items:flex-end!important}.align-items-center{-webkit-box-align:center!important;-ms-flex-align:center!important;align-items:center!important}.align-items-baseline{-webkit-box-align:baseline!important;-ms-flex-align:baseline!important;align-items:baseline!important}.align-items-stretch{-webkit-box-align:stretch!important;-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{-webkit-box-orient:horizontal!important;-webkit-box-direction:normal!important;-ms-flex-direction:row!important;flex-direction:row!important}.flex-sm-column{-webkit-box-orient:vertical!important;-webkit-box-direction:normal!important;-ms-flex-direction:column!important;flex-direction:column!important}.flex-sm-row-reverse{-webkit-box-orient:horizontal!important;-webkit-box-direction:reverse!important;-ms-flex-direction:row-reverse!important;flex-direction:row-reverse!important}.flex-sm-column-reverse{-webkit-box-orient:vertical!important;-webkit-box-direction:reverse!important;-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}.justify-content-sm-start{-webkit-box-pack:start!important;-ms-flex-pack:start!important;justify-content:flex-start!important}.justify-content-sm-end{-webkit-box-pack:end!important;-ms-flex-pack:end!important;justify-content:flex-end!important}.justify-content-sm-center{-webkit-box-pack:center!important;-ms-flex-pack:center!important;justify-content:center!important}.justify-content-sm-between{-webkit-box-pack:justify!important;-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{-webkit-box-align:start!important;-ms-flex-align:start!important;align-items:flex-start!important}.align-items-sm-end{-webkit-box-align:end!important;-ms-flex-align:end!important;align-items:flex-end!important}.align-items-sm-center{-webkit-box-align:center!important;-ms-flex-align:center!important;align-items:center!important}.align-items-sm-baseline{-webkit-box-align:baseline!important;-ms-flex-align:baseline!important;align-items:baseline!important}.align-items-sm-stretch{-webkit-box-align:stretch!important;-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{-webkit-box-orient:horizontal!important;-webkit-box-direction:normal!important;-ms-flex-direction:row!important;flex-direction:row!important}.flex-md-column{-webkit-box-orient:vertical!important;-webkit-box-direction:normal!important;-ms-flex-direction:column!important;flex-direction:column!important}.flex-md-row-reverse{-webkit-box-orient:horizontal!important;-webkit-box-direction:reverse!important;-ms-flex-direction:row-reverse!important;flex-direction:row-reverse!important}.flex-md-column-reverse{-webkit-box-orient:vertical!important;-webkit-box-direction:reverse!important;-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}.justify-content-md-start{-webkit-box-pack:start!important;-ms-flex-pack:start!important;justify-content:flex-start!important}.justify-content-md-end{-webkit-box-pack:end!important;-ms-flex-pack:end!important;justify-content:flex-end!important}.justify-content-md-center{-webkit-box-pack:center!important;-ms-flex-pack:center!important;justify-content:center!important}.justify-content-md-between{-webkit-box-pack:justify!important;-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{-webkit-box-align:start!important;-ms-flex-align:start!important;align-items:flex-start!important}.align-items-md-end{-webkit-box-align:end!important;-ms-flex-align:end!important;align-items:flex-end!important}.align-items-md-center{-webkit-box-align:center!important;-ms-flex-align:center!important;align-items:center!important}.align-items-md-baseline{-webkit-box-align:baseline!important;-ms-flex-align:baseline!important;align-items:baseline!important}.align-items-md-stretch{-webkit-box-align:stretch!important;-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{-webkit-box-orient:horizontal!important;-webkit-box-direction:normal!important;-ms-flex-direction:row!important;flex-direction:row!important}.flex-lg-column{-webkit-box-orient:vertical!important;-webkit-box-direction:normal!important;-ms-flex-direction:column!important;flex-direction:column!important}.flex-lg-row-reverse{-webkit-box-orient:horizontal!important;-webkit-box-direction:reverse!important;-ms-flex-direction:row-reverse!important;flex-direction:row-reverse!important}.flex-lg-column-reverse{-webkit-box-orient:vertical!important;-webkit-box-direction:reverse!important;-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}.justify-content-lg-start{-webkit-box-pack:start!important;-ms-flex-pack:start!important;justify-content:flex-start!important}.justify-content-lg-end{-webkit-box-pack:end!important;-ms-flex-pack:end!important;justify-content:flex-end!important}.justify-content-lg-center{-webkit-box-pack:center!important;-ms-flex-pack:center!important;justify-content:center!important}.justify-content-lg-between{-webkit-box-pack:justify!important;-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{-webkit-box-align:start!important;-ms-flex-align:start!important;align-items:flex-start!important}.align-items-lg-end{-webkit-box-align:end!important;-ms-flex-align:end!important;align-items:flex-end!important}.align-items-lg-center{-webkit-box-align:center!important;-ms-flex-align:center!important;align-items:center!important}.align-items-lg-baseline{-webkit-box-align:baseline!important;-ms-flex-align:baseline!important;align-items:baseline!important}.align-items-lg-stretch{-webkit-box-align:stretch!important;-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{-webkit-box-orient:horizontal!important;-webkit-box-direction:normal!important;-ms-flex-direction:row!important;flex-direction:row!important}.flex-xl-column{-webkit-box-orient:vertical!important;-webkit-box-direction:normal!important;-ms-flex-direction:column!important;flex-direction:column!important}.flex-xl-row-reverse{-webkit-box-orient:horizontal!important;-webkit-box-direction:reverse!important;-ms-flex-direction:row-reverse!important;flex-direction:row-reverse!important}.flex-xl-column-reverse{-webkit-box-orient:vertical!important;-webkit-box-direction:reverse!important;-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}.justify-content-xl-start{-webkit-box-pack:start!important;-ms-flex-pack:start!important;justify-content:flex-start!important}.justify-content-xl-end{-webkit-box-pack:end!important;-ms-flex-pack:end!important;justify-content:flex-end!important}.justify-content-xl-center{-webkit-box-pack:center!important;-ms-flex-pack:center!important;justify-content:center!important}.justify-content-xl-between{-webkit-box-pack:justify!important;-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{-webkit-box-align:start!important;-ms-flex-align:start!important;align-items:flex-start!important}.align-items-xl-end{-webkit-box-align:end!important;-ms-flex-align:end!important;align-items:flex-end!important}.align-items-xl-center{-webkit-box-align:center!important;-ms-flex-align:center!important;align-items:center!important}.align-items-xl-baseline{-webkit-box-align:baseline!important;-ms-flex-align:baseline!important;align-items:baseline!important}.align-items-xl-stretch{-webkit-box-align:stretch!important;-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;-webkit-clip-path:inset(50%);clip-path:inset(50%);border:0}.sr-only-focusable:active,.sr-only-focusable:focus{position:static;width:auto;height:auto;overflow:visible;clip:auto;white-space:normal;-webkit-clip-path:none;clip-path:none}.w-25{width:25%!important}.w-50{width:50%!important}.w-75{width:75%!important}.w-100{width:100%!important}.h-25{height:25%!important}.h-50{height:50%!important}.h-75{height:75%!important}.h-100{height:100%!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-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-muted{color:#6c757d!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 #999;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 #ddd!important}} +/*# sourceMappingURL=bootstrap.min.css.map */ \ No newline at end of file diff --git a/public/assets/css/custom.css b/public/assets/css/custom.css new file mode 100644 index 0000000..f4ad976 --- /dev/null +++ b/public/assets/css/custom.css @@ -0,0 +1,508 @@ +/* ===================================================== + GLOBAL DASHBOARD STYLE (AMAN UNTUK SEMUA HALAMAN) +===================================================== */ +body { + font-family: "Poppins", sans-serif; + font-size: 14px; + font-weight: 500; + background: #f4f6fb; + color: #1f2937; +} + +/* Heading lebih tegas */ +h1, +h2, +h3, +h4, +h5, +h6 { + font-weight: 600; +} + +/* Text sekunder tetap ringan tapi jelas */ +.text-muted { + font-weight: 400; +} + +/* ===== KONTEN UTAMA ===== */ +.main-panel .content { + padding: 24px; +} + +/* ===== SECTION SPACING ===== */ +.section { + margin-bottom: 28px; +} + +/* ===== CARD BODY LEBIH KONSISTEN ===== */ +.card-body { + padding: 20px 22px; +} + +/* ===== STAT CARD ===== */ +.card .small { + font-size: 12.5px; +} + +/* ===== CARD ===== */ +.card { + border-radius: 14px; + border: none; +} + +.card-body { + padding: 1.25rem 1.5rem; +} + +/* ===== TABLE ===== */ +.table thead th { + background: #f4f6f8; + color: #4a5568; + font-weight: 600; + font-size: 13px; + border-bottom: 1px solid #e5e7eb; + text-transform: uppercase; + letter-spacing: 0.03em; +} + +.table tbody td { + vertical-align: middle; + padding: 14px; + color: #2d3748; +} + +.table tbody tr:hover { + background-color: #fafafa; +} + +/* ===== BADGE ===== */ +.badge-divisi { + background: #edf2f7; + color: #2f855a; + font-weight: 600; + padding: 6px 10px; + border-radius: 20px; + font-size: 12px; +} + +/* ===== BUTTON ===== */ +.btn { + border-radius: 8px; + font-weight: 500; +} + +.btn-action { + width: 36px; + height: 36px; + padding: 0; + display: inline-flex; + align-items: center; + justify-content: center; +} + +/* ===== FILTER ===== */ +.filter-bar select, +.filter-bar button { + height: 38px; + border-radius: 8px; +} + +/* ===== PAGINATION ===== */ +.pagination .page-link { + border-radius: 8px; + margin: 0 3px; + color: #4a5568; +} + +.pagination .active .page-link { + background: #2f855a; + border-color: #2f855a; +} + +/* +/* ===== MODAL CLEAN MODERN ===== */ +.modal-content { + border-radius: 12px; + border: none; + box-shadow: 0 20px 40px rgba(0, 0, 0, 0.12); + animation: modalFade 0.25s ease; +} + +@keyframes modalFade { + from { + transform: translateY(15px); + opacity: 0; + } + + to { + transform: translateY(0); + opacity: 1; + } +} + +/* ===== HEADER ===== */ +.modal-header-clean { + background: #ffffff; + border-bottom: 1px solid #e5e7eb; + padding: 1rem 1.25rem; +} + +.modal-header-clean .modal-title { + font-weight: 600; + color: #1f2937; + font-size: 1rem; +} + +.modal-header-clean .close { + color: #6b7280; + font-size: 1.2rem; +} + +/* ===== BODY ===== */ +.modal-body { + padding: 1.25rem; +} + +.modal-body .form-group { + margin-bottom: 0.85rem; +} + +.modal-body label { + font-size: 0.85rem; + font-weight: 500; + color: #374151; +} + +.modal-body .form-control { + border-radius: 8px; + font-size: 0.9rem; +} + +/* ===== FOOTER ===== */ +.modal-footer { + border-top: 1px solid #e5e7eb; + padding: 0.75rem 1.25rem; +} + +/* ===== ICON ACCENT ===== */ +.modal-title i { + margin-right: 6px; + opacity: 0.7; +} + +/* ===== SIZE CONTROL ===== */ +.modal-md { + max-width: 560px; +} + +.modal-sm { + max-width: 420px; +} + +/* ===== FIX CLOSE BUTTON (ICON X) ===== */ +.modal-header-clean .close { + color: #6b7280; + /* abu gelap (elegan & terlihat) */ + opacity: 1; + font-size: 1.25rem; + line-height: 1; + text-shadow: none; + transition: all 0.2s ease; +} + +.modal-header-clean .close:hover { + color: #111827; + /* lebih gelap saat hover */ + transform: rotate(90deg); + /* efek halus modern */ +} + +/* Hilangkan outline saat fokus */ +.modal-header-clean .close:focus { + outline: none; + box-shadow: none; +} + +/* ===== RESPONSIVE MOBILE ===== */ +@media (max-width: 576px) { + .modal-dialog { + margin: 0.75rem; + } + + .modal-md, + .modal-sm { + max-width: 100%; + } +} + +/* ===== RESPONSIVE ===== */ +@media (max-width: 768px) { + .auth-left { + display: none; + padding-right: 2rem; + } +} + +.auth-right { + padding-left: 2rem; +} + +/* ===== FORCE CHECKBOX TAMPIL (READY DASHBOARD FIX) ===== */ +input[type="checkbox"] { + appearance: auto !important; + -webkit-appearance: checkbox !important; + -moz-appearance: checkbox !important; + opacity: 1 !important; + position: static !important; + width: 16px; + height: 16px; + margin-right: 8px; + cursor: pointer; +} + +/* Sidebar full tinggi layar */ +.sidebar { + height: 100vh; +} + +/* Wrapper sidebar jadi kolom */ +.sidebar-wrapper { + display: flex; + flex-direction: column; + height: 100%; +} + +/* Nav isi penuh tinggi sidebar */ +.sidebar-wrapper .nav { + display: flex; + flex-direction: column; + flex: 1; + /* INI KUNCI UTAMA */ +} + +/* ===== SIDEBAR LOGOUT FIX ===== */ + +/* ===== SIDEBAR LOGOUT (KONSISTEN MENU) ===== */ +.sidebar .nav .nav-item-logout>a { + display: flex; + align-items: center; + padding: 12px 25px; + font-size: 14px; + font-weight: 500; + color: #ff6b6b !important; +} + +/* icon sejajar */ +.sidebar .nav .nav-item-logout i { + font-size: 18px; + margin-right: 15px; + width: 20px; + text-align: center; +} + +/* text sejajar menu lain */ +.sidebar .nav .nav-item-logout p { + margin: 0; + line-height: 1; +} + +/* hover */ +.sidebar .nav .nav-item-logout>a:hover { + background: rgba(255, 107, 107, 0.12); +} + +/* dorong logout ke bawah */ +.nav-item-logout { + margin-top: auto; + border-top: 1px solid rgba(0, 0, 0, 0.08); +} + +/* Logout tetap di bawah */ +.nav-item-logout { + margin-top: auto; + border-top: 1px solid rgba(0, 0, 0, 0.08); +} + +/* Logout dipaksa ke paling bawah */ +/* .nav-item-logout { + margin-top: auto; + border-top: 1px solid rgba(255, 255, 255, 0.15); +} */ + +/* Warna & hover logout */ +/* .nav-item-logout a { + color: #ff6b6b !important; +} */ + +/* .nav-item-logout a:hover { + background: rgba(255, 107, 107, 0.12) !important; +} */ + +/* Logout terdorong ke bawah */ +/* .nav-logout { + margin-top: 20px; + border-top: 1px solid rgba(255, 255, 255, .1); +} */ +/* paksa hamburger selalu tampil */ +/* .logo-header .navbar-toggler { + display: inline-block !important; + opacity: 1 !important; + visibility: visible !important; +} */ +.nav-collapse { + padding-left: 20px; +} + +.nav-collapse .sub-item { + padding-left: 10px; +} + +/*KERAPIAN TABEL*/ +/* .table-fixed { + table-layout: fixed; +} */ + +.table td, +.table th { + white-space: nowrap; + vertical-align: middle; +} + +.table td:nth-child(3) { + /* Nama Barang */ + white-space: normal; +} + +/* ========================================= + FILTER FIX HEIGHT & TEXT +========================================= */ + +#formFilter .form-control { + height: 38px !important; + padding: 6px 12px !important; + font-size: 13px; +} + +#formFilter select.form-control { + height: 38px !important; +} + +#formFilter .btn { + height: 38px; + padding: 0 16px; + display: flex; + align-items: center; + justify-content: center; +} + +/* Biar teks jelas */ +#formFilter .form-control, +#formFilter select { + color: #1f2937 !important; +} + +/* ===== DASHBOARD LOGO FIX ===== */ +.dashboard-logo { + height: 52px; + /* lebih besar & jelas */ + width: auto; + object-fit: contain; +} + +/* Desktop besar */ +@media (min-width: 1200px) { + .dashboard-logo { + height: 56px; + } +} + +/* Mobile */ +@media (max-width: 768px) { + .dashboard-logo { + height: 40px; + } +} +/* .table-standard { + table-layout: fixed; +} */ + /* ============================ + OPERASIONAL PAGE +============================ */ + + @media (min-width: 768px) { + + .operasional-page table { + width: 100%; + } + + .operasional-page th, + .operasional-page td { + vertical-align: middle; + padding: 14px 12px; + } + + .col-no { + width: 5%; + } + + .col-tanggal { + width: 15%; + } + + .col-nama { + width: 25%; + } + + .col-jenis { + width: 10%; + } + + .col-jumlah { + width: 10%; + } + + .col-satuan { + width: 8%; + } + + .col-harga { + width: 12%; + } + + .col-total { + width: 13%; + } + + .col-aksi { + width: 10%; + } + } + + @media (max-width: 767px) { + + .operasional-page th, + .operasional-page td { + font-size: 13px; + padding: 10px; + white-space: nowrap; + } + + .operasional-page .table-responsive { + overflow-x: auto; + } + } + + .operasional-page tbody tr:hover { + background-color: #f8f9fa; + } + .operasional-page table { + border-collapse: separate; + border-spacing: 0; + } + + .operasional-page thead th { + font-size: 13px; + letter-spacing: .5px; + background: #f8f9fb; + } + \ No newline at end of file diff --git a/public/assets/css/demo.css b/public/assets/css/demo.css new file mode 100644 index 0000000..1f13efa --- /dev/null +++ b/public/assets/css/demo.css @@ -0,0 +1,101 @@ +.update-pro{ + margin: 15px 25px;} + +.update-pro button { + padding: 13px 25px; + background: #4d7cfe; + color: #fff; + border-radius: 3px; + justify-content: center; + width: 100%; + border: 0; + cursor: pointer; +} + +.update-pro button:hover { + background: #4d7cfe !important; + color: #fff; + transform: translateY(-2px); + transition: all .2s linear; +} + +.update-pro:hover button:before{ + display: none; +} + +.update-pro button p, .update-pro button i{ + color: #fff !important; + margin-bottom: 0px; +} + +.update-pro button i{ + margin-right: 5px !important; + font-size: 23px; + color: #C3C5CA; + margin-right: 15px; + width: 25px; + text-align: center; + vertical-align: middle; + float: left; +} + +.demo .btn, .demo .progress{ + margin-bottom: 15px !important; +} + +.demo .form-check-label, .demo .form-radio-label{ + margin-right: 15px; +} + +.demo #slider{ + margin-bottom: 15px; +} + +.table-typo tbody > tr > td{ + border-color: #fafafa; +} + +.table-typo tbody > tr > td:first-child{ + min-width: 200px; + vertical-align: bottom; +} + +.table-typo tbody > tr > td:first-child p{ + font-size: 14px; + color: #333; +} + +.demo-icon { + display: flex; + flex-direction: row; + align-items: center; + margin-bottom: 20px; + padding: 10px; + transition: all .2s; +} + +.demo-icon:hover{ + background-color: #f4f5f8; + border-radius: 3px; +} + +.demo-icon .icon-preview{ + font-size: 1.8rem; + margin-right: 10px; + line-height: 1; + color: #333439; +} + +.demo-icon .icon-class{ + font-weight: 300; + font-size: 13px; + color: #777; +} + +.from-show-notify .form-control{ + margin-bottom: 15px; +} + +.from-show-notify label{ + padding-top: 0.65rem; +} diff --git a/public/assets/css/ready.css b/public/assets/css/ready.css new file mode 100644 index 0000000..b7569a3 --- /dev/null +++ b/public/assets/css/ready.css @@ -0,0 +1,6857 @@ +/*! + + ========================================================= + * Ready Bootstrap Dashboard (Bootstrap 4) + ========================================================= + + * Product Page: http://www.themekita.com/ + * Copyright 2018 Theme Kita (http://www.themekita.com/) + * Licensed under MIT () + + ========================================================= + + * The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + + */ +/* Background */ +/* ========================== + GLOBAL STYLES +========================== */ + +/* Efek hover avatar navbar */ +.navbar-nav .nav-link img { + transition: 0.3s; +} + +.navbar-nav .nav-link:hover img { + transform: scale(1.05); + box-shadow: 0 0 8px rgba(0, 0, 0, 0.15); +} + +/* Dropdown menu */ +.dropdown-menu { + border-radius: 12px; + border: none; + min-width: 200px; +} + +.dropdown-menu .dropdown-header { + font-size: 0.85rem; + color: #6c757d; + font-weight: 600; +} + +.dropdown-item { + font-size: 0.9rem; + padding: 10px 15px; + transition: 0.3s; +} + +.dropdown-item:hover { + background-color: #f8f9fa; + border-radius: 8px; +} + +/* Responsif: sembunyikan nama user di layar kecil */ +@media (max-width: 576px) { + .navbar-nav .nav-link span { + display: none; + } +} + +/* ========================== + DASHBOARD & CARD STYLE +========================== */ +.hover-card { + transition: transform 0.2s ease, box-shadow 0.2s ease; + border-radius: 12px; +} + +.hover-card:hover { + transform: translateY(-4px); + box-shadow: 0 6px 20px rgba(0, 0, 0, 0.1); +} + +.icon-big { + width: 60px; + height: 60px; + display: flex; + align-items: center; + justify-content: center; + border-radius: 12px; + background: #f5f6fa; +} + +/* ========================== + TABLE & EXPORT SECTION +========================== */ +.card-header h5 { + font-weight: 600; +} + +.export-btn { + margin-left: 5px; +} + +.nav-tabs .nav-link { + font-weight: 600; +} + +.table th { + font-weight: 600; +} + +@media (max-width: 768px) { + .page-title { + font-size: 1.2rem; + } + + .export-btn { + margin-top: 5px; + display: block; + } +} + +/* ========================== + LOGIN PAGE +========================== */ +body.login-page { + font-family: 'Nunito', sans-serif; + background: linear-gradient(135deg, #ffffff, #f9f9f9, #f2f2f2); + height: 100vh; + display: flex; + align-items: center; + justify-content: center; + overflow: hidden; +} + +.login-card { + background: #fff; + border-radius: 16px; + box-shadow: 0 6px 25px rgba(0, 0, 0, 0.08); + width: 100%; + max-width: 380px; + padding: 2rem; + position: relative; + animation: fadeInUp 0.8s ease; +} + +.login-card .logo { + font-weight: 700; + font-size: 1.5rem; + color: #333; +} + +.login-card p { + font-size: 0.9rem; + color: #777; +} + +.login-card .form-control { + border-radius: 10px; + padding: 12px; + border: 1px solid #ddd; +} + +.login-card .btn-primary { + border-radius: 10px; + font-weight: 600; + padding: 12px; + transition: 0.3s; + background: #333; + border: none; +} + +.login-card .btn-primary:hover { + background-color: #555; +} + +.login-footer { + font-size: 0.9rem; + margin-top: 15px; +} + +.login-footer a { + color: #333; + text-decoration: none; +} + +.login-footer a:hover { + text-decoration: underline; +} + +@keyframes fadeInUp { + from { + transform: translateY(30px); + opacity: 0; + } + + to { + transform: translateY(0); + opacity: 1; + } +} + + + +.bg-default { + background: #607D8B !important; +} + +.bg-primary { + background: #1D62F0 !important; +} + +.bg-info { + background: #23CCEF !important; +} + +.bg-success { + background: #59d05d !important; +} + +.bg-warning { + background: #fbad4c !important; +} + +.bg-danger { + background: #ff646d !important; +} + +*:focus { + outline: 0 !important; + -webkit-box-shadow: none !important; + box-shadow: none !important; +} + +/* Typography */ +body, h1, .h1, h2, .h2, h3, .h3, h4, .h4, h5, .h5, h6, .h6, p, .navbar, .brand, .btn-simple, .alert, a, .td-name, td, button.close { + -moz-osx-font-smoothing: grayscale; + -webkit-font-smoothing: antialiased; + font-family: 'nunito', sans-serif; +} + +body { + font-size: 14px; + color: #575962; +} + +h1, .h1 { + font-size: 59px; +} + +h2, .h2 { + font-size: 43px; +} + +h3, .h3 { + font-size: 35px; + margin: 20px 0 10px; +} + +h4, .h4 { + font-size: 28px; + line-height: 30px; +} + +h5, .h5 { + font-size: 25px; + margin-bottom: 15px; +} + +h6, .h6 { + font-size: 18px; + font-weight: 600; +} + +p { + font-size: 15px; + line-height: 1.5; + margin-bottom: .7rem; +} + +h4.page-title { + font-size: 22px; + font-weight: 600; + color: #333333; + line-height: 30px; + margin-bottom: 20px; +} + +.text-primary { + color: #1D62F0 !important; +} +.text-primary:hover { + color: #1D62F0 !important; +} + +.text-info { + color: #23CCEF !important; +} +.text-info:hover { + color: #23CCEF !important; +} + +.text-success { + color: #59d05d !important; +} +.text-success:hover { + color: #59d05d !important; +} + +.text-warning { + color: #fbad4c !important; +} +.text-warning:hover { + color: #fbad4c !important; +} + +.text-danger { + color: #ff646d !important; +} +.text-danger:hover { + color: #ff646d !important; +} + +label { + color: #3f4047 !important; + font-size: 14px !important; +} + +/* Font-weight */ +.fw-light { + font-weight: lighter !important; +} + +.fw-normal { + font-weight: 400 !important; +} + +.fw-mediumbold { + font-weight: 500 !important; +} + +.fw-bold { + font-weight: 600 !important; +} + +.fw-extrabold { + font-weight: 800 !important; +} + +.ct-label { + fill: rgba(0, 0, 0, 0.5); + color: rgba(0, 0, 0, 0.5); + font-size: 0.8rem; + line-height: 1; +} + +.ct-chart-line .ct-label, .ct-chart-bar .ct-label { + display: block; + display: -webkit-box; + display: -moz-box; + display: -ms-flexbox; + display: -webkit-flex; + display: flex; +} + +.ct-chart-pie .ct-label, .ct-chart-donut .ct-label { + dominant-baseline: central; +} + +.ct-label.ct-horizontal.ct-start { + -webkit-box-align: flex-end; + -webkit-align-items: flex-end; + -ms-flex-align: flex-end; + align-items: flex-end; + -webkit-box-pack: flex-start; + -webkit-justify-content: flex-start; + -ms-flex-pack: flex-start; + justify-content: flex-start; + text-align: left; + text-anchor: start; +} +.ct-label.ct-horizontal.ct-end { + -webkit-box-align: flex-start; + -webkit-align-items: flex-start; + -ms-flex-align: flex-start; + align-items: flex-start; + -webkit-box-pack: flex-start; + -webkit-justify-content: flex-start; + -ms-flex-pack: flex-start; + justify-content: flex-start; + text-align: left; + text-anchor: start; +} +.ct-label.ct-vertical.ct-start { + -webkit-box-align: flex-end; + -webkit-align-items: flex-end; + -ms-flex-align: flex-end; + align-items: flex-end; + -webkit-box-pack: flex-end; + -webkit-justify-content: flex-end; + -ms-flex-pack: flex-end; + justify-content: flex-end; + text-align: right; + text-anchor: end; +} +.ct-label.ct-vertical.ct-end { + -webkit-box-align: flex-end; + -webkit-align-items: flex-end; + -ms-flex-align: flex-end; + align-items: flex-end; + -webkit-box-pack: flex-start; + -webkit-justify-content: flex-start; + -ms-flex-pack: flex-start; + justify-content: flex-start; + text-align: left; + text-anchor: start; +} + +.ct-chart-bar .ct-label.ct-horizontal.ct-start { + -webkit-box-align: flex-end; + -webkit-align-items: flex-end; + -ms-flex-align: flex-end; + align-items: flex-end; + -webkit-box-pack: center; + -webkit-justify-content: center; + -ms-flex-pack: center; + justify-content: center; + text-align: center; + text-anchor: start; +} +.ct-chart-bar .ct-label.ct-horizontal.ct-end { + -webkit-box-align: flex-start; + -webkit-align-items: flex-start; + -ms-flex-align: flex-start; + align-items: flex-start; + -webkit-box-pack: center; + -webkit-justify-content: center; + -ms-flex-pack: center; + justify-content: center; + text-align: center; + text-anchor: start; +} +.ct-chart-bar.ct-horizontal-bars .ct-label.ct-horizontal.ct-start { + -webkit-box-align: flex-end; + -webkit-align-items: flex-end; + -ms-flex-align: flex-end; + align-items: flex-end; + -webkit-box-pack: flex-start; + -webkit-justify-content: flex-start; + -ms-flex-pack: flex-start; + justify-content: flex-start; + text-align: left; + text-anchor: start; +} +.ct-chart-bar.ct-horizontal-bars .ct-label.ct-horizontal.ct-end { + -webkit-box-align: flex-start; + -webkit-align-items: flex-start; + -ms-flex-align: flex-start; + align-items: flex-start; + -webkit-box-pack: flex-start; + -webkit-justify-content: flex-start; + -ms-flex-pack: flex-start; + justify-content: flex-start; + text-align: left; + text-anchor: start; +} +.ct-chart-bar.ct-horizontal-bars .ct-label.ct-vertical.ct-start { + -webkit-box-align: center; + -webkit-align-items: center; + -ms-flex-align: center; + align-items: center; + -webkit-box-pack: flex-end; + -webkit-justify-content: flex-end; + -ms-flex-pack: flex-end; + justify-content: flex-end; + text-align: right; + text-anchor: end; +} +.ct-chart-bar.ct-horizontal-bars .ct-label.ct-vertical.ct-end { + -webkit-box-align: center; + -webkit-align-items: center; + -ms-flex-align: center; + align-items: center; + -webkit-box-pack: flex-start; + -webkit-justify-content: flex-start; + -ms-flex-pack: flex-start; + justify-content: flex-start; + text-align: left; + text-anchor: end; +} + +.ct-grid { + stroke: rgba(0, 0, 0, 0.2); + stroke-width: 1px; + stroke-dasharray: 2px; +} + +.ct-grid-background { + fill: none; +} + +.ct-point { + stroke-width: 7px; + stroke-linecap: round; +} + +.ct-line { + fill: none; + stroke-width: 3px; +} + +.ct-area { + stroke: none; + fill-opacity: 0.1; +} + +.ct-bar { + fill: none; + stroke-width: 10px; +} + +.ct-slice-donut { + fill: none; + stroke-width: 60px; +} + +.ct-series-a .ct-point, .ct-series-a .ct-line, .ct-series-a .ct-bar, .ct-series-a .ct-slice-donut { + stroke: #1D62F0; +} +.ct-series-a .ct-slice-pie, .ct-series-a .ct-slice-donut-solid, .ct-series-a .ct-area { + fill: #1D62F0; +} + +.ct-series-b .ct-point, .ct-series-b .ct-line, .ct-series-b .ct-bar, .ct-series-b .ct-slice-donut { + stroke: #ff646d; +} +.ct-series-b .ct-slice-pie, .ct-series-b .ct-slice-donut-solid, .ct-series-b .ct-area { + fill: #ff646d; +} + +.ct-series-c .ct-point, .ct-series-c .ct-line, .ct-series-c .ct-bar, .ct-series-c .ct-slice-donut { + stroke: #fbad4c; +} +.ct-series-c .ct-slice-pie, .ct-series-c .ct-slice-donut-solid, .ct-series-c .ct-area { + fill: #fbad4c; +} + +.ct-series-d .ct-point, .ct-series-d .ct-line, .ct-series-d .ct-bar, .ct-series-d .ct-slice-donut { + stroke: #9368E9; +} +.ct-series-d .ct-slice-pie, .ct-series-d .ct-slice-donut-solid, .ct-series-d .ct-area { + fill: #9368E9; +} + +.ct-series-e .ct-point, .ct-series-e .ct-line, .ct-series-e .ct-bar, .ct-series-e .ct-slice-donut { + stroke: #87CB16; +} +.ct-series-e .ct-slice-pie, .ct-series-e .ct-slice-donut-solid, .ct-series-e .ct-area { + fill: #87CB16; +} + +.ct-series-f .ct-point, .ct-series-f .ct-line, .ct-series-f .ct-bar, .ct-series-f .ct-slice-donut { + stroke: #59922b; +} +.ct-series-f .ct-slice-pie, .ct-series-f .ct-slice-donut-solid, .ct-series-f .ct-area { + fill: #59922b; +} + +.ct-series-g .ct-point, .ct-series-g .ct-line, .ct-series-g .ct-bar, .ct-series-g .ct-slice-donut { + stroke: #0544d3; +} +.ct-series-g .ct-slice-pie, .ct-series-g .ct-slice-donut-solid, .ct-series-g .ct-area { + fill: #0544d3; +} + +.ct-series-h .ct-point, .ct-series-h .ct-line, .ct-series-h .ct-bar, .ct-series-h .ct-slice-donut { + stroke: #6b0392; +} +.ct-series-h .ct-slice-pie, .ct-series-h .ct-slice-donut-solid, .ct-series-h .ct-area { + fill: #6b0392; +} + +.ct-series-i .ct-point, .ct-series-i .ct-line, .ct-series-i .ct-bar, .ct-series-i .ct-slice-donut { + stroke: #f05b4f; +} +.ct-series-i .ct-slice-pie, .ct-series-i .ct-slice-donut-solid, .ct-series-i .ct-area { + fill: #f05b4f; +} + +.ct-series-j .ct-point, .ct-series-j .ct-line, .ct-series-j .ct-bar, .ct-series-j .ct-slice-donut { + stroke: #dda458; +} +.ct-series-j .ct-slice-pie, .ct-series-j .ct-slice-donut-solid, .ct-series-j .ct-area { + fill: #dda458; +} + +.ct-series-k .ct-point, .ct-series-k .ct-line, .ct-series-k .ct-bar, .ct-series-k .ct-slice-donut { + stroke: #eacf7d; +} +.ct-series-k .ct-slice-pie, .ct-series-k .ct-slice-donut-solid, .ct-series-k .ct-area { + fill: #eacf7d; +} + +.ct-series-l .ct-point, .ct-series-l .ct-line, .ct-series-l .ct-bar, .ct-series-l .ct-slice-donut { + stroke: #86797d; +} +.ct-series-l .ct-slice-pie, .ct-series-l .ct-slice-donut-solid, .ct-series-l .ct-area { + fill: #86797d; +} + +.ct-series-m .ct-point, .ct-series-m .ct-line, .ct-series-m .ct-bar, .ct-series-m .ct-slice-donut { + stroke: #b2c326; +} +.ct-series-m .ct-slice-pie, .ct-series-m .ct-slice-donut-solid, .ct-series-m .ct-area { + fill: #b2c326; +} + +.ct-series-n .ct-point, .ct-series-n .ct-line, .ct-series-n .ct-bar, .ct-series-n .ct-slice-donut { + stroke: #6188e2; +} +.ct-series-n .ct-slice-pie, .ct-series-n .ct-slice-donut-solid, .ct-series-n .ct-area { + fill: #6188e2; +} + +.ct-series-o .ct-point, .ct-series-o .ct-line, .ct-series-o .ct-bar, .ct-series-o .ct-slice-donut { + stroke: #a748ca; +} +.ct-series-o .ct-slice-pie, .ct-series-o .ct-slice-donut-solid, .ct-series-o .ct-area { + fill: #a748ca; +} + +.ct-square { + display: block; + position: relative; + width: 100%; +} +.ct-square:before { + display: block; + float: left; + content: ""; + width: 0; + height: 0; + padding-bottom: 100%; +} +.ct-square:after { + content: ""; + display: table; + clear: both; +} +.ct-square > svg { + display: block; + position: absolute; + top: 0; + left: 0; +} + +.ct-minor-second { + display: block; + position: relative; + width: 100%; +} +.ct-minor-second:before { + display: block; + float: left; + content: ""; + width: 0; + height: 0; + padding-bottom: 93.75%; +} +.ct-minor-second:after { + content: ""; + display: table; + clear: both; +} +.ct-minor-second > svg { + display: block; + position: absolute; + top: 0; + left: 0; +} + +.ct-major-second { + display: block; + position: relative; + width: 100%; +} +.ct-major-second:before { + display: block; + float: left; + content: ""; + width: 0; + height: 0; + padding-bottom: 88.8888888889%; +} +.ct-major-second:after { + content: ""; + display: table; + clear: both; +} +.ct-major-second > svg { + display: block; + position: absolute; + top: 0; + left: 0; +} + +.ct-minor-third { + display: block; + position: relative; + width: 100%; +} +.ct-minor-third:before { + display: block; + float: left; + content: ""; + width: 0; + height: 0; + padding-bottom: 83.3333333333%; +} +.ct-minor-third:after { + content: ""; + display: table; + clear: both; +} +.ct-minor-third > svg { + display: block; + position: absolute; + top: 0; + left: 0; +} + +.ct-major-third { + display: block; + position: relative; + width: 100%; +} +.ct-major-third:before { + display: block; + float: left; + content: ""; + width: 0; + height: 0; + padding-bottom: 80%; +} +.ct-major-third:after { + content: ""; + display: table; + clear: both; +} +.ct-major-third > svg { + display: block; + position: absolute; + top: 0; + left: 0; +} + +.ct-perfect-fourth { + display: block; + position: relative; + width: 100%; +} +.ct-perfect-fourth:before { + display: block; + float: left; + content: ""; + width: 0; + height: 0; + padding-bottom: 75%; +} +.ct-perfect-fourth:after { + content: ""; + display: table; + clear: both; +} +.ct-perfect-fourth > svg { + display: block; + position: absolute; + top: 0; + left: 0; +} + +.ct-perfect-fifth { + display: block; + position: relative; + width: 100%; +} +.ct-perfect-fifth:before { + display: block; + float: left; + content: ""; + width: 0; + height: 0; + padding-bottom: 66.6666666667%; +} +.ct-perfect-fifth:after { + content: ""; + display: table; + clear: both; +} +.ct-perfect-fifth > svg { + display: block; + position: absolute; + top: 0; + left: 0; +} + +.ct-minor-sixth { + display: block; + position: relative; + width: 100%; +} +.ct-minor-sixth:before { + display: block; + float: left; + content: ""; + width: 0; + height: 0; + padding-bottom: 62.5%; +} +.ct-minor-sixth:after { + content: ""; + display: table; + clear: both; +} +.ct-minor-sixth > svg { + display: block; + position: absolute; + top: 0; + left: 0; +} + +.ct-golden-section { + display: block; + position: relative; + width: 100%; +} +.ct-golden-section:before { + display: block; + float: left; + content: ""; + width: 0; + height: 0; + padding-bottom: 61.804697157%; +} +.ct-golden-section:after { + content: ""; + display: table; + clear: both; +} +.ct-golden-section > svg { + display: block; + position: absolute; + top: 0; + left: 0; +} + +.ct-major-sixth { + display: block; + position: relative; + width: 100%; +} +.ct-major-sixth:before { + display: block; + float: left; + content: ""; + width: 0; + height: 0; + padding-bottom: 60%; +} +.ct-major-sixth:after { + content: ""; + display: table; + clear: both; +} +.ct-major-sixth > svg { + display: block; + position: absolute; + top: 0; + left: 0; +} + +.ct-minor-seventh { + display: block; + position: relative; + width: 100%; +} +.ct-minor-seventh:before { + display: block; + float: left; + content: ""; + width: 0; + height: 0; + padding-bottom: 56.25%; +} +.ct-minor-seventh:after { + content: ""; + display: table; + clear: both; +} +.ct-minor-seventh > svg { + display: block; + position: absolute; + top: 0; + left: 0; +} + +.ct-major-seventh { + display: block; + position: relative; + width: 100%; +} +.ct-major-seventh:before { + display: block; + float: left; + content: ""; + width: 0; + height: 0; + padding-bottom: 53.3333333333%; +} +.ct-major-seventh:after { + content: ""; + display: table; + clear: both; +} +.ct-major-seventh > svg { + display: block; + position: absolute; + top: 0; + left: 0; +} + +.ct-octave { + display: block; + position: relative; + width: 100%; +} +.ct-octave:before { + display: block; + float: left; + content: ""; + width: 0; + height: 0; + padding-bottom: 50%; +} +.ct-octave:after { + content: ""; + display: table; + clear: both; +} +.ct-octave > svg { + display: block; + position: absolute; + top: 0; + left: 0; +} + +.ct-major-tenth { + display: block; + position: relative; + width: 100%; +} +.ct-major-tenth:before { + display: block; + float: left; + content: ""; + width: 0; + height: 0; + padding-bottom: 40%; +} +.ct-major-tenth:after { + content: ""; + display: table; + clear: both; +} +.ct-major-tenth > svg { + display: block; + position: absolute; + top: 0; + left: 0; +} + +.ct-major-eleventh { + display: block; + position: relative; + width: 100%; +} +.ct-major-eleventh:before { + display: block; + float: left; + content: ""; + width: 0; + height: 0; + padding-bottom: 37.5%; +} +.ct-major-eleventh:after { + content: ""; + display: table; + clear: both; +} +.ct-major-eleventh > svg { + display: block; + position: absolute; + top: 0; + left: 0; +} + +.ct-major-twelfth { + display: block; + position: relative; + width: 100%; +} +.ct-major-twelfth:before { + display: block; + float: left; + content: ""; + width: 0; + height: 0; + padding-bottom: 33.3333333333%; +} +.ct-major-twelfth:after { + content: ""; + display: table; + clear: both; +} +.ct-major-twelfth > svg { + display: block; + position: absolute; + top: 0; + left: 0; +} + +.ct-double-octave { + display: block; + position: relative; + width: 100%; +} +.ct-double-octave:before { + display: block; + float: left; + content: ""; + width: 0; + height: 0; + padding-bottom: 25%; +} +.ct-double-octave:after { + content: ""; + display: table; + clear: both; +} +.ct-double-octave > svg { + display: block; + position: absolute; + top: 0; + left: 0; +} + +.chartist-tooltip { + position: absolute; + display: inline-block; + opacity: 0; + min-width: 3em; + padding: .25em; + background: rgba(0, 0, 0, 0.77); + color: #fff; + font-weight: 600; + text-align: center; + pointer-events: none; + z-index: 1; + -webkit-transition: opacity .2s linear; + -moz-transition: opacity .2s linear; + -o-transition: opacity .2s linear; + transition: opacity .2s linear; +} +.chartist-tooltip:before { + content: ""; + position: absolute; + top: 100%; + left: 50%; + width: 0; + height: 0; + margin-left: -5px; + border: 5px solid transparent; + border-top-color: rgba(0, 0, 0, 0.77); +} + +.chartist-tooltip-value { + font-size: 14px; +} + +.chartist-tooltip.tooltip-show { + opacity: 1; +} + +.ct-area, .ct-line { + pointer-events: none; +} + +.ui-draggable-handle { + -ms-touch-action: none; + touch-action: none; +} + +.ui-helper-hidden { + display: none; +} + +.ui-helper-hidden-accessible { + border: 0; + clip: rect(0 0 0 0); + height: 1px; + margin: -1px; + overflow: hidden; + padding: 0; + position: absolute; + width: 1px; +} + +.ui-helper-reset { + margin: 0; + padding: 0; + border: 0; + outline: 0; + line-height: 1.3; + text-decoration: none; + font-size: 100%; + list-style: none; +} + +.ui-helper-clearfix:after, .ui-helper-clearfix:before { + content: ""; + display: table; + border-collapse: collapse; +} +.ui-helper-clearfix:after { + clear: both; +} + +.ui-helper-zfix { + width: 100%; + height: 100%; + top: 0; + left: 0; + position: absolute; + opacity: 0; + filter: Alpha(Opacity=0); +} + +.ui-front { + z-index: 100; +} + +.ui-state-disabled { + cursor: default !important; + pointer-events: none; +} + +.ui-icon { + display: inline-block; + vertical-align: middle; + margin-top: -.25em; + position: relative; + text-indent: -99999px; + overflow: hidden; + background-repeat: no-repeat; +} + +.ui-widget-icon-block { + left: 50%; + margin-left: -8px; + display: block; +} + +.ui-widget-overlay { + position: fixed; + top: 0; + left: 0; + width: 100%; + height: 100%; +} + +.ui-resizable { + position: relative; +} + +.ui-resizable-handle { + position: absolute; + font-size: .1px; + display: block; + -ms-touch-action: none; + touch-action: none; +} + +.ui-resizable-autohide .ui-resizable-handle, .ui-resizable-disabled .ui-resizable-handle { + display: none; +} + +.ui-resizable-n { + cursor: n-resize; + height: 7px; + width: 100%; + top: -5px; + left: 0; +} + +.ui-resizable-s { + cursor: s-resize; + height: 7px; + width: 100%; + bottom: -5px; + left: 0; +} + +.ui-resizable-e { + cursor: e-resize; + width: 7px; + right: -5px; + top: 0; + height: 100%; +} + +.ui-resizable-w { + cursor: w-resize; + width: 7px; + left: -5px; + top: 0; + height: 100%; +} + +.ui-resizable-se { + cursor: se-resize; + width: 12px; + height: 12px; + right: 1px; + bottom: 1px; +} + +.ui-resizable-sw { + cursor: sw-resize; + width: 9px; + height: 9px; + left: -5px; + bottom: -5px; +} + +.ui-resizable-nw { + cursor: nw-resize; + width: 9px; + height: 9px; + left: -5px; + top: -5px; +} + +.ui-resizable-ne { + cursor: ne-resize; + width: 9px; + height: 9px; + right: -5px; + top: -5px; +} + +.ui-selectable { + -ms-touch-action: none; + touch-action: none; +} + +.ui-selectable-helper { + position: absolute; + z-index: 100; + border: 1px dotted #000; +} + +.ui-sortable-handle { + -ms-touch-action: none; + touch-action: none; +} + +.ui-slider { + position: relative; + text-align: left; + background: #ddd; +} +.ui-slider .ui-slider-handle { + position: absolute; + z-index: 2; + width: 1em; + height: 1em; + cursor: default; + -ms-touch-action: none; + touch-action: none; +} +.ui-slider .ui-slider-range { + position: absolute; + z-index: 1; + font-size: .7em; + display: block; + border: 0; + background-position: 0 0; +} +.ui-slider.ui-state-disabled .ui-slider-handle, .ui-slider.ui-state-disabled .ui-slider-range { + filter: inherit; +} + +.ui-slider-horizontal { + height: .4em; +} +.ui-slider-horizontal .ui-slider-handle { + top: -.4em; + margin-left: -.6em; +} +.ui-slider-horizontal .ui-slider-range { + top: 0; + height: 100%; +} +.ui-slider-horizontal .ui-slider-range-min { + left: 0; +} +.ui-slider-horizontal .ui-slider-range-max { + right: 0; +} + +.ui-slider-vertical { + width: .8em; + height: 100px; +} +.ui-slider-vertical .ui-slider-handle { + left: -.3em; + margin-left: 0; + margin-bottom: -.6em; +} +.ui-slider-vertical .ui-slider-range { + left: 0; + width: 100%; +} +.ui-slider-vertical .ui-slider-range-min { + bottom: 0; +} +.ui-slider-vertical .ui-slider-range-max { + top: 0; +} + +.ui-slider-handle { + background: #fff; + background: -moz-linear-gradient(top, #fff 0, #f7f7f7 100%); + background: -webkit-gradient(linear, left top, left bottom, color-stop(0, #fff), color-stop(100%, #f7f7f7)); + background: -webkit-linear-gradient(top, #fff 0, #f7f7f7 100%); + background: -o-linear-gradient(top, #fff 0, #f7f7f7 100%); + background: -ms-linear-gradient(top, #fff 0, #f7f7f7 100%); + background: linear-gradient(to bottom, #fff 0, #f7f7f7 100%); + border-radius: 50px; + box-shadow: 0 1px 4px 0 #9191ab !important; +} +.ui-slider-handle:focus { + background: #fff; + background: -moz-linear-gradient(top, #fff 0, #f7f7f7 100%); + background: -webkit-gradient(linear, left top, left bottom, color-stop(0, #fff), color-stop(100%, #f7f7f7)); + background: -webkit-linear-gradient(top, #fff 0, #f7f7f7 100%); + background: -o-linear-gradient(top, #fff 0, #f7f7f7 100%); + background: -ms-linear-gradient(top, #fff 0, #f7f7f7 100%); + background: linear-gradient(to bottom, #fff 0, #f7f7f7 100%); + border-radius: 50px; + box-shadow: 0 1px 4px 0 #9191ab !important; +} + +.scroll-wrapper { + overflow: hidden !important; + padding: 0 !important; + position: relative; +} +.scroll-wrapper > .scroll-content { + border: none !important; + box-sizing: content-box !important; + height: auto; + left: 0; + margin: 0; + max-height: none; + max-width: none !important; + overflow: scroll !important; + padding: 0; + position: relative !important; + top: 0; + width: auto !important; +} +.scroll-wrapper > .scroll-content::-webkit-scrollbar { + height: 0; + width: 0; +} + +.scroll-element { + display: none; + box-sizing: content-box; +} +.scroll-element div { + box-sizing: content-box; +} +.scroll-element.scroll-x.scroll-scrollx_visible, .scroll-element.scroll-y.scroll-scrolly_visible { + display: block; +} +.scroll-element .scroll-arrow, .scroll-element .scroll-bar { + cursor: default; +} + +.scroll-textarea { + border: 1px solid #ccc; + border-top-color: #999; +} +.scroll-textarea > .scroll-content { + overflow: hidden !important; +} +.scroll-textarea > .scroll-content > textarea { + border: none !important; + box-sizing: border-box; + height: 100% !important; + margin: 0; + max-height: none !important; + max-width: none !important; + overflow: scroll !important; + outline: 0; + padding: 2px; + position: relative !important; + top: 0; + width: 100% !important; +} + +.scrollbar-inner > .scroll-element .scroll-element_outer, .scrollbar-outer > .scroll-element .scroll-element_outer { + overflow: hidden; +} + +.scroll-textarea > .scroll-content > textarea::-webkit-scrollbar { + height: 0; + width: 0; +} + +.scrollbar-inner > .scroll-element { + border: none; + margin: 0; + padding: 0; + position: absolute; + z-index: 10; +} +.scrollbar-inner > .scroll-element div { + border: none; + margin: 0; + padding: 0; + position: absolute; + z-index: 10; + display: block; + height: 100%; + left: 0; + top: 0; + width: 100%; +} +.scrollbar-inner > .scroll-element.scroll-x { + bottom: 2px; + height: 8px; + left: 0; + width: 100%; +} +.scrollbar-inner > .scroll-element.scroll-x.scroll-scrolly_visible .scroll-element_size, .scrollbar-inner > .scroll-element.scroll-x.scroll-scrolly_visible .scroll-element_track { + left: -12px; +} +.scrollbar-inner > .scroll-element.scroll-y { + height: 100%; + right: 2px; + top: 0; + width: 8px; +} +.scrollbar-inner > .scroll-element.scroll-y.scroll-scrollx_visible .scroll-element_size, .scrollbar-inner > .scroll-element.scroll-y.scroll-scrollx_visible .scroll-element_track { + top: -12px; +} +.scrollbar-inner > .scroll-element .scroll-bar, .scrollbar-inner > .scroll-element .scroll-element_outer, .scrollbar-inner > .scroll-element .scroll-element_track { + -webkit-border-radius: 8px; + -moz-border-radius: 8px; + border-radius: 8px; +} +.scrollbar-inner > .scroll-element .scroll-bar { + -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=40)"; + filter: alpha(opacity=40); + opacity: .4; +} +.scrollbar-inner > .scroll-element .scroll-element_track { + -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=40)"; + filter: alpha(opacity=40); + opacity: .4; + background-color: #e0e0e0; +} +.scrollbar-inner > .scroll-element .scroll-bar { + background-color: #c2c2c2; +} +.scrollbar-inner > .scroll-element.scroll-draggable .scroll-bar, .scrollbar-inner > .scroll-element:hover .scroll-bar { + background-color: #919191; +} + +.scrollbar-outer > .scroll-element { + border: none; + margin: 0; + padding: 0; + position: absolute; + z-index: 10; + background-color: #fff; +} +.scrollbar-outer > .scroll-element div { + border: none; + margin: 0; + padding: 0; + position: absolute; + z-index: 10; + display: block; + height: 100%; + left: 0; + top: 0; + width: 100%; +} +.scrollbar-outer > .scroll-element.scroll-x { + bottom: 0; + height: 12px; + left: 0; + width: 100%; +} +.scrollbar-outer > .scroll-element.scroll-y { + height: 100%; + right: 0; + top: 0; + width: 12px; +} +.scrollbar-outer > .scroll-element.scroll-x .scroll-element_outer { + height: 8px; + top: 2px; +} +.scrollbar-outer > .scroll-element.scroll-y .scroll-element_outer { + left: 2px; + width: 8px; +} +.scrollbar-outer > .scroll-element .scroll-element_track { + background-color: #eee; +} +.scrollbar-outer > .scroll-element .scroll-bar, .scrollbar-outer > .scroll-element .scroll-element_outer, .scrollbar-outer > .scroll-element .scroll-element_track { + -webkit-border-radius: 8px; + -moz-border-radius: 8px; + border-radius: 8px; +} +.scrollbar-outer > .scroll-element .scroll-bar { + background-color: #d9d9d9; +} +.scrollbar-outer > .scroll-element .scroll-bar:hover { + background-color: #c2c2c2; +} +.scrollbar-outer > .scroll-element.scroll-draggable .scroll-bar { + background-color: #919191; +} +.scrollbar-outer > .scroll-content.scroll-scrolly_visible { + left: -12px; + margin-left: 12px; +} +.scrollbar-outer > .scroll-element.scroll-x.scroll-scrolly_visible .scroll-element_size, .scrollbar-outer > .scroll-element.scroll-x.scroll-scrolly_visible .scroll-element_track { + left: -14px; +} +.scrollbar-outer > .scroll-content.scroll-scrollx_visible { + top: -12px; + margin-top: 12px; +} +.scrollbar-outer > .scroll-element.scroll-y.scroll-scrollx_visible .scroll-element_size, .scrollbar-outer > .scroll-element.scroll-y.scroll-scrollx_visible .scroll-element_track { + top: -14px; +} +.scrollbar-outer > .scroll-element.scroll-x .scroll-bar { + min-width: 10px; +} +.scrollbar-outer > .scroll-element.scroll-y .scroll-bar { + min-height: 10px; +} + +.scrollbar-macosx > .scroll-element { + background: 0 0; + border: none; + margin: 0; + padding: 0; + position: absolute; + z-index: 10; +} +.scrollbar-macosx > .scroll-element div { + background: 0 0; + border: none; + margin: 0; + padding: 0; + position: absolute; + z-index: 10; + display: block; + height: 100%; + left: 0; + top: 0; + width: 100%; +} +.scrollbar-macosx > .scroll-element .scroll-element_track { + display: none; +} +.scrollbar-macosx > .scroll-element .scroll-bar { + background-color: #6C6E71; + display: block; + -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)"; + filter: alpha(opacity=0); + opacity: 0; + -webkit-border-radius: 7px; + -moz-border-radius: 7px; + border-radius: 7px; + -webkit-transition: opacity .2s linear; + -moz-transition: opacity .2s linear; + -o-transition: opacity .2s linear; + -ms-transition: opacity .2s linear; + transition: opacity .2s linear; +} +.scrollbar-macosx:hover > .scroll-element .scroll-bar { + -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=70)"; + filter: alpha(opacity=70); + opacity: .7; +} +.scrollbar-macosx > .scroll-element.scroll-draggable .scroll-bar { + -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=70)"; + filter: alpha(opacity=70); + opacity: .7; +} +.scrollbar-macosx > .scroll-element.scroll-x { + bottom: 0; + height: 0; + left: 0; + min-width: 100%; + overflow: visible; + width: 100%; +} +.scrollbar-macosx > .scroll-element.scroll-y { + height: 100%; + min-height: 100%; + right: 0; + top: 0; + width: 0; +} +.scrollbar-macosx > .scroll-element.scroll-x .scroll-bar { + height: 7px; + min-width: 10px; + top: -9px; +} +.scrollbar-macosx > .scroll-element.scroll-y .scroll-bar { + left: -9px; + min-height: 10px; + width: 7px; +} +.scrollbar-macosx > .scroll-element.scroll-x .scroll-element_outer { + left: 2px; +} +.scrollbar-macosx > .scroll-element.scroll-x .scroll-element_size { + left: -4px; +} +.scrollbar-macosx > .scroll-element.scroll-y .scroll-element_outer { + top: 2px; +} +.scrollbar-macosx > .scroll-element.scroll-y .scroll-element_size { + top: -4px; +} +.scrollbar-macosx > .scroll-element.scroll-x.scroll-scrolly_visible .scroll-element_size { + left: -11px; +} +.scrollbar-macosx > .scroll-element.scroll-y.scroll-scrollx_visible .scroll-element_size { + top: -11px; +} + +.scrollbar-light > .scroll-element { + border: none; + margin: 0; + overflow: hidden; + padding: 0; + position: absolute; + z-index: 10; + background-color: #fff; +} +.scrollbar-light > .scroll-element div { + border: none; + margin: 0; + overflow: hidden; + padding: 0; + position: absolute; + z-index: 10; + display: block; + height: 100%; + left: 0; + top: 0; + width: 100%; +} +.scrollbar-light > .scroll-element .scroll-element_outer { + -webkit-border-radius: 10px; + -moz-border-radius: 10px; + border-radius: 10px; +} +.scrollbar-light > .scroll-element .scroll-element_size { + background: -moz-linear-gradient(left, #dbdbdb 0, #e8e8e8 100%); + background: -webkit-gradient(linear, left top, right top, color-stop(0, #dbdbdb), color-stop(100%, #e8e8e8)); + background: -webkit-linear-gradient(left, #dbdbdb 0, #e8e8e8 100%); + background: -o-linear-gradient(left, #dbdbdb 0, #e8e8e8 100%); + background: -ms-linear-gradient(left, #dbdbdb 0, #e8e8e8 100%); + background: linear-gradient(to right, #dbdbdb 0, #e8e8e8 100%); + -webkit-border-radius: 10px; + -moz-border-radius: 10px; + border-radius: 10px; +} +.scrollbar-light > .scroll-element.scroll-x { + bottom: 0; + height: 17px; + left: 0; + min-width: 100%; + width: 100%; +} +.scrollbar-light > .scroll-element.scroll-y { + height: 100%; + min-height: 100%; + right: 0; + top: 0; + width: 17px; +} +.scrollbar-light > .scroll-element .scroll-bar { + background: -moz-linear-gradient(left, #fefefe 0, #f5f5f5 100%); + background: -webkit-gradient(linear, left top, right top, color-stop(0, #fefefe), color-stop(100%, #f5f5f5)); + background: -webkit-linear-gradient(left, #fefefe 0, #f5f5f5 100%); + background: -o-linear-gradient(left, #fefefe 0, #f5f5f5 100%); + background: -ms-linear-gradient(left, #fefefe 0, #f5f5f5 100%); + background: linear-gradient(to right, #fefefe 0, #f5f5f5 100%); + border: 1px solid #dbdbdb; + -webkit-border-radius: 10px; + -moz-border-radius: 10px; + border-radius: 10px; +} +.scrollbar-light > .scroll-content.scroll-scrolly_visible { + left: -17px; + margin-left: 17px; +} +.scrollbar-light > .scroll-content.scroll-scrollx_visible { + top: -17px; + margin-top: 17px; +} +.scrollbar-light > .scroll-element.scroll-x .scroll-bar { + height: 10px; + min-width: 10px; + top: 0; +} +.scrollbar-light > .scroll-element.scroll-y .scroll-bar { + left: 0; + min-height: 10px; + width: 10px; +} +.scrollbar-light > .scroll-element.scroll-x .scroll-element_outer { + height: 12px; + left: 2px; + top: 2px; +} +.scrollbar-light > .scroll-element.scroll-x .scroll-element_size { + left: -4px; +} +.scrollbar-light > .scroll-element.scroll-y .scroll-element_outer { + left: 2px; + top: 2px; + width: 12px; +} +.scrollbar-light > .scroll-element.scroll-x.scroll-scrolly_visible .scroll-element_size, .scrollbar-light > .scroll-element.scroll-x.scroll-scrolly_visible .scroll-element_track { + left: -19px; +} +.scrollbar-light > .scroll-element.scroll-y .scroll-element_size { + top: -4px; +} +.scrollbar-light > .scroll-element.scroll-y.scroll-scrollx_visible .scroll-element_size, .scrollbar-light > .scroll-element.scroll-y.scroll-scrollx_visible .scroll-element_track { + top: -19px; +} + +.scrollbar-rail > .scroll-element { + border: none; + margin: 0; + overflow: hidden; + padding: 0; + position: absolute; + z-index: 10; + background-color: #fff; +} +.scrollbar-rail > .scroll-element div { + border: none; + margin: 0; + overflow: hidden; + padding: 0; + position: absolute; + z-index: 10; + display: block; + height: 100%; + left: 0; + top: 0; + width: 100%; +} +.scrollbar-rail > .scroll-element .scroll-element_size { + background-color: #999; + background-color: rgba(0, 0, 0, 0.3); +} +.scrollbar-rail > .scroll-element .scroll-element_outer:hover .scroll-element_size { + background-color: #666; + background-color: rgba(0, 0, 0, 0.5); +} +.scrollbar-rail > .scroll-element.scroll-x { + bottom: 0; + height: 12px; + left: 0; + min-width: 100%; + padding: 3px 0 2px; + width: 100%; +} +.scrollbar-rail > .scroll-element.scroll-y { + height: 100%; + min-height: 100%; + padding: 0 2px 0 3px; + right: 0; + top: 0; + width: 12px; +} +.scrollbar-rail > .scroll-element .scroll-bar { + background-color: #d0b9a0; + -webkit-border-radius: 2px; + -moz-border-radius: 2px; + border-radius: 2px; + box-shadow: 1px 1px 3px rgba(0, 0, 0, 0.5); +} +.scrollbar-rail > .scroll-element .scroll-element_outer:hover .scroll-bar { + box-shadow: 1px 1px 3px rgba(0, 0, 0, 0.6); +} +.scrollbar-rail > .scroll-content.scroll-scrolly_visible { + left: -17px; + margin-left: 17px; +} +.scrollbar-rail > .scroll-content.scroll-scrollx_visible { + margin-top: 17px; + top: -17px; +} +.scrollbar-rail > .scroll-element.scroll-x .scroll-bar { + height: 10px; + min-width: 10px; + top: 1px; +} +.scrollbar-rail > .scroll-element.scroll-y .scroll-bar { + left: 1px; + min-height: 10px; + width: 10px; +} +.scrollbar-rail > .scroll-element.scroll-x .scroll-element_outer { + height: 15px; + left: 5px; +} +.scrollbar-rail > .scroll-element.scroll-x .scroll-element_size { + height: 2px; + left: -10px; + top: 5px; +} +.scrollbar-rail > .scroll-element.scroll-y .scroll-element_outer { + top: 5px; + width: 15px; +} +.scrollbar-rail > .scroll-element.scroll-y .scroll-element_size { + left: 5px; + top: -10px; + width: 2px; +} +.scrollbar-rail > .scroll-element.scroll-x.scroll-scrolly_visible .scroll-element_size, .scrollbar-rail > .scroll-element.scroll-x.scroll-scrolly_visible .scroll-element_track { + left: -25px; +} +.scrollbar-rail > .scroll-element.scroll-y.scroll-scrollx_visible .scroll-element_size, .scrollbar-rail > .scroll-element.scroll-y.scroll-scrollx_visible .scroll-element_track { + top: -25px; +} + +.scrollbar-dynamic > .scroll-element { + background: 0 0; + border: none; + margin: 0; + padding: 0; + position: absolute; + z-index: 10; +} +.scrollbar-dynamic > .scroll-element div { + background: 0 0; + border: none; + margin: 0; + padding: 0; + position: absolute; + z-index: 10; + display: block; + height: 100%; + left: 0; + top: 0; + width: 100%; +} +.scrollbar-dynamic > .scroll-element.scroll-x { + bottom: 2px; + height: 7px; + left: 0; + min-width: 100%; + width: 100%; +} +.scrollbar-dynamic > .scroll-element.scroll-y { + height: 100%; + min-height: 100%; + right: 2px; + top: 0; + width: 7px; +} +.scrollbar-dynamic > .scroll-element .scroll-element_outer { + opacity: .3; + -webkit-border-radius: 12px; + -moz-border-radius: 12px; + border-radius: 12px; +} +.scrollbar-dynamic > .scroll-element .scroll-element_size { + background-color: #ccc; + opacity: 0; + -webkit-border-radius: 12px; + -moz-border-radius: 12px; + border-radius: 12px; + -webkit-transition: opacity .2s; + -moz-transition: opacity .2s; + -o-transition: opacity .2s; + -ms-transition: opacity .2s; + transition: opacity .2s; +} +.scrollbar-dynamic > .scroll-element .scroll-bar { + background-color: #6c6e71; + -webkit-border-radius: 7px; + -moz-border-radius: 7px; + border-radius: 7px; +} +.scrollbar-dynamic > .scroll-element.scroll-x .scroll-bar { + bottom: 0; + height: 7px; + min-width: 24px; + top: auto; +} +.scrollbar-dynamic > .scroll-element.scroll-y .scroll-bar { + left: auto; + min-height: 24px; + right: 0; + width: 7px; +} +.scrollbar-dynamic > .scroll-element.scroll-x .scroll-element_outer { + bottom: 0; + top: auto; + left: 2px; + -webkit-transition: height .2s; + -moz-transition: height .2s; + -o-transition: height .2s; + -ms-transition: height .2s; + transition: height .2s; +} +.scrollbar-dynamic > .scroll-element.scroll-y .scroll-element_outer { + left: auto; + right: 0; + top: 2px; + -webkit-transition: width .2s; + -moz-transition: width .2s; + -o-transition: width .2s; + -ms-transition: width .2s; + transition: width .2s; +} +.scrollbar-dynamic > .scroll-element.scroll-x .scroll-element_size { + left: -4px; +} +.scrollbar-dynamic > .scroll-element.scroll-y .scroll-element_size { + top: -4px; +} +.scrollbar-dynamic > .scroll-element.scroll-x.scroll-scrolly_visible .scroll-element_size { + left: -11px; +} +.scrollbar-dynamic > .scroll-element.scroll-y.scroll-scrollx_visible .scroll-element_size { + top: -11px; +} +.scrollbar-dynamic > .scroll-element.scroll-draggable .scroll-element_outer, .scrollbar-dynamic > .scroll-element:hover .scroll-element_outer { + overflow: hidden; + -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=70)"; + filter: alpha(opacity=70); + opacity: .7; +} +.scrollbar-dynamic > .scroll-element.scroll-draggable .scroll-element_outer .scroll-element_size, .scrollbar-dynamic > .scroll-element:hover .scroll-element_outer .scroll-element_size { + opacity: 1; +} +.scrollbar-dynamic > .scroll-element.scroll-draggable .scroll-element_outer .scroll-bar, .scrollbar-dynamic > .scroll-element:hover .scroll-element_outer .scroll-bar { + height: 100%; + width: 100%; + -webkit-border-radius: 12px; + -moz-border-radius: 12px; + border-radius: 12px; +} +.scrollbar-dynamic > .scroll-element.scroll-x.scroll-draggable .scroll-element_outer, .scrollbar-dynamic > .scroll-element.scroll-x:hover .scroll-element_outer { + height: 20px; + min-height: 7px; +} +.scrollbar-dynamic > .scroll-element.scroll-y.scroll-draggable .scroll-element_outer, .scrollbar-dynamic > .scroll-element.scroll-y:hover .scroll-element_outer { + min-width: 7px; + width: 20px; +} + +.scrollbar-chrome > .scroll-element { + border: none; + margin: 0; + overflow: hidden; + padding: 0; + position: absolute; + z-index: 10; + background-color: #fff; +} +.scrollbar-chrome > .scroll-element div { + border: none; + margin: 0; + overflow: hidden; + padding: 0; + position: absolute; + z-index: 10; + display: block; + height: 100%; + left: 0; + top: 0; + width: 100%; +} +.scrollbar-chrome > .scroll-element .scroll-element_track { + background: #f1f1f1; + border: 1px solid #dbdbdb; +} +.scrollbar-chrome > .scroll-element.scroll-x { + bottom: 0; + height: 16px; + left: 0; + min-width: 100%; + width: 100%; +} +.scrollbar-chrome > .scroll-element.scroll-y { + height: 100%; + min-height: 100%; + right: 0; + top: 0; + width: 16px; +} +.scrollbar-chrome > .scroll-element .scroll-bar { + background-color: #d9d9d9; + border: 1px solid #bdbdbd; + cursor: default; + -webkit-border-radius: 2px; + -moz-border-radius: 2px; + border-radius: 2px; +} +.scrollbar-chrome > .scroll-element .scroll-bar:hover { + background-color: #c2c2c2; + border-color: #a9a9a9; +} +.scrollbar-chrome > .scroll-element.scroll-draggable .scroll-bar { + background-color: #919191; + border-color: #7e7e7e; +} +.scrollbar-chrome > .scroll-content.scroll-scrolly_visible { + left: -16px; + margin-left: 16px; +} +.scrollbar-chrome > .scroll-content.scroll-scrollx_visible { + top: -16px; + margin-top: 16px; +} +.scrollbar-chrome > .scroll-element.scroll-x .scroll-bar { + height: 8px; + min-width: 10px; + top: 3px; +} +.scrollbar-chrome > .scroll-element.scroll-y .scroll-bar { + left: 3px; + min-height: 10px; + width: 8px; +} +.scrollbar-chrome > .scroll-element.scroll-x .scroll-element_outer { + border-left: 1px solid #dbdbdb; +} +.scrollbar-chrome > .scroll-element.scroll-x .scroll-element_track { + height: 14px; + left: -3px; +} +.scrollbar-chrome > .scroll-element.scroll-x .scroll-element_size { + height: 14px; + left: -4px; +} +.scrollbar-chrome > .scroll-element.scroll-x.scroll-scrolly_visible .scroll-element_size, .scrollbar-chrome > .scroll-element.scroll-x.scroll-scrolly_visible .scroll-element_track { + left: -19px; +} +.scrollbar-chrome > .scroll-element.scroll-y .scroll-element_outer { + border-top: 1px solid #dbdbdb; +} +.scrollbar-chrome > .scroll-element.scroll-y .scroll-element_track { + top: -3px; + width: 14px; +} +.scrollbar-chrome > .scroll-element.scroll-y .scroll-element_size { + top: -4px; + width: 14px; +} +.scrollbar-chrome > .scroll-element.scroll-y.scroll-scrollx_visible .scroll-element_size, .scrollbar-chrome > .scroll-element.scroll-y.scroll-scrollx_visible .scroll-element_track { + top: -19px; +} + +.checkbox label .toggle, .checkbox-inline .toggle { + margin-left: -20px; + margin-right: 5px; +} + +.toggle { + position: relative; + overflow: hidden; +} + +.toggle-group, .toggle-off, .toggle-on { + position: absolute; + top: 0; + bottom: 0; +} + +.toggle input[type=checkbox] { + display: none; +} + +.toggle-group { + width: 200%; + left: 0; + transition: left .35s; + -webkit-transition: left .35s; + -moz-user-select: none; + -webkit-user-select: none; +} + +.toggle.off .toggle-group { + left: -100%; +} + +.toggle-on { + left: 0; + right: 50%; + margin: 0; + border: 0; + border-radius: 0; +} + +.toggle-off { + left: 50%; + right: 0; + margin: 0; + border: 0; + border-radius: 0; +} + +.toggle-handle { + position: relative; + margin: 0 auto; + padding-top: 0; + padding-bottom: 0; + height: 100%; + width: 0; + border-width: 0 1px; +} + +.toggle.btn { + min-width: 59px; + min-height: 34px; +} + +.toggle-on.btn { + padding-right: 24px; +} + +.toggle-off.btn { + padding-left: 24px; +} + +.toggle.btn-lg { + min-width: 79px; + min-height: 45px; +} + +.toggle-on.btn-lg { + padding-right: 31px; +} + +.toggle-off.btn-lg { + padding-left: 31px; +} + +.toggle-handle.btn-lg { + width: 40px; +} + +.toggle.btn-sm { + min-width: 50px; + min-height: 30px; +} + +.toggle-on.btn-sm { + padding-right: 20px; +} + +.toggle-off.btn-sm { + padding-left: 20px; +} + +.toggle.btn-xs { + min-width: 35px; + min-height: 22px; +} + +.toggle-on.btn-xs { + padding-right: 12px; +} + +.toggle-off.btn-xs { + padding-left: 12px; +} + +/* Layouts */ +body { + min-height: 100vh; + position: relative; +} + +.wrapper { + min-height: 100vh; + position: relative; + top: 0; + height: 100vh; +} + +.main-header { + min-height: 55px; + width: 100%; + background: #ffffff; + position: fixed; + z-index: 1001; + border-bottom: 1px solid #eee; +} +.main-header .logo-header { + float: left; + width: 260px; + height: 55px; + line-height: 55px; + border-right: 1px solid #eee; + color: #333333; + z-index: 1001; + font-size: 18px; + font-weight: 600; + padding-left: 25px; + padding-right: 25px; + z-index: 1001; + display: inline-block; +} +.main-header .logo-header a.logo { + color: #575962; +} +.main-header .logo-header .navbar-toggler { + padding-left: 0px; + padding-right: 0px; + opacity: 0; +} +.main-header .logo-header .navbar-toggler .navbar-toggler-icon { + background: url(../img/menu2.png); + background-size: cover; + height: 1em; + width: 1em; + opacity: .8; +} +.main-header .logo-header .more { + background: transparent; + border: 0; + font-size: 26px; + padding: 0; + opacity: 0; +} + +.sidebar { + position: fixed; + top: 0; + bottom: 0; + left: 0; + width: 260px; + display: block; + z-index: 1; + color: #ffffff; + font-weight: 200; + background: #ffffff; + background-size: cover; + background-position: center center; + border-right: 1px solid #eee; + box-shadow: 6px 1px 20px rgba(69, 65, 78, 0.1); +} +.sidebar .user { + margin-top: 12.5px; + padding-left: 25px; + padding-right: 25px; + padding-bottom: 12.5px; + border-bottom: 1px solid #eee; + display: block; +} +.sidebar .user .photo { + width: 40px; + height: 40px; + overflow: hidden; + float: left; + margin-right: 11px; + z-index: 5; + border-radius: 50%; +} +.sidebar .user .photo img { + width: 100%; + height: 100%; +} +.sidebar .user .info a { + white-space: nowrap; + display: block; + position: relative; +} +.sidebar .user .info a:hover, .sidebar .user .info a:focus { + text-decoration: none; +} +.sidebar .user .info a > span { + font-size: 14px; + font-weight: 600; + color: #777; + letter-spacing: 0.04em; + display: flex; + flex-direction: column; +} +.sidebar .user .info a > span .user-level { + color: #555; + font-weight: 700; + font-size: 13px; + letter-spacing: 0.05em; + margin-top: 5px; +} +.sidebar .user .info a .link-collapse { + padding: 7px 0; +} +.sidebar .user .info .caret { + position: absolute; + top: 17px; + right: 0px; + border-top-color: #777; +} +.sidebar .sidebar-wrapper { + position: relative; + max-height: calc(100vh - 75px); + min-height: 100%; + overflow: auto; + width: 260px; + z-index: 4; + padding-top: 55px; + padding-bottom: 100px; +} +.sidebar .nav { + display: block; + float: none; + margin-top: 20px; +} +.sidebar .nav .nav-item { + display: list-item; +} +.sidebar .nav .nav-item.active a { + color: #575962; + font-weight: 700; +} +.sidebar .nav .nav-item.active a:before { + background: #1d7af3; + opacity: 1 !important; + position: absolute; + z-index: 1; + width: 3px; + height: 100%; + content: ''; + left: 0; + top: 0; +} +.sidebar .nav .nav-item.active:hover a:before { + background: #1d7af3; + opacity: 1 !important; + position: absolute; + z-index: 1; + width: 3px; + height: 100%; + content: ''; + left: 0; + top: 0; +} +.sidebar .nav .nav-item.active a i { + color: #4d7cfe; +} +.sidebar .nav .nav-item a { + display: flex; + align-items: center; + color: #83848a; + padding: 13px 25px; + width: 100%; + font-size: 14px; + font-weight: 600; + position: relative; + margin-bottom: 5px; +} +.sidebar .nav .nav-item a:hover, .sidebar .nav .nav-item a:focus { + text-decoration: none; + background: #fbfbfb; +} +.sidebar .nav .nav-item:hover a:before { + background: #1d7af3; + opacity: 0.7; + position: absolute; + z-index: 1; + width: 3px; + height: 100%; + content: ''; + left: 0; + top: 0; +} +.sidebar .nav .nav-item a i { + font-size: 23px; + color: #C3C5CA; + margin-right: 15px; + width: 25px; + text-align: center; + vertical-align: middle; + float: left; +} +.sidebar .nav .nav-item a p { + font-size: 14px; + margin-bottom: 0px; + letter-spacing: .04em; + margin-right: 5px; +} + +.main-panel { + position: relative; + width: calc(100% - 260px); + min-height: 100%; + float: right; + background: #f2f3f8; +} +.main-panel .content { + padding: 30px 15px; + min-height: calc(100% - 123px); + margin-top: 55px; +} + +.footer { + border-top: 1px solid #eee; + padding: 15px; + background: #ffffff; +} + + + +.footer .container-fluid { + display: flex; + align-items: center; +} + +.la, .la-stack { + display: inline-block; +} + +.la-fw, .la-li { + text-align: center; +} + +@font-face { + font-family: LineAwesome; + src: url(../fonts/line-awesome.eot?v=1.1.); + src: url(../fonts/line-awesome.eot??v=1.1.#iefix) format("embedded-opentype"), url(../fonts/line-awesome.woff2?v=1.1.) format("woff2"), url(../fonts/line-awesome.woff?v=1.1.) format("woff"), url(../fonts/line-awesome.ttf?v=1.1.) format("truetype"), url(../fonts/line-awesome.svg?v=1.1.#fa) format("svg"); + font-weight: 400; + font-style: normal; +} +@media screen and (-webkit-min-device-pixel-ratio: 0) { + @font-face { + font-family: LineAwesome; + src: url(../fonts/line-awesome.svg?v=1.1.#fa) format("svg"); + } +} +.la { + font: normal normal normal 16px/1 LineAwesome; + font-size: inherit; + text-decoration: inherit; + text-rendering: optimizeLegibility; + text-transform: none; + -moz-osx-font-smoothing: grayscale; + -webkit-font-smoothing: antialiased; + font-smoothing: antialiased; +} + +.la-lg { + font-size: 1.33333333em; + line-height: .75em; + vertical-align: -15%; +} + +.la-2x { + font-size: 2em; +} + +.la-3x { + font-size: 3em; +} + +.la-4x { + font-size: 4em; +} + +.la-5x { + font-size: 5em; +} + +.la-fw { + width: 1.28571429em; +} + +.la-ul { + padding-left: 0; + margin-left: 2.14285714em; + list-style-type: none; +} +.la-ul > li { + position: relative; +} + +.la-li { + position: absolute; + left: -2.14285714em; + width: 2.14285714em; + top: .14285714em; +} +.la-li.la-lg { + left: -1.85714286em; +} + +.la-border { + padding: .2em .25em .15em; + border: .08em solid #eee; + border-radius: .1em; +} + +.pull-right { + float: right; +} + +.pull-left { + float: left; +} + +.li.pull-left { + margin-right: .3em; +} +.li.pull-right { + margin-left: .3em; +} + +.la-spin { + -webkit-animation: fa-spin 2s infinite linear; + animation: fa-spin 2s infinite linear; +} + +@-webkit-keyframes fa-spin { + 0% { + -webkit-transform: rotate(0); + transform: rotate(0); + } + 100% { + -webkit-transform: rotate(359deg); + transform: rotate(359deg); + } +} +@keyframes fa-spin { + 0% { + -webkit-transform: rotate(0); + transform: rotate(0); + } + 100% { + -webkit-transform: rotate(359deg); + transform: rotate(359deg); + } +} +.la-rotate-90 { + filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=1); + -webkit-transform: rotate(90deg); + -ms-transform: rotate(90deg); + transform: rotate(90deg); +} + +.la-rotate-180 { + filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=2); + -webkit-transform: rotate(180deg); + -ms-transform: rotate(180deg); + transform: rotate(180deg); +} + +.la-rotate-270 { + filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=3); + -webkit-transform: rotate(270deg); + -ms-transform: rotate(270deg); + transform: rotate(270deg); +} + +.la-flip-horizontal { + filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1); + -webkit-transform: scale(-1, 1); + -ms-transform: scale(-1, 1); + transform: scale(-1, 1); +} + +.la-flip-vertical { + filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1); + -webkit-transform: scale(1, -1); + -ms-transform: scale(1, -1); + transform: scale(1, -1); +} + +:root .la-flip-horizontal, :root .la-flip-vertical, :root .la-rotate-180, :root .la-rotate-270, :root .la-rotate-90 { + filter: none; +} + +.la-stack { + position: relative; + width: 2em; + height: 2em; + line-height: 2em; + vertical-align: middle; +} + +.la-stack-1x, .la-stack-2x { + position: absolute; + left: 0; + width: 100%; + text-align: center; +} + +.la-stack-1x { + line-height: inherit; +} + +.la-stack-2x { + font-size: 2em; +} + +.la-inverse { + color: #fff; +} + +.la-500px:before { + content: "\f100"; +} + +.la-adjust:before { + content: "\f101"; +} + +.la-adn:before { + content: "\f102"; +} + +.la-align-center:before { + content: "\f103"; +} + +.la-align-justify:before { + content: "\f104"; +} + +.la-align-left:before { + content: "\f105"; +} + +.la-align-right:before { + content: "\f106"; +} + +.la-amazon:before { + content: "\f107"; +} + +.la-ambulance:before { + content: "\f108"; +} + +.la-anchor:before { + content: "\f109"; +} + +.la-android:before { + content: "\f10a"; +} + +.la-angellist:before { + content: "\f10b"; +} + +.la-angle-double-down:before { + content: "\f10c"; +} + +.la-angle-double-left:before { + content: "\f10d"; +} + +.la-angle-double-right:before { + content: "\f10e"; +} + +.la-angle-double-up:before { + content: "\f10f"; +} + +.la-angle-down:before { + content: "\f110"; +} + +.la-angle-left:before { + content: "\f111"; +} + +.la-angle-right:before { + content: "\f112"; +} + +.la-angle-up:before { + content: "\f113"; +} + +.la-apple:before { + content: "\f114"; +} + +.la-archive:before { + content: "\f115"; +} + +.la-area-chart:before { + content: "\f116"; +} + +.la-arrow-circle-down:before { + content: "\f117"; +} + +.la-arrow-circle-left:before { + content: "\f118"; +} + +.la-arrow-circle-o-down:before { + content: "\f119"; +} + +.la-arrow-circle-o-left:before { + content: "\f11a"; +} + +.la-arrow-circle-o-right:before { + content: "\f11b"; +} + +.la-arrow-circle-o-up:before { + content: "\f11c"; +} + +.la-arrow-circle-right:before { + content: "\f11d"; +} + +.la-arrow-circle-up:before { + content: "\f11e"; +} + +.la-arrow-down:before { + content: "\f11f"; +} + +.la-arrow-left:before { + content: "\f120"; +} + +.la-arrow-right:before { + content: "\f121"; +} + +.la-arrow-up:before { + content: "\f122"; +} + +.la-arrows:before { + content: "\f123"; +} + +.la-arrows-alt:before { + content: "\f124"; +} + +.la-arrows-h:before { + content: "\f125"; +} + +.la-arrows-v:before { + content: "\f126"; +} + +.la-asterisk:before { + content: "\f127"; +} + +.la-at:before { + content: "\f128"; +} + +.la-automobile:before { + content: "\f129"; +} + +.la-backward:before { + content: "\f12a"; +} + +.la-balance-scale:before { + content: "\f12b"; +} + +.la-ban:before { + content: "\f12c"; +} + +.la-bank:before { + content: "\f12d"; +} + +.la-bar-chart:before { + content: "\f12e"; +} + +.la-bar-chart-o:before { + content: "\f12f"; +} + +.la-barcode:before { + content: "\f130"; +} + +.la-bars:before { + content: "\f131"; +} + +.la-battery-0:before { + content: "\f132"; +} + +.la-battery-1:before { + content: "\f133"; +} + +.la-battery-2:before { + content: "\f134"; +} + +.la-battery-3:before { + content: "\f135"; +} + +.la-battery-4:before { + content: "\f136"; +} + +.la-battery-empty:before { + content: "\f137"; +} + +.la-battery-full:before { + content: "\f138"; +} + +.la-battery-half:before { + content: "\f139"; +} + +.la-battery-quarter:before { + content: "\f13a"; +} + +.la-battery-three-quarters:before { + content: "\f13b"; +} + +.la-bed:before { + content: "\f13c"; +} + +.la-beer:before { + content: "\f13d"; +} + +.la-behance:before { + content: "\f13e"; +} + +.la-behance-square:before { + content: "\f13f"; +} + +.la-bell:before { + content: "\f140"; +} + +.la-bell-o:before { + content: "\f141"; +} + +.la-bell-slash:before { + content: "\f142"; +} + +.la-bell-slash-o:before { + content: "\f143"; +} + +.la-bicycle:before { + content: "\f144"; +} + +.la-binoculars:before { + content: "\f145"; +} + +.la-birthday-cake:before { + content: "\f146"; +} + +.la-bitbucket:before { + content: "\f147"; +} + +.la-bitbucket-square:before { + content: "\f148"; +} + +.la-bitcoin:before { + content: "\f149"; +} + +.la-black-tie:before { + content: "\f14a"; +} + +.la-bold:before { + content: "\f14b"; +} + +.la-bolt:before { + content: "\f14c"; +} + +.la-bomb:before { + content: "\f14d"; +} + +.la-book:before { + content: "\f14e"; +} + +.la-bookmark:before { + content: "\f14f"; +} + +.la-bookmark-o:before { + content: "\f150"; +} + +.la-briefcase:before { + content: "\f151"; +} + +.la-btc:before { + content: "\f152"; +} + +.la-bug:before { + content: "\f153"; +} + +.la-building:before { + content: "\f154"; +} + +.la-building-o:before { + content: "\f155"; +} + +.la-bullhorn:before { + content: "\f156"; +} + +.la-bullseye:before { + content: "\f157"; +} + +.la-bus:before { + content: "\f158"; +} + +.la-buysellads:before { + content: "\f159"; +} + +.la-cab:before { + content: "\f15a"; +} + +.la-calculator:before { + content: "\f15b"; +} + +.la-calendar:before { + content: "\f15c"; +} + +.la-calendar-check-o:before { + content: "\f15d"; +} + +.la-calendar-minus-o:before { + content: "\f15e"; +} + +.la-calendar-o:before { + content: "\f15f"; +} + +.la-calendar-plus-o:before { + content: "\f160"; +} + +.la-calendar-times-o:before { + content: "\f161"; +} + +.la-camera:before { + content: "\f162"; +} + +.la-camera-retro:before { + content: "\f163"; +} + +.la-car:before { + content: "\f164"; +} + +.la-caret-down:before { + content: "\f165"; +} + +.la-caret-left:before { + content: "\f166"; +} + +.la-caret-right:before { + content: "\f167"; +} + +.la-caret-square-o-down:before, .la-toggle-down:before { + content: "\f168"; +} + +.la-caret-square-o-left:before, .la-toggle-left:before { + content: "\f169"; +} + +.la-caret-square-o-right:before, .la-toggle-right:before { + content: "\f16a"; +} + +.la-caret-square-o-up:before, .la-toggle-up:before { + content: "\f16b"; +} + +.la-caret-up:before { + content: "\f16c"; +} + +.la-cart-arrow-down:before { + content: "\f16d"; +} + +.la-cart-plus:before { + content: "\f16e"; +} + +.la-cc:before { + content: "\f16f"; +} + +.la-cc-amex:before { + content: "\f170"; +} + +.la-cc-diners-club:before { + content: "\f171"; +} + +.la-cc-discover:before { + content: "\f172"; +} + +.la-cc-jcb:before { + content: "\f173"; +} + +.la-cc-mastercard:before { + content: "\f174"; +} + +.la-cc-paypal:before { + content: "\f175"; +} + +.la-cc-stripe:before { + content: "\f176"; +} + +.la-cc-visa:before { + content: "\f177"; +} + +.la-certificate:before { + content: "\f178"; +} + +.la-chain:before { + content: "\f179"; +} + +.la-chain-broken:before { + content: "\f17a"; +} + +.la-check:before { + content: "\f17b"; +} + +.la-check-circle:before { + content: "\f17c"; +} + +.la-check-circle-o:before { + content: "\f17d"; +} + +.la-check-square:before { + content: "\f17e"; +} + +.la-check-square-o:before { + content: "\f17f"; +} + +.la-chevron-circle-down:before { + content: "\f180"; +} + +.la-chevron-circle-left:before { + content: "\f181"; +} + +.la-chevron-circle-right:before { + content: "\f182"; +} + +.la-chevron-circle-up:before { + content: "\f183"; +} + +.la-chevron-down:before { + content: "\f184"; +} + +.la-chevron-left:before { + content: "\f185"; +} + +.la-chevron-right:before { + content: "\f186"; +} + +.la-chevron-up:before { + content: "\f187"; +} + +.la-child:before { + content: "\f188"; +} + +.la-chrome:before { + content: "\f189"; +} + +.la-circle:before { + content: "\f18a"; +} + +.la-circle-o:before { + content: "\f18b"; +} + +.la-circle-o-notch:before { + content: "\f18c"; +} + +.la-circle-thin:before { + content: "\f18d"; +} + +.la-clipboard:before { + content: "\f18e"; +} + +.la-clock-o:before { + content: "\f18f"; +} + +.la-clone:before { + content: "\f190"; +} + +.la-close:before { + content: "\f191"; +} + +.la-cloud:before { + content: "\f192"; +} + +.la-cloud-download:before { + content: "\f193"; +} + +.la-cloud-upload:before { + content: "\f194"; +} + +.la-cny:before { + content: "\f195"; +} + +.la-code:before { + content: "\f196"; +} + +.la-code-fork:before { + content: "\f197"; +} + +.la-codepen:before { + content: "\f198"; +} + +.la-coffee:before { + content: "\f199"; +} + +.la-cog:before { + content: "\f19a"; +} + +.la-cogs:before { + content: "\f19b"; +} + +.la-columns:before { + content: "\f19c"; +} + +.la-comment:before { + content: "\f19d"; +} + +.la-comment-o:before { + content: "\f19e"; +} + +.la-commenting:before { + content: "\f19f"; +} + +.la-commenting-o:before { + content: "\f1a0"; +} + +.la-comments:before { + content: "\f1a1"; +} + +.la-comments-o:before { + content: "\f1a2"; +} + +.la-compass:before { + content: "\f1a3"; +} + +.la-compress:before { + content: "\f1a4"; +} + +.la-connectdevelop:before { + content: "\f1a5"; +} + +.la-contao:before { + content: "\f1a6"; +} + +.la-copy:before { + content: "\f1a7"; +} + +.la-copyright:before { + content: "\f1a8"; +} + +.la-creative-commons:before { + content: "\f1a9"; +} + +.la-credit-card:before { + content: "\f1aa"; +} + +.la-crop:before { + content: "\f1ab"; +} + +.la-crosshairs:before { + content: "\f1ac"; +} + +.la-css3:before { + content: "\f1ad"; +} + +.la-cube:before { + content: "\f1ae"; +} + +.la-cubes:before { + content: "\f1af"; +} + +.la-cut:before { + content: "\f1b0"; +} + +.la-cutlery:before { + content: "\f1b1"; +} + +.la-dashboard:before { + content: "\f1b2"; +} + +.la-dashcube:before { + content: "\f1b3"; +} + +.la-database:before { + content: "\f1b4"; +} + +.la-dedent:before { + content: "\f1b5"; +} + +.la-delicious:before { + content: "\f1b6"; +} + +.la-desktop:before { + content: "\f1b7"; +} + +.la-deviantart:before { + content: "\f1b8"; +} + +.la-diamond:before { + content: "\f1b9"; +} + +.la-digg:before { + content: "\f1ba"; +} + +.la-dollar:before { + content: "\f1bb"; +} + +.la-dot-circle-o:before { + content: "\f1bc"; +} + +.la-download:before { + content: "\f1bd"; +} + +.la-dribbble:before { + content: "\f1be"; +} + +.la-dropbox:before { + content: "\f1bf"; +} + +.la-drupal:before { + content: "\f1c0"; +} + +.la-edit:before { + content: "\f1c1"; +} + +.la-eject:before { + content: "\f1c2"; +} + +.la-ellipsis-h:before { + content: "\f1c3"; +} + +.la-ellipsis-v:before { + content: "\f1c4"; +} + +.la-empire:before, .la-ge:before { + content: "\f1c5"; +} + +.la-envelope:before { + content: "\f1c6"; +} + +.la-envelope-o:before { + content: "\f1c7"; +} + +.la-envelope-square:before { + content: "\f1c8"; +} + +.la-eraser:before { + content: "\f1c9"; +} + +.la-eur:before { + content: "\f1ca"; +} + +.la-euro:before { + content: "\f1cb"; +} + +.la-exchange:before { + content: "\f1cc"; +} + +.la-exclamation:before { + content: "\f1cd"; +} + +.la-exclamation-circle:before { + content: "\f1ce"; +} + +.la-exclamation-triangle:before { + content: "\f1cf"; +} + +.la-expand:before { + content: "\f1d0"; +} + +.la-expeditedssl:before { + content: "\f1d1"; +} + +.la-external-link:before { + content: "\f1d2"; +} + +.la-external-link-square:before { + content: "\f1d3"; +} + +.la-eye:before { + content: "\f1d4"; +} + +.la-eye-slash:before { + content: "\f1d5"; +} + +.la-eyedropper:before { + content: "\f1d6"; +} + +.la-facebook-f:before, .la-facebook:before { + content: "\f1d7"; +} + +.la-facebook-official:before { + content: "\f1d8"; +} + +.la-facebook-square:before { + content: "\f1d9"; +} + +.la-fast-backward:before { + content: "\f1da"; +} + +.la-fast-forward:before { + content: "\f1db"; +} + +.la-fax:before { + content: "\f1dc"; +} + +.la-female:before { + content: "\f1dd"; +} + +.la-fighter-jet:before { + content: "\f1de"; +} + +.la-file:before { + content: "\f1df"; +} + +.la-file-archive-o:before { + content: "\f1e0"; +} + +.la-file-audio-o:before { + content: "\f1e1"; +} + +.la-file-code-o:before { + content: "\f1e2"; +} + +.la-file-excel-o:before { + content: "\f1e3"; +} + +.la-file-image-o:before { + content: "\f1e4"; +} + +.la-file-movie-o:before { + content: "\f1e5"; +} + +.la-file-o:before { + content: "\f1e6"; +} + +.la-file-pdf-o:before { + content: "\f1e7"; +} + +.la-file-photo-o:before { + content: "\f1e8"; +} + +.la-file-picture-o:before { + content: "\f1e9"; +} + +.la-file-powerpoint-o:before { + content: "\f1ea"; +} + +.la-file-sound-o:before { + content: "\f1eb"; +} + +.la-file-text:before { + content: "\f1ec"; +} + +.la-file-text-o:before { + content: "\f1ed"; +} + +.la-file-video-o:before { + content: "\f1ee"; +} + +.la-file-word-o:before { + content: "\f1ef"; +} + +.la-file-zip-o:before { + content: "\f1f0"; +} + +.la-files-o:before { + content: "\f1f1"; +} + +.la-film:before { + content: "\f1f2"; +} + +.la-filter:before { + content: "\f1f3"; +} + +.la-fire:before { + content: "\f1f4"; +} + +.la-fire-extinguisher:before { + content: "\f1f5"; +} + +.la-firefox:before { + content: "\f1f6"; +} + +.la-flag:before { + content: "\f1f7"; +} + +.la-flag-checkered:before { + content: "\f1f8"; +} + +.la-flag-o:before { + content: "\f1f9"; +} + +.la-flash:before { + content: "\f1fa"; +} + +.la-flask:before { + content: "\f1fb"; +} + +.la-flickr:before { + content: "\f1fc"; +} + +.la-floppy-o:before { + content: "\f1fd"; +} + +.la-folder:before { + content: "\f1fe"; +} + +.la-folder-o:before { + content: "\f1ff"; +} + +.la-folder-open:before { + content: "\f200"; +} + +.la-folder-open-o:before { + content: "\f201"; +} + +.la-font:before { + content: "\f202"; +} + +.la-fonticons:before { + content: "\f203"; +} + +.la-forumbee:before { + content: "\f204"; +} + +.la-forward:before { + content: "\f205"; +} + +.la-foursquare:before { + content: "\f206"; +} + +.la-frown-o:before { + content: "\f207"; +} + +.la-futbol-o:before, .la-soccer-ball-o:before { + content: "\f208"; +} + +.la-gamepad:before { + content: "\f209"; +} + +.la-gavel:before { + content: "\f20a"; +} + +.la-gbp:before { + content: "\f20b"; +} + +.la-gear:before { + content: "\f20c"; +} + +.la-gears:before { + content: "\f20d"; +} + +.la-genderless:before { + content: "\f20e"; +} + +.la-get-pocket:before { + content: "\f20f"; +} + +.la-gg:before { + content: "\f210"; +} + +.la-gg-circle:before { + content: "\f211"; +} + +.la-gift:before { + content: "\f212"; +} + +.la-git:before { + content: "\f213"; +} + +.la-git-square:before { + content: "\f214"; +} + +.la-github:before { + content: "\f215"; +} + +.la-github-alt:before { + content: "\f216"; +} + +.la-github-square:before { + content: "\f217"; +} + +.la-glass:before { + content: "\f218"; +} + +.la-globe:before { + content: "\f219"; +} + +.la-google:before { + content: "\f21a"; +} + +.la-google-plus:before { + content: "\f21b"; +} + +.la-google-plus-square:before { + content: "\f21c"; +} + +.la-google-wallet:before { + content: "\f21d"; +} + +.la-graduation-cap:before { + content: "\f21e"; +} + +.la-gittip:before, .la-gratipay:before { + content: "\f21f"; +} + +.la-group:before { + content: "\f220"; +} + +.la-h-square:before { + content: "\f221"; +} + +.la-hacker-news:before { + content: "\f222"; +} + +.la-hand-grab-o:before { + content: "\f223"; +} + +.la-hand-lizard-o:before { + content: "\f224"; +} + +.la-hand-o-down:before { + content: "\f225"; +} + +.la-hand-o-left:before { + content: "\f226"; +} + +.la-hand-o-right:before { + content: "\f227"; +} + +.la-hand-o-up:before { + content: "\f228"; +} + +.la-hand-paper-o:before { + content: "\f229"; +} + +.la-hand-peace-o:before { + content: "\f22a"; +} + +.la-hand-pointer-o:before { + content: "\f22b"; +} + +.la-hand-rock-o:before { + content: "\f22c"; +} + +.la-hand-scissors-o:before { + content: "\f22d"; +} + +.la-hand-spock-o:before { + content: "\f22e"; +} + +.la-hand-stop-o:before { + content: "\f22f"; +} + +.la-hdd-o:before { + content: "\f230"; +} + +.la-header:before { + content: "\f231"; +} + +.la-headphones:before { + content: "\f232"; +} + +.la-heart:before { + content: "\f233"; +} + +.la-heart-o:before { + content: "\f234"; +} + +.la-heartbeat:before { + content: "\f235"; +} + +.la-history:before { + content: "\f236"; +} + +.la-home:before { + content: "\f237"; +} + +.la-hospital-o:before { + content: "\f238"; +} + +.la-hotel:before { + content: "\f239"; +} + +.la-hourglass:before { + content: "\f23a"; +} + +.la-hourglass-1:before { + content: "\f23b"; +} + +.la-hourglass-2:before { + content: "\f23c"; +} + +.la-hourglass-3:before { + content: "\f23d"; +} + +.la-hourglass-end:before { + content: "\f23e"; +} + +.la-hourglass-half:before { + content: "\f23f"; +} + +.la-hourglass-o:before { + content: "\f240"; +} + +.la-hourglass-start:before { + content: "\f241"; +} + +.la-houzz:before { + content: "\f242"; +} + +.la-html5:before { + content: "\f243"; +} + +.la-i-cursor:before { + content: "\f244"; +} + +.la-ils:before { + content: "\f245"; +} + +.la-image:before { + content: "\f246"; +} + +.la-inbox:before { + content: "\f247"; +} + +.la-indent:before { + content: "\f248"; +} + +.la-industry:before { + content: "\f249"; +} + +.la-info:before { + content: "\f24a"; +} + +.la-info-circle:before { + content: "\f24b"; +} + +.la-inr:before { + content: "\f24c"; +} + +.la-instagram:before { + content: "\f24d"; +} + +.la-institution:before { + content: "\f24e"; +} + +.la-internet-explorer:before { + content: "\f24f"; +} + +.la-ioxhost:before { + content: "\f250"; +} + +.la-italic:before { + content: "\f251"; +} + +.la-joomla:before { + content: "\f252"; +} + +.la-jpy:before { + content: "\f253"; +} + +.la-jsfiddle:before { + content: "\f254"; +} + +.la-key:before { + content: "\f255"; +} + +.la-keyboard-o:before { + content: "\f256"; +} + +.la-krw:before { + content: "\f257"; +} + +.la-language:before { + content: "\f258"; +} + +.la-laptop:before { + content: "\f259"; +} + +.la-lastfm:before { + content: "\f25a"; +} + +.la-lastfm-square:before { + content: "\f25b"; +} + +.la-leaf:before { + content: "\f25c"; +} + +.la-leanpub:before { + content: "\f25d"; +} + +.la-legal:before { + content: "\f25e"; +} + +.la-lemon-o:before { + content: "\f25f"; +} + +.la-level-down:before { + content: "\f260"; +} + +.la-level-up:before { + content: "\f261"; +} + +.la-life-bouy:before { + content: "\f262"; +} + +.la-life-buoy:before { + content: "\f263"; +} + +.la-life-ring:before, .la-support:before { + content: "\f264"; +} + +.la-life-saver:before { + content: "\f265"; +} + +.la-lightbulb-o:before { + content: "\f266"; +} + +.la-line-chart:before { + content: "\f267"; +} + +.la-link:before { + content: "\f268"; +} + +.la-linkedin:before { + content: "\f269"; +} + +.la-linkedin-square:before { + content: "\f26a"; +} + +.la-linux:before { + content: "\f26b"; +} + +.la-list:before { + content: "\f26c"; +} + +.la-list-alt:before { + content: "\f26d"; +} + +.la-list-ol:before { + content: "\f26e"; +} + +.la-list-ul:before { + content: "\f26f"; +} + +.la-location-arrow:before { + content: "\f270"; +} + +.la-lock:before { + content: "\f271"; +} + +.la-long-arrow-down:before { + content: "\f272"; +} + +.la-long-arrow-left:before { + content: "\f273"; +} + +.la-long-arrow-right:before { + content: "\f274"; +} + +.la-long-arrow-up:before { + content: "\f275"; +} + +.la-magic:before { + content: "\f276"; +} + +.la-magnet:before { + content: "\f277"; +} + +.la-mail-forward:before { + content: "\f278"; +} + +.la-mail-reply:before { + content: "\f279"; +} + +.la-mail-reply-all:before { + content: "\f27a"; +} + +.la-male:before { + content: "\f27b"; +} + +.la-map:before { + content: "\f27c"; +} + +.la-map-marker:before { + content: "\f27d"; +} + +.la-map-o:before { + content: "\f27e"; +} + +.la-map-pin:before { + content: "\f27f"; +} + +.la-map-signs:before { + content: "\f280"; +} + +.la-mars:before { + content: "\f281"; +} + +.la-mars-double:before { + content: "\f282"; +} + +.la-mars-stroke:before { + content: "\f283"; +} + +.la-mars-stroke-h:before { + content: "\f284"; +} + +.la-mars-stroke-v:before { + content: "\f285"; +} + +.la-maxcdn:before { + content: "\f286"; +} + +.la-meanpath:before { + content: "\f287"; +} + +.la-medium:before { + content: "\f288"; +} + +.la-medkit:before { + content: "\f289"; +} + +.la-meh-o:before { + content: "\f28a"; +} + +.la-mercury:before { + content: "\f28b"; +} + +.la-microphone:before { + content: "\f28c"; +} + +.la-microphone-slash:before { + content: "\f28d"; +} + +.la-minus:before { + content: "\f28e"; +} + +.la-minus-circle:before { + content: "\f28f"; +} + +.la-minus-square:before { + content: "\f290"; +} + +.la-minus-square-o:before { + content: "\f291"; +} + +.la-mobile:before { + content: "\f292"; +} + +.la-mobile-phone:before { + content: "\f293"; +} + +.la-money:before { + content: "\f294"; +} + +.la-moon-o:before { + content: "\f295"; +} + +.la-mortar-board:before { + content: "\f296"; +} + +.la-motorcycle:before { + content: "\f297"; +} + +.la-mouse-pointer:before { + content: "\f298"; +} + +.la-music:before { + content: "\f299"; +} + +.la-navicon:before { + content: "\f29a"; +} + +.la-neuter:before { + content: "\f29b"; +} + +.la-newspaper-o:before { + content: "\f29c"; +} + +.la-object-group:before { + content: "\f29d"; +} + +.la-object-ungroup:before { + content: "\f29e"; +} + +.la-odnoklassniki:before { + content: "\f29f"; +} + +.la-odnoklassniki-square:before { + content: "\f2a0"; +} + +.la-opencart:before { + content: "\f2a1"; +} + +.la-openid:before { + content: "\f2a2"; +} + +.la-opera:before { + content: "\f2a3"; +} + +.la-optin-monster:before { + content: "\f2a4"; +} + +.la-outdent:before { + content: "\f2a5"; +} + +.la-pagelines:before { + content: "\f2a6"; +} + +.la-paint-brush:before { + content: "\f2a7"; +} + +.la-paper-plane:before, .la-send:before { + content: "\f2a8"; +} + +.la-paper-plane-o:before, .la-send-o:before { + content: "\f2a9"; +} + +.la-paperclip:before { + content: "\f2aa"; +} + +.la-paragraph:before { + content: "\f2ab"; +} + +.la-paste:before { + content: "\f2ac"; +} + +.la-pause:before { + content: "\f2ad"; +} + +.la-paw:before { + content: "\f2ae"; +} + +.la-paypal:before { + content: "\f2af"; +} + +.la-pencil:before { + content: "\f2b0"; +} + +.la-pencil-square:before { + content: "\f2b1"; +} + +.la-pencil-square-o:before { + content: "\f2b2"; +} + +.la-phone:before { + content: "\f2b3"; +} + +.la-phone-square:before { + content: "\f2b4"; +} + +.la-photo:before { + content: "\f2b5"; +} + +.la-picture-o:before { + content: "\f2b6"; +} + +.la-pie-chart:before { + content: "\f2b7"; +} + +.la-pied-piper:before { + content: "\f2b8"; +} + +.la-pied-piper-alt:before { + content: "\f2b9"; +} + +.la-pinterest:before { + content: "\f2ba"; +} + +.la-pinterest-p:before { + content: "\f2bb"; +} + +.la-pinterest-square:before { + content: "\f2bc"; +} + +.la-plane:before { + content: "\f2bd"; +} + +.la-play:before { + content: "\f2be"; +} + +.la-play-circle:before { + content: "\f2bf"; +} + +.la-play-circle-o:before { + content: "\f2c0"; +} + +.la-plug:before { + content: "\f2c1"; +} + +.la-plus:before { + content: "\f2c2"; +} + +.la-plus-circle:before { + content: "\f2c3"; +} + +.la-plus-square:before { + content: "\f2c4"; +} + +.la-plus-square-o:before { + content: "\f2c5"; +} + +.la-power-off:before { + content: "\f2c6"; +} + +.la-print:before { + content: "\f2c7"; +} + +.la-puzzle-piece:before { + content: "\f2c8"; +} + +.la-qq:before { + content: "\f2c9"; +} + +.la-qrcode:before { + content: "\f2ca"; +} + +.la-question:before { + content: "\f2cb"; +} + +.la-question-circle:before { + content: "\f2cc"; +} + +.la-quote-left:before { + content: "\f2cd"; +} + +.la-quote-right:before { + content: "\f2ce"; +} + +.la-ra:before { + content: "\f2cf"; +} + +.la-random:before { + content: "\f2d0"; +} + +.la-rebel:before { + content: "\f2d1"; +} + +.la-recycle:before { + content: "\f2d2"; +} + +.la-reddit:before { + content: "\f2d3"; +} + +.la-reddit-square:before { + content: "\f2d4"; +} + +.la-refresh:before { + content: "\f2d5"; +} + +.la-registered:before { + content: "\f2d6"; +} + +.la-renren:before { + content: "\f2d7"; +} + +.la-reorder:before { + content: "\f2d8"; +} + +.la-repeat:before { + content: "\f2d9"; +} + +.la-reply:before { + content: "\f2da"; +} + +.la-reply-all:before { + content: "\f2db"; +} + +.la-retweet:before { + content: "\f2dc"; +} + +.la-rmb:before { + content: "\f2dd"; +} + +.la-road:before { + content: "\f2de"; +} + +.la-rocket:before { + content: "\f2df"; +} + +.la-rotate-left:before { + content: "\f2e0"; +} + +.la-rotate-right:before { + content: "\f2e1"; +} + +.la-rouble:before { + content: "\f2e2"; +} + +.la-feed:before, .la-rss:before { + content: "\f2e3"; +} + +.la-rss-square:before { + content: "\f2e4"; +} + +.la-rub:before { + content: "\f2e5"; +} + +.la-ruble:before { + content: "\f2e6"; +} + +.la-rupee:before { + content: "\f2e7"; +} + +.la-safari:before { + content: "\f2e8"; +} + +.la-save:before { + content: "\f2e9"; +} + +.la-scissors:before { + content: "\f2ea"; +} + +.la-search:before { + content: "\f2eb"; +} + +.la-search-minus:before { + content: "\f2ec"; +} + +.la-search-plus:before { + content: "\f2ed"; +} + +.la-sellsy:before { + content: "\f2ee"; +} + +.la-server:before { + content: "\f2ef"; +} + +.la-share:before { + content: "\f2f0"; +} + +.la-share-alt:before { + content: "\f2f1"; +} + +.la-share-alt-square:before { + content: "\f2f2"; +} + +.la-share-square:before { + content: "\f2f3"; +} + +.la-share-square-o:before { + content: "\f2f4"; +} + +.la-shekel:before { + content: "\f2f5"; +} + +.la-sheqel:before { + content: "\f2f6"; +} + +.la-shield:before { + content: "\f2f7"; +} + +.la-ship:before { + content: "\f2f8"; +} + +.la-shirtsinbulk:before { + content: "\f2f9"; +} + +.la-shopping-cart:before { + content: "\f2fa"; +} + +.la-sign-in:before { + content: "\f2fb"; +} + +.la-sign-out:before { + content: "\f2fc"; +} + +.la-signal:before { + content: "\f2fd"; +} + +.la-simplybuilt:before { + content: "\f2fe"; +} + +.la-sitemap:before { + content: "\f2ff"; +} + +.la-skyatlas:before { + content: "\f300"; +} + +.la-skype:before { + content: "\f301"; +} + +.la-slack:before { + content: "\f302"; +} + +.la-sliders:before { + content: "\f303"; +} + +.la-slideshare:before { + content: "\f304"; +} + +.la-smile-o:before { + content: "\f305"; +} + +.la-sort:before, .la-unsorted:before { + content: "\f306"; +} + +.la-sort-alpha-asc:before { + content: "\f307"; +} + +.la-sort-alpha-desc:before { + content: "\f308"; +} + +.la-sort-amount-asc:before { + content: "\f309"; +} + +.la-sort-amount-desc:before { + content: "\f30a"; +} + +.la-sort-asc:before, .la-sort-up:before { + content: "\f30b"; +} + +.la-sort-desc:before, .la-sort-down:before { + content: "\f30c"; +} + +.la-sort-numeric-asc:before { + content: "\f30d"; +} + +.la-sort-numeric-desc:before { + content: "\f30e"; +} + +.la-soundcloud:before { + content: "\f30f"; +} + +.la-space-shuttle:before { + content: "\f310"; +} + +.la-spinner:before { + content: "\f311"; +} + +.la-spoon:before { + content: "\f312"; +} + +.la-spotify:before { + content: "\f313"; +} + +.la-square:before { + content: "\f314"; +} + +.la-square-o:before { + content: "\f315"; +} + +.la-stack-exchange:before { + content: "\f316"; +} + +.la-stack-overflow:before { + content: "\f317"; +} + +.la-star:before { + content: "\f318"; +} + +.la-star-half:before { + content: "\f319"; +} + +.la-star-half-empty:before, .la-star-half-full:before, .la-star-half-o:before { + content: "\f31a"; +} + +.la-star-o:before { + content: "\f31b"; +} + +.la-steam:before { + content: "\f31c"; +} + +.la-steam-square:before { + content: "\f31d"; +} + +.la-step-backward:before { + content: "\f31e"; +} + +.la-step-forward:before { + content: "\f31f"; +} + +.la-stethoscope:before { + content: "\f320"; +} + +.la-sticky-note:before { + content: "\f321"; +} + +.la-sticky-note-o:before { + content: "\f322"; +} + +.la-stop:before { + content: "\f323"; +} + +.la-street-view:before { + content: "\f324"; +} + +.la-strikethrough:before { + content: "\f325"; +} + +.la-stumbleupon:before { + content: "\f326"; +} + +.la-stumbleupon-circle:before { + content: "\f327"; +} + +.la-subscript:before { + content: "\f328"; +} + +.la-subway:before { + content: "\f329"; +} + +.la-suitcase:before { + content: "\f32a"; +} + +.la-sun-o:before { + content: "\f32b"; +} + +.la-superscript:before { + content: "\f32c"; +} + +.la-table:before { + content: "\f32d"; +} + +.la-tablet:before { + content: "\f32e"; +} + +.la-tachometer:before { + content: "\f32f"; +} + +.la-tag:before { + content: "\f330"; +} + +.la-tags:before { + content: "\f331"; +} + +.la-tasks:before { + content: "\f332"; +} + +.la-taxi:before { + content: "\f333"; +} + +.la-television:before, .la-tv:before { + content: "\f334"; +} + +.la-tencent-weibo:before { + content: "\f335"; +} + +.la-terminal:before { + content: "\f336"; +} + +.la-text-height:before { + content: "\f337"; +} + +.la-text-width:before { + content: "\f338"; +} + +.la-th:before { + content: "\f339"; +} + +.la-th-large:before { + content: "\f33a"; +} + +.la-th-list:before { + content: "\f33b"; +} + +.la-thumb-tack:before { + content: "\f33c"; +} + +.la-thumbs-down:before { + content: "\f33d"; +} + +.la-thumbs-o-down:before { + content: "\f33e"; +} + +.la-thumbs-o-up:before { + content: "\f33f"; +} + +.la-thumbs-up:before { + content: "\f340"; +} + +.la-ticket:before { + content: "\f341"; +} + +.la-remove:before, .la-times:before { + content: "\f342"; +} + +.la-times-circle:before { + content: "\f343"; +} + +.la-times-circle-o:before { + content: "\f344"; +} + +.la-tint:before { + content: "\f345"; +} + +.la-toggle-off:before { + content: "\f346"; +} + +.la-toggle-on:before { + content: "\f347"; +} + +.la-trademark:before { + content: "\f348"; +} + +.la-train:before { + content: "\f349"; +} + +.la-intersex:before, .la-transgender:before { + content: "\f34a"; +} + +.la-transgender-alt:before { + content: "\f34b"; +} + +.la-trash:before { + content: "\f34c"; +} + +.la-trash-o:before { + content: "\f34d"; +} + +.la-tree:before { + content: "\f34e"; +} + +.la-trello:before { + content: "\f34f"; +} + +.la-tripadvisor:before { + content: "\f350"; +} + +.la-trophy:before { + content: "\f351"; +} + +.la-truck:before { + content: "\f352"; +} + +.la-try:before { + content: "\f353"; +} + +.la-tty:before { + content: "\f354"; +} + +.la-tumblr:before { + content: "\f355"; +} + +.la-tumblr-square:before { + content: "\f356"; +} + +.la-turkish-lira:before { + content: "\f357"; +} + +.la-twitch:before { + content: "\f358"; +} + +.la-twitter:before { + content: "\f359"; +} + +.la-twitter-square:before { + content: "\f35a"; +} + +.la-umbrella:before { + content: "\f35b"; +} + +.la-underline:before { + content: "\f35c"; +} + +.la-undo:before { + content: "\f35d"; +} + +.la-university:before { + content: "\f35e"; +} + +.la-unlink:before { + content: "\f35f"; +} + +.la-unlock:before { + content: "\f360"; +} + +.la-unlock-alt:before { + content: "\f361"; +} + +.la-upload:before { + content: "\f362"; +} + +.la-usd:before { + content: "\f363"; +} + +.la-user:before { + content: "\f364"; +} + +.la-user-md:before { + content: "\f365"; +} + +.la-user-plus:before { + content: "\f366"; +} + +.la-user-secret:before { + content: "\f367"; +} + +.la-user-times:before { + content: "\f368"; +} + +.la-users:before { + content: "\f369"; +} + +.la-venus:before { + content: "\f36a"; +} + +.la-venus-double:before { + content: "\f36b"; +} + +.la-venus-mars:before { + content: "\f36c"; +} + +.la-viacoin:before { + content: "\f36d"; +} + +.la-video-camera:before { + content: "\f36e"; +} + +.la-vimeo:before { + content: "\f36f"; +} + +.la-vimeo-square:before { + content: "\f370"; +} + +.la-vine:before { + content: "\f371"; +} + +.la-vk:before { + content: "\f372"; +} + +.la-volume-down:before { + content: "\f373"; +} + +.la-volume-off:before { + content: "\f374"; +} + +.la-volume-up:before { + content: "\f375"; +} + +.la-warning:before { + content: "\f376"; +} + +.la-wechat:before { + content: "\f377"; +} + +.la-weibo:before { + content: "\f378"; +} + +.la-weixin:before { + content: "\f379"; +} + +.la-whatsapp:before { + content: "\f37a"; +} + +.la-wheelchair:before { + content: "\f37b"; +} + +.la-wifi:before { + content: "\f37c"; +} + +.la-wikipedia-w:before { + content: "\f37d"; +} + +.la-windows:before { + content: "\f37e"; +} + +.la-won:before { + content: "\f37f"; +} + +.la-wordpress:before { + content: "\f380"; +} + +.la-wrench:before { + content: "\f381"; +} + +.la-xing:before { + content: "\f382"; +} + +.la-xing-square:before { + content: "\f383"; +} + +.la-y-combinator:before { + content: "\f384"; +} + +.la-y-combinator-square:before { + content: "\f385"; +} + +.la-yahoo:before { + content: "\f386"; +} + +.la-yc:before { + content: "\f387"; +} + +.la-yc-square:before { + content: "\f388"; +} + +.la-yelp:before { + content: "\f389"; +} + +.la-yen:before { + content: "\f38a"; +} + +.la-youtube:before { + content: "\f38b"; +} + +.la-youtube-play:before { + content: "\f38c"; +} + +.la-youtube-square:before { + content: "\f38d"; +} + +/* Card */ +.card { + border-radius: 0px; + background-color: #ffffff; + margin-bottom: 30px; + -webkit-box-shadow: 0px 1px 15px 1px rgba(69, 65, 78, 0.08); + -moz-box-shadow: 0px 1px 15px 1px rgba(69, 65, 78, 0.08); + box-shadow: 0px 1px 15px 1px rgba(69, 65, 78, 0.08); + border: 1px solid #eee; +} +.card .card-header { + padding: 15px 15px; + background-color: transparent; + border-bottom: 1px solid #ebedf2 !important; +} +.card .card-title { + margin: 0; + color: #575962; + font-size: 18px; + font-weight: 600; + line-height: 1.6; +} +.card .card-sub { + display: block; + margin: 5px 0 10px 0; + font-size: .9rem; + background: #f7f8fa; + color: #575962; + padding: 0.85rem 1.5rem; + border-radius: 4px; +} +.card .card-category { + margin-top: 5px; + font-size: 14px; + font-weight: 400; + color: #9A9A9A; + margin-bottom: 0px; +} +.card label { + font-size: 14px; + font-weight: 400; + color: #9A9A9A; + margin-bottom: 0px; +} +.card .card-body { + padding: 15px 15px 10px 15px; +} +.card .card-footer { + background-color: transparent; + line-height: 30px; + border-top: 1px solid #ebedf2 !important; + font-size: 14px; +} +.card .card-action { + padding: 30px; + background-color: transparent; + line-height: 30px; + border-top: 1px solid #ebedf2 !important; + font-size: 14px; +} +.card .card-footer hr { + margin-top: 5px; + margin-bottom: 5px; +} +.card .card-footer .legend { + display: inline-block; +} + +.card-stats .card-category { + margin-top: 0px; +} +.card-stats .icon-big { + font-size: 3em; + min-height: 64px; +} + +.card-tasks .table thead th { + border-top: 1px solid #f4f4f4; + background: #fafafa !important; +} +.card-tasks .table .form-check { + padding: 0 0 0 0.75rem !important; +} +.card-tasks .table .form-check label { + margin-bottom: 0px !important; +} +.card-tasks .table tbody td:first-child, .card-tasks .table thead th:first-child { + padding-left: 15px; + padding-right: 15px; +} +.card-tasks .table tbody td:last-child, .card-tasks .table thead th:last-child { + padding-right: 15px; +} +.card-tasks .card-body .table td { + font-size: 14px; + line-height: 1.8; +} +.card-tasks .card-body .table td .btn { + font-size: 17px; + opacity: 0.7; + transition: all .3s; +} +.card-tasks .card-body .table td:hover .btn { + opacity: 1; +} + +.card-default, .card-primary, .card-info, .card-success, .card-warning, .card-danger { + color: #ffffff; + border: 0px; +} + +.card-default .card-header, .card-primary .card-header, .card-info .card-header, .card-success .card-header, .card-warning .card-header, .card-danger .card-header { + border-bottom: transparent !important; +} + +.card-default .card-category, .card-primary .card-category, .card-info .card-category, .card-success .card-category, .card-warning .card-category, .card-danger .card-category, .card-default .card-title, .card-primary .card-title, .card-info .card-title, .card-success .card-title, .card-warning .card-title, .card-danger .card-title, .card-default label, .card-primary label, .card-info label, .card-success label, .card-warning label, .card-danger label { + color: #ffffff; +} + +.card-default .icon-big > i, .card-primary .icon-big > i, .card-info .icon-big > i, .card-success .icon-big > i, .card-warning .icon-big > i, .card-danger .icon-big > i { + color: #ffffff !important; +} + +.card-default .card-footer, .card-primary .card-footer, .card-info .card-footer, .card-success .card-footer, .card-warning .card-footer, .card-danger .card-footer { + border-top: transparent !important; +} + +.card-default { + background: #607D8B; +} + +.card-primary { + background: #1D62F0; +} + +.card-info { + background: #23CCEF; +} + +.card-success { + background: #59d05d; +} + +.card-warning { + background: #fbad4c; +} + +.card-danger { + background: #ff646d; +} + +/* Progress Card */ +.progress-card { + margin-bottom: 25px; +} + +/* Row Card No Padding */ +.row-card-no-pd { + margin-left: 0; + margin-right: 0; + background: #ffffff; + margin-bottom: 30px; + padding-top: 30px; + padding-bottom: 30px; + position: relative; +} +.row-card-no-pd .card { + margin-bottom: 0px; + border-width: 0px; + box-shadow: none; + position: unset; +} +.row-card-no-pd [class*=col-] .card:after { + position: absolute; + height: calc(100%); + width: 1px; + background: #eee; + content: ''; + right: 0px; +} +.row-card-no-pd [class*=col-] .card:after:last-child { + width: 0px; +} + +/* Form */ +.form-button-action { + display: inline-flex; +} + +/* CheckBox Input */ +.select-all-checkbox + .form-check-sign:before { + background: #ccc !important; + border-color: #ccc !important; +} + +[type="checkbox"]:not(:checked), [type="checkbox"]:checked { + position: absolute; + left: -9999px; +} +[type="checkbox"]:not(:checked) + .form-check-sign, [type="checkbox"]:checked + .form-check-sign { + position: relative; + padding-left: 1.65em; + color: #777; + cursor: pointer; +} +[type="checkbox"]:not(:checked) + .form-check-sign:before, [type="checkbox"]:checked + .form-check-sign:before { + content: ''; + position: absolute; + left: 0; + top: 1px; + width: 16px; + height: 16px; + border: 1px solid #ccc; + background: transparent; + border-radius: 4px; +} +[type="checkbox"]:not(:checked) + .form-check-sign:after, [type="checkbox"]:checked + .form-check-sign:after { + content: "\f17b"; + display: inline-block; + position: absolute; + top: -1px; + left: 2px; + width: 18px; + height: 18px; + text-align: center; + font-size: 1.5em; + line-height: 0.8; + color: #4D7CFE; + transition: all .2s; + font-family: LineAwesome; +} +[type="checkbox"]:not(:checked) + .form-check-sign:after { + opacity: 0; + transform: scale(0); +} +[type="checkbox"]:checked + .form-check-sign { + font-weight: 700; +} +[type="checkbox"]:checked + .form-check-sign:after { + opacity: 1; + transform: scale(1); +} +[type="checkbox"]:disabled:not(:checked) + .form-check-sign:before { + box-shadow: none; + border-color: #bbb; + background-color: #ddd; +} +[type="checkbox"]:disabled:checked + .form-check-sign:before { + box-shadow: none; + border-color: #bbb; + background-color: #ddd; +} +[type="checkbox"]:disabled:checked + .form-check-sign:after { + color: #999; +} +[type="checkbox"]:disabled + .form-check-sign { + color: #aaa; +} +[type="checkbox"]:checked:focus + .form-check-sign:before, [type="checkbox"]:not(:checked):focus + .form-check-sign:before { + border: 1px solid #ccc; +} + +/* checked mark aspect changes */ +/* disabled checkbox */ +/* accessibility */ +/* hover style just for information */ +.form-check-sign:hover:before { + border: 1px solid #ccc !important; +} + +.form-check { + padding-left: 0.75rem; +} + +.form-check-input { + position: relative; + margin-top: .3rem; +} + +/* Radio Input */ +[type="radio"]:not(:checked), [type="radio"]:checked { + position: absolute; + left: -9999px; +} +[type="radio"]:not(:checked) + .form-radio-sign, [type="radio"]:checked + .form-radio-sign { + position: relative; + padding-left: 1.65em; + color: #777; + cursor: pointer; +} +[type="radio"]:not(:checked) + .form-radio-sign:before { + content: "\f18a"; + font-size: 22px; + font-family: LineAwesome; + position: absolute; + left: 0; + top: auto; + background: transparent; + line-height: 1; +} +[type="radio"]:checked + .form-radio-sign:before { + content: "\f18a"; + font-size: 22px; + font-family: LineAwesome; + position: absolute; + left: 0; + top: auto; + background: transparent; + line-height: 1; + display: none; +} +[type="radio"]:not(:checked) + .form-radio-sign:after, [type="radio"]:checked + .form-radio-sign:after { + content: "\f1bc"; + position: absolute; + left: 0px; + top: auto; + text-align: center; + font-size: 22px; + color: #4D7CFE; + transition: all .2s; + line-height: 1; + font-family: LineAwesome; +} +[type="radio"]:not(:checked) + .form-radio-sign:after { + opacity: 0; + transform: scale(0); +} +[type="radio"]:checked + .form-radio-sign { + font-weight: 700; +} +[type="radio"]:checked + .form-radio-sign:after { + opacity: 1; + transform: scale(1); +} +[type="radio"]:disabled:not(:checked) + .form-radio-sign:before { + box-shadow: none; + opacity: 0.65; +} +[type="radio"]:disabled:checked + .form-radio-sign:before { + box-shadow: none; + opacity: 0.65; +} +[type="radio"]:disabled:checked + .form-radio-sign:after { + opacity: 0.65; +} +[type="radio"]:disabled + .form-radio-sign { + color: #aaa; + opacity: 0.65; +} +[type="radio"]:checked:focus + .form-radio-sign:before, [type="radio"]:not(:checked):focus + .form-radio-sign:before { + border: 1px solid #ccc; +} + +/* checked mark aspect changes */ +/* disabled radio */ +/* accessibility */ +.form-radio { + padding-left: 0.75rem; +} + +.form-radio-input { + position: relative; + margin-top: .3rem; +} + +/* Input */ +.form-group, .form-check { + margin-bottom: 0; + padding: 15px 10px; +} + +.form-group label, .form-check label { + margin-bottom: .5rem !important; + color: #3f4047 !important; + font-weight: 400; + font-size: 1rem; +} + +.form-inline label { + margin-bottom: 0 !important; +} + +.input-fixed { + width: 200px; +} + +.form-control.input-full { + width: 100% !important; +} + +.has-success .form-control { + border-color: #59d05d; + color: #59d05d; +} + +.has-error .form-control { + border-color: #ff646d; + color: #ff646d; +} + +.has-feedback { + position: relative; +} + +.form-control-feedback { + position: absolute; + top: 50%; + transform: translateY(-50%); + right: 20px; +} + +.has-success .form-control-feedback { + color: #59d05d; +} + +.has-error .form-control-feedback { + color: #ff646d; +} + +.input-group.has-icon { + border-radius: .25rem; + border: 1px solid #ced4da; +} +.input-group.has-success, .input-group.has-icon.has-success { + border-color: 1px solid #59d05d !important; + color: #59d05d; +} +.input-group.has-error { + border: 1px solid #ff646d !important; + color: #ff646d; +} +.input-group.has-icon.has-error { + border: 1px solid #ff646d !important; + color: #ff646d; +} +.input-group.has-icon .form-control { + border-radius: .25rem; + border: 0px; + position: relative; +} +.input-group.has-icon .input-group-icon { + background: transparent; + border: 0px; +} + +.input-square { + border-radius: 0px !important; +} + +.input-pill { + border-radius: 1.3rem !important; +} + +.input-solid { + background: #e8e8e8 !important; + border-color: #e8e8e8 !important; +} + +.form-control:disabled, .form-control[readonly] { + background: #e8e8e8 !important; + border-color: #e8e8e8 !important; +} +.form-control:disabled, .form-control[readonly] { + opacity: 0.6 !important; +} + +/* Table */ +.table { + color: #555 !important; +} +.table > thead > tr > th, .table > tbody > tr > th, .table > tfoot > tr > th, .table > thead > tr > td, .table > tbody > tr > td, .table > tfoot > tr > td { + vertical-align: middle; +} +.table > tbody > tr > td, .table > tbody > tr > th { + padding: 8px; +} +.table > tfoot > tr > td, .table > tfoot > tr > th { + padding: 8px; +} +.table thead th { + color: #554; + border-bottom-width: 2px; +} +.table td, .table th { + font-size: 14px; + border-color: #ebedf2 !important; + padding: 0.75rem !important; +} + +/* table full-width */ +.table-full-width { + margin-left: -15px; + margin-right: -15px; +} + +/* table bordered states */ +.table-bordered-bd-default td, .table-bordered-bd-default th { + border: 1px solid #607D8B !important; +} + +.table-bordered-bd-primary td, .table-bordered-bd-primary th { + border: 1px solid #1D62F0 !important; +} + +.table-bordered-bd-info td, .table-bordered-bd-info th { + border: 1px solid #23CCEF !important; +} + +.table-bordered-bd-success td, .table-bordered-bd-success th { + border: 1px solid #59d05d !important; +} + +.table-bordered-bd-warning td, .table-bordered-bd-warning th { + border: 1px solid #fbad4c !important; +} + +.table-bordered-bd-danger td, .table-bordered-bd-danger th { + border: 1px solid #ff646d !important; +} + +.table-striped td, .table-striped th { + border-top: 0 !important; + border-bottom: 0 !important; +} + +/* table head background states*/ +.table-head-bg-default { + border: 1px solid #607D8B !important; +} + +.table-head-bg-primary { + border: 1px solid #1D62F0 !important; +} + +.table-head-bg-info { + border: 1px solid #23CCEF !important; +} + +.table-head-bg-success { + border: 1px solid #59d05d !important; +} + +.table-head-bg-warning { + border: 1px solid #fbad4c !important; +} + +.table-head-bg-danger { + border: 1px solid #ff646d !important; +} + +.table-head-bg-default thead th, .table-striped-bg-default tbody tr:nth-of-type(odd) { + background: #607D8B !important; + color: #ffffff !important; + border: 0px !important; +} + +.table-head-bg-primary thead th, .table-striped-bg-primary tbody tr:nth-of-type(odd) { + background: #1D62F0 !important; + color: #ffffff !important; + border: 0px !important; +} + +.table-head-bg-info thead th, .table-striped-bg-info tbody tr:nth-of-type(odd) { + background: #23CCEF !important; + color: #ffffff !important; + border: 0px !important; +} + +.table-head-bg-success thead th, .table-striped-bg-success tbody tr:nth-of-type(odd) { + background: #59d05d !important; + color: #ffffff !important; + border: 0px !important; +} + +.table-head-bg-warning thead th, .table-striped-bg-warning tbody tr:nth-of-type(odd) { + background: #fbad4c !important; + color: #ffffff !important; + border: 0px !important; +} + +.table-head-bg-danger thead th, .table-striped-bg-danger tbody tr:nth-of-type(odd) { + background: #ff646d !important; + color: #ffffff !important; + border: 0px !important; +} + +/* table-responsive */ +.table-responsive { + display: block; + width: 100%; + overflow-x: auto; + -webkit-overflow-scrolling: touch; + -ms-overflow-style: -ms-autohiding-scrollbar; +} + +/* Navbar */ +.navbar .navbar-nav .nav-item .nav-link { + display: inline-block; + vertical-align: middle; + color: #666; + line-height: 55px; + letter-spacing: 0.04em; + padding: 0 20px 0 0; + position: relative; + font-size: 14px; + font-weight: 500; + text-align: center; +} +.navbar .navbar-nav .nav-item .nav-link i { + font-size: 22px; + width: 30px; + vertical-align: middle; +} + +.navbar-expand-lg .navbar-nav .dropdown-menu { + left: auto; + right: 0; +} + +.dropdown-item { + font-size: 14px; +} + +.navbar .navbar-nav .notification { + position: absolute; + background-color: #ff646d; + text-align: center; + border-radius: 10px; + min-width: 17px; + height: 17px; + font-size: 11px; + color: #ffffff; + font-weight: bold; + line-height: 17px; + top: 11px; + right: 12px; +} + +.navbar-header { + padding: 0px 15px; +} +.navbar-header .dropdown-toggle { + line-height: 55px; +} +.navbar-header .dropdown-toggle::after { + margin-left: 0; +} + +.profile-pic:hover, .profile-pic:focus { + text-decoration: none; +} + +.navbar-header .dropdown-toggle::after { + vertical-align: middle; + color: #555; +} + +.hidden-caret .dropdown-toggle::after { + display: none !important; +} + +.profile-pic .img-circle { + border-radius: 50%; +} +.profile-pic span { + font-size: 14px; + font-weight: 600; + padding: 0 10px; + color: #555; +} + +/* Nav Search */ +.nav-search .input-group { + border: 1px solid #eee; + background: #eee; + border-radius: 50px; +} +.nav-search .input-group:hover, .nav-search .input-group:focus { + border: 1px solid #ddd; +} +.nav-search .form-control { + border: 0; + background: transparent; + font-size: 14px; +} +.nav-search .input-group-text { + border: 0; + background: transparent; +} +.nav-search .search-icon { + font-size: 21px; + color: #666; +} + +/* Badge */ +.badge { + border-radius: 50px; + margin-left: auto; + line-height: 1; + padding: 6px 10px; + vertical-align: middle; + font-weight: 700; + font-size: 11px; +} + +.badge-count { + border: 1px solid #ddd; +} + +.badge-default { + background: #607D8B; + color: #ffffff !important; +} + +.badge-primary { + background: #1D62F0; +} + +.badge-info { + background: #23CCEF; +} + +.badge-success { + background-color: #59d05d; +} + +.badge-warning { + background: #fbad4c; + color: #ffffff !important; +} + +.badge-danger { + background-color: #ff646d; +} + +.dropdown-menu { + border: 1px solid rgba(120, 130, 140, 0.13); + border-radius: 0; + box-shadow: 0 3px 12px rgba(0, 0, 0, 0.05) !important; + -webkit-box-shadow: 0 !important; + -moz-box-shadow: 0 !important; + padding-bottom: 8px; + margin-top: 0; +} + +/* Notification dropdown */ +.dropdown-title { + border-bottom: 1px solid rgba(0, 0, 0, 0.1); + color: #263238; + font-size: 15px; + font-weight: 800; + padding: 5px 20px 10px; + text-align: center; +} + +.notif-box { + width: 280px; + padding-bottom: 0px; +} +.notif-box .notif-center a { + display: flex; + border-bottom: 1px solid #eaeaea; + color: #4d585f; +} +.notif-box .notif-center a:hover { + text-decoration: none; + background: #fafafa; + transition: all .2s; +} +.notif-box .notif-center a .notif-icon { + display: inline-flex; + width: 40px; + height: 40px; + margin: 10px; + align-items: center; + justify-content: center; + background: #eee; + border-radius: 50%; +} +.notif-box .notif-center a .notif-img { + display: inline-flex; + width: 40px; + height: 40px; + margin: 10px; + align-items: center; + justify-content: center; + background: #eee; + border-radius: 50%; +} +.notif-box .notif-center a .notif-img img { + width: 100%; + height: 100%; + border-radius: 50%; +} +.notif-box .notif-center a .notif-icon.notif-default, .notif-box .notif-center a .notif-icon.notif-primary, .notif-box .notif-center a .notif-icon.notif-info, .notif-box .notif-center a .notif-icon.notif-success, .notif-box .notif-center a .notif-icon.notif-warning, .notif-box .notif-center a .notif-icon.notif-danger { + color: #ffffff !important; +} +.notif-box .notif-center a .notif-icon.notif-default { + background: #607D8B !important; +} +.notif-box .notif-center a .notif-icon.notif-primary { + background: #1D62F0 !important; +} +.notif-box .notif-center a .notif-icon.notif-info { + background: #23CCEF !important; +} +.notif-box .notif-center a .notif-icon.notif-success { + background: #59d05d !important; +} +.notif-box .notif-center a .notif-icon.notif-warning { + background: #fbad4c !important; +} +.notif-box .notif-center a .notif-icon.notif-danger { + background: #ff646d !important; +} +.notif-box .notif-center a .notif-icon i { + font-size: 21px; +} +.notif-box .notif-center a .notif-content { + padding: 10px 15px 10px 0; +} +.notif-box .notif-center a .notif-content .block { + font-size: 14px; + line-height: 20px; + display: block; +} +.notif-box .notif-center a .notif-content .time { + color: #7d8c95; + font-size: 12px; +} +.notif-box .see-all { + display: flex; + align-items: center; + justify-content: space-between; + padding: 10px 20px; + color: #555; + font-size: 15px; + font-weight: 400; + text-decoration: none; +} +.notif-box .see-all:hover { + display: flex; + align-items: center; + justify-content: space-between; + padding: 10px 20px; + color: #555; + font-size: 15px; + font-weight: 400; + text-decoration: none; +} +.notif-box .see-all i { + float: right; +} + +/* User Dropdown */ +.dropdown-user { + width: 280px; +} + +.user-box { + display: flex; + padding: .25rem 1rem; +} +.user-box .u-img { + width: 80px; +} +.user-box .u-img img { + width: 100%; + border-radius: 5px; +} +.user-box .u-text { + padding: 0 10px; +} +.user-box .u-text h4 { + margin-bottom: 0; + font-size: 18px; +} +.user-box .u-text .text-muted { + font-size: 13px; + margin-bottom: 5px; +} +.user-box .u-text .btn { + font-size: 12px; +} + +/* Chart */ +.caret { + display: inline-block; + width: 0; + height: 0; + margin-left: .255em; + vertical-align: .255em; + content: ""; + border-top: .3em solid; + border-right: 0.3em solid transparent; + border-bottom: 0; + border-left: 0.3em solid transparent; +} + +.chart { + margin: 30px 0 30px; + position: relative; +} + +.ct-chart-pie .ct-label, .ct-chart-donut .ct-label { + fill: #ffffff !important; + color: #ffffff !important; +} + +.chart-circle { + display: flex; + justify-content: center; +} +.chart-circle .circles-text { + font-size: 28px !important; +} + +.color-box { + width: 15px; + height: 15px; + border-radius: 2px; + display: inline-block; + float: left; + padding-top: 3px; + margin: 2px 5px 0 0; +} + +.chart-pie { + display: block; + position: relative; + width: 100%; +} +.chart-pie:before { + display: block; + float: left; + content: ""; + width: 0; + height: 0; + padding-bottom: 75%; +} +.chart-pie:after { + content: ""; + display: table; + clear: both; +} +.chart-pie svg { + display: block; + position: absolute; + top: 0; + left: 0; + width: 100%; + height: 100%; +} + +/* Alert */ +.alert { + border: 0px; + color: #ffffff; + position: relative; + padding-left: 65px; +} +.alert [data-notify="icon"] { + font-size: 30px; + display: block; + left: 15px; + position: absolute; + top: 50%; + margin-top: -15px; +} +.alert [data-notify="title"] { + display: block; + font-weight: bold; +} +.alert [data-notify="message"] { + font-size: 14px; +} +.alert .close { + background: rgba(255, 255, 255, 0.8); + width: 25px; + height: 25px; + line-height: 25px; + top: auto !important; + border-radius: 50%; +} + +.alert-primary { + background-color: #1D62F0; +} + +.alert-info { + background-color: #23CCEF; +} + +.alert-success { + background-color: #59d05d; +} + +.alert-warning { + background-color: #fbad4c; +} + +.alert-danger { + background-color: #ff646d; +} + +/* Button */ +.btn { + padding: 8px 16px; + font-size: 14px; + opacity: 0.9; + border-radius: 3px; +} +.btn:hover, .btn:focus { + opacity: 1; +} + +.btn-lg { + font-size: 18px; + border-radius: 6px; + padding: 10px 30px; + font-weight: 400; +} + +.btn-sm { + font-size: 12px; + padding: 7px 13px; +} + +.btn-xs { + font-size: 11px; + padding: 5px 9px; +} + +.btn.disabled:hover, .btn:hover:disabled { + opacity: 0.65; +} + +.btn-default { + background: #607D8B !important; + color: #ffffff !important; +} +.btn-default:hover, .btn-default:focus, .btn-default:disabled { + background: #607D8B !important; + color: #ffffff !important; +} + +.btn-primary { + background: #1D62F0 !important; + border-color: #1D62F0 !important; +} +.btn-primary:hover, .btn-primary:focus, .btn-primary:disabled { + background: #1D62F0 !important; + border-color: #1D62F0 !important; +} + +.btn-info { + background: #23CCEF !important; + border-color: #23CCEF !important; +} +.btn-info:hover, .btn-info:focus, .btn-info:disabled { + background: #23CCEF !important; + border-color: #23CCEF !important; +} + +.btn-success { + background: #59d05d !important; + border-color: #59d05d !important; +} +.btn-success:hover, .btn-success:focus, .btn-success:disabled { + background: #59d05d !important; + border-color: #59d05d !important; +} + +.btn-warning { + background: #fbad4c !important; + border-color: #fbad4c !important; + color: #ffffff !important; +} +.btn-warning:hover, .btn-warning:focus, .btn-warning:disabled { + background: #fbad4c !important; + border-color: #fbad4c !important; + color: #ffffff !important; +} + +.btn-danger { + background: #ff646d !important; + border-color: #ff646d !important; +} +.btn-danger:hover, .btn-danger:focus, .btn-danger:disabled { + background: #ff646d !important; + border-color: #ff646d !important; +} + +.btn-border { + background: transparent !important; + font-weight: 600 !important; +} +.btn-border:hover, .btn-border:focus { + background: transparent !important; + font-weight: 600 !important; +} + +.btn-default.btn-border { + color: #607D8B !important; + border: 2px solid #607D8B !important; +} + +.btn-primary.btn-border { + color: #1D62F0 !important; + border: 2px solid #1D62F0 !important; +} + +.btn-info.btn-border { + color: #23CCEF !important; + border: 2px solid #23CCEF !important; +} + +.btn-success.btn-border { + color: #59d05d !important; + border: 2px solid #59d05d !important; +} + +.btn-warning.btn-border { + color: #fbad4c !important; + border: 2px solid #fbad4c !important; +} + +.btn-danger.btn-border { + color: #ff646d !important; + border: 2px solid #ff646d !important; +} + +.btn-round { + border-radius: 100px !important; +} + +.btn-link { + border: 0 !important; + background: transparent !important; +} +.btn-link:hover, .btn-link:focus { + text-decoration: underline !important; + background: transparent !important; + border: 0 !important; +} + +.btn-default.btn-link { + color: #607D8B !important; +} +.btn-default.btn-link:hover { + color: #607D8B !important; +} + +.btn-primary.btn-link { + color: #1D62F0 !important; +} +.btn-primary.btn-link:hover { + color: #1D62F0 !important; +} + +.btn-info.btn-link { + color: #23CCEF !important; +} +.btn-info.btn-link:hover { + color: #23CCEF !important; +} + +.btn-success.btn-link { + color: #59d05d !important; +} +.btn-success.btn-link:hover { + color: #59d05d !important; +} + +.btn-warning.btn-link { + color: #fbad4c !important; +} +.btn-warning.btn-link:hover { + color: #fbad4c !important; +} + +.btn-danger.btn-link { + color: #ff646d !important; +} +.btn-danger.btn-link:hover { + color: #ff646d !important; +} + +.toggle-on.btn { + color: #ffffff !important; +} + +.toggle-handle { + background: #ffffff !important; +} +.toggle-handle:hover { + background: #ffffff !important; +} + +.btn-round .toggle-handle { + border-radius: 50px; +} + +.btn-rounded { + border-radius: 60px !important; +} + +.btn-simple-default { + color: #607D8B; + text-decoration: none; +} +.btn-simple-default:hover { + color: #607D8B; + text-decoration: none; +} + +.btn-simple-primary { + color: #1D62F0; + text-decoration: none; +} +.btn-simple-primary:hover { + color: #1D62F0; + text-decoration: none; +} + +.btn-simple-info { + color: #23CCEF; + text-decoration: none; +} +.btn-simple-info:hover { + color: #23CCEF; + text-decoration: none; +} + +.btn-simple-danger { + color: #ff646d; + text-decoration: none; +} +.btn-simple-danger:hover { + color: #ff646d; + text-decoration: none; +} + +.btn-simple-warning { + color: #fbad4c; + text-decoration: none; +} +.btn-simple-warning:hover { + color: #fbad4c; + text-decoration: none; +} + +.btn-simple-success { + color: #59d05d; + text-decoration: none; +} +.btn-simple-success:hover { + color: #59d05d; + text-decoration: none; +} + +.btn-full { + width: 100%; +} + +.btn-no-radius { + border-radius: 0px; +} + +/* Nav Pill */ +.nav-pills > li:first-child > a { + border-radius: 4px 0 0 4px !important; +} +.nav-pills > li:last-child > a { + border-radius: 0 4px 4px 0 !important; +} + +.nav-link.disabled { + color: #6c757d !important; +} + +.nav-pills > li > a { + margin-left: -1px; + border-radius: 0 !important; + border: 1px solid #1D62F0; + color: #1D62F0; +} +.nav-pills > li > a.active { + background: #1D62F0; +} +.nav-pills > li > a:hover { + background: #fafafa; +} +.nav-pills.nav-default > li > a { + border: 1px solid #607D8B; + color: #607D8B; +} +.nav-pills.nav-default > li > a.active { + background: #607D8B; +} +.nav-pills.nav-primary > li > a { + border: 1px solid #1D62F0; + color: #1D62F0; +} +.nav-pills.nav-primary > li > a.active { + background: #1D62F0; +} +.nav-pills.nav-info > li > a { + border: 1px solid #23CCEF; + color: #23CCEF; +} +.nav-pills.nav-info > li > a.active { + background: #23CCEF; +} +.nav-pills.nav-success > li > a { + border: 1px solid #59d05d; + color: #59d05d; +} +.nav-pills.nav-success > li > a.active { + background: #59d05d; +} +.nav-pills.nav-warning > li > a { + border: 1px solid #fbad4c; + color: #fbad4c; +} +.nav-pills.nav-warning > li > a.active { + background: #fbad4c; +} +.nav-pills.nav-danger > li > a { + border: 1px solid #ff646d; + color: #ff646d; +} +.nav-pills.nav-danger > li > a.active { + background: #ff646d; +} + +/* Pagination */ +.pagination > li > a, .pagination > li:first-child > a, .pagination > li:last-child > a, .pagination > li > span, .pagination > li:first-child > span, .pagination > li:last-child > span { + border-radius: 100px !important; + margin: 0 2px; + color: #777777; + border-color: #ddd; +} +.pagination.pg-primary > li.active > a, .pagination.pg-primary > li.active:first-child > a, .pagination.pg-primary > li.active:last-child > a, .pagination.pg-primary > li.active > span, .pagination.pg-primary > li.active:first-child > span, .pagination.pg-primary > li.active:last-child > span { + background: #1D62F0; + border-color: #1D62F0; + color: #ffffff; +} +.pagination.pg-info > li.active > a, .pagination.pg-info > li.active:first-child > a, .pagination.pg-info > li.active:last-child > a, .pagination.pg-info > li.active > span, .pagination.pg-info > li.active:first-child > span, .pagination.pg-info > li.active:last-child > span { + background: #23CCEF; + border-color: #23CCEF; + color: #ffffff; +} +.pagination.pg-success > li.active > a, .pagination.pg-success > li.active:first-child > a, .pagination.pg-success > li.active:last-child > a, .pagination.pg-success > li.active > span, .pagination.pg-success > li.active:first-child > span, .pagination.pg-success > li.active:last-child > span { + background: #59d05d; + border-color: #59d05d; + color: #ffffff; +} +.pagination.pg-warning > li.active > a, .pagination.pg-warning > li.active:first-child > a, .pagination.pg-warning > li.active:last-child > a, .pagination.pg-warning > li.active > span, .pagination.pg-warning > li.active:first-child > span, .pagination.pg-warning > li.active:last-child > span { + background: #fbad4c; + border-color: #fbad4c; + color: #ffffff; +} +.pagination.pg-danger > li.active > a, .pagination.pg-danger > li.active:first-child > a, .pagination.pg-danger > li.active:last-child > a, .pagination.pg-danger > li.active > span, .pagination.pg-danger > li.active:first-child > span, .pagination.pg-danger > li.active:last-child > span { + background: #ff646d; + border-color: #ff646d; + color: #ffffff; +} +.pagination.pg-default > li.active > a, .pagination.pg-default > li.active:first-child > a, .pagination.pg-default > li.active:last-child > a, .pagination.pg-default > li.active > span, .pagination.pg-default > li.active:first-child > span, .pagination.pg-default > li.active:last-child > span { + background: #607D8B; + border-color: #607D8B; + color: #ffffff; +} + +/* Slider */ +.slider-default .ui-slider-range { + background: #607D8B; +} + +.slider-primary .ui-slider-range { + background: #1D62F0; +} + +.slider-info .ui-slider-range { + background: #23CCEF; +} + +.slider-success .ui-slider-range { + background: #59d05d; +} + +.slider-warning .ui-slider-range { + background: #fbad4c; +} + +.slider-danger .ui-slider-range { + background: #ff646d; +} + +/* Modal */ +.modal .bg-default .modal-title, .modal .bg-primary .modal-title, .modal .bg-info .modal-title, .modal .bg-success .modal-title, .modal .bg-warning .modal-title, .modal .bg-danger .modal-title { + color: #ffffff !important; +} + +.modal-content { + border-radius: .4rem !important; + border: 0 !important; +} + +/* For all zoom buttons */ +.mapael .map { + position: relative; +} +.mapael .zoomButton { + background-color: #292929; + border: 1px solid #292929; + color: #ffffff; + width: 15px; + height: 15px; + line-height: 12px; + text-align: center; + border-radius: 3px; + cursor: pointer; + position: absolute; + top: 0; + font-weight: bold; + left: 10px; + -webkit-user-select: none; + -khtml-user-select: none; + -moz-user-select: none; + -o-user-select: none; + user-select: none; +} +.mapael .zoomReset { + top: 10px; +} +.mapael .zoomIn { + top: 30px; +} +.mapael .zoomOut { + top: 50px; +} +.mapael .mapTooltip { + position: absolute; + background-color: #474c4b; + moz-opacity: 0.70; + opacity: 0.70; + filter: alpha(opacity=70); + border-radius: 10px; + padding: 10px; + z-index: 1000; + max-width: 200px; + display: none; + color: #ffffff; +} + +/* Responsive */ +@media screen and (max-width: 700px) { + .row-card-no-pd [class*=col-] .card:after { + width: 0px !important; + } + .row-card-no-pd .card { + border-bottom-width: 1px; + } + .row-card-no-pd .card:last-child { + border-bottom-width: 0px; + } +} +@media screen and (min-width: 992px) { + .main-header .logo-header { + line-height: 52px; + } + + .sidebar .scroll-element { + opacity: 0; + transition: all .2s; + } + .sidebar:hover .scroll-element { + opacity: 1; + } +} +@media screen and (max-width: 991px) { + .sidebar { + position: fixed; + left: 0 !important; + right: 0; + -webkit-transform: translate3d(-270px, 0, 0); + -moz-transform: translate3d(-270px, 0, 0); + -o-transform: translate3d(-270px, 0, 0); + -ms-transform: translate3d(-270px, 0, 0); + transform: translate3d(-270px, 0, 0) !important; + transition: all .5s; + } + + .nav_open .sidebar { + -webkit-transform: translate3d(0px, 0, 0); + -moz-transform: translate3d(0px, 0, 0); + -o-transform: translate3d(0px, 0, 0); + -ms-transform: translate3d(0px, 0, 0); + transform: translate3d(0px, 0, 0) !important; + } + + .sidebar .sidebar-wrapper { + padding-top: 0px; + } + + .nav_open { + overflow: hidden !important; + } + .nav_open .main-panel, .nav_open .main-header { + -webkit-transform: translate3d(260px, 0, 0); + -moz-transform: translate3d(260px, 0, 0); + -o-transform: translate3d(260px, 0, 0); + -ms-transform: translate3d(260px, 0, 0); + transform: translate3d(260px, 0, 0) !important; + } + + .main-header { + transition: all .5s; + } + + .main-panel { + width: 100%; + transition: all .5s; + } + .main-panel .content { + padding: 30px 10px; + } + + .main-header .logo-header { + display: flex; + width: 100% !important; + text-align: left; + position: relative; + justify-content: center; + } + .main-header .logo-header .navbar-toggler { + position: absolute; + top: auto; + height: 100%; + left: 15px; + opacity: 1; + } + .main-header .logo-header .more { + opacity: 1; + position: absolute; + right: 15px; + color: #545454; + cursor: pointer; + } + + .nav-search { + width: 100%; + margin-right: 0 !important; + margin-top: 12px; + } + + .navbar-header { + border-top: 1px solid #eee; + position: absolute; + width: 100%; + background: #ffffff; + transform: translate3d(0, -200px, 0) !important; + transition: all .5s; + } + + .topbar_open .navbar-header { + transform: translate3d(0, 54px, 0) !important; + border-bottom: 1px solid #eee; + } + .topbar_open .main-panel { + transform: translate3d(0, 125px, 0) !important; + } + + .nav_open.topbar_open .main-panel { + transform: translate3d(260px, 125px, 0) !important; + } + + .navbar-header .navbar-nav { + width: 100%; + flex-direction: row; + justify-content: center; + margin-left: 0px !important; + margin-top: 10px; + margin-bottom: 10px; + position: relative; + } + .navbar-header .navbar-nav .dropdown { + position: unset; + } + .navbar-header .navbar-nav .dropdown-menu { + position: absolute; + left: 0; + right: 0; + margin: 0 auto; + max-width: 280px; + } + + .profile-pic span { + display: none; + } +} + +/*# sourceMappingURL=ready.css.map */ diff --git a/public/assets/css/ready.css.map b/public/assets/css/ready.css.map new file mode 100644 index 0000000..7a76bff --- /dev/null +++ b/public/assets/css/ready.css.map @@ -0,0 +1,7 @@ +{ +"version": 3, +"mappings": "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", +"sources": ["../sass/ready.scss","../sass/ready/_background.scss","../sass/ready/_outlinefocus.scss","../sass/ready/_typography.scss","../sass/ready/_variables.scss","../sass/ready/plugins/_chartist.scss","../sass/ready/plugins/_jqueryui.scss","../sass/ready/plugins/_jqueryscrollbar.scss","../sass/ready/plugins/_toggle.scss","../sass/ready/_layouts.scss","../sass/ready/_line-awesome.scss","../sass/ready/components/_cards.scss","../sass/ready/components/_inputs.scss","../sass/ready/components/_tables.scss","../sass/ready/components/_navbars.scss","../sass/ready/components/_navsearch.scss","../sass/ready/components/_badges.scss","../sass/ready/components/_dropdowns.scss","../sass/ready/components/_charts.scss","../sass/ready/components/_alerts.scss","../sass/ready/components/_buttons.scss","../sass/ready/components/_navpills.scss","../sass/ready/components/_paginations.scss","../sass/ready/components/_sliders.scss","../sass/ready/components/_modals.scss","../sass/ready/components/_maps.scss","../sass/ready/_responsive.scss"], +"names": [], +"file": "ready.css" +} diff --git a/public/assets/css/ready.min.css b/public/assets/css/ready.min.css new file mode 100644 index 0000000..490fb31 --- /dev/null +++ b/public/assets/css/ready.min.css @@ -0,0 +1,15 @@ +/*! + + ========================================================= + * Ready Bootstrap Dashboard (Bootstrap 4) + ========================================================= + + * Product Page: http://www.themekita.com/ + * Copyright 2018 Theme Kita (http://www.themekita.com/) + * Licensed under MIT () + + ========================================================= + + * The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + + */.ct-golden-section:before,.ct-major-eleventh:before,.ct-major-second:before,.ct-major-seventh:before,.ct-major-sixth:before,.ct-major-tenth:before,.ct-major-third:before,.ct-major-twelfth:before,.ct-minor-second:before,.ct-minor-seventh:before,.ct-minor-third:before,.ct-octave:before,.ct-perfect-fifth:before,.ct-perfect-fourth:before,.ct-square:before{height:0;content:"";float:left}.ct-golden-section:after,.ct-golden-section:before,.ct-major-eleventh:after,.ct-major-eleventh:before,.ct-major-second:after,.ct-major-second:before,.ct-major-seventh:after,.ct-major-seventh:before,.ct-major-sixth:after,.ct-major-sixth:before,.ct-major-tenth:after,.ct-major-tenth:before,.ct-major-third:after,.ct-major-third:before,.ct-major-twelfth:after,.ct-major-twelfth:before,.ct-minor-second:after,.ct-minor-second:before,.ct-minor-seventh:after,.ct-minor-seventh:before,.ct-minor-sixth:before,.ct-minor-third:after,.ct-minor-third:before,.ct-octave:after,.ct-octave:before,.ct-perfect-fifth:after,.ct-perfect-fifth:before,.ct-perfect-fourth:after,.ct-perfect-fourth:before,.ct-square:after,.ct-square:before{content:""}.chartist-tooltip,.ct-area,.ct-line,.ui-state-disabled{pointer-events:none}.sidebar .user .info a:focus,.sidebar .user .info a:hover,.ui-helper-reset{text-decoration:none}.mapael .zoomButton,.toggle-group{-webkit-user-select:none;-moz-user-select:none}.bg-default{background:#607D8B!important}.bg-primary{background:#1D62F0!important}.bg-info{background:#23CCEF!important}.bg-success{background:#59d05d!important}.bg-warning{background:#fbad4c!important}.bg-danger{background:#ff646d!important}:focus{outline:0!important;-webkit-box-shadow:none!important;box-shadow:none!important}.alert,.brand,.btn-simple,.h1,.h2,.h3,.h4,.h5,.h6,.navbar,.td-name,a,body,button.close,h1,h2,h3,h4,h5,h6,p,td{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-family:nunito,sans-serif}body{font-size:14px;color:#575962}.h1,h1{font-size:59px}.h2,h2{font-size:43px}.h3,h3{font-size:35px;margin:20px 0 10px}.h4,h4{font-size:28px;line-height:30px}.h5,h5{font-size:25px;margin-bottom:15px}.h6,h6{font-size:18px;font-weight:600}p{font-size:15px;line-height:1.5;margin-bottom:.7rem}h4.page-title{font-size:22px;font-weight:600;color:#333;line-height:30px;margin-bottom:20px}.text-primary,.text-primary:hover{color:#1D62F0!important}.text-info,.text-info:hover{color:#23CCEF!important}.text-success,.text-success:hover{color:#59d05d!important}.text-warning,.text-warning:hover{color:#fbad4c!important}.text-danger,.text-danger:hover{color:#ff646d!important}label{color:#3f4047!important;font-size:14px!important}.fw-light{font-weight:lighter!important}.fw-normal{font-weight:400!important}.fw-mediumbold{font-weight:500!important}.fw-bold{font-weight:600!important}.fw-extrabold{font-weight:800!important}.ct-label{fill:rgba(0,0,0,.5);color:rgba(0,0,0,.5);font-size:.8rem;line-height:1}.ct-grid-background,.ct-line{fill:none}.ct-chart-bar .ct-label,.ct-chart-line .ct-label{display:block;display:-webkit-box;display:-moz-box;display:-ms-flexbox;display:-webkit-flex;display:flex}.ct-label.ct-horizontal.ct-start{-webkit-box-align:flex-end;-webkit-align-items:flex-end;-ms-flex-align:flex-end;align-items:flex-end;-webkit-box-pack:flex-start;-webkit-justify-content:flex-start;-ms-flex-pack:flex-start;justify-content:flex-start;text-align:left;text-anchor:start}.ct-label.ct-horizontal.ct-end{-webkit-box-align:flex-start;-webkit-align-items:flex-start;-ms-flex-align:flex-start;align-items:flex-start;-webkit-box-pack:flex-start;-webkit-justify-content:flex-start;-ms-flex-pack:flex-start;justify-content:flex-start;text-align:left;text-anchor:start}.ct-label.ct-vertical.ct-start{-webkit-box-align:flex-end;-webkit-align-items:flex-end;-ms-flex-align:flex-end;align-items:flex-end;-webkit-box-pack:flex-end;-webkit-justify-content:flex-end;-ms-flex-pack:flex-end;justify-content:flex-end;text-align:right;text-anchor:end}.ct-label.ct-vertical.ct-end{-webkit-box-align:flex-end;-webkit-align-items:flex-end;-ms-flex-align:flex-end;align-items:flex-end;-webkit-box-pack:flex-start;-webkit-justify-content:flex-start;-ms-flex-pack:flex-start;justify-content:flex-start;text-align:left;text-anchor:start}.ct-chart-bar .ct-label.ct-horizontal.ct-start{-webkit-box-align:flex-end;-webkit-align-items:flex-end;-ms-flex-align:flex-end;align-items:flex-end;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;text-align:center;text-anchor:start}.ct-chart-bar .ct-label.ct-horizontal.ct-end{-webkit-box-align:flex-start;-webkit-align-items:flex-start;-ms-flex-align:flex-start;align-items:flex-start;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;text-align:center;text-anchor:start}.ct-chart-bar.ct-horizontal-bars .ct-label.ct-horizontal.ct-start{-webkit-box-align:flex-end;-webkit-align-items:flex-end;-ms-flex-align:flex-end;align-items:flex-end;-webkit-box-pack:flex-start;-webkit-justify-content:flex-start;-ms-flex-pack:flex-start;justify-content:flex-start;text-align:left;text-anchor:start}.ct-chart-bar.ct-horizontal-bars .ct-label.ct-horizontal.ct-end{-webkit-box-align:flex-start;-webkit-align-items:flex-start;-ms-flex-align:flex-start;align-items:flex-start;-webkit-box-pack:flex-start;-webkit-justify-content:flex-start;-ms-flex-pack:flex-start;justify-content:flex-start;text-align:left;text-anchor:start}.ct-chart-bar.ct-horizontal-bars .ct-label.ct-vertical.ct-start{-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:flex-end;-webkit-justify-content:flex-end;-ms-flex-pack:flex-end;justify-content:flex-end;text-align:right;text-anchor:end}.ct-chart-bar.ct-horizontal-bars .ct-label.ct-vertical.ct-end{-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:flex-start;-webkit-justify-content:flex-start;-ms-flex-pack:flex-start;justify-content:flex-start;text-align:left;text-anchor:end}.ct-grid{stroke:rgba(0,0,0,.2);stroke-width:1px;stroke-dasharray:2px}.ct-point{stroke-width:7px;stroke-linecap:round}.ct-line{stroke-width:3px}.ct-area{stroke:none;fill-opacity:.1}.ct-bar{fill:none;stroke-width:10px}.ct-slice-donut{fill:none;stroke-width:60px}.ct-series-a .ct-bar,.ct-series-a .ct-line,.ct-series-a .ct-point,.ct-series-a .ct-slice-donut{stroke:#1D62F0}.ct-series-a .ct-area,.ct-series-a .ct-slice-donut-solid,.ct-series-a .ct-slice-pie{fill:#1D62F0}.ct-series-b .ct-bar,.ct-series-b .ct-line,.ct-series-b .ct-point,.ct-series-b .ct-slice-donut{stroke:#ff646d}.ct-series-b .ct-area,.ct-series-b .ct-slice-donut-solid,.ct-series-b .ct-slice-pie{fill:#ff646d}.ct-series-c .ct-bar,.ct-series-c .ct-line,.ct-series-c .ct-point,.ct-series-c .ct-slice-donut{stroke:#fbad4c}.ct-series-c .ct-area,.ct-series-c .ct-slice-donut-solid,.ct-series-c .ct-slice-pie{fill:#fbad4c}.ct-series-d .ct-bar,.ct-series-d .ct-line,.ct-series-d .ct-point,.ct-series-d .ct-slice-donut{stroke:#9368E9}.ct-series-d .ct-area,.ct-series-d .ct-slice-donut-solid,.ct-series-d .ct-slice-pie{fill:#9368E9}.ct-series-e .ct-bar,.ct-series-e .ct-line,.ct-series-e .ct-point,.ct-series-e .ct-slice-donut{stroke:#87CB16}.ct-series-e .ct-area,.ct-series-e .ct-slice-donut-solid,.ct-series-e .ct-slice-pie{fill:#87CB16}.ct-series-f .ct-bar,.ct-series-f .ct-line,.ct-series-f .ct-point,.ct-series-f .ct-slice-donut{stroke:#59922b}.ct-series-f .ct-area,.ct-series-f .ct-slice-donut-solid,.ct-series-f .ct-slice-pie{fill:#59922b}.ct-series-g .ct-bar,.ct-series-g .ct-line,.ct-series-g .ct-point,.ct-series-g .ct-slice-donut{stroke:#0544d3}.ct-series-g .ct-area,.ct-series-g .ct-slice-donut-solid,.ct-series-g .ct-slice-pie{fill:#0544d3}.ct-series-h .ct-bar,.ct-series-h .ct-line,.ct-series-h .ct-point,.ct-series-h .ct-slice-donut{stroke:#6b0392}.ct-series-h .ct-area,.ct-series-h .ct-slice-donut-solid,.ct-series-h .ct-slice-pie{fill:#6b0392}.ct-series-i .ct-bar,.ct-series-i .ct-line,.ct-series-i .ct-point,.ct-series-i .ct-slice-donut{stroke:#f05b4f}.ct-series-i .ct-area,.ct-series-i .ct-slice-donut-solid,.ct-series-i .ct-slice-pie{fill:#f05b4f}.ct-series-j .ct-bar,.ct-series-j .ct-line,.ct-series-j .ct-point,.ct-series-j .ct-slice-donut{stroke:#dda458}.ct-series-j .ct-area,.ct-series-j .ct-slice-donut-solid,.ct-series-j .ct-slice-pie{fill:#dda458}.ct-series-k .ct-bar,.ct-series-k .ct-line,.ct-series-k .ct-point,.ct-series-k .ct-slice-donut{stroke:#eacf7d}.ct-series-k .ct-area,.ct-series-k .ct-slice-donut-solid,.ct-series-k .ct-slice-pie{fill:#eacf7d}.ct-series-l .ct-bar,.ct-series-l .ct-line,.ct-series-l .ct-point,.ct-series-l .ct-slice-donut{stroke:#86797d}.ct-series-l .ct-area,.ct-series-l .ct-slice-donut-solid,.ct-series-l .ct-slice-pie{fill:#86797d}.ct-series-m .ct-bar,.ct-series-m .ct-line,.ct-series-m .ct-point,.ct-series-m .ct-slice-donut{stroke:#b2c326}.ct-series-m .ct-area,.ct-series-m .ct-slice-donut-solid,.ct-series-m .ct-slice-pie{fill:#b2c326}.ct-series-n .ct-bar,.ct-series-n .ct-line,.ct-series-n .ct-point,.ct-series-n .ct-slice-donut{stroke:#6188e2}.ct-series-n .ct-area,.ct-series-n .ct-slice-donut-solid,.ct-series-n .ct-slice-pie{fill:#6188e2}.ct-series-o .ct-bar,.ct-series-o .ct-line,.ct-series-o .ct-point,.ct-series-o .ct-slice-donut{stroke:#a748ca}.ct-series-o .ct-area,.ct-series-o .ct-slice-donut-solid,.ct-series-o .ct-slice-pie{fill:#a748ca}.ct-square{display:block;position:relative;width:100%}.ct-square:before{display:block;width:0;padding-bottom:100%}.ct-square:after{display:table;clear:both}.ct-square>svg{display:block;position:absolute;top:0;left:0}.ct-minor-second{display:block;position:relative;width:100%}.ct-minor-second:before{display:block;width:0;padding-bottom:93.75%}.ct-minor-second:after{display:table;clear:both}.ct-minor-second>svg{display:block;position:absolute;top:0;left:0}.ct-major-second{display:block;position:relative;width:100%}.ct-major-second:before{display:block;width:0;padding-bottom:88.8888888889%}.ct-major-second:after{display:table;clear:both}.ct-major-second>svg{display:block;position:absolute;top:0;left:0}.ct-minor-third{display:block;position:relative;width:100%}.ct-minor-third:before{display:block;width:0;padding-bottom:83.3333333333%}.ct-minor-third:after{display:table;clear:both}.ct-minor-third>svg{display:block;position:absolute;top:0;left:0}.ct-major-third{display:block;position:relative;width:100%}.ct-major-third:before{display:block;width:0;padding-bottom:80%}.ct-major-third:after{display:table;clear:both}.ct-major-third>svg{display:block;position:absolute;top:0;left:0}.ct-perfect-fourth{display:block;position:relative;width:100%}.ct-perfect-fourth:before{display:block;width:0;padding-bottom:75%}.ct-perfect-fourth:after{display:table;clear:both}.ct-perfect-fourth>svg{display:block;position:absolute;top:0;left:0}.ct-perfect-fifth{display:block;position:relative;width:100%}.ct-perfect-fifth:before{display:block;width:0;padding-bottom:66.6666666667%}.ct-perfect-fifth:after{display:table;clear:both}.ct-perfect-fifth>svg{display:block;position:absolute;top:0;left:0}.ct-minor-sixth{display:block;position:relative;width:100%}.ct-minor-sixth:before{display:block;float:left;width:0;height:0;padding-bottom:62.5%}.ct-minor-sixth:after{content:"";display:table;clear:both}.ct-minor-sixth>svg{display:block;position:absolute;top:0;left:0}.ct-golden-section{display:block;position:relative;width:100%}.ct-golden-section:before{display:block;width:0;padding-bottom:61.804697157%}.ct-golden-section:after{display:table;clear:both}.ct-golden-section>svg{display:block;position:absolute;top:0;left:0}.ct-major-sixth{display:block;position:relative;width:100%}.ct-major-sixth:before{display:block;width:0;padding-bottom:60%}.ct-major-sixth:after{display:table;clear:both}.ct-major-sixth>svg{display:block;position:absolute;top:0;left:0}.ct-minor-seventh{display:block;position:relative;width:100%}.ct-minor-seventh:before{display:block;width:0;padding-bottom:56.25%}.ct-minor-seventh:after{display:table;clear:both}.ct-minor-seventh>svg{display:block;position:absolute;top:0;left:0}.ct-major-seventh{display:block;position:relative;width:100%}.ct-major-seventh:before{display:block;width:0;padding-bottom:53.3333333333%}.ct-major-seventh:after{display:table;clear:both}.ct-major-seventh>svg{display:block;position:absolute;top:0;left:0}.ct-octave{display:block;position:relative;width:100%}.ct-octave:before{display:block;width:0;padding-bottom:50%}.ct-octave:after{display:table;clear:both}.ct-octave>svg{display:block;position:absolute;top:0;left:0}.ct-major-tenth{display:block;position:relative;width:100%}.ct-major-tenth:before{display:block;width:0;padding-bottom:40%}.ct-major-tenth:after{display:table;clear:both}.ct-major-tenth>svg{display:block;position:absolute;top:0;left:0}.ct-major-eleventh{display:block;position:relative;width:100%}.ct-major-eleventh:before{display:block;width:0;padding-bottom:37.5%}.ct-major-eleventh:after{display:table;clear:both}.ct-major-eleventh>svg{display:block;position:absolute;top:0;left:0}.ct-major-twelfth{display:block;position:relative;width:100%}.ct-major-twelfth:before{display:block;width:0;padding-bottom:33.3333333333%}.ct-major-twelfth:after{display:table;clear:both}.ct-major-twelfth>svg{display:block;position:absolute;top:0;left:0}.ct-double-octave{display:block;position:relative;width:100%}.chartist-tooltip:before,.ct-double-octave:before{width:0;height:0;content:""}.ct-double-octave:before{display:block;float:left;padding-bottom:25%}.ct-double-octave:after{content:"";display:table;clear:both}.ct-double-octave>svg{display:block;position:absolute;top:0;left:0}.chartist-tooltip{position:absolute;display:inline-block;opacity:0;min-width:3em;padding:.25em;background:rgba(0,0,0,.77);color:#fff;font-weight:600;text-align:center;z-index:1;-webkit-transition:opacity .2s linear;-moz-transition:opacity .2s linear;-o-transition:opacity .2s linear;transition:opacity .2s linear}.chartist-tooltip:before{position:absolute;top:100%;left:50%;margin-left:-5px;border:5px solid transparent;border-top-color:rgba(0,0,0,.77)}.chartist-tooltip-value{font-size:14px}.chartist-tooltip.tooltip-show{opacity:1}.ui-draggable-handle{-ms-touch-action:none;touch-action:none}.ui-helper-hidden{display:none}.ui-helper-hidden-accessible{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.ui-helper-reset{margin:0;padding:0;border:0;outline:0;line-height:1.3;font-size:100%;list-style:none}.ui-helper-clearfix:after,.ui-helper-clearfix:before{content:"";display:table;border-collapse:collapse}.ui-helper-clearfix:after{clear:both}.ui-helper-zfix{width:100%;height:100%;top:0;left:0;position:absolute;opacity:0;filter:Alpha(Opacity=0)}.ui-front{z-index:100}.ui-state-disabled{cursor:default!important}.ui-icon{display:inline-block;vertical-align:middle;margin-top:-.25em;position:relative;text-indent:-99999px;overflow:hidden;background-repeat:no-repeat}.ui-widget-icon-block{left:50%;margin-left:-8px;display:block}.ui-widget-overlay{position:fixed;top:0;left:0;width:100%;height:100%}.ui-resizable{position:relative}.ui-resizable-handle{position:absolute;font-size:.1px;display:block;-ms-touch-action:none;touch-action:none}.ui-resizable-autohide .ui-resizable-handle,.ui-resizable-disabled .ui-resizable-handle{display:none}.ui-resizable-n{cursor:n-resize;height:7px;width:100%;top:-5px;left:0}.ui-resizable-s{cursor:s-resize;height:7px;width:100%;bottom:-5px;left:0}.ui-resizable-e{cursor:e-resize;width:7px;right:-5px;top:0;height:100%}.ui-resizable-w{cursor:w-resize;width:7px;left:-5px;top:0;height:100%}.ui-resizable-se{cursor:se-resize;width:12px;height:12px;right:1px;bottom:1px}.ui-resizable-sw{cursor:sw-resize;width:9px;height:9px;left:-5px;bottom:-5px}.ui-resizable-nw{cursor:nw-resize;width:9px;height:9px;left:-5px;top:-5px}.ui-resizable-ne{cursor:ne-resize;width:9px;height:9px;right:-5px;top:-5px}.ui-selectable{-ms-touch-action:none;touch-action:none}.ui-selectable-helper{position:absolute;z-index:100;border:1px dotted #000}.ui-sortable-handle{-ms-touch-action:none;touch-action:none}.ui-slider{position:relative;text-align:left;background:#ddd}.ui-slider .ui-slider-handle{position:absolute;z-index:2;width:1em;height:1em;cursor:default;-ms-touch-action:none;touch-action:none}.ui-slider .ui-slider-range{position:absolute;z-index:1;font-size:.7em;display:block;border:0;background-position:0 0}.ui-slider.ui-state-disabled .ui-slider-handle,.ui-slider.ui-state-disabled .ui-slider-range{filter:inherit}.ui-slider-horizontal{height:.4em}.ui-slider-horizontal .ui-slider-handle{top:-.4em;margin-left:-.6em}.ui-slider-horizontal .ui-slider-range{top:0;height:100%}.ui-slider-horizontal .ui-slider-range-min{left:0}.ui-slider-horizontal .ui-slider-range-max{right:0}.ui-slider-vertical{width:.8em;height:100px}.ui-slider-vertical .ui-slider-handle{left:-.3em;margin-left:0;margin-bottom:-.6em}.ui-slider-vertical .ui-slider-range{left:0;width:100%}.ui-slider-vertical .ui-slider-range-min{bottom:0}.ui-slider-vertical .ui-slider-range-max{top:0}.ui-slider-handle,.ui-slider-handle:focus{background:#fff;background:-moz-linear-gradient(top,#fff 0,#f7f7f7 100%);background:-webkit-gradient(linear,left top,left bottom,color-stop(0,#fff),color-stop(100%,#f7f7f7));background:-webkit-linear-gradient(top,#fff 0,#f7f7f7 100%);background:-o-linear-gradient(top,#fff 0,#f7f7f7 100%);background:-ms-linear-gradient(top,#fff 0,#f7f7f7 100%);background:linear-gradient(to bottom,#fff 0,#f7f7f7 100%);border-radius:50px;box-shadow:0 1px 4px 0 #9191ab!important}.scroll-wrapper{overflow:hidden!important;padding:0!important;position:relative}.scroll-wrapper>.scroll-content{border:none!important;box-sizing:content-box!important;height:auto;left:0;margin:0;max-height:none;max-width:none!important;overflow:scroll!important;padding:0;position:relative!important;top:0;width:auto!important}.scroll-element,.scroll-element div{box-sizing:content-box}.scroll-wrapper>.scroll-content::-webkit-scrollbar{height:0;width:0}.scroll-element{display:none}.scroll-element.scroll-x.scroll-scrollx_visible,.scroll-element.scroll-y.scroll-scrolly_visible{display:block}.scroll-element .scroll-arrow,.scroll-element .scroll-bar{cursor:default}.scroll-textarea{border:1px solid #ccc;border-top-color:#999}.scroll-textarea>.scroll-content{overflow:hidden!important}.scroll-textarea>.scroll-content>textarea{border:none!important;box-sizing:border-box;height:100%!important;margin:0;max-height:none!important;max-width:none!important;overflow:scroll!important;outline:0;padding:2px;position:relative!important;top:0;width:100%!important}.scrollbar-inner>.scroll-element,.scrollbar-inner>.scroll-element div,.scrollbar-outer>.scroll-element,.scrollbar-outer>.scroll-element div{margin:0;padding:0;position:absolute;z-index:10}.scrollbar-inner>.scroll-element .scroll-element_outer,.scrollbar-outer>.scroll-element .scroll-element_outer{overflow:hidden}.scroll-textarea>.scroll-content>textarea::-webkit-scrollbar{height:0;width:0}.scrollbar-inner>.scroll-element{border:none}.scrollbar-inner>.scroll-element div{border:none;display:block;height:100%;left:0;top:0;width:100%}.scrollbar-inner>.scroll-element.scroll-x{bottom:2px;height:8px;left:0;width:100%}.scrollbar-inner>.scroll-element.scroll-x.scroll-scrolly_visible .scroll-element_size,.scrollbar-inner>.scroll-element.scroll-x.scroll-scrolly_visible .scroll-element_track{left:-12px}.scrollbar-inner>.scroll-element.scroll-y{height:100%;right:2px;top:0;width:8px}.scrollbar-inner>.scroll-element.scroll-y.scroll-scrollx_visible .scroll-element_size,.scrollbar-inner>.scroll-element.scroll-y.scroll-scrollx_visible .scroll-element_track{top:-12px}.scrollbar-inner>.scroll-element .scroll-bar,.scrollbar-inner>.scroll-element .scroll-element_outer,.scrollbar-inner>.scroll-element .scroll-element_track{-webkit-border-radius:8px;-moz-border-radius:8px;border-radius:8px}.scrollbar-inner>.scroll-element .scroll-bar{-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=40)";filter:alpha(opacity=40);opacity:.4}.scrollbar-inner>.scroll-element .scroll-element_track{-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=40)";filter:alpha(opacity=40);opacity:.4;background-color:#e0e0e0}.scrollbar-inner>.scroll-element .scroll-bar{background-color:#c2c2c2}.scrollbar-inner>.scroll-element.scroll-draggable .scroll-bar,.scrollbar-inner>.scroll-element:hover .scroll-bar{background-color:#919191}.scrollbar-outer>.scroll-element{border:none;background-color:#fff}.scrollbar-outer>.scroll-element div{border:none;display:block;height:100%;left:0;top:0;width:100%}.scrollbar-outer>.scroll-element.scroll-x{bottom:0;height:12px;left:0;width:100%}.scrollbar-outer>.scroll-element.scroll-y{height:100%;right:0;top:0;width:12px}.scrollbar-outer>.scroll-element.scroll-x .scroll-element_outer{height:8px;top:2px}.scrollbar-outer>.scroll-element.scroll-y .scroll-element_outer{left:2px;width:8px}.scrollbar-outer>.scroll-element .scroll-element_track{background-color:#eee}.scrollbar-outer>.scroll-element .scroll-bar,.scrollbar-outer>.scroll-element .scroll-element_outer,.scrollbar-outer>.scroll-element .scroll-element_track{-webkit-border-radius:8px;-moz-border-radius:8px;border-radius:8px}.scrollbar-outer>.scroll-element .scroll-bar{background-color:#d9d9d9}.scrollbar-outer>.scroll-element .scroll-bar:hover{background-color:#c2c2c2}.scrollbar-outer>.scroll-element.scroll-draggable .scroll-bar{background-color:#919191}.scrollbar-outer>.scroll-content.scroll-scrolly_visible{left:-12px;margin-left:12px}.scrollbar-outer>.scroll-element.scroll-x.scroll-scrolly_visible .scroll-element_size,.scrollbar-outer>.scroll-element.scroll-x.scroll-scrolly_visible .scroll-element_track{left:-14px}.scrollbar-outer>.scroll-content.scroll-scrollx_visible{top:-12px;margin-top:12px}.scrollbar-macosx>.scroll-element,.scrollbar-macosx>.scroll-element div{background:0 0;border:none;margin:0;padding:0;position:absolute;z-index:10}.scrollbar-outer>.scroll-element.scroll-y.scroll-scrollx_visible .scroll-element_size,.scrollbar-outer>.scroll-element.scroll-y.scroll-scrollx_visible .scroll-element_track{top:-14px}.scrollbar-outer>.scroll-element.scroll-x .scroll-bar{min-width:10px}.scrollbar-outer>.scroll-element.scroll-y .scroll-bar{min-height:10px}.scrollbar-macosx>.scroll-element div{display:block;height:100%;left:0;top:0;width:100%}.scrollbar-macosx>.scroll-element .scroll-element_track{display:none}.scrollbar-macosx>.scroll-element .scroll-bar{background-color:#6C6E71;display:block;-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";filter:alpha(opacity=0);opacity:0;-webkit-border-radius:7px;-moz-border-radius:7px;border-radius:7px;-webkit-transition:opacity .2s linear;-moz-transition:opacity .2s linear;-o-transition:opacity .2s linear;-ms-transition:opacity .2s linear;transition:opacity .2s linear}.scrollbar-macosx:hover>.scroll-element .scroll-bar,.scrollbar-macosx>.scroll-element.scroll-draggable .scroll-bar{-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=70)";filter:alpha(opacity=70);opacity:.7}.scrollbar-macosx>.scroll-element.scroll-x{bottom:0;height:0;left:0;min-width:100%;overflow:visible;width:100%}.scrollbar-light>.scroll-element,.scrollbar-light>.scroll-element div{border:none;margin:0;overflow:hidden;padding:0;position:absolute;z-index:10}.scrollbar-macosx>.scroll-element.scroll-y{height:100%;min-height:100%;right:0;top:0;width:0}.scrollbar-macosx>.scroll-element.scroll-x .scroll-bar{height:7px;min-width:10px;top:-9px}.scrollbar-macosx>.scroll-element.scroll-y .scroll-bar{left:-9px;min-height:10px;width:7px}.scrollbar-macosx>.scroll-element.scroll-x .scroll-element_outer{left:2px}.scrollbar-macosx>.scroll-element.scroll-x .scroll-element_size{left:-4px}.scrollbar-macosx>.scroll-element.scroll-y .scroll-element_outer{top:2px}.scrollbar-macosx>.scroll-element.scroll-y .scroll-element_size{top:-4px}.scrollbar-macosx>.scroll-element.scroll-x.scroll-scrolly_visible .scroll-element_size{left:-11px}.scrollbar-macosx>.scroll-element.scroll-y.scroll-scrollx_visible .scroll-element_size{top:-11px}.scrollbar-light>.scroll-element{background-color:#fff}.scrollbar-light>.scroll-element div{display:block;height:100%;left:0;top:0;width:100%}.scrollbar-light>.scroll-element .scroll-element_outer{-webkit-border-radius:10px;-moz-border-radius:10px;border-radius:10px}.scrollbar-light>.scroll-element .scroll-element_size{background:-moz-linear-gradient(left,#dbdbdb 0,#e8e8e8 100%);background:-webkit-gradient(linear,left top,right top,color-stop(0,#dbdbdb),color-stop(100%,#e8e8e8));background:-webkit-linear-gradient(left,#dbdbdb 0,#e8e8e8 100%);background:-o-linear-gradient(left,#dbdbdb 0,#e8e8e8 100%);background:-ms-linear-gradient(left,#dbdbdb 0,#e8e8e8 100%);background:linear-gradient(to right,#dbdbdb 0,#e8e8e8 100%);-webkit-border-radius:10px;-moz-border-radius:10px;border-radius:10px}.scrollbar-light>.scroll-element.scroll-x{bottom:0;height:17px;left:0;min-width:100%;width:100%}.scrollbar-light>.scroll-element.scroll-y{height:100%;min-height:100%;right:0;top:0;width:17px}.scrollbar-light>.scroll-element .scroll-bar{background:-moz-linear-gradient(left,#fefefe 0,#f5f5f5 100%);background:-webkit-gradient(linear,left top,right top,color-stop(0,#fefefe),color-stop(100%,#f5f5f5));background:-webkit-linear-gradient(left,#fefefe 0,#f5f5f5 100%);background:-o-linear-gradient(left,#fefefe 0,#f5f5f5 100%);background:-ms-linear-gradient(left,#fefefe 0,#f5f5f5 100%);background:linear-gradient(to right,#fefefe 0,#f5f5f5 100%);border:1px solid #dbdbdb;-webkit-border-radius:10px;-moz-border-radius:10px;border-radius:10px}.scrollbar-light>.scroll-content.scroll-scrolly_visible{left:-17px;margin-left:17px}.scrollbar-light>.scroll-content.scroll-scrollx_visible{top:-17px;margin-top:17px}.scrollbar-rail>.scroll-element,.scrollbar-rail>.scroll-element div{border:none;margin:0;padding:0;position:absolute;z-index:10;overflow:hidden}.scrollbar-light>.scroll-element.scroll-x .scroll-bar{height:10px;min-width:10px;top:0}.scrollbar-light>.scroll-element.scroll-y .scroll-bar{left:0;min-height:10px;width:10px}.scrollbar-light>.scroll-element.scroll-x .scroll-element_outer{height:12px;left:2px;top:2px}.scrollbar-light>.scroll-element.scroll-x .scroll-element_size{left:-4px}.scrollbar-light>.scroll-element.scroll-y .scroll-element_outer{left:2px;top:2px;width:12px}.scrollbar-light>.scroll-element.scroll-x.scroll-scrolly_visible .scroll-element_size,.scrollbar-light>.scroll-element.scroll-x.scroll-scrolly_visible .scroll-element_track{left:-19px}.scrollbar-light>.scroll-element.scroll-y .scroll-element_size{top:-4px}.scrollbar-light>.scroll-element.scroll-y.scroll-scrollx_visible .scroll-element_size,.scrollbar-light>.scroll-element.scroll-y.scroll-scrollx_visible .scroll-element_track{top:-19px}.scrollbar-rail>.scroll-element{background-color:#fff}.scrollbar-rail>.scroll-element div{display:block;height:100%;left:0;top:0;width:100%}.scrollbar-rail>.scroll-element .scroll-element_size{background-color:#999;background-color:rgba(0,0,0,.3)}.scrollbar-rail>.scroll-element .scroll-element_outer:hover .scroll-element_size{background-color:#666;background-color:rgba(0,0,0,.5)}.scrollbar-rail>.scroll-element.scroll-x{bottom:0;height:12px;left:0;min-width:100%;padding:3px 0 2px;width:100%}.scrollbar-rail>.scroll-element.scroll-y{height:100%;min-height:100%;padding:0 2px 0 3px;right:0;top:0;width:12px}.scrollbar-rail>.scroll-element .scroll-bar{background-color:#d0b9a0;-webkit-border-radius:2px;-moz-border-radius:2px;border-radius:2px;box-shadow:1px 1px 3px rgba(0,0,0,.5)}.scrollbar-rail>.scroll-element .scroll-element_outer:hover .scroll-bar{box-shadow:1px 1px 3px rgba(0,0,0,.6)}.scrollbar-rail>.scroll-content.scroll-scrolly_visible{left:-17px;margin-left:17px}.scrollbar-rail>.scroll-content.scroll-scrollx_visible{margin-top:17px;top:-17px}.scrollbar-dynamic>.scroll-element,.scrollbar-dynamic>.scroll-element div{background:0 0;border:none;margin:0;padding:0;position:absolute;z-index:10}.scrollbar-rail>.scroll-element.scroll-x .scroll-bar{height:10px;min-width:10px;top:1px}.scrollbar-rail>.scroll-element.scroll-y .scroll-bar{left:1px;min-height:10px;width:10px}.scrollbar-rail>.scroll-element.scroll-x .scroll-element_outer{height:15px;left:5px}.scrollbar-rail>.scroll-element.scroll-x .scroll-element_size{height:2px;left:-10px;top:5px}.scrollbar-rail>.scroll-element.scroll-y .scroll-element_outer{top:5px;width:15px}.scrollbar-rail>.scroll-element.scroll-y .scroll-element_size{left:5px;top:-10px;width:2px}.scrollbar-rail>.scroll-element.scroll-x.scroll-scrolly_visible .scroll-element_size,.scrollbar-rail>.scroll-element.scroll-x.scroll-scrolly_visible .scroll-element_track{left:-25px}.scrollbar-rail>.scroll-element.scroll-y.scroll-scrollx_visible .scroll-element_size,.scrollbar-rail>.scroll-element.scroll-y.scroll-scrollx_visible .scroll-element_track{top:-25px}.scrollbar-dynamic>.scroll-element div{display:block;height:100%;left:0;top:0;width:100%}.scrollbar-dynamic>.scroll-element.scroll-x{bottom:2px;height:7px;left:0;min-width:100%;width:100%}.scrollbar-dynamic>.scroll-element.scroll-y{height:100%;min-height:100%;right:2px;top:0;width:7px}.scrollbar-dynamic>.scroll-element .scroll-element_outer{opacity:.3;-webkit-border-radius:12px;-moz-border-radius:12px;border-radius:12px}.scrollbar-dynamic>.scroll-element .scroll-element_size{background-color:#ccc;opacity:0;-webkit-border-radius:12px;-moz-border-radius:12px;border-radius:12px;-webkit-transition:opacity .2s;-moz-transition:opacity .2s;-o-transition:opacity .2s;-ms-transition:opacity .2s;transition:opacity .2s}.scrollbar-dynamic>.scroll-element .scroll-bar{background-color:#6c6e71;-webkit-border-radius:7px;-moz-border-radius:7px;border-radius:7px}.scrollbar-dynamic>.scroll-element.scroll-x .scroll-bar{bottom:0;height:7px;min-width:24px;top:auto}.scrollbar-dynamic>.scroll-element.scroll-y .scroll-bar{left:auto;min-height:24px;right:0;width:7px}.scrollbar-dynamic>.scroll-element.scroll-x .scroll-element_outer{bottom:0;top:auto;left:2px;-webkit-transition:height .2s;-moz-transition:height .2s;-o-transition:height .2s;-ms-transition:height .2s;transition:height .2s}.scrollbar-dynamic>.scroll-element.scroll-y .scroll-element_outer{left:auto;right:0;top:2px;-webkit-transition:width .2s;-moz-transition:width .2s;-o-transition:width .2s;-ms-transition:width .2s;transition:width .2s}.scrollbar-dynamic>.scroll-element.scroll-x .scroll-element_size{left:-4px}.scrollbar-dynamic>.scroll-element.scroll-y .scroll-element_size{top:-4px}.scrollbar-dynamic>.scroll-element.scroll-x.scroll-scrolly_visible .scroll-element_size{left:-11px}.scrollbar-dynamic>.scroll-element.scroll-y.scroll-scrollx_visible .scroll-element_size{top:-11px}.scrollbar-dynamic>.scroll-element.scroll-draggable .scroll-element_outer,.scrollbar-dynamic>.scroll-element:hover .scroll-element_outer{overflow:hidden;-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=70)";filter:alpha(opacity=70);opacity:.7}.scrollbar-dynamic>.scroll-element.scroll-draggable .scroll-element_outer .scroll-element_size,.scrollbar-dynamic>.scroll-element:hover .scroll-element_outer .scroll-element_size{opacity:1}.scrollbar-dynamic>.scroll-element.scroll-draggable .scroll-element_outer .scroll-bar,.scrollbar-dynamic>.scroll-element:hover .scroll-element_outer .scroll-bar{height:100%;width:100%;-webkit-border-radius:12px;-moz-border-radius:12px;border-radius:12px}.scrollbar-chrome>.scroll-element,.scrollbar-chrome>.scroll-element div{border:none;margin:0;padding:0;position:absolute;z-index:10;overflow:hidden}.scrollbar-dynamic>.scroll-element.scroll-x.scroll-draggable .scroll-element_outer,.scrollbar-dynamic>.scroll-element.scroll-x:hover .scroll-element_outer{height:20px;min-height:7px}.scrollbar-dynamic>.scroll-element.scroll-y.scroll-draggable .scroll-element_outer,.scrollbar-dynamic>.scroll-element.scroll-y:hover .scroll-element_outer{min-width:7px;width:20px}.scrollbar-chrome>.scroll-element{background-color:#fff}.scrollbar-chrome>.scroll-element div{display:block;height:100%;left:0;top:0;width:100%}.scrollbar-chrome>.scroll-element .scroll-element_track{background:#f1f1f1;border:1px solid #dbdbdb}.scrollbar-chrome>.scroll-element.scroll-x{bottom:0;height:16px;left:0;min-width:100%;width:100%}.scrollbar-chrome>.scroll-element.scroll-y{height:100%;min-height:100%;right:0;top:0;width:16px}.scrollbar-chrome>.scroll-element .scroll-bar{background-color:#d9d9d9;border:1px solid #bdbdbd;cursor:default;-webkit-border-radius:2px;-moz-border-radius:2px;border-radius:2px}.scrollbar-chrome>.scroll-element .scroll-bar:hover{background-color:#c2c2c2;border-color:#a9a9a9}.scrollbar-chrome>.scroll-element.scroll-draggable .scroll-bar{background-color:#919191;border-color:#7e7e7e}.scrollbar-chrome>.scroll-content.scroll-scrolly_visible{left:-16px;margin-left:16px}.scrollbar-chrome>.scroll-content.scroll-scrollx_visible{top:-16px;margin-top:16px}.scrollbar-chrome>.scroll-element.scroll-x .scroll-bar{height:8px;min-width:10px;top:3px}.scrollbar-chrome>.scroll-element.scroll-y .scroll-bar{left:3px;min-height:10px;width:8px}.scrollbar-chrome>.scroll-element.scroll-x .scroll-element_outer{border-left:1px solid #dbdbdb}.scrollbar-chrome>.scroll-element.scroll-x .scroll-element_track{height:14px;left:-3px}.scrollbar-chrome>.scroll-element.scroll-x .scroll-element_size{height:14px;left:-4px}.scrollbar-chrome>.scroll-element.scroll-x.scroll-scrolly_visible .scroll-element_size,.scrollbar-chrome>.scroll-element.scroll-x.scroll-scrolly_visible .scroll-element_track{left:-19px}.scrollbar-chrome>.scroll-element.scroll-y .scroll-element_outer{border-top:1px solid #dbdbdb}.scrollbar-chrome>.scroll-element.scroll-y .scroll-element_track{top:-3px;width:14px}.scrollbar-chrome>.scroll-element.scroll-y .scroll-element_size{top:-4px;width:14px}.scrollbar-chrome>.scroll-element.scroll-y.scroll-scrollx_visible .scroll-element_size,.scrollbar-chrome>.scroll-element.scroll-y.scroll-scrollx_visible .scroll-element_track{top:-19px}.checkbox label .toggle,.checkbox-inline .toggle{margin-left:-20px;margin-right:5px}.toggle{position:relative;overflow:hidden}.toggle-group,.toggle-off,.toggle-on{position:absolute;top:0;bottom:0}.toggle input[type=checkbox]{display:none}.toggle-group{width:200%;left:0;transition:left .35s;-webkit-transition:left .35s}.toggle.off .toggle-group{left:-100%}.toggle-on{left:0;right:50%;margin:0;border:0;border-radius:0}.toggle-off{left:50%;right:0;margin:0;border:0;border-radius:0}.toggle-handle{position:relative;margin:0 auto;padding-top:0;padding-bottom:0;height:100%;width:0;border-width:0 1px}.toggle.btn{min-width:59px;min-height:34px}.toggle-on.btn{padding-right:24px}.toggle-off.btn{padding-left:24px}.toggle.btn-lg{min-width:79px;min-height:45px}.toggle-on.btn-lg{padding-right:31px}.toggle-off.btn-lg{padding-left:31px}.toggle-handle.btn-lg{width:40px}.toggle.btn-sm{min-width:50px;min-height:30px}.toggle-on.btn-sm{padding-right:20px}.toggle-off.btn-sm{padding-left:20px}.toggle.btn-xs{min-width:35px;min-height:22px}.wrapper,body{min-height:100vh;position:relative}.toggle-on.btn-xs{padding-right:12px}.toggle-off.btn-xs{padding-left:12px}.wrapper{top:0;height:100vh}.main-header{min-height:55px;width:100%;background:#fff;position:fixed;z-index:1001;border-bottom:1px solid #eee}.main-header .logo-header{float:left;width:260px;height:55px;line-height:55px;border-right:1px solid #eee;color:#333;font-size:18px;font-weight:600;padding-left:25px;padding-right:25px;z-index:1001;display:inline-block}.main-header .logo-header a.logo{color:#575962}.main-header .logo-header .navbar-toggler{padding-left:0;padding-right:0;opacity:0}.main-header .logo-header .navbar-toggler .navbar-toggler-icon{background:url(../img/menu2.png);background-size:cover;height:1em;width:1em;opacity:.8}.main-header .logo-header .more{background:0 0;border:0;font-size:26px;padding:0;opacity:0}.sidebar{position:fixed;top:0;bottom:0;left:0;width:260px;display:block;z-index:1;color:#fff;font-weight:200;background:center center #fff;background-size:cover;border-right:1px solid #eee;box-shadow:6px 1px 20px rgba(69,65,78,.1)}.sidebar .user{margin-top:12.5px;padding-left:25px;padding-right:25px;padding-bottom:12.5px;border-bottom:1px solid #eee;display:block}.sidebar .user .photo{width:40px;height:40px;overflow:hidden;float:left;margin-right:11px;z-index:5;border-radius:50%}.sidebar .user .photo img{width:100%;height:100%}.sidebar .user .info a{white-space:nowrap;display:block;position:relative}.sidebar .user .info a>span{font-size:14px;font-weight:600;color:#777;letter-spacing:.04em;display:flex;flex-direction:column}.sidebar .user .info a>span .user-level{color:#555;font-weight:700;font-size:13px;letter-spacing:.05em;margin-top:5px}.sidebar .user .info a .link-collapse{padding:7px 0}.sidebar .user .info .caret{position:absolute;top:17px;right:0;border-top-color:#777}.sidebar .sidebar-wrapper{position:relative;max-height:calc(100vh - 75px);min-height:100%;overflow:auto;width:260px;z-index:4;padding-top:55px;padding-bottom:100px}.sidebar .nav{display:block;float:none;margin-top:20px}.sidebar .nav .nav-item{display:list-item}.sidebar .nav .nav-item.active a{color:#575962;font-weight:700}.sidebar .nav .nav-item.active a:before,.sidebar .nav .nav-item.active:hover a:before{background:#1d7af3;opacity:1!important;position:absolute;z-index:1;width:3px;height:100%;content:'';left:0;top:0}.sidebar .nav .nav-item.active a i{color:#4d7cfe}.sidebar .nav .nav-item a{display:flex;align-items:center;color:#83848a;padding:13px 25px;width:100%;font-size:14px;font-weight:600;position:relative;margin-bottom:5px}.sidebar .nav .nav-item a:focus,.sidebar .nav .nav-item a:hover{text-decoration:none;background:#fbfbfb}.sidebar .nav .nav-item:hover a:before{background:#1d7af3;opacity:.7;position:absolute;z-index:1;width:3px;height:100%;content:'';left:0;top:0}.la-ul>li,.main-panel{position:relative}.sidebar .nav .nav-item a i{font-size:23px;color:#C3C5CA;margin-right:15px;width:25px;text-align:center;vertical-align:middle;float:left}.main-panel,.pull-right{float:right}.sidebar .nav .nav-item a p{font-size:14px;margin-bottom:0;letter-spacing:.04em;margin-right:5px}.main-panel{width:calc(100% - 260px);min-height:100%;background:#f2f3f8}.main-panel .content{padding:30px 15px;min-height:calc(100% - 123px);margin-top:55px}.footer{border-top:1px solid #eee;padding:15px;background:#fff}.footer .container-fluid{display:flex;align-items:center}.la,.la-stack{display:inline-block}.la-fw,.la-li{text-align:center}@font-face{font-family:LineAwesome;src:url(../fonts/line-awesome.eot?v=1.1.);src:url(../fonts/line-awesome.eot??v=1.1.#iefix) format("embedded-opentype"),url(../fonts/line-awesome.woff2?v=1.1.) format("woff2"),url(../fonts/line-awesome.woff?v=1.1.) format("woff"),url(../fonts/line-awesome.ttf?v=1.1.) format("truetype"),url(../fonts/line-awesome.svg?v=1.1.#fa) format("svg");font-weight:400;font-style:normal}@media screen and (-webkit-min-device-pixel-ratio:0){@font-face{font-family:LineAwesome;src:url(../fonts/line-awesome.svg?v=1.1.#fa) format("svg")}}.la{font:normal normal normal 16px/1 LineAwesome;font-size:inherit;text-decoration:inherit;text-rendering:optimizeLegibility;text-transform:none;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-smoothing:antialiased}.la-lg{font-size:1.33333333em;line-height:.75em;vertical-align:-15%}.la-2x{font-size:2em}.la-3x{font-size:3em}.la-4x{font-size:4em}.la-5x{font-size:5em}.la-fw{width:1.28571429em}.la-ul{padding-left:0;margin-left:2.14285714em;list-style-type:none}.la-li{position:absolute;left:-2.14285714em;width:2.14285714em;top:.14285714em}.la-li.la-lg{left:-1.85714286em}.la-border{padding:.2em .25em .15em;border:.08em solid #eee;border-radius:.1em}.pull-left{float:left}.li.pull-left{margin-right:.3em}.li.pull-right{margin-left:.3em}.la-spin{-webkit-animation:fa-spin 2s infinite linear;animation:fa-spin 2s infinite linear}@-webkit-keyframes fa-spin{0%{-webkit-transform:rotate(0);transform:rotate(0)}100%{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}@keyframes fa-spin{0%{-webkit-transform:rotate(0);transform:rotate(0)}100%{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}.la-rotate-90{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=1);-webkit-transform:rotate(90deg);-ms-transform:rotate(90deg);transform:rotate(90deg)}.la-rotate-180{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=2);-webkit-transform:rotate(180deg);-ms-transform:rotate(180deg);transform:rotate(180deg)}.la-rotate-270{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=3);-webkit-transform:rotate(270deg);-ms-transform:rotate(270deg);transform:rotate(270deg)}.la-flip-horizontal{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1);-webkit-transform:scale(-1,1);-ms-transform:scale(-1,1);transform:scale(-1,1)}.la-flip-vertical{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1);-webkit-transform:scale(1,-1);-ms-transform:scale(1,-1);transform:scale(1,-1)}:root .la-flip-horizontal,:root .la-flip-vertical,:root .la-rotate-180,:root .la-rotate-270,:root .la-rotate-90{filter:none}.la-stack{position:relative;width:2em;height:2em;line-height:2em;vertical-align:middle}.la-stack-1x,.la-stack-2x{position:absolute;left:0;width:100%;text-align:center}.la-stack-1x{line-height:inherit}.la-stack-2x{font-size:2em}.la-inverse{color:#fff}.la-500px:before{content:"\f100"}.la-adjust:before{content:"\f101"}.la-adn:before{content:"\f102"}.la-align-center:before{content:"\f103"}.la-align-justify:before{content:"\f104"}.la-align-left:before{content:"\f105"}.la-align-right:before{content:"\f106"}.la-amazon:before{content:"\f107"}.la-ambulance:before{content:"\f108"}.la-anchor:before{content:"\f109"}.la-android:before{content:"\f10a"}.la-angellist:before{content:"\f10b"}.la-angle-double-down:before{content:"\f10c"}.la-angle-double-left:before{content:"\f10d"}.la-angle-double-right:before{content:"\f10e"}.la-angle-double-up:before{content:"\f10f"}.la-angle-down:before{content:"\f110"}.la-angle-left:before{content:"\f111"}.la-angle-right:before{content:"\f112"}.la-angle-up:before{content:"\f113"}.la-apple:before{content:"\f114"}.la-archive:before{content:"\f115"}.la-area-chart:before{content:"\f116"}.la-arrow-circle-down:before{content:"\f117"}.la-arrow-circle-left:before{content:"\f118"}.la-arrow-circle-o-down:before{content:"\f119"}.la-arrow-circle-o-left:before{content:"\f11a"}.la-arrow-circle-o-right:before{content:"\f11b"}.la-arrow-circle-o-up:before{content:"\f11c"}.la-arrow-circle-right:before{content:"\f11d"}.la-arrow-circle-up:before{content:"\f11e"}.la-arrow-down:before{content:"\f11f"}.la-arrow-left:before{content:"\f120"}.la-arrow-right:before{content:"\f121"}.la-arrow-up:before{content:"\f122"}.la-arrows:before{content:"\f123"}.la-arrows-alt:before{content:"\f124"}.la-arrows-h:before{content:"\f125"}.la-arrows-v:before{content:"\f126"}.la-asterisk:before{content:"\f127"}.la-at:before{content:"\f128"}.la-automobile:before{content:"\f129"}.la-backward:before{content:"\f12a"}.la-balance-scale:before{content:"\f12b"}.la-ban:before{content:"\f12c"}.la-bank:before{content:"\f12d"}.la-bar-chart:before{content:"\f12e"}.la-bar-chart-o:before{content:"\f12f"}.la-barcode:before{content:"\f130"}.la-bars:before{content:"\f131"}.la-battery-0:before{content:"\f132"}.la-battery-1:before{content:"\f133"}.la-battery-2:before{content:"\f134"}.la-battery-3:before{content:"\f135"}.la-battery-4:before{content:"\f136"}.la-battery-empty:before{content:"\f137"}.la-battery-full:before{content:"\f138"}.la-battery-half:before{content:"\f139"}.la-battery-quarter:before{content:"\f13a"}.la-battery-three-quarters:before{content:"\f13b"}.la-bed:before{content:"\f13c"}.la-beer:before{content:"\f13d"}.la-behance:before{content:"\f13e"}.la-behance-square:before{content:"\f13f"}.la-bell:before{content:"\f140"}.la-bell-o:before{content:"\f141"}.la-bell-slash:before{content:"\f142"}.la-bell-slash-o:before{content:"\f143"}.la-bicycle:before{content:"\f144"}.la-binoculars:before{content:"\f145"}.la-birthday-cake:before{content:"\f146"}.la-bitbucket:before{content:"\f147"}.la-bitbucket-square:before{content:"\f148"}.la-bitcoin:before{content:"\f149"}.la-black-tie:before{content:"\f14a"}.la-bold:before{content:"\f14b"}.la-bolt:before{content:"\f14c"}.la-bomb:before{content:"\f14d"}.la-book:before{content:"\f14e"}.la-bookmark:before{content:"\f14f"}.la-bookmark-o:before{content:"\f150"}.la-briefcase:before{content:"\f151"}.la-btc:before{content:"\f152"}.la-bug:before{content:"\f153"}.la-building:before{content:"\f154"}.la-building-o:before{content:"\f155"}.la-bullhorn:before{content:"\f156"}.la-bullseye:before{content:"\f157"}.la-bus:before{content:"\f158"}.la-buysellads:before{content:"\f159"}.la-cab:before{content:"\f15a"}.la-calculator:before{content:"\f15b"}.la-calendar:before{content:"\f15c"}.la-calendar-check-o:before{content:"\f15d"}.la-calendar-minus-o:before{content:"\f15e"}.la-calendar-o:before{content:"\f15f"}.la-calendar-plus-o:before{content:"\f160"}.la-calendar-times-o:before{content:"\f161"}.la-camera:before{content:"\f162"}.la-camera-retro:before{content:"\f163"}.la-car:before{content:"\f164"}.la-caret-down:before{content:"\f165"}.la-caret-left:before{content:"\f166"}.la-caret-right:before{content:"\f167"}.la-caret-square-o-down:before,.la-toggle-down:before{content:"\f168"}.la-caret-square-o-left:before,.la-toggle-left:before{content:"\f169"}.la-caret-square-o-right:before,.la-toggle-right:before{content:"\f16a"}.la-caret-square-o-up:before,.la-toggle-up:before{content:"\f16b"}.la-caret-up:before{content:"\f16c"}.la-cart-arrow-down:before{content:"\f16d"}.la-cart-plus:before{content:"\f16e"}.la-cc:before{content:"\f16f"}.la-cc-amex:before{content:"\f170"}.la-cc-diners-club:before{content:"\f171"}.la-cc-discover:before{content:"\f172"}.la-cc-jcb:before{content:"\f173"}.la-cc-mastercard:before{content:"\f174"}.la-cc-paypal:before{content:"\f175"}.la-cc-stripe:before{content:"\f176"}.la-cc-visa:before{content:"\f177"}.la-certificate:before{content:"\f178"}.la-chain:before{content:"\f179"}.la-chain-broken:before{content:"\f17a"}.la-check:before{content:"\f17b"}.la-check-circle:before{content:"\f17c"}.la-check-circle-o:before{content:"\f17d"}.la-check-square:before{content:"\f17e"}.la-check-square-o:before{content:"\f17f"}.la-chevron-circle-down:before{content:"\f180"}.la-chevron-circle-left:before{content:"\f181"}.la-chevron-circle-right:before{content:"\f182"}.la-chevron-circle-up:before{content:"\f183"}.la-chevron-down:before{content:"\f184"}.la-chevron-left:before{content:"\f185"}.la-chevron-right:before{content:"\f186"}.la-chevron-up:before{content:"\f187"}.la-child:before{content:"\f188"}.la-chrome:before{content:"\f189"}.la-circle:before{content:"\f18a"}.la-circle-o:before{content:"\f18b"}.la-circle-o-notch:before{content:"\f18c"}.la-circle-thin:before{content:"\f18d"}.la-clipboard:before{content:"\f18e"}.la-clock-o:before{content:"\f18f"}.la-clone:before{content:"\f190"}.la-close:before{content:"\f191"}.la-cloud:before{content:"\f192"}.la-cloud-download:before{content:"\f193"}.la-cloud-upload:before{content:"\f194"}.la-cny:before{content:"\f195"}.la-code:before{content:"\f196"}.la-code-fork:before{content:"\f197"}.la-codepen:before{content:"\f198"}.la-coffee:before{content:"\f199"}.la-cog:before{content:"\f19a"}.la-cogs:before{content:"\f19b"}.la-columns:before{content:"\f19c"}.la-comment:before{content:"\f19d"}.la-comment-o:before{content:"\f19e"}.la-commenting:before{content:"\f19f"}.la-commenting-o:before{content:"\f1a0"}.la-comments:before{content:"\f1a1"}.la-comments-o:before{content:"\f1a2"}.la-compass:before{content:"\f1a3"}.la-compress:before{content:"\f1a4"}.la-connectdevelop:before{content:"\f1a5"}.la-contao:before{content:"\f1a6"}.la-copy:before{content:"\f1a7"}.la-copyright:before{content:"\f1a8"}.la-creative-commons:before{content:"\f1a9"}.la-credit-card:before{content:"\f1aa"}.la-crop:before{content:"\f1ab"}.la-crosshairs:before{content:"\f1ac"}.la-css3:before{content:"\f1ad"}.la-cube:before{content:"\f1ae"}.la-cubes:before{content:"\f1af"}.la-cut:before{content:"\f1b0"}.la-cutlery:before{content:"\f1b1"}.la-dashboard:before{content:"\f1b2"}.la-dashcube:before{content:"\f1b3"}.la-database:before{content:"\f1b4"}.la-dedent:before{content:"\f1b5"}.la-delicious:before{content:"\f1b6"}.la-desktop:before{content:"\f1b7"}.la-deviantart:before{content:"\f1b8"}.la-diamond:before{content:"\f1b9"}.la-digg:before{content:"\f1ba"}.la-dollar:before{content:"\f1bb"}.la-dot-circle-o:before{content:"\f1bc"}.la-download:before{content:"\f1bd"}.la-dribbble:before{content:"\f1be"}.la-dropbox:before{content:"\f1bf"}.la-drupal:before{content:"\f1c0"}.la-edit:before{content:"\f1c1"}.la-eject:before{content:"\f1c2"}.la-ellipsis-h:before{content:"\f1c3"}.la-ellipsis-v:before{content:"\f1c4"}.la-empire:before,.la-ge:before{content:"\f1c5"}.la-envelope:before{content:"\f1c6"}.la-envelope-o:before{content:"\f1c7"}.la-envelope-square:before{content:"\f1c8"}.la-eraser:before{content:"\f1c9"}.la-eur:before{content:"\f1ca"}.la-euro:before{content:"\f1cb"}.la-exchange:before{content:"\f1cc"}.la-exclamation:before{content:"\f1cd"}.la-exclamation-circle:before{content:"\f1ce"}.la-exclamation-triangle:before{content:"\f1cf"}.la-expand:before{content:"\f1d0"}.la-expeditedssl:before{content:"\f1d1"}.la-external-link:before{content:"\f1d2"}.la-external-link-square:before{content:"\f1d3"}.la-eye:before{content:"\f1d4"}.la-eye-slash:before{content:"\f1d5"}.la-eyedropper:before{content:"\f1d6"}.la-facebook-f:before,.la-facebook:before{content:"\f1d7"}.la-facebook-official:before{content:"\f1d8"}.la-facebook-square:before{content:"\f1d9"}.la-fast-backward:before{content:"\f1da"}.la-fast-forward:before{content:"\f1db"}.la-fax:before{content:"\f1dc"}.la-female:before{content:"\f1dd"}.la-fighter-jet:before{content:"\f1de"}.la-file:before{content:"\f1df"}.la-file-archive-o:before{content:"\f1e0"}.la-file-audio-o:before{content:"\f1e1"}.la-file-code-o:before{content:"\f1e2"}.la-file-excel-o:before{content:"\f1e3"}.la-file-image-o:before{content:"\f1e4"}.la-file-movie-o:before{content:"\f1e5"}.la-file-o:before{content:"\f1e6"}.la-file-pdf-o:before{content:"\f1e7"}.la-file-photo-o:before{content:"\f1e8"}.la-file-picture-o:before{content:"\f1e9"}.la-file-powerpoint-o:before{content:"\f1ea"}.la-file-sound-o:before{content:"\f1eb"}.la-file-text:before{content:"\f1ec"}.la-file-text-o:before{content:"\f1ed"}.la-file-video-o:before{content:"\f1ee"}.la-file-word-o:before{content:"\f1ef"}.la-file-zip-o:before{content:"\f1f0"}.la-files-o:before{content:"\f1f1"}.la-film:before{content:"\f1f2"}.la-filter:before{content:"\f1f3"}.la-fire:before{content:"\f1f4"}.la-fire-extinguisher:before{content:"\f1f5"}.la-firefox:before{content:"\f1f6"}.la-flag:before{content:"\f1f7"}.la-flag-checkered:before{content:"\f1f8"}.la-flag-o:before{content:"\f1f9"}.la-flash:before{content:"\f1fa"}.la-flask:before{content:"\f1fb"}.la-flickr:before{content:"\f1fc"}.la-floppy-o:before{content:"\f1fd"}.la-folder:before{content:"\f1fe"}.la-folder-o:before{content:"\f1ff"}.la-folder-open:before{content:"\f200"}.la-folder-open-o:before{content:"\f201"}.la-font:before{content:"\f202"}.la-fonticons:before{content:"\f203"}.la-forumbee:before{content:"\f204"}.la-forward:before{content:"\f205"}.la-foursquare:before{content:"\f206"}.la-frown-o:before{content:"\f207"}.la-futbol-o:before,.la-soccer-ball-o:before{content:"\f208"}.la-gamepad:before{content:"\f209"}.la-gavel:before{content:"\f20a"}.la-gbp:before{content:"\f20b"}.la-gear:before{content:"\f20c"}.la-gears:before{content:"\f20d"}.la-genderless:before{content:"\f20e"}.la-get-pocket:before{content:"\f20f"}.la-gg:before{content:"\f210"}.la-gg-circle:before{content:"\f211"}.la-gift:before{content:"\f212"}.la-git:before{content:"\f213"}.la-git-square:before{content:"\f214"}.la-github:before{content:"\f215"}.la-github-alt:before{content:"\f216"}.la-github-square:before{content:"\f217"}.la-glass:before{content:"\f218"}.la-globe:before{content:"\f219"}.la-google:before{content:"\f21a"}.la-google-plus:before{content:"\f21b"}.la-google-plus-square:before{content:"\f21c"}.la-google-wallet:before{content:"\f21d"}.la-graduation-cap:before{content:"\f21e"}.la-gittip:before,.la-gratipay:before{content:"\f21f"}.la-group:before{content:"\f220"}.la-h-square:before{content:"\f221"}.la-hacker-news:before{content:"\f222"}.la-hand-grab-o:before{content:"\f223"}.la-hand-lizard-o:before{content:"\f224"}.la-hand-o-down:before{content:"\f225"}.la-hand-o-left:before{content:"\f226"}.la-hand-o-right:before{content:"\f227"}.la-hand-o-up:before{content:"\f228"}.la-hand-paper-o:before{content:"\f229"}.la-hand-peace-o:before{content:"\f22a"}.la-hand-pointer-o:before{content:"\f22b"}.la-hand-rock-o:before{content:"\f22c"}.la-hand-scissors-o:before{content:"\f22d"}.la-hand-spock-o:before{content:"\f22e"}.la-hand-stop-o:before{content:"\f22f"}.la-hdd-o:before{content:"\f230"}.la-header:before{content:"\f231"}.la-headphones:before{content:"\f232"}.la-heart:before{content:"\f233"}.la-heart-o:before{content:"\f234"}.la-heartbeat:before{content:"\f235"}.la-history:before{content:"\f236"}.la-home:before{content:"\f237"}.la-hospital-o:before{content:"\f238"}.la-hotel:before{content:"\f239"}.la-hourglass:before{content:"\f23a"}.la-hourglass-1:before{content:"\f23b"}.la-hourglass-2:before{content:"\f23c"}.la-hourglass-3:before{content:"\f23d"}.la-hourglass-end:before{content:"\f23e"}.la-hourglass-half:before{content:"\f23f"}.la-hourglass-o:before{content:"\f240"}.la-hourglass-start:before{content:"\f241"}.la-houzz:before{content:"\f242"}.la-html5:before{content:"\f243"}.la-i-cursor:before{content:"\f244"}.la-ils:before{content:"\f245"}.la-image:before{content:"\f246"}.la-inbox:before{content:"\f247"}.la-indent:before{content:"\f248"}.la-industry:before{content:"\f249"}.la-info:before{content:"\f24a"}.la-info-circle:before{content:"\f24b"}.la-inr:before{content:"\f24c"}.la-instagram:before{content:"\f24d"}.la-institution:before{content:"\f24e"}.la-internet-explorer:before{content:"\f24f"}.la-ioxhost:before{content:"\f250"}.la-italic:before{content:"\f251"}.la-joomla:before{content:"\f252"}.la-jpy:before{content:"\f253"}.la-jsfiddle:before{content:"\f254"}.la-key:before{content:"\f255"}.la-keyboard-o:before{content:"\f256"}.la-krw:before{content:"\f257"}.la-language:before{content:"\f258"}.la-laptop:before{content:"\f259"}.la-lastfm:before{content:"\f25a"}.la-lastfm-square:before{content:"\f25b"}.la-leaf:before{content:"\f25c"}.la-leanpub:before{content:"\f25d"}.la-legal:before{content:"\f25e"}.la-lemon-o:before{content:"\f25f"}.la-level-down:before{content:"\f260"}.la-level-up:before{content:"\f261"}.la-life-bouy:before{content:"\f262"}.la-life-buoy:before{content:"\f263"}.la-life-ring:before,.la-support:before{content:"\f264"}.la-life-saver:before{content:"\f265"}.la-lightbulb-o:before{content:"\f266"}.la-line-chart:before{content:"\f267"}.la-link:before{content:"\f268"}.la-linkedin:before{content:"\f269"}.la-linkedin-square:before{content:"\f26a"}.la-linux:before{content:"\f26b"}.la-list:before{content:"\f26c"}.la-list-alt:before{content:"\f26d"}.la-list-ol:before{content:"\f26e"}.la-list-ul:before{content:"\f26f"}.la-location-arrow:before{content:"\f270"}.la-lock:before{content:"\f271"}.la-long-arrow-down:before{content:"\f272"}.la-long-arrow-left:before{content:"\f273"}.la-long-arrow-right:before{content:"\f274"}.la-long-arrow-up:before{content:"\f275"}.la-magic:before{content:"\f276"}.la-magnet:before{content:"\f277"}.la-mail-forward:before{content:"\f278"}.la-mail-reply:before{content:"\f279"}.la-mail-reply-all:before{content:"\f27a"}.la-male:before{content:"\f27b"}.la-map:before{content:"\f27c"}.la-map-marker:before{content:"\f27d"}.la-map-o:before{content:"\f27e"}.la-map-pin:before{content:"\f27f"}.la-map-signs:before{content:"\f280"}.la-mars:before{content:"\f281"}.la-mars-double:before{content:"\f282"}.la-mars-stroke:before{content:"\f283"}.la-mars-stroke-h:before{content:"\f284"}.la-mars-stroke-v:before{content:"\f285"}.la-maxcdn:before{content:"\f286"}.la-meanpath:before{content:"\f287"}.la-medium:before{content:"\f288"}.la-medkit:before{content:"\f289"}.la-meh-o:before{content:"\f28a"}.la-mercury:before{content:"\f28b"}.la-microphone:before{content:"\f28c"}.la-microphone-slash:before{content:"\f28d"}.la-minus:before{content:"\f28e"}.la-minus-circle:before{content:"\f28f"}.la-minus-square:before{content:"\f290"}.la-minus-square-o:before{content:"\f291"}.la-mobile:before{content:"\f292"}.la-mobile-phone:before{content:"\f293"}.la-money:before{content:"\f294"}.la-moon-o:before{content:"\f295"}.la-mortar-board:before{content:"\f296"}.la-motorcycle:before{content:"\f297"}.la-mouse-pointer:before{content:"\f298"}.la-music:before{content:"\f299"}.la-navicon:before{content:"\f29a"}.la-neuter:before{content:"\f29b"}.la-newspaper-o:before{content:"\f29c"}.la-object-group:before{content:"\f29d"}.la-object-ungroup:before{content:"\f29e"}.la-odnoklassniki:before{content:"\f29f"}.la-odnoklassniki-square:before{content:"\f2a0"}.la-opencart:before{content:"\f2a1"}.la-openid:before{content:"\f2a2"}.la-opera:before{content:"\f2a3"}.la-optin-monster:before{content:"\f2a4"}.la-outdent:before{content:"\f2a5"}.la-pagelines:before{content:"\f2a6"}.la-paint-brush:before{content:"\f2a7"}.la-paper-plane:before,.la-send:before{content:"\f2a8"}.la-paper-plane-o:before,.la-send-o:before{content:"\f2a9"}.la-paperclip:before{content:"\f2aa"}.la-paragraph:before{content:"\f2ab"}.la-paste:before{content:"\f2ac"}.la-pause:before{content:"\f2ad"}.la-paw:before{content:"\f2ae"}.la-paypal:before{content:"\f2af"}.la-pencil:before{content:"\f2b0"}.la-pencil-square:before{content:"\f2b1"}.la-pencil-square-o:before{content:"\f2b2"}.la-phone:before{content:"\f2b3"}.la-phone-square:before{content:"\f2b4"}.la-photo:before{content:"\f2b5"}.la-picture-o:before{content:"\f2b6"}.la-pie-chart:before{content:"\f2b7"}.la-pied-piper:before{content:"\f2b8"}.la-pied-piper-alt:before{content:"\f2b9"}.la-pinterest:before{content:"\f2ba"}.la-pinterest-p:before{content:"\f2bb"}.la-pinterest-square:before{content:"\f2bc"}.la-plane:before{content:"\f2bd"}.la-play:before{content:"\f2be"}.la-play-circle:before{content:"\f2bf"}.la-play-circle-o:before{content:"\f2c0"}.la-plug:before{content:"\f2c1"}.la-plus:before{content:"\f2c2"}.la-plus-circle:before{content:"\f2c3"}.la-plus-square:before{content:"\f2c4"}.la-plus-square-o:before{content:"\f2c5"}.la-power-off:before{content:"\f2c6"}.la-print:before{content:"\f2c7"}.la-puzzle-piece:before{content:"\f2c8"}.la-qq:before{content:"\f2c9"}.la-qrcode:before{content:"\f2ca"}.la-question:before{content:"\f2cb"}.la-question-circle:before{content:"\f2cc"}.la-quote-left:before{content:"\f2cd"}.la-quote-right:before{content:"\f2ce"}.la-ra:before{content:"\f2cf"}.la-random:before{content:"\f2d0"}.la-rebel:before{content:"\f2d1"}.la-recycle:before{content:"\f2d2"}.la-reddit:before{content:"\f2d3"}.la-reddit-square:before{content:"\f2d4"}.la-refresh:before{content:"\f2d5"}.la-registered:before{content:"\f2d6"}.la-renren:before{content:"\f2d7"}.la-reorder:before{content:"\f2d8"}.la-repeat:before{content:"\f2d9"}.la-reply:before{content:"\f2da"}.la-reply-all:before{content:"\f2db"}.la-retweet:before{content:"\f2dc"}.la-rmb:before{content:"\f2dd"}.la-road:before{content:"\f2de"}.la-rocket:before{content:"\f2df"}.la-rotate-left:before{content:"\f2e0"}.la-rotate-right:before{content:"\f2e1"}.la-rouble:before{content:"\f2e2"}.la-feed:before,.la-rss:before{content:"\f2e3"}.la-rss-square:before{content:"\f2e4"}.la-rub:before{content:"\f2e5"}.la-ruble:before{content:"\f2e6"}.la-rupee:before{content:"\f2e7"}.la-safari:before{content:"\f2e8"}.la-save:before{content:"\f2e9"}.la-scissors:before{content:"\f2ea"}.la-search:before{content:"\f2eb"}.la-search-minus:before{content:"\f2ec"}.la-search-plus:before{content:"\f2ed"}.la-sellsy:before{content:"\f2ee"}.la-server:before{content:"\f2ef"}.la-share:before{content:"\f2f0"}.la-share-alt:before{content:"\f2f1"}.la-share-alt-square:before{content:"\f2f2"}.la-share-square:before{content:"\f2f3"}.la-share-square-o:before{content:"\f2f4"}.la-shekel:before{content:"\f2f5"}.la-sheqel:before{content:"\f2f6"}.la-shield:before{content:"\f2f7"}.la-ship:before{content:"\f2f8"}.la-shirtsinbulk:before{content:"\f2f9"}.la-shopping-cart:before{content:"\f2fa"}.la-sign-in:before{content:"\f2fb"}.la-sign-out:before{content:"\f2fc"}.la-signal:before{content:"\f2fd"}.la-simplybuilt:before{content:"\f2fe"}.la-sitemap:before{content:"\f2ff"}.la-skyatlas:before{content:"\f300"}.la-skype:before{content:"\f301"}.la-slack:before{content:"\f302"}.la-sliders:before{content:"\f303"}.la-slideshare:before{content:"\f304"}.la-smile-o:before{content:"\f305"}.la-sort:before,.la-unsorted:before{content:"\f306"}.la-sort-alpha-asc:before{content:"\f307"}.la-sort-alpha-desc:before{content:"\f308"}.la-sort-amount-asc:before{content:"\f309"}.la-sort-amount-desc:before{content:"\f30a"}.la-sort-asc:before,.la-sort-up:before{content:"\f30b"}.la-sort-desc:before,.la-sort-down:before{content:"\f30c"}.la-sort-numeric-asc:before{content:"\f30d"}.la-sort-numeric-desc:before{content:"\f30e"}.la-soundcloud:before{content:"\f30f"}.la-space-shuttle:before{content:"\f310"}.la-spinner:before{content:"\f311"}.la-spoon:before{content:"\f312"}.la-spotify:before{content:"\f313"}.la-square:before{content:"\f314"}.la-square-o:before{content:"\f315"}.la-stack-exchange:before{content:"\f316"}.la-stack-overflow:before{content:"\f317"}.la-star:before{content:"\f318"}.la-star-half:before{content:"\f319"}.la-star-half-empty:before,.la-star-half-full:before,.la-star-half-o:before{content:"\f31a"}.la-star-o:before{content:"\f31b"}.la-steam:before{content:"\f31c"}.la-steam-square:before{content:"\f31d"}.la-step-backward:before{content:"\f31e"}.la-step-forward:before{content:"\f31f"}.la-stethoscope:before{content:"\f320"}.la-sticky-note:before{content:"\f321"}.la-sticky-note-o:before{content:"\f322"}.la-stop:before{content:"\f323"}.la-street-view:before{content:"\f324"}.la-strikethrough:before{content:"\f325"}.la-stumbleupon:before{content:"\f326"}.la-stumbleupon-circle:before{content:"\f327"}.la-subscript:before{content:"\f328"}.la-subway:before{content:"\f329"}.la-suitcase:before{content:"\f32a"}.la-sun-o:before{content:"\f32b"}.la-superscript:before{content:"\f32c"}.la-table:before{content:"\f32d"}.la-tablet:before{content:"\f32e"}.la-tachometer:before{content:"\f32f"}.la-tag:before{content:"\f330"}.la-tags:before{content:"\f331"}.la-tasks:before{content:"\f332"}.la-taxi:before{content:"\f333"}.la-television:before,.la-tv:before{content:"\f334"}.la-tencent-weibo:before{content:"\f335"}.la-terminal:before{content:"\f336"}.la-text-height:before{content:"\f337"}.la-text-width:before{content:"\f338"}.la-th:before{content:"\f339"}.la-th-large:before{content:"\f33a"}.la-th-list:before{content:"\f33b"}.la-thumb-tack:before{content:"\f33c"}.la-thumbs-down:before{content:"\f33d"}.la-thumbs-o-down:before{content:"\f33e"}.la-thumbs-o-up:before{content:"\f33f"}.la-thumbs-up:before{content:"\f340"}.la-ticket:before{content:"\f341"}.la-remove:before,.la-times:before{content:"\f342"}.la-times-circle:before{content:"\f343"}.la-times-circle-o:before{content:"\f344"}.la-tint:before{content:"\f345"}.la-toggle-off:before{content:"\f346"}.la-toggle-on:before{content:"\f347"}.la-trademark:before{content:"\f348"}.la-train:before{content:"\f349"}.la-intersex:before,.la-transgender:before{content:"\f34a"}.la-transgender-alt:before{content:"\f34b"}.la-trash:before{content:"\f34c"}.la-trash-o:before{content:"\f34d"}.la-tree:before{content:"\f34e"}.la-trello:before{content:"\f34f"}.la-tripadvisor:before{content:"\f350"}.la-trophy:before{content:"\f351"}.la-truck:before{content:"\f352"}.la-try:before{content:"\f353"}.la-tty:before{content:"\f354"}.la-tumblr:before{content:"\f355"}.la-tumblr-square:before{content:"\f356"}.la-turkish-lira:before{content:"\f357"}.la-twitch:before{content:"\f358"}.la-twitter:before{content:"\f359"}.la-twitter-square:before{content:"\f35a"}.la-umbrella:before{content:"\f35b"}.la-underline:before{content:"\f35c"}.la-undo:before{content:"\f35d"}.la-university:before{content:"\f35e"}.la-unlink:before{content:"\f35f"}.la-unlock:before{content:"\f360"}.la-unlock-alt:before{content:"\f361"}.la-upload:before{content:"\f362"}.la-usd:before{content:"\f363"}.la-user:before{content:"\f364"}.la-user-md:before{content:"\f365"}.la-user-plus:before{content:"\f366"}.la-user-secret:before{content:"\f367"}.la-user-times:before{content:"\f368"}.la-users:before{content:"\f369"}.la-venus:before{content:"\f36a"}.la-venus-double:before{content:"\f36b"}.la-venus-mars:before{content:"\f36c"}.la-viacoin:before{content:"\f36d"}.la-video-camera:before{content:"\f36e"}.la-vimeo:before{content:"\f36f"}.la-vimeo-square:before{content:"\f370"}.la-vine:before{content:"\f371"}.la-vk:before{content:"\f372"}.la-volume-down:before{content:"\f373"}.la-volume-off:before{content:"\f374"}.la-volume-up:before{content:"\f375"}.la-warning:before{content:"\f376"}.la-wechat:before{content:"\f377"}.la-weibo:before{content:"\f378"}.la-weixin:before{content:"\f379"}.la-whatsapp:before{content:"\f37a"}.la-wheelchair:before{content:"\f37b"}.la-wifi:before{content:"\f37c"}.la-wikipedia-w:before{content:"\f37d"}.la-windows:before{content:"\f37e"}.la-won:before{content:"\f37f"}.la-wordpress:before{content:"\f380"}.la-wrench:before{content:"\f381"}.la-xing:before{content:"\f382"}.la-xing-square:before{content:"\f383"}.la-y-combinator:before{content:"\f384"}.la-y-combinator-square:before{content:"\f385"}.la-yahoo:before{content:"\f386"}.la-yc:before{content:"\f387"}.la-yc-square:before{content:"\f388"}.la-yelp:before{content:"\f389"}.la-yen:before{content:"\f38a"}.la-youtube:before{content:"\f38b"}.la-youtube-play:before{content:"\f38c"}.la-youtube-square:before{content:"\f38d"}.card{border-radius:0;background-color:#fff;margin-bottom:30px;-webkit-box-shadow:0 1px 15px 1px rgba(69,65,78,.08);-moz-box-shadow:0 1px 15px 1px rgba(69,65,78,.08);box-shadow:0 1px 15px 1px rgba(69,65,78,.08);border:1px solid #eee}.card .card-header{padding:15px;background-color:transparent;border-bottom:1px solid #ebedf2!important}.card .card-title{margin:0;color:#575962;font-size:18px;font-weight:600;line-height:1.6}.card .card-sub{display:block;margin:5px 0 10px;font-size:.9rem;background:#f7f8fa;color:#575962;padding:.85rem 1.5rem;border-radius:4px}.card .card-action,.card .card-footer{background-color:transparent;line-height:30px;border-top:1px solid #ebedf2!important}.card .card-category,.card label{font-weight:400;color:#9A9A9A;margin-bottom:0;font-size:14px}.card .card-category{margin-top:5px}[type=checkbox]:checked+.form-check-sign,[type=radio]:checked+.form-radio-sign{font-weight:700}.card .card-body{padding:15px 15px 10px}.card .card-footer{font-size:14px}.card .card-action{padding:30px;font-size:14px}.card .card-footer hr{margin-top:5px;margin-bottom:5px}.card .card-footer .legend{display:inline-block}.card-stats .card-category{margin-top:0}.card-stats .icon-big{font-size:3em;min-height:64px}.card-tasks .table thead th{border-top:1px solid #f4f4f4;background:#fafafa!important}.card-tasks .table .form-check{padding:0 0 0 .75rem!important}.card-tasks .table .form-check label{margin-bottom:0!important}.card-tasks .table tbody td:first-child,.card-tasks .table thead th:first-child{padding-left:15px;padding-right:15px}.card-tasks .table tbody td:last-child,.card-tasks .table thead th:last-child{padding-right:15px}.card-tasks .card-body .table td{font-size:14px;line-height:1.8}.card-tasks .card-body .table td .btn{font-size:17px;opacity:.7;transition:all .3s}.card-tasks .card-body .table td:hover .btn{opacity:1}.card-danger,.card-default,.card-info,.card-primary,.card-success,.card-warning{color:#fff;border:0}.card-danger .card-header,.card-default .card-header,.card-info .card-header,.card-primary .card-header,.card-success .card-header,.card-warning .card-header{border-bottom:transparent!important}.card-danger .card-category,.card-danger .card-title,.card-danger label,.card-default .card-category,.card-default .card-title,.card-default label,.card-info .card-category,.card-info .card-title,.card-info label,.card-primary .card-category,.card-primary .card-title,.card-primary label,.card-success .card-category,.card-success .card-title,.card-success label,.card-warning .card-category,.card-warning .card-title,.card-warning label{color:#fff}.card-danger .icon-big>i,.card-default .icon-big>i,.card-info .icon-big>i,.card-primary .icon-big>i,.card-success .icon-big>i,.card-warning .icon-big>i{color:#fff!important}.card-danger .card-footer,.card-default .card-footer,.card-info .card-footer,.card-primary .card-footer,.card-success .card-footer,.card-warning .card-footer{border-top:transparent!important}.card-default{background:#607D8B}.card-primary{background:#1D62F0}.card-info{background:#23CCEF}.card-success{background:#59d05d}.card-warning{background:#fbad4c}.card-danger{background:#ff646d}.progress-card{margin-bottom:25px}.row-card-no-pd{margin-left:0;margin-right:0;background:#fff;margin-bottom:30px;padding-top:30px;padding-bottom:30px;position:relative}.row-card-no-pd .card{margin-bottom:0;border-width:0;box-shadow:none;position:unset}.row-card-no-pd [class*=col-] .card:after{position:absolute;height:calc(100%);width:1px;background:#eee;content:'';right:0}.row-card-no-pd [class*=col-] .card:after:last-child{width:0}.form-button-action{display:inline-flex}.select-all-checkbox+.form-check-sign:before{background:#ccc!important;border-color:#ccc!important}[type=checkbox]:checked,[type=checkbox]:not(:checked){position:absolute;left:-9999px}[type=checkbox]:checked+.form-check-sign,[type=checkbox]:not(:checked)+.form-check-sign{position:relative;padding-left:1.65em;color:#777;cursor:pointer}[type=checkbox]:checked+.form-check-sign:before,[type=checkbox]:not(:checked)+.form-check-sign:before{content:'';position:absolute;left:0;top:1px;width:16px;height:16px;border:1px solid #ccc;background:0 0;border-radius:4px}[type=checkbox]:checked+.form-check-sign:after,[type=checkbox]:not(:checked)+.form-check-sign:after{content:"\f17b";display:inline-block;position:absolute;top:-1px;left:2px;width:18px;height:18px;text-align:center;font-size:1.5em;line-height:.8;color:#4D7CFE;transition:all .2s;font-family:LineAwesome}[type=checkbox]:not(:checked)+.form-check-sign:after{opacity:0;transform:scale(0)}[type=checkbox]:checked+.form-check-sign:after{opacity:1;transform:scale(1)}[type=checkbox]:disabled:checked+.form-check-sign:before,[type=checkbox]:disabled:not(:checked)+.form-check-sign:before{box-shadow:none;border-color:#bbb;background-color:#ddd}[type=checkbox]:disabled:checked+.form-check-sign:after{color:#999}[type=checkbox]:disabled+.form-check-sign{color:#aaa}[type=checkbox]:checked:focus+.form-check-sign:before,[type=checkbox]:not(:checked):focus+.form-check-sign:before{border:1px solid #ccc}.form-check-sign:hover:before{border:1px solid #ccc!important}.form-check{padding-left:.75rem}.form-check-input{position:relative;margin-top:.3rem}[type=radio]:checked,[type=radio]:not(:checked){position:absolute;left:-9999px}[type=radio]:checked+.form-radio-sign,[type=radio]:not(:checked)+.form-radio-sign{position:relative;padding-left:1.65em;color:#777;cursor:pointer}[type=radio]:not(:checked)+.form-radio-sign:before{content:"\f18a";font-size:22px;font-family:LineAwesome;position:absolute;left:0;top:auto;background:0 0;line-height:1}[type=radio]:checked+.form-radio-sign:before{content:"\f18a";font-size:22px;font-family:LineAwesome;position:absolute;left:0;top:auto;background:0 0;line-height:1;display:none}[type=radio]:checked+.form-radio-sign:after,[type=radio]:not(:checked)+.form-radio-sign:after{content:"\f1bc";position:absolute;left:0;top:auto;text-align:center;font-size:22px;color:#4D7CFE;transition:all .2s;line-height:1;font-family:LineAwesome}.caret,.chart-pie:after,.chart-pie:before{content:""}.form-radio-input,.has-feedback{position:relative}[type=radio]:not(:checked)+.form-radio-sign:after{opacity:0;transform:scale(0)}[type=radio]:checked+.form-radio-sign:after{opacity:1;transform:scale(1)}[type=radio]:disabled:checked+.form-radio-sign:before,[type=radio]:disabled:not(:checked)+.form-radio-sign:before{box-shadow:none;opacity:.65}[type=radio]:disabled:checked+.form-radio-sign:after{opacity:.65}[type=radio]:disabled+.form-radio-sign{color:#aaa;opacity:.65}[type=radio]:checked:focus+.form-radio-sign:before,[type=radio]:not(:checked):focus+.form-radio-sign:before{border:1px solid #ccc}.form-radio{padding-left:.75rem}.form-radio-input{margin-top:.3rem}.form-check,.form-group{margin-bottom:0;padding:15px 10px}.form-check label,.form-group label{margin-bottom:.5rem!important;color:#3f4047!important;font-weight:400;font-size:1rem}.form-inline label{margin-bottom:0!important}.input-fixed{width:200px}.form-control.input-full{width:100%!important}.has-success .form-control{border-color:#59d05d;color:#59d05d}.has-error .form-control{border-color:#ff646d;color:#ff646d}.form-control-feedback{position:absolute;top:50%;transform:translateY(-50%);right:20px}.has-success .form-control-feedback{color:#59d05d}.has-error .form-control-feedback{color:#ff646d}.input-group.has-icon{border-radius:.25rem;border:1px solid #ced4da}.input-group.has-icon.has-success,.input-group.has-success{border-color:1px solid #59d05d!important;color:#59d05d}.input-group.has-error,.input-group.has-icon.has-error{border:1px solid #ff646d!important;color:#ff646d}.input-group.has-icon .form-control{border-radius:.25rem;border:0;position:relative}.input-group.has-icon .input-group-icon{background:0 0;border:0}.input-square{border-radius:0!important}.input-pill{border-radius:1.3rem!important}.form-control:disabled,.form-control[readonly],.input-solid{background:#e8e8e8!important;border-color:#e8e8e8!important}.form-control:disabled,.form-control[readonly]{opacity:.6!important}.table{color:#555!important}.table>tbody>tr>td,.table>tbody>tr>th,.table>tfoot>tr>td,.table>tfoot>tr>th,.table>thead>tr>td,.table>thead>tr>th{vertical-align:middle}.table>tbody>tr>td,.table>tbody>tr>th,.table>tfoot>tr>td,.table>tfoot>tr>th{padding:8px}.table thead th{color:#554;border-bottom-width:2px}.table td,.table th{font-size:14px;border-color:#ebedf2!important;padding:.75rem!important}.table-full-width{margin-left:-15px;margin-right:-15px}.table-bordered-bd-default td,.table-bordered-bd-default th{border:1px solid #607D8B!important}.table-bordered-bd-primary td,.table-bordered-bd-primary th{border:1px solid #1D62F0!important}.table-bordered-bd-info td,.table-bordered-bd-info th{border:1px solid #23CCEF!important}.table-bordered-bd-success td,.table-bordered-bd-success th{border:1px solid #59d05d!important}.table-bordered-bd-warning td,.table-bordered-bd-warning th{border:1px solid #fbad4c!important}.table-bordered-bd-danger td,.table-bordered-bd-danger th{border:1px solid #ff646d!important}.table-striped td,.table-striped th{border-top:0!important;border-bottom:0!important}.table-head-bg-default{border:1px solid #607D8B!important}.table-head-bg-primary{border:1px solid #1D62F0!important}.table-head-bg-info{border:1px solid #23CCEF!important}.table-head-bg-success{border:1px solid #59d05d!important}.table-head-bg-warning{border:1px solid #fbad4c!important}.table-head-bg-danger{border:1px solid #ff646d!important}.table-head-bg-default thead th,.table-striped-bg-default tbody tr:nth-of-type(odd){background:#607D8B!important;color:#fff!important;border:0!important}.table-head-bg-primary thead th,.table-striped-bg-primary tbody tr:nth-of-type(odd){background:#1D62F0!important;color:#fff!important;border:0!important}.table-head-bg-info thead th,.table-striped-bg-info tbody tr:nth-of-type(odd){background:#23CCEF!important;color:#fff!important;border:0!important}.table-head-bg-success thead th,.table-striped-bg-success tbody tr:nth-of-type(odd){background:#59d05d!important;color:#fff!important;border:0!important}.table-head-bg-warning thead th,.table-striped-bg-warning tbody tr:nth-of-type(odd){background:#fbad4c!important;color:#fff!important;border:0!important}.table-head-bg-danger thead th,.table-striped-bg-danger tbody tr:nth-of-type(odd){background:#ff646d!important;color:#fff!important;border:0!important}.table-responsive{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;-ms-overflow-style:-ms-autohiding-scrollbar}.navbar .navbar-nav .nav-item .nav-link{display:inline-block;vertical-align:middle;color:#666;line-height:55px;letter-spacing:.04em;padding:0 20px 0 0;position:relative;font-size:14px;font-weight:500;text-align:center}.navbar .navbar-nav .nav-item .nav-link i{font-size:22px;width:30px;vertical-align:middle}.navbar-expand-lg .navbar-nav .dropdown-menu{left:auto;right:0}.dropdown-item{font-size:14px}.navbar .navbar-nav .notification{position:absolute;background-color:#ff646d;text-align:center;border-radius:10px;min-width:17px;height:17px;font-size:11px;color:#fff;font-weight:700;line-height:17px;top:11px;right:12px}.chart,.chart-pie{position:relative}.navbar-header{padding:0 15px}.navbar-header .dropdown-toggle{line-height:55px}.navbar-header .dropdown-toggle::after{margin-left:0;vertical-align:middle;color:#555}.profile-pic:focus,.profile-pic:hover{text-decoration:none}.hidden-caret .dropdown-toggle::after{display:none!important}.profile-pic .img-circle{border-radius:50%}.profile-pic span{font-size:14px;font-weight:600;padding:0 10px;color:#555}.nav-search .input-group{border:1px solid #eee;background:#eee;border-radius:50px}.nav-search .input-group:focus,.nav-search .input-group:hover{border:1px solid #ddd}.nav-search .form-control{border:0;background:0 0;font-size:14px}.nav-search .input-group-text{border:0;background:0 0}.nav-search .search-icon{font-size:21px;color:#666}.badge{border-radius:50px;margin-left:auto;line-height:1;padding:6px 10px;vertical-align:middle;font-weight:700;font-size:11px}.badge-count{border:1px solid #ddd}.badge-default{background:#607D8B;color:#fff!important}.badge-primary{background:#1D62F0}.badge-info{background:#23CCEF}.badge-success{background-color:#59d05d}.badge-warning{background:#fbad4c;color:#fff!important}.badge-danger{background-color:#ff646d}.dropdown-menu{border:1px solid rgba(120,130,140,.13);border-radius:0;box-shadow:0 3px 12px rgba(0,0,0,.05)!important;-webkit-box-shadow:0!important;-moz-box-shadow:0!important;padding-bottom:8px;margin-top:0}.dropdown-title{border-bottom:1px solid rgba(0,0,0,.1);color:#263238;font-size:15px;font-weight:800;padding:5px 20px 10px;text-align:center}.notif-box{width:280px;padding-bottom:0}.notif-box .notif-center a{display:flex;border-bottom:1px solid #eaeaea;color:#4d585f}.notif-box .notif-center a:hover{text-decoration:none;background:#fafafa;transition:all .2s}.notif-box .notif-center a .notif-icon,.notif-box .notif-center a .notif-img{display:inline-flex;width:40px;height:40px;margin:10px;align-items:center;justify-content:center;background:#eee;border-radius:50%}.notif-box .notif-center a .notif-img img{width:100%;height:100%;border-radius:50%}.notif-box .notif-center a .notif-icon.notif-danger,.notif-box .notif-center a .notif-icon.notif-default,.notif-box .notif-center a .notif-icon.notif-info,.notif-box .notif-center a .notif-icon.notif-primary,.notif-box .notif-center a .notif-icon.notif-success,.notif-box .notif-center a .notif-icon.notif-warning{color:#fff!important}.notif-box .notif-center a .notif-icon.notif-default{background:#607D8B!important}.notif-box .notif-center a .notif-icon.notif-primary{background:#1D62F0!important}.notif-box .notif-center a .notif-icon.notif-info{background:#23CCEF!important}.notif-box .notif-center a .notif-icon.notif-success{background:#59d05d!important}.notif-box .notif-center a .notif-icon.notif-warning{background:#fbad4c!important}.notif-box .notif-center a .notif-icon.notif-danger{background:#ff646d!important}.notif-box .notif-center a .notif-icon i{font-size:21px}.notif-box .notif-center a .notif-content{padding:10px 15px 10px 0}.notif-box .notif-center a .notif-content .block{font-size:14px;line-height:20px;display:block}.notif-box .notif-center a .notif-content .time{color:#7d8c95;font-size:12px}.notif-box .see-all,.notif-box .see-all:hover{display:flex;align-items:center;justify-content:space-between;padding:10px 20px;color:#555;font-size:15px;font-weight:400;text-decoration:none}.notif-box .see-all i{float:right}.dropdown-user{width:280px}.user-box{display:flex;padding:.25rem 1rem}.user-box .u-img{width:80px}.user-box .u-img img{width:100%;border-radius:5px}.user-box .u-text{padding:0 10px}.user-box .u-text h4{margin-bottom:0;font-size:18px}.user-box .u-text .text-muted{font-size:13px;margin-bottom:5px}.user-box .u-text .btn{font-size:12px}.caret{display:inline-block;width:0;height:0;margin-left:.255em;vertical-align:.255em;border-top:.3em solid;border-right:.3em solid transparent;border-bottom:0;border-left:.3em solid transparent}.chart{margin:30px 0}.ct-chart-donut .ct-label,.ct-chart-pie .ct-label{dominant-baseline:central;fill:#fff!important;color:#fff!important}.chart-circle{display:flex;justify-content:center}.chart-circle .circles-text{font-size:28px!important}.color-box{width:15px;height:15px;border-radius:2px;display:inline-block;float:left;padding-top:3px;margin:2px 5px 0 0}.chart-pie{display:block;width:100%}.chart-pie:before{display:block;float:left;width:0;height:0;padding-bottom:75%}.chart-pie:after{display:table;clear:both}.chart-pie svg{display:block;position:absolute;top:0;left:0;width:100%;height:100%}.alert{border:0;color:#fff;position:relative;padding-left:65px}.alert [data-notify=icon]{font-size:30px;display:block;left:15px;position:absolute;top:50%;margin-top:-15px}.alert [data-notify=message],.btn{font-size:14px}.alert [data-notify=title]{display:block;font-weight:700}.alert .close{background:rgba(255,255,255,.8);width:25px;height:25px;line-height:25px;top:auto!important;border-radius:50%}.alert-primary{background-color:#1D62F0}.alert-info{background-color:#23CCEF}.alert-success{background-color:#59d05d}.alert-warning{background-color:#fbad4c}.alert-danger{background-color:#ff646d}.btn{padding:8px 16px;opacity:.9;border-radius:3px}.btn:focus,.btn:hover{opacity:1}.btn-lg{font-size:18px;border-radius:6px;padding:10px 30px;font-weight:400}.btn-sm{font-size:12px;padding:7px 13px}.btn-xs{font-size:11px;padding:5px 9px}.btn.disabled:hover,.btn:hover:disabled{opacity:.65}.btn-default,.btn-default:disabled,.btn-default:focus,.btn-default:hover{background:#607D8B!important;color:#fff!important}.btn-primary,.btn-primary:disabled,.btn-primary:focus,.btn-primary:hover{background:#1D62F0!important;border-color:#1D62F0!important}.btn-info,.btn-info:disabled,.btn-info:focus,.btn-info:hover{background:#23CCEF!important;border-color:#23CCEF!important}.btn-success,.btn-success:disabled,.btn-success:focus,.btn-success:hover{background:#59d05d!important;border-color:#59d05d!important}.btn-warning,.btn-warning:disabled,.btn-warning:focus,.btn-warning:hover{background:#fbad4c!important;border-color:#fbad4c!important;color:#fff!important}.btn-danger,.btn-danger:disabled,.btn-danger:focus,.btn-danger:hover{background:#ff646d!important;border-color:#ff646d!important}.btn-border,.btn-border:focus,.btn-border:hover{background:0 0!important;font-weight:600!important}.btn-default.btn-border{color:#607D8B!important;border:2px solid #607D8B!important}.btn-primary.btn-border{color:#1D62F0!important;border:2px solid #1D62F0!important}.btn-info.btn-border{color:#23CCEF!important;border:2px solid #23CCEF!important}.btn-success.btn-border{color:#59d05d!important;border:2px solid #59d05d!important}.btn-warning.btn-border{color:#fbad4c!important;border:2px solid #fbad4c!important}.btn-danger.btn-border{color:#ff646d!important;border:2px solid #ff646d!important}.btn-round{border-radius:100px!important}.btn-link,.btn-link:focus,.btn-link:hover{background:0 0!important;border:0!important}.btn-link:focus,.btn-link:hover{text-decoration:underline!important}.btn-default.btn-link,.btn-default.btn-link:hover{color:#607D8B!important}.btn-primary.btn-link,.btn-primary.btn-link:hover{color:#1D62F0!important}.btn-info.btn-link,.btn-info.btn-link:hover{color:#23CCEF!important}.btn-success.btn-link,.btn-success.btn-link:hover{color:#59d05d!important}.btn-warning.btn-link,.btn-warning.btn-link:hover{color:#fbad4c!important}.btn-danger.btn-link,.btn-danger.btn-link:hover{color:#ff646d!important}.toggle-on.btn{color:#fff!important}.toggle-handle,.toggle-handle:hover{background:#fff!important}.btn-round .toggle-handle{border-radius:50px}.btn-rounded{border-radius:60px!important}.btn-simple-default,.btn-simple-default:hover{color:#607D8B;text-decoration:none}.btn-simple-primary,.btn-simple-primary:hover{color:#1D62F0;text-decoration:none}.btn-simple-info,.btn-simple-info:hover{color:#23CCEF;text-decoration:none}.btn-simple-danger,.btn-simple-danger:hover{color:#ff646d;text-decoration:none}.btn-simple-warning,.btn-simple-warning:hover{color:#fbad4c;text-decoration:none}.btn-simple-success,.btn-simple-success:hover{color:#59d05d;text-decoration:none}.btn-full{width:100%}.btn-no-radius{border-radius:0}.nav-pills>li:first-child>a{border-radius:4px 0 0 4px!important}.nav-pills>li:last-child>a{border-radius:0 4px 4px 0!important}.nav-link.disabled{color:#6c757d!important}.nav-pills>li>a{margin-left:-1px;border-radius:0!important;border:1px solid #1D62F0;color:#1D62F0}.nav-pills>li>a.active{background:#1D62F0}.nav-pills>li>a:hover{background:#fafafa}.nav-pills.nav-default>li>a{border:1px solid #607D8B;color:#607D8B}.nav-pills.nav-default>li>a.active{background:#607D8B}.nav-pills.nav-primary>li>a{border:1px solid #1D62F0;color:#1D62F0}.nav-pills.nav-primary>li>a.active{background:#1D62F0}.nav-pills.nav-info>li>a{border:1px solid #23CCEF;color:#23CCEF}.nav-pills.nav-info>li>a.active{background:#23CCEF}.nav-pills.nav-success>li>a{border:1px solid #59d05d;color:#59d05d}.nav-pills.nav-success>li>a.active{background:#59d05d}.nav-pills.nav-warning>li>a{border:1px solid #fbad4c;color:#fbad4c}.nav-pills.nav-warning>li>a.active{background:#fbad4c}.nav-pills.nav-danger>li>a{border:1px solid #ff646d;color:#ff646d}.nav-pills.nav-danger>li>a.active{background:#ff646d}.pagination>li:first-child>a,.pagination>li:first-child>span,.pagination>li:last-child>a,.pagination>li:last-child>span,.pagination>li>a,.pagination>li>span{border-radius:100px!important;margin:0 2px;color:#777;border-color:#ddd}.pagination.pg-primary>li.active:first-child>a,.pagination.pg-primary>li.active:first-child>span,.pagination.pg-primary>li.active:last-child>a,.pagination.pg-primary>li.active:last-child>span,.pagination.pg-primary>li.active>a,.pagination.pg-primary>li.active>span{background:#1D62F0;border-color:#1D62F0;color:#fff}.pagination.pg-info>li.active:first-child>a,.pagination.pg-info>li.active:first-child>span,.pagination.pg-info>li.active:last-child>a,.pagination.pg-info>li.active:last-child>span,.pagination.pg-info>li.active>a,.pagination.pg-info>li.active>span{background:#23CCEF;border-color:#23CCEF;color:#fff}.pagination.pg-success>li.active:first-child>a,.pagination.pg-success>li.active:first-child>span,.pagination.pg-success>li.active:last-child>a,.pagination.pg-success>li.active:last-child>span,.pagination.pg-success>li.active>a,.pagination.pg-success>li.active>span{background:#59d05d;border-color:#59d05d;color:#fff}.pagination.pg-warning>li.active:first-child>a,.pagination.pg-warning>li.active:first-child>span,.pagination.pg-warning>li.active:last-child>a,.pagination.pg-warning>li.active:last-child>span,.pagination.pg-warning>li.active>a,.pagination.pg-warning>li.active>span{background:#fbad4c;border-color:#fbad4c;color:#fff}.pagination.pg-danger>li.active:first-child>a,.pagination.pg-danger>li.active:first-child>span,.pagination.pg-danger>li.active:last-child>a,.pagination.pg-danger>li.active:last-child>span,.pagination.pg-danger>li.active>a,.pagination.pg-danger>li.active>span{background:#ff646d;border-color:#ff646d;color:#fff}.pagination.pg-default>li.active:first-child>a,.pagination.pg-default>li.active:first-child>span,.pagination.pg-default>li.active:last-child>a,.pagination.pg-default>li.active:last-child>span,.pagination.pg-default>li.active>a,.pagination.pg-default>li.active>span{background:#607D8B;border-color:#607D8B;color:#fff}.slider-default .ui-slider-range{background:#607D8B}.slider-primary .ui-slider-range{background:#1D62F0}.slider-info .ui-slider-range{background:#23CCEF}.slider-success .ui-slider-range{background:#59d05d}.slider-warning .ui-slider-range{background:#fbad4c}.slider-danger .ui-slider-range{background:#ff646d}.modal .bg-danger .modal-title,.modal .bg-default .modal-title,.modal .bg-info .modal-title,.modal .bg-primary .modal-title,.modal .bg-success .modal-title,.modal .bg-warning .modal-title{color:#fff!important}.modal-content{border-radius:.4rem!important;border:0!important}.mapael .map{position:relative}.mapael .zoomButton{background-color:#292929;border:1px solid #292929;color:#fff;width:15px;height:15px;line-height:12px;text-align:center;border-radius:3px;cursor:pointer;position:absolute;top:0;font-weight:700;left:10px;-khtml-user-select:none;-o-user-select:none;user-select:none}.mapael .zoomReset{top:10px}.mapael .zoomIn{top:30px}.mapael .zoomOut{top:50px}.mapael .mapTooltip{position:absolute;background-color:#474c4b;moz-opacity:.7;opacity:.7;filter:alpha(opacity=70);border-radius:10px;padding:10px;z-index:1000;max-width:200px;display:none;color:#fff}@media screen and (max-width:700px){.row-card-no-pd [class*=col-] .card:after{width:0!important}.row-card-no-pd .card{border-bottom-width:1px}.row-card-no-pd .card:last-child{border-bottom-width:0}}@media screen and (min-width:992px){.main-header .logo-header{line-height:52px}.sidebar .scroll-element{opacity:0;transition:all .2s}.sidebar:hover .scroll-element{opacity:1}}@media screen and (max-width:991px){.main-header,.main-panel,.navbar-header,.sidebar{transition:all .5s}.sidebar{position:fixed;left:0!important;right:0;-webkit-transform:translate3d(-270px,0,0);-moz-transform:translate3d(-270px,0,0);-o-transform:translate3d(-270px,0,0);-ms-transform:translate3d(-270px,0,0);transform:translate3d(-270px,0,0)!important}.nav_open .sidebar{-webkit-transform:translate3d(0,0,0);-moz-transform:translate3d(0,0,0);-o-transform:translate3d(0,0,0);-ms-transform:translate3d(0,0,0);transform:translate3d(0,0,0)!important}.sidebar .sidebar-wrapper{padding-top:0}.nav_open{overflow:hidden!important}.nav_open .main-header,.nav_open .main-panel{-webkit-transform:translate3d(260px,0,0);-moz-transform:translate3d(260px,0,0);-o-transform:translate3d(260px,0,0);-ms-transform:translate3d(260px,0,0);transform:translate3d(260px,0,0)!important}.main-panel{width:100%}.main-panel .content{padding:30px 10px}.main-header .logo-header{display:flex;width:100%!important;text-align:left;position:relative;justify-content:center}.main-header .logo-header .navbar-toggler{position:absolute;top:auto;height:100%;left:15px;opacity:1}.main-header .logo-header .more{opacity:1;position:absolute;right:15px;color:#545454;cursor:pointer}.nav-search{width:100%;margin-right:0!important;margin-top:12px}.navbar-header{border-top:1px solid #eee;position:absolute;width:100%;background:#fff;transform:translate3d(0,-200px,0)!important}.topbar_open .navbar-header{transform:translate3d(0,54px,0)!important;border-bottom:1px solid #eee}.topbar_open .main-panel{transform:translate3d(0,125px,0)!important}.nav_open.topbar_open .main-panel{transform:translate3d(260px,125px,0)!important}.navbar-header .navbar-nav{width:100%;flex-direction:row;justify-content:center;margin-left:0!important;margin-top:10px;margin-bottom:10px;position:relative}.navbar-header .navbar-nav .dropdown{position:unset}.navbar-header .navbar-nav .dropdown-menu{position:absolute;left:0;right:0;margin:0 auto;max-width:280px}.profile-pic span{display:none}} \ No newline at end of file diff --git a/public/assets/fonts/line-awesome.eot b/public/assets/fonts/line-awesome.eot new file mode 100644 index 0000000000000000000000000000000000000000..fde50df85f8d0b6fb65ff0c44d494e551b4cd298 GIT binary patch literal 112916 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

NQbQi{ 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 H*7yGh>wpK% literal 0 HcmV?d00001 diff --git a/public/assets/fonts/line-awesome.svg b/public/assets/fonts/line-awesome.svg new file mode 100644 index 0000000..e3ab5fd --- /dev/null +++ b/public/assets/fonts/line-awesome.svg @@ -0,0 +1,2628 @@ + + + + + +Created by FontForge 20120731 at Sun Jan 22 13:00:30 2017 + By icons8 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/public/assets/fonts/line-awesome.ttf b/public/assets/fonts/line-awesome.ttf new file mode 100644 index 0000000000000000000000000000000000000000..8f99967b53b8de5d6a40900a7549c7d222264605 GIT binary patch literal 112728 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 literal 0 HcmV?d00001 diff --git a/public/assets/fonts/line-awesome.woff b/public/assets/fonts/line-awesome.woff new file mode 100644 index 0000000000000000000000000000000000000000..0b3db496f8d4225dcdef4d0d8b6668e93f5c914e GIT binary patch literal 57436 zcmZs>b95)q(>DBxjg4*Fwr$(Cv$1X4wz;uw+sP&yTTi~f_x|&(IoC|r)m76yb!z(b zOt-tdm>2*E@FROV0JxtEP`k!|+W()3iK)o`*a`g9Vf_HdH3{5CUYVZh$0`3um->N$ zf{r1qv8|y4002ty|8YQ4M**nc#%?YIKb*@C2l_w!0unJdbpEm1s}`n)CO>U3{MgX_fDJmhnBC%s{NW6Kbb=p{fD!^VTiCjI z{BV~505B&207j?%rP60(Z~S8i`on{f{f8P2i4$8xkDqpd{Qu9F0Qes;hMl3UDF86@ zU!Pxo>bB!08<`yJoqzf}O8@};LInWu*g*oDTRk?64NMFS00+L9lkT@4Z2Fk(85jb4 z6O}Qih!5XBGQiOY{yOmB^(+7xU|3cF;Q#EsZ~X9s@Q^`32EP%0Dg=I^^g#psz(803 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

K$P;ddUU~TV2jq1Wc#ni+3f)hdx*a4l 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 QF0vfj@413PH8K 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 nTkCYWGeijiH;0bV&fg327K1?#}t}t>3%%{{Do6 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 literal 0 HcmV?d00001 diff --git a/public/assets/img/menu.png b/public/assets/img/menu.png new file mode 100644 index 0000000000000000000000000000000000000000..8cae69b84719f08e68e46ffb160e0f740c55e495 GIT binary patch literal 2719 zcmeH}=~I(g7REyeNDw6vWD&tPAqgOxO^`*_Kp=UE0fip62%>_>1d&a^phzNOM8WjS z62fMWMkyLlS{9uE8YF6vMU5Iaf(S?nLO_N^8-a;aQ!{_T)KpE)hjX8*^WnMoR6V~s z_xzqf$_DK%+AtVw14tzYt5o`4~)bLc0A{5s)i60nPe~I z!8r56BOB9p!L=MrofjvOYKRH&+1BxNgq+NizqJEvai(Q0VX{Ebq}D{x$qE=gC)9{g9V$JqW!jl@0mcFP~%HubJ28f5a*$|nM`_*%N(cHP$V5~~` z&isAp24L8H$2N3k^GLJC37ZK7KP+N_M^s~fh?8ICy0~`bSSMB3N-e;5Xk5KnDgoG` zKNdyqqc^>;(4M2oL=7LLY%v0n&$027Ds1ea9}+V(yG9DUykl%q^`^ZNT3ktvS#F?4fJx8>s2kCSCLEW?*Fx~HakRPqUcI%#$MUNUW#M}69Xh; zut|rm4?(=k$vF`Ew+Q6%x}Hdg}bpr~@O9vX1Vw`g8Mh?Wa`1_O@2`My zN^V^Gpg^D`^z!dARZi1S>C6yvfu#Fme3e}Ld??FV4UwWpxaX*bu!`E&-Hrsfl{>y& zLju%^Ka7UxFw$UNkG)C)UOk#kf@_TscIPC(wSq;S`I-OoS7Pg0+h{T?@Em@+v?WCL zP}aYi-Mz+}C&`%L1;~s{UTR)=$s|QGEAdgq>GA+UvLTxR8DOszKbo6tR554@)llEY zV`!fu(OLM3aPrBNjsx}@35`d8nfD3KOn6Z5$-WJ3^q0Jv@|~y$p5RR%=YvE0@l8f( z$}Nje)hY)KFie!426nowPH8xrpXj!;_mdR%30SS(kxT~ucUvCr}W17!s8LMQh^oRmsEy5==-A=n~;2Fz#=@t`bb79Dz-JMMJ@_z5#!q?MWasr*kpq@go!%g%9}ksj1agz z-t-dpNm1r>sh;_kjxX!W`%Lx)W-HWk5^j}c1^z)WV z#kSyj^s}BrC*B|u8mD>lWSM90Sf0o`Jds6sgZJrOpxqKC+5P6v|*rS4Z=XbeWa z+g|6UXne92veCK-4%Z45=r5=GrYT8fwo+H{Hs!9hiMN;%Qgr-pir?e>nbl(uurD`W2M-24x`x_?n;BeiriA_}-0 z^rmiK=h$pWdio7vU5`n9h~MMGQ|dJ+=ktM4`QwZT)zg$e@Y3$TyY7T#T|3E#*N`tY z=8Kd26_>crN0p9$ZcikQ;}ymW*T0*={o(Q0k?7EzHlPyM$$#PTpf>_nk5BbS8{KGC z>gJ^hf|jmp%S`>4(^rI_uNHCN`-;7XeaM4-eRRWE0I6$zxQ#4#LDcw3o~1Zd#hUN| zccmw|KCwL#u83PI5C0L8dR6@QKGBznapy^}X<`EPu#;Ob4b|tIp&H_ugyyaL9i)z*tV?W@pV|hX4Cp ciM<9(4XJ%yFa6C*_2Yzreu3m0J~5oX1MvgIZ~y=R literal 0 HcmV?d00001 diff --git a/public/assets/img/menu2.png b/public/assets/img/menu2.png new file mode 100644 index 0000000000000000000000000000000000000000..52c68ada224303e7fee06719b4778af25d200968 GIT binary patch literal 3448 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 qLt`0Z;k?E)PiN4Om4kpmOH~$CY|K~yg literal 0 HcmV?d00001 diff --git a/public/assets/img/profile2.jpg b/public/assets/img/profile2.jpg new file mode 100644 index 0000000000000000000000000000000000000000..d13cf9dda9f2c892f42f22365d8153d70d514308 GIT binary patch literal 11365 zcmaKSWmFv7wsqqcG)QQILr8FU32wpN1C2GL8+Rv2aA@4!-CYvggA+Vhf;GV%KF)df zp7-7u?|$n?)!w_-oNMk?tM({+T73EmcqQ!)wgdp=+Svx!13$n36omfrH?aVA#L3R)}cT;;d4pw$HfUuamy(!4n!kNm${q3v z>LlncLi0Dd;B))0VKy47zg?VdMQFtTib|!cq)H`e=V(F2!^+D7;^5+^;uB!y;1S^G zzV;5lK;AUax5M&n+Wapszm(e^&b2PUURF{(ZSFGor2+hAH<>uzb>c+)t z=V-;oAs`^Y#?Hyc$;tBU!Q$irbvAWpfjZItn?cIL3FHX2cLv)*ss3U#HM4VZ7NL1o z`d?Fk*#ATOf9C3cI4UXq|6L)FzY_2_t&_95#eeJlKZ%_*J?t&m)GeIsTpU3b&+fE; zf$aq)9W6|q?Ho1j>^}WFi>lUk&UQ}LcJ@?~l7D55kLs-s7;0|k=Jf7wjFOU|Jk-hA z6biDCmlC0QW?=<`%>|{nWTdzyxuql|q$D{wr1|(I`T6+y#o47~I0U5l#rgh?m9hi5 zKrEon|HhjCH&*&TV*e@!i2ZY9DGNuitA)9YqaB3m?`aEy|Faf}|H$_*toeV|BKaS& zY|moY{yMq;<7EGP=(&RaYW`EY&z*mY-vatv@s7`>{R9W#{9UjB^PcBR2;pfN5ClN{ z$B>>|NXXAyBxDrizYGNx2Ey|S@YkV#4gdg%0EB1FsAzZq#Ai8(CBDs2l|1YBVp= zOdSF^3DM(nYb9uj{(PPKsqQFwViw3nmnTI}{N_120^(m$P@c2!H#-6%J`yzt0kXIn zifJ6pOVmFBxwT(89j1Ots5{aUo&>^(>ZZA#mH;o15T2DI;RD0~3%GDn%Z5*Tne+qH`H9Qij^lLnFxKHafh@zm0l? z+Yzla*#`R-%ox{(`YoQxm#yVOtX`@NDd#7p51-ll+kL5_G;wi*rh>$xi&CUxQJ}pH z>5UaxV`6T4oLgc)Z>Cm>MMA%2Zkb-~cjRrQnk}mj@#rd)jWV=EBFWM; zilgNMqhKFtexJkT72;HVWIb*8j7ao=4;ou}xqEErCo02A)jk=RX0L@}@Hw_g;`Zo4UjXxK7(S$M*VI(^AIMxSk@ESQ?tFixb(IU+B}Iu2c1@_*2<4` z@fY*qP1*aFLgT){0bw^U#XL7mtd95}*~8O?-qEYC=9|*h$n?R4KVYVdYek(S3^nDn|X@!r723Cnfj&VEsH>L3nx8br(}r3*^zjrwV8RP~`id zTYrG@qGnOuSnJB|Ou7j9(_TGJN#=lZEYBC_^;E=_9!K^{h@>t{&a>+kK5JUT5!Tvo zqr{+DD)`eqn(Sgh_$CNNC3`4+u7E=o|0%?8pYa6aFOToJwNQh^wo`AIg|QO4apbe( z$UAlNKds9PCKWu_gR(TGV8R;i?7?ol&6+={Q5C*>SVzs! zeVOxhS!ll#(|UI?vUP~H|H!5=o6;^xc{T-wg(ov&*Fg0>W-kGQS{fSb;tLaLyJ>tH_!f6x z{(L8(My0f$VGoKzJA>@xSlfFD$x*?%Ghb~u>t8;Aw{mmJxQS8HLQ92wY>Vs&bSqGT z(NPo5XwA5LL;K#V+Tf;6TnAN32YWlw+YYEGeYqii7TZK4djN9EUy-=~tpQ*1{isL{A zp^Re>tAI)r*`$JR@(G;(s}Q#+O0FN$i;T8iZESyg@l^vc8DU>+#^mM!7B zxu{C9SJ!Fr%l#hJ7vqL=MV{{}B79J?W|2^XX>?G7>`PtnhBz7^O5x>)P5$0mRe{%n zVbA1zX4W!jNn_RMz~qnfUSyux6JU;yC^W@HU)s++-eB_&3E$$uvBL0+KXQ6s%%ok5 zi}fFPp{zMj*YEAkiQ4ZT(6hg_s2s1q*kGQX5UA3kgBgIaiDd~m5K0$%s~Y(*%Bw;s z=AHm%JU}}?Wm0AJ>1LXV9SF$E&Xy#yUNbV#Rl@5Fl`|2U50C5k9K@&5LUCEg<>A~Y zg_y6;1R(jDbR5$BWTW@jWa%@SNI6Zo}NU!lBF3`vbjD!@+j=eriHG;3dI;SnRRz3m-&VlC%*3V z>wHF&4t=jtygFqX9V3`g*trCct+D%NuhgH1R-`~E{L`!RSzOMgAvHry-|-39YifgU ziB%bv_7(tkc+SbP6c567ipHbnZyPlDOc+h~4O+PPIJ@H_chS2b$NrUuE0NOV#&6jo z0hE?ihgBuYF>kn>mFz9>Z;iub3EKw@yFnjM7qqD*HHo73v8{R6jj#`)4CAja(gxPD zl=2;ihxoGzzA5>5$ED;Ll`xL20T5>6Yk+lEc#Q-+O_@JF{?_7$gFcV$R&v&tfh@B2 zHVkdque9<-0|&Z9-jmtXwU?HP3S&Jg2Ig^hQ*Gb7YBtF`@w!g?DpAm92EX{yh$%Bz zvX<7^(uu(%+cUI$R3+0QyzYRvkL-+2u@@8du$NszV7X?WOvP*-yk>4>e zt@%*1%)!ALXY}Y)ho0b+y)VKb*F}x$N1#n~%G#a^IlmTO-V>l?`cij5h2vyT2fyJYT#+07 ziOJZ-ULR+MnwqAN{U!Dh5F4G(5!dX@cWe|-yOM<0XB)andj^I4sRxYrF-begNhiz8 zE!(i|CxG3^kM35)p^DD3s?5<<$*$X$q9g)o?dsK}k~%F9hmlFTUSlVYgozd1k-!n_ z-bZ5+1vG9=BI+SHVTq7U=OpHzBqrCF`q@tOEBU*^yb4>CNn51fIzo{LNHGvT17m)- zl~&t2uRAPAPpRhF~}Z~T>)gm`xt z)QfiaBXaG1Qy_;_8#+4LO7Ox*1&@OCIdw&f+%P0lqmGNj*+PSHNA64e!j#K2W0F## zqhA%fqe^I>q`lfau(?nu6+PXED3!2?a17nQ&!_9i+e@iqt)(0O>oj0j$#6dkRcQ}E2> zlz1fH#td$|$Bek${1)MdE56oA;v)oLXh|q%0xG3_A6&>;ZFVw+)rMWl9h<#OP=mUt z$9_5)CR0*UUshvha4ZTt1<=_ck2gC41JOl_x`2(I%OP)z8@r0>vaHvIk-}EIO<#Za zHc6-%I4K|9g2hK~AH`EcY`Ij2YC_GOqe}Ie!fm{C%_B*$vp!Ggb?7` z#n=m)GD|180cU1r!@(RJ+TwFyjfD@GA1Cn+x|amO-_#MA4%9kri_!hFHsHLp&({gL zjz==FEQ`8uj1l{L4H47_@AKc9z=Aj*qv9h`{Y2`;b>@Ucy9=_t-*mk4Z{bwuCqU;w z#_9xL!9MRy|76@aiq#c_g5I@iU54V^uDnj!=qd;wL9K{fY5UTk1LT{@@5wjrtMev7 zPIr;Y)}4*xm78CENEGte$+v#{;oaIc7eJSlC>&=muQDvstO{D#;*;41_40$$;7cfy zjNLXhj+mWprKaK)smlrU0o|7OP-z`bwUaBhSo6wiIkiudGQkC$YNKC9Z>_~rkW?;b zb$If0+uc*0E(9j3ob<@%n}>0Sxz(4KWh$?eNJGm$7peju+B$1%rItC{qIU$}p3+k0 zQAWUTWQUN_R}6;iy(PpQ>tp@Oy@xf!JmFsy`Br!sG}5%snHR|^W}N0vO}KvCD{D`3 z#MF+0prEdSZBxZ`ti|+J`fzbA7qOP;oI|$-@|Iemm-cD-#&fbdX6J0u$~dJla+{6& z!rm8#Spj8|EYe^j_8-VhbyIG+>vs4Byk-g9LU_UmiyCrT{0^%#Rk5+88f&~Kdj+Hh zSAJ?=*D74apyeH-qqJuTl1hU~u^|yf=qg`k!;nMtc98NRmo}O~1La{ci>QgnAq$By z(QEp2fxy#Lq{xAFlN@Y14oVB}Z6PW#kNISU#m?PbVt2lnjaok>zA`)QNr=$oWrf)5 zIRE)54pfj=oqg^&mDk;ZTq^*@b~3B}N_CowxOBm)G7%2>V{j*r-~r9ANvi)C$U#&qeqPS{8*-JS1FBX7)JO zx$;sOq3JEG>@&SQc@E|w!lNLGC4t#l6@5G%C8f8?_@mCyvhJjvgK1P;+Pl*Qz#|$U z4o@il>Y>dm`KK*&Z+&B{7yK*5gg46x6lwEOz%;DyTaDi0KtiNHX{L4*U4e_$$-LGA zQ*<@)cnY|YoC!I=7kfiM6u0**L*YQQBbZs>jTQ9(i2{C0 zTr$aFb+P9r5a$Wtn;8@vht~1QE9{`?b=i80BDL75*r3*$W#G`J9`C)8OeXbju9Xqg zzJ(zT_1pohFaS5tY#6p$+NK%$it2;sZx{iMcX1rUt3H+Fv?+N0mtg!WM$B3O;@JDD zEoiZkip+Wc!`XskP4jq#$$9bF=!pQdeZR6>MW0%Jbvp~INy)qZU27{Zh?B*D!TIB- zAlCWonygv-sQ@A(n^p?T9NQUJawOZC-$%0j9}EVJo&ZuFAy>2MRry+;#=wmveE8Ne zW3>3^F@2*oM+z=3N&BzbSHM2>V?<0hqCcLWa3yENXKz2aDQfy2r>rtnOj@z9TvPUt zp^d=c;x`qVw%i|xH__f#MeJpna_tQkMY}=!Lmojo+r%@sdR(OzqF>gi{ z5cyD%NcWIq%c#9W43;j6SPnfI#o-}Hj$%nrt@wzbVH9v83WTkuuB1h3K>pCS3%Ta} z;!V(oBx72JOB43vEv2PG!t(KCR&!i(_Jw(t&$~jJ9)(gSL*G7j4V_gr?xVFSxP zp_tT#@&ZCDo7fJ2@sY(M2jz<@>iIeZ1n0dx9#k4CWu4K1w6!-Um8(1Wd?s2TidqAG zJnWhx{}cO`D1h3ZMdSN?D13ph>t8UgKu)jy3&Q0r zT#m$Q4lrGJp!()%J}qSS30CB4;Hp85Ga9&O>;ByGdxDRdgWXj6%UI}32SWaUxBLw5CbTBb97(_plL`ew&YFH??mmV+g^7gSWk2{qFKT8sVX ze|`9!o_VKFE9b|M+@9UiyWi<$JCk=mtnE$Hbv(1iW26Ey2J$F83Xevd$t-PE`sH3t;19&W3P+I4Rq)vct!AVM^j#G0foaNrr&W^hC+ z6d9qV+`%^4nM-Z^9~v@r$X#II#xW{9Ewo;XB!}I`rq#}8Rzfa^ZZJGC>(E`WVNMuowggJy0?5_(9U?& z97+K`HIGQK^oZA!jPHB2x~me^b$ktdm83GN@KEuBPvaJ3D#%64=2if#E$I8 zQ76~l^r8^l=((WTOr~g1ve!<;Hh4DH-n6#1q^MQOb2LgrmcEs84fSIR8jeVxq3nF9 z?Kju7>(wDbYQK?G?*eY$#uOSTd-+{AKLH|cMbE1C)=IThSDpaFK00%5cq%4sv`3HC zepby!cjXE$2S$xUei3eCrwyGR>M5CiH^d#?T&UNAtGs>9x^- zfZfaygFegHcOU{pg9aBW%y{u_9xqURdwWaeQk3~4c{S|aadVQZYvyv@4AIG<;Sb); zdok=${@IRr@~oy&nW1s(kJ=mqd#ZbaH8@oTs-=Jh<&x?X~S0l&O&iE_95>0^fFe53xf+chqk-5Cr^Nf7)r~5 z-AeuNR^)*9F>Rf%2W4b#zaO;-s5kC%o6nghk(kbdO~{Lc--pf z+&KVu+pG(2+MT6e+T}ka%g?AM+S&T5dGKjn3x5{ndk{UvQ5z?V zHHRe4d@fQtTVw_aDDSaB=HID)D-$AYusN@EzYf1#R|l?Xde-bx~9q^n^Gb^0FReF z6cx!kf*{`s0JlelAJD33u~b|r>9${PE&AG$g*Qd7s5Y07#Fkd;�?eYi;(-&SnY_ zXm7JS;!uWd6CWRDgf+cnJXYRCls0Xa!2MA&*ZI=H8>3@fRh^8(Wcg&?<3-2lIe4 zB5Dg_hiP5QF009{zB?s*r8F0^ ze-ITS(NgYxtRLZy(?hbtBI_#;35Q@16|w2=Z|f1Su1uyvs9%G+W?ylgHy3rE0mtYe zr|aU-+MMNf%QAeYf9De;lMC|tWs#Q1dGTh+ic4YFk6sr$shUBwdlRuwf1jMFPq&?(QJDdDTEtLv4H~mSXPgCu$33>CsVU?8 zL`KP%4!g!x(fYZC4mx&Vw_-;}FnF=@yfNO4VvZbnS@bn!`m?Mj#$Gazig~ z>7C8AUgyf=8WR%!ka6k3%7`|R5QV>x#$@xD4XJoxh#jK4a&;|1%4sv$)FH!~{J0p4 z6STK);6i%~a6Ue)e#|d1Bm(zj8xwJ2!&oL{B&k@4x}Bqz__)RPU3PsV_WZVw$$zk6 zclfQG!pAO-^<7L(c#RE>=$&vcPwqp#A`4y_d~wt%gI;gN6I-t0Q9|FnEgXy<@9O>5 zc5y54v0hkfBsESYF=q%=qx++xFowac&#HMx7&n$-Giz!7{S~nz`TqDzb`zxHrUMCDxQ+MSPrr+io2Q(~3SunDjkM5h!cqbkjVee1FEz3%JESLlIWTKBRi8kQ?Q-EMck&0jmBwPf%Nwl0&hmIQdh^c&Yl z?QpMV3jN17-@}g!nnx__$iKZ!yCLQyMEIax-a=>Bjt9Q;cHvDMV5;AjEbm)ylD2Rf z+6bJur=O;ux|FKNKn#WL+JB4EzlkC5a1jay4@GkpdcZ{a>^ZMS&F(g9UrIYAr}|*= z^l0+Vf40-9%dC9!`~}?q*htz5Woa0)YlP)U2PW48BWF&F`IiGo3WdSH&gT?}U0!WY zpRq)Cgwn>;KK`U7)iqVIdjiCU&`6J|y?g>VAiO|}uJfU;)fRNNh);L4`$-un7^82O z`EVDCPET2W9sj%VtK$m=%bI$uNA_)lb;O2jO8U2#&1z|!!C^KB z^j6(Uh{@Jr=kTkssWg*l0SxX)LwWrz^Voo;G2FbOsF|u5EsDZpgn_cmzWB|RGK&^j zN@kNY;`u54Ronror0nT9IjY+L32wf8dG?RPCHwydU?O$ zaZeH%K-F>>wm9@vQl6Z!1+D%>wrlHX?n|X=u2Cl^TjX{WeTEL^d)-aZHb8-TLA-`| zqu6AxX63G7YaDe`JBx+ox0qGTE7wNxk2&YL41VN~GbKy?Foro`Bm8@J2`2i-7aHw5VmFX1%JMdwT?MUfH z9>qnPv;XLt`oWVy-5(Pw@FR*GMHhxO7Td=g8;a4`;r9o7Eps zC{@R|wLi=E-Bf*k7QMr|H+=Y=sg@xEHVDb&E-yK`+*Ah$LvM9Hlx2#FrPNS~0S%qJ zEe0$XNMe#mB3Uaw`KwqGb4!W2mA;A93u-v~{QPCz9{K(NcqQhXm&)}+n(5HIkJmo-+yarZr83`CCclA- zLpPTpZ4YhQk}0^uV7!L-<;1iL;;EB6V8_=<8=MUQUDAP4ho|;j2cWL@Xlc0iJt1 z;L;P~byHrkGinT4Cizq{{MwDH;o%7|YgR{(ujwAHU7(ROn*v7JeMh6Nb!kb5NqU#q zTtZ0E2E|o*Oxp{j@t_<@fodzI^hnCBwtGIvdSlU#Uo5h(>HVyyE&wNxe0byf1XyvwUK7ET2ImZP{eb0?i:null}catch(t){return null}},reflow:function(t){return t.offsetHeight},triggerTransitionEnd:function(n){t(n).trigger(e.end)},supportsTransitionEnd:function(){return Boolean(e)},isElement:function(t){return(t[0]||t).nodeType},typeCheckConfig:function(t,e,n){for(var s in n)if(Object.prototype.hasOwnProperty.call(n,s)){var r=n[s],o=e[s],a=o&&i.isElement(o)?"element":(l=o,{}.toString.call(l).match(/\s([a-zA-Z]+)/)[1].toLowerCase());if(!new RegExp(r).test(a))throw new Error(t.toUpperCase()+': Option "'+s+'" provided type "'+a+'" but expected type "'+r+'".')}var l}};return e=("undefined"==typeof window||!window.QUnit)&&{end:"transitionend"},t.fn.emulateTransitionEnd=n,i.supportsTransitionEnd()&&(t.event.special[i.TRANSITION_END]={bindType:e.end,delegateType:e.end,handle:function(e){if(t(e.target).is(this))return e.handleObj.handler.apply(this,arguments)}}),i}(e),L=(a="alert",h="."+(l="bs.alert"),c=(o=e).fn[a],u={CLOSE:"close"+h,CLOSED:"closed"+h,CLICK_DATA_API:"click"+h+".data-api"},f="alert",d="fade",_="show",g=function(){function t(t){this._element=t}var e=t.prototype;return e.close=function(t){t=t||this._element;var e=this._getRootElement(t);this._triggerCloseEvent(e).isDefaultPrevented()||this._removeElement(e)},e.dispose=function(){o.removeData(this._element,l),this._element=null},e._getRootElement=function(t){var e=P.getSelectorFromElement(t),n=!1;return e&&(n=o(e)[0]),n||(n=o(t).closest("."+f)[0]),n},e._triggerCloseEvent=function(t){var e=o.Event(u.CLOSE);return o(t).trigger(e),e},e._removeElement=function(t){var e=this;o(t).removeClass(_),P.supportsTransitionEnd()&&o(t).hasClass(d)?o(t).one(P.TRANSITION_END,function(n){return e._destroyElement(t,n)}).emulateTransitionEnd(150):this._destroyElement(t)},e._destroyElement=function(t){o(t).detach().trigger(u.CLOSED).remove()},t._jQueryInterface=function(e){return this.each(function(){var n=o(this),i=n.data(l);i||(i=new t(this),n.data(l,i)),"close"===e&&i[e](this)})},t._handleDismiss=function(t){return function(e){e&&e.preventDefault(),t.close(this)}},s(t,null,[{key:"VERSION",get:function(){return"4.0.0"}}]),t}(),o(document).on(u.CLICK_DATA_API,'[data-dismiss="alert"]',g._handleDismiss(new g)),o.fn[a]=g._jQueryInterface,o.fn[a].Constructor=g,o.fn[a].noConflict=function(){return o.fn[a]=c,g._jQueryInterface},g),R=(m="button",E="."+(v="bs.button"),T=".data-api",y=(p=e).fn[m],C="active",I="btn",A="focus",b='[data-toggle^="button"]',D='[data-toggle="buttons"]',S="input",w=".active",N=".btn",O={CLICK_DATA_API:"click"+E+T,FOCUS_BLUR_DATA_API:"focus"+E+T+" blur"+E+T},k=function(){function t(t){this._element=t}var e=t.prototype;return e.toggle=function(){var t=!0,e=!0,n=p(this._element).closest(D)[0];if(n){var i=p(this._element).find(S)[0];if(i){if("radio"===i.type)if(i.checked&&p(this._element).hasClass(C))t=!1;else{var s=p(n).find(w)[0];s&&p(s).removeClass(C)}if(t){if(i.hasAttribute("disabled")||n.hasAttribute("disabled")||i.classList.contains("disabled")||n.classList.contains("disabled"))return;i.checked=!p(this._element).hasClass(C),p(i).trigger("change")}i.focus(),e=!1}}e&&this._element.setAttribute("aria-pressed",!p(this._element).hasClass(C)),t&&p(this._element).toggleClass(C)},e.dispose=function(){p.removeData(this._element,v),this._element=null},t._jQueryInterface=function(e){return this.each(function(){var n=p(this).data(v);n||(n=new t(this),p(this).data(v,n)),"toggle"===e&&n[e]()})},s(t,null,[{key:"VERSION",get:function(){return"4.0.0"}}]),t}(),p(document).on(O.CLICK_DATA_API,b,function(t){t.preventDefault();var e=t.target;p(e).hasClass(I)||(e=p(e).closest(N)),k._jQueryInterface.call(p(e),"toggle")}).on(O.FOCUS_BLUR_DATA_API,b,function(t){var e=p(t.target).closest(N)[0];p(e).toggleClass(A,/^focus(in)?$/.test(t.type))}),p.fn[m]=k._jQueryInterface,p.fn[m].Constructor=k,p.fn[m].noConflict=function(){return p.fn[m]=y,k._jQueryInterface},k),j=function(t){var e="carousel",n="bs.carousel",i="."+n,o=t.fn[e],a={interval:5e3,keyboard:!0,slide:!1,pause:"hover",wrap:!0},l={interval:"(number|boolean)",keyboard:"boolean",slide:"(boolean|string)",pause:"(string|boolean)",wrap:"boolean"},h="next",c="prev",u="left",f="right",d={SLIDE:"slide"+i,SLID:"slid"+i,KEYDOWN:"keydown"+i,MOUSEENTER:"mouseenter"+i,MOUSELEAVE:"mouseleave"+i,TOUCHEND:"touchend"+i,LOAD_DATA_API:"load"+i+".data-api",CLICK_DATA_API:"click"+i+".data-api"},_="carousel",g="active",p="slide",m="carousel-item-right",v="carousel-item-left",E="carousel-item-next",T="carousel-item-prev",y={ACTIVE:".active",ACTIVE_ITEM:".active.carousel-item",ITEM:".carousel-item",NEXT_PREV:".carousel-item-next, .carousel-item-prev",INDICATORS:".carousel-indicators",DATA_SLIDE:"[data-slide], [data-slide-to]",DATA_RIDE:'[data-ride="carousel"]'},C=function(){function o(e,n){this._items=null,this._interval=null,this._activeElement=null,this._isPaused=!1,this._isSliding=!1,this.touchTimeout=null,this._config=this._getConfig(n),this._element=t(e)[0],this._indicatorsElement=t(this._element).find(y.INDICATORS)[0],this._addEventListeners()}var C=o.prototype;return C.next=function(){this._isSliding||this._slide(h)},C.nextWhenVisible=function(){!document.hidden&&t(this._element).is(":visible")&&"hidden"!==t(this._element).css("visibility")&&this.next()},C.prev=function(){this._isSliding||this._slide(c)},C.pause=function(e){e||(this._isPaused=!0),t(this._element).find(y.NEXT_PREV)[0]&&P.supportsTransitionEnd()&&(P.triggerTransitionEnd(this._element),this.cycle(!0)),clearInterval(this._interval),this._interval=null},C.cycle=function(t){t||(this._isPaused=!1),this._interval&&(clearInterval(this._interval),this._interval=null),this._config.interval&&!this._isPaused&&(this._interval=setInterval((document.visibilityState?this.nextWhenVisible:this.next).bind(this),this._config.interval))},C.to=function(e){var n=this;this._activeElement=t(this._element).find(y.ACTIVE_ITEM)[0];var i=this._getItemIndex(this._activeElement);if(!(e>this._items.length-1||e<0))if(this._isSliding)t(this._element).one(d.SLID,function(){return n.to(e)});else{if(i===e)return this.pause(),void this.cycle();var s=e>i?h:c;this._slide(s,this._items[e])}},C.dispose=function(){t(this._element).off(i),t.removeData(this._element,n),this._items=null,this._config=null,this._element=null,this._interval=null,this._isPaused=null,this._isSliding=null,this._activeElement=null,this._indicatorsElement=null},C._getConfig=function(t){return t=r({},a,t),P.typeCheckConfig(e,t,l),t},C._addEventListeners=function(){var e=this;this._config.keyboard&&t(this._element).on(d.KEYDOWN,function(t){return e._keydown(t)}),"hover"===this._config.pause&&(t(this._element).on(d.MOUSEENTER,function(t){return e.pause(t)}).on(d.MOUSELEAVE,function(t){return e.cycle(t)}),"ontouchstart"in document.documentElement&&t(this._element).on(d.TOUCHEND,function(){e.pause(),e.touchTimeout&&clearTimeout(e.touchTimeout),e.touchTimeout=setTimeout(function(t){return e.cycle(t)},500+e._config.interval)}))},C._keydown=function(t){if(!/input|textarea/i.test(t.target.tagName))switch(t.which){case 37:t.preventDefault(),this.prev();break;case 39:t.preventDefault(),this.next()}},C._getItemIndex=function(e){return this._items=t.makeArray(t(e).parent().find(y.ITEM)),this._items.indexOf(e)},C._getItemByDirection=function(t,e){var n=t===h,i=t===c,s=this._getItemIndex(e),r=this._items.length-1;if((i&&0===s||n&&s===r)&&!this._config.wrap)return e;var o=(s+(t===c?-1:1))%this._items.length;return-1===o?this._items[this._items.length-1]:this._items[o]},C._triggerSlideEvent=function(e,n){var i=this._getItemIndex(e),s=this._getItemIndex(t(this._element).find(y.ACTIVE_ITEM)[0]),r=t.Event(d.SLIDE,{relatedTarget:e,direction:n,from:s,to:i});return t(this._element).trigger(r),r},C._setActiveIndicatorElement=function(e){if(this._indicatorsElement){t(this._indicatorsElement).find(y.ACTIVE).removeClass(g);var n=this._indicatorsElement.children[this._getItemIndex(e)];n&&t(n).addClass(g)}},C._slide=function(e,n){var i,s,r,o=this,a=t(this._element).find(y.ACTIVE_ITEM)[0],l=this._getItemIndex(a),c=n||a&&this._getItemByDirection(e,a),_=this._getItemIndex(c),C=Boolean(this._interval);if(e===h?(i=v,s=E,r=u):(i=m,s=T,r=f),c&&t(c).hasClass(g))this._isSliding=!1;else if(!this._triggerSlideEvent(c,r).isDefaultPrevented()&&a&&c){this._isSliding=!0,C&&this.pause(),this._setActiveIndicatorElement(c);var I=t.Event(d.SLID,{relatedTarget:c,direction:r,from:l,to:_});P.supportsTransitionEnd()&&t(this._element).hasClass(p)?(t(c).addClass(s),P.reflow(c),t(a).addClass(i),t(c).addClass(i),t(a).one(P.TRANSITION_END,function(){t(c).removeClass(i+" "+s).addClass(g),t(a).removeClass(g+" "+s+" "+i),o._isSliding=!1,setTimeout(function(){return t(o._element).trigger(I)},0)}).emulateTransitionEnd(600)):(t(a).removeClass(g),t(c).addClass(g),this._isSliding=!1,t(this._element).trigger(I)),C&&this.cycle()}},o._jQueryInterface=function(e){return this.each(function(){var i=t(this).data(n),s=r({},a,t(this).data());"object"==typeof e&&(s=r({},s,e));var l="string"==typeof e?e:s.slide;if(i||(i=new o(this,s),t(this).data(n,i)),"number"==typeof e)i.to(e);else if("string"==typeof l){if("undefined"==typeof i[l])throw new TypeError('No method named "'+l+'"');i[l]()}else s.interval&&(i.pause(),i.cycle())})},o._dataApiClickHandler=function(e){var i=P.getSelectorFromElement(this);if(i){var s=t(i)[0];if(s&&t(s).hasClass(_)){var a=r({},t(s).data(),t(this).data()),l=this.getAttribute("data-slide-to");l&&(a.interval=!1),o._jQueryInterface.call(t(s),a),l&&t(s).data(n).to(l),e.preventDefault()}}},s(o,null,[{key:"VERSION",get:function(){return"4.0.0"}},{key:"Default",get:function(){return a}}]),o}();return t(document).on(d.CLICK_DATA_API,y.DATA_SLIDE,C._dataApiClickHandler),t(window).on(d.LOAD_DATA_API,function(){t(y.DATA_RIDE).each(function(){var e=t(this);C._jQueryInterface.call(e,e.data())})}),t.fn[e]=C._jQueryInterface,t.fn[e].Constructor=C,t.fn[e].noConflict=function(){return t.fn[e]=o,C._jQueryInterface},C}(e),H=function(t){var e="collapse",n="bs.collapse",i="."+n,o=t.fn[e],a={toggle:!0,parent:""},l={toggle:"boolean",parent:"(string|element)"},h={SHOW:"show"+i,SHOWN:"shown"+i,HIDE:"hide"+i,HIDDEN:"hidden"+i,CLICK_DATA_API:"click"+i+".data-api"},c="show",u="collapse",f="collapsing",d="collapsed",_="width",g="height",p={ACTIVES:".show, .collapsing",DATA_TOGGLE:'[data-toggle="collapse"]'},m=function(){function i(e,n){this._isTransitioning=!1,this._element=e,this._config=this._getConfig(n),this._triggerArray=t.makeArray(t('[data-toggle="collapse"][href="#'+e.id+'"],[data-toggle="collapse"][data-target="#'+e.id+'"]'));for(var i=t(p.DATA_TOGGLE),s=0;s0&&(this._selector=o,this._triggerArray.push(r))}this._parent=this._config.parent?this._getParent():null,this._config.parent||this._addAriaAndCollapsedClass(this._element,this._triggerArray),this._config.toggle&&this.toggle()}var o=i.prototype;return o.toggle=function(){t(this._element).hasClass(c)?this.hide():this.show()},o.show=function(){var e,s,r=this;if(!this._isTransitioning&&!t(this._element).hasClass(c)&&(this._parent&&0===(e=t.makeArray(t(this._parent).find(p.ACTIVES).filter('[data-parent="'+this._config.parent+'"]'))).length&&(e=null),!(e&&(s=t(e).not(this._selector).data(n))&&s._isTransitioning))){var o=t.Event(h.SHOW);if(t(this._element).trigger(o),!o.isDefaultPrevented()){e&&(i._jQueryInterface.call(t(e).not(this._selector),"hide"),s||t(e).data(n,null));var a=this._getDimension();t(this._element).removeClass(u).addClass(f),this._element.style[a]=0,this._triggerArray.length>0&&t(this._triggerArray).removeClass(d).attr("aria-expanded",!0),this.setTransitioning(!0);var l=function(){t(r._element).removeClass(f).addClass(u).addClass(c),r._element.style[a]="",r.setTransitioning(!1),t(r._element).trigger(h.SHOWN)};if(P.supportsTransitionEnd()){var _="scroll"+(a[0].toUpperCase()+a.slice(1));t(this._element).one(P.TRANSITION_END,l).emulateTransitionEnd(600),this._element.style[a]=this._element[_]+"px"}else l()}}},o.hide=function(){var e=this;if(!this._isTransitioning&&t(this._element).hasClass(c)){var n=t.Event(h.HIDE);if(t(this._element).trigger(n),!n.isDefaultPrevented()){var i=this._getDimension();if(this._element.style[i]=this._element.getBoundingClientRect()[i]+"px",P.reflow(this._element),t(this._element).addClass(f).removeClass(u).removeClass(c),this._triggerArray.length>0)for(var s=0;s0&&t(n).toggleClass(d,!i).attr("aria-expanded",i)}},i._getTargetFromElement=function(e){var n=P.getSelectorFromElement(e);return n?t(n)[0]:null},i._jQueryInterface=function(e){return this.each(function(){var s=t(this),o=s.data(n),l=r({},a,s.data(),"object"==typeof e&&e);if(!o&&l.toggle&&/show|hide/.test(e)&&(l.toggle=!1),o||(o=new i(this,l),s.data(n,o)),"string"==typeof e){if("undefined"==typeof o[e])throw new TypeError('No method named "'+e+'"');o[e]()}})},s(i,null,[{key:"VERSION",get:function(){return"4.0.0"}},{key:"Default",get:function(){return a}}]),i}();return t(document).on(h.CLICK_DATA_API,p.DATA_TOGGLE,function(e){"A"===e.currentTarget.tagName&&e.preventDefault();var i=t(this),s=P.getSelectorFromElement(this);t(s).each(function(){var e=t(this),s=e.data(n)?"toggle":i.data();m._jQueryInterface.call(e,s)})}),t.fn[e]=m._jQueryInterface,t.fn[e].Constructor=m,t.fn[e].noConflict=function(){return t.fn[e]=o,m._jQueryInterface},m}(e),W=function(t){var e="dropdown",i="bs.dropdown",o="."+i,a=".data-api",l=t.fn[e],h=new RegExp("38|40|27"),c={HIDE:"hide"+o,HIDDEN:"hidden"+o,SHOW:"show"+o,SHOWN:"shown"+o,CLICK:"click"+o,CLICK_DATA_API:"click"+o+a,KEYDOWN_DATA_API:"keydown"+o+a,KEYUP_DATA_API:"keyup"+o+a},u="disabled",f="show",d="dropup",_="dropright",g="dropleft",p="dropdown-menu-right",m="dropdown-menu-left",v="position-static",E='[data-toggle="dropdown"]',T=".dropdown form",y=".dropdown-menu",C=".navbar-nav",I=".dropdown-menu .dropdown-item:not(.disabled)",A="top-start",b="top-end",D="bottom-start",S="bottom-end",w="right-start",N="left-start",O={offset:0,flip:!0,boundary:"scrollParent"},k={offset:"(number|string|function)",flip:"boolean",boundary:"(string|element)"},L=function(){function a(t,e){this._element=t,this._popper=null,this._config=this._getConfig(e),this._menu=this._getMenuElement(),this._inNavbar=this._detectNavbar(),this._addEventListeners()}var l=a.prototype;return l.toggle=function(){if(!this._element.disabled&&!t(this._element).hasClass(u)){var e=a._getParentFromElement(this._element),i=t(this._menu).hasClass(f);if(a._clearMenus(),!i){var s={relatedTarget:this._element},r=t.Event(c.SHOW,s);if(t(e).trigger(r),!r.isDefaultPrevented()){if(!this._inNavbar){if("undefined"==typeof n)throw new TypeError("Bootstrap dropdown require Popper.js (https://popper.js.org)");var o=this._element;t(e).hasClass(d)&&(t(this._menu).hasClass(m)||t(this._menu).hasClass(p))&&(o=e),"scrollParent"!==this._config.boundary&&t(e).addClass(v),this._popper=new n(o,this._menu,this._getPopperConfig())}"ontouchstart"in document.documentElement&&0===t(e).closest(C).length&&t("body").children().on("mouseover",null,t.noop),this._element.focus(),this._element.setAttribute("aria-expanded",!0),t(this._menu).toggleClass(f),t(e).toggleClass(f).trigger(t.Event(c.SHOWN,s))}}}},l.dispose=function(){t.removeData(this._element,i),t(this._element).off(o),this._element=null,this._menu=null,null!==this._popper&&(this._popper.destroy(),this._popper=null)},l.update=function(){this._inNavbar=this._detectNavbar(),null!==this._popper&&this._popper.scheduleUpdate()},l._addEventListeners=function(){var e=this;t(this._element).on(c.CLICK,function(t){t.preventDefault(),t.stopPropagation(),e.toggle()})},l._getConfig=function(n){return n=r({},this.constructor.Default,t(this._element).data(),n),P.typeCheckConfig(e,n,this.constructor.DefaultType),n},l._getMenuElement=function(){if(!this._menu){var e=a._getParentFromElement(this._element);this._menu=t(e).find(y)[0]}return this._menu},l._getPlacement=function(){var e=t(this._element).parent(),n=D;return e.hasClass(d)?(n=A,t(this._menu).hasClass(p)&&(n=b)):e.hasClass(_)?n=w:e.hasClass(g)?n=N:t(this._menu).hasClass(p)&&(n=S),n},l._detectNavbar=function(){return t(this._element).closest(".navbar").length>0},l._getPopperConfig=function(){var t=this,e={};return"function"==typeof this._config.offset?e.fn=function(e){return e.offsets=r({},e.offsets,t._config.offset(e.offsets)||{}),e}:e.offset=this._config.offset,{placement:this._getPlacement(),modifiers:{offset:e,flip:{enabled:this._config.flip},preventOverflow:{boundariesElement:this._config.boundary}}}},a._jQueryInterface=function(e){return this.each(function(){var n=t(this).data(i);if(n||(n=new a(this,"object"==typeof e?e:null),t(this).data(i,n)),"string"==typeof e){if("undefined"==typeof n[e])throw new TypeError('No method named "'+e+'"');n[e]()}})},a._clearMenus=function(e){if(!e||3!==e.which&&("keyup"!==e.type||9===e.which))for(var n=t.makeArray(t(E)),s=0;s0&&r--,40===e.which&&rdocument.documentElement.clientHeight;!this._isBodyOverflowing&&t&&(this._element.style.paddingLeft=this._scrollbarWidth+"px"),this._isBodyOverflowing&&!t&&(this._element.style.paddingRight=this._scrollbarWidth+"px")},p._resetAdjustments=function(){this._element.style.paddingLeft="",this._element.style.paddingRight=""},p._checkScrollbar=function(){var t=document.body.getBoundingClientRect();this._isBodyOverflowing=t.left+t.right

',trigger:"hover focus",title:"",delay:0,html:!1,selector:!1,placement:"top",offset:0,container:!1,fallbackPlacement:"flip",boundary:"scrollParent"},f="show",d="out",_={HIDE:"hide"+o,HIDDEN:"hidden"+o,SHOW:"show"+o,SHOWN:"shown"+o,INSERTED:"inserted"+o,CLICK:"click"+o,FOCUSIN:"focusin"+o,FOCUSOUT:"focusout"+o,MOUSEENTER:"mouseenter"+o,MOUSELEAVE:"mouseleave"+o},g="fade",p="show",m=".tooltip-inner",v=".arrow",E="hover",T="focus",y="click",C="manual",I=function(){function a(t,e){if("undefined"==typeof n)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 I=a.prototype;return I.enable=function(){this._isEnabled=!0},I.disable=function(){this._isEnabled=!1},I.toggleEnabled=function(){this._isEnabled=!this._isEnabled},I.toggle=function(e){if(this._isEnabled)if(e){var n=this.constructor.DATA_KEY,i=t(e.currentTarget).data(n);i||(i=new this.constructor(e.currentTarget,this._getDelegateConfig()),t(e.currentTarget).data(n,i)),i._activeTrigger.click=!i._activeTrigger.click,i._isWithActiveTrigger()?i._enter(null,i):i._leave(null,i)}else{if(t(this.getTipElement()).hasClass(p))return void this._leave(null,this);this._enter(null,this)}},I.dispose=function(){clearTimeout(this._timeout),t.removeData(this.element,this.constructor.DATA_KEY),t(this.element).off(this.constructor.EVENT_KEY),t(this.element).closest(".modal").off("hide.bs.modal"),this.tip&&t(this.tip).remove(),this._isEnabled=null,this._timeout=null,this._hoverState=null,this._activeTrigger=null,null!==this._popper&&this._popper.destroy(),this._popper=null,this.element=null,this.config=null,this.tip=null},I.show=function(){var e=this;if("none"===t(this.element).css("display"))throw new Error("Please use show on visible elements");var i=t.Event(this.constructor.Event.SHOW);if(this.isWithContent()&&this._isEnabled){t(this.element).trigger(i);var s=t.contains(this.element.ownerDocument.documentElement,this.element);if(i.isDefaultPrevented()||!s)return;var r=this.getTipElement(),o=P.getUID(this.constructor.NAME);r.setAttribute("id",o),this.element.setAttribute("aria-describedby",o),this.setContent(),this.config.animation&&t(r).addClass(g);var l="function"==typeof this.config.placement?this.config.placement.call(this,r,this.element):this.config.placement,h=this._getAttachment(l);this.addAttachmentClass(h);var c=!1===this.config.container?document.body:t(this.config.container);t(r).data(this.constructor.DATA_KEY,this),t.contains(this.element.ownerDocument.documentElement,this.tip)||t(r).appendTo(c),t(this.element).trigger(this.constructor.Event.INSERTED),this._popper=new n(this.element,r,{placement:h,modifiers:{offset:{offset:this.config.offset},flip:{behavior:this.config.fallbackPlacement},arrow:{element:v},preventOverflow:{boundariesElement:this.config.boundary}},onCreate:function(t){t.originalPlacement!==t.placement&&e._handlePopperPlacementChange(t)},onUpdate:function(t){e._handlePopperPlacementChange(t)}}),t(r).addClass(p),"ontouchstart"in document.documentElement&&t("body").children().on("mouseover",null,t.noop);var u=function(){e.config.animation&&e._fixTransition();var n=e._hoverState;e._hoverState=null,t(e.element).trigger(e.constructor.Event.SHOWN),n===d&&e._leave(null,e)};P.supportsTransitionEnd()&&t(this.tip).hasClass(g)?t(this.tip).one(P.TRANSITION_END,u).emulateTransitionEnd(a._TRANSITION_DURATION):u()}},I.hide=function(e){var n=this,i=this.getTipElement(),s=t.Event(this.constructor.Event.HIDE),r=function(){n._hoverState!==f&&i.parentNode&&i.parentNode.removeChild(i),n._cleanTipClass(),n.element.removeAttribute("aria-describedby"),t(n.element).trigger(n.constructor.Event.HIDDEN),null!==n._popper&&n._popper.destroy(),e&&e()};t(this.element).trigger(s),s.isDefaultPrevented()||(t(i).removeClass(p),"ontouchstart"in document.documentElement&&t("body").children().off("mouseover",null,t.noop),this._activeTrigger[y]=!1,this._activeTrigger[T]=!1,this._activeTrigger[E]=!1,P.supportsTransitionEnd()&&t(this.tip).hasClass(g)?t(i).one(P.TRANSITION_END,r).emulateTransitionEnd(150):r(),this._hoverState="")},I.update=function(){null!==this._popper&&this._popper.scheduleUpdate()},I.isWithContent=function(){return Boolean(this.getTitle())},I.addAttachmentClass=function(e){t(this.getTipElement()).addClass("bs-tooltip-"+e)},I.getTipElement=function(){return this.tip=this.tip||t(this.config.template)[0],this.tip},I.setContent=function(){var e=t(this.getTipElement());this.setElementContent(e.find(m),this.getTitle()),e.removeClass(g+" "+p)},I.setElementContent=function(e,n){var i=this.config.html;"object"==typeof n&&(n.nodeType||n.jquery)?i?t(n).parent().is(e)||e.empty().append(n):e.text(t(n).text()):e[i?"html":"text"](n)},I.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},I._getAttachment=function(t){return c[t.toUpperCase()]},I._setListeners=function(){var e=this;this.config.trigger.split(" ").forEach(function(n){if("click"===n)t(e.element).on(e.constructor.Event.CLICK,e.config.selector,function(t){return e.toggle(t)});else if(n!==C){var i=n===E?e.constructor.Event.MOUSEENTER:e.constructor.Event.FOCUSIN,s=n===E?e.constructor.Event.MOUSELEAVE:e.constructor.Event.FOCUSOUT;t(e.element).on(i,e.config.selector,function(t){return e._enter(t)}).on(s,e.config.selector,function(t){return e._leave(t)})}t(e.element).closest(".modal").on("hide.bs.modal",function(){return e.hide()})}),this.config.selector?this.config=r({},this.config,{trigger:"manual",selector:""}):this._fixTitle()},I._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",""))},I._enter=function(e,n){var i=this.constructor.DATA_KEY;(n=n||t(e.currentTarget).data(i))||(n=new this.constructor(e.currentTarget,this._getDelegateConfig()),t(e.currentTarget).data(i,n)),e&&(n._activeTrigger["focusin"===e.type?T:E]=!0),t(n.getTipElement()).hasClass(p)||n._hoverState===f?n._hoverState=f:(clearTimeout(n._timeout),n._hoverState=f,n.config.delay&&n.config.delay.show?n._timeout=setTimeout(function(){n._hoverState===f&&n.show()},n.config.delay.show):n.show())},I._leave=function(e,n){var i=this.constructor.DATA_KEY;(n=n||t(e.currentTarget).data(i))||(n=new this.constructor(e.currentTarget,this._getDelegateConfig()),t(e.currentTarget).data(i,n)),e&&(n._activeTrigger["focusout"===e.type?T:E]=!1),n._isWithActiveTrigger()||(clearTimeout(n._timeout),n._hoverState=d,n.config.delay&&n.config.delay.hide?n._timeout=setTimeout(function(){n._hoverState===d&&n.hide()},n.config.delay.hide):n.hide())},I._isWithActiveTrigger=function(){for(var t in this._activeTrigger)if(this._activeTrigger[t])return!0;return!1},I._getConfig=function(n){return"number"==typeof(n=r({},this.constructor.Default,t(this.element).data(),n)).delay&&(n.delay={show:n.delay,hide:n.delay}),"number"==typeof n.title&&(n.title=n.title.toString()),"number"==typeof n.content&&(n.content=n.content.toString()),P.typeCheckConfig(e,n,this.constructor.DefaultType),n},I._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},I._cleanTipClass=function(){var e=t(this.getTipElement()),n=e.attr("class").match(l);null!==n&&n.length>0&&e.removeClass(n.join(""))},I._handlePopperPlacementChange=function(t){this._cleanTipClass(),this.addAttachmentClass(this._getAttachment(t.placement))},I._fixTransition=function(){var e=this.getTipElement(),n=this.config.animation;null===e.getAttribute("x-placement")&&(t(e).removeClass(g),this.config.animation=!1,this.hide(),this.show(),this.config.animation=n)},a._jQueryInterface=function(e){return this.each(function(){var n=t(this).data(i),s="object"==typeof e&&e;if((n||!/dispose|hide/.test(e))&&(n||(n=new a(this,s),t(this).data(i,n)),"string"==typeof e)){if("undefined"==typeof n[e])throw new TypeError('No method named "'+e+'"');n[e]()}})},s(a,null,[{key:"VERSION",get:function(){return"4.0.0"}},{key:"Default",get:function(){return u}},{key:"NAME",get:function(){return e}},{key:"DATA_KEY",get:function(){return i}},{key:"Event",get:function(){return _}},{key:"EVENT_KEY",get:function(){return o}},{key:"DefaultType",get:function(){return h}}]),a}();return t.fn[e]=I._jQueryInterface,t.fn[e].Constructor=I,t.fn[e].noConflict=function(){return t.fn[e]=a,I._jQueryInterface},I}(e),x=function(t){var e="popover",n="bs.popover",i="."+n,o=t.fn[e],a=new RegExp("(^|\\s)bs-popover\\S+","g"),l=r({},U.Default,{placement:"right",trigger:"click",content:"",template:''}),h=r({},U.DefaultType,{content:"(string|element|function)"}),c="fade",u="show",f=".popover-header",d=".popover-body",_={HIDE:"hide"+i,HIDDEN:"hidden"+i,SHOW:"show"+i,SHOWN:"shown"+i,INSERTED:"inserted"+i,CLICK:"click"+i,FOCUSIN:"focusin"+i,FOCUSOUT:"focusout"+i,MOUSEENTER:"mouseenter"+i,MOUSELEAVE:"mouseleave"+i},g=function(r){var o,g;function p(){return r.apply(this,arguments)||this}g=r,(o=p).prototype=Object.create(g.prototype),o.prototype.constructor=o,o.__proto__=g;var m=p.prototype;return m.isWithContent=function(){return this.getTitle()||this._getContent()},m.addAttachmentClass=function(e){t(this.getTipElement()).addClass("bs-popover-"+e)},m.getTipElement=function(){return this.tip=this.tip||t(this.config.template)[0],this.tip},m.setContent=function(){var e=t(this.getTipElement());this.setElementContent(e.find(f),this.getTitle());var n=this._getContent();"function"==typeof n&&(n=n.call(this.element)),this.setElementContent(e.find(d),n),e.removeClass(c+" "+u)},m._getContent=function(){return this.element.getAttribute("data-content")||this.config.content},m._cleanTipClass=function(){var e=t(this.getTipElement()),n=e.attr("class").match(a);null!==n&&n.length>0&&e.removeClass(n.join(""))},p._jQueryInterface=function(e){return this.each(function(){var i=t(this).data(n),s="object"==typeof e?e:null;if((i||!/destroy|hide/.test(e))&&(i||(i=new p(this,s),t(this).data(n,i)),"string"==typeof e)){if("undefined"==typeof i[e])throw new TypeError('No method named "'+e+'"');i[e]()}})},s(p,null,[{key:"VERSION",get:function(){return"4.0.0"}},{key:"Default",get:function(){return l}},{key:"NAME",get:function(){return e}},{key:"DATA_KEY",get:function(){return n}},{key:"Event",get:function(){return _}},{key:"EVENT_KEY",get:function(){return i}},{key:"DefaultType",get:function(){return h}}]),p}(U);return t.fn[e]=g._jQueryInterface,t.fn[e].Constructor=g,t.fn[e].noConflict=function(){return t.fn[e]=o,g._jQueryInterface},g}(e),K=function(t){var e="scrollspy",n="bs.scrollspy",i="."+n,o=t.fn[e],a={offset:10,method:"auto",target:""},l={offset:"number",method:"string",target:"(string|element)"},h={ACTIVATE:"activate"+i,SCROLL:"scroll"+i,LOAD_DATA_API:"load"+i+".data-api"},c="dropdown-item",u="active",f={DATA_SPY:'[data-spy="scroll"]',ACTIVE:".active",NAV_LIST_GROUP:".nav, .list-group",NAV_LINKS:".nav-link",NAV_ITEMS:".nav-item",LIST_ITEMS:".list-group-item",DROPDOWN:".dropdown",DROPDOWN_ITEMS:".dropdown-item",DROPDOWN_TOGGLE:".dropdown-toggle"},d="offset",_="position",g=function(){function o(e,n){var i=this;this._element=e,this._scrollElement="BODY"===e.tagName?window:e,this._config=this._getConfig(n),this._selector=this._config.target+" "+f.NAV_LINKS+","+this._config.target+" "+f.LIST_ITEMS+","+this._config.target+" "+f.DROPDOWN_ITEMS,this._offsets=[],this._targets=[],this._activeTarget=null,this._scrollHeight=0,t(this._scrollElement).on(h.SCROLL,function(t){return i._process(t)}),this.refresh(),this._process()}var g=o.prototype;return g.refresh=function(){var e=this,n=this._scrollElement===this._scrollElement.window?d:_,i="auto"===this._config.method?n:this._config.method,s=i===_?this._getScrollTop():0;this._offsets=[],this._targets=[],this._scrollHeight=this._getScrollHeight(),t.makeArray(t(this._selector)).map(function(e){var n,r=P.getSelectorFromElement(e);if(r&&(n=t(r)[0]),n){var o=n.getBoundingClientRect();if(o.width||o.height)return[t(n)[i]().top+s,r]}return null}).filter(function(t){return t}).sort(function(t,e){return t[0]-e[0]}).forEach(function(t){e._offsets.push(t[0]),e._targets.push(t[1])})},g.dispose=function(){t.removeData(this._element,n),t(this._scrollElement).off(i),this._element=null,this._scrollElement=null,this._config=null,this._selector=null,this._offsets=null,this._targets=null,this._activeTarget=null,this._scrollHeight=null},g._getConfig=function(n){if("string"!=typeof(n=r({},a,n)).target){var i=t(n.target).attr("id");i||(i=P.getUID(e),t(n.target).attr("id",i)),n.target="#"+i}return P.typeCheckConfig(e,n,l),n},g._getScrollTop=function(){return this._scrollElement===window?this._scrollElement.pageYOffset:this._scrollElement.scrollTop},g._getScrollHeight=function(){return this._scrollElement.scrollHeight||Math.max(document.body.scrollHeight,document.documentElement.scrollHeight)},g._getOffsetHeight=function(){return this._scrollElement===window?window.innerHeight:this._scrollElement.getBoundingClientRect().height},g._process=function(){var t=this._getScrollTop()+this._config.offset,e=this._getScrollHeight(),n=this._config.offset+e-this._getOffsetHeight();if(this._scrollHeight!==e&&this.refresh(),t>=n){var i=this._targets[this._targets.length-1];this._activeTarget!==i&&this._activate(i)}else{if(this._activeTarget&&t0)return this._activeTarget=null,void this._clear();for(var s=this._offsets.length;s--;){this._activeTarget!==this._targets[s]&&t>=this._offsets[s]&&("undefined"==typeof this._offsets[s+1]||t=4)throw new Error("Bootstrap's JavaScript requires at least jQuery v1.9.1 but less than v4.0.0")}(e),t.Util=P,t.Alert=L,t.Button=R,t.Carousel=j,t.Collapse=H,t.Dropdown=W,t.Modal=M,t.Popover=x,t.Scrollspy=K,t.Tab=V,t.Tooltip=U,Object.defineProperty(t,"__esModule",{value:!0})}); +//# sourceMappingURL=bootstrap.min.js.map \ No newline at end of file diff --git a/public/assets/js/core/jquery.3.2.1.min.js b/public/assets/js/core/jquery.3.2.1.min.js new file mode 100644 index 0000000..644d35e --- /dev/null +++ b/public/assets/js/core/jquery.3.2.1.min.js @@ -0,0 +1,4 @@ +/*! jQuery v3.2.1 | (c) JS Foundation and other contributors | jquery.org/license */ +!function(a,b){"use strict";"object"==typeof module&&"object"==typeof module.exports?module.exports=a.document?b(a,!0):function(a){if(!a.document)throw new Error("jQuery requires a window with a document");return b(a)}:b(a)}("undefined"!=typeof window?window:this,function(a,b){"use strict";var c=[],d=a.document,e=Object.getPrototypeOf,f=c.slice,g=c.concat,h=c.push,i=c.indexOf,j={},k=j.toString,l=j.hasOwnProperty,m=l.toString,n=m.call(Object),o={};function p(a,b){b=b||d;var c=b.createElement("script");c.text=a,b.head.appendChild(c).parentNode.removeChild(c)}var q="3.2.1",r=function(a,b){return new r.fn.init(a,b)},s=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,t=/^-ms-/,u=/-([a-z])/g,v=function(a,b){return b.toUpperCase()};r.fn=r.prototype={jquery:q,constructor:r,length:0,toArray:function(){return f.call(this)},get:function(a){return null==a?f.call(this):a<0?this[a+this.length]:this[a]},pushStack:function(a){var b=r.merge(this.constructor(),a);return b.prevObject=this,b},each:function(a){return r.each(this,a)},map:function(a){return this.pushStack(r.map(this,function(b,c){return a.call(b,c,b)}))},slice:function(){return this.pushStack(f.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},eq:function(a){var b=this.length,c=+a+(a<0?b:0);return this.pushStack(c>=0&&c0&&b-1 in a)}var x=function(a){var b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u="sizzle"+1*new Date,v=a.document,w=0,x=0,y=ha(),z=ha(),A=ha(),B=function(a,b){return a===b&&(l=!0),0},C={}.hasOwnProperty,D=[],E=D.pop,F=D.push,G=D.push,H=D.slice,I=function(a,b){for(var c=0,d=a.length;c+~]|"+K+")"+K+"*"),S=new RegExp("="+K+"*([^\\]'\"]*?)"+K+"*\\]","g"),T=new RegExp(N),U=new RegExp("^"+L+"$"),V={ID:new RegExp("^#("+L+")"),CLASS:new RegExp("^\\.("+L+")"),TAG:new RegExp("^("+L+"|[*])"),ATTR:new RegExp("^"+M),PSEUDO:new RegExp("^"+N),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+K+"*(even|odd|(([+-]|)(\\d*)n|)"+K+"*(?:([+-]|)"+K+"*(\\d+)|))"+K+"*\\)|)","i"),bool:new RegExp("^(?:"+J+")$","i"),needsContext:new RegExp("^"+K+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+K+"*((?:-\\d)?\\d*)"+K+"*\\)|)(?=[^-]|$)","i")},W=/^(?:input|select|textarea|button)$/i,X=/^h\d$/i,Y=/^[^{]+\{\s*\[native \w/,Z=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,$=/[+~]/,_=new RegExp("\\\\([\\da-f]{1,6}"+K+"?|("+K+")|.)","ig"),aa=function(a,b,c){var d="0x"+b-65536;return d!==d||c?b:d<0?String.fromCharCode(d+65536):String.fromCharCode(d>>10|55296,1023&d|56320)},ba=/([\0-\x1f\x7f]|^-?\d)|^-$|[^\0-\x1f\x7f-\uFFFF\w-]/g,ca=function(a,b){return b?"\0"===a?"\ufffd":a.slice(0,-1)+"\\"+a.charCodeAt(a.length-1).toString(16)+" ":"\\"+a},da=function(){m()},ea=ta(function(a){return a.disabled===!0&&("form"in a||"label"in a)},{dir:"parentNode",next:"legend"});try{G.apply(D=H.call(v.childNodes),v.childNodes),D[v.childNodes.length].nodeType}catch(fa){G={apply:D.length?function(a,b){F.apply(a,H.call(b))}:function(a,b){var c=a.length,d=0;while(a[c++]=b[d++]);a.length=c-1}}}function ga(a,b,d,e){var f,h,j,k,l,o,r,s=b&&b.ownerDocument,w=b?b.nodeType:9;if(d=d||[],"string"!=typeof a||!a||1!==w&&9!==w&&11!==w)return d;if(!e&&((b?b.ownerDocument||b:v)!==n&&m(b),b=b||n,p)){if(11!==w&&(l=Z.exec(a)))if(f=l[1]){if(9===w){if(!(j=b.getElementById(f)))return d;if(j.id===f)return d.push(j),d}else if(s&&(j=s.getElementById(f))&&t(b,j)&&j.id===f)return d.push(j),d}else{if(l[2])return G.apply(d,b.getElementsByTagName(a)),d;if((f=l[3])&&c.getElementsByClassName&&b.getElementsByClassName)return G.apply(d,b.getElementsByClassName(f)),d}if(c.qsa&&!A[a+" "]&&(!q||!q.test(a))){if(1!==w)s=b,r=a;else if("object"!==b.nodeName.toLowerCase()){(k=b.getAttribute("id"))?k=k.replace(ba,ca):b.setAttribute("id",k=u),o=g(a),h=o.length;while(h--)o[h]="#"+k+" "+sa(o[h]);r=o.join(","),s=$.test(a)&&qa(b.parentNode)||b}if(r)try{return G.apply(d,s.querySelectorAll(r)),d}catch(x){}finally{k===u&&b.removeAttribute("id")}}}return i(a.replace(P,"$1"),b,d,e)}function ha(){var a=[];function b(c,e){return a.push(c+" ")>d.cacheLength&&delete b[a.shift()],b[c+" "]=e}return b}function ia(a){return a[u]=!0,a}function ja(a){var b=n.createElement("fieldset");try{return!!a(b)}catch(c){return!1}finally{b.parentNode&&b.parentNode.removeChild(b),b=null}}function ka(a,b){var c=a.split("|"),e=c.length;while(e--)d.attrHandle[c[e]]=b}function la(a,b){var c=b&&a,d=c&&1===a.nodeType&&1===b.nodeType&&a.sourceIndex-b.sourceIndex;if(d)return d;if(c)while(c=c.nextSibling)if(c===b)return-1;return a?1:-1}function ma(a){return function(b){var c=b.nodeName.toLowerCase();return"input"===c&&b.type===a}}function na(a){return function(b){var c=b.nodeName.toLowerCase();return("input"===c||"button"===c)&&b.type===a}}function oa(a){return function(b){return"form"in b?b.parentNode&&b.disabled===!1?"label"in b?"label"in b.parentNode?b.parentNode.disabled===a:b.disabled===a:b.isDisabled===a||b.isDisabled!==!a&&ea(b)===a:b.disabled===a:"label"in b&&b.disabled===a}}function pa(a){return ia(function(b){return b=+b,ia(function(c,d){var e,f=a([],c.length,b),g=f.length;while(g--)c[e=f[g]]&&(c[e]=!(d[e]=c[e]))})})}function qa(a){return a&&"undefined"!=typeof a.getElementsByTagName&&a}c=ga.support={},f=ga.isXML=function(a){var b=a&&(a.ownerDocument||a).documentElement;return!!b&&"HTML"!==b.nodeName},m=ga.setDocument=function(a){var b,e,g=a?a.ownerDocument||a:v;return g!==n&&9===g.nodeType&&g.documentElement?(n=g,o=n.documentElement,p=!f(n),v!==n&&(e=n.defaultView)&&e.top!==e&&(e.addEventListener?e.addEventListener("unload",da,!1):e.attachEvent&&e.attachEvent("onunload",da)),c.attributes=ja(function(a){return a.className="i",!a.getAttribute("className")}),c.getElementsByTagName=ja(function(a){return a.appendChild(n.createComment("")),!a.getElementsByTagName("*").length}),c.getElementsByClassName=Y.test(n.getElementsByClassName),c.getById=ja(function(a){return o.appendChild(a).id=u,!n.getElementsByName||!n.getElementsByName(u).length}),c.getById?(d.filter.ID=function(a){var b=a.replace(_,aa);return function(a){return a.getAttribute("id")===b}},d.find.ID=function(a,b){if("undefined"!=typeof b.getElementById&&p){var c=b.getElementById(a);return c?[c]:[]}}):(d.filter.ID=function(a){var b=a.replace(_,aa);return function(a){var c="undefined"!=typeof a.getAttributeNode&&a.getAttributeNode("id");return c&&c.value===b}},d.find.ID=function(a,b){if("undefined"!=typeof b.getElementById&&p){var c,d,e,f=b.getElementById(a);if(f){if(c=f.getAttributeNode("id"),c&&c.value===a)return[f];e=b.getElementsByName(a),d=0;while(f=e[d++])if(c=f.getAttributeNode("id"),c&&c.value===a)return[f]}return[]}}),d.find.TAG=c.getElementsByTagName?function(a,b){return"undefined"!=typeof b.getElementsByTagName?b.getElementsByTagName(a):c.qsa?b.querySelectorAll(a):void 0}:function(a,b){var c,d=[],e=0,f=b.getElementsByTagName(a);if("*"===a){while(c=f[e++])1===c.nodeType&&d.push(c);return d}return f},d.find.CLASS=c.getElementsByClassName&&function(a,b){if("undefined"!=typeof b.getElementsByClassName&&p)return b.getElementsByClassName(a)},r=[],q=[],(c.qsa=Y.test(n.querySelectorAll))&&(ja(function(a){o.appendChild(a).innerHTML="",a.querySelectorAll("[msallowcapture^='']").length&&q.push("[*^$]="+K+"*(?:''|\"\")"),a.querySelectorAll("[selected]").length||q.push("\\["+K+"*(?:value|"+J+")"),a.querySelectorAll("[id~="+u+"-]").length||q.push("~="),a.querySelectorAll(":checked").length||q.push(":checked"),a.querySelectorAll("a#"+u+"+*").length||q.push(".#.+[+~]")}),ja(function(a){a.innerHTML="";var b=n.createElement("input");b.setAttribute("type","hidden"),a.appendChild(b).setAttribute("name","D"),a.querySelectorAll("[name=d]").length&&q.push("name"+K+"*[*^$|!~]?="),2!==a.querySelectorAll(":enabled").length&&q.push(":enabled",":disabled"),o.appendChild(a).disabled=!0,2!==a.querySelectorAll(":disabled").length&&q.push(":enabled",":disabled"),a.querySelectorAll("*,:x"),q.push(",.*:")})),(c.matchesSelector=Y.test(s=o.matches||o.webkitMatchesSelector||o.mozMatchesSelector||o.oMatchesSelector||o.msMatchesSelector))&&ja(function(a){c.disconnectedMatch=s.call(a,"*"),s.call(a,"[s!='']:x"),r.push("!=",N)}),q=q.length&&new RegExp(q.join("|")),r=r.length&&new RegExp(r.join("|")),b=Y.test(o.compareDocumentPosition),t=b||Y.test(o.contains)?function(a,b){var c=9===a.nodeType?a.documentElement:a,d=b&&b.parentNode;return a===d||!(!d||1!==d.nodeType||!(c.contains?c.contains(d):a.compareDocumentPosition&&16&a.compareDocumentPosition(d)))}:function(a,b){if(b)while(b=b.parentNode)if(b===a)return!0;return!1},B=b?function(a,b){if(a===b)return l=!0,0;var d=!a.compareDocumentPosition-!b.compareDocumentPosition;return d?d:(d=(a.ownerDocument||a)===(b.ownerDocument||b)?a.compareDocumentPosition(b):1,1&d||!c.sortDetached&&b.compareDocumentPosition(a)===d?a===n||a.ownerDocument===v&&t(v,a)?-1:b===n||b.ownerDocument===v&&t(v,b)?1:k?I(k,a)-I(k,b):0:4&d?-1:1)}:function(a,b){if(a===b)return l=!0,0;var c,d=0,e=a.parentNode,f=b.parentNode,g=[a],h=[b];if(!e||!f)return a===n?-1:b===n?1:e?-1:f?1:k?I(k,a)-I(k,b):0;if(e===f)return la(a,b);c=a;while(c=c.parentNode)g.unshift(c);c=b;while(c=c.parentNode)h.unshift(c);while(g[d]===h[d])d++;return d?la(g[d],h[d]):g[d]===v?-1:h[d]===v?1:0},n):n},ga.matches=function(a,b){return ga(a,null,null,b)},ga.matchesSelector=function(a,b){if((a.ownerDocument||a)!==n&&m(a),b=b.replace(S,"='$1']"),c.matchesSelector&&p&&!A[b+" "]&&(!r||!r.test(b))&&(!q||!q.test(b)))try{var d=s.call(a,b);if(d||c.disconnectedMatch||a.document&&11!==a.document.nodeType)return d}catch(e){}return ga(b,n,null,[a]).length>0},ga.contains=function(a,b){return(a.ownerDocument||a)!==n&&m(a),t(a,b)},ga.attr=function(a,b){(a.ownerDocument||a)!==n&&m(a);var e=d.attrHandle[b.toLowerCase()],f=e&&C.call(d.attrHandle,b.toLowerCase())?e(a,b,!p):void 0;return void 0!==f?f:c.attributes||!p?a.getAttribute(b):(f=a.getAttributeNode(b))&&f.specified?f.value:null},ga.escape=function(a){return(a+"").replace(ba,ca)},ga.error=function(a){throw new Error("Syntax error, unrecognized expression: "+a)},ga.uniqueSort=function(a){var b,d=[],e=0,f=0;if(l=!c.detectDuplicates,k=!c.sortStable&&a.slice(0),a.sort(B),l){while(b=a[f++])b===a[f]&&(e=d.push(f));while(e--)a.splice(d[e],1)}return k=null,a},e=ga.getText=function(a){var b,c="",d=0,f=a.nodeType;if(f){if(1===f||9===f||11===f){if("string"==typeof a.textContent)return a.textContent;for(a=a.firstChild;a;a=a.nextSibling)c+=e(a)}else if(3===f||4===f)return a.nodeValue}else while(b=a[d++])c+=e(b);return c},d=ga.selectors={cacheLength:50,createPseudo:ia,match:V,attrHandle:{},find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(a){return a[1]=a[1].replace(_,aa),a[3]=(a[3]||a[4]||a[5]||"").replace(_,aa),"~="===a[2]&&(a[3]=" "+a[3]+" "),a.slice(0,4)},CHILD:function(a){return a[1]=a[1].toLowerCase(),"nth"===a[1].slice(0,3)?(a[3]||ga.error(a[0]),a[4]=+(a[4]?a[5]+(a[6]||1):2*("even"===a[3]||"odd"===a[3])),a[5]=+(a[7]+a[8]||"odd"===a[3])):a[3]&&ga.error(a[0]),a},PSEUDO:function(a){var b,c=!a[6]&&a[2];return V.CHILD.test(a[0])?null:(a[3]?a[2]=a[4]||a[5]||"":c&&T.test(c)&&(b=g(c,!0))&&(b=c.indexOf(")",c.length-b)-c.length)&&(a[0]=a[0].slice(0,b),a[2]=c.slice(0,b)),a.slice(0,3))}},filter:{TAG:function(a){var b=a.replace(_,aa).toLowerCase();return"*"===a?function(){return!0}:function(a){return a.nodeName&&a.nodeName.toLowerCase()===b}},CLASS:function(a){var b=y[a+" "];return b||(b=new RegExp("(^|"+K+")"+a+"("+K+"|$)"))&&y(a,function(a){return b.test("string"==typeof a.className&&a.className||"undefined"!=typeof a.getAttribute&&a.getAttribute("class")||"")})},ATTR:function(a,b,c){return function(d){var e=ga.attr(d,a);return null==e?"!="===b:!b||(e+="","="===b?e===c:"!="===b?e!==c:"^="===b?c&&0===e.indexOf(c):"*="===b?c&&e.indexOf(c)>-1:"$="===b?c&&e.slice(-c.length)===c:"~="===b?(" "+e.replace(O," ")+" ").indexOf(c)>-1:"|="===b&&(e===c||e.slice(0,c.length+1)===c+"-"))}},CHILD:function(a,b,c,d,e){var f="nth"!==a.slice(0,3),g="last"!==a.slice(-4),h="of-type"===b;return 1===d&&0===e?function(a){return!!a.parentNode}:function(b,c,i){var j,k,l,m,n,o,p=f!==g?"nextSibling":"previousSibling",q=b.parentNode,r=h&&b.nodeName.toLowerCase(),s=!i&&!h,t=!1;if(q){if(f){while(p){m=b;while(m=m[p])if(h?m.nodeName.toLowerCase()===r:1===m.nodeType)return!1;o=p="only"===a&&!o&&"nextSibling"}return!0}if(o=[g?q.firstChild:q.lastChild],g&&s){m=q,l=m[u]||(m[u]={}),k=l[m.uniqueID]||(l[m.uniqueID]={}),j=k[a]||[],n=j[0]===w&&j[1],t=n&&j[2],m=n&&q.childNodes[n];while(m=++n&&m&&m[p]||(t=n=0)||o.pop())if(1===m.nodeType&&++t&&m===b){k[a]=[w,n,t];break}}else if(s&&(m=b,l=m[u]||(m[u]={}),k=l[m.uniqueID]||(l[m.uniqueID]={}),j=k[a]||[],n=j[0]===w&&j[1],t=n),t===!1)while(m=++n&&m&&m[p]||(t=n=0)||o.pop())if((h?m.nodeName.toLowerCase()===r:1===m.nodeType)&&++t&&(s&&(l=m[u]||(m[u]={}),k=l[m.uniqueID]||(l[m.uniqueID]={}),k[a]=[w,t]),m===b))break;return t-=e,t===d||t%d===0&&t/d>=0}}},PSEUDO:function(a,b){var c,e=d.pseudos[a]||d.setFilters[a.toLowerCase()]||ga.error("unsupported pseudo: "+a);return e[u]?e(b):e.length>1?(c=[a,a,"",b],d.setFilters.hasOwnProperty(a.toLowerCase())?ia(function(a,c){var d,f=e(a,b),g=f.length;while(g--)d=I(a,f[g]),a[d]=!(c[d]=f[g])}):function(a){return e(a,0,c)}):e}},pseudos:{not:ia(function(a){var b=[],c=[],d=h(a.replace(P,"$1"));return d[u]?ia(function(a,b,c,e){var f,g=d(a,null,e,[]),h=a.length;while(h--)(f=g[h])&&(a[h]=!(b[h]=f))}):function(a,e,f){return b[0]=a,d(b,null,f,c),b[0]=null,!c.pop()}}),has:ia(function(a){return function(b){return ga(a,b).length>0}}),contains:ia(function(a){return a=a.replace(_,aa),function(b){return(b.textContent||b.innerText||e(b)).indexOf(a)>-1}}),lang:ia(function(a){return U.test(a||"")||ga.error("unsupported lang: "+a),a=a.replace(_,aa).toLowerCase(),function(b){var c;do if(c=p?b.lang:b.getAttribute("xml:lang")||b.getAttribute("lang"))return c=c.toLowerCase(),c===a||0===c.indexOf(a+"-");while((b=b.parentNode)&&1===b.nodeType);return!1}}),target:function(b){var c=a.location&&a.location.hash;return c&&c.slice(1)===b.id},root:function(a){return a===o},focus:function(a){return a===n.activeElement&&(!n.hasFocus||n.hasFocus())&&!!(a.type||a.href||~a.tabIndex)},enabled:oa(!1),disabled:oa(!0),checked:function(a){var b=a.nodeName.toLowerCase();return"input"===b&&!!a.checked||"option"===b&&!!a.selected},selected:function(a){return a.parentNode&&a.parentNode.selectedIndex,a.selected===!0},empty:function(a){for(a=a.firstChild;a;a=a.nextSibling)if(a.nodeType<6)return!1;return!0},parent:function(a){return!d.pseudos.empty(a)},header:function(a){return X.test(a.nodeName)},input:function(a){return W.test(a.nodeName)},button:function(a){var b=a.nodeName.toLowerCase();return"input"===b&&"button"===a.type||"button"===b},text:function(a){var b;return"input"===a.nodeName.toLowerCase()&&"text"===a.type&&(null==(b=a.getAttribute("type"))||"text"===b.toLowerCase())},first:pa(function(){return[0]}),last:pa(function(a,b){return[b-1]}),eq:pa(function(a,b,c){return[c<0?c+b:c]}),even:pa(function(a,b){for(var c=0;c=0;)a.push(d);return a}),gt:pa(function(a,b,c){for(var d=c<0?c+b:c;++d1?function(b,c,d){var e=a.length;while(e--)if(!a[e](b,c,d))return!1;return!0}:a[0]}function va(a,b,c){for(var d=0,e=b.length;d-1&&(f[j]=!(g[j]=l))}}else r=wa(r===g?r.splice(o,r.length):r),e?e(null,g,r,i):G.apply(g,r)})}function ya(a){for(var b,c,e,f=a.length,g=d.relative[a[0].type],h=g||d.relative[" "],i=g?1:0,k=ta(function(a){return a===b},h,!0),l=ta(function(a){return I(b,a)>-1},h,!0),m=[function(a,c,d){var e=!g&&(d||c!==j)||((b=c).nodeType?k(a,c,d):l(a,c,d));return b=null,e}];i1&&ua(m),i>1&&sa(a.slice(0,i-1).concat({value:" "===a[i-2].type?"*":""})).replace(P,"$1"),c,i0,e=a.length>0,f=function(f,g,h,i,k){var l,o,q,r=0,s="0",t=f&&[],u=[],v=j,x=f||e&&d.find.TAG("*",k),y=w+=null==v?1:Math.random()||.1,z=x.length;for(k&&(j=g===n||g||k);s!==z&&null!=(l=x[s]);s++){if(e&&l){o=0,g||l.ownerDocument===n||(m(l),h=!p);while(q=a[o++])if(q(l,g||n,h)){i.push(l);break}k&&(w=y)}c&&((l=!q&&l)&&r--,f&&t.push(l))}if(r+=s,c&&s!==r){o=0;while(q=b[o++])q(t,u,g,h);if(f){if(r>0)while(s--)t[s]||u[s]||(u[s]=E.call(i));u=wa(u)}G.apply(i,u),k&&!f&&u.length>0&&r+b.length>1&&ga.uniqueSort(i)}return k&&(w=y,j=v),t};return c?ia(f):f}return h=ga.compile=function(a,b){var c,d=[],e=[],f=A[a+" "];if(!f){b||(b=g(a)),c=b.length;while(c--)f=ya(b[c]),f[u]?d.push(f):e.push(f);f=A(a,za(e,d)),f.selector=a}return f},i=ga.select=function(a,b,c,e){var f,i,j,k,l,m="function"==typeof a&&a,n=!e&&g(a=m.selector||a);if(c=c||[],1===n.length){if(i=n[0]=n[0].slice(0),i.length>2&&"ID"===(j=i[0]).type&&9===b.nodeType&&p&&d.relative[i[1].type]){if(b=(d.find.ID(j.matches[0].replace(_,aa),b)||[])[0],!b)return c;m&&(b=b.parentNode),a=a.slice(i.shift().value.length)}f=V.needsContext.test(a)?0:i.length;while(f--){if(j=i[f],d.relative[k=j.type])break;if((l=d.find[k])&&(e=l(j.matches[0].replace(_,aa),$.test(i[0].type)&&qa(b.parentNode)||b))){if(i.splice(f,1),a=e.length&&sa(i),!a)return G.apply(c,e),c;break}}}return(m||h(a,n))(e,b,!p,c,!b||$.test(a)&&qa(b.parentNode)||b),c},c.sortStable=u.split("").sort(B).join("")===u,c.detectDuplicates=!!l,m(),c.sortDetached=ja(function(a){return 1&a.compareDocumentPosition(n.createElement("fieldset"))}),ja(function(a){return a.innerHTML="","#"===a.firstChild.getAttribute("href")})||ka("type|href|height|width",function(a,b,c){if(!c)return a.getAttribute(b,"type"===b.toLowerCase()?1:2)}),c.attributes&&ja(function(a){return a.innerHTML="",a.firstChild.setAttribute("value",""),""===a.firstChild.getAttribute("value")})||ka("value",function(a,b,c){if(!c&&"input"===a.nodeName.toLowerCase())return a.defaultValue}),ja(function(a){return null==a.getAttribute("disabled")})||ka(J,function(a,b,c){var d;if(!c)return a[b]===!0?b.toLowerCase():(d=a.getAttributeNode(b))&&d.specified?d.value:null}),ga}(a);r.find=x,r.expr=x.selectors,r.expr[":"]=r.expr.pseudos,r.uniqueSort=r.unique=x.uniqueSort,r.text=x.getText,r.isXMLDoc=x.isXML,r.contains=x.contains,r.escapeSelector=x.escape;var y=function(a,b,c){var d=[],e=void 0!==c;while((a=a[b])&&9!==a.nodeType)if(1===a.nodeType){if(e&&r(a).is(c))break;d.push(a)}return d},z=function(a,b){for(var c=[];a;a=a.nextSibling)1===a.nodeType&&a!==b&&c.push(a);return c},A=r.expr.match.needsContext;function B(a,b){return a.nodeName&&a.nodeName.toLowerCase()===b.toLowerCase()}var C=/^<([a-z][^\/\0>:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i,D=/^.[^:#\[\.,]*$/;function E(a,b,c){return r.isFunction(b)?r.grep(a,function(a,d){return!!b.call(a,d,a)!==c}):b.nodeType?r.grep(a,function(a){return a===b!==c}):"string"!=typeof b?r.grep(a,function(a){return i.call(b,a)>-1!==c}):D.test(b)?r.filter(b,a,c):(b=r.filter(b,a),r.grep(a,function(a){return i.call(b,a)>-1!==c&&1===a.nodeType}))}r.filter=function(a,b,c){var d=b[0];return c&&(a=":not("+a+")"),1===b.length&&1===d.nodeType?r.find.matchesSelector(d,a)?[d]:[]:r.find.matches(a,r.grep(b,function(a){return 1===a.nodeType}))},r.fn.extend({find:function(a){var b,c,d=this.length,e=this;if("string"!=typeof a)return this.pushStack(r(a).filter(function(){for(b=0;b1?r.uniqueSort(c):c},filter:function(a){return this.pushStack(E(this,a||[],!1))},not:function(a){return this.pushStack(E(this,a||[],!0))},is:function(a){return!!E(this,"string"==typeof a&&A.test(a)?r(a):a||[],!1).length}});var F,G=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]+))$/,H=r.fn.init=function(a,b,c){var e,f;if(!a)return this;if(c=c||F,"string"==typeof a){if(e="<"===a[0]&&">"===a[a.length-1]&&a.length>=3?[null,a,null]:G.exec(a),!e||!e[1]&&b)return!b||b.jquery?(b||c).find(a):this.constructor(b).find(a);if(e[1]){if(b=b instanceof r?b[0]:b,r.merge(this,r.parseHTML(e[1],b&&b.nodeType?b.ownerDocument||b:d,!0)),C.test(e[1])&&r.isPlainObject(b))for(e in b)r.isFunction(this[e])?this[e](b[e]):this.attr(e,b[e]);return this}return f=d.getElementById(e[2]),f&&(this[0]=f,this.length=1),this}return a.nodeType?(this[0]=a,this.length=1,this):r.isFunction(a)?void 0!==c.ready?c.ready(a):a(r):r.makeArray(a,this)};H.prototype=r.fn,F=r(d);var I=/^(?:parents|prev(?:Until|All))/,J={children:!0,contents:!0,next:!0,prev:!0};r.fn.extend({has:function(a){var b=r(a,this),c=b.length;return this.filter(function(){for(var a=0;a-1:1===c.nodeType&&r.find.matchesSelector(c,a))){f.push(c);break}return this.pushStack(f.length>1?r.uniqueSort(f):f)},index:function(a){return a?"string"==typeof a?i.call(r(a),this[0]):i.call(this,a.jquery?a[0]:a):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(a,b){return this.pushStack(r.uniqueSort(r.merge(this.get(),r(a,b))))},addBack:function(a){return this.add(null==a?this.prevObject:this.prevObject.filter(a))}});function K(a,b){while((a=a[b])&&1!==a.nodeType);return a}r.each({parent:function(a){var b=a.parentNode;return b&&11!==b.nodeType?b:null},parents:function(a){return y(a,"parentNode")},parentsUntil:function(a,b,c){return y(a,"parentNode",c)},next:function(a){return K(a,"nextSibling")},prev:function(a){return K(a,"previousSibling")},nextAll:function(a){return y(a,"nextSibling")},prevAll:function(a){return y(a,"previousSibling")},nextUntil:function(a,b,c){return y(a,"nextSibling",c)},prevUntil:function(a,b,c){return y(a,"previousSibling",c)},siblings:function(a){return z((a.parentNode||{}).firstChild,a)},children:function(a){return z(a.firstChild)},contents:function(a){return B(a,"iframe")?a.contentDocument:(B(a,"template")&&(a=a.content||a),r.merge([],a.childNodes))}},function(a,b){r.fn[a]=function(c,d){var e=r.map(this,b,c);return"Until"!==a.slice(-5)&&(d=c),d&&"string"==typeof d&&(e=r.filter(d,e)),this.length>1&&(J[a]||r.uniqueSort(e),I.test(a)&&e.reverse()),this.pushStack(e)}});var L=/[^\x20\t\r\n\f]+/g;function M(a){var b={};return r.each(a.match(L)||[],function(a,c){b[c]=!0}),b}r.Callbacks=function(a){a="string"==typeof a?M(a):r.extend({},a);var b,c,d,e,f=[],g=[],h=-1,i=function(){for(e=e||a.once,d=b=!0;g.length;h=-1){c=g.shift();while(++h-1)f.splice(c,1),c<=h&&h--}),this},has:function(a){return a?r.inArray(a,f)>-1:f.length>0},empty:function(){return f&&(f=[]),this},disable:function(){return e=g=[],f=c="",this},disabled:function(){return!f},lock:function(){return e=g=[],c||b||(f=c=""),this},locked:function(){return!!e},fireWith:function(a,c){return e||(c=c||[],c=[a,c.slice?c.slice():c],g.push(c),b||i()),this},fire:function(){return j.fireWith(this,arguments),this},fired:function(){return!!d}};return j};function N(a){return a}function O(a){throw a}function P(a,b,c,d){var e;try{a&&r.isFunction(e=a.promise)?e.call(a).done(b).fail(c):a&&r.isFunction(e=a.then)?e.call(a,b,c):b.apply(void 0,[a].slice(d))}catch(a){c.apply(void 0,[a])}}r.extend({Deferred:function(b){var c=[["notify","progress",r.Callbacks("memory"),r.Callbacks("memory"),2],["resolve","done",r.Callbacks("once memory"),r.Callbacks("once memory"),0,"resolved"],["reject","fail",r.Callbacks("once memory"),r.Callbacks("once memory"),1,"rejected"]],d="pending",e={state:function(){return d},always:function(){return f.done(arguments).fail(arguments),this},"catch":function(a){return e.then(null,a)},pipe:function(){var a=arguments;return r.Deferred(function(b){r.each(c,function(c,d){var e=r.isFunction(a[d[4]])&&a[d[4]];f[d[1]](function(){var a=e&&e.apply(this,arguments);a&&r.isFunction(a.promise)?a.promise().progress(b.notify).done(b.resolve).fail(b.reject):b[d[0]+"With"](this,e?[a]:arguments)})}),a=null}).promise()},then:function(b,d,e){var f=0;function g(b,c,d,e){return function(){var h=this,i=arguments,j=function(){var a,j;if(!(b=f&&(d!==O&&(h=void 0,i=[a]),c.rejectWith(h,i))}};b?k():(r.Deferred.getStackHook&&(k.stackTrace=r.Deferred.getStackHook()),a.setTimeout(k))}}return r.Deferred(function(a){c[0][3].add(g(0,a,r.isFunction(e)?e:N,a.notifyWith)),c[1][3].add(g(0,a,r.isFunction(b)?b:N)),c[2][3].add(g(0,a,r.isFunction(d)?d:O))}).promise()},promise:function(a){return null!=a?r.extend(a,e):e}},f={};return r.each(c,function(a,b){var g=b[2],h=b[5];e[b[1]]=g.add,h&&g.add(function(){d=h},c[3-a][2].disable,c[0][2].lock),g.add(b[3].fire),f[b[0]]=function(){return f[b[0]+"With"](this===f?void 0:this,arguments),this},f[b[0]+"With"]=g.fireWith}),e.promise(f),b&&b.call(f,f),f},when:function(a){var b=arguments.length,c=b,d=Array(c),e=f.call(arguments),g=r.Deferred(),h=function(a){return function(c){d[a]=this,e[a]=arguments.length>1?f.call(arguments):c,--b||g.resolveWith(d,e)}};if(b<=1&&(P(a,g.done(h(c)).resolve,g.reject,!b),"pending"===g.state()||r.isFunction(e[c]&&e[c].then)))return g.then();while(c--)P(e[c],h(c),g.reject);return g.promise()}});var Q=/^(Eval|Internal|Range|Reference|Syntax|Type|URI)Error$/;r.Deferred.exceptionHook=function(b,c){a.console&&a.console.warn&&b&&Q.test(b.name)&&a.console.warn("jQuery.Deferred exception: "+b.message,b.stack,c)},r.readyException=function(b){a.setTimeout(function(){throw b})};var R=r.Deferred();r.fn.ready=function(a){return R.then(a)["catch"](function(a){r.readyException(a)}),this},r.extend({isReady:!1,readyWait:1,ready:function(a){(a===!0?--r.readyWait:r.isReady)||(r.isReady=!0,a!==!0&&--r.readyWait>0||R.resolveWith(d,[r]))}}),r.ready.then=R.then;function S(){d.removeEventListener("DOMContentLoaded",S), +a.removeEventListener("load",S),r.ready()}"complete"===d.readyState||"loading"!==d.readyState&&!d.documentElement.doScroll?a.setTimeout(r.ready):(d.addEventListener("DOMContentLoaded",S),a.addEventListener("load",S));var T=function(a,b,c,d,e,f,g){var h=0,i=a.length,j=null==c;if("object"===r.type(c)){e=!0;for(h in c)T(a,b,h,c[h],!0,f,g)}else if(void 0!==d&&(e=!0,r.isFunction(d)||(g=!0),j&&(g?(b.call(a,d),b=null):(j=b,b=function(a,b,c){return j.call(r(a),c)})),b))for(;h1,null,!0)},removeData:function(a){return this.each(function(){X.remove(this,a)})}}),r.extend({queue:function(a,b,c){var d;if(a)return b=(b||"fx")+"queue",d=W.get(a,b),c&&(!d||Array.isArray(c)?d=W.access(a,b,r.makeArray(c)):d.push(c)),d||[]},dequeue:function(a,b){b=b||"fx";var c=r.queue(a,b),d=c.length,e=c.shift(),f=r._queueHooks(a,b),g=function(){r.dequeue(a,b)};"inprogress"===e&&(e=c.shift(),d--),e&&("fx"===b&&c.unshift("inprogress"),delete f.stop,e.call(a,g,f)),!d&&f&&f.empty.fire()},_queueHooks:function(a,b){var c=b+"queueHooks";return W.get(a,c)||W.access(a,c,{empty:r.Callbacks("once memory").add(function(){W.remove(a,[b+"queue",c])})})}}),r.fn.extend({queue:function(a,b){var c=2;return"string"!=typeof a&&(b=a,a="fx",c--),arguments.length\x20\t\r\n\f]+)/i,la=/^$|\/(?:java|ecma)script/i,ma={option:[1,""],thead:[1,"","
"],col:[2,"","
"],tr:[2,"","
"],td:[3,"","
"],_default:[0,"",""]};ma.optgroup=ma.option,ma.tbody=ma.tfoot=ma.colgroup=ma.caption=ma.thead,ma.th=ma.td;function na(a,b){var c;return c="undefined"!=typeof a.getElementsByTagName?a.getElementsByTagName(b||"*"):"undefined"!=typeof a.querySelectorAll?a.querySelectorAll(b||"*"):[],void 0===b||b&&B(a,b)?r.merge([a],c):c}function oa(a,b){for(var c=0,d=a.length;c-1)e&&e.push(f);else if(j=r.contains(f.ownerDocument,f),g=na(l.appendChild(f),"script"),j&&oa(g),c){k=0;while(f=g[k++])la.test(f.type||"")&&c.push(f)}return l}!function(){var a=d.createDocumentFragment(),b=a.appendChild(d.createElement("div")),c=d.createElement("input");c.setAttribute("type","radio"),c.setAttribute("checked","checked"),c.setAttribute("name","t"),b.appendChild(c),o.checkClone=b.cloneNode(!0).cloneNode(!0).lastChild.checked,b.innerHTML="",o.noCloneChecked=!!b.cloneNode(!0).lastChild.defaultValue}();var ra=d.documentElement,sa=/^key/,ta=/^(?:mouse|pointer|contextmenu|drag|drop)|click/,ua=/^([^.]*)(?:\.(.+)|)/;function va(){return!0}function wa(){return!1}function xa(){try{return d.activeElement}catch(a){}}function ya(a,b,c,d,e,f){var g,h;if("object"==typeof b){"string"!=typeof c&&(d=d||c,c=void 0);for(h in b)ya(a,h,c,d,b[h],f);return a}if(null==d&&null==e?(e=c,d=c=void 0):null==e&&("string"==typeof c?(e=d,d=void 0):(e=d,d=c,c=void 0)),e===!1)e=wa;else if(!e)return a;return 1===f&&(g=e,e=function(a){return r().off(a),g.apply(this,arguments)},e.guid=g.guid||(g.guid=r.guid++)),a.each(function(){r.event.add(this,b,e,d,c)})}r.event={global:{},add:function(a,b,c,d,e){var f,g,h,i,j,k,l,m,n,o,p,q=W.get(a);if(q){c.handler&&(f=c,c=f.handler,e=f.selector),e&&r.find.matchesSelector(ra,e),c.guid||(c.guid=r.guid++),(i=q.events)||(i=q.events={}),(g=q.handle)||(g=q.handle=function(b){return"undefined"!=typeof r&&r.event.triggered!==b.type?r.event.dispatch.apply(a,arguments):void 0}),b=(b||"").match(L)||[""],j=b.length;while(j--)h=ua.exec(b[j])||[],n=p=h[1],o=(h[2]||"").split(".").sort(),n&&(l=r.event.special[n]||{},n=(e?l.delegateType:l.bindType)||n,l=r.event.special[n]||{},k=r.extend({type:n,origType:p,data:d,handler:c,guid:c.guid,selector:e,needsContext:e&&r.expr.match.needsContext.test(e),namespace:o.join(".")},f),(m=i[n])||(m=i[n]=[],m.delegateCount=0,l.setup&&l.setup.call(a,d,o,g)!==!1||a.addEventListener&&a.addEventListener(n,g)),l.add&&(l.add.call(a,k),k.handler.guid||(k.handler.guid=c.guid)),e?m.splice(m.delegateCount++,0,k):m.push(k),r.event.global[n]=!0)}},remove:function(a,b,c,d,e){var f,g,h,i,j,k,l,m,n,o,p,q=W.hasData(a)&&W.get(a);if(q&&(i=q.events)){b=(b||"").match(L)||[""],j=b.length;while(j--)if(h=ua.exec(b[j])||[],n=p=h[1],o=(h[2]||"").split(".").sort(),n){l=r.event.special[n]||{},n=(d?l.delegateType:l.bindType)||n,m=i[n]||[],h=h[2]&&new RegExp("(^|\\.)"+o.join("\\.(?:.*\\.|)")+"(\\.|$)"),g=f=m.length;while(f--)k=m[f],!e&&p!==k.origType||c&&c.guid!==k.guid||h&&!h.test(k.namespace)||d&&d!==k.selector&&("**"!==d||!k.selector)||(m.splice(f,1),k.selector&&m.delegateCount--,l.remove&&l.remove.call(a,k));g&&!m.length&&(l.teardown&&l.teardown.call(a,o,q.handle)!==!1||r.removeEvent(a,n,q.handle),delete i[n])}else for(n in i)r.event.remove(a,n+b[j],c,d,!0);r.isEmptyObject(i)&&W.remove(a,"handle events")}},dispatch:function(a){var b=r.event.fix(a),c,d,e,f,g,h,i=new Array(arguments.length),j=(W.get(this,"events")||{})[b.type]||[],k=r.event.special[b.type]||{};for(i[0]=b,c=1;c=1))for(;j!==this;j=j.parentNode||this)if(1===j.nodeType&&("click"!==a.type||j.disabled!==!0)){for(f=[],g={},c=0;c-1:r.find(e,this,null,[j]).length),g[e]&&f.push(d);f.length&&h.push({elem:j,handlers:f})}return j=this,i\x20\t\r\n\f]*)[^>]*)\/>/gi,Aa=/\s*$/g;function Ea(a,b){return B(a,"table")&&B(11!==b.nodeType?b:b.firstChild,"tr")?r(">tbody",a)[0]||a:a}function Fa(a){return a.type=(null!==a.getAttribute("type"))+"/"+a.type,a}function Ga(a){var b=Ca.exec(a.type);return b?a.type=b[1]:a.removeAttribute("type"),a}function Ha(a,b){var c,d,e,f,g,h,i,j;if(1===b.nodeType){if(W.hasData(a)&&(f=W.access(a),g=W.set(b,f),j=f.events)){delete g.handle,g.events={};for(e in j)for(c=0,d=j[e].length;c1&&"string"==typeof q&&!o.checkClone&&Ba.test(q))return a.each(function(e){var f=a.eq(e);s&&(b[0]=q.call(this,e,f.html())),Ja(f,b,c,d)});if(m&&(e=qa(b,a[0].ownerDocument,!1,a,d),f=e.firstChild,1===e.childNodes.length&&(e=f),f||d)){for(h=r.map(na(e,"script"),Fa),i=h.length;l")},clone:function(a,b,c){var d,e,f,g,h=a.cloneNode(!0),i=r.contains(a.ownerDocument,a);if(!(o.noCloneChecked||1!==a.nodeType&&11!==a.nodeType||r.isXMLDoc(a)))for(g=na(h),f=na(a),d=0,e=f.length;d0&&oa(g,!i&&na(a,"script")),h},cleanData:function(a){for(var b,c,d,e=r.event.special,f=0;void 0!==(c=a[f]);f++)if(U(c)){if(b=c[W.expando]){if(b.events)for(d in b.events)e[d]?r.event.remove(c,d):r.removeEvent(c,d,b.handle);c[W.expando]=void 0}c[X.expando]&&(c[X.expando]=void 0)}}}),r.fn.extend({detach:function(a){return Ka(this,a,!0)},remove:function(a){return Ka(this,a)},text:function(a){return T(this,function(a){return void 0===a?r.text(this):this.empty().each(function(){1!==this.nodeType&&11!==this.nodeType&&9!==this.nodeType||(this.textContent=a)})},null,a,arguments.length)},append:function(){return Ja(this,arguments,function(a){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var b=Ea(this,a);b.appendChild(a)}})},prepend:function(){return Ja(this,arguments,function(a){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var b=Ea(this,a);b.insertBefore(a,b.firstChild)}})},before:function(){return Ja(this,arguments,function(a){this.parentNode&&this.parentNode.insertBefore(a,this)})},after:function(){return Ja(this,arguments,function(a){this.parentNode&&this.parentNode.insertBefore(a,this.nextSibling)})},empty:function(){for(var a,b=0;null!=(a=this[b]);b++)1===a.nodeType&&(r.cleanData(na(a,!1)),a.textContent="");return this},clone:function(a,b){return a=null!=a&&a,b=null==b?a:b,this.map(function(){return r.clone(this,a,b)})},html:function(a){return T(this,function(a){var b=this[0]||{},c=0,d=this.length;if(void 0===a&&1===b.nodeType)return b.innerHTML;if("string"==typeof a&&!Aa.test(a)&&!ma[(ka.exec(a)||["",""])[1].toLowerCase()]){a=r.htmlPrefilter(a);try{for(;c1)}});function _a(a,b,c,d,e){return new _a.prototype.init(a,b,c,d,e)}r.Tween=_a,_a.prototype={constructor:_a,init:function(a,b,c,d,e,f){this.elem=a,this.prop=c,this.easing=e||r.easing._default,this.options=b,this.start=this.now=this.cur(),this.end=d,this.unit=f||(r.cssNumber[c]?"":"px")},cur:function(){var a=_a.propHooks[this.prop];return a&&a.get?a.get(this):_a.propHooks._default.get(this)},run:function(a){var b,c=_a.propHooks[this.prop];return this.options.duration?this.pos=b=r.easing[this.easing](a,this.options.duration*a,0,1,this.options.duration):this.pos=b=a,this.now=(this.end-this.start)*b+this.start,this.options.step&&this.options.step.call(this.elem,this.now,this),c&&c.set?c.set(this):_a.propHooks._default.set(this),this}},_a.prototype.init.prototype=_a.prototype,_a.propHooks={_default:{get:function(a){var b;return 1!==a.elem.nodeType||null!=a.elem[a.prop]&&null==a.elem.style[a.prop]?a.elem[a.prop]:(b=r.css(a.elem,a.prop,""),b&&"auto"!==b?b:0)},set:function(a){r.fx.step[a.prop]?r.fx.step[a.prop](a):1!==a.elem.nodeType||null==a.elem.style[r.cssProps[a.prop]]&&!r.cssHooks[a.prop]?a.elem[a.prop]=a.now:r.style(a.elem,a.prop,a.now+a.unit)}}},_a.propHooks.scrollTop=_a.propHooks.scrollLeft={set:function(a){a.elem.nodeType&&a.elem.parentNode&&(a.elem[a.prop]=a.now)}},r.easing={linear:function(a){return a},swing:function(a){return.5-Math.cos(a*Math.PI)/2},_default:"swing"},r.fx=_a.prototype.init,r.fx.step={};var ab,bb,cb=/^(?:toggle|show|hide)$/,db=/queueHooks$/;function eb(){bb&&(d.hidden===!1&&a.requestAnimationFrame?a.requestAnimationFrame(eb):a.setTimeout(eb,r.fx.interval),r.fx.tick())}function fb(){return a.setTimeout(function(){ab=void 0}),ab=r.now()}function gb(a,b){var c,d=0,e={height:a};for(b=b?1:0;d<4;d+=2-b)c=ca[d],e["margin"+c]=e["padding"+c]=a;return b&&(e.opacity=e.width=a),e}function hb(a,b,c){for(var d,e=(kb.tweeners[b]||[]).concat(kb.tweeners["*"]),f=0,g=e.length;f1)},removeAttr:function(a){return this.each(function(){r.removeAttr(this,a)})}}),r.extend({attr:function(a,b,c){var d,e,f=a.nodeType;if(3!==f&&8!==f&&2!==f)return"undefined"==typeof a.getAttribute?r.prop(a,b,c):(1===f&&r.isXMLDoc(a)||(e=r.attrHooks[b.toLowerCase()]||(r.expr.match.bool.test(b)?lb:void 0)),void 0!==c?null===c?void r.removeAttr(a,b):e&&"set"in e&&void 0!==(d=e.set(a,c,b))?d:(a.setAttribute(b,c+""),c):e&&"get"in e&&null!==(d=e.get(a,b))?d:(d=r.find.attr(a,b), +null==d?void 0:d))},attrHooks:{type:{set:function(a,b){if(!o.radioValue&&"radio"===b&&B(a,"input")){var c=a.value;return a.setAttribute("type",b),c&&(a.value=c),b}}}},removeAttr:function(a,b){var c,d=0,e=b&&b.match(L);if(e&&1===a.nodeType)while(c=e[d++])a.removeAttribute(c)}}),lb={set:function(a,b,c){return b===!1?r.removeAttr(a,c):a.setAttribute(c,c),c}},r.each(r.expr.match.bool.source.match(/\w+/g),function(a,b){var c=mb[b]||r.find.attr;mb[b]=function(a,b,d){var e,f,g=b.toLowerCase();return d||(f=mb[g],mb[g]=e,e=null!=c(a,b,d)?g:null,mb[g]=f),e}});var nb=/^(?:input|select|textarea|button)$/i,ob=/^(?:a|area)$/i;r.fn.extend({prop:function(a,b){return T(this,r.prop,a,b,arguments.length>1)},removeProp:function(a){return this.each(function(){delete this[r.propFix[a]||a]})}}),r.extend({prop:function(a,b,c){var d,e,f=a.nodeType;if(3!==f&&8!==f&&2!==f)return 1===f&&r.isXMLDoc(a)||(b=r.propFix[b]||b,e=r.propHooks[b]),void 0!==c?e&&"set"in e&&void 0!==(d=e.set(a,c,b))?d:a[b]=c:e&&"get"in e&&null!==(d=e.get(a,b))?d:a[b]},propHooks:{tabIndex:{get:function(a){var b=r.find.attr(a,"tabindex");return b?parseInt(b,10):nb.test(a.nodeName)||ob.test(a.nodeName)&&a.href?0:-1}}},propFix:{"for":"htmlFor","class":"className"}}),o.optSelected||(r.propHooks.selected={get:function(a){var b=a.parentNode;return b&&b.parentNode&&b.parentNode.selectedIndex,null},set:function(a){var b=a.parentNode;b&&(b.selectedIndex,b.parentNode&&b.parentNode.selectedIndex)}}),r.each(["tabIndex","readOnly","maxLength","cellSpacing","cellPadding","rowSpan","colSpan","useMap","frameBorder","contentEditable"],function(){r.propFix[this.toLowerCase()]=this});function pb(a){var b=a.match(L)||[];return b.join(" ")}function qb(a){return a.getAttribute&&a.getAttribute("class")||""}r.fn.extend({addClass:function(a){var b,c,d,e,f,g,h,i=0;if(r.isFunction(a))return this.each(function(b){r(this).addClass(a.call(this,b,qb(this)))});if("string"==typeof a&&a){b=a.match(L)||[];while(c=this[i++])if(e=qb(c),d=1===c.nodeType&&" "+pb(e)+" "){g=0;while(f=b[g++])d.indexOf(" "+f+" ")<0&&(d+=f+" ");h=pb(d),e!==h&&c.setAttribute("class",h)}}return this},removeClass:function(a){var b,c,d,e,f,g,h,i=0;if(r.isFunction(a))return this.each(function(b){r(this).removeClass(a.call(this,b,qb(this)))});if(!arguments.length)return this.attr("class","");if("string"==typeof a&&a){b=a.match(L)||[];while(c=this[i++])if(e=qb(c),d=1===c.nodeType&&" "+pb(e)+" "){g=0;while(f=b[g++])while(d.indexOf(" "+f+" ")>-1)d=d.replace(" "+f+" "," ");h=pb(d),e!==h&&c.setAttribute("class",h)}}return this},toggleClass:function(a,b){var c=typeof a;return"boolean"==typeof b&&"string"===c?b?this.addClass(a):this.removeClass(a):r.isFunction(a)?this.each(function(c){r(this).toggleClass(a.call(this,c,qb(this),b),b)}):this.each(function(){var b,d,e,f;if("string"===c){d=0,e=r(this),f=a.match(L)||[];while(b=f[d++])e.hasClass(b)?e.removeClass(b):e.addClass(b)}else void 0!==a&&"boolean"!==c||(b=qb(this),b&&W.set(this,"__className__",b),this.setAttribute&&this.setAttribute("class",b||a===!1?"":W.get(this,"__className__")||""))})},hasClass:function(a){var b,c,d=0;b=" "+a+" ";while(c=this[d++])if(1===c.nodeType&&(" "+pb(qb(c))+" ").indexOf(b)>-1)return!0;return!1}});var rb=/\r/g;r.fn.extend({val:function(a){var b,c,d,e=this[0];{if(arguments.length)return d=r.isFunction(a),this.each(function(c){var e;1===this.nodeType&&(e=d?a.call(this,c,r(this).val()):a,null==e?e="":"number"==typeof e?e+="":Array.isArray(e)&&(e=r.map(e,function(a){return null==a?"":a+""})),b=r.valHooks[this.type]||r.valHooks[this.nodeName.toLowerCase()],b&&"set"in b&&void 0!==b.set(this,e,"value")||(this.value=e))});if(e)return b=r.valHooks[e.type]||r.valHooks[e.nodeName.toLowerCase()],b&&"get"in b&&void 0!==(c=b.get(e,"value"))?c:(c=e.value,"string"==typeof c?c.replace(rb,""):null==c?"":c)}}}),r.extend({valHooks:{option:{get:function(a){var b=r.find.attr(a,"value");return null!=b?b:pb(r.text(a))}},select:{get:function(a){var b,c,d,e=a.options,f=a.selectedIndex,g="select-one"===a.type,h=g?null:[],i=g?f+1:e.length;for(d=f<0?i:g?f:0;d-1)&&(c=!0);return c||(a.selectedIndex=-1),f}}}}),r.each(["radio","checkbox"],function(){r.valHooks[this]={set:function(a,b){if(Array.isArray(b))return a.checked=r.inArray(r(a).val(),b)>-1}},o.checkOn||(r.valHooks[this].get=function(a){return null===a.getAttribute("value")?"on":a.value})});var sb=/^(?:focusinfocus|focusoutblur)$/;r.extend(r.event,{trigger:function(b,c,e,f){var g,h,i,j,k,m,n,o=[e||d],p=l.call(b,"type")?b.type:b,q=l.call(b,"namespace")?b.namespace.split("."):[];if(h=i=e=e||d,3!==e.nodeType&&8!==e.nodeType&&!sb.test(p+r.event.triggered)&&(p.indexOf(".")>-1&&(q=p.split("."),p=q.shift(),q.sort()),k=p.indexOf(":")<0&&"on"+p,b=b[r.expando]?b:new r.Event(p,"object"==typeof b&&b),b.isTrigger=f?2:3,b.namespace=q.join("."),b.rnamespace=b.namespace?new RegExp("(^|\\.)"+q.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,b.result=void 0,b.target||(b.target=e),c=null==c?[b]:r.makeArray(c,[b]),n=r.event.special[p]||{},f||!n.trigger||n.trigger.apply(e,c)!==!1)){if(!f&&!n.noBubble&&!r.isWindow(e)){for(j=n.delegateType||p,sb.test(j+p)||(h=h.parentNode);h;h=h.parentNode)o.push(h),i=h;i===(e.ownerDocument||d)&&o.push(i.defaultView||i.parentWindow||a)}g=0;while((h=o[g++])&&!b.isPropagationStopped())b.type=g>1?j:n.bindType||p,m=(W.get(h,"events")||{})[b.type]&&W.get(h,"handle"),m&&m.apply(h,c),m=k&&h[k],m&&m.apply&&U(h)&&(b.result=m.apply(h,c),b.result===!1&&b.preventDefault());return b.type=p,f||b.isDefaultPrevented()||n._default&&n._default.apply(o.pop(),c)!==!1||!U(e)||k&&r.isFunction(e[p])&&!r.isWindow(e)&&(i=e[k],i&&(e[k]=null),r.event.triggered=p,e[p](),r.event.triggered=void 0,i&&(e[k]=i)),b.result}},simulate:function(a,b,c){var d=r.extend(new r.Event,c,{type:a,isSimulated:!0});r.event.trigger(d,null,b)}}),r.fn.extend({trigger:function(a,b){return this.each(function(){r.event.trigger(a,b,this)})},triggerHandler:function(a,b){var c=this[0];if(c)return r.event.trigger(a,b,c,!0)}}),r.each("blur focus focusin focusout resize scroll click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup contextmenu".split(" "),function(a,b){r.fn[b]=function(a,c){return arguments.length>0?this.on(b,null,a,c):this.trigger(b)}}),r.fn.extend({hover:function(a,b){return this.mouseenter(a).mouseleave(b||a)}}),o.focusin="onfocusin"in a,o.focusin||r.each({focus:"focusin",blur:"focusout"},function(a,b){var c=function(a){r.event.simulate(b,a.target,r.event.fix(a))};r.event.special[b]={setup:function(){var d=this.ownerDocument||this,e=W.access(d,b);e||d.addEventListener(a,c,!0),W.access(d,b,(e||0)+1)},teardown:function(){var d=this.ownerDocument||this,e=W.access(d,b)-1;e?W.access(d,b,e):(d.removeEventListener(a,c,!0),W.remove(d,b))}}});var tb=a.location,ub=r.now(),vb=/\?/;r.parseXML=function(b){var c;if(!b||"string"!=typeof b)return null;try{c=(new a.DOMParser).parseFromString(b,"text/xml")}catch(d){c=void 0}return c&&!c.getElementsByTagName("parsererror").length||r.error("Invalid XML: "+b),c};var wb=/\[\]$/,xb=/\r?\n/g,yb=/^(?:submit|button|image|reset|file)$/i,zb=/^(?:input|select|textarea|keygen)/i;function Ab(a,b,c,d){var e;if(Array.isArray(b))r.each(b,function(b,e){c||wb.test(a)?d(a,e):Ab(a+"["+("object"==typeof e&&null!=e?b:"")+"]",e,c,d)});else if(c||"object"!==r.type(b))d(a,b);else for(e in b)Ab(a+"["+e+"]",b[e],c,d)}r.param=function(a,b){var c,d=[],e=function(a,b){var c=r.isFunction(b)?b():b;d[d.length]=encodeURIComponent(a)+"="+encodeURIComponent(null==c?"":c)};if(Array.isArray(a)||a.jquery&&!r.isPlainObject(a))r.each(a,function(){e(this.name,this.value)});else for(c in a)Ab(c,a[c],b,e);return d.join("&")},r.fn.extend({serialize:function(){return r.param(this.serializeArray())},serializeArray:function(){return this.map(function(){var a=r.prop(this,"elements");return a?r.makeArray(a):this}).filter(function(){var a=this.type;return this.name&&!r(this).is(":disabled")&&zb.test(this.nodeName)&&!yb.test(a)&&(this.checked||!ja.test(a))}).map(function(a,b){var c=r(this).val();return null==c?null:Array.isArray(c)?r.map(c,function(a){return{name:b.name,value:a.replace(xb,"\r\n")}}):{name:b.name,value:c.replace(xb,"\r\n")}}).get()}});var Bb=/%20/g,Cb=/#.*$/,Db=/([?&])_=[^&]*/,Eb=/^(.*?):[ \t]*([^\r\n]*)$/gm,Fb=/^(?:about|app|app-storage|.+-extension|file|res|widget):$/,Gb=/^(?:GET|HEAD)$/,Hb=/^\/\//,Ib={},Jb={},Kb="*/".concat("*"),Lb=d.createElement("a");Lb.href=tb.href;function Mb(a){return function(b,c){"string"!=typeof b&&(c=b,b="*");var d,e=0,f=b.toLowerCase().match(L)||[];if(r.isFunction(c))while(d=f[e++])"+"===d[0]?(d=d.slice(1)||"*",(a[d]=a[d]||[]).unshift(c)):(a[d]=a[d]||[]).push(c)}}function Nb(a,b,c,d){var e={},f=a===Jb;function g(h){var i;return e[h]=!0,r.each(a[h]||[],function(a,h){var j=h(b,c,d);return"string"!=typeof j||f||e[j]?f?!(i=j):void 0:(b.dataTypes.unshift(j),g(j),!1)}),i}return g(b.dataTypes[0])||!e["*"]&&g("*")}function Ob(a,b){var c,d,e=r.ajaxSettings.flatOptions||{};for(c in b)void 0!==b[c]&&((e[c]?a:d||(d={}))[c]=b[c]);return d&&r.extend(!0,a,d),a}function Pb(a,b,c){var d,e,f,g,h=a.contents,i=a.dataTypes;while("*"===i[0])i.shift(),void 0===d&&(d=a.mimeType||b.getResponseHeader("Content-Type"));if(d)for(e in h)if(h[e]&&h[e].test(d)){i.unshift(e);break}if(i[0]in c)f=i[0];else{for(e in c){if(!i[0]||a.converters[e+" "+i[0]]){f=e;break}g||(g=e)}f=f||g}if(f)return f!==i[0]&&i.unshift(f),c[f]}function Qb(a,b,c,d){var e,f,g,h,i,j={},k=a.dataTypes.slice();if(k[1])for(g in a.converters)j[g.toLowerCase()]=a.converters[g];f=k.shift();while(f)if(a.responseFields[f]&&(c[a.responseFields[f]]=b),!i&&d&&a.dataFilter&&(b=a.dataFilter(b,a.dataType)),i=f,f=k.shift())if("*"===f)f=i;else if("*"!==i&&i!==f){if(g=j[i+" "+f]||j["* "+f],!g)for(e in j)if(h=e.split(" "),h[1]===f&&(g=j[i+" "+h[0]]||j["* "+h[0]])){g===!0?g=j[e]:j[e]!==!0&&(f=h[0],k.unshift(h[1]));break}if(g!==!0)if(g&&a["throws"])b=g(b);else try{b=g(b)}catch(l){return{state:"parsererror",error:g?l:"No conversion from "+i+" to "+f}}}return{state:"success",data:b}}r.extend({active:0,lastModified:{},etag:{},ajaxSettings:{url:tb.href,type:"GET",isLocal:Fb.test(tb.protocol),global:!0,processData:!0,async:!0,contentType:"application/x-www-form-urlencoded; charset=UTF-8",accepts:{"*":Kb,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":r.parseXML},flatOptions:{url:!0,context:!0}},ajaxSetup:function(a,b){return b?Ob(Ob(a,r.ajaxSettings),b):Ob(r.ajaxSettings,a)},ajaxPrefilter:Mb(Ib),ajaxTransport:Mb(Jb),ajax:function(b,c){"object"==typeof b&&(c=b,b=void 0),c=c||{};var e,f,g,h,i,j,k,l,m,n,o=r.ajaxSetup({},c),p=o.context||o,q=o.context&&(p.nodeType||p.jquery)?r(p):r.event,s=r.Deferred(),t=r.Callbacks("once memory"),u=o.statusCode||{},v={},w={},x="canceled",y={readyState:0,getResponseHeader:function(a){var b;if(k){if(!h){h={};while(b=Eb.exec(g))h[b[1].toLowerCase()]=b[2]}b=h[a.toLowerCase()]}return null==b?null:b},getAllResponseHeaders:function(){return k?g:null},setRequestHeader:function(a,b){return null==k&&(a=w[a.toLowerCase()]=w[a.toLowerCase()]||a,v[a]=b),this},overrideMimeType:function(a){return null==k&&(o.mimeType=a),this},statusCode:function(a){var b;if(a)if(k)y.always(a[y.status]);else for(b in a)u[b]=[u[b],a[b]];return this},abort:function(a){var b=a||x;return e&&e.abort(b),A(0,b),this}};if(s.promise(y),o.url=((b||o.url||tb.href)+"").replace(Hb,tb.protocol+"//"),o.type=c.method||c.type||o.method||o.type,o.dataTypes=(o.dataType||"*").toLowerCase().match(L)||[""],null==o.crossDomain){j=d.createElement("a");try{j.href=o.url,j.href=j.href,o.crossDomain=Lb.protocol+"//"+Lb.host!=j.protocol+"//"+j.host}catch(z){o.crossDomain=!0}}if(o.data&&o.processData&&"string"!=typeof o.data&&(o.data=r.param(o.data,o.traditional)),Nb(Ib,o,c,y),k)return y;l=r.event&&o.global,l&&0===r.active++&&r.event.trigger("ajaxStart"),o.type=o.type.toUpperCase(),o.hasContent=!Gb.test(o.type),f=o.url.replace(Cb,""),o.hasContent?o.data&&o.processData&&0===(o.contentType||"").indexOf("application/x-www-form-urlencoded")&&(o.data=o.data.replace(Bb,"+")):(n=o.url.slice(f.length),o.data&&(f+=(vb.test(f)?"&":"?")+o.data,delete o.data),o.cache===!1&&(f=f.replace(Db,"$1"),n=(vb.test(f)?"&":"?")+"_="+ub++ +n),o.url=f+n),o.ifModified&&(r.lastModified[f]&&y.setRequestHeader("If-Modified-Since",r.lastModified[f]),r.etag[f]&&y.setRequestHeader("If-None-Match",r.etag[f])),(o.data&&o.hasContent&&o.contentType!==!1||c.contentType)&&y.setRequestHeader("Content-Type",o.contentType),y.setRequestHeader("Accept",o.dataTypes[0]&&o.accepts[o.dataTypes[0]]?o.accepts[o.dataTypes[0]]+("*"!==o.dataTypes[0]?", "+Kb+"; q=0.01":""):o.accepts["*"]);for(m in o.headers)y.setRequestHeader(m,o.headers[m]);if(o.beforeSend&&(o.beforeSend.call(p,y,o)===!1||k))return y.abort();if(x="abort",t.add(o.complete),y.done(o.success),y.fail(o.error),e=Nb(Jb,o,c,y)){if(y.readyState=1,l&&q.trigger("ajaxSend",[y,o]),k)return y;o.async&&o.timeout>0&&(i=a.setTimeout(function(){y.abort("timeout")},o.timeout));try{k=!1,e.send(v,A)}catch(z){if(k)throw z;A(-1,z)}}else A(-1,"No Transport");function A(b,c,d,h){var j,m,n,v,w,x=c;k||(k=!0,i&&a.clearTimeout(i),e=void 0,g=h||"",y.readyState=b>0?4:0,j=b>=200&&b<300||304===b,d&&(v=Pb(o,y,d)),v=Qb(o,v,y,j),j?(o.ifModified&&(w=y.getResponseHeader("Last-Modified"),w&&(r.lastModified[f]=w),w=y.getResponseHeader("etag"),w&&(r.etag[f]=w)),204===b||"HEAD"===o.type?x="nocontent":304===b?x="notmodified":(x=v.state,m=v.data,n=v.error,j=!n)):(n=x,!b&&x||(x="error",b<0&&(b=0))),y.status=b,y.statusText=(c||x)+"",j?s.resolveWith(p,[m,x,y]):s.rejectWith(p,[y,x,n]),y.statusCode(u),u=void 0,l&&q.trigger(j?"ajaxSuccess":"ajaxError",[y,o,j?m:n]),t.fireWith(p,[y,x]),l&&(q.trigger("ajaxComplete",[y,o]),--r.active||r.event.trigger("ajaxStop")))}return y},getJSON:function(a,b,c){return r.get(a,b,c,"json")},getScript:function(a,b){return r.get(a,void 0,b,"script")}}),r.each(["get","post"],function(a,b){r[b]=function(a,c,d,e){return r.isFunction(c)&&(e=e||d,d=c,c=void 0),r.ajax(r.extend({url:a,type:b,dataType:e,data:c,success:d},r.isPlainObject(a)&&a))}}),r._evalUrl=function(a){return r.ajax({url:a,type:"GET",dataType:"script",cache:!0,async:!1,global:!1,"throws":!0})},r.fn.extend({wrapAll:function(a){var b;return this[0]&&(r.isFunction(a)&&(a=a.call(this[0])),b=r(a,this[0].ownerDocument).eq(0).clone(!0),this[0].parentNode&&b.insertBefore(this[0]),b.map(function(){var a=this;while(a.firstElementChild)a=a.firstElementChild;return a}).append(this)),this},wrapInner:function(a){return r.isFunction(a)?this.each(function(b){r(this).wrapInner(a.call(this,b))}):this.each(function(){var b=r(this),c=b.contents();c.length?c.wrapAll(a):b.append(a)})},wrap:function(a){var b=r.isFunction(a);return this.each(function(c){r(this).wrapAll(b?a.call(this,c):a)})},unwrap:function(a){return this.parent(a).not("body").each(function(){r(this).replaceWith(this.childNodes)}),this}}),r.expr.pseudos.hidden=function(a){return!r.expr.pseudos.visible(a)},r.expr.pseudos.visible=function(a){return!!(a.offsetWidth||a.offsetHeight||a.getClientRects().length)},r.ajaxSettings.xhr=function(){try{return new a.XMLHttpRequest}catch(b){}};var Rb={0:200,1223:204},Sb=r.ajaxSettings.xhr();o.cors=!!Sb&&"withCredentials"in Sb,o.ajax=Sb=!!Sb,r.ajaxTransport(function(b){var c,d;if(o.cors||Sb&&!b.crossDomain)return{send:function(e,f){var g,h=b.xhr();if(h.open(b.type,b.url,b.async,b.username,b.password),b.xhrFields)for(g in b.xhrFields)h[g]=b.xhrFields[g];b.mimeType&&h.overrideMimeType&&h.overrideMimeType(b.mimeType),b.crossDomain||e["X-Requested-With"]||(e["X-Requested-With"]="XMLHttpRequest");for(g in e)h.setRequestHeader(g,e[g]);c=function(a){return function(){c&&(c=d=h.onload=h.onerror=h.onabort=h.onreadystatechange=null,"abort"===a?h.abort():"error"===a?"number"!=typeof h.status?f(0,"error"):f(h.status,h.statusText):f(Rb[h.status]||h.status,h.statusText,"text"!==(h.responseType||"text")||"string"!=typeof h.responseText?{binary:h.response}:{text:h.responseText},h.getAllResponseHeaders()))}},h.onload=c(),d=h.onerror=c("error"),void 0!==h.onabort?h.onabort=d:h.onreadystatechange=function(){4===h.readyState&&a.setTimeout(function(){c&&d()})},c=c("abort");try{h.send(b.hasContent&&b.data||null)}catch(i){if(c)throw i}},abort:function(){c&&c()}}}),r.ajaxPrefilter(function(a){a.crossDomain&&(a.contents.script=!1)}),r.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/\b(?:java|ecma)script\b/},converters:{"text script":function(a){return r.globalEval(a),a}}}),r.ajaxPrefilter("script",function(a){void 0===a.cache&&(a.cache=!1),a.crossDomain&&(a.type="GET")}),r.ajaxTransport("script",function(a){if(a.crossDomain){var b,c;return{send:function(e,f){b=r(" + + + @if ($errors->any()) + + @endif + + + @if (session('success')) + + @endif + +@endsection diff --git a/resources/views/home.blade.php b/resources/views/home.blade.php new file mode 100644 index 0000000..7412f2e --- /dev/null +++ b/resources/views/home.blade.php @@ -0,0 +1,287 @@ +@extends('template') +@section('title', 'Beranda') + +@section('content') +
+
+
+
+

+ Hi, selamat datang kembali +

+ + {{ now()->translatedFormat('l, d F Y') }} — + Login sebagai {{ auth()->user()->isAdmin() ? 'Admin' : 'Karyawan' }} + +
+
+
+ + +
+
+
+ +
+
+ +
+
+ Jumlah Ayam +
+ {{ number_format($jumlahAyam ?? 0, 0, ',', '.') }} Ekor +
+
+
+ + + Total populasi ayam aktif + +
+
+
+ + +
+
+
+ +
+
+ +
+
+ Produksi Hari Ini +
+ {{ number_format($produksiHariIni ?? 0, 1, ',', '.') }} Kg +
+
+
+ + + Akumulasi produksi hari ini + +
+
+
+ + +
+
+
+ +
+
+ +
+
+ Stok Pakan +
+ {{ number_format($stokPakan ?? 0, 1, ',', '.') }} Karung +
+
+
+ + + @if (isset($stokMenipis) && $stokMenipis->count()) + ⚠ Stok menipis: {{ $stokMenipis->pluck('nama_barang')->join(', ') }} + @else + Stok dalam batas aman + @endif + +
+
+
+ + +
+
+
+ +
+
+ +
+
+ Pendapatan Hari Ini +
+ Rp {{ number_format($pendapatanHariIni ?? 0, 0, ',', '.') }} +
+
+
+ + + Total transaksi hari ini + +
+
+
+ +
+
+ + +
+
+ +
+
+
+
+
+
Produksi Telur
+ Harian dalam periode terpilih +
+ +
+ + + + + +
+
+ + +
+ +
+ +
+
+
+ + + + @auth + @if (auth()->user()->isAdmin()) +
+
+
+ +
+
+
Total Keuangan
+ Mingguan +
+ +
+ +
+
+ + +
+ +
+ +
+
+
+ @endif + + + @endauth + + +
+
+ +
+
+
+@endsection + +@section('scripts') + + + + + +@endsection diff --git a/resources/views/inventori-ayam.blade.php b/resources/views/inventori-ayam.blade.php new file mode 100644 index 0000000..8ef2fc2 --- /dev/null +++ b/resources/views/inventori-ayam.blade.php @@ -0,0 +1,560 @@ +@extends('template') +@section('title', 'Populasi Ayam') + +@section('content') +
+
+
+ + +
+

Populasi Ayam

+
+
+ @foreach ($kandang as $k) +
+
+
+ +
+ {{ $k->nama_kandang }} +
+ + + +
+ {{ number_format($k->jumlah_ayam_terakhir, 0, ',', '.') }} +
+ +
+
+
+ @endforeach +
+ +
+ + +
+
+
+ + +
+ + +
+ + +
+ + +
+ + +
+ + +
+ + +
+ + +
+ + +
+ + +
+ + +
+ +
+ +
+
+
+ + + + + +
+
+ + + + + + + + + + + + + + @forelse ($data as $item) + + + + + + + + + + + + + + + + + @empty + + + + @endforelse + +
NoNama KandangJumlahJenis MutasiKeteranganTanggal UpdateAksi
+ {{ $data->firstItem() + $loop->index }} + {{ $item->kandang->nama_kandang ?? '-' }}{{ number_format($item->jumlah, 0, ',', '.') }} + {{ ucfirst($item->jenis_mutasi ?? '-') }} +{{ $item->keterangan ?? '-' }} + {{ \Carbon\Carbon::parse($item->tanggal)->translatedFormat('d F Y') }} + + + + @auth + @if (auth()->user()->isAdmin()) + + @endif + @endauth +
+ Data populasi ayam belum tersedia +
+
+
+ + +
+ + + @if ($data->count()) + Menampilkan {{ $data->firstItem() }} – {{ $data->lastItem() }} + dari {{ $data->total() }} data + @else + Tidak ada data populasi ayam + @endif + + + @if ($data->hasPages()) + {{ $data->links() }} + @endif + +
+ + +
+
+
+
+ + + + + + + + + +@endsection + + +@section('scripts') + + + + {{-- SWEET ALERT SUCCESS --}} + @if (session('success')) + + @endif + +@endsection diff --git a/resources/views/inventori-pakan.blade.php b/resources/views/inventori-pakan.blade.php new file mode 100644 index 0000000..0da0fa8 --- /dev/null +++ b/resources/views/inventori-pakan.blade.php @@ -0,0 +1,692 @@ +@extends('template') +@section('title', 'Manajemen Pakan') + +@section('content') +
+
+
+
+

Manajemen Pakan

+
+
+ +
+
+
+ +
+ + +
+ +
+ + +
+ +
+ + +
+ +
+ + +
+ +
+ + +
+ + +
+ + +
+ +
+ +
+
+ @if (auth()->user()->isAdmin() && isset($stokMenipis) && $stokMenipis->count()) +
+ ⚠ Stok Menipis +
    + @foreach ($stokMenipis as $s) +
  • + {{ $s->nama_barang }} tersisa + {{ number_format($s->stok, 0, ',', '.') }} karung +
  • + @endforeach +
+
+ @endif + + + + +
+
+ + + + + + + + + @if (auth()->user()->isAdmin()) + + + + @endif + + + + + @forelse ($data as $item) + + + + + + + + + + + + @if (auth()->user()->isAdmin()) + + + + + + @endif + + + + @empty + + + + @endforelse + + + + +
NoTanggalNama BarangJenisJumlahHarga (Rp)Total (Rp)Aksi
+ {{ $data->firstItem() ? $data->firstItem() + $loop->index : $loop->iteration }} + + {{ \Carbon\Carbon::parse($item->tanggal)->translatedFormat('d F Y') }} + + {{ $item->nama_barang }} + + + {{ ucfirst($item->jenis_transaksi) }} + + + {{ number_format($item->jumlah, 0, ',', '.') }} {{ $item->satuan }} + + {{ $item->harga_satuan ? 'Rp ' . number_format($item->harga_satuan, 0, ',', '.') : '-' }} + + {{ $item->total_harga ? 'Rp ' . number_format($item->total_harga, 0, ',', '.') : '-' }} + +
+ + + +
+ +
+ Data manajemen pakan belum tersedia +
+
+
+ + +
+ + @if ($data->count()) + Menampilkan {{ $data->firstItem() }} – {{ $data->lastItem() }} + dari {{ $data->total() }} data + @else + Belum ada data + @endif + + + @if ($data->hasPages()) + {{ $data->links() }} + @endif +
+ + +
+ +
+
+
+ + + + + + + + + +@endsection + + +@section('scripts') + + + + @if (session('success')) + + @endif + + + @if ($errors->any()) + + @endif + +@endsection diff --git a/resources/views/karyawan.blade.php b/resources/views/karyawan.blade.php new file mode 100644 index 0000000..3e865d2 --- /dev/null +++ b/resources/views/karyawan.blade.php @@ -0,0 +1,465 @@ +@extends('template') +@section('title', 'Data Karyawan') + +@section('content') +
+
+
+
+

Data Karyawan

+
+
+ +
+
+
+ +
+ + +
+ +
+ + +
+ +
+ + +
+ +
+ +
+
+
+
+ +
+
+ + + + + + + + + + + + + +@foreach ($data as $item) + + + + + + + + + + + + +@endforeach + +@if ($data->count() == 0) + + + +@endif + +
NoNama KaryawanNo HpAlamatStatusAksi
+ {{ $data->firstItem() + $loop->index }} + + {{ $item->nama_karyawan }}
+ + @if ($item->user) + + Memiliki Akun + + @else + + Tidak Memiliki Akun + + @endif +
{{ $item->no_hp }}{{ $item->alamat ?? '-' }} + @if ($item->status_karyawan === 'aktif') + Aktif + @else + Non Aktif + @endif + + + + + + @if ($item->status_karyawan === 'aktif') + + @else +
+ @csrf + @method('PATCH') + + +
+ @endif +
+ Data karyawan belum tersedia +
+
+
+ +
+ + @if ($data->count()) + Menampilkan {{ $data->firstItem() }} – {{ $data->lastItem() }} + dari {{ $data->total() }} data + @endif + + @if ($data->hasPages()) + {{ $data->links() }} + @endif +
+
+
+
+
+ + + + + + @foreach ($data as $item) + + + + + + + @endforeach +@endsection + +@section('scripts') + + + + + + @if (session('success')) + + @endif + + + @if ($errors->any()) + + @endif + + + +@endsection diff --git a/resources/views/laporan.blade.php b/resources/views/laporan.blade.php new file mode 100644 index 0000000..2db58b8 --- /dev/null +++ b/resources/views/laporan.blade.php @@ -0,0 +1,301 @@ +@extends('template') +@section('title', 'Laporan') + +@section('content') +
+
+
+
+

Laporan Tahunan

+
+
+ +
+
+
+
+
Tahun Laporan
+ + + Menampilkan data laporan tahun {{ $tahun }} + +
+ +
+
+
+ + + + + +
+ + +
+
+ @php + $bulanProduksi = request('bulan_produksi', 1); + @endphp + +
+ + +
+
+ + +
+
+
+ +
+ + + + + + + + + @php + $dataProduksi = $produksi->where('bulan', $bulanProduksi); + $totalProduksi = 0; + @endphp + + @foreach ($dataProduksi as $row) + + + + + @php $totalProduksi += $row->total_produksi; @endphp + @endforeach + + + + + + +
MingguTotal Produksi (Kg)
Minggu {{ $row->minggu }}{{ number_format($row->total_produksi) }}
+ Total + {{ \Carbon\Carbon::createFromDate(null, $bulanProduksi, 1)->translatedFormat('F') }} + {{ number_format($totalProduksi) }}
+ +
+ + Total Produksi Bulan: + {{ number_format($totalProduksi, 0, ',', '.') }} Kg + + + + Rata-rata Produksi Mingguan: + + {{ $dataProduksi->count() > 0 ? number_format($totalProduksi / $dataProduksi->count(), 1, ',', '.') : 0 }} + Kg + + + +
+
+
+
+ + +
+
+ @php + $bulanInventori = request('bulan_inventori', 1); + @endphp + +
+ + +
+
+ + +
+
+
+ +
+ + + + + + + + + + @php + $dataInventori = $inventori->where('bulan', $bulanInventori); + $totalMasuk = 0; + $totalKeluar = 0; + @endphp + + @foreach ($dataInventori as $row) + + + + + + @php + $totalMasuk += $row->masuk; + $totalKeluar += $row->keluar; + @endphp + @endforeach + + + + + + + +
MingguMasuk (Kg)Keluar (Kg)
Minggu {{ $row->minggu }}{{ number_format($row->masuk) }}{{ number_format($row->keluar) }}
+ Total + {{ \Carbon\Carbon::createFromDate(null, $bulanInventori, 1)->translatedFormat('F') }} + {{ number_format($totalMasuk) }}{{ number_format($totalKeluar) }}
+
+ +
+ + Total Masuk Bulan: + {{ number_format($totalMasuk) }} Kg + + + + Total Keluar Bulan: + {{ number_format($totalKeluar) }} Kg + + + + Rata-rata Masuk Mingguan: + + {{ $dataInventori->count() > 0 ? number_format($totalMasuk / $dataInventori->count(), 1, ',', '.') : 0 }} + Kg + + + + + Rata-rata Keluar Mingguan: + + {{ $dataInventori->count() > 0 ? number_format($totalKeluar / $dataInventori->count(), 1, ',', '.') : 0 }} + Kg + + + +
+ +
+
+ + + +
+
+
+ + + + + + + + + + + + @for ($b = 1; $b <= 12; $b++) + @php + $pemasukan = + $keuangan['pemasukan']->firstWhere('bulan', $b)->total ?? 0; + $inventori = + $keuangan['inventori']->firstWhere('bulan', $b)->total ?? 0; + $gaji = $keuangan['gaji']->firstWhere('bulan', $b)->total ?? 0; + $laba = $pemasukan - ($inventori + $gaji); + @endphp + + + + + + + + @endfor + +
BulanPemasukanPembelianGajiLaba / Rugi
+ {{ \Carbon\Carbon::createFromDate(null, $b, 1)->locale('id')->translatedFormat('F') }} + + Rp {{ number_format($pemasukan, 0, ',', '.') }} + + Rp {{ number_format($inventori, 0, ',', '.') }} + + Rp {{ number_format($gaji, 0, ',', '.') }} + + Rp {{ number_format($laba, 0, ',', '.') }} +
+
+
+
+ + +
+
+ +
+
+
+@endsection diff --git a/resources/views/layouts/app.blade.php b/resources/views/layouts/app.blade.php new file mode 100644 index 0000000..c5ff315 --- /dev/null +++ b/resources/views/layouts/app.blade.php @@ -0,0 +1,36 @@ + + + + + + + + {{ config('app.name', 'Laravel') }} + + + + + + + @vite(['resources/css/app.css', 'resources/js/app.js']) + + +
+ @include('layouts.navigation') + + + @isset($header) +
+
+ {{ $header }} +
+
+ @endisset + + +
+ {{ $slot }} +
+
+ + diff --git a/resources/views/layouts/guest.blade.php b/resources/views/layouts/guest.blade.php new file mode 100644 index 0000000..32e3ab7 --- /dev/null +++ b/resources/views/layouts/guest.blade.php @@ -0,0 +1,44 @@ +@props(['title' => '']) + + + + + + + +{{ config('app.name') }} | {{ $title ?? '' }} + + + + + + + +{{-- --}} + + + + + + + +
+
+ + {{ $slot }} + +
+
+ + + + + + + diff --git a/resources/views/layouts/navigation.blade.php b/resources/views/layouts/navigation.blade.php new file mode 100644 index 0000000..c2d3a65 --- /dev/null +++ b/resources/views/layouts/navigation.blade.php @@ -0,0 +1,100 @@ + diff --git a/resources/views/produksi-hasil.blade.php b/resources/views/produksi-hasil.blade.php new file mode 100644 index 0000000..1ca7c78 --- /dev/null +++ b/resources/views/produksi-hasil.blade.php @@ -0,0 +1,455 @@ +@extends('template') +@section('title', 'Produksi Telur') + +@section('content') +
+
+
+
+

Produksi Telur

+
+
+ +
+
+
+ +
+ + +
+ +
+ + +
+ +
+ + +
+ +
+ + +
+ +
+ +
+ +
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + @foreach ($data as $item) + + + + + + + + + + + + + + + + @endforeach + @if ($data->count() == 0) + + + + @endif + +
NoKandangShiftTelur BaikTelur RusakTotal TelurTanggal ProduksiStatusAksi
{{ $data->firstItem() + $loop->index }} + {{ optional($item->kandang)->nama_kandang ?? '-' }}{{ ucfirst($item->shift) }} + {{ rtrim(rtrim(number_format($item->berat_telur_layak, 2, ',', '.'), '0'), ',') }} + kg + + {{ rtrim(rtrim(number_format($item->berat_telur_rusak, 2, ',', '.'), '0'), ',') }} + kg + + {{ rtrim(rtrim(number_format($item->berat_telur_total, 2, ',', '.'), '0'), ',') }} + kg + {{ \Carbon\Carbon::parse($item->tanggal_produksi)->translatedFormat('d F Y') }} + + Selesai + + + + @auth + @if (auth()->user()->isAdmin()) + + @endif + @endauth + +
+ Data produksi belum tersedia +
+
+
+ + + + + + +
+
+
+
+ + + + + + + + + +@endsection + +@section('scripts') + +@endsection diff --git a/resources/views/produksi-keuangan.blade.php b/resources/views/produksi-keuangan.blade.php new file mode 100644 index 0000000..8f83a81 --- /dev/null +++ b/resources/views/produksi-keuangan.blade.php @@ -0,0 +1,541 @@ +@extends('template') +@section('title', 'Penjualan') + +@section('content') +
+
+
+
+

Penjualan

+
+
+ +
+
+
+ +
+ + +
+ +
+ + +
+ +
+ + +
+ +
+ + +
+ +
+ + +
+ +
+ + +
+ +
+ +
+
+ + + +
+
+ + + + + + + + + + + + + + @forelse ($penjualans as $penjualan) + + + + + + + + + + + + + + + + @empty + + + + @endforelse + +
NoTanggalProdukJumlah (Kg)Harga (Kg)TotalAksi
+ {{ $penjualans->firstItem() + $loop->index }} + + {{ \Carbon\Carbon::parse($penjualan->tanggal_penjualan)->translatedFormat('d F Y') }} + + {{ $produks[$penjualan->jenis_produk] ?? '-' }} + +{{ rtrim(rtrim(number_format($penjualan->berat_terjual, 2, ',', '.'), '0'), ',') }} kg + + Rp {{ number_format($penjualan->harga_satuan, 0, ',', '.') }} + + Rp {{ number_format($penjualan->total_penjualan, 0, ',', '.') }} + + + + @auth + @if (auth()->user()->isAdmin()) + + @endif + @endauth +
+ Data penjualan belum tersedia +
+
+
+ + + + + +
+
+
+
+ + + + + + + + + +@endsection + + + +@section('scripts') + +@endsection diff --git a/resources/views/profil.blade.php b/resources/views/profil.blade.php new file mode 100644 index 0000000..2a09b13 --- /dev/null +++ b/resources/views/profil.blade.php @@ -0,0 +1,287 @@ +@extends('template') +@section('title', 'Profil') + +@section('content') +
+
+
+
+

Profil

+
+
+
+
+ Informasi Profil +
+
+
+ + + +
+ + +
+
+ +
+
+
+ +
+
+
+ +
+
+
+ Nama Lengkap +
+ {{ $user->isKaryawan() ? $karyawan?->nama_karyawan : $user->name }} +
+
+
+ Email +
{{ $user->email }}
+
+ @if ($user->isKaryawan()) +
+ No. Telepon +
{{ $karyawan?->no_hp ?? '-' }}
+
+ +
+ Alamat +
{{ $karyawan?->alamat ?? '-' }}
+
+ @endif +
+
+
+
+ +
+
+ @csrf + @method('PATCH') + +
+
+
+ + + @error('name') +
{{ $message }}
+ @enderror +
+
+ +
+
+ + + + @error('email') +
{{ $message }}
+ @enderror +
+
+
+ + @if ($user->isKaryawan()) +
+
+
+ + + + @error('no_hp') +
{{ $message }}
+ @enderror +
+
+ +
+
+ + + + + + @error('alamat') +
{{ $message }}
+ @enderror +
+
+
+ @endif + + + +
+
+ + +
+
+ @csrf + @method('PATCH') + +
+ +
+ + + + + @error('current_password') +
{{ $message }}
+ @enderror +
+
+ + +
+ +
+ + + + + + @error('password') +
{{ $message }}
+ @enderror +
+
+ + +
+ +
+ + + + +
+
+ + + +
+
+ +
+
+
+ +
+
+
+@endsection +@section('scripts') + + +@endsection diff --git a/resources/views/profile/edit.blade.php b/resources/views/profile/edit.blade.php new file mode 100644 index 0000000..e0e1d38 --- /dev/null +++ b/resources/views/profile/edit.blade.php @@ -0,0 +1,29 @@ + + +

+ {{ __('Profile') }} +

+
+ +
+
+
+
+ @include('profile.partials.update-profile-information-form') +
+
+ +
+
+ @include('profile.partials.update-password-form') +
+
+ +
+
+ @include('profile.partials.delete-user-form') +
+
+
+
+
diff --git a/resources/views/profile/partials/delete-user-form.blade.php b/resources/views/profile/partials/delete-user-form.blade.php new file mode 100644 index 0000000..edeeb4a --- /dev/null +++ b/resources/views/profile/partials/delete-user-form.blade.php @@ -0,0 +1,55 @@ +
+
+

+ {{ __('Delete Account') }} +

+ +

+ {{ __('Once your account is deleted, all of its resources and data will be permanently deleted. Before deleting your account, please download any data or information that you wish to retain.') }} +

+
+ + {{ __('Delete Account') }} + + +
+ @csrf + @method('delete') + +

+ {{ __('Are you sure you want to delete your account?') }} +

+ +

+ {{ __('Once your account is deleted, all of its resources and data will be permanently deleted. Please enter your password to confirm you would like to permanently delete your account.') }} +

+ +
+ + + + + +
+ +
+ + {{ __('Cancel') }} + + + + {{ __('Delete Account') }} + +
+
+
+
diff --git a/resources/views/profile/partials/update-password-form.blade.php b/resources/views/profile/partials/update-password-form.blade.php new file mode 100644 index 0000000..eaca1ac --- /dev/null +++ b/resources/views/profile/partials/update-password-form.blade.php @@ -0,0 +1,48 @@ +
+
+

+ {{ __('Update Password') }} +

+ +

+ {{ __('Ensure your account is using a long, random password to stay secure.') }} +

+
+ +
+ @csrf + @method('put') + +
+ + + +
+ +
+ + + +
+ +
+ + + +
+ +
+ {{ __('Save') }} + + @if (session('status') === 'password-updated') +

{{ __('Saved.') }}

+ @endif +
+
+
diff --git a/resources/views/profile/partials/update-profile-information-form.blade.php b/resources/views/profile/partials/update-profile-information-form.blade.php new file mode 100644 index 0000000..5ae3d35 --- /dev/null +++ b/resources/views/profile/partials/update-profile-information-form.blade.php @@ -0,0 +1,64 @@ +
+
+

+ {{ __('Profile Information') }} +

+ +

+ {{ __("Update your account's profile information and email address.") }} +

+
+ +
+ @csrf +
+ +
+ @csrf + @method('patch') + +
+ + + +
+ +
+ + + + + @if ($user instanceof \Illuminate\Contracts\Auth\MustVerifyEmail && ! $user->hasVerifiedEmail()) +
+

+ {{ __('Your email address is unverified.') }} + + +

+ + @if (session('status') === 'verification-link-sent') +

+ {{ __('A new verification link has been sent to your email address.') }} +

+ @endif +
+ @endif +
+ +
+ {{ __('Save') }} + + @if (session('status') === 'profile-updated') +

{{ __('Saved.') }}

+ @endif +
+
+
diff --git a/resources/views/template.blade.php b/resources/views/template.blade.php new file mode 100644 index 0000000..744a8dc --- /dev/null +++ b/resources/views/template.blade.php @@ -0,0 +1,247 @@ + + + + +LayerFarm | @yield('title') + + + + + + + + + + + + +
+
+
+ {{-- --}} + + + + +
+ +
+ + + + @yield('content') + + + + + + + + + + + + + + + + + + + @yield('scripts') + + + + diff --git a/resources/views/welcome.blade.php b/resources/views/welcome.blade.php new file mode 100644 index 0000000..b7355d7 --- /dev/null +++ b/resources/views/welcome.blade.php @@ -0,0 +1,277 @@ + + + + + + + {{ config('app.name', 'Laravel') }} + + + + + + + @if (file_exists(public_path('build/manifest.json')) || file_exists(public_path('hot'))) + @vite(['resources/css/app.css', 'resources/js/app.js']) + @else + + @endif + + +
+ @if (Route::has('login')) + + @endif +
+
+
+
+

Let's get started

+

Laravel has an incredibly rich ecosystem.
We suggest starting with the following.

+ + +
+
+ {{-- Laravel Logo --}} + + + + + + + + + + + {{-- Light Mode 12 SVG --}} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + {{-- Dark Mode 12 SVG --}} + +
+
+
+
+ + @if (Route::has('login')) + + @endif + + diff --git a/routes/auth.php b/routes/auth.php new file mode 100644 index 0000000..3926ecf --- /dev/null +++ b/routes/auth.php @@ -0,0 +1,59 @@ +group(function () { + Route::get('register', [RegisteredUserController::class, 'create']) + ->name('register'); + + Route::post('register', [RegisteredUserController::class, 'store']); + + Route::get('login', [AuthenticatedSessionController::class, 'create']) + ->name('login'); + + Route::post('login', [AuthenticatedSessionController::class, 'store']); + + Route::get('forgot-password', [PasswordResetLinkController::class, 'create']) + ->name('password.request'); + + Route::post('forgot-password', [PasswordResetLinkController::class, 'store']) + ->name('password.email'); + + Route::get('reset-password/{token}', [NewPasswordController::class, 'create']) + ->name('password.reset'); + + Route::post('reset-password', [NewPasswordController::class, 'store']) + ->name('password.store'); +}); + +Route::middleware('auth')->group(function () { + Route::get('verify-email', EmailVerificationPromptController::class) + ->name('verification.notice'); + + Route::get('verify-email/{id}/{hash}', VerifyEmailController::class) + ->middleware(['signed', 'throttle:6,1']) + ->name('verification.verify'); + + Route::post('email/verification-notification', [EmailVerificationNotificationController::class, 'store']) + ->middleware('throttle:6,1') + ->name('verification.send'); + + Route::get('confirm-password', [ConfirmablePasswordController::class, 'show']) + ->name('password.confirm'); + + Route::post('confirm-password', [ConfirmablePasswordController::class, 'store']); + + Route::put('password', [PasswordController::class, 'update'])->name('password.update'); + + Route::post('logout', [AuthenticatedSessionController::class, 'destroy']) + ->name('logout'); +}); diff --git a/routes/console.php b/routes/console.php new file mode 100644 index 0000000..3c9adf1 --- /dev/null +++ b/routes/console.php @@ -0,0 +1,8 @@ +comment(Inspiring::quote()); +})->purpose('Display an inspiring quote'); diff --git a/routes/web.php b/routes/web.php new file mode 100644 index 0000000..04293b8 --- /dev/null +++ b/routes/web.php @@ -0,0 +1,101 @@ +route('login'); +// }); + +Route::get('/', action: fn() => Auth::check() ? redirect()->route('beranda') : redirect()->route('login')); +// Route::get('/', function () { +// return view('welcome'); +// }); + +// Semua route harus login +Route::middleware('auth')->group(function () { + + /* + SEMUA USER LOGIN + */ + Route::get('/beranda', [HomeController::class, 'index'])->name('beranda'); + + Route::get('/profil', [ProfilController::class, 'index'])->name('profil'); + Route::patch('/profil/{id}', [ProfilController::class, 'update'])->name('profil.update'); + Route::patch('/profil/{id}/password', [ProfilController::class, 'updatePassword']) + ->name('profil.password.update'); + + + /* + ADMIN + KARYAWAN + (tanpa delete) + */ + Route::middleware([CheckRole::class . ':admin,karyawan'])->group(function () { + + Route::prefix('pakan')->group(function () { + Route::get('/', [PakanController::class, 'index'])->name('pakan'); + Route::post('/store', [PakanController::class, 'store'])->name('pakan.store'); + Route::put('/{id}', [PakanController::class, 'update'])->name('pakan.update'); + }); + + Route::prefix('ayam')->group(function () { + Route::get('/', [AyamController::class, 'index'])->name('ayam'); + Route::post('/store', [AyamController::class, 'store'])->name('ayam.store'); + Route::put('/{id}', [AyamController::class, 'update'])->name('ayam.update'); + }); + + Route::prefix('hasil')->group(function () { + Route::get('/', [HasilController::class, 'index'])->name('hasil'); + Route::post('/', [HasilController::class, 'store'])->name('hasil.store'); + Route::put('/{id}', [HasilController::class, 'update'])->name('hasil.update'); + }); + + Route::get('/keuangan', [KeuanganController::class, 'index'])->name('keuangan.index'); + Route::post('/keuangan', [KeuanganController::class, 'store'])->name('keuangan.store'); + Route::put('/keuangan/{id}', [KeuanganController::class, 'update'])->name('keuangan.update'); + }); + + + /* + ADMIN ONLY + (boleh delete + master) + */ + Route::middleware([CheckRole::class . ':admin'])->group(function () { + + // DELETE data operasional + Route::delete('/pakan/{id}', [PakanController::class, 'destroy'])->name('pakan.delete'); + Route::delete('/ayam/{id}', [AyamController::class, 'destroy'])->name('ayam.delete'); + Route::delete('/hasil/{id}', [HasilController::class, 'destroy'])->name('hasil.destroy'); + Route::delete('/keuangan/{id}', [KeuanganController::class, 'destroy'])->name('keuangan.delete'); + + // Manajemen karyawan + Route::get('/karyawan', [KaryawanController::class, 'index'])->name('karyawan'); + Route::post('/karyawan', [KaryawanController::class, 'store'])->name('karyawan.store'); + Route::put('/karyawan/{id}', [KaryawanController::class, 'update'])->name('karyawan.update'); + Route::patch('/karyawan/{id}/nonaktif', [KaryawanController::class, 'nonaktifkan'])->name('karyawan.nonaktifkan'); + Route::patch('/karyawan/{id}/aktif', [KaryawanController::class, 'aktifkan'])->name('karyawan.aktifkan'); + + // Gaji & laporan + Route::get('/gaji', [GajiController::class, 'index'])->name('gaji'); + Route::post('/gaji', [GajiController::class, 'store'])->name('gaji.store'); + + Route::get('/laporan', [LaporanController::class, 'index'])->name('laporan'); + Route::get('/laporan/export', [LaporanController::class, 'export'])->name('laporan.export'); + }); +}); diff --git a/storage/app/.gitignore b/storage/app/.gitignore new file mode 100644 index 0000000..fedb287 --- /dev/null +++ b/storage/app/.gitignore @@ -0,0 +1,4 @@ +* +!private/ +!public/ +!.gitignore diff --git a/storage/app/private/.gitignore b/storage/app/private/.gitignore new file mode 100644 index 0000000..d6b7ef3 --- /dev/null +++ b/storage/app/private/.gitignore @@ -0,0 +1,2 @@ +* +!.gitignore diff --git a/storage/app/public/.gitignore b/storage/app/public/.gitignore new file mode 100644 index 0000000..d6b7ef3 --- /dev/null +++ b/storage/app/public/.gitignore @@ -0,0 +1,2 @@ +* +!.gitignore diff --git a/storage/framework/.gitignore b/storage/framework/.gitignore new file mode 100644 index 0000000..05c4471 --- /dev/null +++ b/storage/framework/.gitignore @@ -0,0 +1,9 @@ +compiled.php +config.php +down +events.scanned.php +maintenance.php +routes.php +routes.scanned.php +schedule-* +services.json diff --git a/storage/framework/cache/.gitignore b/storage/framework/cache/.gitignore new file mode 100644 index 0000000..01e4a6c --- /dev/null +++ b/storage/framework/cache/.gitignore @@ -0,0 +1,3 @@ +* +!data/ +!.gitignore diff --git a/storage/framework/cache/data/.gitignore b/storage/framework/cache/data/.gitignore new file mode 100644 index 0000000..d6b7ef3 --- /dev/null +++ b/storage/framework/cache/data/.gitignore @@ -0,0 +1,2 @@ +* +!.gitignore diff --git a/storage/framework/sessions/.gitignore b/storage/framework/sessions/.gitignore new file mode 100644 index 0000000..d6b7ef3 --- /dev/null +++ b/storage/framework/sessions/.gitignore @@ -0,0 +1,2 @@ +* +!.gitignore diff --git a/storage/framework/testing/.gitignore b/storage/framework/testing/.gitignore new file mode 100644 index 0000000..d6b7ef3 --- /dev/null +++ b/storage/framework/testing/.gitignore @@ -0,0 +1,2 @@ +* +!.gitignore diff --git a/storage/framework/views/.gitignore b/storage/framework/views/.gitignore new file mode 100644 index 0000000..d6b7ef3 --- /dev/null +++ b/storage/framework/views/.gitignore @@ -0,0 +1,2 @@ +* +!.gitignore diff --git a/storage/logs/.gitignore b/storage/logs/.gitignore new file mode 100644 index 0000000..d6b7ef3 --- /dev/null +++ b/storage/logs/.gitignore @@ -0,0 +1,2 @@ +* +!.gitignore diff --git a/tailwind.config.js b/tailwind.config.js new file mode 100644 index 0000000..c29eb1a --- /dev/null +++ b/tailwind.config.js @@ -0,0 +1,21 @@ +import defaultTheme from 'tailwindcss/defaultTheme'; +import forms from '@tailwindcss/forms'; + +/** @type {import('tailwindcss').Config} */ +export default { + content: [ + './vendor/laravel/framework/src/Illuminate/Pagination/resources/views/*.blade.php', + './storage/framework/views/*.php', + './resources/views/**/*.blade.php', + ], + + theme: { + extend: { + fontFamily: { + sans: ['Figtree', ...defaultTheme.fontFamily.sans], + }, + }, + }, + + plugins: [forms], +}; diff --git a/tests/Feature/Auth/AuthenticationTest.php b/tests/Feature/Auth/AuthenticationTest.php new file mode 100644 index 0000000..13dcb7c --- /dev/null +++ b/tests/Feature/Auth/AuthenticationTest.php @@ -0,0 +1,54 @@ +get('/login'); + + $response->assertStatus(200); + } + + public function test_users_can_authenticate_using_the_login_screen(): void + { + $user = User::factory()->create(); + + $response = $this->post('/login', [ + 'email' => $user->email, + 'password' => 'password', + ]); + + $this->assertAuthenticated(); + $response->assertRedirect(route('dashboard', absolute: false)); + } + + public function test_users_can_not_authenticate_with_invalid_password(): void + { + $user = User::factory()->create(); + + $this->post('/login', [ + 'email' => $user->email, + 'password' => 'wrong-password', + ]); + + $this->assertGuest(); + } + + public function test_users_can_logout(): void + { + $user = User::factory()->create(); + + $response = $this->actingAs($user)->post('/logout'); + + $this->assertGuest(); + $response->assertRedirect('/'); + } +} diff --git a/tests/Feature/Auth/EmailVerificationTest.php b/tests/Feature/Auth/EmailVerificationTest.php new file mode 100644 index 0000000..705570b --- /dev/null +++ b/tests/Feature/Auth/EmailVerificationTest.php @@ -0,0 +1,58 @@ +unverified()->create(); + + $response = $this->actingAs($user)->get('/verify-email'); + + $response->assertStatus(200); + } + + public function test_email_can_be_verified(): void + { + $user = User::factory()->unverified()->create(); + + Event::fake(); + + $verificationUrl = URL::temporarySignedRoute( + 'verification.verify', + now()->addMinutes(60), + ['id' => $user->id, 'hash' => sha1($user->email)] + ); + + $response = $this->actingAs($user)->get($verificationUrl); + + Event::assertDispatched(Verified::class); + $this->assertTrue($user->fresh()->hasVerifiedEmail()); + $response->assertRedirect(route('dashboard', absolute: false).'?verified=1'); + } + + public function test_email_is_not_verified_with_invalid_hash(): void + { + $user = User::factory()->unverified()->create(); + + $verificationUrl = URL::temporarySignedRoute( + 'verification.verify', + now()->addMinutes(60), + ['id' => $user->id, 'hash' => sha1('wrong-email')] + ); + + $this->actingAs($user)->get($verificationUrl); + + $this->assertFalse($user->fresh()->hasVerifiedEmail()); + } +} diff --git a/tests/Feature/Auth/PasswordConfirmationTest.php b/tests/Feature/Auth/PasswordConfirmationTest.php new file mode 100644 index 0000000..ff85721 --- /dev/null +++ b/tests/Feature/Auth/PasswordConfirmationTest.php @@ -0,0 +1,44 @@ +create(); + + $response = $this->actingAs($user)->get('/confirm-password'); + + $response->assertStatus(200); + } + + public function test_password_can_be_confirmed(): void + { + $user = User::factory()->create(); + + $response = $this->actingAs($user)->post('/confirm-password', [ + 'password' => 'password', + ]); + + $response->assertRedirect(); + $response->assertSessionHasNoErrors(); + } + + public function test_password_is_not_confirmed_with_invalid_password(): void + { + $user = User::factory()->create(); + + $response = $this->actingAs($user)->post('/confirm-password', [ + 'password' => 'wrong-password', + ]); + + $response->assertSessionHasErrors(); + } +} diff --git a/tests/Feature/Auth/PasswordResetTest.php b/tests/Feature/Auth/PasswordResetTest.php new file mode 100644 index 0000000..aa50350 --- /dev/null +++ b/tests/Feature/Auth/PasswordResetTest.php @@ -0,0 +1,73 @@ +get('/forgot-password'); + + $response->assertStatus(200); + } + + public function test_reset_password_link_can_be_requested(): void + { + Notification::fake(); + + $user = User::factory()->create(); + + $this->post('/forgot-password', ['email' => $user->email]); + + Notification::assertSentTo($user, ResetPassword::class); + } + + public function test_reset_password_screen_can_be_rendered(): void + { + Notification::fake(); + + $user = User::factory()->create(); + + $this->post('/forgot-password', ['email' => $user->email]); + + Notification::assertSentTo($user, ResetPassword::class, function ($notification) { + $response = $this->get('/reset-password/'.$notification->token); + + $response->assertStatus(200); + + return true; + }); + } + + public function test_password_can_be_reset_with_valid_token(): void + { + Notification::fake(); + + $user = User::factory()->create(); + + $this->post('/forgot-password', ['email' => $user->email]); + + Notification::assertSentTo($user, ResetPassword::class, function ($notification) use ($user) { + $response = $this->post('/reset-password', [ + 'token' => $notification->token, + 'email' => $user->email, + 'password' => 'password', + 'password_confirmation' => 'password', + ]); + + $response + ->assertSessionHasNoErrors() + ->assertRedirect(route('login')); + + return true; + }); + } +} diff --git a/tests/Feature/Auth/PasswordUpdateTest.php b/tests/Feature/Auth/PasswordUpdateTest.php new file mode 100644 index 0000000..ca28c6c --- /dev/null +++ b/tests/Feature/Auth/PasswordUpdateTest.php @@ -0,0 +1,51 @@ +create(); + + $response = $this + ->actingAs($user) + ->from('/profile') + ->put('/password', [ + 'current_password' => 'password', + 'password' => 'new-password', + 'password_confirmation' => 'new-password', + ]); + + $response + ->assertSessionHasNoErrors() + ->assertRedirect('/profile'); + + $this->assertTrue(Hash::check('new-password', $user->refresh()->password)); + } + + public function test_correct_password_must_be_provided_to_update_password(): void + { + $user = User::factory()->create(); + + $response = $this + ->actingAs($user) + ->from('/profile') + ->put('/password', [ + 'current_password' => 'wrong-password', + 'password' => 'new-password', + 'password_confirmation' => 'new-password', + ]); + + $response + ->assertSessionHasErrorsIn('updatePassword', 'current_password') + ->assertRedirect('/profile'); + } +} diff --git a/tests/Feature/Auth/RegistrationTest.php b/tests/Feature/Auth/RegistrationTest.php new file mode 100644 index 0000000..1489d0e --- /dev/null +++ b/tests/Feature/Auth/RegistrationTest.php @@ -0,0 +1,31 @@ +get('/register'); + + $response->assertStatus(200); + } + + public function test_new_users_can_register(): void + { + $response = $this->post('/register', [ + 'name' => 'Test User', + 'email' => 'test@example.com', + 'password' => 'password', + 'password_confirmation' => 'password', + ]); + + $this->assertAuthenticated(); + $response->assertRedirect(route('dashboard', absolute: false)); + } +} diff --git a/tests/Feature/ExampleTest.php b/tests/Feature/ExampleTest.php new file mode 100644 index 0000000..8364a84 --- /dev/null +++ b/tests/Feature/ExampleTest.php @@ -0,0 +1,19 @@ +get('/'); + + $response->assertStatus(200); + } +} diff --git a/tests/Feature/ProfileTest.php b/tests/Feature/ProfileTest.php new file mode 100644 index 0000000..252fdcc --- /dev/null +++ b/tests/Feature/ProfileTest.php @@ -0,0 +1,99 @@ +create(); + + $response = $this + ->actingAs($user) + ->get('/profile'); + + $response->assertOk(); + } + + public function test_profile_information_can_be_updated(): void + { + $user = User::factory()->create(); + + $response = $this + ->actingAs($user) + ->patch('/profile', [ + 'name' => 'Test User', + 'email' => 'test@example.com', + ]); + + $response + ->assertSessionHasNoErrors() + ->assertRedirect('/profile'); + + $user->refresh(); + + $this->assertSame('Test User', $user->name); + $this->assertSame('test@example.com', $user->email); + $this->assertNull($user->email_verified_at); + } + + public function test_email_verification_status_is_unchanged_when_the_email_address_is_unchanged(): void + { + $user = User::factory()->create(); + + $response = $this + ->actingAs($user) + ->patch('/profile', [ + 'name' => 'Test User', + 'email' => $user->email, + ]); + + $response + ->assertSessionHasNoErrors() + ->assertRedirect('/profile'); + + $this->assertNotNull($user->refresh()->email_verified_at); + } + + public function test_user_can_delete_their_account(): void + { + $user = User::factory()->create(); + + $response = $this + ->actingAs($user) + ->delete('/profile', [ + 'password' => 'password', + ]); + + $response + ->assertSessionHasNoErrors() + ->assertRedirect('/'); + + $this->assertGuest(); + $this->assertNull($user->fresh()); + } + + public function test_correct_password_must_be_provided_to_delete_account(): void + { + $user = User::factory()->create(); + + $response = $this + ->actingAs($user) + ->from('/profile') + ->delete('/profile', [ + 'password' => 'wrong-password', + ]); + + $response + ->assertSessionHasErrorsIn('userDeletion', 'password') + ->assertRedirect('/profile'); + + $this->assertNotNull($user->fresh()); + } +} diff --git a/tests/TestCase.php b/tests/TestCase.php new file mode 100644 index 0000000..fe1ffc2 --- /dev/null +++ b/tests/TestCase.php @@ -0,0 +1,10 @@ +assertTrue(true); + } +} diff --git a/vite.config.js b/vite.config.js new file mode 100644 index 0000000..421b569 --- /dev/null +++ b/vite.config.js @@ -0,0 +1,11 @@ +import { defineConfig } from 'vite'; +import laravel from 'laravel-vite-plugin'; + +export default defineConfig({ + plugins: [ + laravel({ + input: ['resources/css/app.css', 'resources/js/app.js'], + refresh: true, + }), + ], +});