commit ededb41a3a907574da0890c9ff23988065fc845f Author: soheil khaledabadi Date: Fri Apr 24 15:29:37 2026 +0330 Init(Core): Change repo diff --git a/.editorconfig b/.editorconfig new file mode 100644 index 0000000..8f0de65 --- /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 + +[docker-compose.yml] +indent_size = 4 diff --git a/.env.example b/.env.example new file mode 100644 index 0000000..2d7f02f --- /dev/null +++ b/.env.example @@ -0,0 +1,59 @@ +APP_NAME=Laravel +APP_ENV=local +APP_KEY= +APP_DEBUG=true +APP_URL=http://localhost + +LOG_CHANNEL=stack +LOG_DEPRECATIONS_CHANNEL=null +LOG_LEVEL=debug + +DB_CONNECTION=mysql +DB_HOST=127.0.0.1 +DB_PORT=3306 +DB_DATABASE=laravel +DB_USERNAME=root +DB_PASSWORD= + +BROADCAST_DRIVER=log +CACHE_DRIVER=file +FILESYSTEM_DISK=local +QUEUE_CONNECTION=sync +SESSION_DRIVER=database +SESSION_LIFETIME=120 + +MEMCACHED_HOST=127.0.0.1 + +REDIS_HOST=127.0.0.1 +REDIS_PASSWORD=null +REDIS_PORT=6379 + +MAIL_MAILER=smtp +MAIL_HOST=mailpit +MAIL_PORT=1025 +MAIL_USERNAME=null +MAIL_PASSWORD=null +MAIL_ENCRYPTION=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 + +PUSHER_APP_ID= +PUSHER_APP_KEY= +PUSHER_APP_SECRET= +PUSHER_HOST= +PUSHER_PORT=443 +PUSHER_SCHEME=https +PUSHER_APP_CLUSTER=mt1 + +VITE_APP_NAME="${APP_NAME}" +VITE_PUSHER_APP_KEY="${PUSHER_APP_KEY}" +VITE_PUSHER_HOST="${PUSHER_HOST}" +VITE_PUSHER_PORT="${PUSHER_PORT}" +VITE_PUSHER_SCHEME="${PUSHER_SCHEME}" +VITE_PUSHER_APP_CLUSTER="${PUSHER_APP_CLUSTER}" 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..ce4783c --- /dev/null +++ b/.gitignore @@ -0,0 +1,20 @@ +/.phpunit.cache +/node_modules +/public/build +/public/hot +/public/storage +/storage/*.key +/vendor +.env +.env.backup +.env.production +.phpunit.result.cache +Homestead.json +Homestead.yaml +auth.json +npm-debug.log +yarn-error.log +/.fleet +/.idea +/.vscode +*.DS_Store \ No newline at end of file diff --git a/README.md b/README.md new file mode 100644 index 0000000..6505f51 --- /dev/null +++ b/README.md @@ -0,0 +1 @@ +Persian ping \ No newline at end of file diff --git a/app/Actions/Fortify/CreateNewUser.php b/app/Actions/Fortify/CreateNewUser.php new file mode 100644 index 0000000..566e51d --- /dev/null +++ b/app/Actions/Fortify/CreateNewUser.php @@ -0,0 +1,35 @@ + $input + */ + public function create(array $input): User + { + Validator::make($input, [ + 'name' => ['required', 'string', 'max:255'], + 'email' => ['required', 'string', 'email', 'max:255', 'unique:users'], + 'password' => $this->passwordRules(), + 'terms' => Jetstream::hasTermsAndPrivacyPolicyFeature() ? ['accepted', 'required'] : '', + ])->validate(); + + return User::create([ + 'name' => $input['name'], + 'email' => $input['email'], + 'password' => Hash::make($input['password']), + ]); + } +} diff --git a/app/Actions/Fortify/PasswordValidationRules.php b/app/Actions/Fortify/PasswordValidationRules.php new file mode 100644 index 0000000..4534d37 --- /dev/null +++ b/app/Actions/Fortify/PasswordValidationRules.php @@ -0,0 +1,18 @@ + + */ + protected function passwordRules(): array + { + return ['required', 'string', Password::default(), 'confirmed']; + } +} diff --git a/app/Actions/Fortify/ResetUserPassword.php b/app/Actions/Fortify/ResetUserPassword.php new file mode 100644 index 0000000..7a57c50 --- /dev/null +++ b/app/Actions/Fortify/ResetUserPassword.php @@ -0,0 +1,29 @@ + $input + */ + public function reset(User $user, array $input): void + { + Validator::make($input, [ + 'password' => $this->passwordRules(), + ])->validate(); + + $user->forceFill([ + 'password' => Hash::make($input['password']), + ])->save(); + } +} diff --git a/app/Actions/Fortify/UpdateUserPassword.php b/app/Actions/Fortify/UpdateUserPassword.php new file mode 100644 index 0000000..7005639 --- /dev/null +++ b/app/Actions/Fortify/UpdateUserPassword.php @@ -0,0 +1,32 @@ + $input + */ + public function update(User $user, array $input): void + { + Validator::make($input, [ + 'current_password' => ['required', 'string', 'current_password:web'], + 'password' => $this->passwordRules(), + ], [ + 'current_password.current_password' => __('The provided password does not match your current password.'), + ])->validateWithBag('updatePassword'); + + $user->forceFill([ + 'password' => Hash::make($input['password']), + ])->save(); + } +} diff --git a/app/Actions/Fortify/UpdateUserProfileInformation.php b/app/Actions/Fortify/UpdateUserProfileInformation.php new file mode 100644 index 0000000..9738772 --- /dev/null +++ b/app/Actions/Fortify/UpdateUserProfileInformation.php @@ -0,0 +1,56 @@ + $input + */ + public function update(User $user, array $input): void + { + Validator::make($input, [ + 'name' => ['required', 'string', 'max:255'], + 'email' => ['required', 'email', 'max:255', Rule::unique('users')->ignore($user->id)], + 'photo' => ['nullable', 'mimes:jpg,jpeg,png', 'max:1024'], + ])->validateWithBag('updateProfileInformation'); + + if (isset($input['photo'])) { + $user->updateProfilePhoto($input['photo']); + } + + if ($input['email'] !== $user->email && + $user instanceof MustVerifyEmail) { + $this->updateVerifiedUser($user, $input); + } else { + $user->forceFill([ + 'name' => $input['name'], + 'email' => $input['email'], + ])->save(); + } + } + + /** + * Update the given verified user's profile information. + * + * @param array $input + */ + protected function updateVerifiedUser(User $user, array $input): void + { + $user->forceFill([ + 'name' => $input['name'], + 'email' => $input['email'], + 'email_verified_at' => null, + ])->save(); + + $user->sendEmailVerificationNotification(); + } +} diff --git a/app/Actions/Jetstream/DeleteUser.php b/app/Actions/Jetstream/DeleteUser.php new file mode 100644 index 0000000..083159e --- /dev/null +++ b/app/Actions/Jetstream/DeleteUser.php @@ -0,0 +1,19 @@ +deleteProfilePhoto(); + $user->tokens->each->delete(); + $user->delete(); + } +} diff --git a/app/Console/Commands/AddSubscriptionDays.php b/app/Console/Commands/AddSubscriptionDays.php new file mode 100644 index 0000000..cd79588 --- /dev/null +++ b/app/Console/Commands/AddSubscriptionDays.php @@ -0,0 +1,135 @@ +argument('days'); + $chunkSize = max(1, (int) $this->option('chunk')); + $includeExpired = (bool) $this->option('include-expired'); + $allUsers = (bool) $this->option('all-users'); + $onlyWithoutSubscription = (bool) $this->option('only-without-subscription'); + $dryRun = (bool) $this->option('dry-run'); + + if ($days <= 0) { + $this->error('Days must be a positive integer.'); + return self::FAILURE; + } + + if ($onlyWithoutSubscription && !$allUsers) { + $this->error('The --only-without-subscription option can only be used with --all-users.'); + return self::FAILURE; + } + + if ($allUsers) { + $planId = $this->option('plan-id'); + if (!$planId) { + $this->error('When using --all-users you must provide --plan-id for users without a subscription.'); + return self::FAILURE; + } + + $plan = SubscribePlan::find($planId); + if (!$plan) { + $this->error('Subscribe plan not found for the given --plan-id.'); + return self::FAILURE; + } + } + + if ($allUsers) { + if ($onlyWithoutSubscription) { + $this->info("Granting {$days} day(s) only to users without a subscription." . ($dryRun ? ' (dry-run)' : '')); + } else { + $this->info("Granting {$days} day(s) to every user." . ($dryRun ? ' (dry-run)' : '')); + } + } else { + $scopeLabel = $includeExpired ? 'all' : 'active'; + $this->info("Extending {$scopeLabel} subscriptions by {$days} day(s)." . ($dryRun ? ' (dry-run)' : '')); + } + + $touched = 0; + if ($allUsers) { + $planId = (int) $this->option('plan-id'); + $isFree = (bool) $plan->is_free; + + User::query()->orderBy('id')->chunkById($chunkSize, function ($users) use (&$touched, $days, $dryRun, $planId, $isFree, $onlyWithoutSubscription) { + foreach ($users as $user) { + $latest = $user->userSubscribers()->orderByDesc('expired_at')->first(); + + if ($onlyWithoutSubscription && $latest) { + continue; + } + + $touched++; + + if ($dryRun) { + continue; + } + + if ($latest) { + $baseDate = $latest->expired_at && $latest->expired_at->greaterThan(now()) + ? $latest->expired_at + : now(); + $latest->expired_at = $baseDate->copy()->addDays($days); + $latest->save(); + } else { + $user->userSubscribers()->create([ + 'subscribe_plan_id' => $planId, + 'expired_at' => now()->addDays($days), + 'is_free' => $isFree, + ]); + } + } + }); + } else { + $query = UserSubscriber::query(); + if (!$includeExpired) { + $query->where('expired_at', '>', now()); + } + + $query->orderBy('id')->chunkById($chunkSize, function ($subscribers) use (&$touched, $days, $dryRun) { + foreach ($subscribers as $subscriber) { + $touched++; + if ($dryRun) { + continue; + } + + if ($subscriber->expired_at === null) { + $subscriber->expired_at = now()->addDays($days); + } else { + $subscriber->expired_at = $subscriber->expired_at->copy()->addDays($days); + } + + $subscriber->save(); + } + }); + } + + if ($dryRun) { + $label = $allUsers ? 'user(s)' : 'subscription record(s)'; + $this->info("{$touched} {$label} would be processed."); + } else { + $label = $allUsers ? 'user(s)' : 'subscription record(s)'; + $this->info("{$touched} {$label} processed."); + } + + return self::SUCCESS; + } +} diff --git a/app/Console/Kernel.php b/app/Console/Kernel.php new file mode 100644 index 0000000..e6b9960 --- /dev/null +++ b/app/Console/Kernel.php @@ -0,0 +1,27 @@ +command('inspire')->hourly(); + } + + /** + * Register the commands for the application. + */ + protected function commands(): void + { + $this->load(__DIR__.'/Commands'); + + require base_path('routes/console.php'); + } +} diff --git a/app/Exceptions/Handler.php b/app/Exceptions/Handler.php new file mode 100644 index 0000000..56af264 --- /dev/null +++ b/app/Exceptions/Handler.php @@ -0,0 +1,30 @@ + + */ + protected $dontFlash = [ + 'current_password', + 'password', + 'password_confirmation', + ]; + + /** + * Register the exception handling callbacks for the application. + */ + public function register(): void + { + $this->reportable(function (Throwable $e) { + // + }); + } +} diff --git a/app/Http/Controllers/Admin/ArtController.php b/app/Http/Controllers/Admin/ArtController.php new file mode 100644 index 0000000..6b170c7 --- /dev/null +++ b/app/Http/Controllers/Admin/ArtController.php @@ -0,0 +1,125 @@ +filled('q')) { + $q = $request->q; + $query->where(function ($qry) use ($q) { + $qry->where('title', 'like', "%{$q}%")->orWhere('text', 'like', "%{$q}%"); + }); + } + + $perPage = min(max((int) $request->input('per_page', 15), 10), 100); + $arts = $query->paginate($perPage)->withQueryString(); + + return view('admin.art.index', compact('arts')); + } + + public function create() + { + $chapters = Chapter::all(); + $parts = Part::all(); + $gates = Gate::all(); + $books = Book::all(); + $volums = Volum::all(); + $laws = Law::all(); + $sections = Section::all(); + $divisions = Division::all(); + $branches = Branch::all(); + + return view('admin.art.create', compact('chapters', 'parts', 'gates', 'books', 'volums', 'laws', 'sections','branches','divisions')); + } + + public function store(Request $request) + { + $validated = $request->validate([ + 'title' => 'required', + 'text' => 'required', + 'number' => 'required', + 'chapter_id' => 'nullable', + 'part_id' => 'nullable', + 'gate_id' => 'nullable', + 'section_id' => 'nullable', + 'book_id' => 'nullable', + 'volum_id' => 'nullable', + 'law_id' => 'required', + 'division_id' => 'nullable', + 'branch_id' => 'nullable', + 'is_free' => 'nullable' + ]); + + $validated['is_free'] = $request->input('is_free') ? true : false; + + art::query()->create($validated); + + return redirect(route('art.index')); + } + + public function edit(art $art) + { + $chapters = Chapter::all(); + $parts = Part::all(); + $gates = Gate::all(); + $books = Book::all(); + $volums = Volum::all(); + $laws = Law::all(); + $sections = Section::all(); + $divisions = Division::all(); + $branches = Branch::all(); + + + return view('admin.art.update', compact('art', 'chapters', 'parts', 'gates', 'books', 'volums', 'laws', 'sections','branches','divisions')); + } + + public function update(Request $request, Art $art) + { + + $validated = $request->validate([ + 'title' => 'required', + 'text' => 'required', + 'number' => 'required', + 'chapter_id' => 'nullable', + 'part_id' => 'nullable', + 'gate_id' => 'nullable', + 'section_id' => 'nullable', + 'book_id' => 'nullable', + 'volum_id' => 'nullable', + 'law_id' => 'required', + 'division_id' => 'nullable', + 'branch_id' => 'nullable', + 'is_free' => 'nullable' + ]); + + $validated['is_free'] = $request->input('is_free') ? true : false; + + $art->update($validated); + + return redirect(route('art.edit',$art->id)); + } + + public function destroy(Art $art) + { + $art->delete(); + + return redirect(route('art.index')); + } +} diff --git a/app/Http/Controllers/Admin/BookController.php b/app/Http/Controllers/Admin/BookController.php new file mode 100644 index 0000000..890042b --- /dev/null +++ b/app/Http/Controllers/Admin/BookController.php @@ -0,0 +1,77 @@ +filled('q')) { + $query->where('title', 'like', '%' . $request->q . '%'); + } + + $perPage = min(max((int) $request->input('per_page', 15), 10), 100); + $books = $query->paginate($perPage)->withQueryString(); + + return view('admin.book.index', compact('books')); + } + + public function create() + { + $volums = Volum::all(); + $laws = Law::all(); + + return view('admin.book.create', compact('volums', 'laws')); + } + + public function store(Request $request) + { + $validated = $request->validate([ + 'title' => 'required', + 'number' => 'required', + 'volum_id' => 'required', + 'law_id' => 'nullable', + ]); + + book::query()->create($validated); + + return redirect(route('book.index')); + } + + public function edit(Book $book) + { + $volums = Volum::all(); + $laws = Law::all(); + + return view('admin.book.update', compact('book', 'volums', 'laws')); + } + + public function update(Request $request, Book $book) + { + $validated = $request->validate([ + 'title' => 'required', + 'number' => 'required', + 'volum_id' => 'required', + 'law_id' => 'nullable', + ]); + + $book->update($validated); + + return redirect(route('book.index')); + } + + public function destroy(Book $book) + { + $book->delete(); + + return redirect(route('book.index')); + } +} diff --git a/app/Http/Controllers/Admin/BranchController.php b/app/Http/Controllers/Admin/BranchController.php new file mode 100644 index 0000000..b49d7e9 --- /dev/null +++ b/app/Http/Controllers/Admin/BranchController.php @@ -0,0 +1,108 @@ +filled('q')) { + $query->where('title', 'like', '%' . $request->q . '%'); + } + + $perPage = min(max((int) $request->input('per_page', 15), 10), 100); + $branchs = $query->paginate($perPage)->withQueryString(); + + return view('admin.branch.index', compact('branchs')); + } + + public function create() + { + $chapters = Chapter::all(); + $parts = Part::all(); + $gates = Gate::all(); + $books = Book::all(); + $volums = Volum::all(); + $laws = Law::all(); + $sections = Section::all(); + $divisions = Division::all(); + + return view('admin.branch.create', compact('chapters', 'parts', 'gates', 'books', 'volums', 'laws', 'sections','divisions')); + } + + public function store(Request $request) + { + $validated = $request->validate([ + 'title' => 'required', + 'number' => 'required', + 'chapter_id' => 'nullable', + 'part_id' => 'nullable', + 'gate_id' => 'nullable', + 'section_id' => 'nullable', + 'book_id' => 'nullable', + 'volum_id' => 'required', + 'law_id' => 'required', + 'division' => 'nullable', + ]); + + branch::query()->create($validated); + + return redirect(route('branch.index')); + } + + public function edit(branch $branch) + { + $chapters = Chapter::all(); + $parts = Part::all(); + $gates = Gate::all(); + $books = Book::all(); + $volums = Volum::all(); + $laws = Law::all(); + $sections = Section::all(); + $divisions = Division::all(); + + return view('admin.branch.update', compact('branch', 'chapters', 'parts', 'gates', 'books', 'volums', 'laws', 'sections','divisions')); + } + + public function update(Request $request, Branch $branch) + { + + $validated = $request->validate([ + 'title' => 'required', + 'number' => 'required', + 'chapter_id' => 'nullable', + 'part_id' => 'nullable', + 'gate_id' => 'nullable', + 'section_id' => 'nullable', + 'book_id' => 'nullable', + 'volum_id' => 'required', + 'law_id' => 'required', + 'division_id' => 'nullable', + ]); + + $branch->update($validated); + + return redirect(route('branch.index')); + } + + public function destroy(Branch $branch) + { + $branch->delete(); + + return redirect(route('branch.index')); + } +} diff --git a/app/Http/Controllers/Admin/CategoriesController.php b/app/Http/Controllers/Admin/CategoriesController.php new file mode 100644 index 0000000..dd88dc2 --- /dev/null +++ b/app/Http/Controllers/Admin/CategoriesController.php @@ -0,0 +1,49 @@ +select('id', 'name', 'label')->get(); + + return view('admin.categories.index', compact('categories')); + } + + public function create() + { + return view('admin.categories.create'); + } + + public function store(CreateCategoryRequest $request) + { + Category::query()->create($request->validated()); + + return redirect(route('categories.index')); + } + + public function edit(Category $category) + { + return view('admin.categories.update', compact('category')); + } + + public function update(UpdateCategoryRequest $request, Category $category) + { + $category->update($request->validated()); + + return redirect(route('categories.index')); + } + + public function destroy(Category $category) + { + $category->delete(); + + return back(); + } +} diff --git a/app/Http/Controllers/Admin/CategoryController.php b/app/Http/Controllers/Admin/CategoryController.php new file mode 100644 index 0000000..28c57ad --- /dev/null +++ b/app/Http/Controllers/Admin/CategoryController.php @@ -0,0 +1,69 @@ +filled('q')) { + $query->where('name', 'like', '%' . $request->q . '%'); + } + if ($request->filled('type')) { + $query->where('type', $request->type); + } + + $perPage = min(max((int) $request->input('per_page', 15), 10), 100); + $categories = $query->paginate($perPage)->withQueryString(); + + return view('admin.categories.index', compact('categories')); + } + + public function create() + { + return view('admin.categories.create'); + } + + public function store(Request $request) + { + $validated = $request->validate([ + 'name' => 'required', + 'type' => 'required' + ]); + + + Category::create($validated); + + return redirect(route('categories.index')); + } + + public function edit(Category $category) + { + return view('admin.categories.update',compact('category')); + } + + public function update(Request $request, Category $category) + { + $validated = $request->validate([ + 'name' => 'required', + 'type' => 'required' + ]); + + $category->update($validated); + + return redirect(route('categories.index')); + } + + public function destroy(Category $category) + { + $category->delete(); + + return redirect(route('categories.index')); + } +} diff --git a/app/Http/Controllers/Admin/ChapterController.php b/app/Http/Controllers/Admin/ChapterController.php new file mode 100644 index 0000000..0007ef1 --- /dev/null +++ b/app/Http/Controllers/Admin/ChapterController.php @@ -0,0 +1,92 @@ +filled('q')) { + $query->where('title', 'like', '%' . $request->q . '%'); + } + + $perPage = min(max((int) $request->input('per_page', 15), 10), 100); + $chapters = $query->paginate($perPage)->withQueryString(); + + return view('admin.chapter.index', compact('chapters')); + } + + public function create() + { + $books = Book::all(); + $volums = Volum::all(); + $laws = Law::all(); + $sections = Section::all(); + $divisions = Division::all(); + + return view('admin.chapter.create', compact('sections', 'books', 'volums', 'laws','divisions')); + } + + public function store(Request $request) + { + $validated = $request->validate([ + 'title' => 'required', + 'number' => 'required', + 'section_id' => 'nullable', + 'book_id' => 'nullable', + 'volum_id' => 'nullable', + 'law_id' => 'nullable', + 'division_id' => 'nullable' + ]); + + Chapter::query()->create($validated); + + return redirect(route('chapter.index')); + } + + public function edit(Chapter $chapter) + { + $sections = Section::all(); + $books = Book::all(); + $volums = Volum::all(); + $laws = Law::all(); + $divisions = Division::all(); + + return view('admin.chapter.update', compact('sections', 'chapter', 'books', 'volums', 'laws','divisions')); + } + + public function update(Request $request, Chapter $chapter) + { + $validated = $request->validate([ + 'title' => 'required', + 'number' => 'required', + 'section_id' => 'nullable', + 'book_id' => 'nullable', + 'volum_id' => 'nullable', + 'law_id' => 'nullable', + 'division_id' => 'nullable' + ]); + + $chapter->update($validated); + + return redirect(route('chapter.index')); + } + + public function destroy(Chapter $chapter) + { + $chapter->delete(); + + return redirect(route('chapter.index')); + } +} diff --git a/app/Http/Controllers/Admin/DivisionController.php b/app/Http/Controllers/Admin/DivisionController.php new file mode 100644 index 0000000..86327c7 --- /dev/null +++ b/app/Http/Controllers/Admin/DivisionController.php @@ -0,0 +1,83 @@ +filled('q')) { + $query->where('title', 'like', '%' . $request->q . '%'); + } + + $perPage = min(max((int) $request->input('per_page', 15), 10), 100); + $divisions = $query->paginate($perPage)->withQueryString(); + + return view('admin.division.index', compact('divisions')); + } + + public function create() + { + $books = Book::all(); + $volums = Volum::all(); + $laws = Law::all(); + + return view('admin.division.create', compact('books', 'volums', 'laws')); + } + + public function store(Request $request) + { + $validated = $request->validate([ + 'title' => 'required', + 'number' => 'required', + 'book_id' => 'nullable', + 'volum_id' => 'required', + 'law_id' => 'required', + ]); + + division::query()->create($validated); + + return redirect(route('division.index')); + } + + public function edit(division $division) + { + $books = Book::all(); + $volums = Volum::all(); + $laws = Law::all(); + + return view('admin.division.update', compact('division','books', 'volums', 'laws')); + } + + public function update(Request $request, Division $division) + { + + $validated = $request->validate([ + 'title' => 'required', + 'number' => 'required', + 'book_id' => 'nullable', + 'volum_id' => 'required', + 'law_id' => 'required', + ]); + + $division->update($validated); + + return redirect(route('division.index')); + } + + public function destroy(Division $division) + { + $division->delete(); + + return redirect(route('division.index')); + } +} diff --git a/app/Http/Controllers/Admin/GateController.php b/app/Http/Controllers/Admin/GateController.php new file mode 100644 index 0000000..6018910 --- /dev/null +++ b/app/Http/Controllers/Admin/GateController.php @@ -0,0 +1,92 @@ +filled('q')) { + $query->where('title', 'like', '%' . $request->q . '%'); + } + + $perPage = min(max((int) $request->input('per_page', 15), 10), 100); + $gates = $query->paginate($perPage)->withQueryString(); + + return view('admin.gate.index', compact('gates')); + } + + public function create() + { + $parts = Part::all(); + $chapters = Chapter::all(); + $sections = Section::all(); + $books = Book::all(); + $volums = Volum::all(); + $laws = Law::all(); + $divisions = Division::all(); + + return view('admin.gate.create', compact('parts', 'chapters', 'sections', 'books', 'volums', 'laws','divisions')); + } + + public function store(Request $request) + { + $validated = $request->validate([ + 'title' => 'required', + 'number' => 'required', + 'part_id' => 'nullable', + 'division_id' => 'nullable', + ]); + + Gate::query()->create($validated); + + return redirect(route('gate.index')); + } + + public function edit(Gate $gate) + { + $parts = Part::all(); + $chapters = Chapter::all(); + $sections = Section::all(); + $books = Book::all(); + $volums = Volum::all(); + $laws = Law::all(); + $divisions = Division::all(); + + return view('admin.gate.update', compact('gate', 'parts', 'chapters', 'sections', 'books', 'volums', 'laws','divisions')); + } + + public function update(Request $request, Gate $gate) + { + $validated = $request->validate([ + 'title' => 'required', + 'number' => 'required', + 'part_id' => 'nullable', + 'division_id' => 'nullable', + ]); + + $gate->update($validated); + + return redirect(route('gate.index')); + } + + public function destroy(Gate $gate) + { + $gate->delete(); + + return redirect(route('gate.index')); + } +} diff --git a/app/Http/Controllers/Admin/HomeController.php b/app/Http/Controllers/Admin/HomeController.php new file mode 100644 index 0000000..6102762 --- /dev/null +++ b/app/Http/Controllers/Admin/HomeController.php @@ -0,0 +1,13 @@ +filled('q')) { + $q = $request->q; + $query->where(function ($qry) use ($q) { + $qry->where('ruling_number', 'like', "%{$q}%") + ->orWhere('subject', 'like', "%{$q}%") + ->orWhere('full_text', 'like', "%{$q}%"); + }); + } + + $perPage = min(max((int) $request->input('per_page', 15), 10), 100); + $judicialPrecedents = $query->paginate($perPage)->withQueryString(); + + return view('admin.judicial-precedent.index', compact('judicialPrecedents')); + } + + public function create() + { + $arts = Art::all(); + return view('admin.judicial-precedent.create', compact('arts')); + } + + public function store(Request $request) + { + $validated = $request->validate([ + 'ruling_number' => 'required|unique:judicial_precedents,ruling_number', + 'ruling_date' => 'required|date', + 'subject' => 'required|string', + 'full_text' => 'required|string', + 'issuing_authority' => 'nullable|string', + 'art_ids' => 'nullable|array', + 'art_ids.*' => 'exists:arts,id' + ]); + + $judicialPrecedent = JudicialPrecedent::create([ + 'ruling_number' => $validated['ruling_number'], + 'ruling_date' => $validated['ruling_date'], + 'subject' => $validated['subject'], + 'full_text' => $validated['full_text'], + 'issuing_authority' => $validated['issuing_authority'] ?? 'هیأت عمومی دیوان عالی کشور' + ]); + + if (!empty($validated['art_ids'])) { + $judicialPrecedent->arts()->attach($validated['art_ids']); + } + + return redirect(route('judicial-precedent.index')); + } + + public function edit(JudicialPrecedent $judicialPrecedent) + { + $arts = Art::all(); + $selectedArtIds = $judicialPrecedent->arts->pluck('id')->toArray(); + + return view('admin.judicial-precedent.update', compact('judicialPrecedent', 'arts', 'selectedArtIds')); + } + + public function update(Request $request, JudicialPrecedent $judicialPrecedent) + { + $validated = $request->validate([ + 'ruling_number' => 'required|unique:judicial_precedents,ruling_number,' . $judicialPrecedent->id, + 'ruling_date' => 'required|date', + 'subject' => 'required|string', + 'full_text' => 'required|string', + 'issuing_authority' => 'nullable|string', + 'art_ids' => 'nullable|array', + 'art_ids.*' => 'exists:arts,id' + ]); + + $judicialPrecedent->update($validated); + + $judicialPrecedent->arts()->sync($validated['art_ids'] ?? []); + + return redirect(route('judicial-precedent.edit', $judicialPrecedent->id)); + } + + public function destroy(JudicialPrecedent $judicialPrecedent) + { + $judicialPrecedent->delete(); + return redirect(route('judicial-precedent.index')); + } +} diff --git a/app/Http/Controllers/Admin/LawController.php b/app/Http/Controllers/Admin/LawController.php new file mode 100644 index 0000000..2270b05 --- /dev/null +++ b/app/Http/Controllers/Admin/LawController.php @@ -0,0 +1,99 @@ +filled('q')) { + $query->where('title', 'like', '%' . $request->q . '%'); + } + if ($request->filled('locked')) { + $query->where('is_locked', $request->locked === '1'); + } + + $perPage = min(max((int) $request->input('per_page', 15), 10), 100); + $laws = $query->paginate($perPage)->withQueryString(); + + return view('admin.law.index', compact('laws')); + } + + public function create() + { + $categories = Category::all(); + + return view('admin.law.create', compact('categories')); + } + + public function store(Request $request) + { + $validated = $request->validate([ + 'title' => 'required|string|max:255', + 'is_locked' => 'nullable', + 'category_id' => 'nullable|integer|exists:categories,id', + 'price' => 'nullable|numeric', + 'image' => 'nullable|image|mimes:jpeg,png,jpg,gif,svg|max:2048', + ]); + + $validated['is_locked'] = $request->has('is_locked', false); + + if ($request->hasFile('image') && $request->file('image')->isValid()) { + dd($request->has('image')); + $imageName = uniqid('image_', true) . '.' . $request->file('image')->getClientOriginalExtension(); + + $request->file('image')->move(public_path('images'), $imageName); + + $validated['image'] = $imageName; + } + + Law::create($validated); + + return redirect()->route('law.index')->with('success', 'Law created successfully.'); + } + + + + public function edit(Law $law) + { + $categories = Category::all(); + return view('admin.law.update', compact('law', 'categories')); + } + + public function update(Request $request, Law $law) + { + $validated = $request->validate([ + 'title' => 'required|string|max:255', + 'is_locked' => 'sometimes', + 'category_id' => 'nullable|integer', + 'price' => 'nullable|numeric', + 'image' => 'nullable|image|mimes:jpeg,png,jpg,gif,svg|max:2048', + ]); + + $validated['is_locked'] = $request->boolean('is_locked'); + + if ($request->hasFile('image') && $request->file('image')->isValid()) { + $imageName = uniqid('image_', true) . '.' . $request->file('image')->getClientOriginalExtension(); + $request->file('image')->move(public_path('images'), $imageName); + $validated['image'] = $imageName; + } + + $law->update($validated); + + return redirect()->route('law.index'); + } + + public function destroy(Law $law) + { + $law->delete(); + + return redirect(route('law.index')); + } +} diff --git a/app/Http/Controllers/Admin/NotificationController.php b/app/Http/Controllers/Admin/NotificationController.php new file mode 100644 index 0000000..fa7a84f --- /dev/null +++ b/app/Http/Controllers/Admin/NotificationController.php @@ -0,0 +1,58 @@ +filled('q')) { + $q = $request->q; + $query->where(function ($qry) use ($q) { + $qry->where('title', 'like', "%{$q}%") + ->orWhere('description', 'like', "%{$q}%"); + }); + } + + $perPage = min(max((int) $request->input('per_page', 15), 10), 100); + $notifications = $query->latest()->paginate($perPage)->withQueryString(); + + return view('admin.notifications.index', compact('notifications')); + } + + public function create() + { + return view('admin.notifications.create'); + } + + public function store(StoreRequest $request) + { + Notification::create($request->validated()); + return redirect()->route('notifications.index'); + } + + public function edit(Notification $notification) + { + return view('admin.notifications.update', compact('notification')); + } + + public function update(UpdateRequest $request, Notification $notification) + { + $notification->update($request->validated()); + return redirect()->route('notifications.index'); + } + + public function destroy(Notification $notification) + { + $notification->delete(); + return redirect()->route('notifications.index'); + } +} diff --git a/app/Http/Controllers/Admin/PartController.php b/app/Http/Controllers/Admin/PartController.php new file mode 100644 index 0000000..e215aa8 --- /dev/null +++ b/app/Http/Controllers/Admin/PartController.php @@ -0,0 +1,97 @@ +filled('q')) { + $query->where('title', 'like', '%' . $request->q . '%'); + } + + $perPage = min(max((int) $request->input('per_page', 15), 10), 100); + $parts = $query->paginate($perPage)->withQueryString(); + + return view('admin.part.index', compact('parts')); + } + + public function create() + { + $chapters = Chapter::all(); + $sections = Section::all(); + $books = Book::all(); + $volums = Volum::all(); + $laws = Law::all(); + $divisions = Division::all(); + + return view('admin.part.create', compact('chapters', 'sections', 'books', 'volums', 'laws','divisions')); + } + + public function store(Request $request) + { + $validated = $request->validate([ + 'title' => 'required', + 'number' => 'required', + 'chapter_id' => 'nullable', + 'section_id' => 'nullable', + 'book_id' => 'nullable', + 'volum_id' => 'nullable', + 'law_id' => 'nullable', + 'division_id' => 'nullable' + ]); + + Part::query()->create($validated); + + return redirect(route('part.index')); + } + + public function edit(Part $part) + { + $chapters = Chapter::all(); + $sections = Section::all(); + $books = Book::all(); + $volums = Volum::all(); + $laws = Law::all(); + $divisions = Division::all(); + + return view('admin.part.update', compact('part', 'chapters', 'sections', 'books', 'volums', 'laws','divisions')); + } + + public function update(Request $request, Part $part) + { + $validated = $request->validate([ + 'title' => 'required', + 'number' => 'required', + 'chapter_id' => 'nullable', + 'section_id' => 'nullable', + 'book_id' => 'nullable', + 'volum_id' => 'nullable', + 'law_id' => 'nullable', + 'division_id' => 'nullable' + ]); + + $part->update($validated); + + return redirect(route('part.index')); + } + + public function destroy(Part $part) + { + $part->delete(); + + return redirect(route('part.index')); + } +} diff --git a/app/Http/Controllers/Admin/SectionController.php b/app/Http/Controllers/Admin/SectionController.php new file mode 100644 index 0000000..1a57f2d --- /dev/null +++ b/app/Http/Controllers/Admin/SectionController.php @@ -0,0 +1,89 @@ +filled('q')) { + $query->where('title', 'like', '%' . $request->q . '%'); + } + + $perPage = min(max((int) $request->input('per_page', 15), 10), 100); + $sections = $query->paginate($perPage)->withQueryString(); + + return view('admin.section.index', compact('sections')); + } + + public function create() + { + $books = Book::all(); + $volums = Volum::all(); + $laws = Law::all(); + $sections = Section::all(); + $divisions = Division::all(); + + return view('admin.section.create', compact('books', 'volums', 'laws','sections','divisions')); + } + + public function store(Request $request) + { + $validated = $request->validate([ + 'title' => 'required', + 'number' => 'required', + 'book_id' => 'nullable', + 'volum_id' => 'nullable', + 'law_id' => 'nullable', + 'division_id' => 'nullable' + ]); + + section::query()->create($validated); + + return redirect(route('section.index')); + } + + public function edit(Section $section) + { + $books = Book::all(); + $volums = Volum::all(); + $laws = Law::all(); + $sections = Section::all(); + $divisions = Division::all(); + + return view('admin.section.update', compact('section', 'books', 'volums', 'laws','sections','divisions')); + } + + public function update(Request $request, Section $section) + { + $validated = $request->validate([ + 'title' => 'required', + 'number' => 'required', + 'book_id' => 'nullable', + 'volum_id' => 'nullable', + 'law_id' => 'nullable', + 'division_id' => 'nullable' + ]); + + $section->update($validated); + + return redirect(route('section.index')); + } + + public function destroy(Section $section) + { + $section->delete(); + + return redirect(route('section.index')); + } +} diff --git a/app/Http/Controllers/Admin/SubscribePlanController.php b/app/Http/Controllers/Admin/SubscribePlanController.php new file mode 100644 index 0000000..5a2cf07 --- /dev/null +++ b/app/Http/Controllers/Admin/SubscribePlanController.php @@ -0,0 +1,64 @@ +filled('q')) { + $q = $request->q; + $query->where('name', 'like', "%{$q}%"); + } + + $perPage = min(max((int) $request->input('per_page', 15), 10), 100); + $subscribePlans = $query->paginate($perPage)->withQueryString(); + + return view('admin.subscribe-plans.index', compact('subscribePlans')); + } + + public function create() + { + return view('admin.subscribe-plans.create'); + } + + public function store(CreateRequest $request) + { + $validated = $request->validated(); + $validated['is_active'] = $request->has('is_active'); + $validated['is_free'] = $request->has('is_free'); + + SubscribePlan::create($validated); + return redirect()->route('subscribe-plans.index'); + } + + + public function edit(SubscribePlan $subscribePlan) + { + return view('admin.subscribe-plans.update', compact('subscribePlan')); + } + + public function update(UpdateRequest $request, SubscribePlan $subscribePlan) + { + $validated = $request->validated(); + $validated['is_active'] = $request->has('is_active'); + $validated['is_free'] = $request->has('is_free'); + + $subscribePlan->update($validated); + return redirect()->route('subscribe-plans.index'); + } + + public function destroy(SubscribePlan $subscribePlan) + { + $subscribePlan->delete(); + return redirect()->route('subscribe-plans.index'); + } +} diff --git a/app/Http/Controllers/Admin/SuggestionController.php b/app/Http/Controllers/Admin/SuggestionController.php new file mode 100644 index 0000000..87a166d --- /dev/null +++ b/app/Http/Controllers/Admin/SuggestionController.php @@ -0,0 +1,28 @@ +with('user'); + + if ($request->filled('q')) { + $q = $request->q; + $query->where(function ($qry) use ($q) { + $qry->where('text', 'like', "%{$q}%") + ->orWhereHas('user', fn ($u) => $u->where('mobile', 'like', "%{$q}%")); + }); + } + + $perPage = min(max((int) $request->input('per_page', 15), 10), 100); + $suggestions = $query->paginate($perPage)->withQueryString(); + + return view('admin.suggestions.index', compact('suggestions')); + } +} diff --git a/app/Http/Controllers/Admin/UsersController.php b/app/Http/Controllers/Admin/UsersController.php new file mode 100644 index 0000000..affc6a3 --- /dev/null +++ b/app/Http/Controllers/Admin/UsersController.php @@ -0,0 +1,74 @@ +with(['userSubscribers' => function ($q) { + $q->where('expired_at', '>=', now()); + }]); + + if ($request->filled('q')) { + $q = $request->q; + $query->where(function ($qry) use ($q) { + $qry->where('name', 'like', "%{$q}%") + ->orWhere('email', 'like', "%{$q}%") + ->orWhere('mobile', 'like', "%{$q}%"); + }); + } + if ($request->filled('type') && in_array($request->type, ['0', '1'])) { + $query->where('is_admin', (bool) $request->type); + } + + $perPage = min(max((int) $request->input('per_page', 15), 10), 100); + $users = $query->paginate($perPage)->withQueryString(); + + return view('admin.users.index', compact('users')); + } + + public function create() + { + return view('admin.users.create'); + } + + public function store(CreateUserRequest $request) + { + $validated = $request->validated(); + $validated['password'] = Hash::make(fake()->password); + $validated['is_admin'] = $validated['is_admin'] == 'on' ? true : false; + User::query()->create($validated); + + return redirect(route('users.index')); + } + + public function edit(User $user) + { + return view('admin.users.update', compact('user')); + } + + public function update(UpdateUserRequest $request, User $user) + { + $validated = $request->validated(); + $validated['is_admin'] = $validated['is_admin'] == 'on' ? true : false; + $user->update($validated); + + return redirect(route('users.index')); + } + + public function destroy(User $user) + { + $user->delete(); + + return back(); + } +} diff --git a/app/Http/Controllers/Admin/VersionController.php b/app/Http/Controllers/Admin/VersionController.php new file mode 100644 index 0000000..155f047 --- /dev/null +++ b/app/Http/Controllers/Admin/VersionController.php @@ -0,0 +1,67 @@ +filled('q')) { + $q = $request->q; + $query->where(function ($qry) use ($q) { + $qry->where('code', 'like', "%{$q}%") + ->orWhere('number', 'like', "%{$q}%") + ->orWhere('type', 'like', "%{$q}%"); + }); + } + + $perPage = min(max((int) $request->input('per_page', 15), 10), 100); + $versions = $query->paginate($perPage)->withQueryString(); + + return view('admin.versions.index', compact('versions')); + } + + public function create() + { + return view('admin.versions.create'); + } + + public function store(CreateVersionStore $request) + { + $validated = $request->validated(); + if (isset($validated['force_update'])) { + $validated['force_update'] = $validated['force_update'] == 'on' ? 1 : 0; + } + Version::create($validated); + return redirect(route('versions.index')); + } + + public function edit(Version $version) + { + return view('admin.versions.update', compact('version')); + } + + public function update(UpdateVersionStore $request, Version $version) + { + $validated = $request->validated(); + if (isset($validated['force_update'])) { + $validated['force_update'] = $validated['force_update'] == 'on' ? 1 : 0; + } + $version->update($validated); + return redirect(route('versions.index')); + } + + public function destroy(Version $version) + { + $version->delete(); + return redirect(route('versions.index')); + } +} diff --git a/app/Http/Controllers/Admin/VolumController.php b/app/Http/Controllers/Admin/VolumController.php new file mode 100644 index 0000000..f1f4731 --- /dev/null +++ b/app/Http/Controllers/Admin/VolumController.php @@ -0,0 +1,72 @@ +filled('q')) { + $query->where('title', 'like', '%' . $request->q . '%'); + } + + $perPage = min(max((int) $request->input('per_page', 15), 10), 100); + $volums = $query->paginate($perPage)->withQueryString(); + + return view('admin.volum.index', compact('volums')); + } + + public function create() + { + $laws = Law::all(); + + return view('admin.volum.create', compact('laws')); + } + + public function store(Request $request) + { + $validated = $request->validate([ + 'title' => 'required', + 'number' => 'required', + 'law_id' => 'required', + ]); + + volum::query()->create($validated); + + return redirect(route('volum.index')); + } + + public function edit(Volum $volum) + { + $laws = Law::all(); + + return view('admin.volum.update', compact('volum', 'laws')); + } + + public function update(Request $request, Volum $volum) + { + $validated = $request->validate([ + 'title' => 'required', + 'number' => 'required', + 'law_id' => 'required', + ]); + + $volum->update($validated); + + return redirect(route('volum.index')); + } + + public function destroy(Volum $volum) + { + $volum->delete(); + + return redirect(route('volum.index')); + } +} diff --git a/app/Http/Controllers/Controller.php b/app/Http/Controllers/Controller.php new file mode 100644 index 0000000..77ec359 --- /dev/null +++ b/app/Http/Controllers/Controller.php @@ -0,0 +1,12 @@ + auth()->user()->id, + 'text' => $requst->text + ]); + + return $this->success(null,'موفقیت','پیشنهاد شما با موفقیت برای مدیر ارسال شد'); + } +} diff --git a/app/Http/Controllers/api/ArtController.php b/app/Http/Controllers/api/ArtController.php new file mode 100644 index 0000000..c025ce1 --- /dev/null +++ b/app/Http/Controllers/api/ArtController.php @@ -0,0 +1,500 @@ +where('book_id', $request->book_id)->orderBy('number')->get(); + + $arts = $arts->map(function ($art) { + return [ + 'id' => $art->id, + 'text' => $art->text, + 'number' => $art->number, + 'chapter' => $art->chapter != null ? [ + 'id' => $art->chapter->id, + 'title' => $art->chapter->title, + 'number' => $art->chapter->number, + ] : null, + 'part' => $art->part != null ? [ + 'id' => $art->part->id, + 'title' => $art->part->title, + 'number' => $art->part->number, + ] : null, + 'volum' => $art->volum != null ? [ + 'id' => $art->volum->id, + 'title' => $art->volum->title, + 'number' => $art->volum->number, + ] : null, + 'law' => $art->law != null ? [ + 'id' => $art->law->id, + 'title' => $art->law->title, + 'number' => $art->law->number, + ] : null, + 'book' => $art->book != null ? [ + 'id' => $art->book->id, + 'title' => $art->book->title, + 'number' => $art->book->number, + ] : null, + 'section' => $art->section != null ? [ + 'id' => $art->section->id, + 'title' => $art->section->title, + 'number' => $art->section->number, + ] : null, + 'gate' => $art->gate != null ? [ + 'id' => $art->gate->id, + 'title' => $art->gate->title, + 'number' => $art->gate->number, + ] : null, + ]; + }); + + return response()->json(['arts' => $arts]); + } + + public function single($id) + { + $art = Art::select('id', 'title', 'number', 'text', 'law_id')->find($id); + + if (!$art) { + return $this->failed([], 'Art not found'); + } + + $law = Law::find($art?->law_id); + + $art->is_like = $this->isLiked($art->id); + $art->note = Note::select('id', 'note', 'color_code','created_at')->where('user_id', auth()->user()->id)->where('art_id', $id)->get(); + $art->category = $law?->category?->name; + $art->route = array_values($this->route(Art::class, $art)); + + $previousArt = Art::select('id', 'title', 'number', 'text', 'law_id') + ->where('law_id',$art->law_id) + ->where('number', '<', $art->number) + ->orderBy('number', 'desc') + ->first(); + + if ($previousArt) { + $previousLaw = Law::find($previousArt->law_id); + $previousArt->is_like = $this->isLiked($previousArt->id); + $previousArt->note = Note::select('id', 'note', 'color_code')->where('user_id', auth()->user()->id)->where('art_id', $previousArt->id)->get(); + $previousArt->category = $previousLaw?->category?->name; + $previousArt->route = array_values($this->route(Art::class, $previousArt)); + } + + $nextArt = Art::select('id', 'title', 'number', 'text', 'law_id') + ->where('law_id',$art->law_id) + ->where('number', '>', $art->number) + ->orderBy('number') + ->first(); + + if ($nextArt) { + $nextLaw = Law::find($nextArt->law_id); + $nextArt->is_like = $this->isLiked($nextArt->id); + $nextArt->note = Note::select('id', 'note', 'color_code')->where('user_id', auth()->user()->id)->where('art_id', $nextArt->id)->get(); + $nextArt->category = $nextLaw?->category?->name; + $nextArt->route = array_values($this->route(Art::class, $nextArt)); + } + + $results = array_values(array_filter([$previousArt, $art, $nextArt])); + + return $this->success($results); + } + + public function like(Art $art) + { + $userId = auth()->id(); + + $existingLike = LikeArt::query()->where('art_id', $art->id) + ->where('user_id', $userId) + ->first(); + + if ($existingLike) { + $existingLike->delete(); + + return $this->success(null, 'Success', 'Art unliked successfully'); + } + + LikeArt::create([ + 'art_id' => $art->id, + 'user_id' => $userId, + ]); + + return $this->success(null, 'Success', 'Art liked successfully'); + } + + + private function isLiked($art_id): bool + { + return LikeArt::query()->where('art_id', $art_id) + ->where('user_id', auth()->user()->id) + ->exists(); + } + + public function likes() + { + $likes = LikeArt::query()->where('user_id', auth()->user()->id) + ->with('art') + ->get() + ->map(function ($q) { + return [ + 'id' => $q->art->id, + 'title' => $q->art->title, + 'text' => $q->art->text + ]; + }); + + return $this->success($likes); + } + + + public function search(Request $request) + { + $validated = $request->validate([ + 'book_id' => 'nullable|array', + 'volume_id' => 'nullable|array', + 'division_id' => 'nullable|array', + 'section_id' => 'nullable|array', + 'part_id' => 'nullable|array', + 'gate_id' => 'nullable|array', + 'law_id' => 'nullable|array', + 'chapter_id' => 'nullable|array', + 'branch_id' => 'nullable|array', + 'category_id' => 'nullable|int', + 'per_page' => 'nullable|integer', + 'search' => 'nullable|string' + ]); + + $models = [ + Law::class, + Volum::class, + Book::class, + Division::class, + Section::class, + Chapter::class, + Part::class, + Gate::class, + Branch::class, + Art::class + ]; + + $results = []; + + foreach ($models as $modelClass) { + $results = array_merge($results, $this->searchModel($modelClass, $validated)); + } + + return $this->success($results); + } + + private function searchModel($modelClass, $validated) + { + $query = $modelClass::query(); + + $filters = [ + 'law_id', + 'volume_id', + 'division_id', + 'section_id', + 'part_id', + 'gate_id', + 'chapter_id', + 'branch_id' + ]; + + $model = new $modelClass; + if ($model->getTable() == 'art') { + $query->where(function ($query) use ($validated, $filters) { + if (!empty($validated['search'])) { + $query->where(function ($q) use ($validated) { + $q->where('title', 'LIKE', "%{$validated['search']}%") + ->orWhere('text', 'LIKE', "%{$validated['search']}%"); + }); + } + + foreach ($filters as $filter) { + if (!empty($validated[$filter])) { + $query->whereIn($filter, $validated[$filter]); + } + } + }); + + + if (!empty($validated['category_id'])) { + $query->whereIn('law_id', Category::where('type', $this->convertValueTo($validated['category_id']))->get()->pluck('id')); + } + + $items = $query->paginate($validated['per_page'] ?? 10); + + return $items->map(function ($item) use ($validated, $modelClass) { + $text = $item->text ?? ''; + $search = preg_quote($validated['search'] ?? '', '/'); + if (!empty($text) && preg_match('/\b(.{0,50})\b(' . $search . ')\b(.{0,50})\b/i', $text, $matches)) { + $context = trim($matches[1] ?? '') . ' ' . $matches[2] . ' ' . trim($matches[3] ?? ''); + } else { + $context = $text; + } + + $law = Law::find($item->law_id); + + return [ + 'id' => $item->id, + 'title' => $item->title, + 'text' => $context, + 'is_locked' => auth()->user()->isSubscriber() !== false ? false : optional($law)->is_locked, + 'type' => 'art', + 'route' => array_values($this->route($modelClass, $item)), + 'category' => optional($law->category)->name, + 'law' => $law?->title, + 'count_art' => $law->arts->count(), + 'count_volums' => $law->volums->count(), + 'price' => $law->price, + 'image' => $law->image + ]; + })->toArray(); + } else { + $query = $query->where('title', 'LIKE', '%' . ($validated['search'] ?? '') . '%'); + } + + $items = $query->paginate($validated['per_page'] ?? 10); + + return $items->map(function ($item) use ($modelClass) { + $law = Law::find($item?->law_id ?? $item->id); + if ((new $modelClass)->getTable() == 'laws') { + return [ + 'id' => $item->id, + 'title' => $item->title, + 'number' => $item->number, + 'type' => (new $modelClass)->getTable(), + 'is_locked' => auth()->user()->isSubscriber() !== false ? false : optional($law)->is_locked, + 'route' => array_values($this->route($modelClass, $item)), + 'category' => optional($law?->category)?->name ?? '', + 'image' => $law->image + ]; + } else if ((new $modelClass)->getTable() == 'art') { + return [ + 'id' => $item->id, + 'title' => $item->title, + 'number' => $item->number, + 'type' => (new $modelClass)->getTable(), + 'is_locked' => auth()->user()->isSubscriber() !== false ? false : optional($law)->is_locked, + 'route' => array_values($this->route($modelClass, $item)), + 'law' => $law?->title ?? '', + 'image' => $law->image + ]; + } else { + return [ + 'id' => $item->id, + 'title' => $item->title, + 'number' => $item->number, + 'type' => (new $modelClass)->getTable(), + 'is_locked' => auth()->user()->isSubscriber() !== false ? false : optional($law)->is_locked, + 'route' => array_values($this->route($modelClass, $item)), + 'law' => $law?->title ?? '', + ]; + } + })->toArray(); + } + + + + private function route($modelClass, $query) + { + if ((new $modelClass)->getTable() == 'art') { + $route = array_filter([ + Law::find($query->law_id)?->title, + Volum::find($query->volum_id)?->title, + Book::find($query->book_id)?->title, + Division::find($query->division_id)?->title, + Section::find($query->section_id)?->title, + Chapter::find($query->chapter_id)?->title, + Part::find($query->part_id)?->title, + Gate::find($query->gate_id)?->title, + Branch::find($query->branch_id)?->title + ]); + + $route = array_values($route); + return $route; + } + return []; + } + + public function fash_search(Request $request) + { + $search = $request->input('search'); + + $models = [ + Law::class, + Art::class + ]; + + $results = []; + + foreach ($models as $modelClass) { + $results = array_merge($results, $this->searchModelFastSearch($modelClass, $search)); + } + + + $models_other = [ + Volum::class, + Book::class, + Division::class, + Section::class, + Chapter::class, + Part::class, + Gate::class, + Branch::class, + ]; + + $found = false; + foreach ($models_other as $modelClass) { + if (count($this->searchModelFastSearch($modelClass, $search)) > 0 && !$found) { + $results = array_merge($results, $this->searchModelFastSearch($modelClass, $search)); + $found = true; + } + } + + + $models = [ + Law::class, + Volum::class, + Book::class, + Division::class, + Section::class, + Chapter::class, + Part::class, + Gate::class, + Branch::class, + Art::class + ]; + + $count_all = 0; + + foreach ($models as $modelClass) { + $count_all += count($this->searchModel($modelClass, $search)); + } + + + return $this->success(['items' => $results, 'count' => $count_all]); + } + + private function searchModelFastSearch($modelClass, $search) + { + $results = $modelClass::searchLimit($search); + + return $results->map(function ($q) use ($modelClass, $search) { + $instance = new $modelClass; + $table = $instance->getTable(); + + if ($table === 'art') { + return $this->formatArtResult($q, $search); + } + + return $this->formatGenericResult($q, $table); + })->toArray(); + } + + private function formatGenericResult($q, $table) + { + $category = null; + if ($table === 'laws') { + $category = Law::where('id', $q->id)->first()?->category?->name; + } else { + $category = Law::where('id', $q->law_id)->first()?->category?->name; + } + + if ($table !== 'laws') { + return [ + 'id' => $q->id, + 'title' => $q->title, + 'type' => $table === 'section' ? 'sections' : $table, + 'category' => $category, + 'law' => Law::where('id', $q->law_id)->first()?->title + ]; + } + + return [ + 'id' => $q->id, + 'title' => $q->title, + 'type' => $table === 'section' ? 'sections' : $table, + 'category' => $category, + 'image' => Law::where('id', $q->id)->first()?->image + ]; + } + + private function formatArtResult($q, $search) + { + $law = Law::where('id', $q->law_id)->first(); + $route = array_filter([ + $law?->title, + Volum::find($q->volum_id)?->title, + Book::find($q->book_id)?->title, + Division::find($q->division_id)?->title, + Section::find($q->section_id)?->title, + Chapter::find($q->chapter_id)?->title, + Part::find($q->part_id)?->title, + Gate::find($q->gate_id)?->title, + Branch::find($q->branch_id)?->title + ]); + + $text = $q->text; + $search = preg_quote($search, '/'); + if (preg_match('/\b(.{0,50})\b(' . $search . ')\b(.{0,50})\b/i', $text, $matches)) { + $context = trim($matches[1]) . ' ' . $matches[2] . ' ' . trim($matches[3]); + } else { + $context = $text; + } + + return [ + 'id' => $q->id, + 'title' => $q->title, + 'text' => $context, + 'is_locked' => auth()->user()->isSubscriber() !== false ? false : $law->is_locked, + 'type' => 'art', + 'route' => $route, + 'category' => $law?->category?->name, + 'law' => $law?->title, + 'count_art' => $law->arts->count(), + 'count_volum' => $law->volums->count(), + 'price' => $law->price, + 'image' => $law->image + ]; + } + + private function convertValueTo($var) + { + switch ($var) { + case 1: + return 'hagigi'; + break; + case 2: + return 'kifari'; + break; + + default: + return 'kifari'; + break; + } + } +} diff --git a/app/Http/Controllers/api/AuthController.php b/app/Http/Controllers/api/AuthController.php new file mode 100644 index 0000000..d094925 --- /dev/null +++ b/app/Http/Controllers/api/AuthController.php @@ -0,0 +1,96 @@ +where('mobile', $request->mobile) + ->firstOr(function () use ($request) { + return User::create([ + 'name' => 'Law', + 'mobile' => $request->mobile, + 'email' => 'law' . $request->mobile . '@law.com', + 'password' => Hash::make($request->mobile), + ]); + }); + + $code = random_int(1000, 9999); + UserCode::create([ + 'user_id' => $user->id, + 'code' => $code, + 'expired_at' => Carbon::now()->addMinutes(10), + ]); + + $url = 'https://api.sms.ir/v1/send/verify'; + + $payload = [ + 'mobile' => $request->mobile, + 'templateId' => '383927', + 'parameters' => [ + [ + 'name' => 'CODE', + 'value' => strval($code), + ], + ], + ]; + + $response = Http::withHeaders([ + 'Content-Type' => 'application/json', + 'Accept' => 'text/plain', + 'x-api-key' => 'VNXiXc1ERkFUwifxfYFzOIOCjNow9E8as1NpUE5EtkDkaWUlmC09nGxJCFX3kSqD', + ]) + ->post('https://api.sms.ir/v1/send/verify', $payload); + + if ($response->successful()) { + return $this->success([], 'موفق', 'کد ورود به شماره موبایل شما ارسال شد'); + } else { + return $this->failed([], 'نا موفق', 'در ارسال کد به شماره شما مشکلی وجود دارد'); + } + } + + public function verify(Request $request) + { + $request->validate([ + 'mobile' => 'required', + 'code' => 'required', + ]); + + $user = User::where('mobile', $request->mobile)->first(); + + if (! $user) { + return response()->json(['error' => 'User not found'], 404); + } + + $latestCode = UserCode::where('user_id', $user->id) + ->where('code', $request->code) + ->latest() + ->first(); + + if (! $latestCode) { + return $this->failed([], 'کد ورود اشتباه است', 404); + } + + if ($latestCode->code === $request->code) { + $token = $user->createToken('mobile')->plainTextToken; + + return $this->success(['token' => $token], 'ورود موفقیت امیز بود'); + } else { + return $this->failed([], 'کد ورود اشتباه است', 404); + } + } +} diff --git a/app/Http/Controllers/api/BookController.php b/app/Http/Controllers/api/BookController.php new file mode 100644 index 0000000..70d44ce --- /dev/null +++ b/app/Http/Controllers/api/BookController.php @@ -0,0 +1,36 @@ +validated(); + + $perPage = $validatedData['per_page'] ?? 15; + $page = $validatedData['page'] ?? 1; + + $books = Book::where('volum_id', $validated['volum_id'])->paginate($perPage, ['*'], 'page', $page); + + $books->getCollection()->transform(function ($section) { + $section['is_locked'] = auth()->user()->isSubscriber() !== true ? true : Law::where('is_locked',$section['law_id'])->first()?->is_locked ?? false; + + unset($section['law_id']); + unset($section['volum_id']); + + return $section; + }); + + return $this->success($books->items(), 'Success'); + } +} diff --git a/app/Http/Controllers/api/CategoriesController.php b/app/Http/Controllers/api/CategoriesController.php new file mode 100644 index 0000000..9d3a7c5 --- /dev/null +++ b/app/Http/Controllers/api/CategoriesController.php @@ -0,0 +1,24 @@ +input('per_page', 15); + $page = $request->input('page', 1); + + $categories = Category::paginate($perPage, ['*'], 'page', $page); + + + return $this->success($categories->items()); + } +} diff --git a/app/Http/Controllers/api/ChapterController.php b/app/Http/Controllers/api/ChapterController.php new file mode 100644 index 0000000..b60d5aa --- /dev/null +++ b/app/Http/Controllers/api/ChapterController.php @@ -0,0 +1,37 @@ +validated(); + + $perPage = $validated['per_page'] ?? 15; + $page = $validated['page'] ?? 1; + + $chapters = Chapter::where('book_id' , $validated['book_id'])->paginate($perPage, ['*'], 'page', $page); + + $chapters->getCollection()->transform(function ($section) { + + $section['is_locked'] = auth()->user()->isSubscriber() !== false ? false : Law::where('is_locked', $section['law_id'])->first()?->is_locked; + + unset($section['law_id']); + unset($section['section_id']); + + return $section; + }); + + return $this->success($chapters->items()); + } +} diff --git a/app/Http/Controllers/api/FolderController.php b/app/Http/Controllers/api/FolderController.php new file mode 100644 index 0000000..ac6381d --- /dev/null +++ b/app/Http/Controllers/api/FolderController.php @@ -0,0 +1,151 @@ +where('user_id', auth()->id())->get() + ->map(function ($q) { + return [ + "id" => $q->id, + "name" => $q->name, + "count_of_arts" => $q->arts->count(), + "created_at" => $q->created_at, + ]; + }); + + + return $this->success($folder); + } + + public function create(Request $request) + { + $validted = $request->validate([ + 'name' => 'required' + ]); + + Folder::create([ + 'user_id' => auth()->user()->id, + 'name' => $validted['name'] + ]); + + return $this->success([], 'ایجاد شد', 'پوشه با موفقیت ایجاد شد.'); + } + + public function assign(Request $request) + { + $validted = $request->validate([ + 'folder_id' => 'required', + 'art_id' => 'required' + ]); + + if (Folder::query()->where('id', $validted['folder_id'])->count() == 0) { + return $this->failed([], 'پوشه مورد نظر یافت نشد', 404); + } + + if (FolderArt::query()->where('folder_id', $validted['folder_id'])->where('art_id', $validted['art_id'])->count() > 0) { + return $this->failed([], 'ارت مورد نظر قبلا اضافه شده است', 400); + } + + FolderArt::create([ + 'folder_id' => $validted['folder_id'], + 'art_id' => $validted['art_id'] + ]); + + return $this->success([], 'اضافه شد', 'ارت با موفیت اضافه شد'); + } + + public function folder($id) + { + $arts = FolderArt::where('folder_id', $id) + ->with('arts.chapter', 'arts.part', 'arts.volum', 'arts.law', 'arts.book', 'arts.section', 'arts.gate') + ->get() + ->pluck('arts') + ->flatten(); + + $arts = $arts->map(function ($art) { + $text = $art->text ?? ''; + $shortText = ''; + if (strlen($text) > 50) { + $shortText = substr($text, 0, 50); + $shortText = substr($shortText, 0, strrpos($shortText, ' ')) . '...'; + } else { + $shortText = $text; + } + + return [ + 'id' => $art->id, + 'title' => $art->title, + 'text' => $shortText, + 'number' => $art->number, + 'is_locked' => auth()->user()->isSubscriber() !== false ? false : Law::where('is_locked', $art->law->id)->first()?->is_locked, + 'chapter' => $art->chapter != null ? [ + 'id' => $art->chapter->id, + 'title' => $art->chapter->title, + 'number' => $art->chapter->number, + ] : null, + 'part' => $art->part != null ? [ + 'id' => $art->part->id, + 'title' => $art->part->title, + 'number' => $art->part->number, + ] : null, + 'volum' => $art->volum != null ? [ + 'id' => $art->volum->id, + 'title' => $art->volum->title, + 'number' => $art->volum->number, + ] : null, + 'law' => $art->law != null ? [ + 'id' => $art->law->id, + 'title' => $art->law->title, + 'number' => $art->law->number, + ] : null, + 'book' => $art->book != null ? [ + 'id' => $art->book->id, + 'title' => $art->book->title, + 'number' => $art->book->number, + ] : null, + 'section' => $art->section != null ? [ + 'id' => $art->section->id, + 'title' => $art->section->title, + 'number' => $art->section->number, + ] : null, + 'gate' => $art->gate != null ? [ + 'id' => $art->gate->id, + 'title' => $art->gate->title, + 'number' => $art->gate->number, + ] : null, + ]; + }); + + return $this->success($arts); + } + + public function delete_folder($id) + { + if (Folder::query()->where('id', $id)->count() == 0) { + return $this->failed('پوشه یافت نشد', 'پوشه مورد نظر یافت نشد', 404); + } + Folder::query()->where('id', $id)->delete(); + return $this->success([], 'حذف شد', 'پوشه با موفقیت حذف شد'); + } + + public function delete_art($id,$art_id) + { + if (FolderArt::query()->where('folder_id', $id)->where('art_id', $art_id)->count() == 0) { + return $this->failed([], 'ارت مورد نظر یافت نشد', 404); + } + FolderArt::query()->where('folder_id', $id)->where('art_id', $art_id)->delete(); + return $this->success([], 'حذف شد', 'ارت با موفقیت حذف شد'); + } +} diff --git a/app/Http/Controllers/api/GateController.php b/app/Http/Controllers/api/GateController.php new file mode 100644 index 0000000..a10e029 --- /dev/null +++ b/app/Http/Controllers/api/GateController.php @@ -0,0 +1,37 @@ +validated(); + + $gates = Gate::where('book_id', $validated['book_id']) + ->paginate($validated['per_page'], ['*'], 'page', $validated['page']); + + $gates->getCollection()->transform(function ($gate) { + unset($gate['book_id']); + $gate['is_locked'] = auth()->user()->isSubscriber() !== false ? false : Law::where('is_locked', $gate['law_id'])->first()?->is_locked; + + unset($gate['law_id']); + + return $gate; + }); + + + + return $this->success($gates->items()); + } +} diff --git a/app/Http/Controllers/api/HomeController.php b/app/Http/Controllers/api/HomeController.php new file mode 100644 index 0000000..a35b87a --- /dev/null +++ b/app/Http/Controllers/api/HomeController.php @@ -0,0 +1,131 @@ +user(); + + // 2. DISPATCH THE JOB AT THE VERY BEGINNING + // =================================================================== + // Find the user's latest subscription that has a purchase token + $latestSubscription = $user->userSubscribers()->whereNotNull('purchase_token')->latest()->first(); + + // If such a subscription exists, create a new job and hand it to the queue + // if ($latestSubscription) { + // CheckBazaarSubscription::dispatch($latestSubscription); + // } + // =================================================================== + // Your API now continues immediately without waiting for the check to finish. + + + // --- ALL THE REST OF YOUR CODE REMAINS EXACTLY THE SAME --- + + $recent = RecentArt::query()->where('user_id', $user->id)->get()->map(function ($q) { + return [ + 'id' => $q->law?->id, + 'name' => $q->law?->title, + 'is_locked' => $q->law?->is_locked + ]; + }); + + $laws = Law::orderBy('created_at')->get()->map(function ($q) { + return [ + 'id' => $q->id, + 'name' => $q->title, + 'is_locked' => $q->is_locked + ]; + }); + + $categories = ['hagigi', 'kifari']; + $lawsByCategory = []; + + foreach ($categories as $category) { + $lawsByCategory[$category] = Law::whereHas('category', function ($q) use ($category) { + $q->where('type', $category); + })->get()->map(function ($q) { + return [ + "id" => $q->id, + "title" => $q->title, + "is_locked" => $q->is_locked, + "category_id" => $q->category_id, + "price" => $q->price, + "image" => $q->image, + "type" => 'law' + ]; + }); + } + + $free_law = Law::where('is_locked', false)->orderBy('created_at')->get()->map(function ($q) { + return [ + 'id' => $q->id, + 'name' => $q->title, + 'is_locked' => $q->is_locked + ]; + }); + + $current_plan = null; + + $freeSubscription = $user->userSubscribers() + ->whereHas('subscribe', function ($query) { + $query->where('is_free', true); + }) + ->where('expired_at', '>=', now()) + ->first(); + + $expiredAt = null; + $current_plan = null; + + if ($freeSubscription) { + $expiredAt = $freeSubscription->expired_at; + $current_plan = [ + 'id' => $freeSubscription->id, + 'name' => $freeSubscription->subscribe->name, + 'price' => $freeSubscription->subscribe->price, + 'expired_day' => $freeSubscription->expired_at->diffInDays(now()), + 'is_free' => true + ]; + } + + $latestSubscription = $user->userSubscribers()->latest()->first(); + + $expiredDays = UserSubscriber::query()->where('user_id', $user->id)->where('expired_at', '>=', now())->get()->sum(function ($subscriber) {return $subscriber->expired_at->diffInDays(now());}); + + $purchase_token = $latestSubscription?->purchase_token; + $current_plan = [ + 'id' => $latestSubscription->id, + 'name' => $latestSubscription->subscribe->name ?? 'Subscription', + 'price' => $latestSubscription->subscribe->price ?? 100, + 'expired_day' => $expiredDays, + 'is_free' => false + ]; + + $unread_notifications_count = Notification::unreadForUser($user->id)->count(); + + return $this->success([ + 'recent' => $recent, + 'laws' => $lawsByCategory, + 'last_law' => $laws, + 'free' => $free_law, + 'current_plan' => $current_plan, + 'unread_notifications_count' => $unread_notifications_count, + ]); + } +} diff --git a/app/Http/Controllers/api/LawController.php b/app/Http/Controllers/api/LawController.php new file mode 100644 index 0000000..6303255 --- /dev/null +++ b/app/Http/Controllers/api/LawController.php @@ -0,0 +1,23 @@ +input('per_page', 15); + $page = $request->input('page', 1); + + $laws = Law::simplePaginate($perPage, ['*'], 'page', $page); + + return $this->success($laws->items(), 'Success'); + } +} diff --git a/app/Http/Controllers/api/NoteController.php b/app/Http/Controllers/api/NoteController.php new file mode 100644 index 0000000..1c55877 --- /dev/null +++ b/app/Http/Controllers/api/NoteController.php @@ -0,0 +1,58 @@ +validate([ + 'art_id' => 'required', + 'note' => 'required', + 'color_code' => 'nullable' + ]); + + Note::query()->create( + [ + 'user_id' => auth()->user()->id, + 'art_id' => $validated['art_id'], + 'note' => $validated['note'], + 'color_code' => $validated['color_code'], + + ] + ); + + return $this->success([], 'successfully created.'); + } + + public function update($id, Request $request) + { + $validated = $request->validate([ + 'note' => 'required', + 'color_code' => 'nullable' + ]); + + $note = Note::findOrFail($id); + $note->update([ + 'note' => $validated['note'], + 'color_code' => $validated['color_code'], + ]); + + return $this->success([], 'successfully updated.'); + } + + public function destroy($id) + { + $note = Note::findOrFail($id); + $note->delete(); + + return $this->success([], 'successfully deleted.'); + } +} diff --git a/app/Http/Controllers/api/NotificationController.php b/app/Http/Controllers/api/NotificationController.php new file mode 100644 index 0000000..016aea6 --- /dev/null +++ b/app/Http/Controllers/api/NotificationController.php @@ -0,0 +1,41 @@ +user(); + + $all = Notification::query()->latest()->get(); + + $now = now(); + foreach ($all as $notification) { + $user->notifications()->syncWithoutDetaching([ + $notification->id => ['read_at' => $now], + ]); + } + + $notifications = $all->map(function ($notification) { + return [ + 'id' => $notification->id, + 'title' => $notification->title, + 'description' => $notification->description, + 'created_at' => $notification->created_at->toIso8601String(), + 'is_read' => true, + ]; + }); + + return $this->success([ + 'notifications' => $notifications, + ]); + } +} diff --git a/app/Http/Controllers/api/PartController.php b/app/Http/Controllers/api/PartController.php new file mode 100644 index 0000000..33b33b6 --- /dev/null +++ b/app/Http/Controllers/api/PartController.php @@ -0,0 +1,38 @@ +validated(); + + $perPage = $request->input('per_page', 15); + $page = $request->input('page', 1); + + $parts = Part::where('book_id' , $request->input('book_id'))->paginate($perPage, ['*'], 'page', $page); + + $parts->getCollection()->transform(function ($part) { + unset($part['book_id']); + $gate['is_locked'] = auth()->user()->isSubscriber() !== false ? false : Law::where('is_locked', $part['law_id'])->first()?->is_locked; + + unset($gate['law_id']); + + return $gate; + }); + + + return $this->success($parts->items()); + } +} diff --git a/app/Http/Controllers/api/PayController.php b/app/Http/Controllers/api/PayController.php new file mode 100644 index 0000000..e0fc0d3 --- /dev/null +++ b/app/Http/Controllers/api/PayController.php @@ -0,0 +1,109 @@ +validate([ + 'subscribe_plan_id' => 'required|exists:subscribe_plans,id', + ]); + + $subscribePlan = SubscribePlan::findOrFail($request->subscribe_plan_id); + + try { + $invoice = (new Invoice)->amount($subscribePlan->price); + + $callback = 'https://ghaafapp.ir'; + $payment = Payment::callbackUrl($callback . '/payment/callback') + ->purchase($invoice, function ($driver, $transaction_id) use ($subscribePlan) { + PaymentTransaction::create([ + 'user_id' => auth()->user()->id, + 'subscribe_plan_id' => $subscribePlan->id, + 'transaction_id' => $transaction_id, + 'amount' => $subscribePlan->price, + 'status' => 'pending', + ]); + }) + ->pay(); + + return $this->success(['url' => $payment]); + } catch (\Exception $e) { + Log::error('Payment initiation failed: ' . $e->getMessage()); + return $this->failed('Payment initialization failed', $e->getMessage()); + } + } + + public function callback(Request $request) + { + try { + $url = 'http://bitpay.ir/payment/gateway-result-second'; + $api = '066fd-d622e-690a9-be618-ddf02bc6059bbbd67c317bb340d1'; + $trans_id = $request->input('trans_id'); + $id_get = $request->input('id_get'); + $result = $this->get($url, $api, $trans_id, $id_get); + $parseDecode = json_decode($result); + if ($parseDecode->status == 1) { + + $transaction = PaymentTransaction::where('transaction_id', $id_get)->first(); + $transaction->update([ + 'status' => 'success', + ]); + + $expiredAt = now()->addDays($transaction->subscribePlan->expired_day); + + UserSubscriber::where('user_id', $transaction->user_id)->delete(); + $transaction->user->userSubscribers()->create([ + 'subscribe_plan_id' => $transaction->subscribe_plan_id, + 'expired_at' => $expiredAt, + ]); + + return $this->success([], 'Payment Successful', 'Subscription successfully activated.'); + } + + return $this->failed([], ['title' => 'Payment Failed', 'message' => 'Payment verification failed.']); + } catch (\Exception $e) { + Log::info('error in callback function', ['error' => $e->getMessage()]); + return $this->failed([], ['title' => 'Payment Failed', 'message' => 'Payment verification failed.']); + } + } + + + private function send($url, $api, $amount, $redirect, $factorId, $name, $email, $description) + { + $ch = curl_init(); + curl_setopt($ch, CURLOPT_URL, $url); + curl_setopt($ch, CURLOPT_POSTFIELDS, "api=$api&amount=$amount&redirect=$redirect&factorId=$factorId&name=$name&email=$email&description=$description"); + curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE); + curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); + $res = curl_exec($ch); + curl_close($ch); + return $res; + } + + private function get($url, $api, $trans_id, $id_get) + { + $ch = curl_init(); + curl_setopt($ch, CURLOPT_URL, $url); + curl_setopt($ch, CURLOPT_POSTFIELDS, "api=$api&id_get=$id_get&trans_id=$trans_id&json=1"); + curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE); + curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); + $res = curl_exec($ch); + curl_close($ch); + return $res; + } +} diff --git a/app/Http/Controllers/api/SectionController.php b/app/Http/Controllers/api/SectionController.php new file mode 100644 index 0000000..f306d6c --- /dev/null +++ b/app/Http/Controllers/api/SectionController.php @@ -0,0 +1,59 @@ +validated(); + $perPage = $validatedData['per_page'] ?? 15; + $page = $validatedData['page'] ?? 1; + + $section = Section::where('book_id', $validatedData['book_id'])->paginate($perPage, ['*'], 'page', $page); + + $section->getCollection()->transform(function ($section) { + unset($section['book_id']); + $section['is_locked'] = auth()->user()->isSubscriber() !== false ? false : Law::where('is_locked',$section['law_id'])->first()?->is_locked; + + unset($section['law_id']); + + return $section; + }); + + return $this->success($section->items(), 'Success'); + } + + public function like(Section $section) + { + $userId = auth()->id(); + + $existingLike = LikeSection::query()->where('section_id', $section->id) + ->where('user_id', $userId) + ->first(); + + if ($existingLike) { + $existingLike->delete(); + + return $this->success(null, 'Success', 'Section unliked successfully'); + } + + LikeSection::create([ + 'section_id' => $section->id, + 'user_id' => $userId, + ]); + + return $this->success(null, 'Success', 'Section liked successfully'); + } +} diff --git a/app/Http/Controllers/api/SubscribePlanController.php b/app/Http/Controllers/api/SubscribePlanController.php new file mode 100644 index 0000000..ea2caec --- /dev/null +++ b/app/Http/Controllers/api/SubscribePlanController.php @@ -0,0 +1,275 @@ +where('is_active', true)->get()->map(function ($q) { + if ($q->is_free) { + if (auth()->user()->subscribePlans()->first() !== null) { + return null; + } + } + return [ + 'id' => $q->id, + 'name' => $q->name, + 'price' => $q->price, + 'expired_day' => $q->expired_day, + 'is_free' => $q->is_free == 1 ? true : false, + 'type' => $q->type, + 'transaction' => $q->transaction + + ]; + })->filter(function ($q) { + return $q != null; + }); + + return $this->success(array_values($subscribePlans->toArray()), 'Subscribe Plan', 'Subscribe Plan List'); + } + + public function subscribe(Request $request) + { + $request->validate([ + 'subscribe_plan_id' => 'required|exists:subscribe_plans,id', + ]); + + $subscribePlan = SubscribePlan::findOrFail($request->subscribe_plan_id); + $user = auth()->user(); + + $activeSubscription = $user->userSubscribers() + ->where('expired_at', '>', now()) + ->first(); + + if ($activeSubscription && !$activeSubscription?->subscribe?->is_free && !$subscribePlan->is_free) { + return $this->failed(null, ['title' => 'Subscribe Plan', 'message' => 'You already have an active subscription. Please wait until it expires.']); + } + + if ($subscribePlan->is_free) { + $hasUsedFreePlan = $user->userSubscribers() + ->whereHas('subscribe', function ($query) { + $query->where('is_free', true); + })->exists(); + + if ($hasUsedFreePlan) { + return $this->failed(null, ['title' => 'Subscribe Plan', 'message' => 'You have already used the free plan.']); + } + + $expiredAt = now()->addDays($subscribePlan->expired_day + 1); + + $user->userSubscribers()->create([ + 'subscribe_plan_id' => $subscribePlan->id, + 'expired_at' => $expiredAt, + ]); + + return $this->success(null, 'Subscribe Plan', 'Free Subscribe Plan Successfully Activated'); + } + + try { + $invoice = (new Invoice)->amount($subscribePlan->price); + + $callback = 'https://ghaafapp.ir'; + $payment = Payment::callbackUrl($callback) + ->purchase($invoice, function ($driver, $transaction_id) use ($subscribePlan) { + PaymentTransaction::create([ + 'user_id' => auth()->user()->id, + 'subscribe_plan_id' => $subscribePlan->id, + 'transaction_id' => $transaction_id, + 'amount' => $subscribePlan->price, + 'status' => 'pending', + ]); + }) + ->pay(); + + return $this->success(['url' => $payment]); + } catch (\Exception $e) { + Log::error('Payment initiation failed: ' . $e->getMessage()); + return $this->failed(null, 'درگاه پرداخت در دسترس نیست'); + } + } + + public function subscribe_new(Request $request) + { + $package_name_bazzar = 'com.razzaghi.lawbook.android'; + + $request->validate([ + 'subscribe_plan_id' => 'required|exists:subscribe_plans,id', + 'subscription_id' => 'nullable', + 'purchase_token' => 'nullable' + ]); + + $subscribePlan = SubscribePlan::findOrFail($request->subscribe_plan_id); + $user = auth()->user(); + + $activeSubscription = $user->userSubscribers() + ->where('expired_at', '>', now()) + ->latest('expired_at') + ->first(); + + if ($subscribePlan->is_free) { + $hasUsedFreePlan = $user->userSubscribers() + ->whereHas('subscribe', function ($query) { + $query->where('is_free', true); + }) + ->exists(); + + if ($hasUsedFreePlan) { + return $this->failed(null, ['title' => 'Subscribe Plan', 'message' => 'You have already used the free plan.']); + } + + $expiredAt = $activeSubscription ? $activeSubscription->expired_at->addDays($subscribePlan->expired_day) : now()->addDays($subscribePlan->expired_day); + + $user->userSubscribers()->create([ + 'subscribe_plan_id' => $subscribePlan->id, + 'expired_at' => $expiredAt, + 'is_free' => true + ]); + + return $this->success(null, 'Subscribe Plan', 'Free Subscribe Plan Successfully Activated'); + } + + $subscription_id = $request->input('subscription_id'); + $purchase_token = $request->input('purchase_token'); + + if (!$subscription_id || !$purchase_token) { + return $this->failed(null, ['title' => 'Subscribe Plan', 'message' => 'Invalid subscription details.']); + } + + $url = "https://pardakht.cafebazaar.ir/devapi/v2/api/applications/$package_name_bazzar/subscriptions/$subscription_id/purchases/$purchase_token"; + + $client = new \GuzzleHttp\Client(); + try { + $response = $client->get($url, [ + 'headers' => [ + 'CAFEBAZAAR-PISHKHAN-API-SECRET' => 'eyJhbGciOiJIUzI1NiIsImtpZCI6ImFuY2llbnQiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJuYXNoZXItcGlzaGtoYW4tYXBpIiwiaWF0IjoxNzQwMjQ3NTMzLCJleHAiOjQ4OTM4NDc1MzMsImFwaV9hZ2VudF9pZCI6MzQ2NX0.UCrr3IHxCqn77ckxfnaubrsyCfrhPm18gJgyg1qNqwA', + ] + ]); + + $data = json_decode($response->getBody(), true); + if (!isset($data['validUntilTimestampMsec']) || $data['validUntilTimestampMsec'] < now()->timestamp * 1000) { + return $this->failed(null, ['title' => 'Subscribe Plan', 'message' => 'Invalid or expired subscription.']); + } + + $bazaarExpiredAt = Carbon::createFromTimestampMs($data['validUntilTimestampMsec']); + + $expiredAt = $activeSubscription ? $activeSubscription->expired_at->addDays($subscribePlan->expired_day) : $bazaarExpiredAt; + $user->userSubscribers()->whereHas('subscribe', function ($query) { + $query->where('is_free', true); + }) + ->update(['expired_at' => now()]); + + $user->userSubscribers()->create([ + 'subscribe_plan_id' => $subscribePlan->id, + 'expired_at' => $expiredAt, + 'subscription_id' => $subscription_id, + 'purchase_token' => $purchase_token, + 'is_free' => false + ]); + + return $this->success(null, 'Subscribe Plan', 'Subscription successfully activated.'); + } catch (\Exception $e) { + Log::error('Error in subscription', ['Error' => $e->getMessage()]); + return $this->failed(null, ['title' => 'Subscribe Plan', 'message' => 'Failed to verify subscription.']); + } + } + + public function paymentCallback(Request $request) + { + try { + $url = 'http://bitpay.ir/payment/gateway-result-second'; + $api = '066fd-d622e-690a9-be618-ddf02bc6059bbbd67c317bb340d1'; + $trans_id = $request->input('trans_id'); + $id_get = $request->input('id_get'); + $result = $this->get($url, $api, $trans_id, $id_get); + $parseDecode = json_decode($result); + if ($parseDecode->status == 1) { + + $transaction = PaymentTransaction::where('transaction_id', $id_get)->firstOrFail(); + $transaction->update([ + 'status' => 'success', + ]); + + $expiredAt = now()->addDays($transaction->subscribePlan->expired_day); + + UserSubscriber::where('user_id', $transaction->user_id)->delete(); + $transaction->user->userSubscribers()->create([ + 'subscribe_plan_id' => $transaction->subscribe_plan_id, + 'expired_at' => $expiredAt, + ]); + + return $this->success([], 'Payment Successful', 'Subscription successfully activated.'); + } + + return $this->failed([], ['title' => 'Payment Failed', 'message' => 'Payment verification failed.']); + } catch (\Exception $e) { + return $this->failed([], ['title' => 'Payment Failed', 'message' => 'Payment verification failed.']); + } + } + + public function current() + { + $user = auth()->user(); + + $subscribePlans = UserSubscriber::where('user_id', $user->id) + ->where('expired_at', '>', now()) + ->orderBy('expired_at', 'desc') + ->get(); + + if ($subscribePlans->isNotEmpty()) { + $totalExpiredDays = $subscribePlans->sum('expired_day'); + $latestPlan = $subscribePlans->first(); + + $subscribePlanData = [ + 'id' => $latestPlan->id, + 'name' => $latestPlan->subscribe->name, + 'price' => $latestPlan->subscribe->price, + 'expired_day' => $totalExpiredDays, + 'is_free' => $latestPlan->subscribe->is_free == 1, + 'expired_at' => Carbon::now()->addDays($totalExpiredDays)->format('Y-m-d'), + ]; + + return $this->success($subscribePlanData, 'Subscribe Plan', 'Current Subscribe Plan'); + } + + return $this->success(null, 'Subscribe Plan', 'No Subscribe Plan'); + } + + + private function send($url, $api, $amount, $redirect, $factorId, $name, $email, $description) + { + $ch = curl_init(); + curl_setopt($ch, CURLOPT_URL, $url); + curl_setopt($ch, CURLOPT_POSTFIELDS, "api=$api&amount=$amount&redirect=$redirect&factorId=$factorId&name=$name&email=$email&description=$description"); + curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE); + curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); + $res = curl_exec($ch); + curl_close($ch); + return $res; + } + + private function get($url, $api, $trans_id, $id_get) + { + $ch = curl_init(); + curl_setopt($ch, CURLOPT_URL, $url); + curl_setopt($ch, CURLOPT_POSTFIELDS, "api=$api&id_get=$id_get&trans_id=$trans_id&json=1"); + curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE); + curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); + $res = curl_exec($ch); + curl_close($ch); + return $res; + } +} diff --git a/app/Http/Controllers/api/VersionController.php b/app/Http/Controllers/api/VersionController.php new file mode 100644 index 0000000..a8572fc --- /dev/null +++ b/app/Http/Controllers/api/VersionController.php @@ -0,0 +1,32 @@ +where('type', $versionRequest->type)->orderBy('id', 'desc')->first(); + + if (!$version) { + return $this->failed([], 'Version not found'); + } + + if (intval($version->number) > $versionRequest->number) { + return $this->success([ + 'force_update' => $version->force_update == 1 ? true : false + ], 'Your app need to be updated'); + } + + return $this->success([ + 'force_update' => false + ], 'Version successfully'); + } +} diff --git a/app/Http/Controllers/api/VolumController.php b/app/Http/Controllers/api/VolumController.php new file mode 100644 index 0000000..984b13e --- /dev/null +++ b/app/Http/Controllers/api/VolumController.php @@ -0,0 +1,864 @@ +validated(); + $perPage = $validatedData['per_page'] ?? 15; + $page = $validatedData['page'] ?? 1; + + $volumes = Volum::where('law_id', $validatedData['law_id'])->paginate($perPage, ['*'], 'page', $page); + + $volumes->getCollection()->transform(function ($volume) { + $volume['has_book'] = Book::where('volum_id', $volume->id)->exists(); + $volume['is_locked'] = auth()->user()->isSubscriber() !== false ? false : Law::where('is_locked', $volume['law_id'])->first()?->is_locked; + + unset($volume['law_id']); + + return $volume; + }); + + return $this->success($volumes->items(), 'Success'); + } + + public function check(CheckBookRequest $request) + { + $bookId = $request->book_id; + $volumeId = $request->volume_id; + $law_Id = $request->law_id; + $section_id = $request->section_id; + $division_id = $request->division_id; + $part_id = $request->part_id; + $branch_id = $request->branch_id; + $chapter_id = $request->chapter_id; + $gate_id = $request->gate_id; + + $perPage = $request->per_page ?? 10; + if ($bookId) { + + $book = Book::with(['divisions', 'sections', 'gates', 'parts', 'chapters', 'branchs', 'art']) + ->find($bookId); + + if (!$book) { + return $this->success([], 'Book not found'); + } + + $data = []; + $foundRelation = false; + foreach (['divisions', 'sections', 'gates', 'parts', 'chapters', 'branchs', 'art'] as $relation) { + if ($book->{$relation}->count() > 0) { + $foundRelation = true; + $items = $book->{$relation}()->paginate($perPage); + foreach ($items as $item) { + $data[] = [ + 'id' => $item->id, + 'title' => $item->title, + 'number' => $item->number, + 'type' => $relation, + 'is_locked' => auth()->user()->isSubscriber() !== false ? false : Law::where('is_locked', $item->law_id)->first()?->is_locked + ]; + } + $paginationData = [ + 'next_page_url' => $items->nextPageUrl(), + ]; + break; + } + } + + if ($foundRelation) { + return $this->success($data, 'Success'); + } else { + return $this->success([], 'No relations found'); + } + } + + if ($division_id) { + $division = Division::with(['sections', 'chapters', 'parts', 'gate', 'branch', 'art']) + ->find($division_id); + + if (!$division) { + return $this->success([], 'Division not found'); + } + + + $data = []; + $foundRelation = false; + foreach (['sections', 'chapters', 'parts', 'gate', 'branch', 'art'] as $relation) { + if ($division->{$relation}->count() > 0) { + $foundRelation = true; + $items = $division->{$relation}()->paginate($perPage); + foreach ($items as $item) { + $data[] = [ + 'id' => $item->id, + 'title' => $item->title, + 'number' => $item->number, + 'type' => $relation, + 'is_locked' => auth()->user()->isSubscriber() !== false ? false : Law::where('is_locked', $item->law_id)->first()?->is_locked + ]; + } + break; + } + } + + if ($foundRelation) { + return $this->success($data, 'Success'); + } else { + return $this->success([], 'No relations found'); + } + } + + if ($section_id) { + $section = Section::with(['chapters', 'parts', 'gate', 'branch', 'art']) + ->find($section_id); + + if (!$section) { + return $this->success([], 'Section not found'); + } + + $data = []; + $foundRelation = false; + foreach (['chapters', 'parts', 'gate', 'branch', 'art'] as $relation) { + if ($section->{$relation}->count() > 0) { + $foundRelation = true; + $items = $section->{$relation}()->paginate($perPage); + foreach ($items as $item) { + $data[] = [ + 'id' => $item->id, + 'title' => $item->title, + 'number' => $item->number, + 'type' => $relation, + 'is_locked' => auth()->user()->isSubscriber() !== false ? false : Law::where('is_locked', $item->law_id)->first()?->is_locked + ]; + } + break; + } + } + + if ($foundRelation) { + return $this->success($data, 'Success'); + } else { + return $this->success([], 'No relations found'); + } + } + + if ($volumeId) { + $volume = Volum::with(['book', 'divisions', 'sections', 'gates', 'parts', 'chapters', 'branchs', 'art']) + ->find($volumeId); + if (!$volume) { + return $this->success([], 'Volume not found'); + } + + $data = []; + $foundRelation = false; + foreach (['book', 'divisions', 'sections', 'chapters', 'parts', 'gates', 'branchs', 'art'] as $relation) { + if ($volume->{$relation}->count() > 0) { + $foundRelation = true; + $items = $volume->{$relation}()->paginate($perPage); + foreach ($items as $item) { + $data[] = [ + 'id' => $item->id, + 'title' => $item->title, + 'number' => $item->number, + 'type' => $relation, + 'is_locked' => auth()->user()->isSubscriber() !== false ? false : Law::where('is_locked', $item->law_id)->first()?->is_locked + ]; + } + break; + } + } + + if ($foundRelation) { + return $this->success($data, 'Success'); + } else { + return $this->success([], 'No relations found'); + } + } + + if ($part_id) { + $part = Part::with(['gate', 'branch', 'art']) + ->find($part_id); + + if (!$part) { + return $this->success([], 'Part not found'); + } + + $data = []; + $foundRelation = false; + foreach (['gate', 'branch', 'art'] as $relation) { + if ($part->{$relation}->count() > 0) { + $foundRelation = true; + $items = $part->{$relation}()->paginate($perPage); + foreach ($items as $item) { + $data[] = [ + 'id' => $item->id, + 'title' => $item->title, + 'number' => $item->number, + 'type' => $relation, + 'is_locked' => auth()->user()->isSubscriber() !== false ? false : Law::where('is_locked', $item->law_id)->first()?->is_locked + ]; + } + break; + } + } + + if ($foundRelation) { + return $this->success($data, 'Success'); + } else { + return $this->success([], 'No relations found'); + } + } + + if ($chapter_id) { + $chapter = Chapter::with(['parts', 'gate', 'branch', 'art']) + ->find($chapter_id); + + if (!$chapter) { + return $this->success([], 'Chapter not found'); + } + + $data = []; + $foundRelation = false; + foreach (['parts', 'gate', 'branch', 'art'] as $relation) { + if ($chapter->{$relation}->count() > 0) { + $foundRelation = true; + $items = $chapter->{$relation}()->paginate($perPage); + foreach ($items as $item) { + $data[] = [ + 'id' => $item->id, + 'title' => $item->title, + 'number' => $item->number, + 'type' => $relation, + 'is_locked' => auth()->user()->isSubscriber() !== false ? false : Law::where('is_locked', $item->law_id)->first()?->is_locked + ]; + } + break; + } + } + + if ($foundRelation) { + return $this->success($data, 'Success'); + } else { + return $this->success([], 'No relations found'); + } + } + + if ($branch_id) { + $branch = Branch::with(['art']) + ->find($branch_id); + + if (!$branch) { + return $this->success([], 'Branch not found'); + } + + $data = []; + $foundRelation = false; + foreach (['art'] as $relation) { + if ($branch->{$relation}->count() > 0) { + $foundRelation = true; + $items = $branch->{$relation}()->paginate($perPage); + foreach ($items as $item) { + $data[] = [ + 'id' => $item->id, + 'title' => $item->title, + 'number' => $item->number, + 'type' => $relation, + 'is_locked' => auth()->user()->isSubscriber() !== false ? false : Law::where('is_locked', $item->law_id)->first()?->is_locked + ]; + } + break; + } + } + + if ($foundRelation) { + return $this->success($data, 'Success'); + } else { + return $this->success([], 'No relations found'); + } + } + + + if ($gate_id) { + $gate = Gate::with(['branch', 'art']) + ->find($gate_id); + + if (!$gate) { + return $this->success([], 'Gate not found'); + } + + $data = []; + $foundRelation = false; + foreach (['branch', 'art'] as $relation) { + if ($gate->{$relation}->count() > 0) { + $foundRelation = true; + $items = $gate->{$relation}()->paginate($perPage); + foreach ($items as $item) { + $data[] = [ + 'id' => $item->id, + 'title' => $item->title, + 'number' => $item->number, + 'type' => $relation, + 'is_locked' => auth()->user()->isSubscriber() !== false ? false : Law::where('is_locked', $item->law_id)->first()?->is_locked + ]; + } + break; + } + } + + if ($foundRelation) { + return $this->success($data, 'Success'); + } else { + return $this->success([], 'No relations found'); + } + } + + if ($volumeId) { + $volume = Volum::with(['book', 'divisions', 'sections', 'gates', 'parts', 'chapters', 'branchs']) + ->find($volumeId); + + if (!$volume) { + return $this->success([], 'Volume not found'); + } + + $data = []; + $foundRelation = false; + foreach (['book', 'divisions', 'sections', 'chapters', 'parts', 'gates', 'branchs'] as $relation) { + if ($volume->{$relation}->count() > 0) { + $foundRelation = true; + $items = $volume->{$relation}()->paginate($perPage); + foreach ($items as $item) { + $data[] = [ + 'id' => $item->id, + 'title' => $item->title, + 'number' => $item->number, + 'type' => $relation, + 'is_locked' => auth()->user()->isSubscriber() !== false ? false : Law::where('is_locked', $item->law_id)->first()?->is_locked + ]; + } + break; + } + } + + if ($foundRelation) { + return $this->success($data, 'Success'); + } else { + return $this->success([], 'No relations found'); + } + } + + if ($law_Id) { + $law = Law::find($law_Id); + + if (!$law) { + return $this->success([], 'Law not found'); + } + + $arts = Volum::query() + ->where('law_id', $law->id) + ->get(); + + + RecentArt::query()->updateOrCreate([ + 'user_id' => auth()->user()->id, + 'law_id' => $law_Id + ], [ + 'user_id' => auth()->user()->id, + 'law_id' => $law_Id + ]); + + + $data = []; + + if (count($arts) > 0) { + foreach ($arts as $item) { + $data[] = [ + 'id' => $item->id, + 'title' => $item->title, + 'number' => $item->number, + 'type' => 'volume', + 'is_locked' => auth()->user()->isSubscriber() !== false ? false : Law::where('is_locked', $item->law_id)->first()?->is_locked + ]; + } + return $this->success($data, 'Success'); + } + + $data = []; + + $arts = Art::query() + ->where('law_id', $law->id) + ->where('section_id', null) + ->where('gate_id', null) + ->where('part_id', null) + ->where('chapter_id', null) + ->where('book_id', null) + ->where('volum_id', null) + ->get(); + + foreach ($arts as $item) { + $data[] = [ + 'id' => $item->id, + 'title' => $item->title, + 'number' => $item->number, + 'type' => 'art', + 'is_locked' => auth()->user()->isSubscriber() !== false ? false : Law::where('is_locked', $item->law_id)->first()?->is_locked + ]; + } + return $this->success($data, 'Success'); + } + + return $this->success([], 'No law or book or volume specified'); + } + + public function check_filter(CheckBookFilterRequest $request) + { + $filters = [ + 'category_id' => [ + 'model' => Law::class, + 'foreign_key' => 'category_id', + 'type' => (new Law)->getTable(), + 'check_mode' => Volum::class, + 'check_key' => 'law_id', + ], + 'law_id' => [ + 'model' => Volum::class, + 'foreign_key' => 'law_id', + 'type' => (new Volum)->getTable(), + 'check_mode' => Book::class, + 'check_key' => 'volum_id', + + ], + 'volume_id' => [ + 'model' => Book::class, + 'foreign_key' => 'volum_id', + 'type' => (new Book)->getTable(), + 'check_mode' => Division::class, + 'check_key' => 'book_id', + ], + 'book_id' => [ + 'model' => Division::class, + 'foreign_key' => 'book_id', + 'type' => (new Division)->getTable(), + 'check_mode' => Section::class, + 'check_key' => 'division_id', + ], + 'division_id' => [ + 'model' => Section::class, + 'foreign_key' => 'division_id', + 'type' => 'sections', + 'check_mode' => Chapter::class, + 'check_key' => 'section_id', + ], + 'section_id' => [ + 'model' => Chapter::class, + 'foreign_key' => 'section_id', + 'type' => (new Chapter)->getTable(), + 'check_mode' => Part::class, + 'check_key' => 'chapter_id', + ], + 'chapter_id' => [ + 'model' => Part::class, + 'foreign_key' => 'chapter_id', + 'type' => (new Part)->getTable(), + 'check_mode' => Gate::class, + 'check_key' => 'part_id', + ], + 'part_id' => [ + 'model' => Gate::class, + 'foreign_key' => 'part_id', + 'type' => (new Gate)->getTable(), + 'check_mode' => Branch::class, + 'check_key' => 'gate_id', + ], + 'gate_id' => [ + 'model' => Branch::class, + 'foreign_key' => 'gate_id', + 'type' => (new Branch)->getTable(), + 'check_mode' => Art::class, + 'check_key' => 'branch_id', + ], + 'branch_id' => [ + 'model' => Art::class, + 'foreign_key' => 'branch_id', + 'type' => (new Art)->getTable(), + 'check_mode' => Art::class, + 'check_key' => 'branch_id' + ] + ]; + + foreach ($filters as $filterKey => $filterInfo) { + $filterValue = $request->get($filterKey); + if ($filterValue) { + $model = $filterInfo['model']; + $foreignKey = $filterInfo['foreign_key']; + $type = $filterInfo['type']; + $check_model = $filterInfo['check_mode']; + $check_key = $filterInfo['check_key']; + + $items = $model::where($foreignKey, $filterValue)->paginate(10); + + if ($filterKey === 'category_id') { + $items = $model::whereIn('category_id', Category::where('type', $this->convertValueTo($filterValue))->get()->pluck('id'))->paginate(10); + } + + if ($foreignKey == 'branch_id') { + return $this->success([], ''); + } + + $data = $items->map(function ($item) use ($type, $check_model, $check_key) { + return [ + 'id' => $item?->id, + 'title' => $item?->title, + 'number' => $item?->number, + 'type' => $type, + 'is_end' => $check_model::where($check_key, $item?->id)->count() !== 0 ? false : true + ]; + }); + + return $this->success($data, 'Success'); + } + } + + return $this->success([], 'No law or book or volume specified'); + } + + + public function check_filter_with_art(CheckBookFilterRequest $request) + { + $lawId = $request->law_id; + $bookId = $request->book_id; + $volumeId = $request->volume_id; + $sectionId = $request->section_id; + $divisionId = $request->division_id; + $partId = $request->part_id; + $branchId = $request->branch_id; + $chapterId = $request->chapter_id; + $gateId = $request->gate_id; + $categoryId = $request->category_id; + + $perPage = $request->per_page ?? 10; + if ($categoryId) { + $categories = Category::with(['laws'])->where('type', $this->convertValueTo($categoryId))->get()->pluck('id'); + + $items = Law::query()->whereIn('category_id', $categories)->get(); + $data = []; + foreach ($items as $item) { + $data[] = [ + 'id' => $item->id, + 'title' => $item->title, + 'number' => $item->number, + 'type' => 'laws', + 'is_locked' => auth()->user()->isSubscriber() !== false ? false : Law::where('is_locked', $item->law_id)->first()?->is_locked, + 'image' => $item?->image, + 'law' => $item?->title, + 'count_art' => $item->arts->count(), + 'count_volums' => $item->volums->count(), + 'price' => $item->price, + ]; + } + + return $this->success($data, 'Success'); + } + + if ($lawId) { + $law = Law::with(['volums', 'divisions', 'sections', 'gates', 'parts', 'chapters', 'branchs', 'arts'])->find($lawId); + if (!$law) { + return $this->success([], 'Law not found'); + } + + $data = $this->checkRelations($law, ['volums', 'book', 'divisions', 'sections', 'gates', 'parts', 'chapters', 'branchs', 'arts'], $perPage); + if ($data) { + return $this->success($data, 'Success'); + } + + return $this->success([], 'No related records found in the law'); + } + + + if ($bookId) { + $book = Book::with(['divisions', 'sections', 'gates', 'parts', 'chapters', 'branchs', 'art'])->find($bookId); + if (!$book) { + return $this->success([], 'Book not found'); + } + + $data = $this->checkRelations($book, ['divisions', 'sections', 'gates', 'parts', 'chapters', 'branchs', 'art'], $perPage); + if ($data) { + return $this->success($data, 'Success'); + } + + return $this->success([], 'No related records found in the book'); + } + + if ($volumeId) { + $volume = Volum::with(['book', 'divisions', 'sections', 'gates', 'parts', 'chapters', 'branchs', 'art'])->find($volumeId); + if (!$volume) { + return $this->success([], 'Volume not found'); + } + + $data = $this->checkRelations($volume, ['book', 'divisions', 'sections', 'gates', 'parts', 'chapters', 'branchs', 'art'], $perPage); + if ($data) { + return $this->success($data, 'Success'); + } + + return $this->success([], 'No related records found in the volume'); + } + + if ($sectionId) { + $section = Section::with(['gates', 'parts', 'chapters', 'branchs', 'art'])->find($sectionId); + if (!$section) { + return $this->success([], 'Section not found'); + } + + $data = $this->checkRelations($section, ['gates', 'parts', 'chapters', 'branchs', 'art'], $perPage); + if ($data) { + return $this->success($data, 'Success'); + } + + return $this->success([], 'No related records found in the section'); + } + + if ($divisionId) { + $division = Division::with(['gates', 'parts', 'chapters', 'branchs', 'art'])->find($divisionId); + if (!$division) { + return $this->success([], 'Division not found'); + } + + $data = $this->checkRelations($division, ['gates', 'parts', 'chapters', 'branchs', 'art'], $perPage); + if ($data) { + return $this->success($data, 'Success'); + } + + return $this->success([], 'No related records found in the division'); + } + + if ($partId) { + $part = Part::with(['gates', 'art'])->find($partId); + if (!$part) { + return $this->success([], 'Part not found'); + } + + $data = $this->checkRelations($part, ['gates', 'art'], $perPage); + if ($data) { + return $this->success($data, 'Success'); + } + + return $this->success([], 'No related records found in the part'); + } + + if ($branchId) { + $branch = Branch::with(['gates', 'chapters', 'art'])->find($branchId); + if (!$branch) { + return $this->success([], 'Branch not found'); + } + + $data = $this->checkRelations($branch, ['gates', 'chapters', 'art'], $perPage); + if ($data) { + return $this->success($data, 'Success'); + } + + return $this->success([], 'No related records found in the branch'); + } + + if ($chapterId) { + $chapter = Chapter::with(['gate', 'parts', 'art'])->find($chapterId); + if (!$chapter) { + return $this->success([], 'Chapter not found'); + } + + $data = $this->checkRelations($chapter, ['gate', 'parts', 'art'], $perPage); + if ($data) { + return $this->success($data, 'Success'); + } + + return $this->success([], 'No related records found in the chapter'); + } + + if ($gateId) { + $gate = Gate::with(['art'])->find($gateId); + if (!$gate) { + return $this->success([], 'Gate not found'); + } + + $data = $this->checkRelations($gate, ['art'], $perPage); + if ($data) { + return $this->success($data, 'Success'); + } + + return $this->success([], 'No related records found in the gate'); + } + + return $this->success([], 'No valid filter specified'); + } + + + private function prepareItemsData($items, $type) + { + $data = []; + foreach ($items as $item) { + $law = Law::find($item->law_id); + $data[] = [ + 'id' => $item->id, + 'title' => $item->title, + 'number' => $item->number, + 'type' => $type, + 'route' => $this->route($item, $item), + 'is_locked' => auth()->user()->isSubscriber() !== false ? false : Law::where('is_locked', $item->law_id)->first()?->is_locked, + 'law' => $law?->title, + 'image' => $law?->image, + 'count_art' => $law?->arts?->count() ?? 0, + 'count_volums' => $law?->volums?->count() ?? 0, + 'price' => $law?->price, + ]; + } + return $data; + } + + private function checkRelations($model, $relations, $perPage) + { + foreach ($relations as $relation) { + if ($model->{$relation} && $model->{$relation}->count() > 0) { + $items = $model->{$relation}()->paginate($perPage); + return $this->prepareItemsData($items, $relation); + } + } + return null; + } + + + private function convertValueTo($var) + { + switch ($var) { + case 1: + return 'hagigi'; + break; + case 2: + return 'kifari'; + break; + + default: + return 'kifari'; + break; + } + } + + private function route($modelClass, $query) + { + $route = []; + switch ((new $modelClass)->getTable()) { + case 'laws': + $route = array_filter([ + Law::find($query->id)?->title + ]); + break; + case 'volums': + $route = array_filter([ + Law::find($query->law_id)?->title, + Volum::find($query->id)?->title + ]); + break; + case 'books': + $route = array_filter([ + Law::find($query->law_id)?->title, + Volum::find($query->volum_id)?->title, + ]); + break; + case 'divisions': + $route = array_filter([ + Law::find($query->law_id)?->title, + Volum::find($query->volum_id)?->title, + Book::find($query->book_id)?->title, + ]); + break; + case 'sections': + $route = array_filter([ + Law::find($query->law_id)?->title, + Volum::find($query->volum_id)?->title, + Book::find($query->book_id)?->title, + Division::find($query->division_id)?->title, + ]); + break; + case 'chapters': + $route = array_filter([ + Law::find($query->law_id)?->title, + Volum::find($query->volum_id)?->title, + Book::find($query->book_id)?->title, + Division::find($query->division_id)?->title, + Section::find($query->section_id)?->title, + ]); + break; + case 'parts': + $route = array_filter([ + Law::find($query->law_id)?->title, + Volum::find($query->volum_id)?->title, + Book::find($query->book_id)?->title, + Division::find($query->division_id)?->title, + Section::find($query->section_id)?->title, + Chapter::find($query->chapter_id)?->title, + ]); + break; + case 'gates': + $route = array_filter([ + Law::find($query->law_id)?->title, + Volum::find($query->volum_id)?->title, + Book::find($query->book_id)?->title, + Division::find($query->division_id)?->title, + Section::find($query->section_id)?->title, + Chapter::find($query->chapter_id)?->title, + Part::find($query->part_id)?->title, + ]); + break; + case 'branches': + $route = array_filter([ + Law::find($query->law_id)?->title, + Volum::find($query->volum_id)?->title, + Book::find($query->book_id)?->title, + Division::find($query->division_id)?->title, + Section::find($query->section_id)?->title, + Chapter::find($query->chapter_id)?->title, + Part::find($query->part_id)?->title, + Gate::find($query->gate_id)?->title, + ]); + break; + case 'art': + $route = array_filter([ + Law::find($query->law_id)?->title, + Volum::find($query->volum_id)?->title, + Book::find($query->book_id)?->title, + Division::find($query->division_id)?->title, + Section::find($query->section_id)?->title, + Chapter::find($query->chapter_id)?->title, + Part::find($query->part_id)?->title, + Gate::find($query->gate_id)?->title, + Branch::find($query->branch_id)?->title, + ]); + break; + default: + $route = []; + break; + } + + return array_values($route); + } +} diff --git a/app/Http/Kernel.php b/app/Http/Kernel.php new file mode 100644 index 0000000..494c050 --- /dev/null +++ b/app/Http/Kernel.php @@ -0,0 +1,68 @@ + + */ + protected $middleware = [ + // \App\Http\Middleware\TrustHosts::class, + \App\Http\Middleware\TrustProxies::class, + \Illuminate\Http\Middleware\HandleCors::class, + \App\Http\Middleware\PreventRequestsDuringMaintenance::class, + \Illuminate\Foundation\Http\Middleware\ValidatePostSize::class, + \App\Http\Middleware\TrimStrings::class, + \Illuminate\Foundation\Http\Middleware\ConvertEmptyStringsToNull::class, + ]; + + /** + * The application's route middleware groups. + * + * @var array> + */ + protected $middlewareGroups = [ + 'web' => [ + \App\Http\Middleware\EncryptCookies::class, + \Illuminate\Cookie\Middleware\AddQueuedCookiesToResponse::class, + \Illuminate\Session\Middleware\StartSession::class, + \Illuminate\View\Middleware\ShareErrorsFromSession::class, + \App\Http\Middleware\VerifyCsrfToken::class, + \Illuminate\Routing\Middleware\SubstituteBindings::class, + ], + + 'api' => [ + // \Laravel\Sanctum\Http\Middleware\EnsureFrontendRequestsAreStateful::class, + \Illuminate\Routing\Middleware\ThrottleRequests::class.':api', + \Illuminate\Routing\Middleware\SubstituteBindings::class, + ], + ]; + + /** + * The application's middleware aliases. + * + * Aliases may be used instead of class names to conveniently assign middleware to routes and groups. + * + * @var array + */ + protected $middlewareAliases = [ + 'auth' => \App\Http\Middleware\Authenticate::class, + 'auth.basic' => \Illuminate\Auth\Middleware\AuthenticateWithBasicAuth::class, + 'auth.session' => \Illuminate\Session\Middleware\AuthenticateSession::class, + 'cache.headers' => \Illuminate\Http\Middleware\SetCacheHeaders::class, + 'can' => \Illuminate\Auth\Middleware\Authorize::class, + 'guest' => \App\Http\Middleware\RedirectIfAuthenticated::class, + 'password.confirm' => \Illuminate\Auth\Middleware\RequirePassword::class, + 'precognitive' => \Illuminate\Foundation\Http\Middleware\HandlePrecognitiveRequests::class, + 'signed' => \App\Http\Middleware\ValidateSignature::class, + 'throttle' => \Illuminate\Routing\Middleware\ThrottleRequests::class, + 'verified' => \Illuminate\Auth\Middleware\EnsureEmailIsVerified::class, + ]; +} diff --git a/app/Http/Middleware/Authenticate.php b/app/Http/Middleware/Authenticate.php new file mode 100644 index 0000000..d4ef644 --- /dev/null +++ b/app/Http/Middleware/Authenticate.php @@ -0,0 +1,17 @@ +expectsJson() ? null : route('login'); + } +} diff --git a/app/Http/Middleware/EncryptCookies.php b/app/Http/Middleware/EncryptCookies.php new file mode 100644 index 0000000..867695b --- /dev/null +++ b/app/Http/Middleware/EncryptCookies.php @@ -0,0 +1,17 @@ + + */ + protected $except = [ + // + ]; +} diff --git a/app/Http/Middleware/PreventRequestsDuringMaintenance.php b/app/Http/Middleware/PreventRequestsDuringMaintenance.php new file mode 100644 index 0000000..74cbd9a --- /dev/null +++ b/app/Http/Middleware/PreventRequestsDuringMaintenance.php @@ -0,0 +1,17 @@ + + */ + protected $except = [ + // + ]; +} diff --git a/app/Http/Middleware/RedirectIfAuthenticated.php b/app/Http/Middleware/RedirectIfAuthenticated.php new file mode 100644 index 0000000..afc78c4 --- /dev/null +++ b/app/Http/Middleware/RedirectIfAuthenticated.php @@ -0,0 +1,30 @@ +check()) { + return redirect(RouteServiceProvider::HOME); + } + } + + return $next($request); + } +} diff --git a/app/Http/Middleware/TrimStrings.php b/app/Http/Middleware/TrimStrings.php new file mode 100644 index 0000000..88cadca --- /dev/null +++ b/app/Http/Middleware/TrimStrings.php @@ -0,0 +1,19 @@ + + */ + protected $except = [ + 'current_password', + 'password', + 'password_confirmation', + ]; +} diff --git a/app/Http/Middleware/TrustHosts.php b/app/Http/Middleware/TrustHosts.php new file mode 100644 index 0000000..c9c58bd --- /dev/null +++ b/app/Http/Middleware/TrustHosts.php @@ -0,0 +1,20 @@ + + */ + public function hosts(): array + { + return [ + $this->allSubdomainsOfApplicationUrl(), + ]; + } +} diff --git a/app/Http/Middleware/TrustProxies.php b/app/Http/Middleware/TrustProxies.php new file mode 100644 index 0000000..3391630 --- /dev/null +++ b/app/Http/Middleware/TrustProxies.php @@ -0,0 +1,28 @@ +|string|null + */ + protected $proxies; + + /** + * The headers that should be used to detect proxies. + * + * @var int + */ + protected $headers = + Request::HEADER_X_FORWARDED_FOR | + Request::HEADER_X_FORWARDED_HOST | + Request::HEADER_X_FORWARDED_PORT | + Request::HEADER_X_FORWARDED_PROTO | + Request::HEADER_X_FORWARDED_AWS_ELB; +} diff --git a/app/Http/Middleware/ValidateSignature.php b/app/Http/Middleware/ValidateSignature.php new file mode 100644 index 0000000..093bf64 --- /dev/null +++ b/app/Http/Middleware/ValidateSignature.php @@ -0,0 +1,22 @@ + + */ + protected $except = [ + // 'fbclid', + // 'utm_campaign', + // 'utm_content', + // 'utm_medium', + // 'utm_source', + // 'utm_term', + ]; +} diff --git a/app/Http/Middleware/VerifyCsrfToken.php b/app/Http/Middleware/VerifyCsrfToken.php new file mode 100644 index 0000000..9e86521 --- /dev/null +++ b/app/Http/Middleware/VerifyCsrfToken.php @@ -0,0 +1,17 @@ + + */ + protected $except = [ + // + ]; +} diff --git a/app/Http/Requests/AuthRequest.php b/app/Http/Requests/AuthRequest.php new file mode 100644 index 0000000..b961d8e --- /dev/null +++ b/app/Http/Requests/AuthRequest.php @@ -0,0 +1,23 @@ + 'required', + ]; + } +} diff --git a/app/Http/Requests/BookRequest.php b/app/Http/Requests/BookRequest.php new file mode 100644 index 0000000..8b804f2 --- /dev/null +++ b/app/Http/Requests/BookRequest.php @@ -0,0 +1,26 @@ + 'required', + // 'book_id' => 'required', + 'per_page' => 'nullable|numeric', + 'page' => 'nullable|numeric', + ]; + } +} diff --git a/app/Http/Requests/ChapterRequest.php b/app/Http/Requests/ChapterRequest.php new file mode 100644 index 0000000..4910ddc --- /dev/null +++ b/app/Http/Requests/ChapterRequest.php @@ -0,0 +1,26 @@ + 'required', + 'per_page' => 'nullable|numeric', + 'page' => 'nullable|numeric', + ]; + } +} diff --git a/app/Http/Requests/CheckBookFilterRequest.php b/app/Http/Requests/CheckBookFilterRequest.php new file mode 100644 index 0000000..1192a53 --- /dev/null +++ b/app/Http/Requests/CheckBookFilterRequest.php @@ -0,0 +1,34 @@ + 'nullable', + 'book_id' => 'nullable', + 'volume_id' => 'nullable', + 'division_id' => 'nullable', + 'section_id' => 'nullable', + 'part_id' => 'nullable', + 'gate_id' => 'nullable', + 'law_id' => 'nullable', + 'chapter_id' => 'nullable', + 'branch_id' => 'nullable', + 'per_page' => 'nullable', + 'art_id' => 'nullable', + ]; + } +} diff --git a/app/Http/Requests/CheckBookRequest.php b/app/Http/Requests/CheckBookRequest.php new file mode 100644 index 0000000..e92e611 --- /dev/null +++ b/app/Http/Requests/CheckBookRequest.php @@ -0,0 +1,32 @@ + 'nullable', + 'volume_id' => 'nullable', + 'division_id' => 'nullable', + 'section_id' => 'nullable', + 'part_id' => 'nullable', + 'gate_id' => 'nullable', + 'law_id' => 'nullable', + 'chapter_id' => 'nullable', + 'branch_id' => 'nullable', + 'per_page' => 'nullable', + ]; + } +} diff --git a/app/Http/Requests/GetApiRequest.php b/app/Http/Requests/GetApiRequest.php new file mode 100644 index 0000000..dcff485 --- /dev/null +++ b/app/Http/Requests/GetApiRequest.php @@ -0,0 +1,23 @@ + 'required' + ]; + } +} diff --git a/app/Http/Requests/SectionRequest.php b/app/Http/Requests/SectionRequest.php new file mode 100644 index 0000000..4baa081 --- /dev/null +++ b/app/Http/Requests/SectionRequest.php @@ -0,0 +1,25 @@ + 'required', + 'per_page' => 'nullable|numeric', + 'page' => 'nullable|numeric', + ]; + } +} diff --git a/app/Http/Requests/SuggestionRequest.php b/app/Http/Requests/SuggestionRequest.php new file mode 100644 index 0000000..ddd5513 --- /dev/null +++ b/app/Http/Requests/SuggestionRequest.php @@ -0,0 +1,31 @@ +|string> + */ + public function rules(): array + { + return [ + 'text' => 'required' + ]; + } +} diff --git a/app/Http/Requests/VersionRequest.php b/app/Http/Requests/VersionRequest.php new file mode 100644 index 0000000..82123b0 --- /dev/null +++ b/app/Http/Requests/VersionRequest.php @@ -0,0 +1,24 @@ + 'required|in:ios,web,android', + 'number' => 'required|integer', + ]; + } +} diff --git a/app/Http/Requests/VolumRequest.php b/app/Http/Requests/VolumRequest.php new file mode 100644 index 0000000..05b4f6c --- /dev/null +++ b/app/Http/Requests/VolumRequest.php @@ -0,0 +1,25 @@ + 'required', + 'per_page' => 'nullable|numeric', + 'page' => 'nullable|numeric', + ]; + } +} diff --git a/app/Http/Requests/admin/CreateVersionStore.php b/app/Http/Requests/admin/CreateVersionStore.php new file mode 100644 index 0000000..acc871e --- /dev/null +++ b/app/Http/Requests/admin/CreateVersionStore.php @@ -0,0 +1,24 @@ + 'required', + 'number' => 'required', + 'log' => 'required', + 'force_update' => 'nullable', + 'type' => 'required' + ]; + } +} diff --git a/app/Http/Requests/admin/Notification/StoreRequest.php b/app/Http/Requests/admin/Notification/StoreRequest.php new file mode 100644 index 0000000..59ca85d --- /dev/null +++ b/app/Http/Requests/admin/Notification/StoreRequest.php @@ -0,0 +1,21 @@ + 'required|string|max:255', + 'description' => 'nullable|string', + ]; + } +} diff --git a/app/Http/Requests/admin/Notification/UpdateRequest.php b/app/Http/Requests/admin/Notification/UpdateRequest.php new file mode 100644 index 0000000..ff78374 --- /dev/null +++ b/app/Http/Requests/admin/Notification/UpdateRequest.php @@ -0,0 +1,21 @@ + 'required|string|max:255', + 'description' => 'nullable|string', + ]; + } +} diff --git a/app/Http/Requests/admin/SubscribePlan/CreateRequest.php b/app/Http/Requests/admin/SubscribePlan/CreateRequest.php new file mode 100644 index 0000000..eddf9c9 --- /dev/null +++ b/app/Http/Requests/admin/SubscribePlan/CreateRequest.php @@ -0,0 +1,34 @@ +|string> + */ + public function rules(): array + { + return [ + 'name' => 'required|string', + 'price' => 'required|numeric', + 'expired_day' => 'required|integer', + 'is_active' => 'nullable', + 'is_free' => 'nullable', + 'type' => 'nullable', + 'transaction' => 'nullable' + ]; + } +} diff --git a/app/Http/Requests/admin/SubscribePlan/UpdateRequest.php b/app/Http/Requests/admin/SubscribePlan/UpdateRequest.php new file mode 100644 index 0000000..2fd1a29 --- /dev/null +++ b/app/Http/Requests/admin/SubscribePlan/UpdateRequest.php @@ -0,0 +1,34 @@ +|string> + */ + public function rules(): array + { + return [ + 'name' => 'required|string', + 'price' => 'required|numeric', + 'expired_day' => 'required|integer', + 'is_active' => 'nullable', + 'is_free' => 'nullable', + 'type' => 'nullable', + 'transaction' => 'nullable' + ]; + } +} diff --git a/app/Http/Requests/admin/UpdateVersionStore.php b/app/Http/Requests/admin/UpdateVersionStore.php new file mode 100644 index 0000000..41c0ffd --- /dev/null +++ b/app/Http/Requests/admin/UpdateVersionStore.php @@ -0,0 +1,24 @@ + 'required', + 'number' => 'required', + 'log' => 'required', + 'force_update' => 'nullable', + 'type' => 'required' + ]; + } +} diff --git a/app/Http/Requests/admin/category/CreateCategoryRequest.php b/app/Http/Requests/admin/category/CreateCategoryRequest.php new file mode 100644 index 0000000..983f5a7 --- /dev/null +++ b/app/Http/Requests/admin/category/CreateCategoryRequest.php @@ -0,0 +1,21 @@ + 'required', + 'label' => 'required', + ]; + } +} diff --git a/app/Http/Requests/admin/category/UpdateCategoryRequest.php b/app/Http/Requests/admin/category/UpdateCategoryRequest.php new file mode 100644 index 0000000..18953d9 --- /dev/null +++ b/app/Http/Requests/admin/category/UpdateCategoryRequest.php @@ -0,0 +1,21 @@ + 'required', + 'label' => 'required', + ]; + } +} diff --git a/app/Http/Requests/admin/user/CreateUserRequest.php b/app/Http/Requests/admin/user/CreateUserRequest.php new file mode 100644 index 0000000..0802ece --- /dev/null +++ b/app/Http/Requests/admin/user/CreateUserRequest.php @@ -0,0 +1,23 @@ + 'required', + 'email' => 'required|email|unique:users', + 'mobile' => 'required|unique:users', + 'is_admin' => 'nullable', + ]; + } +} diff --git a/app/Http/Requests/admin/user/UpdateUserRequest.php b/app/Http/Requests/admin/user/UpdateUserRequest.php new file mode 100644 index 0000000..38b5da2 --- /dev/null +++ b/app/Http/Requests/admin/user/UpdateUserRequest.php @@ -0,0 +1,23 @@ + 'required', + 'email' => 'required|email|unique:users', + 'mobile' => 'required|unique:users', + 'is_admin' => 'nullable', + ]; + } +} diff --git a/app/Http/Resources/ArtCollection.php b/app/Http/Resources/ArtCollection.php new file mode 100644 index 0000000..625b392 --- /dev/null +++ b/app/Http/Resources/ArtCollection.php @@ -0,0 +1,23 @@ + + */ + public function toArray(Request $request): array + { + return [ + 'id' => $this->id, + 'text' => $this->text, + 'number' => $this->number, + ]; + } +} diff --git a/app/Jobs/CheckBazaarSubscription.php b/app/Jobs/CheckBazaarSubscription.php new file mode 100644 index 0000000..b7eaee3 --- /dev/null +++ b/app/Jobs/CheckBazaarSubscription.php @@ -0,0 +1,89 @@ +userSubscriber = $userSubscriber; + } + + /** + * This is the main part of the job that does the work. + * Laravel will automatically run this 'handle' method in the background. + */ + public function handle() + { + // Get the purchase token from the subscription details we received + $purchase_token = $this->userSubscriber->purchase_token; + $package_name = 'com.razzaghi.lawbook.android'; // Your app's package name + + // If there's no purchase token, we can't do anything, so we stop. + if (!$purchase_token) { + Log::info('Job skipped: No purchase token for UserSubscriber ID: ' . $this->userSubscriber->id); + return; + } + + // This is the URL for the external subscription API + $url = "https://pardakht.cafebazaar.ir/devapi/v2/api/applications/{$package_name}/active-subscriptions/{$purchase_token}"; + + // We use a try-catch block to handle any potential errors gracefully + try { + // Make the API call using Laravel's built-in HTTP client + $response = Http::withHeaders([ + // IMPORTANT: Replace this with your actual secret key! + 'CAFEBAZAAR-PISHKHAN-API-SECRET' => 'eyJhbGciOiJIUzI1NiIsImtpZCI6ImFuY2llbnQiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJuYXNoZXItcGlzaGtoYW4tYXBpIiwiaWF0IjoxNzQwMjQ3NTMzLCJleHAiOjQ4OTM4NDc1MzMsImFwaV9hZ2VudF9pZCI6MzQ2NX0.UCrr3IHxCqn77ckxfnaubrsyCfrhPm18gJgyg1qNqwA', + ])->get($url); + + // Check if the API call was successful + if ($response->successful()) { + $data = $response->json(); + + // Check if the subscription is still valid according to the API response + if (isset($data['subscriptions'][0]['validUntilTimestampMsec']) && $data['subscriptions'][0]['validUntilTimestampMsec'] > now()->timestamp * 1000) { + + // Convert the expiration date from the API into a standard format + $bazaarExpiredAt = Carbon::createFromTimestampMs($data['subscriptions'][0]['validUntilTimestampMsec']); + + // If the expiration date in our database is different, update it + if ($this->userSubscriber->expired_at->notEqualTo($bazaarExpiredAt)) { + $this->userSubscriber->update(['expired_at' => $bazaarExpiredAt]); + Log::info('Subscription date updated for user: ' . $this->userSubscriber->user_id); + } + } else { + // If the subscription is no longer valid, update it in our database to expire now + $this->userSubscriber->update(['expired_at' => now()]); + Log::warning('Subscription found expired on Bazaar for user: ' . $this->userSubscriber->user_id); + } + } else { + // If the API call failed, log the error for debugging + Log::error('Failed to fetch subscription from Bazaar', ['status' => $response->status(), 'body' => $response->body()]); + } + + } catch (\Exception $e) { + // If something else went wrong (e.g., network error), log it + Log::error('Exception while checking Bazaar subscription', ['error' => $e->getMessage()]); + } + } +} \ No newline at end of file diff --git a/app/Models/Art.php b/app/Models/Art.php new file mode 100644 index 0000000..350f7e3 --- /dev/null +++ b/app/Models/Art.php @@ -0,0 +1,67 @@ +belongsTo(Chapter::class); + } + + public function part() + { + return $this->belongsTo(Part::class); + } + + public function volum() + { + return $this->belongsTo(Volum::class); + } + + public function law() + { + return $this->belongsTo(Law::class); + } + + public function book() + { + return $this->belongsTo(Book::class); + } + + public function section() + { + return $this->belongsTo(Section::class); + } + + public function gate() + { + return $this->belongsTo(Gate::class); + } + + public function judicialPrecedents() + { + return $this->belongsToMany(JudicialPrecedent::class, 'art_judicial_precedent'); + } + + public static function search($searchTerm) + { + return self::where('title', 'LIKE', "%{$searchTerm}%") + ->orWhere('text', 'like', "%{$searchTerm}%")->get(); + } + + public static function searchLimit($searchTerm) + { + return self::where('title', 'LIKE', "%{$searchTerm}%") + ->orWhere('text', 'like', "%{$searchTerm}%")->limit(3)->get(); + } +} diff --git a/app/Models/Book.php b/app/Models/Book.php new file mode 100644 index 0000000..d896e9e --- /dev/null +++ b/app/Models/Book.php @@ -0,0 +1,61 @@ +hasMany(Art::class); + } + + public function sections() + { + return $this->hasMany(Section::class); + } + + public function gates() + { + return $this->hasMany(Gate::class); + } + + public function parts() + { + return $this->hasMany(Part::class); + } + + public function chapters() + { + return $this->hasMany(Chapter::class); + } + + public function divisions() + { + return $this->hasMany(Division::class); + } + + public function branchs() + { + return $this->hasMany(Branch::class); + } + + + public static function searchLimit($searchTerm) + { + return self::where('title', 'LIKE', "%{$searchTerm}%")->limit(3)->get(); + } + + public static function search($searchTerm) + { + return self::where('title', 'LIKE', "%{$searchTerm}%")->get(); + } +} diff --git a/app/Models/Branch.php b/app/Models/Branch.php new file mode 100644 index 0000000..ef5f9b3 --- /dev/null +++ b/app/Models/Branch.php @@ -0,0 +1,29 @@ +hasMany(Art::class); + } + + public static function search($searchTerm) + { + return self::where('title', 'LIKE', "%{$searchTerm}%")->get(); + } + + public static function searchLimit($searchTerm) + { + return self::where('title', 'LIKE', "%{$searchTerm}%")->limit(3)->get(); + } +} diff --git a/app/Models/Category.php b/app/Models/Category.php new file mode 100644 index 0000000..973c6cd --- /dev/null +++ b/app/Models/Category.php @@ -0,0 +1,32 @@ +hasMany(Law::class); + } + + + public static function getType() + { + return [ + 'hagigi' => 'حقیقی', + 'kifari' => 'کیفری' + ]; + } +} diff --git a/app/Models/Chapter.php b/app/Models/Chapter.php new file mode 100644 index 0000000..ff33a61 --- /dev/null +++ b/app/Models/Chapter.php @@ -0,0 +1,51 @@ +hasMany(Part::class); + } + + public function gate() + { + return $this->hasMany(Gate::class); + } + + public function gates() + { + return $this->hasMany(Gate::class); + } + + + public function branch() + { + return $this->hasMany(Branch::class); + } + + public function art() + { + return $this->hasMany(Art::class); + } + + public static function search($searchTerm) + { + return self::where('title', 'LIKE', "%{$searchTerm}%")->get(); + } + + public static function searchLimit($searchTerm) + { + return self::where('title', 'LIKE', "%{$searchTerm}%")->limit(3)->get(); + } +} diff --git a/app/Models/Division.php b/app/Models/Division.php new file mode 100644 index 0000000..75acb2f --- /dev/null +++ b/app/Models/Division.php @@ -0,0 +1,71 @@ +hasMany(Section::class); + } + + public function division() + { + return $this->hasMany(Division::class); + } + + public function chapters() + { + return $this->hasMany(Chapter::class); + } + + public function parts() + { + return $this->hasMany(Part::class); + } + + public function gate() + { + return $this->hasMany(Gate::class); + } + + public function branch() + { + return $this->hasMany(Branch::class); + } + + public function art() + { + return $this->hasMany(Art::class); + } + + + public function gates() + { + return $this->hasMany(Gate::class); + } + + public static function search($searchTerm) + { + return self::where('title', 'LIKE', "%{$searchTerm}%")->get(); + } + + public function branchs() + { + return $this->hasMany(Branch::class); + } + + public static function searchLimit($searchTerm) + { + return self::where('title', 'LIKE', "%{$searchTerm}%")->limit(3)->get(); + } + +} diff --git a/app/Models/Folder.php b/app/Models/Folder.php new file mode 100644 index 0000000..614e0f8 --- /dev/null +++ b/app/Models/Folder.php @@ -0,0 +1,21 @@ +belongsToMany(Art::class, 'folder_art'); + } +} diff --git a/app/Models/FolderArt.php b/app/Models/FolderArt.php new file mode 100644 index 0000000..db606ed --- /dev/null +++ b/app/Models/FolderArt.php @@ -0,0 +1,21 @@ +belongsTo(Art::class,'art_id'); + } +} diff --git a/app/Models/Gate.php b/app/Models/Gate.php new file mode 100644 index 0000000..db50ec6 --- /dev/null +++ b/app/Models/Gate.php @@ -0,0 +1,43 @@ +hasMany(Branch::class); + } + + + public function art() + { + return $this->hasMany(Art::class); + } + + public function parts() + { + return $this->hasMany(Part::class); + } + + public static function search($searchTerm) + { + return self::where('title', 'LIKE', "%{$searchTerm}%")->get(); + } + + public static function searchLimit($searchTerm) + { + return self::where('title', 'LIKE', "%{$searchTerm}%")->limit(3)->get(); + } + + +} diff --git a/app/Models/JudicialPrecedent.php b/app/Models/JudicialPrecedent.php new file mode 100644 index 0000000..adb1510 --- /dev/null +++ b/app/Models/JudicialPrecedent.php @@ -0,0 +1,26 @@ +belongsToMany(Art::class, 'art_judicial_precedent'); + } +} diff --git a/app/Models/Law.php b/app/Models/Law.php new file mode 100644 index 0000000..75afa85 --- /dev/null +++ b/app/Models/Law.php @@ -0,0 +1,86 @@ +belongsTo(Category::class, 'category_id'); + } + + public function sections() + { + return $this->hasMany(Section::class); + } + + public function gates() + { + return $this->hasMany(Gate::class); + } + + public function parts() + { + return $this->hasMany(Part::class); + } + + public function chapters() + { + return $this->hasMany(Chapter::class); + } + + public function divisions() + { + return $this->hasMany(Division::class); + } + + public function branchs() + { + return $this->hasMany(Branch::class); + } + + public function arts() + { + return $this->hasMany(Art::class); + } + + public function volums() + { + return $this->hasMany(Volum::class); + } + + public static function search($searchTerm) + { + return self::where('title', 'LIKE', "%{$searchTerm}%")->get(); + } + + public static function searchLimit($searchTerm) + { + return self::where('title', 'LIKE', "%{$searchTerm}%")->limit(3)->get(); + } + + public function getIsLockedAttribute($value) + { + return (bool) $value; + } + + public function setIsLockedAttribute($value) + { + $this->attributes['is_locked'] = $value ? 1 : 0; + } + + public function getImageAttribute($value) + { + return $value ? secure_asset('images/' . $value) : null; + } +} diff --git a/app/Models/LikeArt.php b/app/Models/LikeArt.php new file mode 100644 index 0000000..e8e1824 --- /dev/null +++ b/app/Models/LikeArt.php @@ -0,0 +1,21 @@ +belongsTo(Art::class); + } +} diff --git a/app/Models/LikeSection.php b/app/Models/LikeSection.php new file mode 100644 index 0000000..7df88f3 --- /dev/null +++ b/app/Models/LikeSection.php @@ -0,0 +1,16 @@ +belongsToMany(User::class, 'notification_user') + ->withPivot('read_at') + ->withTimestamps(); + } + + /** + * Notifications that a user has not read (no pivot row with read_at set). + */ + public static function scopeUnreadForUser($query, $userId) + { + return $query->whereDoesntHave('users', function ($q) use ($userId) { + $q->where('user_id', $userId)->whereNotNull('notification_user.read_at'); + }); + } +} diff --git a/app/Models/Order.php b/app/Models/Order.php new file mode 100644 index 0000000..b4b7ce0 --- /dev/null +++ b/app/Models/Order.php @@ -0,0 +1,32 @@ +belongsTo(User::class); + } + + public static function getStatues() + { + return [ + 'paid' => 'پرداخت شده', + 'unpaid' => 'پرداخت نشده' + ]; + } +} diff --git a/app/Models/Part.php b/app/Models/Part.php new file mode 100644 index 0000000..d275170 --- /dev/null +++ b/app/Models/Part.php @@ -0,0 +1,42 @@ +hasMany(Gate::class); + } + + public function branch() + { + return $this->hasMany(Branch::class); + } + + public function art() + { + return $this->hasMany(Art::class); + } + + public static function search($searchTerm) + { + return self::where('title', 'LIKE', "%{$searchTerm}%")->get(); + } + + + public static function searchLimit($searchTerm) + { + return self::where('title', 'LIKE', "%{$searchTerm}%")->limit(3)->get(); + } +} diff --git a/app/Models/PaymentTransaction.php b/app/Models/PaymentTransaction.php new file mode 100644 index 0000000..b5c96ed --- /dev/null +++ b/app/Models/PaymentTransaction.php @@ -0,0 +1,30 @@ +belongsTo(User::class); + } + + public function subscribePlan() + { + return $this->belongsTo(SubscribePlan::class); + } +} diff --git a/app/Models/RecentArt.php b/app/Models/RecentArt.php new file mode 100644 index 0000000..fb35b7b --- /dev/null +++ b/app/Models/RecentArt.php @@ -0,0 +1,22 @@ +belongsTo(Law::class); + } +} diff --git a/app/Models/Section.php b/app/Models/Section.php new file mode 100644 index 0000000..92b55df --- /dev/null +++ b/app/Models/Section.php @@ -0,0 +1,63 @@ +hasMany(Chapter::class); + } + + public function parts() + { + return $this->hasMany(Part::class); + } + + public function gate() + { + return $this->hasMany(Gate::class); + } + + public function gates() + { + return $this->hasMany(Gate::class); + } + + public function branch() + { + return $this->hasMany(Branch::class); + } + + public function branchs() + { + return $this->hasMany(Branch::class); + } + + public function art() + { + return $this->hasMany(Art::class); + } + + + public static function search($searchTerm) + { + return self::where('title', 'LIKE', "%{$searchTerm}%")->get(); + } + + + public static function searchLimit($searchTerm) + { + return self::where('title', 'LIKE', "%{$searchTerm}%")->limit(3)->get(); + } +} + diff --git a/app/Models/SubscribePlan.php b/app/Models/SubscribePlan.php new file mode 100644 index 0000000..53ddf0f --- /dev/null +++ b/app/Models/SubscribePlan.php @@ -0,0 +1,31 @@ +belongsToMany(User::class, 'user_subscribers'); + } + + public function userSubscribers() + { + return $this->hasMany(UserSubscriber::class); + } +} diff --git a/app/Models/Suggestion.php b/app/Models/Suggestion.php new file mode 100644 index 0000000..278cc02 --- /dev/null +++ b/app/Models/Suggestion.php @@ -0,0 +1,21 @@ +belongsTo(User::class); + } +} diff --git a/app/Models/User.php b/app/Models/User.php new file mode 100644 index 0000000..3a002cb --- /dev/null +++ b/app/Models/User.php @@ -0,0 +1,70 @@ + 'datetime', + ]; + + protected $appends = [ + 'profile_photo_url', + ]; + + public function subscribePlans() + { + return $this->hasMany(UserSubscriber::class); + } + + public function isAdmin() + { + return $this->is_admin; + } + + public function isSubscriber() + { + return $this->subscribePlans()->where('expired_at', '>', now())->exists(); + } + + public function subscribePlan() + { + return $this->subscribePlans()->where('expired_at', '>', now())->first(); + } + + public function userSubscribers() + { + return $this->hasMany(UserSubscriber::class); + } + + public function notifications() + { + return $this->belongsToMany(Notification::class, 'notification_user') + ->withPivot('read_at') + ->withTimestamps(); + } +} diff --git a/app/Models/UserCode.php b/app/Models/UserCode.php new file mode 100644 index 0000000..71a58f3 --- /dev/null +++ b/app/Models/UserCode.php @@ -0,0 +1,19 @@ +belongsTo(SubscribePlan::class,'subscribe_plan_id'); + } + + public function user() + { + return $this->belongsTo(User::class); + } + + public function getExpiredDayAttribute() + { + return $this->expired_at->diffInDays(now()); + } + + protected $casts = [ + 'expired_at' => 'datetime', + ]; +} diff --git a/app/Models/Version.php b/app/Models/Version.php new file mode 100644 index 0000000..a8e7769 --- /dev/null +++ b/app/Models/Version.php @@ -0,0 +1,25 @@ +belongsTo(Law::class); + } + public function book() + { + return $this->hasMany(Book::class); + } + public function sections() + { + return $this->hasMany(Section::class); + } + + public function gates() + { + return $this->hasMany(Gate::class); + } + + public function parts() + { + return $this->hasMany(Part::class); + } + + public function chapters() + { + return $this->hasMany(Chapter::class); + } + + public function divisions() + { + return $this->hasMany(Division::class); + } + + public function branchs() + { + return $this->hasMany(Branch::class); + } + + public function art() + { + return $this->hasMany(Art::class); + } + + public static function search($searchTerm) + { + return self::where('title', 'LIKE', "%{$searchTerm}%")->get(); + } + + public static function searchLimit($searchTerm) + { + return self::where('title', 'LIKE', "%{$searchTerm}%")->limit(3)->get(); + } +} diff --git a/app/Providers/AppServiceProvider.php b/app/Providers/AppServiceProvider.php new file mode 100644 index 0000000..1bb9a8b --- /dev/null +++ b/app/Providers/AppServiceProvider.php @@ -0,0 +1,25 @@ + + */ + protected $policies = [ + // + ]; + + /** + * Register any authentication / authorization services. + */ + public function boot(): void + { + // + } +} diff --git a/app/Providers/BroadcastServiceProvider.php b/app/Providers/BroadcastServiceProvider.php new file mode 100644 index 0000000..2be04f5 --- /dev/null +++ b/app/Providers/BroadcastServiceProvider.php @@ -0,0 +1,19 @@ +> + */ + protected $listen = [ + Registered::class => [ + SendEmailVerificationNotification::class, + ], + ]; + + /** + * Register any events for your application. + */ + public function boot(): void + { + // + } + + /** + * Determine if events and listeners should be automatically discovered. + */ + public function shouldDiscoverEvents(): bool + { + return false; + } +} diff --git a/app/Providers/FortifyServiceProvider.php b/app/Providers/FortifyServiceProvider.php new file mode 100644 index 0000000..2d741e3 --- /dev/null +++ b/app/Providers/FortifyServiceProvider.php @@ -0,0 +1,46 @@ +input(Fortify::username())).'|'.$request->ip()); + + return Limit::perMinute(5)->by($throttleKey); + }); + + RateLimiter::for('two-factor', function (Request $request) { + return Limit::perMinute(5)->by($request->session()->get('login.id')); + }); + } +} diff --git a/app/Providers/JetstreamServiceProvider.php b/app/Providers/JetstreamServiceProvider.php new file mode 100644 index 0000000..9139849 --- /dev/null +++ b/app/Providers/JetstreamServiceProvider.php @@ -0,0 +1,43 @@ +configurePermissions(); + + Jetstream::deleteUsersUsing(DeleteUser::class); + } + + /** + * Configure the permissions that are available within the application. + */ + protected function configurePermissions(): void + { + Jetstream::defaultApiTokenPermissions(['read']); + + Jetstream::permissions([ + 'create', + 'read', + 'update', + 'delete', + ]); + } +} diff --git a/app/Providers/RouteServiceProvider.php b/app/Providers/RouteServiceProvider.php new file mode 100644 index 0000000..025e874 --- /dev/null +++ b/app/Providers/RouteServiceProvider.php @@ -0,0 +1,40 @@ +by($request->user()?->id ?: $request->ip()); + }); + + $this->routes(function () { + Route::middleware('api') + ->prefix('api') + ->group(base_path('routes/api.php')); + + Route::middleware('web') + ->group(base_path('routes/web.php')); + }); + } +} diff --git a/app/Traits/BaseApiResponse.php b/app/Traits/BaseApiResponse.php new file mode 100644 index 0000000..5c1b083 --- /dev/null +++ b/app/Traits/BaseApiResponse.php @@ -0,0 +1,28 @@ + $title, 'message' => $message] : null; + + return response()->json([ + 'result' => $data, + 'status' => true, + 'alert' => $alert, + ], $code); + } + + public function failed(mixed $data = [], $message = null, int $code = 500): JsonResponse + { + return response()->json([ + 'result' => $data, + 'status' => false, + 'alert' => $message, + ], $code); + } +} diff --git a/app/Traits/FailValidation.php b/app/Traits/FailValidation.php new file mode 100644 index 0000000..a5d59c5 --- /dev/null +++ b/app/Traits/FailValidation.php @@ -0,0 +1,21 @@ +json([ + 'result' => null, + 'status' => false, + 'alert' => [ + 'title' => 'Error', + 'message' => 'validation error , please fill data currently', + ], + ], 400)); + } +} 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 @@ +make(Illuminate\Contracts\Console\Kernel::class); + +$status = $kernel->handle( + $input = new Symfony\Component\Console\Input\ArgvInput, + new Symfony\Component\Console\Output\ConsoleOutput +); + +/* +|-------------------------------------------------------------------------- +| Shutdown The Application +|-------------------------------------------------------------------------- +| +| Once Artisan has finished running, we will fire off the shutdown events +| so that any final work may be done by the application before we shut +| down the process. This is the last thing to happen to the request. +| +*/ + +$kernel->terminate($input, $status); + +exit($status); diff --git a/bootstrap/app.php b/bootstrap/app.php new file mode 100644 index 0000000..037e17d --- /dev/null +++ b/bootstrap/app.php @@ -0,0 +1,55 @@ +singleton( + Illuminate\Contracts\Http\Kernel::class, + App\Http\Kernel::class +); + +$app->singleton( + Illuminate\Contracts\Console\Kernel::class, + App\Console\Kernel::class +); + +$app->singleton( + Illuminate\Contracts\Debug\ExceptionHandler::class, + App\Exceptions\Handler::class +); + +/* +|-------------------------------------------------------------------------- +| Return The Application +|-------------------------------------------------------------------------- +| +| This script returns the application instance. The instance is given to +| the calling script so we can separate the building of the instances +| from the actual running of the application and sending responses. +| +*/ + +return $app; diff --git a/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/composer.json b/composer.json new file mode 100644 index 0000000..add4c29 --- /dev/null +++ b/composer.json @@ -0,0 +1,70 @@ +{ + "name": "laravel/laravel", + "type": "project", + "description": "The skeleton application for the Laravel framework.", + "keywords": ["laravel", "framework"], + "license": "MIT", + "require": { + "php": "^8.1", + "guzzlehttp/guzzle": "^7.2", + "laravel/framework": "^10.10", + "laravel/jetstream": "^4.2", + "laravel/sanctum": "^3.3", + "laravel/tinker": "^2.8", + "livewire/livewire": "^3.0", + "shetabit/payment": "^5.8" + }, + "require-dev": { + "barryvdh/laravel-debugbar": "^3.10", + "fakerphp/faker": "^1.9.1", + "laravel/pint": "^1.14", + "laravel/sail": "^1.18", + "mockery/mockery": "^1.4.4", + "nunomaduro/collision": "^7.0", + "phpunit/phpunit": "^10.1", + "spatie/laravel-ignition": "^2.0" + }, + "autoload": { + "psr-4": { + "App\\": "app/", + "Database\\Factories\\": "database/factories/", + "Database\\Seeders\\": "database/seeders/" + } + }, + "autoload-dev": { + "psr-4": { + "Tests\\": "tests/" + } + }, + "scripts": { + "post-autoload-dump": [ + "Illuminate\\Foundation\\ComposerScripts::postAutoloadDump", + "@php artisan package:discover --ansi" + ], + "post-update-cmd": [ + "@php artisan vendor:publish --tag=laravel-assets --ansi --force" + ], + "post-root-package-install": [ + "@php -r \"file_exists('.env') || copy('.env.example', '.env');\"" + ], + "post-create-project-cmd": [ + "@php artisan key:generate --ansi" + ] + }, + "extra": { + "laravel": { + "dont-discover": [] + } + }, + "config": { + "optimize-autoloader": true, + "preferred-install": "dist", + "sort-packages": true, + "allow-plugins": { + "pestphp/pest-plugin": true, + "php-http/discovery": true + } + }, + "minimum-stability": "stable", + "prefer-stable": true +} diff --git a/composer.lock b/composer.lock new file mode 100644 index 0000000..86d5208 --- /dev/null +++ b/composer.lock @@ -0,0 +1,9169 @@ +{ + "_readme": [ + "This file locks the dependencies of your project to a known state", + "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", + "This file is @generated automatically" + ], + "content-hash": "2df8864d5a81b1a5d9c1b00d2483d6b5", + "packages": [ + { + "name": "bacon/bacon-qr-code", + "version": "2.0.8", + "source": { + "type": "git", + "url": "https://github.com/Bacon/BaconQrCode.git", + "reference": "8674e51bb65af933a5ffaf1c308a660387c35c22" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/Bacon/BaconQrCode/zipball/8674e51bb65af933a5ffaf1c308a660387c35c22", + "reference": "8674e51bb65af933a5ffaf1c308a660387c35c22", + "shasum": "" + }, + "require": { + "dasprid/enum": "^1.0.3", + "ext-iconv": "*", + "php": "^7.1 || ^8.0" + }, + "require-dev": { + "phly/keep-a-changelog": "^2.1", + "phpunit/phpunit": "^7 | ^8 | ^9", + "spatie/phpunit-snapshot-assertions": "^4.2.9", + "squizlabs/php_codesniffer": "^3.4" + }, + "suggest": { + "ext-imagick": "to generate QR code images" + }, + "type": "library", + "autoload": { + "psr-4": { + "BaconQrCode\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-2-Clause" + ], + "authors": [ + { + "name": "Ben Scholzen 'DASPRiD'", + "email": "mail@dasprids.de", + "homepage": "https://dasprids.de/", + "role": "Developer" + } + ], + "description": "BaconQrCode is a QR code generator for PHP.", + "homepage": "https://github.com/Bacon/BaconQrCode", + "support": { + "issues": "https://github.com/Bacon/BaconQrCode/issues", + "source": "https://github.com/Bacon/BaconQrCode/tree/2.0.8" + }, + "time": "2022-12-07T17:46:57+00:00" + }, + { + "name": "brick/math", + "version": "0.11.0", + "source": { + "type": "git", + "url": "https://github.com/brick/math.git", + "reference": "0ad82ce168c82ba30d1c01ec86116ab52f589478" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/brick/math/zipball/0ad82ce168c82ba30d1c01ec86116ab52f589478", + "reference": "0ad82ce168c82ba30d1c01ec86116ab52f589478", + "shasum": "" + }, + "require": { + "php": "^8.0" + }, + "require-dev": { + "php-coveralls/php-coveralls": "^2.2", + "phpunit/phpunit": "^9.0", + "vimeo/psalm": "5.0.0" + }, + "type": "library", + "autoload": { + "psr-4": { + "Brick\\Math\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "description": "Arbitrary-precision arithmetic library", + "keywords": [ + "Arbitrary-precision", + "BigInteger", + "BigRational", + "arithmetic", + "bigdecimal", + "bignum", + "brick", + "math" + ], + "support": { + "issues": "https://github.com/brick/math/issues", + "source": "https://github.com/brick/math/tree/0.11.0" + }, + "funding": [ + { + "url": "https://github.com/BenMorel", + "type": "github" + } + ], + "time": "2023-01-15T23:15:59+00:00" + }, + { + "name": "carbonphp/carbon-doctrine-types", + "version": "2.1.0", + "source": { + "type": "git", + "url": "https://github.com/CarbonPHP/carbon-doctrine-types.git", + "reference": "99f76ffa36cce3b70a4a6abce41dba15ca2e84cb" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/CarbonPHP/carbon-doctrine-types/zipball/99f76ffa36cce3b70a4a6abce41dba15ca2e84cb", + "reference": "99f76ffa36cce3b70a4a6abce41dba15ca2e84cb", + "shasum": "" + }, + "require": { + "php": "^7.4 || ^8.0" + }, + "conflict": { + "doctrine/dbal": "<3.7.0 || >=4.0.0" + }, + "require-dev": { + "doctrine/dbal": "^3.7.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/2.1.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": "2023-12-11T17:09:12+00:00" + }, + { + "name": "chillerlan/php-cache", + "version": "5.1.0", + "source": { + "type": "git", + "url": "https://github.com/chillerlan/php-cache.git", + "reference": "35f1596660c49078edb01ddc8fedd259239ed3a6" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/chillerlan/php-cache/zipball/35f1596660c49078edb01ddc8fedd259239ed3a6", + "reference": "35f1596660c49078edb01ddc8fedd259239ed3a6", + "shasum": "" + }, + "require": { + "chillerlan/php-settings-container": "^3.1", + "php": "^8.1", + "psr/log": "^1.1 || ^2.0 || ^3.0", + "psr/simple-cache": "^2.0 || ^3.0" + }, + "provide": { + "psr/simple-cache-implementation": "2.0 || 3.0" + }, + "require-dev": { + "phan/phan": "^5.4", + "phpmd/phpmd": "^2.15", + "phpunit/phpunit": "^10.5", + "squizlabs/php_codesniffer": "^3.9" + }, + "type": "library", + "autoload": { + "psr-4": { + "chillerlan\\SimpleCache\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Smiley", + "email": "smiley@chillerlan.net", + "homepage": "https://github.com/codemasher" + }, + { + "name": "Contributors", + "homepage": "https://github.com/chillerlan/php-cache/graphs/contributors" + } + ], + "description": "A psr/simple-cache implementation. PHP 8.1+", + "homepage": "https://github.com/chillerlan/php-cache", + "keywords": [ + "cache", + "php8", + "psr-16" + ], + "support": { + "issues": "https://github.com/chillerlan/php-cache/issues", + "source": "https://github.com/chillerlan/php-cache" + }, + "funding": [ + { + "url": "https://www.paypal.com/donate?hosted_button_id=WLYUNAT9ZTJZ4", + "type": "custom" + }, + { + "url": "https://ko-fi.com/codemasher", + "type": "ko_fi" + } + ], + "time": "2024-02-25T16:01:12+00:00" + }, + { + "name": "chillerlan/php-settings-container", + "version": "3.2.0", + "source": { + "type": "git", + "url": "https://github.com/chillerlan/php-settings-container.git", + "reference": "8f93648fac8e6bacac8e00a8d325eba4950295e6" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/chillerlan/php-settings-container/zipball/8f93648fac8e6bacac8e00a8d325eba4950295e6", + "reference": "8f93648fac8e6bacac8e00a8d325eba4950295e6", + "shasum": "" + }, + "require": { + "ext-json": "*", + "php": "^8.1" + }, + "require-dev": { + "phan/phan": "^5.4", + "phpmd/phpmd": "^2.15", + "phpunit/phpunit": "^10.5", + "squizlabs/php_codesniffer": "^3.9" + }, + "type": "library", + "autoload": { + "psr-4": { + "chillerlan\\Settings\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Smiley", + "email": "smiley@chillerlan.net", + "homepage": "https://github.com/codemasher" + } + ], + "description": "A container class for immutable settings objects. Not a DI container.", + "homepage": "https://github.com/chillerlan/php-settings-container", + "keywords": [ + "Settings", + "configuration", + "container", + "helper" + ], + "support": { + "issues": "https://github.com/chillerlan/php-settings-container/issues", + "source": "https://github.com/chillerlan/php-settings-container" + }, + "funding": [ + { + "url": "https://www.paypal.com/donate?hosted_button_id=WLYUNAT9ZTJZ4", + "type": "custom" + }, + { + "url": "https://ko-fi.com/codemasher", + "type": "ko_fi" + } + ], + "time": "2024-03-02T20:07:15+00:00" + }, + { + "name": "dasprid/enum", + "version": "1.0.5", + "source": { + "type": "git", + "url": "https://github.com/DASPRiD/Enum.git", + "reference": "6faf451159fb8ba4126b925ed2d78acfce0dc016" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/DASPRiD/Enum/zipball/6faf451159fb8ba4126b925ed2d78acfce0dc016", + "reference": "6faf451159fb8ba4126b925ed2d78acfce0dc016", + "shasum": "" + }, + "require": { + "php": ">=7.1 <9.0" + }, + "require-dev": { + "phpunit/phpunit": "^7 | ^8 | ^9", + "squizlabs/php_codesniffer": "*" + }, + "type": "library", + "autoload": { + "psr-4": { + "DASPRiD\\Enum\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-2-Clause" + ], + "authors": [ + { + "name": "Ben Scholzen 'DASPRiD'", + "email": "mail@dasprids.de", + "homepage": "https://dasprids.de/", + "role": "Developer" + } + ], + "description": "PHP 7.1 enum implementation", + "keywords": [ + "enum", + "map" + ], + "support": { + "issues": "https://github.com/DASPRiD/Enum/issues", + "source": "https://github.com/DASPRiD/Enum/tree/1.0.5" + }, + "time": "2023-08-25T16:18:39+00:00" + }, + { + "name": "dflydev/dot-access-data", + "version": "v3.0.2", + "source": { + "type": "git", + "url": "https://github.com/dflydev/dflydev-dot-access-data.git", + "reference": "f41715465d65213d644d3141a6a93081be5d3549" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/dflydev/dflydev-dot-access-data/zipball/f41715465d65213d644d3141a6a93081be5d3549", + "reference": "f41715465d65213d644d3141a6a93081be5d3549", + "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.2" + }, + "time": "2022-10-27T11:44:00+00:00" + }, + { + "name": "doctrine/inflector", + "version": "2.0.10", + "source": { + "type": "git", + "url": "https://github.com/doctrine/inflector.git", + "reference": "5817d0659c5b50c9b950feb9af7b9668e2c436bc" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/doctrine/inflector/zipball/5817d0659c5b50c9b950feb9af7b9668e2c436bc", + "reference": "5817d0659c5b50c9b950feb9af7b9668e2c436bc", + "shasum": "" + }, + "require": { + "php": "^7.2 || ^8.0" + }, + "require-dev": { + "doctrine/coding-standard": "^11.0", + "phpstan/phpstan": "^1.8", + "phpstan/phpstan-phpunit": "^1.1", + "phpstan/phpstan-strict-rules": "^1.3", + "phpunit/phpunit": "^8.5 || ^9.5", + "vimeo/psalm": "^4.25 || ^5.4" + }, + "type": "library", + "autoload": { + "psr-4": { + "Doctrine\\Inflector\\": "lib/Doctrine/Inflector" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Guilherme Blanco", + "email": "guilhermeblanco@gmail.com" + }, + { + "name": "Roman Borschel", + "email": "roman@code-factory.org" + }, + { + "name": "Benjamin Eberlei", + "email": "kontakt@beberlei.de" + }, + { + "name": "Jonathan Wage", + "email": "jonwage@gmail.com" + }, + { + "name": "Johannes Schmitt", + "email": "schmittjoh@gmail.com" + } + ], + "description": "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.0.10" + }, + "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": "2024-02-18T20:23:39+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.3.3", + "source": { + "type": "git", + "url": "https://github.com/dragonmantank/cron-expression.git", + "reference": "adfb1f505deb6384dc8b39804c5065dd3c8c8c0a" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/dragonmantank/cron-expression/zipball/adfb1f505deb6384dc8b39804c5065dd3c8c8c0a", + "reference": "adfb1f505deb6384dc8b39804c5065dd3c8c8c0a", + "shasum": "" + }, + "require": { + "php": "^7.2|^8.0", + "webmozart/assert": "^1.0" + }, + "replace": { + "mtdowling/cron-expression": "^1.0" + }, + "require-dev": { + "phpstan/extension-installer": "^1.0", + "phpstan/phpstan": "^1.0", + "phpstan/phpstan-webmozart-assert": "^1.0", + "phpunit/phpunit": "^7.0|^8.0|^9.0" + }, + "type": "library", + "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.3.3" + }, + "funding": [ + { + "url": "https://github.com/dragonmantank", + "type": "github" + } + ], + "time": "2023-08-10T19:36:49+00:00" + }, + { + "name": "egulias/email-validator", + "version": "4.0.2", + "source": { + "type": "git", + "url": "https://github.com/egulias/EmailValidator.git", + "reference": "ebaaf5be6c0286928352e054f2d5125608e5405e" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/egulias/EmailValidator/zipball/ebaaf5be6c0286928352e054f2d5125608e5405e", + "reference": "ebaaf5be6c0286928352e054f2d5125608e5405e", + "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.2" + }, + "funding": [ + { + "url": "https://github.com/egulias", + "type": "github" + } + ], + "time": "2023-10-06T06:47:41+00:00" + }, + { + "name": "fruitcake/php-cors", + "version": "v1.3.0", + "source": { + "type": "git", + "url": "https://github.com/fruitcake/php-cors.git", + "reference": "3d158f36e7875e2f040f37bc0573956240a5a38b" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/fruitcake/php-cors/zipball/3d158f36e7875e2f040f37bc0573956240a5a38b", + "reference": "3d158f36e7875e2f040f37bc0573956240a5a38b", + "shasum": "" + }, + "require": { + "php": "^7.4|^8.0", + "symfony/http-foundation": "^4.4|^5.4|^6|^7" + }, + "require-dev": { + "phpstan/phpstan": "^1.4", + "phpunit/phpunit": "^9", + "squizlabs/php_codesniffer": "^3.5" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.2-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.3.0" + }, + "funding": [ + { + "url": "https://fruitcake.nl", + "type": "custom" + }, + { + "url": "https://github.com/barryvdh", + "type": "github" + } + ], + "time": "2023-10-12T05:21:21+00:00" + }, + { + "name": "graham-campbell/result-type", + "version": "v1.1.2", + "source": { + "type": "git", + "url": "https://github.com/GrahamCampbell/Result-Type.git", + "reference": "fbd48bce38f73f8a4ec8583362e732e4095e5862" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/GrahamCampbell/Result-Type/zipball/fbd48bce38f73f8a4ec8583362e732e4095e5862", + "reference": "fbd48bce38f73f8a4ec8583362e732e4095e5862", + "shasum": "" + }, + "require": { + "php": "^7.2.5 || ^8.0", + "phpoption/phpoption": "^1.9.2" + }, + "require-dev": { + "phpunit/phpunit": "^8.5.34 || ^9.6.13 || ^10.4.2" + }, + "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.2" + }, + "funding": [ + { + "url": "https://github.com/GrahamCampbell", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/graham-campbell/result-type", + "type": "tidelift" + } + ], + "time": "2023-11-12T22:16:48+00:00" + }, + { + "name": "guzzlehttp/guzzle", + "version": "7.8.1", + "source": { + "type": "git", + "url": "https://github.com/guzzle/guzzle.git", + "reference": "41042bc7ab002487b876a0683fc8dce04ddce104" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/guzzle/guzzle/zipball/41042bc7ab002487b876a0683fc8dce04ddce104", + "reference": "41042bc7ab002487b876a0683fc8dce04ddce104", + "shasum": "" + }, + "require": { + "ext-json": "*", + "guzzlehttp/promises": "^1.5.3 || ^2.0.1", + "guzzlehttp/psr7": "^1.9.1 || ^2.5.1", + "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": "*", + "php-http/client-integration-tests": "dev-master#2c025848417c1135031fdf9c728ee53d0a7ceaee as 3.0.999", + "php-http/message-factory": "^1.1", + "phpunit/phpunit": "^8.5.36 || ^9.6.15", + "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.8.1" + }, + "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": "2023-12-03T20:35:24+00:00" + }, + { + "name": "guzzlehttp/promises", + "version": "2.0.2", + "source": { + "type": "git", + "url": "https://github.com/guzzle/promises.git", + "reference": "bbff78d96034045e58e13dedd6ad91b5d1253223" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/guzzle/promises/zipball/bbff78d96034045e58e13dedd6ad91b5d1253223", + "reference": "bbff78d96034045e58e13dedd6ad91b5d1253223", + "shasum": "" + }, + "require": { + "php": "^7.2.5 || ^8.0" + }, + "require-dev": { + "bamarni/composer-bin-plugin": "^1.8.2", + "phpunit/phpunit": "^8.5.36 || ^9.6.15" + }, + "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.0.2" + }, + "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": "2023-12-03T20:19:20+00:00" + }, + { + "name": "guzzlehttp/psr7", + "version": "2.6.2", + "source": { + "type": "git", + "url": "https://github.com/guzzle/psr7.git", + "reference": "45b30f99ac27b5ca93cb4831afe16285f57b8221" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/guzzle/psr7/zipball/45b30f99ac27b5ca93cb4831afe16285f57b8221", + "reference": "45b30f99ac27b5ca93cb4831afe16285f57b8221", + "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", + "phpunit/phpunit": "^8.5.36 || ^9.6.15" + }, + "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.6.2" + }, + "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": "2023-12-03T20:05:35+00:00" + }, + { + "name": "guzzlehttp/uri-template", + "version": "v1.0.3", + "source": { + "type": "git", + "url": "https://github.com/guzzle/uri-template.git", + "reference": "ecea8feef63bd4fef1f037ecb288386999ecc11c" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/guzzle/uri-template/zipball/ecea8feef63bd4fef1f037ecb288386999ecc11c", + "reference": "ecea8feef63bd4fef1f037ecb288386999ecc11c", + "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.36 || ^9.6.15", + "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.3" + }, + "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": "2023-12-03T19:50:20+00:00" + }, + { + "name": "laravel/fortify", + "version": "v1.20.1", + "source": { + "type": "git", + "url": "https://github.com/laravel/fortify.git", + "reference": "ab1a76991a32be21448156419ddc7eb4731b0a8b" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/laravel/fortify/zipball/ab1a76991a32be21448156419ddc7eb4731b0a8b", + "reference": "ab1a76991a32be21448156419ddc7eb4731b0a8b", + "shasum": "" + }, + "require": { + "bacon/bacon-qr-code": "^2.0", + "ext-json": "*", + "illuminate/support": "^10.0|^11.0", + "php": "^8.1", + "pragmarx/google2fa": "^8.0" + }, + "require-dev": { + "mockery/mockery": "^1.0", + "orchestra/testbench": "^8.16|^9.0", + "phpstan/phpstan": "^1.10", + "phpunit/phpunit": "^10.4" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.x-dev" + }, + "laravel": { + "providers": [ + "Laravel\\Fortify\\FortifyServiceProvider" + ] + } + }, + "autoload": { + "psr-4": { + "Laravel\\Fortify\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Taylor Otwell", + "email": "taylor@laravel.com" + } + ], + "description": "Backend controllers and scaffolding for Laravel authentication.", + "keywords": [ + "auth", + "laravel" + ], + "support": { + "issues": "https://github.com/laravel/fortify/issues", + "source": "https://github.com/laravel/fortify" + }, + "time": "2024-02-08T14:36:46+00:00" + }, + { + "name": "laravel/framework", + "version": "v10.45.1", + "source": { + "type": "git", + "url": "https://github.com/laravel/framework.git", + "reference": "dcf5d1d722b84ad38a5e053289130b6962f830bd" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/laravel/framework/zipball/dcf5d1d722b84ad38a5e053289130b6962f830bd", + "reference": "dcf5d1d722b84ad38a5e053289130b6962f830bd", + "shasum": "" + }, + "require": { + "brick/math": "^0.9.3|^0.10.2|^0.11|^0.12", + "composer-runtime-api": "^2.2", + "doctrine/inflector": "^2.0.5", + "dragonmantank/cron-expression": "^3.3.2", + "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.2", + "guzzlehttp/uri-template": "^1.0", + "laravel/prompts": "^0.1.9", + "laravel/serializable-closure": "^1.3", + "league/commonmark": "^2.2.1", + "league/flysystem": "^3.8.0", + "monolog/monolog": "^3.0", + "nesbot/carbon": "^2.67", + "nunomaduro/termwind": "^1.13", + "php": "^8.1", + "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": "^6.2", + "symfony/error-handler": "^6.2", + "symfony/finder": "^6.2", + "symfony/http-foundation": "^6.4", + "symfony/http-kernel": "^6.2", + "symfony/mailer": "^6.2", + "symfony/mime": "^6.2", + "symfony/process": "^6.2", + "symfony/routing": "^6.2", + "symfony/uid": "^6.2", + "symfony/var-dumper": "^6.2", + "tijsverkoyen/css-to-inline-styles": "^2.2.5", + "vlucas/phpdotenv": "^5.4.1", + "voku/portable-ascii": "^2.0" + }, + "conflict": { + "carbonphp/carbon-doctrine-types": ">=3.0", + "doctrine/dbal": ">=4.0", + "phpunit/phpunit": ">=11.0.0", + "tightenco/collect": "<5.5.33" + }, + "provide": { + "psr/container-implementation": "1.1|2.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/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/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/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" + }, + "require-dev": { + "ably/ably-php": "^1.0", + "aws/aws-sdk-php": "^3.235.5", + "doctrine/dbal": "^3.5.1", + "ext-gmp": "*", + "fakerphp/faker": "^1.21", + "guzzlehttp/guzzle": "^7.5", + "league/flysystem-aws-s3-v3": "^3.0", + "league/flysystem-ftp": "^3.0", + "league/flysystem-path-prefixing": "^3.3", + "league/flysystem-read-only": "^3.3", + "league/flysystem-sftp-v3": "^3.0", + "mockery/mockery": "^1.5.1", + "nyholm/psr7": "^1.2", + "orchestra/testbench-core": "^8.18", + "pda/pheanstalk": "^4.0", + "phpstan/phpstan": "^1.4.7", + "phpunit/phpunit": "^10.0.7", + "predis/predis": "^2.0.2", + "symfony/cache": "^6.2", + "symfony/http-client": "^6.2.4", + "symfony/psr-http-message-bridge": "^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.235.5).", + "brianium/paratest": "Required to run tests in parallel (^6.0).", + "doctrine/dbal": "Required to rename columns and drop SQLite columns (^3.5.1).", + "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).", + "fakerphp/faker": "Required to use the eloquent factory builder (^1.9.1).", + "filp/whoops": "Required for friendly error pages in development (^2.14.3).", + "guzzlehttp/guzzle": "Required to use the HTTP Client and the ping methods on schedules (^7.5).", + "laravel/tinker": "Required to use the tinker console command (^2.0).", + "league/flysystem-aws-s3-v3": "Required to use the Flysystem S3 driver (^3.0).", + "league/flysystem-ftp": "Required to use the Flysystem FTP driver (^3.0).", + "league/flysystem-path-prefixing": "Required to use the scoped driver (^3.3).", + "league/flysystem-read-only": "Required to use read-only disks (^3.3)", + "league/flysystem-sftp-v3": "Required to use the Flysystem SFTP driver (^3.0).", + "mockery/mockery": "Required to use mocking (^1.5.1).", + "nyholm/psr7": "Required to use PSR-7 bridging features (^1.2).", + "pda/pheanstalk": "Required to use the beanstalk queue driver (^4.0).", + "phpunit/phpunit": "Required to use assertions and run tests (^9.5.8|^10.0.7).", + "predis/predis": "Required to use the predis connector (^2.0.2).", + "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).", + "symfony/cache": "Required to PSR-6 cache bridge (^6.2).", + "symfony/filesystem": "Required to enable support for relative symbolic links (^6.2).", + "symfony/http-client": "Required to enable support for the Symfony API mail transports (^6.2).", + "symfony/mailgun-mailer": "Required to enable support for the Mailgun mail transport (^6.2).", + "symfony/postmark-mailer": "Required to enable support for the Postmark mail transport (^6.2).", + "symfony/psr-http-message-bridge": "Required to use PSR-7 bridging features (^2.0)." + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "10.x-dev" + } + }, + "autoload": { + "files": [ + "src/Illuminate/Collections/helpers.php", + "src/Illuminate/Events/functions.php", + "src/Illuminate/Filesystem/functions.php", + "src/Illuminate/Foundation/helpers.php", + "src/Illuminate/Support/helpers.php" + ], + "psr-4": { + "Illuminate\\": "src/Illuminate/", + "Illuminate\\Support\\": [ + "src/Illuminate/Macroable/", + "src/Illuminate/Collections/", + "src/Illuminate/Conditionable/" + ] + } + }, + "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": "2024-02-21T14:07:36+00:00" + }, + { + "name": "laravel/jetstream", + "version": "v4.2.2", + "source": { + "type": "git", + "url": "https://github.com/laravel/jetstream.git", + "reference": "7a11a4fb1426855b7132900af5c113a684b820cc" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/laravel/jetstream/zipball/7a11a4fb1426855b7132900af5c113a684b820cc", + "reference": "7a11a4fb1426855b7132900af5c113a684b820cc", + "shasum": "" + }, + "require": { + "ext-json": "*", + "illuminate/console": "^10.17", + "illuminate/support": "^10.17", + "laravel/fortify": "^1.19", + "mobiledetect/mobiledetectlib": "^4.8", + "php": "^8.1.0" + }, + "require-dev": { + "inertiajs/inertia-laravel": "^0.6.5", + "laravel/sanctum": "^3.0", + "livewire/livewire": "^3.0", + "mockery/mockery": "^1.0", + "orchestra/testbench": "^8.11", + "phpstan/phpstan": "^1.10", + "phpunit/phpunit": "^10.1" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "4.x-dev" + }, + "laravel": { + "providers": [ + "Laravel\\Jetstream\\JetstreamServiceProvider" + ] + } + }, + "autoload": { + "psr-4": { + "Laravel\\Jetstream\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Taylor Otwell", + "email": "taylor@laravel.com" + } + ], + "description": "Tailwind scaffolding for the Laravel framework.", + "keywords": [ + "auth", + "laravel", + "tailwind" + ], + "support": { + "issues": "https://github.com/laravel/jetstream/issues", + "source": "https://github.com/laravel/jetstream" + }, + "time": "2024-01-17T00:49:40+00:00" + }, + { + "name": "laravel/prompts", + "version": "v0.1.15", + "source": { + "type": "git", + "url": "https://github.com/laravel/prompts.git", + "reference": "d814a27514d99b03c85aa42b22cfd946568636c1" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/laravel/prompts/zipball/d814a27514d99b03c85aa42b22cfd946568636c1", + "reference": "d814a27514d99b03c85aa42b22cfd946568636c1", + "shasum": "" + }, + "require": { + "ext-mbstring": "*", + "illuminate/collections": "^10.0|^11.0", + "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": { + "mockery/mockery": "^1.5", + "pestphp/pest": "^2.3", + "phpstan/phpstan": "^1.11", + "phpstan/phpstan-mockery": "^1.1" + }, + "suggest": { + "ext-pcntl": "Required for the spinner to be animated." + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "0.1.x-dev" + } + }, + "autoload": { + "files": [ + "src/helpers.php" + ], + "psr-4": { + "Laravel\\Prompts\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "support": { + "issues": "https://github.com/laravel/prompts/issues", + "source": "https://github.com/laravel/prompts/tree/v0.1.15" + }, + "time": "2023-12-29T22:37:42+00:00" + }, + { + "name": "laravel/sanctum", + "version": "v3.3.3", + "source": { + "type": "git", + "url": "https://github.com/laravel/sanctum.git", + "reference": "8c104366459739f3ada0e994bcd3e6fd681ce3d5" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/laravel/sanctum/zipball/8c104366459739f3ada0e994bcd3e6fd681ce3d5", + "reference": "8c104366459739f3ada0e994bcd3e6fd681ce3d5", + "shasum": "" + }, + "require": { + "ext-json": "*", + "illuminate/console": "^9.21|^10.0", + "illuminate/contracts": "^9.21|^10.0", + "illuminate/database": "^9.21|^10.0", + "illuminate/support": "^9.21|^10.0", + "php": "^8.0.2" + }, + "require-dev": { + "mockery/mockery": "^1.0", + "orchestra/testbench": "^7.28.2|^8.8.3", + "phpstan/phpstan": "^1.10", + "phpunit/phpunit": "^9.6" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "3.x-dev" + }, + "laravel": { + "providers": [ + "Laravel\\Sanctum\\SanctumServiceProvider" + ] + } + }, + "autoload": { + "psr-4": { + "Laravel\\Sanctum\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Taylor Otwell", + "email": "taylor@laravel.com" + } + ], + "description": "Laravel Sanctum provides a featherweight authentication system for SPAs and simple APIs.", + "keywords": [ + "auth", + "laravel", + "sanctum" + ], + "support": { + "issues": "https://github.com/laravel/sanctum/issues", + "source": "https://github.com/laravel/sanctum" + }, + "time": "2023-12-19T18:44:48+00:00" + }, + { + "name": "laravel/serializable-closure", + "version": "v1.3.3", + "source": { + "type": "git", + "url": "https://github.com/laravel/serializable-closure.git", + "reference": "3dbf8a8e914634c48d389c1234552666b3d43754" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/laravel/serializable-closure/zipball/3dbf8a8e914634c48d389c1234552666b3d43754", + "reference": "3dbf8a8e914634c48d389c1234552666b3d43754", + "shasum": "" + }, + "require": { + "php": "^7.3|^8.0" + }, + "require-dev": { + "nesbot/carbon": "^2.61", + "pestphp/pest": "^1.21.3", + "phpstan/phpstan": "^1.8.2", + "symfony/var-dumper": "^5.4.11" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.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": "2023-11-08T14:08:06+00:00" + }, + { + "name": "laravel/tinker", + "version": "v2.9.0", + "source": { + "type": "git", + "url": "https://github.com/laravel/tinker.git", + "reference": "502e0fe3f0415d06d5db1f83a472f0f3b754bafe" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/laravel/tinker/zipball/502e0fe3f0415d06d5db1f83a472f0f3b754bafe", + "reference": "502e0fe3f0415d06d5db1f83a472f0f3b754bafe", + "shasum": "" + }, + "require": { + "illuminate/console": "^6.0|^7.0|^8.0|^9.0|^10.0|^11.0", + "illuminate/contracts": "^6.0|^7.0|^8.0|^9.0|^10.0|^11.0", + "illuminate/support": "^6.0|^7.0|^8.0|^9.0|^10.0|^11.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" + }, + "require-dev": { + "mockery/mockery": "~1.3.3|^1.4.2", + "phpstan/phpstan": "^1.10", + "phpunit/phpunit": "^8.5.8|^9.3.3" + }, + "suggest": { + "illuminate/database": "The Illuminate Database package (^6.0|^7.0|^8.0|^9.0|^10.0|^11.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.9.0" + }, + "time": "2024-01-04T16:10:04+00:00" + }, + { + "name": "league/commonmark", + "version": "2.4.2", + "source": { + "type": "git", + "url": "https://github.com/thephpleague/commonmark.git", + "reference": "91c24291965bd6d7c46c46a12ba7492f83b1cadf" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/thephpleague/commonmark/zipball/91c24291965bd6d7c46c46a12ba7492f83b1cadf", + "reference": "91c24291965bd6d7c46c46a12ba7492f83b1cadf", + "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.30.3", + "commonmark/commonmark.js": "0.30.0", + "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/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" + }, + "suggest": { + "symfony/yaml": "v2.3+ required if using the Front Matter extension" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "2.5-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": "2024-02-02T11:59:32+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.24.0", + "source": { + "type": "git", + "url": "https://github.com/thephpleague/flysystem.git", + "reference": "b25a361508c407563b34fac6f64a8a17a8819675" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/thephpleague/flysystem/zipball/b25a361508c407563b34fac6f64a8a17a8819675", + "reference": "b25a361508c407563b34fac6f64a8a17a8819675", + "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-zip": "*", + "friendsofphp/php-cs-fixer": "^3.5", + "google/cloud-storage": "^1.23", + "microsoft/azure-storage-blob": "^1.1", + "phpseclib/phpseclib": "^3.0.34", + "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.24.0" + }, + "funding": [ + { + "url": "https://ecologi.com/frankdejonge", + "type": "custom" + }, + { + "url": "https://github.com/frankdejonge", + "type": "github" + } + ], + "time": "2024-02-04T12:10:17+00:00" + }, + { + "name": "league/flysystem-local", + "version": "3.23.1", + "source": { + "type": "git", + "url": "https://github.com/thephpleague/flysystem-local.git", + "reference": "b884d2bf9b53bb4804a56d2df4902bb51e253f00" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/thephpleague/flysystem-local/zipball/b884d2bf9b53bb4804a56d2df4902bb51e253f00", + "reference": "b884d2bf9b53bb4804a56d2df4902bb51e253f00", + "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": { + "issues": "https://github.com/thephpleague/flysystem-local/issues", + "source": "https://github.com/thephpleague/flysystem-local/tree/3.23.1" + }, + "funding": [ + { + "url": "https://ecologi.com/frankdejonge", + "type": "custom" + }, + { + "url": "https://github.com/frankdejonge", + "type": "github" + } + ], + "time": "2024-01-26T18:25:23+00:00" + }, + { + "name": "league/mime-type-detection", + "version": "1.15.0", + "source": { + "type": "git", + "url": "https://github.com/thephpleague/mime-type-detection.git", + "reference": "ce0f4d1e8a6f4eb0ddff33f57c69c50fd09f4301" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/thephpleague/mime-type-detection/zipball/ce0f4d1e8a6f4eb0ddff33f57c69c50fd09f4301", + "reference": "ce0f4d1e8a6f4eb0ddff33f57c69c50fd09f4301", + "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.15.0" + }, + "funding": [ + { + "url": "https://github.com/frankdejonge", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/league/flysystem", + "type": "tidelift" + } + ], + "time": "2024-01-28T23:22:08+00:00" + }, + { + "name": "livewire/livewire", + "version": "v3.4.6", + "source": { + "type": "git", + "url": "https://github.com/livewire/livewire.git", + "reference": "7e7d638183b34fb61621455891869f5abfd55a82" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/livewire/livewire/zipball/7e7d638183b34fb61621455891869f5abfd55a82", + "reference": "7e7d638183b34fb61621455891869f5abfd55a82", + "shasum": "" + }, + "require": { + "illuminate/database": "^10.0|^11.0", + "illuminate/routing": "^10.0|^11.0", + "illuminate/support": "^10.0|^11.0", + "illuminate/validation": "^10.0|^11.0", + "league/mime-type-detection": "^1.9", + "php": "^8.1", + "symfony/http-kernel": "^6.2|^7.0" + }, + "require-dev": { + "calebporzio/sushi": "^2.1", + "laravel/framework": "^10.0|^11.0", + "laravel/prompts": "^0.1.6", + "mockery/mockery": "^1.3.1", + "orchestra/testbench": "8.20.0|^9.0", + "orchestra/testbench-dusk": "8.20.0|^9.0", + "phpunit/phpunit": "^10.4", + "psy/psysh": "^0.11.22|^0.12" + }, + "type": "library", + "extra": { + "laravel": { + "providers": [ + "Livewire\\LivewireServiceProvider" + ], + "aliases": { + "Livewire": "Livewire\\Livewire" + } + } + }, + "autoload": { + "files": [ + "src/helpers.php" + ], + "psr-4": { + "Livewire\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Caleb Porzio", + "email": "calebporzio@gmail.com" + } + ], + "description": "A front-end framework for Laravel.", + "support": { + "issues": "https://github.com/livewire/livewire/issues", + "source": "https://github.com/livewire/livewire/tree/v3.4.6" + }, + "funding": [ + { + "url": "https://github.com/livewire", + "type": "github" + } + ], + "time": "2024-02-20T14:04:25+00:00" + }, + { + "name": "mobiledetect/mobiledetectlib", + "version": "4.8.05", + "source": { + "type": "git", + "url": "https://github.com/serbanghita/Mobile-Detect.git", + "reference": "b7a8cdd70955ea6162269939914ba97fe36a154a" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/serbanghita/Mobile-Detect/zipball/b7a8cdd70955ea6162269939914ba97fe36a154a", + "reference": "b7a8cdd70955ea6162269939914ba97fe36a154a", + "shasum": "" + }, + "require": { + "php": ">=8.0", + "psr/simple-cache": "^3.0" + }, + "require-dev": { + "friendsofphp/php-cs-fixer": "^v3.35.1", + "phpbench/phpbench": "^1.2", + "phpstan/phpstan": "^1.10", + "phpunit/phpunit": "^9.6", + "squizlabs/php_codesniffer": "^3.7" + }, + "type": "library", + "autoload": { + "psr-4": { + "Detection\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Serban Ghita", + "email": "serbanghita@gmail.com", + "homepage": "http://mobiledetect.net", + "role": "Developer" + } + ], + "description": "Mobile_Detect is a lightweight PHP class for detecting mobile devices. It uses the User-Agent string combined with specific HTTP headers to detect the mobile environment.", + "homepage": "https://github.com/serbanghita/Mobile-Detect", + "keywords": [ + "detect mobile devices", + "mobile", + "mobile detect", + "mobile detector", + "php mobile detect" + ], + "support": { + "issues": "https://github.com/serbanghita/Mobile-Detect/issues", + "source": "https://github.com/serbanghita/Mobile-Detect/tree/4.8.05" + }, + "funding": [ + { + "url": "https://github.com/serbanghita", + "type": "github" + } + ], + "time": "2024-01-10T22:04:41+00:00" + }, + { + "name": "monolog/monolog", + "version": "3.5.0", + "source": { + "type": "git", + "url": "https://github.com/Seldaek/monolog.git", + "reference": "c915e2634718dbc8a4a15c61b0e62e7a44e14448" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/Seldaek/monolog/zipball/c915e2634718dbc8a4a15c61b0e62e7a44e14448", + "reference": "c915e2634718dbc8a4a15c61b0e62e7a44e14448", + "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", + "php-amqplib/php-amqplib": "~2.4 || ^3", + "phpstan/phpstan": "^1.9", + "phpstan/phpstan-deprecation-rules": "^1.0", + "phpstan/phpstan-strict-rules": "^1.4", + "phpunit/phpunit": "^10.1", + "predis/predis": "^1.1 || ^2", + "ruflin/elastica": "^7", + "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.5.0" + }, + "funding": [ + { + "url": "https://github.com/Seldaek", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/monolog/monolog", + "type": "tidelift" + } + ], + "time": "2023-10-27T15:32:31+00:00" + }, + { + "name": "nesbot/carbon", + "version": "2.72.3", + "source": { + "type": "git", + "url": "https://github.com/briannesbitt/Carbon.git", + "reference": "0c6fd108360c562f6e4fd1dedb8233b423e91c83" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/briannesbitt/Carbon/zipball/0c6fd108360c562f6e4fd1dedb8233b423e91c83", + "reference": "0c6fd108360c562f6e4fd1dedb8233b423e91c83", + "shasum": "" + }, + "require": { + "carbonphp/carbon-doctrine-types": "*", + "ext-json": "*", + "php": "^7.1.8 || ^8.0", + "psr/clock": "^1.0", + "symfony/polyfill-mbstring": "^1.0", + "symfony/polyfill-php80": "^1.16", + "symfony/translation": "^3.4 || ^4.0 || ^5.0 || ^6.0" + }, + "provide": { + "psr/clock-implementation": "1.0" + }, + "require-dev": { + "doctrine/dbal": "^2.0 || ^3.1.4 || ^4.0", + "doctrine/orm": "^2.7 || ^3.0", + "friendsofphp/php-cs-fixer": "^3.0", + "kylekatarnls/multi-tester": "^2.0", + "ondrejmirtes/better-reflection": "*", + "phpmd/phpmd": "^2.9", + "phpstan/extension-installer": "^1.0", + "phpstan/phpstan": "^0.12.99 || ^1.7.14", + "phpunit/php-file-iterator": "^2.0.5 || ^3.0.6", + "phpunit/phpunit": "^7.5.20 || ^8.5.26 || ^9.5.20", + "squizlabs/php_codesniffer": "^3.4" + }, + "bin": [ + "bin/carbon" + ], + "type": "library", + "extra": { + "branch-alias": { + "dev-3.x": "3.x-dev", + "dev-master": "2.x-dev" + }, + "laravel": { + "providers": [ + "Carbon\\Laravel\\ServiceProvider" + ] + }, + "phpstan": { + "includes": [ + "extension.neon" + ] + } + }, + "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/briannesbitt/Carbon/issues", + "source": "https://github.com/briannesbitt/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": "2024-01-25T10:35:09+00:00" + }, + { + "name": "nette/schema", + "version": "v1.3.0", + "source": { + "type": "git", + "url": "https://github.com/nette/schema.git", + "reference": "a6d3a6d1f545f01ef38e60f375d1cf1f4de98188" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/nette/schema/zipball/a6d3a6d1f545f01ef38e60f375d1cf1f4de98188", + "reference": "a6d3a6d1f545f01ef38e60f375d1cf1f4de98188", + "shasum": "" + }, + "require": { + "nette/utils": "^4.0", + "php": "8.1 - 8.3" + }, + "require-dev": { + "nette/tester": "^2.4", + "phpstan/phpstan-nette": "^1.0", + "tracy/tracy": "^2.8" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.3-dev" + } + }, + "autoload": { + "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.0" + }, + "time": "2023-12-11T11:54:22+00:00" + }, + { + "name": "nette/utils", + "version": "v4.0.4", + "source": { + "type": "git", + "url": "https://github.com/nette/utils.git", + "reference": "d3ad0aa3b9f934602cb3e3902ebccf10be34d218" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/nette/utils/zipball/d3ad0aa3b9f934602cb3e3902ebccf10be34d218", + "reference": "d3ad0aa3b9f934602cb3e3902ebccf10be34d218", + "shasum": "" + }, + "require": { + "php": ">=8.0 <8.4" + }, + "conflict": { + "nette/finder": "<3", + "nette/schema": "<1.2.2" + }, + "require-dev": { + "jetbrains/phpstorm-attributes": "dev-master", + "nette/tester": "^2.5", + "phpstan/phpstan": "^1.0", + "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.0-dev" + } + }, + "autoload": { + "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.0.4" + }, + "time": "2024-01-17T16:50:36+00:00" + }, + { + "name": "nikic/php-parser", + "version": "v5.0.1", + "source": { + "type": "git", + "url": "https://github.com/nikic/PHP-Parser.git", + "reference": "2218c2252c874a4624ab2f613d86ac32d227bc69" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/2218c2252c874a4624ab2f613d86ac32d227bc69", + "reference": "2218c2252c874a4624ab2f613d86ac32d227bc69", + "shasum": "" + }, + "require": { + "ext-ctype": "*", + "ext-json": "*", + "ext-tokenizer": "*", + "php": ">=7.4" + }, + "require-dev": { + "ircmaxell/php-yacc": "^0.0.7", + "phpunit/phpunit": "^7.0 || ^8.0 || ^9.0" + }, + "bin": [ + "bin/php-parse" + ], + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "5.0-dev" + } + }, + "autoload": { + "psr-4": { + "PhpParser\\": "lib/PhpParser" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Nikita Popov" + } + ], + "description": "A PHP parser written in PHP", + "keywords": [ + "parser", + "php" + ], + "support": { + "issues": "https://github.com/nikic/PHP-Parser/issues", + "source": "https://github.com/nikic/PHP-Parser/tree/v5.0.1" + }, + "time": "2024-02-21T19:24:10+00:00" + }, + { + "name": "nunomaduro/termwind", + "version": "v1.15.1", + "source": { + "type": "git", + "url": "https://github.com/nunomaduro/termwind.git", + "reference": "8ab0b32c8caa4a2e09700ea32925441385e4a5dc" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/nunomaduro/termwind/zipball/8ab0b32c8caa4a2e09700ea32925441385e4a5dc", + "reference": "8ab0b32c8caa4a2e09700ea32925441385e4a5dc", + "shasum": "" + }, + "require": { + "ext-mbstring": "*", + "php": "^8.0", + "symfony/console": "^5.3.0|^6.0.0" + }, + "require-dev": { + "ergebnis/phpstan-rules": "^1.0.", + "illuminate/console": "^8.0|^9.0", + "illuminate/support": "^8.0|^9.0", + "laravel/pint": "^1.0.0", + "pestphp/pest": "^1.21.0", + "pestphp/pest-plugin-mock": "^1.0", + "phpstan/phpstan": "^1.4.6", + "phpstan/phpstan-strict-rules": "^1.1.0", + "symfony/var-dumper": "^5.2.7|^6.0.0", + "thecodingmachine/phpstan-strict-rules": "^1.0.0" + }, + "type": "library", + "extra": { + "laravel": { + "providers": [ + "Termwind\\Laravel\\TermwindServiceProvider" + ] + } + }, + "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/v1.15.1" + }, + "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": "2023-02-08T01:06:31+00:00" + }, + { + "name": "paragonie/constant_time_encoding", + "version": "v2.6.3", + "source": { + "type": "git", + "url": "https://github.com/paragonie/constant_time_encoding.git", + "reference": "58c3f47f650c94ec05a151692652a868995d2938" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/paragonie/constant_time_encoding/zipball/58c3f47f650c94ec05a151692652a868995d2938", + "reference": "58c3f47f650c94ec05a151692652a868995d2938", + "shasum": "" + }, + "require": { + "php": "^7|^8" + }, + "require-dev": { + "phpunit/phpunit": "^6|^7|^8|^9", + "vimeo/psalm": "^1|^2|^3|^4" + }, + "type": "library", + "autoload": { + "psr-4": { + "ParagonIE\\ConstantTime\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Paragon Initiative Enterprises", + "email": "security@paragonie.com", + "homepage": "https://paragonie.com", + "role": "Maintainer" + }, + { + "name": "Steve 'Sc00bz' Thomas", + "email": "steve@tobtu.com", + "homepage": "https://www.tobtu.com", + "role": "Original Developer" + } + ], + "description": "Constant-time Implementations of RFC 4648 Encoding (Base-64, Base-32, Base-16)", + "keywords": [ + "base16", + "base32", + "base32_decode", + "base32_encode", + "base64", + "base64_decode", + "base64_encode", + "bin2hex", + "encoding", + "hex", + "hex2bin", + "rfc4648" + ], + "support": { + "email": "info@paragonie.com", + "issues": "https://github.com/paragonie/constant_time_encoding/issues", + "source": "https://github.com/paragonie/constant_time_encoding" + }, + "time": "2022-06-14T06:56:20+00:00" + }, + { + "name": "phpoption/phpoption", + "version": "1.9.2", + "source": { + "type": "git", + "url": "https://github.com/schmittjoh/php-option.git", + "reference": "80735db690fe4fc5c76dfa7f9b770634285fa820" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/schmittjoh/php-option/zipball/80735db690fe4fc5c76dfa7f9b770634285fa820", + "reference": "80735db690fe4fc5c76dfa7f9b770634285fa820", + "shasum": "" + }, + "require": { + "php": "^7.2.5 || ^8.0" + }, + "require-dev": { + "bamarni/composer-bin-plugin": "^1.8.2", + "phpunit/phpunit": "^8.5.34 || ^9.6.13 || ^10.4.2" + }, + "type": "library", + "extra": { + "bamarni-bin": { + "bin-links": true, + "forward-command": true + }, + "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.2" + }, + "funding": [ + { + "url": "https://github.com/GrahamCampbell", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/phpoption/phpoption", + "type": "tidelift" + } + ], + "time": "2023-11-12T21:59:55+00:00" + }, + { + "name": "pragmarx/google2fa", + "version": "v8.0.1", + "source": { + "type": "git", + "url": "https://github.com/antonioribeiro/google2fa.git", + "reference": "80c3d801b31fe165f8fe99ea085e0a37834e1be3" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/antonioribeiro/google2fa/zipball/80c3d801b31fe165f8fe99ea085e0a37834e1be3", + "reference": "80c3d801b31fe165f8fe99ea085e0a37834e1be3", + "shasum": "" + }, + "require": { + "paragonie/constant_time_encoding": "^1.0|^2.0", + "php": "^7.1|^8.0" + }, + "require-dev": { + "phpstan/phpstan": "^0.12.18", + "phpunit/phpunit": "^7.5.15|^8.5|^9.0" + }, + "type": "library", + "autoload": { + "psr-4": { + "PragmaRX\\Google2FA\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Antonio Carlos Ribeiro", + "email": "acr@antoniocarlosribeiro.com", + "role": "Creator & Designer" + } + ], + "description": "A One Time Password Authentication package, compatible with Google Authenticator.", + "keywords": [ + "2fa", + "Authentication", + "Two Factor Authentication", + "google2fa" + ], + "support": { + "issues": "https://github.com/antonioribeiro/google2fa/issues", + "source": "https://github.com/antonioribeiro/google2fa/tree/v8.0.1" + }, + "time": "2022-06-13T21:57:56+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.0.2", + "source": { + "type": "git", + "url": "https://github.com/php-fig/http-factory.git", + "reference": "e616d01114759c4c489f93b099585439f795fe35" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/php-fig/http-factory/zipball/e616d01114759c4c489f93b099585439f795fe35", + "reference": "e616d01114759c4c489f93b099585439f795fe35", + "shasum": "" + }, + "require": { + "php": ">=7.0.0", + "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": "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/tree/1.0.2" + }, + "time": "2023-04-10T20:10:41+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.0", + "source": { + "type": "git", + "url": "https://github.com/php-fig/log.git", + "reference": "fe5ea303b0887d5caefd3d431c3e61ad47037001" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/php-fig/log/zipball/fe5ea303b0887d5caefd3d431c3e61ad47037001", + "reference": "fe5ea303b0887d5caefd3d431c3e61ad47037001", + "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.0" + }, + "time": "2021-07-14T16:46:02+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.0", + "source": { + "type": "git", + "url": "https://github.com/bobthecow/psysh.git", + "reference": "750bf031a48fd07c673dbe3f11f72362ea306d0d" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/bobthecow/psysh/zipball/750bf031a48fd07c673dbe3f11f72362ea306d0d", + "reference": "750bf031a48fd07c673dbe3f11f72362ea306d0d", + "shasum": "" + }, + "require": { + "ext-json": "*", + "ext-tokenizer": "*", + "nikic/php-parser": "^5.0 || ^4.0", + "php": "^8.0 || ^7.4", + "symfony/console": "^7.0 || ^6.0 || ^5.0 || ^4.0 || ^3.4", + "symfony/var-dumper": "^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" + }, + "suggest": { + "ext-pcntl": "Enabling the PCNTL extension makes PsySH a lot happier :)", + "ext-pdo-sqlite": "The doc command requires SQLite to work.", + "ext-posix": "If you have PCNTL, you'll want the POSIX extension as well." + }, + "bin": [ + "bin/psysh" + ], + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "0.12.x-dev" + }, + "bamarni-bin": { + "bin-links": false, + "forward-command": false + } + }, + "autoload": { + "files": [ + "src/functions.php" + ], + "psr-4": { + "Psy\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Justin Hileman", + "email": "justin@justinhileman.info", + "homepage": "http://justinhileman.com" + } + ], + "description": "An interactive shell for modern PHP.", + "homepage": "http://psysh.org", + "keywords": [ + "REPL", + "console", + "interactive", + "shell" + ], + "support": { + "issues": "https://github.com/bobthecow/psysh/issues", + "source": "https://github.com/bobthecow/psysh/tree/v0.12.0" + }, + "time": "2023-12-20T15:28:09+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.0.0", + "source": { + "type": "git", + "url": "https://github.com/ramsey/collection.git", + "reference": "a4b48764bfbb8f3a6a4d1aeb1a35bb5e9ecac4a5" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/ramsey/collection/zipball/a4b48764bfbb8f3a6a4d1aeb1a35bb5e9ecac4a5", + "reference": "a4b48764bfbb8f3a6a4d1aeb1a35bb5e9ecac4a5", + "shasum": "" + }, + "require": { + "php": "^8.1" + }, + "require-dev": { + "captainhook/plugin-composer": "^5.3", + "ergebnis/composer-normalize": "^2.28.3", + "fakerphp/faker": "^1.21", + "hamcrest/hamcrest-php": "^2.0", + "jangregor/phpstan-prophecy": "^1.0", + "mockery/mockery": "^1.5", + "php-parallel-lint/php-console-highlighter": "^1.0", + "php-parallel-lint/php-parallel-lint": "^1.3", + "phpcsstandards/phpcsutils": "^1.0.0-rc1", + "phpspec/prophecy-phpunit": "^2.0", + "phpstan/extension-installer": "^1.2", + "phpstan/phpstan": "^1.9", + "phpstan/phpstan-mockery": "^1.1", + "phpstan/phpstan-phpunit": "^1.3", + "phpunit/phpunit": "^9.5", + "psalm/plugin-mockery": "^1.1", + "psalm/plugin-phpunit": "^0.18.4", + "ramsey/coding-standard": "^2.0.3", + "ramsey/conventional-commits": "^1.3", + "vimeo/psalm": "^5.4" + }, + "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.0.0" + }, + "funding": [ + { + "url": "https://github.com/ramsey", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/ramsey/collection", + "type": "tidelift" + } + ], + "time": "2022-12-31T21:50:55+00:00" + }, + { + "name": "ramsey/uuid", + "version": "4.7.5", + "source": { + "type": "git", + "url": "https://github.com/ramsey/uuid.git", + "reference": "5f0df49ae5ad6efb7afa69e6bfab4e5b1e080d8e" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/ramsey/uuid/zipball/5f0df49ae5ad6efb7afa69e6bfab4e5b1e080d8e", + "reference": "5f0df49ae5ad6efb7afa69e6bfab4e5b1e080d8e", + "shasum": "" + }, + "require": { + "brick/math": "^0.8.8 || ^0.9 || ^0.10 || ^0.11", + "ext-json": "*", + "php": "^8.0", + "ramsey/collection": "^1.2 || ^2.0" + }, + "replace": { + "rhumsaa/uuid": "self.version" + }, + "require-dev": { + "captainhook/captainhook": "^5.10", + "captainhook/plugin-composer": "^5.3", + "dealerdirect/phpcodesniffer-composer-installer": "^0.7.0", + "doctrine/annotations": "^1.8", + "ergebnis/composer-normalize": "^2.15", + "mockery/mockery": "^1.3", + "paragonie/random-lib": "^2", + "php-mock/php-mock": "^2.2", + "php-mock/php-mock-mockery": "^1.3", + "php-parallel-lint/php-parallel-lint": "^1.1", + "phpbench/phpbench": "^1.0", + "phpstan/extension-installer": "^1.1", + "phpstan/phpstan": "^1.8", + "phpstan/phpstan-mockery": "^1.1", + "phpstan/phpstan-phpunit": "^1.1", + "phpunit/phpunit": "^8.5 || ^9", + "ramsey/composer-repl": "^1.4", + "slevomat/coding-standard": "^8.4", + "squizlabs/php_codesniffer": "^3.5", + "vimeo/psalm": "^4.9" + }, + "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.7.5" + }, + "funding": [ + { + "url": "https://github.com/ramsey", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/ramsey/uuid", + "type": "tidelift" + } + ], + "time": "2023-11-08T05:53:05+00:00" + }, + { + "name": "shetabit/multipay", + "version": "v1.48.1", + "source": { + "type": "git", + "url": "https://github.com/shetabit/multipay.git", + "reference": "f1c78e35b71385a9b505a74dbd47db9a52a2dc8d" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/shetabit/multipay/zipball/f1c78e35b71385a9b505a74dbd47db9a52a2dc8d", + "reference": "f1c78e35b71385a9b505a74dbd47db9a52a2dc8d", + "shasum": "" + }, + "require": { + "chillerlan/php-cache": "^4.1|^5.0", + "guzzlehttp/guzzle": ">=6.2", + "nesbot/carbon": "^1.39|^2.0|^3.0", + "php": ">=7.2", + "ramsey/uuid": "^3.7|^3.8|^3.9|^4.0" + }, + "require-dev": { + "phpunit/phpunit": "^8.0|^9.0", + "squizlabs/php_codesniffer": "^3.5" + }, + "type": "library", + "autoload": { + "psr-4": { + "Shetabit\\Multipay\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Mahdi Khanzadi", + "email": "khanzadimahdi@gmail.com", + "homepage": "https://github.com/shetabit", + "role": "Developer" + } + ], + "description": "PHP Payment Gateway Integration Package", + "homepage": "https://github.com/shetabit/multipay", + "keywords": [ + "Bank", + "Meli", + "Payline", + "asan pardakht", + "gateway", + "iranKish payment gateway", + "irankish", + "jahanPay payment gateway", + "jahanpay", + "jibit", + "jibit payment gateway", + "meli payment gateway", + "mellat", + "mellat payment gateway", + "melli", + "parsian", + "parsian payment gateway", + "pasargad", + "pasargad payment gateway", + "pay", + "pay payment gateway", + "payline payment gateway", + "payment", + "payment gateway", + "paypal", + "paypal payment gateway", + "php asan pardakht", + "php iranKish", + "php iranKish package", + "php jahanPay", + "php jahanPay package", + "php jibit", + "php jibit package", + "php meli", + "php meli package", + "php mellat", + "php mellat package", + "php melli bank payment package", + "php parsian", + "php parsian package", + "php pasargad", + "php pasargad package", + "php pay", + "php pay package", + "php payline", + "php payline package", + "php payment gateway", + "php payment package", + "php paypal", + "php paypal package", + "php sadad", + "php sadad package", + "php saderat", + "php saderat package", + "php saman", + "php saman package", + "php shaparak", + "php shaparak package", + "php zarinpal", + "php zarinpal package", + "sadad", + "sadad payment gateway", + "saderat", + "saderat payment gateway", + "saman", + "saman payment gateway", + "shaparak", + "shaparak payment gateway", + "shetabit", + "zarinpal", + "zarinpal payment gateway" + ], + "support": { + "issues": "https://github.com/shetabit/multipay/issues", + "source": "https://github.com/shetabit/multipay/tree/v1.48.1" + }, + "time": "2024-05-14T11:46:41+00:00" + }, + { + "name": "shetabit/payment", + "version": "v5.8.0", + "source": { + "type": "git", + "url": "https://github.com/shetabit/payment.git", + "reference": "969534e9a15882a40aa0d5639cd7817b13b3c9a1" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/shetabit/payment/zipball/969534e9a15882a40aa0d5639cd7817b13b3c9a1", + "reference": "969534e9a15882a40aa0d5639cd7817b13b3c9a1", + "shasum": "" + }, + "require": { + "illuminate/broadcasting": "^5.0|^6.0|^7.0|^8.0|^9.0|^10.0|^11.0", + "illuminate/support": "^5.0|^6.0|^7.0|^8.0|^9.0|^10.0|^11.0", + "php": ">=7.2", + "shetabit/multipay": "^1.0" + }, + "require-dev": { + "orchestra/testbench": "^3.0|^4.0|^5.0|^6.0|^7.0|^8.0|^9.0", + "phpunit/phpunit": "^6.0|^7.0|^8.0|^9.0|^10.0", + "squizlabs/php_codesniffer": "^3.5" + }, + "suggest": { + "ext-soap": "Needed to support some drivers that required SOAP" + }, + "type": "library", + "extra": { + "laravel": { + "providers": [ + "Shetabit\\Payment\\Provider\\PaymentServiceProvider" + ], + "aliases": { + "Payment": "Shetabit\\Payment\\Facade\\Payment" + } + } + }, + "autoload": { + "psr-4": { + "Shetabit\\Payment\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Mahdi Khanzadi", + "email": "khanzadimahdi@gmail.com", + "homepage": "https://github.com/shetabit", + "role": "Developer" + } + ], + "description": "Laravel Payment Gateway Integration Package", + "homepage": "https://github.com/shetabit/payment", + "keywords": [ + "Bank", + "Meli", + "Payline", + "gateway", + "iranKish payment gateway", + "irankish", + "jahanPay payment gateway", + "jahanpay", + "jibit", + "jibit payment gateway", + "laravel iranKish", + "laravel iranKish package", + "laravel jahanPay", + "laravel jahanPay package", + "laravel jibit", + "laravel jibit package", + "laravel meli", + "laravel meli package", + "laravel mellat", + "laravel mellat package", + "laravel melli bank payment package", + "laravel parsian", + "laravel parsian package", + "laravel pasargad", + "laravel pasargad package", + "laravel pay", + "laravel pay package", + "laravel payline", + "laravel payline package", + "laravel payment gateway", + "laravel payment package", + "laravel paypal", + "laravel paypal package", + "laravel sadad", + "laravel sadad package", + "laravel saderat", + "laravel saderat package", + "laravel saman", + "laravel saman package", + "laravel shaparak", + "laravel shaparak package", + "laravel zarinpal", + "laravel zarinpal package", + "meli payment gateway", + "mellat", + "mellat payment gateway", + "melli", + "parsian", + "parsian payment gateway", + "pasargad", + "pasargad payment gateway", + "pay", + "pay payment gateway", + "payline payment gateway", + "payment", + "payment gateway", + "paypal", + "paypal payment gateway", + "sadad", + "sadad payment gateway", + "saderat", + "saderat payment gateway", + "saman", + "saman payment gateway", + "shaparak", + "shaparak payment gateway", + "shetabit", + "zarinpal", + "zarinpal payment gateway" + ], + "support": { + "issues": "https://github.com/shetabit/payment/issues", + "source": "https://github.com/shetabit/payment/tree/v5.8.0" + }, + "time": "2024-03-07T10:11:00+00:00" + }, + { + "name": "symfony/console", + "version": "v6.4.3", + "source": { + "type": "git", + "url": "https://github.com/symfony/console.git", + "reference": "2aaf83b4de5b9d43b93e4aec6f2f8b676f7c567e" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/console/zipball/2aaf83b4de5b9d43b93e4aec6f2f8b676f7c567e", + "reference": "2aaf83b4de5b9d43b93e4aec6f2f8b676f7c567e", + "shasum": "" + }, + "require": { + "php": ">=8.1", + "symfony/deprecation-contracts": "^2.5|^3", + "symfony/polyfill-mbstring": "~1.0", + "symfony/service-contracts": "^2.5|^3", + "symfony/string": "^5.4|^6.0|^7.0" + }, + "conflict": { + "symfony/dependency-injection": "<5.4", + "symfony/dotenv": "<5.4", + "symfony/event-dispatcher": "<5.4", + "symfony/lock": "<5.4", + "symfony/process": "<5.4" + }, + "provide": { + "psr/log-implementation": "1.0|2.0|3.0" + }, + "require-dev": { + "psr/log": "^1|^2|^3", + "symfony/config": "^5.4|^6.0|^7.0", + "symfony/dependency-injection": "^5.4|^6.0|^7.0", + "symfony/event-dispatcher": "^5.4|^6.0|^7.0", + "symfony/http-foundation": "^6.4|^7.0", + "symfony/http-kernel": "^6.4|^7.0", + "symfony/lock": "^5.4|^6.0|^7.0", + "symfony/messenger": "^5.4|^6.0|^7.0", + "symfony/process": "^5.4|^6.0|^7.0", + "symfony/stopwatch": "^5.4|^6.0|^7.0", + "symfony/var-dumper": "^5.4|^6.0|^7.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/v6.4.3" + }, + "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-01-23T14:51:35+00:00" + }, + { + "name": "symfony/css-selector", + "version": "v6.4.3", + "source": { + "type": "git", + "url": "https://github.com/symfony/css-selector.git", + "reference": "ee0f7ed5cf298cc019431bb3b3977ebc52b86229" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/css-selector/zipball/ee0f7ed5cf298cc019431bb3b3977ebc52b86229", + "reference": "ee0f7ed5cf298cc019431bb3b3977ebc52b86229", + "shasum": "" + }, + "require": { + "php": ">=8.1" + }, + "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/v6.4.3" + }, + "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-01-23T14:51:35+00:00" + }, + { + "name": "symfony/deprecation-contracts", + "version": "v3.4.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/deprecation-contracts.git", + "reference": "7c3aff79d10325257a001fcf92d991f24fc967cf" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/deprecation-contracts/zipball/7c3aff79d10325257a001fcf92d991f24fc967cf", + "reference": "7c3aff79d10325257a001fcf92d991f24fc967cf", + "shasum": "" + }, + "require": { + "php": ">=8.1" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "3.4-dev" + }, + "thanks": { + "name": "symfony/contracts", + "url": "https://github.com/symfony/contracts" + } + }, + "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.4.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": "2023-05-23T14:45:45+00:00" + }, + { + "name": "symfony/error-handler", + "version": "v6.4.3", + "source": { + "type": "git", + "url": "https://github.com/symfony/error-handler.git", + "reference": "6dc3c76a278b77f01d864a6005d640822c6f26a6" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/error-handler/zipball/6dc3c76a278b77f01d864a6005d640822c6f26a6", + "reference": "6dc3c76a278b77f01d864a6005d640822c6f26a6", + "shasum": "" + }, + "require": { + "php": ">=8.1", + "psr/log": "^1|^2|^3", + "symfony/var-dumper": "^5.4|^6.0|^7.0" + }, + "conflict": { + "symfony/deprecation-contracts": "<2.5", + "symfony/http-kernel": "<6.4" + }, + "require-dev": { + "symfony/deprecation-contracts": "^2.5|^3", + "symfony/http-kernel": "^6.4|^7.0", + "symfony/serializer": "^5.4|^6.0|^7.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/v6.4.3" + }, + "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-01-29T15:40:36+00:00" + }, + { + "name": "symfony/event-dispatcher", + "version": "v6.4.3", + "source": { + "type": "git", + "url": "https://github.com/symfony/event-dispatcher.git", + "reference": "ae9d3a6f3003a6caf56acd7466d8d52378d44fef" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/ae9d3a6f3003a6caf56acd7466d8d52378d44fef", + "reference": "ae9d3a6f3003a6caf56acd7466d8d52378d44fef", + "shasum": "" + }, + "require": { + "php": ">=8.1", + "symfony/event-dispatcher-contracts": "^2.5|^3" + }, + "conflict": { + "symfony/dependency-injection": "<5.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": "^5.4|^6.0|^7.0", + "symfony/dependency-injection": "^5.4|^6.0|^7.0", + "symfony/error-handler": "^5.4|^6.0|^7.0", + "symfony/expression-language": "^5.4|^6.0|^7.0", + "symfony/http-foundation": "^5.4|^6.0|^7.0", + "symfony/service-contracts": "^2.5|^3", + "symfony/stopwatch": "^5.4|^6.0|^7.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/v6.4.3" + }, + "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-01-23T14:51:35+00:00" + }, + { + "name": "symfony/event-dispatcher-contracts", + "version": "v3.4.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/event-dispatcher-contracts.git", + "reference": "a76aed96a42d2b521153fb382d418e30d18b59df" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/event-dispatcher-contracts/zipball/a76aed96a42d2b521153fb382d418e30d18b59df", + "reference": "a76aed96a42d2b521153fb382d418e30d18b59df", + "shasum": "" + }, + "require": { + "php": ">=8.1", + "psr/event-dispatcher": "^1" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "3.4-dev" + }, + "thanks": { + "name": "symfony/contracts", + "url": "https://github.com/symfony/contracts" + } + }, + "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.4.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": "2023-05-23T14:45:45+00:00" + }, + { + "name": "symfony/finder", + "version": "v6.4.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/finder.git", + "reference": "11d736e97f116ac375a81f96e662911a34cd50ce" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/finder/zipball/11d736e97f116ac375a81f96e662911a34cd50ce", + "reference": "11d736e97f116ac375a81f96e662911a34cd50ce", + "shasum": "" + }, + "require": { + "php": ">=8.1" + }, + "require-dev": { + "symfony/filesystem": "^6.0|^7.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/v6.4.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": "2023-10-31T17:30:12+00:00" + }, + { + "name": "symfony/http-foundation", + "version": "v6.4.3", + "source": { + "type": "git", + "url": "https://github.com/symfony/http-foundation.git", + "reference": "5677bdf7cade4619cb17fc9e1e7b31ec392244a9" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/http-foundation/zipball/5677bdf7cade4619cb17fc9e1e7b31ec392244a9", + "reference": "5677bdf7cade4619cb17fc9e1e7b31ec392244a9", + "shasum": "" + }, + "require": { + "php": ">=8.1", + "symfony/deprecation-contracts": "^2.5|^3", + "symfony/polyfill-mbstring": "~1.1", + "symfony/polyfill-php83": "^1.27" + }, + "conflict": { + "symfony/cache": "<6.3" + }, + "require-dev": { + "doctrine/dbal": "^2.13.1|^3|^4", + "predis/predis": "^1.1|^2.0", + "symfony/cache": "^6.3|^7.0", + "symfony/dependency-injection": "^5.4|^6.0|^7.0", + "symfony/expression-language": "^5.4|^6.0|^7.0", + "symfony/http-kernel": "^5.4.12|^6.0.12|^6.1.4|^7.0", + "symfony/mime": "^5.4|^6.0|^7.0", + "symfony/rate-limiter": "^5.4|^6.0|^7.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/v6.4.3" + }, + "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-01-23T14:51:35+00:00" + }, + { + "name": "symfony/http-kernel", + "version": "v6.4.3", + "source": { + "type": "git", + "url": "https://github.com/symfony/http-kernel.git", + "reference": "9c6ec4e543044f7568a53a76ab1484ecd30637a2" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/http-kernel/zipball/9c6ec4e543044f7568a53a76ab1484ecd30637a2", + "reference": "9c6ec4e543044f7568a53a76ab1484ecd30637a2", + "shasum": "" + }, + "require": { + "php": ">=8.1", + "psr/log": "^1|^2|^3", + "symfony/deprecation-contracts": "^2.5|^3", + "symfony/error-handler": "^6.4|^7.0", + "symfony/event-dispatcher": "^5.4|^6.0|^7.0", + "symfony/http-foundation": "^6.4|^7.0", + "symfony/polyfill-ctype": "^1.8" + }, + "conflict": { + "symfony/browser-kit": "<5.4", + "symfony/cache": "<5.4", + "symfony/config": "<6.1", + "symfony/console": "<5.4", + "symfony/dependency-injection": "<6.4", + "symfony/doctrine-bridge": "<5.4", + "symfony/form": "<5.4", + "symfony/http-client": "<5.4", + "symfony/http-client-contracts": "<2.5", + "symfony/mailer": "<5.4", + "symfony/messenger": "<5.4", + "symfony/translation": "<5.4", + "symfony/translation-contracts": "<2.5", + "symfony/twig-bridge": "<5.4", + "symfony/validator": "<6.4", + "symfony/var-dumper": "<6.3", + "twig/twig": "<2.13" + }, + "provide": { + "psr/log-implementation": "1.0|2.0|3.0" + }, + "require-dev": { + "psr/cache": "^1.0|^2.0|^3.0", + "symfony/browser-kit": "^5.4|^6.0|^7.0", + "symfony/clock": "^6.2|^7.0", + "symfony/config": "^6.1|^7.0", + "symfony/console": "^5.4|^6.0|^7.0", + "symfony/css-selector": "^5.4|^6.0|^7.0", + "symfony/dependency-injection": "^6.4|^7.0", + "symfony/dom-crawler": "^5.4|^6.0|^7.0", + "symfony/expression-language": "^5.4|^6.0|^7.0", + "symfony/finder": "^5.4|^6.0|^7.0", + "symfony/http-client-contracts": "^2.5|^3", + "symfony/process": "^5.4|^6.0|^7.0", + "symfony/property-access": "^5.4.5|^6.0.5|^7.0", + "symfony/routing": "^5.4|^6.0|^7.0", + "symfony/serializer": "^6.3|^7.0", + "symfony/stopwatch": "^5.4|^6.0|^7.0", + "symfony/translation": "^5.4|^6.0|^7.0", + "symfony/translation-contracts": "^2.5|^3", + "symfony/uid": "^5.4|^6.0|^7.0", + "symfony/validator": "^6.4|^7.0", + "symfony/var-exporter": "^6.2|^7.0", + "twig/twig": "^2.13|^3.0.4" + }, + "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/v6.4.3" + }, + "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-01-31T07:21:29+00:00" + }, + { + "name": "symfony/mailer", + "version": "v6.4.3", + "source": { + "type": "git", + "url": "https://github.com/symfony/mailer.git", + "reference": "74412c62f88a85a41b61f0b71ab0afcaad6f03ee" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/mailer/zipball/74412c62f88a85a41b61f0b71ab0afcaad6f03ee", + "reference": "74412c62f88a85a41b61f0b71ab0afcaad6f03ee", + "shasum": "" + }, + "require": { + "egulias/email-validator": "^2.1.10|^3|^4", + "php": ">=8.1", + "psr/event-dispatcher": "^1", + "psr/log": "^1|^2|^3", + "symfony/event-dispatcher": "^5.4|^6.0|^7.0", + "symfony/mime": "^6.2|^7.0", + "symfony/service-contracts": "^2.5|^3" + }, + "conflict": { + "symfony/http-client-contracts": "<2.5", + "symfony/http-kernel": "<5.4", + "symfony/messenger": "<6.2", + "symfony/mime": "<6.2", + "symfony/twig-bridge": "<6.2.1" + }, + "require-dev": { + "symfony/console": "^5.4|^6.0|^7.0", + "symfony/http-client": "^5.4|^6.0|^7.0", + "symfony/messenger": "^6.2|^7.0", + "symfony/twig-bridge": "^6.2|^7.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/v6.4.3" + }, + "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-01-29T15:01:07+00:00" + }, + { + "name": "symfony/mime", + "version": "v6.4.3", + "source": { + "type": "git", + "url": "https://github.com/symfony/mime.git", + "reference": "5017e0a9398c77090b7694be46f20eb796262a34" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/mime/zipball/5017e0a9398c77090b7694be46f20eb796262a34", + "reference": "5017e0a9398c77090b7694be46f20eb796262a34", + "shasum": "" + }, + "require": { + "php": ">=8.1", + "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": "<5.4", + "symfony/serializer": "<6.3.2" + }, + "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": "^5.4|^6.0|^7.0", + "symfony/property-access": "^5.4|^6.0|^7.0", + "symfony/property-info": "^5.4|^6.0|^7.0", + "symfony/serializer": "^6.3.2|^7.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/v6.4.3" + }, + "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-01-30T08:32:12+00:00" + }, + { + "name": "symfony/polyfill-ctype", + "version": "v1.29.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/polyfill-ctype.git", + "reference": "ef4d7e442ca910c4764bce785146269b30cb5fc4" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/polyfill-ctype/zipball/ef4d7e442ca910c4764bce785146269b30cb5fc4", + "reference": "ef4d7e442ca910c4764bce785146269b30cb5fc4", + "shasum": "" + }, + "require": { + "php": ">=7.1" + }, + "provide": { + "ext-ctype": "*" + }, + "suggest": { + "ext-ctype": "For best performance" + }, + "type": "library", + "extra": { + "thanks": { + "name": "symfony/polyfill", + "url": "https://github.com/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.29.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-01-29T20:11:03+00:00" + }, + { + "name": "symfony/polyfill-intl-grapheme", + "version": "v1.29.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/polyfill-intl-grapheme.git", + "reference": "32a9da87d7b3245e09ac426c83d334ae9f06f80f" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/polyfill-intl-grapheme/zipball/32a9da87d7b3245e09ac426c83d334ae9f06f80f", + "reference": "32a9da87d7b3245e09ac426c83d334ae9f06f80f", + "shasum": "" + }, + "require": { + "php": ">=7.1" + }, + "suggest": { + "ext-intl": "For best performance" + }, + "type": "library", + "extra": { + "thanks": { + "name": "symfony/polyfill", + "url": "https://github.com/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.29.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-01-29T20:11:03+00:00" + }, + { + "name": "symfony/polyfill-intl-idn", + "version": "v1.29.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/polyfill-intl-idn.git", + "reference": "a287ed7475f85bf6f61890146edbc932c0fff919" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/polyfill-intl-idn/zipball/a287ed7475f85bf6f61890146edbc932c0fff919", + "reference": "a287ed7475f85bf6f61890146edbc932c0fff919", + "shasum": "" + }, + "require": { + "php": ">=7.1", + "symfony/polyfill-intl-normalizer": "^1.10", + "symfony/polyfill-php72": "^1.10" + }, + "suggest": { + "ext-intl": "For best performance" + }, + "type": "library", + "extra": { + "thanks": { + "name": "symfony/polyfill", + "url": "https://github.com/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.29.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-01-29T20:11:03+00:00" + }, + { + "name": "symfony/polyfill-intl-normalizer", + "version": "v1.29.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/polyfill-intl-normalizer.git", + "reference": "bc45c394692b948b4d383a08d7753968bed9a83d" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/polyfill-intl-normalizer/zipball/bc45c394692b948b4d383a08d7753968bed9a83d", + "reference": "bc45c394692b948b4d383a08d7753968bed9a83d", + "shasum": "" + }, + "require": { + "php": ">=7.1" + }, + "suggest": { + "ext-intl": "For best performance" + }, + "type": "library", + "extra": { + "thanks": { + "name": "symfony/polyfill", + "url": "https://github.com/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.29.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-01-29T20:11:03+00:00" + }, + { + "name": "symfony/polyfill-mbstring", + "version": "v1.29.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/polyfill-mbstring.git", + "reference": "9773676c8a1bb1f8d4340a62efe641cf76eda7ec" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/9773676c8a1bb1f8d4340a62efe641cf76eda7ec", + "reference": "9773676c8a1bb1f8d4340a62efe641cf76eda7ec", + "shasum": "" + }, + "require": { + "php": ">=7.1" + }, + "provide": { + "ext-mbstring": "*" + }, + "suggest": { + "ext-mbstring": "For best performance" + }, + "type": "library", + "extra": { + "thanks": { + "name": "symfony/polyfill", + "url": "https://github.com/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.29.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-01-29T20:11:03+00:00" + }, + { + "name": "symfony/polyfill-php72", + "version": "v1.29.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/polyfill-php72.git", + "reference": "861391a8da9a04cbad2d232ddd9e4893220d6e25" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/polyfill-php72/zipball/861391a8da9a04cbad2d232ddd9e4893220d6e25", + "reference": "861391a8da9a04cbad2d232ddd9e4893220d6e25", + "shasum": "" + }, + "require": { + "php": ">=7.1" + }, + "type": "library", + "extra": { + "thanks": { + "name": "symfony/polyfill", + "url": "https://github.com/symfony/polyfill" + } + }, + "autoload": { + "files": [ + "bootstrap.php" + ], + "psr-4": { + "Symfony\\Polyfill\\Php72\\": "" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony polyfill backporting some PHP 7.2+ features to lower PHP versions", + "homepage": "https://symfony.com", + "keywords": [ + "compatibility", + "polyfill", + "portable", + "shim" + ], + "support": { + "source": "https://github.com/symfony/polyfill-php72/tree/v1.29.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-01-29T20:11:03+00:00" + }, + { + "name": "symfony/polyfill-php80", + "version": "v1.29.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/polyfill-php80.git", + "reference": "87b68208d5c1188808dd7839ee1e6c8ec3b02f1b" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/polyfill-php80/zipball/87b68208d5c1188808dd7839ee1e6c8ec3b02f1b", + "reference": "87b68208d5c1188808dd7839ee1e6c8ec3b02f1b", + "shasum": "" + }, + "require": { + "php": ">=7.1" + }, + "type": "library", + "extra": { + "thanks": { + "name": "symfony/polyfill", + "url": "https://github.com/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.29.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-01-29T20:11:03+00:00" + }, + { + "name": "symfony/polyfill-php83", + "version": "v1.29.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/polyfill-php83.git", + "reference": "86fcae159633351e5fd145d1c47de6c528f8caff" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/polyfill-php83/zipball/86fcae159633351e5fd145d1c47de6c528f8caff", + "reference": "86fcae159633351e5fd145d1c47de6c528f8caff", + "shasum": "" + }, + "require": { + "php": ">=7.1", + "symfony/polyfill-php80": "^1.14" + }, + "type": "library", + "extra": { + "thanks": { + "name": "symfony/polyfill", + "url": "https://github.com/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.29.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-01-29T20:11:03+00:00" + }, + { + "name": "symfony/polyfill-uuid", + "version": "v1.29.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/polyfill-uuid.git", + "reference": "3abdd21b0ceaa3000ee950097bc3cf9efc137853" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/polyfill-uuid/zipball/3abdd21b0ceaa3000ee950097bc3cf9efc137853", + "reference": "3abdd21b0ceaa3000ee950097bc3cf9efc137853", + "shasum": "" + }, + "require": { + "php": ">=7.1" + }, + "provide": { + "ext-uuid": "*" + }, + "suggest": { + "ext-uuid": "For best performance" + }, + "type": "library", + "extra": { + "thanks": { + "name": "symfony/polyfill", + "url": "https://github.com/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.29.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-01-29T20:11:03+00:00" + }, + { + "name": "symfony/process", + "version": "v6.4.3", + "source": { + "type": "git", + "url": "https://github.com/symfony/process.git", + "reference": "31642b0818bfcff85930344ef93193f8c607e0a3" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/process/zipball/31642b0818bfcff85930344ef93193f8c607e0a3", + "reference": "31642b0818bfcff85930344ef93193f8c607e0a3", + "shasum": "" + }, + "require": { + "php": ">=8.1" + }, + "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/v6.4.3" + }, + "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-01-23T14:51:35+00:00" + }, + { + "name": "symfony/routing", + "version": "v6.4.3", + "source": { + "type": "git", + "url": "https://github.com/symfony/routing.git", + "reference": "3b2957ad54902f0f544df83e3d58b38d7e8e5842" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/routing/zipball/3b2957ad54902f0f544df83e3d58b38d7e8e5842", + "reference": "3b2957ad54902f0f544df83e3d58b38d7e8e5842", + "shasum": "" + }, + "require": { + "php": ">=8.1", + "symfony/deprecation-contracts": "^2.5|^3" + }, + "conflict": { + "doctrine/annotations": "<1.12", + "symfony/config": "<6.2", + "symfony/dependency-injection": "<5.4", + "symfony/yaml": "<5.4" + }, + "require-dev": { + "doctrine/annotations": "^1.12|^2", + "psr/log": "^1|^2|^3", + "symfony/config": "^6.2|^7.0", + "symfony/dependency-injection": "^5.4|^6.0|^7.0", + "symfony/expression-language": "^5.4|^6.0|^7.0", + "symfony/http-foundation": "^5.4|^6.0|^7.0", + "symfony/yaml": "^5.4|^6.0|^7.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/v6.4.3" + }, + "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-01-30T13:55:02+00:00" + }, + { + "name": "symfony/service-contracts", + "version": "v3.4.1", + "source": { + "type": "git", + "url": "https://github.com/symfony/service-contracts.git", + "reference": "fe07cbc8d837f60caf7018068e350cc5163681a0" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/service-contracts/zipball/fe07cbc8d837f60caf7018068e350cc5163681a0", + "reference": "fe07cbc8d837f60caf7018068e350cc5163681a0", + "shasum": "" + }, + "require": { + "php": ">=8.1", + "psr/container": "^1.1|^2.0" + }, + "conflict": { + "ext-psr": "<1.1|>=2" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "3.4-dev" + }, + "thanks": { + "name": "symfony/contracts", + "url": "https://github.com/symfony/contracts" + } + }, + "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.4.1" + }, + "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": "2023-12-26T14:02:43+00:00" + }, + { + "name": "symfony/string", + "version": "v6.4.3", + "source": { + "type": "git", + "url": "https://github.com/symfony/string.git", + "reference": "7a14736fb179876575464e4658fce0c304e8c15b" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/string/zipball/7a14736fb179876575464e4658fce0c304e8c15b", + "reference": "7a14736fb179876575464e4658fce0c304e8c15b", + "shasum": "" + }, + "require": { + "php": ">=8.1", + "symfony/polyfill-ctype": "~1.8", + "symfony/polyfill-intl-grapheme": "~1.0", + "symfony/polyfill-intl-normalizer": "~1.0", + "symfony/polyfill-mbstring": "~1.0" + }, + "conflict": { + "symfony/translation-contracts": "<2.5" + }, + "require-dev": { + "symfony/error-handler": "^5.4|^6.0|^7.0", + "symfony/http-client": "^5.4|^6.0|^7.0", + "symfony/intl": "^6.2|^7.0", + "symfony/translation-contracts": "^2.5|^3.0", + "symfony/var-exporter": "^5.4|^6.0|^7.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/v6.4.3" + }, + "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-01-25T09:26:29+00:00" + }, + { + "name": "symfony/translation", + "version": "v6.4.3", + "source": { + "type": "git", + "url": "https://github.com/symfony/translation.git", + "reference": "637c51191b6b184184bbf98937702bcf554f7d04" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/translation/zipball/637c51191b6b184184bbf98937702bcf554f7d04", + "reference": "637c51191b6b184184bbf98937702bcf554f7d04", + "shasum": "" + }, + "require": { + "php": ">=8.1", + "symfony/deprecation-contracts": "^2.5|^3", + "symfony/polyfill-mbstring": "~1.0", + "symfony/translation-contracts": "^2.5|^3.0" + }, + "conflict": { + "symfony/config": "<5.4", + "symfony/console": "<5.4", + "symfony/dependency-injection": "<5.4", + "symfony/http-client-contracts": "<2.5", + "symfony/http-kernel": "<5.4", + "symfony/service-contracts": "<2.5", + "symfony/twig-bundle": "<5.4", + "symfony/yaml": "<5.4" + }, + "provide": { + "symfony/translation-implementation": "2.3|3.0" + }, + "require-dev": { + "nikic/php-parser": "^4.18|^5.0", + "psr/log": "^1|^2|^3", + "symfony/config": "^5.4|^6.0|^7.0", + "symfony/console": "^5.4|^6.0|^7.0", + "symfony/dependency-injection": "^5.4|^6.0|^7.0", + "symfony/finder": "^5.4|^6.0|^7.0", + "symfony/http-client-contracts": "^2.5|^3.0", + "symfony/http-kernel": "^5.4|^6.0|^7.0", + "symfony/intl": "^5.4|^6.0|^7.0", + "symfony/polyfill-intl-icu": "^1.21", + "symfony/routing": "^5.4|^6.0|^7.0", + "symfony/service-contracts": "^2.5|^3", + "symfony/yaml": "^5.4|^6.0|^7.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/v6.4.3" + }, + "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-01-29T13:11:52+00:00" + }, + { + "name": "symfony/translation-contracts", + "version": "v3.4.1", + "source": { + "type": "git", + "url": "https://github.com/symfony/translation-contracts.git", + "reference": "06450585bf65e978026bda220cdebca3f867fde7" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/translation-contracts/zipball/06450585bf65e978026bda220cdebca3f867fde7", + "reference": "06450585bf65e978026bda220cdebca3f867fde7", + "shasum": "" + }, + "require": { + "php": ">=8.1" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "3.4-dev" + }, + "thanks": { + "name": "symfony/contracts", + "url": "https://github.com/symfony/contracts" + } + }, + "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.4.1" + }, + "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": "2023-12-26T14:02:43+00:00" + }, + { + "name": "symfony/uid", + "version": "v6.4.3", + "source": { + "type": "git", + "url": "https://github.com/symfony/uid.git", + "reference": "1d31267211cc3a2fff32bcfc7c1818dac41b6fc0" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/uid/zipball/1d31267211cc3a2fff32bcfc7c1818dac41b6fc0", + "reference": "1d31267211cc3a2fff32bcfc7c1818dac41b6fc0", + "shasum": "" + }, + "require": { + "php": ">=8.1", + "symfony/polyfill-uuid": "^1.15" + }, + "require-dev": { + "symfony/console": "^5.4|^6.0|^7.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/v6.4.3" + }, + "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-01-23T14:51:35+00:00" + }, + { + "name": "symfony/var-dumper", + "version": "v6.4.3", + "source": { + "type": "git", + "url": "https://github.com/symfony/var-dumper.git", + "reference": "0435a08f69125535336177c29d56af3abc1f69da" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/var-dumper/zipball/0435a08f69125535336177c29d56af3abc1f69da", + "reference": "0435a08f69125535336177c29d56af3abc1f69da", + "shasum": "" + }, + "require": { + "php": ">=8.1", + "symfony/deprecation-contracts": "^2.5|^3", + "symfony/polyfill-mbstring": "~1.0" + }, + "conflict": { + "symfony/console": "<5.4" + }, + "require-dev": { + "ext-iconv": "*", + "symfony/console": "^5.4|^6.0|^7.0", + "symfony/error-handler": "^6.3|^7.0", + "symfony/http-kernel": "^5.4|^6.0|^7.0", + "symfony/process": "^5.4|^6.0|^7.0", + "symfony/uid": "^5.4|^6.0|^7.0", + "twig/twig": "^2.13|^3.0.4" + }, + "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/v6.4.3" + }, + "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-01-23T14:53:30+00:00" + }, + { + "name": "tijsverkoyen/css-to-inline-styles", + "version": "v2.2.7", + "source": { + "type": "git", + "url": "https://github.com/tijsverkoyen/CssToInlineStyles.git", + "reference": "83ee6f38df0a63106a9e4536e3060458b74ccedb" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/tijsverkoyen/CssToInlineStyles/zipball/83ee6f38df0a63106a9e4536e3060458b74ccedb", + "reference": "83ee6f38df0a63106a9e4536e3060458b74ccedb", + "shasum": "" + }, + "require": { + "ext-dom": "*", + "ext-libxml": "*", + "php": "^5.5 || ^7.0 || ^8.0", + "symfony/css-selector": "^2.7 || ^3.0 || ^4.0 || ^5.0 || ^6.0 || ^7.0" + }, + "require-dev": { + "phpunit/phpunit": "^4.8.35 || ^5.7 || ^6.0 || ^7.5 || ^8.5.21 || ^9.5.10" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.2.x-dev" + } + }, + "autoload": { + "psr-4": { + "TijsVerkoyen\\CssToInlineStyles\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Tijs Verkoyen", + "email": "css_to_inline_styles@verkoyen.eu", + "role": "Developer" + } + ], + "description": "CssToInlineStyles is a class that enables you to convert HTML-pages/files into HTML-pages/files with inline styles. This is very useful when you're sending emails.", + "homepage": "https://github.com/tijsverkoyen/CssToInlineStyles", + "support": { + "issues": "https://github.com/tijsverkoyen/CssToInlineStyles/issues", + "source": "https://github.com/tijsverkoyen/CssToInlineStyles/tree/v2.2.7" + }, + "time": "2023-12-08T13:03:43+00:00" + }, + { + "name": "vlucas/phpdotenv", + "version": "v5.6.0", + "source": { + "type": "git", + "url": "https://github.com/vlucas/phpdotenv.git", + "reference": "2cf9fb6054c2bb1d59d1f3817706ecdb9d2934c4" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/vlucas/phpdotenv/zipball/2cf9fb6054c2bb1d59d1f3817706ecdb9d2934c4", + "reference": "2cf9fb6054c2bb1d59d1f3817706ecdb9d2934c4", + "shasum": "" + }, + "require": { + "ext-pcre": "*", + "graham-campbell/result-type": "^1.1.2", + "php": "^7.2.5 || ^8.0", + "phpoption/phpoption": "^1.9.2", + "symfony/polyfill-ctype": "^1.24", + "symfony/polyfill-mbstring": "^1.24", + "symfony/polyfill-php80": "^1.24" + }, + "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": true + }, + "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.0" + }, + "funding": [ + { + "url": "https://github.com/GrahamCampbell", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/vlucas/phpdotenv", + "type": "tidelift" + } + ], + "time": "2023-11-12T22:43:29+00:00" + }, + { + "name": "voku/portable-ascii", + "version": "2.0.1", + "source": { + "type": "git", + "url": "https://github.com/voku/portable-ascii.git", + "reference": "b56450eed252f6801410d810c8e1727224ae0743" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/voku/portable-ascii/zipball/b56450eed252f6801410d810c8e1727224ae0743", + "reference": "b56450eed252f6801410d810c8e1727224ae0743", + "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": "http://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.1" + }, + "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": "2022-03-08T17:03:00+00:00" + }, + { + "name": "webmozart/assert", + "version": "1.11.0", + "source": { + "type": "git", + "url": "https://github.com/webmozarts/assert.git", + "reference": "11cb2199493b2f8a3b53e7f19068fc6aac760991" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/webmozarts/assert/zipball/11cb2199493b2f8a3b53e7f19068fc6aac760991", + "reference": "11cb2199493b2f8a3b53e7f19068fc6aac760991", + "shasum": "" + }, + "require": { + "ext-ctype": "*", + "php": "^7.2 || ^8.0" + }, + "conflict": { + "phpstan/phpstan": "<0.12.20", + "vimeo/psalm": "<4.6.1 || 4.6.2" + }, + "require-dev": { + "phpunit/phpunit": "^8.5.13" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.10-dev" + } + }, + "autoload": { + "psr-4": { + "Webmozart\\Assert\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Bernhard Schussek", + "email": "bschussek@gmail.com" + } + ], + "description": "Assertions to validate method input/output with nice error messages.", + "keywords": [ + "assert", + "check", + "validate" + ], + "support": { + "issues": "https://github.com/webmozarts/assert/issues", + "source": "https://github.com/webmozarts/assert/tree/1.11.0" + }, + "time": "2022-06-03T18:03:27+00:00" + } + ], + "packages-dev": [ + { + "name": "barryvdh/laravel-debugbar", + "version": "v3.10.5", + "source": { + "type": "git", + "url": "https://github.com/barryvdh/laravel-debugbar.git", + "reference": "d1a48965f2b25a6cec2eea07d719b568a37c9a88" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/barryvdh/laravel-debugbar/zipball/d1a48965f2b25a6cec2eea07d719b568a37c9a88", + "reference": "d1a48965f2b25a6cec2eea07d719b568a37c9a88", + "shasum": "" + }, + "require": { + "illuminate/routing": "^9|^10|^11", + "illuminate/session": "^9|^10|^11", + "illuminate/support": "^9|^10|^11", + "maximebf/debugbar": "~1.20.1", + "php": "^8.0", + "symfony/finder": "^6|^7" + }, + "require-dev": { + "mockery/mockery": "^1.3.3", + "orchestra/testbench-dusk": "^5|^6|^7|^8|^9", + "phpunit/phpunit": "^8.5.30|^9.0", + "squizlabs/php_codesniffer": "^3.5" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "3.10-dev" + }, + "laravel": { + "providers": [ + "Barryvdh\\Debugbar\\ServiceProvider" + ], + "aliases": { + "Debugbar": "Barryvdh\\Debugbar\\Facades\\Debugbar" + } + } + }, + "autoload": { + "files": [ + "src/helpers.php" + ], + "psr-4": { + "Barryvdh\\Debugbar\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Barry vd. Heuvel", + "email": "barryvdh@gmail.com" + } + ], + "description": "PHP Debugbar integration for Laravel", + "keywords": [ + "debug", + "debugbar", + "laravel", + "profiler", + "webprofiler" + ], + "support": { + "issues": "https://github.com/barryvdh/laravel-debugbar/issues", + "source": "https://github.com/barryvdh/laravel-debugbar/tree/v3.10.5" + }, + "funding": [ + { + "url": "https://fruitcake.nl", + "type": "custom" + }, + { + "url": "https://github.com/barryvdh", + "type": "github" + } + ], + "time": "2024-02-15T10:45:45+00:00" + }, + { + "name": "fakerphp/faker", + "version": "v1.23.1", + "source": { + "type": "git", + "url": "https://github.com/FakerPHP/Faker.git", + "reference": "bfb4fe148adbf78eff521199619b93a52ae3554b" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/FakerPHP/Faker/zipball/bfb4fe148adbf78eff521199619b93a52ae3554b", + "reference": "bfb4fe148adbf78eff521199619b93a52ae3554b", + "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.23.1" + }, + "time": "2024-01-02T13:46:09+00:00" + }, + { + "name": "filp/whoops", + "version": "2.15.4", + "source": { + "type": "git", + "url": "https://github.com/filp/whoops.git", + "reference": "a139776fa3f5985a50b509f2a02ff0f709d2a546" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/filp/whoops/zipball/a139776fa3f5985a50b509f2a02ff0f709d2a546", + "reference": "a139776fa3f5985a50b509f2a02ff0f709d2a546", + "shasum": "" + }, + "require": { + "php": "^5.5.9 || ^7.0 || ^8.0", + "psr/log": "^1.0.1 || ^2.0 || ^3.0" + }, + "require-dev": { + "mockery/mockery": "^0.9 || ^1.0", + "phpunit/phpunit": "^4.8.36 || ^5.7.27 || ^6.5.14 || ^7.5.20 || ^8.5.8 || ^9.3.3", + "symfony/var-dumper": "^2.6 || ^3.0 || ^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.15.4" + }, + "funding": [ + { + "url": "https://github.com/denis-sokolov", + "type": "github" + } + ], + "time": "2023-11-03T12:00:00+00:00" + }, + { + "name": "hamcrest/hamcrest-php", + "version": "v2.0.1", + "source": { + "type": "git", + "url": "https://github.com/hamcrest/hamcrest-php.git", + "reference": "8c3d0a3f6af734494ad8f6fbbee0ba92422859f3" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/hamcrest/hamcrest-php/zipball/8c3d0a3f6af734494ad8f6fbbee0ba92422859f3", + "reference": "8c3d0a3f6af734494ad8f6fbbee0ba92422859f3", + "shasum": "" + }, + "require": { + "php": "^5.3|^7.0|^8.0" + }, + "replace": { + "cordoval/hamcrest-php": "*", + "davedevelopment/hamcrest-php": "*", + "kodova/hamcrest-php": "*" + }, + "require-dev": { + "phpunit/php-file-iterator": "^1.4 || ^2.0", + "phpunit/phpunit": "^4.8.36 || ^5.7 || ^6.5 || ^7.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.0.1" + }, + "time": "2020-07-09T08:09:16+00:00" + }, + { + "name": "laravel/pint", + "version": "v1.14.0", + "source": { + "type": "git", + "url": "https://github.com/laravel/pint.git", + "reference": "6b127276e3f263f7bb17d5077e9e0269e61b2a0e" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/laravel/pint/zipball/6b127276e3f263f7bb17d5077e9e0269e61b2a0e", + "reference": "6b127276e3f263f7bb17d5077e9e0269e61b2a0e", + "shasum": "" + }, + "require": { + "ext-json": "*", + "ext-mbstring": "*", + "ext-tokenizer": "*", + "ext-xml": "*", + "php": "^8.1.0" + }, + "require-dev": { + "friendsofphp/php-cs-fixer": "^3.49.0", + "illuminate/view": "^10.43.0", + "larastan/larastan": "^2.8.1", + "laravel-zero/framework": "^10.3.0", + "mockery/mockery": "^1.6.7", + "nunomaduro/termwind": "^1.15.1", + "pestphp/pest": "^2.33.6" + }, + "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": [ + "format", + "formatter", + "lint", + "linter", + "php" + ], + "support": { + "issues": "https://github.com/laravel/pint/issues", + "source": "https://github.com/laravel/pint" + }, + "time": "2024-02-20T17:38:05+00:00" + }, + { + "name": "laravel/sail", + "version": "v1.28.0", + "source": { + "type": "git", + "url": "https://github.com/laravel/sail.git", + "reference": "a05861ca9b04558b1ec1f36cff521a271a259b6c" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/laravel/sail/zipball/a05861ca9b04558b1ec1f36cff521a271a259b6c", + "reference": "a05861ca9b04558b1ec1f36cff521a271a259b6c", + "shasum": "" + }, + "require": { + "illuminate/console": "^9.52.16|^10.0|^11.0", + "illuminate/contracts": "^9.52.16|^10.0|^11.0", + "illuminate/support": "^9.52.16|^10.0|^11.0", + "php": "^8.0", + "symfony/yaml": "^6.0|^7.0" + }, + "require-dev": { + "orchestra/testbench": "^7.0|^8.0|^9.0", + "phpstan/phpstan": "^1.10" + }, + "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": "2024-02-20T15:11:00+00:00" + }, + { + "name": "maximebf/debugbar", + "version": "v1.20.2", + "source": { + "type": "git", + "url": "https://github.com/maximebf/php-debugbar.git", + "reference": "484625c23a4fa4f303617f29fcacd42951c9c01d" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/maximebf/php-debugbar/zipball/484625c23a4fa4f303617f29fcacd42951c9c01d", + "reference": "484625c23a4fa4f303617f29fcacd42951c9c01d", + "shasum": "" + }, + "require": { + "php": "^7.1|^8", + "psr/log": "^1|^2|^3", + "symfony/var-dumper": "^4|^5|^6|^7" + }, + "require-dev": { + "phpunit/phpunit": ">=7.5.20 <10.0", + "twig/twig": "^1.38|^2.7|^3.0" + }, + "suggest": { + "kriswallsmith/assetic": "The best way to manage assets", + "monolog/monolog": "Log using Monolog", + "predis/predis": "Redis storage" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.20-dev" + } + }, + "autoload": { + "psr-4": { + "DebugBar\\": "src/DebugBar/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Maxime Bouroumeau-Fuseau", + "email": "maxime.bouroumeau@gmail.com", + "homepage": "http://maximebf.com" + }, + { + "name": "Barry vd. Heuvel", + "email": "barryvdh@gmail.com" + } + ], + "description": "Debug bar in the browser for php application", + "homepage": "https://github.com/maximebf/php-debugbar", + "keywords": [ + "debug", + "debugbar" + ], + "support": { + "issues": "https://github.com/maximebf/php-debugbar/issues", + "source": "https://github.com/maximebf/php-debugbar/tree/v1.20.2" + }, + "time": "2024-02-15T10:49:09+00:00" + }, + { + "name": "mockery/mockery", + "version": "1.6.7", + "source": { + "type": "git", + "url": "https://github.com/mockery/mockery.git", + "reference": "0cc058854b3195ba21dc6b1f7b1f60f4ef3a9c06" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/mockery/mockery/zipball/0cc058854b3195ba21dc6b1f7b1f60f4ef3a9c06", + "reference": "0cc058854b3195ba21dc6b1f7b1f60f4ef3a9c06", + "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.10", + "symplify/easy-coding-standard": "^12.0.8" + }, + "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": "2023-12-10T02:24:34+00:00" + }, + { + "name": "myclabs/deep-copy", + "version": "1.11.1", + "source": { + "type": "git", + "url": "https://github.com/myclabs/DeepCopy.git", + "reference": "7284c22080590fb39f2ffa3e9057f10a4ddd0e0c" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/myclabs/DeepCopy/zipball/7284c22080590fb39f2ffa3e9057f10a4ddd0e0c", + "reference": "7284c22080590fb39f2ffa3e9057f10a4ddd0e0c", + "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", + "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.11.1" + }, + "funding": [ + { + "url": "https://tidelift.com/funding/github/packagist/myclabs/deep-copy", + "type": "tidelift" + } + ], + "time": "2023-03-08T13:26:56+00:00" + }, + { + "name": "nunomaduro/collision", + "version": "v7.10.0", + "source": { + "type": "git", + "url": "https://github.com/nunomaduro/collision.git", + "reference": "49ec67fa7b002712da8526678abd651c09f375b2" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/nunomaduro/collision/zipball/49ec67fa7b002712da8526678abd651c09f375b2", + "reference": "49ec67fa7b002712da8526678abd651c09f375b2", + "shasum": "" + }, + "require": { + "filp/whoops": "^2.15.3", + "nunomaduro/termwind": "^1.15.1", + "php": "^8.1.0", + "symfony/console": "^6.3.4" + }, + "conflict": { + "laravel/framework": ">=11.0.0" + }, + "require-dev": { + "brianium/paratest": "^7.3.0", + "laravel/framework": "^10.28.0", + "laravel/pint": "^1.13.3", + "laravel/sail": "^1.25.0", + "laravel/sanctum": "^3.3.1", + "laravel/tinker": "^2.8.2", + "nunomaduro/larastan": "^2.6.4", + "orchestra/testbench-core": "^8.13.0", + "pestphp/pest": "^2.23.2", + "phpunit/phpunit": "^10.4.1", + "sebastian/environment": "^6.0.1", + "spatie/laravel-ignition": "^2.3.1" + }, + "type": "library", + "extra": { + "laravel": { + "providers": [ + "NunoMaduro\\Collision\\Adapters\\Laravel\\CollisionServiceProvider" + ] + } + }, + "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", + "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": "2023-10-11T15:45:01+00:00" + }, + { + "name": "phar-io/manifest", + "version": "2.0.3", + "source": { + "type": "git", + "url": "https://github.com/phar-io/manifest.git", + "reference": "97803eca37d319dfa7826cc2437fc020857acb53" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/phar-io/manifest/zipball/97803eca37d319dfa7826cc2437fc020857acb53", + "reference": "97803eca37d319dfa7826cc2437fc020857acb53", + "shasum": "" + }, + "require": { + "ext-dom": "*", + "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.3" + }, + "time": "2021-07-20T11:28:43+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": "10.1.11", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/php-code-coverage.git", + "reference": "78c3b7625965c2513ee96569a4dbb62601784145" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/78c3b7625965c2513ee96569a4dbb62601784145", + "reference": "78c3b7625965c2513ee96569a4dbb62601784145", + "shasum": "" + }, + "require": { + "ext-dom": "*", + "ext-libxml": "*", + "ext-xmlwriter": "*", + "nikic/php-parser": "^4.18 || ^5.0", + "php": ">=8.1", + "phpunit/php-file-iterator": "^4.0", + "phpunit/php-text-template": "^3.0", + "sebastian/code-unit-reverse-lookup": "^3.0", + "sebastian/complexity": "^3.0", + "sebastian/environment": "^6.0", + "sebastian/lines-of-code": "^2.0", + "sebastian/version": "^4.0", + "theseer/tokenizer": "^1.2.0" + }, + "require-dev": { + "phpunit/phpunit": "^10.1" + }, + "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": "10.1-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de", + "role": "lead" + } + ], + "description": "Library that provides collection, processing, and rendering functionality for PHP code coverage information.", + "homepage": "https://github.com/sebastianbergmann/php-code-coverage", + "keywords": [ + "coverage", + "testing", + "xunit" + ], + "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/10.1.11" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2023-12-21T15:38:30+00:00" + }, + { + "name": "phpunit/php-file-iterator", + "version": "4.1.0", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/php-file-iterator.git", + "reference": "a95037b6d9e608ba092da1b23931e537cadc3c3c" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/php-file-iterator/zipball/a95037b6d9e608ba092da1b23931e537cadc3c3c", + "reference": "a95037b6d9e608ba092da1b23931e537cadc3c3c", + "shasum": "" + }, + "require": { + "php": ">=8.1" + }, + "require-dev": { + "phpunit/phpunit": "^10.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": "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/4.1.0" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2023-08-31T06:24:48+00:00" + }, + { + "name": "phpunit/php-invoker", + "version": "4.0.0", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/php-invoker.git", + "reference": "f5e568ba02fa5ba0ddd0f618391d5a9ea50b06d7" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/php-invoker/zipball/f5e568ba02fa5ba0ddd0f618391d5a9ea50b06d7", + "reference": "f5e568ba02fa5ba0ddd0f618391d5a9ea50b06d7", + "shasum": "" + }, + "require": { + "php": ">=8.1" + }, + "require-dev": { + "ext-pcntl": "*", + "phpunit/phpunit": "^10.0" + }, + "suggest": { + "ext-pcntl": "*" + }, + "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": "Invoke callables with a timeout", + "homepage": "https://github.com/sebastianbergmann/php-invoker/", + "keywords": [ + "process" + ], + "support": { + "issues": "https://github.com/sebastianbergmann/php-invoker/issues", + "source": "https://github.com/sebastianbergmann/php-invoker/tree/4.0.0" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2023-02-03T06:56:09+00:00" + }, + { + "name": "phpunit/php-text-template", + "version": "3.0.1", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/php-text-template.git", + "reference": "0c7b06ff49e3d5072f057eb1fa59258bf287a748" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/php-text-template/zipball/0c7b06ff49e3d5072f057eb1fa59258bf287a748", + "reference": "0c7b06ff49e3d5072f057eb1fa59258bf287a748", + "shasum": "" + }, + "require": { + "php": ">=8.1" + }, + "require-dev": { + "phpunit/phpunit": "^10.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": "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/3.0.1" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2023-08-31T14:07:24+00:00" + }, + { + "name": "phpunit/php-timer", + "version": "6.0.0", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/php-timer.git", + "reference": "e2a2d67966e740530f4a3343fe2e030ffdc1161d" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/php-timer/zipball/e2a2d67966e740530f4a3343fe2e030ffdc1161d", + "reference": "e2a2d67966e740530f4a3343fe2e030ffdc1161d", + "shasum": "" + }, + "require": { + "php": ">=8.1" + }, + "require-dev": { + "phpunit/phpunit": "^10.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", + "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", + "source": "https://github.com/sebastianbergmann/php-timer/tree/6.0.0" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2023-02-03T06:57:52+00:00" + }, + { + "name": "phpunit/phpunit", + "version": "10.5.10", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/phpunit.git", + "reference": "50b8e314b6d0dd06521dc31d1abffa73f25f850c" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/50b8e314b6d0dd06521dc31d1abffa73f25f850c", + "reference": "50b8e314b6d0dd06521dc31d1abffa73f25f850c", + "shasum": "" + }, + "require": { + "ext-dom": "*", + "ext-json": "*", + "ext-libxml": "*", + "ext-mbstring": "*", + "ext-xml": "*", + "ext-xmlwriter": "*", + "myclabs/deep-copy": "^1.10.1", + "phar-io/manifest": "^2.0.3", + "phar-io/version": "^3.0.2", + "php": ">=8.1", + "phpunit/php-code-coverage": "^10.1.5", + "phpunit/php-file-iterator": "^4.0", + "phpunit/php-invoker": "^4.0", + "phpunit/php-text-template": "^3.0", + "phpunit/php-timer": "^6.0", + "sebastian/cli-parser": "^2.0", + "sebastian/code-unit": "^2.0", + "sebastian/comparator": "^5.0", + "sebastian/diff": "^5.0", + "sebastian/environment": "^6.0", + "sebastian/exporter": "^5.1", + "sebastian/global-state": "^6.0.1", + "sebastian/object-enumerator": "^5.0", + "sebastian/recursion-context": "^5.0", + "sebastian/type": "^4.0", + "sebastian/version": "^4.0" + }, + "suggest": { + "ext-soap": "To be able to generate mocks based on WSDL files" + }, + "bin": [ + "phpunit" + ], + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "10.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/10.5.10" + }, + "funding": [ + { + "url": "https://phpunit.de/sponsors.html", + "type": "custom" + }, + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/phpunit/phpunit", + "type": "tidelift" + } + ], + "time": "2024-02-04T09:07:51+00:00" + }, + { + "name": "sebastian/cli-parser", + "version": "2.0.0", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/cli-parser.git", + "reference": "efdc130dbbbb8ef0b545a994fd811725c5282cae" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/cli-parser/zipball/efdc130dbbbb8ef0b545a994fd811725c5282cae", + "reference": "efdc130dbbbb8ef0b545a994fd811725c5282cae", + "shasum": "" + }, + "require": { + "php": ">=8.1" + }, + "require-dev": { + "phpunit/phpunit": "^10.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "2.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", + "source": "https://github.com/sebastianbergmann/cli-parser/tree/2.0.0" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2023-02-03T06:58:15+00:00" + }, + { + "name": "sebastian/code-unit", + "version": "2.0.0", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/code-unit.git", + "reference": "a81fee9eef0b7a76af11d121767abc44c104e503" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/code-unit/zipball/a81fee9eef0b7a76af11d121767abc44c104e503", + "reference": "a81fee9eef0b7a76af11d121767abc44c104e503", + "shasum": "" + }, + "require": { + "php": ">=8.1" + }, + "require-dev": { + "phpunit/phpunit": "^10.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "2.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", + "source": "https://github.com/sebastianbergmann/code-unit/tree/2.0.0" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2023-02-03T06:58:43+00:00" + }, + { + "name": "sebastian/code-unit-reverse-lookup", + "version": "3.0.0", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/code-unit-reverse-lookup.git", + "reference": "5e3a687f7d8ae33fb362c5c0743794bbb2420a1d" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/code-unit-reverse-lookup/zipball/5e3a687f7d8ae33fb362c5c0743794bbb2420a1d", + "reference": "5e3a687f7d8ae33fb362c5c0743794bbb2420a1d", + "shasum": "" + }, + "require": { + "php": ">=8.1" + }, + "require-dev": { + "phpunit/phpunit": "^10.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" + } + ], + "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", + "source": "https://github.com/sebastianbergmann/code-unit-reverse-lookup/tree/3.0.0" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2023-02-03T06:59:15+00:00" + }, + { + "name": "sebastian/comparator", + "version": "5.0.1", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/comparator.git", + "reference": "2db5010a484d53ebf536087a70b4a5423c102372" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/comparator/zipball/2db5010a484d53ebf536087a70b4a5423c102372", + "reference": "2db5010a484d53ebf536087a70b4a5423c102372", + "shasum": "" + }, + "require": { + "ext-dom": "*", + "ext-mbstring": "*", + "php": ">=8.1", + "sebastian/diff": "^5.0", + "sebastian/exporter": "^5.0" + }, + "require-dev": { + "phpunit/phpunit": "^10.3" + }, + "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" + }, + { + "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/5.0.1" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2023-08-14T13:18:12+00:00" + }, + { + "name": "sebastian/complexity", + "version": "3.2.0", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/complexity.git", + "reference": "68ff824baeae169ec9f2137158ee529584553799" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/complexity/zipball/68ff824baeae169ec9f2137158ee529584553799", + "reference": "68ff824baeae169ec9f2137158ee529584553799", + "shasum": "" + }, + "require": { + "nikic/php-parser": "^4.18 || ^5.0", + "php": ">=8.1" + }, + "require-dev": { + "phpunit/phpunit": "^10.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "3.2-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/3.2.0" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2023-12-21T08:37:17+00:00" + }, + { + "name": "sebastian/diff", + "version": "5.1.0", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/diff.git", + "reference": "fbf413a49e54f6b9b17e12d900ac7f6101591b7f" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/diff/zipball/fbf413a49e54f6b9b17e12d900ac7f6101591b7f", + "reference": "fbf413a49e54f6b9b17e12d900ac7f6101591b7f", + "shasum": "" + }, + "require": { + "php": ">=8.1" + }, + "require-dev": { + "phpunit/phpunit": "^10.0", + "symfony/process": "^4.2 || ^5" + }, + "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" + }, + { + "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/5.1.0" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2023-12-22T10:55:06+00:00" + }, + { + "name": "sebastian/environment", + "version": "6.0.1", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/environment.git", + "reference": "43c751b41d74f96cbbd4e07b7aec9675651e2951" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/environment/zipball/43c751b41d74f96cbbd4e07b7aec9675651e2951", + "reference": "43c751b41d74f96cbbd4e07b7aec9675651e2951", + "shasum": "" + }, + "require": { + "php": ">=8.1" + }, + "require-dev": { + "phpunit/phpunit": "^10.0" + }, + "suggest": { + "ext-posix": "*" + }, + "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": "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/6.0.1" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2023-04-11T05:39:26+00:00" + }, + { + "name": "sebastian/exporter", + "version": "5.1.1", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/exporter.git", + "reference": "64f51654862e0f5e318db7e9dcc2292c63cdbddc" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/exporter/zipball/64f51654862e0f5e318db7e9dcc2292c63cdbddc", + "reference": "64f51654862e0f5e318db7e9dcc2292c63cdbddc", + "shasum": "" + }, + "require": { + "ext-mbstring": "*", + "php": ">=8.1", + "sebastian/recursion-context": "^5.0" + }, + "require-dev": { + "phpunit/phpunit": "^10.0" + }, + "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" + }, + { + "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/5.1.1" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2023-09-24T13:22:09+00:00" + }, + { + "name": "sebastian/global-state", + "version": "6.0.1", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/global-state.git", + "reference": "7ea9ead78f6d380d2a667864c132c2f7b83055e4" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/global-state/zipball/7ea9ead78f6d380d2a667864c132c2f7b83055e4", + "reference": "7ea9ead78f6d380d2a667864c132c2f7b83055e4", + "shasum": "" + }, + "require": { + "php": ">=8.1", + "sebastian/object-reflector": "^3.0", + "sebastian/recursion-context": "^5.0" + }, + "require-dev": { + "ext-dom": "*", + "phpunit/phpunit": "^10.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": "Snapshotting of global state", + "homepage": "http://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/6.0.1" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2023-07-19T07:19:23+00:00" + }, + { + "name": "sebastian/lines-of-code", + "version": "2.0.2", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/lines-of-code.git", + "reference": "856e7f6a75a84e339195d48c556f23be2ebf75d0" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/lines-of-code/zipball/856e7f6a75a84e339195d48c556f23be2ebf75d0", + "reference": "856e7f6a75a84e339195d48c556f23be2ebf75d0", + "shasum": "" + }, + "require": { + "nikic/php-parser": "^4.18 || ^5.0", + "php": ">=8.1" + }, + "require-dev": { + "phpunit/phpunit": "^10.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "2.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/2.0.2" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2023-12-21T08:38:20+00:00" + }, + { + "name": "sebastian/object-enumerator", + "version": "5.0.0", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/object-enumerator.git", + "reference": "202d0e344a580d7f7d04b3fafce6933e59dae906" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/object-enumerator/zipball/202d0e344a580d7f7d04b3fafce6933e59dae906", + "reference": "202d0e344a580d7f7d04b3fafce6933e59dae906", + "shasum": "" + }, + "require": { + "php": ">=8.1", + "sebastian/object-reflector": "^3.0", + "sebastian/recursion-context": "^5.0" + }, + "require-dev": { + "phpunit/phpunit": "^10.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" + } + ], + "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", + "source": "https://github.com/sebastianbergmann/object-enumerator/tree/5.0.0" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2023-02-03T07:08:32+00:00" + }, + { + "name": "sebastian/object-reflector", + "version": "3.0.0", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/object-reflector.git", + "reference": "24ed13d98130f0e7122df55d06c5c4942a577957" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/object-reflector/zipball/24ed13d98130f0e7122df55d06c5c4942a577957", + "reference": "24ed13d98130f0e7122df55d06c5c4942a577957", + "shasum": "" + }, + "require": { + "php": ">=8.1" + }, + "require-dev": { + "phpunit/phpunit": "^10.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" + } + ], + "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", + "source": "https://github.com/sebastianbergmann/object-reflector/tree/3.0.0" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2023-02-03T07:06:18+00:00" + }, + { + "name": "sebastian/recursion-context", + "version": "5.0.0", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/recursion-context.git", + "reference": "05909fb5bc7df4c52992396d0116aed689f93712" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/recursion-context/zipball/05909fb5bc7df4c52992396d0116aed689f93712", + "reference": "05909fb5bc7df4c52992396d0116aed689f93712", + "shasum": "" + }, + "require": { + "php": ">=8.1" + }, + "require-dev": { + "phpunit/phpunit": "^10.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" + }, + { + "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", + "source": "https://github.com/sebastianbergmann/recursion-context/tree/5.0.0" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2023-02-03T07:05:40+00:00" + }, + { + "name": "sebastian/type", + "version": "4.0.0", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/type.git", + "reference": "462699a16464c3944eefc02ebdd77882bd3925bf" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/type/zipball/462699a16464c3944eefc02ebdd77882bd3925bf", + "reference": "462699a16464c3944eefc02ebdd77882bd3925bf", + "shasum": "" + }, + "require": { + "php": ">=8.1" + }, + "require-dev": { + "phpunit/phpunit": "^10.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": "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", + "source": "https://github.com/sebastianbergmann/type/tree/4.0.0" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2023-02-03T07:10:45+00:00" + }, + { + "name": "sebastian/version", + "version": "4.0.1", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/version.git", + "reference": "c51fa83a5d8f43f1402e3f32a005e6262244ef17" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/version/zipball/c51fa83a5d8f43f1402e3f32a005e6262244ef17", + "reference": "c51fa83a5d8f43f1402e3f32a005e6262244ef17", + "shasum": "" + }, + "require": { + "php": ">=8.1" + }, + "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 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", + "source": "https://github.com/sebastianbergmann/version/tree/4.0.1" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2023-02-07T11:34:05+00:00" + }, + { + "name": "spatie/backtrace", + "version": "1.5.3", + "source": { + "type": "git", + "url": "https://github.com/spatie/backtrace.git", + "reference": "483f76a82964a0431aa836b6ed0edde0c248e3ab" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/spatie/backtrace/zipball/483f76a82964a0431aa836b6ed0edde0c248e3ab", + "reference": "483f76a82964a0431aa836b6ed0edde0c248e3ab", + "shasum": "" + }, + "require": { + "php": "^7.3|^8.0" + }, + "require-dev": { + "ext-json": "*", + "phpunit/phpunit": "^9.3", + "spatie/phpunit-snapshot-assertions": "^4.2", + "symfony/var-dumper": "^5.1" + }, + "type": "library", + "autoload": { + "psr-4": { + "Spatie\\Backtrace\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Freek Van de Herten", + "email": "freek@spatie.be", + "homepage": "https://spatie.be", + "role": "Developer" + } + ], + "description": "A better backtrace", + "homepage": "https://github.com/spatie/backtrace", + "keywords": [ + "Backtrace", + "spatie" + ], + "support": { + "source": "https://github.com/spatie/backtrace/tree/1.5.3" + }, + "funding": [ + { + "url": "https://github.com/sponsors/spatie", + "type": "github" + }, + { + "url": "https://spatie.be/open-source/support-us", + "type": "other" + } + ], + "time": "2023-06-28T12:59:17+00:00" + }, + { + "name": "spatie/flare-client-php", + "version": "1.4.4", + "source": { + "type": "git", + "url": "https://github.com/spatie/flare-client-php.git", + "reference": "17082e780752d346c2db12ef5d6bee8e835e399c" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/spatie/flare-client-php/zipball/17082e780752d346c2db12ef5d6bee8e835e399c", + "reference": "17082e780752d346c2db12ef5d6bee8e835e399c", + "shasum": "" + }, + "require": { + "illuminate/pipeline": "^8.0|^9.0|^10.0|^11.0", + "php": "^8.0", + "spatie/backtrace": "^1.5.2", + "symfony/http-foundation": "^5.2|^6.0|^7.0", + "symfony/mime": "^5.2|^6.0|^7.0", + "symfony/process": "^5.2|^6.0|^7.0", + "symfony/var-dumper": "^5.2|^6.0|^7.0" + }, + "require-dev": { + "dms/phpunit-arraysubset-asserts": "^0.5.0", + "pestphp/pest": "^1.20|^2.0", + "phpstan/extension-installer": "^1.1", + "phpstan/phpstan-deprecation-rules": "^1.0", + "phpstan/phpstan-phpunit": "^1.0", + "spatie/phpunit-snapshot-assertions": "^4.0|^5.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "1.3.x-dev" + } + }, + "autoload": { + "files": [ + "src/helpers.php" + ], + "psr-4": { + "Spatie\\FlareClient\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "description": "Send PHP errors to Flare", + "homepage": "https://github.com/spatie/flare-client-php", + "keywords": [ + "exception", + "flare", + "reporting", + "spatie" + ], + "support": { + "issues": "https://github.com/spatie/flare-client-php/issues", + "source": "https://github.com/spatie/flare-client-php/tree/1.4.4" + }, + "funding": [ + { + "url": "https://github.com/spatie", + "type": "github" + } + ], + "time": "2024-01-31T14:18:45+00:00" + }, + { + "name": "spatie/ignition", + "version": "1.12.0", + "source": { + "type": "git", + "url": "https://github.com/spatie/ignition.git", + "reference": "5b6f801c605a593106b623e45ca41496a6e7d56d" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/spatie/ignition/zipball/5b6f801c605a593106b623e45ca41496a6e7d56d", + "reference": "5b6f801c605a593106b623e45ca41496a6e7d56d", + "shasum": "" + }, + "require": { + "ext-json": "*", + "ext-mbstring": "*", + "php": "^8.0", + "spatie/backtrace": "^1.5.3", + "spatie/flare-client-php": "^1.4.0", + "symfony/console": "^5.4|^6.0|^7.0", + "symfony/var-dumper": "^5.4|^6.0|^7.0" + }, + "require-dev": { + "illuminate/cache": "^9.52|^10.0|^11.0", + "mockery/mockery": "^1.4", + "pestphp/pest": "^1.20|^2.0", + "phpstan/extension-installer": "^1.1", + "phpstan/phpstan-deprecation-rules": "^1.0", + "phpstan/phpstan-phpunit": "^1.0", + "psr/simple-cache-implementation": "*", + "symfony/cache": "^5.4|^6.0|^7.0", + "symfony/process": "^5.4|^6.0|^7.0", + "vlucas/phpdotenv": "^5.5" + }, + "suggest": { + "openai-php/client": "Require get solutions from OpenAI", + "simple-cache-implementation": "To cache solutions from OpenAI" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "1.5.x-dev" + } + }, + "autoload": { + "psr-4": { + "Spatie\\Ignition\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Spatie", + "email": "info@spatie.be", + "role": "Developer" + } + ], + "description": "A beautiful error page for PHP applications.", + "homepage": "https://flareapp.io/ignition", + "keywords": [ + "error", + "flare", + "laravel", + "page" + ], + "support": { + "docs": "https://flareapp.io/docs/ignition-for-laravel/introduction", + "forum": "https://twitter.com/flareappio", + "issues": "https://github.com/spatie/ignition/issues", + "source": "https://github.com/spatie/ignition" + }, + "funding": [ + { + "url": "https://github.com/spatie", + "type": "github" + } + ], + "time": "2024-01-03T15:49:39+00:00" + }, + { + "name": "spatie/laravel-ignition", + "version": "2.4.2", + "source": { + "type": "git", + "url": "https://github.com/spatie/laravel-ignition.git", + "reference": "351504f4570e32908839fc5a2dc53bf77d02f85e" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/spatie/laravel-ignition/zipball/351504f4570e32908839fc5a2dc53bf77d02f85e", + "reference": "351504f4570e32908839fc5a2dc53bf77d02f85e", + "shasum": "" + }, + "require": { + "ext-curl": "*", + "ext-json": "*", + "ext-mbstring": "*", + "illuminate/support": "^10.0|^11.0", + "php": "^8.1", + "spatie/flare-client-php": "^1.3.5", + "spatie/ignition": "^1.9", + "symfony/console": "^6.2.3|^7.0", + "symfony/var-dumper": "^6.2.3|^7.0" + }, + "require-dev": { + "livewire/livewire": "^2.11|^3.3.5", + "mockery/mockery": "^1.5.1", + "openai-php/client": "^0.8.1", + "orchestra/testbench": "^8.0|^9.0", + "pestphp/pest": "^2.30", + "phpstan/extension-installer": "^1.2", + "phpstan/phpstan-deprecation-rules": "^1.1.1", + "phpstan/phpstan-phpunit": "^1.3.3", + "vlucas/phpdotenv": "^5.5" + }, + "suggest": { + "openai-php/client": "Require get solutions from OpenAI", + "psr/simple-cache-implementation": "Needed to cache solutions from OpenAI" + }, + "type": "library", + "extra": { + "laravel": { + "providers": [ + "Spatie\\LaravelIgnition\\IgnitionServiceProvider" + ], + "aliases": { + "Flare": "Spatie\\LaravelIgnition\\Facades\\Flare" + } + } + }, + "autoload": { + "files": [ + "src/helpers.php" + ], + "psr-4": { + "Spatie\\LaravelIgnition\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Spatie", + "email": "info@spatie.be", + "role": "Developer" + } + ], + "description": "A beautiful error page for Laravel applications.", + "homepage": "https://flareapp.io/ignition", + "keywords": [ + "error", + "flare", + "laravel", + "page" + ], + "support": { + "docs": "https://flareapp.io/docs/ignition-for-laravel/introduction", + "forum": "https://twitter.com/flareappio", + "issues": "https://github.com/spatie/laravel-ignition/issues", + "source": "https://github.com/spatie/laravel-ignition" + }, + "funding": [ + { + "url": "https://github.com/spatie", + "type": "github" + } + ], + "time": "2024-02-09T16:08:40+00:00" + }, + { + "name": "symfony/yaml", + "version": "v6.4.3", + "source": { + "type": "git", + "url": "https://github.com/symfony/yaml.git", + "reference": "d75715985f0f94f978e3a8fa42533e10db921b90" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/yaml/zipball/d75715985f0f94f978e3a8fa42533e10db921b90", + "reference": "d75715985f0f94f978e3a8fa42533e10db921b90", + "shasum": "" + }, + "require": { + "php": ">=8.1", + "symfony/deprecation-contracts": "^2.5|^3", + "symfony/polyfill-ctype": "^1.8" + }, + "conflict": { + "symfony/console": "<5.4" + }, + "require-dev": { + "symfony/console": "^5.4|^6.0|^7.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/v6.4.3" + }, + "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-01-23T14:51:35+00:00" + }, + { + "name": "theseer/tokenizer", + "version": "1.2.2", + "source": { + "type": "git", + "url": "https://github.com/theseer/tokenizer.git", + "reference": "b2ad5003ca10d4ee50a12da31de12a5774ba6b96" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/theseer/tokenizer/zipball/b2ad5003ca10d4ee50a12da31de12a5774ba6b96", + "reference": "b2ad5003ca10d4ee50a12da31de12a5774ba6b96", + "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.2.2" + }, + "funding": [ + { + "url": "https://github.com/theseer", + "type": "github" + } + ], + "time": "2023-11-20T00:12:19+00:00" + } + ], + "aliases": [], + "minimum-stability": "stable", + "stability-flags": [], + "prefer-stable": true, + "prefer-lowest": false, + "platform": { + "php": "^8.1" + }, + "platform-dev": [], + "plugin-api-version": "2.3.0" +} diff --git a/config/app.php b/config/app.php new file mode 100644 index 0000000..343bf6f --- /dev/null +++ b/config/app.php @@ -0,0 +1,190 @@ + 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 + | your application so that it is used when running Artisan tasks. + | + */ + + 'url' => env('APP_URL', 'http://localhost'), + + 'asset_url' => env('ASSET_URL'), + + /* + |-------------------------------------------------------------------------- + | Application Timezone + |-------------------------------------------------------------------------- + | + | Here you may specify the default timezone for your application, which + | will be used by the PHP date and date-time functions. We have gone + | ahead and set this to a sensible default for you out of the box. + | + */ + + 'timezone' => 'UTC', + + /* + |-------------------------------------------------------------------------- + | Application Locale Configuration + |-------------------------------------------------------------------------- + | + | The application locale determines the default locale that will be used + | by the translation service provider. You are free to set this value + | to any of the locales which will be supported by the application. + | + */ + + 'locale' => 'en', + + /* + |-------------------------------------------------------------------------- + | Application Fallback Locale + |-------------------------------------------------------------------------- + | + | The fallback locale determines the locale to use when the current one + | is not available. You may change the value to correspond to any of + | the language folders that are provided through your application. + | + */ + + 'fallback_locale' => 'en', + + /* + |-------------------------------------------------------------------------- + | Faker Locale + |-------------------------------------------------------------------------- + | + | This locale will be used by the Faker PHP library when generating fake + | data for your database seeds. For example, this will be used to get + | localized telephone numbers, street address information and more. + | + */ + + 'faker_locale' => 'en_US', + + /* + |-------------------------------------------------------------------------- + | Encryption Key + |-------------------------------------------------------------------------- + | + | This key is used by the Illuminate encrypter service and should be set + | to a random, 32 character string, otherwise these encrypted strings + | will not be safe. Please do this before deploying an application! + | + */ + + 'key' => env('APP_KEY'), + + 'cipher' => 'AES-256-CBC', + + /* + |-------------------------------------------------------------------------- + | 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' => 'file', + // 'store' => 'redis', + ], + + /* + |-------------------------------------------------------------------------- + | Autoloaded Service Providers + |-------------------------------------------------------------------------- + | + | The service providers listed here will be automatically loaded on the + | request to your application. Feel free to add your own services to + | this array to grant expanded functionality to your applications. + | + */ + + 'providers' => ServiceProvider::defaultProviders()->merge([ + /* + * Package Service Providers... + */ + + /* + * Application Service Providers... + */ + App\Providers\AppServiceProvider::class, + App\Providers\AuthServiceProvider::class, + // App\Providers\BroadcastServiceProvider::class, + App\Providers\EventServiceProvider::class, + App\Providers\RouteServiceProvider::class, + App\Providers\FortifyServiceProvider::class, + App\Providers\JetstreamServiceProvider::class, + ])->toArray(), + + /* + |-------------------------------------------------------------------------- + | Class Aliases + |-------------------------------------------------------------------------- + | + | This array of class aliases will be registered when this application + | is started. However, feel free to register as many as you wish as + | the aliases are "lazy" loaded so they don't hinder performance. + | + */ + + 'aliases' => Facade::defaultAliases()->merge([ + // 'Example' => App\Facades\Example::class, + ])->toArray(), + +]; diff --git a/config/auth.php b/config/auth.php new file mode 100644 index 0000000..9548c15 --- /dev/null +++ b/config/auth.php @@ -0,0 +1,115 @@ + [ + 'guard' => 'web', + 'passwords' => 'users', + ], + + /* + |-------------------------------------------------------------------------- + | Authentication Guards + |-------------------------------------------------------------------------- + | + | Next, you may define every authentication guard for your application. + | Of course, a great default configuration has been defined for you + | here which uses session storage and the Eloquent user provider. + | + | All authentication drivers have a user provider. This defines how the + | users are actually retrieved out of your database or other storage + | mechanisms used by this application to persist your user's data. + | + | Supported: "session" + | + */ + + 'guards' => [ + 'web' => [ + 'driver' => 'session', + 'provider' => 'users', + ], + ], + + /* + |-------------------------------------------------------------------------- + | User Providers + |-------------------------------------------------------------------------- + | + | All authentication drivers have a user provider. This defines how the + | users are actually retrieved out of your database or other storage + | mechanisms used by this application to persist your user's data. + | + | If you have multiple user tables or models you may configure multiple + | sources which represent each model / table. These sources may then + | be assigned to any extra authentication guards you have defined. + | + | Supported: "database", "eloquent" + | + */ + + 'providers' => [ + 'users' => [ + 'driver' => 'eloquent', + 'model' => App\Models\User::class, + ], + + // 'users' => [ + // 'driver' => 'database', + // 'table' => 'users', + // ], + ], + + /* + |-------------------------------------------------------------------------- + | Resetting Passwords + |-------------------------------------------------------------------------- + | + | You may specify multiple password reset configurations if you have more + | than one user table or model in the application and you want to have + | separate password reset settings based on the specific user types. + | + | The 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' => 'password_reset_tokens', + 'expire' => 60, + 'throttle' => 60, + ], + ], + + /* + |-------------------------------------------------------------------------- + | Password Confirmation Timeout + |-------------------------------------------------------------------------- + | + | Here you may define the amount of seconds before a password confirmation + | times out and the user is prompted to re-enter their password via the + | confirmation screen. By default, the timeout lasts for three hours. + | + */ + + 'password_timeout' => 10800, + +]; diff --git a/config/broadcasting.php b/config/broadcasting.php new file mode 100644 index 0000000..2410485 --- /dev/null +++ b/config/broadcasting.php @@ -0,0 +1,71 @@ + env('BROADCAST_DRIVER', 'null'), + + /* + |-------------------------------------------------------------------------- + | Broadcast Connections + |-------------------------------------------------------------------------- + | + | Here you may define all of the broadcast connections that will be used + | to broadcast events to other systems or over websockets. Samples of + | each available type of connection are provided inside this array. + | + */ + + 'connections' => [ + + 'pusher' => [ + 'driver' => 'pusher', + 'key' => env('PUSHER_APP_KEY'), + 'secret' => env('PUSHER_APP_SECRET'), + 'app_id' => env('PUSHER_APP_ID'), + 'options' => [ + 'cluster' => env('PUSHER_APP_CLUSTER'), + 'host' => env('PUSHER_HOST') ?: 'api-'.env('PUSHER_APP_CLUSTER', 'mt1').'.pusher.com', + 'port' => env('PUSHER_PORT', 443), + 'scheme' => env('PUSHER_SCHEME', 'https'), + 'encrypted' => true, + 'useTLS' => env('PUSHER_SCHEME', 'https') === 'https', + ], + 'client_options' => [ + // Guzzle client options: https://docs.guzzlephp.org/en/stable/request-options.html + ], + ], + + 'ably' => [ + 'driver' => 'ably', + 'key' => env('ABLY_KEY'), + ], + + 'redis' => [ + 'driver' => 'redis', + 'connection' => 'default', + ], + + 'log' => [ + 'driver' => 'log', + ], + + 'null' => [ + 'driver' => 'null', + ], + + ], + +]; diff --git a/config/cache.php b/config/cache.php new file mode 100644 index 0000000..d4171e2 --- /dev/null +++ b/config/cache.php @@ -0,0 +1,111 @@ + env('CACHE_DRIVER', 'file'), + + /* + |-------------------------------------------------------------------------- + | Cache Stores + |-------------------------------------------------------------------------- + | + | Here you may define all of the cache "stores" for your application as + | well as their drivers. You may even define multiple stores for the + | same cache driver to group types of items stored in your caches. + | + | Supported drivers: "apc", "array", "database", "file", + | "memcached", "redis", "dynamodb", "octane", "null" + | + */ + + 'stores' => [ + + 'apc' => [ + 'driver' => 'apc', + ], + + 'array' => [ + 'driver' => 'array', + 'serialize' => false, + ], + + 'database' => [ + 'driver' => 'database', + 'table' => 'cache', + 'connection' => null, + 'lock_connection' => null, + ], + + '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' => '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', + ], + + ], + + /* + |-------------------------------------------------------------------------- + | Cache Key Prefix + |-------------------------------------------------------------------------- + | + | When utilizing the APC, database, memcached, Redis, or 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(env('APP_NAME', 'laravel'), '_').'_cache_'), + +]; diff --git a/config/cors.php b/config/cors.php new file mode 100644 index 0000000..413bb6a --- /dev/null +++ b/config/cors.php @@ -0,0 +1,34 @@ + ['api/*', 'sanctum/csrf-cookie','images/*'], + + 'allowed_methods' => ['*'], + + 'allowed_origins' => ['*'], + + 'allowed_origins_patterns' => [], + + 'allowed_headers' => ['*'], + + 'exposed_headers' => [], + + 'max_age' => 0, + + 'supports_credentials' => false, + +]; diff --git a/config/database.php b/config/database.php new file mode 100644 index 0000000..137ad18 --- /dev/null +++ b/config/database.php @@ -0,0 +1,151 @@ + env('DB_CONNECTION', 'mysql'), + + /* + |-------------------------------------------------------------------------- + | Database Connections + |-------------------------------------------------------------------------- + | + | Here are each of the database connections setup for your application. + | Of course, examples of configuring each database platform that is + | supported by Laravel is shown below to make development simple. + | + | + | All database work in Laravel is done through the PHP PDO facilities + | so make sure you have the driver for your particular database of + | choice installed on your machine before you begin development. + | + */ + + 'connections' => [ + + 'sqlite' => [ + 'driver' => 'sqlite', + 'url' => env('DATABASE_URL'), + 'database' => env('DB_DATABASE', database_path('database.sqlite')), + 'prefix' => '', + 'foreign_key_constraints' => env('DB_FOREIGN_KEYS', true), + ], + + 'mysql' => [ + 'driver' => 'mysql', + 'url' => env('DATABASE_URL'), + 'host' => env('DB_HOST', '127.0.0.1'), + 'port' => env('DB_PORT', '3306'), + 'database' => env('DB_DATABASE', 'forge'), + 'username' => env('DB_USERNAME', 'forge'), + 'password' => env('DB_PASSWORD', ''), + 'unix_socket' => env('DB_SOCKET', ''), + 'charset' => 'utf8mb4', + 'collation' => 'utf8mb4_unicode_ci', + 'prefix' => '', + 'prefix_indexes' => true, + 'strict' => true, + 'engine' => null, + 'options' => extension_loaded('pdo_mysql') ? array_filter([ + PDO::MYSQL_ATTR_SSL_CA => env('MYSQL_ATTR_SSL_CA'), + ]) : [], + ], + + 'pgsql' => [ + 'driver' => 'pgsql', + 'url' => env('DATABASE_URL'), + 'host' => env('DB_HOST', '127.0.0.1'), + 'port' => env('DB_PORT', '5432'), + 'database' => env('DB_DATABASE', 'forge'), + 'username' => env('DB_USERNAME', 'forge'), + 'password' => env('DB_PASSWORD', ''), + 'charset' => 'utf8', + 'prefix' => '', + 'prefix_indexes' => true, + 'search_path' => 'public', + 'sslmode' => 'prefer', + ], + + 'sqlsrv' => [ + 'driver' => 'sqlsrv', + 'url' => env('DATABASE_URL'), + 'host' => env('DB_HOST', 'localhost'), + 'port' => env('DB_PORT', '1433'), + 'database' => env('DB_DATABASE', 'forge'), + 'username' => env('DB_USERNAME', 'forge'), + 'password' => env('DB_PASSWORD', ''), + 'charset' => 'utf8', + 'prefix' => '', + 'prefix_indexes' => true, + // '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 in the database. + | + */ + + 'migrations' => 'migrations', + + /* + |-------------------------------------------------------------------------- + | Redis Databases + |-------------------------------------------------------------------------- + | + | Redis is an open source, fast, and advanced key-value store that also + | provides a richer body of commands than a typical key-value system + | such as APC or Memcached. Laravel makes it easy to dig right in. + | + */ + + 'redis' => [ + + 'client' => env('REDIS_CLIENT', 'phpredis'), + + 'options' => [ + 'cluster' => env('REDIS_CLUSTER', 'redis'), + 'prefix' => env('REDIS_PREFIX', Str::slug(env('APP_NAME', 'laravel'), '_').'_database_'), + ], + + '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'), + ], + + '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'), + ], + + ], + +]; diff --git a/config/filesystems.php b/config/filesystems.php new file mode 100644 index 0000000..e9d9dbd --- /dev/null +++ b/config/filesystems.php @@ -0,0 +1,76 @@ + env('FILESYSTEM_DISK', 'local'), + + /* + |-------------------------------------------------------------------------- + | Filesystem Disks + |-------------------------------------------------------------------------- + | + | Here you may configure as many filesystem "disks" as you wish, and you + | may even configure multiple disks of the same driver. Defaults have + | been set up for each driver as an example of the required values. + | + | Supported Drivers: "local", "ftp", "sftp", "s3" + | + */ + + 'disks' => [ + + 'local' => [ + 'driver' => 'local', + 'root' => storage_path('app'), + 'throw' => false, + ], + + 'public' => [ + 'driver' => 'local', + 'root' => storage_path('app/public'), + 'url' => env('APP_URL').'/storage', + 'visibility' => 'public', + 'throw' => 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, + ], + + ], + + /* + |-------------------------------------------------------------------------- + | 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/fortify.php b/config/fortify.php new file mode 100644 index 0000000..726d83b --- /dev/null +++ b/config/fortify.php @@ -0,0 +1,159 @@ + 'web', + + /* + |-------------------------------------------------------------------------- + | Fortify Password Broker + |-------------------------------------------------------------------------- + | + | Here you may specify which password broker Fortify can use when a user + | is resetting their password. This configured value should match one + | of your password brokers setup in your "auth" configuration file. + | + */ + + 'passwords' => 'users', + + /* + |-------------------------------------------------------------------------- + | Username / Email + |-------------------------------------------------------------------------- + | + | This value defines which model attribute should be considered as your + | application's "username" field. Typically, this might be the email + | address of the users but you are free to change this value here. + | + | Out of the box, Fortify expects forgot password and reset password + | requests to have a field named 'email'. If the application uses + | another name for the field you may define it below as needed. + | + */ + + 'username' => 'email', + + 'email' => 'email', + + /* + |-------------------------------------------------------------------------- + | Lowercase Usernames + |-------------------------------------------------------------------------- + | + | This value defines whether usernames should be lowercased before saving + | them in the database, as some database system string fields are case + | sensitive. You may disable this for your application if necessary. + | + */ + + 'lowercase_usernames' => true, + + /* + |-------------------------------------------------------------------------- + | Home Path + |-------------------------------------------------------------------------- + | + | Here you may configure the path where users will get redirected during + | authentication or password reset when the operations are successful + | and the user is authenticated. You are free to change this value. + | + */ + + 'home' => '/dashboard', + + /* + |-------------------------------------------------------------------------- + | Fortify Routes Prefix / Subdomain + |-------------------------------------------------------------------------- + | + | Here you may specify which prefix Fortify will assign to all the routes + | that it registers with the application. If necessary, you may change + | subdomain under which all of the Fortify routes will be available. + | + */ + + 'prefix' => '', + + 'domain' => null, + + /* + |-------------------------------------------------------------------------- + | Fortify Routes Middleware + |-------------------------------------------------------------------------- + | + | Here you may specify which middleware Fortify will assign to the routes + | that it registers with the application. If necessary, you may change + | these middleware but typically this provided default is preferred. + | + */ + + 'middleware' => ['web'], + + /* + |-------------------------------------------------------------------------- + | Rate Limiting + |-------------------------------------------------------------------------- + | + | By default, Fortify will throttle logins to five requests per minute for + | every email and IP address combination. However, if you would like to + | specify a custom rate limiter to call then you may specify it here. + | + */ + + 'limiters' => [ + 'login' => 'login', + 'two-factor' => 'two-factor', + ], + + /* + |-------------------------------------------------------------------------- + | Register View Routes + |-------------------------------------------------------------------------- + | + | Here you may specify if the routes returning views should be disabled as + | you may not need them when building your own application. This may be + | especially true if you're writing a custom single-page application. + | + */ + + 'views' => true, + + /* + |-------------------------------------------------------------------------- + | Features + |-------------------------------------------------------------------------- + | + | Some of the Fortify features are optional. You may disable the features + | by removing them from this array. You're free to only remove some of + | these features or you can even remove all of these if you need to. + | + */ + + 'features' => [ + Features::registration(), + Features::resetPasswords(), + // Features::emailVerification(), + Features::updateProfileInformation(), + Features::updatePasswords(), + Features::twoFactorAuthentication([ + 'confirm' => true, + 'confirmPassword' => true, + // 'window' => 0, + ]), + ], + +]; diff --git a/config/hashing.php b/config/hashing.php new file mode 100644 index 0000000..0e8a0bb --- /dev/null +++ b/config/hashing.php @@ -0,0 +1,54 @@ + 'bcrypt', + + /* + |-------------------------------------------------------------------------- + | Bcrypt Options + |-------------------------------------------------------------------------- + | + | Here you may specify the configuration options that should be used when + | passwords are hashed using the Bcrypt algorithm. This will allow you + | to control the amount of time it takes to hash the given password. + | + */ + + 'bcrypt' => [ + 'rounds' => env('BCRYPT_ROUNDS', 12), + 'verify' => true, + ], + + /* + |-------------------------------------------------------------------------- + | Argon Options + |-------------------------------------------------------------------------- + | + | Here you may specify the configuration options that should be used when + | passwords are hashed using the Argon algorithm. These will allow you + | to control the amount of time it takes to hash the given password. + | + */ + + 'argon' => [ + 'memory' => 65536, + 'threads' => 1, + 'time' => 4, + 'verify' => true, + ], + +]; diff --git a/config/jetstream.php b/config/jetstream.php new file mode 100644 index 0000000..d5e5f11 --- /dev/null +++ b/config/jetstream.php @@ -0,0 +1,81 @@ + 'livewire', + + /* + |-------------------------------------------------------------------------- + | Jetstream Route Middleware + |-------------------------------------------------------------------------- + | + | Here you may specify which middleware Jetstream will assign to the routes + | that it registers with the application. When necessary, you may modify + | these middleware; however, this default value is usually sufficient. + | + */ + + 'middleware' => ['web'], + + 'auth_session' => AuthenticateSession::class, + + /* + |-------------------------------------------------------------------------- + | Jetstream Guard + |-------------------------------------------------------------------------- + | + | Here you may specify the authentication guard Jetstream will use while + | authenticating users. This value should correspond with one of your + | guards that is already present in your "auth" configuration file. + | + */ + + 'guard' => 'sanctum', + + /* + |-------------------------------------------------------------------------- + | Features + |-------------------------------------------------------------------------- + | + | Some of Jetstream's features are optional. You may disable the features + | by removing them from this array. You're free to only remove some of + | these features or you can even remove all of these if you need to. + | + */ + + 'features' => [ + // Features::termsAndPrivacyPolicy(), + // Features::profilePhotos(), + // Features::api(), + // Features::teams(['invitations' => true]), + Features::accountDeletion(), + ], + + /* + |-------------------------------------------------------------------------- + | Profile Photo Disk + |-------------------------------------------------------------------------- + | + | This configuration value determines the default disk that will be used + | when storing profile photos for your application's users. Typically + | this will be the "public" disk but you may adjust this if needed. + | + */ + + 'profile_photo_disk' => 'public', + +]; diff --git a/config/logging.php b/config/logging.php new file mode 100644 index 0000000..c44d276 --- /dev/null +++ b/config/logging.php @@ -0,0 +1,131 @@ + 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' => false, + ], + + /* + |-------------------------------------------------------------------------- + | Log Channels + |-------------------------------------------------------------------------- + | + | Here you may configure the log channels for your application. Out of + | the box, Laravel uses the Monolog PHP logging library. This gives + | you a variety of powerful log handlers / formatters to utilize. + | + | Available Drivers: "single", "daily", "slack", "syslog", + | "errorlog", "monolog", + | "custom", "stack" + | + */ + + 'channels' => [ + 'stack' => [ + 'driver' => 'stack', + 'channels' => ['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' => 14, + 'replace_placeholders' => true, + ], + + 'slack' => [ + 'driver' => 'slack', + 'url' => env('LOG_SLACK_WEBHOOK_URL'), + 'username' => 'Laravel Log', + '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, + 'formatter' => env('LOG_STDERR_FORMATTER'), + 'with' => [ + 'stream' => 'php://stderr', + ], + 'processors' => [PsrLogMessageProcessor::class], + ], + + 'syslog' => [ + 'driver' => 'syslog', + 'level' => env('LOG_LEVEL', 'debug'), + '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..e894b2e --- /dev/null +++ b/config/mail.php @@ -0,0 +1,134 @@ + env('MAIL_MAILER', 'smtp'), + + /* + |-------------------------------------------------------------------------- + | 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 to be used while + | sending an e-mail. You will specify which one you are using for your + | mailers below. You are free to add additional mailers as required. + | + | Supported: "smtp", "sendmail", "mailgun", "ses", "ses-v2", + | "postmark", "log", "array", "failover", "roundrobin" + | + */ + + 'mailers' => [ + 'smtp' => [ + 'transport' => 'smtp', + 'url' => env('MAIL_URL'), + 'host' => env('MAIL_HOST', 'smtp.mailgun.org'), + 'port' => env('MAIL_PORT', 587), + 'encryption' => env('MAIL_ENCRYPTION', 'tls'), + 'username' => env('MAIL_USERNAME'), + 'password' => env('MAIL_PASSWORD'), + 'timeout' => null, + 'local_domain' => env('MAIL_EHLO_DOMAIN'), + ], + + 'ses' => [ + 'transport' => 'ses', + ], + + 'postmark' => [ + 'transport' => 'postmark', + // 'message_stream_id' => null, + // 'client' => [ + // 'timeout' => 5, + // ], + ], + + 'mailgun' => [ + 'transport' => 'mailgun', + // 'client' => [ + // 'timeout' => 5, + // ], + ], + + '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', + ], + ], + + 'roundrobin' => [ + 'transport' => 'roundrobin', + 'mailers' => [ + 'ses', + 'postmark', + ], + ], + ], + + /* + |-------------------------------------------------------------------------- + | Global "From" Address + |-------------------------------------------------------------------------- + | + | You may wish for all e-mails sent by your application to be sent from + | the same address. Here, you may specify a name and address that is + | used globally for all e-mails that are sent by your application. + | + */ + + 'from' => [ + 'address' => env('MAIL_FROM_ADDRESS', 'hello@example.com'), + 'name' => env('MAIL_FROM_NAME', 'Example'), + ], + + /* + |-------------------------------------------------------------------------- + | Markdown Mail Settings + |-------------------------------------------------------------------------- + | + | If you are using Markdown based email rendering, you may configure your + | theme and component paths here, allowing you to customize the design + | of the emails. Or, you may simply stick with the Laravel defaults! + | + */ + + 'markdown' => [ + 'theme' => 'default', + + 'paths' => [ + resource_path('views/vendor/mail'), + ], + ], + +]; diff --git a/config/payment.php b/config/payment.php new file mode 100644 index 0000000..1718ce3 --- /dev/null +++ b/config/payment.php @@ -0,0 +1,491 @@ + 'bitpay', + + /* + |-------------------------------------------------------------------------- + | List of Drivers + |-------------------------------------------------------------------------- + | + | These are the list of drivers to use for this package. + | You can change the name. Then you'll have to change + | it in the map array too. + | + */ + 'drivers' => [ + 'local' => [ + 'callbackUrl' => '/callback', + 'title' => 'درگاه پرداخت تست', + 'description' => 'این درگاه *صرفا* برای تست صحت روند پرداخت و لغو پرداخت میباشد', + 'orderLabel' => 'شماره سفارش', + 'amountLabel' => 'مبلغ قابل پرداخت', + 'payButton' => 'پرداخت موفق', + 'cancelButton' => 'پرداخت ناموفق', + ], + 'gooyapay' => [ + 'apiPurchaseUrl' => 'https://gooyapay.ir/webservice/rest/PaymentRequest', + 'apiVerificationUrl' => 'https://gooyapay.ir/webservice/rest/PaymentVerification', + 'apiPaymentUrl' => 'https://gooyapay.ir/startPay/', + 'merchantId' => 'XXXX-XXXX-XXXX-XXXXXXXXXXXXXXXXXXXXX', + 'callbackUrl' => 'http://yoursite.com/path/to', + 'currency' => 'T', //Can be R, T (Rial, Toman) + ], + 'fanavacard' => [ + 'baseUri' => 'https://fcp.shaparak.ir', + 'apiPaymentUrl' => '_ipgw_//payment/', + 'apiPurchaseUrl' => 'ref-payment/RestServices/mts/generateTokenWithNoSign/', + 'apiVerificationUrl' => 'ref-payment/RestServices/mts/verifyMerchantTrans/', + 'apiReverseAmountUrl' => 'ref-payment/RestServices/mts/reverseMerchantTrans/', + 'username' => 'xxxxxxx', + 'password' => 'xxxxxxx', + 'callbackUrl' => 'http://yoursite.com/path/to', + 'currency' => 'T', //Can be R, T (Rial, Toman) + ], + 'atipay' => [ + 'atipayTokenUrl' => 'https://mipg.atipay.net/v1/get-token', + 'atipayRedirectGatewayUrl' => 'https://mipg.atipay.net/v1/redirect-to-gateway', + 'atipayVerifyUrl' => 'https://mipg.atipay.net/v1/verify-payment', + 'apikey' => '', + 'currency' => 'R', //Can be R, T (Rial, Toman) + 'callbackUrl' => 'http://yoursite.com/path/to', + 'description' => 'payment using Atipay', + ], + 'asanpardakht' => [ + 'apiPaymentUrl' => 'https://asan.shaparak.ir', + 'apiRestPaymentUrl' => 'https://ipgrest.asanpardakht.ir/v1/', + 'username' => '', + 'password' => '', + 'merchantConfigID' => '', + 'currency' => 'T', //Can be R, T (Rial, Toman) + 'callbackUrl' => 'http://yoursite.com/path/to', + 'description' => 'payment using asanpardakht', + ], + 'behpardakht' => [ + 'apiPurchaseUrl' => 'https://bpm.shaparak.ir/pgwchannel/services/pgw?wsdl', + 'apiPaymentUrl' => 'https://bpm.shaparak.ir/pgwchannel/startpay.mellat', + 'apiVerificationUrl' => 'https://bpm.shaparak.ir/pgwchannel/services/pgw?wsdl', + 'terminalId' => '', + 'username' => '', + 'password' => '', + 'callbackUrl' => 'http://yoursite.com/path/to', + 'description' => 'payment using behpardakht', + 'currency' => 'T', //Can be R, T (Rial, Toman) + 'cumulativeDynamicPayStatus' => false, + ], + 'digipay' => [ + 'apiOauthUrl' => 'https://api.mydigipay.com/digipay/api/oauth/token', + 'apiPurchaseUrl' => 'https://api.mydigipay.info/digipay/api/tickets/business', + 'apiVerificationUrl' => 'https://api.mydigipay.com/digipay/api/purchases/verify/', + 'username' => 'username', + 'password' => 'password', + 'client_id' => '', + 'client_secret' => '', + 'callbackUrl' => 'http://yoursite.com/path/to', + 'currency' => 'R', //Can be R, T (Rial, Toman) + ], + 'etebarino' => [ + 'apiPurchaseUrl' => 'https://api.etebarino.com/public/merchant/request-payment', + 'apiPaymentUrl' => 'https://panel.etebarino.com/gateway/public/ipg', + 'apiVerificationUrl' => 'https://api.etebarino.com/public/merchant/verify-payment', + 'merchantId' => '', + 'terminalId' => '', + 'username' => '', + 'password' => '', + 'callbackUrl' => 'http://yoursite.com/path/to', + 'description' => 'payment using etebarino', + ], + 'idpay' => [ + 'apiPurchaseUrl' => 'https://api.idpay.ir/v1.1/payment', + 'apiPaymentUrl' => 'https://idpay.ir/p/ws/', + 'apiSandboxPaymentUrl' => 'https://idpay.ir/p/ws-sandbox/', + 'apiVerificationUrl' => 'https://api.idpay.ir/v1.1/payment/verify', + 'merchantId' => '', + 'callbackUrl' => 'http://yoursite.com/path/to', + 'description' => 'payment using idpay', + 'sandbox' => false, // set it to true for test environments + 'currency' => 'R', //Can be R, T (Rial, Toman) + ], + 'irankish' => [ + 'apiPurchaseUrl' => 'https://ikc.shaparak.ir/api/v3/tokenization/make', + 'apiPaymentUrl' => 'https://ikc.shaparak.ir/iuiv3/IPG/Index/', + 'apiVerificationUrl' => 'https://ikc.shaparak.ir/api/v3/confirmation/purchase', + 'callbackUrl' => 'http://yoursite.com/path/to', + 'description' => 'payment using irankish', + 'terminalId' => '', + 'password' => '', + 'acceptorId' => '', + 'pubKey' => '', + 'currency' => 'T', //Can be R, T (Rial, Toman) + ], + 'jibit' => [ + 'apiPaymentUrl' => 'https://napi.jibit.ir/ppg/v3', + 'apiKey' => '', + 'apiSecret' => '', + // You can change the token storage path in Laravel like this + // 'tokenStoragePath' => function_exists('storage_path') ? storage_path('jibit/') : 'jibit/' + 'tokenStoragePath' => 'jibit/', + 'callbackUrl' => 'http://yoursite.com/path/to', + 'description' => 'payment using jibit', + 'currency' => 'T', // Can be R, T (Rial, Toman) + ], + 'nextpay' => [ + 'apiPurchaseUrl' => 'https://nextpay.org/nx/gateway/token', + 'apiPaymentUrl' => 'https://nextpay.org/nx/gateway/payment/', + 'apiVerificationUrl' => 'https://nextpay.org/nx/gateway/verify', + 'merchantId' => '', + 'callbackUrl' => 'http://yoursite.com/path/to', + 'description' => 'payment using nextpay', + 'currency' => 'T', //Can be R, T (Rial, Toman) + ], + 'omidpay' => [ + 'apiGenerateTokenUrl' => 'https://ref.sayancard.ir/ref-payment/RestServices/mts/generateTokenWithNoSign/', + 'apiPaymentUrl' => 'https://say.shaparak.ir/_ipgw_/MainTemplate/payment/', + 'apiVerificationUrl' => 'https://ref.sayancard.ir/ref-payment/RestServices/mts/verifyMerchantTrans/', + 'username' => '', + 'merchantId' => '', + 'password' => '', + 'callbackUrl' => '', + 'description' => 'payment using omidpay', + 'currency' => 'T', //Can be R, T (Rial, Toman) + ], + 'parsian' => [ + 'apiPurchaseUrl' => 'https://pec.shaparak.ir/NewIPGServices/Sale/SaleService.asmx?wsdl', + 'apiPaymentUrl' => 'https://pec.shaparak.ir/NewIPG/', + 'apiVerificationUrl' => 'https://pec.shaparak.ir/NewIPGServices/Confirm/ConfirmService.asmx?wsdl', + 'merchantId' => '', + 'callbackUrl' => 'http://yoursite.com/path/to', + 'description' => 'payment using parsian', + 'currency' => 'T', //Can be R, T (Rial, Toman) + ], + 'pasargad' => [ + 'apiPaymentUrl' => 'https://pep.shaparak.ir/payment.aspx', + 'apiGetToken' => 'https://pep.shaparak.ir/Api/v1/Payment/GetToken', + 'apiCheckTransactionUrl' => 'https://pep.shaparak.ir/Api/v1/Payment/CheckTransactionResult', + 'apiVerificationUrl' => 'https://pep.shaparak.ir/Api/v1/Payment/VerifyPayment', + 'merchantId' => '', + 'terminalCode' => '', + 'certificate' => '', // can be string (and set certificateType to xml_string) or an xml file path (and set cetificateType to xml_file) + 'certificateType' => 'xml_file', // can be: xml_file, xml_string + 'callbackUrl' => 'http://yoursite.com/path/to', + 'currency' => 'R', //Can be R, T (Rial, Toman) + ], + 'payir' => [ + 'apiPurchaseUrl' => 'https://pay.ir/pg/send', + 'apiPaymentUrl' => 'https://pay.ir/pg/', + 'apiVerificationUrl' => 'https://pay.ir/pg/verify', + 'merchantId' => 'test', // set it to `test` for test environments + 'callbackUrl' => 'http://yoursite.com/path/to', + 'description' => 'payment using payir', + 'currency' => 'T', //Can be R, T (Rial, Toman) + ], + 'paypal' => [ + /* normal api */ + 'apiPurchaseUrl' => 'https://www.paypal.com/cgi-bin/webscr', + 'apiPaymentUrl' => 'https://www.zarinpal.com/pg/StartPay/', + 'apiVerificationUrl' => 'https://ir.zarinpal.com/pg/services/WebGate/wsdl', + + /* sandbox api */ + 'sandboxApiPurchaseUrl' => 'https://www.sandbox.paypal.com/cgi-bin/webscr', + 'sandboxApiPaymentUrl' => 'https://sandbox.zarinpal.com/pg/StartPay/', + 'sandboxApiVerificationUrl' => 'https://sandbox.zarinpal.com/pg/services/WebGate/wsdl', + + 'mode' => 'normal', // can be normal, sandbox + 'id' => '', // Specify the email of the PayPal Business account + 'callbackUrl' => 'http://yoursite.com/path/to', + 'description' => 'payment using paypal', + 'currency' => 'T', //Can be R, T (Rial, Toman) + ], + 'payping' => [ + 'apiPurchaseUrl' => 'https://api.payping.ir/v2/pay/', + 'apiPaymentUrl' => 'https://api.payping.ir/v2/pay/gotoipg/', + 'apiVerificationUrl' => 'https://api.payping.ir/v2/pay/verify/', + 'merchantId' => '', + 'callbackUrl' => 'http://yoursite.com/path/to', + 'description' => 'payment using payping', + 'currency' => 'T', //Can be R, T (Rial, Toman) + ], + 'paystar' => [ + 'apiPurchaseUrl' => 'https://core.paystar.ir/api/pardakht/create/', + 'apiPaymentUrl' => 'https://core.paystar.ir/api/pardakht/payment/', + 'apiVerificationUrl' => 'https://core.paystar.ir/api/pardakht/verify/', + 'gatewayId' => '', // your gateway id + 'signKey' => '', // sign key of your gateway + 'callbackUrl' => 'http://yoursite.com/path/to', + 'description' => 'payment using paystar', + 'currency' => 'R', //Can be R, T (Rial, Toman) + ], + 'poolam' => [ + 'apiPurchaseUrl' => 'https://poolam.ir/invoice/request/', + 'apiPaymentUrl' => 'https://poolam.ir/invoice/pay/', + 'apiVerificationUrl' => 'https://poolam.ir/invoice/check/', + 'merchantId' => '', + 'callbackUrl' => 'http://yoursite.com/path/to', + 'description' => 'payment using poolam', + 'currency' => 'T', //Can be R, T (Rial, Toman) + ], + 'sadad' => [ + 'apiPaymentByMultiIdentityUrl' => 'https://sadad.shaparak.ir/VPG/api/v0/PaymentByMultiIdentityRequest', + 'apiPaymentByIdentityUrl' => 'https://sadad.shaparak.ir/api/v0/PaymentByIdentity/PaymentRequest', + 'apiPaymentUrl' => 'https://sadad.shaparak.ir/api/v0/Request/PaymentRequest', + 'apiPurchaseUrl' => 'https://sadad.shaparak.ir/Purchase', + 'apiVerificationUrl' => 'https://sadad.shaparak.ir/VPG/api/v0/Advice/Verify', + 'key' => '', + 'merchantId' => '', + 'terminalId' => '', + 'callbackUrl' => '', + 'currency' => 'T', //Can be R, T (Rial, Toman) + 'mode' => 'normal', // can be normal, PaymentByIdentity, PaymentByMultiIdentity, + 'PaymentIdentity' => '', + 'MultiIdentityRows' => [ + [ + "IbanNumber" => '', // Sheba number (with IR) + "Amount" => 0, + "PaymentIdentity" => '', + ], + ], + 'description' => 'payment using sadad', + ], + 'saman' => [ + 'apiPurchaseUrl' => 'https://sep.shaparak.ir/Payments/InitPayment.asmx?WSDL', + 'apiPaymentUrl' => 'https://sep.shaparak.ir/payment.aspx', + 'apiVerificationUrl' => 'https://sep.shaparak.ir/payments/referencepayment.asmx?WSDL', + 'merchantId' => '', + 'callbackUrl' => '', + 'description' => 'payment using saman', + 'currency' => 'T', //Can be R, T (Rial, Toman) + ], + 'sep' => [ + 'apiGetToken' => 'https://sep.shaparak.ir/onlinepg/onlinepg', + 'apiPaymentUrl' => 'https://sep.shaparak.ir/OnlinePG/OnlinePG', + 'apiVerificationUrl' => 'https://sep.shaparak.ir/verifyTxnRandomSessionkey/ipg/VerifyTransaction', + 'terminalId' => '', + 'callbackUrl' => '', + 'description' => 'Saman Electronic Payment for Saderat & Keshavarzi', + 'currency' => 'T', //Can be R, T (Rial, Toman) + ], + 'sepehr' => [ + 'apiGetToken' => 'https://mabna.shaparak.ir:8081/V1/PeymentApi/GetToken', + 'apiPaymentUrl' => 'https://mabna.shaparak.ir:8080/pay', + 'apiVerificationUrl' => 'https://mabna.shaparak.ir:8081/V1/PeymentApi/Advice', + 'terminalId' => '', + 'callbackUrl' => '', + 'description' => 'payment using sepehr(saderat)', + 'currency' => 'T', //Can be R, T (Rial, Toman) + ], + 'walleta' => [ + 'apiPurchaseUrl' => 'https://cpg.walleta.ir/payment/request.json', + 'apiPaymentUrl' => 'https://cpg.walleta.ir/ticket/', + 'apiVerificationUrl' => 'https://cpg.walleta.ir/payment/verify.json', + 'merchantId' => '', + 'callbackUrl' => 'http://yoursite.com/path/to', + 'description' => 'payment using walleta', + 'currency' => 'T', //Can be R, T (Rial, Toman) + ], + 'yekpay' => [ + 'apiPurchaseUrl' => 'https://gate.yekpay.com/api/payment/server?wsdl', + 'apiPaymentUrl' => 'https://gate.yekpay.com/api/payment/start/', + 'apiVerificationUrl' => 'https://gate.yekpay.com/api/payment/server?wsdl', + 'fromCurrencyCode' => 978, + 'toCurrencyCode' => 364, + 'merchantId' => '', + 'callbackUrl' => 'http://yoursite.com/path/to', + 'description' => 'payment using yekpay', + ], + 'zarinpal' => [ + /* normal api */ + 'apiPurchaseUrl' => 'https://api.zarinpal.com/pg/v4/payment/request.json', + 'apiPaymentUrl' => 'https://www.zarinpal.com/pg/StartPay/', + 'apiVerificationUrl' => 'https://api.zarinpal.com/pg/v4/payment/verify.json', + + /* sandbox api */ + 'sandboxApiPurchaseUrl' => 'https://sandbox.zarinpal.com/pg/services/WebGate/wsdl', + 'sandboxApiPaymentUrl' => 'https://sandbox.zarinpal.com/pg/StartPay/', + 'sandboxApiVerificationUrl' => 'https://sandbox.zarinpal.com/pg/services/WebGate/wsdl', + + /* zarinGate api */ + 'zaringateApiPurchaseUrl' => 'https://ir.zarinpal.com/pg/services/WebGate/wsdl', + 'zaringateApiPaymentUrl' => 'https://www.zarinpal.com/pg/StartPay/:authority/ZarinGate', + 'zaringateApiVerificationUrl' => 'https://ir.zarinpal.com/pg/services/WebGate/wsdl', + + 'mode' => 'normal', // can be normal, sandbox, zaringate + 'merchantId' => '', + 'callbackUrl' => 'http://yoursite.com/path/to', + 'description' => 'payment using zarinpal', + 'currency' => 'T', //Can be R, T (Rial, Toman) + ], + 'zibal' => [ + /* normal api */ + 'apiPurchaseUrl' => 'https://gateway.zibal.ir/v1/request', + 'apiPaymentUrl' => 'https://gateway.zibal.ir/start/', + 'apiVerificationUrl' => 'https://gateway.zibal.ir/v1/verify', + + 'mode' => 'normal', // can be normal, direct + + 'merchantId' => 'zibal', + 'callbackUrl' => 'http://yoursite.com/path/to', + 'description' => '', + 'currency' => 'T', //Can be R, T (Rial, Toman) + ], + 'sepordeh' => [ + 'apiPurchaseUrl' => 'https://sepordeh.com/merchant/invoices/add', + 'apiPaymentUrl' => 'https://sepordeh.com/merchant/invoices/pay/id:', + 'apiDirectPaymentUrl' => 'https://sepordeh.com/merchant/invoices/pay/automatic:true/id:', + 'apiVerificationUrl' => 'https://sepordeh.com/merchant/invoices/verify', + 'mode' => 'normal', // can be normal, direct + 'merchantId' => '', + 'callbackUrl' => 'http://yoursite.com/path/to', + 'description' => 'payment using sepordeh', + 'currency' => 'T', //Can be R, T (Rial, Toman) + ], + 'rayanpay' => [ + 'apiPurchaseUrl' => 'https://bpm.shaparak.ir/pgwchannel/startpay.mellat', + 'apiTokenUrl' => 'https://pms.rayanpay.com/api/v1/auth/token/generate', + 'apiPayStart' => 'https://pms.rayanpay.com/api/v1/ipg/payment/start', + 'apiPayVerify' => 'https://pms.rayanpay.com/api/v1/ipg/payment/response/parse', + 'username' => '', + 'client_id' => '', + 'password' => '', + 'callbackUrl' => '', + 'currency' => 'R', //Can be R, T (Rial, Toman) + ], + 'sizpay' => [ + 'apiPurchaseUrl' => 'https://rt.sizpay.ir/KimiaIPGRouteService.asmx?WSDL', + 'apiPaymentUrl' => 'https://rt.sizpay.ir/Route/Payment', + 'apiVerificationUrl' => 'https://rt.sizpay.ir/KimiaIPGRouteService.asmx?WSDL', + 'merchantId' => '', + 'terminal' => '', + 'username' => '', + 'password' => '', + 'SignData' => '', + 'callbackUrl' => '', + 'currency' => 'R', //Can be R, T (Rial, Toman) + ], + 'vandar' => [ + 'apiPurchaseUrl' => 'https://ipg.vandar.io/api/v3/send', + 'apiPaymentUrl' => 'https://ipg.vandar.io/v3/', + 'apiVerificationUrl' => 'https://ipg.vandar.io/api/v3/verify', + 'callbackUrl' => '', + 'merchantId' => '', + 'description' => 'payment using Vandar', + 'currency' => 'T', //Can be R, T (Rial, Toman) + ], + 'aqayepardakht' => [ + 'apiPurchaseUrl' => 'https://panel.aqayepardakht.ir/api/v2/create', + 'apiPaymentUrl' => 'https://panel.aqayepardakht.ir/startpay/', + 'apiPaymentUrlSandbox' => 'https://panel.aqayepardakht.ir/startpay/sandbox/', + 'apiVerificationUrl' => 'https://panel.aqayepardakht.ir/api/v2/verify', + 'mode' => 'normal', //normal | sandbox + 'callbackUrl' => '', + 'pin' => '', + 'invoice_id' => '', + 'mobile' => '', + 'email' => '', + 'description' => 'payment using Aqayepardakht', + 'currency' => 'T', //Can be R, T (Rial, Toman) + ], + 'azki' => [ + 'apiPaymentUrl' => 'https://api.azkivam.com', + 'callbackUrl' => 'http://yoursite.com/path/to', + 'fallbackUrl' => 'http://yoursite.com/path/to', + 'merchantId' => '', + 'key' => '', + 'currency' => 'T', //Can be R, T (Rial, Toman) + 'description' => 'payment using azki', + ], + 'payfa' => [ + 'apiPurchaseUrl' => 'https://payment.payfa.com/v2/api/Transaction/Request', + 'apiPaymentUrl' => 'https://payment.payfa.ir/v2/api/Transaction/Pay/', + 'apiVerificationUrl' => 'https://payment.payfa.com/v2/api/Transaction/Verify/', + 'callbackUrl' => '', + 'apiKey' => '', + 'currency' => 'T', //Can be R, T (Rial, Toman) + ], + 'toman' => [ + 'base_url' => 'https://escrow-api.toman.ir/api/v1', + 'shop_slug' => '', + 'auth_code' => '', + 'data' => '' + ], + 'bitpay' => [ + 'apiPurchaseUrl' => 'http://bitpay.ir/payment/gateway-send', + 'apiPaymentUrl' => 'http://bitpay.ir/payment/gateway-{id_get}-get', + 'apiVerificationUrl' => 'http://bitpay.ir/payment/gateway-result-second', + 'callbackUrl' => env('APP_URL') . '/payment/callback', + 'api_token' => '066fd-d622e-690a9-be618-ddf02bc6059bbbd67c317bb340d1', + 'description' => 'payment using Bitpay', + 'currency' => 'R', //Can be R, T (Rial, Toman) + ], + 'minipay' => [ + 'apiPurchaseUrl' => 'https://v1.minipay.me/api/pg/request/', + 'apiPaymentUrl' => 'https://ipg.minipay.me/', + 'apiVerificationUrl' => 'https://v1.minipay.me/api/pg/verify/', + 'merchantId' => '', + 'callbackUrl' => 'http://yoursite.com/path/to', + 'description' => 'payment using Minipay.', + 'currency' => 'T', //Can be R, T (Rial, Toman) + ], + ], + + /* + |-------------------------------------------------------------------------- + | Class Maps + |-------------------------------------------------------------------------- + | + | This is the array of Classes that maps to Drivers above. + | You can create your own driver if you like and add the + | config in the drivers array and the class to use for + | here with the same name. You will have to extend + | Shetabit\Multipay\Abstracts\Driver in your driver. + | + */ + 'map' => [ + 'local' => \Shetabit\Multipay\Drivers\Local\Local::class, + 'gooyapay' => \Shetabit\Multipay\Drivers\Gooyapay\Gooyapay::class, + 'fanavacard' => \Shetabit\Multipay\Drivers\Fanavacard\Fanavacard::class, + 'asanpardakht' => \Shetabit\Multipay\Drivers\Asanpardakht\Asanpardakht::class, + 'atipay' => \Shetabit\Multipay\Drivers\Atipay\Atipay::class, + 'behpardakht' => \Shetabit\Multipay\Drivers\Behpardakht\Behpardakht::class, + 'digipay' => \Shetabit\Multipay\Drivers\Digipay\Digipay::class, + 'etebarino' => \Shetabit\Multipay\Drivers\Etebarino\Etebarino::class, + 'idpay' => \Shetabit\Multipay\Drivers\Idpay\Idpay::class, + 'irankish' => \Shetabit\Multipay\Drivers\Irankish\Irankish::class, + 'jibit' => \Shetabit\Multipay\Drivers\Jibit\Jibit::class, + 'nextpay' => \Shetabit\Multipay\Drivers\Nextpay\Nextpay::class, + 'omidpay' => \Shetabit\Multipay\Drivers\Omidpay\Omidpay::class, + 'parsian' => \Shetabit\Multipay\Drivers\Parsian\Parsian::class, + 'pasargad' => \Shetabit\Multipay\Drivers\Pasargad\Pasargad::class, + 'payir' => \Shetabit\Multipay\Drivers\Payir\Payir::class, + 'paypal' => \Shetabit\Multipay\Drivers\Paypal\Paypal::class, + 'payping' => \Shetabit\Multipay\Drivers\Payping\Payping::class, + 'paystar' => \Shetabit\Multipay\Drivers\Paystar\Paystar::class, + 'poolam' => \Shetabit\Multipay\Drivers\Poolam\Poolam::class, + 'sadad' => \Shetabit\Multipay\Drivers\Sadad\Sadad::class, + 'saman' => \Shetabit\Multipay\Drivers\Saman\Saman::class, + 'sep' => \Shetabit\Multipay\Drivers\SEP\SEP::class, + 'sepehr' => \Shetabit\Multipay\Drivers\Sepehr\Sepehr::class, + 'walleta' => \Shetabit\Multipay\Drivers\Walleta\Walleta::class, + 'yekpay' => \Shetabit\Multipay\Drivers\Yekpay\Yekpay::class, + 'zarinpal' => \Shetabit\Multipay\Drivers\Zarinpal\Zarinpal::class, + 'zibal' => \Shetabit\Multipay\Drivers\Zibal\Zibal::class, + 'sepordeh' => \Shetabit\Multipay\Drivers\Sepordeh\Sepordeh::class, + 'rayanpay' => \Shetabit\Multipay\Drivers\Rayanpay\Rayanpay::class, + 'sizpay' => \Shetabit\Multipay\Drivers\Sizpay\Sizpay::class, + 'vandar' => \Shetabit\Multipay\Drivers\Vandar\Vandar::class, + 'aqayepardakht' => \Shetabit\Multipay\Drivers\Aqayepardakht\Aqayepardakht::class, + 'azki' => \Shetabit\Multipay\Drivers\Azki\Azki::class, + 'payfa' => \Shetabit\Multipay\Drivers\Payfa\Payfa::class, + 'toman' => \Shetabit\Multipay\Drivers\Toman\Toman::class, + 'bitpay' => \Shetabit\Multipay\Drivers\Bitpay\Bitpay::class, + 'minipay' => \Shetabit\Multipay\Drivers\Minipay\Minipay::class, + ] +]; diff --git a/config/queue.php b/config/queue.php new file mode 100644 index 0000000..01c6b05 --- /dev/null +++ b/config/queue.php @@ -0,0 +1,109 @@ + env('QUEUE_CONNECTION', 'sync'), + + /* + |-------------------------------------------------------------------------- + | Queue Connections + |-------------------------------------------------------------------------- + | + | Here you may configure the connection information for each server that + | is used by your application. A default configuration has been added + | for each back-end shipped with Laravel. You are free to add more. + | + | Drivers: "sync", "database", "beanstalkd", "sqs", "redis", "null" + | + */ + + 'connections' => [ + + 'sync' => [ + 'driver' => 'sync', + ], + + 'database' => [ + 'driver' => 'database', + 'table' => 'jobs', + 'queue' => 'default', + 'retry_after' => 90, + 'after_commit' => false, + ], + + 'beanstalkd' => [ + 'driver' => 'beanstalkd', + 'host' => 'localhost', + 'queue' => 'default', + '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' => 'default', + 'queue' => env('REDIS_QUEUE', 'default'), + 'retry_after' => 90, + 'block_for' => null, + 'after_commit' => false, + ], + + ], + + /* + |-------------------------------------------------------------------------- + | 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', 'mysql'), + 'table' => 'job_batches', + ], + + /* + |-------------------------------------------------------------------------- + | Failed Queue Jobs + |-------------------------------------------------------------------------- + | + | These options configure the behavior of failed queue job logging so you + | can control which database and table are used to store the jobs that + | have failed. You may change them to any database / table you wish. + | + */ + + 'failed' => [ + 'driver' => env('QUEUE_FAILED_DRIVER', 'database-uuids'), + 'database' => env('DB_CONNECTION', 'mysql'), + 'table' => 'failed_jobs', + ], + +]; diff --git a/config/sanctum.php b/config/sanctum.php new file mode 100644 index 0000000..35d75b3 --- /dev/null +++ b/config/sanctum.php @@ -0,0 +1,83 @@ + explode(',', env('SANCTUM_STATEFUL_DOMAINS', sprintf( + '%s%s', + 'localhost,localhost:3000,127.0.0.1,127.0.0.1:8000,::1', + Sanctum::currentApplicationUrlWithPort() + ))), + + /* + |-------------------------------------------------------------------------- + | Sanctum Guards + |-------------------------------------------------------------------------- + | + | This array contains the authentication guards that will be checked when + | Sanctum is trying to authenticate a request. If none of these guards + | are able to authenticate the request, Sanctum will use the bearer + | token that's present on an incoming request for authentication. + | + */ + + 'guard' => ['web'], + + /* + |-------------------------------------------------------------------------- + | Expiration Minutes + |-------------------------------------------------------------------------- + | + | This value controls the number of minutes until an issued token will be + | considered expired. This will override any values set in the token's + | "expires_at" attribute, but first-party sessions are not affected. + | + */ + + 'expiration' => null, + + /* + |-------------------------------------------------------------------------- + | Token Prefix + |-------------------------------------------------------------------------- + | + | Sanctum can prefix new tokens in order to take advantage of numerous + | security scanning initiatives maintained by open source platforms + | that notify developers if they commit tokens into repositories. + | + | See: https://docs.github.com/en/code-security/secret-scanning/about-secret-scanning + | + */ + + 'token_prefix' => env('SANCTUM_TOKEN_PREFIX', ''), + + /* + |-------------------------------------------------------------------------- + | Sanctum Middleware + |-------------------------------------------------------------------------- + | + | When authenticating your first-party SPA with Sanctum you may need to + | customize some of the middleware Sanctum uses while processing the + | request. You may change the middleware listed below as required. + | + */ + + 'middleware' => [ + 'authenticate_session' => Laravel\Sanctum\Http\Middleware\AuthenticateSession::class, + 'encrypt_cookies' => App\Http\Middleware\EncryptCookies::class, + 'verify_csrf_token' => App\Http\Middleware\VerifyCsrfToken::class, + ], + +]; diff --git a/config/services.php b/config/services.php new file mode 100644 index 0000000..0ace530 --- /dev/null +++ b/config/services.php @@ -0,0 +1,34 @@ + [ + 'domain' => env('MAILGUN_DOMAIN'), + 'secret' => env('MAILGUN_SECRET'), + 'endpoint' => env('MAILGUN_ENDPOINT', 'api.mailgun.net'), + 'scheme' => 'https', + ], + + 'postmark' => [ + 'token' => env('POSTMARK_TOKEN'), + ], + + 'ses' => [ + 'key' => env('AWS_ACCESS_KEY_ID'), + 'secret' => env('AWS_SECRET_ACCESS_KEY'), + 'region' => env('AWS_DEFAULT_REGION', 'us-east-1'), + ], + +]; diff --git a/config/session.php b/config/session.php new file mode 100644 index 0000000..63781ef --- /dev/null +++ b/config/session.php @@ -0,0 +1,214 @@ + 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 immediately expire on the browser closing, set that option. + | + */ + + 'lifetime' => env('SESSION_LIFETIME', 120), + + 'expire_on_close' => false, + + /* + |-------------------------------------------------------------------------- + | Session Encryption + |-------------------------------------------------------------------------- + | + | This option allows you to easily specify that all of your session data + | should be encrypted before it is stored. All encryption will be run + | automatically by Laravel and you can use the Session like normal. + | + */ + + 'encrypt' => false, + + /* + |-------------------------------------------------------------------------- + | Session File Location + |-------------------------------------------------------------------------- + | + | When using the native session driver, we need a location where session + | files may be stored. A default has been set for you but a different + | location may be specified. This is only needed for file sessions. + | + */ + + 'files' => storage_path('framework/sessions'), + + /* + |-------------------------------------------------------------------------- + | Session Database Connection + |-------------------------------------------------------------------------- + | + | When using the "database" or "redis" session drivers, you may specify a + | connection that should be used to manage these sessions. This should + | correspond to a connection in your database configuration options. + | + */ + + 'connection' => env('SESSION_CONNECTION'), + + /* + |-------------------------------------------------------------------------- + | Session Database Table + |-------------------------------------------------------------------------- + | + | When using the "database" session driver, you may specify the table we + | should use to manage the sessions. Of course, a sensible default is + | provided for you; however, you are free to change this as needed. + | + */ + + 'table' => 'sessions', + + /* + |-------------------------------------------------------------------------- + | Session Cache Store + |-------------------------------------------------------------------------- + | + | While using one of the framework's cache driven session backends you may + | list a cache store that should be used for these sessions. This value + | must match with one of the application's configured cache "stores". + | + | Affects: "apc", "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 cookie used to identify a session + | instance by ID. The name specified here will get used every time a + | new session cookie is created by the framework for every driver. + | + */ + + 'cookie' => env( + 'SESSION_COOKIE', + Str::slug(env('APP_NAME', 'laravel'), '_').'_session' + ), + + /* + |-------------------------------------------------------------------------- + | Session Cookie Path + |-------------------------------------------------------------------------- + | + | The session cookie path determines the path for which the cookie will + | be regarded as available. Typically, this will be the root path of + | your application but you are free to change this when necessary. + | + */ + + 'path' => '/', + + /* + |-------------------------------------------------------------------------- + | Session Cookie Domain + |-------------------------------------------------------------------------- + | + | Here you may change the domain of the cookie used to identify a session + | in your application. This will determine which domains the cookie is + | available to in your application. A sensible default has been set. + | + */ + + 'domain' => env('SESSION_DOMAIN'), + + /* + |-------------------------------------------------------------------------- + | 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. You are free to modify this option if needed. + | + */ + + 'http_only' => true, + + /* + |-------------------------------------------------------------------------- + | Same-Site Cookies + |-------------------------------------------------------------------------- + | + | This option determines how your cookies behave when cross-site requests + | take place, and can be used to mitigate CSRF attacks. By default, we + | will set this value to "lax" since this is a secure default value. + | + | Supported: "lax", "strict", "none", null + | + */ + + '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' => false, + +]; diff --git a/config/view.php b/config/view.php new file mode 100644 index 0000000..22b8a18 --- /dev/null +++ b/config/view.php @@ -0,0 +1,36 @@ + [ + resource_path('views'), + ], + + /* + |-------------------------------------------------------------------------- + | Compiled View Path + |-------------------------------------------------------------------------- + | + | This option determines where all the compiled Blade templates will be + | stored for your application. Typically, this is within the storage + | directory. However, as usual, you are free to change this value. + | + */ + + 'compiled' => env( + 'VIEW_COMPILED_PATH', + realpath(storage_path('framework/views')) + ), + +]; diff --git a/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..afd21cb --- /dev/null +++ b/database/factories/UserFactory.php @@ -0,0 +1,22 @@ + $this->faker->name(), + 'email' => $this->faker->unique()->safeEmail(), + 'email_verified_at' => now(), + 'mobile' => $this->faker->numerify('###-###-####'), + 'password' => '$2y$10$92IXUNpkjO0rOQ5byMi.Ye4oKoEa3Ro9llC/.og/at2.uheWG/igi', + 'remember_token' => Str::random(10), + 'profile_photo_path' => null, + ]; + } +} diff --git a/database/migrations/2014_10_12_000000_create_users_table.php b/database/migrations/2014_10_12_000000_create_users_table.php new file mode 100644 index 0000000..556a744 --- /dev/null +++ b/database/migrations/2014_10_12_000000_create_users_table.php @@ -0,0 +1,35 @@ +id(); + $table->string('name'); + $table->string('email')->unique(); + $table->string('mobile')->unique(); + $table->boolean('is_admin')->default(0); + $table->string('password'); + $table->timestamp('email_verified_at')->nullable(); + $table->string('profile_photo_path', 2048)->nullable(); + $table->rememberToken(); + $table->timestamps(); + }); + } + + /** + * Reverse the migrations. + */ + public function down(): void + { + Schema::dropIfExists('users'); + } +}; diff --git a/database/migrations/2014_10_12_100000_create_password_reset_tokens_table.php b/database/migrations/2014_10_12_100000_create_password_reset_tokens_table.php new file mode 100644 index 0000000..81a7229 --- /dev/null +++ b/database/migrations/2014_10_12_100000_create_password_reset_tokens_table.php @@ -0,0 +1,28 @@ +string('email')->primary(); + $table->string('token'); + $table->timestamp('created_at')->nullable(); + }); + } + + /** + * Reverse the migrations. + */ + public function down(): void + { + Schema::dropIfExists('password_reset_tokens'); + } +}; diff --git a/database/migrations/2019_08_19_000000_create_failed_jobs_table.php b/database/migrations/2019_08_19_000000_create_failed_jobs_table.php new file mode 100644 index 0000000..249da81 --- /dev/null +++ b/database/migrations/2019_08_19_000000_create_failed_jobs_table.php @@ -0,0 +1,32 @@ +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('failed_jobs'); + } +}; diff --git a/database/migrations/2019_12_14_000001_create_personal_access_tokens_table.php b/database/migrations/2019_12_14_000001_create_personal_access_tokens_table.php new file mode 100644 index 0000000..e828ad8 --- /dev/null +++ b/database/migrations/2019_12_14_000001_create_personal_access_tokens_table.php @@ -0,0 +1,33 @@ +id(); + $table->morphs('tokenable'); + $table->string('name'); + $table->string('token', 64)->unique(); + $table->text('abilities')->nullable(); + $table->timestamp('last_used_at')->nullable(); + $table->timestamp('expires_at')->nullable(); + $table->timestamps(); + }); + } + + /** + * Reverse the migrations. + */ + public function down(): void + { + Schema::dropIfExists('personal_access_tokens'); + } +}; diff --git a/database/migrations/2024_02_25_103927_create_sessions_table.php b/database/migrations/2024_02_25_103927_create_sessions_table.php new file mode 100644 index 0000000..f60625b --- /dev/null +++ b/database/migrations/2024_02_25_103927_create_sessions_table.php @@ -0,0 +1,31 @@ +string('id')->primary(); + $table->foreignId('user_id')->nullable()->index(); + $table->string('ip_address', 45)->nullable(); + $table->text('user_agent')->nullable(); + $table->longText('payload'); + $table->integer('last_activity')->index(); + }); + } + + /** + * Reverse the migrations. + */ + public function down(): void + { + Schema::dropIfExists('sessions'); + } +}; diff --git a/database/migrations/2024_02_28_144550_create_laws_table.php b/database/migrations/2024_02_28_144550_create_laws_table.php new file mode 100644 index 0000000..e6aa4af --- /dev/null +++ b/database/migrations/2024_02_28_144550_create_laws_table.php @@ -0,0 +1,28 @@ +id(); + $table->string('title'); + $table->timestamps(); + }); + } + + /** + * Reverse the migrations. + */ + public function down(): void + { + Schema::dropIfExists('laws'); + } +}; diff --git a/database/migrations/2024_02_28_144620_create_volums_table.php b/database/migrations/2024_02_28_144620_create_volums_table.php new file mode 100644 index 0000000..0dfca72 --- /dev/null +++ b/database/migrations/2024_02_28_144620_create_volums_table.php @@ -0,0 +1,30 @@ +id(); + $table->foreignId('law_id'); + $table->string('title'); + $table->integer('number'); + $table->timestamps(); + }); + } + + /** + * Reverse the migrations. + */ + public function down(): void + { + Schema::dropIfExists('volums'); + } +}; diff --git a/database/migrations/2024_02_28_144742_create_books_table.php b/database/migrations/2024_02_28_144742_create_books_table.php new file mode 100644 index 0000000..141b10d --- /dev/null +++ b/database/migrations/2024_02_28_144742_create_books_table.php @@ -0,0 +1,31 @@ +id(); + $table->string('title'); + $table->integer('number'); + $table->foreignId('volum_id'); + $table->foreignId('law_id')->nullable(); + $table->timestamps(); + }); + } + + /** + * Reverse the migrations. + */ + public function down(): void + { + Schema::dropIfExists('books'); + } +}; diff --git a/database/migrations/2024_02_28_144918_create_sections_table.php b/database/migrations/2024_02_28_144918_create_sections_table.php new file mode 100644 index 0000000..dfc1e81 --- /dev/null +++ b/database/migrations/2024_02_28_144918_create_sections_table.php @@ -0,0 +1,32 @@ +id(); + $table->string('title'); + $table->integer('number'); + $table->foreignId('book_id')->nullable(); + $table->foreignId('volum_id')->nullable(); + $table->foreignId('law_id')->nullable(); + $table->timestamps(); + }); + } + + /** + * Reverse the migrations. + */ + public function down(): void + { + Schema::dropIfExists('sections'); + } +}; diff --git a/database/migrations/2024_02_28_145408_create_gates_table.php b/database/migrations/2024_02_28_145408_create_gates_table.php new file mode 100644 index 0000000..5353ac2 --- /dev/null +++ b/database/migrations/2024_02_28_145408_create_gates_table.php @@ -0,0 +1,35 @@ +id(); + $table->string('title'); + $table->integer('number'); + $table->foreignId('part_id')->nullable(); + $table->foreignId('chapter_id')->nullable(); + $table->foreignId('section_id')->nullable(); + $table->foreignId('book_id')->nullable(); + $table->foreignId('volum_id')->nullable(); + $table->foreignId('law_id')->nullable(); + $table->timestamps(); + }); + } + + /** + * Reverse the migrations. + */ + public function down(): void + { + Schema::dropIfExists('gates'); + } +}; diff --git a/database/migrations/2024_02_28_145530_create_parts_table.php b/database/migrations/2024_02_28_145530_create_parts_table.php new file mode 100644 index 0000000..e0db82d --- /dev/null +++ b/database/migrations/2024_02_28_145530_create_parts_table.php @@ -0,0 +1,34 @@ +id(); + $table->string('title'); + $table->integer('number'); + $table->foreignId('chapter_id')->nullable(); + $table->foreignId('section_id')->nullable(); + $table->foreignId('book_id')->nullable(); + $table->foreignId('volum_id')->nullable(); + $table->foreignId('law_id')->nullable(); + $table->timestamps(); + }); + } + + /** + * Reverse the migrations. + */ + public function down(): void + { + Schema::dropIfExists('parts'); + } +}; diff --git a/database/migrations/2024_02_28_145633_create_chapters_table.php b/database/migrations/2024_02_28_145633_create_chapters_table.php new file mode 100644 index 0000000..818de7f --- /dev/null +++ b/database/migrations/2024_02_28_145633_create_chapters_table.php @@ -0,0 +1,33 @@ +id(); + $table->string('title'); + $table->integer('number'); + $table->foreignId('section_id')->nullable(); + $table->foreignId('book_id')->nullable(); + $table->foreignId('volum_id')->nullable(); + $table->foreignId('law_id')->nullable(); + $table->timestamps(); + }); + } + + /** + * Reverse the migrations. + */ + public function down(): void + { + Schema::dropIfExists('chapters'); + } +}; diff --git a/database/migrations/2024_02_28_145821_create_art_table.php b/database/migrations/2024_02_28_145821_create_art_table.php new file mode 100644 index 0000000..9faa87e --- /dev/null +++ b/database/migrations/2024_02_28_145821_create_art_table.php @@ -0,0 +1,36 @@ +id(); + $table->string('text'); + $table->integer('number'); + $table->foreignId('chapter_id')->nullable(); + $table->foreignId('part_id')->nullable(); + $table->foreignId('gate_id'); + $table->foreignId('section_id')->nullable(); + $table->foreignId('book_id')->nullable(); + $table->foreignId('volum_id')->nullable(); + $table->foreignId('law_id')->nullable(); + $table->timestamps(); + }); + } + + /** + * Reverse the migrations. + */ + public function down(): void + { + Schema::dropIfExists('art'); + } +}; diff --git a/database/migrations/2024_02_29_172851_change_gate_id_to_nullable_art_table.php b/database/migrations/2024_02_29_172851_change_gate_id_to_nullable_art_table.php new file mode 100644 index 0000000..789b095 --- /dev/null +++ b/database/migrations/2024_02_29_172851_change_gate_id_to_nullable_art_table.php @@ -0,0 +1,28 @@ +foreignId('gate_id')->nullable()->change(); + }); + } + + /** + * Reverse the migrations. + */ + public function down(): void + { + Schema::table('nullable_art', function (Blueprint $table) { + // + }); + } +}; diff --git a/database/migrations/2024_02_29_180224_add_title_and_change_type_text_to_art_table.php b/database/migrations/2024_02_29_180224_add_title_and_change_type_text_to_art_table.php new file mode 100644 index 0000000..494d5d5 --- /dev/null +++ b/database/migrations/2024_02_29_180224_add_title_and_change_type_text_to_art_table.php @@ -0,0 +1,29 @@ +text('text')->change(); + $table->string('title')->after('id')->nullable(); + }); + } + + /** + * Reverse the migrations. + */ + public function down(): void + { + Schema::table('art', function (Blueprint $table) { + // + }); + } +}; diff --git a/database/migrations/2024_02_29_182331_change_type_title_to_art_table.php b/database/migrations/2024_02_29_182331_change_type_title_to_art_table.php new file mode 100644 index 0000000..3d84d3d --- /dev/null +++ b/database/migrations/2024_02_29_182331_change_type_title_to_art_table.php @@ -0,0 +1,28 @@ +text('title')->change(); + }); + } + + /** + * Reverse the migrations. + */ + public function down(): void + { + Schema::table('art', function (Blueprint $table) { + // + }); + } +}; diff --git a/database/migrations/2024_03_13_150754_create_user_codes_table.php b/database/migrations/2024_03_13_150754_create_user_codes_table.php new file mode 100644 index 0000000..0744ca4 --- /dev/null +++ b/database/migrations/2024_03_13_150754_create_user_codes_table.php @@ -0,0 +1,30 @@ +id(); + $table->foreignId('user_id'); + $table->string('code'); + $table->timestamp('expired_at'); + $table->timestamps(); + }); + } + + /** + * Reverse the migrations. + */ + public function down(): void + { + Schema::dropIfExists('user_codes'); + } +}; diff --git a/database/migrations/2024_03_28_220730_create_versions_table.php b/database/migrations/2024_03_28_220730_create_versions_table.php new file mode 100644 index 0000000..bc13df2 --- /dev/null +++ b/database/migrations/2024_03_28_220730_create_versions_table.php @@ -0,0 +1,31 @@ +id(); + $table->string('code'); + $table->string('number'); + $table->text('log'); + $table->boolean('force_update')->default(0); + $table->timestamps(); + }); + } + + /** + * Reverse the migrations. + */ + public function down(): void + { + Schema::dropIfExists('versions'); + } +}; diff --git a/database/migrations/2024_03_29_104255_add_type_to_versions_table.php b/database/migrations/2024_03_29_104255_add_type_to_versions_table.php new file mode 100644 index 0000000..b8e9199 --- /dev/null +++ b/database/migrations/2024_03_29_104255_add_type_to_versions_table.php @@ -0,0 +1,28 @@ +enum('type',['web','ios','android'])->after('code')->default('web'); + }); + } + + /** + * Reverse the migrations. + */ + public function down(): void + { + Schema::table('versions', function (Blueprint $table) { + $table->dropColumn('type'); + }); + } +}; diff --git a/database/migrations/2024_04_02_172838_create_divisions_table.php b/database/migrations/2024_04_02_172838_create_divisions_table.php new file mode 100644 index 0000000..3605d1b --- /dev/null +++ b/database/migrations/2024_04_02_172838_create_divisions_table.php @@ -0,0 +1,34 @@ +id(); + $table->string('title'); + $table->integer('number'); + + $table->foreignId('book_id')->nullable(); + $table->foreignId('volum_id')->nullable(); + $table->foreignId('law_id')->nullable(); + + $table->timestamps(); + }); + } + + /** + * Reverse the migrations. + */ + public function down(): void + { + Schema::dropIfExists('divisions'); + } +}; diff --git a/database/migrations/2024_04_02_173603_create_branches_table.php b/database/migrations/2024_04_02_173603_create_branches_table.php new file mode 100644 index 0000000..d64e667 --- /dev/null +++ b/database/migrations/2024_04_02_173603_create_branches_table.php @@ -0,0 +1,39 @@ +id(); + $table->string('title'); + $table->integer('number'); + + $table->foreignId('book_id')->nullable(); + $table->foreignId('volum_id')->nullable(); + $table->foreignId('law_id')->nullable(); + $table->foreignId('gate_id')->nullable(); + $table->foreignId('part_id')->nullable(); + $table->foreignId('chapter_id')->nullable(); + $table->foreignId('section_id')->nullable(); + $table->foreignId('division_id')->nullable(); + + $table->timestamps(); + }); + } + + /** + * Reverse the migrations. + */ + public function down(): void + { + Schema::dropIfExists('branches'); + } +}; diff --git a/database/migrations/2024_04_02_173741_change_to_nullable_volume_id_arts_table.php b/database/migrations/2024_04_02_173741_change_to_nullable_volume_id_arts_table.php new file mode 100644 index 0000000..0cfaab1 --- /dev/null +++ b/database/migrations/2024_04_02_173741_change_to_nullable_volume_id_arts_table.php @@ -0,0 +1,28 @@ +foreignId('volum_id')->nullable()->change(); + }); + } + + /** + * Reverse the migrations. + */ + public function down(): void + { + Schema::table('art', function (Blueprint $table) { + $table->dropColumn('volum_id'); + }); + } +}; diff --git a/database/migrations/2024_04_04_145848_add_division_to_models.php b/database/migrations/2024_04_04_145848_add_division_to_models.php new file mode 100644 index 0000000..1bf7c7f --- /dev/null +++ b/database/migrations/2024_04_04_145848_add_division_to_models.php @@ -0,0 +1,64 @@ +foreignId('division_id')->after('number')->nullable(); + }); + + Schema::table('chapters', function (Blueprint $table) { + $table->foreignId('division_id')->after('number')->nullable(); + }); + + + Schema::table('parts', function (Blueprint $table) { + $table->foreignId('division_id')->after('number')->nullable(); + }); + + + Schema::table('gates', function (Blueprint $table) { + $table->foreignId('division_id')->after('number')->nullable(); + }); + + Schema::table('art', function (Blueprint $table) { + $table->foreignId('division_id')->after('number')->nullable(); + $table->foreignId('branch_id')->after('number')->nullable(); + }); + } + + /** + * Reverse the migrations. + */ + public function down(): void + { + Schema::table('sections', function (Blueprint $table) { + $table->dropColumn('division_id'); + }); + + Schema::table('chapters', function (Blueprint $table) { + $table->dropColumn('division_id'); + }); + Schema::table('parts', function (Blueprint $table) { + $table->dropColumn('division_id'); + }); + Schema::table('gates', function (Blueprint $table) { + $table->dropColumn('division_id'); + }); + Schema::table('branches', function (Blueprint $table) { + $table->dropColumn('division_id'); + }); + Schema::table('art', function (Blueprint $table) { + $table->dropColumn('division_id'); + $table->dropColumn('branch_id'); + }); + } +}; diff --git a/database/migrations/2024_04_11_114231_create_like_sections_table.php b/database/migrations/2024_04_11_114231_create_like_sections_table.php new file mode 100644 index 0000000..ae235ca --- /dev/null +++ b/database/migrations/2024_04_11_114231_create_like_sections_table.php @@ -0,0 +1,32 @@ +id(); + $table->foreignId('user_id'); + $table->foreignId('section_id'); + $table->timestamps(); + }); + } + } + + /** + * Reverse the migrations. + */ + public function down(): void + { + Schema::dropIfExists('like_sections'); + } +}; diff --git a/database/migrations/2024_04_11_124321_create_like_art_table.php b/database/migrations/2024_04_11_124321_create_like_art_table.php new file mode 100644 index 0000000..5d91b9c --- /dev/null +++ b/database/migrations/2024_04_11_124321_create_like_art_table.php @@ -0,0 +1,34 @@ +id(); + $table->foreignId('art_id'); + $table->foreignId('user_id'); + + $table->timestamps(); + }); + + } + } + + /** + * Reverse the migrations. + */ + public function down(): void + { + Schema::dropIfExists('like_art'); + } +}; diff --git a/database/migrations/2024_04_22_161332_create_notes_table.php b/database/migrations/2024_04_22_161332_create_notes_table.php new file mode 100644 index 0000000..f8e6fab --- /dev/null +++ b/database/migrations/2024_04_22_161332_create_notes_table.php @@ -0,0 +1,35 @@ +id(); + $table->foreignId('user_id'); + $table->foreignId('art_id'); + + $table->text('note'); + + $table->timestamps(); + }); + } + } + + /** + * Reverse the migrations. + */ + public function down(): void + { + Schema::dropIfExists('notes'); + } +}; diff --git a/database/migrations/2024_05_23_090204_add_loack_to_law_table.php b/database/migrations/2024_05_23_090204_add_loack_to_law_table.php new file mode 100644 index 0000000..dbde19c --- /dev/null +++ b/database/migrations/2024_05_23_090204_add_loack_to_law_table.php @@ -0,0 +1,28 @@ +boolean('is_locked')->default(false); + }); + } + + /** + * Reverse the migrations. + */ + public function down(): void + { + Schema::table('laws', function (Blueprint $table) { + $table->dropColumn('is_locked'); + }); + } +}; diff --git a/database/migrations/2024_05_23_105522_add_free_to_arts_table.php b/database/migrations/2024_05_23_105522_add_free_to_arts_table.php new file mode 100644 index 0000000..da62025 --- /dev/null +++ b/database/migrations/2024_05_23_105522_add_free_to_arts_table.php @@ -0,0 +1,28 @@ +boolean('is_free'); + }); + } + + /** + * Reverse the migrations. + */ + public function down(): void + { + Schema::table('art', function (Blueprint $table) { + $table->dropColumn('is_free'); + }); + } +}; diff --git a/database/migrations/2024_05_28_171509_create_orders_table.php b/database/migrations/2024_05_28_171509_create_orders_table.php new file mode 100644 index 0000000..11b4207 --- /dev/null +++ b/database/migrations/2024_05_28_171509_create_orders_table.php @@ -0,0 +1,31 @@ +id(); + $table->foreignId('user_id'); + $table->BigInteger('price'); + $table->enum('status' , ['unpaid' , 'paid' , 'canceled']); + $table->string('transaction_id'); + $table->timestamps(); + }); + } + + /** + * Reverse the migrations. + */ + public function down(): void + { + Schema::dropIfExists('orders'); + } +}; diff --git a/database/migrations/2024_05_29_180512_create_categories_table.php b/database/migrations/2024_05_29_180512_create_categories_table.php new file mode 100644 index 0000000..be9e05f --- /dev/null +++ b/database/migrations/2024_05_29_180512_create_categories_table.php @@ -0,0 +1,29 @@ +id(); + $table->string('name'); + $table->enum('type',['hagigi','kifari']); + $table->timestamps(); + }); + } + + /** + * Reverse the migrations. + */ + public function down(): void + { + Schema::dropIfExists('categories'); + } +}; diff --git a/database/migrations/2024_05_29_185337_add_category_id_to_laws_table.php b/database/migrations/2024_05_29_185337_add_category_id_to_laws_table.php new file mode 100644 index 0000000..f36c282 --- /dev/null +++ b/database/migrations/2024_05_29_185337_add_category_id_to_laws_table.php @@ -0,0 +1,28 @@ +foreignId('category_id'); + }); + } + + /** + * Reverse the migrations. + */ + public function down(): void + { + Schema::table('laws', function (Blueprint $table) { + $table->dropColumn('category_id'); + }); + } +}; diff --git a/database/migrations/2024_06_01_165015_change_category_id_to_nullable_laws_table.php b/database/migrations/2024_06_01_165015_change_category_id_to_nullable_laws_table.php new file mode 100644 index 0000000..d220fa5 --- /dev/null +++ b/database/migrations/2024_06_01_165015_change_category_id_to_nullable_laws_table.php @@ -0,0 +1,28 @@ +foreignId('category_id')->nullable()->change(); + }); + } + + /** + * Reverse the migrations. + */ + public function down(): void + { + Schema::table('laws', function (Blueprint $table) { + $table->foreignId('category_id')->change(); + }); + } +}; diff --git a/database/migrations/2024_06_03_115617_create_recent_art_table.php b/database/migrations/2024_06_03_115617_create_recent_art_table.php new file mode 100644 index 0000000..29d7354 --- /dev/null +++ b/database/migrations/2024_06_03_115617_create_recent_art_table.php @@ -0,0 +1,29 @@ +id(); + $table->foreignId('user_id'); + $table->foreignId('law_id'); + $table->timestamps(); + }); + } + + /** + * Reverse the migrations. + */ + public function down(): void + { + Schema::dropIfExists('recent_art'); + } +}; diff --git a/database/migrations/2024_07_31_211325_add_price_to_laws_table.php b/database/migrations/2024_07_31_211325_add_price_to_laws_table.php new file mode 100644 index 0000000..462a69b --- /dev/null +++ b/database/migrations/2024_07_31_211325_add_price_to_laws_table.php @@ -0,0 +1,28 @@ +integer('price')->default(0); + }); + } + + /** + * Reverse the migrations. + */ + public function down(): void + { + Schema::table('laws', function (Blueprint $table) { + $table->dropColumn('price'); + }); + } +}; diff --git a/database/migrations/2024_08_05_191859_add_color_code_to_notes_table.php b/database/migrations/2024_08_05_191859_add_color_code_to_notes_table.php new file mode 100644 index 0000000..d7e0193 --- /dev/null +++ b/database/migrations/2024_08_05_191859_add_color_code_to_notes_table.php @@ -0,0 +1,28 @@ +string('color_code')->nullable(); + }); + } + + /** + * Reverse the migrations. + */ + public function down(): void + { + Schema::table('notes', function (Blueprint $table) { + $table->dropColumn('color_code'); + }); + } +}; diff --git a/database/migrations/2024_09_10_210017_create_subscribe_plans_table.php b/database/migrations/2024_09_10_210017_create_subscribe_plans_table.php new file mode 100644 index 0000000..a36deed --- /dev/null +++ b/database/migrations/2024_09_10_210017_create_subscribe_plans_table.php @@ -0,0 +1,32 @@ +id(); + $table->string('name'); + $table->float('price'); + $table->integer('expired_day'); + $table->boolean('is_active')->default(true); + $table->boolean('is_free')->default(false); + $table->timestamps(); + }); + } + + /** + * Reverse the migrations. + */ + public function down(): void + { + Schema::dropIfExists('subscribe_plans'); + } +}; diff --git a/database/migrations/2024_09_12_152250_create_user_subscribers_table.php b/database/migrations/2024_09_12_152250_create_user_subscribers_table.php new file mode 100644 index 0000000..0162fb5 --- /dev/null +++ b/database/migrations/2024_09_12_152250_create_user_subscribers_table.php @@ -0,0 +1,30 @@ +id(); + $table->foreignId('user_id'); + $table->foreignId('subscribe_plan_id'); + $table->timestamp('expired_at'); + $table->timestamps(); + }); + } + + /** + * Reverse the migrations. + */ + public function down(): void + { + Schema::dropIfExists('user_subscribers'); + } +}; diff --git a/database/migrations/2024_10_06_160129_add_image_to_law_table.php b/database/migrations/2024_10_06_160129_add_image_to_law_table.php new file mode 100644 index 0000000..686002d --- /dev/null +++ b/database/migrations/2024_10_06_160129_add_image_to_law_table.php @@ -0,0 +1,28 @@ +string('image')->nullable(); + }); + } + + /** + * Reverse the migrations. + */ + public function down(): void + { + Schema::table('law', function (Blueprint $table) { + $table->dropColumn('image'); + }); + } +}; diff --git a/database/migrations/2024_12_18_204533_create_folders_table.php b/database/migrations/2024_12_18_204533_create_folders_table.php new file mode 100644 index 0000000..1ae2d4c --- /dev/null +++ b/database/migrations/2024_12_18_204533_create_folders_table.php @@ -0,0 +1,29 @@ +id(); + $table->string('name'); + $table->foreignId('user_id'); + $table->timestamps(); + }); + } + + /** + * Reverse the migrations. + */ + public function down(): void + { + Schema::dropIfExists('folders'); + } +}; diff --git a/database/migrations/2024_12_18_204636_create_folder_art_table.php b/database/migrations/2024_12_18_204636_create_folder_art_table.php new file mode 100644 index 0000000..a507142 --- /dev/null +++ b/database/migrations/2024_12_18_204636_create_folder_art_table.php @@ -0,0 +1,29 @@ +id(); + $table->foreignId('art_id'); + $table->foreignId('folder_id'); + $table->timestamps(); + }); + } + + /** + * Reverse the migrations. + */ + public function down(): void + { + Schema::dropIfExists('folder_art'); + } +}; diff --git a/database/migrations/2025_01_24_131233_create_payment_transactions_table.php b/database/migrations/2025_01_24_131233_create_payment_transactions_table.php new file mode 100644 index 0000000..9bb3d30 --- /dev/null +++ b/database/migrations/2025_01_24_131233_create_payment_transactions_table.php @@ -0,0 +1,33 @@ +id(); + $table->foreignId('user_id'); + $table->foreignId('subscribe_plan_id'); + $table->string('transaction_id')->unique(); + $table->string('reference_id')->nullable(); + $table->decimal('amount', 10, 2); + $table->enum('status', ['pending', 'success', 'failed'])->default('pending'); + $table->timestamps(); + }); + } + + /** + * Reverse the migrations. + */ + public function down(): void + { + Schema::dropIfExists('payment_transactions'); + } +}; diff --git a/database/migrations/2025_02_03_195317_create_suggestions_table.php b/database/migrations/2025_02_03_195317_create_suggestions_table.php new file mode 100644 index 0000000..3a9e1f6 --- /dev/null +++ b/database/migrations/2025_02_03_195317_create_suggestions_table.php @@ -0,0 +1,29 @@ +id(); + $table->foreignId('user_id'); + $table->string('text'); + $table->timestamps(); + }); + } + + /** + * Reverse the migrations. + */ + public function down(): void + { + Schema::dropIfExists('suggestions'); + } +}; diff --git a/database/migrations/2025_02_15_120000_create_notifications_table.php b/database/migrations/2025_02_15_120000_create_notifications_table.php new file mode 100644 index 0000000..b9cecd1 --- /dev/null +++ b/database/migrations/2025_02_15_120000_create_notifications_table.php @@ -0,0 +1,23 @@ +id(); + $table->string('title'); + $table->text('description')->nullable(); + $table->timestamps(); + }); + } + + public function down(): void + { + Schema::dropIfExists('notifications'); + } +}; diff --git a/database/migrations/2025_02_15_120001_create_notification_user_table.php b/database/migrations/2025_02_15_120001_create_notification_user_table.php new file mode 100644 index 0000000..62b5b14 --- /dev/null +++ b/database/migrations/2025_02_15_120001_create_notification_user_table.php @@ -0,0 +1,26 @@ +id(); + $table->foreignId('user_id')->constrained()->cascadeOnDelete(); + $table->foreignId('notification_id')->constrained()->cascadeOnDelete(); + $table->timestamp('read_at')->nullable(); + $table->timestamps(); + + $table->unique(['user_id', 'notification_id']); + }); + } + + public function down(): void + { + Schema::dropIfExists('notification_user'); + } +}; diff --git a/database/migrations/2025_02_22_175910_add_type_to_subscribe_plans_table.php b/database/migrations/2025_02_22_175910_add_type_to_subscribe_plans_table.php new file mode 100644 index 0000000..29f122e --- /dev/null +++ b/database/migrations/2025_02_22_175910_add_type_to_subscribe_plans_table.php @@ -0,0 +1,30 @@ +string('type')->nullable(); + $table->string('transaction')->nullable(); + }); + } + + /** + * Reverse the migrations. + */ + public function down(): void + { + Schema::table('subscribe_plans', function (Blueprint $table) { + $table->string('type')->nullable(); + $table->string('transaction')->nullable(); + }); + } +}; diff --git a/database/migrations/2025_02_23_210927_add_new_filed_to_user_subscriber_table.php b/database/migrations/2025_02_23_210927_add_new_filed_to_user_subscriber_table.php new file mode 100644 index 0000000..99c9761 --- /dev/null +++ b/database/migrations/2025_02_23_210927_add_new_filed_to_user_subscriber_table.php @@ -0,0 +1,30 @@ +string('subscription_id')->nullable(); + $table->string('purchase_token')->nullable(); + }); + } + + /** + * Reverse the migrations. + */ + public function down(): void + { + Schema::table('user_subscribers', function (Blueprint $table) { + $table->dropColumn('purchase_token'); + $table->dropColumn('subscription_id'); + }); + } +}; diff --git a/database/migrations/2025_03_01_195849_add_is_free_to_user_subscribers_table.php b/database/migrations/2025_03_01_195849_add_is_free_to_user_subscribers_table.php new file mode 100644 index 0000000..4a1d988 --- /dev/null +++ b/database/migrations/2025_03_01_195849_add_is_free_to_user_subscribers_table.php @@ -0,0 +1,28 @@ +boolean('is_free')->default(false); + }); + } + + /** + * Reverse the migrations. + */ + public function down(): void + { + Schema::table('user_subscribers', function (Blueprint $table) { + $table->dropColumn('is_free'); + }); + } +}; diff --git a/database/migrations/2026_04_24_095150_create_judicial_precedents_table.php b/database/migrations/2026_04_24_095150_create_judicial_precedents_table.php new file mode 100644 index 0000000..027ac7b --- /dev/null +++ b/database/migrations/2026_04_24_095150_create_judicial_precedents_table.php @@ -0,0 +1,32 @@ +id(); + $table->string('ruling_number')->unique()->comment('شماره رأی'); + $table->date('ruling_date')->comment('تاریخ صدور'); + $table->string('subject')->comment('موضوع'); + $table->text('full_text')->comment('متن کامل رأی'); + $table->string('issuing_authority')->default('هیأت عمومی دیوان عالی کشور')->comment('مرجع صادر کننده'); + $table->timestamps(); + }); + } + + /** + * Reverse the migrations. + */ + public function down(): void + { + Schema::dropIfExists('judicial_precedents'); + } +}; diff --git a/database/migrations/2026_04_24_095201_create_art_judicial_precedent_table.php b/database/migrations/2026_04_24_095201_create_art_judicial_precedent_table.php new file mode 100644 index 0000000..4f7b890 --- /dev/null +++ b/database/migrations/2026_04_24_095201_create_art_judicial_precedent_table.php @@ -0,0 +1,31 @@ +id(); + $table->foreignId('art_id')->constrained('art')->onDelete('cascade'); + $table->foreignId('judicial_precedent_id')->constrained('judicial_precedents')->onDelete('cascade'); + $table->timestamps(); + + $table->unique(['art_id', 'judicial_precedent_id']); + }); + } + + /** + * Reverse the migrations. + */ + public function down(): void + { + Schema::dropIfExists('art_judicial_precedent'); + } +}; diff --git a/database/seeders/DatabaseSeeder.php b/database/seeders/DatabaseSeeder.php new file mode 100644 index 0000000..a1ce6d3 --- /dev/null +++ b/database/seeders/DatabaseSeeder.php @@ -0,0 +1,14 @@ +create(); + } +} diff --git a/package-lock.json b/package-lock.json new file mode 100644 index 0000000..fa36f41 --- /dev/null +++ b/package-lock.json @@ -0,0 +1,2418 @@ +{ + "name": "persian-ping", + "lockfileVersion": 3, + "requires": true, + "packages": { + "": { + "devDependencies": { + "@tailwindcss/forms": "^0.5.2", + "@tailwindcss/typography": "^0.5.0", + "autoprefixer": "^10.4.7", + "axios": "^1.6.4", + "laravel-vite-plugin": "^1.0.0", + "postcss": "^8.4.14", + "tailwindcss": "^3.1.0", + "vite": "^5.0.0" + } + }, + "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, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@esbuild/aix-ppc64": { + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.19.12.tgz", + "integrity": "sha512-bmoCYyWdEL3wDQIVbcyzRyeKLgk2WtWLTWz1ZIAZF/EGbNOwSA6ew3PftJ1PqMiOOGu0OyFMzG53L0zqIpPeNA==", + "cpu": [ + "ppc64" + ], + "dev": true, + "optional": true, + "os": [ + "aix" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/android-arm": { + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.19.12.tgz", + "integrity": "sha512-qg/Lj1mu3CdQlDEEiWrlC4eaPZ1KztwGJ9B6J+/6G+/4ewxJg7gqj8eVYWvao1bXrqGiW2rsBZFSX3q2lcW05w==", + "cpu": [ + "arm" + ], + "dev": true, + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/android-arm64": { + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.19.12.tgz", + "integrity": "sha512-P0UVNGIienjZv3f5zq0DP3Nt2IE/3plFzuaS96vihvD0Hd6H/q4WXUGpCxD/E8YrSXfNyRPbpTq+T8ZQioSuPA==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/android-x64": { + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.19.12.tgz", + "integrity": "sha512-3k7ZoUW6Q6YqhdhIaq/WZ7HwBpnFBlW905Fa4s4qWJyiNOgT1dOqDiVAQFwBH7gBRZr17gLrlFCRzF6jFh7Kew==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/darwin-arm64": { + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.19.12.tgz", + "integrity": "sha512-B6IeSgZgtEzGC42jsI+YYu9Z3HKRxp8ZT3cqhvliEHovq8HSX2YX8lNocDn79gCKJXOSaEot9MVYky7AKjCs8g==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/darwin-x64": { + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.19.12.tgz", + "integrity": "sha512-hKoVkKzFiToTgn+41qGhsUJXFlIjxI/jSYeZf3ugemDYZldIXIxhvwN6erJGlX4t5h417iFuheZ7l+YVn05N3A==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/freebsd-arm64": { + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.19.12.tgz", + "integrity": "sha512-4aRvFIXmwAcDBw9AueDQ2YnGmz5L6obe5kmPT8Vd+/+x/JMVKCgdcRwH6APrbpNXsPz+K653Qg8HB/oXvXVukA==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/freebsd-x64": { + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.19.12.tgz", + "integrity": "sha512-EYoXZ4d8xtBoVN7CEwWY2IN4ho76xjYXqSXMNccFSx2lgqOG/1TBPW0yPx1bJZk94qu3tX0fycJeeQsKovA8gg==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-arm": { + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.19.12.tgz", + "integrity": "sha512-J5jPms//KhSNv+LO1S1TX1UWp1ucM6N6XuL6ITdKWElCu8wXP72l9MM0zDTzzeikVyqFE6U8YAV9/tFyj0ti+w==", + "cpu": [ + "arm" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-arm64": { + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.19.12.tgz", + "integrity": "sha512-EoTjyYyLuVPfdPLsGVVVC8a0p1BFFvtpQDB/YLEhaXyf/5bczaGeN15QkR+O4S5LeJ92Tqotve7i1jn35qwvdA==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-ia32": { + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.19.12.tgz", + "integrity": "sha512-Thsa42rrP1+UIGaWz47uydHSBOgTUnwBwNq59khgIwktK6x60Hivfbux9iNR0eHCHzOLjLMLfUMLCypBkZXMHA==", + "cpu": [ + "ia32" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-loong64": { + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.19.12.tgz", + "integrity": "sha512-LiXdXA0s3IqRRjm6rV6XaWATScKAXjI4R4LoDlvO7+yQqFdlr1Bax62sRwkVvRIrwXxvtYEHHI4dm50jAXkuAA==", + "cpu": [ + "loong64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-mips64el": { + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.19.12.tgz", + "integrity": "sha512-fEnAuj5VGTanfJ07ff0gOA6IPsvrVHLVb6Lyd1g2/ed67oU1eFzL0r9WL7ZzscD+/N6i3dWumGE1Un4f7Amf+w==", + "cpu": [ + "mips64el" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-ppc64": { + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.19.12.tgz", + "integrity": "sha512-nYJA2/QPimDQOh1rKWedNOe3Gfc8PabU7HT3iXWtNUbRzXS9+vgB0Fjaqr//XNbd82mCxHzik2qotuI89cfixg==", + "cpu": [ + "ppc64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-riscv64": { + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.19.12.tgz", + "integrity": "sha512-2MueBrlPQCw5dVJJpQdUYgeqIzDQgw3QtiAHUC4RBz9FXPrskyyU3VI1hw7C0BSKB9OduwSJ79FTCqtGMWqJHg==", + "cpu": [ + "riscv64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-s390x": { + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.19.12.tgz", + "integrity": "sha512-+Pil1Nv3Umes4m3AZKqA2anfhJiVmNCYkPchwFJNEJN5QxmTs1uzyy4TvmDrCRNT2ApwSari7ZIgrPeUx4UZDg==", + "cpu": [ + "s390x" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-x64": { + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.19.12.tgz", + "integrity": "sha512-B71g1QpxfwBvNrfyJdVDexenDIt1CiDN1TIXLbhOw0KhJzE78KIFGX6OJ9MrtC0oOqMWf+0xop4qEU8JrJTwCg==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/netbsd-x64": { + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.19.12.tgz", + "integrity": "sha512-3ltjQ7n1owJgFbuC61Oj++XhtzmymoCihNFgT84UAmJnxJfm4sYCiSLTXZtE00VWYpPMYc+ZQmB6xbSdVh0JWA==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "netbsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/openbsd-x64": { + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.19.12.tgz", + "integrity": "sha512-RbrfTB9SWsr0kWmb9srfF+L933uMDdu9BIzdA7os2t0TXhCRjrQyCeOt6wVxr79CKD4c+p+YhCj31HBkYcXebw==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "openbsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/sunos-x64": { + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.19.12.tgz", + "integrity": "sha512-HKjJwRrW8uWtCQnQOz9qcU3mUZhTUQvi56Q8DPTLLB+DawoiQdjsYq+j+D3s9I8VFtDr+F9CjgXKKC4ss89IeA==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "sunos" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/win32-arm64": { + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.19.12.tgz", + "integrity": "sha512-URgtR1dJnmGvX864pn1B2YUYNzjmXkuJOIqG2HdU62MVS4EHpU2946OZoTMnRUHklGtJdJZ33QfzdjGACXhn1A==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/win32-ia32": { + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.19.12.tgz", + "integrity": "sha512-+ZOE6pUkMOJfmxmBZElNOx72NKpIa/HFOMGzu8fqzQJ5kgf6aTGrcJaFsNiVMH4JKpMipyK+7k0n2UXN7a8YKQ==", + "cpu": [ + "ia32" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/win32-x64": { + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.19.12.tgz", + "integrity": "sha512-T1QyPSDCyMXaO3pzBkF96E8xMkiRYbUEZADd29SyPGabqxMViNoii+NcK7eWJAEoU6RZyEm5lVSIjTmcdoB9HA==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@isaacs/cliui": { + "version": "8.0.2", + "resolved": "https://registry.npmjs.org/@isaacs/cliui/-/cliui-8.0.2.tgz", + "integrity": "sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==", + "dev": true, + "dependencies": { + "string-width": "^5.1.2", + "string-width-cjs": "npm:string-width@^4.2.0", + "strip-ansi": "^7.0.1", + "strip-ansi-cjs": "npm:strip-ansi@^6.0.1", + "wrap-ansi": "^8.1.0", + "wrap-ansi-cjs": "npm:wrap-ansi@^7.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/@jridgewell/gen-mapping": { + "version": "0.3.4", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.4.tgz", + "integrity": "sha512-Oud2QPM5dHviZNn4y/WhhYKSXksv+1xLEIsNrAbGcFzUN3ubqWRFT5gwPchNc5NuzILOU4tPBDTZ4VwhL8Y7cw==", + "dev": true, + "dependencies": { + "@jridgewell/set-array": "^1.0.1", + "@jridgewell/sourcemap-codec": "^1.4.10", + "@jridgewell/trace-mapping": "^0.3.9" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "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, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/set-array": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz", + "integrity": "sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==", + "dev": true, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/sourcemap-codec": { + "version": "1.4.15", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz", + "integrity": "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==", + "dev": true + }, + "node_modules/@jridgewell/trace-mapping": { + "version": "0.3.23", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.23.tgz", + "integrity": "sha512-9/4foRoUKp8s96tSkh8DlAAc5A0Ty8vLXld+l9gjKKY6ckwI8G15f0hskGmuLZu78ZlGa1vtsfOa+lnB4vG6Jg==", + "dev": true, + "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, + "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, + "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, + "dependencies": { + "@nodelib/fs.scandir": "2.1.5", + "fastq": "^1.6.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@pkgjs/parseargs": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/@pkgjs/parseargs/-/parseargs-0.11.0.tgz", + "integrity": "sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==", + "dev": true, + "optional": true, + "engines": { + "node": ">=14" + } + }, + "node_modules/@rollup/rollup-android-arm-eabi": { + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.12.0.tgz", + "integrity": "sha512-+ac02NL/2TCKRrJu2wffk1kZ+RyqxVUlbjSagNgPm94frxtr+XDL12E5Ll1enWskLrtrZ2r8L3wED1orIibV/w==", + "cpu": [ + "arm" + ], + "dev": true, + "optional": true, + "os": [ + "android" + ] + }, + "node_modules/@rollup/rollup-android-arm64": { + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.12.0.tgz", + "integrity": "sha512-OBqcX2BMe6nvjQ0Nyp7cC90cnumt8PXmO7Dp3gfAju/6YwG0Tj74z1vKrfRz7qAv23nBcYM8BCbhrsWqO7PzQQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "android" + ] + }, + "node_modules/@rollup/rollup-darwin-arm64": { + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.12.0.tgz", + "integrity": "sha512-X64tZd8dRE/QTrBIEs63kaOBG0b5GVEd3ccoLtyf6IdXtHdh8h+I56C2yC3PtC9Ucnv0CpNFJLqKFVgCYe0lOQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@rollup/rollup-darwin-x64": { + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.12.0.tgz", + "integrity": "sha512-cc71KUZoVbUJmGP2cOuiZ9HSOP14AzBAThn3OU+9LcA1+IUqswJyR1cAJj3Mg55HbjZP6OLAIscbQsQLrpgTOg==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@rollup/rollup-linux-arm-gnueabihf": { + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.12.0.tgz", + "integrity": "sha512-a6w/Y3hyyO6GlpKL2xJ4IOh/7d+APaqLYdMf86xnczU3nurFTaVN9s9jOXQg97BE4nYm/7Ga51rjec5nfRdrvA==", + "cpu": [ + "arm" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-arm64-gnu": { + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.12.0.tgz", + "integrity": "sha512-0fZBq27b+D7Ar5CQMofVN8sggOVhEtzFUwOwPppQt0k+VR+7UHMZZY4y+64WJ06XOhBTKXtQB/Sv0NwQMXyNAA==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-arm64-musl": { + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.12.0.tgz", + "integrity": "sha512-eTvzUS3hhhlgeAv6bfigekzWZjaEX9xP9HhxB0Dvrdbkk5w/b+1Sxct2ZuDxNJKzsRStSq1EaEkVSEe7A7ipgQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-riscv64-gnu": { + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.12.0.tgz", + "integrity": "sha512-ix+qAB9qmrCRiaO71VFfY8rkiAZJL8zQRXveS27HS+pKdjwUfEhqo2+YF2oI+H/22Xsiski+qqwIBxVewLK7sw==", + "cpu": [ + "riscv64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-x64-gnu": { + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.12.0.tgz", + "integrity": "sha512-TenQhZVOtw/3qKOPa7d+QgkeM6xY0LtwzR8OplmyL5LrgTWIXpTQg2Q2ycBf8jm+SFW2Wt/DTn1gf7nFp3ssVA==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-x64-musl": { + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.12.0.tgz", + "integrity": "sha512-LfFdRhNnW0zdMvdCb5FNuWlls2WbbSridJvxOvYWgSBOYZtgBfW9UGNJG//rwMqTX1xQE9BAodvMH9tAusKDUw==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-win32-arm64-msvc": { + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.12.0.tgz", + "integrity": "sha512-JPDxovheWNp6d7AHCgsUlkuCKvtu3RB55iNEkaQcf0ttsDU/JZF+iQnYcQJSk/7PtT4mjjVG8N1kpwnI9SLYaw==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@rollup/rollup-win32-ia32-msvc": { + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.12.0.tgz", + "integrity": "sha512-fjtuvMWRGJn1oZacG8IPnzIV6GF2/XG+h71FKn76OYFqySXInJtseAqdprVTDTyqPxQOG9Exak5/E9Z3+EJ8ZA==", + "cpu": [ + "ia32" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@rollup/rollup-win32-x64-msvc": { + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.12.0.tgz", + "integrity": "sha512-ZYmr5mS2wd4Dew/JjT0Fqi2NPB/ZhZ2VvPp7SmvPZb4Y1CG/LRcS6tcRo2cYU7zLK5A7cdbhWnnWmUjoI4qapg==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@tailwindcss/forms": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/@tailwindcss/forms/-/forms-0.5.7.tgz", + "integrity": "sha512-QE7X69iQI+ZXwldE+rzasvbJiyV/ju1FGHH0Qn2W3FKbuYtqp8LKcy6iSw79fVUT5/Vvf+0XgLCeYVG+UV6hOw==", + "dev": true, + "dependencies": { + "mini-svg-data-uri": "^1.2.3" + }, + "peerDependencies": { + "tailwindcss": ">=3.0.0 || >= 3.0.0-alpha.1" + } + }, + "node_modules/@tailwindcss/typography": { + "version": "0.5.10", + "resolved": "https://registry.npmjs.org/@tailwindcss/typography/-/typography-0.5.10.tgz", + "integrity": "sha512-Pe8BuPJQJd3FfRnm6H0ulKIGoMEQS+Vq01R6M5aCrFB/ccR/shT+0kXLjouGC1gFLm9hopTFN+DMP0pfwRWzPw==", + "dev": true, + "dependencies": { + "lodash.castarray": "^4.4.0", + "lodash.isplainobject": "^4.0.6", + "lodash.merge": "^4.6.2", + "postcss-selector-parser": "6.0.10" + }, + "peerDependencies": { + "tailwindcss": ">=3.0.0 || insiders" + } + }, + "node_modules/@types/estree": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.5.tgz", + "integrity": "sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==", + "dev": true + }, + "node_modules/ansi-regex": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", + "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==", + "dev": true, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-regex?sponsor=1" + } + }, + "node_modules/ansi-styles": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz", + "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==", + "dev": true, + "engines": { + "node": ">=12" + }, + "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 + }, + "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, + "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 + }, + "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 + }, + "node_modules/autoprefixer": { + "version": "10.4.17", + "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.17.tgz", + "integrity": "sha512-/cpVNRLSfhOtcGflT13P2794gVSgmPgTR+erw5ifnMLZb0UnSlkK4tquLmkd3BhA+nLo5tX8Cu0upUsGKvKbmg==", + "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" + } + ], + "dependencies": { + "browserslist": "^4.22.2", + "caniuse-lite": "^1.0.30001578", + "fraction.js": "^4.3.7", + "normalize-range": "^0.1.2", + "picocolors": "^1.0.0", + "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.6.7", + "resolved": "https://registry.npmjs.org/axios/-/axios-1.6.7.tgz", + "integrity": "sha512-/hDJGff6/c7u0hDkvkGxR/oy6CbCs8ziCsC7SqmhjfozqiJGc8Z11wrv9z9lYfY4K8l+H9TpjcMDX0xOZmx+RA==", + "dev": true, + "dependencies": { + "follow-redirects": "^1.15.4", + "form-data": "^4.0.0", + "proxy-from-env": "^1.1.0" + } + }, + "node_modules/balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", + "dev": true + }, + "node_modules/binary-extensions": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", + "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "dev": true, + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "node_modules/braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "dev": true, + "dependencies": { + "fill-range": "^7.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/browserslist": { + "version": "4.23.0", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.23.0.tgz", + "integrity": "sha512-QW8HiM1shhT2GuzkvklfjcKDiWFXHOeFCIA/huJPwHsslwcydgk7X+z2zXpEijP98UCY7HbubZt5J2Zgvf0CaQ==", + "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" + } + ], + "dependencies": { + "caniuse-lite": "^1.0.30001587", + "electron-to-chromium": "^1.4.668", + "node-releases": "^2.0.14", + "update-browserslist-db": "^1.0.13" + }, + "bin": { + "browserslist": "cli.js" + }, + "engines": { + "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" + } + }, + "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, + "engines": { + "node": ">= 6" + } + }, + "node_modules/caniuse-lite": { + "version": "1.0.30001589", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001589.tgz", + "integrity": "sha512-vNQWS6kI+q6sBlHbh71IIeC+sRwK2N3EDySc/updIGhIee2x5z00J4c1242/5/d6EpEMdOnk/m+6tuk4/tcsqg==", + "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" + } + ] + }, + "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, + "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, + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "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, + "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 + }, + "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, + "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, + "engines": { + "node": ">= 6" + } + }, + "node_modules/cross-spawn": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", + "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", + "dev": true, + "dependencies": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + }, + "engines": { + "node": ">= 8" + } + }, + "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, + "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, + "engines": { + "node": ">=0.4.0" + } + }, + "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 + }, + "node_modules/dlv": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/dlv/-/dlv-1.1.3.tgz", + "integrity": "sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==", + "dev": true + }, + "node_modules/eastasianwidth": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz", + "integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==", + "dev": true + }, + "node_modules/electron-to-chromium": { + "version": "1.4.681", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.681.tgz", + "integrity": "sha512-1PpuqJUFWoXZ1E54m8bsLPVYwIVCRzvaL+n5cjigGga4z854abDnFRc+cTa2th4S79kyGqya/1xoR7h+Y5G5lg==", + "dev": true + }, + "node_modules/emoji-regex": { + "version": "9.2.2", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", + "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==", + "dev": true + }, + "node_modules/esbuild": { + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.19.12.tgz", + "integrity": "sha512-aARqgq8roFBj054KvQr5f1sFu0D65G+miZRCuJyJ0G13Zwx7vRar5Zhn2tkQNzIXcBrNVsv/8stehpj+GAjgbg==", + "dev": true, + "hasInstallScript": true, + "bin": { + "esbuild": "bin/esbuild" + }, + "engines": { + "node": ">=12" + }, + "optionalDependencies": { + "@esbuild/aix-ppc64": "0.19.12", + "@esbuild/android-arm": "0.19.12", + "@esbuild/android-arm64": "0.19.12", + "@esbuild/android-x64": "0.19.12", + "@esbuild/darwin-arm64": "0.19.12", + "@esbuild/darwin-x64": "0.19.12", + "@esbuild/freebsd-arm64": "0.19.12", + "@esbuild/freebsd-x64": "0.19.12", + "@esbuild/linux-arm": "0.19.12", + "@esbuild/linux-arm64": "0.19.12", + "@esbuild/linux-ia32": "0.19.12", + "@esbuild/linux-loong64": "0.19.12", + "@esbuild/linux-mips64el": "0.19.12", + "@esbuild/linux-ppc64": "0.19.12", + "@esbuild/linux-riscv64": "0.19.12", + "@esbuild/linux-s390x": "0.19.12", + "@esbuild/linux-x64": "0.19.12", + "@esbuild/netbsd-x64": "0.19.12", + "@esbuild/openbsd-x64": "0.19.12", + "@esbuild/sunos-x64": "0.19.12", + "@esbuild/win32-arm64": "0.19.12", + "@esbuild/win32-ia32": "0.19.12", + "@esbuild/win32-x64": "0.19.12" + } + }, + "node_modules/escalade": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.2.tgz", + "integrity": "sha512-ErCHMCae19vR8vQGe50xIsVomy19rg6gFu3+r3jkEO46suLMWBksvVyoGgQV+jOfl84ZSOSlmv6Gxa89PmTGmA==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/fast-glob": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.2.tgz", + "integrity": "sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==", + "dev": true, + "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.4" + }, + "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, + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/fastq": { + "version": "1.17.1", + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.17.1.tgz", + "integrity": "sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==", + "dev": true, + "dependencies": { + "reusify": "^1.0.4" + } + }, + "node_modules/fill-range": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", + "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "dev": true, + "dependencies": { + "to-regex-range": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/follow-redirects": { + "version": "1.15.5", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.5.tgz", + "integrity": "sha512-vSFWUON1B+yAw1VN4xMfxgn5fTUiaOzAJCKBwIIgT/+7CuGy9+r+5gITvP62j3RmaD5Ph65UaERdOSRGUzZtgw==", + "dev": true, + "funding": [ + { + "type": "individual", + "url": "https://github.com/sponsors/RubenVerborgh" + } + ], + "engines": { + "node": ">=4.0" + }, + "peerDependenciesMeta": { + "debug": { + "optional": true + } + } + }, + "node_modules/foreground-child": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-3.1.1.tgz", + "integrity": "sha512-TMKDUnIte6bfb5nWv7V/caI169OHgvwjb7V4WkeUvbQQdjr5rWKqHFiKWb/fcOwB+CzBT+qbWjvj+DVwRskpIg==", + "dev": true, + "dependencies": { + "cross-spawn": "^7.0.0", + "signal-exit": "^4.0.1" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/form-data": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz", + "integrity": "sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==", + "dev": true, + "dependencies": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.8", + "mime-types": "^2.1.12" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/fraction.js": { + "version": "4.3.7", + "resolved": "https://registry.npmjs.org/fraction.js/-/fraction.js-4.3.7.tgz", + "integrity": "sha512-ZsDfxO51wGAXREY55a7la9LScWpwv9RxIrYABrlvOFBlH/ShPnrtsXeuUIfXKKOVicNxQ+o8JTbJvjS4M89yew==", + "dev": true, + "engines": { + "node": "*" + }, + "funding": { + "type": "patreon", + "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, + "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, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/glob": { + "version": "10.3.10", + "resolved": "https://registry.npmjs.org/glob/-/glob-10.3.10.tgz", + "integrity": "sha512-fa46+tv1Ak0UPK1TOy/pZrIybNNt4HCv7SDzwyfiOZkvZLEbjsZkJBPtDHVshZjbecAoAGSC20MjLDG/qr679g==", + "dev": true, + "dependencies": { + "foreground-child": "^3.1.0", + "jackspeak": "^2.3.5", + "minimatch": "^9.0.1", + "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0", + "path-scurry": "^1.10.1" + }, + "bin": { + "glob": "dist/esm/bin.mjs" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "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, + "dependencies": { + "is-glob": "^4.0.3" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/hasown": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.1.tgz", + "integrity": "sha512-1/th4MHjnwncwXsIW6QMzlvYL9kG5e/CpVvLRZe4XPa8TOUNbCELqmvhDmnkNsAjwaG4+I8gJJL0JBvTTLO9qA==", + "dev": true, + "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, + "dependencies": { + "binary-extensions": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/is-core-module": { + "version": "2.13.1", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.13.1.tgz", + "integrity": "sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw==", + "dev": true, + "dependencies": { + "hasown": "^2.0.0" + }, + "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, + "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, + "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, + "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, + "engines": { + "node": ">=0.12.0" + } + }, + "node_modules/isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", + "dev": true + }, + "node_modules/jackspeak": { + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-2.3.6.tgz", + "integrity": "sha512-N3yCS/NegsOBokc8GAdM8UcmfsKiSS8cipheD/nivzr700H+nsMOxJjQnvwOcRYVuFkdH0wGUvW2WbXGmrZGbQ==", + "dev": true, + "dependencies": { + "@isaacs/cliui": "^8.0.2" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + }, + "optionalDependencies": { + "@pkgjs/parseargs": "^0.11.0" + } + }, + "node_modules/jiti": { + "version": "1.21.0", + "resolved": "https://registry.npmjs.org/jiti/-/jiti-1.21.0.tgz", + "integrity": "sha512-gFqAIbuKyyso/3G2qhiO2OM6shY6EPP/R0+mkDbyspxKazh8BXDC5FiFsUjlczgdNz/vfra0da2y+aHrusLG/Q==", + "dev": true, + "bin": { + "jiti": "bin/jiti.js" + } + }, + "node_modules/laravel-vite-plugin": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/laravel-vite-plugin/-/laravel-vite-plugin-1.0.1.tgz", + "integrity": "sha512-laLEZUnSskIDZtLb2FNRdcjsRUhh1VOVvapbVGVTeaBPJTCF/b6gbPiX2dZdcH1RKoOE0an7L+2gnInk6K33Zw==", + "dev": true, + "dependencies": { + "picocolors": "^1.0.0", + "vite-plugin-full-reload": "^1.1.0" + }, + "bin": { + "clean-orphaned-assets": "bin/clean.js" + }, + "engines": { + "node": "^18.0.0 || >=20.0.0" + }, + "peerDependencies": { + "vite": "^5.0.0" + } + }, + "node_modules/lilconfig": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-2.1.0.tgz", + "integrity": "sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ==", + "dev": true, + "engines": { + "node": ">=10" + } + }, + "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 + }, + "node_modules/lodash.castarray": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/lodash.castarray/-/lodash.castarray-4.4.0.tgz", + "integrity": "sha512-aVx8ztPv7/2ULbArGJ2Y42bG1mEQ5mGjpdvrbJcJFU3TbYybe+QlLS4pst9zV52ymy2in1KpFPiZnAOATxD4+Q==", + "dev": true + }, + "node_modules/lodash.isplainobject": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz", + "integrity": "sha512-oSXzaWypCMHkPC3NvBEaPHf0KsA5mvPrOPgQWDsbg8n7orZ290M0BmC/jgRZ4vcJ6DTAhjrsSYgdsW/F+MFOBA==", + "dev": true + }, + "node_modules/lodash.merge": { + "version": "4.6.2", + "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", + "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", + "dev": true + }, + "node_modules/lru-cache": { + "version": "10.2.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.2.0.tgz", + "integrity": "sha512-2bIM8x+VAf6JT4bKAljS1qUWgMsqZRPGJS6FSahIMPVvctcNhyVp7AJu7quxOW9jwkryBReKZY5tY5JYv2n/7Q==", + "dev": true, + "engines": { + "node": "14 || >=16.14" + } + }, + "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, + "engines": { + "node": ">= 8" + } + }, + "node_modules/micromatch": { + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", + "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==", + "dev": true, + "dependencies": { + "braces": "^3.0.2", + "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, + "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, + "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, + "bin": { + "mini-svg-data-uri": "cli.js" + } + }, + "node_modules/minimatch": { + "version": "9.0.3", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.3.tgz", + "integrity": "sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==", + "dev": true, + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/minipass": { + "version": "7.0.4", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.0.4.tgz", + "integrity": "sha512-jYofLM5Dam9279rdkWzqHozUo4ybjdZmCsDHePy5V/PbBcVMiSZR97gmAy45aqi8CK1lG2ECd356FU86avfwUQ==", + "dev": true, + "engines": { + "node": ">=16 || 14 >=14.17" + } + }, + "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, + "dependencies": { + "any-promise": "^1.0.0", + "object-assign": "^4.0.1", + "thenify-all": "^1.0.0" + } + }, + "node_modules/nanoid": { + "version": "3.3.7", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.7.tgz", + "integrity": "sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "bin": { + "nanoid": "bin/nanoid.cjs" + }, + "engines": { + "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" + } + }, + "node_modules/node-releases": { + "version": "2.0.14", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.14.tgz", + "integrity": "sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw==", + "dev": true + }, + "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, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/normalize-range": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/normalize-range/-/normalize-range-0.1.2.tgz", + "integrity": "sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA==", + "dev": true, + "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, + "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, + "engines": { + "node": ">= 6" + } + }, + "node_modules/path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/path-parse": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", + "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", + "dev": true + }, + "node_modules/path-scurry": { + "version": "1.10.1", + "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-1.10.1.tgz", + "integrity": "sha512-MkhCqzzBEpPvxxQ71Md0b1Kk51W01lrYvlMzSUaIzNsODdd7mqhiimSZlr+VegAz5Z6Vzt9Xg2ttE//XBhH3EQ==", + "dev": true, + "dependencies": { + "lru-cache": "^9.1.1 || ^10.0.0", + "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/picocolors": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", + "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==", + "dev": true + }, + "node_modules/picomatch": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "dev": true, + "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, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/pirates": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.6.tgz", + "integrity": "sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg==", + "dev": true, + "engines": { + "node": ">= 6" + } + }, + "node_modules/postcss": { + "version": "8.4.35", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.35.tgz", + "integrity": "sha512-u5U8qYpBCpN13BsiEB0CbR1Hhh4Gc0zLFuedrHJKMctHCHAGrMdG0PRM/KErzAL3CU6/eckEtmHNB3x6e3c0vA==", + "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" + } + ], + "dependencies": { + "nanoid": "^3.3.7", + "picocolors": "^1.0.0", + "source-map-js": "^1.0.2" + }, + "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, + "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.0.1", + "resolved": "https://registry.npmjs.org/postcss-js/-/postcss-js-4.0.1.tgz", + "integrity": "sha512-dDLF8pEO191hJMtlHFPRa8xsizHaM82MLfNkUHdUtVEV3tgTp5oj+8qbEqYM57SLfc74KSbw//4SeJma2LRVIw==", + "dev": true, + "dependencies": { + "camelcase-css": "^2.0.1" + }, + "engines": { + "node": "^12 || ^14 || >= 16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + "peerDependencies": { + "postcss": "^8.4.21" + } + }, + "node_modules/postcss-load-config": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-4.0.2.tgz", + "integrity": "sha512-bSVhyJGL00wMVoPUzAVAnbEoWyqRxkjv64tUl427SKnPrENtq6hJwUojroMz2VB+Q1edmi4IfrAPpami5VVgMQ==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "dependencies": { + "lilconfig": "^3.0.0", + "yaml": "^2.3.4" + }, + "engines": { + "node": ">= 14" + }, + "peerDependencies": { + "postcss": ">=8.0.9", + "ts-node": ">=9.0.0" + }, + "peerDependenciesMeta": { + "postcss": { + "optional": true + }, + "ts-node": { + "optional": true + } + } + }, + "node_modules/postcss-load-config/node_modules/lilconfig": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-3.1.1.tgz", + "integrity": "sha512-O18pf7nyvHTckunPWCV1XUNXU1piu01y2b7ATJ0ppkUkk8ocqVWBrYjJBCwHDjD/ZWcfyrA0P4gKhzWGi5EINQ==", + "dev": true, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/antonk52" + } + }, + "node_modules/postcss-nested": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/postcss-nested/-/postcss-nested-6.0.1.tgz", + "integrity": "sha512-mEp4xPMi5bSWiMbsgoPfcP74lsWLHkQbZc3sY+jWYd65CUwXrUaTp0fmNpa01ZcETKlIgUdFN/MpS2xZtqL9dQ==", + "dev": true, + "dependencies": { + "postcss-selector-parser": "^6.0.11" + }, + "engines": { + "node": ">=12.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + "peerDependencies": { + "postcss": "^8.2.14" + } + }, + "node_modules/postcss-nested/node_modules/postcss-selector-parser": { + "version": "6.0.15", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.15.tgz", + "integrity": "sha512-rEYkQOMUCEMhsKbK66tbEU9QVIxbhN18YiniAwA7XQYTVBqrBy+P2p5JcdqsHgKM2zWylp8d7J6eszocfds5Sw==", + "dev": true, + "dependencies": { + "cssesc": "^3.0.0", + "util-deprecate": "^1.0.2" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/postcss-selector-parser": { + "version": "6.0.10", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.10.tgz", + "integrity": "sha512-IQ7TZdoaqbT+LCpShg46jnZVlhWD2w6iQYAcYXfHARZ7X1t/UGhhceQDs5X0cGqKvYlHNOuv7Oa1xmb0oQuA3w==", + "dev": true, + "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 + }, + "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 + }, + "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" + } + ] + }, + "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, + "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, + "dependencies": { + "picomatch": "^2.2.1" + }, + "engines": { + "node": ">=8.10.0" + } + }, + "node_modules/resolve": { + "version": "1.22.8", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.8.tgz", + "integrity": "sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==", + "dev": true, + "dependencies": { + "is-core-module": "^2.13.0", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" + }, + "bin": { + "resolve": "bin/resolve" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/reusify": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", + "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", + "dev": true, + "engines": { + "iojs": ">=1.0.0", + "node": ">=0.10.0" + } + }, + "node_modules/rollup": { + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.12.0.tgz", + "integrity": "sha512-wz66wn4t1OHIJw3+XU7mJJQV/2NAfw5OAk6G6Hoo3zcvz/XOfQ52Vgi+AN4Uxoxi0KBBwk2g8zPrTDA4btSB/Q==", + "dev": true, + "dependencies": { + "@types/estree": "1.0.5" + }, + "bin": { + "rollup": "dist/bin/rollup" + }, + "engines": { + "node": ">=18.0.0", + "npm": ">=8.0.0" + }, + "optionalDependencies": { + "@rollup/rollup-android-arm-eabi": "4.12.0", + "@rollup/rollup-android-arm64": "4.12.0", + "@rollup/rollup-darwin-arm64": "4.12.0", + "@rollup/rollup-darwin-x64": "4.12.0", + "@rollup/rollup-linux-arm-gnueabihf": "4.12.0", + "@rollup/rollup-linux-arm64-gnu": "4.12.0", + "@rollup/rollup-linux-arm64-musl": "4.12.0", + "@rollup/rollup-linux-riscv64-gnu": "4.12.0", + "@rollup/rollup-linux-x64-gnu": "4.12.0", + "@rollup/rollup-linux-x64-musl": "4.12.0", + "@rollup/rollup-win32-arm64-msvc": "4.12.0", + "@rollup/rollup-win32-ia32-msvc": "4.12.0", + "@rollup/rollup-win32-x64-msvc": "4.12.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" + } + ], + "dependencies": { + "queue-microtask": "^1.2.2" + } + }, + "node_modules/shebang-command": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "dev": true, + "dependencies": { + "shebang-regex": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/signal-exit": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", + "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==", + "dev": true, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/source-map-js": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz", + "integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/string-width": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz", + "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==", + "dev": true, + "dependencies": { + "eastasianwidth": "^0.2.0", + "emoji-regex": "^9.2.2", + "strip-ansi": "^7.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/string-width-cjs": { + "name": "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, + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/string-width-cjs/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, + "engines": { + "node": ">=8" + } + }, + "node_modules/string-width-cjs/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 + }, + "node_modules/string-width-cjs/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, + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-ansi": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", + "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", + "dev": true, + "dependencies": { + "ansi-regex": "^6.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/strip-ansi?sponsor=1" + } + }, + "node_modules/strip-ansi-cjs": { + "name": "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, + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-ansi-cjs/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, + "engines": { + "node": ">=8" + } + }, + "node_modules/sucrase": { + "version": "3.35.0", + "resolved": "https://registry.npmjs.org/sucrase/-/sucrase-3.35.0.tgz", + "integrity": "sha512-8EbVDiu9iN/nESwxeSxDKe0dunta1GOlHufmSSXxMD2z2/tMZpDMpvXQGsc+ajGo8y2uYUmixaSRUc/QPoQ0GA==", + "dev": true, + "dependencies": { + "@jridgewell/gen-mapping": "^0.3.2", + "commander": "^4.0.0", + "glob": "^10.3.10", + "lines-and-columns": "^1.1.6", + "mz": "^2.7.0", + "pirates": "^4.0.1", + "ts-interface-checker": "^0.1.9" + }, + "bin": { + "sucrase": "bin/sucrase", + "sucrase-node": "bin/sucrase-node" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + } + }, + "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, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/tailwindcss": { + "version": "3.4.1", + "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-3.4.1.tgz", + "integrity": "sha512-qAYmXRfk3ENzuPBakNK0SRrUDipP8NQnEY6772uDhflcQz5EhRdD7JNZxyrFHVQNCwULPBn6FNPp9brpO7ctcA==", + "dev": true, + "dependencies": { + "@alloc/quick-lru": "^5.2.0", + "arg": "^5.0.2", + "chokidar": "^3.5.3", + "didyoumean": "^1.2.2", + "dlv": "^1.1.3", + "fast-glob": "^3.3.0", + "glob-parent": "^6.0.2", + "is-glob": "^4.0.3", + "jiti": "^1.19.1", + "lilconfig": "^2.1.0", + "micromatch": "^4.0.5", + "normalize-path": "^3.0.0", + "object-hash": "^3.0.0", + "picocolors": "^1.0.0", + "postcss": "^8.4.23", + "postcss-import": "^15.1.0", + "postcss-js": "^4.0.1", + "postcss-load-config": "^4.0.1", + "postcss-nested": "^6.0.1", + "postcss-selector-parser": "^6.0.11", + "resolve": "^1.22.2", + "sucrase": "^3.32.0" + }, + "bin": { + "tailwind": "lib/cli.js", + "tailwindcss": "lib/cli.js" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/tailwindcss/node_modules/postcss-selector-parser": { + "version": "6.0.15", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.15.tgz", + "integrity": "sha512-rEYkQOMUCEMhsKbK66tbEU9QVIxbhN18YiniAwA7XQYTVBqrBy+P2p5JcdqsHgKM2zWylp8d7J6eszocfds5Sw==", + "dev": true, + "dependencies": { + "cssesc": "^3.0.0", + "util-deprecate": "^1.0.2" + }, + "engines": { + "node": ">=4" + } + }, + "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, + "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, + "dependencies": { + "thenify": ">= 3.1.0 < 4" + }, + "engines": { + "node": ">=0.8" + } + }, + "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, + "dependencies": { + "is-number": "^7.0.0" + }, + "engines": { + "node": ">=8.0" + } + }, + "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 + }, + "node_modules/update-browserslist-db": { + "version": "1.0.13", + "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.13.tgz", + "integrity": "sha512-xebP81SNcPuNpPP3uzeW1NYXxI3rxyJzF3pD6sH4jE7o/IX+WtSpwnVU+qIsDPyk0d3hmFQ7mjqc6AtV604hbg==", + "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" + } + ], + "dependencies": { + "escalade": "^3.1.1", + "picocolors": "^1.0.0" + }, + "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 + }, + "node_modules/vite": { + "version": "5.1.4", + "resolved": "https://registry.npmjs.org/vite/-/vite-5.1.4.tgz", + "integrity": "sha512-n+MPqzq+d9nMVTKyewqw6kSt+R3CkvF9QAKY8obiQn8g1fwTscKxyfaYnC632HtBXAQGc1Yjomphwn1dtwGAHg==", + "dev": true, + "dependencies": { + "esbuild": "^0.19.3", + "postcss": "^8.4.35", + "rollup": "^4.2.0" + }, + "bin": { + "vite": "bin/vite.js" + }, + "engines": { + "node": "^18.0.0 || >=20.0.0" + }, + "funding": { + "url": "https://github.com/vitejs/vite?sponsor=1" + }, + "optionalDependencies": { + "fsevents": "~2.3.3" + }, + "peerDependencies": { + "@types/node": "^18.0.0 || >=20.0.0", + "less": "*", + "lightningcss": "^1.21.0", + "sass": "*", + "stylus": "*", + "sugarss": "*", + "terser": "^5.4.0" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + }, + "less": { + "optional": true + }, + "lightningcss": { + "optional": true + }, + "sass": { + "optional": true + }, + "stylus": { + "optional": true + }, + "sugarss": { + "optional": true + }, + "terser": { + "optional": true + } + } + }, + "node_modules/vite-plugin-full-reload": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/vite-plugin-full-reload/-/vite-plugin-full-reload-1.1.0.tgz", + "integrity": "sha512-3cObNDzX6DdfhD9E7kf6w2mNunFpD7drxyNgHLw+XwIYAgb+Xt16SEXo0Up4VH+TMf3n+DSVJZtW2POBGcBYAA==", + "dev": true, + "dependencies": { + "picocolors": "^1.0.0", + "picomatch": "^2.3.1" + } + }, + "node_modules/which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "dev": true, + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "node-which": "bin/node-which" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/wrap-ansi": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-8.1.0.tgz", + "integrity": "sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==", + "dev": true, + "dependencies": { + "ansi-styles": "^6.1.0", + "string-width": "^5.0.1", + "strip-ansi": "^7.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/wrap-ansi-cjs": { + "name": "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, + "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/wrap-ansi-cjs/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, + "engines": { + "node": ">=8" + } + }, + "node_modules/wrap-ansi-cjs/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, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/wrap-ansi-cjs/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 + }, + "node_modules/wrap-ansi-cjs/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, + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/wrap-ansi-cjs/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, + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/yaml": { + "version": "2.3.4", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.3.4.tgz", + "integrity": "sha512-8aAvwVUSHpfEqTQ4w/KMlf3HcRdt50E5ODIQJBw1fQ5RL34xabzxtUlzTXVqc4rkZsPbvrXKWnABCD7kWSmocA==", + "dev": true, + "engines": { + "node": ">= 14" + } + } + } +} diff --git a/package.json b/package.json new file mode 100644 index 0000000..0d63bc3 --- /dev/null +++ b/package.json @@ -0,0 +1,18 @@ +{ + "private": true, + "type": "module", + "scripts": { + "dev": "vite", + "build": "vite build" + }, + "devDependencies": { + "@tailwindcss/forms": "^0.5.2", + "@tailwindcss/typography": "^0.5.0", + "autoprefixer": "^10.4.7", + "axios": "^1.6.4", + "laravel-vite-plugin": "^1.0.0", + "postcss": "^8.4.14", + "tailwindcss": "^3.1.0", + "vite": "^5.0.0" + } +} diff --git a/phpunit.xml b/phpunit.xml new file mode 100644 index 0000000..bc86714 --- /dev/null +++ b/phpunit.xml @@ -0,0 +1,32 @@ + + + + + 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..3aec5e2 --- /dev/null +++ b/public/.htaccess @@ -0,0 +1,21 @@ + + + Options -MultiViews -Indexes + + + RewriteEngine On + + # Handle Authorization Header + RewriteCond %{HTTP:Authorization} . + RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}] + + # Redirect Trailing Slashes If Not A Folder... + RewriteCond %{REQUEST_FILENAME} !-d + RewriteCond %{REQUEST_URI} (.+)/$ + RewriteRule ^ %1 [L,R=301] + + # Send Requests To Front Controller... + RewriteCond %{REQUEST_FILENAME} !-d + RewriteCond %{REQUEST_FILENAME} !-f + RewriteRule ^ index.php [L] + diff --git a/public/assets/css/app.css b/public/assets/css/app.css new file mode 100644 index 0000000..d7bebb1 --- /dev/null +++ b/public/assets/css/app.css @@ -0,0 +1,3925 @@ +@charset "UTF-8"; +/* +Template Name: Qovex - Responsive Bootstrap 4 Admin Dashboard +Author: Themesbrand +Version: 1.0.0 +Website: https://themesbrand.com/ +Contact: themesbrand@gmail.com +File: Main Css File +*/ +@import url("farsi-fonts-styles/primary-iran-yekan.css"); +@import url("farsi-fonts-styles/secondary-iran-yekan.css"); +body { + font-family: "primary-font", "segoe ui", "tahoma"; + direction: rtl; +} + +h1, h2, h3, h4, h5, h6 { + font-family: "secondary-font", "primary-font", "segoe ui", "tahoma"; + line-height: 1.85; +} + +p, +.line-height-p, +address { + line-height: 2; +} + +.line-height-h { + line-height: 1.85; +} + +code { + direction: ltr; + display: inline-block; +} + +#page-topbar { + position: fixed; + top: 0; + left: 0; + right: 0; + z-index: 1002; + background-color: rgba(255, 255, 255, 0.03); + box-shadow: 0 1px 2px rgba(0, 0, 0, 0.075); +} + +.navbar-header { + display: -webkit-box; + display: -ms-flexbox; + display: flex; + -ms-flex-pack: justify; + -webkit-box-pack: justify; + justify-content: space-between; + -webkit-box-align: center; + -ms-flex-align: center; + align-items: center; + margin: 0 auto; + height: 70px; + padding: 0 0 0 calc(24px / 2); +} + +.navbar-header .dropdown.show .header-item { + background-color: #f8f9fa; +} + +.navbar-brand-box { + padding: 0 1.5rem; + text-align: center; + width: 250px; +} + +.logo { + line-height: 70px; +} + +.logo .logo-sm { + display: none; +} + +.logo-light { + display: none; +} + +/* Search */ +.app-search { + padding: calc(32px / 2) 0; +} + +.app-search .form-control { + border: none; + height: 38px; + padding-right: 40px; + padding-left: 20px; + background-color: #f3f3f9; + box-shadow: none; + border-radius: 7px; +} + +.app-search span { + position: absolute; + z-index: 10; + font-size: 16px; + line-height: 39px; + right: 13px; + top: 0; + color: #8687a7; +} + +.megamenu-list li { + position: relative; + padding: 5px 0px; + line-height: 1.6; +} + +.megamenu-list li a { + color: #8687a7; +} + +@media (max-width: 991.98px) { + .navbar-brand-box { + width: auto; + } + .logo span.logo-lg { + display: none; + } + .logo span.logo-sm { + display: inline-block; + } +} + +.page-content { + padding: calc(70px + 12px) 24px 60px 24px; +} + +.header-item { + height: 70px; + box-shadow: none !important; + color: #555b6d; + border: 0; + border-radius: 0px; +} + +.header-item:hover { + color: #555b6d; +} + +.header-profile-user { + height: 36px; + width: 36px; + background-color: #f6f6f6; + padding: 3px; +} + +.noti-icon i { + font-size: 22px; + color: #555b6d; +} + +.noti-icon .badge { + position: absolute; + top: 12px; + left: 0; +} + +.notification-item .media { + padding: 0.75rem 1rem; +} + +.notification-item .media:hover { + background-color: #f6f6f6; +} + +.dropdown-icon-item { + display: block; + border-radius: 3px; + line-height: 34px; + text-align: center; + padding: 15px 0 9px; + display: block; + border: 1px solid transparent; + color: #8687a7; +} + +.dropdown-icon-item img { + height: 24px; +} + +.dropdown-icon-item span { + display: block; + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; +} + +.dropdown-icon-item:hover { + border-color: #eff2f7; +} + +.fullscreen-enable [data-toggle="fullscreen"] .mdi-fullscreen::before { + content: "\F294"; +} + +body[data-topbar="dark"] #page-topbar, +body[data-topbar="colored"] #page-topbar { + background-color: #2a3042; +} + +body[data-topbar="dark"] .navbar-header .dropdown.show .header-item, +body[data-topbar="colored"] .navbar-header .dropdown.show .header-item { + background-color: rgba(255, 255, 255, 0.05); +} + +body[data-topbar="dark"] .navbar-header .waves-effect .waves-ripple, +body[data-topbar="colored"] .navbar-header .waves-effect .waves-ripple { + background: rgba(255, 255, 255, 0.4); +} + +body[data-topbar="dark"] .logo-dark, +body[data-topbar="colored"] .logo-dark { + display: none; +} + +body[data-topbar="dark"] .logo-light, +body[data-topbar="colored"] .logo-light { + display: block; +} + +body[data-topbar="dark"] .header-item, +body[data-topbar="colored"] .header-item { + color: #e9ecef; +} + +body[data-topbar="dark"] .header-item:hover, +body[data-topbar="colored"] .header-item:hover { + color: #e9ecef; +} + +body[data-topbar="dark"] .header-profile-user, +body[data-topbar="colored"] .header-profile-user { + background-color: rgba(255, 255, 255, 0.25); +} + +body[data-topbar="dark"] .noti-icon i, +body[data-topbar="colored"] .noti-icon i { + color: #e9ecef; +} + +body[data-topbar="dark"] .logo-dark, +body[data-topbar="colored"] .logo-dark { + display: none; +} + +body[data-topbar="dark"] .logo-light, +body[data-topbar="colored"] .logo-light { + display: block; +} + +body[data-topbar="dark"] .app-search .form-control, +body[data-topbar="colored"] .app-search .form-control { + background-color: rgba(243, 243, 249, 0.07); + color: #fff; +} + +body[data-topbar="dark"] .app-search span, +body[data-topbar="dark"] .app-search input.form-control::-webkit-input-placeholder, +body[data-topbar="colored"] .app-search span, +body[data-topbar="colored"] .app-search input.form-control::-webkit-input-placeholder { + color: rgba(255, 255, 255, 0.5); +} + +body[data-topbar="colored"] #page-topbar { + background: rgba(255, 255, 255, 0.03); +} + +body[data-topbar="colored"] .navbar-header .dropdown.show .header-item { + background-color: rgba(255, 255, 255, 0.05); +} + +body[data-topbar="colored"] .navbar-header .waves-effect .waves-ripple { + background: rgba(255, 255, 255, 0.4); +} + +@media (max-width: 600px) { + .navbar-header .dropdown { + position: static; + } + .navbar-header .dropdown .dropdown-menu { + right: 10px !important; + left: 10px !important; + } +} + +@media (max-width: 380px) { + .navbar-brand-box { + display: none; + } +} + +.page-title-box .breadcrumb { + background-color: transparent; + padding: 0; +} + +.page-title-box h4 { + text-transform: uppercase; + font-weight: 600; + font-size: 16px !important; +} + +.page-title-box .page-title { + line-height: 70px; +} + +.footer { + bottom: 0; + padding: 20px calc(24px / 2); + position: absolute; + left: 0; + color: #74788d; + right: 250px; + height: 60px; + background-color: #ecf0f4; +} + +@media (max-width: 992px) { + .footer { + right: 0; + } +} + +.vertical-collpsed .footer { + right: 70px; +} + +body[data-layout="horizontal"] .footer { + right: 0 !important; +} + +.right-bar { + background-color: #fff; + box-shadow: 0 0 24px 0 rgba(0, 0, 0, 0.06), 0 1px 0 0 rgba(0, 0, 0, 0.02); + display: block; + position: fixed; + -webkit-transition: all 200ms ease-out; + transition: all 200ms ease-out; + width: 280px; + z-index: 9999; + float: left !important; + left: -290px; + top: 0; + bottom: 0; +} + +.right-bar .right-bar-toggle { + background-color: #444c54; + height: 24px; + width: 24px; + line-height: 24px; + color: #eff2f7; + text-align: center; + border-radius: 50%; +} + +.right-bar .right-bar-toggle:hover { + background-color: #4b545c; +} + +.rightbar-overlay { + background-color: rgba(52, 58, 64, 0.55); + position: absolute; + right: 0; + left: 0; + top: 0; + bottom: 0; + display: none; + z-index: 9998; + -webkit-transition: all .2s ease-out; + transition: all .2s ease-out; +} + +.right-bar-enabled .right-bar { + left: 0; +} + +.right-bar-enabled .rightbar-overlay { + display: block; +} + +@media (max-width: 767.98px) { + .right-bar { + overflow: auto; + } + .right-bar .slimscroll-menu { + height: auto !important; + } +} + +.metismenu { + margin: 0; +} + +.metismenu li { + display: block; + width: 100%; +} + +.metismenu .mm-collapse { + display: none; +} + +.metismenu .mm-collapse:not(.mm-show) { + display: none; +} + +.metismenu .mm-collapse.mm-show { + display: block; +} + +.metismenu .mm-collapsing { + position: relative; + height: 0; + overflow: hidden; + -webkit-transition-timing-function: ease; + transition-timing-function: ease; + -webkit-transition-duration: .35s; + transition-duration: .35s; + -webkit-transition-property: height, visibility; + transition-property: height, visibility; +} + +.vertical-menu { + min-width: 250px; + max-width: 250px; + z-index: 1001; + background: #ffffff; + bottom: 0; + margin-top: 0; + position: fixed; + top: 70px; + box-shadow: 0 0.75rem 1.5rem rgba(18, 38, 63, 0.03); +} + +.main-content { + margin-right: 250px; + overflow: hidden; +} + +.main-content .content { + padding: 0 15px 10px 15px; + margin-top: 70px; +} + +#sidebar-menu { + padding: 0 0 30px 0; +} + +#sidebar-menu .mm-active > .has-arrow:after { + -webkit-transform: rotate(180deg); + -ms-transform: rotate(180deg); + transform: rotate(180deg); +} + +#sidebar-menu .has-arrow:after { + content: "\F140"; + font-family: 'Material Design Icons'; + display: block; + float: left; + -webkit-transition: -webkit-transform .2s; + transition: -webkit-transform .2s; + transition: transform .2s; + transition: transform .2s, -webkit-transform .2s; + font-size: 1rem; + margin-top: 1px; +} + +#sidebar-menu ul li a { + display: block; + padding: .625rem 1.5rem; + color: #707d8a; + position: relative; + font-size: 14.4px; + -webkit-transition: all .4s; + transition: all .4s; +} + +#sidebar-menu ul li a i { + display: inline-block; + min-width: 1.75rem; + padding-top: .0625em; + padding-bottom: .0625em; + font-size: 1.2rem; + line-height: 1.40625rem; + vertical-align: middle; + color: #707d8a; + -webkit-transition: all .4s; + transition: all .4s; +} + +#sidebar-menu ul li a:hover { + color: #383c40; +} + +#sidebar-menu ul li a:hover i { + color: #383c40; +} + +#sidebar-menu ul li .badge { + margin-top: 5px; +} + +#sidebar-menu ul li ul.sub-menu { + padding: 0; +} + +#sidebar-menu ul li ul.sub-menu li a { + padding: .475rem 3.5rem .475rem 1.5rem; + font-size: 14px; + color: #707d8a; +} + +#sidebar-menu ul li ul.sub-menu li ul.sub-menu { + padding: 0; +} + +#sidebar-menu ul li ul.sub-menu li ul.sub-menu li a { + padding: .4rem 4.5rem .4rem 1.5rem; + font-size: 13.5px; +} + +.menu-title { + padding: 12px 20px !important; + letter-spacing: .05em; + pointer-events: none; + cursor: default; + font-size: 11px; + text-transform: uppercase; + color: #707d8a; + font-weight: 700; +} + +.mm-active { + color: #3b5de7 !important; +} + +.mm-active .active { + color: #3b5de7 !important; +} + +.mm-active .active i { + color: #3b5de7 !important; +} + +.mm-active > i { + color: #3b5de7 !important; +} + +@media (max-width: 991.98px) { + .vertical-menu { + display: none; + overflow-y: auto; + } + .main-content { + margin-right: 0 !important; + } + body.sidebar-enable .vertical-menu { + display: block; + } +} + +@media (min-width: 992px) { + .vertical-collpsed .main-content { + margin-right: 70px; + } + .vertical-collpsed .navbar-brand-box { + width: 70px !important; + } + .vertical-collpsed .logo span.logo-lg { + display: none; + } + .vertical-collpsed .logo span.logo-sm { + display: block; + } + .vertical-collpsed .vertical-menu { + position: absolute; + max-width: 70px !important; + min-width: 70px !important; + z-index: 5; + } + .vertical-collpsed .vertical-menu .user-wid { + display: none; + } + .vertical-collpsed .vertical-menu .simplebar-mask, + .vertical-collpsed .vertical-menu .simplebar-content-wrapper { + overflow: visible !important; + } + .vertical-collpsed .vertical-menu .simplebar-scrollbar { + display: none !important; + } + .vertical-collpsed .vertical-menu .simplebar-offset { + bottom: 0 !important; + } + .vertical-collpsed .vertical-menu #sidebar-menu .menu-title, + .vertical-collpsed .vertical-menu #sidebar-menu .badge, + .vertical-collpsed .vertical-menu #sidebar-menu .collapse.in { + display: none !important; + } + .vertical-collpsed .vertical-menu #sidebar-menu .nav.collapse { + height: inherit !important; + } + .vertical-collpsed .vertical-menu #sidebar-menu .has-arrow:after { + display: none; + } + .vertical-collpsed .vertical-menu #sidebar-menu > ul > li { + position: relative; + white-space: nowrap; + } + .vertical-collpsed .vertical-menu #sidebar-menu > ul > li > a { + padding: 15px 20px; + min-height: 55px; + -webkit-transition: none; + transition: none; + } + .vertical-collpsed .vertical-menu #sidebar-menu > ul > li > a:hover, .vertical-collpsed .vertical-menu #sidebar-menu > ul > li > a:active, .vertical-collpsed .vertical-menu #sidebar-menu > ul > li > a:focus { + color: #383c40; + } + .vertical-collpsed .vertical-menu #sidebar-menu > ul > li > a i { + font-size: 1.45rem; + margin-right: 4px; + } + .vertical-collpsed .vertical-menu #sidebar-menu > ul > li > a span { + display: none; + padding-right: 25px; + } + .vertical-collpsed .vertical-menu #sidebar-menu > ul > li:hover > a { + position: relative; + width: calc(190px + 70px); + color: #3b5de7; + background-color: whitesmoke; + -webkit-transition: none; + transition: none; + } + .vertical-collpsed .vertical-menu #sidebar-menu > ul > li:hover > a i { + color: #3b5de7; + } + .vertical-collpsed .vertical-menu #sidebar-menu > ul > li:hover > a span { + display: inline; + } + .vertical-collpsed .vertical-menu #sidebar-menu > ul > li:hover > ul { + display: block; + right: 70px; + position: absolute; + width: 190px; + height: auto !important; + box-shadow: -3px 5px 10px 0 rgba(54, 61, 71, 0.1); + } + .vertical-collpsed .vertical-menu #sidebar-menu > ul > li:hover > ul ul { + box-shadow: -3px 5px 10px 0 rgba(54, 61, 71, 0.1); + } + .vertical-collpsed .vertical-menu #sidebar-menu > ul > li:hover > ul a { + box-shadow: none; + padding: 8px 20px; + position: relative; + width: 190px; + z-index: 6; + color: #707d8a; + } + .vertical-collpsed .vertical-menu #sidebar-menu > ul > li:hover > ul a:hover { + color: #383c40; + } + .vertical-collpsed .vertical-menu #sidebar-menu > ul ul { + padding: 5px 0; + z-index: 9999; + display: none; + background-color: #ffffff; + } + .vertical-collpsed .vertical-menu #sidebar-menu > ul ul li:hover > ul { + display: block; + right: 190px; + height: auto !important; + margin-top: -36px; + position: absolute; + width: 190px; + } + .vertical-collpsed .vertical-menu #sidebar-menu > ul ul li > a span.pull-right { + position: absolute; + left: 20px; + top: 12px; + -webkit-transform: rotate(-270deg); + -ms-transform: rotate(-270deg); + transform: rotate(-270deg); + } + .vertical-collpsed .vertical-menu #sidebar-menu > ul ul li.active a { + color: #f8f9fa; + } +} + +body[data-sidebar="dark"] .vertical-menu { + background: #2a3042; +} + +body[data-sidebar="dark"] #sidebar-menu ul li a { + color: #a6b0cf; +} + +body[data-sidebar="dark"] #sidebar-menu ul li a i { + color: #6a7187; +} + +body[data-sidebar="dark"] #sidebar-menu ul li a:hover { + color: #ffffff; +} + +body[data-sidebar="dark"] #sidebar-menu ul li a:hover i { + color: #ffffff; +} + +body[data-sidebar="dark"] #sidebar-menu ul li ul.sub-menu li a { + color: #79829c; +} + +body[data-sidebar="dark"] #sidebar-menu ul li ul.sub-menu li a:hover { + color: #ffffff; +} + +body[data-sidebar="dark"].vertical-collpsed { + min-height: 1200px; +} + +body[data-sidebar="dark"].vertical-collpsed .vertical-menu #sidebar-menu > ul > li:hover > a { + background: #2e3548; + color: #ffffff; +} + +body[data-sidebar="dark"].vertical-collpsed .vertical-menu #sidebar-menu > ul > li:hover > a i { + color: #ffffff; +} + +body[data-sidebar="dark"].vertical-collpsed .vertical-menu #sidebar-menu > ul > li:hover > ul a { + color: #79829c; +} + +body[data-sidebar="dark"].vertical-collpsed .vertical-menu #sidebar-menu > ul > li:hover > ul a:hover { + color: #ffffff; +} + +body[data-sidebar="dark"].vertical-collpsed .vertical-menu #sidebar-menu > ul ul { + background-color: #2a3042; +} + +body[data-sidebar="dark"].vertical-collpsed .vertical-menu #sidebar-menu ul li.mm-active .active { + color: #3b5de7 !important; +} + +body[data-sidebar="dark"].vertical-collpsed .vertical-menu #sidebar-menu ul li.mm-active .active i { + color: #3b5de7 !important; +} + +body[data-sidebar="dark"] .mm-active { + color: #ffffff !important; +} + +body[data-sidebar="dark"] .mm-active > i { + color: #ffffff !important; +} + +body[data-sidebar="dark"] .mm-active .active { + color: #ffffff !important; +} + +body[data-sidebar="dark"] .mm-active .active i { + color: #ffffff !important; +} + +body[data-sidebar="dark"] .menu-title { + color: #6a7187; +} + +body[data-layout="horizontal"] .main-content { + margin-right: 0 !important; +} + +@media (min-width: 992px) { + body[data-sidebar-size="small"] .navbar-brand-box { + width: 180px; + } +} + +body[data-sidebar-size="small"] .vertical-menu { + min-width: 180px; + max-width: 180px; + text-align: center; +} + +body[data-sidebar-size="small"] .main-content { + margin-right: 180px; +} + +body[data-sidebar-size="small"] .footer { + right: 180px; +} + +body[data-sidebar-size="small"] .has-arrow:after, +body[data-sidebar-size="small"] .badge { + display: none !important; +} + +body[data-sidebar-size="small"] #sidebar-menu ul li a i { + display: block; +} + +body[data-sidebar-size="small"] #sidebar-menu ul li ul.sub-menu li a { + padding-right: 1.5rem; +} + +body[data-sidebar-size="small"].vertical-collpsed .main-content { + margin-right: 70px; +} + +body[data-sidebar-size="small"].vertical-collpsed .vertical-menu #sidebar-menu { + text-align: right; +} + +body[data-sidebar-size="small"].vertical-collpsed .vertical-menu #sidebar-menu > ul > li > a i { + display: inline-block; +} + +body[data-sidebar-size="small"].vertical-collpsed .footer { + right: 70px; +} + +body[data-sidebar="colored"] .vertical-menu { + background-color: #3b5de7; +} + +body[data-sidebar="colored"] .navbar-brand-box { + background-color: #3b5de7; +} + +body[data-sidebar="colored"] .navbar-brand-box .logo-dark { + display: none; +} + +body[data-sidebar="colored"] .navbar-brand-box .logo-light { + display: block; +} + +body[data-sidebar="colored"] .mm-active { + color: #fff !important; +} + +body[data-sidebar="colored"] .mm-active > i, body[data-sidebar="colored"] .mm-active .active { + color: #fff !important; +} + +body[data-sidebar="colored"] #sidebar-menu ul li.menu-title { + color: rgba(255, 255, 255, 0.6); +} + +body[data-sidebar="colored"] #sidebar-menu ul li a { + color: rgba(255, 255, 255, 0.5); +} + +body[data-sidebar="colored"] #sidebar-menu ul li a i { + color: rgba(255, 255, 255, 0.5); +} + +body[data-sidebar="colored"] #sidebar-menu ul li a.waves-effect .waves-ripple { + background: rgba(255, 255, 255, 0.1); +} + +body[data-sidebar="colored"] #sidebar-menu ul li ul.sub-menu li a { + color: rgba(255, 255, 255, 0.4); +} + +body[data-sidebar="colored"].vertical-collpsed .vertical-menu #sidebar-menu > ul > li:hover > a { + background-color: #4465e8; +} + +body[data-sidebar="colored"].vertical-collpsed .vertical-menu #sidebar-menu ul li.mm-active .active { + color: #3b5de7 !important; +} + +body[data-layout="horizontal"] .navbar-brand-box { + width: auto; +} + +body[data-layout="horizontal"] .page-content { + margin-top: 70px; + padding: 0 24px 60px 24px; +} + +body[data-layout="horizontal"] .page-title-box { + padding-bottom: 0; +} + +body[data-layout="horizontal"] #page-topbar { + background-color: #fff; +} + +.topnav { + padding: 0 calc(24px / 2); +} + +@media (max-width: 991.98px) { + .topnav { + position: fixed; + right: 0; + left: 0; + top: 70px; + z-index: 100; + background: #fff; + box-shadow: 0 0.75rem 1.5rem rgba(18, 38, 63, 0.03); + } +} + +.topnav .topnav-menu { + margin: 0; + padding: 0; +} + +.topnav .navbar-nav .nav-link { + font-size: 14px; + position: relative; + color: #707d8a; + line-height: 70px; +} + +.topnav .navbar-nav .nav-link i { + font-size: 15px; +} + +.topnav .navbar-nav .nav-link:focus, .topnav .navbar-nav .nav-link:hover { + color: #3b5de7; + background-color: transparent; +} + +.topnav .navbar-nav .dropdown-item { + color: #707d8a; +} + +.topnav .navbar-nav .dropdown-item.active, .topnav .navbar-nav .dropdown-item:hover { + color: #3b5de7; + background-color: transparent; +} + +.topnav .navbar-nav .nav-item .nav-link.active { + color: #3b5de7; +} + +.topnav .navbar-nav .dropdown.active > a { + color: #3b5de7; + background-color: transparent; +} + +@media (min-width: 1200px) { + body[data-layout="horizontal"] .container-fluid, + body[data-layout="horizontal"] .navbar-header { + max-width: 90%; + } +} + +@media (min-width: 992px) { + .topnav .navbar-nav .nav-link { + padding: 0 1.1rem; + } + .topnav .dropdown-item { + padding: .5rem 1.5rem; + min-width: 180px; + } + .topnav .dropdown.mega-dropdown .mega-dropdown-menu { + right: 0px; + left: auto; + } + .topnav .dropdown .dropdown-menu { + margin-top: 0; + border-radius: 0 0 0.25rem 0.25rem; + } + .topnav .dropdown .dropdown-menu .arrow-down::after { + left: 15px; + -webkit-transform: rotate(135deg) translateY(-50%); + -ms-transform: rotate(135deg) translateY(-50%); + transform: rotate(135deg) translateY(-50%); + position: absolute; + } + .topnav .dropdown .dropdown-menu .dropdown .dropdown-menu { + position: absolute; + top: 0 !important; + right: 100%; + display: none; + } + .topnav .dropdown:hover > .dropdown-menu { + display: block; + } + .topnav .dropdown:hover > .dropdown-menu > .dropdown:hover > .dropdown-menu { + display: block; + } + .navbar-toggle { + display: none; + } +} + +.arrow-down { + display: inline-block; +} + +.arrow-down:after { + border-color: initial; + border-style: solid; + border-width: 0 1px 1px 0; + content: ""; + height: .4em; + display: inline-block; + left: 5px; + top: 50%; + margin-right: 7px; + -webkit-transform: rotate(45deg) translateY(-50%); + -ms-transform: rotate(45deg) translateY(-50%); + transform: rotate(45deg) translateY(-50%); + -webkit-transform-origin: top; + -ms-transform-origin: top; + transform-origin: top; + -webkit-transition: all .3s ease-out; + transition: all .3s ease-out; + width: .4em; +} + +@media (max-width: 1199.98px) { + .topnav-menu .navbar-nav li:last-of-type .dropdown .dropdown-menu { + left: 100%; + right: auto; + } +} + +@media (max-width: 991.98px) { + .topnav { + max-height: 360px; + overflow-y: auto; + padding: 0; + } + .topnav .navbar-nav .nav-link { + padding: 0.75rem 1.1rem; + line-height: inherit; + } + .topnav .dropdown .dropdown-menu { + background-color: transparent; + border: none; + box-shadow: none; + padding-right: 15px; + } + .topnav .dropdown .dropdown-mega-menu-xl, + .topnav .dropdown .dropdown-mega-menu-lg { + width: auto; + } + .topnav .dropdown .dropdown-mega-menu-xl .row, + .topnav .dropdown .dropdown-mega-menu-lg .row { + margin: 0px; + } + .topnav .dropdown .dropdown-item { + position: relative; + background-color: transparent; + line-height: 1.8; + } + .topnav .dropdown .dropdown-item.active, .topnav .dropdown .dropdown-item:active { + color: #3b5de7; + } + .topnav .arrow-down::after { + left: 15px; + position: absolute; + } +} + +@media (min-width: 992px) { + body[data-layout="horizontal"][data-topbar="light"] .topnav { + background-color: #3b5de7; + } + body[data-layout="horizontal"][data-topbar="light"] .topnav .navbar-nav .nav-link { + color: rgba(255, 255, 255, 0.5); + } + body[data-layout="horizontal"][data-topbar="light"] .topnav .navbar-nav .nav-link:focus, body[data-layout="horizontal"][data-topbar="light"] .topnav .navbar-nav .nav-link:hover { + color: rgba(255, 255, 255, 0.9); + } + body[data-layout="horizontal"][data-topbar="light"] .topnav .navbar-nav > .dropdown.active > a { + color: rgba(255, 255, 255, 0.9) !important; + } +} + +body[data-layout="horizontal"][data-topbar="colored"] #page-topbar, +body[data-layout="horizontal"][data-topbar="dark"] #page-topbar { + background-color: #3b5de7; + box-shadow: none; +} + +body[data-layout="horizontal"][data-topbar="colored"] .logo-dark, +body[data-layout="horizontal"][data-topbar="dark"] .logo-dark { + display: none; +} + +body[data-layout="horizontal"][data-topbar="colored"] .logo-light, +body[data-layout="horizontal"][data-topbar="dark"] .logo-light { + display: block; +} + +body[data-layout="horizontal"][data-topbar="colored"] .app-search .form-control, +body[data-layout="horizontal"][data-topbar="dark"] .app-search .form-control { + background-color: rgba(243, 243, 249, 0.07); + color: #fff; +} + +body[data-layout="horizontal"][data-topbar="colored"] .app-search span, +body[data-layout="horizontal"][data-topbar="colored"] .app-search input.form-control::-webkit-input-placeholder, +body[data-layout="horizontal"][data-topbar="dark"] .app-search span, +body[data-layout="horizontal"][data-topbar="dark"] .app-search input.form-control::-webkit-input-placeholder { + color: rgba(255, 255, 255, 0.5); +} + +body[data-layout="horizontal"][data-topbar="colored"] .header-item, +body[data-layout="horizontal"][data-topbar="dark"] .header-item { + color: #e9ecef; +} + +body[data-layout="horizontal"][data-topbar="colored"] .header-item:hover, +body[data-layout="horizontal"][data-topbar="dark"] .header-item:hover { + color: #e9ecef; +} + +body[data-layout="horizontal"][data-topbar="colored"] .navbar-header .dropdown.show .header-item, +body[data-layout="horizontal"][data-topbar="dark"] .navbar-header .dropdown.show .header-item { + background-color: rgba(255, 255, 255, 0.1); +} + +body[data-layout="horizontal"][data-topbar="colored"] .navbar-header .waves-effect .waves-ripple, +body[data-layout="horizontal"][data-topbar="dark"] .navbar-header .waves-effect .waves-ripple { + background: rgba(255, 255, 255, 0.4); +} + +body[data-layout="horizontal"][data-topbar="colored"] .noti-icon i, +body[data-layout="horizontal"][data-topbar="dark"] .noti-icon i { + color: #e9ecef; +} + +@media (min-width: 992px) { + body[data-layout="horizontal"][data-topbar="colored"] .topnav .navbar-nav .nav-link, + body[data-layout="horizontal"][data-topbar="dark"] .topnav .navbar-nav .nav-link { + color: rgba(255, 255, 255, 0.5); + } + body[data-layout="horizontal"][data-topbar="colored"] .topnav .navbar-nav .nav-link:focus, body[data-layout="horizontal"][data-topbar="colored"] .topnav .navbar-nav .nav-link:hover, + body[data-layout="horizontal"][data-topbar="dark"] .topnav .navbar-nav .nav-link:focus, + body[data-layout="horizontal"][data-topbar="dark"] .topnav .navbar-nav .nav-link:hover { + color: rgba(255, 255, 255, 0.9); + } + body[data-layout="horizontal"][data-topbar="colored"] .topnav .navbar-nav > .dropdown.active > a, + body[data-layout="horizontal"][data-topbar="dark"] .topnav .navbar-nav > .dropdown.active > a { + color: rgba(255, 255, 255, 0.9) !important; + } +} + +body[data-layout="horizontal"][data-topbar="dark"] #page-topbar { + background-color: #2a3042; +} + +body[data-layout="horizontal"] .logo-light { + display: none; +} + +body[data-layout="horizontal"] .logo-dark { + display: block; +} + +body[data-layout-size="boxed"] { + background-color: #e1e3e6; +} + +body[data-layout-size="boxed"] .container-fluid { + max-width: 100% !important; +} + +body[data-layout-size="boxed"] #layout-wrapper { + background-color: #f3f5f7; + max-width: 1300px; + margin: 0 auto; + box-shadow: 0 0.75rem 1.5rem rgba(18, 38, 63, 0.03); +} + +body[data-layout-size="boxed"] #layout-wrapper::before { + max-width: 1300px; + margin: 0 auto; +} + +body[data-layout-size="boxed"] #page-topbar { + max-width: 1300px; + margin: 0 auto; +} + +body[data-layout-size="boxed"] .footer { + margin: 0 auto; + max-width: calc(1300px - 250px); +} + +body[data-layout-size="boxed"].vertical-collpsed .footer { + max-width: calc(1300px - 70px); +} + +body[data-layout="horizontal"][data-layout-size="boxed"] .footer { + max-width: 1300px; +} + +body[data-layout="horizontal"][data-layout-size="boxed"] .container-fluid, body[data-layout="horizontal"][data-layout-size="boxed"] .navbar-header { + max-width: 1300px; +} + +@media (min-width: 992px) { + body[data-layout="detached"] .container-fluid { + max-width: 95%; + } + body[data-layout="detached"] #page-topbar { + position: absolute; + } + body[data-layout="detached"] .toggle-btn { + display: none; + } + body[data-layout="detached"] .navbar-brand-box { + margin-left: 24px; + } + body[data-layout="detached"] .vertical-menu { + border-radius: 7px; + position: relative; + margin-top: 35px; + } + body[data-layout="detached"] .vertical-menu .user-img img { + padding: 6px; + border: 2px dashed #3b5de7; + } + body[data-layout="detached"] #sidebar-menu { + padding-bottom: 90px; + } + body[data-layout="detached"] .page-content { + margin-top: 16px; + padding-bottom: 0px; + } + body[data-layout="detached"] .main-content { + position: relative; + min-height: 100vh; + padding-bottom: 60px; + } + body[data-layout="detached"] .page-title-box { + padding-bottom: 24px; + } + body[data-layout="detached"] .page-title-box .page-title { + line-height: 70px; + } +} + +@media (max-width: 991.98px) { + body[data-layout="detached"] .container-fluid { + padding: 0; + } + body[data-layout="detached"] .page-content { + padding: calc(70px + 0px) 24px 60px 24px; + } +} + +body[data-layout="detached"] #layout-wrapper { + display: -webkit-box; + display: -ms-flexbox; + display: flex; + width: 100%; + height: 100%; + overflow: hidden; +} + +body[data-layout="detached"] #layout-wrapper::before { + content: ""; + position: absolute; + top: 0px; + right: 0; + left: 0; + width: 100%; + height: 165px; + background: -webkit-linear-gradient(left, #273c92, #293e92); + background: linear-gradient(to right, #273c92, #293e92); + box-shadow: -1px 0 7px 0 rgba(0, 0, 0, 0.5); +} + +body[data-layout="detached"] #layout-wrapper::after { + background: url("../images/bg-effect.png") center; + content: ""; + position: absolute; + top: 0px; + right: 0; + left: 0; + width: 100%; + height: 180px; + background-size: cover; + opacity: 0.03; +} + +body[data-layout="detached"] .main-content { + width: 100%; + margin-right: 0; +} + +body[data-layout="detached"] .navbar-brand-box { + float: right; + position: relative; + text-align: right; +} + +body[data-layout="detached"] .navbar-header { + padding: 0px; +} + +body[data-layout="detached"] .navbar-header .card-img-overlay { + background-color: rgba(0, 0, 0, 0.4); +} + +body[data-layout="detached"] .footer { + right: 0; +} + +body[data-layout="detached"] .footer .container-fluid { + max-width: 100%; +} + +body[data-layout="detached"] .page-title-box { + position: relative; + z-index: 1; +} + +body[data-layout="detached"] .page-title-box .page-title { + color: #fff; +} + +body[data-layout="detached"] .page-title-box .breadcrumb-item > a { + color: rgba(255, 255, 255, 0.8); +} + +body[data-layout="detached"] .page-title-box .breadcrumb-item.active, body[data-layout="detached"] .page-title-box .breadcrumb-item + .breadcrumb-item::before { + color: rgba(255, 255, 255, 0.6); +} + +@media (max-width: 991.98px) { + body[data-topbar=colored] #page-topbar { + background: -webkit-linear-gradient(left, #273c92, #293e92); + background: linear-gradient(to right, #273c92, #293e92); + } +} + +/*! + * Waves v0.7.6 + * http://fian.my.id/Waves + * + * Copyright 2014-2018 Alfiana E. Sibuea and other contributors + * Released under the MIT license + * https://github.com/fians/Waves/blob/master/LICENSE */ +.waves-effect { + position: relative; + cursor: pointer; + display: inline-block; + overflow: hidden; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; + -webkit-tap-highlight-color: transparent; +} + +.waves-effect .waves-ripple { + position: absolute; + border-radius: 50%; + width: 100px; + height: 100px; + margin-top: -50px; + margin-left: -50px; + opacity: 0; + background: rgba(0, 0, 0, 0.2); + background: -webkit-radial-gradient(rgba(0, 0, 0, 0.2) 0, rgba(0, 0, 0, 0.3) 40%, rgba(0, 0, 0, 0.4) 50%, rgba(0, 0, 0, 0.5) 60%, rgba(255, 255, 255, 0) 70%); + background: radial-gradient(rgba(0, 0, 0, 0.2) 0, rgba(0, 0, 0, 0.3) 40%, rgba(0, 0, 0, 0.4) 50%, rgba(0, 0, 0, 0.5) 60%, rgba(255, 255, 255, 0) 70%); + -webkit-transition: all 0.5s ease-out; + transition: all 0.5s ease-out; + -webkit-transition-property: -webkit-transform, opacity; + -webkit-transition-property: opacity, -webkit-transform; + transition-property: opacity, -webkit-transform; + transition-property: transform, opacity; + transition-property: transform, opacity, -webkit-transform; + -webkit-transform: scale(0) translate(0, 0); + -ms-transform: scale(0) translate(0, 0); + transform: scale(0) translate(0, 0); + pointer-events: none; +} + +.waves-effect.waves-light .waves-ripple { + background: rgba(255, 255, 255, 0.4); + background: -webkit-radial-gradient(rgba(255, 255, 255, 0.2) 0, rgba(255, 255, 255, 0.3) 40%, rgba(255, 255, 255, 0.4) 50%, rgba(255, 255, 255, 0.5) 60%, rgba(255, 255, 255, 0) 70%); + background: radial-gradient(rgba(255, 255, 255, 0.2) 0, rgba(255, 255, 255, 0.3) 40%, rgba(255, 255, 255, 0.4) 50%, rgba(255, 255, 255, 0.5) 60%, rgba(255, 255, 255, 0) 70%); +} + +.waves-effect.waves-classic .waves-ripple { + background: rgba(0, 0, 0, 0.2); +} + +.waves-effect.waves-classic.waves-light .waves-ripple { + background: rgba(255, 255, 255, 0.4); +} + +.waves-notransition { + -webkit-transition: none !important; + transition: none !important; +} + +.waves-button, +.waves-circle { + -webkit-transform: translateZ(0); + -ms-transform: translateZ(0); + transform: translateZ(0); + -webkit-mask-image: -webkit-radial-gradient(circle, white 100%, black 100%); +} + +.waves-button, +.waves-button:hover, +.waves-button:visited, +.waves-button-input { + white-space: nowrap; + vertical-align: middle; + cursor: pointer; + border: none; + outline: none; + color: inherit; + background-color: rgba(0, 0, 0, 0); + font-size: 1em; + line-height: 1em; + text-align: center; + text-decoration: none; + z-index: 1; +} + +.waves-button { + padding: 0.85em 1.1em; + border-radius: 0.2em; +} + +.waves-button-input { + margin: 0; + padding: 0.85em 1.1em; +} + +.waves-input-wrapper { + border-radius: 0.2em; + vertical-align: bottom; +} + +.waves-input-wrapper.waves-button { + padding: 0; +} + +.waves-input-wrapper .waves-button-input { + position: relative; + top: 0; + left: 0; + z-index: 1; +} + +.waves-circle { + text-align: center; + width: 2.5em; + height: 2.5em; + line-height: 2.5em; + border-radius: 50%; +} + +.waves-float { + -webkit-mask-image: none; + box-shadow: 0px 1px 1.5px 1px rgba(0, 0, 0, 0.12); + -webkit-transition: all 300ms; + transition: all 300ms; +} + +.waves-float:active { + box-shadow: 0px 8px 20px 1px rgba(0, 0, 0, 0.3); +} + +.waves-block { + display: block; +} + +.waves-effect.waves-light .waves-ripple { + background-color: rgba(255, 255, 255, 0.4); +} + +.waves-effect.waves-primary .waves-ripple { + background-color: rgba(59, 93, 231, 0.4); +} + +.waves-effect.waves-success .waves-ripple { + background-color: rgba(69, 203, 133, 0.4); +} + +.waves-effect.waves-info .waves-ripple { + background-color: rgba(12, 170, 220, 0.4); +} + +.waves-effect.waves-warning .waves-ripple { + background-color: rgba(238, 185, 2, 0.4); +} + +.waves-effect.waves-danger .waves-ripple { + background-color: rgba(255, 113, 91, 0.4); +} + +.alert { + line-height: 2; +} + +.alert-dismissible .close { + padding-top: 1rem; + padding-bottom: 1rem; +} + +.avatar-xs { + height: 2rem; + width: 2rem; +} + +.avatar-sm { + height: 2.5rem; + width: 2.5rem; +} + +.avatar-md { + height: 4.5rem; + width: 4.5rem; +} + +.avatar-lg { + height: 6rem; + width: 6rem; +} + +.avatar-xl { + height: 7.5rem; + width: 7.5rem; +} + +.avatar-title { + -webkit-box-align: center; + -ms-flex-align: center; + align-items: center; + background-color: #3b5de7; + color: #fff; + display: -webkit-box; + display: -ms-flexbox; + display: flex; + font-weight: 500; + height: 100%; + -webkit-box-pack: center; + -ms-flex-pack: center; + justify-content: center; + width: 100%; +} + +.font-size-11 { + font-size: 11px !important; +} + +.font-size-12 { + font-size: 12px !important; +} + +.font-size-13 { + font-size: 13px !important; +} + +.font-size-14 { + font-size: 14px !important; +} + +.font-size-15 { + font-size: 15px !important; +} + +.font-size-16 { + font-size: 16px !important; +} + +.font-size-17 { + font-size: 17px !important; +} + +.font-size-18 { + font-size: 18px !important; +} + +.font-size-20 { + font-size: 20px !important; +} + +.font-size-22 { + font-size: 22px !important; +} + +.font-size-24 { + font-size: 24px !important; +} + +.font-weight-medium { + font-weight: 500; +} + +.font-weight-semibold { + font-weight: 700; +} + +.social-list-item { + height: 2rem; + width: 2rem; + line-height: calc(2rem - 2px); + display: block; + border: 1px solid #adb5bd; + border-radius: 50%; + color: #adb5bd; + text-align: center; +} + +.w-xs { + min-width: 80px; +} + +.w-sm { + min-width: 95px; +} + +.w-md { + min-width: 110px; +} + +.w-lg { + min-width: 140px; +} + +.w-xl { + min-width: 160px; +} + +.ltr-text { + display: inline-block; + direction: ltr; +} + +.primary-font { + font-family: "primary-font", "segoe ui", "tahoma" !important; +} + +.secondary-font { + font-family: "secondary-font", "primary-font", "segoe ui", "tahoma" !important; +} + +#preloader { + position: fixed; + top: 0; + right: 0; + left: 0; + bottom: 0; + background-color: #fff; + z-index: 9999; +} + +#status { + width: 40px; + height: 40px; + position: absolute; + right: 50%; + top: 50%; + margin: -20px -20px 0 0; +} + +.spinner-chase { + margin: 0 auto; + width: 40px; + height: 40px; + position: relative; + -webkit-animation: spinner-chase 2.5s infinite linear both; + animation: spinner-chase 2.5s infinite linear both; +} + +.chase-dot { + width: 100%; + height: 100%; + position: absolute; + right: 0; + top: 0; + -webkit-animation: chase-dot 2.0s infinite ease-in-out both; + animation: chase-dot 2.0s infinite ease-in-out both; +} + +.chase-dot:before { + content: ''; + display: block; + width: 25%; + height: 25%; + background-color: #3b5de7; + border-radius: 100%; + -webkit-animation: chase-dot-before 2.0s infinite ease-in-out both; + animation: chase-dot-before 2.0s infinite ease-in-out both; +} + +.chase-dot:nth-child(1) { + -webkit-animation-delay: -1.1s; + animation-delay: -1.1s; +} + +.chase-dot:nth-child(1):before { + -webkit-animation-delay: -1.1s; + animation-delay: -1.1s; +} + +.chase-dot:nth-child(2) { + -webkit-animation-delay: -1.0s; + animation-delay: -1.0s; +} + +.chase-dot:nth-child(2):before { + -webkit-animation-delay: -1.0s; + animation-delay: -1.0s; +} + +.chase-dot:nth-child(3) { + -webkit-animation-delay: -0.9s; + animation-delay: -0.9s; +} + +.chase-dot:nth-child(3):before { + -webkit-animation-delay: -0.9s; + animation-delay: -0.9s; +} + +.chase-dot:nth-child(4) { + -webkit-animation-delay: -0.8s; + animation-delay: -0.8s; +} + +.chase-dot:nth-child(4):before { + -webkit-animation-delay: -0.8s; + animation-delay: -0.8s; +} + +.chase-dot:nth-child(5) { + -webkit-animation-delay: -0.7s; + animation-delay: -0.7s; +} + +.chase-dot:nth-child(5):before { + -webkit-animation-delay: -0.7s; + animation-delay: -0.7s; +} + +.chase-dot:nth-child(6) { + -webkit-animation-delay: -0.6s; + animation-delay: -0.6s; +} + +.chase-dot:nth-child(6):before { + -webkit-animation-delay: -0.6s; + animation-delay: -0.6s; +} + +@-webkit-keyframes spinner-chase { + 100% { + -webkit-transform: rotate(-360deg); + transform: rotate(-360deg); + } +} + +@keyframes spinner-chase { + 100% { + -webkit-transform: rotate(-360deg); + transform: rotate(-360deg); + } +} + +@-webkit-keyframes chase-dot { + 80%, 100% { + -webkit-transform: rotate(-360deg); + transform: rotate(-360deg); + } +} + +@keyframes chase-dot { + 80%, 100% { + -webkit-transform: rotate(-360deg); + transform: rotate(-360deg); + } +} + +@-webkit-keyframes chase-dot-before { + 50% { + -webkit-transform: scale(0.4); + transform: scale(0.4); + } + 100%, 0% { + -webkit-transform: scale(1); + transform: scale(1); + } +} + +@keyframes chase-dot-before { + 50% { + -webkit-transform: scale(0.4); + transform: scale(0.4); + } + 100%, 0% { + -webkit-transform: scale(1); + transform: scale(1); + } +} + +.mini-stats-wid .mini-stat-icon { + overflow: hidden; + position: relative; +} + +.mini-stats-wid .mini-stat-icon:before, .mini-stats-wid .mini-stat-icon:after { + content: ""; + position: absolute; + width: 8px; + height: 54px; + background-color: rgba(255, 255, 255, 0.1); + right: 16px; + -webkit-transform: rotate(-32deg); + -ms-transform: rotate(-32deg); + transform: rotate(-32deg); + top: -5px; + -webkit-transition: all 0.4s; + transition: all 0.4s; +} + +.mini-stats-wid .mini-stat-icon::after { + right: -12px; + width: 12px; + -webkit-transition: all 0.2s; + transition: all 0.2s; +} + +.mini-stats-wid:hover .mini-stat-icon::after { + right: 60px; +} + +.activity-wid { + border-right: 3px dashed #f6f6f6; + margin-right: 16px; +} + +.activity-wid .activity-list { + position: relative; + padding: 0 30px 25px 0; +} + +.activity-wid .activity-list .activity-icon { + position: absolute; + right: -16px; + top: -3px; + z-index: 9; +} + +.activity-wid .activity-list:last-child { + padding-bottom: 0px; +} + +.social-source .social-source-list { + padding: 13px 0px; +} + +.inbox-wid .inbox-list-item a { + color: #8687a7; + display: block; + padding: 9px 0px; + border-bottom: 1px solid #eff2f7; +} + +.inbox-wid .inbox-list-item:first-child a { + padding-top: 0px; +} + +.inbox-wid .inbox-list-item:last-child a { + border-bottom: 0px; +} + +.review-carousel .carousel-control-icon { + width: 24px; + height: 24px; + line-height: 22px; + color: #3b5de7; + background-color: rgba(59, 93, 231, 0.25); + font-size: 20px; + border-radius: 50%; +} + +.review-carousel .carousel-control-next, .review-carousel .carousel-control-prev { + bottom: auto; + top: -47px; +} + +.review-carousel .carousel-control-prev { + right: auto; + left: 40px; +} + +.profile-widgets .online-circle { + position: absolute; + left: 0; + top: 100px; + right: 75px; +} + +.button-items { + margin-right: -8px; + margin-bottom: -12px; +} + +.button-items .btn { + margin-bottom: 12px; + margin-right: 8px; +} + +.mfp-popup-form { + max-width: 1140px; +} + +.bs-example-modal { + position: relative; + top: auto; + left: auto; + bottom: auto; + right: auto; + z-index: 1; + display: block; +} + +.icon-demo-content { + text-align: center; + color: #adb5bd; +} + +.icon-demo-content i { + display: block; + font-size: 24px; + margin-bottom: 16px; + color: #adb5bd; + -webkit-transition: all 0.4s; + transition: all 0.4s; +} + +.icon-demo-content .col-lg-4 { + margin-top: 24px; +} + +.icon-demo-content .col-lg-4:hover i { + color: #3b5de7; + -webkit-transform: scale(1.5); + -ms-transform: scale(1.5); + transform: scale(1.5); +} + +.grid-structure .grid-container { + background-color: #f8f9fa; + margin-top: 10px; + font-size: .8rem; + font-weight: 500; + padding: 10px 20px; +} + +@media print { + .vertical-menu, + .right-bar, + .page-title-box, + .navbar-header, + .footer { + display: none !important; + } + .card-body, + .main-content, + .right-bar, + .page-content, + body { + padding: 0; + margin: 0; + } + .card { + border: 0; + } +} + +.dropdown-menu.show { + left: auto !important; + right: 0; +} + +.dropdown-menu-right.show { + left: 0 !important; + right: auto !important; +} + +.dropdown-megamenu.show { + right: 20px !important; + left: 20px !important; +} + +.dropdown-menu[x-placement^=right].show, +.dropdown-menu[x-placement^=left].show { + left: 0 !important; + right: auto !important; +} + +.dropdown-menu[x-placement^=right].show { + margin-right: 0; + margin-left: .125rem; +} + +.dropdown-menu[x-placement^=left].show { + margin-left: 0; + margin-right: .125rem; +} + +.dropdown-menu[x-placement^=top].show { + bottom: 100% !important; + top: auto !important; + -webkit-transform: none !important; + -ms-transform: none !important; + transform: none !important; +} + +.dropdown-item { + line-height: 1.6; +} + +.dropdown-item .badge { + margin-top: 3px; +} + +.modal-header .close { + padding-top: 1.15rem; + padding-bottom: 1.15rem; +} + +.modal-header .close span { + vertical-align: middle; +} + +textarea.form-control { + line-height: 1.85; +} + +.input-group-text i:before { + vertical-align: top; +} + +select.form-control { + padding-top: 0; + padding-bottom: 0; +} + +.custom-file-label::after { + content: "مرور"; +} + +.popover { + font-family: inherit; +} + +.popover .popover-body { + line-height: 2; +} + +.tooltip { + font-family: inherit; +} + +.page-link i { + line-height: 1; +} + +[data-simplebar] { + position: relative; + -webkit-box-orient: vertical; + -webkit-box-direction: normal; + -ms-flex-direction: column; + flex-direction: column; + -ms-flex-wrap: wrap; + flex-wrap: wrap; + -webkit-box-pack: start; + -ms-flex-pack: start; + justify-content: flex-start; + -ms-flex-line-pack: start; + align-content: flex-start; + -webkit-box-align: start; + -ms-flex-align: start; + align-items: flex-start; +} + +.simplebar-wrapper { + overflow: hidden; + width: inherit; + height: inherit; + max-width: inherit; + max-height: inherit; +} + +.simplebar-mask { + direction: inherit; + position: absolute; + overflow: hidden; + padding: 0; + margin: 0; + right: 0; + top: 0; + bottom: 0; + left: 0; + width: auto !important; + height: auto !important; + z-index: 0; +} + +.simplebar-offset { + direction: inherit !important; + box-sizing: inherit !important; + resize: none !important; + position: absolute; + top: 0; + right: 0 !important; + bottom: 0; + left: 0 !important; + padding: 0; + margin: 0; + -webkit-overflow-scrolling: touch; +} + +.simplebar-content-wrapper { + direction: inherit; + box-sizing: border-box !important; + position: relative; + display: block; + height: 100%; + /* Required for horizontal native scrollbar to not appear if parent is taller than natural height */ + width: auto; + visibility: visible; + overflow: auto; + /* Scroll on this element otherwise element can't have a padding applied properly */ + max-width: 100%; + /* Not required for horizontal scroll to trigger */ + max-height: 100%; + /* Needed for vertical scroll to trigger */ + scrollbar-width: none; + padding: 0px !important; +} + +.simplebar-content-wrapper::-webkit-scrollbar, +.simplebar-hide-scrollbar::-webkit-scrollbar { + display: none; +} + +.simplebar-content:before, +.simplebar-content:after { + content: ' '; + display: table; +} + +.simplebar-placeholder { + max-height: 100%; + max-width: 100%; + width: 100%; + pointer-events: none; +} + +.simplebar-height-auto-observer-wrapper { + box-sizing: inherit !important; + height: 100%; + width: 100%; + max-width: 1px; + position: relative; + float: right; + max-height: 1px; + overflow: hidden; + z-index: -1; + padding: 0; + margin: 0; + pointer-events: none; + -webkit-box-flex: inherit; + -ms-flex-positive: inherit; + flex-grow: inherit; + -ms-flex-negative: 0; + flex-shrink: 0; + -ms-flex-preferred-size: 0; + flex-basis: 0; +} + +.simplebar-height-auto-observer { + box-sizing: inherit; + display: block; + opacity: 0; + position: absolute; + top: 0; + right: 0; + height: 1000%; + width: 1000%; + min-height: 1px; + min-width: 1px; + overflow: hidden; + pointer-events: none; + z-index: -1; +} + +.simplebar-track { + z-index: 1; + position: absolute; + left: 0; + bottom: 0; + pointer-events: none; + overflow: hidden; +} + +[data-simplebar].simplebar-dragging .simplebar-content { + pointer-events: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; + -webkit-user-select: none; +} + +[data-simplebar].simplebar-dragging .simplebar-track { + pointer-events: all; +} + +.simplebar-scrollbar { + position: absolute; + left: 2px; + width: 4px; + min-height: 10px; +} + +.simplebar-scrollbar:before { + position: absolute; + content: ''; + background: #a2adb7; + border-radius: 7px; + right: 0; + left: 0; + opacity: 0; + -webkit-transition: opacity 0.2s linear; + transition: opacity 0.2s linear; +} + +.simplebar-scrollbar.simplebar-visible:before { + /* When hovered, remove all transitions from drag handle */ + opacity: 0.5; + -webkit-transition: opacity 0s linear; + transition: opacity 0s linear; +} + +.simplebar-track.simplebar-vertical { + top: 0; + width: 11px; +} + +.simplebar-track.simplebar-vertical .simplebar-scrollbar:before { + top: 2px; + bottom: 2px; +} + +.simplebar-track.simplebar-horizontal { + right: 0; + height: 11px; +} + +.simplebar-track.simplebar-horizontal .simplebar-scrollbar:before { + height: 100%; + right: 2px; + left: 2px; +} + +.simplebar-track.simplebar-horizontal .simplebar-scrollbar { + left: auto; + right: 0; + top: 2px; + height: 7px; + min-height: 0; + min-width: 10px; + width: auto; +} + +.hs-dummy-scrollbar-size { + direction: ltr; + position: fixed; + opacity: 0; + visibility: hidden; + height: 500px; + width: 500px; + overflow-y: hidden; + overflow-x: scroll; +} + +.simplebar-hide-scrollbar { + position: fixed; + right: 0; + visibility: hidden; + overflow-y: scroll; + scrollbar-width: none; +} + +.custom-scroll { + height: 100%; +} + +.fc-toolbar h2 { + font-size: 16px; + line-height: 30px; + text-transform: uppercase; +} + +.fc-toolbar .fc-center { + direction: rtl; +} + +.fc th.fc-widget-header { + background: #eff2f7; + font-size: 13px; + line-height: 20px; + padding: 10px 0; + text-transform: uppercase; + font-weight: 700; +} + +.fc-unthemed .fc-content, +.fc-unthemed .fc-divider, +.fc-unthemed .fc-list-heading td, +.fc-unthemed .fc-list-view, +.fc-unthemed .fc-popover, +.fc-unthemed .fc-row, +.fc-unthemed tbody, +.fc-unthemed td, +.fc-unthemed th, +.fc-unthemed thead { + border-color: #eff2f7; +} + +.fc-unthemed td.fc-today { + background: #fdfdfe; +} + +.fc-button { + background: #fff; + border-color: #eff2f7; + color: #495057; + text-transform: capitalize; + box-shadow: none; + padding: 6px 12px !important; + height: auto !important; +} + +.fc-state-down, +.fc-state-active, +.fc-state-disabled { + background-color: #3b5de7; + color: #fff; + text-shadow: none; +} + +.fc-event { + border-radius: 2px; + border: none; + cursor: move; + font-size: 0.8125rem; + margin: 5px 7px; + padding: 5px 5px; + text-align: center; +} + +.fc-event, .fc-event-dot { + background-color: #3b5de7; +} + +.fc-event .fc-content { + color: #fff; + direction: rtl; +} + +/* ============== + Druafula +===================*/ +.task-box { + border: 1px solid #f6f6f6; +} + +.gu-transit { + border: 1px dashed #8687a7 !important; + background-color: #eff2f7 !important; +} + +#session-timeout-dialog .close { + display: none; +} + +#session-timeout-dialog .countdown-holder { + color: #FF715B; + font-weight: 500; +} + +#session-timeout-dialog .btn-default { + background-color: #fff; + color: #FF715B; + box-shadow: none; +} + +.irs { + font-family: inherit; + direction: ltr; +} + +.irs--round .irs-bar, .irs--round .irs-to, .irs--round .irs-from, .irs--round .irs-single { + background: #3b5de7 !important; + font-size: 11px; +} + +.irs--round .irs-to:before, .irs--round .irs-from:before, .irs--round .irs-single:before { + border-top-color: #3b5de7; +} + +.irs--round .irs-line { + background: #f6f6f6; + border-color: #f6f6f6; +} + +.irs--round .irs-grid-text { + font-size: 11px; + color: #ced4da; +} + +.irs--round .irs-min, .irs--round .irs-max { + color: #ced4da; + background: #f6f6f6; + font-size: 11px; +} + +.irs--round .irs-handle { + border: 2px solid #3b5de7; + width: 12px; + height: 12px; + top: 31px; + background-color: #fff !important; +} + +.swal2-container .swal2-title { + font-size: 24px; + font-weight: 500; +} + +.swal2-icon.swal2-question { + border-color: #0CAADC; + color: #0CAADC; +} + +.swal2-icon.swal2-success [class^=swal2-success-line] { + background-color: #45cb85; +} + +.swal2-icon.swal2-success .swal2-success-ring { + border-color: rgba(69, 203, 133, 0.3); +} + +.swal2-icon.swal2-warning { + border-color: #EEB902; + color: #EEB902; +} + +.swal2-styled:focus { + box-shadow: none; +} + +.swal2-content { + font-size: 16px; + line-height: 2; +} + +.swal2-progress-steps .swal2-progress-step.swal2-active-progress-step { + background: #3b5de7; +} + +.swal2-progress-steps .swal2-progress-step.swal2-active-progress-step ~ .swal2-progress-step, .swal2-progress-steps .swal2-progress-step.swal2-active-progress-step ~ .swal2-progress-step-line { + background: rgba(59, 93, 231, 0.3); +} + +.symbol { + border-color: #fff; +} + +.rating-symbol-background, .rating-symbol-foreground { + font-size: 24px; +} + +.rating-symbol-foreground { + top: 0px; +} + +.error { + color: #FF715B; +} + +.parsley-error { + border-color: #FF715B; +} + +.parsley-errors-list { + display: none; + margin: 0; + padding: 0; +} + +.parsley-errors-list.filled { + display: block; +} + +.parsley-errors-list > li { + font-size: 12px; + list-style: none; + color: #FF715B; + margin-top: 5px; +} + +.select2-container { + width: 100% !important; +} + +.select2-container .select2-selection--single { + background-color: #fff; + border: 1px solid #ced4da; + height: 38px; +} + +.select2-container .select2-selection--single:focus { + outline: none; +} + +.select2-container .select2-selection--single .select2-selection__rendered { + line-height: 36px; + padding-right: 12px; + color: #495057; +} + +.select2-container .select2-selection--single .select2-selection__arrow { + height: 34px; + width: 34px; + left: 3px; +} + +.select2-container .select2-selection--single .select2-selection__arrow b { + border-color: #adb5bd transparent transparent transparent; + border-width: 6px 6px 0 6px; +} + +.select2-container--open .select2-selection--single .select2-selection__arrow b { + border-color: transparent transparent #adb5bd transparent !important; + border-width: 0 6px 6px 6px !important; +} + +.select2-container--default .select2-results__group { + font-weight: 500; +} + +.select2-container--default .select2-search--dropdown { + padding: 10px; + background-color: #fff; +} + +.select2-container--default .select2-search--dropdown .select2-search__field { + border: 1px solid #ced4da; + background-color: #fff; + color: #8687a7; + outline: none; +} + +.select2-container--default .select2-results__option--highlighted[aria-selected] { + background-color: #3b5de7; +} + +.select2-container--default .select2-results__option[aria-selected=true] { + background-color: #f8f9fa; + color: #16181b; +} + +.select2-container--default .select2-results__option[aria-selected=true]:hover { + background-color: #3b5de7; + color: #fff; +} + +.select2-results__option { + padding: 6px 12px; +} + +.select2-dropdown { + border: rgba(0, 0, 0, 0.15); + background-color: #fff; + box-shadow: 0 0.75rem 1.5rem rgba(18, 38, 63, 0.03); +} + +.select2-search input { + border: 1px solid #f6f6f6; +} + +.select2-container .select2-selection--multiple { + min-height: 38px; + background-color: #fff; + border: 1px solid #ced4da !important; +} + +.select2-container .select2-selection--multiple .select2-selection__rendered { + padding: 2px 10px; +} + +.select2-container .select2-selection--multiple .select2-search__field { + border: 0; + color: #495057; +} + +.select2-container .select2-selection--multiple .select2-search__field::-webkit-input-placeholder { + color: #495057; +} + +.select2-container .select2-selection--multiple .select2-search__field::-moz-placeholder { + color: #495057; +} + +.select2-container .select2-selection--multiple .select2-search__field:-ms-input-placeholder { + color: #495057; +} + +.select2-container .select2-selection--multiple .select2-search__field::-ms-input-placeholder { + color: #495057; +} + +.select2-container .select2-selection--multiple .select2-search__field::placeholder { + color: #495057; +} + +.select2-container .select2-selection--multiple .select2-selection__choice { + background-color: #eff2f7; + border: 1px solid #f6f6f6; + border-radius: 1px; + padding: 0 7px; +} + +.select2-container--default.select2-container--focus .select2-selection--multiple { + border-color: #ced4da; +} + +.select2-container .select2-search--inline .select2-search__field { + margin-top: 6.5px; +} + +.select2-container .select2-selection--multiple .select2-selection__choice__remove { + vertical-align: middle; + margin-top: 1px; + margin-left: 5px !important; +} + +.select2-container .select2-selection--multiple .select2-selection__rendered { + padding-bottom: 0; + margin-bottom: -1px; + margin-top: -1px; +} + +/* CSS Switch */ +input[switch] { + display: none; +} + +input[switch] + label { + font-size: 1em; + line-height: 1; + width: 56px; + height: 24px; + background-color: #ced4da; + background-image: none; + border-radius: 2rem; + padding: 0.16667rem; + cursor: pointer; + display: inline-block; + text-align: center; + position: relative; + font-weight: 500; + -webkit-transition: all 0.1s ease-in-out; + transition: all 0.1s ease-in-out; +} + +input[switch] + label:before { + color: #343a40; + content: attr(data-off-label); + display: block; + font-family: inherit; + font-weight: 500; + font-size: 12px; + line-height: 21px; + position: absolute; + left: 1px; + margin: 3px; + top: -2px; + text-align: center; + min-width: 1.66667rem; + overflow: hidden; + -webkit-transition: all 0.1s ease-in-out; + transition: all 0.1s ease-in-out; +} + +input[switch] + label:after { + content: ''; + position: absolute; + right: 3px; + background-color: #eff2f7; + box-shadow: none; + border-radius: 2rem; + height: 20px; + width: 20px; + top: 2px; + -webkit-transition: all 0.1s ease-in-out; + transition: all 0.1s ease-in-out; +} + +input[switch]:checked + label { + background-color: #3b5de7; +} + +input[switch]:checked + label { + background-color: #3b5de7; +} + +input[switch]:checked + label:before { + color: #fff; + content: attr(data-on-label); + left: auto; + right: 3px; +} + +input[switch]:checked + label:after { + right: 33px; + background-color: #eff2f7; +} + +input[switch="bool"] + label { + background-color: #FF715B; +} + +input[switch="bool"] + label:before, input[switch="bool"]:checked + label:before, +input[switch="default"]:checked + label:before { + color: #fff; +} + +input[switch="bool"]:checked + label { + background-color: #45cb85; +} + +input[switch="default"]:checked + label { + background-color: #a2a2a2; +} + +input[switch="primary"]:checked + label { + background-color: #3b5de7; +} + +input[switch="success"]:checked + label { + background-color: #45cb85; +} + +input[switch="info"]:checked + label { + background-color: #0CAADC; +} + +input[switch="warning"]:checked + label { + background-color: #EEB902; +} + +input[switch="danger"]:checked + label { + background-color: #FF715B; +} + +input[switch="dark"]:checked + label { + background-color: #343a40; +} + +.square-switch { + margin-left: 7px; +} + +.square-switch input[switch] + label, .square-switch input[switch] + label:after { + border-radius: 0px; +} + +.datepicker { + border: 1px solid #f8f9fa; + padding: 8px; + z-index: 999 !important; + right: auto; + direction: rtl; +} + +.datepicker table tr th { + font-weight: 500; +} + +.datepicker table tr th.next, .datepicker table tr th.prev { + font-family: arial, "primary-font", "segoe ui", "tahoma"; +} + +.datepicker table tr td.active, .datepicker table tr td.active:hover, +.datepicker table tr td .active.disabled, .datepicker table tr td.active.disabled:hover, .datepicker table tr td.today, .datepicker table tr td.today:hover, .datepicker table tr td.today.disabled, .datepicker table tr td.today.disabled:hover, .datepicker table tr td.selected, .datepicker table tr td.selected:hover, .datepicker table tr td.selected.disabled, .datepicker table tr td.selected.disabled:hover { + background-color: #3b5de7 !important; + background-image: none; + box-shadow: none; + color: #fff !important; +} + +.datepicker table tr td.day.focused, .datepicker table tr td.day:hover, +.datepicker table tr td span.focused, +.datepicker table tr td span:hover { + background: #eff2f7; +} + +.datepicker table tr td.new, .datepicker table tr td.old, +.datepicker table tr td span.new, +.datepicker table tr td span.old { + color: #adb5bd; + opacity: 0.6; +} + +.datepicker table tr td.range, .datepicker table tr td.range.disabled, .datepicker table tr td.range.disabled:hover, .datepicker table tr td.range:hover { + background-color: #f6f6f6; +} + +.datepicker table tr td span { + float: right; +} + +.datepicker table tr td span.active:hover { + background: #3b5de7; +} + +.datepicker table.table-condensed > thead > tr > th, +.datepicker table.table-condensed > tbody > tr > td { + padding: 6px 8px; +} + +.datepicker .datepicker-switch:hover, +.datepicker .next:hover, +.datepicker .prev:hover, +.datepicker tfoot tr th:hover, +.datepicker table tr td.day.focused, +.datepicker table tr td.day:hover, +.datepicker table tr td span.focused, +.datepicker table tr td span:hover { + background: #eff2f7; +} + +.datepicker.datepicker-dropdown.datepicker-orient-top:before { + border-top-color: #f8f9fa; +} + +.datepicker.datepicker-dropdown.datepicker-orient-top:after { + border-top-color: #fff; +} + +.datepicker.datepicker-dropdown.datepicker-orient-bottom:before { + border-bottom-color: #f8f9fa; +} + +.datepicker.datepicker-dropdown.datepicker-orient-bottom:after { + border-bottom-color: #fff; +} + +.ui-datepicker { + color: inherit; + background-color: #fff; + border: 1px solid #ced4da; +} + +.ui-datepicker .ui-state-default { + background: transparent; + color: inherit; +} + +.ui-datepicker td:not(.ui-state-disabled) .ui-state-default:hover { + background: #eff2f7; +} + +.ui-datepicker .ui-datepicker-today .ui-state-default { + background: #f3f5f7; +} + +.ui-datepicker .ui-state-default.ui-state-active { + background: #3b5de7 !important; + color: #fff !important; +} + +.ui-datepicker .ui-datepicker-header .btn.ui-state-hover { + background: transparent; +} + +.ui-datepicker .ui-datepicker-header { + border-bottom: 1px solid #ced4da; +} + +.ui-datepicker .ui-datepicker-buttonpane { + background: transparent; + border-top: 1px solid #ced4da; +} + +.ui-datepicker .ui-datepicker-buttonpane .btn { + color: inherit; +} + +.ui-datepicker .ui-datepicker-buttonpane .btn:hover { + background: #eff2f7; +} + +.ui-datepicker .ui-priority-secondary, +.ui-datepicker .ui-widget-content .ui-priority-secondary, +.ui-datepicker .ui-widget-header .ui-priority-secondary { + opacity: 0.6; +} + +.ui-datepicker .ui-state-disabled, +.ui-datepicker .ui-widget-content .ui-state-disabled, +.ui-datepicker .ui-widget-header .ui-state-disabled { + opacity: 0.2; +} + +.ui-datepicker select { + color: inherit; + background-color: #fff; + border: 1px solid #ced4da; + outline: none; +} + +.ui-datepicker td span, .ui-datepicker td a { + padding-top: 6px; + padding-bottom: 6px; +} + +.colorpicker { + background-color: #fff; +} + +.tox .tox-menubar, .tox .tox-edit-area__iframe, .tox .tox-statusbar { + background-color: #fff !important; +} + +.tox .tox-mbtn { + color: #495057 !important; +} + +.tox .tox-mbtn:hover:not(:disabled):not(.tox-mbtn--active) { + background-color: #f6f6f6 !important; +} + +.tox .tox-tbtn:hover { + background-color: #f6f6f6 !important; +} + +.tox .tox-toolbar, .tox .tox-toolbar__overflow, .tox .tox-toolbar__primary { + background-color: #fff !important; +} + +.tox .tox-tbtn { + color: #495057 !important; +} + +.tox .tox-tbtn svg { + fill: #495057 !important; +} + +.tox .tox-edit-area__iframe { + background-color: #fff !important; +} + +.tox .tox-statusbar a, .tox .tox-statusbar__path-item, .tox .tox-statusbar__wordcount { + color: #495057 !important; +} + +.tox .tox-editor-header, .tox .tox-menu, .tox .tox-statusbar { + font-family: "primary-font", "segoe ui", "tahoma"; +} + +.note-editor.note-frame { + border: 1px solid #f6f6f6; + box-shadow: none; + margin: 0; +} + +.note-editor.note-frame .note-statusbar { + background-color: #f6f6f6; + border-top: 1px solid #eff2f7; +} + +.note-editor.note-frame .note-editing-area .note-editable, .note-editor.note-frame .note-editing-area .note-codable { + border: none; + color: #adb5bd; + background-color: transparent; +} + +.note-editor .note-toolbar { + padding: 0px 0px 5px 0px; +} + +.note-btn-group .note-btn { + background-color: #f6f6f6 !important; + border-color: #f6f6f6 !important; +} + +.note-status-output { + display: none; +} + +.note-editable p:last-of-type { + margin-bottom: 0; +} + +.note-popover .popover-content .note-color .dropdown-menu, +.card-header.note-toolbar .note-color .dropdown-menu { + min-width: 344px; +} + +.note-popover { + border-color: #f6f6f6; +} + +.note-popover .popover-content, +.card-header.note-toolbar { + background-color: #f6f6f6; +} + +/* Dropzone */ +.dropzone { + min-height: 230px; + border: 2px dashed #ced4da; + background: #fff; + border-radius: 6px; +} + +.dropzone .dz-message { + font-size: 24px; +} + +.form-wizard-wrapper label { + font-size: 14px; + text-align: left; +} + +.wizard ul { + list-style: none !important; + padding: 0; + margin: 0; +} + +.wizard > .steps > ul > li { + width: 25%; +} + +.wizard > .steps .current-info { + position: absolute; + right: -999em; +} + +.wizard > .steps a, .wizard > .steps a:active, .wizard > .steps a:hover { + margin: 3px; + padding: 15px; + display: block; + width: auto; + border-radius: 5px; +} + +.wizard > .steps .current a, .wizard > .steps .current a:active, .wizard > .steps .current a:hover { + background-color: #3b5de7; + color: #fff; +} + +.wizard > .steps .current a .number, .wizard > .steps .current a:active .number, .wizard > .steps .current a:hover .number { + border: 2px solid #fff; +} + +.wizard > .steps .disabled a, .wizard > .steps .disabled a:active, .wizard > .steps .disabled a:hover, .wizard > .steps .done a, .wizard > .steps .done a:active, .wizard > .steps .done a:hover { + background-color: #c3cef8; + color: #3b5de7; +} + +.wizard > .steps .disabled a .number, .wizard > .steps .disabled a:active .number, .wizard > .steps .disabled a:hover .number, .wizard > .steps .done a .number, .wizard > .steps .done a:active .number, .wizard > .steps .done a:hover .number { + border-color: #3b5de7; +} + +.wizard > .steps .number { + font-size: 16px; + padding: 5px; + border-radius: 50%; + border: 2px solid #fff; + width: 38px; + display: inline-block; + font-weight: 500; + text-align: center; + margin-left: 10px; + background-color: rgba(59, 93, 231, 0.25); +} + +.wizard > .content { + background-color: transparent; + margin: 0 5px; + border-radius: 0; + min-height: 150px; +} + +.wizard > .content > .title { + position: absolute; + right: -999em; +} + +.wizard > .content > .body { + width: 100%; + height: 100%; + padding: 30px 0 0; + position: static; +} + +.wizard > .actions { + position: relative; + display: block; + text-align: left; + width: 100%; +} + +.wizard > .actions > ul { + display: inline-block; + text-align: left; +} + +.wizard > .actions > ul > li { + display: block; + margin: 0 0.5em; +} + +.wizard > .actions a, .wizard > .actions a:active, .wizard > .actions a:hover { + background-color: #3b5de7; + border-radius: 4px; + padding: 8px 15px; + color: #fff; +} + +.wizard > .actions .disabled a, .wizard > .actions .disabled a:active, .wizard > .actions .disabled a:hover { + opacity: .65; + background-color: #3b5de7; + color: #fff; + cursor: not-allowed; +} + +.wizard > .steps > ul > li, .wizard > .actions > ul > li { + float: right; +} + +@media (max-width: 768px) { + .wizard > .steps > ul > li { + width: 50%; + } + .form-wizard-wrapper label { + text-align: right; + } +} + +@media (max-width: 520px) { + .wizard > .steps > ul > li { + width: 100%; + } +} + +.table-rep-plugin .btn-toolbar { + display: block; +} + +.table-rep-plugin .table-responsive { + border: none !important; +} + +.table-rep-plugin .btn-group .btn-default { + background-color: #8687a7; + color: #eff2f7; + border: 1px solid #8687a7; +} + +.table-rep-plugin .btn-group .btn-default.btn-primary { + background-color: #3b5de7; + border-color: #3b5de7; + color: #fff; + box-shadow: 0 0 0 2px rgba(59, 93, 231, 0.5); +} + +.table-rep-plugin .btn-group.pull-right { + float: left; +} + +.table-rep-plugin .btn-group.pull-right .dropdown-menu { + left: 0 !important; + right: auto !important; + -webkit-transform: none !important; + -ms-transform: none !important; + transform: none !important; + top: 100% !important; +} + +.table-rep-plugin tbody th { + font-size: 14px; + font-weight: normal; +} + +.table-rep-plugin .checkbox-row { + padding-right: 40px; +} + +.table-rep-plugin .checkbox-row label { + display: inline-block; + padding-right: 5px; + position: relative; + margin-bottom: .25rem; + margin-top: .25rem; +} + +.table-rep-plugin .checkbox-row label::before { + -o-transition: 0.3s ease-in-out; + -webkit-transition: 0.3s ease-in-out; + background-color: #fff; + border-radius: 3px; + border: 1px solid #f6f6f6; + content: ""; + display: inline-block; + height: 17px; + right: 0; + top: 2px; + margin-right: -20px; + position: absolute; + transition: 0.3s ease-in-out; + width: 17px; + outline: none !important; +} + +.table-rep-plugin .checkbox-row label::after { + color: #eff2f7; + display: inline-block; + font-size: 11px; + height: 16px; + right: 0; + margin-right: -20px; + padding-right: 3px; + padding-top: 1px; + position: absolute; + top: 0; + width: 16px; +} + +.table-rep-plugin .checkbox-row input[type="checkbox"] { + cursor: pointer; + opacity: 0; + z-index: 1; + outline: none !important; +} + +.table-rep-plugin .checkbox-row input[type="checkbox"]:disabled + label { + opacity: 0.65; +} + +.table-rep-plugin .checkbox-row input[type="checkbox"]:focus + label::before { + outline-offset: -2px; + outline: none; +} + +.table-rep-plugin .checkbox-row input[type="checkbox"]:checked + label::after { + content: "\f00c"; + font-family: 'Font Awesome 5 Free'; + font-weight: 900; +} + +.table-rep-plugin .checkbox-row input[type="checkbox"]:disabled + label::before { + background-color: #f8f9fa; + cursor: not-allowed; +} + +.table-rep-plugin .checkbox-row input[type="checkbox"]:checked + label::before { + background-color: #3b5de7; + border-color: #3b5de7; +} + +.table-rep-plugin .checkbox-row input[type="checkbox"]:checked + label::after { + color: #fff; +} + +.table-rep-plugin .fixed-solution .sticky-table-header { + background-color: #3b5de7; +} + +.table-rep-plugin .fixed-solution .sticky-table-header table { + color: #fff; +} + +@media (max-width: 991.98px) { + .fixed-solution .sticky-table-header { + top: 70px !important; + background-color: #3b5de7; + } + .fixed-solution .sticky-table-header table { + color: #fff; + } +} + +.table-editable .editable-input .form-control { + height: 2rem; +} + +.table-editable a.editable { + color: #8687a7; +} + +.table-editable .editable-buttons .btn.btn-sm { + font-size: 12px; +} + +.table-editable tbody td.focus { + box-shadow: inset 0 0 1px 1px #3b5de7 !important; +} + +.dt-autofill-list { + border: none !important; + background-color: #fff !important; +} + +.dt-autofill-list .dt-autofill-question, .dt-autofill-list .dt-autofill-button { + border-bottom-color: #f6f6f6 !important; +} + +.dt-autofill-list ul li:hover { + background-color: #f6f6f6 !important; +} + +.glyphicon { + display: inline-block; + font-family: "Material Design Icons"; + font-size: inherit; + font-weight: 600; + font-style: inherit; +} + +.glyphicon-ok:before { + content: "\F12C"; +} + +.glyphicon-remove:before { + content: "\F156"; +} + +.editable-input { + display: inline-block; + margin-left: 10px; +} + +.editable-buttons { + display: inline-block; +} + +.apex-charts { + min-height: 10px !important; +} + +.apex-charts text { + font-family: "primary-font", "segoe ui", "tahoma" !important; + fill: #adb5bd; +} + +.apex-charts .apexcharts-canvas { + margin: 0 auto; +} + +.apexcharts-tooltip-title, +.apexcharts-tooltip-text { + font-family: "primary-font", "segoe ui", "tahoma" !important; +} + +.apexcharts-legend-series { + font-weight: 500; +} + +.apexcharts-gridline { + pointer-events: none; + stroke: #f8f9fa; +} + +.apexcharts-legend-text { + color: #8687a7 !important; + font-family: "primary-font", "segoe ui", "tahoma" !important; + font-size: 13px !important; +} + +.apexcharts-pie-label { + fill: #fff !important; +} + +.apexcharts-yaxis text, +.apexcharts-xaxis text { + font-family: "primary-font", "segoe ui", "tahoma" !important; + fill: #adb5bd; +} + +.apexcharts-canvas { + direction: ltr; +} + +.apexcharts-legend, +.apexcharts-tooltip { + direction: rtl; +} + +.apexcharts-legend-series { + line-height: 1.85 !important; +} + +.apexcharts-legend-marker { + margin-right: 0 !important; + margin-left: 4px; + margin-top: 2px; + vertical-align: middle; +} + +.apexcharts-tooltip-marker { + margin-right: 0 !important; + margin-left: 10px; + margin-top: 2px; + vertical-align: middle; +} + +.apexcharts-menu-item { + direction: rtl; + font-size: 13px !important; + padding-top: 5px !important; + padding-bottom: 5px !important; +} + +/* Flot chart */ +.flot-charts-height { + height: 320px; +} + +.flotTip { + padding: 8px 12px; + background-color: rgba(52, 58, 64, 0.9); + z-index: 100; + color: #f8f9fa; + box-shadow: 0 0.75rem 1.5rem rgba(18, 38, 63, 0.03); + border-radius: 4px; +} + +.legendLabel { + color: #adb5bd; +} + +/* Knob chart */ +input.knob { + font-family: inherit !important; +} + +.jqstooltip { + box-sizing: content-box; + width: auto !important; + height: auto !important; + background-color: #343a40 !important; + box-shadow: 0 0.2rem 2rem rgba(0, 0, 0, 0.12); + padding: 5px 10px !important; + border-radius: 3px; + border-color: #212529 !important; +} + +.jqsfield { + color: #eff2f7 !important; + font-size: 12px !important; + line-height: 18px !important; + font-family: "primary-font", "segoe ui", "tahoma" !important; + font-weight: 500 !important; +} + +.gmaps, .gmaps-panaroma { + height: 300px; + background: #f8f9fa; + border-radius: 3px; +} + +.gmaps-overlay { + display: block; + text-align: center; + color: #fff; + font-size: 16px; + line-height: 40px; + background: #3b5de7; + border-radius: 4px; + padding: 10px 20px; +} + +.gmaps-overlay_arrow { + right: 50%; + margin-right: -16px; + width: 0; + height: 0; + position: absolute; +} + +.gmaps-overlay_arrow.above { + bottom: -15px; + border-right: 16px solid transparent; + border-left: 16px solid transparent; + border-top: 16px solid #3b5de7; +} + +.gmaps-overlay_arrow.below { + top: -15px; + border-right: 16px solid transparent; + border-left: 16px solid transparent; + border-bottom: 16px solid #3b5de7; +} + +.jvectormap-label { + border: none; + background: #343a40; + color: #f8f9fa; + font-family: "primary-font", "segoe ui", "tahoma"; + font-size: 0.875rem; + padding: 5px 8px; +} + +.home-btn { + position: absolute; + top: 15px; + left: 25px; +} + +.bg-login { + background-image: url(../images/login-img.png); + padding: 60px 0px; + background-size: cover; + background-position: center center; + position: relative; + border-radius: 0px 0px 50% 50%; +} + +.bg-login-overlay { + position: absolute; + background: -webkit-linear-gradient(left, #273c92, #293e92); + background: linear-gradient(to right, #273c92, #293e92); + top: 0; + left: 0; + right: 0; + bottom: 0; + width: 100%; + height: 100%; + border-radius: 0px 0px 50% 50%; + opacity: 0.8; +} + +.account-pages .logo-admin { + position: absolute; + right: 0; + left: 0; + margin: 0px auto; + width: 74px; + height: 74px; + line-height: 74px; + background: #fff; + border-radius: 50%; + text-align: center; + box-shadow: 0 0.75rem 1.5rem rgba(18, 38, 63, 0.03); +} + +.error-page { + text-transform: uppercase; + font-size: 60px; + line-height: .7; + position: relative; +} + +/* ============== + Email +===================*/ +.email-leftbar { + width: 236px; + float: right; + padding: 20px; + border-radius: 5px; +} + +.email-rightbar { + margin-right: 260px; +} + +.chat-user-box p.user-title { + color: #343a40; + font-weight: 500; +} + +.chat-user-box p { + font-size: 12px; +} + +@media (max-width: 767px) { + .email-leftbar { + float: none; + width: 100%; + } + .email-rightbar { + margin: 0; + } +} + +.mail-list a { + display: block; + color: #8687a7; + line-height: 24px; + padding: 8px 5px; +} + +.mail-list a.active { + color: #FF715B; + font-weight: 500; +} + +.message-list { + display: block; + padding-right: 0; +} + +.message-list li { + position: relative; + display: block; + height: 50px; + line-height: 50px; + cursor: default; + -webkit-transition-duration: .3s; + transition-duration: .3s; +} + +.message-list li a { + color: #8687a7; +} + +.message-list li:hover { + background: #f6f6f6; + -webkit-transition-duration: .05s; + transition-duration: .05s; +} + +.message-list li .col-mail { + float: right; + position: relative; +} + +.message-list li .col-mail-1 { + width: 320px; +} + +.message-list li .col-mail-1 .star-toggle, +.message-list li .col-mail-1 .checkbox-wrapper-mail, +.message-list li .col-mail-1 .dot { + display: block; + float: right; +} + +.message-list li .col-mail-1 .dot { + border: 4px solid transparent; + border-radius: 100px; + margin: 22px 26px 0; + height: 0; + width: 0; + line-height: 0; + font-size: 0; +} + +.message-list li .col-mail-1 .checkbox-wrapper-mail { + margin: 15px 20px 0 10px; +} + +.message-list li .col-mail-1 .star-toggle { + margin-top: 18px; + margin-right: 5px; +} + +.message-list li .col-mail-1 .title { + position: absolute; + top: 0; + right: 110px; + left: 0; + text-overflow: ellipsis; + overflow: hidden; + white-space: nowrap; + margin-bottom: 0; +} + +.message-list li .col-mail-2 { + position: absolute; + top: 0; + right: 320px; + left: 0; + bottom: 0; +} + +.message-list li .col-mail-2 .subject, +.message-list li .col-mail-2 .date { + position: absolute; + top: 0; +} + +.message-list li .col-mail-2 .subject { + right: 0; + left: 200px; + text-overflow: ellipsis; + overflow: hidden; + white-space: nowrap; +} + +.message-list li .col-mail-2 .date { + left: 0; + width: 170px; + padding-right: 80px; +} + +.message-list li.active, .message-list li.active:hover { + box-shadow: inset -3px 0 0 #3b5de7; +} + +.message-list li.unread { + background-color: #f6f6f6; + font-weight: 500; + color: #292d32; +} + +.message-list li.unread a { + color: #292d32; + font-weight: 500; +} + +.message-list .checkbox-wrapper-mail { + cursor: pointer; + height: 20px; + width: 20px; + position: relative; + display: inline-block; + box-shadow: inset 0 0 0 1px #ced4da; + border-radius: 1px; +} + +.message-list .checkbox-wrapper-mail input { + opacity: 0; + cursor: pointer; +} + +.message-list .checkbox-wrapper-mail input:checked ~ label { + opacity: 1; +} + +.message-list .checkbox-wrapper-mail label { + position: absolute; + height: 20px; + width: 20px; + right: 0; + cursor: pointer; + opacity: 0; + margin-bottom: 0; + -webkit-transition-duration: .05s; + transition-duration: .05s; + top: 0; +} + +.message-list .checkbox-wrapper-mail label:before { + content: "\F12C"; + font-family: "Material Design Icons"; + top: 1px; + height: 20px; + color: #292d32; + width: 20px; + position: absolute; + margin-top: -16px; + right: 3.5px; + font-size: 13px; +} + +@media (max-width: 575.98px) { + .message-list li .col-mail-1 { + width: 200px; + } +} + +.counter-number { + font-size: 32px; + font-weight: 700; + text-align: center; +} + +.counter-number span { + font-size: 16px; + font-weight: 400; + display: block; + padding-top: 5px; +} + +.coming-box { + float: left; + width: 25%; +} + +/************** Horizontal timeline **************/ +.timeline-box { + padding: 0px !important; + position: relative; +} + +.timeline-box .item-lable { + width: 100px; + height: 30px; + line-height: 30px; + margin: 0 auto; + font-size: 12px; + position: relative; + top: -20px; + z-index: 1; +} + +.timeline-box .item-lable p { + line-height: inherit; +} + +.timeline-box .timeline-spacing { + margin-bottom: 70px; +} + +.timeline-box .dot { + width: 10px; + height: 10px; + border-radius: 100px; + margin: 0px auto; + position: relative; + top: -6px; + z-index: 1; +} + +.timeline-box .timeline-line { + width: 100%; + position: relative; + height: 3px; + border-top: 3px solid #eff2f7; +} + +.timeline-box .vertical-line { + position: relative; + width: 100%; +} + +.timeline-box .vertical-line .wrapper-line { + width: 2px; + height: 50px; + background-color: #eff2f7; + margin: 0 auto; +} + +.timeline-count .row:first-child .timeline-box:first-child .timeline-line:before { + content: ''; + width: 10px; + height: 10px; + border-radius: 100px; + background: #eff2f7; + position: absolute; + top: -6px; +} + +.timeline-count .row:last-child .timeline-box:last-child .timeline-line, +.timeline-count .row:first-child .timeline-box:first-child .timeline-line { + border-top: 3px solid #eff2f7 !important; +} + +.timeline-count .row:last-child .timeline-box:last-child:before { + content: unset !important; +} + +.timeline-count .row:nth-child(odd) .timeline-box:last-child:before { + content: ''; + position: absolute; + left: 0; + top: 30px; + width: 100%; + height: 100%; + border-left: 3px solid #eff2f7; +} + +.timeline-count .row:nth-child(even) .timeline-box:last-child:before { + content: ''; + position: absolute; + left: 0; + top: 30px; + width: 100%; + height: 100%; + border-right: 3px solid #eff2f7; +} + +.timeline-count .row:nth-child(even) { + direction: ltr; +} + +.timeline-count .row:nth-child(even) .timeline-box { + direction: rtl; +} + +.plan-box .plan-btn { + position: relative; +} + +.plan-box .plan-btn::before { + content: ""; + position: absolute; + width: 100%; + height: 2px; + background: #f6f6f6; + right: 0px; + left: 0px; + top: 12px; +} diff --git a/public/assets/css/bootstrap-dark.min.css b/public/assets/css/bootstrap-dark.min.css new file mode 100644 index 0000000..c261e8b --- /dev/null +++ b/public/assets/css/bootstrap-dark.min.css @@ -0,0 +1,6 @@ +/*! + * Bootstrap v4.4.1 (https://getbootstrap.com/) + * Copyright 2011-2019 The Bootstrap Authors + * Copyright 2011-2019 Twitter, Inc. + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) + */:root{--blue:#3b5de7;--indigo:#564ab1;--purple:#6f42c1;--pink:#e83e8c;--red:#FF715B;--orange:#f1734f;--yellow:#EEB902;--green:#45cb85;--teal:#050505;--cyan:#0CAADC;--white:#fff;--gray:#969aa5;--gray-dark:#eff2f7;--primary:#3b5de7;--secondary:#969aa5;--success:#45cb85;--info:#0CAADC;--warning:#EEB902;--danger:#FF715B;--light:#364458;--dark:#eff2f7;--pink:#e83e8c;--breakpoint-xs:0;--breakpoint-sm:576px;--breakpoint-md:768px;--breakpoint-lg:992px;--breakpoint-xl:1200px;--font-family-sans-serif:"SF UI Text",sans-serif;--font-family-monospace:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace}*,::after,::before{-webkit-box-sizing:border-box;box-sizing:border-box}html{font-family:sans-serif;line-height:1.15;-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent}article,aside,figcaption,figure,footer,header,hgroup,main,nav,section{display:block}body{margin:0;font-family:"SF UI Text",sans-serif;font-size:.875rem;font-weight:400;line-height:1.5;color:#7f879c;text-align:right;background-color:#17212f}[tabindex="-1"]:focus:not(:focus-visible){outline:0!important}hr{-webkit-box-sizing:content-box;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;-webkit-text-decoration-skip-ink:none;text-decoration-skip-ink:none}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:600}dd{margin-bottom:.5rem;margin-right:0}blockquote{margin:0 0 1rem}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:#3b5de7;text-decoration:none;background-color:transparent}a:hover{color:#1738be;text-decoration:underline}a:not([href]){color:inherit;text-decoration:none}a:not([href]):hover{color:inherit;text-decoration:none}code,kbd,pre,samp{font-family:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;font-size:1em}pre{margin-top:0;margin-bottom:1rem;overflow:auto}figure{margin:0 0 1rem}img{vertical-align:middle;border-style:none}svg{overflow:hidden;vertical-align:middle}table{border-collapse:collapse}caption{padding-top:.75rem;padding-bottom:.75rem;color:#7e8396;text-align:right;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}select{word-wrap:normal}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}[type=button]:not(:disabled),[type=reset]:not(:disabled),[type=submit]:not(:disabled),button:not(:disabled){cursor:pointer}[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]{-webkit-box-sizing:border-box;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-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-weight:500;line-height:1.2}.h1,h1{font-size:2.1875rem}.h2,h2{font-size:1.75rem}.h3,h3{font-size:1.53125rem}.h4,h4{font-size:1.3125rem}.h5,h5{font-size:1.09375rem}.h6,h6{font-size:.875rem}.lead{font-size:1.09375rem;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 #364458}.small,small{font-size:80%;font-weight:400}.mark,mark{padding:.2em;background-color:#fcf8e3}.list-unstyled{padding-right:0;list-style:none}.list-inline{padding-right:0;list-style:none}.list-inline-item{display:inline-block}.list-inline-item:not(:last-child){margin-left:.5rem}.initialism{font-size:90%;text-transform:uppercase}.blockquote{margin-bottom:1rem;font-size:1.09375rem}.blockquote-footer{display:block;font-size:80%;color:#7e8396}.blockquote-footer::before{content:"\2014\00A0"}.img-fluid{max-width:100%;height:auto}.img-thumbnail{padding:.25rem;background-color:#17212f;border:1px solid #364458;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:#969aa5}code{font-size:87.5%;color:#e83e8c;word-wrap:break-word}a>code{color:inherit}kbd{padding:.2rem .4rem;font-size:87.5%;color:#fff;background-color:#f8f9fa;border-radius:.2rem}kbd kbd{padding:0;font-size:100%;font-weight:600}pre{display:block;font-size:87.5%;color:#f8f9fa}pre code{font-size:inherit;color:inherit;word-break:normal}.pre-scrollable{max-height:340px;overflow-y:scroll}.container{width:100%;padding-left:12px;padding-right:12px;margin-left:auto;margin-right: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,.container-lg,.container-md,.container-sm,.container-xl{width:100%;padding-left:12px;padding-right:12px;margin-left:auto;margin-right:auto}@media (min-width:576px){.container,.container-sm{max-width:540px}}@media (min-width:768px){.container,.container-md,.container-sm{max-width:720px}}@media (min-width:992px){.container,.container-lg,.container-md,.container-sm{max-width:960px}}@media (min-width:1200px){.container,.container-lg,.container-md,.container-sm,.container-xl{max-width:1140px}}.row{display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;margin-left:-12px;margin-right:-12px}.no-gutters{margin-left:0;margin-right:0}.no-gutters>.col,.no-gutters>[class*=col-]{padding-left:0;padding-right: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%;padding-left:12px;padding-right:12px}.col{-ms-flex-preferred-size:0;flex-basis:0;-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1;max-width:100%}.row-cols-1>*{-webkit-box-flex:0;-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.row-cols-2>*{-webkit-box-flex:0;-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.row-cols-3>*{-webkit-box-flex:0;-ms-flex:0 0 33.33333%;flex:0 0 33.33333%;max-width:33.33333%}.row-cols-4>*{-webkit-box-flex:0;-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.row-cols-5>*{-webkit-box-flex:0;-ms-flex:0 0 20%;flex:0 0 20%;max-width:20%}.row-cols-6>*{-webkit-box-flex:0;-ms-flex:0 0 16.66667%;flex:0 0 16.66667%;max-width:16.66667%}.col-auto{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;width:auto;max-width:100%}.col-1{-webkit-box-flex:0;-ms-flex:0 0 8.33333%;flex:0 0 8.33333%;max-width:8.33333%}.col-2{-webkit-box-flex:0;-ms-flex:0 0 16.66667%;flex:0 0 16.66667%;max-width:16.66667%}.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.33333%;flex:0 0 33.33333%;max-width:33.33333%}.col-5{-webkit-box-flex:0;-ms-flex:0 0 41.66667%;flex:0 0 41.66667%;max-width:41.66667%}.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.33333%;flex:0 0 58.33333%;max-width:58.33333%}.col-8{-webkit-box-flex:0;-ms-flex:0 0 66.66667%;flex:0 0 66.66667%;max-width:66.66667%}.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.33333%;flex:0 0 83.33333%;max-width:83.33333%}.col-11{-webkit-box-flex:0;-ms-flex:0 0 91.66667%;flex:0 0 91.66667%;max-width:91.66667%}.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-right:8.33333%}.offset-2{margin-right:16.66667%}.offset-3{margin-right:25%}.offset-4{margin-right:33.33333%}.offset-5{margin-right:41.66667%}.offset-6{margin-right:50%}.offset-7{margin-right:58.33333%}.offset-8{margin-right:66.66667%}.offset-9{margin-right:75%}.offset-10{margin-right:83.33333%}.offset-11{margin-right:91.66667%}@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%}.row-cols-sm-1>*{-webkit-box-flex:0;-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.row-cols-sm-2>*{-webkit-box-flex:0;-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.row-cols-sm-3>*{-webkit-box-flex:0;-ms-flex:0 0 33.33333%;flex:0 0 33.33333%;max-width:33.33333%}.row-cols-sm-4>*{-webkit-box-flex:0;-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.row-cols-sm-5>*{-webkit-box-flex:0;-ms-flex:0 0 20%;flex:0 0 20%;max-width:20%}.row-cols-sm-6>*{-webkit-box-flex:0;-ms-flex:0 0 16.66667%;flex:0 0 16.66667%;max-width:16.66667%}.col-sm-auto{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;width:auto;max-width:100%}.col-sm-1{-webkit-box-flex:0;-ms-flex:0 0 8.33333%;flex:0 0 8.33333%;max-width:8.33333%}.col-sm-2{-webkit-box-flex:0;-ms-flex:0 0 16.66667%;flex:0 0 16.66667%;max-width:16.66667%}.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.33333%;flex:0 0 33.33333%;max-width:33.33333%}.col-sm-5{-webkit-box-flex:0;-ms-flex:0 0 41.66667%;flex:0 0 41.66667%;max-width:41.66667%}.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.33333%;flex:0 0 58.33333%;max-width:58.33333%}.col-sm-8{-webkit-box-flex:0;-ms-flex:0 0 66.66667%;flex:0 0 66.66667%;max-width:66.66667%}.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.33333%;flex:0 0 83.33333%;max-width:83.33333%}.col-sm-11{-webkit-box-flex:0;-ms-flex:0 0 91.66667%;flex:0 0 91.66667%;max-width:91.66667%}.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-right:0}.offset-sm-1{margin-right:8.33333%}.offset-sm-2{margin-right:16.66667%}.offset-sm-3{margin-right:25%}.offset-sm-4{margin-right:33.33333%}.offset-sm-5{margin-right:41.66667%}.offset-sm-6{margin-right:50%}.offset-sm-7{margin-right:58.33333%}.offset-sm-8{margin-right:66.66667%}.offset-sm-9{margin-right:75%}.offset-sm-10{margin-right:83.33333%}.offset-sm-11{margin-right:91.66667%}}@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%}.row-cols-md-1>*{-webkit-box-flex:0;-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.row-cols-md-2>*{-webkit-box-flex:0;-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.row-cols-md-3>*{-webkit-box-flex:0;-ms-flex:0 0 33.33333%;flex:0 0 33.33333%;max-width:33.33333%}.row-cols-md-4>*{-webkit-box-flex:0;-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.row-cols-md-5>*{-webkit-box-flex:0;-ms-flex:0 0 20%;flex:0 0 20%;max-width:20%}.row-cols-md-6>*{-webkit-box-flex:0;-ms-flex:0 0 16.66667%;flex:0 0 16.66667%;max-width:16.66667%}.col-md-auto{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;width:auto;max-width:100%}.col-md-1{-webkit-box-flex:0;-ms-flex:0 0 8.33333%;flex:0 0 8.33333%;max-width:8.33333%}.col-md-2{-webkit-box-flex:0;-ms-flex:0 0 16.66667%;flex:0 0 16.66667%;max-width:16.66667%}.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.33333%;flex:0 0 33.33333%;max-width:33.33333%}.col-md-5{-webkit-box-flex:0;-ms-flex:0 0 41.66667%;flex:0 0 41.66667%;max-width:41.66667%}.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.33333%;flex:0 0 58.33333%;max-width:58.33333%}.col-md-8{-webkit-box-flex:0;-ms-flex:0 0 66.66667%;flex:0 0 66.66667%;max-width:66.66667%}.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.33333%;flex:0 0 83.33333%;max-width:83.33333%}.col-md-11{-webkit-box-flex:0;-ms-flex:0 0 91.66667%;flex:0 0 91.66667%;max-width:91.66667%}.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-right:0}.offset-md-1{margin-right:8.33333%}.offset-md-2{margin-right:16.66667%}.offset-md-3{margin-right:25%}.offset-md-4{margin-right:33.33333%}.offset-md-5{margin-right:41.66667%}.offset-md-6{margin-right:50%}.offset-md-7{margin-right:58.33333%}.offset-md-8{margin-right:66.66667%}.offset-md-9{margin-right:75%}.offset-md-10{margin-right:83.33333%}.offset-md-11{margin-right:91.66667%}}@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%}.row-cols-lg-1>*{-webkit-box-flex:0;-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.row-cols-lg-2>*{-webkit-box-flex:0;-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.row-cols-lg-3>*{-webkit-box-flex:0;-ms-flex:0 0 33.33333%;flex:0 0 33.33333%;max-width:33.33333%}.row-cols-lg-4>*{-webkit-box-flex:0;-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.row-cols-lg-5>*{-webkit-box-flex:0;-ms-flex:0 0 20%;flex:0 0 20%;max-width:20%}.row-cols-lg-6>*{-webkit-box-flex:0;-ms-flex:0 0 16.66667%;flex:0 0 16.66667%;max-width:16.66667%}.col-lg-auto{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;width:auto;max-width:100%}.col-lg-1{-webkit-box-flex:0;-ms-flex:0 0 8.33333%;flex:0 0 8.33333%;max-width:8.33333%}.col-lg-2{-webkit-box-flex:0;-ms-flex:0 0 16.66667%;flex:0 0 16.66667%;max-width:16.66667%}.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.33333%;flex:0 0 33.33333%;max-width:33.33333%}.col-lg-5{-webkit-box-flex:0;-ms-flex:0 0 41.66667%;flex:0 0 41.66667%;max-width:41.66667%}.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.33333%;flex:0 0 58.33333%;max-width:58.33333%}.col-lg-8{-webkit-box-flex:0;-ms-flex:0 0 66.66667%;flex:0 0 66.66667%;max-width:66.66667%}.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.33333%;flex:0 0 83.33333%;max-width:83.33333%}.col-lg-11{-webkit-box-flex:0;-ms-flex:0 0 91.66667%;flex:0 0 91.66667%;max-width:91.66667%}.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-right:0}.offset-lg-1{margin-right:8.33333%}.offset-lg-2{margin-right:16.66667%}.offset-lg-3{margin-right:25%}.offset-lg-4{margin-right:33.33333%}.offset-lg-5{margin-right:41.66667%}.offset-lg-6{margin-right:50%}.offset-lg-7{margin-right:58.33333%}.offset-lg-8{margin-right:66.66667%}.offset-lg-9{margin-right:75%}.offset-lg-10{margin-right:83.33333%}.offset-lg-11{margin-right:91.66667%}}@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%}.row-cols-xl-1>*{-webkit-box-flex:0;-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.row-cols-xl-2>*{-webkit-box-flex:0;-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.row-cols-xl-3>*{-webkit-box-flex:0;-ms-flex:0 0 33.33333%;flex:0 0 33.33333%;max-width:33.33333%}.row-cols-xl-4>*{-webkit-box-flex:0;-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.row-cols-xl-5>*{-webkit-box-flex:0;-ms-flex:0 0 20%;flex:0 0 20%;max-width:20%}.row-cols-xl-6>*{-webkit-box-flex:0;-ms-flex:0 0 16.66667%;flex:0 0 16.66667%;max-width:16.66667%}.col-xl-auto{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;width:auto;max-width:100%}.col-xl-1{-webkit-box-flex:0;-ms-flex:0 0 8.33333%;flex:0 0 8.33333%;max-width:8.33333%}.col-xl-2{-webkit-box-flex:0;-ms-flex:0 0 16.66667%;flex:0 0 16.66667%;max-width:16.66667%}.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.33333%;flex:0 0 33.33333%;max-width:33.33333%}.col-xl-5{-webkit-box-flex:0;-ms-flex:0 0 41.66667%;flex:0 0 41.66667%;max-width:41.66667%}.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.33333%;flex:0 0 58.33333%;max-width:58.33333%}.col-xl-8{-webkit-box-flex:0;-ms-flex:0 0 66.66667%;flex:0 0 66.66667%;max-width:66.66667%}.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.33333%;flex:0 0 83.33333%;max-width:83.33333%}.col-xl-11{-webkit-box-flex:0;-ms-flex:0 0 91.66667%;flex:0 0 91.66667%;max-width:91.66667%}.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-right:0}.offset-xl-1{margin-right:8.33333%}.offset-xl-2{margin-right:16.66667%}.offset-xl-3{margin-right:25%}.offset-xl-4{margin-right:33.33333%}.offset-xl-5{margin-right:41.66667%}.offset-xl-6{margin-right:50%}.offset-xl-7{margin-right:58.33333%}.offset-xl-8{margin-right:66.66667%}.offset-xl-9{margin-right:75%}.offset-xl-10{margin-right:83.33333%}.offset-xl-11{margin-right:91.66667%}}.table{width:100%;margin-bottom:1rem;color:#7f879c}.table td,.table th{padding:.75rem;vertical-align:top;border-top:1px solid #364458}.table thead th{vertical-align:bottom;border-bottom:2px solid #364458}.table tbody+tbody{border-top:2px solid #364458}.table-sm td,.table-sm th{padding:.3rem}.table-bordered{border:1px solid #364458}.table-bordered td,.table-bordered th{border:1px solid #364458}.table-bordered thead td,.table-bordered thead th{border-bottom-width:2px}.table-borderless tbody+tbody,.table-borderless td,.table-borderless th,.table-borderless thead th{border:0}.table-striped tbody tr:nth-of-type(odd){background-color:rgba(127,135,156,.05)}.table-hover tbody tr:hover{color:#7f879c;background-color:rgba(126,131,150,.05)}.table-primary,.table-primary>td,.table-primary>th{background-color:#c8d2f8}.table-primary tbody+tbody,.table-primary td,.table-primary th,.table-primary thead th{border-color:#99abf3}.table-hover .table-primary:hover{background-color:#b1bff5}.table-hover .table-primary:hover>td,.table-hover .table-primary:hover>th{background-color:#b1bff5}.table-secondary,.table-secondary>td,.table-secondary>th{background-color:#e2e3e6}.table-secondary tbody+tbody,.table-secondary td,.table-secondary th,.table-secondary thead th{border-color:#c8cad0}.table-hover .table-secondary:hover{background-color:#d4d6da}.table-hover .table-secondary:hover>td,.table-hover .table-secondary:hover>th{background-color:#d4d6da}.table-success,.table-success>td,.table-success>th{background-color:#cbf0dd}.table-success tbody+tbody,.table-success td,.table-success th,.table-success thead th{border-color:#9ee4c0}.table-hover .table-success:hover{background-color:#b7ead0}.table-hover .table-success:hover>td,.table-hover .table-success:hover>th{background-color:#b7ead0}.table-info,.table-info>td,.table-info>th{background-color:#bbe7f5}.table-info tbody+tbody,.table-info td,.table-info th,.table-info thead th{border-color:#81d3ed}.table-hover .table-info:hover{background-color:#a5dff2}.table-hover .table-info:hover>td,.table-hover .table-info:hover>th{background-color:#a5dff2}.table-warning,.table-warning>td,.table-warning>th{background-color:#faebb8}.table-warning tbody+tbody,.table-warning td,.table-warning th,.table-warning thead th{border-color:#f6db7b}.table-hover .table-warning:hover{background-color:#f8e4a0}.table-hover .table-warning:hover>td,.table-hover .table-warning:hover>th{background-color:#f8e4a0}.table-danger,.table-danger>td,.table-danger>th{background-color:#ffd7d1}.table-danger tbody+tbody,.table-danger td,.table-danger th,.table-danger thead th{border-color:#ffb5aa}.table-hover .table-danger:hover{background-color:#ffc1b8}.table-hover .table-danger:hover>td,.table-hover .table-danger:hover>th{background-color:#ffc1b8}.table-light,.table-light>td,.table-light>th{background-color:#c7cbd0}.table-light tbody+tbody,.table-light td,.table-light th,.table-light thead th{border-color:#969ea8}.table-hover .table-light:hover{background-color:#b9bec4}.table-hover .table-light:hover>td,.table-hover .table-light:hover>th{background-color:#b9bec4}.table-dark,.table-dark>td,.table-dark>th{background-color:#fbfbfd}.table-dark tbody+tbody,.table-dark td,.table-dark th,.table-dark thead th{border-color:#f7f8fb}.table-hover .table-dark:hover{background-color:#eaeaf5}.table-hover .table-dark:hover>td,.table-hover .table-dark:hover>th{background-color:#eaeaf5}.table-pink,.table-pink>td,.table-pink>th{background-color:#f9c9df}.table-pink tbody+tbody,.table-pink td,.table-pink th,.table-pink thead th{border-color:#f39bc3}.table-hover .table-pink:hover{background-color:#f6b2d1}.table-hover .table-pink:hover>td,.table-hover .table-pink:hover>th{background-color:#f6b2d1}.table-active,.table-active>td,.table-active>th{background-color:rgba(126,131,150,.05)}.table-hover .table-active:hover{background-color:rgba(112,118,138,.05)}.table-hover .table-active:hover>td,.table-hover .table-active:hover>th{background-color:rgba(112,118,138,.05)}.table .thead-dark th{color:#969aa5;background-color:#364458;border-color:#455670}.table .thead-light th{color:#969aa5;background-color:rgba(150,154,165,.05);border-color:#364458}.table-dark{color:#969aa5;background-color:#364458}.table-dark td,.table-dark th,.table-dark thead th{border-color:#455670}.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{color:#969aa5;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}.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}.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}.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}.table-responsive-xl>.table-bordered{border:0}}.table-responsive{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.table-responsive>.table-bordered{border:0}.form-control{display:block;width:100%;height:calc(1.5em + .94rem + 2px);padding:.47rem .75rem;font-size:.875rem;font-weight:400;line-height:1.5;color:#7e8396;background-color:#2b384a;background-clip:padding-box;border:1px solid #364458;border-radius:.25rem;-webkit-transition:border-color .15s ease-in-out,-webkit-box-shadow .15s ease-in-out;transition:border-color .15s ease-in-out,-webkit-box-shadow .15s ease-in-out;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out,-webkit-box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.form-control{-webkit-transition:none;transition:none}}.form-control::-ms-expand{background-color:transparent;border:0}.form-control:-moz-focusring{color:transparent;text-shadow:0 0 0 #7e8396}.form-control:focus{color:#7e8396;background-color:#2d3a4e;border-color:#3a495e;outline:0;-webkit-box-shadow:none;box-shadow:none}.form-control::-webkit-input-placeholder{color:#7f879c;opacity:1}.form-control::-moz-placeholder{color:#7f879c;opacity:1}.form-control:-ms-input-placeholder{color:#7f879c;opacity:1}.form-control::-ms-input-placeholder{color:#7f879c;opacity:1}.form-control::placeholder{color:#7f879c;opacity:1}.form-control:disabled,.form-control[readonly]{background-color:#293547;opacity:1}select.form-control:focus::-ms-value{color:#7e8396;background-color:#2b384a}.form-control-file,.form-control-range{display:block;width:100%}.col-form-label{padding-top:calc(.47rem + 1px);padding-bottom:calc(.47rem + 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.09375rem;line-height:1.5}.col-form-label-sm{padding-top:calc(.25rem + 1px);padding-bottom:calc(.25rem + 1px);font-size:.76563rem;line-height:1.5}.form-control-plaintext{display:block;width:100%;padding:.47rem 0;margin-bottom:0;font-size:.875rem;line-height:1.5;color:#7f879c;background-color:transparent;border:solid transparent;border-width:1px 0}.form-control-plaintext.form-control-lg,.form-control-plaintext.form-control-sm{padding-left:0;padding-right:0}.form-control-sm{height:calc(1.5em + .5rem + 2px);padding:.25rem .5rem;font-size:.76563rem;line-height:1.5;border-radius:.2rem}.form-control-lg{height:calc(1.5em + 1rem + 2px);padding:.5rem 1rem;font-size:1.09375rem;line-height:1.5;border-radius:.4rem}select.form-control[multiple],select.form-control[size]{height:auto}textarea.form-control{height:auto}.form-group{margin-bottom:1rem}.form-text{display:block;margin-top:.25rem}.form-row{display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;margin-left:-5px;margin-right:-5px}.form-row>.col,.form-row>[class*=col-]{padding-left:5px;padding-right:5px}.form-check{position:relative;display:block;padding-right:1.25rem}.form-check-input{position:absolute;margin-top:.3rem;margin-right:-1.25rem}.form-check-input:disabled~.form-check-label,.form-check-input[disabled]~.form-check-label{color:#7e8396}.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-right:0;margin-left:.75rem}.form-check-inline .form-check-input{position:static;margin-top:0;margin-left:.3125rem;margin-right:0}.valid-feedback{display:none;width:100%;margin-top:.25rem;font-size:80%;color:#45cb85}.valid-tooltip{position:absolute;top:100%;z-index:5;display:none;max-width:100%;padding:.4rem .7rem;margin-top:.1rem;font-size:.76563rem;line-height:1.5;color:#f8f9fa;background-color:rgba(69,203,133,.9);border-radius:.25rem}.is-valid~.valid-feedback,.is-valid~.valid-tooltip,.was-validated :valid~.valid-feedback,.was-validated :valid~.valid-tooltip{display:block}.form-control.is-valid,.was-validated .form-control:valid{border-color:#45cb85;padding-left:calc(1.5em + .94rem);background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%2345cb85' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e");background-repeat:no-repeat;background-position:left calc(.375em + .235rem) center;background-size:calc(.75em + .47rem) calc(.75em + .47rem)}.form-control.is-valid:focus,.was-validated .form-control:valid:focus{border-color:#45cb85;-webkit-box-shadow:0 0 0 .15rem rgba(69,203,133,.25);box-shadow:0 0 0 .15rem rgba(69,203,133,.25)}.was-validated textarea.form-control:valid,textarea.form-control.is-valid{padding-left:calc(1.5em + .94rem);background-position:top calc(.375em + .235rem) left calc(.375em + .235rem)}.custom-select.is-valid,.was-validated .custom-select:valid{border-color:#45cb85;padding-left:calc((1em + .94rem) * 3 / 4 + 1.75rem);background:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 5'%3e%3cpath fill='%23eff2f7' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e") no-repeat left .75rem center/8px 10px,url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%2345cb85' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e") #2b384a no-repeat center left 1.75rem/calc(.75em + .47rem) calc(.75em + .47rem)}.custom-select.is-valid:focus,.was-validated .custom-select:valid:focus{border-color:#45cb85;-webkit-box-shadow:0 0 0 .15rem rgba(69,203,133,.25);box-shadow:0 0 0 .15rem rgba(69,203,133,.25)}.form-check-input.is-valid~.form-check-label,.was-validated .form-check-input:valid~.form-check-label{color:#45cb85}.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:#45cb85}.custom-control-input.is-valid~.custom-control-label::before,.was-validated .custom-control-input:valid~.custom-control-label::before{border-color:#45cb85}.custom-control-input.is-valid:checked~.custom-control-label::before,.was-validated .custom-control-input:valid:checked~.custom-control-label::before{border-color:#6dd69f;background-color:#6dd69f}.custom-control-input.is-valid:focus~.custom-control-label::before,.was-validated .custom-control-input:valid:focus~.custom-control-label::before{-webkit-box-shadow:0 0 0 .15rem rgba(69,203,133,.25);box-shadow:0 0 0 .15rem rgba(69,203,133,.25)}.custom-control-input.is-valid:focus:not(:checked)~.custom-control-label::before,.was-validated .custom-control-input:valid:focus:not(:checked)~.custom-control-label::before{border-color:#45cb85}.custom-file-input.is-valid~.custom-file-label,.was-validated .custom-file-input:valid~.custom-file-label{border-color:#45cb85}.custom-file-input.is-valid:focus~.custom-file-label,.was-validated .custom-file-input:valid:focus~.custom-file-label{border-color:#45cb85;-webkit-box-shadow:0 0 0 .15rem rgba(69,203,133,.25);box-shadow:0 0 0 .15rem rgba(69,203,133,.25)}.invalid-feedback{display:none;width:100%;margin-top:.25rem;font-size:80%;color:#ff715b}.invalid-tooltip{position:absolute;top:100%;z-index:5;display:none;max-width:100%;padding:.4rem .7rem;margin-top:.1rem;font-size:.76563rem;line-height:1.5;color:#f8f9fa;background-color:rgba(255,113,91,.9);border-radius:.25rem}.is-invalid~.invalid-feedback,.is-invalid~.invalid-tooltip,.was-validated :invalid~.invalid-feedback,.was-validated :invalid~.invalid-tooltip{display:block}.form-control.is-invalid,.was-validated .form-control:invalid{border-color:#ff715b;padding-left:calc(1.5em + .94rem);background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='%23FF715B' viewBox='-2 -2 7 7'%3e%3cpath stroke='%23FF715B' d='M0 0l3 3m0-3L0 3'/%3e%3ccircle r='.5'/%3e%3ccircle cx='3' r='.5'/%3e%3ccircle cy='3' r='.5'/%3e%3ccircle cx='3' cy='3' r='.5'/%3e%3c/svg%3E");background-repeat:no-repeat;background-position:left calc(.375em + .235rem) center;background-size:calc(.75em + .47rem) calc(.75em + .47rem)}.form-control.is-invalid:focus,.was-validated .form-control:invalid:focus{border-color:#ff715b;-webkit-box-shadow:0 0 0 .15rem rgba(255,113,91,.25);box-shadow:0 0 0 .15rem rgba(255,113,91,.25)}.was-validated textarea.form-control:invalid,textarea.form-control.is-invalid{padding-left:calc(1.5em + .94rem);background-position:top calc(.375em + .235rem) left calc(.375em + .235rem)}.custom-select.is-invalid,.was-validated .custom-select:invalid{border-color:#ff715b;padding-left:calc((1em + .94rem) * 3 / 4 + 1.75rem);background:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 5'%3e%3cpath fill='%23eff2f7' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e") no-repeat left .75rem center/8px 10px,url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='%23FF715B' viewBox='-2 -2 7 7'%3e%3cpath stroke='%23FF715B' d='M0 0l3 3m0-3L0 3'/%3e%3ccircle r='.5'/%3e%3ccircle cx='3' r='.5'/%3e%3ccircle cy='3' r='.5'/%3e%3ccircle cx='3' cy='3' r='.5'/%3e%3c/svg%3E") #2b384a no-repeat center left 1.75rem/calc(.75em + .47rem) calc(.75em + .47rem)}.custom-select.is-invalid:focus,.was-validated .custom-select:invalid:focus{border-color:#ff715b;-webkit-box-shadow:0 0 0 .15rem rgba(255,113,91,.25);box-shadow:0 0 0 .15rem rgba(255,113,91,.25)}.form-check-input.is-invalid~.form-check-label,.was-validated .form-check-input:invalid~.form-check-label{color:#ff715b}.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:#ff715b}.custom-control-input.is-invalid~.custom-control-label::before,.was-validated .custom-control-input:invalid~.custom-control-label::before{border-color:#ff715b}.custom-control-input.is-invalid:checked~.custom-control-label::before,.was-validated .custom-control-input:invalid:checked~.custom-control-label::before{border-color:#ff9d8e;background-color:#ff9d8e}.custom-control-input.is-invalid:focus~.custom-control-label::before,.was-validated .custom-control-input:invalid:focus~.custom-control-label::before{-webkit-box-shadow:0 0 0 .15rem rgba(255,113,91,.25);box-shadow:0 0 0 .15rem rgba(255,113,91,.25)}.custom-control-input.is-invalid:focus:not(:checked)~.custom-control-label::before,.was-validated .custom-control-input:invalid:focus:not(:checked)~.custom-control-label::before{border-color:#ff715b}.custom-file-input.is-invalid~.custom-file-label,.was-validated .custom-file-input:invalid~.custom-file-label{border-color:#ff715b}.custom-file-input.is-invalid:focus~.custom-file-label,.was-validated .custom-file-input:invalid:focus~.custom-file-label{border-color:#ff715b;-webkit-box-shadow:0 0 0 .15rem rgba(255,113,91,.25);box-shadow:0 0 0 .15rem rgba(255,113,91,.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 .custom-select,.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-right:0}.form-inline .form-check-input{position:relative;-ms-flex-negative:0;flex-shrink:0;margin-top:0;margin-left:.25rem;margin-right: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;color:#7f879c;text-align:center;vertical-align:middle;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;background-color:transparent;border:1px solid transparent;padding:.47rem .75rem;font-size:.875rem;line-height:1.5;border-radius:.25rem;-webkit-transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,-webkit-box-shadow .15s ease-in-out;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,-webkit-box-shadow .15s ease-in-out;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out,-webkit-box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.btn{-webkit-transition:none;transition:none}}.btn:hover{color:#7f879c;text-decoration:none}.btn.focus,.btn:focus{outline:0;-webkit-box-shadow:0 0 0 .15rem rgba(59,93,231,.25);box-shadow:0 0 0 .15rem rgba(59,93,231,.25)}.btn.disabled,.btn:disabled{opacity:.65}a.btn.disabled,fieldset:disabled a.btn{pointer-events:none}.btn-primary{color:#fff;background-color:#3b5de7;border-color:#3b5de7}.btn-primary:hover{color:#fff;background-color:#1b42e0;border-color:#1a3fd5}.btn-primary.focus,.btn-primary:focus{color:#fff;background-color:#1b42e0;border-color:#1a3fd5;-webkit-box-shadow:0 0 0 .15rem rgba(88,117,235,.5);box-shadow:0 0 0 .15rem rgba(88,117,235,.5)}.btn-primary.disabled,.btn-primary:disabled{color:#fff;background-color:#3b5de7;border-color:#3b5de7}.btn-primary:not(:disabled):not(.disabled).active,.btn-primary:not(:disabled):not(.disabled):active,.show>.btn-primary.dropdown-toggle{color:#fff;background-color:#1a3fd5;border-color:#193cca}.btn-primary:not(:disabled):not(.disabled).active:focus,.btn-primary:not(:disabled):not(.disabled):active:focus,.show>.btn-primary.dropdown-toggle:focus{-webkit-box-shadow:0 0 0 .15rem rgba(88,117,235,.5);box-shadow:0 0 0 .15rem rgba(88,117,235,.5)}.btn-secondary{color:#f8f9fa;background-color:#969aa5;border-color:#969aa5}.btn-secondary:hover{color:#fff;background-color:#818693;border-color:#7b808d}.btn-secondary.focus,.btn-secondary:focus{color:#fff;background-color:#818693;border-color:#7b808d;-webkit-box-shadow:0 0 0 .15rem rgba(165,168,178,.5);box-shadow:0 0 0 .15rem rgba(165,168,178,.5)}.btn-secondary.disabled,.btn-secondary:disabled{color:#f8f9fa;background-color:#969aa5;border-color:#969aa5}.btn-secondary:not(:disabled):not(.disabled).active,.btn-secondary:not(:disabled):not(.disabled):active,.show>.btn-secondary.dropdown-toggle{color:#fff;background-color:#7b808d;border-color:#747987}.btn-secondary:not(:disabled):not(.disabled).active:focus,.btn-secondary:not(:disabled):not(.disabled):active:focus,.show>.btn-secondary.dropdown-toggle:focus{-webkit-box-shadow:0 0 0 .15rem rgba(165,168,178,.5);box-shadow:0 0 0 .15rem rgba(165,168,178,.5)}.btn-success{color:#f8f9fa;background-color:#45cb85;border-color:#45cb85}.btn-success:hover{color:#fff;background-color:#33b772;border-color:#30ad6c}.btn-success.focus,.btn-success:focus{color:#fff;background-color:#33b772;border-color:#30ad6c;-webkit-box-shadow:0 0 0 .15rem rgba(96,210,151,.5);box-shadow:0 0 0 .15rem rgba(96,210,151,.5)}.btn-success.disabled,.btn-success:disabled{color:#f8f9fa;background-color:#45cb85;border-color:#45cb85}.btn-success:not(:disabled):not(.disabled).active,.btn-success:not(:disabled):not(.disabled):active,.show>.btn-success.dropdown-toggle{color:#fff;background-color:#30ad6c;border-color:#2ea366}.btn-success:not(:disabled):not(.disabled).active:focus,.btn-success:not(:disabled):not(.disabled):active:focus,.show>.btn-success.dropdown-toggle:focus{-webkit-box-shadow:0 0 0 .15rem rgba(96,210,151,.5);box-shadow:0 0 0 .15rem rgba(96,210,151,.5)}.btn-info{color:#fff;background-color:#0caadc;border-color:#0caadc}.btn-info:hover{color:#fff;background-color:#0a8eb8;border-color:#0985ac}.btn-info.focus,.btn-info:focus{color:#fff;background-color:#0a8eb8;border-color:#0985ac;-webkit-box-shadow:0 0 0 .15rem rgba(48,183,225,.5);box-shadow:0 0 0 .15rem rgba(48,183,225,.5)}.btn-info.disabled,.btn-info:disabled{color:#fff;background-color:#0caadc;border-color:#0caadc}.btn-info:not(:disabled):not(.disabled).active,.btn-info:not(:disabled):not(.disabled):active,.show>.btn-info.dropdown-toggle{color:#fff;background-color:#0985ac;border-color:#097ba0}.btn-info:not(:disabled):not(.disabled).active:focus,.btn-info:not(:disabled):not(.disabled):active:focus,.show>.btn-info.dropdown-toggle:focus{-webkit-box-shadow:0 0 0 .15rem rgba(48,183,225,.5);box-shadow:0 0 0 .15rem rgba(48,183,225,.5)}.btn-warning{color:#f8f9fa;background-color:#eeb902;border-color:#eeb902}.btn-warning:hover{color:#f8f9fa;background-color:#c89c02;border-color:#bb9202}.btn-warning.focus,.btn-warning:focus{color:#f8f9fa;background-color:#c89c02;border-color:#bb9202;-webkit-box-shadow:0 0 0 .15rem rgba(240,195,39,.5);box-shadow:0 0 0 .15rem rgba(240,195,39,.5)}.btn-warning.disabled,.btn-warning:disabled{color:#f8f9fa;background-color:#eeb902;border-color:#eeb902}.btn-warning:not(:disabled):not(.disabled).active,.btn-warning:not(:disabled):not(.disabled):active,.show>.btn-warning.dropdown-toggle{color:#fff;background-color:#bb9202;border-color:#af8801}.btn-warning:not(:disabled):not(.disabled).active:focus,.btn-warning:not(:disabled):not(.disabled):active:focus,.show>.btn-warning.dropdown-toggle:focus{-webkit-box-shadow:0 0 0 .15rem rgba(240,195,39,.5);box-shadow:0 0 0 .15rem rgba(240,195,39,.5)}.btn-danger{color:#f8f9fa;background-color:#ff715b;border-color:#ff715b}.btn-danger:hover{color:#fff;background-color:#ff5035;border-color:#ff4528}.btn-danger.focus,.btn-danger:focus{color:#fff;background-color:#ff5035;border-color:#ff4528;-webkit-box-shadow:0 0 0 .15rem rgba(254,133,115,.5);box-shadow:0 0 0 .15rem rgba(254,133,115,.5)}.btn-danger.disabled,.btn-danger:disabled{color:#f8f9fa;background-color:#ff715b;border-color:#ff715b}.btn-danger:not(:disabled):not(.disabled).active,.btn-danger:not(:disabled):not(.disabled):active,.show>.btn-danger.dropdown-toggle{color:#fff;background-color:#ff4528;border-color:#ff3a1b}.btn-danger:not(:disabled):not(.disabled).active:focus,.btn-danger:not(:disabled):not(.disabled):active:focus,.show>.btn-danger.dropdown-toggle:focus{-webkit-box-shadow:0 0 0 .15rem rgba(254,133,115,.5);box-shadow:0 0 0 .15rem rgba(254,133,115,.5)}.btn-light{color:#fff;background-color:#364458;border-color:#364458}.btn-light:hover{color:#fff;background-color:#273240;border-color:#232c38}.btn-light.focus,.btn-light:focus{color:#fff;background-color:#273240;border-color:#232c38;-webkit-box-shadow:0 0 0 .15rem rgba(84,96,113,.5);box-shadow:0 0 0 .15rem rgba(84,96,113,.5)}.btn-light.disabled,.btn-light:disabled{color:#fff;background-color:#364458;border-color:#364458}.btn-light:not(:disabled):not(.disabled).active,.btn-light:not(:disabled):not(.disabled):active,.show>.btn-light.dropdown-toggle{color:#fff;background-color:#232c38;border-color:#1e2530}.btn-light:not(:disabled):not(.disabled).active:focus,.btn-light:not(:disabled):not(.disabled):active:focus,.show>.btn-light.dropdown-toggle:focus{-webkit-box-shadow:0 0 0 .15rem rgba(84,96,113,.5);box-shadow:0 0 0 .15rem rgba(84,96,113,.5)}.btn-dark{color:#f8f9fa;background-color:#eff2f7;border-color:#eff2f7}.btn-dark:hover{color:#f8f9fa;background-color:#d6ddea;border-color:#cdd6e6}.btn-dark.focus,.btn-dark:focus{color:#f8f9fa;background-color:#d6ddea;border-color:#cdd6e6;-webkit-box-shadow:0 0 0 .15rem rgba(240,243,247,.5);box-shadow:0 0 0 .15rem rgba(240,243,247,.5)}.btn-dark.disabled,.btn-dark:disabled{color:#f8f9fa;background-color:#eff2f7;border-color:#eff2f7}.btn-dark:not(:disabled):not(.disabled).active,.btn-dark:not(:disabled):not(.disabled):active,.show>.btn-dark.dropdown-toggle{color:#f8f9fa;background-color:#cdd6e6;border-color:#c5cfe2}.btn-dark:not(:disabled):not(.disabled).active:focus,.btn-dark:not(:disabled):not(.disabled):active:focus,.show>.btn-dark.dropdown-toggle:focus{-webkit-box-shadow:0 0 0 .15rem rgba(240,243,247,.5);box-shadow:0 0 0 .15rem rgba(240,243,247,.5)}.btn-pink{color:#fff;background-color:#e83e8c;border-color:#e83e8c}.btn-pink:hover{color:#fff;background-color:#e41c78;border-color:#d91a72}.btn-pink.focus,.btn-pink:focus{color:#fff;background-color:#e41c78;border-color:#d91a72;-webkit-box-shadow:0 0 0 .15rem rgba(235,91,157,.5);box-shadow:0 0 0 .15rem rgba(235,91,157,.5)}.btn-pink.disabled,.btn-pink:disabled{color:#fff;background-color:#e83e8c;border-color:#e83e8c}.btn-pink:not(:disabled):not(.disabled).active,.btn-pink:not(:disabled):not(.disabled):active,.show>.btn-pink.dropdown-toggle{color:#fff;background-color:#d91a72;border-color:#ce196c}.btn-pink:not(:disabled):not(.disabled).active:focus,.btn-pink:not(:disabled):not(.disabled):active:focus,.show>.btn-pink.dropdown-toggle:focus{-webkit-box-shadow:0 0 0 .15rem rgba(235,91,157,.5);box-shadow:0 0 0 .15rem rgba(235,91,157,.5)}.btn-outline-primary{color:#3b5de7;border-color:#3b5de7}.btn-outline-primary:hover{color:#fff;background-color:#3b5de7;border-color:#3b5de7}.btn-outline-primary.focus,.btn-outline-primary:focus{-webkit-box-shadow:0 0 0 .15rem rgba(59,93,231,.5);box-shadow:0 0 0 .15rem rgba(59,93,231,.5)}.btn-outline-primary.disabled,.btn-outline-primary:disabled{color:#3b5de7;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:#3b5de7;border-color:#3b5de7}.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{-webkit-box-shadow:0 0 0 .15rem rgba(59,93,231,.5);box-shadow:0 0 0 .15rem rgba(59,93,231,.5)}.btn-outline-secondary{color:#969aa5;border-color:#969aa5}.btn-outline-secondary:hover{color:#f8f9fa;background-color:#969aa5;border-color:#969aa5}.btn-outline-secondary.focus,.btn-outline-secondary:focus{-webkit-box-shadow:0 0 0 .15rem rgba(150,154,165,.5);box-shadow:0 0 0 .15rem rgba(150,154,165,.5)}.btn-outline-secondary.disabled,.btn-outline-secondary:disabled{color:#969aa5;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:#f8f9fa;background-color:#969aa5;border-color:#969aa5}.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{-webkit-box-shadow:0 0 0 .15rem rgba(150,154,165,.5);box-shadow:0 0 0 .15rem rgba(150,154,165,.5)}.btn-outline-success{color:#45cb85;border-color:#45cb85}.btn-outline-success:hover{color:#f8f9fa;background-color:#45cb85;border-color:#45cb85}.btn-outline-success.focus,.btn-outline-success:focus{-webkit-box-shadow:0 0 0 .15rem rgba(69,203,133,.5);box-shadow:0 0 0 .15rem rgba(69,203,133,.5)}.btn-outline-success.disabled,.btn-outline-success:disabled{color:#45cb85;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:#f8f9fa;background-color:#45cb85;border-color:#45cb85}.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{-webkit-box-shadow:0 0 0 .15rem rgba(69,203,133,.5);box-shadow:0 0 0 .15rem rgba(69,203,133,.5)}.btn-outline-info{color:#0caadc;border-color:#0caadc}.btn-outline-info:hover{color:#fff;background-color:#0caadc;border-color:#0caadc}.btn-outline-info.focus,.btn-outline-info:focus{-webkit-box-shadow:0 0 0 .15rem rgba(12,170,220,.5);box-shadow:0 0 0 .15rem rgba(12,170,220,.5)}.btn-outline-info.disabled,.btn-outline-info:disabled{color:#0caadc;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:#0caadc;border-color:#0caadc}.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{-webkit-box-shadow:0 0 0 .15rem rgba(12,170,220,.5);box-shadow:0 0 0 .15rem rgba(12,170,220,.5)}.btn-outline-warning{color:#eeb902;border-color:#eeb902}.btn-outline-warning:hover{color:#f8f9fa;background-color:#eeb902;border-color:#eeb902}.btn-outline-warning.focus,.btn-outline-warning:focus{-webkit-box-shadow:0 0 0 .15rem rgba(238,185,2,.5);box-shadow:0 0 0 .15rem rgba(238,185,2,.5)}.btn-outline-warning.disabled,.btn-outline-warning:disabled{color:#eeb902;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:#f8f9fa;background-color:#eeb902;border-color:#eeb902}.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{-webkit-box-shadow:0 0 0 .15rem rgba(238,185,2,.5);box-shadow:0 0 0 .15rem rgba(238,185,2,.5)}.btn-outline-danger{color:#ff715b;border-color:#ff715b}.btn-outline-danger:hover{color:#f8f9fa;background-color:#ff715b;border-color:#ff715b}.btn-outline-danger.focus,.btn-outline-danger:focus{-webkit-box-shadow:0 0 0 .15rem rgba(255,113,91,.5);box-shadow:0 0 0 .15rem rgba(255,113,91,.5)}.btn-outline-danger.disabled,.btn-outline-danger:disabled{color:#ff715b;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:#f8f9fa;background-color:#ff715b;border-color:#ff715b}.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{-webkit-box-shadow:0 0 0 .15rem rgba(255,113,91,.5);box-shadow:0 0 0 .15rem rgba(255,113,91,.5)}.btn-outline-light{color:#364458;border-color:#364458}.btn-outline-light:hover{color:#fff;background-color:#364458;border-color:#364458}.btn-outline-light.focus,.btn-outline-light:focus{-webkit-box-shadow:0 0 0 .15rem rgba(54,68,88,.5);box-shadow:0 0 0 .15rem rgba(54,68,88,.5)}.btn-outline-light.disabled,.btn-outline-light:disabled{color:#364458;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:#fff;background-color:#364458;border-color:#364458}.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{-webkit-box-shadow:0 0 0 .15rem rgba(54,68,88,.5);box-shadow:0 0 0 .15rem rgba(54,68,88,.5)}.btn-outline-dark{color:#eff2f7;border-color:#eff2f7}.btn-outline-dark:hover{color:#f8f9fa;background-color:#eff2f7;border-color:#eff2f7}.btn-outline-dark.focus,.btn-outline-dark:focus{-webkit-box-shadow:0 0 0 .15rem rgba(239,242,247,.5);box-shadow:0 0 0 .15rem rgba(239,242,247,.5)}.btn-outline-dark.disabled,.btn-outline-dark:disabled{color:#eff2f7;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:#f8f9fa;background-color:#eff2f7;border-color:#eff2f7}.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{-webkit-box-shadow:0 0 0 .15rem rgba(239,242,247,.5);box-shadow:0 0 0 .15rem rgba(239,242,247,.5)}.btn-outline-pink{color:#e83e8c;border-color:#e83e8c}.btn-outline-pink:hover{color:#fff;background-color:#e83e8c;border-color:#e83e8c}.btn-outline-pink.focus,.btn-outline-pink:focus{-webkit-box-shadow:0 0 0 .15rem rgba(232,62,140,.5);box-shadow:0 0 0 .15rem rgba(232,62,140,.5)}.btn-outline-pink.disabled,.btn-outline-pink:disabled{color:#e83e8c;background-color:transparent}.btn-outline-pink:not(:disabled):not(.disabled).active,.btn-outline-pink:not(:disabled):not(.disabled):active,.show>.btn-outline-pink.dropdown-toggle{color:#fff;background-color:#e83e8c;border-color:#e83e8c}.btn-outline-pink:not(:disabled):not(.disabled).active:focus,.btn-outline-pink:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-pink.dropdown-toggle:focus{-webkit-box-shadow:0 0 0 .15rem rgba(232,62,140,.5);box-shadow:0 0 0 .15rem rgba(232,62,140,.5)}.btn-link{font-weight:400;color:#3b5de7;text-decoration:none}.btn-link:hover{color:#1738be;text-decoration:underline}.btn-link.focus,.btn-link:focus{text-decoration:underline;-webkit-box-shadow:none;box-shadow:none}.btn-link.disabled,.btn-link:disabled{color:#969aa5;pointer-events:none}.btn-group-lg>.btn,.btn-lg{padding:.5rem 1rem;font-size:1.09375rem;line-height:1.5;border-radius:.4rem}.btn-group-sm>.btn,.btn-sm{padding:.25rem .5rem;font-size:.76563rem;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{-webkit-transition:opacity .15s linear;transition:opacity .15s linear}@media (prefers-reduced-motion:reduce){.fade{-webkit-transition:none;transition:none}}.fade:not(.show){opacity:0}.collapse:not(.show){display:none}.collapsing{position:relative;height:0;overflow:hidden;-webkit-transition:height .35s ease;transition:height .35s ease}@media (prefers-reduced-motion:reduce){.collapsing{-webkit-transition:none;transition:none}}.dropdown,.dropleft,.dropright,.dropup{position:relative}.dropdown-toggle{white-space:nowrap}.dropdown-menu{position:absolute;top:100%;right:0;z-index:1000;display:none;float:right;min-width:10rem;padding:.5rem 0;margin:.125rem 0 0;font-size:.875rem;color:#7f879c;text-align:right;list-style:none;background-color:#273344;background-clip:padding-box;border:0 solid #2e3d51;border-radius:.25rem}.dropdown-menu-left{left:auto;right:0}.dropdown-menu-right{left:0;right:auto}@media (min-width:576px){.dropdown-menu-sm-left{left:auto;right:0}.dropdown-menu-sm-right{left:0;right:auto}}@media (min-width:768px){.dropdown-menu-md-left{left:auto;right:0}.dropdown-menu-md-right{left:0;right:auto}}@media (min-width:992px){.dropdown-menu-lg-left{left:auto;right:0}.dropdown-menu-lg-right{left:0;right:auto}}@media (min-width:1200px){.dropdown-menu-xl-left{left:auto;right:0}.dropdown-menu-xl-right{left:0;right:auto}}.dropup .dropdown-menu{top:auto;bottom:100%;margin-top:0;margin-bottom:.125rem}.dropright .dropdown-menu{top:0;left:auto;right:100%;margin-top:0;margin-right:.125rem}.dropright .dropdown-toggle::after{vertical-align:0}.dropleft .dropdown-menu{top:0;left:100%;right:auto;margin-top:0;margin-left:.125rem}.dropleft .dropdown-toggle::before{vertical-align:0}.dropdown-menu[x-placement^=bottom],.dropdown-menu[x-placement^=left],.dropdown-menu[x-placement^=right],.dropdown-menu[x-placement^=top]{left:auto;bottom:auto}.dropdown-divider{height:0;margin:.5rem 0;overflow:hidden;border-top:1px solid #273344}.dropdown-item{display:block;width:100%;padding:.35rem 1.5rem;clear:both;font-weight:400;color:#7e8396;text-align:inherit;white-space:nowrap;background-color:transparent;border:0}.dropdown-item:focus,.dropdown-item:hover{color:#e9ecef;text-decoration:none;background-color:#364458}.dropdown-item.active,.dropdown-item:active{color:#e9ecef;text-decoration:none;background-color:#364458}.dropdown-item.disabled,.dropdown-item:disabled{color:#969aa5;pointer-events:none;background-color:transparent}.dropdown-menu.show{display:block}.dropdown-header{display:block;padding:.5rem 1.5rem;margin-bottom:0;font-size:.76563rem;color:#969aa5;white-space:nowrap}.dropdown-item-text{display:block;padding:.35rem 1.5rem;color:#7e8396}.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:1;-ms-flex:1 1 auto;flex:1 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-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-group:not(:first-child),.btn-group>.btn:not(:first-child){margin-right:-1px}.btn-group>.btn-group:not(:last-child)>.btn,.btn-group>.btn:not(:last-child):not(.dropdown-toggle){border-top-left-radius:0;border-bottom-left-radius:0}.btn-group>.btn-group:not(:first-child)>.btn,.btn-group>.btn:not(:first-child){border-top-right-radius:0;border-bottom-right-radius:0}.dropdown-toggle-split{padding-left:.5625rem;padding-right:.5625rem}.dropdown-toggle-split::after,.dropright .dropdown-toggle-split::after,.dropup .dropdown-toggle-split::after{margin-right:0}.dropleft .dropdown-toggle-split::before{margin-left:0}.btn-group-sm>.btn+.dropdown-toggle-split,.btn-sm+.dropdown-toggle-split{padding-left:.375rem;padding-right:.375rem}.btn-group-lg>.btn+.dropdown-toggle-split,.btn-lg+.dropdown-toggle-split{padding-left:.75rem;padding-right:.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-group:not(:first-child),.btn-group-vertical>.btn:not(:first-child){margin-top:-1px}.btn-group-vertical>.btn-group:not(:last-child)>.btn,.btn-group-vertical>.btn:not(:last-child):not(.dropdown-toggle){border-bottom-left-radius:0;border-bottom-right-radius:0}.btn-group-vertical>.btn-group:not(:first-child)>.btn,.btn-group-vertical>.btn:not(:first-child){border-top-right-radius:0;border-top-left-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,.input-group>.form-control-plaintext{position:relative;-webkit-box-flex:1;-ms-flex:1 1 0%;flex:1 1 0%;min-width:0;margin-bottom:0}.input-group>.custom-file+.custom-file,.input-group>.custom-file+.custom-select,.input-group>.custom-file+.form-control,.input-group>.custom-select+.custom-file,.input-group>.custom-select+.custom-select,.input-group>.custom-select+.form-control,.input-group>.form-control+.custom-file,.input-group>.form-control+.custom-select,.input-group>.form-control+.form-control,.input-group>.form-control-plaintext+.custom-file,.input-group>.form-control-plaintext+.custom-select,.input-group>.form-control-plaintext+.form-control{margin-right:-1px}.input-group>.custom-file .custom-file-input:focus~.custom-file-label,.input-group>.custom-select:focus,.input-group>.form-control:focus{z-index:3}.input-group>.custom-file .custom-file-input:focus{z-index:4}.input-group>.custom-select:not(:last-child),.input-group>.form-control:not(:last-child){border-top-left-radius:0;border-bottom-left-radius:0}.input-group>.custom-select:not(:first-child),.input-group>.form-control:not(:first-child){border-top-right-radius:0;border-bottom-right-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::after{border-top-left-radius:0;border-bottom-left-radius:0}.input-group>.custom-file:not(:first-child) .custom-file-label{border-top-right-radius:0;border-bottom-right-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:focus,.input-group-prepend .btn:focus{z-index:3}.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-right:-1px}.input-group-prepend{margin-left:-1px}.input-group-append{margin-right:-1px}.input-group-text{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;padding:.47rem .75rem;margin-bottom:0;font-size:.875rem;font-weight:400;line-height:1.5;color:#7e8396;text-align:center;white-space:nowrap;background-color:#364458;border:1px solid #364458;border-radius:.25rem}.input-group-text input[type=checkbox],.input-group-text input[type=radio]{margin-top:0}.input-group-lg>.custom-select,.input-group-lg>.form-control:not(textarea){height:calc(1.5em + 1rem + 2px)}.input-group-lg>.custom-select,.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.09375rem;line-height:1.5;border-radius:.4rem}.input-group-sm>.custom-select,.input-group-sm>.form-control:not(textarea){height:calc(1.5em + .5rem + 2px)}.input-group-sm>.custom-select,.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:.76563rem;line-height:1.5;border-radius:.2rem}.input-group-lg>.custom-select,.input-group-sm>.custom-select{padding-left:1.75rem}.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-left-radius:0;border-bottom-left-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-right-radius:0;border-bottom-right-radius:0}.custom-control{position:relative;display:block;min-height:1.3125rem;padding-right:1.5rem}.custom-control-inline{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;margin-left:1rem}.custom-control-input{position:absolute;right:0;z-index:-1;width:1rem;height:1.15625rem;opacity:0}.custom-control-input:checked~.custom-control-label::before{color:#fff;border-color:#3b5de7;background-color:#3b5de7}.custom-control-input:focus~.custom-control-label::before{-webkit-box-shadow:none;box-shadow:none}.custom-control-input:focus:not(:checked)~.custom-control-label::before{border-color:#3a495e}.custom-control-input:not(:disabled):active~.custom-control-label::before{color:#fff;background-color:rgba(59,93,231,.2);border-color:rgba(59,93,231,.2)}.custom-control-input:disabled~.custom-control-label,.custom-control-input[disabled]~.custom-control-label{color:#969aa5}.custom-control-input:disabled~.custom-control-label::before,.custom-control-input[disabled]~.custom-control-label::before{background-color:#293547}.custom-control-label{position:relative;margin-bottom:0;vertical-align:top}.custom-control-label::before{position:absolute;top:.15625rem;right:-1.5rem;display:block;width:1rem;height:1rem;pointer-events:none;content:"";background-color:#2b384a;border:#364458 solid 1px}.custom-control-label::after{position:absolute;top:.15625rem;right:-1.5rem;display:block;width:1rem;height:1rem;content:"";background:no-repeat 50%/50% 50%}.custom-checkbox .custom-control-label::before{border-radius:.25rem}.custom-checkbox .custom-control-input:checked~.custom-control-label::after{background-image:url("data:image/svg+xml,%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{border-color:#3b5de7;background-color:#3b5de7}.custom-checkbox .custom-control-input:indeterminate~.custom-control-label::after{background-image:url("data:image/svg+xml,%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(59,93,231,.5)}.custom-checkbox .custom-control-input:disabled:indeterminate~.custom-control-label::before{background-color:rgba(59,93,231,.5)}.custom-radio .custom-control-label::before{border-radius:50%}.custom-radio .custom-control-input:checked~.custom-control-label::after{background-image:url("data:image/svg+xml,%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(59,93,231,.5)}.custom-switch{padding-right:2.25rem}.custom-switch .custom-control-label::before{right:-2.25rem;width:1.75rem;pointer-events:all;border-radius:.5rem}.custom-switch .custom-control-label::after{top:calc(.15625rem + 2px);right:calc(-2.25rem + 2px);width:calc(1rem - 4px);height:calc(1rem - 4px);background-color:#364458;border-radius:.5rem;-webkit-transition:background-color .15s ease-in-out,border-color .15s ease-in-out,-webkit-transform .15s ease-in-out,-webkit-box-shadow .15s ease-in-out;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,-webkit-transform .15s ease-in-out,-webkit-box-shadow .15s ease-in-out;transition:transform .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;transition:transform .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out,-webkit-transform .15s ease-in-out,-webkit-box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.custom-switch .custom-control-label::after{-webkit-transition:none;transition:none}}.custom-switch .custom-control-input:checked~.custom-control-label::after{background-color:#2b384a;-webkit-transform:translateX(-0.75rem);transform:translateX(-0.75rem)}.custom-switch .custom-control-input:disabled:checked~.custom-control-label::before{background-color:rgba(59,93,231,.5)}.custom-select{display:inline-block;width:100%;height:calc(1.5em + .94rem + 2px);padding:.47rem .75rem .47rem 1.75rem;font-size:.875rem;font-weight:400;line-height:1.5;color:#7e8396;vertical-align:middle;background:#2b384a url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 5'%3e%3cpath fill='%23eff2f7' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e") no-repeat left .75rem center/8px 10px;border:1px solid #364458;border-radius:.25rem;-webkit-appearance:none;-moz-appearance:none;appearance:none}.custom-select:focus{border-color:#3a495e;outline:0;-webkit-box-shadow:0 0 0 .15rem rgba(59,93,231,.25);box-shadow:0 0 0 .15rem rgba(59,93,231,.25)}.custom-select:focus::-ms-value{color:#7e8396;background-color:#2b384a}.custom-select[multiple],.custom-select[size]:not([size="1"]){height:auto;padding-left:.75rem;background-image:none}.custom-select:disabled{color:#969aa5;background-color:#273344}.custom-select::-ms-expand{display:none}.custom-select:-moz-focusring{color:transparent;text-shadow:0 0 0 #7e8396}.custom-select-sm{height:calc(1.5em + .5rem + 2px);padding-top:.25rem;padding-bottom:.25rem;padding-right:.5rem;font-size:.76563rem}.custom-select-lg{height:calc(1.5em + 1rem + 2px);padding-top:.5rem;padding-bottom:.5rem;padding-right:1rem;font-size:1.09375rem}.custom-file{position:relative;display:inline-block;width:100%;height:calc(1.5em + .94rem + 2px);margin-bottom:0}.custom-file-input{position:relative;z-index:2;width:100%;height:calc(1.5em + .94rem + 2px);margin:0;opacity:0}.custom-file-input:focus~.custom-file-label{border-color:#3a495e;-webkit-box-shadow:none;box-shadow:none}.custom-file-input:disabled~.custom-file-label,.custom-file-input[disabled]~.custom-file-label{background-color:#293547}.custom-file-input:lang(en)~.custom-file-label::after{content:"Browse"}.custom-file-input~.custom-file-label[data-browse]::after{content:attr(data-browse)}.custom-file-label{position:absolute;top:0;left:0;right:0;z-index:1;height:calc(1.5em + .94rem + 2px);padding:.47rem .75rem;font-weight:400;line-height:1.5;color:#7e8396;background-color:#2b384a;border:1px solid #364458;border-radius:.25rem}.custom-file-label::after{position:absolute;top:0;left:0;bottom:0;z-index:3;display:block;height:calc(1.5em + .94rem);padding:.47rem .75rem;line-height:1.5;color:#7e8396;content:"Browse";background-color:#364458;border-right:inherit;border-radius:.25rem 0 0 .25rem}.custom-range{width:100%;height:1.3rem;padding:0;background-color:transparent;-webkit-appearance:none;-moz-appearance:none;appearance:none}.custom-range:focus{outline:0}.custom-range:focus::-webkit-slider-thumb{-webkit-box-shadow:0 0 0 1px #17212f,none;box-shadow:0 0 0 1px #17212f,none}.custom-range:focus::-moz-range-thumb{box-shadow:0 0 0 1px #17212f,none}.custom-range:focus::-ms-thumb{box-shadow:0 0 0 1px #17212f,none}.custom-range::-moz-focus-outer{border:0}.custom-range::-webkit-slider-thumb{width:1rem;height:1rem;margin-top:-.25rem;background-color:#3b5de7;border:0;border-radius:1rem;-webkit-transition:background-color .15s ease-in-out,border-color .15s ease-in-out,-webkit-box-shadow .15s ease-in-out;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,-webkit-box-shadow .15s ease-in-out;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out,-webkit-box-shadow .15s ease-in-out;-webkit-appearance:none;appearance:none}@media (prefers-reduced-motion:reduce){.custom-range::-webkit-slider-thumb{-webkit-transition:none;transition:none}}.custom-range::-webkit-slider-thumb:active{background-color:#dae0fa}.custom-range::-webkit-slider-runnable-track{width:100%;height:.5rem;color:transparent;cursor:pointer;background-color:#364458;border-color:transparent;border-radius:1rem}.custom-range::-moz-range-thumb{width:1rem;height:1rem;background-color:#3b5de7;border:0;border-radius:1rem;-moz-transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;-moz-appearance:none;appearance:none}@media (prefers-reduced-motion:reduce){.custom-range::-moz-range-thumb{-moz-transition:none;transition:none}}.custom-range::-moz-range-thumb:active{background-color:#dae0fa}.custom-range::-moz-range-track{width:100%;height:.5rem;color:transparent;cursor:pointer;background-color:#364458;border-color:transparent;border-radius:1rem}.custom-range::-ms-thumb{width:1rem;height:1rem;margin-top:0;margin-left:.15rem;margin-right:.15rem;background-color:#3b5de7;border:0;border-radius:1rem;-ms-transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;appearance:none}@media (prefers-reduced-motion:reduce){.custom-range::-ms-thumb{-ms-transition:none;transition:none}}.custom-range::-ms-thumb:active{background-color:#dae0fa}.custom-range::-ms-track{width:100%;height:.5rem;color:transparent;cursor:pointer;background-color:transparent;border-color:transparent;border-width:.5rem}.custom-range::-ms-fill-lower{background-color:#364458;border-radius:1rem}.custom-range::-ms-fill-upper{margin-left:15px;background-color:#364458;border-radius:1rem}.custom-range:disabled::-webkit-slider-thumb{background-color:#7e8396}.custom-range:disabled::-webkit-slider-runnable-track{cursor:default}.custom-range:disabled::-moz-range-thumb{background-color:#7e8396}.custom-range:disabled::-moz-range-track{cursor:default}.custom-range:disabled::-ms-thumb{background-color:#7e8396}.custom-control-label::before,.custom-file-label,.custom-select{-webkit-transition:background-color .15s ease-in-out,border-color .15s ease-in-out,-webkit-box-shadow .15s ease-in-out;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,-webkit-box-shadow .15s ease-in-out;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out,-webkit-box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.custom-control-label::before,.custom-file-label,.custom-select{-webkit-transition:none;transition:none}}.nav{display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;padding-right: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:#969aa5;pointer-events:none;cursor:default}.nav-tabs{border-bottom:1px solid #364458}.nav-tabs .nav-item{margin-bottom:-1px}.nav-tabs .nav-link{border:1px solid transparent;border-top-right-radius:.25rem;border-top-left-radius:.25rem}.nav-tabs .nav-link:focus,.nav-tabs .nav-link:hover{border-color:#364458 #364458 #364458}.nav-tabs .nav-link.disabled{color:#969aa5;background-color:transparent;border-color:transparent}.nav-tabs .nav-item.show .nav-link,.nav-tabs .nav-link.active{color:#e0e0e0;background-color:#273344;border-color:#364458 #364458 #273344}.nav-tabs .dropdown-menu{margin-top:-1px;border-top-right-radius:0;border-top-left-radius:0}.nav-pills .nav-link{border-radius:.25rem}.nav-pills .nav-link.active,.nav-pills .show>.nav-link{color:#fff;background-color:#3b5de7}.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,.navbar .container-lg,.navbar .container-md,.navbar .container-sm,.navbar .container-xl{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:.33594rem;padding-bottom:.33594rem;margin-left:1rem;font-size:1.09375rem;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-right:0;margin-bottom:0;list-style:none}.navbar-nav .nav-link{padding-left:0;padding-right: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.09375rem;line-height:1;background-color:transparent;border:1px solid transparent;border-radius:.25rem}.navbar-toggler:focus,.navbar-toggler:hover{text-decoration:none}.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,.navbar-expand-sm>.container-lg,.navbar-expand-sm>.container-md,.navbar-expand-sm>.container-sm,.navbar-expand-sm>.container-xl{padding-left:0;padding-right: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 .nav-link{padding-left:.5rem;padding-right:.5rem}.navbar-expand-sm>.container,.navbar-expand-sm>.container-fluid,.navbar-expand-sm>.container-lg,.navbar-expand-sm>.container-md,.navbar-expand-sm>.container-sm,.navbar-expand-sm>.container-xl{-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}}@media (max-width:767.98px){.navbar-expand-md>.container,.navbar-expand-md>.container-fluid,.navbar-expand-md>.container-lg,.navbar-expand-md>.container-md,.navbar-expand-md>.container-sm,.navbar-expand-md>.container-xl{padding-left:0;padding-right: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 .nav-link{padding-left:.5rem;padding-right:.5rem}.navbar-expand-md>.container,.navbar-expand-md>.container-fluid,.navbar-expand-md>.container-lg,.navbar-expand-md>.container-md,.navbar-expand-md>.container-sm,.navbar-expand-md>.container-xl{-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}}@media (max-width:991.98px){.navbar-expand-lg>.container,.navbar-expand-lg>.container-fluid,.navbar-expand-lg>.container-lg,.navbar-expand-lg>.container-md,.navbar-expand-lg>.container-sm,.navbar-expand-lg>.container-xl{padding-left:0;padding-right: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 .nav-link{padding-left:.5rem;padding-right:.5rem}.navbar-expand-lg>.container,.navbar-expand-lg>.container-fluid,.navbar-expand-lg>.container-lg,.navbar-expand-lg>.container-md,.navbar-expand-lg>.container-sm,.navbar-expand-lg>.container-xl{-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}}@media (max-width:1199.98px){.navbar-expand-xl>.container,.navbar-expand-xl>.container-fluid,.navbar-expand-xl>.container-lg,.navbar-expand-xl>.container-md,.navbar-expand-xl>.container-sm,.navbar-expand-xl>.container-xl{padding-left:0;padding-right: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 .nav-link{padding-left:.5rem;padding-right:.5rem}.navbar-expand-xl>.container,.navbar-expand-xl>.container-fluid,.navbar-expand-xl>.container-lg,.navbar-expand-xl>.container-md,.navbar-expand-xl>.container-sm,.navbar-expand-xl>.container-xl{-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{-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,.navbar-expand>.container-lg,.navbar-expand>.container-md,.navbar-expand>.container-sm,.navbar-expand>.container-xl{padding-left:0;padding-right: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 .nav-link{padding-left:.5rem;padding-right:.5rem}.navbar-expand>.container,.navbar-expand>.container-fluid,.navbar-expand>.container-lg,.navbar-expand>.container-md,.navbar-expand>.container-sm,.navbar-expand>.container-xl{-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-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,%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,%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:#1e2938;background-clip:border-box;border:0 solid #364458;border-radius:.25rem}.card>hr{margin-left:0;margin-right:0}.card>.list-group:first-child .list-group-item:first-child{border-top-right-radius:.25rem;border-top-left-radius:.25rem}.card>.list-group:last-child .list-group-item:last-child{border-bottom-left-radius:.25rem;border-bottom-right-radius:.25rem}.card-body{-webkit-box-flex:1;-ms-flex:1 1 auto;flex:1 1 auto;min-height:1px;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-right:1.25rem}.card-header{padding:.75rem 1.25rem;margin-bottom:0;background-color:#364458;border-bottom:0 solid #364458}.card-header:first-child{border-radius:calc(.25rem - 0) calc(.25rem - 0) 0 0}.card-header+.list-group .list-group-item:first-child{border-top:0}.card-footer{padding:.75rem 1.25rem;background-color:#364458;border-top:0 solid #364458}.card-footer:last-child{border-radius:0 0 calc(.25rem - 0) calc(.25rem - 0)}.card-header-tabs{margin-left:-.625rem;margin-bottom:-.75rem;margin-right:-.625rem;border-bottom:0}.card-header-pills{margin-left:-.625rem;margin-right:-.625rem}.card-img-overlay{position:absolute;top:0;left:0;bottom:0;right:0;padding:1.25rem}.card-img,.card-img-bottom,.card-img-top{-ms-flex-negative:0;flex-shrink:0;width:100%}.card-img,.card-img-top{border-top-right-radius:calc(.25rem - 0);border-top-left-radius:calc(.25rem - 0)}.card-img,.card-img-bottom{border-bottom-left-radius:calc(.25rem - 0);border-bottom-right-radius:calc(.25rem - 0)}.card-deck .card{margin-bottom:12px}@media (min-width:576px){.card-deck{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;margin-left:-12px;margin-right:-12px}.card-deck .card{-webkit-box-flex:1;-ms-flex:1 0 0%;flex:1 0 0%;margin-left:12px;margin-bottom:0;margin-right:12px}}.card-group>.card{margin-bottom:12px}@media (min-width:576px){.card-group{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}.card-group>.card{-webkit-box-flex:1;-ms-flex:1 0 0%;flex:1 0 0%;margin-bottom:0}.card-group>.card+.card{margin-right:0;border-right:0}.card-group>.card:not(:last-child){border-top-left-radius:0;border-bottom-left-radius:0}.card-group>.card:not(:last-child) .card-header,.card-group>.card:not(:last-child) .card-img-top{border-top-left-radius:0}.card-group>.card:not(:last-child) .card-footer,.card-group>.card:not(:last-child) .card-img-bottom{border-bottom-left-radius:0}.card-group>.card:not(:first-child){border-top-right-radius:0;border-bottom-right-radius:0}.card-group>.card:not(:first-child) .card-header,.card-group>.card:not(:first-child) .card-img-top{border-top-right-radius:0}.card-group>.card:not(:first-child) .card-footer,.card-group>.card:not(:first-child) .card-img-bottom{border-bottom-right-radius:0}}.card-columns .card{margin-bottom:24px}@media (min-width:576px){.card-columns{-webkit-column-count:3;-moz-column-count:3;column-count:3;-webkit-column-gap:1.25rem;-moz-column-gap:1.25rem;column-gap:1.25rem;orphans:1;widows:1}.card-columns .card{display:inline-block;width:100%}}.accordion>.card{overflow:hidden}.accordion>.card:not(:last-of-type){border-bottom:0;border-bottom-left-radius:0;border-bottom-right-radius:0}.accordion>.card:not(:first-of-type){border-top-right-radius:0;border-top-left-radius:0}.accordion>.card>.card-header{border-radius:0;margin-bottom:0}.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:#273344;border-radius:.25rem}.breadcrumb-item+.breadcrumb-item{padding-right:.5rem}.breadcrumb-item+.breadcrumb-item::before{display:inline-block;padding-left:.5rem;color:#7f879c;content:"/"}.breadcrumb-item+.breadcrumb-item:hover::before{text-decoration:underline}.breadcrumb-item+.breadcrumb-item:hover::before{text-decoration:none}.breadcrumb-item.active{color:#7f879c}.pagination{display:-webkit-box;display:-ms-flexbox;display:flex;padding-right:0;list-style:none;border-radius:.25rem}.page-link{position:relative;display:block;padding:.5rem .75rem;margin-right:-1px;line-height:1.25;color:#7e8396;background-color:#273344;border:1px solid #364458}.page-link:hover{z-index:2;color:#1738be;text-decoration:none;background-color:#273344;border-color:#364458}.page-link:focus{z-index:3;outline:0;-webkit-box-shadow:0 0 0 .15rem rgba(59,93,231,.25);box-shadow:0 0 0 .15rem rgba(59,93,231,.25)}.page-item:first-child .page-link{margin-right:0;border-top-right-radius:.25rem;border-bottom-right-radius:.25rem}.page-item:last-child .page-link{border-top-left-radius:.25rem;border-bottom-left-radius:.25rem}.page-item.active .page-link{z-index:3;color:#fff;background-color:#3b5de7;border-color:#3b5de7}.page-item.disabled .page-link{color:#969aa5;pointer-events:none;cursor:auto;background-color:#364458;border-color:#364458}.pagination-lg .page-link{padding:.75rem 1.5rem;font-size:1.09375rem;line-height:1.5}.pagination-lg .page-item:first-child .page-link{border-top-right-radius:.4rem;border-bottom-right-radius:.4rem}.pagination-lg .page-item:last-child .page-link{border-top-left-radius:.4rem;border-bottom-left-radius:.4rem}.pagination-sm .page-link{padding:.25rem .5rem;font-size:.76563rem;line-height:1.5}.pagination-sm .page-item:first-child .page-link{border-top-right-radius:.2rem;border-bottom-right-radius:.2rem}.pagination-sm .page-item:last-child .page-link{border-top-left-radius:.2rem;border-bottom-left-radius:.2rem}.badge{display:inline-block;padding:.25em .4em;font-size:75%;font-weight:500;line-height:1;text-align:center;white-space:nowrap;vertical-align:baseline;border-radius:.25rem;-webkit-transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,-webkit-box-shadow .15s ease-in-out;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,-webkit-box-shadow .15s ease-in-out;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out,-webkit-box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.badge{-webkit-transition:none;transition:none}}a.badge:focus,a.badge:hover{text-decoration:none}.badge:empty{display:none}.btn .badge{position:relative;top:-1px}.badge-pill{padding-left:.6em;padding-right:.6em;border-radius:10rem}.badge-primary{color:#fff;background-color:#3b5de7}a.badge-primary:focus,a.badge-primary:hover{color:#fff;background-color:#1a3fd5}a.badge-primary.focus,a.badge-primary:focus{outline:0;-webkit-box-shadow:0 0 0 .15rem rgba(59,93,231,.5);box-shadow:0 0 0 .15rem rgba(59,93,231,.5)}.badge-secondary{color:#f8f9fa;background-color:#969aa5}a.badge-secondary:focus,a.badge-secondary:hover{color:#f8f9fa;background-color:#7b808d}a.badge-secondary.focus,a.badge-secondary:focus{outline:0;-webkit-box-shadow:0 0 0 .15rem rgba(150,154,165,.5);box-shadow:0 0 0 .15rem rgba(150,154,165,.5)}.badge-success{color:#f8f9fa;background-color:#45cb85}a.badge-success:focus,a.badge-success:hover{color:#f8f9fa;background-color:#30ad6c}a.badge-success.focus,a.badge-success:focus{outline:0;-webkit-box-shadow:0 0 0 .15rem rgba(69,203,133,.5);box-shadow:0 0 0 .15rem rgba(69,203,133,.5)}.badge-info{color:#fff;background-color:#0caadc}a.badge-info:focus,a.badge-info:hover{color:#fff;background-color:#0985ac}a.badge-info.focus,a.badge-info:focus{outline:0;-webkit-box-shadow:0 0 0 .15rem rgba(12,170,220,.5);box-shadow:0 0 0 .15rem rgba(12,170,220,.5)}.badge-warning{color:#f8f9fa;background-color:#eeb902}a.badge-warning:focus,a.badge-warning:hover{color:#f8f9fa;background-color:#bb9202}a.badge-warning.focus,a.badge-warning:focus{outline:0;-webkit-box-shadow:0 0 0 .15rem rgba(238,185,2,.5);box-shadow:0 0 0 .15rem rgba(238,185,2,.5)}.badge-danger{color:#f8f9fa;background-color:#ff715b}a.badge-danger:focus,a.badge-danger:hover{color:#f8f9fa;background-color:#ff4528}a.badge-danger.focus,a.badge-danger:focus{outline:0;-webkit-box-shadow:0 0 0 .15rem rgba(255,113,91,.5);box-shadow:0 0 0 .15rem rgba(255,113,91,.5)}.badge-light{color:#fff;background-color:#364458}a.badge-light:focus,a.badge-light:hover{color:#fff;background-color:#232c38}a.badge-light.focus,a.badge-light:focus{outline:0;-webkit-box-shadow:0 0 0 .15rem rgba(54,68,88,.5);box-shadow:0 0 0 .15rem rgba(54,68,88,.5)}.badge-dark{color:#f8f9fa;background-color:#eff2f7}a.badge-dark:focus,a.badge-dark:hover{color:#f8f9fa;background-color:#cdd6e6}a.badge-dark.focus,a.badge-dark:focus{outline:0;-webkit-box-shadow:0 0 0 .15rem rgba(239,242,247,.5);box-shadow:0 0 0 .15rem rgba(239,242,247,.5)}.badge-pink{color:#fff;background-color:#e83e8c}a.badge-pink:focus,a.badge-pink:hover{color:#fff;background-color:#d91a72}a.badge-pink.focus,a.badge-pink:focus{outline:0;-webkit-box-shadow:0 0 0 .15rem rgba(232,62,140,.5);box-shadow:0 0 0 .15rem rgba(232,62,140,.5)}.jumbotron{padding:2rem 1rem;margin-bottom:2rem;background-color:#273344;border-radius:.4rem}@media (min-width:576px){.jumbotron{padding:4rem 2rem}}.jumbotron-fluid{padding-left:0;padding-right: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:600}.alert-dismissible{padding-left:3.8125rem}.alert-dismissible .close{position:absolute;top:0;left:0;padding:.75rem 1.25rem;color:inherit}.alert-primary{color:#1f3078;background-color:#d8dffa;border-color:#c8d2f8}.alert-primary hr{border-top-color:#b1bff5}.alert-primary .alert-link{color:#15204f}.alert-secondary{color:#4e5056;background-color:#eaebed;border-color:#e2e3e6}.alert-secondary hr{border-top-color:#d4d6da}.alert-secondary .alert-link{color:#36373b}.alert-success{color:#246a45;background-color:#daf5e7;border-color:#cbf0dd}.alert-success hr{border-top-color:#b7ead0}.alert-success .alert-link{color:#17442c}.alert-info{color:#065872;background-color:#ceeef8;border-color:#bbe7f5}.alert-info hr{border-top-color:#a5dff2}.alert-info .alert-link{color:#033342}.alert-warning{color:#7c6001;background-color:#fcf1cc;border-color:#faebb8}.alert-warning hr{border-top-color:#f8e4a0}.alert-warning .alert-link{color:#493901}.alert-danger{color:#853b2f;background-color:#ffe3de;border-color:#ffd7d1}.alert-danger hr{border-top-color:#ffc1b8}.alert-danger .alert-link{color:#5f2a22}.alert-light{color:#1c232e;background-color:#d7dade;border-color:#c7cbd0}.alert-light hr{border-top-color:#b9bec4}.alert-light .alert-link{color:#090b0e}.alert-dark{color:#7c7e80;background-color:#fcfcfd;border-color:#fbfbfd}.alert-dark hr{border-top-color:#eaeaf5}.alert-dark .alert-link{color:#636566}.alert-pink{color:#792049;background-color:#fad8e8;border-color:#f9c9df}.alert-pink hr{border-top-color:#f6b2d1}.alert-pink .alert-link{color:#511531}@-webkit-keyframes progress-bar-stripes{from{background-position:0 0}to{background-position:-.625rem 0}}@keyframes progress-bar-stripes{from{background-position:0 0}to{background-position:-.625rem 0}}.progress{display:-webkit-box;display:-ms-flexbox;display:flex;height:.625rem;overflow:hidden;font-size:.65625rem;background-color:#273344;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;overflow:hidden;color:#fff;text-align:center;white-space:nowrap;background-color:#3b5de7;-webkit-transition:width .6s ease;transition:width .6s ease}@media (prefers-reduced-motion:reduce){.progress-bar{-webkit-transition:none;transition:none}}.progress-bar-striped{background-image:linear-gradient(-45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-size:.625rem .625rem}.progress-bar-animated{-webkit-animation:progress-bar-stripes 1s linear infinite;animation:progress-bar-stripes 1s linear infinite}@media (prefers-reduced-motion:reduce){.progress-bar-animated{-webkit-animation:none;animation:none}}.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-right:0;margin-bottom:0}.list-group-item-action{width:100%;color:#e0e0e0;text-align:inherit}.list-group-item-action:focus,.list-group-item-action:hover{z-index:1;color:#e0e0e0;text-decoration:none;background-color:#212529}.list-group-item-action:active{color:#7f879c;background-color:#273344}.list-group-item{position:relative;display:block;padding:.75rem 1.25rem;background-color:#1e2938;border:1px solid #364458}.list-group-item:first-child{border-top-right-radius:.25rem;border-top-left-radius:.25rem}.list-group-item:last-child{border-bottom-left-radius:.25rem;border-bottom-right-radius:.25rem}.list-group-item.disabled,.list-group-item:disabled{color:#969aa5;pointer-events:none;background-color:#1e2938}.list-group-item.active{z-index:2;color:#fff;background-color:#3b5de7;border-color:#3b5de7}.list-group-item+.list-group-item{border-top-width:0}.list-group-item+.list-group-item.active{margin-top:-1px;border-top-width:1px}.list-group-horizontal{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row}.list-group-horizontal .list-group-item:first-child{border-bottom-right-radius:.25rem;border-top-left-radius:0}.list-group-horizontal .list-group-item:last-child{border-top-left-radius:.25rem;border-bottom-right-radius:0}.list-group-horizontal .list-group-item.active{margin-top:0}.list-group-horizontal .list-group-item+.list-group-item{border-top-width:1px;border-right-width:0}.list-group-horizontal .list-group-item+.list-group-item.active{margin-right:-1px;border-right-width:1px}@media (min-width:576px){.list-group-horizontal-sm{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row}.list-group-horizontal-sm .list-group-item:first-child{border-bottom-right-radius:.25rem;border-top-left-radius:0}.list-group-horizontal-sm .list-group-item:last-child{border-top-left-radius:.25rem;border-bottom-right-radius:0}.list-group-horizontal-sm .list-group-item.active{margin-top:0}.list-group-horizontal-sm .list-group-item+.list-group-item{border-top-width:1px;border-right-width:0}.list-group-horizontal-sm .list-group-item+.list-group-item.active{margin-right:-1px;border-right-width:1px}}@media (min-width:768px){.list-group-horizontal-md{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row}.list-group-horizontal-md .list-group-item:first-child{border-bottom-right-radius:.25rem;border-top-left-radius:0}.list-group-horizontal-md .list-group-item:last-child{border-top-left-radius:.25rem;border-bottom-right-radius:0}.list-group-horizontal-md .list-group-item.active{margin-top:0}.list-group-horizontal-md .list-group-item+.list-group-item{border-top-width:1px;border-right-width:0}.list-group-horizontal-md .list-group-item+.list-group-item.active{margin-right:-1px;border-right-width:1px}}@media (min-width:992px){.list-group-horizontal-lg{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row}.list-group-horizontal-lg .list-group-item:first-child{border-bottom-right-radius:.25rem;border-top-left-radius:0}.list-group-horizontal-lg .list-group-item:last-child{border-top-left-radius:.25rem;border-bottom-right-radius:0}.list-group-horizontal-lg .list-group-item.active{margin-top:0}.list-group-horizontal-lg .list-group-item+.list-group-item{border-top-width:1px;border-right-width:0}.list-group-horizontal-lg .list-group-item+.list-group-item.active{margin-right:-1px;border-right-width:1px}}@media (min-width:1200px){.list-group-horizontal-xl{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row}.list-group-horizontal-xl .list-group-item:first-child{border-bottom-right-radius:.25rem;border-top-left-radius:0}.list-group-horizontal-xl .list-group-item:last-child{border-top-left-radius:.25rem;border-bottom-right-radius:0}.list-group-horizontal-xl .list-group-item.active{margin-top:0}.list-group-horizontal-xl .list-group-item+.list-group-item{border-top-width:1px;border-right-width:0}.list-group-horizontal-xl .list-group-item+.list-group-item.active{margin-right:-1px;border-right-width:1px}}.list-group-flush .list-group-item{border-left-width:0;border-right-width:0;border-radius:0}.list-group-flush .list-group-item:first-child{border-top-width:0}.list-group-flush:last-child .list-group-item:last-child{border-bottom-width:0}.list-group-item-primary{color:#1f3078;background-color:#c8d2f8}.list-group-item-primary.list-group-item-action:focus,.list-group-item-primary.list-group-item-action:hover{color:#1f3078;background-color:#b1bff5}.list-group-item-primary.list-group-item-action.active{color:#fff;background-color:#1f3078;border-color:#1f3078}.list-group-item-secondary{color:#4e5056;background-color:#e2e3e6}.list-group-item-secondary.list-group-item-action:focus,.list-group-item-secondary.list-group-item-action:hover{color:#4e5056;background-color:#d4d6da}.list-group-item-secondary.list-group-item-action.active{color:#fff;background-color:#4e5056;border-color:#4e5056}.list-group-item-success{color:#246a45;background-color:#cbf0dd}.list-group-item-success.list-group-item-action:focus,.list-group-item-success.list-group-item-action:hover{color:#246a45;background-color:#b7ead0}.list-group-item-success.list-group-item-action.active{color:#fff;background-color:#246a45;border-color:#246a45}.list-group-item-info{color:#065872;background-color:#bbe7f5}.list-group-item-info.list-group-item-action:focus,.list-group-item-info.list-group-item-action:hover{color:#065872;background-color:#a5dff2}.list-group-item-info.list-group-item-action.active{color:#fff;background-color:#065872;border-color:#065872}.list-group-item-warning{color:#7c6001;background-color:#faebb8}.list-group-item-warning.list-group-item-action:focus,.list-group-item-warning.list-group-item-action:hover{color:#7c6001;background-color:#f8e4a0}.list-group-item-warning.list-group-item-action.active{color:#fff;background-color:#7c6001;border-color:#7c6001}.list-group-item-danger{color:#853b2f;background-color:#ffd7d1}.list-group-item-danger.list-group-item-action:focus,.list-group-item-danger.list-group-item-action:hover{color:#853b2f;background-color:#ffc1b8}.list-group-item-danger.list-group-item-action.active{color:#fff;background-color:#853b2f;border-color:#853b2f}.list-group-item-light{color:#1c232e;background-color:#c7cbd0}.list-group-item-light.list-group-item-action:focus,.list-group-item-light.list-group-item-action:hover{color:#1c232e;background-color:#b9bec4}.list-group-item-light.list-group-item-action.active{color:#fff;background-color:#1c232e;border-color:#1c232e}.list-group-item-dark{color:#7c7e80;background-color:#fbfbfd}.list-group-item-dark.list-group-item-action:focus,.list-group-item-dark.list-group-item-action:hover{color:#7c7e80;background-color:#eaeaf5}.list-group-item-dark.list-group-item-action.active{color:#fff;background-color:#7c7e80;border-color:#7c7e80}.list-group-item-pink{color:#792049;background-color:#f9c9df}.list-group-item-pink.list-group-item-action:focus,.list-group-item-pink.list-group-item-action:hover{color:#792049;background-color:#f6b2d1}.list-group-item-pink.list-group-item-action.active{color:#fff;background-color:#792049;border-color:#792049}.close{float:left;font-size:1.3125rem;font-weight:600;line-height:1;color:#000;text-shadow:0 1px 0 #fff;opacity:.5}.close:hover{color:#000;text-decoration:none}.close:not(:disabled):not(.disabled):focus,.close:not(:disabled):not(.disabled):hover{opacity:.75}button.close{padding:0;background-color:transparent;border:0;-webkit-appearance:none;-moz-appearance:none;appearance:none}a.close.disabled{pointer-events:none}.toast{max-width:350px;overflow:hidden;font-size:.875rem;background-color:rgba(255,255,255,.85);background-clip:padding-box;border:1px solid rgba(0,0,0,.1);-webkit-box-shadow:0 .25rem .75rem rgba(0,0,0,.1);box-shadow:0 .25rem .75rem rgba(0,0,0,.1);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);opacity:0;border-radius:.25rem}.toast:not(:last-child){margin-bottom:.75rem}.toast.showing{opacity:1}.toast.show{display:block;opacity:1}.toast.hide{display:none}.toast-header{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;padding:.25rem .75rem;color:#969aa5;background-color:rgba(255,255,255,.85);background-clip:padding-box;border-bottom:1px solid rgba(0,0,0,.05)}.toast-body{padding:.75rem}.modal-open{overflow:hidden}.modal-open .modal{overflow-x:hidden;overflow-y:auto}.modal{position:fixed;top:0;right:0;z-index:1050;display:none;width:100%;height:100%;overflow:hidden;outline:0}.modal-dialog{position:relative;width:auto;margin:.5rem;pointer-events:none}.modal.fade .modal-dialog{-webkit-transition:-webkit-transform .3s ease-out;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,-50px);transform:translate(0,-50px)}@media (prefers-reduced-motion:reduce){.modal.fade .modal-dialog{-webkit-transition:none;transition:none}}.modal.show .modal-dialog{-webkit-transform:none;transform:none}.modal.modal-static .modal-dialog{-webkit-transform:scale(1.02);transform:scale(1.02)}.modal-dialog-scrollable{display:-webkit-box;display:-ms-flexbox;display:flex;max-height:calc(100% - 1rem)}.modal-dialog-scrollable .modal-content{max-height:calc(100vh - 1rem);overflow:hidden}.modal-dialog-scrollable .modal-footer,.modal-dialog-scrollable .modal-header{-ms-flex-negative:0;flex-shrink:0}.modal-dialog-scrollable .modal-body{overflow-y:auto}.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% - 1rem)}.modal-dialog-centered::before{display:block;height:calc(100vh - 1rem);content:""}.modal-dialog-centered.modal-dialog-scrollable{-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;height:100%}.modal-dialog-centered.modal-dialog-scrollable .modal-content{max-height:none}.modal-dialog-centered.modal-dialog-scrollable::before{content:none}.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:#273344;background-clip:padding-box;border:1px solid #364458;border-radius:.4rem;outline:0}.modal-backdrop{position:fixed;top:0;right:0;z-index:1040;width:100vw;height:100vh;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 1rem;border-bottom:1px solid #364458;border-top-right-radius:calc(.3rem - 1px);border-top-left-radius:calc(.3rem - 1px)}.modal-header .close{padding:1rem 1rem;margin:-1rem auto -1rem -1rem}.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;-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end;padding:.75rem;border-top:1px solid #364458;border-bottom-left-radius:calc(.3rem - 1px);border-bottom-right-radius:calc(.3rem - 1px)}.modal-footer>*{margin:.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-scrollable{max-height:calc(100% - 3.5rem)}.modal-dialog-scrollable .modal-content{max-height:calc(100vh - 3.5rem)}.modal-dialog-centered{min-height:calc(100% - 3.5rem)}.modal-dialog-centered::before{height:calc(100vh - 3.5rem)}.modal-sm{max-width:300px}}@media (min-width:992px){.modal-lg,.modal-xl{max-width:800px}}@media (min-width:1200px){.modal-xl{max-width:1140px}}.tooltip{position:absolute;z-index:1070;display:block;margin:0;font-family:"SF UI Text",sans-serif;font-style:normal;font-weight:400;line-height:1.5;text-align:right;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:.76563rem;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:.4rem .7rem;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:"SF UI Text",sans-serif;font-style:normal;font-weight:400;line-height:1.5;text-align:right;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:.76563rem;word-wrap:break-word;background-color:#fff;background-clip:padding-box;border:1px solid #273344;border-radius:.4rem}.popover .arrow{position:absolute;display:block;width:1rem;height:.5rem;margin:0 .4rem}.popover .arrow::after,.popover .arrow::before{position:absolute;display:block;content:"";border-color:transparent;border-style:solid}.bs-popover-auto[x-placement^=top],.bs-popover-top{margin-bottom:.5rem}.bs-popover-auto[x-placement^=top]>.arrow,.bs-popover-top>.arrow{bottom:calc(-.5rem - 1px)}.bs-popover-auto[x-placement^=top]>.arrow::before,.bs-popover-top>.arrow::before{bottom:0;border-width:.5rem .5rem 0;border-top-color:#273344}.bs-popover-auto[x-placement^=top]>.arrow::after,.bs-popover-top>.arrow::after{bottom:1px;border-width:.5rem .5rem 0;border-top-color:#fff}.bs-popover-auto[x-placement^=right],.bs-popover-right{margin-left:.5rem}.bs-popover-auto[x-placement^=right]>.arrow,.bs-popover-right>.arrow{left:calc(-.5rem - 1px);width:.5rem;height:1rem;margin:.4rem 0}.bs-popover-auto[x-placement^=right]>.arrow::before,.bs-popover-right>.arrow::before{left:0;border-width:.5rem .5rem .5rem 0;border-right-color:#273344}.bs-popover-auto[x-placement^=right]>.arrow::after,.bs-popover-right>.arrow::after{left:1px;border-width:.5rem .5rem .5rem 0;border-right-color:#fff}.bs-popover-auto[x-placement^=bottom],.bs-popover-bottom{margin-top:.5rem}.bs-popover-auto[x-placement^=bottom]>.arrow,.bs-popover-bottom>.arrow{top:calc(-.5rem - 1px)}.bs-popover-auto[x-placement^=bottom]>.arrow::before,.bs-popover-bottom>.arrow::before{top:0;border-width:0 .5rem .5rem .5rem;border-bottom-color:#273344}.bs-popover-auto[x-placement^=bottom]>.arrow::after,.bs-popover-bottom>.arrow::after{top:1px;border-width:0 .5rem .5rem .5rem;border-bottom-color:#fff}.bs-popover-auto[x-placement^=bottom] .popover-header::before,.bs-popover-bottom .popover-header::before{position:absolute;top:0;right:50%;display:block;width:1rem;margin-right:-.5rem;content:"";border-bottom:1px solid #f7f7f7}.bs-popover-auto[x-placement^=left],.bs-popover-left{margin-right:.5rem}.bs-popover-auto[x-placement^=left]>.arrow,.bs-popover-left>.arrow{right:calc(-.5rem - 1px);width:.5rem;height:1rem;margin:.4rem 0}.bs-popover-auto[x-placement^=left]>.arrow::before,.bs-popover-left>.arrow::before{right:0;border-width:.5rem 0 .5rem .5rem;border-left-color:#273344}.bs-popover-auto[x-placement^=left]>.arrow::after,.bs-popover-left>.arrow::after{right:1px;border-width:.5rem 0 .5rem .5rem;border-left-color:#fff}.popover-header{padding:.5rem .75rem;margin-bottom:0;font-size:.875rem;color:#273344;background-color:#f7f7f7;border-bottom:1px solid #ebebeb;border-top-right-radius:calc(.3rem - 1px);border-top-left-radius:calc(.3rem - 1px)}.popover-header:empty{display:none}.popover-body{padding:.5rem .75rem;color:#7f879c}.carousel{position:relative}.carousel.pointer-event{-ms-touch-action:pan-y;touch-action:pan-y}.carousel-inner{position:relative;width:100%;overflow:hidden}.carousel-inner::after{display:block;clear:both;content:""}.carousel-item{position:relative;display:none;float:right;width:100%;margin-left:-100%;-webkit-backface-visibility:hidden;backface-visibility:hidden;-webkit-transition:-webkit-transform .6s ease-in-out;transition:-webkit-transform .6s ease-in-out;transition:transform .6s ease-in-out;transition:transform .6s ease-in-out,-webkit-transform .6s ease-in-out}@media (prefers-reduced-motion:reduce){.carousel-item{-webkit-transition:none;transition:none}}.carousel-item-next,.carousel-item-prev,.carousel-item.active{display:block}.active.carousel-item-right,.carousel-item-next:not(.carousel-item-left){-webkit-transform:translateX(-100%);transform:translateX(-100%)}.active.carousel-item-left,.carousel-item-prev:not(.carousel-item-right){-webkit-transform:translateX(100%);transform:translateX(100%)}.carousel-fade .carousel-item{opacity:0;-webkit-transition-property:opacity;transition-property:opacity;-webkit-transform:none;transform:none}.carousel-fade .carousel-item-next.carousel-item-left,.carousel-fade .carousel-item-prev.carousel-item-right,.carousel-fade .carousel-item.active{z-index:1;opacity:1}.carousel-fade .active.carousel-item-left,.carousel-fade .active.carousel-item-right{z-index:0;opacity:0;-webkit-transition:opacity 0s .6s;transition:opacity 0s .6s}@media (prefers-reduced-motion:reduce){.carousel-fade .active.carousel-item-left,.carousel-fade .active.carousel-item-right{-webkit-transition:none;transition:none}}.carousel-control-next,.carousel-control-prev{position:absolute;top:0;bottom:0;z-index:1;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;-webkit-transition:opacity .15s ease;transition:opacity .15s ease}@media (prefers-reduced-motion:reduce){.carousel-control-next,.carousel-control-prev{-webkit-transition:none;transition:none}}.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{right:0}.carousel-control-next{left:0}.carousel-control-next-icon,.carousel-control-prev-icon{display:inline-block;width:20px;height:20px;background:no-repeat 50%/100% 100%}.carousel-control-next-icon{background-image:url("data:image/svg+xml,%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-prev-icon{background-image:url("data:image/svg+xml,%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;left:0;bottom:0;right:0;z-index:15;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;padding-right:0;margin-left:15%;margin-right:15%;list-style:none}.carousel-indicators li{-webkit-box-sizing:content-box;box-sizing:content-box;-webkit-box-flex:0;-ms-flex:0 1 auto;flex:0 1 auto;width:30px;height:3px;margin-left:3px;margin-right:3px;text-indent:-999px;cursor:pointer;background-color:#fff;background-clip:padding-box;border-top:10px solid transparent;border-bottom:10px solid transparent;opacity:.5;-webkit-transition:opacity .6s ease;transition:opacity .6s ease}@media (prefers-reduced-motion:reduce){.carousel-indicators li{-webkit-transition:none;transition:none}}.carousel-indicators .active{opacity:1}.carousel-caption{position:absolute;left:15%;bottom:20px;right:15%;z-index:10;padding-top:20px;padding-bottom:20px;color:#fff;text-align:center}@-webkit-keyframes spinner-border{to{-webkit-transform:rotate(-360deg);transform:rotate(-360deg)}}@keyframes spinner-border{to{-webkit-transform:rotate(-360deg);transform:rotate(-360deg)}}.spinner-border{display:inline-block;width:2rem;height:2rem;vertical-align:text-bottom;border:.25em solid currentColor;border-left-color:transparent;border-radius:50%;-webkit-animation:spinner-border .75s linear infinite;animation:spinner-border .75s linear infinite}.spinner-border-sm{width:1rem;height:1rem;border-width:.2em}@-webkit-keyframes spinner-grow{0%{-webkit-transform:scale(0);transform:scale(0)}50%{opacity:1}}@keyframes spinner-grow{0%{-webkit-transform:scale(0);transform:scale(0)}50%{opacity:1}}.spinner-grow{display:inline-block;width:2rem;height:2rem;vertical-align:text-bottom;background-color:currentColor;border-radius:50%;opacity:0;-webkit-animation:spinner-grow .75s linear infinite;animation:spinner-grow .75s linear infinite}.spinner-grow-sm{width:1rem;height:1rem}.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:#3b5de7!important}a.bg-primary:focus,a.bg-primary:hover,button.bg-primary:focus,button.bg-primary:hover{background-color:#1a3fd5!important}.bg-secondary{background-color:#969aa5!important}a.bg-secondary:focus,a.bg-secondary:hover,button.bg-secondary:focus,button.bg-secondary:hover{background-color:#7b808d!important}.bg-success{background-color:#45cb85!important}a.bg-success:focus,a.bg-success:hover,button.bg-success:focus,button.bg-success:hover{background-color:#30ad6c!important}.bg-info{background-color:#0caadc!important}a.bg-info:focus,a.bg-info:hover,button.bg-info:focus,button.bg-info:hover{background-color:#0985ac!important}.bg-warning{background-color:#eeb902!important}a.bg-warning:focus,a.bg-warning:hover,button.bg-warning:focus,button.bg-warning:hover{background-color:#bb9202!important}.bg-danger{background-color:#ff715b!important}a.bg-danger:focus,a.bg-danger:hover,button.bg-danger:focus,button.bg-danger:hover{background-color:#ff4528!important}.bg-light{background-color:#364458!important}a.bg-light:focus,a.bg-light:hover,button.bg-light:focus,button.bg-light:hover{background-color:#232c38!important}.bg-dark{background-color:#eff2f7!important}a.bg-dark:focus,a.bg-dark:hover,button.bg-dark:focus,button.bg-dark:hover{background-color:#cdd6e6!important}.bg-pink{background-color:#e83e8c!important}a.bg-pink:focus,a.bg-pink:hover,button.bg-pink:focus,button.bg-pink:hover{background-color:#d91a72!important}.bg-white{background-color:#fff!important}.bg-transparent{background-color:transparent!important}.border{border:1px solid #364458!important}.border-top{border-top:1px solid #364458!important}.border-right{border-left:1px solid #364458!important}.border-bottom{border-bottom:1px solid #364458!important}.border-left{border-right:1px solid #364458!important}.border-0{border:0!important}.border-top-0{border-top:0!important}.border-right-0{border-left:0!important}.border-bottom-0{border-bottom:0!important}.border-left-0{border-right:0!important}.border-primary{border-color:#3b5de7!important}.border-secondary{border-color:#969aa5!important}.border-success{border-color:#45cb85!important}.border-info{border-color:#0caadc!important}.border-warning{border-color:#eeb902!important}.border-danger{border-color:#ff715b!important}.border-light{border-color:#364458!important}.border-dark{border-color:#eff2f7!important}.border-pink{border-color:#e83e8c!important}.border-white{border-color:#fff!important}.rounded-sm{border-radius:.2rem!important}.rounded{border-radius:.25rem!important}.rounded-top{border-top-right-radius:.25rem!important;border-top-left-radius:.25rem!important}.rounded-right{border-top-left-radius:.25rem!important;border-bottom-left-radius:.25rem!important}.rounded-bottom{border-bottom-left-radius:.25rem!important;border-bottom-right-radius:.25rem!important}.rounded-left{border-top-right-radius:.25rem!important;border-bottom-right-radius:.25rem!important}.rounded-lg{border-radius:.4rem!important}.rounded-circle{border-radius:50%!important}.rounded-pill{border-radius:50rem!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;right:0;width:100%;height:100%;border:0}.embed-responsive-21by9::before{padding-top:42.85714%}.embed-responsive-16by9::before{padding-top:56.25%}.embed-responsive-4by3::before{padding-top:75%}.embed-responsive-1by1::before{padding-top:100%}.embed-responsive-21by9::before{padding-top:42.85714%}.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}.flex-fill{-webkit-box-flex:1!important;-ms-flex:1 1 auto!important;flex:1 1 auto!important}.flex-grow-0{-webkit-box-flex:0!important;-ms-flex-positive:0!important;flex-grow:0!important}.flex-grow-1{-webkit-box-flex:1!important;-ms-flex-positive:1!important;flex-grow:1!important}.flex-shrink-0{-ms-flex-negative:0!important;flex-shrink:0!important}.flex-shrink-1{-ms-flex-negative:1!important;flex-shrink:1!important}.justify-content-start{-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}.flex-sm-fill{-webkit-box-flex:1!important;-ms-flex:1 1 auto!important;flex:1 1 auto!important}.flex-sm-grow-0{-webkit-box-flex:0!important;-ms-flex-positive:0!important;flex-grow:0!important}.flex-sm-grow-1{-webkit-box-flex:1!important;-ms-flex-positive:1!important;flex-grow:1!important}.flex-sm-shrink-0{-ms-flex-negative:0!important;flex-shrink:0!important}.flex-sm-shrink-1{-ms-flex-negative:1!important;flex-shrink:1!important}.justify-content-sm-start{-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}.flex-md-fill{-webkit-box-flex:1!important;-ms-flex:1 1 auto!important;flex:1 1 auto!important}.flex-md-grow-0{-webkit-box-flex:0!important;-ms-flex-positive:0!important;flex-grow:0!important}.flex-md-grow-1{-webkit-box-flex:1!important;-ms-flex-positive:1!important;flex-grow:1!important}.flex-md-shrink-0{-ms-flex-negative:0!important;flex-shrink:0!important}.flex-md-shrink-1{-ms-flex-negative:1!important;flex-shrink:1!important}.justify-content-md-start{-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}.flex-lg-fill{-webkit-box-flex:1!important;-ms-flex:1 1 auto!important;flex:1 1 auto!important}.flex-lg-grow-0{-webkit-box-flex:0!important;-ms-flex-positive:0!important;flex-grow:0!important}.flex-lg-grow-1{-webkit-box-flex:1!important;-ms-flex-positive:1!important;flex-grow:1!important}.flex-lg-shrink-0{-ms-flex-negative:0!important;flex-shrink:0!important}.flex-lg-shrink-1{-ms-flex-negative:1!important;flex-shrink:1!important}.justify-content-lg-start{-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}.flex-xl-fill{-webkit-box-flex:1!important;-ms-flex:1 1 auto!important;flex:1 1 auto!important}.flex-xl-grow-0{-webkit-box-flex:0!important;-ms-flex-positive:0!important;flex-grow:0!important}.flex-xl-grow-1{-webkit-box-flex:1!important;-ms-flex-positive:1!important;flex-grow:1!important}.flex-xl-shrink-0{-ms-flex-negative:0!important;flex-shrink:0!important}.flex-xl-shrink-1{-ms-flex-negative:1!important;flex-shrink:1!important}.justify-content-xl-start{-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:right!important}.float-right{float:left!important}.float-none{float:none!important}@media (min-width:576px){.float-sm-left{float:right!important}.float-sm-right{float:left!important}.float-sm-none{float:none!important}}@media (min-width:768px){.float-md-left{float:right!important}.float-md-right{float:left!important}.float-md-none{float:none!important}}@media (min-width:992px){.float-lg-left{float:right!important}.float-lg-right{float:left!important}.float-lg-none{float:none!important}}@media (min-width:1200px){.float-xl-left{float:right!important}.float-xl-right{float:left!important}.float-xl-none{float:none!important}}.overflow-auto{overflow:auto!important}.overflow-hidden{overflow:hidden!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;left:0;right:0;z-index:1030}.fixed-bottom{position:fixed;left:0;bottom:0;right: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;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.sr-only-focusable:active,.sr-only-focusable:focus{position:static;width:auto;height:auto;overflow:visible;clip:auto;white-space:normal}.shadow-sm{-webkit-box-shadow:0 .125rem .25rem rgba(0,0,0,.075)!important;box-shadow:0 .125rem .25rem rgba(0,0,0,.075)!important}.shadow{-webkit-box-shadow:0 .75rem 1.5rem rgba(18,38,63,.03)!important;box-shadow:0 .75rem 1.5rem rgba(18,38,63,.03)!important}.shadow-lg{-webkit-box-shadow:0 1rem 3rem rgba(0,0,0,.175)!important;box-shadow:0 1rem 3rem rgba(0,0,0,.175)!important}.shadow-none{-webkit-box-shadow:none!important;box-shadow:none!important}.w-25{width:25%!important}.w-50{width:50%!important}.w-75{width:75%!important}.w-100{width:100%!important}.w-auto{width:auto!important}.h-25{height:25%!important}.h-50{height:50%!important}.h-75{height:75%!important}.h-100{height:100%!important}.h-auto{height:auto!important}.mw-100{max-width:100%!important}.mh-100{max-height:100%!important}.min-vw-100{min-width:100vw!important}.min-vh-100{min-height:100vh!important}.vw-100{width:100vw!important}.vh-100{height:100vh!important}.stretched-link::after{position:absolute;top:0;left:0;bottom:0;right:0;z-index:1;pointer-events:auto;content:"";background-color:rgba(0,0,0,0)}.m-0{margin:0!important}.mt-0,.my-0{margin-top:0!important}.mr-0,.mx-0{margin-left:0!important}.mb-0,.my-0{margin-bottom:0!important}.ml-0,.mx-0{margin-right:0!important}.m-1{margin:.25rem!important}.mt-1,.my-1{margin-top:.25rem!important}.mr-1,.mx-1{margin-left:.25rem!important}.mb-1,.my-1{margin-bottom:.25rem!important}.ml-1,.mx-1{margin-right:.25rem!important}.m-2{margin:.5rem!important}.mt-2,.my-2{margin-top:.5rem!important}.mr-2,.mx-2{margin-left:.5rem!important}.mb-2,.my-2{margin-bottom:.5rem!important}.ml-2,.mx-2{margin-right:.5rem!important}.m-3{margin:1rem!important}.mt-3,.my-3{margin-top:1rem!important}.mr-3,.mx-3{margin-left:1rem!important}.mb-3,.my-3{margin-bottom:1rem!important}.ml-3,.mx-3{margin-right:1rem!important}.m-4{margin:1.5rem!important}.mt-4,.my-4{margin-top:1.5rem!important}.mr-4,.mx-4{margin-left:1.5rem!important}.mb-4,.my-4{margin-bottom:1.5rem!important}.ml-4,.mx-4{margin-right:1.5rem!important}.m-5{margin:3rem!important}.mt-5,.my-5{margin-top:3rem!important}.mr-5,.mx-5{margin-left:3rem!important}.mb-5,.my-5{margin-bottom:3rem!important}.ml-5,.mx-5{margin-right:3rem!important}.p-0{padding:0!important}.pt-0,.py-0{padding-top:0!important}.pr-0,.px-0{padding-left:0!important}.pb-0,.py-0{padding-bottom:0!important}.pl-0,.px-0{padding-right:0!important}.p-1{padding:.25rem!important}.pt-1,.py-1{padding-top:.25rem!important}.pr-1,.px-1{padding-left:.25rem!important}.pb-1,.py-1{padding-bottom:.25rem!important}.pl-1,.px-1{padding-right:.25rem!important}.p-2{padding:.5rem!important}.pt-2,.py-2{padding-top:.5rem!important}.pr-2,.px-2{padding-left:.5rem!important}.pb-2,.py-2{padding-bottom:.5rem!important}.pl-2,.px-2{padding-right:.5rem!important}.p-3{padding:1rem!important}.pt-3,.py-3{padding-top:1rem!important}.pr-3,.px-3{padding-left:1rem!important}.pb-3,.py-3{padding-bottom:1rem!important}.pl-3,.px-3{padding-right:1rem!important}.p-4{padding:1.5rem!important}.pt-4,.py-4{padding-top:1.5rem!important}.pr-4,.px-4{padding-left:1.5rem!important}.pb-4,.py-4{padding-bottom:1.5rem!important}.pl-4,.px-4{padding-right:1.5rem!important}.p-5{padding:3rem!important}.pt-5,.py-5{padding-top:3rem!important}.pr-5,.px-5{padding-left:3rem!important}.pb-5,.py-5{padding-bottom:3rem!important}.pl-5,.px-5{padding-right:3rem!important}.m-n1{margin:-.25rem!important}.mt-n1,.my-n1{margin-top:-.25rem!important}.mr-n1,.mx-n1{margin-left:-.25rem!important}.mb-n1,.my-n1{margin-bottom:-.25rem!important}.ml-n1,.mx-n1{margin-right:-.25rem!important}.m-n2{margin:-.5rem!important}.mt-n2,.my-n2{margin-top:-.5rem!important}.mr-n2,.mx-n2{margin-left:-.5rem!important}.mb-n2,.my-n2{margin-bottom:-.5rem!important}.ml-n2,.mx-n2{margin-right:-.5rem!important}.m-n3{margin:-1rem!important}.mt-n3,.my-n3{margin-top:-1rem!important}.mr-n3,.mx-n3{margin-left:-1rem!important}.mb-n3,.my-n3{margin-bottom:-1rem!important}.ml-n3,.mx-n3{margin-right:-1rem!important}.m-n4{margin:-1.5rem!important}.mt-n4,.my-n4{margin-top:-1.5rem!important}.mr-n4,.mx-n4{margin-left:-1.5rem!important}.mb-n4,.my-n4{margin-bottom:-1.5rem!important}.ml-n4,.mx-n4{margin-right:-1.5rem!important}.m-n5{margin:-3rem!important}.mt-n5,.my-n5{margin-top:-3rem!important}.mr-n5,.mx-n5{margin-left:-3rem!important}.mb-n5,.my-n5{margin-bottom:-3rem!important}.ml-n5,.mx-n5{margin-right:-3rem!important}.m-auto{margin:auto!important}.mt-auto,.my-auto{margin-top:auto!important}.mr-auto,.mx-auto{margin-left:auto!important}.mb-auto,.my-auto{margin-bottom:auto!important}.ml-auto,.mx-auto{margin-right: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-left:0!important}.mb-sm-0,.my-sm-0{margin-bottom:0!important}.ml-sm-0,.mx-sm-0{margin-right: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-left:.25rem!important}.mb-sm-1,.my-sm-1{margin-bottom:.25rem!important}.ml-sm-1,.mx-sm-1{margin-right:.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-left:.5rem!important}.mb-sm-2,.my-sm-2{margin-bottom:.5rem!important}.ml-sm-2,.mx-sm-2{margin-right:.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-left:1rem!important}.mb-sm-3,.my-sm-3{margin-bottom:1rem!important}.ml-sm-3,.mx-sm-3{margin-right: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-left:1.5rem!important}.mb-sm-4,.my-sm-4{margin-bottom:1.5rem!important}.ml-sm-4,.mx-sm-4{margin-right: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-left:3rem!important}.mb-sm-5,.my-sm-5{margin-bottom:3rem!important}.ml-sm-5,.mx-sm-5{margin-right: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-left:0!important}.pb-sm-0,.py-sm-0{padding-bottom:0!important}.pl-sm-0,.px-sm-0{padding-right: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-left:.25rem!important}.pb-sm-1,.py-sm-1{padding-bottom:.25rem!important}.pl-sm-1,.px-sm-1{padding-right:.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-left:.5rem!important}.pb-sm-2,.py-sm-2{padding-bottom:.5rem!important}.pl-sm-2,.px-sm-2{padding-right:.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-left:1rem!important}.pb-sm-3,.py-sm-3{padding-bottom:1rem!important}.pl-sm-3,.px-sm-3{padding-right: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-left:1.5rem!important}.pb-sm-4,.py-sm-4{padding-bottom:1.5rem!important}.pl-sm-4,.px-sm-4{padding-right: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-left:3rem!important}.pb-sm-5,.py-sm-5{padding-bottom:3rem!important}.pl-sm-5,.px-sm-5{padding-right:3rem!important}.m-sm-n1{margin:-.25rem!important}.mt-sm-n1,.my-sm-n1{margin-top:-.25rem!important}.mr-sm-n1,.mx-sm-n1{margin-left:-.25rem!important}.mb-sm-n1,.my-sm-n1{margin-bottom:-.25rem!important}.ml-sm-n1,.mx-sm-n1{margin-right:-.25rem!important}.m-sm-n2{margin:-.5rem!important}.mt-sm-n2,.my-sm-n2{margin-top:-.5rem!important}.mr-sm-n2,.mx-sm-n2{margin-left:-.5rem!important}.mb-sm-n2,.my-sm-n2{margin-bottom:-.5rem!important}.ml-sm-n2,.mx-sm-n2{margin-right:-.5rem!important}.m-sm-n3{margin:-1rem!important}.mt-sm-n3,.my-sm-n3{margin-top:-1rem!important}.mr-sm-n3,.mx-sm-n3{margin-left:-1rem!important}.mb-sm-n3,.my-sm-n3{margin-bottom:-1rem!important}.ml-sm-n3,.mx-sm-n3{margin-right:-1rem!important}.m-sm-n4{margin:-1.5rem!important}.mt-sm-n4,.my-sm-n4{margin-top:-1.5rem!important}.mr-sm-n4,.mx-sm-n4{margin-left:-1.5rem!important}.mb-sm-n4,.my-sm-n4{margin-bottom:-1.5rem!important}.ml-sm-n4,.mx-sm-n4{margin-right:-1.5rem!important}.m-sm-n5{margin:-3rem!important}.mt-sm-n5,.my-sm-n5{margin-top:-3rem!important}.mr-sm-n5,.mx-sm-n5{margin-left:-3rem!important}.mb-sm-n5,.my-sm-n5{margin-bottom:-3rem!important}.ml-sm-n5,.mx-sm-n5{margin-right:-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-left:auto!important}.mb-sm-auto,.my-sm-auto{margin-bottom:auto!important}.ml-sm-auto,.mx-sm-auto{margin-right: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-left:0!important}.mb-md-0,.my-md-0{margin-bottom:0!important}.ml-md-0,.mx-md-0{margin-right: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-left:.25rem!important}.mb-md-1,.my-md-1{margin-bottom:.25rem!important}.ml-md-1,.mx-md-1{margin-right:.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-left:.5rem!important}.mb-md-2,.my-md-2{margin-bottom:.5rem!important}.ml-md-2,.mx-md-2{margin-right:.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-left:1rem!important}.mb-md-3,.my-md-3{margin-bottom:1rem!important}.ml-md-3,.mx-md-3{margin-right: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-left:1.5rem!important}.mb-md-4,.my-md-4{margin-bottom:1.5rem!important}.ml-md-4,.mx-md-4{margin-right: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-left:3rem!important}.mb-md-5,.my-md-5{margin-bottom:3rem!important}.ml-md-5,.mx-md-5{margin-right: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-left:0!important}.pb-md-0,.py-md-0{padding-bottom:0!important}.pl-md-0,.px-md-0{padding-right: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-left:.25rem!important}.pb-md-1,.py-md-1{padding-bottom:.25rem!important}.pl-md-1,.px-md-1{padding-right:.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-left:.5rem!important}.pb-md-2,.py-md-2{padding-bottom:.5rem!important}.pl-md-2,.px-md-2{padding-right:.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-left:1rem!important}.pb-md-3,.py-md-3{padding-bottom:1rem!important}.pl-md-3,.px-md-3{padding-right: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-left:1.5rem!important}.pb-md-4,.py-md-4{padding-bottom:1.5rem!important}.pl-md-4,.px-md-4{padding-right: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-left:3rem!important}.pb-md-5,.py-md-5{padding-bottom:3rem!important}.pl-md-5,.px-md-5{padding-right:3rem!important}.m-md-n1{margin:-.25rem!important}.mt-md-n1,.my-md-n1{margin-top:-.25rem!important}.mr-md-n1,.mx-md-n1{margin-left:-.25rem!important}.mb-md-n1,.my-md-n1{margin-bottom:-.25rem!important}.ml-md-n1,.mx-md-n1{margin-right:-.25rem!important}.m-md-n2{margin:-.5rem!important}.mt-md-n2,.my-md-n2{margin-top:-.5rem!important}.mr-md-n2,.mx-md-n2{margin-left:-.5rem!important}.mb-md-n2,.my-md-n2{margin-bottom:-.5rem!important}.ml-md-n2,.mx-md-n2{margin-right:-.5rem!important}.m-md-n3{margin:-1rem!important}.mt-md-n3,.my-md-n3{margin-top:-1rem!important}.mr-md-n3,.mx-md-n3{margin-left:-1rem!important}.mb-md-n3,.my-md-n3{margin-bottom:-1rem!important}.ml-md-n3,.mx-md-n3{margin-right:-1rem!important}.m-md-n4{margin:-1.5rem!important}.mt-md-n4,.my-md-n4{margin-top:-1.5rem!important}.mr-md-n4,.mx-md-n4{margin-left:-1.5rem!important}.mb-md-n4,.my-md-n4{margin-bottom:-1.5rem!important}.ml-md-n4,.mx-md-n4{margin-right:-1.5rem!important}.m-md-n5{margin:-3rem!important}.mt-md-n5,.my-md-n5{margin-top:-3rem!important}.mr-md-n5,.mx-md-n5{margin-left:-3rem!important}.mb-md-n5,.my-md-n5{margin-bottom:-3rem!important}.ml-md-n5,.mx-md-n5{margin-right:-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-left:auto!important}.mb-md-auto,.my-md-auto{margin-bottom:auto!important}.ml-md-auto,.mx-md-auto{margin-right: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-left:0!important}.mb-lg-0,.my-lg-0{margin-bottom:0!important}.ml-lg-0,.mx-lg-0{margin-right: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-left:.25rem!important}.mb-lg-1,.my-lg-1{margin-bottom:.25rem!important}.ml-lg-1,.mx-lg-1{margin-right:.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-left:.5rem!important}.mb-lg-2,.my-lg-2{margin-bottom:.5rem!important}.ml-lg-2,.mx-lg-2{margin-right:.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-left:1rem!important}.mb-lg-3,.my-lg-3{margin-bottom:1rem!important}.ml-lg-3,.mx-lg-3{margin-right: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-left:1.5rem!important}.mb-lg-4,.my-lg-4{margin-bottom:1.5rem!important}.ml-lg-4,.mx-lg-4{margin-right: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-left:3rem!important}.mb-lg-5,.my-lg-5{margin-bottom:3rem!important}.ml-lg-5,.mx-lg-5{margin-right: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-left:0!important}.pb-lg-0,.py-lg-0{padding-bottom:0!important}.pl-lg-0,.px-lg-0{padding-right: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-left:.25rem!important}.pb-lg-1,.py-lg-1{padding-bottom:.25rem!important}.pl-lg-1,.px-lg-1{padding-right:.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-left:.5rem!important}.pb-lg-2,.py-lg-2{padding-bottom:.5rem!important}.pl-lg-2,.px-lg-2{padding-right:.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-left:1rem!important}.pb-lg-3,.py-lg-3{padding-bottom:1rem!important}.pl-lg-3,.px-lg-3{padding-right: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-left:1.5rem!important}.pb-lg-4,.py-lg-4{padding-bottom:1.5rem!important}.pl-lg-4,.px-lg-4{padding-right: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-left:3rem!important}.pb-lg-5,.py-lg-5{padding-bottom:3rem!important}.pl-lg-5,.px-lg-5{padding-right:3rem!important}.m-lg-n1{margin:-.25rem!important}.mt-lg-n1,.my-lg-n1{margin-top:-.25rem!important}.mr-lg-n1,.mx-lg-n1{margin-left:-.25rem!important}.mb-lg-n1,.my-lg-n1{margin-bottom:-.25rem!important}.ml-lg-n1,.mx-lg-n1{margin-right:-.25rem!important}.m-lg-n2{margin:-.5rem!important}.mt-lg-n2,.my-lg-n2{margin-top:-.5rem!important}.mr-lg-n2,.mx-lg-n2{margin-left:-.5rem!important}.mb-lg-n2,.my-lg-n2{margin-bottom:-.5rem!important}.ml-lg-n2,.mx-lg-n2{margin-right:-.5rem!important}.m-lg-n3{margin:-1rem!important}.mt-lg-n3,.my-lg-n3{margin-top:-1rem!important}.mr-lg-n3,.mx-lg-n3{margin-left:-1rem!important}.mb-lg-n3,.my-lg-n3{margin-bottom:-1rem!important}.ml-lg-n3,.mx-lg-n3{margin-right:-1rem!important}.m-lg-n4{margin:-1.5rem!important}.mt-lg-n4,.my-lg-n4{margin-top:-1.5rem!important}.mr-lg-n4,.mx-lg-n4{margin-left:-1.5rem!important}.mb-lg-n4,.my-lg-n4{margin-bottom:-1.5rem!important}.ml-lg-n4,.mx-lg-n4{margin-right:-1.5rem!important}.m-lg-n5{margin:-3rem!important}.mt-lg-n5,.my-lg-n5{margin-top:-3rem!important}.mr-lg-n5,.mx-lg-n5{margin-left:-3rem!important}.mb-lg-n5,.my-lg-n5{margin-bottom:-3rem!important}.ml-lg-n5,.mx-lg-n5{margin-right:-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-left:auto!important}.mb-lg-auto,.my-lg-auto{margin-bottom:auto!important}.ml-lg-auto,.mx-lg-auto{margin-right: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-left:0!important}.mb-xl-0,.my-xl-0{margin-bottom:0!important}.ml-xl-0,.mx-xl-0{margin-right: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-left:.25rem!important}.mb-xl-1,.my-xl-1{margin-bottom:.25rem!important}.ml-xl-1,.mx-xl-1{margin-right:.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-left:.5rem!important}.mb-xl-2,.my-xl-2{margin-bottom:.5rem!important}.ml-xl-2,.mx-xl-2{margin-right:.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-left:1rem!important}.mb-xl-3,.my-xl-3{margin-bottom:1rem!important}.ml-xl-3,.mx-xl-3{margin-right: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-left:1.5rem!important}.mb-xl-4,.my-xl-4{margin-bottom:1.5rem!important}.ml-xl-4,.mx-xl-4{margin-right: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-left:3rem!important}.mb-xl-5,.my-xl-5{margin-bottom:3rem!important}.ml-xl-5,.mx-xl-5{margin-right: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-left:0!important}.pb-xl-0,.py-xl-0{padding-bottom:0!important}.pl-xl-0,.px-xl-0{padding-right: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-left:.25rem!important}.pb-xl-1,.py-xl-1{padding-bottom:.25rem!important}.pl-xl-1,.px-xl-1{padding-right:.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-left:.5rem!important}.pb-xl-2,.py-xl-2{padding-bottom:.5rem!important}.pl-xl-2,.px-xl-2{padding-right:.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-left:1rem!important}.pb-xl-3,.py-xl-3{padding-bottom:1rem!important}.pl-xl-3,.px-xl-3{padding-right: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-left:1.5rem!important}.pb-xl-4,.py-xl-4{padding-bottom:1.5rem!important}.pl-xl-4,.px-xl-4{padding-right: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-left:3rem!important}.pb-xl-5,.py-xl-5{padding-bottom:3rem!important}.pl-xl-5,.px-xl-5{padding-right:3rem!important}.m-xl-n1{margin:-.25rem!important}.mt-xl-n1,.my-xl-n1{margin-top:-.25rem!important}.mr-xl-n1,.mx-xl-n1{margin-left:-.25rem!important}.mb-xl-n1,.my-xl-n1{margin-bottom:-.25rem!important}.ml-xl-n1,.mx-xl-n1{margin-right:-.25rem!important}.m-xl-n2{margin:-.5rem!important}.mt-xl-n2,.my-xl-n2{margin-top:-.5rem!important}.mr-xl-n2,.mx-xl-n2{margin-left:-.5rem!important}.mb-xl-n2,.my-xl-n2{margin-bottom:-.5rem!important}.ml-xl-n2,.mx-xl-n2{margin-right:-.5rem!important}.m-xl-n3{margin:-1rem!important}.mt-xl-n3,.my-xl-n3{margin-top:-1rem!important}.mr-xl-n3,.mx-xl-n3{margin-left:-1rem!important}.mb-xl-n3,.my-xl-n3{margin-bottom:-1rem!important}.ml-xl-n3,.mx-xl-n3{margin-right:-1rem!important}.m-xl-n4{margin:-1.5rem!important}.mt-xl-n4,.my-xl-n4{margin-top:-1.5rem!important}.mr-xl-n4,.mx-xl-n4{margin-left:-1.5rem!important}.mb-xl-n4,.my-xl-n4{margin-bottom:-1.5rem!important}.ml-xl-n4,.mx-xl-n4{margin-right:-1.5rem!important}.m-xl-n5{margin:-3rem!important}.mt-xl-n5,.my-xl-n5{margin-top:-3rem!important}.mr-xl-n5,.mx-xl-n5{margin-left:-3rem!important}.mb-xl-n5,.my-xl-n5{margin-bottom:-3rem!important}.ml-xl-n5,.mx-xl-n5{margin-right:-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-left:auto!important}.mb-xl-auto,.my-xl-auto{margin-bottom:auto!important}.ml-xl-auto,.mx-xl-auto{margin-right:auto!important}}.text-monospace{font-family:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace!important}.text-justify{text-align:justify!important}.text-wrap{white-space:normal!important}.text-nowrap{white-space:nowrap!important}.text-truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.text-left{text-align:right!important}.text-right{text-align:left!important}.text-center{text-align:center!important}@media (min-width:576px){.text-sm-left{text-align:right!important}.text-sm-right{text-align:left!important}.text-sm-center{text-align:center!important}}@media (min-width:768px){.text-md-left{text-align:right!important}.text-md-right{text-align:left!important}.text-md-center{text-align:center!important}}@media (min-width:992px){.text-lg-left{text-align:right!important}.text-lg-right{text-align:left!important}.text-lg-center{text-align:center!important}}@media (min-width:1200px){.text-xl-left{text-align:right!important}.text-xl-right{text-align:left!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-lighter{font-weight:lighter!important}.font-weight-normal{font-weight:400!important}.font-weight-bold{font-weight:600!important}.font-weight-bolder{font-weight:bolder!important}.font-italic{font-style:italic!important}.text-white{color:#fff!important}.text-primary{color:#3b5de7!important}a.text-primary:focus,a.text-primary:hover{color:#1738be!important}.text-secondary{color:#969aa5!important}a.text-secondary:focus,a.text-secondary:hover{color:#6e7380!important}.text-success{color:#45cb85!important}a.text-success:focus,a.text-success:hover{color:#2b995f!important}.text-info{color:#0caadc!important}a.text-info:focus,a.text-info:hover{color:#087293!important}.text-warning{color:#eeb902!important}a.text-warning:focus,a.text-warning:hover{color:#a27e01!important}.text-danger{color:#ff715b!important}a.text-danger:focus,a.text-danger:hover{color:#ff2f0f!important}.text-light{color:#364458!important}a.text-light:focus,a.text-light:hover{color:#191f29!important}.text-dark{color:#eff2f7!important}a.text-dark:focus,a.text-dark:hover{color:#bcc9de!important}.text-pink{color:#e83e8c!important}a.text-pink:focus,a.text-pink:hover{color:#c21766!important}.text-body{color:#7f879c!important}.text-muted{color:#7e8396!important}.text-black-50{color:rgba(0,0,0,.5)!important}.text-white-50{color:rgba(255,255,255,.5)!important}.text-hide{font:0/0 a;color:transparent;text-shadow:none;background-color:transparent;border:0}.text-decoration-none{text-decoration:none!important}.text-break{word-break:break-word!important;overflow-wrap:break-word!important}.text-reset{color:inherit!important}.visible{visibility:visible!important}.invisible{visibility:hidden!important}@media print{*,::after,::before{text-shadow:none!important;-webkit-box-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 #7e8396;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 #364458!important}.table-dark{color:inherit}.table-dark tbody+tbody,.table-dark td,.table-dark th,.table-dark thead th{border-color:#364458}.table .thead-dark th{color:inherit;border-color:#364458}}html{position:relative;min-height:100%}.h1,.h2,.h3,.h4,.h5,.h6,h1,h2,h3,h4,h5,h6{color:#e0e0e0}a{text-decoration:none!important}label{font-weight:500}.blockquote{padding:10px 20px;border-right:4px solid #364458}.blockquote-reverse{border-right:0;border-left:4px solid #364458;text-align:left}.bg-soft-primary{background-color:rgba(59,93,231,.25)!important}.bg-soft-secondary{background-color:rgba(150,154,165,.25)!important}.bg-soft-success{background-color:rgba(69,203,133,.25)!important}.bg-soft-info{background-color:rgba(12,170,220,.25)!important}.bg-soft-warning{background-color:rgba(238,185,2,.25)!important}.bg-soft-danger{background-color:rgba(255,113,91,.25)!important}.bg-soft-light{background-color:rgba(54,68,88,.25)!important}.bg-soft-dark{background-color:rgba(239,242,247,.25)!important}.bg-soft-pink{background-color:rgba(232,62,140,.25)!important}.badge-soft-primary{color:#3b5de7;background-color:rgba(59,93,231,.18)}.badge-soft-primary[href]:focus,.badge-soft-primary[href]:hover{color:#3b5de7;text-decoration:none;background-color:rgba(59,93,231,.4)}.badge-soft-secondary{color:#969aa5;background-color:rgba(150,154,165,.18)}.badge-soft-secondary[href]:focus,.badge-soft-secondary[href]:hover{color:#969aa5;text-decoration:none;background-color:rgba(150,154,165,.4)}.badge-soft-success{color:#45cb85;background-color:rgba(69,203,133,.18)}.badge-soft-success[href]:focus,.badge-soft-success[href]:hover{color:#45cb85;text-decoration:none;background-color:rgba(69,203,133,.4)}.badge-soft-info{color:#0caadc;background-color:rgba(12,170,220,.18)}.badge-soft-info[href]:focus,.badge-soft-info[href]:hover{color:#0caadc;text-decoration:none;background-color:rgba(12,170,220,.4)}.badge-soft-warning{color:#eeb902;background-color:rgba(238,185,2,.18)}.badge-soft-warning[href]:focus,.badge-soft-warning[href]:hover{color:#eeb902;text-decoration:none;background-color:rgba(238,185,2,.4)}.badge-soft-danger{color:#ff715b;background-color:rgba(255,113,91,.18)}.badge-soft-danger[href]:focus,.badge-soft-danger[href]:hover{color:#ff715b;text-decoration:none;background-color:rgba(255,113,91,.4)}.badge-soft-light{color:#364458;background-color:rgba(54,68,88,.18)}.badge-soft-light[href]:focus,.badge-soft-light[href]:hover{color:#364458;text-decoration:none;background-color:rgba(54,68,88,.4)}.badge-soft-dark{color:#eff2f7;background-color:rgba(239,242,247,.18)}.badge-soft-dark[href]:focus,.badge-soft-dark[href]:hover{color:#eff2f7;text-decoration:none;background-color:rgba(239,242,247,.4)}.badge-soft-pink{color:#e83e8c;background-color:rgba(232,62,140,.18)}.badge-soft-pink[href]:focus,.badge-soft-pink[href]:hover{color:#e83e8c;text-decoration:none;background-color:rgba(232,62,140,.4)}a,button{outline:0!important}.btn-rounded{border-radius:30px}.btn-dark,.btn-secondary{color:#273344!important}.breadcrumb-item>a{color:#e0e0e0}.breadcrumb-item+.breadcrumb-item::before{font-family:"Material Design Icons"}.card{margin-bottom:24px;-webkit-box-shadow:0 .75rem 1.5rem rgba(18,38,63,.03);box-shadow:0 .75rem 1.5rem rgba(18,38,63,.03)}.card-drop{color:#7f879c}.card-title{font-size:15px;margin:0 0 7px 0;font-weight:500}.card-title-desc{color:#7f879c;margin-bottom:24px;font-size:13px}.dropdown-menu{-webkit-box-shadow:0 1rem 3rem rgba(0,0,0,.175);box-shadow:0 1rem 3rem rgba(0,0,0,.175);-webkit-animation-name:DropDownSlide;animation-name:DropDownSlide;-webkit-animation-duration:.3s;animation-duration:.3s;-webkit-animation-fill-mode:both;animation-fill-mode:both;margin:0;position:absolute;z-index:1000}.dropdown-menu.show{top:100%!important}.dropdown-menu-right{left:0!important;right:auto!important}.dropdown-menu[x-placement^=left],.dropdown-menu[x-placement^=right],.dropdown-menu[x-placement^=top]{top:auto!important;-webkit-animation:none!important;animation:none!important}@-webkit-keyframes DropDownSlide{100%{-webkit-transform:translateY(0);transform:translateY(0)}0%{-webkit-transform:translateY(10px);transform:translateY(10px)}}@keyframes DropDownSlide{100%{-webkit-transform:translateY(0);transform:translateY(0)}0%{-webkit-transform:translateY(10px);transform:translateY(10px)}}@media (min-width:600px){.dropdown-menu-lg{width:320px}}.dropdown-divider{border-top-color:#364458}.dropdown-mega{position:static!important}.dropdown-megamenu{padding:20px;right:20px!important;left:20px!important}.dropdown-mega-menu-xl{width:40rem}.dropdown-mega-menu-lg{width:26rem}.nav-pills>li>a,.nav-tabs>li>a{color:#e0e0e0;font-weight:500}.nav-pills>a{color:#e0e0e0;font-weight:500}.nav-tabs-custom{border-bottom:2px solid #364458}.nav-tabs-custom .nav-item{position:relative;color:#eff2f7}.nav-tabs-custom .nav-item .nav-link{border:none}.nav-tabs-custom .nav-item .nav-link::after{content:"";background:#3b5de7;height:2px;position:absolute;width:100%;right:0;bottom:-1px;-webkit-transition:all 250ms ease 0s;transition:all 250ms ease 0s;-webkit-transform:scale(0);transform:scale(0)}.nav-tabs-custom .nav-item .nav-link.active{color:#3b5de7}.nav-tabs-custom .nav-item .nav-link.active:after{-webkit-transform:scale(1);transform:scale(1)}.table th{font-weight:500}.table-centered td,.table-centered th{vertical-align:middle!important}.table-nowrap td,.table-nowrap th{white-space:nowrap}.pagination-rounded .page-link{border-radius:30px!important;margin:0 3px;border:none}.progress-sm{height:5px}.progress-md{height:8px}.progress-lg{height:12px}.animated-progess{position:relative}.animated-progess .progress-bar{position:relative;border-radius:6px;-webkit-animation:animate-positive 2s;animation:animate-positive 2s}@-webkit-keyframes animate-positive{0%{width:0}}@keyframes animate-positive{0%{width:0}} diff --git a/public/assets/css/bootstrap.min.css b/public/assets/css/bootstrap.min.css new file mode 100644 index 0000000..22490c9 --- /dev/null +++ b/public/assets/css/bootstrap.min.css @@ -0,0 +1,6 @@ +/*! + * Bootstrap v4.4.1 (https://getbootstrap.com/) + * Copyright 2011-2019 The Bootstrap Authors + * Copyright 2011-2019 Twitter, Inc. + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) + */:root{--blue:#3b5de7;--indigo:#564ab1;--purple:#6f42c1;--pink:#e83e8c;--red:#FF715B;--orange:#f1734f;--yellow:#EEB902;--green:#45cb85;--teal:#050505;--cyan:#0CAADC;--white:#fff;--gray:#8687a7;--gray-dark:#343a40;--primary:#3b5de7;--secondary:#8687a7;--success:#45cb85;--info:#0CAADC;--warning:#EEB902;--danger:#FF715B;--light:#eff2f7;--dark:#343a40;--pink:#e83e8c;--breakpoint-xs:0;--breakpoint-sm:576px;--breakpoint-md:768px;--breakpoint-lg:992px;--breakpoint-xl:1200px;--font-family-sans-serif:"SF UI Text",sans-serif;--font-family-monospace:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace}*,::after,::before{-webkit-box-sizing:border-box;box-sizing:border-box}html{font-family:sans-serif;line-height:1.15;-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent}article,aside,figcaption,figure,footer,header,hgroup,main,nav,section{display:block}body{margin:0;font-family:"SF UI Text",sans-serif;font-size:.875rem;font-weight:400;line-height:1.5;color:#8687a7;text-align:right;background-color:#f3f5f7}[tabindex="-1"]:focus:not(:focus-visible){outline:0!important}hr{-webkit-box-sizing:content-box;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;-webkit-text-decoration-skip-ink:none;text-decoration-skip-ink:none}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:500}dd{margin-bottom:.5rem;margin-right:0}blockquote{margin:0 0 1rem}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:#3b5de7;text-decoration:none;background-color:transparent}a:hover{color:#1738be;text-decoration:underline}a:not([href]){color:inherit;text-decoration:none}a:not([href]):hover{color:inherit;text-decoration:none}code,kbd,pre,samp{font-family:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;font-size:1em}pre{margin-top:0;margin-bottom:1rem;overflow:auto}figure{margin:0 0 1rem}img{vertical-align:middle;border-style:none}svg{overflow:hidden;vertical-align:middle}table{border-collapse:collapse}caption{padding-top:.75rem;padding-bottom:.75rem;color:#8687a7;text-align:right;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}select{word-wrap:normal}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}[type=button]:not(:disabled),[type=reset]:not(:disabled),[type=submit]:not(:disabled),button:not(:disabled){cursor:pointer}[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]{-webkit-box-sizing:border-box;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-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-weight:500;line-height:1.2}.h1,h1{font-size:2.1875rem}.h2,h2{font-size:1.75rem}.h3,h3{font-size:1.53125rem}.h4,h4{font-size:1.3125rem}.h5,h5{font-size:1.09375rem}.h6,h6{font-size:.875rem}.lead{font-size:1.09375rem;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-right:0;list-style:none}.list-inline{padding-right:0;list-style:none}.list-inline-item{display:inline-block}.list-inline-item:not(:last-child){margin-left:.5rem}.initialism{font-size:90%;text-transform:uppercase}.blockquote{margin-bottom:1rem;font-size:1.09375rem}.blockquote-footer{display:block;font-size:80%;color:#8687a7}.blockquote-footer::before{content:"\2014\00A0"}.img-fluid{max-width:100%;height:auto}.img-thumbnail{padding:.25rem;background-color:#f3f5f7;border:1px solid #f6f6f6;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:#8687a7}code{font-size:87.5%;color:#e83e8c;word-wrap: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:600}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-left:12px;padding-right:12px;margin-left:auto;margin-right: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,.container-lg,.container-md,.container-sm,.container-xl{width:100%;padding-left:12px;padding-right:12px;margin-left:auto;margin-right:auto}@media (min-width:576px){.container,.container-sm{max-width:540px}}@media (min-width:768px){.container,.container-md,.container-sm{max-width:720px}}@media (min-width:992px){.container,.container-lg,.container-md,.container-sm{max-width:960px}}@media (min-width:1200px){.container,.container-lg,.container-md,.container-sm,.container-xl{max-width:1140px}}.row{display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;margin-left:-12px;margin-right:-12px}.no-gutters{margin-left:0;margin-right:0}.no-gutters>.col,.no-gutters>[class*=col-]{padding-left:0;padding-right: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%;padding-left:12px;padding-right:12px}.col{-ms-flex-preferred-size:0;flex-basis:0;-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1;max-width:100%}.row-cols-1>*{-webkit-box-flex:0;-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.row-cols-2>*{-webkit-box-flex:0;-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.row-cols-3>*{-webkit-box-flex:0;-ms-flex:0 0 33.33333%;flex:0 0 33.33333%;max-width:33.33333%}.row-cols-4>*{-webkit-box-flex:0;-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.row-cols-5>*{-webkit-box-flex:0;-ms-flex:0 0 20%;flex:0 0 20%;max-width:20%}.row-cols-6>*{-webkit-box-flex:0;-ms-flex:0 0 16.66667%;flex:0 0 16.66667%;max-width:16.66667%}.col-auto{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;width:auto;max-width:100%}.col-1{-webkit-box-flex:0;-ms-flex:0 0 8.33333%;flex:0 0 8.33333%;max-width:8.33333%}.col-2{-webkit-box-flex:0;-ms-flex:0 0 16.66667%;flex:0 0 16.66667%;max-width:16.66667%}.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.33333%;flex:0 0 33.33333%;max-width:33.33333%}.col-5{-webkit-box-flex:0;-ms-flex:0 0 41.66667%;flex:0 0 41.66667%;max-width:41.66667%}.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.33333%;flex:0 0 58.33333%;max-width:58.33333%}.col-8{-webkit-box-flex:0;-ms-flex:0 0 66.66667%;flex:0 0 66.66667%;max-width:66.66667%}.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.33333%;flex:0 0 83.33333%;max-width:83.33333%}.col-11{-webkit-box-flex:0;-ms-flex:0 0 91.66667%;flex:0 0 91.66667%;max-width:91.66667%}.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-right:8.33333%}.offset-2{margin-right:16.66667%}.offset-3{margin-right:25%}.offset-4{margin-right:33.33333%}.offset-5{margin-right:41.66667%}.offset-6{margin-right:50%}.offset-7{margin-right:58.33333%}.offset-8{margin-right:66.66667%}.offset-9{margin-right:75%}.offset-10{margin-right:83.33333%}.offset-11{margin-right:91.66667%}@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%}.row-cols-sm-1>*{-webkit-box-flex:0;-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.row-cols-sm-2>*{-webkit-box-flex:0;-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.row-cols-sm-3>*{-webkit-box-flex:0;-ms-flex:0 0 33.33333%;flex:0 0 33.33333%;max-width:33.33333%}.row-cols-sm-4>*{-webkit-box-flex:0;-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.row-cols-sm-5>*{-webkit-box-flex:0;-ms-flex:0 0 20%;flex:0 0 20%;max-width:20%}.row-cols-sm-6>*{-webkit-box-flex:0;-ms-flex:0 0 16.66667%;flex:0 0 16.66667%;max-width:16.66667%}.col-sm-auto{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;width:auto;max-width:100%}.col-sm-1{-webkit-box-flex:0;-ms-flex:0 0 8.33333%;flex:0 0 8.33333%;max-width:8.33333%}.col-sm-2{-webkit-box-flex:0;-ms-flex:0 0 16.66667%;flex:0 0 16.66667%;max-width:16.66667%}.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.33333%;flex:0 0 33.33333%;max-width:33.33333%}.col-sm-5{-webkit-box-flex:0;-ms-flex:0 0 41.66667%;flex:0 0 41.66667%;max-width:41.66667%}.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.33333%;flex:0 0 58.33333%;max-width:58.33333%}.col-sm-8{-webkit-box-flex:0;-ms-flex:0 0 66.66667%;flex:0 0 66.66667%;max-width:66.66667%}.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.33333%;flex:0 0 83.33333%;max-width:83.33333%}.col-sm-11{-webkit-box-flex:0;-ms-flex:0 0 91.66667%;flex:0 0 91.66667%;max-width:91.66667%}.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-right:0}.offset-sm-1{margin-right:8.33333%}.offset-sm-2{margin-right:16.66667%}.offset-sm-3{margin-right:25%}.offset-sm-4{margin-right:33.33333%}.offset-sm-5{margin-right:41.66667%}.offset-sm-6{margin-right:50%}.offset-sm-7{margin-right:58.33333%}.offset-sm-8{margin-right:66.66667%}.offset-sm-9{margin-right:75%}.offset-sm-10{margin-right:83.33333%}.offset-sm-11{margin-right:91.66667%}}@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%}.row-cols-md-1>*{-webkit-box-flex:0;-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.row-cols-md-2>*{-webkit-box-flex:0;-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.row-cols-md-3>*{-webkit-box-flex:0;-ms-flex:0 0 33.33333%;flex:0 0 33.33333%;max-width:33.33333%}.row-cols-md-4>*{-webkit-box-flex:0;-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.row-cols-md-5>*{-webkit-box-flex:0;-ms-flex:0 0 20%;flex:0 0 20%;max-width:20%}.row-cols-md-6>*{-webkit-box-flex:0;-ms-flex:0 0 16.66667%;flex:0 0 16.66667%;max-width:16.66667%}.col-md-auto{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;width:auto;max-width:100%}.col-md-1{-webkit-box-flex:0;-ms-flex:0 0 8.33333%;flex:0 0 8.33333%;max-width:8.33333%}.col-md-2{-webkit-box-flex:0;-ms-flex:0 0 16.66667%;flex:0 0 16.66667%;max-width:16.66667%}.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.33333%;flex:0 0 33.33333%;max-width:33.33333%}.col-md-5{-webkit-box-flex:0;-ms-flex:0 0 41.66667%;flex:0 0 41.66667%;max-width:41.66667%}.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.33333%;flex:0 0 58.33333%;max-width:58.33333%}.col-md-8{-webkit-box-flex:0;-ms-flex:0 0 66.66667%;flex:0 0 66.66667%;max-width:66.66667%}.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.33333%;flex:0 0 83.33333%;max-width:83.33333%}.col-md-11{-webkit-box-flex:0;-ms-flex:0 0 91.66667%;flex:0 0 91.66667%;max-width:91.66667%}.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-right:0}.offset-md-1{margin-right:8.33333%}.offset-md-2{margin-right:16.66667%}.offset-md-3{margin-right:25%}.offset-md-4{margin-right:33.33333%}.offset-md-5{margin-right:41.66667%}.offset-md-6{margin-right:50%}.offset-md-7{margin-right:58.33333%}.offset-md-8{margin-right:66.66667%}.offset-md-9{margin-right:75%}.offset-md-10{margin-right:83.33333%}.offset-md-11{margin-right:91.66667%}}@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%}.row-cols-lg-1>*{-webkit-box-flex:0;-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.row-cols-lg-2>*{-webkit-box-flex:0;-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.row-cols-lg-3>*{-webkit-box-flex:0;-ms-flex:0 0 33.33333%;flex:0 0 33.33333%;max-width:33.33333%}.row-cols-lg-4>*{-webkit-box-flex:0;-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.row-cols-lg-5>*{-webkit-box-flex:0;-ms-flex:0 0 20%;flex:0 0 20%;max-width:20%}.row-cols-lg-6>*{-webkit-box-flex:0;-ms-flex:0 0 16.66667%;flex:0 0 16.66667%;max-width:16.66667%}.col-lg-auto{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;width:auto;max-width:100%}.col-lg-1{-webkit-box-flex:0;-ms-flex:0 0 8.33333%;flex:0 0 8.33333%;max-width:8.33333%}.col-lg-2{-webkit-box-flex:0;-ms-flex:0 0 16.66667%;flex:0 0 16.66667%;max-width:16.66667%}.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.33333%;flex:0 0 33.33333%;max-width:33.33333%}.col-lg-5{-webkit-box-flex:0;-ms-flex:0 0 41.66667%;flex:0 0 41.66667%;max-width:41.66667%}.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.33333%;flex:0 0 58.33333%;max-width:58.33333%}.col-lg-8{-webkit-box-flex:0;-ms-flex:0 0 66.66667%;flex:0 0 66.66667%;max-width:66.66667%}.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.33333%;flex:0 0 83.33333%;max-width:83.33333%}.col-lg-11{-webkit-box-flex:0;-ms-flex:0 0 91.66667%;flex:0 0 91.66667%;max-width:91.66667%}.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-right:0}.offset-lg-1{margin-right:8.33333%}.offset-lg-2{margin-right:16.66667%}.offset-lg-3{margin-right:25%}.offset-lg-4{margin-right:33.33333%}.offset-lg-5{margin-right:41.66667%}.offset-lg-6{margin-right:50%}.offset-lg-7{margin-right:58.33333%}.offset-lg-8{margin-right:66.66667%}.offset-lg-9{margin-right:75%}.offset-lg-10{margin-right:83.33333%}.offset-lg-11{margin-right:91.66667%}}@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%}.row-cols-xl-1>*{-webkit-box-flex:0;-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.row-cols-xl-2>*{-webkit-box-flex:0;-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.row-cols-xl-3>*{-webkit-box-flex:0;-ms-flex:0 0 33.33333%;flex:0 0 33.33333%;max-width:33.33333%}.row-cols-xl-4>*{-webkit-box-flex:0;-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.row-cols-xl-5>*{-webkit-box-flex:0;-ms-flex:0 0 20%;flex:0 0 20%;max-width:20%}.row-cols-xl-6>*{-webkit-box-flex:0;-ms-flex:0 0 16.66667%;flex:0 0 16.66667%;max-width:16.66667%}.col-xl-auto{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;width:auto;max-width:100%}.col-xl-1{-webkit-box-flex:0;-ms-flex:0 0 8.33333%;flex:0 0 8.33333%;max-width:8.33333%}.col-xl-2{-webkit-box-flex:0;-ms-flex:0 0 16.66667%;flex:0 0 16.66667%;max-width:16.66667%}.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.33333%;flex:0 0 33.33333%;max-width:33.33333%}.col-xl-5{-webkit-box-flex:0;-ms-flex:0 0 41.66667%;flex:0 0 41.66667%;max-width:41.66667%}.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.33333%;flex:0 0 58.33333%;max-width:58.33333%}.col-xl-8{-webkit-box-flex:0;-ms-flex:0 0 66.66667%;flex:0 0 66.66667%;max-width:66.66667%}.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.33333%;flex:0 0 83.33333%;max-width:83.33333%}.col-xl-11{-webkit-box-flex:0;-ms-flex:0 0 91.66667%;flex:0 0 91.66667%;max-width:91.66667%}.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-right:0}.offset-xl-1{margin-right:8.33333%}.offset-xl-2{margin-right:16.66667%}.offset-xl-3{margin-right:25%}.offset-xl-4{margin-right:33.33333%}.offset-xl-5{margin-right:41.66667%}.offset-xl-6{margin-right:50%}.offset-xl-7{margin-right:58.33333%}.offset-xl-8{margin-right:66.66667%}.offset-xl-9{margin-right:75%}.offset-xl-10{margin-right:83.33333%}.offset-xl-11{margin-right:91.66667%}}.table{width:100%;margin-bottom:1rem;color:#8687a7}.table td,.table th{padding:.75rem;vertical-align:top;border-top:1px solid #eff2f7}.table thead th{vertical-align:bottom;border-bottom:2px solid #eff2f7}.table tbody+tbody{border-top:2px solid #eff2f7}.table-sm td,.table-sm th{padding:.3rem}.table-bordered{border:1px solid #eff2f7}.table-bordered td,.table-bordered th{border:1px solid #eff2f7}.table-bordered thead td,.table-bordered thead th{border-bottom-width:2px}.table-borderless tbody+tbody,.table-borderless td,.table-borderless th,.table-borderless thead th{border:0}.table-striped tbody tr:nth-of-type(odd){background-color:#f8f9fa}.table-hover tbody tr:hover{color:#8687a7;background-color:#f8f9fa}.table-primary,.table-primary>td,.table-primary>th{background-color:#c8d2f8}.table-primary tbody+tbody,.table-primary td,.table-primary th,.table-primary thead th{border-color:#99abf3}.table-hover .table-primary:hover{background-color:#b1bff5}.table-hover .table-primary:hover>td,.table-hover .table-primary:hover>th{background-color:#b1bff5}.table-secondary,.table-secondary>td,.table-secondary>th{background-color:#dddde6}.table-secondary tbody+tbody,.table-secondary td,.table-secondary th,.table-secondary thead th{border-color:#c0c1d1}.table-hover .table-secondary:hover{background-color:#cecedb}.table-hover .table-secondary:hover>td,.table-hover .table-secondary:hover>th{background-color:#cecedb}.table-success,.table-success>td,.table-success>th{background-color:#cbf0dd}.table-success tbody+tbody,.table-success td,.table-success th,.table-success thead th{border-color:#9ee4c0}.table-hover .table-success:hover{background-color:#b7ead0}.table-hover .table-success:hover>td,.table-hover .table-success:hover>th{background-color:#b7ead0}.table-info,.table-info>td,.table-info>th{background-color:#bbe7f5}.table-info tbody+tbody,.table-info td,.table-info th,.table-info thead th{border-color:#81d3ed}.table-hover .table-info:hover{background-color:#a5dff2}.table-hover .table-info:hover>td,.table-hover .table-info:hover>th{background-color:#a5dff2}.table-warning,.table-warning>td,.table-warning>th{background-color:#faebb8}.table-warning tbody+tbody,.table-warning td,.table-warning th,.table-warning thead th{border-color:#f6db7b}.table-hover .table-warning:hover{background-color:#f8e4a0}.table-hover .table-warning:hover>td,.table-hover .table-warning:hover>th{background-color:#f8e4a0}.table-danger,.table-danger>td,.table-danger>th{background-color:#ffd7d1}.table-danger tbody+tbody,.table-danger td,.table-danger th,.table-danger thead th{border-color:#ffb5aa}.table-hover .table-danger:hover{background-color:#ffc1b8}.table-hover .table-danger:hover>td,.table-hover .table-danger:hover>th{background-color:#ffc1b8}.table-light,.table-light>td,.table-light>th{background-color:#fbfbfd}.table-light tbody+tbody,.table-light td,.table-light th,.table-light thead th{border-color:#f7f8fb}.table-hover .table-light:hover{background-color:#eaeaf5}.table-hover .table-light:hover>td,.table-hover .table-light:hover>th{background-color:#eaeaf5}.table-dark,.table-dark>td,.table-dark>th{background-color:#c6c8ca}.table-dark tbody+tbody,.table-dark td,.table-dark th,.table-dark thead th{border-color:#95999c}.table-hover .table-dark:hover{background-color:#b9bbbe}.table-hover .table-dark:hover>td,.table-hover .table-dark:hover>th{background-color:#b9bbbe}.table-pink,.table-pink>td,.table-pink>th{background-color:#f9c9df}.table-pink tbody+tbody,.table-pink td,.table-pink th,.table-pink thead th{border-color:#f39bc3}.table-hover .table-pink:hover{background-color:#f6b2d1}.table-hover .table-pink:hover>td,.table-hover .table-pink:hover>th{background-color:#f6b2d1}.table-active,.table-active>td,.table-active>th{background-color:#f8f9fa}.table-hover .table-active:hover{background-color:#e9ecef}.table-hover .table-active:hover>td,.table-hover .table-active:hover>th{background-color:#e9ecef}.table .thead-dark th{color:#fff;background-color:#343a40;border-color:#454d55}.table .thead-light th{color:#495057;background-color:#f8f9fa;border-color:#eff2f7}.table-dark{color:#fff;background-color:#343a40}.table-dark td,.table-dark th,.table-dark thead th{border-color:#454d55}.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{color:#fff;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}.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}.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}.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}.table-responsive-xl>.table-bordered{border:0}}.table-responsive{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.table-responsive>.table-bordered{border:0}.form-control{display:block;width:100%;height:calc(1.5em + .94rem + 2px);padding:.47rem .75rem;font-size:.875rem;font-weight:400;line-height:1.5;color:#495057;background-color:#fff;background-clip:padding-box;border:1px solid #ced4da;border-radius:.25rem;-webkit-transition:border-color .15s ease-in-out,-webkit-box-shadow .15s ease-in-out;transition:border-color .15s ease-in-out,-webkit-box-shadow .15s ease-in-out;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out,-webkit-box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.form-control{-webkit-transition:none;transition:none}}.form-control::-ms-expand{background-color:transparent;border:0}.form-control:-moz-focusring{color:transparent;text-shadow:0 0 0 #495057}.form-control:focus{color:#495057;background-color:#fff;border-color:#b1bbc4;outline:0;-webkit-box-shadow:none;box-shadow:none}.form-control::-webkit-input-placeholder{color:#8687a7;opacity:1}.form-control::-moz-placeholder{color:#8687a7;opacity:1}.form-control:-ms-input-placeholder{color:#8687a7;opacity:1}.form-control::-ms-input-placeholder{color:#8687a7;opacity:1}.form-control::placeholder{color:#8687a7;opacity:1}.form-control:disabled,.form-control[readonly]{background-color:#fff;opacity:1}select.form-control:focus::-ms-value{color:#495057;background-color:#fff}.form-control-file,.form-control-range{display:block;width:100%}.col-form-label{padding-top:calc(.47rem + 1px);padding-bottom:calc(.47rem + 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.09375rem;line-height:1.5}.col-form-label-sm{padding-top:calc(.25rem + 1px);padding-bottom:calc(.25rem + 1px);font-size:.76563rem;line-height:1.5}.form-control-plaintext{display:block;width:100%;padding:.47rem 0;margin-bottom:0;font-size:.875rem;line-height:1.5;color:#8687a7;background-color:transparent;border:solid transparent;border-width:1px 0}.form-control-plaintext.form-control-lg,.form-control-plaintext.form-control-sm{padding-left:0;padding-right:0}.form-control-sm{height:calc(1.5em + .5rem + 2px);padding:.25rem .5rem;font-size:.76563rem;line-height:1.5;border-radius:.2rem}.form-control-lg{height:calc(1.5em + 1rem + 2px);padding:.5rem 1rem;font-size:1.09375rem;line-height:1.5;border-radius:.4rem}select.form-control[multiple],select.form-control[size]{height:auto}textarea.form-control{height:auto}.form-group{margin-bottom:1rem}.form-text{display:block;margin-top:.25rem}.form-row{display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;margin-left:-5px;margin-right:-5px}.form-row>.col,.form-row>[class*=col-]{padding-left:5px;padding-right:5px}.form-check{position:relative;display:block;padding-right:1.25rem}.form-check-input{position:absolute;margin-top:.3rem;margin-right:-1.25rem}.form-check-input:disabled~.form-check-label,.form-check-input[disabled]~.form-check-label{color:#8687a7}.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-right:0;margin-left:.75rem}.form-check-inline .form-check-input{position:static;margin-top:0;margin-left:.3125rem;margin-right:0}.valid-feedback{display:none;width:100%;margin-top:.25rem;font-size:80%;color:#45cb85}.valid-tooltip{position:absolute;top:100%;z-index:5;display:none;max-width:100%;padding:.4rem .7rem;margin-top:.1rem;font-size:.76563rem;line-height:1.5;color:#fff;background-color:rgba(69,203,133,.9);border-radius:.25rem}.is-valid~.valid-feedback,.is-valid~.valid-tooltip,.was-validated :valid~.valid-feedback,.was-validated :valid~.valid-tooltip{display:block}.form-control.is-valid,.was-validated .form-control:valid{border-color:#45cb85;padding-left:calc(1.5em + .94rem);background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%2345cb85' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e");background-repeat:no-repeat;background-position:left calc(.375em + .235rem) center;background-size:calc(.75em + .47rem) calc(.75em + .47rem)}.form-control.is-valid:focus,.was-validated .form-control:valid:focus{border-color:#45cb85;-webkit-box-shadow:0 0 0 .15rem rgba(69,203,133,.25);box-shadow:0 0 0 .15rem rgba(69,203,133,.25)}.was-validated textarea.form-control:valid,textarea.form-control.is-valid{padding-left:calc(1.5em + .94rem);background-position:top calc(.375em + .235rem) left calc(.375em + .235rem)}.custom-select.is-valid,.was-validated .custom-select:valid{border-color:#45cb85;padding-left:calc((1em + .94rem) * 3 / 4 + 1.75rem);background:url("data:image/svg+xml,%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 left .75rem center/8px 10px,url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%2345cb85' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e") #fff no-repeat center left 1.75rem/calc(.75em + .47rem) calc(.75em + .47rem)}.custom-select.is-valid:focus,.was-validated .custom-select:valid:focus{border-color:#45cb85;-webkit-box-shadow:0 0 0 .15rem rgba(69,203,133,.25);box-shadow:0 0 0 .15rem rgba(69,203,133,.25)}.form-check-input.is-valid~.form-check-label,.was-validated .form-check-input:valid~.form-check-label{color:#45cb85}.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:#45cb85}.custom-control-input.is-valid~.custom-control-label::before,.was-validated .custom-control-input:valid~.custom-control-label::before{border-color:#45cb85}.custom-control-input.is-valid:checked~.custom-control-label::before,.was-validated .custom-control-input:valid:checked~.custom-control-label::before{border-color:#6dd69f;background-color:#6dd69f}.custom-control-input.is-valid:focus~.custom-control-label::before,.was-validated .custom-control-input:valid:focus~.custom-control-label::before{-webkit-box-shadow:0 0 0 .15rem rgba(69,203,133,.25);box-shadow:0 0 0 .15rem rgba(69,203,133,.25)}.custom-control-input.is-valid:focus:not(:checked)~.custom-control-label::before,.was-validated .custom-control-input:valid:focus:not(:checked)~.custom-control-label::before{border-color:#45cb85}.custom-file-input.is-valid~.custom-file-label,.was-validated .custom-file-input:valid~.custom-file-label{border-color:#45cb85}.custom-file-input.is-valid:focus~.custom-file-label,.was-validated .custom-file-input:valid:focus~.custom-file-label{border-color:#45cb85;-webkit-box-shadow:0 0 0 .15rem rgba(69,203,133,.25);box-shadow:0 0 0 .15rem rgba(69,203,133,.25)}.invalid-feedback{display:none;width:100%;margin-top:.25rem;font-size:80%;color:#ff715b}.invalid-tooltip{position:absolute;top:100%;z-index:5;display:none;max-width:100%;padding:.4rem .7rem;margin-top:.1rem;font-size:.76563rem;line-height:1.5;color:#fff;background-color:rgba(255,113,91,.9);border-radius:.25rem}.is-invalid~.invalid-feedback,.is-invalid~.invalid-tooltip,.was-validated :invalid~.invalid-feedback,.was-validated :invalid~.invalid-tooltip{display:block}.form-control.is-invalid,.was-validated .form-control:invalid{border-color:#ff715b;padding-left:calc(1.5em + .94rem);background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='%23FF715B' viewBox='-2 -2 7 7'%3e%3cpath stroke='%23FF715B' d='M0 0l3 3m0-3L0 3'/%3e%3ccircle r='.5'/%3e%3ccircle cx='3' r='.5'/%3e%3ccircle cy='3' r='.5'/%3e%3ccircle cx='3' cy='3' r='.5'/%3e%3c/svg%3E");background-repeat:no-repeat;background-position:left calc(.375em + .235rem) center;background-size:calc(.75em + .47rem) calc(.75em + .47rem)}.form-control.is-invalid:focus,.was-validated .form-control:invalid:focus{border-color:#ff715b;-webkit-box-shadow:0 0 0 .15rem rgba(255,113,91,.25);box-shadow:0 0 0 .15rem rgba(255,113,91,.25)}.was-validated textarea.form-control:invalid,textarea.form-control.is-invalid{padding-left:calc(1.5em + .94rem);background-position:top calc(.375em + .235rem) left calc(.375em + .235rem)}.custom-select.is-invalid,.was-validated .custom-select:invalid{border-color:#ff715b;padding-left:calc((1em + .94rem) * 3 / 4 + 1.75rem);background:url("data:image/svg+xml,%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 left .75rem center/8px 10px,url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='%23FF715B' viewBox='-2 -2 7 7'%3e%3cpath stroke='%23FF715B' d='M0 0l3 3m0-3L0 3'/%3e%3ccircle r='.5'/%3e%3ccircle cx='3' r='.5'/%3e%3ccircle cy='3' r='.5'/%3e%3ccircle cx='3' cy='3' r='.5'/%3e%3c/svg%3E") #fff no-repeat center left 1.75rem/calc(.75em + .47rem) calc(.75em + .47rem)}.custom-select.is-invalid:focus,.was-validated .custom-select:invalid:focus{border-color:#ff715b;-webkit-box-shadow:0 0 0 .15rem rgba(255,113,91,.25);box-shadow:0 0 0 .15rem rgba(255,113,91,.25)}.form-check-input.is-invalid~.form-check-label,.was-validated .form-check-input:invalid~.form-check-label{color:#ff715b}.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:#ff715b}.custom-control-input.is-invalid~.custom-control-label::before,.was-validated .custom-control-input:invalid~.custom-control-label::before{border-color:#ff715b}.custom-control-input.is-invalid:checked~.custom-control-label::before,.was-validated .custom-control-input:invalid:checked~.custom-control-label::before{border-color:#ff9d8e;background-color:#ff9d8e}.custom-control-input.is-invalid:focus~.custom-control-label::before,.was-validated .custom-control-input:invalid:focus~.custom-control-label::before{-webkit-box-shadow:0 0 0 .15rem rgba(255,113,91,.25);box-shadow:0 0 0 .15rem rgba(255,113,91,.25)}.custom-control-input.is-invalid:focus:not(:checked)~.custom-control-label::before,.was-validated .custom-control-input:invalid:focus:not(:checked)~.custom-control-label::before{border-color:#ff715b}.custom-file-input.is-invalid~.custom-file-label,.was-validated .custom-file-input:invalid~.custom-file-label{border-color:#ff715b}.custom-file-input.is-invalid:focus~.custom-file-label,.was-validated .custom-file-input:invalid:focus~.custom-file-label{border-color:#ff715b;-webkit-box-shadow:0 0 0 .15rem rgba(255,113,91,.25);box-shadow:0 0 0 .15rem rgba(255,113,91,.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 .custom-select,.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-right:0}.form-inline .form-check-input{position:relative;-ms-flex-negative:0;flex-shrink:0;margin-top:0;margin-left:.25rem;margin-right: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;color:#8687a7;text-align:center;vertical-align:middle;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;background-color:transparent;border:1px solid transparent;padding:.47rem .75rem;font-size:.875rem;line-height:1.5;border-radius:.25rem;-webkit-transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,-webkit-box-shadow .15s ease-in-out;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,-webkit-box-shadow .15s ease-in-out;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out,-webkit-box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.btn{-webkit-transition:none;transition:none}}.btn:hover{color:#8687a7;text-decoration:none}.btn.focus,.btn:focus{outline:0;-webkit-box-shadow:0 0 0 .15rem rgba(59,93,231,.25);box-shadow:0 0 0 .15rem rgba(59,93,231,.25)}.btn.disabled,.btn:disabled{opacity:.65}a.btn.disabled,fieldset:disabled a.btn{pointer-events:none}.btn-primary{color:#fff;background-color:#3b5de7;border-color:#3b5de7}.btn-primary:hover{color:#fff;background-color:#1b42e0;border-color:#1a3fd5}.btn-primary.focus,.btn-primary:focus{color:#fff;background-color:#1b42e0;border-color:#1a3fd5;-webkit-box-shadow:0 0 0 .15rem rgba(88,117,235,.5);box-shadow:0 0 0 .15rem rgba(88,117,235,.5)}.btn-primary.disabled,.btn-primary:disabled{color:#fff;background-color:#3b5de7;border-color:#3b5de7}.btn-primary:not(:disabled):not(.disabled).active,.btn-primary:not(:disabled):not(.disabled):active,.show>.btn-primary.dropdown-toggle{color:#fff;background-color:#1a3fd5;border-color:#193cca}.btn-primary:not(:disabled):not(.disabled).active:focus,.btn-primary:not(:disabled):not(.disabled):active:focus,.show>.btn-primary.dropdown-toggle:focus{-webkit-box-shadow:0 0 0 .15rem rgba(88,117,235,.5);box-shadow:0 0 0 .15rem rgba(88,117,235,.5)}.btn-secondary{color:#fff;background-color:#8687a7;border-color:#8687a7}.btn-secondary:hover{color:#fff;background-color:#707197;border-color:#696a91}.btn-secondary.focus,.btn-secondary:focus{color:#fff;background-color:#707197;border-color:#696a91;-webkit-box-shadow:0 0 0 .15rem rgba(152,153,180,.5);box-shadow:0 0 0 .15rem rgba(152,153,180,.5)}.btn-secondary.disabled,.btn-secondary:disabled{color:#fff;background-color:#8687a7;border-color:#8687a7}.btn-secondary:not(:disabled):not(.disabled).active,.btn-secondary:not(:disabled):not(.disabled):active,.show>.btn-secondary.dropdown-toggle{color:#fff;background-color:#696a91;border-color:#646589}.btn-secondary:not(:disabled):not(.disabled).active:focus,.btn-secondary:not(:disabled):not(.disabled):active:focus,.show>.btn-secondary.dropdown-toggle:focus{-webkit-box-shadow:0 0 0 .15rem rgba(152,153,180,.5);box-shadow:0 0 0 .15rem rgba(152,153,180,.5)}.btn-success{color:#fff;background-color:#45cb85;border-color:#45cb85}.btn-success:hover{color:#fff;background-color:#33b772;border-color:#30ad6c}.btn-success.focus,.btn-success:focus{color:#fff;background-color:#33b772;border-color:#30ad6c;-webkit-box-shadow:0 0 0 .15rem rgba(97,211,151,.5);box-shadow:0 0 0 .15rem rgba(97,211,151,.5)}.btn-success.disabled,.btn-success:disabled{color:#fff;background-color:#45cb85;border-color:#45cb85}.btn-success:not(:disabled):not(.disabled).active,.btn-success:not(:disabled):not(.disabled):active,.show>.btn-success.dropdown-toggle{color:#fff;background-color:#30ad6c;border-color:#2ea366}.btn-success:not(:disabled):not(.disabled).active:focus,.btn-success:not(:disabled):not(.disabled):active:focus,.show>.btn-success.dropdown-toggle:focus{-webkit-box-shadow:0 0 0 .15rem rgba(97,211,151,.5);box-shadow:0 0 0 .15rem rgba(97,211,151,.5)}.btn-info{color:#fff;background-color:#0caadc;border-color:#0caadc}.btn-info:hover{color:#fff;background-color:#0a8eb8;border-color:#0985ac}.btn-info.focus,.btn-info:focus{color:#fff;background-color:#0a8eb8;border-color:#0985ac;-webkit-box-shadow:0 0 0 .15rem rgba(48,183,225,.5);box-shadow:0 0 0 .15rem rgba(48,183,225,.5)}.btn-info.disabled,.btn-info:disabled{color:#fff;background-color:#0caadc;border-color:#0caadc}.btn-info:not(:disabled):not(.disabled).active,.btn-info:not(:disabled):not(.disabled):active,.show>.btn-info.dropdown-toggle{color:#fff;background-color:#0985ac;border-color:#097ba0}.btn-info:not(:disabled):not(.disabled).active:focus,.btn-info:not(:disabled):not(.disabled):active:focus,.show>.btn-info.dropdown-toggle:focus{-webkit-box-shadow:0 0 0 .15rem rgba(48,183,225,.5);box-shadow:0 0 0 .15rem rgba(48,183,225,.5)}.btn-warning{color:#fff;background-color:#eeb902;border-color:#eeb902}.btn-warning:hover{color:#fff;background-color:#c89c02;border-color:#bb9202}.btn-warning.focus,.btn-warning:focus{color:#fff;background-color:#c89c02;border-color:#bb9202;-webkit-box-shadow:0 0 0 .15rem rgba(241,196,40,.5);box-shadow:0 0 0 .15rem rgba(241,196,40,.5)}.btn-warning.disabled,.btn-warning:disabled{color:#fff;background-color:#eeb902;border-color:#eeb902}.btn-warning:not(:disabled):not(.disabled).active,.btn-warning:not(:disabled):not(.disabled):active,.show>.btn-warning.dropdown-toggle{color:#fff;background-color:#bb9202;border-color:#af8801}.btn-warning:not(:disabled):not(.disabled).active:focus,.btn-warning:not(:disabled):not(.disabled):active:focus,.show>.btn-warning.dropdown-toggle:focus{-webkit-box-shadow:0 0 0 .15rem rgba(241,196,40,.5);box-shadow:0 0 0 .15rem rgba(241,196,40,.5)}.btn-danger{color:#fff;background-color:#ff715b;border-color:#ff715b}.btn-danger:hover{color:#fff;background-color:#ff5035;border-color:#ff4528}.btn-danger.focus,.btn-danger:focus{color:#fff;background-color:#ff5035;border-color:#ff4528;-webkit-box-shadow:0 0 0 .15rem rgba(255,134,116,.5);box-shadow:0 0 0 .15rem rgba(255,134,116,.5)}.btn-danger.disabled,.btn-danger:disabled{color:#fff;background-color:#ff715b;border-color:#ff715b}.btn-danger:not(:disabled):not(.disabled).active,.btn-danger:not(:disabled):not(.disabled):active,.show>.btn-danger.dropdown-toggle{color:#fff;background-color:#ff4528;border-color:#ff3a1b}.btn-danger:not(:disabled):not(.disabled).active:focus,.btn-danger:not(:disabled):not(.disabled):active:focus,.show>.btn-danger.dropdown-toggle:focus{-webkit-box-shadow:0 0 0 .15rem rgba(255,134,116,.5);box-shadow:0 0 0 .15rem rgba(255,134,116,.5)}.btn-light{color:#212529;background-color:#eff2f7;border-color:#eff2f7}.btn-light:hover{color:#212529;background-color:#d6ddea;border-color:#cdd6e6}.btn-light.focus,.btn-light:focus{color:#212529;background-color:#d6ddea;border-color:#cdd6e6;-webkit-box-shadow:0 0 0 .15rem rgba(208,211,216,.5);box-shadow:0 0 0 .15rem rgba(208,211,216,.5)}.btn-light.disabled,.btn-light:disabled{color:#212529;background-color:#eff2f7;border-color:#eff2f7}.btn-light:not(:disabled):not(.disabled).active,.btn-light:not(:disabled):not(.disabled):active,.show>.btn-light.dropdown-toggle{color:#212529;background-color:#cdd6e6;border-color:#c5cfe2}.btn-light:not(:disabled):not(.disabled).active:focus,.btn-light:not(:disabled):not(.disabled):active:focus,.show>.btn-light.dropdown-toggle:focus{-webkit-box-shadow:0 0 0 .15rem rgba(208,211,216,.5);box-shadow:0 0 0 .15rem rgba(208,211,216,.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{color:#fff;background-color:#23272b;border-color:#1d2124;-webkit-box-shadow:0 0 0 .15rem rgba(82,88,93,.5);box-shadow:0 0 0 .15rem rgba(82,88,93,.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{-webkit-box-shadow:0 0 0 .15rem rgba(82,88,93,.5);box-shadow:0 0 0 .15rem rgba(82,88,93,.5)}.btn-pink{color:#fff;background-color:#e83e8c;border-color:#e83e8c}.btn-pink:hover{color:#fff;background-color:#e41c78;border-color:#d91a72}.btn-pink.focus,.btn-pink:focus{color:#fff;background-color:#e41c78;border-color:#d91a72;-webkit-box-shadow:0 0 0 .15rem rgba(235,91,157,.5);box-shadow:0 0 0 .15rem rgba(235,91,157,.5)}.btn-pink.disabled,.btn-pink:disabled{color:#fff;background-color:#e83e8c;border-color:#e83e8c}.btn-pink:not(:disabled):not(.disabled).active,.btn-pink:not(:disabled):not(.disabled):active,.show>.btn-pink.dropdown-toggle{color:#fff;background-color:#d91a72;border-color:#ce196c}.btn-pink:not(:disabled):not(.disabled).active:focus,.btn-pink:not(:disabled):not(.disabled):active:focus,.show>.btn-pink.dropdown-toggle:focus{-webkit-box-shadow:0 0 0 .15rem rgba(235,91,157,.5);box-shadow:0 0 0 .15rem rgba(235,91,157,.5)}.btn-outline-primary{color:#3b5de7;border-color:#3b5de7}.btn-outline-primary:hover{color:#fff;background-color:#3b5de7;border-color:#3b5de7}.btn-outline-primary.focus,.btn-outline-primary:focus{-webkit-box-shadow:0 0 0 .15rem rgba(59,93,231,.5);box-shadow:0 0 0 .15rem rgba(59,93,231,.5)}.btn-outline-primary.disabled,.btn-outline-primary:disabled{color:#3b5de7;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:#3b5de7;border-color:#3b5de7}.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{-webkit-box-shadow:0 0 0 .15rem rgba(59,93,231,.5);box-shadow:0 0 0 .15rem rgba(59,93,231,.5)}.btn-outline-secondary{color:#8687a7;border-color:#8687a7}.btn-outline-secondary:hover{color:#fff;background-color:#8687a7;border-color:#8687a7}.btn-outline-secondary.focus,.btn-outline-secondary:focus{-webkit-box-shadow:0 0 0 .15rem rgba(134,135,167,.5);box-shadow:0 0 0 .15rem rgba(134,135,167,.5)}.btn-outline-secondary.disabled,.btn-outline-secondary:disabled{color:#8687a7;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:#8687a7;border-color:#8687a7}.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{-webkit-box-shadow:0 0 0 .15rem rgba(134,135,167,.5);box-shadow:0 0 0 .15rem rgba(134,135,167,.5)}.btn-outline-success{color:#45cb85;border-color:#45cb85}.btn-outline-success:hover{color:#fff;background-color:#45cb85;border-color:#45cb85}.btn-outline-success.focus,.btn-outline-success:focus{-webkit-box-shadow:0 0 0 .15rem rgba(69,203,133,.5);box-shadow:0 0 0 .15rem rgba(69,203,133,.5)}.btn-outline-success.disabled,.btn-outline-success:disabled{color:#45cb85;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:#45cb85;border-color:#45cb85}.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{-webkit-box-shadow:0 0 0 .15rem rgba(69,203,133,.5);box-shadow:0 0 0 .15rem rgba(69,203,133,.5)}.btn-outline-info{color:#0caadc;border-color:#0caadc}.btn-outline-info:hover{color:#fff;background-color:#0caadc;border-color:#0caadc}.btn-outline-info.focus,.btn-outline-info:focus{-webkit-box-shadow:0 0 0 .15rem rgba(12,170,220,.5);box-shadow:0 0 0 .15rem rgba(12,170,220,.5)}.btn-outline-info.disabled,.btn-outline-info:disabled{color:#0caadc;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:#0caadc;border-color:#0caadc}.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{-webkit-box-shadow:0 0 0 .15rem rgba(12,170,220,.5);box-shadow:0 0 0 .15rem rgba(12,170,220,.5)}.btn-outline-warning{color:#eeb902;border-color:#eeb902}.btn-outline-warning:hover{color:#fff;background-color:#eeb902;border-color:#eeb902}.btn-outline-warning.focus,.btn-outline-warning:focus{-webkit-box-shadow:0 0 0 .15rem rgba(238,185,2,.5);box-shadow:0 0 0 .15rem rgba(238,185,2,.5)}.btn-outline-warning.disabled,.btn-outline-warning:disabled{color:#eeb902;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:#fff;background-color:#eeb902;border-color:#eeb902}.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{-webkit-box-shadow:0 0 0 .15rem rgba(238,185,2,.5);box-shadow:0 0 0 .15rem rgba(238,185,2,.5)}.btn-outline-danger{color:#ff715b;border-color:#ff715b}.btn-outline-danger:hover{color:#fff;background-color:#ff715b;border-color:#ff715b}.btn-outline-danger.focus,.btn-outline-danger:focus{-webkit-box-shadow:0 0 0 .15rem rgba(255,113,91,.5);box-shadow:0 0 0 .15rem rgba(255,113,91,.5)}.btn-outline-danger.disabled,.btn-outline-danger:disabled{color:#ff715b;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:#ff715b;border-color:#ff715b}.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{-webkit-box-shadow:0 0 0 .15rem rgba(255,113,91,.5);box-shadow:0 0 0 .15rem rgba(255,113,91,.5)}.btn-outline-light{color:#eff2f7;border-color:#eff2f7}.btn-outline-light:hover{color:#212529;background-color:#eff2f7;border-color:#eff2f7}.btn-outline-light.focus,.btn-outline-light:focus{-webkit-box-shadow:0 0 0 .15rem rgba(239,242,247,.5);box-shadow:0 0 0 .15rem rgba(239,242,247,.5)}.btn-outline-light.disabled,.btn-outline-light:disabled{color:#eff2f7;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:#eff2f7;border-color:#eff2f7}.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{-webkit-box-shadow:0 0 0 .15rem rgba(239,242,247,.5);box-shadow:0 0 0 .15rem rgba(239,242,247,.5)}.btn-outline-dark{color:#343a40;border-color:#343a40}.btn-outline-dark:hover{color:#fff;background-color:#343a40;border-color:#343a40}.btn-outline-dark.focus,.btn-outline-dark:focus{-webkit-box-shadow:0 0 0 .15rem rgba(52,58,64,.5);box-shadow:0 0 0 .15rem 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{-webkit-box-shadow:0 0 0 .15rem rgba(52,58,64,.5);box-shadow:0 0 0 .15rem rgba(52,58,64,.5)}.btn-outline-pink{color:#e83e8c;border-color:#e83e8c}.btn-outline-pink:hover{color:#fff;background-color:#e83e8c;border-color:#e83e8c}.btn-outline-pink.focus,.btn-outline-pink:focus{-webkit-box-shadow:0 0 0 .15rem rgba(232,62,140,.5);box-shadow:0 0 0 .15rem rgba(232,62,140,.5)}.btn-outline-pink.disabled,.btn-outline-pink:disabled{color:#e83e8c;background-color:transparent}.btn-outline-pink:not(:disabled):not(.disabled).active,.btn-outline-pink:not(:disabled):not(.disabled):active,.show>.btn-outline-pink.dropdown-toggle{color:#fff;background-color:#e83e8c;border-color:#e83e8c}.btn-outline-pink:not(:disabled):not(.disabled).active:focus,.btn-outline-pink:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-pink.dropdown-toggle:focus{-webkit-box-shadow:0 0 0 .15rem rgba(232,62,140,.5);box-shadow:0 0 0 .15rem rgba(232,62,140,.5)}.btn-link{font-weight:400;color:#3b5de7;text-decoration:none}.btn-link:hover{color:#1738be;text-decoration:underline}.btn-link.focus,.btn-link:focus{text-decoration:underline;-webkit-box-shadow:none;box-shadow:none}.btn-link.disabled,.btn-link:disabled{color:#8687a7;pointer-events:none}.btn-group-lg>.btn,.btn-lg{padding:.5rem 1rem;font-size:1.09375rem;line-height:1.5;border-radius:.4rem}.btn-group-sm>.btn,.btn-sm{padding:.25rem .5rem;font-size:.76563rem;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{-webkit-transition:opacity .15s linear;transition:opacity .15s linear}@media (prefers-reduced-motion:reduce){.fade{-webkit-transition:none;transition:none}}.fade:not(.show){opacity:0}.collapse:not(.show){display:none}.collapsing{position:relative;height:0;overflow:hidden;-webkit-transition:height .35s ease;transition:height .35s ease}@media (prefers-reduced-motion:reduce){.collapsing{-webkit-transition:none;transition:none}}.dropdown,.dropleft,.dropright,.dropup{position:relative}.dropdown-toggle{white-space:nowrap}.dropdown-menu{position:absolute;top:100%;right:0;z-index:1000;display:none;float:right;min-width:10rem;padding:.5rem 0;margin:.125rem 0 0;font-size:.875rem;color:#8687a7;text-align:right;list-style:none;background-color:#fff;background-clip:padding-box;border:0 solid rgba(0,0,0,.15);border-radius:.25rem}.dropdown-menu-left{left:auto;right:0}.dropdown-menu-right{left:0;right:auto}@media (min-width:576px){.dropdown-menu-sm-left{left:auto;right:0}.dropdown-menu-sm-right{left:0;right:auto}}@media (min-width:768px){.dropdown-menu-md-left{left:auto;right:0}.dropdown-menu-md-right{left:0;right:auto}}@media (min-width:992px){.dropdown-menu-lg-left{left:auto;right:0}.dropdown-menu-lg-right{left:0;right:auto}}@media (min-width:1200px){.dropdown-menu-xl-left{left:auto;right:0}.dropdown-menu-xl-right{left:0;right:auto}}.dropup .dropdown-menu{top:auto;bottom:100%;margin-top:0;margin-bottom:.125rem}.dropright .dropdown-menu{top:0;left:auto;right:100%;margin-top:0;margin-right:.125rem}.dropright .dropdown-toggle::after{vertical-align:0}.dropleft .dropdown-menu{top:0;left:100%;right:auto;margin-top:0;margin-left:.125rem}.dropleft .dropdown-toggle::before{vertical-align:0}.dropdown-menu[x-placement^=bottom],.dropdown-menu[x-placement^=left],.dropdown-menu[x-placement^=right],.dropdown-menu[x-placement^=top]{left:auto;bottom:auto}.dropdown-divider{height:0;margin:.5rem 0;overflow:hidden;border-top:1px solid #eff2f7}.dropdown-item{display:block;width:100%;padding:.35rem 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:#16181b;text-decoration:none;background-color:#f8f9fa}.dropdown-item.disabled,.dropdown-item:disabled{color:#8687a7;pointer-events:none;background-color:transparent}.dropdown-menu.show{display:block}.dropdown-header{display:block;padding:.5rem 1.5rem;margin-bottom:0;font-size:.76563rem;color:#8687a7;white-space:nowrap}.dropdown-item-text{display:block;padding:.35rem 1.5rem;color:#212529}.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:1;-ms-flex:1 1 auto;flex:1 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-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-group:not(:first-child),.btn-group>.btn:not(:first-child){margin-right:-1px}.btn-group>.btn-group:not(:last-child)>.btn,.btn-group>.btn:not(:last-child):not(.dropdown-toggle){border-top-left-radius:0;border-bottom-left-radius:0}.btn-group>.btn-group:not(:first-child)>.btn,.btn-group>.btn:not(:first-child){border-top-right-radius:0;border-bottom-right-radius:0}.dropdown-toggle-split{padding-left:.5625rem;padding-right:.5625rem}.dropdown-toggle-split::after,.dropright .dropdown-toggle-split::after,.dropup .dropdown-toggle-split::after{margin-right:0}.dropleft .dropdown-toggle-split::before{margin-left:0}.btn-group-sm>.btn+.dropdown-toggle-split,.btn-sm+.dropdown-toggle-split{padding-left:.375rem;padding-right:.375rem}.btn-group-lg>.btn+.dropdown-toggle-split,.btn-lg+.dropdown-toggle-split{padding-left:.75rem;padding-right:.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-group:not(:first-child),.btn-group-vertical>.btn:not(:first-child){margin-top:-1px}.btn-group-vertical>.btn-group:not(:last-child)>.btn,.btn-group-vertical>.btn:not(:last-child):not(.dropdown-toggle){border-bottom-left-radius:0;border-bottom-right-radius:0}.btn-group-vertical>.btn-group:not(:first-child)>.btn,.btn-group-vertical>.btn:not(:first-child){border-top-right-radius:0;border-top-left-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,.input-group>.form-control-plaintext{position:relative;-webkit-box-flex:1;-ms-flex:1 1 0%;flex:1 1 0%;min-width:0;margin-bottom:0}.input-group>.custom-file+.custom-file,.input-group>.custom-file+.custom-select,.input-group>.custom-file+.form-control,.input-group>.custom-select+.custom-file,.input-group>.custom-select+.custom-select,.input-group>.custom-select+.form-control,.input-group>.form-control+.custom-file,.input-group>.form-control+.custom-select,.input-group>.form-control+.form-control,.input-group>.form-control-plaintext+.custom-file,.input-group>.form-control-plaintext+.custom-select,.input-group>.form-control-plaintext+.form-control{margin-right:-1px}.input-group>.custom-file .custom-file-input:focus~.custom-file-label,.input-group>.custom-select:focus,.input-group>.form-control:focus{z-index:3}.input-group>.custom-file .custom-file-input:focus{z-index:4}.input-group>.custom-select:not(:last-child),.input-group>.form-control:not(:last-child){border-top-left-radius:0;border-bottom-left-radius:0}.input-group>.custom-select:not(:first-child),.input-group>.form-control:not(:first-child){border-top-right-radius:0;border-bottom-right-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::after{border-top-left-radius:0;border-bottom-left-radius:0}.input-group>.custom-file:not(:first-child) .custom-file-label{border-top-right-radius:0;border-bottom-right-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:focus,.input-group-prepend .btn:focus{z-index:3}.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-right:-1px}.input-group-prepend{margin-left:-1px}.input-group-append{margin-right:-1px}.input-group-text{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;padding:.47rem .75rem;margin-bottom:0;font-size:.875rem;font-weight:400;line-height:1.5;color:#495057;text-align:center;white-space:nowrap;background-color:#eff2f7;border:1px solid #ced4da;border-radius:.25rem}.input-group-text input[type=checkbox],.input-group-text input[type=radio]{margin-top:0}.input-group-lg>.custom-select,.input-group-lg>.form-control:not(textarea){height:calc(1.5em + 1rem + 2px)}.input-group-lg>.custom-select,.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.09375rem;line-height:1.5;border-radius:.4rem}.input-group-sm>.custom-select,.input-group-sm>.form-control:not(textarea){height:calc(1.5em + .5rem + 2px)}.input-group-sm>.custom-select,.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:.76563rem;line-height:1.5;border-radius:.2rem}.input-group-lg>.custom-select,.input-group-sm>.custom-select{padding-left:1.75rem}.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-left-radius:0;border-bottom-left-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-right-radius:0;border-bottom-right-radius:0}.custom-control{position:relative;display:block;min-height:1.3125rem;padding-right:1.5rem}.custom-control-inline{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;margin-left:1rem}.custom-control-input{position:absolute;right:0;z-index:-1;width:1rem;height:1.15625rem;opacity:0}.custom-control-input:checked~.custom-control-label::before{color:#fff;border-color:#3b5de7;background-color:#3b5de7}.custom-control-input:focus~.custom-control-label::before{-webkit-box-shadow:none;box-shadow:none}.custom-control-input:focus:not(:checked)~.custom-control-label::before{border-color:#b1bbc4}.custom-control-input:not(:disabled):active~.custom-control-label::before{color:#fff;background-color:#dae0fa;border-color:#dae0fa}.custom-control-input:disabled~.custom-control-label,.custom-control-input[disabled]~.custom-control-label{color:#8687a7}.custom-control-input:disabled~.custom-control-label::before,.custom-control-input[disabled]~.custom-control-label::before{background-color:#fff}.custom-control-label{position:relative;margin-bottom:0;vertical-align:top}.custom-control-label::before{position:absolute;top:.15625rem;right:-1.5rem;display:block;width:1rem;height:1rem;pointer-events:none;content:"";background-color:#fff;border:#adb5bd solid 1px}.custom-control-label::after{position:absolute;top:.15625rem;right:-1.5rem;display:block;width:1rem;height:1rem;content:"";background:no-repeat 50%/50% 50%}.custom-checkbox .custom-control-label::before{border-radius:.25rem}.custom-checkbox .custom-control-input:checked~.custom-control-label::after{background-image:url("data:image/svg+xml,%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{border-color:#3b5de7;background-color:#3b5de7}.custom-checkbox .custom-control-input:indeterminate~.custom-control-label::after{background-image:url("data:image/svg+xml,%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(59,93,231,.5)}.custom-checkbox .custom-control-input:disabled:indeterminate~.custom-control-label::before{background-color:rgba(59,93,231,.5)}.custom-radio .custom-control-label::before{border-radius:50%}.custom-radio .custom-control-input:checked~.custom-control-label::after{background-image:url("data:image/svg+xml,%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(59,93,231,.5)}.custom-switch{padding-right:2.25rem}.custom-switch .custom-control-label::before{right:-2.25rem;width:1.75rem;pointer-events:all;border-radius:.5rem}.custom-switch .custom-control-label::after{top:calc(.15625rem + 2px);right:calc(-2.25rem + 2px);width:calc(1rem - 4px);height:calc(1rem - 4px);background-color:#adb5bd;border-radius:.5rem;-webkit-transition:background-color .15s ease-in-out,border-color .15s ease-in-out,-webkit-transform .15s ease-in-out,-webkit-box-shadow .15s ease-in-out;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,-webkit-transform .15s ease-in-out,-webkit-box-shadow .15s ease-in-out;transition:transform .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;transition:transform .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out,-webkit-transform .15s ease-in-out,-webkit-box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.custom-switch .custom-control-label::after{-webkit-transition:none;transition:none}}.custom-switch .custom-control-input:checked~.custom-control-label::after{background-color:#fff;-webkit-transform:translateX(-0.75rem);transform:translateX(-0.75rem)}.custom-switch .custom-control-input:disabled:checked~.custom-control-label::before{background-color:rgba(59,93,231,.5)}.custom-select{display:inline-block;width:100%;height:calc(1.5em + .94rem + 2px);padding:.47rem .75rem .47rem 1.75rem;font-size:.875rem;font-weight:400;line-height:1.5;color:#495057;vertical-align:middle;background:#fff url("data:image/svg+xml,%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 left .75rem center/8px 10px;border:1px solid #ced4da;border-radius:.25rem;-webkit-appearance:none;-moz-appearance:none;appearance:none}.custom-select:focus{border-color:#b1bbc4;outline:0;-webkit-box-shadow:0 0 0 .15rem rgba(59,93,231,.25);box-shadow:0 0 0 .15rem rgba(59,93,231,.25)}.custom-select:focus::-ms-value{color:#495057;background-color:#fff}.custom-select[multiple],.custom-select[size]:not([size="1"]){height:auto;padding-left:.75rem;background-image:none}.custom-select:disabled{color:#8687a7;background-color:#eff2f7}.custom-select::-ms-expand{display:none}.custom-select:-moz-focusring{color:transparent;text-shadow:0 0 0 #495057}.custom-select-sm{height:calc(1.5em + .5rem + 2px);padding-top:.25rem;padding-bottom:.25rem;padding-right:.5rem;font-size:.76563rem}.custom-select-lg{height:calc(1.5em + 1rem + 2px);padding-top:.5rem;padding-bottom:.5rem;padding-right:1rem;font-size:1.09375rem}.custom-file{position:relative;display:inline-block;width:100%;height:calc(1.5em + .94rem + 2px);margin-bottom:0}.custom-file-input{position:relative;z-index:2;width:100%;height:calc(1.5em + .94rem + 2px);margin:0;opacity:0}.custom-file-input:focus~.custom-file-label{border-color:#b1bbc4;-webkit-box-shadow:none;box-shadow:none}.custom-file-input:disabled~.custom-file-label,.custom-file-input[disabled]~.custom-file-label{background-color:#fff}.custom-file-input:lang(en)~.custom-file-label::after{content:"Browse"}.custom-file-input~.custom-file-label[data-browse]::after{content:attr(data-browse)}.custom-file-label{position:absolute;top:0;left:0;right:0;z-index:1;height:calc(1.5em + .94rem + 2px);padding:.47rem .75rem;font-weight:400;line-height:1.5;color:#495057;background-color:#fff;border:1px solid #ced4da;border-radius:.25rem}.custom-file-label::after{position:absolute;top:0;left:0;bottom:0;z-index:3;display:block;height:calc(1.5em + .94rem);padding:.47rem .75rem;line-height:1.5;color:#495057;content:"Browse";background-color:#eff2f7;border-right:inherit;border-radius:.25rem 0 0 .25rem}.custom-range{width:100%;height:1.3rem;padding:0;background-color:transparent;-webkit-appearance:none;-moz-appearance:none;appearance:none}.custom-range:focus{outline:0}.custom-range:focus::-webkit-slider-thumb{-webkit-box-shadow:0 0 0 1px #f3f5f7,none;box-shadow:0 0 0 1px #f3f5f7,none}.custom-range:focus::-moz-range-thumb{box-shadow:0 0 0 1px #f3f5f7,none}.custom-range:focus::-ms-thumb{box-shadow:0 0 0 1px #f3f5f7,none}.custom-range::-moz-focus-outer{border:0}.custom-range::-webkit-slider-thumb{width:1rem;height:1rem;margin-top:-.25rem;background-color:#3b5de7;border:0;border-radius:1rem;-webkit-transition:background-color .15s ease-in-out,border-color .15s ease-in-out,-webkit-box-shadow .15s ease-in-out;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,-webkit-box-shadow .15s ease-in-out;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out,-webkit-box-shadow .15s ease-in-out;-webkit-appearance:none;appearance:none}@media (prefers-reduced-motion:reduce){.custom-range::-webkit-slider-thumb{-webkit-transition:none;transition:none}}.custom-range::-webkit-slider-thumb:active{background-color:#dae0fa}.custom-range::-webkit-slider-runnable-track{width:100%;height:.5rem;color:transparent;cursor:pointer;background-color:#f6f6f6;border-color:transparent;border-radius:1rem}.custom-range::-moz-range-thumb{width:1rem;height:1rem;background-color:#3b5de7;border:0;border-radius:1rem;-moz-transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;-moz-appearance:none;appearance:none}@media (prefers-reduced-motion:reduce){.custom-range::-moz-range-thumb{-moz-transition:none;transition:none}}.custom-range::-moz-range-thumb:active{background-color:#dae0fa}.custom-range::-moz-range-track{width:100%;height:.5rem;color:transparent;cursor:pointer;background-color:#f6f6f6;border-color:transparent;border-radius:1rem}.custom-range::-ms-thumb{width:1rem;height:1rem;margin-top:0;margin-left:.15rem;margin-right:.15rem;background-color:#3b5de7;border:0;border-radius:1rem;-ms-transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;appearance:none}@media (prefers-reduced-motion:reduce){.custom-range::-ms-thumb{-ms-transition:none;transition:none}}.custom-range::-ms-thumb:active{background-color:#dae0fa}.custom-range::-ms-track{width:100%;height:.5rem;color:transparent;cursor:pointer;background-color:transparent;border-color:transparent;border-width:.5rem}.custom-range::-ms-fill-lower{background-color:#f6f6f6;border-radius:1rem}.custom-range::-ms-fill-upper{margin-left:15px;background-color:#f6f6f6;border-radius:1rem}.custom-range:disabled::-webkit-slider-thumb{background-color:#adb5bd}.custom-range:disabled::-webkit-slider-runnable-track{cursor:default}.custom-range:disabled::-moz-range-thumb{background-color:#adb5bd}.custom-range:disabled::-moz-range-track{cursor:default}.custom-range:disabled::-ms-thumb{background-color:#adb5bd}.custom-control-label::before,.custom-file-label,.custom-select{-webkit-transition:background-color .15s ease-in-out,border-color .15s ease-in-out,-webkit-box-shadow .15s ease-in-out;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,-webkit-box-shadow .15s ease-in-out;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out,-webkit-box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.custom-control-label::before,.custom-file-label,.custom-select{-webkit-transition:none;transition:none}}.nav{display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;padding-right: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:#8687a7;pointer-events:none;cursor:default}.nav-tabs{border-bottom:1px solid #ced4da}.nav-tabs .nav-item{margin-bottom:-1px}.nav-tabs .nav-link{border:1px solid transparent;border-top-right-radius:.25rem;border-top-left-radius:.25rem}.nav-tabs .nav-link:focus,.nav-tabs .nav-link:hover{border-color:#eff2f7 #eff2f7 #ced4da}.nav-tabs .nav-link.disabled{color:#8687a7;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:#ced4da #ced4da #fff}.nav-tabs .dropdown-menu{margin-top:-1px;border-top-right-radius:0;border-top-left-radius:0}.nav-pills .nav-link{border-radius:.25rem}.nav-pills .nav-link.active,.nav-pills .show>.nav-link{color:#fff;background-color:#3b5de7}.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,.navbar .container-lg,.navbar .container-md,.navbar .container-sm,.navbar .container-xl{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:.33594rem;padding-bottom:.33594rem;margin-left:1rem;font-size:1.09375rem;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-right:0;margin-bottom:0;list-style:none}.navbar-nav .nav-link{padding-left:0;padding-right: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.09375rem;line-height:1;background-color:transparent;border:1px solid transparent;border-radius:.25rem}.navbar-toggler:focus,.navbar-toggler:hover{text-decoration:none}.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,.navbar-expand-sm>.container-lg,.navbar-expand-sm>.container-md,.navbar-expand-sm>.container-sm,.navbar-expand-sm>.container-xl{padding-left:0;padding-right: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 .nav-link{padding-left:.5rem;padding-right:.5rem}.navbar-expand-sm>.container,.navbar-expand-sm>.container-fluid,.navbar-expand-sm>.container-lg,.navbar-expand-sm>.container-md,.navbar-expand-sm>.container-sm,.navbar-expand-sm>.container-xl{-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}}@media (max-width:767.98px){.navbar-expand-md>.container,.navbar-expand-md>.container-fluid,.navbar-expand-md>.container-lg,.navbar-expand-md>.container-md,.navbar-expand-md>.container-sm,.navbar-expand-md>.container-xl{padding-left:0;padding-right: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 .nav-link{padding-left:.5rem;padding-right:.5rem}.navbar-expand-md>.container,.navbar-expand-md>.container-fluid,.navbar-expand-md>.container-lg,.navbar-expand-md>.container-md,.navbar-expand-md>.container-sm,.navbar-expand-md>.container-xl{-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}}@media (max-width:991.98px){.navbar-expand-lg>.container,.navbar-expand-lg>.container-fluid,.navbar-expand-lg>.container-lg,.navbar-expand-lg>.container-md,.navbar-expand-lg>.container-sm,.navbar-expand-lg>.container-xl{padding-left:0;padding-right: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 .nav-link{padding-left:.5rem;padding-right:.5rem}.navbar-expand-lg>.container,.navbar-expand-lg>.container-fluid,.navbar-expand-lg>.container-lg,.navbar-expand-lg>.container-md,.navbar-expand-lg>.container-sm,.navbar-expand-lg>.container-xl{-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}}@media (max-width:1199.98px){.navbar-expand-xl>.container,.navbar-expand-xl>.container-fluid,.navbar-expand-xl>.container-lg,.navbar-expand-xl>.container-md,.navbar-expand-xl>.container-sm,.navbar-expand-xl>.container-xl{padding-left:0;padding-right: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 .nav-link{padding-left:.5rem;padding-right:.5rem}.navbar-expand-xl>.container,.navbar-expand-xl>.container-fluid,.navbar-expand-xl>.container-lg,.navbar-expand-xl>.container-md,.navbar-expand-xl>.container-sm,.navbar-expand-xl>.container-xl{-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{-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,.navbar-expand>.container-lg,.navbar-expand>.container-md,.navbar-expand>.container-sm,.navbar-expand>.container-xl{padding-left:0;padding-right: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 .nav-link{padding-left:.5rem;padding-right:.5rem}.navbar-expand>.container,.navbar-expand>.container-fluid,.navbar-expand>.container-lg,.navbar-expand>.container-md,.navbar-expand>.container-sm,.navbar-expand>.container-xl{-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-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,%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,%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:0 solid #f6f6f6;border-radius:.25rem}.card>hr{margin-left:0;margin-right:0}.card>.list-group:first-child .list-group-item:first-child{border-top-right-radius:.25rem;border-top-left-radius:.25rem}.card>.list-group:last-child .list-group-item:last-child{border-bottom-left-radius:.25rem;border-bottom-right-radius:.25rem}.card-body{-webkit-box-flex:1;-ms-flex:1 1 auto;flex:1 1 auto;min-height:1px;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-right:1.25rem}.card-header{padding:.75rem 1.25rem;margin-bottom:0;background-color:#f6f6f6;border-bottom:0 solid #f6f6f6}.card-header:first-child{border-radius:calc(.25rem - 0) calc(.25rem - 0) 0 0}.card-header+.list-group .list-group-item:first-child{border-top:0}.card-footer{padding:.75rem 1.25rem;background-color:#f6f6f6;border-top:0 solid #f6f6f6}.card-footer:last-child{border-radius:0 0 calc(.25rem - 0) calc(.25rem - 0)}.card-header-tabs{margin-left:-.625rem;margin-bottom:-.75rem;margin-right:-.625rem;border-bottom:0}.card-header-pills{margin-left:-.625rem;margin-right:-.625rem}.card-img-overlay{position:absolute;top:0;left:0;bottom:0;right:0;padding:1.25rem}.card-img,.card-img-bottom,.card-img-top{-ms-flex-negative:0;flex-shrink:0;width:100%}.card-img,.card-img-top{border-top-right-radius:calc(.25rem - 0);border-top-left-radius:calc(.25rem - 0)}.card-img,.card-img-bottom{border-bottom-left-radius:calc(.25rem - 0);border-bottom-right-radius:calc(.25rem - 0)}.card-deck .card{margin-bottom:12px}@media (min-width:576px){.card-deck{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;margin-left:-12px;margin-right:-12px}.card-deck .card{-webkit-box-flex:1;-ms-flex:1 0 0%;flex:1 0 0%;margin-left:12px;margin-bottom:0;margin-right:12px}}.card-group>.card{margin-bottom:12px}@media (min-width:576px){.card-group{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}.card-group>.card{-webkit-box-flex:1;-ms-flex:1 0 0%;flex:1 0 0%;margin-bottom:0}.card-group>.card+.card{margin-right:0;border-right:0}.card-group>.card:not(:last-child){border-top-left-radius:0;border-bottom-left-radius:0}.card-group>.card:not(:last-child) .card-header,.card-group>.card:not(:last-child) .card-img-top{border-top-left-radius:0}.card-group>.card:not(:last-child) .card-footer,.card-group>.card:not(:last-child) .card-img-bottom{border-bottom-left-radius:0}.card-group>.card:not(:first-child){border-top-right-radius:0;border-bottom-right-radius:0}.card-group>.card:not(:first-child) .card-header,.card-group>.card:not(:first-child) .card-img-top{border-top-right-radius:0}.card-group>.card:not(:first-child) .card-footer,.card-group>.card:not(:first-child) .card-img-bottom{border-bottom-right-radius:0}}.card-columns .card{margin-bottom:24px}@media (min-width:576px){.card-columns{-webkit-column-count:3;-moz-column-count:3;column-count:3;-webkit-column-gap:1.25rem;-moz-column-gap:1.25rem;column-gap:1.25rem;orphans:1;widows:1}.card-columns .card{display:inline-block;width:100%}}.accordion>.card{overflow:hidden}.accordion>.card:not(:last-of-type){border-bottom:0;border-bottom-left-radius:0;border-bottom-right-radius:0}.accordion>.card:not(:first-of-type){border-top-right-radius:0;border-top-left-radius:0}.accordion>.card>.card-header{border-radius:0;margin-bottom:0}.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:#eff2f7;border-radius:.25rem}.breadcrumb-item+.breadcrumb-item{padding-right:.5rem}.breadcrumb-item+.breadcrumb-item::before{display:inline-block;padding-left:.5rem;color:#8687a7;content:"/"}.breadcrumb-item+.breadcrumb-item:hover::before{text-decoration:underline}.breadcrumb-item+.breadcrumb-item:hover::before{text-decoration:none}.breadcrumb-item.active{color:#8687a7}.pagination{display:-webkit-box;display:-ms-flexbox;display:flex;padding-right:0;list-style:none;border-radius:.25rem}.page-link{position:relative;display:block;padding:.5rem .75rem;margin-right:-1px;line-height:1.25;color:#8687a7;background-color:#fff;border:1px solid #ced4da}.page-link:hover{z-index:2;color:#1738be;text-decoration:none;background-color:#eff2f7;border-color:#ced4da}.page-link:focus{z-index:3;outline:0;-webkit-box-shadow:0 0 0 .15rem rgba(59,93,231,.25);box-shadow:0 0 0 .15rem rgba(59,93,231,.25)}.page-item:first-child .page-link{margin-right:0;border-top-right-radius:.25rem;border-bottom-right-radius:.25rem}.page-item:last-child .page-link{border-top-left-radius:.25rem;border-bottom-left-radius:.25rem}.page-item.active .page-link{z-index:3;color:#fff;background-color:#3b5de7;border-color:#3b5de7}.page-item.disabled .page-link{color:#ced4da;pointer-events:none;cursor:auto;background-color:#fff;border-color:#ced4da}.pagination-lg .page-link{padding:.75rem 1.5rem;font-size:1.09375rem;line-height:1.5}.pagination-lg .page-item:first-child .page-link{border-top-right-radius:.4rem;border-bottom-right-radius:.4rem}.pagination-lg .page-item:last-child .page-link{border-top-left-radius:.4rem;border-bottom-left-radius:.4rem}.pagination-sm .page-link{padding:.25rem .5rem;font-size:.76563rem;line-height:1.5}.pagination-sm .page-item:first-child .page-link{border-top-right-radius:.2rem;border-bottom-right-radius:.2rem}.pagination-sm .page-item:last-child .page-link{border-top-left-radius:.2rem;border-bottom-left-radius:.2rem}.badge{display:inline-block;padding:.25em .4em;font-size:75%;font-weight:500;line-height:1;text-align:center;white-space:nowrap;vertical-align:baseline;border-radius:.25rem;-webkit-transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,-webkit-box-shadow .15s ease-in-out;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,-webkit-box-shadow .15s ease-in-out;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out,-webkit-box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.badge{-webkit-transition:none;transition:none}}a.badge:focus,a.badge:hover{text-decoration:none}.badge:empty{display:none}.btn .badge{position:relative;top:-1px}.badge-pill{padding-left:.6em;padding-right:.6em;border-radius:10rem}.badge-primary{color:#fff;background-color:#3b5de7}a.badge-primary:focus,a.badge-primary:hover{color:#fff;background-color:#1a3fd5}a.badge-primary.focus,a.badge-primary:focus{outline:0;-webkit-box-shadow:0 0 0 .15rem rgba(59,93,231,.5);box-shadow:0 0 0 .15rem rgba(59,93,231,.5)}.badge-secondary{color:#fff;background-color:#8687a7}a.badge-secondary:focus,a.badge-secondary:hover{color:#fff;background-color:#696a91}a.badge-secondary.focus,a.badge-secondary:focus{outline:0;-webkit-box-shadow:0 0 0 .15rem rgba(134,135,167,.5);box-shadow:0 0 0 .15rem rgba(134,135,167,.5)}.badge-success{color:#fff;background-color:#45cb85}a.badge-success:focus,a.badge-success:hover{color:#fff;background-color:#30ad6c}a.badge-success.focus,a.badge-success:focus{outline:0;-webkit-box-shadow:0 0 0 .15rem rgba(69,203,133,.5);box-shadow:0 0 0 .15rem rgba(69,203,133,.5)}.badge-info{color:#fff;background-color:#0caadc}a.badge-info:focus,a.badge-info:hover{color:#fff;background-color:#0985ac}a.badge-info.focus,a.badge-info:focus{outline:0;-webkit-box-shadow:0 0 0 .15rem rgba(12,170,220,.5);box-shadow:0 0 0 .15rem rgba(12,170,220,.5)}.badge-warning{color:#fff;background-color:#eeb902}a.badge-warning:focus,a.badge-warning:hover{color:#fff;background-color:#bb9202}a.badge-warning.focus,a.badge-warning:focus{outline:0;-webkit-box-shadow:0 0 0 .15rem rgba(238,185,2,.5);box-shadow:0 0 0 .15rem rgba(238,185,2,.5)}.badge-danger{color:#fff;background-color:#ff715b}a.badge-danger:focus,a.badge-danger:hover{color:#fff;background-color:#ff4528}a.badge-danger.focus,a.badge-danger:focus{outline:0;-webkit-box-shadow:0 0 0 .15rem rgba(255,113,91,.5);box-shadow:0 0 0 .15rem rgba(255,113,91,.5)}.badge-light{color:#212529;background-color:#eff2f7}a.badge-light:focus,a.badge-light:hover{color:#212529;background-color:#cdd6e6}a.badge-light.focus,a.badge-light:focus{outline:0;-webkit-box-shadow:0 0 0 .15rem rgba(239,242,247,.5);box-shadow:0 0 0 .15rem rgba(239,242,247,.5)}.badge-dark{color:#fff;background-color:#343a40}a.badge-dark:focus,a.badge-dark:hover{color:#fff;background-color:#1d2124}a.badge-dark.focus,a.badge-dark:focus{outline:0;-webkit-box-shadow:0 0 0 .15rem rgba(52,58,64,.5);box-shadow:0 0 0 .15rem rgba(52,58,64,.5)}.badge-pink{color:#fff;background-color:#e83e8c}a.badge-pink:focus,a.badge-pink:hover{color:#fff;background-color:#d91a72}a.badge-pink.focus,a.badge-pink:focus{outline:0;-webkit-box-shadow:0 0 0 .15rem rgba(232,62,140,.5);box-shadow:0 0 0 .15rem rgba(232,62,140,.5)}.jumbotron{padding:2rem 1rem;margin-bottom:2rem;background-color:#eff2f7;border-radius:.4rem}@media (min-width:576px){.jumbotron{padding:4rem 2rem}}.jumbotron-fluid{padding-left:0;padding-right: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:600}.alert-dismissible{padding-left:3.8125rem}.alert-dismissible .close{position:absolute;top:0;left:0;padding:.75rem 1.25rem;color:inherit}.alert-primary{color:#1f3078;background-color:#d8dffa;border-color:#c8d2f8}.alert-primary hr{border-top-color:#b1bff5}.alert-primary .alert-link{color:#15204f}.alert-secondary{color:#464657;background-color:#e7e7ed;border-color:#dddde6}.alert-secondary hr{border-top-color:#cecedb}.alert-secondary .alert-link{color:#2f2f3b}.alert-success{color:#246a45;background-color:#daf5e7;border-color:#cbf0dd}.alert-success hr{border-top-color:#b7ead0}.alert-success .alert-link{color:#17442c}.alert-info{color:#065872;background-color:#ceeef8;border-color:#bbe7f5}.alert-info hr{border-top-color:#a5dff2}.alert-info .alert-link{color:#033342}.alert-warning{color:#7c6001;background-color:#fcf1cc;border-color:#faebb8}.alert-warning hr{border-top-color:#f8e4a0}.alert-warning .alert-link{color:#493901}.alert-danger{color:#853b2f;background-color:#ffe3de;border-color:#ffd7d1}.alert-danger hr{border-top-color:#ffc1b8}.alert-danger .alert-link{color:#5f2a22}.alert-light{color:#7c7e80;background-color:#fcfcfd;border-color:#fbfbfd}.alert-light hr{border-top-color:#eaeaf5}.alert-light .alert-link{color:#636566}.alert-dark{color:#1b1e21;background-color:#d6d8d9;border-color:#c6c8ca}.alert-dark hr{border-top-color:#b9bbbe}.alert-dark .alert-link{color:#040505}.alert-pink{color:#792049;background-color:#fad8e8;border-color:#f9c9df}.alert-pink hr{border-top-color:#f6b2d1}.alert-pink .alert-link{color:#511531}@-webkit-keyframes progress-bar-stripes{from{background-position:0 0}to{background-position:-.625rem 0}}@keyframes progress-bar-stripes{from{background-position:0 0}to{background-position:-.625rem 0}}.progress{display:-webkit-box;display:-ms-flexbox;display:flex;height:.625rem;overflow:hidden;font-size:.65625rem;background-color:#f6f6f6;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;overflow:hidden;color:#fff;text-align:center;white-space:nowrap;background-color:#3b5de7;-webkit-transition:width .6s ease;transition:width .6s ease}@media (prefers-reduced-motion:reduce){.progress-bar{-webkit-transition:none;transition:none}}.progress-bar-striped{background-image:linear-gradient(-45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-size:.625rem .625rem}.progress-bar-animated{-webkit-animation:progress-bar-stripes 1s linear infinite;animation:progress-bar-stripes 1s linear infinite}@media (prefers-reduced-motion:reduce){.progress-bar-animated{-webkit-animation:none;animation:none}}.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-right: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{z-index:1;color:#495057;text-decoration:none;background-color:#f8f9fa}.list-group-item-action:active{color:#8687a7;background-color:#eff2f7}.list-group-item{position:relative;display:block;padding:.75rem 1.25rem;background-color:#fff;border:1px solid rgba(0,0,0,.125)}.list-group-item:first-child{border-top-right-radius:.25rem;border-top-left-radius:.25rem}.list-group-item:last-child{border-bottom-left-radius:.25rem;border-bottom-right-radius:.25rem}.list-group-item.disabled,.list-group-item:disabled{color:#8687a7;pointer-events:none;background-color:#fff}.list-group-item.active{z-index:2;color:#fff;background-color:#3b5de7;border-color:#3b5de7}.list-group-item+.list-group-item{border-top-width:0}.list-group-item+.list-group-item.active{margin-top:-1px;border-top-width:1px}.list-group-horizontal{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row}.list-group-horizontal .list-group-item:first-child{border-bottom-right-radius:.25rem;border-top-left-radius:0}.list-group-horizontal .list-group-item:last-child{border-top-left-radius:.25rem;border-bottom-right-radius:0}.list-group-horizontal .list-group-item.active{margin-top:0}.list-group-horizontal .list-group-item+.list-group-item{border-top-width:1px;border-right-width:0}.list-group-horizontal .list-group-item+.list-group-item.active{margin-right:-1px;border-right-width:1px}@media (min-width:576px){.list-group-horizontal-sm{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row}.list-group-horizontal-sm .list-group-item:first-child{border-bottom-right-radius:.25rem;border-top-left-radius:0}.list-group-horizontal-sm .list-group-item:last-child{border-top-left-radius:.25rem;border-bottom-right-radius:0}.list-group-horizontal-sm .list-group-item.active{margin-top:0}.list-group-horizontal-sm .list-group-item+.list-group-item{border-top-width:1px;border-right-width:0}.list-group-horizontal-sm .list-group-item+.list-group-item.active{margin-right:-1px;border-right-width:1px}}@media (min-width:768px){.list-group-horizontal-md{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row}.list-group-horizontal-md .list-group-item:first-child{border-bottom-right-radius:.25rem;border-top-left-radius:0}.list-group-horizontal-md .list-group-item:last-child{border-top-left-radius:.25rem;border-bottom-right-radius:0}.list-group-horizontal-md .list-group-item.active{margin-top:0}.list-group-horizontal-md .list-group-item+.list-group-item{border-top-width:1px;border-right-width:0}.list-group-horizontal-md .list-group-item+.list-group-item.active{margin-right:-1px;border-right-width:1px}}@media (min-width:992px){.list-group-horizontal-lg{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row}.list-group-horizontal-lg .list-group-item:first-child{border-bottom-right-radius:.25rem;border-top-left-radius:0}.list-group-horizontal-lg .list-group-item:last-child{border-top-left-radius:.25rem;border-bottom-right-radius:0}.list-group-horizontal-lg .list-group-item.active{margin-top:0}.list-group-horizontal-lg .list-group-item+.list-group-item{border-top-width:1px;border-right-width:0}.list-group-horizontal-lg .list-group-item+.list-group-item.active{margin-right:-1px;border-right-width:1px}}@media (min-width:1200px){.list-group-horizontal-xl{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row}.list-group-horizontal-xl .list-group-item:first-child{border-bottom-right-radius:.25rem;border-top-left-radius:0}.list-group-horizontal-xl .list-group-item:last-child{border-top-left-radius:.25rem;border-bottom-right-radius:0}.list-group-horizontal-xl .list-group-item.active{margin-top:0}.list-group-horizontal-xl .list-group-item+.list-group-item{border-top-width:1px;border-right-width:0}.list-group-horizontal-xl .list-group-item+.list-group-item.active{margin-right:-1px;border-right-width:1px}}.list-group-flush .list-group-item{border-left-width:0;border-right-width:0;border-radius:0}.list-group-flush .list-group-item:first-child{border-top-width:0}.list-group-flush:last-child .list-group-item:last-child{border-bottom-width:0}.list-group-item-primary{color:#1f3078;background-color:#c8d2f8}.list-group-item-primary.list-group-item-action:focus,.list-group-item-primary.list-group-item-action:hover{color:#1f3078;background-color:#b1bff5}.list-group-item-primary.list-group-item-action.active{color:#fff;background-color:#1f3078;border-color:#1f3078}.list-group-item-secondary{color:#464657;background-color:#dddde6}.list-group-item-secondary.list-group-item-action:focus,.list-group-item-secondary.list-group-item-action:hover{color:#464657;background-color:#cecedb}.list-group-item-secondary.list-group-item-action.active{color:#fff;background-color:#464657;border-color:#464657}.list-group-item-success{color:#246a45;background-color:#cbf0dd}.list-group-item-success.list-group-item-action:focus,.list-group-item-success.list-group-item-action:hover{color:#246a45;background-color:#b7ead0}.list-group-item-success.list-group-item-action.active{color:#fff;background-color:#246a45;border-color:#246a45}.list-group-item-info{color:#065872;background-color:#bbe7f5}.list-group-item-info.list-group-item-action:focus,.list-group-item-info.list-group-item-action:hover{color:#065872;background-color:#a5dff2}.list-group-item-info.list-group-item-action.active{color:#fff;background-color:#065872;border-color:#065872}.list-group-item-warning{color:#7c6001;background-color:#faebb8}.list-group-item-warning.list-group-item-action:focus,.list-group-item-warning.list-group-item-action:hover{color:#7c6001;background-color:#f8e4a0}.list-group-item-warning.list-group-item-action.active{color:#fff;background-color:#7c6001;border-color:#7c6001}.list-group-item-danger{color:#853b2f;background-color:#ffd7d1}.list-group-item-danger.list-group-item-action:focus,.list-group-item-danger.list-group-item-action:hover{color:#853b2f;background-color:#ffc1b8}.list-group-item-danger.list-group-item-action.active{color:#fff;background-color:#853b2f;border-color:#853b2f}.list-group-item-light{color:#7c7e80;background-color:#fbfbfd}.list-group-item-light.list-group-item-action:focus,.list-group-item-light.list-group-item-action:hover{color:#7c7e80;background-color:#eaeaf5}.list-group-item-light.list-group-item-action.active{color:#fff;background-color:#7c7e80;border-color:#7c7e80}.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}.list-group-item-pink{color:#792049;background-color:#f9c9df}.list-group-item-pink.list-group-item-action:focus,.list-group-item-pink.list-group-item-action:hover{color:#792049;background-color:#f6b2d1}.list-group-item-pink.list-group-item-action.active{color:#fff;background-color:#792049;border-color:#792049}.close{float:left;font-size:1.3125rem;font-weight:600;line-height:1;color:#000;text-shadow:0 1px 0 #fff;opacity:.5}.close:hover{color:#000;text-decoration:none}.close:not(:disabled):not(.disabled):focus,.close:not(:disabled):not(.disabled):hover{opacity:.75}button.close{padding:0;background-color:transparent;border:0;-webkit-appearance:none;-moz-appearance:none;appearance:none}a.close.disabled{pointer-events:none}.toast{max-width:350px;overflow:hidden;font-size:.875rem;background-color:rgba(255,255,255,.85);background-clip:padding-box;border:1px solid rgba(0,0,0,.1);-webkit-box-shadow:0 .25rem .75rem rgba(0,0,0,.1);box-shadow:0 .25rem .75rem rgba(0,0,0,.1);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);opacity:0;border-radius:.25rem}.toast:not(:last-child){margin-bottom:.75rem}.toast.showing{opacity:1}.toast.show{display:block;opacity:1}.toast.hide{display:none}.toast-header{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;padding:.25rem .75rem;color:#8687a7;background-color:rgba(255,255,255,.85);background-clip:padding-box;border-bottom:1px solid rgba(0,0,0,.05)}.toast-body{padding:.75rem}.modal-open{overflow:hidden}.modal-open .modal{overflow-x:hidden;overflow-y:auto}.modal{position:fixed;top:0;right:0;z-index:1050;display:none;width:100%;height:100%;overflow:hidden;outline:0}.modal-dialog{position:relative;width:auto;margin:.5rem;pointer-events:none}.modal.fade .modal-dialog{-webkit-transition:-webkit-transform .3s ease-out;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,-50px);transform:translate(0,-50px)}@media (prefers-reduced-motion:reduce){.modal.fade .modal-dialog{-webkit-transition:none;transition:none}}.modal.show .modal-dialog{-webkit-transform:none;transform:none}.modal.modal-static .modal-dialog{-webkit-transform:scale(1.02);transform:scale(1.02)}.modal-dialog-scrollable{display:-webkit-box;display:-ms-flexbox;display:flex;max-height:calc(100% - 1rem)}.modal-dialog-scrollable .modal-content{max-height:calc(100vh - 1rem);overflow:hidden}.modal-dialog-scrollable .modal-footer,.modal-dialog-scrollable .modal-header{-ms-flex-negative:0;flex-shrink:0}.modal-dialog-scrollable .modal-body{overflow-y:auto}.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% - 1rem)}.modal-dialog-centered::before{display:block;height:calc(100vh - 1rem);content:""}.modal-dialog-centered.modal-dialog-scrollable{-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;height:100%}.modal-dialog-centered.modal-dialog-scrollable .modal-content{max-height:none}.modal-dialog-centered.modal-dialog-scrollable::before{content:none}.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 #f6f6f6;border-radius:.4rem;outline:0}.modal-backdrop{position:fixed;top:0;right:0;z-index:1040;width:100vw;height:100vh;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 1rem;border-bottom:1px solid #eff2f7;border-top-right-radius:calc(.3rem - 1px);border-top-left-radius:calc(.3rem - 1px)}.modal-header .close{padding:1rem 1rem;margin:-1rem auto -1rem -1rem}.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;-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end;padding:.75rem;border-top:1px solid #eff2f7;border-bottom-left-radius:calc(.3rem - 1px);border-bottom-right-radius:calc(.3rem - 1px)}.modal-footer>*{margin:.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-scrollable{max-height:calc(100% - 3.5rem)}.modal-dialog-scrollable .modal-content{max-height:calc(100vh - 3.5rem)}.modal-dialog-centered{min-height:calc(100% - 3.5rem)}.modal-dialog-centered::before{height:calc(100vh - 3.5rem)}.modal-sm{max-width:300px}}@media (min-width:992px){.modal-lg,.modal-xl{max-width:800px}}@media (min-width:1200px){.modal-xl{max-width:1140px}}.tooltip{position:absolute;z-index:1070;display:block;margin:0;font-family:"SF UI Text",sans-serif;font-style:normal;font-weight:400;line-height:1.5;text-align:right;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:.76563rem;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:.4rem .7rem;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:"SF UI Text",sans-serif;font-style:normal;font-weight:400;line-height:1.5;text-align:right;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:.76563rem;word-wrap:break-word;background-color:#fff;background-clip:padding-box;border:1px solid #eff2f7;border-radius:.4rem}.popover .arrow{position:absolute;display:block;width:1rem;height:.5rem;margin:0 .4rem}.popover .arrow::after,.popover .arrow::before{position:absolute;display:block;content:"";border-color:transparent;border-style:solid}.bs-popover-auto[x-placement^=top],.bs-popover-top{margin-bottom:.5rem}.bs-popover-auto[x-placement^=top]>.arrow,.bs-popover-top>.arrow{bottom:calc(-.5rem - 1px)}.bs-popover-auto[x-placement^=top]>.arrow::before,.bs-popover-top>.arrow::before{bottom:0;border-width:.5rem .5rem 0;border-top-color:#eff2f7}.bs-popover-auto[x-placement^=top]>.arrow::after,.bs-popover-top>.arrow::after{bottom:1px;border-width:.5rem .5rem 0;border-top-color:#fff}.bs-popover-auto[x-placement^=right],.bs-popover-right{margin-left:.5rem}.bs-popover-auto[x-placement^=right]>.arrow,.bs-popover-right>.arrow{left:calc(-.5rem - 1px);width:.5rem;height:1rem;margin:.4rem 0}.bs-popover-auto[x-placement^=right]>.arrow::before,.bs-popover-right>.arrow::before{left:0;border-width:.5rem .5rem .5rem 0;border-right-color:#eff2f7}.bs-popover-auto[x-placement^=right]>.arrow::after,.bs-popover-right>.arrow::after{left:1px;border-width:.5rem .5rem .5rem 0;border-right-color:#fff}.bs-popover-auto[x-placement^=bottom],.bs-popover-bottom{margin-top:.5rem}.bs-popover-auto[x-placement^=bottom]>.arrow,.bs-popover-bottom>.arrow{top:calc(-.5rem - 1px)}.bs-popover-auto[x-placement^=bottom]>.arrow::before,.bs-popover-bottom>.arrow::before{top:0;border-width:0 .5rem .5rem .5rem;border-bottom-color:#eff2f7}.bs-popover-auto[x-placement^=bottom]>.arrow::after,.bs-popover-bottom>.arrow::after{top:1px;border-width:0 .5rem .5rem .5rem;border-bottom-color:#fff}.bs-popover-auto[x-placement^=bottom] .popover-header::before,.bs-popover-bottom .popover-header::before{position:absolute;top:0;right:50%;display:block;width:1rem;margin-right:-.5rem;content:"";border-bottom:1px solid #f7f7f7}.bs-popover-auto[x-placement^=left],.bs-popover-left{margin-right:.5rem}.bs-popover-auto[x-placement^=left]>.arrow,.bs-popover-left>.arrow{right:calc(-.5rem - 1px);width:.5rem;height:1rem;margin:.4rem 0}.bs-popover-auto[x-placement^=left]>.arrow::before,.bs-popover-left>.arrow::before{right:0;border-width:.5rem 0 .5rem .5rem;border-left-color:#eff2f7}.bs-popover-auto[x-placement^=left]>.arrow::after,.bs-popover-left>.arrow::after{right:1px;border-width:.5rem 0 .5rem .5rem;border-left-color:#fff}.popover-header{padding:.5rem .75rem;margin-bottom:0;font-size:.875rem;background-color:#f7f7f7;border-bottom:1px solid #ebebeb;border-top-right-radius:calc(.3rem - 1px);border-top-left-radius:calc(.3rem - 1px)}.popover-header:empty{display:none}.popover-body{padding:.5rem .75rem;color:#8687a7}.carousel{position:relative}.carousel.pointer-event{-ms-touch-action:pan-y;touch-action:pan-y}.carousel-inner{position:relative;width:100%;overflow:hidden}.carousel-inner::after{display:block;clear:both;content:""}.carousel-item{position:relative;display:none;float:right;width:100%;margin-left:-100%;-webkit-backface-visibility:hidden;backface-visibility:hidden;-webkit-transition:-webkit-transform .6s ease-in-out;transition:-webkit-transform .6s ease-in-out;transition:transform .6s ease-in-out;transition:transform .6s ease-in-out,-webkit-transform .6s ease-in-out}@media (prefers-reduced-motion:reduce){.carousel-item{-webkit-transition:none;transition:none}}.carousel-item-next,.carousel-item-prev,.carousel-item.active{display:block}.active.carousel-item-right,.carousel-item-next:not(.carousel-item-left){-webkit-transform:translateX(-100%);transform:translateX(-100%)}.active.carousel-item-left,.carousel-item-prev:not(.carousel-item-right){-webkit-transform:translateX(100%);transform:translateX(100%)}.carousel-fade .carousel-item{opacity:0;-webkit-transition-property:opacity;transition-property:opacity;-webkit-transform:none;transform:none}.carousel-fade .carousel-item-next.carousel-item-left,.carousel-fade .carousel-item-prev.carousel-item-right,.carousel-fade .carousel-item.active{z-index:1;opacity:1}.carousel-fade .active.carousel-item-left,.carousel-fade .active.carousel-item-right{z-index:0;opacity:0;-webkit-transition:opacity 0s .6s;transition:opacity 0s .6s}@media (prefers-reduced-motion:reduce){.carousel-fade .active.carousel-item-left,.carousel-fade .active.carousel-item-right{-webkit-transition:none;transition:none}}.carousel-control-next,.carousel-control-prev{position:absolute;top:0;bottom:0;z-index:1;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;-webkit-transition:opacity .15s ease;transition:opacity .15s ease}@media (prefers-reduced-motion:reduce){.carousel-control-next,.carousel-control-prev{-webkit-transition:none;transition:none}}.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{right:0}.carousel-control-next{left:0}.carousel-control-next-icon,.carousel-control-prev-icon{display:inline-block;width:20px;height:20px;background:no-repeat 50%/100% 100%}.carousel-control-next-icon{background-image:url("data:image/svg+xml,%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-prev-icon{background-image:url("data:image/svg+xml,%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;left:0;bottom:0;right:0;z-index:15;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;padding-right:0;margin-left:15%;margin-right:15%;list-style:none}.carousel-indicators li{-webkit-box-sizing:content-box;box-sizing:content-box;-webkit-box-flex:0;-ms-flex:0 1 auto;flex:0 1 auto;width:30px;height:3px;margin-left:3px;margin-right:3px;text-indent:-999px;cursor:pointer;background-color:#fff;background-clip:padding-box;border-top:10px solid transparent;border-bottom:10px solid transparent;opacity:.5;-webkit-transition:opacity .6s ease;transition:opacity .6s ease}@media (prefers-reduced-motion:reduce){.carousel-indicators li{-webkit-transition:none;transition:none}}.carousel-indicators .active{opacity:1}.carousel-caption{position:absolute;left:15%;bottom:20px;right:15%;z-index:10;padding-top:20px;padding-bottom:20px;color:#fff;text-align:center}@-webkit-keyframes spinner-border{to{-webkit-transform:rotate(-360deg);transform:rotate(-360deg)}}@keyframes spinner-border{to{-webkit-transform:rotate(-360deg);transform:rotate(-360deg)}}.spinner-border{display:inline-block;width:2rem;height:2rem;vertical-align:text-bottom;border:.25em solid currentColor;border-left-color:transparent;border-radius:50%;-webkit-animation:spinner-border .75s linear infinite;animation:spinner-border .75s linear infinite}.spinner-border-sm{width:1rem;height:1rem;border-width:.2em}@-webkit-keyframes spinner-grow{0%{-webkit-transform:scale(0);transform:scale(0)}50%{opacity:1}}@keyframes spinner-grow{0%{-webkit-transform:scale(0);transform:scale(0)}50%{opacity:1}}.spinner-grow{display:inline-block;width:2rem;height:2rem;vertical-align:text-bottom;background-color:currentColor;border-radius:50%;opacity:0;-webkit-animation:spinner-grow .75s linear infinite;animation:spinner-grow .75s linear infinite}.spinner-grow-sm{width:1rem;height:1rem}.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:#3b5de7!important}a.bg-primary:focus,a.bg-primary:hover,button.bg-primary:focus,button.bg-primary:hover{background-color:#1a3fd5!important}.bg-secondary{background-color:#8687a7!important}a.bg-secondary:focus,a.bg-secondary:hover,button.bg-secondary:focus,button.bg-secondary:hover{background-color:#696a91!important}.bg-success{background-color:#45cb85!important}a.bg-success:focus,a.bg-success:hover,button.bg-success:focus,button.bg-success:hover{background-color:#30ad6c!important}.bg-info{background-color:#0caadc!important}a.bg-info:focus,a.bg-info:hover,button.bg-info:focus,button.bg-info:hover{background-color:#0985ac!important}.bg-warning{background-color:#eeb902!important}a.bg-warning:focus,a.bg-warning:hover,button.bg-warning:focus,button.bg-warning:hover{background-color:#bb9202!important}.bg-danger{background-color:#ff715b!important}a.bg-danger:focus,a.bg-danger:hover,button.bg-danger:focus,button.bg-danger:hover{background-color:#ff4528!important}.bg-light{background-color:#eff2f7!important}a.bg-light:focus,a.bg-light:hover,button.bg-light:focus,button.bg-light:hover{background-color:#cdd6e6!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-pink{background-color:#e83e8c!important}a.bg-pink:focus,a.bg-pink:hover,button.bg-pink:focus,button.bg-pink:hover{background-color:#d91a72!important}.bg-white{background-color:#fff!important}.bg-transparent{background-color:transparent!important}.border{border:1px solid #eff2f7!important}.border-top{border-top:1px solid #eff2f7!important}.border-right{border-left:1px solid #eff2f7!important}.border-bottom{border-bottom:1px solid #eff2f7!important}.border-left{border-right:1px solid #eff2f7!important}.border-0{border:0!important}.border-top-0{border-top:0!important}.border-right-0{border-left:0!important}.border-bottom-0{border-bottom:0!important}.border-left-0{border-right:0!important}.border-primary{border-color:#3b5de7!important}.border-secondary{border-color:#8687a7!important}.border-success{border-color:#45cb85!important}.border-info{border-color:#0caadc!important}.border-warning{border-color:#eeb902!important}.border-danger{border-color:#ff715b!important}.border-light{border-color:#eff2f7!important}.border-dark{border-color:#343a40!important}.border-pink{border-color:#e83e8c!important}.border-white{border-color:#fff!important}.rounded-sm{border-radius:.2rem!important}.rounded{border-radius:.25rem!important}.rounded-top{border-top-right-radius:.25rem!important;border-top-left-radius:.25rem!important}.rounded-right{border-top-left-radius:.25rem!important;border-bottom-left-radius:.25rem!important}.rounded-bottom{border-bottom-left-radius:.25rem!important;border-bottom-right-radius:.25rem!important}.rounded-left{border-top-right-radius:.25rem!important;border-bottom-right-radius:.25rem!important}.rounded-lg{border-radius:.4rem!important}.rounded-circle{border-radius:50%!important}.rounded-pill{border-radius:50rem!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;right:0;width:100%;height:100%;border:0}.embed-responsive-21by9::before{padding-top:42.85714%}.embed-responsive-16by9::before{padding-top:56.25%}.embed-responsive-4by3::before{padding-top:75%}.embed-responsive-1by1::before{padding-top:100%}.embed-responsive-21by9::before{padding-top:42.85714%}.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}.flex-fill{-webkit-box-flex:1!important;-ms-flex:1 1 auto!important;flex:1 1 auto!important}.flex-grow-0{-webkit-box-flex:0!important;-ms-flex-positive:0!important;flex-grow:0!important}.flex-grow-1{-webkit-box-flex:1!important;-ms-flex-positive:1!important;flex-grow:1!important}.flex-shrink-0{-ms-flex-negative:0!important;flex-shrink:0!important}.flex-shrink-1{-ms-flex-negative:1!important;flex-shrink:1!important}.justify-content-start{-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}.flex-sm-fill{-webkit-box-flex:1!important;-ms-flex:1 1 auto!important;flex:1 1 auto!important}.flex-sm-grow-0{-webkit-box-flex:0!important;-ms-flex-positive:0!important;flex-grow:0!important}.flex-sm-grow-1{-webkit-box-flex:1!important;-ms-flex-positive:1!important;flex-grow:1!important}.flex-sm-shrink-0{-ms-flex-negative:0!important;flex-shrink:0!important}.flex-sm-shrink-1{-ms-flex-negative:1!important;flex-shrink:1!important}.justify-content-sm-start{-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}.flex-md-fill{-webkit-box-flex:1!important;-ms-flex:1 1 auto!important;flex:1 1 auto!important}.flex-md-grow-0{-webkit-box-flex:0!important;-ms-flex-positive:0!important;flex-grow:0!important}.flex-md-grow-1{-webkit-box-flex:1!important;-ms-flex-positive:1!important;flex-grow:1!important}.flex-md-shrink-0{-ms-flex-negative:0!important;flex-shrink:0!important}.flex-md-shrink-1{-ms-flex-negative:1!important;flex-shrink:1!important}.justify-content-md-start{-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}.flex-lg-fill{-webkit-box-flex:1!important;-ms-flex:1 1 auto!important;flex:1 1 auto!important}.flex-lg-grow-0{-webkit-box-flex:0!important;-ms-flex-positive:0!important;flex-grow:0!important}.flex-lg-grow-1{-webkit-box-flex:1!important;-ms-flex-positive:1!important;flex-grow:1!important}.flex-lg-shrink-0{-ms-flex-negative:0!important;flex-shrink:0!important}.flex-lg-shrink-1{-ms-flex-negative:1!important;flex-shrink:1!important}.justify-content-lg-start{-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}.flex-xl-fill{-webkit-box-flex:1!important;-ms-flex:1 1 auto!important;flex:1 1 auto!important}.flex-xl-grow-0{-webkit-box-flex:0!important;-ms-flex-positive:0!important;flex-grow:0!important}.flex-xl-grow-1{-webkit-box-flex:1!important;-ms-flex-positive:1!important;flex-grow:1!important}.flex-xl-shrink-0{-ms-flex-negative:0!important;flex-shrink:0!important}.flex-xl-shrink-1{-ms-flex-negative:1!important;flex-shrink:1!important}.justify-content-xl-start{-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:right!important}.float-right{float:left!important}.float-none{float:none!important}@media (min-width:576px){.float-sm-left{float:right!important}.float-sm-right{float:left!important}.float-sm-none{float:none!important}}@media (min-width:768px){.float-md-left{float:right!important}.float-md-right{float:left!important}.float-md-none{float:none!important}}@media (min-width:992px){.float-lg-left{float:right!important}.float-lg-right{float:left!important}.float-lg-none{float:none!important}}@media (min-width:1200px){.float-xl-left{float:right!important}.float-xl-right{float:left!important}.float-xl-none{float:none!important}}.overflow-auto{overflow:auto!important}.overflow-hidden{overflow:hidden!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;left:0;right:0;z-index:1030}.fixed-bottom{position:fixed;left:0;bottom:0;right: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;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.sr-only-focusable:active,.sr-only-focusable:focus{position:static;width:auto;height:auto;overflow:visible;clip:auto;white-space:normal}.shadow-sm{-webkit-box-shadow:0 .125rem .25rem rgba(0,0,0,.075)!important;box-shadow:0 .125rem .25rem rgba(0,0,0,.075)!important}.shadow{-webkit-box-shadow:0 .75rem 1.5rem rgba(18,38,63,.03)!important;box-shadow:0 .75rem 1.5rem rgba(18,38,63,.03)!important}.shadow-lg{-webkit-box-shadow:0 .2rem 2rem rgba(0,0,0,.12)!important;box-shadow:0 .2rem 2rem rgba(0,0,0,.12)!important}.shadow-none{-webkit-box-shadow:none!important;box-shadow:none!important}.w-25{width:25%!important}.w-50{width:50%!important}.w-75{width:75%!important}.w-100{width:100%!important}.w-auto{width:auto!important}.h-25{height:25%!important}.h-50{height:50%!important}.h-75{height:75%!important}.h-100{height:100%!important}.h-auto{height:auto!important}.mw-100{max-width:100%!important}.mh-100{max-height:100%!important}.min-vw-100{min-width:100vw!important}.min-vh-100{min-height:100vh!important}.vw-100{width:100vw!important}.vh-100{height:100vh!important}.stretched-link::after{position:absolute;top:0;left:0;bottom:0;right:0;z-index:1;pointer-events:auto;content:"";background-color:rgba(0,0,0,0)}.m-0{margin:0!important}.mt-0,.my-0{margin-top:0!important}.mr-0,.mx-0{margin-left:0!important}.mb-0,.my-0{margin-bottom:0!important}.ml-0,.mx-0{margin-right:0!important}.m-1{margin:.25rem!important}.mt-1,.my-1{margin-top:.25rem!important}.mr-1,.mx-1{margin-left:.25rem!important}.mb-1,.my-1{margin-bottom:.25rem!important}.ml-1,.mx-1{margin-right:.25rem!important}.m-2{margin:.5rem!important}.mt-2,.my-2{margin-top:.5rem!important}.mr-2,.mx-2{margin-left:.5rem!important}.mb-2,.my-2{margin-bottom:.5rem!important}.ml-2,.mx-2{margin-right:.5rem!important}.m-3{margin:1rem!important}.mt-3,.my-3{margin-top:1rem!important}.mr-3,.mx-3{margin-left:1rem!important}.mb-3,.my-3{margin-bottom:1rem!important}.ml-3,.mx-3{margin-right:1rem!important}.m-4{margin:1.5rem!important}.mt-4,.my-4{margin-top:1.5rem!important}.mr-4,.mx-4{margin-left:1.5rem!important}.mb-4,.my-4{margin-bottom:1.5rem!important}.ml-4,.mx-4{margin-right:1.5rem!important}.m-5{margin:3rem!important}.mt-5,.my-5{margin-top:3rem!important}.mr-5,.mx-5{margin-left:3rem!important}.mb-5,.my-5{margin-bottom:3rem!important}.ml-5,.mx-5{margin-right:3rem!important}.p-0{padding:0!important}.pt-0,.py-0{padding-top:0!important}.pr-0,.px-0{padding-left:0!important}.pb-0,.py-0{padding-bottom:0!important}.pl-0,.px-0{padding-right:0!important}.p-1{padding:.25rem!important}.pt-1,.py-1{padding-top:.25rem!important}.pr-1,.px-1{padding-left:.25rem!important}.pb-1,.py-1{padding-bottom:.25rem!important}.pl-1,.px-1{padding-right:.25rem!important}.p-2{padding:.5rem!important}.pt-2,.py-2{padding-top:.5rem!important}.pr-2,.px-2{padding-left:.5rem!important}.pb-2,.py-2{padding-bottom:.5rem!important}.pl-2,.px-2{padding-right:.5rem!important}.p-3{padding:1rem!important}.pt-3,.py-3{padding-top:1rem!important}.pr-3,.px-3{padding-left:1rem!important}.pb-3,.py-3{padding-bottom:1rem!important}.pl-3,.px-3{padding-right:1rem!important}.p-4{padding:1.5rem!important}.pt-4,.py-4{padding-top:1.5rem!important}.pr-4,.px-4{padding-left:1.5rem!important}.pb-4,.py-4{padding-bottom:1.5rem!important}.pl-4,.px-4{padding-right:1.5rem!important}.p-5{padding:3rem!important}.pt-5,.py-5{padding-top:3rem!important}.pr-5,.px-5{padding-left:3rem!important}.pb-5,.py-5{padding-bottom:3rem!important}.pl-5,.px-5{padding-right:3rem!important}.m-n1{margin:-.25rem!important}.mt-n1,.my-n1{margin-top:-.25rem!important}.mr-n1,.mx-n1{margin-left:-.25rem!important}.mb-n1,.my-n1{margin-bottom:-.25rem!important}.ml-n1,.mx-n1{margin-right:-.25rem!important}.m-n2{margin:-.5rem!important}.mt-n2,.my-n2{margin-top:-.5rem!important}.mr-n2,.mx-n2{margin-left:-.5rem!important}.mb-n2,.my-n2{margin-bottom:-.5rem!important}.ml-n2,.mx-n2{margin-right:-.5rem!important}.m-n3{margin:-1rem!important}.mt-n3,.my-n3{margin-top:-1rem!important}.mr-n3,.mx-n3{margin-left:-1rem!important}.mb-n3,.my-n3{margin-bottom:-1rem!important}.ml-n3,.mx-n3{margin-right:-1rem!important}.m-n4{margin:-1.5rem!important}.mt-n4,.my-n4{margin-top:-1.5rem!important}.mr-n4,.mx-n4{margin-left:-1.5rem!important}.mb-n4,.my-n4{margin-bottom:-1.5rem!important}.ml-n4,.mx-n4{margin-right:-1.5rem!important}.m-n5{margin:-3rem!important}.mt-n5,.my-n5{margin-top:-3rem!important}.mr-n5,.mx-n5{margin-left:-3rem!important}.mb-n5,.my-n5{margin-bottom:-3rem!important}.ml-n5,.mx-n5{margin-right:-3rem!important}.m-auto{margin:auto!important}.mt-auto,.my-auto{margin-top:auto!important}.mr-auto,.mx-auto{margin-left:auto!important}.mb-auto,.my-auto{margin-bottom:auto!important}.ml-auto,.mx-auto{margin-right: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-left:0!important}.mb-sm-0,.my-sm-0{margin-bottom:0!important}.ml-sm-0,.mx-sm-0{margin-right: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-left:.25rem!important}.mb-sm-1,.my-sm-1{margin-bottom:.25rem!important}.ml-sm-1,.mx-sm-1{margin-right:.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-left:.5rem!important}.mb-sm-2,.my-sm-2{margin-bottom:.5rem!important}.ml-sm-2,.mx-sm-2{margin-right:.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-left:1rem!important}.mb-sm-3,.my-sm-3{margin-bottom:1rem!important}.ml-sm-3,.mx-sm-3{margin-right: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-left:1.5rem!important}.mb-sm-4,.my-sm-4{margin-bottom:1.5rem!important}.ml-sm-4,.mx-sm-4{margin-right: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-left:3rem!important}.mb-sm-5,.my-sm-5{margin-bottom:3rem!important}.ml-sm-5,.mx-sm-5{margin-right: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-left:0!important}.pb-sm-0,.py-sm-0{padding-bottom:0!important}.pl-sm-0,.px-sm-0{padding-right: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-left:.25rem!important}.pb-sm-1,.py-sm-1{padding-bottom:.25rem!important}.pl-sm-1,.px-sm-1{padding-right:.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-left:.5rem!important}.pb-sm-2,.py-sm-2{padding-bottom:.5rem!important}.pl-sm-2,.px-sm-2{padding-right:.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-left:1rem!important}.pb-sm-3,.py-sm-3{padding-bottom:1rem!important}.pl-sm-3,.px-sm-3{padding-right: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-left:1.5rem!important}.pb-sm-4,.py-sm-4{padding-bottom:1.5rem!important}.pl-sm-4,.px-sm-4{padding-right: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-left:3rem!important}.pb-sm-5,.py-sm-5{padding-bottom:3rem!important}.pl-sm-5,.px-sm-5{padding-right:3rem!important}.m-sm-n1{margin:-.25rem!important}.mt-sm-n1,.my-sm-n1{margin-top:-.25rem!important}.mr-sm-n1,.mx-sm-n1{margin-left:-.25rem!important}.mb-sm-n1,.my-sm-n1{margin-bottom:-.25rem!important}.ml-sm-n1,.mx-sm-n1{margin-right:-.25rem!important}.m-sm-n2{margin:-.5rem!important}.mt-sm-n2,.my-sm-n2{margin-top:-.5rem!important}.mr-sm-n2,.mx-sm-n2{margin-left:-.5rem!important}.mb-sm-n2,.my-sm-n2{margin-bottom:-.5rem!important}.ml-sm-n2,.mx-sm-n2{margin-right:-.5rem!important}.m-sm-n3{margin:-1rem!important}.mt-sm-n3,.my-sm-n3{margin-top:-1rem!important}.mr-sm-n3,.mx-sm-n3{margin-left:-1rem!important}.mb-sm-n3,.my-sm-n3{margin-bottom:-1rem!important}.ml-sm-n3,.mx-sm-n3{margin-right:-1rem!important}.m-sm-n4{margin:-1.5rem!important}.mt-sm-n4,.my-sm-n4{margin-top:-1.5rem!important}.mr-sm-n4,.mx-sm-n4{margin-left:-1.5rem!important}.mb-sm-n4,.my-sm-n4{margin-bottom:-1.5rem!important}.ml-sm-n4,.mx-sm-n4{margin-right:-1.5rem!important}.m-sm-n5{margin:-3rem!important}.mt-sm-n5,.my-sm-n5{margin-top:-3rem!important}.mr-sm-n5,.mx-sm-n5{margin-left:-3rem!important}.mb-sm-n5,.my-sm-n5{margin-bottom:-3rem!important}.ml-sm-n5,.mx-sm-n5{margin-right:-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-left:auto!important}.mb-sm-auto,.my-sm-auto{margin-bottom:auto!important}.ml-sm-auto,.mx-sm-auto{margin-right: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-left:0!important}.mb-md-0,.my-md-0{margin-bottom:0!important}.ml-md-0,.mx-md-0{margin-right: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-left:.25rem!important}.mb-md-1,.my-md-1{margin-bottom:.25rem!important}.ml-md-1,.mx-md-1{margin-right:.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-left:.5rem!important}.mb-md-2,.my-md-2{margin-bottom:.5rem!important}.ml-md-2,.mx-md-2{margin-right:.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-left:1rem!important}.mb-md-3,.my-md-3{margin-bottom:1rem!important}.ml-md-3,.mx-md-3{margin-right: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-left:1.5rem!important}.mb-md-4,.my-md-4{margin-bottom:1.5rem!important}.ml-md-4,.mx-md-4{margin-right: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-left:3rem!important}.mb-md-5,.my-md-5{margin-bottom:3rem!important}.ml-md-5,.mx-md-5{margin-right: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-left:0!important}.pb-md-0,.py-md-0{padding-bottom:0!important}.pl-md-0,.px-md-0{padding-right: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-left:.25rem!important}.pb-md-1,.py-md-1{padding-bottom:.25rem!important}.pl-md-1,.px-md-1{padding-right:.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-left:.5rem!important}.pb-md-2,.py-md-2{padding-bottom:.5rem!important}.pl-md-2,.px-md-2{padding-right:.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-left:1rem!important}.pb-md-3,.py-md-3{padding-bottom:1rem!important}.pl-md-3,.px-md-3{padding-right: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-left:1.5rem!important}.pb-md-4,.py-md-4{padding-bottom:1.5rem!important}.pl-md-4,.px-md-4{padding-right: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-left:3rem!important}.pb-md-5,.py-md-5{padding-bottom:3rem!important}.pl-md-5,.px-md-5{padding-right:3rem!important}.m-md-n1{margin:-.25rem!important}.mt-md-n1,.my-md-n1{margin-top:-.25rem!important}.mr-md-n1,.mx-md-n1{margin-left:-.25rem!important}.mb-md-n1,.my-md-n1{margin-bottom:-.25rem!important}.ml-md-n1,.mx-md-n1{margin-right:-.25rem!important}.m-md-n2{margin:-.5rem!important}.mt-md-n2,.my-md-n2{margin-top:-.5rem!important}.mr-md-n2,.mx-md-n2{margin-left:-.5rem!important}.mb-md-n2,.my-md-n2{margin-bottom:-.5rem!important}.ml-md-n2,.mx-md-n2{margin-right:-.5rem!important}.m-md-n3{margin:-1rem!important}.mt-md-n3,.my-md-n3{margin-top:-1rem!important}.mr-md-n3,.mx-md-n3{margin-left:-1rem!important}.mb-md-n3,.my-md-n3{margin-bottom:-1rem!important}.ml-md-n3,.mx-md-n3{margin-right:-1rem!important}.m-md-n4{margin:-1.5rem!important}.mt-md-n4,.my-md-n4{margin-top:-1.5rem!important}.mr-md-n4,.mx-md-n4{margin-left:-1.5rem!important}.mb-md-n4,.my-md-n4{margin-bottom:-1.5rem!important}.ml-md-n4,.mx-md-n4{margin-right:-1.5rem!important}.m-md-n5{margin:-3rem!important}.mt-md-n5,.my-md-n5{margin-top:-3rem!important}.mr-md-n5,.mx-md-n5{margin-left:-3rem!important}.mb-md-n5,.my-md-n5{margin-bottom:-3rem!important}.ml-md-n5,.mx-md-n5{margin-right:-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-left:auto!important}.mb-md-auto,.my-md-auto{margin-bottom:auto!important}.ml-md-auto,.mx-md-auto{margin-right: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-left:0!important}.mb-lg-0,.my-lg-0{margin-bottom:0!important}.ml-lg-0,.mx-lg-0{margin-right: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-left:.25rem!important}.mb-lg-1,.my-lg-1{margin-bottom:.25rem!important}.ml-lg-1,.mx-lg-1{margin-right:.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-left:.5rem!important}.mb-lg-2,.my-lg-2{margin-bottom:.5rem!important}.ml-lg-2,.mx-lg-2{margin-right:.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-left:1rem!important}.mb-lg-3,.my-lg-3{margin-bottom:1rem!important}.ml-lg-3,.mx-lg-3{margin-right: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-left:1.5rem!important}.mb-lg-4,.my-lg-4{margin-bottom:1.5rem!important}.ml-lg-4,.mx-lg-4{margin-right: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-left:3rem!important}.mb-lg-5,.my-lg-5{margin-bottom:3rem!important}.ml-lg-5,.mx-lg-5{margin-right: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-left:0!important}.pb-lg-0,.py-lg-0{padding-bottom:0!important}.pl-lg-0,.px-lg-0{padding-right: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-left:.25rem!important}.pb-lg-1,.py-lg-1{padding-bottom:.25rem!important}.pl-lg-1,.px-lg-1{padding-right:.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-left:.5rem!important}.pb-lg-2,.py-lg-2{padding-bottom:.5rem!important}.pl-lg-2,.px-lg-2{padding-right:.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-left:1rem!important}.pb-lg-3,.py-lg-3{padding-bottom:1rem!important}.pl-lg-3,.px-lg-3{padding-right: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-left:1.5rem!important}.pb-lg-4,.py-lg-4{padding-bottom:1.5rem!important}.pl-lg-4,.px-lg-4{padding-right: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-left:3rem!important}.pb-lg-5,.py-lg-5{padding-bottom:3rem!important}.pl-lg-5,.px-lg-5{padding-right:3rem!important}.m-lg-n1{margin:-.25rem!important}.mt-lg-n1,.my-lg-n1{margin-top:-.25rem!important}.mr-lg-n1,.mx-lg-n1{margin-left:-.25rem!important}.mb-lg-n1,.my-lg-n1{margin-bottom:-.25rem!important}.ml-lg-n1,.mx-lg-n1{margin-right:-.25rem!important}.m-lg-n2{margin:-.5rem!important}.mt-lg-n2,.my-lg-n2{margin-top:-.5rem!important}.mr-lg-n2,.mx-lg-n2{margin-left:-.5rem!important}.mb-lg-n2,.my-lg-n2{margin-bottom:-.5rem!important}.ml-lg-n2,.mx-lg-n2{margin-right:-.5rem!important}.m-lg-n3{margin:-1rem!important}.mt-lg-n3,.my-lg-n3{margin-top:-1rem!important}.mr-lg-n3,.mx-lg-n3{margin-left:-1rem!important}.mb-lg-n3,.my-lg-n3{margin-bottom:-1rem!important}.ml-lg-n3,.mx-lg-n3{margin-right:-1rem!important}.m-lg-n4{margin:-1.5rem!important}.mt-lg-n4,.my-lg-n4{margin-top:-1.5rem!important}.mr-lg-n4,.mx-lg-n4{margin-left:-1.5rem!important}.mb-lg-n4,.my-lg-n4{margin-bottom:-1.5rem!important}.ml-lg-n4,.mx-lg-n4{margin-right:-1.5rem!important}.m-lg-n5{margin:-3rem!important}.mt-lg-n5,.my-lg-n5{margin-top:-3rem!important}.mr-lg-n5,.mx-lg-n5{margin-left:-3rem!important}.mb-lg-n5,.my-lg-n5{margin-bottom:-3rem!important}.ml-lg-n5,.mx-lg-n5{margin-right:-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-left:auto!important}.mb-lg-auto,.my-lg-auto{margin-bottom:auto!important}.ml-lg-auto,.mx-lg-auto{margin-right: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-left:0!important}.mb-xl-0,.my-xl-0{margin-bottom:0!important}.ml-xl-0,.mx-xl-0{margin-right: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-left:.25rem!important}.mb-xl-1,.my-xl-1{margin-bottom:.25rem!important}.ml-xl-1,.mx-xl-1{margin-right:.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-left:.5rem!important}.mb-xl-2,.my-xl-2{margin-bottom:.5rem!important}.ml-xl-2,.mx-xl-2{margin-right:.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-left:1rem!important}.mb-xl-3,.my-xl-3{margin-bottom:1rem!important}.ml-xl-3,.mx-xl-3{margin-right: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-left:1.5rem!important}.mb-xl-4,.my-xl-4{margin-bottom:1.5rem!important}.ml-xl-4,.mx-xl-4{margin-right: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-left:3rem!important}.mb-xl-5,.my-xl-5{margin-bottom:3rem!important}.ml-xl-5,.mx-xl-5{margin-right: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-left:0!important}.pb-xl-0,.py-xl-0{padding-bottom:0!important}.pl-xl-0,.px-xl-0{padding-right: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-left:.25rem!important}.pb-xl-1,.py-xl-1{padding-bottom:.25rem!important}.pl-xl-1,.px-xl-1{padding-right:.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-left:.5rem!important}.pb-xl-2,.py-xl-2{padding-bottom:.5rem!important}.pl-xl-2,.px-xl-2{padding-right:.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-left:1rem!important}.pb-xl-3,.py-xl-3{padding-bottom:1rem!important}.pl-xl-3,.px-xl-3{padding-right: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-left:1.5rem!important}.pb-xl-4,.py-xl-4{padding-bottom:1.5rem!important}.pl-xl-4,.px-xl-4{padding-right: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-left:3rem!important}.pb-xl-5,.py-xl-5{padding-bottom:3rem!important}.pl-xl-5,.px-xl-5{padding-right:3rem!important}.m-xl-n1{margin:-.25rem!important}.mt-xl-n1,.my-xl-n1{margin-top:-.25rem!important}.mr-xl-n1,.mx-xl-n1{margin-left:-.25rem!important}.mb-xl-n1,.my-xl-n1{margin-bottom:-.25rem!important}.ml-xl-n1,.mx-xl-n1{margin-right:-.25rem!important}.m-xl-n2{margin:-.5rem!important}.mt-xl-n2,.my-xl-n2{margin-top:-.5rem!important}.mr-xl-n2,.mx-xl-n2{margin-left:-.5rem!important}.mb-xl-n2,.my-xl-n2{margin-bottom:-.5rem!important}.ml-xl-n2,.mx-xl-n2{margin-right:-.5rem!important}.m-xl-n3{margin:-1rem!important}.mt-xl-n3,.my-xl-n3{margin-top:-1rem!important}.mr-xl-n3,.mx-xl-n3{margin-left:-1rem!important}.mb-xl-n3,.my-xl-n3{margin-bottom:-1rem!important}.ml-xl-n3,.mx-xl-n3{margin-right:-1rem!important}.m-xl-n4{margin:-1.5rem!important}.mt-xl-n4,.my-xl-n4{margin-top:-1.5rem!important}.mr-xl-n4,.mx-xl-n4{margin-left:-1.5rem!important}.mb-xl-n4,.my-xl-n4{margin-bottom:-1.5rem!important}.ml-xl-n4,.mx-xl-n4{margin-right:-1.5rem!important}.m-xl-n5{margin:-3rem!important}.mt-xl-n5,.my-xl-n5{margin-top:-3rem!important}.mr-xl-n5,.mx-xl-n5{margin-left:-3rem!important}.mb-xl-n5,.my-xl-n5{margin-bottom:-3rem!important}.ml-xl-n5,.mx-xl-n5{margin-right:-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-left:auto!important}.mb-xl-auto,.my-xl-auto{margin-bottom:auto!important}.ml-xl-auto,.mx-xl-auto{margin-right:auto!important}}.text-monospace{font-family:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace!important}.text-justify{text-align:justify!important}.text-wrap{white-space:normal!important}.text-nowrap{white-space:nowrap!important}.text-truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.text-left{text-align:right!important}.text-right{text-align:left!important}.text-center{text-align:center!important}@media (min-width:576px){.text-sm-left{text-align:right!important}.text-sm-right{text-align:left!important}.text-sm-center{text-align:center!important}}@media (min-width:768px){.text-md-left{text-align:right!important}.text-md-right{text-align:left!important}.text-md-center{text-align:center!important}}@media (min-width:992px){.text-lg-left{text-align:right!important}.text-lg-right{text-align:left!important}.text-lg-center{text-align:center!important}}@media (min-width:1200px){.text-xl-left{text-align:right!important}.text-xl-right{text-align:left!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-lighter{font-weight:lighter!important}.font-weight-normal{font-weight:400!important}.font-weight-bold{font-weight:600!important}.font-weight-bolder{font-weight:bolder!important}.font-italic{font-style:italic!important}.text-white{color:#fff!important}.text-primary{color:#3b5de7!important}a.text-primary:focus,a.text-primary:hover{color:#1738be!important}.text-secondary{color:#8687a7!important}a.text-secondary:focus,a.text-secondary:hover{color:#5f6082!important}.text-success{color:#45cb85!important}a.text-success:focus,a.text-success:hover{color:#2b995f!important}.text-info{color:#0caadc!important}a.text-info:focus,a.text-info:hover{color:#087293!important}.text-warning{color:#eeb902!important}a.text-warning:focus,a.text-warning:hover{color:#a27e01!important}.text-danger{color:#ff715b!important}a.text-danger:focus,a.text-danger:hover{color:#ff2f0f!important}.text-light{color:#eff2f7!important}a.text-light:focus,a.text-light:hover{color:#bcc9de!important}.text-dark{color:#343a40!important}a.text-dark:focus,a.text-dark:hover{color:#121416!important}.text-pink{color:#e83e8c!important}a.text-pink:focus,a.text-pink:hover{color:#c21766!important}.text-body{color:#8687a7!important}.text-muted{color:#8687a7!important}.text-black-50{color:rgba(0,0,0,.5)!important}.text-white-50{color:rgba(255,255,255,.5)!important}.text-hide{font:0/0 a;color:transparent;text-shadow:none;background-color:transparent;border:0}.text-decoration-none{text-decoration:none!important}.text-break{word-break:break-word!important;overflow-wrap:break-word!important}.text-reset{color:inherit!important}.visible{visibility:visible!important}.invisible{visibility:hidden!important}@media print{*,::after,::before{text-shadow:none!important;-webkit-box-shadow:none!important;box-shadow:none!important}a:not(.btn){text-decoration:underline}abbr[title]::after{content:" (" attr(title) ")"}pre{white-space:pre-wrap!important}blockquote,pre{border:1px solid #adb5bd;page-break-inside:avoid}thead{display:table-header-group}img,tr{page-break-inside:avoid}h2,h3,p{orphans:3;widows:3}h2,h3{page-break-after:avoid}@page{size:a3}body{min-width:992px!important}.container{min-width:992px!important}.navbar{display:none}.badge{border:1px solid #000}.table{border-collapse:collapse!important}.table td,.table th{background-color:#fff!important}.table-bordered td,.table-bordered th{border:1px solid #f6f6f6!important}.table-dark{color:inherit}.table-dark tbody+tbody,.table-dark td,.table-dark th,.table-dark thead th{border-color:#eff2f7}.table .thead-dark th{color:inherit;border-color:#eff2f7}}html{position:relative;min-height:100%}.h1,.h2,.h3,.h4,.h5,.h6,h1,h2,h3,h4,h5,h6{color:#495057}a{text-decoration:none!important}label{font-weight:500}.blockquote{padding:10px 20px;border-right:4px solid #f6f6f6}.blockquote-reverse{border-right:0;border-left:4px solid #f6f6f6;text-align:left}.bg-soft-primary{background-color:rgba(59,93,231,.25)!important}.bg-soft-secondary{background-color:rgba(134,135,167,.25)!important}.bg-soft-success{background-color:rgba(69,203,133,.25)!important}.bg-soft-info{background-color:rgba(12,170,220,.25)!important}.bg-soft-warning{background-color:rgba(238,185,2,.25)!important}.bg-soft-danger{background-color:rgba(255,113,91,.25)!important}.bg-soft-light{background-color:rgba(239,242,247,.25)!important}.bg-soft-dark{background-color:rgba(52,58,64,.25)!important}.bg-soft-pink{background-color:rgba(232,62,140,.25)!important}.badge-soft-primary{color:#3b5de7;background-color:rgba(59,93,231,.18)}.badge-soft-primary[href]:focus,.badge-soft-primary[href]:hover{color:#3b5de7;text-decoration:none;background-color:rgba(59,93,231,.4)}.badge-soft-secondary{color:#8687a7;background-color:rgba(134,135,167,.18)}.badge-soft-secondary[href]:focus,.badge-soft-secondary[href]:hover{color:#8687a7;text-decoration:none;background-color:rgba(134,135,167,.4)}.badge-soft-success{color:#45cb85;background-color:rgba(69,203,133,.18)}.badge-soft-success[href]:focus,.badge-soft-success[href]:hover{color:#45cb85;text-decoration:none;background-color:rgba(69,203,133,.4)}.badge-soft-info{color:#0caadc;background-color:rgba(12,170,220,.18)}.badge-soft-info[href]:focus,.badge-soft-info[href]:hover{color:#0caadc;text-decoration:none;background-color:rgba(12,170,220,.4)}.badge-soft-warning{color:#eeb902;background-color:rgba(238,185,2,.18)}.badge-soft-warning[href]:focus,.badge-soft-warning[href]:hover{color:#eeb902;text-decoration:none;background-color:rgba(238,185,2,.4)}.badge-soft-danger{color:#ff715b;background-color:rgba(255,113,91,.18)}.badge-soft-danger[href]:focus,.badge-soft-danger[href]:hover{color:#ff715b;text-decoration:none;background-color:rgba(255,113,91,.4)}.badge-soft-light{color:#eff2f7;background-color:rgba(239,242,247,.18)}.badge-soft-light[href]:focus,.badge-soft-light[href]:hover{color:#eff2f7;text-decoration:none;background-color:rgba(239,242,247,.4)}.badge-soft-dark{color:#343a40;background-color:rgba(52,58,64,.18)}.badge-soft-dark[href]:focus,.badge-soft-dark[href]:hover{color:#343a40;text-decoration:none;background-color:rgba(52,58,64,.4)}.badge-soft-pink{color:#e83e8c;background-color:rgba(232,62,140,.18)}.badge-soft-pink[href]:focus,.badge-soft-pink[href]:hover{color:#e83e8c;text-decoration:none;background-color:rgba(232,62,140,.4)}a,button{outline:0!important}.btn-rounded{border-radius:30px}.btn-dark,.btn-secondary{color:#eff2f7!important}.breadcrumb-item>a{color:#495057}.breadcrumb-item+.breadcrumb-item::before{font-family:"Material Design Icons"}.card{margin-bottom:24px;-webkit-box-shadow:0 .75rem 1.5rem rgba(18,38,63,.03);box-shadow:0 .75rem 1.5rem rgba(18,38,63,.03)}.card-drop{color:#8687a7}.card-title{font-size:15px;margin:0 0 7px 0;font-weight:500}.card-title-desc{color:#8687a7;margin-bottom:24px;font-size:13px}.dropdown-menu{-webkit-box-shadow:0 .2rem 2rem rgba(0,0,0,.12);box-shadow:0 .2rem 2rem rgba(0,0,0,.12);-webkit-animation-name:DropDownSlide;animation-name:DropDownSlide;-webkit-animation-duration:.3s;animation-duration:.3s;-webkit-animation-fill-mode:both;animation-fill-mode:both;margin:0;position:absolute;z-index:1000}.dropdown-menu.show{top:100%!important}.dropdown-menu-right{left:0!important;right:auto!important}.dropdown-menu[x-placement^=left],.dropdown-menu[x-placement^=right],.dropdown-menu[x-placement^=top]{top:auto!important;-webkit-animation:none!important;animation:none!important}@-webkit-keyframes DropDownSlide{100%{-webkit-transform:translateY(0);transform:translateY(0)}0%{-webkit-transform:translateY(10px);transform:translateY(10px)}}@keyframes DropDownSlide{100%{-webkit-transform:translateY(0);transform:translateY(0)}0%{-webkit-transform:translateY(10px);transform:translateY(10px)}}@media (min-width:600px){.dropdown-menu-lg{width:320px}}.dropdown-divider{border-top-color:#eff2f7}.dropdown-mega{position:static!important}.dropdown-megamenu{padding:20px;right:20px!important;left:20px!important}.dropdown-mega-menu-xl{width:40rem}.dropdown-mega-menu-lg{width:26rem}.nav-pills>li>a,.nav-tabs>li>a{color:#495057;font-weight:500}.nav-pills>a{color:#495057;font-weight:500}.nav-tabs-custom{border-bottom:2px solid #f6f6f6}.nav-tabs-custom .nav-item{position:relative;color:#343a40}.nav-tabs-custom .nav-item .nav-link{border:none}.nav-tabs-custom .nav-item .nav-link::after{content:"";background:#3b5de7;height:2px;position:absolute;width:100%;right:0;bottom:-1px;-webkit-transition:all 250ms ease 0s;transition:all 250ms ease 0s;-webkit-transform:scale(0);transform:scale(0)}.nav-tabs-custom .nav-item .nav-link.active{color:#3b5de7}.nav-tabs-custom .nav-item .nav-link.active:after{-webkit-transform:scale(1);transform:scale(1)}.table th{font-weight:500}.table-centered td,.table-centered th{vertical-align:middle!important}.table-nowrap td,.table-nowrap th{white-space:nowrap}.pagination-rounded .page-link{border-radius:30px!important;margin:0 3px;border:none}.progress-sm{height:5px}.progress-md{height:8px}.progress-lg{height:12px}.animated-progess{position:relative}.animated-progess .progress-bar{position:relative;border-radius:6px;-webkit-animation:animate-positive 2s;animation:animate-positive 2s}@-webkit-keyframes animate-positive{0%{width:0}}@keyframes animate-positive{0%{width:0}} diff --git a/public/assets/css/farsi-fonts-styles/primary-aviny.css b/public/assets/css/farsi-fonts-styles/primary-aviny.css new file mode 100644 index 0000000..30e26dd --- /dev/null +++ b/public/assets/css/farsi-fonts-styles/primary-aviny.css @@ -0,0 +1,9 @@ +@font-face { + font-family: "primary-font"; + src: url("../../fonts/farsi-fonts/aviny-700.eot"); + src: url("../../fonts/farsi-fonts/aviny-700.eot?#iefix") format("embedded-opentype"), + url("../../fonts/farsi-fonts/aviny-700.woff2") format("woff2"), + url("../../fonts/farsi-fonts/aviny-700.woff") format("woff"), + url("../../fonts/farsi-fonts/aviny-700.ttf") format("truetype"); + font-weight: 700; +} \ No newline at end of file diff --git a/public/assets/css/farsi-fonts-styles/primary-dastnevis.css b/public/assets/css/farsi-fonts-styles/primary-dastnevis.css new file mode 100644 index 0000000..3e04111 --- /dev/null +++ b/public/assets/css/farsi-fonts-styles/primary-dastnevis.css @@ -0,0 +1,9 @@ +@font-face { + font-family: "primary-font"; + src: url("../../fonts/farsi-fonts/dastnevis-400.eot"); + src: url("../../fonts/farsi-fonts/dastnevis-400.eot?#iefix") format("embedded-opentype"), + url("../../fonts/farsi-fonts/dastnevis-400.woff2") format("woff2"), + url("../../fonts/farsi-fonts/dastnevis-400.woff") format("woff"), + url("../../fonts/farsi-fonts/dastnevis-400.ttf") format("truetype"); + font-weight: 400; +} \ No newline at end of file diff --git a/public/assets/css/farsi-fonts-styles/primary-droid-naskh.css b/public/assets/css/farsi-fonts-styles/primary-droid-naskh.css new file mode 100644 index 0000000..765dec5 --- /dev/null +++ b/public/assets/css/farsi-fonts-styles/primary-droid-naskh.css @@ -0,0 +1,9 @@ +@font-face { + font-family: "primary-font"; + src: url("../../fonts/farsi-fonts/droid-naskh-400.eot"); + src: url("../../fonts/farsi-fonts/droid-naskh-400.eot?#iefix") format("embedded-opentype"), + url("../../fonts/farsi-fonts/droid-naskh-400.woff2") format("woff2"), + url("../../fonts/farsi-fonts/droid-naskh-400.woff") format("woff"), + url("../../fonts/farsi-fonts/droid-naskh-400.ttf") format("truetype"); + font-weight: 400; +} \ No newline at end of file diff --git a/public/assets/css/farsi-fonts-styles/primary-dubai.css b/public/assets/css/farsi-fonts-styles/primary-dubai.css new file mode 100644 index 0000000..c1f2b19 --- /dev/null +++ b/public/assets/css/farsi-fonts-styles/primary-dubai.css @@ -0,0 +1,9 @@ +@font-face { + font-family: "primary-font"; + src: url("../../fonts/farsi-fonts/dubai-400.eot"); + src: url("../../fonts/farsi-fonts/dubai-400.eot?#iefix") format("embedded-opentype"), + url("../../fonts/farsi-fonts/dubai-400.woff2") format("woff2"), + url("../../fonts/farsi-fonts/dubai-400.woff") format("woff"), + url("../../fonts/farsi-fonts/dubai-400.ttf") format("truetype"); + font-weight: 400; +} \ No newline at end of file diff --git a/public/assets/css/farsi-fonts-styles/primary-gandom.css b/public/assets/css/farsi-fonts-styles/primary-gandom.css new file mode 100644 index 0000000..12e2909 --- /dev/null +++ b/public/assets/css/farsi-fonts-styles/primary-gandom.css @@ -0,0 +1,9 @@ +@font-face { + font-family: "primary-font"; + src: url("../../fonts/farsi-fonts/gandom-400.eot"); + src: url("../../fonts/farsi-fonts/gandom-400.eot?#iefix") format("embedded-opentype"), + url("../../fonts/farsi-fonts/gandom-400.woff2") format("woff2"), + url("../../fonts/farsi-fonts/gandom-400.woff") format("woff"), + url("../../fonts/farsi-fonts/gandom-400.ttf") format("truetype"); + font-weight: 400; +} \ No newline at end of file diff --git a/public/assets/css/farsi-fonts-styles/primary-helvetica-neue.css b/public/assets/css/farsi-fonts-styles/primary-helvetica-neue.css new file mode 100644 index 0000000..bb531ff --- /dev/null +++ b/public/assets/css/farsi-fonts-styles/primary-helvetica-neue.css @@ -0,0 +1,9 @@ +@font-face { + font-family: "primary-font"; + src: url("../../fonts/farsi-fonts/helvetica-neue-700.eot"); + src: url("../../fonts/farsi-fonts/helvetica-neue-700.eot?#iefix") format("embedded-opentype"), + url("../../fonts/farsi-fonts/helvetica-neue-700.woff2") format("woff2"), + url("../../fonts/farsi-fonts/helvetica-neue-700.woff") format("woff"), + url("../../fonts/farsi-fonts/helvetica-neue-700.ttf") format("truetype"); + font-weight: 700; +} \ No newline at end of file diff --git a/public/assets/css/farsi-fonts-styles/primary-iran-sans.css b/public/assets/css/farsi-fonts-styles/primary-iran-sans.css new file mode 100644 index 0000000..6e79c72 --- /dev/null +++ b/public/assets/css/farsi-fonts-styles/primary-iran-sans.css @@ -0,0 +1,39 @@ +@font-face { + font-family: "primary-font"; + src: url("../../fonts/farsi-fonts/iran-sans-300.eot"); + src: url("../../fonts/farsi-fonts/iran-sans-300.eot?#iefix") format("embedded-opentype"), + url("../../fonts/farsi-fonts/iran-sans-300.woff2") format("woff2"), + url("../../fonts/farsi-fonts/iran-sans-300.woff") format("woff"), + url("../../fonts/farsi-fonts/iran-sans-300.ttf") format("truetype"); + font-weight: 300; +} + +@font-face { + font-family: "primary-font"; + src: url("../../fonts/farsi-fonts/iran-sans-400.eot"); + src: url("../../fonts/farsi-fonts/iran-sans-400.eot?#iefix") format("embedded-opentype"), + url("../../fonts/farsi-fonts/iran-sans-400.woff2") format("woff2"), + url("../../fonts/farsi-fonts/iran-sans-400.woff") format("woff"), + url("../../fonts/farsi-fonts/iran-sans-400.ttf") format("truetype"); + font-weight: 400; +} + +@font-face { + font-family: "primary-font"; + src: url("../../fonts/farsi-fonts/iran-sans-500.eot"); + src: url("../../fonts/farsi-fonts/iran-sans-500.eot?#iefix") format("embedded-opentype"), + url("../../fonts/farsi-fonts/iran-sans-500.woff2") format("woff2"), + url("../../fonts/farsi-fonts/iran-sans-500.woff") format("woff"), + url("../../fonts/farsi-fonts/iran-sans-500.ttf") format("truetype"); + font-weight: 500; +} + +@font-face { + font-family: "primary-font"; + src: url("../../fonts/farsi-fonts/iran-sans-700.eot"); + src: url("../../fonts/farsi-fonts/iran-sans-700.eot?#iefix") format("embedded-opentype"), + url("../../fonts/farsi-fonts/iran-sans-700.woff2") format("woff2"), + url("../../fonts/farsi-fonts/iran-sans-700.woff") format("woff"), + url("../../fonts/farsi-fonts/iran-sans-700.ttf") format("truetype"); + font-weight: 700; +} \ No newline at end of file diff --git a/public/assets/css/farsi-fonts-styles/primary-iran-yekan.css b/public/assets/css/farsi-fonts-styles/primary-iran-yekan.css new file mode 100644 index 0000000..f249f6b --- /dev/null +++ b/public/assets/css/farsi-fonts-styles/primary-iran-yekan.css @@ -0,0 +1,39 @@ +@font-face { + font-family: "primary-font"; + src: url("../../fonts/farsi-fonts/iran-yekan-300.eot"); + src: url("../../fonts/farsi-fonts/iran-yekan-300.eot?#iefix") format("embedded-opentype"), + url("../../fonts/farsi-fonts/iran-yekan-300.woff2") format("woff2"), + url("../../fonts/farsi-fonts/iran-yekan-300.woff") format("woff"), + url("../../fonts/farsi-fonts/iran-yekan-300.ttf") format("truetype"); + font-weight: 300; +} + +@font-face { + font-family: "primary-font"; + src: url("../../fonts/farsi-fonts/iran-yekan-400.eot"); + src: url("../../fonts/farsi-fonts/iran-yekan-400.eot?#iefix") format("embedded-opentype"), + url("../../fonts/farsi-fonts/iran-yekan-400.woff2") format("woff2"), + url("../../fonts/farsi-fonts/iran-yekan-400.woff") format("woff"), + url("../../fonts/farsi-fonts/iran-yekan-400.ttf") format("truetype"); + font-weight: 400; +} + +@font-face { + font-family: "primary-font"; + src: url("../../fonts/farsi-fonts/iran-yekan-500.eot"); + src: url("../../fonts/farsi-fonts/iran-yekan-500.eot?#iefix") format("embedded-opentype"), + url("../../fonts/farsi-fonts/iran-yekan-500.woff2") format("woff2"), + url("../../fonts/farsi-fonts/iran-yekan-500.woff") format("woff"), + url("../../fonts/farsi-fonts/iran-yekan-500.ttf") format("truetype"); + font-weight: 500; +} + +@font-face { + font-family: "primary-font"; + src: url("../../fonts/farsi-fonts/iran-yekan-700.eot"); + src: url("../../fonts/farsi-fonts/iran-yekan-700.eot?#iefix") format("embedded-opentype"), + url("../../fonts/farsi-fonts/iran-yekan-700.woff2") format("woff2"), + url("../../fonts/farsi-fonts/iran-yekan-700.woff") format("woff"), + url("../../fonts/farsi-fonts/iran-yekan-700.ttf") format("truetype"); + font-weight: 700; +} \ No newline at end of file diff --git a/public/assets/css/farsi-fonts-styles/primary-lalezar.css b/public/assets/css/farsi-fonts-styles/primary-lalezar.css new file mode 100644 index 0000000..7d7cceb --- /dev/null +++ b/public/assets/css/farsi-fonts-styles/primary-lalezar.css @@ -0,0 +1,9 @@ +@font-face { + font-family: "primary-font"; + src: url("../../fonts/farsi-fonts/lalezar-700.eot"); + src: url("../../fonts/farsi-fonts/lalezar-700.eot?#iefix") format("embedded-opentype"), + url("../../fonts/farsi-fonts/lalezar-700.woff2") format("woff2"), + url("../../fonts/farsi-fonts/lalezar-700.woff") format("woff"), + url("../../fonts/farsi-fonts/lalezar-700.ttf") format("truetype"); + font-weight: 700; +} \ No newline at end of file diff --git a/public/assets/css/farsi-fonts-styles/primary-myriad.css b/public/assets/css/farsi-fonts-styles/primary-myriad.css new file mode 100644 index 0000000..ddf49b2 --- /dev/null +++ b/public/assets/css/farsi-fonts-styles/primary-myriad.css @@ -0,0 +1,19 @@ +@font-face { + font-family: "primary-font"; + src: url("../../fonts/farsi-fonts/myriad-400.eot"); + src: url("../../fonts/farsi-fonts/myriad-400.eot?#iefix") format("embedded-opentype"), + url("../../fonts/farsi-fonts/myriad-400.woff2") format("woff2"), + url("../../fonts/farsi-fonts/myriad-400.woff") format("woff"), + url("../../fonts/farsi-fonts/myriad-400.ttf") format("truetype"); + font-weight: 400; +} + +@font-face { + font-family: "primary-font"; + src: url("../../fonts/farsi-fonts/myriad-700.eot"); + src: url("../../fonts/farsi-fonts/myriad-700.eot?#iefix") format("embedded-opentype"), + url("../../fonts/farsi-fonts/myriad-700.woff2") format("woff2"), + url("../../fonts/farsi-fonts/myriad-700.woff") format("woff"), + url("../../fonts/farsi-fonts/myriad-700.ttf") format("truetype"); + font-weight: 700; +} \ No newline at end of file diff --git a/public/assets/css/farsi-fonts-styles/primary-neirizi.css b/public/assets/css/farsi-fonts-styles/primary-neirizi.css new file mode 100644 index 0000000..4f72e4a --- /dev/null +++ b/public/assets/css/farsi-fonts-styles/primary-neirizi.css @@ -0,0 +1,9 @@ +@font-face { + font-family: "primary-font"; + src: url("../../fonts/farsi-fonts/neirizi-400.eot"); + src: url("../../fonts/farsi-fonts/neirizi-400.eot?#iefix") format("embedded-opentype"), + url("../../fonts/farsi-fonts/neirizi-400.woff2") format("woff2"), + url("../../fonts/farsi-fonts/neirizi-400.woff") format("woff"), + url("../../fonts/farsi-fonts/neirizi-400.ttf") format("truetype"); + font-weight: 400; +} \ No newline at end of file diff --git a/public/assets/css/farsi-fonts-styles/primary-palatino-sans.css b/public/assets/css/farsi-fonts-styles/primary-palatino-sans.css new file mode 100644 index 0000000..7a97b92 --- /dev/null +++ b/public/assets/css/farsi-fonts-styles/primary-palatino-sans.css @@ -0,0 +1,9 @@ +@font-face { + font-family: "primary-font"; + src: url("../../fonts/farsi-fonts/palatino-sans-400.eot"); + src: url("../../fonts/farsi-fonts/palatino-sans-400.eot?#iefix") format("embedded-opentype"), + url("../../fonts/farsi-fonts/palatino-sans-400.woff2") format("woff2"), + url("../../fonts/farsi-fonts/palatino-sans-400.woff") format("woff"), + url("../../fonts/farsi-fonts/palatino-sans-400.ttf") format("truetype"); + font-weight: 400; +} \ No newline at end of file diff --git a/public/assets/css/farsi-fonts-styles/primary-sahel.css b/public/assets/css/farsi-fonts-styles/primary-sahel.css new file mode 100644 index 0000000..ac9b89e --- /dev/null +++ b/public/assets/css/farsi-fonts-styles/primary-sahel.css @@ -0,0 +1,19 @@ +@font-face { + font-family: "primary-font"; + src: url("../../fonts/farsi-fonts/sahel-400.eot"); + src: url("../../fonts/farsi-fonts/sahel-400.eot?#iefix") format("embedded-opentype"), + url("../../fonts/farsi-fonts/sahel-400.woff2") format("woff2"), + url("../../fonts/farsi-fonts/sahel-400.woff") format("woff"), + url("../../fonts/farsi-fonts/sahel-400.ttf") format("truetype"); + font-weight: 400; +} + +@font-face { + font-family: "primary-font"; + src: url("../../fonts/farsi-fonts/sahel-700.eot"); + src: url("../../fonts/farsi-fonts/sahel-700.eot?#iefix") format("embedded-opentype"), + url("../../fonts/farsi-fonts/sahel-700.woff2") format("woff2"), + url("../../fonts/farsi-fonts/sahel-700.woff") format("woff"), + url("../../fonts/farsi-fonts/sahel-700.ttf") format("truetype"); + font-weight: 700; +} \ No newline at end of file diff --git a/public/assets/css/farsi-fonts-styles/primary-shabnam.css b/public/assets/css/farsi-fonts-styles/primary-shabnam.css new file mode 100644 index 0000000..e4738dd --- /dev/null +++ b/public/assets/css/farsi-fonts-styles/primary-shabnam.css @@ -0,0 +1,39 @@ +@font-face { + font-family: "primary-font"; + src: url("../../fonts/farsi-fonts/shabnam-300.eot"); + src: url("../../fonts/farsi-fonts/shabnam-300.eot?#iefix") format("embedded-opentype"), + url("../../fonts/farsi-fonts/shabnam-300.woff2") format("woff2"), + url("../../fonts/farsi-fonts/shabnam-300.woff") format("woff"), + url("../../fonts/farsi-fonts/shabnam-300.ttf") format("truetype"); + font-weight: 300; +} + +@font-face { + font-family: "primary-font"; + src: url("../../fonts/farsi-fonts/shabnam-400.eot"); + src: url("../../fonts/farsi-fonts/shabnam-400.eot?#iefix") format("embedded-opentype"), + url("../../fonts/farsi-fonts/shabnam-400.woff2") format("woff2"), + url("../../fonts/farsi-fonts/shabnam-400.woff") format("woff"), + url("../../fonts/farsi-fonts/shabnam-400.ttf") format("truetype"); + font-weight: 400; +} + +@font-face { + font-family: "primary-font"; + src: url("../../fonts/farsi-fonts/shabnam-500.eot"); + src: url("../../fonts/farsi-fonts/shabnam-500.eot?#iefix") format("embedded-opentype"), + url("../../fonts/farsi-fonts/shabnam-500.woff2") format("woff2"), + url("../../fonts/farsi-fonts/shabnam-500.woff") format("woff"), + url("../../fonts/farsi-fonts/shabnam-500.ttf") format("truetype"); + font-weight: 500; +} + +@font-face { + font-family: "primary-font"; + src: url("../../fonts/farsi-fonts/shabnam-700.eot"); + src: url("../../fonts/farsi-fonts/shabnam-700.eot?#iefix") format("embedded-opentype"), + url("../../fonts/farsi-fonts/shabnam-700.woff2") format("woff2"), + url("../../fonts/farsi-fonts/shabnam-700.woff") format("woff"), + url("../../fonts/farsi-fonts/shabnam-700.ttf") format("truetype"); + font-weight: 700; +} \ No newline at end of file diff --git a/public/assets/css/farsi-fonts-styles/primary-vazir.css b/public/assets/css/farsi-fonts-styles/primary-vazir.css new file mode 100644 index 0000000..3686c51 --- /dev/null +++ b/public/assets/css/farsi-fonts-styles/primary-vazir.css @@ -0,0 +1,39 @@ +@font-face { + font-family: "primary-font"; + src: url("../../fonts/farsi-fonts/vazir-300.eot"); + src: url("../../fonts/farsi-fonts/vazir-300.eot?#iefix") format("embedded-opentype"), + url("../../fonts/farsi-fonts/vazir-300.woff2") format("woff2"), + url("../../fonts/farsi-fonts/vazir-300.woff") format("woff"), + url("../../fonts/farsi-fonts/vazir-300.ttf") format("truetype"); + font-weight: 300; +} + +@font-face { + font-family: "primary-font"; + src: url("../../fonts/farsi-fonts/vazir-400.eot"); + src: url("../../fonts/farsi-fonts/vazir-400.eot?#iefix") format("embedded-opentype"), + url("../../fonts/farsi-fonts/vazir-400.woff2") format("woff2"), + url("../../fonts/farsi-fonts/vazir-400.woff") format("woff"), + url("../../fonts/farsi-fonts/vazir-400.ttf") format("truetype"); + font-weight: 400; +} + +@font-face { + font-family: "primary-font"; + src: url("../../fonts/farsi-fonts/vazir-500.eot"); + src: url("../../fonts/farsi-fonts/vazir-500.eot?#iefix") format("embedded-opentype"), + url("../../fonts/farsi-fonts/vazir-500.woff2") format("woff2"), + url("../../fonts/farsi-fonts/vazir-500.woff") format("woff"), + url("../../fonts/farsi-fonts/vazir-500.ttf") format("truetype"); + font-weight: 500; +} + +@font-face { + font-family: "primary-font"; + src: url("../../fonts/farsi-fonts/vazir-700.eot"); + src: url("../../fonts/farsi-fonts/vazir-700.eot?#iefix") format("embedded-opentype"), + url("../../fonts/farsi-fonts/vazir-700.woff2") format("woff2"), + url("../../fonts/farsi-fonts/vazir-700.woff") format("woff"), + url("../../fonts/farsi-fonts/vazir-700.ttf") format("truetype"); + font-weight: 700; +} \ No newline at end of file diff --git a/public/assets/css/farsi-fonts-styles/primary-yekan.css b/public/assets/css/farsi-fonts-styles/primary-yekan.css new file mode 100644 index 0000000..2971019 --- /dev/null +++ b/public/assets/css/farsi-fonts-styles/primary-yekan.css @@ -0,0 +1,9 @@ +@font-face { + font-family: "primary-font"; + src: url("../../fonts/farsi-fonts/yekan-400.eot"); + src: url("../../fonts/farsi-fonts/yekan-400.eot?#iefix") format("embedded-opentype"), + url("../../fonts/farsi-fonts/yekan-400.woff2") format("woff2"), + url("../../fonts/farsi-fonts/yekan-400.woff") format("woff"), + url("../../fonts/farsi-fonts/yekan-400.ttf") format("truetype"); + font-weight: 400; +} \ No newline at end of file diff --git a/public/assets/css/farsi-fonts-styles/secondary-aviny.css b/public/assets/css/farsi-fonts-styles/secondary-aviny.css new file mode 100644 index 0000000..5bd0268 --- /dev/null +++ b/public/assets/css/farsi-fonts-styles/secondary-aviny.css @@ -0,0 +1,9 @@ +@font-face { + font-family: "secondary-font"; + src: url("../../fonts/farsi-fonts/aviny-700.eot"); + src: url("../../fonts/farsi-fonts/aviny-700.eot?#iefix") format("embedded-opentype"), + url("../../fonts/farsi-fonts/aviny-700.woff2") format("woff2"), + url("../../fonts/farsi-fonts/aviny-700.woff") format("woff"), + url("../../fonts/farsi-fonts/aviny-700.ttf") format("truetype"); + font-weight: 700; +} \ No newline at end of file diff --git a/public/assets/css/farsi-fonts-styles/secondary-dastnevis.css b/public/assets/css/farsi-fonts-styles/secondary-dastnevis.css new file mode 100644 index 0000000..917710d --- /dev/null +++ b/public/assets/css/farsi-fonts-styles/secondary-dastnevis.css @@ -0,0 +1,9 @@ +@font-face { + font-family: "secondary-font"; + src: url("../../fonts/farsi-fonts/dastnevis-400.eot"); + src: url("../../fonts/farsi-fonts/dastnevis-400.eot?#iefix") format("embedded-opentype"), + url("../../fonts/farsi-fonts/dastnevis-400.woff2") format("woff2"), + url("../../fonts/farsi-fonts/dastnevis-400.woff") format("woff"), + url("../../fonts/farsi-fonts/dastnevis-400.ttf") format("truetype"); + font-weight: 400; +} \ No newline at end of file diff --git a/public/assets/css/farsi-fonts-styles/secondary-droid-naskh.css b/public/assets/css/farsi-fonts-styles/secondary-droid-naskh.css new file mode 100644 index 0000000..6a9154d --- /dev/null +++ b/public/assets/css/farsi-fonts-styles/secondary-droid-naskh.css @@ -0,0 +1,9 @@ +@font-face { + font-family: "secondary-font"; + src: url("../../fonts/farsi-fonts/droid-naskh-400.eot"); + src: url("../../fonts/farsi-fonts/droid-naskh-400.eot?#iefix") format("embedded-opentype"), + url("../../fonts/farsi-fonts/droid-naskh-400.woff2") format("woff2"), + url("../../fonts/farsi-fonts/droid-naskh-400.woff") format("woff"), + url("../../fonts/farsi-fonts/droid-naskh-400.ttf") format("truetype"); + font-weight: 400; +} \ No newline at end of file diff --git a/public/assets/css/farsi-fonts-styles/secondary-dubai.css b/public/assets/css/farsi-fonts-styles/secondary-dubai.css new file mode 100644 index 0000000..3730498 --- /dev/null +++ b/public/assets/css/farsi-fonts-styles/secondary-dubai.css @@ -0,0 +1,9 @@ +@font-face { + font-family: "secondary-font"; + src: url("../../fonts/farsi-fonts/dubai-400.eot"); + src: url("../../fonts/farsi-fonts/dubai-400.eot?#iefix") format("embedded-opentype"), + url("../../fonts/farsi-fonts/dubai-400.woff2") format("woff2"), + url("../../fonts/farsi-fonts/dubai-400.woff") format("woff"), + url("../../fonts/farsi-fonts/dubai-400.ttf") format("truetype"); + font-weight: 400; +} \ No newline at end of file diff --git a/public/assets/css/farsi-fonts-styles/secondary-gandom.css b/public/assets/css/farsi-fonts-styles/secondary-gandom.css new file mode 100644 index 0000000..5c963fe --- /dev/null +++ b/public/assets/css/farsi-fonts-styles/secondary-gandom.css @@ -0,0 +1,9 @@ +@font-face { + font-family: "secondary-font"; + src: url("../../fonts/farsi-fonts/gandom-400.eot"); + src: url("../../fonts/farsi-fonts/gandom-400.eot?#iefix") format("embedded-opentype"), + url("../../fonts/farsi-fonts/gandom-400.woff2") format("woff2"), + url("../../fonts/farsi-fonts/gandom-400.woff") format("woff"), + url("../../fonts/farsi-fonts/gandom-400.ttf") format("truetype"); + font-weight: 400; +} \ No newline at end of file diff --git a/public/assets/css/farsi-fonts-styles/secondary-helvetica-neue.css b/public/assets/css/farsi-fonts-styles/secondary-helvetica-neue.css new file mode 100644 index 0000000..ef4c608 --- /dev/null +++ b/public/assets/css/farsi-fonts-styles/secondary-helvetica-neue.css @@ -0,0 +1,9 @@ +@font-face { + font-family: "secondary-font"; + src: url("../../fonts/farsi-fonts/helvetica-neue-700.eot"); + src: url("../../fonts/farsi-fonts/helvetica-neue-700.eot?#iefix") format("embedded-opentype"), + url("../../fonts/farsi-fonts/helvetica-neue-700.woff2") format("woff2"), + url("../../fonts/farsi-fonts/helvetica-neue-700.woff") format("woff"), + url("../../fonts/farsi-fonts/helvetica-neue-700.ttf") format("truetype"); + font-weight: 700; +} \ No newline at end of file diff --git a/public/assets/css/farsi-fonts-styles/secondary-iran-sans.css b/public/assets/css/farsi-fonts-styles/secondary-iran-sans.css new file mode 100644 index 0000000..85fcb8b --- /dev/null +++ b/public/assets/css/farsi-fonts-styles/secondary-iran-sans.css @@ -0,0 +1,39 @@ +@font-face { + font-family: "secondary-font"; + src: url("../../fonts/farsi-fonts/iran-sans-300.eot"); + src: url("../../fonts/farsi-fonts/iran-sans-300.eot?#iefix") format("embedded-opentype"), + url("../../fonts/farsi-fonts/iran-sans-300.woff2") format("woff2"), + url("../../fonts/farsi-fonts/iran-sans-300.woff") format("woff"), + url("../../fonts/farsi-fonts/iran-sans-300.ttf") format("truetype"); + font-weight: 300; +} + +@font-face { + font-family: "secondary-font"; + src: url("../../fonts/farsi-fonts/iran-sans-400.eot"); + src: url("../../fonts/farsi-fonts/iran-sans-400.eot?#iefix") format("embedded-opentype"), + url("../../fonts/farsi-fonts/iran-sans-400.woff2") format("woff2"), + url("../../fonts/farsi-fonts/iran-sans-400.woff") format("woff"), + url("../../fonts/farsi-fonts/iran-sans-400.ttf") format("truetype"); + font-weight: 400; +} + +@font-face { + font-family: "secondary-font"; + src: url("../../fonts/farsi-fonts/iran-sans-500.eot"); + src: url("../../fonts/farsi-fonts/iran-sans-500.eot?#iefix") format("embedded-opentype"), + url("../../fonts/farsi-fonts/iran-sans-500.woff2") format("woff2"), + url("../../fonts/farsi-fonts/iran-sans-500.woff") format("woff"), + url("../../fonts/farsi-fonts/iran-sans-500.ttf") format("truetype"); + font-weight: 500; +} + +@font-face { + font-family: "secondary-font"; + src: url("../../fonts/farsi-fonts/iran-sans-700.eot"); + src: url("../../fonts/farsi-fonts/iran-sans-700.eot?#iefix") format("embedded-opentype"), + url("../../fonts/farsi-fonts/iran-sans-700.woff2") format("woff2"), + url("../../fonts/farsi-fonts/iran-sans-700.woff") format("woff"), + url("../../fonts/farsi-fonts/iran-sans-700.ttf") format("truetype"); + font-weight: 700; +} \ No newline at end of file diff --git a/public/assets/css/farsi-fonts-styles/secondary-iran-yekan.css b/public/assets/css/farsi-fonts-styles/secondary-iran-yekan.css new file mode 100644 index 0000000..f3325ed --- /dev/null +++ b/public/assets/css/farsi-fonts-styles/secondary-iran-yekan.css @@ -0,0 +1,39 @@ +@font-face { + font-family: "secondary-font"; + src: url("../../fonts/farsi-fonts/iran-yekan-300.eot"); + src: url("../../fonts/farsi-fonts/iran-yekan-300.eot?#iefix") format("embedded-opentype"), + url("../../fonts/farsi-fonts/iran-yekan-300.woff2") format("woff2"), + url("../../fonts/farsi-fonts/iran-yekan-300.woff") format("woff"), + url("../../fonts/farsi-fonts/iran-yekan-300.ttf") format("truetype"); + font-weight: 300; +} + +@font-face { + font-family: "secondary-font"; + src: url("../../fonts/farsi-fonts/iran-yekan-400.eot"); + src: url("../../fonts/farsi-fonts/iran-yekan-400.eot?#iefix") format("embedded-opentype"), + url("../../fonts/farsi-fonts/iran-yekan-400.woff2") format("woff2"), + url("../../fonts/farsi-fonts/iran-yekan-400.woff") format("woff"), + url("../../fonts/farsi-fonts/iran-yekan-400.ttf") format("truetype"); + font-weight: 400; +} + +@font-face { + font-family: "secondary-font"; + src: url("../../fonts/farsi-fonts/iran-yekan-500.eot"); + src: url("../../fonts/farsi-fonts/iran-yekan-500.eot?#iefix") format("embedded-opentype"), + url("../../fonts/farsi-fonts/iran-yekan-500.woff2") format("woff2"), + url("../../fonts/farsi-fonts/iran-yekan-500.woff") format("woff"), + url("../../fonts/farsi-fonts/iran-yekan-500.ttf") format("truetype"); + font-weight: 500; +} + +@font-face { + font-family: "secondary-font"; + src: url("../../fonts/farsi-fonts/iran-yekan-700.eot"); + src: url("../../fonts/farsi-fonts/iran-yekan-700.eot?#iefix") format("embedded-opentype"), + url("../../fonts/farsi-fonts/iran-yekan-700.woff2") format("woff2"), + url("../../fonts/farsi-fonts/iran-yekan-700.woff") format("woff"), + url("../../fonts/farsi-fonts/iran-yekan-700.ttf") format("truetype"); + font-weight: 700; +} \ No newline at end of file diff --git a/public/assets/css/farsi-fonts-styles/secondary-lalezar.css b/public/assets/css/farsi-fonts-styles/secondary-lalezar.css new file mode 100644 index 0000000..580d020 --- /dev/null +++ b/public/assets/css/farsi-fonts-styles/secondary-lalezar.css @@ -0,0 +1,9 @@ +@font-face { + font-family: "secondary-font"; + src: url("../../fonts/farsi-fonts/lalezar-700.eot"); + src: url("../../fonts/farsi-fonts/lalezar-700.eot?#iefix") format("embedded-opentype"), + url("../../fonts/farsi-fonts/lalezar-700.woff2") format("woff2"), + url("../../fonts/farsi-fonts/lalezar-700.woff") format("woff"), + url("../../fonts/farsi-fonts/lalezar-700.ttf") format("truetype"); + font-weight: 700; +} \ No newline at end of file diff --git a/public/assets/css/farsi-fonts-styles/secondary-myriad.css b/public/assets/css/farsi-fonts-styles/secondary-myriad.css new file mode 100644 index 0000000..15e2bfd --- /dev/null +++ b/public/assets/css/farsi-fonts-styles/secondary-myriad.css @@ -0,0 +1,19 @@ +@font-face { + font-family: "secondary-font"; + src: url("../../fonts/farsi-fonts/myriad-400.eot"); + src: url("../../fonts/farsi-fonts/myriad-400.eot?#iefix") format("embedded-opentype"), + url("../../fonts/farsi-fonts/myriad-400.woff2") format("woff2"), + url("../../fonts/farsi-fonts/myriad-400.woff") format("woff"), + url("../../fonts/farsi-fonts/myriad-400.ttf") format("truetype"); + font-weight: 400; +} + +@font-face { + font-family: "secondary-font"; + src: url("../../fonts/farsi-fonts/myriad-700.eot"); + src: url("../../fonts/farsi-fonts/myriad-700.eot?#iefix") format("embedded-opentype"), + url("../../fonts/farsi-fonts/myriad-700.woff2") format("woff2"), + url("../../fonts/farsi-fonts/myriad-700.woff") format("woff"), + url("../../fonts/farsi-fonts/myriad-700.ttf") format("truetype"); + font-weight: 700; +} \ No newline at end of file diff --git a/public/assets/css/farsi-fonts-styles/secondary-neirizi.css b/public/assets/css/farsi-fonts-styles/secondary-neirizi.css new file mode 100644 index 0000000..24bf3cc --- /dev/null +++ b/public/assets/css/farsi-fonts-styles/secondary-neirizi.css @@ -0,0 +1,9 @@ +@font-face { + font-family: "secondary-font"; + src: url("../../fonts/farsi-fonts/neirizi-400.eot"); + src: url("../../fonts/farsi-fonts/neirizi-400.eot?#iefix") format("embedded-opentype"), + url("../../fonts/farsi-fonts/neirizi-400.woff2") format("woff2"), + url("../../fonts/farsi-fonts/neirizi-400.woff") format("woff"), + url("../../fonts/farsi-fonts/neirizi-400.ttf") format("truetype"); + font-weight: 400; +} \ No newline at end of file diff --git a/public/assets/css/farsi-fonts-styles/secondary-palatino-sans.css b/public/assets/css/farsi-fonts-styles/secondary-palatino-sans.css new file mode 100644 index 0000000..6f62ac3 --- /dev/null +++ b/public/assets/css/farsi-fonts-styles/secondary-palatino-sans.css @@ -0,0 +1,9 @@ +@font-face { + font-family: "secondary-font"; + src: url("../../fonts/farsi-fonts/palatino-sans-400.eot"); + src: url("../../fonts/farsi-fonts/palatino-sans-400.eot?#iefix") format("embedded-opentype"), + url("../../fonts/farsi-fonts/palatino-sans-400.woff2") format("woff2"), + url("../../fonts/farsi-fonts/palatino-sans-400.woff") format("woff"), + url("../../fonts/farsi-fonts/palatino-sans-400.ttf") format("truetype"); + font-weight: 400; +} \ No newline at end of file diff --git a/public/assets/css/farsi-fonts-styles/secondary-sahel.css b/public/assets/css/farsi-fonts-styles/secondary-sahel.css new file mode 100644 index 0000000..4e3255b --- /dev/null +++ b/public/assets/css/farsi-fonts-styles/secondary-sahel.css @@ -0,0 +1,19 @@ +@font-face { + font-family: "secondary-font"; + src: url("../../fonts/farsi-fonts/sahel-400.eot"); + src: url("../../fonts/farsi-fonts/sahel-400.eot?#iefix") format("embedded-opentype"), + url("../../fonts/farsi-fonts/sahel-400.woff2") format("woff2"), + url("../../fonts/farsi-fonts/sahel-400.woff") format("woff"), + url("../../fonts/farsi-fonts/sahel-400.ttf") format("truetype"); + font-weight: 400; +} + +@font-face { + font-family: "secondary-font"; + src: url("../../fonts/farsi-fonts/sahel-700.eot"); + src: url("../../fonts/farsi-fonts/sahel-700.eot?#iefix") format("embedded-opentype"), + url("../../fonts/farsi-fonts/sahel-700.woff2") format("woff2"), + url("../../fonts/farsi-fonts/sahel-700.woff") format("woff"), + url("../../fonts/farsi-fonts/sahel-700.ttf") format("truetype"); + font-weight: 700; +} \ No newline at end of file diff --git a/public/assets/css/farsi-fonts-styles/secondary-shabnam.css b/public/assets/css/farsi-fonts-styles/secondary-shabnam.css new file mode 100644 index 0000000..0f6490f --- /dev/null +++ b/public/assets/css/farsi-fonts-styles/secondary-shabnam.css @@ -0,0 +1,39 @@ +@font-face { + font-family: "secondary-font"; + src: url("../../fonts/farsi-fonts/shabnam-300.eot"); + src: url("../../fonts/farsi-fonts/shabnam-300.eot?#iefix") format("embedded-opentype"), + url("../../fonts/farsi-fonts/shabnam-300.woff2") format("woff2"), + url("../../fonts/farsi-fonts/shabnam-300.woff") format("woff"), + url("../../fonts/farsi-fonts/shabnam-300.ttf") format("truetype"); + font-weight: 300; +} + +@font-face { + font-family: "secondary-font"; + src: url("../../fonts/farsi-fonts/shabnam-400.eot"); + src: url("../../fonts/farsi-fonts/shabnam-400.eot?#iefix") format("embedded-opentype"), + url("../../fonts/farsi-fonts/shabnam-400.woff2") format("woff2"), + url("../../fonts/farsi-fonts/shabnam-400.woff") format("woff"), + url("../../fonts/farsi-fonts/shabnam-400.ttf") format("truetype"); + font-weight: 400; +} + +@font-face { + font-family: "secondary-font"; + src: url("../../fonts/farsi-fonts/shabnam-500.eot"); + src: url("../../fonts/farsi-fonts/shabnam-500.eot?#iefix") format("embedded-opentype"), + url("../../fonts/farsi-fonts/shabnam-500.woff2") format("woff2"), + url("../../fonts/farsi-fonts/shabnam-500.woff") format("woff"), + url("../../fonts/farsi-fonts/shabnam-500.ttf") format("truetype"); + font-weight: 500; +} + +@font-face { + font-family: "secondary-font"; + src: url("../../fonts/farsi-fonts/shabnam-700.eot"); + src: url("../../fonts/farsi-fonts/shabnam-700.eot?#iefix") format("embedded-opentype"), + url("../../fonts/farsi-fonts/shabnam-700.woff2") format("woff2"), + url("../../fonts/farsi-fonts/shabnam-700.woff") format("woff"), + url("../../fonts/farsi-fonts/shabnam-700.ttf") format("truetype"); + font-weight: 700; +} \ No newline at end of file diff --git a/public/assets/css/farsi-fonts-styles/secondary-vazir.css b/public/assets/css/farsi-fonts-styles/secondary-vazir.css new file mode 100644 index 0000000..a85501b --- /dev/null +++ b/public/assets/css/farsi-fonts-styles/secondary-vazir.css @@ -0,0 +1,39 @@ +@font-face { + font-family: "secondary-font"; + src: url("../../fonts/farsi-fonts/vazir-300.eot"); + src: url("../../fonts/farsi-fonts/vazir-300.eot?#iefix") format("embedded-opentype"), + url("../../fonts/farsi-fonts/vazir-300.woff2") format("woff2"), + url("../../fonts/farsi-fonts/vazir-300.woff") format("woff"), + url("../../fonts/farsi-fonts/vazir-300.ttf") format("truetype"); + font-weight: 300; +} + +@font-face { + font-family: "secondary-font"; + src: url("../../fonts/farsi-fonts/vazir-400.eot"); + src: url("../../fonts/farsi-fonts/vazir-400.eot?#iefix") format("embedded-opentype"), + url("../../fonts/farsi-fonts/vazir-400.woff2") format("woff2"), + url("../../fonts/farsi-fonts/vazir-400.woff") format("woff"), + url("../../fonts/farsi-fonts/vazir-400.ttf") format("truetype"); + font-weight: 400; +} + +@font-face { + font-family: "secondary-font"; + src: url("../../fonts/farsi-fonts/vazir-500.eot"); + src: url("../../fonts/farsi-fonts/vazir-500.eot?#iefix") format("embedded-opentype"), + url("../../fonts/farsi-fonts/vazir-500.woff2") format("woff2"), + url("../../fonts/farsi-fonts/vazir-500.woff") format("woff"), + url("../../fonts/farsi-fonts/vazir-500.ttf") format("truetype"); + font-weight: 500; +} + +@font-face { + font-family: "secondary-font"; + src: url("../../fonts/farsi-fonts/vazir-700.eot"); + src: url("../../fonts/farsi-fonts/vazir-700.eot?#iefix") format("embedded-opentype"), + url("../../fonts/farsi-fonts/vazir-700.woff2") format("woff2"), + url("../../fonts/farsi-fonts/vazir-700.woff") format("woff"), + url("../../fonts/farsi-fonts/vazir-700.ttf") format("truetype"); + font-weight: 700; +} \ No newline at end of file diff --git a/public/assets/css/farsi-fonts-styles/secondary-yekan.css b/public/assets/css/farsi-fonts-styles/secondary-yekan.css new file mode 100644 index 0000000..be8b250 --- /dev/null +++ b/public/assets/css/farsi-fonts-styles/secondary-yekan.css @@ -0,0 +1,9 @@ +@font-face { + font-family: "secondary-font"; + src: url("../../fonts/farsi-fonts/yekan-400.eot"); + src: url("../../fonts/farsi-fonts/yekan-400.eot?#iefix") format("embedded-opentype"), + url("../../fonts/farsi-fonts/yekan-400.woff2") format("woff2"), + url("../../fonts/farsi-fonts/yekan-400.woff") format("woff"), + url("../../fonts/farsi-fonts/yekan-400.ttf") format("truetype"); + font-weight: 400; +} \ No newline at end of file diff --git a/public/assets/css/icons.css b/public/assets/css/icons.css new file mode 100644 index 0000000..24bd55b --- /dev/null +++ b/public/assets/css/icons.css @@ -0,0 +1,30923 @@ +/* +Template Name: Qovex - Responsive Bootstrap 4 Admin Dashboard +Author: Themesbrand +Version: 1.0.0 +Website: https://themesbrand.com/ +Contact: themesbrand@gmail.com +File: Icons Css File +*/ +/* MaterialDesignIcons.com */ +@font-face { + font-family: "Material Design Icons"; + src: url("../fonts/materialdesignicons-webfont.eot?v=4.7.95"); + src: url("../fonts/materialdesignicons-webfont.eot?#iefix&v=4.7.95") format("embedded-opentype"), url("../fonts/materialdesignicons-webfont.woff2?v=4.7.95") format("woff2"), url("../fonts/materialdesignicons-webfont.woff?v=4.7.95") format("woff"), url("../fonts/materialdesignicons-webfont.ttf?v=4.7.95") format("truetype"); + font-weight: normal; + font-style: normal; +} + +.mdi:before, +.mdi-set { + display: inline-block; + font: normal normal normal 24px/1 "Material Design Icons"; + font-size: inherit; + text-rendering: auto; + line-height: inherit; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; +} + +.mdi-ab-testing::before { + content: "\F001C"; +} + +.mdi-access-point::before { + content: "\F002"; +} + +.mdi-access-point-network::before { + content: "\F003"; +} + +.mdi-access-point-network-off::before { + content: "\FBBD"; +} + +.mdi-account::before { + content: "\F004"; +} + +.mdi-account-alert::before { + content: "\F005"; +} + +.mdi-account-alert-outline::before { + content: "\FB2C"; +} + +.mdi-account-arrow-left::before { + content: "\FB2D"; +} + +.mdi-account-arrow-left-outline::before { + content: "\FB2E"; +} + +.mdi-account-arrow-right::before { + content: "\FB2F"; +} + +.mdi-account-arrow-right-outline::before { + content: "\FB30"; +} + +.mdi-account-badge::before { + content: "\FD83"; +} + +.mdi-account-badge-alert::before { + content: "\FD84"; +} + +.mdi-account-badge-alert-outline::before { + content: "\FD85"; +} + +.mdi-account-badge-horizontal::before { + content: "\FDF0"; +} + +.mdi-account-badge-horizontal-outline::before { + content: "\FDF1"; +} + +.mdi-account-badge-outline::before { + content: "\FD86"; +} + +.mdi-account-box::before { + content: "\F006"; +} + +.mdi-account-box-multiple::before { + content: "\F933"; +} + +.mdi-account-box-multiple-outline::before { + content: "\F002C"; +} + +.mdi-account-box-outline::before { + content: "\F007"; +} + +.mdi-account-card-details::before { + content: "\F5D2"; +} + +.mdi-account-card-details-outline::before { + content: "\FD87"; +} + +.mdi-account-cash::before { + content: "\F00C2"; +} + +.mdi-account-cash-outline::before { + content: "\F00C3"; +} + +.mdi-account-check::before { + content: "\F008"; +} + +.mdi-account-check-outline::before { + content: "\FBBE"; +} + +.mdi-account-child::before { + content: "\FA88"; +} + +.mdi-account-child-circle::before { + content: "\FA89"; +} + +.mdi-account-child-outline::before { + content: "\F00F3"; +} + +.mdi-account-circle::before { + content: "\F009"; +} + +.mdi-account-circle-outline::before { + content: "\FB31"; +} + +.mdi-account-clock::before { + content: "\FB32"; +} + +.mdi-account-clock-outline::before { + content: "\FB33"; +} + +.mdi-account-convert::before { + content: "\F00A"; +} + +.mdi-account-details::before { + content: "\F631"; +} + +.mdi-account-edit::before { + content: "\F6BB"; +} + +.mdi-account-edit-outline::before { + content: "\F001D"; +} + +.mdi-account-group::before { + content: "\F848"; +} + +.mdi-account-group-outline::before { + content: "\FB34"; +} + +.mdi-account-heart::before { + content: "\F898"; +} + +.mdi-account-heart-outline::before { + content: "\FBBF"; +} + +.mdi-account-key::before { + content: "\F00B"; +} + +.mdi-account-key-outline::before { + content: "\FBC0"; +} + +.mdi-account-lock::before { + content: "\F0189"; +} + +.mdi-account-lock-outline::before { + content: "\F018A"; +} + +.mdi-account-minus::before { + content: "\F00D"; +} + +.mdi-account-minus-outline::before { + content: "\FAEB"; +} + +.mdi-account-multiple::before { + content: "\F00E"; +} + +.mdi-account-multiple-check::before { + content: "\F8C4"; +} + +.mdi-account-multiple-check-outline::before { + content: "\F0229"; +} + +.mdi-account-multiple-minus::before { + content: "\F5D3"; +} + +.mdi-account-multiple-minus-outline::before { + content: "\FBC1"; +} + +.mdi-account-multiple-outline::before { + content: "\F00F"; +} + +.mdi-account-multiple-plus::before { + content: "\F010"; +} + +.mdi-account-multiple-plus-outline::before { + content: "\F7FF"; +} + +.mdi-account-multiple-remove::before { + content: "\F0235"; +} + +.mdi-account-multiple-remove-outline::before { + content: "\F0236"; +} + +.mdi-account-network::before { + content: "\F011"; +} + +.mdi-account-network-outline::before { + content: "\FBC2"; +} + +.mdi-account-off::before { + content: "\F012"; +} + +.mdi-account-off-outline::before { + content: "\FBC3"; +} + +.mdi-account-outline::before { + content: "\F013"; +} + +.mdi-account-plus::before { + content: "\F014"; +} + +.mdi-account-plus-outline::before { + content: "\F800"; +} + +.mdi-account-question::before { + content: "\FB35"; +} + +.mdi-account-question-outline::before { + content: "\FB36"; +} + +.mdi-account-remove::before { + content: "\F015"; +} + +.mdi-account-remove-outline::before { + content: "\FAEC"; +} + +.mdi-account-search::before { + content: "\F016"; +} + +.mdi-account-search-outline::before { + content: "\F934"; +} + +.mdi-account-settings::before { + content: "\F630"; +} + +.mdi-account-settings-outline::before { + content: "\F00F4"; +} + +.mdi-account-star::before { + content: "\F017"; +} + +.mdi-account-star-outline::before { + content: "\FBC4"; +} + +.mdi-account-supervisor::before { + content: "\FA8A"; +} + +.mdi-account-supervisor-circle::before { + content: "\FA8B"; +} + +.mdi-account-supervisor-outline::before { + content: "\F0158"; +} + +.mdi-account-switch::before { + content: "\F019"; +} + +.mdi-account-tie::before { + content: "\FCBF"; +} + +.mdi-account-tie-outline::before { + content: "\F00F5"; +} + +.mdi-accusoft::before { + content: "\F849"; +} + +.mdi-adchoices::before { + content: "\FD1E"; +} + +.mdi-adjust::before { + content: "\F01A"; +} + +.mdi-adobe::before { + content: "\F935"; +} + +.mdi-adobe-acrobat::before { + content: "\FFBD"; +} + +.mdi-air-conditioner::before { + content: "\F01B"; +} + +.mdi-air-filter::before { + content: "\FD1F"; +} + +.mdi-air-horn::before { + content: "\FD88"; +} + +.mdi-air-humidifier::before { + content: "\F00C4"; +} + +.mdi-air-purifier::before { + content: "\FD20"; +} + +.mdi-airbag::before { + content: "\FBC5"; +} + +.mdi-airballoon::before { + content: "\F01C"; +} + +.mdi-airballoon-outline::before { + content: "\F002D"; +} + +.mdi-airplane::before { + content: "\F01D"; +} + +.mdi-airplane-landing::before { + content: "\F5D4"; +} + +.mdi-airplane-off::before { + content: "\F01E"; +} + +.mdi-airplane-takeoff::before { + content: "\F5D5"; +} + +.mdi-airplay::before { + content: "\F01F"; +} + +.mdi-airport::before { + content: "\F84A"; +} + +.mdi-alarm::before { + content: "\F020"; +} + +.mdi-alarm-bell::before { + content: "\F78D"; +} + +.mdi-alarm-check::before { + content: "\F021"; +} + +.mdi-alarm-light::before { + content: "\F78E"; +} + +.mdi-alarm-light-outline::before { + content: "\FBC6"; +} + +.mdi-alarm-multiple::before { + content: "\F022"; +} + +.mdi-alarm-note::before { + content: "\FE8E"; +} + +.mdi-alarm-note-off::before { + content: "\FE8F"; +} + +.mdi-alarm-off::before { + content: "\F023"; +} + +.mdi-alarm-plus::before { + content: "\F024"; +} + +.mdi-alarm-snooze::before { + content: "\F68D"; +} + +.mdi-album::before { + content: "\F025"; +} + +.mdi-alert::before { + content: "\F026"; +} + +.mdi-alert-box::before { + content: "\F027"; +} + +.mdi-alert-box-outline::before { + content: "\FCC0"; +} + +.mdi-alert-circle::before { + content: "\F028"; +} + +.mdi-alert-circle-check::before { + content: "\F0218"; +} + +.mdi-alert-circle-check-outline::before { + content: "\F0219"; +} + +.mdi-alert-circle-outline::before { + content: "\F5D6"; +} + +.mdi-alert-decagram::before { + content: "\F6BC"; +} + +.mdi-alert-decagram-outline::before { + content: "\FCC1"; +} + +.mdi-alert-octagon::before { + content: "\F029"; +} + +.mdi-alert-octagon-outline::before { + content: "\FCC2"; +} + +.mdi-alert-octagram::before { + content: "\F766"; +} + +.mdi-alert-octagram-outline::before { + content: "\FCC3"; +} + +.mdi-alert-outline::before { + content: "\F02A"; +} + +.mdi-alert-rhombus::before { + content: "\F01F9"; +} + +.mdi-alert-rhombus-outline::before { + content: "\F01FA"; +} + +.mdi-alien::before { + content: "\F899"; +} + +.mdi-alien-outline::before { + content: "\F00F6"; +} + +.mdi-align-horizontal-center::before { + content: "\F01EE"; +} + +.mdi-align-horizontal-left::before { + content: "\F01ED"; +} + +.mdi-align-horizontal-right::before { + content: "\F01EF"; +} + +.mdi-align-vertical-bottom::before { + content: "\F01F0"; +} + +.mdi-align-vertical-center::before { + content: "\F01F1"; +} + +.mdi-align-vertical-top::before { + content: "\F01F2"; +} + +.mdi-all-inclusive::before { + content: "\F6BD"; +} + +.mdi-allergy::before { + content: "\F0283"; +} + +.mdi-alpha::before { + content: "\F02B"; +} + +.mdi-alpha-a::before { + content: "\41"; +} + +.mdi-alpha-a-box::before { + content: "\FAED"; +} + +.mdi-alpha-a-box-outline::before { + content: "\FBC7"; +} + +.mdi-alpha-a-circle::before { + content: "\FBC8"; +} + +.mdi-alpha-a-circle-outline::before { + content: "\FBC9"; +} + +.mdi-alpha-b::before { + content: "\42"; +} + +.mdi-alpha-b-box::before { + content: "\FAEE"; +} + +.mdi-alpha-b-box-outline::before { + content: "\FBCA"; +} + +.mdi-alpha-b-circle::before { + content: "\FBCB"; +} + +.mdi-alpha-b-circle-outline::before { + content: "\FBCC"; +} + +.mdi-alpha-c::before { + content: "\43"; +} + +.mdi-alpha-c-box::before { + content: "\FAEF"; +} + +.mdi-alpha-c-box-outline::before { + content: "\FBCD"; +} + +.mdi-alpha-c-circle::before { + content: "\FBCE"; +} + +.mdi-alpha-c-circle-outline::before { + content: "\FBCF"; +} + +.mdi-alpha-d::before { + content: "\44"; +} + +.mdi-alpha-d-box::before { + content: "\FAF0"; +} + +.mdi-alpha-d-box-outline::before { + content: "\FBD0"; +} + +.mdi-alpha-d-circle::before { + content: "\FBD1"; +} + +.mdi-alpha-d-circle-outline::before { + content: "\FBD2"; +} + +.mdi-alpha-e::before { + content: "\45"; +} + +.mdi-alpha-e-box::before { + content: "\FAF1"; +} + +.mdi-alpha-e-box-outline::before { + content: "\FBD3"; +} + +.mdi-alpha-e-circle::before { + content: "\FBD4"; +} + +.mdi-alpha-e-circle-outline::before { + content: "\FBD5"; +} + +.mdi-alpha-f::before { + content: "\46"; +} + +.mdi-alpha-f-box::before { + content: "\FAF2"; +} + +.mdi-alpha-f-box-outline::before { + content: "\FBD6"; +} + +.mdi-alpha-f-circle::before { + content: "\FBD7"; +} + +.mdi-alpha-f-circle-outline::before { + content: "\FBD8"; +} + +.mdi-alpha-g::before { + content: "\47"; +} + +.mdi-alpha-g-box::before { + content: "\FAF3"; +} + +.mdi-alpha-g-box-outline::before { + content: "\FBD9"; +} + +.mdi-alpha-g-circle::before { + content: "\FBDA"; +} + +.mdi-alpha-g-circle-outline::before { + content: "\FBDB"; +} + +.mdi-alpha-h::before { + content: "\48"; +} + +.mdi-alpha-h-box::before { + content: "\FAF4"; +} + +.mdi-alpha-h-box-outline::before { + content: "\FBDC"; +} + +.mdi-alpha-h-circle::before { + content: "\FBDD"; +} + +.mdi-alpha-h-circle-outline::before { + content: "\FBDE"; +} + +.mdi-alpha-i::before { + content: "\49"; +} + +.mdi-alpha-i-box::before { + content: "\FAF5"; +} + +.mdi-alpha-i-box-outline::before { + content: "\FBDF"; +} + +.mdi-alpha-i-circle::before { + content: "\FBE0"; +} + +.mdi-alpha-i-circle-outline::before { + content: "\FBE1"; +} + +.mdi-alpha-j::before { + content: "\4A"; +} + +.mdi-alpha-j-box::before { + content: "\FAF6"; +} + +.mdi-alpha-j-box-outline::before { + content: "\FBE2"; +} + +.mdi-alpha-j-circle::before { + content: "\FBE3"; +} + +.mdi-alpha-j-circle-outline::before { + content: "\FBE4"; +} + +.mdi-alpha-k::before { + content: "\4B"; +} + +.mdi-alpha-k-box::before { + content: "\FAF7"; +} + +.mdi-alpha-k-box-outline::before { + content: "\FBE5"; +} + +.mdi-alpha-k-circle::before { + content: "\FBE6"; +} + +.mdi-alpha-k-circle-outline::before { + content: "\FBE7"; +} + +.mdi-alpha-l::before { + content: "\4C"; +} + +.mdi-alpha-l-box::before { + content: "\FAF8"; +} + +.mdi-alpha-l-box-outline::before { + content: "\FBE8"; +} + +.mdi-alpha-l-circle::before { + content: "\FBE9"; +} + +.mdi-alpha-l-circle-outline::before { + content: "\FBEA"; +} + +.mdi-alpha-m::before { + content: "\4D"; +} + +.mdi-alpha-m-box::before { + content: "\FAF9"; +} + +.mdi-alpha-m-box-outline::before { + content: "\FBEB"; +} + +.mdi-alpha-m-circle::before { + content: "\FBEC"; +} + +.mdi-alpha-m-circle-outline::before { + content: "\FBED"; +} + +.mdi-alpha-n::before { + content: "\4E"; +} + +.mdi-alpha-n-box::before { + content: "\FAFA"; +} + +.mdi-alpha-n-box-outline::before { + content: "\FBEE"; +} + +.mdi-alpha-n-circle::before { + content: "\FBEF"; +} + +.mdi-alpha-n-circle-outline::before { + content: "\FBF0"; +} + +.mdi-alpha-o::before { + content: "\4F"; +} + +.mdi-alpha-o-box::before { + content: "\FAFB"; +} + +.mdi-alpha-o-box-outline::before { + content: "\FBF1"; +} + +.mdi-alpha-o-circle::before { + content: "\FBF2"; +} + +.mdi-alpha-o-circle-outline::before { + content: "\FBF3"; +} + +.mdi-alpha-p::before { + content: "\50"; +} + +.mdi-alpha-p-box::before { + content: "\FAFC"; +} + +.mdi-alpha-p-box-outline::before { + content: "\FBF4"; +} + +.mdi-alpha-p-circle::before { + content: "\FBF5"; +} + +.mdi-alpha-p-circle-outline::before { + content: "\FBF6"; +} + +.mdi-alpha-q::before { + content: "\51"; +} + +.mdi-alpha-q-box::before { + content: "\FAFD"; +} + +.mdi-alpha-q-box-outline::before { + content: "\FBF7"; +} + +.mdi-alpha-q-circle::before { + content: "\FBF8"; +} + +.mdi-alpha-q-circle-outline::before { + content: "\FBF9"; +} + +.mdi-alpha-r::before { + content: "\52"; +} + +.mdi-alpha-r-box::before { + content: "\FAFE"; +} + +.mdi-alpha-r-box-outline::before { + content: "\FBFA"; +} + +.mdi-alpha-r-circle::before { + content: "\FBFB"; +} + +.mdi-alpha-r-circle-outline::before { + content: "\FBFC"; +} + +.mdi-alpha-s::before { + content: "\53"; +} + +.mdi-alpha-s-box::before { + content: "\FAFF"; +} + +.mdi-alpha-s-box-outline::before { + content: "\FBFD"; +} + +.mdi-alpha-s-circle::before { + content: "\FBFE"; +} + +.mdi-alpha-s-circle-outline::before { + content: "\FBFF"; +} + +.mdi-alpha-t::before { + content: "\54"; +} + +.mdi-alpha-t-box::before { + content: "\FB00"; +} + +.mdi-alpha-t-box-outline::before { + content: "\FC00"; +} + +.mdi-alpha-t-circle::before { + content: "\FC01"; +} + +.mdi-alpha-t-circle-outline::before { + content: "\FC02"; +} + +.mdi-alpha-u::before { + content: "\55"; +} + +.mdi-alpha-u-box::before { + content: "\FB01"; +} + +.mdi-alpha-u-box-outline::before { + content: "\FC03"; +} + +.mdi-alpha-u-circle::before { + content: "\FC04"; +} + +.mdi-alpha-u-circle-outline::before { + content: "\FC05"; +} + +.mdi-alpha-v::before { + content: "\56"; +} + +.mdi-alpha-v-box::before { + content: "\FB02"; +} + +.mdi-alpha-v-box-outline::before { + content: "\FC06"; +} + +.mdi-alpha-v-circle::before { + content: "\FC07"; +} + +.mdi-alpha-v-circle-outline::before { + content: "\FC08"; +} + +.mdi-alpha-w::before { + content: "\57"; +} + +.mdi-alpha-w-box::before { + content: "\FB03"; +} + +.mdi-alpha-w-box-outline::before { + content: "\FC09"; +} + +.mdi-alpha-w-circle::before { + content: "\FC0A"; +} + +.mdi-alpha-w-circle-outline::before { + content: "\FC0B"; +} + +.mdi-alpha-x::before { + content: "\58"; +} + +.mdi-alpha-x-box::before { + content: "\FB04"; +} + +.mdi-alpha-x-box-outline::before { + content: "\FC0C"; +} + +.mdi-alpha-x-circle::before { + content: "\FC0D"; +} + +.mdi-alpha-x-circle-outline::before { + content: "\FC0E"; +} + +.mdi-alpha-y::before { + content: "\59"; +} + +.mdi-alpha-y-box::before { + content: "\FB05"; +} + +.mdi-alpha-y-box-outline::before { + content: "\FC0F"; +} + +.mdi-alpha-y-circle::before { + content: "\FC10"; +} + +.mdi-alpha-y-circle-outline::before { + content: "\FC11"; +} + +.mdi-alpha-z::before { + content: "\5A"; +} + +.mdi-alpha-z-box::before { + content: "\FB06"; +} + +.mdi-alpha-z-box-outline::before { + content: "\FC12"; +} + +.mdi-alpha-z-circle::before { + content: "\FC13"; +} + +.mdi-alpha-z-circle-outline::before { + content: "\FC14"; +} + +.mdi-alphabetical::before { + content: "\F02C"; +} + +.mdi-alphabetical-off::before { + content: "\F002E"; +} + +.mdi-alphabetical-variant::before { + content: "\F002F"; +} + +.mdi-alphabetical-variant-off::before { + content: "\F0030"; +} + +.mdi-altimeter::before { + content: "\F5D7"; +} + +.mdi-amazon::before { + content: "\F02D"; +} + +.mdi-amazon-alexa::before { + content: "\F8C5"; +} + +.mdi-amazon-drive::before { + content: "\F02E"; +} + +.mdi-ambulance::before { + content: "\F02F"; +} + +.mdi-ammunition::before { + content: "\FCC4"; +} + +.mdi-ampersand::before { + content: "\FA8C"; +} + +.mdi-amplifier::before { + content: "\F030"; +} + +.mdi-amplifier-off::before { + content: "\F01E0"; +} + +.mdi-anchor::before { + content: "\F031"; +} + +.mdi-android::before { + content: "\F032"; +} + +.mdi-android-auto::before { + content: "\FA8D"; +} + +.mdi-android-debug-bridge::before { + content: "\F033"; +} + +.mdi-android-head::before { + content: "\F78F"; +} + +.mdi-android-messages::before { + content: "\FD21"; +} + +.mdi-android-studio::before { + content: "\F034"; +} + +.mdi-angle-acute::before { + content: "\F936"; +} + +.mdi-angle-obtuse::before { + content: "\F937"; +} + +.mdi-angle-right::before { + content: "\F938"; +} + +.mdi-angular::before { + content: "\F6B1"; +} + +.mdi-angularjs::before { + content: "\F6BE"; +} + +.mdi-animation::before { + content: "\F5D8"; +} + +.mdi-animation-outline::before { + content: "\FA8E"; +} + +.mdi-animation-play::before { + content: "\F939"; +} + +.mdi-animation-play-outline::before { + content: "\FA8F"; +} + +.mdi-ansible::before { + content: "\F00C5"; +} + +.mdi-antenna::before { + content: "\F0144"; +} + +.mdi-anvil::before { + content: "\F89A"; +} + +.mdi-apache-kafka::before { + content: "\F0031"; +} + +.mdi-api::before { + content: "\F00C6"; +} + +.mdi-api-off::before { + content: "\F0282"; +} + +.mdi-apple::before { + content: "\F035"; +} + +.mdi-apple-finder::before { + content: "\F036"; +} + +.mdi-apple-icloud::before { + content: "\F038"; +} + +.mdi-apple-ios::before { + content: "\F037"; +} + +.mdi-apple-keyboard-caps::before { + content: "\F632"; +} + +.mdi-apple-keyboard-command::before { + content: "\F633"; +} + +.mdi-apple-keyboard-control::before { + content: "\F634"; +} + +.mdi-apple-keyboard-option::before { + content: "\F635"; +} + +.mdi-apple-keyboard-shift::before { + content: "\F636"; +} + +.mdi-apple-safari::before { + content: "\F039"; +} + +.mdi-application::before { + content: "\F614"; +} + +.mdi-application-export::before { + content: "\FD89"; +} + +.mdi-application-import::before { + content: "\FD8A"; +} + +.mdi-approximately-equal::before { + content: "\FFBE"; +} + +.mdi-approximately-equal-box::before { + content: "\FFBF"; +} + +.mdi-apps::before { + content: "\F03B"; +} + +.mdi-apps-box::before { + content: "\FD22"; +} + +.mdi-arch::before { + content: "\F8C6"; +} + +.mdi-archive::before { + content: "\F03C"; +} + +.mdi-archive-arrow-down::before { + content: "\F0284"; +} + +.mdi-archive-arrow-down-outline::before { + content: "\F0285"; +} + +.mdi-archive-arrow-up::before { + content: "\F0286"; +} + +.mdi-archive-arrow-up-outline::before { + content: "\F0287"; +} + +.mdi-archive-outline::before { + content: "\F0239"; +} + +.mdi-arm-flex::before { + content: "\F008F"; +} + +.mdi-arm-flex-outline::before { + content: "\F0090"; +} + +.mdi-arrange-bring-forward::before { + content: "\F03D"; +} + +.mdi-arrange-bring-to-front::before { + content: "\F03E"; +} + +.mdi-arrange-send-backward::before { + content: "\F03F"; +} + +.mdi-arrange-send-to-back::before { + content: "\F040"; +} + +.mdi-arrow-all::before { + content: "\F041"; +} + +.mdi-arrow-bottom-left::before { + content: "\F042"; +} + +.mdi-arrow-bottom-left-bold-outline::before { + content: "\F9B6"; +} + +.mdi-arrow-bottom-left-thick::before { + content: "\F9B7"; +} + +.mdi-arrow-bottom-right::before { + content: "\F043"; +} + +.mdi-arrow-bottom-right-bold-outline::before { + content: "\F9B8"; +} + +.mdi-arrow-bottom-right-thick::before { + content: "\F9B9"; +} + +.mdi-arrow-collapse::before { + content: "\F615"; +} + +.mdi-arrow-collapse-all::before { + content: "\F044"; +} + +.mdi-arrow-collapse-down::before { + content: "\F791"; +} + +.mdi-arrow-collapse-horizontal::before { + content: "\F84B"; +} + +.mdi-arrow-collapse-left::before { + content: "\F792"; +} + +.mdi-arrow-collapse-right::before { + content: "\F793"; +} + +.mdi-arrow-collapse-up::before { + content: "\F794"; +} + +.mdi-arrow-collapse-vertical::before { + content: "\F84C"; +} + +.mdi-arrow-decision::before { + content: "\F9BA"; +} + +.mdi-arrow-decision-auto::before { + content: "\F9BB"; +} + +.mdi-arrow-decision-auto-outline::before { + content: "\F9BC"; +} + +.mdi-arrow-decision-outline::before { + content: "\F9BD"; +} + +.mdi-arrow-down::before { + content: "\F045"; +} + +.mdi-arrow-down-bold::before { + content: "\F72D"; +} + +.mdi-arrow-down-bold-box::before { + content: "\F72E"; +} + +.mdi-arrow-down-bold-box-outline::before { + content: "\F72F"; +} + +.mdi-arrow-down-bold-circle::before { + content: "\F047"; +} + +.mdi-arrow-down-bold-circle-outline::before { + content: "\F048"; +} + +.mdi-arrow-down-bold-hexagon-outline::before { + content: "\F049"; +} + +.mdi-arrow-down-bold-outline::before { + content: "\F9BE"; +} + +.mdi-arrow-down-box::before { + content: "\F6BF"; +} + +.mdi-arrow-down-circle::before { + content: "\FCB7"; +} + +.mdi-arrow-down-circle-outline::before { + content: "\FCB8"; +} + +.mdi-arrow-down-drop-circle::before { + content: "\F04A"; +} + +.mdi-arrow-down-drop-circle-outline::before { + content: "\F04B"; +} + +.mdi-arrow-down-thick::before { + content: "\F046"; +} + +.mdi-arrow-expand::before { + content: "\F616"; +} + +.mdi-arrow-expand-all::before { + content: "\F04C"; +} + +.mdi-arrow-expand-down::before { + content: "\F795"; +} + +.mdi-arrow-expand-horizontal::before { + content: "\F84D"; +} + +.mdi-arrow-expand-left::before { + content: "\F796"; +} + +.mdi-arrow-expand-right::before { + content: "\F797"; +} + +.mdi-arrow-expand-up::before { + content: "\F798"; +} + +.mdi-arrow-expand-vertical::before { + content: "\F84E"; +} + +.mdi-arrow-horizontal-lock::before { + content: "\F0186"; +} + +.mdi-arrow-left::before { + content: "\F04D"; +} + +.mdi-arrow-left-bold::before { + content: "\F730"; +} + +.mdi-arrow-left-bold-box::before { + content: "\F731"; +} + +.mdi-arrow-left-bold-box-outline::before { + content: "\F732"; +} + +.mdi-arrow-left-bold-circle::before { + content: "\F04F"; +} + +.mdi-arrow-left-bold-circle-outline::before { + content: "\F050"; +} + +.mdi-arrow-left-bold-hexagon-outline::before { + content: "\F051"; +} + +.mdi-arrow-left-bold-outline::before { + content: "\F9BF"; +} + +.mdi-arrow-left-box::before { + content: "\F6C0"; +} + +.mdi-arrow-left-circle::before { + content: "\FCB9"; +} + +.mdi-arrow-left-circle-outline::before { + content: "\FCBA"; +} + +.mdi-arrow-left-drop-circle::before { + content: "\F052"; +} + +.mdi-arrow-left-drop-circle-outline::before { + content: "\F053"; +} + +.mdi-arrow-left-right::before { + content: "\FE90"; +} + +.mdi-arrow-left-right-bold::before { + content: "\FE91"; +} + +.mdi-arrow-left-right-bold-outline::before { + content: "\F9C0"; +} + +.mdi-arrow-left-thick::before { + content: "\F04E"; +} + +.mdi-arrow-right::before { + content: "\F054"; +} + +.mdi-arrow-right-bold::before { + content: "\F733"; +} + +.mdi-arrow-right-bold-box::before { + content: "\F734"; +} + +.mdi-arrow-right-bold-box-outline::before { + content: "\F735"; +} + +.mdi-arrow-right-bold-circle::before { + content: "\F056"; +} + +.mdi-arrow-right-bold-circle-outline::before { + content: "\F057"; +} + +.mdi-arrow-right-bold-hexagon-outline::before { + content: "\F058"; +} + +.mdi-arrow-right-bold-outline::before { + content: "\F9C1"; +} + +.mdi-arrow-right-box::before { + content: "\F6C1"; +} + +.mdi-arrow-right-circle::before { + content: "\FCBB"; +} + +.mdi-arrow-right-circle-outline::before { + content: "\FCBC"; +} + +.mdi-arrow-right-drop-circle::before { + content: "\F059"; +} + +.mdi-arrow-right-drop-circle-outline::before { + content: "\F05A"; +} + +.mdi-arrow-right-thick::before { + content: "\F055"; +} + +.mdi-arrow-split-horizontal::before { + content: "\F93A"; +} + +.mdi-arrow-split-vertical::before { + content: "\F93B"; +} + +.mdi-arrow-top-left::before { + content: "\F05B"; +} + +.mdi-arrow-top-left-bold-outline::before { + content: "\F9C2"; +} + +.mdi-arrow-top-left-bottom-right::before { + content: "\FE92"; +} + +.mdi-arrow-top-left-bottom-right-bold::before { + content: "\FE93"; +} + +.mdi-arrow-top-left-thick::before { + content: "\F9C3"; +} + +.mdi-arrow-top-right::before { + content: "\F05C"; +} + +.mdi-arrow-top-right-bold-outline::before { + content: "\F9C4"; +} + +.mdi-arrow-top-right-bottom-left::before { + content: "\FE94"; +} + +.mdi-arrow-top-right-bottom-left-bold::before { + content: "\FE95"; +} + +.mdi-arrow-top-right-thick::before { + content: "\F9C5"; +} + +.mdi-arrow-up::before { + content: "\F05D"; +} + +.mdi-arrow-up-bold::before { + content: "\F736"; +} + +.mdi-arrow-up-bold-box::before { + content: "\F737"; +} + +.mdi-arrow-up-bold-box-outline::before { + content: "\F738"; +} + +.mdi-arrow-up-bold-circle::before { + content: "\F05F"; +} + +.mdi-arrow-up-bold-circle-outline::before { + content: "\F060"; +} + +.mdi-arrow-up-bold-hexagon-outline::before { + content: "\F061"; +} + +.mdi-arrow-up-bold-outline::before { + content: "\F9C6"; +} + +.mdi-arrow-up-box::before { + content: "\F6C2"; +} + +.mdi-arrow-up-circle::before { + content: "\FCBD"; +} + +.mdi-arrow-up-circle-outline::before { + content: "\FCBE"; +} + +.mdi-arrow-up-down::before { + content: "\FE96"; +} + +.mdi-arrow-up-down-bold::before { + content: "\FE97"; +} + +.mdi-arrow-up-down-bold-outline::before { + content: "\F9C7"; +} + +.mdi-arrow-up-drop-circle::before { + content: "\F062"; +} + +.mdi-arrow-up-drop-circle-outline::before { + content: "\F063"; +} + +.mdi-arrow-up-thick::before { + content: "\F05E"; +} + +.mdi-arrow-vertical-lock::before { + content: "\F0187"; +} + +.mdi-artist::before { + content: "\F802"; +} + +.mdi-artist-outline::before { + content: "\FCC5"; +} + +.mdi-artstation::before { + content: "\FB37"; +} + +.mdi-aspect-ratio::before { + content: "\FA23"; +} + +.mdi-assistant::before { + content: "\F064"; +} + +.mdi-asterisk::before { + content: "\F6C3"; +} + +.mdi-at::before { + content: "\F065"; +} + +.mdi-atlassian::before { + content: "\F803"; +} + +.mdi-atm::before { + content: "\FD23"; +} + +.mdi-atom::before { + content: "\F767"; +} + +.mdi-atom-variant::before { + content: "\FE98"; +} + +.mdi-attachment::before { + content: "\F066"; +} + +.mdi-audio-video::before { + content: "\F93C"; +} + +.mdi-audio-video-off::before { + content: "\F01E1"; +} + +.mdi-audiobook::before { + content: "\F067"; +} + +.mdi-augmented-reality::before { + content: "\F84F"; +} + +.mdi-auto-fix::before { + content: "\F068"; +} + +.mdi-auto-upload::before { + content: "\F069"; +} + +.mdi-autorenew::before { + content: "\F06A"; +} + +.mdi-av-timer::before { + content: "\F06B"; +} + +.mdi-aws::before { + content: "\FDF2"; +} + +.mdi-axe::before { + content: "\F8C7"; +} + +.mdi-axis::before { + content: "\FD24"; +} + +.mdi-axis-arrow::before { + content: "\FD25"; +} + +.mdi-axis-arrow-lock::before { + content: "\FD26"; +} + +.mdi-axis-lock::before { + content: "\FD27"; +} + +.mdi-axis-x-arrow::before { + content: "\FD28"; +} + +.mdi-axis-x-arrow-lock::before { + content: "\FD29"; +} + +.mdi-axis-x-rotate-clockwise::before { + content: "\FD2A"; +} + +.mdi-axis-x-rotate-counterclockwise::before { + content: "\FD2B"; +} + +.mdi-axis-x-y-arrow-lock::before { + content: "\FD2C"; +} + +.mdi-axis-y-arrow::before { + content: "\FD2D"; +} + +.mdi-axis-y-arrow-lock::before { + content: "\FD2E"; +} + +.mdi-axis-y-rotate-clockwise::before { + content: "\FD2F"; +} + +.mdi-axis-y-rotate-counterclockwise::before { + content: "\FD30"; +} + +.mdi-axis-z-arrow::before { + content: "\FD31"; +} + +.mdi-axis-z-arrow-lock::before { + content: "\FD32"; +} + +.mdi-axis-z-rotate-clockwise::before { + content: "\FD33"; +} + +.mdi-axis-z-rotate-counterclockwise::before { + content: "\FD34"; +} + +.mdi-azure::before { + content: "\F804"; +} + +.mdi-azure-devops::before { + content: "\F0091"; +} + +.mdi-babel::before { + content: "\FA24"; +} + +.mdi-baby::before { + content: "\F06C"; +} + +.mdi-baby-bottle::before { + content: "\FF56"; +} + +.mdi-baby-bottle-outline::before { + content: "\FF57"; +} + +.mdi-baby-carriage::before { + content: "\F68E"; +} + +.mdi-baby-carriage-off::before { + content: "\FFC0"; +} + +.mdi-baby-face::before { + content: "\FE99"; +} + +.mdi-baby-face-outline::before { + content: "\FE9A"; +} + +.mdi-backburger::before { + content: "\F06D"; +} + +.mdi-backspace::before { + content: "\F06E"; +} + +.mdi-backspace-outline::before { + content: "\FB38"; +} + +.mdi-backspace-reverse::before { + content: "\FE9B"; +} + +.mdi-backspace-reverse-outline::before { + content: "\FE9C"; +} + +.mdi-backup-restore::before { + content: "\F06F"; +} + +.mdi-bacteria::before { + content: "\FEF2"; +} + +.mdi-bacteria-outline::before { + content: "\FEF3"; +} + +.mdi-badminton::before { + content: "\F850"; +} + +.mdi-bag-carry-on::before { + content: "\FF58"; +} + +.mdi-bag-carry-on-check::before { + content: "\FD41"; +} + +.mdi-bag-carry-on-off::before { + content: "\FF59"; +} + +.mdi-bag-checked::before { + content: "\FF5A"; +} + +.mdi-bag-personal::before { + content: "\FDF3"; +} + +.mdi-bag-personal-off::before { + content: "\FDF4"; +} + +.mdi-bag-personal-off-outline::before { + content: "\FDF5"; +} + +.mdi-bag-personal-outline::before { + content: "\FDF6"; +} + +.mdi-baguette::before { + content: "\FF5B"; +} + +.mdi-balloon::before { + content: "\FA25"; +} + +.mdi-ballot::before { + content: "\F9C8"; +} + +.mdi-ballot-outline::before { + content: "\F9C9"; +} + +.mdi-ballot-recount::before { + content: "\FC15"; +} + +.mdi-ballot-recount-outline::before { + content: "\FC16"; +} + +.mdi-bandage::before { + content: "\FD8B"; +} + +.mdi-bandcamp::before { + content: "\F674"; +} + +.mdi-bank::before { + content: "\F070"; +} + +.mdi-bank-minus::before { + content: "\FD8C"; +} + +.mdi-bank-outline::before { + content: "\FE9D"; +} + +.mdi-bank-plus::before { + content: "\FD8D"; +} + +.mdi-bank-remove::before { + content: "\FD8E"; +} + +.mdi-bank-transfer::before { + content: "\FA26"; +} + +.mdi-bank-transfer-in::before { + content: "\FA27"; +} + +.mdi-bank-transfer-out::before { + content: "\FA28"; +} + +.mdi-barcode::before { + content: "\F071"; +} + +.mdi-barcode-off::before { + content: "\F0261"; +} + +.mdi-barcode-scan::before { + content: "\F072"; +} + +.mdi-barley::before { + content: "\F073"; +} + +.mdi-barley-off::before { + content: "\FB39"; +} + +.mdi-barn::before { + content: "\FB3A"; +} + +.mdi-barrel::before { + content: "\F074"; +} + +.mdi-baseball::before { + content: "\F851"; +} + +.mdi-baseball-bat::before { + content: "\F852"; +} + +.mdi-basecamp::before { + content: "\F075"; +} + +.mdi-bash::before { + content: "\F01AE"; +} + +.mdi-basket::before { + content: "\F076"; +} + +.mdi-basket-fill::before { + content: "\F077"; +} + +.mdi-basket-outline::before { + content: "\F01AC"; +} + +.mdi-basket-unfill::before { + content: "\F078"; +} + +.mdi-basketball::before { + content: "\F805"; +} + +.mdi-basketball-hoop::before { + content: "\FC17"; +} + +.mdi-basketball-hoop-outline::before { + content: "\FC18"; +} + +.mdi-bat::before { + content: "\FB3B"; +} + +.mdi-battery::before { + content: "\F079"; +} + +.mdi-battery-10::before { + content: "\F07A"; +} + +.mdi-battery-10-bluetooth::before { + content: "\F93D"; +} + +.mdi-battery-20::before { + content: "\F07B"; +} + +.mdi-battery-20-bluetooth::before { + content: "\F93E"; +} + +.mdi-battery-30::before { + content: "\F07C"; +} + +.mdi-battery-30-bluetooth::before { + content: "\F93F"; +} + +.mdi-battery-40::before { + content: "\F07D"; +} + +.mdi-battery-40-bluetooth::before { + content: "\F940"; +} + +.mdi-battery-50::before { + content: "\F07E"; +} + +.mdi-battery-50-bluetooth::before { + content: "\F941"; +} + +.mdi-battery-60::before { + content: "\F07F"; +} + +.mdi-battery-60-bluetooth::before { + content: "\F942"; +} + +.mdi-battery-70::before { + content: "\F080"; +} + +.mdi-battery-70-bluetooth::before { + content: "\F943"; +} + +.mdi-battery-80::before { + content: "\F081"; +} + +.mdi-battery-80-bluetooth::before { + content: "\F944"; +} + +.mdi-battery-90::before { + content: "\F082"; +} + +.mdi-battery-90-bluetooth::before { + content: "\F945"; +} + +.mdi-battery-alert::before { + content: "\F083"; +} + +.mdi-battery-alert-bluetooth::before { + content: "\F946"; +} + +.mdi-battery-alert-variant::before { + content: "\F00F7"; +} + +.mdi-battery-alert-variant-outline::before { + content: "\F00F8"; +} + +.mdi-battery-bluetooth::before { + content: "\F947"; +} + +.mdi-battery-bluetooth-variant::before { + content: "\F948"; +} + +.mdi-battery-charging::before { + content: "\F084"; +} + +.mdi-battery-charging-10::before { + content: "\F89B"; +} + +.mdi-battery-charging-100::before { + content: "\F085"; +} + +.mdi-battery-charging-20::before { + content: "\F086"; +} + +.mdi-battery-charging-30::before { + content: "\F087"; +} + +.mdi-battery-charging-40::before { + content: "\F088"; +} + +.mdi-battery-charging-50::before { + content: "\F89C"; +} + +.mdi-battery-charging-60::before { + content: "\F089"; +} + +.mdi-battery-charging-70::before { + content: "\F89D"; +} + +.mdi-battery-charging-80::before { + content: "\F08A"; +} + +.mdi-battery-charging-90::before { + content: "\F08B"; +} + +.mdi-battery-charging-high::before { + content: "\F02D1"; +} + +.mdi-battery-charging-low::before { + content: "\F02CF"; +} + +.mdi-battery-charging-medium::before { + content: "\F02D0"; +} + +.mdi-battery-charging-outline::before { + content: "\F89E"; +} + +.mdi-battery-charging-wireless::before { + content: "\F806"; +} + +.mdi-battery-charging-wireless-10::before { + content: "\F807"; +} + +.mdi-battery-charging-wireless-20::before { + content: "\F808"; +} + +.mdi-battery-charging-wireless-30::before { + content: "\F809"; +} + +.mdi-battery-charging-wireless-40::before { + content: "\F80A"; +} + +.mdi-battery-charging-wireless-50::before { + content: "\F80B"; +} + +.mdi-battery-charging-wireless-60::before { + content: "\F80C"; +} + +.mdi-battery-charging-wireless-70::before { + content: "\F80D"; +} + +.mdi-battery-charging-wireless-80::before { + content: "\F80E"; +} + +.mdi-battery-charging-wireless-90::before { + content: "\F80F"; +} + +.mdi-battery-charging-wireless-alert::before { + content: "\F810"; +} + +.mdi-battery-charging-wireless-outline::before { + content: "\F811"; +} + +.mdi-battery-heart::before { + content: "\F023A"; +} + +.mdi-battery-heart-outline::before { + content: "\F023B"; +} + +.mdi-battery-heart-variant::before { + content: "\F023C"; +} + +.mdi-battery-high::before { + content: "\F02CE"; +} + +.mdi-battery-low::before { + content: "\F02CC"; +} + +.mdi-battery-medium::before { + content: "\F02CD"; +} + +.mdi-battery-minus::before { + content: "\F08C"; +} + +.mdi-battery-negative::before { + content: "\F08D"; +} + +.mdi-battery-off::before { + content: "\F0288"; +} + +.mdi-battery-off-outline::before { + content: "\F0289"; +} + +.mdi-battery-outline::before { + content: "\F08E"; +} + +.mdi-battery-plus::before { + content: "\F08F"; +} + +.mdi-battery-positive::before { + content: "\F090"; +} + +.mdi-battery-unknown::before { + content: "\F091"; +} + +.mdi-battery-unknown-bluetooth::before { + content: "\F949"; +} + +.mdi-battlenet::before { + content: "\FB3C"; +} + +.mdi-beach::before { + content: "\F092"; +} + +.mdi-beaker::before { + content: "\FCC6"; +} + +.mdi-beaker-alert::before { + content: "\F0254"; +} + +.mdi-beaker-alert-outline::before { + content: "\F0255"; +} + +.mdi-beaker-check::before { + content: "\F0256"; +} + +.mdi-beaker-check-outline::before { + content: "\F0257"; +} + +.mdi-beaker-minus::before { + content: "\F0258"; +} + +.mdi-beaker-minus-outline::before { + content: "\F0259"; +} + +.mdi-beaker-outline::before { + content: "\F68F"; +} + +.mdi-beaker-plus::before { + content: "\F025A"; +} + +.mdi-beaker-plus-outline::before { + content: "\F025B"; +} + +.mdi-beaker-question::before { + content: "\F025C"; +} + +.mdi-beaker-question-outline::before { + content: "\F025D"; +} + +.mdi-beaker-remove::before { + content: "\F025E"; +} + +.mdi-beaker-remove-outline::before { + content: "\F025F"; +} + +.mdi-beats::before { + content: "\F097"; +} + +.mdi-bed-double::before { + content: "\F0092"; +} + +.mdi-bed-double-outline::before { + content: "\F0093"; +} + +.mdi-bed-empty::before { + content: "\F89F"; +} + +.mdi-bed-king::before { + content: "\F0094"; +} + +.mdi-bed-king-outline::before { + content: "\F0095"; +} + +.mdi-bed-queen::before { + content: "\F0096"; +} + +.mdi-bed-queen-outline::before { + content: "\F0097"; +} + +.mdi-bed-single::before { + content: "\F0098"; +} + +.mdi-bed-single-outline::before { + content: "\F0099"; +} + +.mdi-bee::before { + content: "\FFC1"; +} + +.mdi-bee-flower::before { + content: "\FFC2"; +} + +.mdi-beehive-outline::before { + content: "\F00F9"; +} + +.mdi-beer::before { + content: "\F098"; +} + +.mdi-behance::before { + content: "\F099"; +} + +.mdi-bell::before { + content: "\F09A"; +} + +.mdi-bell-alert::before { + content: "\FD35"; +} + +.mdi-bell-alert-outline::before { + content: "\FE9E"; +} + +.mdi-bell-check::before { + content: "\F0210"; +} + +.mdi-bell-check-outline::before { + content: "\F0211"; +} + +.mdi-bell-circle::before { + content: "\FD36"; +} + +.mdi-bell-circle-outline::before { + content: "\FD37"; +} + +.mdi-bell-off::before { + content: "\F09B"; +} + +.mdi-bell-off-outline::before { + content: "\FA90"; +} + +.mdi-bell-outline::before { + content: "\F09C"; +} + +.mdi-bell-plus::before { + content: "\F09D"; +} + +.mdi-bell-plus-outline::before { + content: "\FA91"; +} + +.mdi-bell-ring::before { + content: "\F09E"; +} + +.mdi-bell-ring-outline::before { + content: "\F09F"; +} + +.mdi-bell-sleep::before { + content: "\F0A0"; +} + +.mdi-bell-sleep-outline::before { + content: "\FA92"; +} + +.mdi-beta::before { + content: "\F0A1"; +} + +.mdi-betamax::before { + content: "\F9CA"; +} + +.mdi-biathlon::before { + content: "\FDF7"; +} + +.mdi-bible::before { + content: "\F0A2"; +} + +.mdi-bicycle::before { + content: "\F00C7"; +} + +.mdi-bicycle-basket::before { + content: "\F0260"; +} + +.mdi-bike::before { + content: "\F0A3"; +} + +.mdi-bike-fast::before { + content: "\F014A"; +} + +.mdi-billboard::before { + content: "\F0032"; +} + +.mdi-billiards::before { + content: "\FB3D"; +} + +.mdi-billiards-rack::before { + content: "\FB3E"; +} + +.mdi-bing::before { + content: "\F0A4"; +} + +.mdi-binoculars::before { + content: "\F0A5"; +} + +.mdi-bio::before { + content: "\F0A6"; +} + +.mdi-biohazard::before { + content: "\F0A7"; +} + +.mdi-bitbucket::before { + content: "\F0A8"; +} + +.mdi-bitcoin::before { + content: "\F812"; +} + +.mdi-black-mesa::before { + content: "\F0A9"; +} + +.mdi-blackberry::before { + content: "\F0AA"; +} + +.mdi-blender::before { + content: "\FCC7"; +} + +.mdi-blender-software::before { + content: "\F0AB"; +} + +.mdi-blinds::before { + content: "\F0AC"; +} + +.mdi-blinds-open::before { + content: "\F0033"; +} + +.mdi-block-helper::before { + content: "\F0AD"; +} + +.mdi-blogger::before { + content: "\F0AE"; +} + +.mdi-blood-bag::before { + content: "\FCC8"; +} + +.mdi-bluetooth::before { + content: "\F0AF"; +} + +.mdi-bluetooth-audio::before { + content: "\F0B0"; +} + +.mdi-bluetooth-connect::before { + content: "\F0B1"; +} + +.mdi-bluetooth-off::before { + content: "\F0B2"; +} + +.mdi-bluetooth-settings::before { + content: "\F0B3"; +} + +.mdi-bluetooth-transfer::before { + content: "\F0B4"; +} + +.mdi-blur::before { + content: "\F0B5"; +} + +.mdi-blur-linear::before { + content: "\F0B6"; +} + +.mdi-blur-off::before { + content: "\F0B7"; +} + +.mdi-blur-radial::before { + content: "\F0B8"; +} + +.mdi-bolnisi-cross::before { + content: "\FCC9"; +} + +.mdi-bolt::before { + content: "\FD8F"; +} + +.mdi-bomb::before { + content: "\F690"; +} + +.mdi-bomb-off::before { + content: "\F6C4"; +} + +.mdi-bone::before { + content: "\F0B9"; +} + +.mdi-book::before { + content: "\F0BA"; +} + +.mdi-book-information-variant::before { + content: "\F009A"; +} + +.mdi-book-lock::before { + content: "\F799"; +} + +.mdi-book-lock-open::before { + content: "\F79A"; +} + +.mdi-book-minus::before { + content: "\F5D9"; +} + +.mdi-book-minus-multiple::before { + content: "\FA93"; +} + +.mdi-book-multiple::before { + content: "\F0BB"; +} + +.mdi-book-open::before { + content: "\F0BD"; +} + +.mdi-book-open-outline::before { + content: "\FB3F"; +} + +.mdi-book-open-page-variant::before { + content: "\F5DA"; +} + +.mdi-book-open-variant::before { + content: "\F0BE"; +} + +.mdi-book-outline::before { + content: "\FB40"; +} + +.mdi-book-play::before { + content: "\FE9F"; +} + +.mdi-book-play-outline::before { + content: "\FEA0"; +} + +.mdi-book-plus::before { + content: "\F5DB"; +} + +.mdi-book-plus-multiple::before { + content: "\FA94"; +} + +.mdi-book-remove::before { + content: "\FA96"; +} + +.mdi-book-remove-multiple::before { + content: "\FA95"; +} + +.mdi-book-search::before { + content: "\FEA1"; +} + +.mdi-book-search-outline::before { + content: "\FEA2"; +} + +.mdi-book-variant::before { + content: "\F0BF"; +} + +.mdi-book-variant-multiple::before { + content: "\F0BC"; +} + +.mdi-bookmark::before { + content: "\F0C0"; +} + +.mdi-bookmark-check::before { + content: "\F0C1"; +} + +.mdi-bookmark-minus::before { + content: "\F9CB"; +} + +.mdi-bookmark-minus-outline::before { + content: "\F9CC"; +} + +.mdi-bookmark-multiple::before { + content: "\FDF8"; +} + +.mdi-bookmark-multiple-outline::before { + content: "\FDF9"; +} + +.mdi-bookmark-music::before { + content: "\F0C2"; +} + +.mdi-bookmark-off::before { + content: "\F9CD"; +} + +.mdi-bookmark-off-outline::before { + content: "\F9CE"; +} + +.mdi-bookmark-outline::before { + content: "\F0C3"; +} + +.mdi-bookmark-plus::before { + content: "\F0C5"; +} + +.mdi-bookmark-plus-outline::before { + content: "\F0C4"; +} + +.mdi-bookmark-remove::before { + content: "\F0C6"; +} + +.mdi-bookshelf::before { + content: "\F028A"; +} + +.mdi-boom-gate::before { + content: "\FEA3"; +} + +.mdi-boom-gate-alert::before { + content: "\FEA4"; +} + +.mdi-boom-gate-alert-outline::before { + content: "\FEA5"; +} + +.mdi-boom-gate-down::before { + content: "\FEA6"; +} + +.mdi-boom-gate-down-outline::before { + content: "\FEA7"; +} + +.mdi-boom-gate-outline::before { + content: "\FEA8"; +} + +.mdi-boom-gate-up::before { + content: "\FEA9"; +} + +.mdi-boom-gate-up-outline::before { + content: "\FEAA"; +} + +.mdi-boombox::before { + content: "\F5DC"; +} + +.mdi-boomerang::before { + content: "\F00FA"; +} + +.mdi-bootstrap::before { + content: "\F6C5"; +} + +.mdi-border-all::before { + content: "\F0C7"; +} + +.mdi-border-all-variant::before { + content: "\F8A0"; +} + +.mdi-border-bottom::before { + content: "\F0C8"; +} + +.mdi-border-bottom-variant::before { + content: "\F8A1"; +} + +.mdi-border-color::before { + content: "\F0C9"; +} + +.mdi-border-horizontal::before { + content: "\F0CA"; +} + +.mdi-border-inside::before { + content: "\F0CB"; +} + +.mdi-border-left::before { + content: "\F0CC"; +} + +.mdi-border-left-variant::before { + content: "\F8A2"; +} + +.mdi-border-none::before { + content: "\F0CD"; +} + +.mdi-border-none-variant::before { + content: "\F8A3"; +} + +.mdi-border-outside::before { + content: "\F0CE"; +} + +.mdi-border-right::before { + content: "\F0CF"; +} + +.mdi-border-right-variant::before { + content: "\F8A4"; +} + +.mdi-border-style::before { + content: "\F0D0"; +} + +.mdi-border-top::before { + content: "\F0D1"; +} + +.mdi-border-top-variant::before { + content: "\F8A5"; +} + +.mdi-border-vertical::before { + content: "\F0D2"; +} + +.mdi-bottle-soda::before { + content: "\F009B"; +} + +.mdi-bottle-soda-classic::before { + content: "\F009C"; +} + +.mdi-bottle-soda-outline::before { + content: "\F009D"; +} + +.mdi-bottle-tonic::before { + content: "\F0159"; +} + +.mdi-bottle-tonic-outline::before { + content: "\F015A"; +} + +.mdi-bottle-tonic-plus::before { + content: "\F015B"; +} + +.mdi-bottle-tonic-plus-outline::before { + content: "\F015C"; +} + +.mdi-bottle-tonic-skull::before { + content: "\F015D"; +} + +.mdi-bottle-tonic-skull-outline::before { + content: "\F015E"; +} + +.mdi-bottle-wine::before { + content: "\F853"; +} + +.mdi-bow-tie::before { + content: "\F677"; +} + +.mdi-bowl::before { + content: "\F617"; +} + +.mdi-bowling::before { + content: "\F0D3"; +} + +.mdi-box::before { + content: "\F0D4"; +} + +.mdi-box-cutter::before { + content: "\F0D5"; +} + +.mdi-box-shadow::before { + content: "\F637"; +} + +.mdi-boxing-glove::before { + content: "\FB41"; +} + +.mdi-braille::before { + content: "\F9CF"; +} + +.mdi-brain::before { + content: "\F9D0"; +} + +.mdi-bread-slice::before { + content: "\FCCA"; +} + +.mdi-bread-slice-outline::before { + content: "\FCCB"; +} + +.mdi-bridge::before { + content: "\F618"; +} + +.mdi-briefcase::before { + content: "\F0D6"; +} + +.mdi-briefcase-account::before { + content: "\FCCC"; +} + +.mdi-briefcase-account-outline::before { + content: "\FCCD"; +} + +.mdi-briefcase-check::before { + content: "\F0D7"; +} + +.mdi-briefcase-clock::before { + content: "\F00FB"; +} + +.mdi-briefcase-clock-outline::before { + content: "\F00FC"; +} + +.mdi-briefcase-download::before { + content: "\F0D8"; +} + +.mdi-briefcase-download-outline::before { + content: "\FC19"; +} + +.mdi-briefcase-edit::before { + content: "\FA97"; +} + +.mdi-briefcase-edit-outline::before { + content: "\FC1A"; +} + +.mdi-briefcase-minus::before { + content: "\FA29"; +} + +.mdi-briefcase-minus-outline::before { + content: "\FC1B"; +} + +.mdi-briefcase-outline::before { + content: "\F813"; +} + +.mdi-briefcase-plus::before { + content: "\FA2A"; +} + +.mdi-briefcase-plus-outline::before { + content: "\FC1C"; +} + +.mdi-briefcase-remove::before { + content: "\FA2B"; +} + +.mdi-briefcase-remove-outline::before { + content: "\FC1D"; +} + +.mdi-briefcase-search::before { + content: "\FA2C"; +} + +.mdi-briefcase-search-outline::before { + content: "\FC1E"; +} + +.mdi-briefcase-upload::before { + content: "\F0D9"; +} + +.mdi-briefcase-upload-outline::before { + content: "\FC1F"; +} + +.mdi-brightness-1::before { + content: "\F0DA"; +} + +.mdi-brightness-2::before { + content: "\F0DB"; +} + +.mdi-brightness-3::before { + content: "\F0DC"; +} + +.mdi-brightness-4::before { + content: "\F0DD"; +} + +.mdi-brightness-5::before { + content: "\F0DE"; +} + +.mdi-brightness-6::before { + content: "\F0DF"; +} + +.mdi-brightness-7::before { + content: "\F0E0"; +} + +.mdi-brightness-auto::before { + content: "\F0E1"; +} + +.mdi-brightness-percent::before { + content: "\FCCE"; +} + +.mdi-broom::before { + content: "\F0E2"; +} + +.mdi-brush::before { + content: "\F0E3"; +} + +.mdi-buddhism::before { + content: "\F94A"; +} + +.mdi-buffer::before { + content: "\F619"; +} + +.mdi-bug::before { + content: "\F0E4"; +} + +.mdi-bug-check::before { + content: "\FA2D"; +} + +.mdi-bug-check-outline::before { + content: "\FA2E"; +} + +.mdi-bug-outline::before { + content: "\FA2F"; +} + +.mdi-bugle::before { + content: "\FD90"; +} + +.mdi-bulldozer::before { + content: "\FB07"; +} + +.mdi-bullet::before { + content: "\FCCF"; +} + +.mdi-bulletin-board::before { + content: "\F0E5"; +} + +.mdi-bullhorn::before { + content: "\F0E6"; +} + +.mdi-bullhorn-outline::before { + content: "\FB08"; +} + +.mdi-bullseye::before { + content: "\F5DD"; +} + +.mdi-bullseye-arrow::before { + content: "\F8C8"; +} + +.mdi-bus::before { + content: "\F0E7"; +} + +.mdi-bus-alert::before { + content: "\FA98"; +} + +.mdi-bus-articulated-end::before { + content: "\F79B"; +} + +.mdi-bus-articulated-front::before { + content: "\F79C"; +} + +.mdi-bus-clock::before { + content: "\F8C9"; +} + +.mdi-bus-double-decker::before { + content: "\F79D"; +} + +.mdi-bus-marker::before { + content: "\F023D"; +} + +.mdi-bus-multiple::before { + content: "\FF5C"; +} + +.mdi-bus-school::before { + content: "\F79E"; +} + +.mdi-bus-side::before { + content: "\F79F"; +} + +.mdi-bus-stop::before { + content: "\F0034"; +} + +.mdi-bus-stop-covered::before { + content: "\F0035"; +} + +.mdi-bus-stop-uncovered::before { + content: "\F0036"; +} + +.mdi-cached::before { + content: "\F0E8"; +} + +.mdi-cactus::before { + content: "\FD91"; +} + +.mdi-cake::before { + content: "\F0E9"; +} + +.mdi-cake-layered::before { + content: "\F0EA"; +} + +.mdi-cake-variant::before { + content: "\F0EB"; +} + +.mdi-calculator::before { + content: "\F0EC"; +} + +.mdi-calculator-variant::before { + content: "\FA99"; +} + +.mdi-calendar::before { + content: "\F0ED"; +} + +.mdi-calendar-account::before { + content: "\FEF4"; +} + +.mdi-calendar-account-outline::before { + content: "\FEF5"; +} + +.mdi-calendar-alert::before { + content: "\FA30"; +} + +.mdi-calendar-arrow-left::before { + content: "\F015F"; +} + +.mdi-calendar-arrow-right::before { + content: "\F0160"; +} + +.mdi-calendar-blank::before { + content: "\F0EE"; +} + +.mdi-calendar-blank-multiple::before { + content: "\F009E"; +} + +.mdi-calendar-blank-outline::before { + content: "\FB42"; +} + +.mdi-calendar-check::before { + content: "\F0EF"; +} + +.mdi-calendar-check-outline::before { + content: "\FC20"; +} + +.mdi-calendar-clock::before { + content: "\F0F0"; +} + +.mdi-calendar-edit::before { + content: "\F8A6"; +} + +.mdi-calendar-export::before { + content: "\FB09"; +} + +.mdi-calendar-heart::before { + content: "\F9D1"; +} + +.mdi-calendar-import::before { + content: "\FB0A"; +} + +.mdi-calendar-minus::before { + content: "\FD38"; +} + +.mdi-calendar-month::before { + content: "\FDFA"; +} + +.mdi-calendar-month-outline::before { + content: "\FDFB"; +} + +.mdi-calendar-multiple::before { + content: "\F0F1"; +} + +.mdi-calendar-multiple-check::before { + content: "\F0F2"; +} + +.mdi-calendar-multiselect::before { + content: "\FA31"; +} + +.mdi-calendar-outline::before { + content: "\FB43"; +} + +.mdi-calendar-plus::before { + content: "\F0F3"; +} + +.mdi-calendar-question::before { + content: "\F691"; +} + +.mdi-calendar-range::before { + content: "\F678"; +} + +.mdi-calendar-range-outline::before { + content: "\FB44"; +} + +.mdi-calendar-remove::before { + content: "\F0F4"; +} + +.mdi-calendar-remove-outline::before { + content: "\FC21"; +} + +.mdi-calendar-repeat::before { + content: "\FEAB"; +} + +.mdi-calendar-repeat-outline::before { + content: "\FEAC"; +} + +.mdi-calendar-search::before { + content: "\F94B"; +} + +.mdi-calendar-star::before { + content: "\F9D2"; +} + +.mdi-calendar-text::before { + content: "\F0F5"; +} + +.mdi-calendar-text-outline::before { + content: "\FC22"; +} + +.mdi-calendar-today::before { + content: "\F0F6"; +} + +.mdi-calendar-week::before { + content: "\FA32"; +} + +.mdi-calendar-week-begin::before { + content: "\FA33"; +} + +.mdi-calendar-weekend::before { + content: "\FEF6"; +} + +.mdi-calendar-weekend-outline::before { + content: "\FEF7"; +} + +.mdi-call-made::before { + content: "\F0F7"; +} + +.mdi-call-merge::before { + content: "\F0F8"; +} + +.mdi-call-missed::before { + content: "\F0F9"; +} + +.mdi-call-received::before { + content: "\F0FA"; +} + +.mdi-call-split::before { + content: "\F0FB"; +} + +.mdi-camcorder::before { + content: "\F0FC"; +} + +.mdi-camcorder-box::before { + content: "\F0FD"; +} + +.mdi-camcorder-box-off::before { + content: "\F0FE"; +} + +.mdi-camcorder-off::before { + content: "\F0FF"; +} + +.mdi-camera::before { + content: "\F100"; +} + +.mdi-camera-account::before { + content: "\F8CA"; +} + +.mdi-camera-burst::before { + content: "\F692"; +} + +.mdi-camera-control::before { + content: "\FB45"; +} + +.mdi-camera-enhance::before { + content: "\F101"; +} + +.mdi-camera-enhance-outline::before { + content: "\FB46"; +} + +.mdi-camera-front::before { + content: "\F102"; +} + +.mdi-camera-front-variant::before { + content: "\F103"; +} + +.mdi-camera-gopro::before { + content: "\F7A0"; +} + +.mdi-camera-image::before { + content: "\F8CB"; +} + +.mdi-camera-iris::before { + content: "\F104"; +} + +.mdi-camera-metering-center::before { + content: "\F7A1"; +} + +.mdi-camera-metering-matrix::before { + content: "\F7A2"; +} + +.mdi-camera-metering-partial::before { + content: "\F7A3"; +} + +.mdi-camera-metering-spot::before { + content: "\F7A4"; +} + +.mdi-camera-off::before { + content: "\F5DF"; +} + +.mdi-camera-outline::before { + content: "\FD39"; +} + +.mdi-camera-party-mode::before { + content: "\F105"; +} + +.mdi-camera-plus::before { + content: "\FEF8"; +} + +.mdi-camera-plus-outline::before { + content: "\FEF9"; +} + +.mdi-camera-rear::before { + content: "\F106"; +} + +.mdi-camera-rear-variant::before { + content: "\F107"; +} + +.mdi-camera-retake::before { + content: "\FDFC"; +} + +.mdi-camera-retake-outline::before { + content: "\FDFD"; +} + +.mdi-camera-switch::before { + content: "\F108"; +} + +.mdi-camera-timer::before { + content: "\F109"; +} + +.mdi-camera-wireless::before { + content: "\FD92"; +} + +.mdi-camera-wireless-outline::before { + content: "\FD93"; +} + +.mdi-campfire::before { + content: "\FEFA"; +} + +.mdi-cancel::before { + content: "\F739"; +} + +.mdi-candle::before { + content: "\F5E2"; +} + +.mdi-candycane::before { + content: "\F10A"; +} + +.mdi-cannabis::before { + content: "\F7A5"; +} + +.mdi-caps-lock::before { + content: "\FA9A"; +} + +.mdi-car::before { + content: "\F10B"; +} + +.mdi-car-2-plus::before { + content: "\F0037"; +} + +.mdi-car-3-plus::before { + content: "\F0038"; +} + +.mdi-car-back::before { + content: "\FDFE"; +} + +.mdi-car-battery::before { + content: "\F10C"; +} + +.mdi-car-brake-abs::before { + content: "\FC23"; +} + +.mdi-car-brake-alert::before { + content: "\FC24"; +} + +.mdi-car-brake-hold::before { + content: "\FD3A"; +} + +.mdi-car-brake-parking::before { + content: "\FD3B"; +} + +.mdi-car-brake-retarder::before { + content: "\F0039"; +} + +.mdi-car-child-seat::before { + content: "\FFC3"; +} + +.mdi-car-clutch::before { + content: "\F003A"; +} + +.mdi-car-connected::before { + content: "\F10D"; +} + +.mdi-car-convertible::before { + content: "\F7A6"; +} + +.mdi-car-coolant-level::before { + content: "\F003B"; +} + +.mdi-car-cruise-control::before { + content: "\FD3C"; +} + +.mdi-car-defrost-front::before { + content: "\FD3D"; +} + +.mdi-car-defrost-rear::before { + content: "\FD3E"; +} + +.mdi-car-door::before { + content: "\FB47"; +} + +.mdi-car-door-lock::before { + content: "\F00C8"; +} + +.mdi-car-electric::before { + content: "\FB48"; +} + +.mdi-car-esp::before { + content: "\FC25"; +} + +.mdi-car-estate::before { + content: "\F7A7"; +} + +.mdi-car-hatchback::before { + content: "\F7A8"; +} + +.mdi-car-info::before { + content: "\F01E9"; +} + +.mdi-car-key::before { + content: "\FB49"; +} + +.mdi-car-light-dimmed::before { + content: "\FC26"; +} + +.mdi-car-light-fog::before { + content: "\FC27"; +} + +.mdi-car-light-high::before { + content: "\FC28"; +} + +.mdi-car-limousine::before { + content: "\F8CC"; +} + +.mdi-car-multiple::before { + content: "\FB4A"; +} + +.mdi-car-off::before { + content: "\FDFF"; +} + +.mdi-car-parking-lights::before { + content: "\FD3F"; +} + +.mdi-car-pickup::before { + content: "\F7A9"; +} + +.mdi-car-seat::before { + content: "\FFC4"; +} + +.mdi-car-seat-cooler::before { + content: "\FFC5"; +} + +.mdi-car-seat-heater::before { + content: "\FFC6"; +} + +.mdi-car-shift-pattern::before { + content: "\FF5D"; +} + +.mdi-car-side::before { + content: "\F7AA"; +} + +.mdi-car-sports::before { + content: "\F7AB"; +} + +.mdi-car-tire-alert::before { + content: "\FC29"; +} + +.mdi-car-traction-control::before { + content: "\FD40"; +} + +.mdi-car-turbocharger::before { + content: "\F003C"; +} + +.mdi-car-wash::before { + content: "\F10E"; +} + +.mdi-car-windshield::before { + content: "\F003D"; +} + +.mdi-car-windshield-outline::before { + content: "\F003E"; +} + +.mdi-caravan::before { + content: "\F7AC"; +} + +.mdi-card::before { + content: "\FB4B"; +} + +.mdi-card-bulleted::before { + content: "\FB4C"; +} + +.mdi-card-bulleted-off::before { + content: "\FB4D"; +} + +.mdi-card-bulleted-off-outline::before { + content: "\FB4E"; +} + +.mdi-card-bulleted-outline::before { + content: "\FB4F"; +} + +.mdi-card-bulleted-settings::before { + content: "\FB50"; +} + +.mdi-card-bulleted-settings-outline::before { + content: "\FB51"; +} + +.mdi-card-outline::before { + content: "\FB52"; +} + +.mdi-card-plus::before { + content: "\F022A"; +} + +.mdi-card-plus-outline::before { + content: "\F022B"; +} + +.mdi-card-search::before { + content: "\F009F"; +} + +.mdi-card-search-outline::before { + content: "\F00A0"; +} + +.mdi-card-text::before { + content: "\FB53"; +} + +.mdi-card-text-outline::before { + content: "\FB54"; +} + +.mdi-cards::before { + content: "\F638"; +} + +.mdi-cards-club::before { + content: "\F8CD"; +} + +.mdi-cards-diamond::before { + content: "\F8CE"; +} + +.mdi-cards-diamond-outline::before { + content: "\F003F"; +} + +.mdi-cards-heart::before { + content: "\F8CF"; +} + +.mdi-cards-outline::before { + content: "\F639"; +} + +.mdi-cards-playing-outline::before { + content: "\F63A"; +} + +.mdi-cards-spade::before { + content: "\F8D0"; +} + +.mdi-cards-variant::before { + content: "\F6C6"; +} + +.mdi-carrot::before { + content: "\F10F"; +} + +.mdi-cart::before { + content: "\F110"; +} + +.mdi-cart-arrow-down::before { + content: "\FD42"; +} + +.mdi-cart-arrow-right::before { + content: "\FC2A"; +} + +.mdi-cart-arrow-up::before { + content: "\FD43"; +} + +.mdi-cart-minus::before { + content: "\FD44"; +} + +.mdi-cart-off::before { + content: "\F66B"; +} + +.mdi-cart-outline::before { + content: "\F111"; +} + +.mdi-cart-plus::before { + content: "\F112"; +} + +.mdi-cart-remove::before { + content: "\FD45"; +} + +.mdi-case-sensitive-alt::before { + content: "\F113"; +} + +.mdi-cash::before { + content: "\F114"; +} + +.mdi-cash-100::before { + content: "\F115"; +} + +.mdi-cash-marker::before { + content: "\FD94"; +} + +.mdi-cash-minus::before { + content: "\F028B"; +} + +.mdi-cash-multiple::before { + content: "\F116"; +} + +.mdi-cash-plus::before { + content: "\F028C"; +} + +.mdi-cash-refund::before { + content: "\FA9B"; +} + +.mdi-cash-register::before { + content: "\FCD0"; +} + +.mdi-cash-remove::before { + content: "\F028D"; +} + +.mdi-cash-usd::before { + content: "\F01A1"; +} + +.mdi-cash-usd-outline::before { + content: "\F117"; +} + +.mdi-cassette::before { + content: "\F9D3"; +} + +.mdi-cast::before { + content: "\F118"; +} + +.mdi-cast-audio::before { + content: "\F0040"; +} + +.mdi-cast-connected::before { + content: "\F119"; +} + +.mdi-cast-education::before { + content: "\FE6D"; +} + +.mdi-cast-off::before { + content: "\F789"; +} + +.mdi-castle::before { + content: "\F11A"; +} + +.mdi-cat::before { + content: "\F11B"; +} + +.mdi-cctv::before { + content: "\F7AD"; +} + +.mdi-ceiling-light::before { + content: "\F768"; +} + +.mdi-cellphone::before { + content: "\F11C"; +} + +.mdi-cellphone-android::before { + content: "\F11D"; +} + +.mdi-cellphone-arrow-down::before { + content: "\F9D4"; +} + +.mdi-cellphone-basic::before { + content: "\F11E"; +} + +.mdi-cellphone-dock::before { + content: "\F11F"; +} + +.mdi-cellphone-erase::before { + content: "\F94C"; +} + +.mdi-cellphone-information::before { + content: "\FF5E"; +} + +.mdi-cellphone-iphone::before { + content: "\F120"; +} + +.mdi-cellphone-key::before { + content: "\F94D"; +} + +.mdi-cellphone-link::before { + content: "\F121"; +} + +.mdi-cellphone-link-off::before { + content: "\F122"; +} + +.mdi-cellphone-lock::before { + content: "\F94E"; +} + +.mdi-cellphone-message::before { + content: "\F8D2"; +} + +.mdi-cellphone-message-off::before { + content: "\F00FD"; +} + +.mdi-cellphone-nfc::before { + content: "\FEAD"; +} + +.mdi-cellphone-off::before { + content: "\F94F"; +} + +.mdi-cellphone-play::before { + content: "\F0041"; +} + +.mdi-cellphone-screenshot::before { + content: "\FA34"; +} + +.mdi-cellphone-settings::before { + content: "\F123"; +} + +.mdi-cellphone-settings-variant::before { + content: "\F950"; +} + +.mdi-cellphone-sound::before { + content: "\F951"; +} + +.mdi-cellphone-text::before { + content: "\F8D1"; +} + +.mdi-cellphone-wireless::before { + content: "\F814"; +} + +.mdi-celtic-cross::before { + content: "\FCD1"; +} + +.mdi-centos::before { + content: "\F0145"; +} + +.mdi-certificate::before { + content: "\F124"; +} + +.mdi-certificate-outline::before { + content: "\F01B3"; +} + +.mdi-chair-rolling::before { + content: "\FFBA"; +} + +.mdi-chair-school::before { + content: "\F125"; +} + +.mdi-charity::before { + content: "\FC2B"; +} + +.mdi-chart-arc::before { + content: "\F126"; +} + +.mdi-chart-areaspline::before { + content: "\F127"; +} + +.mdi-chart-areaspline-variant::before { + content: "\FEAE"; +} + +.mdi-chart-bar::before { + content: "\F128"; +} + +.mdi-chart-bar-stacked::before { + content: "\F769"; +} + +.mdi-chart-bell-curve::before { + content: "\FC2C"; +} + +.mdi-chart-bell-curve-cumulative::before { + content: "\FFC7"; +} + +.mdi-chart-bubble::before { + content: "\F5E3"; +} + +.mdi-chart-donut::before { + content: "\F7AE"; +} + +.mdi-chart-donut-variant::before { + content: "\F7AF"; +} + +.mdi-chart-gantt::before { + content: "\F66C"; +} + +.mdi-chart-histogram::before { + content: "\F129"; +} + +.mdi-chart-line::before { + content: "\F12A"; +} + +.mdi-chart-line-stacked::before { + content: "\F76A"; +} + +.mdi-chart-line-variant::before { + content: "\F7B0"; +} + +.mdi-chart-multiline::before { + content: "\F8D3"; +} + +.mdi-chart-multiple::before { + content: "\F023E"; +} + +.mdi-chart-pie::before { + content: "\F12B"; +} + +.mdi-chart-scatter-plot::before { + content: "\FEAF"; +} + +.mdi-chart-scatter-plot-hexbin::before { + content: "\F66D"; +} + +.mdi-chart-snakey::before { + content: "\F020A"; +} + +.mdi-chart-snakey-variant::before { + content: "\F020B"; +} + +.mdi-chart-timeline::before { + content: "\F66E"; +} + +.mdi-chart-timeline-variant::before { + content: "\FEB0"; +} + +.mdi-chart-tree::before { + content: "\FEB1"; +} + +.mdi-chat::before { + content: "\FB55"; +} + +.mdi-chat-alert::before { + content: "\FB56"; +} + +.mdi-chat-outline::before { + content: "\FEFB"; +} + +.mdi-chat-processing::before { + content: "\FB57"; +} + +.mdi-check::before { + content: "\F12C"; +} + +.mdi-check-all::before { + content: "\F12D"; +} + +.mdi-check-bold::before { + content: "\FE6E"; +} + +.mdi-check-box-multiple-outline::before { + content: "\FC2D"; +} + +.mdi-check-box-outline::before { + content: "\FC2E"; +} + +.mdi-check-circle::before { + content: "\F5E0"; +} + +.mdi-check-circle-outline::before { + content: "\F5E1"; +} + +.mdi-check-decagram::before { + content: "\F790"; +} + +.mdi-check-network::before { + content: "\FC2F"; +} + +.mdi-check-network-outline::before { + content: "\FC30"; +} + +.mdi-check-outline::before { + content: "\F854"; +} + +.mdi-check-underline::before { + content: "\FE70"; +} + +.mdi-check-underline-circle::before { + content: "\FE71"; +} + +.mdi-check-underline-circle-outline::before { + content: "\FE72"; +} + +.mdi-checkbook::before { + content: "\FA9C"; +} + +.mdi-checkbox-blank::before { + content: "\F12E"; +} + +.mdi-checkbox-blank-circle::before { + content: "\F12F"; +} + +.mdi-checkbox-blank-circle-outline::before { + content: "\F130"; +} + +.mdi-checkbox-blank-outline::before { + content: "\F131"; +} + +.mdi-checkbox-intermediate::before { + content: "\F855"; +} + +.mdi-checkbox-marked::before { + content: "\F132"; +} + +.mdi-checkbox-marked-circle::before { + content: "\F133"; +} + +.mdi-checkbox-marked-circle-outline::before { + content: "\F134"; +} + +.mdi-checkbox-marked-outline::before { + content: "\F135"; +} + +.mdi-checkbox-multiple-blank::before { + content: "\F136"; +} + +.mdi-checkbox-multiple-blank-circle::before { + content: "\F63B"; +} + +.mdi-checkbox-multiple-blank-circle-outline::before { + content: "\F63C"; +} + +.mdi-checkbox-multiple-blank-outline::before { + content: "\F137"; +} + +.mdi-checkbox-multiple-marked::before { + content: "\F138"; +} + +.mdi-checkbox-multiple-marked-circle::before { + content: "\F63D"; +} + +.mdi-checkbox-multiple-marked-circle-outline::before { + content: "\F63E"; +} + +.mdi-checkbox-multiple-marked-outline::before { + content: "\F139"; +} + +.mdi-checkerboard::before { + content: "\F13A"; +} + +.mdi-checkerboard-minus::before { + content: "\F022D"; +} + +.mdi-checkerboard-plus::before { + content: "\F022C"; +} + +.mdi-checkerboard-remove::before { + content: "\F022E"; +} + +.mdi-cheese::before { + content: "\F02E4"; +} + +.mdi-chef-hat::before { + content: "\FB58"; +} + +.mdi-chemical-weapon::before { + content: "\F13B"; +} + +.mdi-chess-bishop::before { + content: "\F85B"; +} + +.mdi-chess-king::before { + content: "\F856"; +} + +.mdi-chess-knight::before { + content: "\F857"; +} + +.mdi-chess-pawn::before { + content: "\F858"; +} + +.mdi-chess-queen::before { + content: "\F859"; +} + +.mdi-chess-rook::before { + content: "\F85A"; +} + +.mdi-chevron-double-down::before { + content: "\F13C"; +} + +.mdi-chevron-double-left::before { + content: "\F13D"; +} + +.mdi-chevron-double-right::before { + content: "\F13E"; +} + +.mdi-chevron-double-up::before { + content: "\F13F"; +} + +.mdi-chevron-down::before { + content: "\F140"; +} + +.mdi-chevron-down-box::before { + content: "\F9D5"; +} + +.mdi-chevron-down-box-outline::before { + content: "\F9D6"; +} + +.mdi-chevron-down-circle::before { + content: "\FB0B"; +} + +.mdi-chevron-down-circle-outline::before { + content: "\FB0C"; +} + +.mdi-chevron-left::before { + content: "\F141"; +} + +.mdi-chevron-left-box::before { + content: "\F9D7"; +} + +.mdi-chevron-left-box-outline::before { + content: "\F9D8"; +} + +.mdi-chevron-left-circle::before { + content: "\FB0D"; +} + +.mdi-chevron-left-circle-outline::before { + content: "\FB0E"; +} + +.mdi-chevron-right::before { + content: "\F142"; +} + +.mdi-chevron-right-box::before { + content: "\F9D9"; +} + +.mdi-chevron-right-box-outline::before { + content: "\F9DA"; +} + +.mdi-chevron-right-circle::before { + content: "\FB0F"; +} + +.mdi-chevron-right-circle-outline::before { + content: "\FB10"; +} + +.mdi-chevron-triple-down::before { + content: "\FD95"; +} + +.mdi-chevron-triple-left::before { + content: "\FD96"; +} + +.mdi-chevron-triple-right::before { + content: "\FD97"; +} + +.mdi-chevron-triple-up::before { + content: "\FD98"; +} + +.mdi-chevron-up::before { + content: "\F143"; +} + +.mdi-chevron-up-box::before { + content: "\F9DB"; +} + +.mdi-chevron-up-box-outline::before { + content: "\F9DC"; +} + +.mdi-chevron-up-circle::before { + content: "\FB11"; +} + +.mdi-chevron-up-circle-outline::before { + content: "\FB12"; +} + +.mdi-chili-hot::before { + content: "\F7B1"; +} + +.mdi-chili-medium::before { + content: "\F7B2"; +} + +.mdi-chili-mild::before { + content: "\F7B3"; +} + +.mdi-chip::before { + content: "\F61A"; +} + +.mdi-christianity::before { + content: "\F952"; +} + +.mdi-christianity-outline::before { + content: "\FCD2"; +} + +.mdi-church::before { + content: "\F144"; +} + +.mdi-cigar::before { + content: "\F01B4"; +} + +.mdi-circle::before { + content: "\F764"; +} + +.mdi-circle-double::before { + content: "\FEB2"; +} + +.mdi-circle-edit-outline::before { + content: "\F8D4"; +} + +.mdi-circle-expand::before { + content: "\FEB3"; +} + +.mdi-circle-medium::before { + content: "\F9DD"; +} + +.mdi-circle-off-outline::before { + content: "\F00FE"; +} + +.mdi-circle-outline::before { + content: "\F765"; +} + +.mdi-circle-slice-1::before { + content: "\FA9D"; +} + +.mdi-circle-slice-2::before { + content: "\FA9E"; +} + +.mdi-circle-slice-3::before { + content: "\FA9F"; +} + +.mdi-circle-slice-4::before { + content: "\FAA0"; +} + +.mdi-circle-slice-5::before { + content: "\FAA1"; +} + +.mdi-circle-slice-6::before { + content: "\FAA2"; +} + +.mdi-circle-slice-7::before { + content: "\FAA3"; +} + +.mdi-circle-slice-8::before { + content: "\FAA4"; +} + +.mdi-circle-small::before { + content: "\F9DE"; +} + +.mdi-circular-saw::before { + content: "\FE73"; +} + +.mdi-cisco-webex::before { + content: "\F145"; +} + +.mdi-city::before { + content: "\F146"; +} + +.mdi-city-variant::before { + content: "\FA35"; +} + +.mdi-city-variant-outline::before { + content: "\FA36"; +} + +.mdi-clipboard::before { + content: "\F147"; +} + +.mdi-clipboard-account::before { + content: "\F148"; +} + +.mdi-clipboard-account-outline::before { + content: "\FC31"; +} + +.mdi-clipboard-alert::before { + content: "\F149"; +} + +.mdi-clipboard-alert-outline::before { + content: "\FCD3"; +} + +.mdi-clipboard-arrow-down::before { + content: "\F14A"; +} + +.mdi-clipboard-arrow-down-outline::before { + content: "\FC32"; +} + +.mdi-clipboard-arrow-left::before { + content: "\F14B"; +} + +.mdi-clipboard-arrow-left-outline::before { + content: "\FCD4"; +} + +.mdi-clipboard-arrow-right::before { + content: "\FCD5"; +} + +.mdi-clipboard-arrow-right-outline::before { + content: "\FCD6"; +} + +.mdi-clipboard-arrow-up::before { + content: "\FC33"; +} + +.mdi-clipboard-arrow-up-outline::before { + content: "\FC34"; +} + +.mdi-clipboard-check::before { + content: "\F14C"; +} + +.mdi-clipboard-check-multiple::before { + content: "\F028E"; +} + +.mdi-clipboard-check-multiple-outline::before { + content: "\F028F"; +} + +.mdi-clipboard-check-outline::before { + content: "\F8A7"; +} + +.mdi-clipboard-file::before { + content: "\F0290"; +} + +.mdi-clipboard-file-outline::before { + content: "\F0291"; +} + +.mdi-clipboard-flow::before { + content: "\F6C7"; +} + +.mdi-clipboard-flow-outline::before { + content: "\F0142"; +} + +.mdi-clipboard-list::before { + content: "\F00FF"; +} + +.mdi-clipboard-list-outline::before { + content: "\F0100"; +} + +.mdi-clipboard-multiple::before { + content: "\F0292"; +} + +.mdi-clipboard-multiple-outline::before { + content: "\F0293"; +} + +.mdi-clipboard-outline::before { + content: "\F14D"; +} + +.mdi-clipboard-play::before { + content: "\FC35"; +} + +.mdi-clipboard-play-multiple::before { + content: "\F0294"; +} + +.mdi-clipboard-play-multiple-outline::before { + content: "\F0295"; +} + +.mdi-clipboard-play-outline::before { + content: "\FC36"; +} + +.mdi-clipboard-plus::before { + content: "\F750"; +} + +.mdi-clipboard-pulse::before { + content: "\F85C"; +} + +.mdi-clipboard-pulse-outline::before { + content: "\F85D"; +} + +.mdi-clipboard-text::before { + content: "\F14E"; +} + +.mdi-clipboard-text-multiple::before { + content: "\F0296"; +} + +.mdi-clipboard-text-multiple-outline::before { + content: "\F0297"; +} + +.mdi-clipboard-text-outline::before { + content: "\FA37"; +} + +.mdi-clipboard-text-play::before { + content: "\FC37"; +} + +.mdi-clipboard-text-play-outline::before { + content: "\FC38"; +} + +.mdi-clippy::before { + content: "\F14F"; +} + +.mdi-clock::before { + content: "\F953"; +} + +.mdi-clock-alert::before { + content: "\F954"; +} + +.mdi-clock-alert-outline::before { + content: "\F5CE"; +} + +.mdi-clock-check::before { + content: "\FFC8"; +} + +.mdi-clock-check-outline::before { + content: "\FFC9"; +} + +.mdi-clock-digital::before { + content: "\FEB4"; +} + +.mdi-clock-end::before { + content: "\F151"; +} + +.mdi-clock-fast::before { + content: "\F152"; +} + +.mdi-clock-in::before { + content: "\F153"; +} + +.mdi-clock-out::before { + content: "\F154"; +} + +.mdi-clock-outline::before { + content: "\F150"; +} + +.mdi-clock-start::before { + content: "\F155"; +} + +.mdi-close::before { + content: "\F156"; +} + +.mdi-close-box::before { + content: "\F157"; +} + +.mdi-close-box-multiple::before { + content: "\FC39"; +} + +.mdi-close-box-multiple-outline::before { + content: "\FC3A"; +} + +.mdi-close-box-outline::before { + content: "\F158"; +} + +.mdi-close-circle::before { + content: "\F159"; +} + +.mdi-close-circle-outline::before { + content: "\F15A"; +} + +.mdi-close-network::before { + content: "\F15B"; +} + +.mdi-close-network-outline::before { + content: "\FC3B"; +} + +.mdi-close-octagon::before { + content: "\F15C"; +} + +.mdi-close-octagon-outline::before { + content: "\F15D"; +} + +.mdi-close-outline::before { + content: "\F6C8"; +} + +.mdi-closed-caption::before { + content: "\F15E"; +} + +.mdi-closed-caption-outline::before { + content: "\FD99"; +} + +.mdi-cloud::before { + content: "\F15F"; +} + +.mdi-cloud-alert::before { + content: "\F9DF"; +} + +.mdi-cloud-braces::before { + content: "\F7B4"; +} + +.mdi-cloud-check::before { + content: "\F160"; +} + +.mdi-cloud-circle::before { + content: "\F161"; +} + +.mdi-cloud-download::before { + content: "\F162"; +} + +.mdi-cloud-download-outline::before { + content: "\FB59"; +} + +.mdi-cloud-lock::before { + content: "\F021C"; +} + +.mdi-cloud-lock-outline::before { + content: "\F021D"; +} + +.mdi-cloud-off-outline::before { + content: "\F164"; +} + +.mdi-cloud-outline::before { + content: "\F163"; +} + +.mdi-cloud-print::before { + content: "\F165"; +} + +.mdi-cloud-print-outline::before { + content: "\F166"; +} + +.mdi-cloud-question::before { + content: "\FA38"; +} + +.mdi-cloud-search::before { + content: "\F955"; +} + +.mdi-cloud-search-outline::before { + content: "\F956"; +} + +.mdi-cloud-sync::before { + content: "\F63F"; +} + +.mdi-cloud-tags::before { + content: "\F7B5"; +} + +.mdi-cloud-upload::before { + content: "\F167"; +} + +.mdi-cloud-upload-outline::before { + content: "\FB5A"; +} + +.mdi-clover::before { + content: "\F815"; +} + +.mdi-coach-lamp::before { + content: "\F0042"; +} + +.mdi-coat-rack::before { + content: "\F00C9"; +} + +.mdi-code-array::before { + content: "\F168"; +} + +.mdi-code-braces::before { + content: "\F169"; +} + +.mdi-code-braces-box::before { + content: "\F0101"; +} + +.mdi-code-brackets::before { + content: "\F16A"; +} + +.mdi-code-equal::before { + content: "\F16B"; +} + +.mdi-code-greater-than::before { + content: "\F16C"; +} + +.mdi-code-greater-than-or-equal::before { + content: "\F16D"; +} + +.mdi-code-less-than::before { + content: "\F16E"; +} + +.mdi-code-less-than-or-equal::before { + content: "\F16F"; +} + +.mdi-code-not-equal::before { + content: "\F170"; +} + +.mdi-code-not-equal-variant::before { + content: "\F171"; +} + +.mdi-code-parentheses::before { + content: "\F172"; +} + +.mdi-code-parentheses-box::before { + content: "\F0102"; +} + +.mdi-code-string::before { + content: "\F173"; +} + +.mdi-code-tags::before { + content: "\F174"; +} + +.mdi-code-tags-check::before { + content: "\F693"; +} + +.mdi-codepen::before { + content: "\F175"; +} + +.mdi-coffee::before { + content: "\F176"; +} + +.mdi-coffee-maker::before { + content: "\F00CA"; +} + +.mdi-coffee-off::before { + content: "\FFCA"; +} + +.mdi-coffee-off-outline::before { + content: "\FFCB"; +} + +.mdi-coffee-outline::before { + content: "\F6C9"; +} + +.mdi-coffee-to-go::before { + content: "\F177"; +} + +.mdi-coffin::before { + content: "\FB5B"; +} + +.mdi-cog-clockwise::before { + content: "\F0208"; +} + +.mdi-cog-counterclockwise::before { + content: "\F0209"; +} + +.mdi-cogs::before { + content: "\F8D5"; +} + +.mdi-coin::before { + content: "\F0196"; +} + +.mdi-coin-outline::before { + content: "\F178"; +} + +.mdi-coins::before { + content: "\F694"; +} + +.mdi-collage::before { + content: "\F640"; +} + +.mdi-collapse-all::before { + content: "\FAA5"; +} + +.mdi-collapse-all-outline::before { + content: "\FAA6"; +} + +.mdi-color-helper::before { + content: "\F179"; +} + +.mdi-comma::before { + content: "\FE74"; +} + +.mdi-comma-box::before { + content: "\FE75"; +} + +.mdi-comma-box-outline::before { + content: "\FE76"; +} + +.mdi-comma-circle::before { + content: "\FE77"; +} + +.mdi-comma-circle-outline::before { + content: "\FE78"; +} + +.mdi-comment::before { + content: "\F17A"; +} + +.mdi-comment-account::before { + content: "\F17B"; +} + +.mdi-comment-account-outline::before { + content: "\F17C"; +} + +.mdi-comment-alert::before { + content: "\F17D"; +} + +.mdi-comment-alert-outline::before { + content: "\F17E"; +} + +.mdi-comment-arrow-left::before { + content: "\F9E0"; +} + +.mdi-comment-arrow-left-outline::before { + content: "\F9E1"; +} + +.mdi-comment-arrow-right::before { + content: "\F9E2"; +} + +.mdi-comment-arrow-right-outline::before { + content: "\F9E3"; +} + +.mdi-comment-check::before { + content: "\F17F"; +} + +.mdi-comment-check-outline::before { + content: "\F180"; +} + +.mdi-comment-edit::before { + content: "\F01EA"; +} + +.mdi-comment-eye::before { + content: "\FA39"; +} + +.mdi-comment-eye-outline::before { + content: "\FA3A"; +} + +.mdi-comment-multiple::before { + content: "\F85E"; +} + +.mdi-comment-multiple-outline::before { + content: "\F181"; +} + +.mdi-comment-outline::before { + content: "\F182"; +} + +.mdi-comment-plus::before { + content: "\F9E4"; +} + +.mdi-comment-plus-outline::before { + content: "\F183"; +} + +.mdi-comment-processing::before { + content: "\F184"; +} + +.mdi-comment-processing-outline::before { + content: "\F185"; +} + +.mdi-comment-question::before { + content: "\F816"; +} + +.mdi-comment-question-outline::before { + content: "\F186"; +} + +.mdi-comment-quote::before { + content: "\F0043"; +} + +.mdi-comment-quote-outline::before { + content: "\F0044"; +} + +.mdi-comment-remove::before { + content: "\F5DE"; +} + +.mdi-comment-remove-outline::before { + content: "\F187"; +} + +.mdi-comment-search::before { + content: "\FA3B"; +} + +.mdi-comment-search-outline::before { + content: "\FA3C"; +} + +.mdi-comment-text::before { + content: "\F188"; +} + +.mdi-comment-text-multiple::before { + content: "\F85F"; +} + +.mdi-comment-text-multiple-outline::before { + content: "\F860"; +} + +.mdi-comment-text-outline::before { + content: "\F189"; +} + +.mdi-compare::before { + content: "\F18A"; +} + +.mdi-compass::before { + content: "\F18B"; +} + +.mdi-compass-off::before { + content: "\FB5C"; +} + +.mdi-compass-off-outline::before { + content: "\FB5D"; +} + +.mdi-compass-outline::before { + content: "\F18C"; +} + +.mdi-concourse-ci::before { + content: "\F00CB"; +} + +.mdi-console::before { + content: "\F18D"; +} + +.mdi-console-line::before { + content: "\F7B6"; +} + +.mdi-console-network::before { + content: "\F8A8"; +} + +.mdi-console-network-outline::before { + content: "\FC3C"; +} + +.mdi-consolidate::before { + content: "\F0103"; +} + +.mdi-contact-mail::before { + content: "\F18E"; +} + +.mdi-contact-mail-outline::before { + content: "\FEB5"; +} + +.mdi-contact-phone::before { + content: "\FEB6"; +} + +.mdi-contact-phone-outline::before { + content: "\FEB7"; +} + +.mdi-contactless-payment::before { + content: "\FD46"; +} + +.mdi-contacts::before { + content: "\F6CA"; +} + +.mdi-contain::before { + content: "\FA3D"; +} + +.mdi-contain-end::before { + content: "\FA3E"; +} + +.mdi-contain-start::before { + content: "\FA3F"; +} + +.mdi-content-copy::before { + content: "\F18F"; +} + +.mdi-content-cut::before { + content: "\F190"; +} + +.mdi-content-duplicate::before { + content: "\F191"; +} + +.mdi-content-paste::before { + content: "\F192"; +} + +.mdi-content-save::before { + content: "\F193"; +} + +.mdi-content-save-alert::before { + content: "\FF5F"; +} + +.mdi-content-save-alert-outline::before { + content: "\FF60"; +} + +.mdi-content-save-all::before { + content: "\F194"; +} + +.mdi-content-save-all-outline::before { + content: "\FF61"; +} + +.mdi-content-save-edit::before { + content: "\FCD7"; +} + +.mdi-content-save-edit-outline::before { + content: "\FCD8"; +} + +.mdi-content-save-move::before { + content: "\FE79"; +} + +.mdi-content-save-move-outline::before { + content: "\FE7A"; +} + +.mdi-content-save-outline::before { + content: "\F817"; +} + +.mdi-content-save-settings::before { + content: "\F61B"; +} + +.mdi-content-save-settings-outline::before { + content: "\FB13"; +} + +.mdi-contrast::before { + content: "\F195"; +} + +.mdi-contrast-box::before { + content: "\F196"; +} + +.mdi-contrast-circle::before { + content: "\F197"; +} + +.mdi-controller-classic::before { + content: "\FB5E"; +} + +.mdi-controller-classic-outline::before { + content: "\FB5F"; +} + +.mdi-cookie::before { + content: "\F198"; +} + +.mdi-coolant-temperature::before { + content: "\F3C8"; +} + +.mdi-copyright::before { + content: "\F5E6"; +} + +.mdi-cordova::before { + content: "\F957"; +} + +.mdi-corn::before { + content: "\F7B7"; +} + +.mdi-counter::before { + content: "\F199"; +} + +.mdi-cow::before { + content: "\F19A"; +} + +.mdi-cowboy::before { + content: "\FEB8"; +} + +.mdi-cpu-32-bit::before { + content: "\FEFC"; +} + +.mdi-cpu-64-bit::before { + content: "\FEFD"; +} + +.mdi-crane::before { + content: "\F861"; +} + +.mdi-creation::before { + content: "\F1C9"; +} + +.mdi-creative-commons::before { + content: "\FD47"; +} + +.mdi-credit-card::before { + content: "\F0010"; +} + +.mdi-credit-card-clock::before { + content: "\FEFE"; +} + +.mdi-credit-card-clock-outline::before { + content: "\FFBC"; +} + +.mdi-credit-card-marker::before { + content: "\F6A7"; +} + +.mdi-credit-card-marker-outline::before { + content: "\FD9A"; +} + +.mdi-credit-card-minus::before { + content: "\FFCC"; +} + +.mdi-credit-card-minus-outline::before { + content: "\FFCD"; +} + +.mdi-credit-card-multiple::before { + content: "\F0011"; +} + +.mdi-credit-card-multiple-outline::before { + content: "\F19C"; +} + +.mdi-credit-card-off::before { + content: "\F0012"; +} + +.mdi-credit-card-off-outline::before { + content: "\F5E4"; +} + +.mdi-credit-card-outline::before { + content: "\F19B"; +} + +.mdi-credit-card-plus::before { + content: "\F0013"; +} + +.mdi-credit-card-plus-outline::before { + content: "\F675"; +} + +.mdi-credit-card-refund::before { + content: "\F0014"; +} + +.mdi-credit-card-refund-outline::before { + content: "\FAA7"; +} + +.mdi-credit-card-remove::before { + content: "\FFCE"; +} + +.mdi-credit-card-remove-outline::before { + content: "\FFCF"; +} + +.mdi-credit-card-scan::before { + content: "\F0015"; +} + +.mdi-credit-card-scan-outline::before { + content: "\F19D"; +} + +.mdi-credit-card-settings::before { + content: "\F0016"; +} + +.mdi-credit-card-settings-outline::before { + content: "\F8D6"; +} + +.mdi-credit-card-wireless::before { + content: "\F801"; +} + +.mdi-credit-card-wireless-outline::before { + content: "\FD48"; +} + +.mdi-cricket::before { + content: "\FD49"; +} + +.mdi-crop::before { + content: "\F19E"; +} + +.mdi-crop-free::before { + content: "\F19F"; +} + +.mdi-crop-landscape::before { + content: "\F1A0"; +} + +.mdi-crop-portrait::before { + content: "\F1A1"; +} + +.mdi-crop-rotate::before { + content: "\F695"; +} + +.mdi-crop-square::before { + content: "\F1A2"; +} + +.mdi-crosshairs::before { + content: "\F1A3"; +} + +.mdi-crosshairs-gps::before { + content: "\F1A4"; +} + +.mdi-crosshairs-off::before { + content: "\FF62"; +} + +.mdi-crosshairs-question::before { + content: "\F0161"; +} + +.mdi-crown::before { + content: "\F1A5"; +} + +.mdi-crown-outline::before { + content: "\F01FB"; +} + +.mdi-cryengine::before { + content: "\F958"; +} + +.mdi-crystal-ball::before { + content: "\FB14"; +} + +.mdi-cube::before { + content: "\F1A6"; +} + +.mdi-cube-outline::before { + content: "\F1A7"; +} + +.mdi-cube-scan::before { + content: "\FB60"; +} + +.mdi-cube-send::before { + content: "\F1A8"; +} + +.mdi-cube-unfolded::before { + content: "\F1A9"; +} + +.mdi-cup::before { + content: "\F1AA"; +} + +.mdi-cup-off::before { + content: "\F5E5"; +} + +.mdi-cup-water::before { + content: "\F1AB"; +} + +.mdi-cupboard::before { + content: "\FF63"; +} + +.mdi-cupboard-outline::before { + content: "\FF64"; +} + +.mdi-cupcake::before { + content: "\F959"; +} + +.mdi-curling::before { + content: "\F862"; +} + +.mdi-currency-bdt::before { + content: "\F863"; +} + +.mdi-currency-brl::before { + content: "\FB61"; +} + +.mdi-currency-btc::before { + content: "\F1AC"; +} + +.mdi-currency-cny::before { + content: "\F7B9"; +} + +.mdi-currency-eth::before { + content: "\F7BA"; +} + +.mdi-currency-eur::before { + content: "\F1AD"; +} + +.mdi-currency-gbp::before { + content: "\F1AE"; +} + +.mdi-currency-ils::before { + content: "\FC3D"; +} + +.mdi-currency-inr::before { + content: "\F1AF"; +} + +.mdi-currency-jpy::before { + content: "\F7BB"; +} + +.mdi-currency-krw::before { + content: "\F7BC"; +} + +.mdi-currency-kzt::before { + content: "\F864"; +} + +.mdi-currency-ngn::before { + content: "\F1B0"; +} + +.mdi-currency-php::before { + content: "\F9E5"; +} + +.mdi-currency-rial::before { + content: "\FEB9"; +} + +.mdi-currency-rub::before { + content: "\F1B1"; +} + +.mdi-currency-sign::before { + content: "\F7BD"; +} + +.mdi-currency-try::before { + content: "\F1B2"; +} + +.mdi-currency-twd::before { + content: "\F7BE"; +} + +.mdi-currency-usd::before { + content: "\F1B3"; +} + +.mdi-currency-usd-off::before { + content: "\F679"; +} + +.mdi-current-ac::before { + content: "\F95A"; +} + +.mdi-current-dc::before { + content: "\F95B"; +} + +.mdi-cursor-default::before { + content: "\F1B4"; +} + +.mdi-cursor-default-click::before { + content: "\FCD9"; +} + +.mdi-cursor-default-click-outline::before { + content: "\FCDA"; +} + +.mdi-cursor-default-gesture::before { + content: "\F0152"; +} + +.mdi-cursor-default-gesture-outline::before { + content: "\F0153"; +} + +.mdi-cursor-default-outline::before { + content: "\F1B5"; +} + +.mdi-cursor-move::before { + content: "\F1B6"; +} + +.mdi-cursor-pointer::before { + content: "\F1B7"; +} + +.mdi-cursor-text::before { + content: "\F5E7"; +} + +.mdi-database::before { + content: "\F1B8"; +} + +.mdi-database-check::before { + content: "\FAA8"; +} + +.mdi-database-edit::before { + content: "\FB62"; +} + +.mdi-database-export::before { + content: "\F95D"; +} + +.mdi-database-import::before { + content: "\F95C"; +} + +.mdi-database-lock::before { + content: "\FAA9"; +} + +.mdi-database-minus::before { + content: "\F1B9"; +} + +.mdi-database-plus::before { + content: "\F1BA"; +} + +.mdi-database-refresh::before { + content: "\FCDB"; +} + +.mdi-database-remove::before { + content: "\FCDC"; +} + +.mdi-database-search::before { + content: "\F865"; +} + +.mdi-database-settings::before { + content: "\FCDD"; +} + +.mdi-death-star::before { + content: "\F8D7"; +} + +.mdi-death-star-variant::before { + content: "\F8D8"; +} + +.mdi-deathly-hallows::before { + content: "\FB63"; +} + +.mdi-debian::before { + content: "\F8D9"; +} + +.mdi-debug-step-into::before { + content: "\F1BB"; +} + +.mdi-debug-step-out::before { + content: "\F1BC"; +} + +.mdi-debug-step-over::before { + content: "\F1BD"; +} + +.mdi-decagram::before { + content: "\F76B"; +} + +.mdi-decagram-outline::before { + content: "\F76C"; +} + +.mdi-decimal::before { + content: "\F00CC"; +} + +.mdi-decimal-comma::before { + content: "\F00CD"; +} + +.mdi-decimal-comma-decrease::before { + content: "\F00CE"; +} + +.mdi-decimal-comma-increase::before { + content: "\F00CF"; +} + +.mdi-decimal-decrease::before { + content: "\F1BE"; +} + +.mdi-decimal-increase::before { + content: "\F1BF"; +} + +.mdi-delete::before { + content: "\F1C0"; +} + +.mdi-delete-alert::before { + content: "\F00D0"; +} + +.mdi-delete-alert-outline::before { + content: "\F00D1"; +} + +.mdi-delete-circle::before { + content: "\F682"; +} + +.mdi-delete-circle-outline::before { + content: "\FB64"; +} + +.mdi-delete-empty::before { + content: "\F6CB"; +} + +.mdi-delete-empty-outline::before { + content: "\FEBA"; +} + +.mdi-delete-forever::before { + content: "\F5E8"; +} + +.mdi-delete-forever-outline::before { + content: "\FB65"; +} + +.mdi-delete-off::before { + content: "\F00D2"; +} + +.mdi-delete-off-outline::before { + content: "\F00D3"; +} + +.mdi-delete-outline::before { + content: "\F9E6"; +} + +.mdi-delete-restore::before { + content: "\F818"; +} + +.mdi-delete-sweep::before { + content: "\F5E9"; +} + +.mdi-delete-sweep-outline::before { + content: "\FC3E"; +} + +.mdi-delete-variant::before { + content: "\F1C1"; +} + +.mdi-delta::before { + content: "\F1C2"; +} + +.mdi-desk::before { + content: "\F0264"; +} + +.mdi-desk-lamp::before { + content: "\F95E"; +} + +.mdi-deskphone::before { + content: "\F1C3"; +} + +.mdi-desktop-classic::before { + content: "\F7BF"; +} + +.mdi-desktop-mac::before { + content: "\F1C4"; +} + +.mdi-desktop-mac-dashboard::before { + content: "\F9E7"; +} + +.mdi-desktop-tower::before { + content: "\F1C5"; +} + +.mdi-desktop-tower-monitor::before { + content: "\FAAA"; +} + +.mdi-details::before { + content: "\F1C6"; +} + +.mdi-dev-to::before { + content: "\FD4A"; +} + +.mdi-developer-board::before { + content: "\F696"; +} + +.mdi-deviantart::before { + content: "\F1C7"; +} + +.mdi-devices::before { + content: "\FFD0"; +} + +.mdi-diabetes::before { + content: "\F0151"; +} + +.mdi-dialpad::before { + content: "\F61C"; +} + +.mdi-diameter::before { + content: "\FC3F"; +} + +.mdi-diameter-outline::before { + content: "\FC40"; +} + +.mdi-diameter-variant::before { + content: "\FC41"; +} + +.mdi-diamond::before { + content: "\FB66"; +} + +.mdi-diamond-outline::before { + content: "\FB67"; +} + +.mdi-diamond-stone::before { + content: "\F1C8"; +} + +.mdi-dice-1::before { + content: "\F1CA"; +} + +.mdi-dice-1-outline::before { + content: "\F0175"; +} + +.mdi-dice-2::before { + content: "\F1CB"; +} + +.mdi-dice-2-outline::before { + content: "\F0176"; +} + +.mdi-dice-3::before { + content: "\F1CC"; +} + +.mdi-dice-3-outline::before { + content: "\F0177"; +} + +.mdi-dice-4::before { + content: "\F1CD"; +} + +.mdi-dice-4-outline::before { + content: "\F0178"; +} + +.mdi-dice-5::before { + content: "\F1CE"; +} + +.mdi-dice-5-outline::before { + content: "\F0179"; +} + +.mdi-dice-6::before { + content: "\F1CF"; +} + +.mdi-dice-6-outline::before { + content: "\F017A"; +} + +.mdi-dice-d10::before { + content: "\F017E"; +} + +.mdi-dice-d10-outline::before { + content: "\F76E"; +} + +.mdi-dice-d12::before { + content: "\F017F"; +} + +.mdi-dice-d12-outline::before { + content: "\F866"; +} + +.mdi-dice-d20::before { + content: "\F0180"; +} + +.mdi-dice-d20-outline::before { + content: "\F5EA"; +} + +.mdi-dice-d4::before { + content: "\F017B"; +} + +.mdi-dice-d4-outline::before { + content: "\F5EB"; +} + +.mdi-dice-d6::before { + content: "\F017C"; +} + +.mdi-dice-d6-outline::before { + content: "\F5EC"; +} + +.mdi-dice-d8::before { + content: "\F017D"; +} + +.mdi-dice-d8-outline::before { + content: "\F5ED"; +} + +.mdi-dice-multiple::before { + content: "\F76D"; +} + +.mdi-dice-multiple-outline::before { + content: "\F0181"; +} + +.mdi-dictionary::before { + content: "\F61D"; +} + +.mdi-digital-ocean::before { + content: "\F0262"; +} + +.mdi-dip-switch::before { + content: "\F7C0"; +} + +.mdi-directions::before { + content: "\F1D0"; +} + +.mdi-directions-fork::before { + content: "\F641"; +} + +.mdi-disc::before { + content: "\F5EE"; +} + +.mdi-disc-alert::before { + content: "\F1D1"; +} + +.mdi-disc-player::before { + content: "\F95F"; +} + +.mdi-discord::before { + content: "\F66F"; +} + +.mdi-dishwasher::before { + content: "\FAAB"; +} + +.mdi-dishwasher-alert::before { + content: "\F01E3"; +} + +.mdi-dishwasher-off::before { + content: "\F01E4"; +} + +.mdi-disqus::before { + content: "\F1D2"; +} + +.mdi-disqus-outline::before { + content: "\F1D3"; +} + +.mdi-distribute-horizontal-center::before { + content: "\F01F4"; +} + +.mdi-distribute-horizontal-left::before { + content: "\F01F3"; +} + +.mdi-distribute-horizontal-right::before { + content: "\F01F5"; +} + +.mdi-distribute-vertical-bottom::before { + content: "\F01F6"; +} + +.mdi-distribute-vertical-center::before { + content: "\F01F7"; +} + +.mdi-distribute-vertical-top::before { + content: "\F01F8"; +} + +.mdi-diving-flippers::before { + content: "\FD9B"; +} + +.mdi-diving-helmet::before { + content: "\FD9C"; +} + +.mdi-diving-scuba::before { + content: "\FD9D"; +} + +.mdi-diving-scuba-flag::before { + content: "\FD9E"; +} + +.mdi-diving-scuba-tank::before { + content: "\FD9F"; +} + +.mdi-diving-scuba-tank-multiple::before { + content: "\FDA0"; +} + +.mdi-diving-snorkel::before { + content: "\FDA1"; +} + +.mdi-division::before { + content: "\F1D4"; +} + +.mdi-division-box::before { + content: "\F1D5"; +} + +.mdi-dlna::before { + content: "\FA40"; +} + +.mdi-dna::before { + content: "\F683"; +} + +.mdi-dns::before { + content: "\F1D6"; +} + +.mdi-dns-outline::before { + content: "\FB68"; +} + +.mdi-do-not-disturb::before { + content: "\F697"; +} + +.mdi-do-not-disturb-off::before { + content: "\F698"; +} + +.mdi-dock-bottom::before { + content: "\F00D4"; +} + +.mdi-dock-left::before { + content: "\F00D5"; +} + +.mdi-dock-right::before { + content: "\F00D6"; +} + +.mdi-dock-window::before { + content: "\F00D7"; +} + +.mdi-docker::before { + content: "\F867"; +} + +.mdi-doctor::before { + content: "\FA41"; +} + +.mdi-dog::before { + content: "\FA42"; +} + +.mdi-dog-service::before { + content: "\FAAC"; +} + +.mdi-dog-side::before { + content: "\FA43"; +} + +.mdi-dolby::before { + content: "\F6B2"; +} + +.mdi-dolly::before { + content: "\FEBB"; +} + +.mdi-domain::before { + content: "\F1D7"; +} + +.mdi-domain-off::before { + content: "\FD4B"; +} + +.mdi-domain-plus::before { + content: "\F00D8"; +} + +.mdi-domain-remove::before { + content: "\F00D9"; +} + +.mdi-domino-mask::before { + content: "\F0045"; +} + +.mdi-donkey::before { + content: "\F7C1"; +} + +.mdi-door::before { + content: "\F819"; +} + +.mdi-door-closed::before { + content: "\F81A"; +} + +.mdi-door-closed-lock::before { + content: "\F00DA"; +} + +.mdi-door-open::before { + content: "\F81B"; +} + +.mdi-doorbell-video::before { + content: "\F868"; +} + +.mdi-dot-net::before { + content: "\FAAD"; +} + +.mdi-dots-horizontal::before { + content: "\F1D8"; +} + +.mdi-dots-horizontal-circle::before { + content: "\F7C2"; +} + +.mdi-dots-horizontal-circle-outline::before { + content: "\FB69"; +} + +.mdi-dots-vertical::before { + content: "\F1D9"; +} + +.mdi-dots-vertical-circle::before { + content: "\F7C3"; +} + +.mdi-dots-vertical-circle-outline::before { + content: "\FB6A"; +} + +.mdi-douban::before { + content: "\F699"; +} + +.mdi-download::before { + content: "\F1DA"; +} + +.mdi-download-multiple::before { + content: "\F9E8"; +} + +.mdi-download-network::before { + content: "\F6F3"; +} + +.mdi-download-network-outline::before { + content: "\FC42"; +} + +.mdi-download-off::before { + content: "\F00DB"; +} + +.mdi-download-off-outline::before { + content: "\F00DC"; +} + +.mdi-download-outline::before { + content: "\FB6B"; +} + +.mdi-drag::before { + content: "\F1DB"; +} + +.mdi-drag-horizontal::before { + content: "\F1DC"; +} + +.mdi-drag-variant::before { + content: "\FB6C"; +} + +.mdi-drag-vertical::before { + content: "\F1DD"; +} + +.mdi-drama-masks::before { + content: "\FCDE"; +} + +.mdi-draw::before { + content: "\FF66"; +} + +.mdi-drawing::before { + content: "\F1DE"; +} + +.mdi-drawing-box::before { + content: "\F1DF"; +} + +.mdi-dresser::before { + content: "\FF67"; +} + +.mdi-dresser-outline::before { + content: "\FF68"; +} + +.mdi-dribbble::before { + content: "\F1E0"; +} + +.mdi-dribbble-box::before { + content: "\F1E1"; +} + +.mdi-drone::before { + content: "\F1E2"; +} + +.mdi-dropbox::before { + content: "\F1E3"; +} + +.mdi-drupal::before { + content: "\F1E4"; +} + +.mdi-duck::before { + content: "\F1E5"; +} + +.mdi-dumbbell::before { + content: "\F1E6"; +} + +.mdi-dump-truck::before { + content: "\FC43"; +} + +.mdi-ear-hearing::before { + content: "\F7C4"; +} + +.mdi-ear-hearing-off::before { + content: "\FA44"; +} + +.mdi-earth::before { + content: "\F1E7"; +} + +.mdi-earth-box::before { + content: "\F6CC"; +} + +.mdi-earth-box-off::before { + content: "\F6CD"; +} + +.mdi-earth-off::before { + content: "\F1E8"; +} + +.mdi-edge::before { + content: "\F1E9"; +} + +.mdi-edge-legacy::before { + content: "\F027B"; +} + +.mdi-egg::before { + content: "\FAAE"; +} + +.mdi-egg-easter::before { + content: "\FAAF"; +} + +.mdi-eight-track::before { + content: "\F9E9"; +} + +.mdi-eject::before { + content: "\F1EA"; +} + +.mdi-eject-outline::before { + content: "\FB6D"; +} + +.mdi-electric-switch::before { + content: "\FEBC"; +} + +.mdi-electric-switch-closed::before { + content: "\F0104"; +} + +.mdi-electron-framework::before { + content: "\F0046"; +} + +.mdi-elephant::before { + content: "\F7C5"; +} + +.mdi-elevation-decline::before { + content: "\F1EB"; +} + +.mdi-elevation-rise::before { + content: "\F1EC"; +} + +.mdi-elevator::before { + content: "\F1ED"; +} + +.mdi-ellipse::before { + content: "\FEBD"; +} + +.mdi-ellipse-outline::before { + content: "\FEBE"; +} + +.mdi-email::before { + content: "\F1EE"; +} + +.mdi-email-alert::before { + content: "\F6CE"; +} + +.mdi-email-box::before { + content: "\FCDF"; +} + +.mdi-email-check::before { + content: "\FAB0"; +} + +.mdi-email-check-outline::before { + content: "\FAB1"; +} + +.mdi-email-edit::before { + content: "\FF00"; +} + +.mdi-email-edit-outline::before { + content: "\FF01"; +} + +.mdi-email-lock::before { + content: "\F1F1"; +} + +.mdi-email-mark-as-unread::before { + content: "\FB6E"; +} + +.mdi-email-minus::before { + content: "\FF02"; +} + +.mdi-email-minus-outline::before { + content: "\FF03"; +} + +.mdi-email-multiple::before { + content: "\FF04"; +} + +.mdi-email-multiple-outline::before { + content: "\FF05"; +} + +.mdi-email-newsletter::before { + content: "\FFD1"; +} + +.mdi-email-open::before { + content: "\F1EF"; +} + +.mdi-email-open-multiple::before { + content: "\FF06"; +} + +.mdi-email-open-multiple-outline::before { + content: "\FF07"; +} + +.mdi-email-open-outline::before { + content: "\F5EF"; +} + +.mdi-email-outline::before { + content: "\F1F0"; +} + +.mdi-email-plus::before { + content: "\F9EA"; +} + +.mdi-email-plus-outline::before { + content: "\F9EB"; +} + +.mdi-email-receive::before { + content: "\F0105"; +} + +.mdi-email-receive-outline::before { + content: "\F0106"; +} + +.mdi-email-search::before { + content: "\F960"; +} + +.mdi-email-search-outline::before { + content: "\F961"; +} + +.mdi-email-send::before { + content: "\F0107"; +} + +.mdi-email-send-outline::before { + content: "\F0108"; +} + +.mdi-email-variant::before { + content: "\F5F0"; +} + +.mdi-ember::before { + content: "\FB15"; +} + +.mdi-emby::before { + content: "\F6B3"; +} + +.mdi-emoticon::before { + content: "\FC44"; +} + +.mdi-emoticon-angry::before { + content: "\FC45"; +} + +.mdi-emoticon-angry-outline::before { + content: "\FC46"; +} + +.mdi-emoticon-confused::before { + content: "\F0109"; +} + +.mdi-emoticon-confused-outline::before { + content: "\F010A"; +} + +.mdi-emoticon-cool::before { + content: "\FC47"; +} + +.mdi-emoticon-cool-outline::before { + content: "\F1F3"; +} + +.mdi-emoticon-cry::before { + content: "\FC48"; +} + +.mdi-emoticon-cry-outline::before { + content: "\FC49"; +} + +.mdi-emoticon-dead::before { + content: "\FC4A"; +} + +.mdi-emoticon-dead-outline::before { + content: "\F69A"; +} + +.mdi-emoticon-devil::before { + content: "\FC4B"; +} + +.mdi-emoticon-devil-outline::before { + content: "\F1F4"; +} + +.mdi-emoticon-excited::before { + content: "\FC4C"; +} + +.mdi-emoticon-excited-outline::before { + content: "\F69B"; +} + +.mdi-emoticon-frown::before { + content: "\FF69"; +} + +.mdi-emoticon-frown-outline::before { + content: "\FF6A"; +} + +.mdi-emoticon-happy::before { + content: "\FC4D"; +} + +.mdi-emoticon-happy-outline::before { + content: "\F1F5"; +} + +.mdi-emoticon-kiss::before { + content: "\FC4E"; +} + +.mdi-emoticon-kiss-outline::before { + content: "\FC4F"; +} + +.mdi-emoticon-lol::before { + content: "\F023F"; +} + +.mdi-emoticon-lol-outline::before { + content: "\F0240"; +} + +.mdi-emoticon-neutral::before { + content: "\FC50"; +} + +.mdi-emoticon-neutral-outline::before { + content: "\F1F6"; +} + +.mdi-emoticon-outline::before { + content: "\F1F2"; +} + +.mdi-emoticon-poop::before { + content: "\F1F7"; +} + +.mdi-emoticon-poop-outline::before { + content: "\FC51"; +} + +.mdi-emoticon-sad::before { + content: "\FC52"; +} + +.mdi-emoticon-sad-outline::before { + content: "\F1F8"; +} + +.mdi-emoticon-tongue::before { + content: "\F1F9"; +} + +.mdi-emoticon-tongue-outline::before { + content: "\FC53"; +} + +.mdi-emoticon-wink::before { + content: "\FC54"; +} + +.mdi-emoticon-wink-outline::before { + content: "\FC55"; +} + +.mdi-engine::before { + content: "\F1FA"; +} + +.mdi-engine-off::before { + content: "\FA45"; +} + +.mdi-engine-off-outline::before { + content: "\FA46"; +} + +.mdi-engine-outline::before { + content: "\F1FB"; +} + +.mdi-epsilon::before { + content: "\F010B"; +} + +.mdi-equal::before { + content: "\F1FC"; +} + +.mdi-equal-box::before { + content: "\F1FD"; +} + +.mdi-equalizer::before { + content: "\FEBF"; +} + +.mdi-equalizer-outline::before { + content: "\FEC0"; +} + +.mdi-eraser::before { + content: "\F1FE"; +} + +.mdi-eraser-variant::before { + content: "\F642"; +} + +.mdi-escalator::before { + content: "\F1FF"; +} + +.mdi-eslint::before { + content: "\FC56"; +} + +.mdi-et::before { + content: "\FAB2"; +} + +.mdi-ethereum::before { + content: "\F869"; +} + +.mdi-ethernet::before { + content: "\F200"; +} + +.mdi-ethernet-cable::before { + content: "\F201"; +} + +.mdi-ethernet-cable-off::before { + content: "\F202"; +} + +.mdi-etsy::before { + content: "\F203"; +} + +.mdi-ev-station::before { + content: "\F5F1"; +} + +.mdi-eventbrite::before { + content: "\F7C6"; +} + +.mdi-evernote::before { + content: "\F204"; +} + +.mdi-excavator::before { + content: "\F0047"; +} + +.mdi-exclamation::before { + content: "\F205"; +} + +.mdi-exclamation-thick::before { + content: "\F0263"; +} + +.mdi-exit-run::before { + content: "\FA47"; +} + +.mdi-exit-to-app::before { + content: "\F206"; +} + +.mdi-expand-all::before { + content: "\FAB3"; +} + +.mdi-expand-all-outline::before { + content: "\FAB4"; +} + +.mdi-expansion-card::before { + content: "\F8AD"; +} + +.mdi-expansion-card-variant::before { + content: "\FFD2"; +} + +.mdi-exponent::before { + content: "\F962"; +} + +.mdi-exponent-box::before { + content: "\F963"; +} + +.mdi-export::before { + content: "\F207"; +} + +.mdi-export-variant::before { + content: "\FB6F"; +} + +.mdi-eye::before { + content: "\F208"; +} + +.mdi-eye-check::before { + content: "\FCE0"; +} + +.mdi-eye-check-outline::before { + content: "\FCE1"; +} + +.mdi-eye-circle::before { + content: "\FB70"; +} + +.mdi-eye-circle-outline::before { + content: "\FB71"; +} + +.mdi-eye-minus::before { + content: "\F0048"; +} + +.mdi-eye-minus-outline::before { + content: "\F0049"; +} + +.mdi-eye-off::before { + content: "\F209"; +} + +.mdi-eye-off-outline::before { + content: "\F6D0"; +} + +.mdi-eye-outline::before { + content: "\F6CF"; +} + +.mdi-eye-plus::before { + content: "\F86A"; +} + +.mdi-eye-plus-outline::before { + content: "\F86B"; +} + +.mdi-eye-settings::before { + content: "\F86C"; +} + +.mdi-eye-settings-outline::before { + content: "\F86D"; +} + +.mdi-eyedropper::before { + content: "\F20A"; +} + +.mdi-eyedropper-variant::before { + content: "\F20B"; +} + +.mdi-face::before { + content: "\F643"; +} + +.mdi-face-agent::before { + content: "\FD4C"; +} + +.mdi-face-outline::before { + content: "\FB72"; +} + +.mdi-face-profile::before { + content: "\F644"; +} + +.mdi-face-profile-woman::before { + content: "\F00A1"; +} + +.mdi-face-recognition::before { + content: "\FC57"; +} + +.mdi-face-woman::before { + content: "\F00A2"; +} + +.mdi-face-woman-outline::before { + content: "\F00A3"; +} + +.mdi-facebook::before { + content: "\F20C"; +} + +.mdi-facebook-box::before { + content: "\F20D"; +} + +.mdi-facebook-messenger::before { + content: "\F20E"; +} + +.mdi-facebook-workplace::before { + content: "\FB16"; +} + +.mdi-factory::before { + content: "\F20F"; +} + +.mdi-fan::before { + content: "\F210"; +} + +.mdi-fan-off::before { + content: "\F81C"; +} + +.mdi-fast-forward::before { + content: "\F211"; +} + +.mdi-fast-forward-10::before { + content: "\FD4D"; +} + +.mdi-fast-forward-30::before { + content: "\FCE2"; +} + +.mdi-fast-forward-5::before { + content: "\F0223"; +} + +.mdi-fast-forward-outline::before { + content: "\F6D1"; +} + +.mdi-fax::before { + content: "\F212"; +} + +.mdi-feather::before { + content: "\F6D2"; +} + +.mdi-feature-search::before { + content: "\FA48"; +} + +.mdi-feature-search-outline::before { + content: "\FA49"; +} + +.mdi-fedora::before { + content: "\F8DA"; +} + +.mdi-ferris-wheel::before { + content: "\FEC1"; +} + +.mdi-ferry::before { + content: "\F213"; +} + +.mdi-file::before { + content: "\F214"; +} + +.mdi-file-account::before { + content: "\F73A"; +} + +.mdi-file-account-outline::before { + content: "\F004A"; +} + +.mdi-file-alert::before { + content: "\FA4A"; +} + +.mdi-file-alert-outline::before { + content: "\FA4B"; +} + +.mdi-file-cabinet::before { + content: "\FAB5"; +} + +.mdi-file-cad::before { + content: "\FF08"; +} + +.mdi-file-cad-box::before { + content: "\FF09"; +} + +.mdi-file-cancel::before { + content: "\FDA2"; +} + +.mdi-file-cancel-outline::before { + content: "\FDA3"; +} + +.mdi-file-certificate::before { + content: "\F01B1"; +} + +.mdi-file-certificate-outline::before { + content: "\F01B2"; +} + +.mdi-file-chart::before { + content: "\F215"; +} + +.mdi-file-chart-outline::before { + content: "\F004B"; +} + +.mdi-file-check::before { + content: "\F216"; +} + +.mdi-file-check-outline::before { + content: "\FE7B"; +} + +.mdi-file-cloud::before { + content: "\F217"; +} + +.mdi-file-cloud-outline::before { + content: "\F004C"; +} + +.mdi-file-code::before { + content: "\F22E"; +} + +.mdi-file-code-outline::before { + content: "\F004D"; +} + +.mdi-file-compare::before { + content: "\F8A9"; +} + +.mdi-file-delimited::before { + content: "\F218"; +} + +.mdi-file-delimited-outline::before { + content: "\FEC2"; +} + +.mdi-file-document::before { + content: "\F219"; +} + +.mdi-file-document-box::before { + content: "\F21A"; +} + +.mdi-file-document-box-check::before { + content: "\FEC3"; +} + +.mdi-file-document-box-check-outline::before { + content: "\FEC4"; +} + +.mdi-file-document-box-minus::before { + content: "\FEC5"; +} + +.mdi-file-document-box-minus-outline::before { + content: "\FEC6"; +} + +.mdi-file-document-box-multiple::before { + content: "\FAB6"; +} + +.mdi-file-document-box-multiple-outline::before { + content: "\FAB7"; +} + +.mdi-file-document-box-outline::before { + content: "\F9EC"; +} + +.mdi-file-document-box-plus::before { + content: "\FEC7"; +} + +.mdi-file-document-box-plus-outline::before { + content: "\FEC8"; +} + +.mdi-file-document-box-remove::before { + content: "\FEC9"; +} + +.mdi-file-document-box-remove-outline::before { + content: "\FECA"; +} + +.mdi-file-document-box-search::before { + content: "\FECB"; +} + +.mdi-file-document-box-search-outline::before { + content: "\FECC"; +} + +.mdi-file-document-edit::before { + content: "\FDA4"; +} + +.mdi-file-document-edit-outline::before { + content: "\FDA5"; +} + +.mdi-file-document-outline::before { + content: "\F9ED"; +} + +.mdi-file-download::before { + content: "\F964"; +} + +.mdi-file-download-outline::before { + content: "\F965"; +} + +.mdi-file-edit::before { + content: "\F0212"; +} + +.mdi-file-edit-outline::before { + content: "\F0213"; +} + +.mdi-file-excel::before { + content: "\F21B"; +} + +.mdi-file-excel-box::before { + content: "\F21C"; +} + +.mdi-file-excel-box-outline::before { + content: "\F004E"; +} + +.mdi-file-excel-outline::before { + content: "\F004F"; +} + +.mdi-file-export::before { + content: "\F21D"; +} + +.mdi-file-export-outline::before { + content: "\F0050"; +} + +.mdi-file-eye::before { + content: "\FDA6"; +} + +.mdi-file-eye-outline::before { + content: "\FDA7"; +} + +.mdi-file-find::before { + content: "\F21E"; +} + +.mdi-file-find-outline::before { + content: "\FB73"; +} + +.mdi-file-hidden::before { + content: "\F613"; +} + +.mdi-file-image::before { + content: "\F21F"; +} + +.mdi-file-image-outline::before { + content: "\FECD"; +} + +.mdi-file-import::before { + content: "\F220"; +} + +.mdi-file-import-outline::before { + content: "\F0051"; +} + +.mdi-file-key::before { + content: "\F01AF"; +} + +.mdi-file-key-outline::before { + content: "\F01B0"; +} + +.mdi-file-link::before { + content: "\F01A2"; +} + +.mdi-file-link-outline::before { + content: "\F01A3"; +} + +.mdi-file-lock::before { + content: "\F221"; +} + +.mdi-file-lock-outline::before { + content: "\F0052"; +} + +.mdi-file-move::before { + content: "\FAB8"; +} + +.mdi-file-move-outline::before { + content: "\F0053"; +} + +.mdi-file-multiple::before { + content: "\F222"; +} + +.mdi-file-multiple-outline::before { + content: "\F0054"; +} + +.mdi-file-music::before { + content: "\F223"; +} + +.mdi-file-music-outline::before { + content: "\FE7C"; +} + +.mdi-file-outline::before { + content: "\F224"; +} + +.mdi-file-pdf::before { + content: "\F225"; +} + +.mdi-file-pdf-box::before { + content: "\F226"; +} + +.mdi-file-pdf-box-outline::before { + content: "\FFD3"; +} + +.mdi-file-pdf-outline::before { + content: "\FE7D"; +} + +.mdi-file-percent::before { + content: "\F81D"; +} + +.mdi-file-percent-outline::before { + content: "\F0055"; +} + +.mdi-file-phone::before { + content: "\F01A4"; +} + +.mdi-file-phone-outline::before { + content: "\F01A5"; +} + +.mdi-file-plus::before { + content: "\F751"; +} + +.mdi-file-plus-outline::before { + content: "\FF0A"; +} + +.mdi-file-powerpoint::before { + content: "\F227"; +} + +.mdi-file-powerpoint-box::before { + content: "\F228"; +} + +.mdi-file-powerpoint-box-outline::before { + content: "\F0056"; +} + +.mdi-file-powerpoint-outline::before { + content: "\F0057"; +} + +.mdi-file-presentation-box::before { + content: "\F229"; +} + +.mdi-file-question::before { + content: "\F86E"; +} + +.mdi-file-question-outline::before { + content: "\F0058"; +} + +.mdi-file-remove::before { + content: "\FB74"; +} + +.mdi-file-remove-outline::before { + content: "\F0059"; +} + +.mdi-file-replace::before { + content: "\FB17"; +} + +.mdi-file-replace-outline::before { + content: "\FB18"; +} + +.mdi-file-restore::before { + content: "\F670"; +} + +.mdi-file-restore-outline::before { + content: "\F005A"; +} + +.mdi-file-search::before { + content: "\FC58"; +} + +.mdi-file-search-outline::before { + content: "\FC59"; +} + +.mdi-file-send::before { + content: "\F22A"; +} + +.mdi-file-send-outline::before { + content: "\F005B"; +} + +.mdi-file-settings::before { + content: "\F00A4"; +} + +.mdi-file-settings-outline::before { + content: "\F00A5"; +} + +.mdi-file-settings-variant::before { + content: "\F00A6"; +} + +.mdi-file-settings-variant-outline::before { + content: "\F00A7"; +} + +.mdi-file-star::before { + content: "\F005C"; +} + +.mdi-file-star-outline::before { + content: "\F005D"; +} + +.mdi-file-swap::before { + content: "\FFD4"; +} + +.mdi-file-swap-outline::before { + content: "\FFD5"; +} + +.mdi-file-sync::before { + content: "\F0241"; +} + +.mdi-file-sync-outline::before { + content: "\F0242"; +} + +.mdi-file-table::before { + content: "\FC5A"; +} + +.mdi-file-table-box::before { + content: "\F010C"; +} + +.mdi-file-table-box-multiple::before { + content: "\F010D"; +} + +.mdi-file-table-box-multiple-outline::before { + content: "\F010E"; +} + +.mdi-file-table-box-outline::before { + content: "\F010F"; +} + +.mdi-file-table-outline::before { + content: "\FC5B"; +} + +.mdi-file-tree::before { + content: "\F645"; +} + +.mdi-file-undo::before { + content: "\F8DB"; +} + +.mdi-file-undo-outline::before { + content: "\F005E"; +} + +.mdi-file-upload::before { + content: "\FA4C"; +} + +.mdi-file-upload-outline::before { + content: "\FA4D"; +} + +.mdi-file-video::before { + content: "\F22B"; +} + +.mdi-file-video-outline::before { + content: "\FE10"; +} + +.mdi-file-word::before { + content: "\F22C"; +} + +.mdi-file-word-box::before { + content: "\F22D"; +} + +.mdi-file-word-box-outline::before { + content: "\F005F"; +} + +.mdi-file-word-outline::before { + content: "\F0060"; +} + +.mdi-film::before { + content: "\F22F"; +} + +.mdi-filmstrip::before { + content: "\F230"; +} + +.mdi-filmstrip-off::before { + content: "\F231"; +} + +.mdi-filter::before { + content: "\F232"; +} + +.mdi-filter-menu::before { + content: "\F0110"; +} + +.mdi-filter-menu-outline::before { + content: "\F0111"; +} + +.mdi-filter-minus::before { + content: "\FF0B"; +} + +.mdi-filter-minus-outline::before { + content: "\FF0C"; +} + +.mdi-filter-outline::before { + content: "\F233"; +} + +.mdi-filter-plus::before { + content: "\FF0D"; +} + +.mdi-filter-plus-outline::before { + content: "\FF0E"; +} + +.mdi-filter-remove::before { + content: "\F234"; +} + +.mdi-filter-remove-outline::before { + content: "\F235"; +} + +.mdi-filter-variant::before { + content: "\F236"; +} + +.mdi-filter-variant-minus::before { + content: "\F013D"; +} + +.mdi-filter-variant-plus::before { + content: "\F013E"; +} + +.mdi-filter-variant-remove::before { + content: "\F0061"; +} + +.mdi-finance::before { + content: "\F81E"; +} + +.mdi-find-replace::before { + content: "\F6D3"; +} + +.mdi-fingerprint::before { + content: "\F237"; +} + +.mdi-fingerprint-off::before { + content: "\FECE"; +} + +.mdi-fire::before { + content: "\F238"; +} + +.mdi-fire-extinguisher::before { + content: "\FF0F"; +} + +.mdi-fire-hydrant::before { + content: "\F0162"; +} + +.mdi-fire-hydrant-alert::before { + content: "\F0163"; +} + +.mdi-fire-hydrant-off::before { + content: "\F0164"; +} + +.mdi-fire-truck::before { + content: "\F8AA"; +} + +.mdi-firebase::before { + content: "\F966"; +} + +.mdi-firefox::before { + content: "\F239"; +} + +.mdi-fireplace::before { + content: "\FE11"; +} + +.mdi-fireplace-off::before { + content: "\FE12"; +} + +.mdi-firework::before { + content: "\FE13"; +} + +.mdi-fish::before { + content: "\F23A"; +} + +.mdi-fishbowl::before { + content: "\FF10"; +} + +.mdi-fishbowl-outline::before { + content: "\FF11"; +} + +.mdi-fit-to-page::before { + content: "\FF12"; +} + +.mdi-fit-to-page-outline::before { + content: "\FF13"; +} + +.mdi-flag::before { + content: "\F23B"; +} + +.mdi-flag-checkered::before { + content: "\F23C"; +} + +.mdi-flag-minus::before { + content: "\FB75"; +} + +.mdi-flag-minus-outline::before { + content: "\F00DD"; +} + +.mdi-flag-outline::before { + content: "\F23D"; +} + +.mdi-flag-plus::before { + content: "\FB76"; +} + +.mdi-flag-plus-outline::before { + content: "\F00DE"; +} + +.mdi-flag-remove::before { + content: "\FB77"; +} + +.mdi-flag-remove-outline::before { + content: "\F00DF"; +} + +.mdi-flag-triangle::before { + content: "\F23F"; +} + +.mdi-flag-variant::before { + content: "\F240"; +} + +.mdi-flag-variant-outline::before { + content: "\F23E"; +} + +.mdi-flare::before { + content: "\FD4E"; +} + +.mdi-flash::before { + content: "\F241"; +} + +.mdi-flash-alert::before { + content: "\FF14"; +} + +.mdi-flash-alert-outline::before { + content: "\FF15"; +} + +.mdi-flash-auto::before { + content: "\F242"; +} + +.mdi-flash-circle::before { + content: "\F81F"; +} + +.mdi-flash-off::before { + content: "\F243"; +} + +.mdi-flash-outline::before { + content: "\F6D4"; +} + +.mdi-flash-red-eye::before { + content: "\F67A"; +} + +.mdi-flashlight::before { + content: "\F244"; +} + +.mdi-flashlight-off::before { + content: "\F245"; +} + +.mdi-flask::before { + content: "\F093"; +} + +.mdi-flask-empty::before { + content: "\F094"; +} + +.mdi-flask-empty-minus::before { + content: "\F0265"; +} + +.mdi-flask-empty-minus-outline::before { + content: "\F0266"; +} + +.mdi-flask-empty-outline::before { + content: "\F095"; +} + +.mdi-flask-empty-plus::before { + content: "\F0267"; +} + +.mdi-flask-empty-plus-outline::before { + content: "\F0268"; +} + +.mdi-flask-empty-remove::before { + content: "\F0269"; +} + +.mdi-flask-empty-remove-outline::before { + content: "\F026A"; +} + +.mdi-flask-minus::before { + content: "\F026B"; +} + +.mdi-flask-minus-outline::before { + content: "\F026C"; +} + +.mdi-flask-outline::before { + content: "\F096"; +} + +.mdi-flask-plus::before { + content: "\F026D"; +} + +.mdi-flask-plus-outline::before { + content: "\F026E"; +} + +.mdi-flask-remove::before { + content: "\F026F"; +} + +.mdi-flask-remove-outline::before { + content: "\F0270"; +} + +.mdi-flask-round-bottom::before { + content: "\F0276"; +} + +.mdi-flask-round-bottom-empty::before { + content: "\F0277"; +} + +.mdi-flask-round-bottom-empty-outline::before { + content: "\F0278"; +} + +.mdi-flask-round-bottom-outline::before { + content: "\F0279"; +} + +.mdi-flattr::before { + content: "\F246"; +} + +.mdi-flickr::before { + content: "\FCE3"; +} + +.mdi-flip-horizontal::before { + content: "\F0112"; +} + +.mdi-flip-to-back::before { + content: "\F247"; +} + +.mdi-flip-to-front::before { + content: "\F248"; +} + +.mdi-flip-vertical::before { + content: "\F0113"; +} + +.mdi-floor-lamp::before { + content: "\F8DC"; +} + +.mdi-floor-lamp-dual::before { + content: "\F0062"; +} + +.mdi-floor-lamp-variant::before { + content: "\F0063"; +} + +.mdi-floor-plan::before { + content: "\F820"; +} + +.mdi-floppy::before { + content: "\F249"; +} + +.mdi-floppy-variant::before { + content: "\F9EE"; +} + +.mdi-flower::before { + content: "\F24A"; +} + +.mdi-flower-outline::before { + content: "\F9EF"; +} + +.mdi-flower-poppy::before { + content: "\FCE4"; +} + +.mdi-flower-tulip::before { + content: "\F9F0"; +} + +.mdi-flower-tulip-outline::before { + content: "\F9F1"; +} + +.mdi-focus-auto::before { + content: "\FF6B"; +} + +.mdi-focus-field::before { + content: "\FF6C"; +} + +.mdi-focus-field-horizontal::before { + content: "\FF6D"; +} + +.mdi-focus-field-vertical::before { + content: "\FF6E"; +} + +.mdi-folder::before { + content: "\F24B"; +} + +.mdi-folder-account::before { + content: "\F24C"; +} + +.mdi-folder-account-outline::before { + content: "\FB78"; +} + +.mdi-folder-alert::before { + content: "\FDA8"; +} + +.mdi-folder-alert-outline::before { + content: "\FDA9"; +} + +.mdi-folder-clock::before { + content: "\FAB9"; +} + +.mdi-folder-clock-outline::before { + content: "\FABA"; +} + +.mdi-folder-download::before { + content: "\F24D"; +} + +.mdi-folder-download-outline::before { + content: "\F0114"; +} + +.mdi-folder-edit::before { + content: "\F8DD"; +} + +.mdi-folder-edit-outline::before { + content: "\FDAA"; +} + +.mdi-folder-google-drive::before { + content: "\F24E"; +} + +.mdi-folder-heart::before { + content: "\F0115"; +} + +.mdi-folder-heart-outline::before { + content: "\F0116"; +} + +.mdi-folder-home::before { + content: "\F00E0"; +} + +.mdi-folder-home-outline::before { + content: "\F00E1"; +} + +.mdi-folder-image::before { + content: "\F24F"; +} + +.mdi-folder-information::before { + content: "\F00E2"; +} + +.mdi-folder-information-outline::before { + content: "\F00E3"; +} + +.mdi-folder-key::before { + content: "\F8AB"; +} + +.mdi-folder-key-network::before { + content: "\F8AC"; +} + +.mdi-folder-key-network-outline::before { + content: "\FC5C"; +} + +.mdi-folder-key-outline::before { + content: "\F0117"; +} + +.mdi-folder-lock::before { + content: "\F250"; +} + +.mdi-folder-lock-open::before { + content: "\F251"; +} + +.mdi-folder-marker::before { + content: "\F0298"; +} + +.mdi-folder-marker-outline::before { + content: "\F0299"; +} + +.mdi-folder-move::before { + content: "\F252"; +} + +.mdi-folder-move-outline::before { + content: "\F0271"; +} + +.mdi-folder-multiple::before { + content: "\F253"; +} + +.mdi-folder-multiple-image::before { + content: "\F254"; +} + +.mdi-folder-multiple-outline::before { + content: "\F255"; +} + +.mdi-folder-network::before { + content: "\F86F"; +} + +.mdi-folder-network-outline::before { + content: "\FC5D"; +} + +.mdi-folder-open::before { + content: "\F76F"; +} + +.mdi-folder-open-outline::before { + content: "\FDAB"; +} + +.mdi-folder-outline::before { + content: "\F256"; +} + +.mdi-folder-plus::before { + content: "\F257"; +} + +.mdi-folder-plus-outline::before { + content: "\FB79"; +} + +.mdi-folder-pound::before { + content: "\FCE5"; +} + +.mdi-folder-pound-outline::before { + content: "\FCE6"; +} + +.mdi-folder-remove::before { + content: "\F258"; +} + +.mdi-folder-remove-outline::before { + content: "\FB7A"; +} + +.mdi-folder-search::before { + content: "\F967"; +} + +.mdi-folder-search-outline::before { + content: "\F968"; +} + +.mdi-folder-settings::before { + content: "\F00A8"; +} + +.mdi-folder-settings-outline::before { + content: "\F00A9"; +} + +.mdi-folder-settings-variant::before { + content: "\F00AA"; +} + +.mdi-folder-settings-variant-outline::before { + content: "\F00AB"; +} + +.mdi-folder-star::before { + content: "\F69C"; +} + +.mdi-folder-star-outline::before { + content: "\FB7B"; +} + +.mdi-folder-swap::before { + content: "\FFD6"; +} + +.mdi-folder-swap-outline::before { + content: "\FFD7"; +} + +.mdi-folder-sync::before { + content: "\FCE7"; +} + +.mdi-folder-sync-outline::before { + content: "\FCE8"; +} + +.mdi-folder-text::before { + content: "\FC5E"; +} + +.mdi-folder-text-outline::before { + content: "\FC5F"; +} + +.mdi-folder-upload::before { + content: "\F259"; +} + +.mdi-folder-upload-outline::before { + content: "\F0118"; +} + +.mdi-folder-zip::before { + content: "\F6EA"; +} + +.mdi-folder-zip-outline::before { + content: "\F7B8"; +} + +.mdi-font-awesome::before { + content: "\F03A"; +} + +.mdi-food::before { + content: "\F25A"; +} + +.mdi-food-apple::before { + content: "\F25B"; +} + +.mdi-food-apple-outline::before { + content: "\FC60"; +} + +.mdi-food-croissant::before { + content: "\F7C7"; +} + +.mdi-food-fork-drink::before { + content: "\F5F2"; +} + +.mdi-food-off::before { + content: "\F5F3"; +} + +.mdi-food-variant::before { + content: "\F25C"; +} + +.mdi-foot-print::before { + content: "\FF6F"; +} + +.mdi-football::before { + content: "\F25D"; +} + +.mdi-football-australian::before { + content: "\F25E"; +} + +.mdi-football-helmet::before { + content: "\F25F"; +} + +.mdi-forklift::before { + content: "\F7C8"; +} + +.mdi-format-align-bottom::before { + content: "\F752"; +} + +.mdi-format-align-center::before { + content: "\F260"; +} + +.mdi-format-align-justify::before { + content: "\F261"; +} + +.mdi-format-align-left::before { + content: "\F262"; +} + +.mdi-format-align-middle::before { + content: "\F753"; +} + +.mdi-format-align-right::before { + content: "\F263"; +} + +.mdi-format-align-top::before { + content: "\F754"; +} + +.mdi-format-annotation-minus::before { + content: "\FABB"; +} + +.mdi-format-annotation-plus::before { + content: "\F646"; +} + +.mdi-format-bold::before { + content: "\F264"; +} + +.mdi-format-clear::before { + content: "\F265"; +} + +.mdi-format-color-fill::before { + content: "\F266"; +} + +.mdi-format-color-highlight::before { + content: "\FE14"; +} + +.mdi-format-color-text::before { + content: "\F69D"; +} + +.mdi-format-columns::before { + content: "\F8DE"; +} + +.mdi-format-float-center::before { + content: "\F267"; +} + +.mdi-format-float-left::before { + content: "\F268"; +} + +.mdi-format-float-none::before { + content: "\F269"; +} + +.mdi-format-float-right::before { + content: "\F26A"; +} + +.mdi-format-font::before { + content: "\F6D5"; +} + +.mdi-format-font-size-decrease::before { + content: "\F9F2"; +} + +.mdi-format-font-size-increase::before { + content: "\F9F3"; +} + +.mdi-format-header-1::before { + content: "\F26B"; +} + +.mdi-format-header-2::before { + content: "\F26C"; +} + +.mdi-format-header-3::before { + content: "\F26D"; +} + +.mdi-format-header-4::before { + content: "\F26E"; +} + +.mdi-format-header-5::before { + content: "\F26F"; +} + +.mdi-format-header-6::before { + content: "\F270"; +} + +.mdi-format-header-decrease::before { + content: "\F271"; +} + +.mdi-format-header-equal::before { + content: "\F272"; +} + +.mdi-format-header-increase::before { + content: "\F273"; +} + +.mdi-format-header-pound::before { + content: "\F274"; +} + +.mdi-format-horizontal-align-center::before { + content: "\F61E"; +} + +.mdi-format-horizontal-align-left::before { + content: "\F61F"; +} + +.mdi-format-horizontal-align-right::before { + content: "\F620"; +} + +.mdi-format-indent-decrease::before { + content: "\F275"; +} + +.mdi-format-indent-increase::before { + content: "\F276"; +} + +.mdi-format-italic::before { + content: "\F277"; +} + +.mdi-format-letter-case::before { + content: "\FB19"; +} + +.mdi-format-letter-case-lower::before { + content: "\FB1A"; +} + +.mdi-format-letter-case-upper::before { + content: "\FB1B"; +} + +.mdi-format-letter-ends-with::before { + content: "\FFD8"; +} + +.mdi-format-letter-matches::before { + content: "\FFD9"; +} + +.mdi-format-letter-starts-with::before { + content: "\FFDA"; +} + +.mdi-format-line-spacing::before { + content: "\F278"; +} + +.mdi-format-line-style::before { + content: "\F5C8"; +} + +.mdi-format-line-weight::before { + content: "\F5C9"; +} + +.mdi-format-list-bulleted::before { + content: "\F279"; +} + +.mdi-format-list-bulleted-square::before { + content: "\FDAC"; +} + +.mdi-format-list-bulleted-triangle::before { + content: "\FECF"; +} + +.mdi-format-list-bulleted-type::before { + content: "\F27A"; +} + +.mdi-format-list-checkbox::before { + content: "\F969"; +} + +.mdi-format-list-checks::before { + content: "\F755"; +} + +.mdi-format-list-numbered::before { + content: "\F27B"; +} + +.mdi-format-list-numbered-rtl::before { + content: "\FCE9"; +} + +.mdi-format-list-text::before { + content: "\F029A"; +} + +.mdi-format-overline::before { + content: "\FED0"; +} + +.mdi-format-page-break::before { + content: "\F6D6"; +} + +.mdi-format-paint::before { + content: "\F27C"; +} + +.mdi-format-paragraph::before { + content: "\F27D"; +} + +.mdi-format-pilcrow::before { + content: "\F6D7"; +} + +.mdi-format-quote-close::before { + content: "\F27E"; +} + +.mdi-format-quote-close-outline::before { + content: "\F01D3"; +} + +.mdi-format-quote-open::before { + content: "\F756"; +} + +.mdi-format-quote-open-outline::before { + content: "\F01D2"; +} + +.mdi-format-rotate-90::before { + content: "\F6A9"; +} + +.mdi-format-section::before { + content: "\F69E"; +} + +.mdi-format-size::before { + content: "\F27F"; +} + +.mdi-format-strikethrough::before { + content: "\F280"; +} + +.mdi-format-strikethrough-variant::before { + content: "\F281"; +} + +.mdi-format-subscript::before { + content: "\F282"; +} + +.mdi-format-superscript::before { + content: "\F283"; +} + +.mdi-format-text::before { + content: "\F284"; +} + +.mdi-format-text-rotation-angle-down::before { + content: "\FFDB"; +} + +.mdi-format-text-rotation-angle-up::before { + content: "\FFDC"; +} + +.mdi-format-text-rotation-down::before { + content: "\FD4F"; +} + +.mdi-format-text-rotation-down-vertical::before { + content: "\FFDD"; +} + +.mdi-format-text-rotation-none::before { + content: "\FD50"; +} + +.mdi-format-text-rotation-up::before { + content: "\FFDE"; +} + +.mdi-format-text-rotation-vertical::before { + content: "\FFDF"; +} + +.mdi-format-text-variant::before { + content: "\FE15"; +} + +.mdi-format-text-wrapping-clip::before { + content: "\FCEA"; +} + +.mdi-format-text-wrapping-overflow::before { + content: "\FCEB"; +} + +.mdi-format-text-wrapping-wrap::before { + content: "\FCEC"; +} + +.mdi-format-textbox::before { + content: "\FCED"; +} + +.mdi-format-textdirection-l-to-r::before { + content: "\F285"; +} + +.mdi-format-textdirection-r-to-l::before { + content: "\F286"; +} + +.mdi-format-title::before { + content: "\F5F4"; +} + +.mdi-format-underline::before { + content: "\F287"; +} + +.mdi-format-vertical-align-bottom::before { + content: "\F621"; +} + +.mdi-format-vertical-align-center::before { + content: "\F622"; +} + +.mdi-format-vertical-align-top::before { + content: "\F623"; +} + +.mdi-format-wrap-inline::before { + content: "\F288"; +} + +.mdi-format-wrap-square::before { + content: "\F289"; +} + +.mdi-format-wrap-tight::before { + content: "\F28A"; +} + +.mdi-format-wrap-top-bottom::before { + content: "\F28B"; +} + +.mdi-forum::before { + content: "\F28C"; +} + +.mdi-forum-outline::before { + content: "\F821"; +} + +.mdi-forward::before { + content: "\F28D"; +} + +.mdi-forwardburger::before { + content: "\FD51"; +} + +.mdi-fountain::before { + content: "\F96A"; +} + +.mdi-fountain-pen::before { + content: "\FCEE"; +} + +.mdi-fountain-pen-tip::before { + content: "\FCEF"; +} + +.mdi-foursquare::before { + content: "\F28E"; +} + +.mdi-freebsd::before { + content: "\F8DF"; +} + +.mdi-frequently-asked-questions::before { + content: "\FED1"; +} + +.mdi-fridge::before { + content: "\F290"; +} + +.mdi-fridge-alert::before { + content: "\F01DC"; +} + +.mdi-fridge-alert-outline::before { + content: "\F01DD"; +} + +.mdi-fridge-bottom::before { + content: "\F292"; +} + +.mdi-fridge-off::before { + content: "\F01DA"; +} + +.mdi-fridge-off-outline::before { + content: "\F01DB"; +} + +.mdi-fridge-outline::before { + content: "\F28F"; +} + +.mdi-fridge-top::before { + content: "\F291"; +} + +.mdi-fruit-cherries::before { + content: "\F0064"; +} + +.mdi-fruit-citrus::before { + content: "\F0065"; +} + +.mdi-fruit-grapes::before { + content: "\F0066"; +} + +.mdi-fruit-grapes-outline::before { + content: "\F0067"; +} + +.mdi-fruit-pineapple::before { + content: "\F0068"; +} + +.mdi-fruit-watermelon::before { + content: "\F0069"; +} + +.mdi-fuel::before { + content: "\F7C9"; +} + +.mdi-fullscreen::before { + content: "\F293"; +} + +.mdi-fullscreen-exit::before { + content: "\F294"; +} + +.mdi-function::before { + content: "\F295"; +} + +.mdi-function-variant::before { + content: "\F870"; +} + +.mdi-furigana-horizontal::before { + content: "\F00AC"; +} + +.mdi-furigana-vertical::before { + content: "\F00AD"; +} + +.mdi-fuse::before { + content: "\FC61"; +} + +.mdi-fuse-blade::before { + content: "\FC62"; +} + +.mdi-gamepad::before { + content: "\F296"; +} + +.mdi-gamepad-circle::before { + content: "\FE16"; +} + +.mdi-gamepad-circle-down::before { + content: "\FE17"; +} + +.mdi-gamepad-circle-left::before { + content: "\FE18"; +} + +.mdi-gamepad-circle-outline::before { + content: "\FE19"; +} + +.mdi-gamepad-circle-right::before { + content: "\FE1A"; +} + +.mdi-gamepad-circle-up::before { + content: "\FE1B"; +} + +.mdi-gamepad-down::before { + content: "\FE1C"; +} + +.mdi-gamepad-left::before { + content: "\FE1D"; +} + +.mdi-gamepad-right::before { + content: "\FE1E"; +} + +.mdi-gamepad-round::before { + content: "\FE1F"; +} + +.mdi-gamepad-round-down::before { + content: "\FE7E"; +} + +.mdi-gamepad-round-left::before { + content: "\FE7F"; +} + +.mdi-gamepad-round-outline::before { + content: "\FE80"; +} + +.mdi-gamepad-round-right::before { + content: "\FE81"; +} + +.mdi-gamepad-round-up::before { + content: "\FE82"; +} + +.mdi-gamepad-square::before { + content: "\FED2"; +} + +.mdi-gamepad-square-outline::before { + content: "\FED3"; +} + +.mdi-gamepad-up::before { + content: "\FE83"; +} + +.mdi-gamepad-variant::before { + content: "\F297"; +} + +.mdi-gamepad-variant-outline::before { + content: "\FED4"; +} + +.mdi-gamma::before { + content: "\F0119"; +} + +.mdi-gantry-crane::before { + content: "\FDAD"; +} + +.mdi-garage::before { + content: "\F6D8"; +} + +.mdi-garage-alert::before { + content: "\F871"; +} + +.mdi-garage-open::before { + content: "\F6D9"; +} + +.mdi-gas-cylinder::before { + content: "\F647"; +} + +.mdi-gas-station::before { + content: "\F298"; +} + +.mdi-gas-station-outline::before { + content: "\FED5"; +} + +.mdi-gate::before { + content: "\F299"; +} + +.mdi-gate-and::before { + content: "\F8E0"; +} + +.mdi-gate-arrow-right::before { + content: "\F0194"; +} + +.mdi-gate-nand::before { + content: "\F8E1"; +} + +.mdi-gate-nor::before { + content: "\F8E2"; +} + +.mdi-gate-not::before { + content: "\F8E3"; +} + +.mdi-gate-open::before { + content: "\F0195"; +} + +.mdi-gate-or::before { + content: "\F8E4"; +} + +.mdi-gate-xnor::before { + content: "\F8E5"; +} + +.mdi-gate-xor::before { + content: "\F8E6"; +} + +.mdi-gatsby::before { + content: "\FE84"; +} + +.mdi-gauge::before { + content: "\F29A"; +} + +.mdi-gauge-empty::before { + content: "\F872"; +} + +.mdi-gauge-full::before { + content: "\F873"; +} + +.mdi-gauge-low::before { + content: "\F874"; +} + +.mdi-gavel::before { + content: "\F29B"; +} + +.mdi-gender-female::before { + content: "\F29C"; +} + +.mdi-gender-male::before { + content: "\F29D"; +} + +.mdi-gender-male-female::before { + content: "\F29E"; +} + +.mdi-gender-male-female-variant::before { + content: "\F016A"; +} + +.mdi-gender-non-binary::before { + content: "\F016B"; +} + +.mdi-gender-transgender::before { + content: "\F29F"; +} + +.mdi-gentoo::before { + content: "\F8E7"; +} + +.mdi-gesture::before { + content: "\F7CA"; +} + +.mdi-gesture-double-tap::before { + content: "\F73B"; +} + +.mdi-gesture-pinch::before { + content: "\FABC"; +} + +.mdi-gesture-spread::before { + content: "\FABD"; +} + +.mdi-gesture-swipe::before { + content: "\FD52"; +} + +.mdi-gesture-swipe-down::before { + content: "\F73C"; +} + +.mdi-gesture-swipe-horizontal::before { + content: "\FABE"; +} + +.mdi-gesture-swipe-left::before { + content: "\F73D"; +} + +.mdi-gesture-swipe-right::before { + content: "\F73E"; +} + +.mdi-gesture-swipe-up::before { + content: "\F73F"; +} + +.mdi-gesture-swipe-vertical::before { + content: "\FABF"; +} + +.mdi-gesture-tap::before { + content: "\F740"; +} + +.mdi-gesture-tap-box::before { + content: "\F02D4"; +} + +.mdi-gesture-tap-button::before { + content: "\F02D3"; +} + +.mdi-gesture-tap-hold::before { + content: "\FD53"; +} + +.mdi-gesture-two-double-tap::before { + content: "\F741"; +} + +.mdi-gesture-two-tap::before { + content: "\F742"; +} + +.mdi-ghost::before { + content: "\F2A0"; +} + +.mdi-ghost-off::before { + content: "\F9F4"; +} + +.mdi-gif::before { + content: "\FD54"; +} + +.mdi-gift::before { + content: "\FE85"; +} + +.mdi-gift-outline::before { + content: "\F2A1"; +} + +.mdi-git::before { + content: "\F2A2"; +} + +.mdi-github-box::before { + content: "\F2A3"; +} + +.mdi-github-circle::before { + content: "\F2A4"; +} + +.mdi-github-face::before { + content: "\F6DA"; +} + +.mdi-gitlab::before { + content: "\FB7C"; +} + +.mdi-glass-cocktail::before { + content: "\F356"; +} + +.mdi-glass-flute::before { + content: "\F2A5"; +} + +.mdi-glass-mug::before { + content: "\F2A6"; +} + +.mdi-glass-mug-variant::before { + content: "\F0141"; +} + +.mdi-glass-stange::before { + content: "\F2A7"; +} + +.mdi-glass-tulip::before { + content: "\F2A8"; +} + +.mdi-glass-wine::before { + content: "\F875"; +} + +.mdi-glassdoor::before { + content: "\F2A9"; +} + +.mdi-glasses::before { + content: "\F2AA"; +} + +.mdi-globe-model::before { + content: "\F8E8"; +} + +.mdi-gmail::before { + content: "\F2AB"; +} + +.mdi-gnome::before { + content: "\F2AC"; +} + +.mdi-go-kart::before { + content: "\FD55"; +} + +.mdi-go-kart-track::before { + content: "\FD56"; +} + +.mdi-gog::before { + content: "\FB7D"; +} + +.mdi-gold::before { + content: "\F027A"; +} + +.mdi-golf::before { + content: "\F822"; +} + +.mdi-golf-cart::before { + content: "\F01CF"; +} + +.mdi-golf-tee::before { + content: "\F00AE"; +} + +.mdi-gondola::before { + content: "\F685"; +} + +.mdi-goodreads::before { + content: "\FD57"; +} + +.mdi-google::before { + content: "\F2AD"; +} + +.mdi-google-adwords::before { + content: "\FC63"; +} + +.mdi-google-analytics::before { + content: "\F7CB"; +} + +.mdi-google-assistant::before { + content: "\F7CC"; +} + +.mdi-google-cardboard::before { + content: "\F2AE"; +} + +.mdi-google-chrome::before { + content: "\F2AF"; +} + +.mdi-google-circles::before { + content: "\F2B0"; +} + +.mdi-google-circles-communities::before { + content: "\F2B1"; +} + +.mdi-google-circles-extended::before { + content: "\F2B2"; +} + +.mdi-google-circles-group::before { + content: "\F2B3"; +} + +.mdi-google-classroom::before { + content: "\F2C0"; +} + +.mdi-google-cloud::before { + content: "\F0221"; +} + +.mdi-google-controller::before { + content: "\F2B4"; +} + +.mdi-google-controller-off::before { + content: "\F2B5"; +} + +.mdi-google-drive::before { + content: "\F2B6"; +} + +.mdi-google-earth::before { + content: "\F2B7"; +} + +.mdi-google-fit::before { + content: "\F96B"; +} + +.mdi-google-glass::before { + content: "\F2B8"; +} + +.mdi-google-hangouts::before { + content: "\F2C9"; +} + +.mdi-google-home::before { + content: "\F823"; +} + +.mdi-google-keep::before { + content: "\F6DB"; +} + +.mdi-google-lens::before { + content: "\F9F5"; +} + +.mdi-google-maps::before { + content: "\F5F5"; +} + +.mdi-google-my-business::before { + content: "\F006A"; +} + +.mdi-google-nearby::before { + content: "\F2B9"; +} + +.mdi-google-pages::before { + content: "\F2BA"; +} + +.mdi-google-photos::before { + content: "\F6DC"; +} + +.mdi-google-physical-web::before { + content: "\F2BB"; +} + +.mdi-google-play::before { + content: "\F2BC"; +} + +.mdi-google-plus::before { + content: "\F2BD"; +} + +.mdi-google-plus-box::before { + content: "\F2BE"; +} + +.mdi-google-podcast::before { + content: "\FED6"; +} + +.mdi-google-spreadsheet::before { + content: "\F9F6"; +} + +.mdi-google-street-view::before { + content: "\FC64"; +} + +.mdi-google-translate::before { + content: "\F2BF"; +} + +.mdi-gradient::before { + content: "\F69F"; +} + +.mdi-grain::before { + content: "\FD58"; +} + +.mdi-graph::before { + content: "\F006B"; +} + +.mdi-graph-outline::before { + content: "\F006C"; +} + +.mdi-graphql::before { + content: "\F876"; +} + +.mdi-grave-stone::before { + content: "\FB7E"; +} + +.mdi-grease-pencil::before { + content: "\F648"; +} + +.mdi-greater-than::before { + content: "\F96C"; +} + +.mdi-greater-than-or-equal::before { + content: "\F96D"; +} + +.mdi-grid::before { + content: "\F2C1"; +} + +.mdi-grid-large::before { + content: "\F757"; +} + +.mdi-grid-off::before { + content: "\F2C2"; +} + +.mdi-grill::before { + content: "\FE86"; +} + +.mdi-grill-outline::before { + content: "\F01B5"; +} + +.mdi-group::before { + content: "\F2C3"; +} + +.mdi-guitar-acoustic::before { + content: "\F770"; +} + +.mdi-guitar-electric::before { + content: "\F2C4"; +} + +.mdi-guitar-pick::before { + content: "\F2C5"; +} + +.mdi-guitar-pick-outline::before { + content: "\F2C6"; +} + +.mdi-guy-fawkes-mask::before { + content: "\F824"; +} + +.mdi-hackernews::before { + content: "\F624"; +} + +.mdi-hail::before { + content: "\FAC0"; +} + +.mdi-hair-dryer::before { + content: "\F011A"; +} + +.mdi-hair-dryer-outline::before { + content: "\F011B"; +} + +.mdi-halloween::before { + content: "\FB7F"; +} + +.mdi-hamburger::before { + content: "\F684"; +} + +.mdi-hammer::before { + content: "\F8E9"; +} + +.mdi-hand::before { + content: "\FA4E"; +} + +.mdi-hand-heart::before { + content: "\F011C"; +} + +.mdi-hand-left::before { + content: "\FE87"; +} + +.mdi-hand-okay::before { + content: "\FA4F"; +} + +.mdi-hand-peace::before { + content: "\FA50"; +} + +.mdi-hand-peace-variant::before { + content: "\FA51"; +} + +.mdi-hand-pointing-down::before { + content: "\FA52"; +} + +.mdi-hand-pointing-left::before { + content: "\FA53"; +} + +.mdi-hand-pointing-right::before { + content: "\F2C7"; +} + +.mdi-hand-pointing-up::before { + content: "\FA54"; +} + +.mdi-hand-right::before { + content: "\FE88"; +} + +.mdi-hand-saw::before { + content: "\FE89"; +} + +.mdi-handball::before { + content: "\FF70"; +} + +.mdi-handcuffs::before { + content: "\F0169"; +} + +.mdi-handshake::before { + content: "\F0243"; +} + +.mdi-hanger::before { + content: "\F2C8"; +} + +.mdi-hard-hat::before { + content: "\F96E"; +} + +.mdi-harddisk::before { + content: "\F2CA"; +} + +.mdi-harddisk-plus::before { + content: "\F006D"; +} + +.mdi-harddisk-remove::before { + content: "\F006E"; +} + +.mdi-hat-fedora::before { + content: "\FB80"; +} + +.mdi-hazard-lights::before { + content: "\FC65"; +} + +.mdi-hdr::before { + content: "\FD59"; +} + +.mdi-hdr-off::before { + content: "\FD5A"; +} + +.mdi-headphones::before { + content: "\F2CB"; +} + +.mdi-headphones-bluetooth::before { + content: "\F96F"; +} + +.mdi-headphones-box::before { + content: "\F2CC"; +} + +.mdi-headphones-off::before { + content: "\F7CD"; +} + +.mdi-headphones-settings::before { + content: "\F2CD"; +} + +.mdi-headset::before { + content: "\F2CE"; +} + +.mdi-headset-dock::before { + content: "\F2CF"; +} + +.mdi-headset-off::before { + content: "\F2D0"; +} + +.mdi-heart::before { + content: "\F2D1"; +} + +.mdi-heart-box::before { + content: "\F2D2"; +} + +.mdi-heart-box-outline::before { + content: "\F2D3"; +} + +.mdi-heart-broken::before { + content: "\F2D4"; +} + +.mdi-heart-broken-outline::before { + content: "\FCF0"; +} + +.mdi-heart-circle::before { + content: "\F970"; +} + +.mdi-heart-circle-outline::before { + content: "\F971"; +} + +.mdi-heart-flash::before { + content: "\FF16"; +} + +.mdi-heart-half::before { + content: "\F6DE"; +} + +.mdi-heart-half-full::before { + content: "\F6DD"; +} + +.mdi-heart-half-outline::before { + content: "\F6DF"; +} + +.mdi-heart-multiple::before { + content: "\FA55"; +} + +.mdi-heart-multiple-outline::before { + content: "\FA56"; +} + +.mdi-heart-off::before { + content: "\F758"; +} + +.mdi-heart-outline::before { + content: "\F2D5"; +} + +.mdi-heart-pulse::before { + content: "\F5F6"; +} + +.mdi-helicopter::before { + content: "\FAC1"; +} + +.mdi-help::before { + content: "\F2D6"; +} + +.mdi-help-box::before { + content: "\F78A"; +} + +.mdi-help-circle::before { + content: "\F2D7"; +} + +.mdi-help-circle-outline::before { + content: "\F625"; +} + +.mdi-help-network::before { + content: "\F6F4"; +} + +.mdi-help-network-outline::before { + content: "\FC66"; +} + +.mdi-help-rhombus::before { + content: "\FB81"; +} + +.mdi-help-rhombus-outline::before { + content: "\FB82"; +} + +.mdi-hexadecimal::before { + content: "\F02D2"; +} + +.mdi-hexagon::before { + content: "\F2D8"; +} + +.mdi-hexagon-multiple::before { + content: "\F6E0"; +} + +.mdi-hexagon-multiple-outline::before { + content: "\F011D"; +} + +.mdi-hexagon-outline::before { + content: "\F2D9"; +} + +.mdi-hexagon-slice-1::before { + content: "\FAC2"; +} + +.mdi-hexagon-slice-2::before { + content: "\FAC3"; +} + +.mdi-hexagon-slice-3::before { + content: "\FAC4"; +} + +.mdi-hexagon-slice-4::before { + content: "\FAC5"; +} + +.mdi-hexagon-slice-5::before { + content: "\FAC6"; +} + +.mdi-hexagon-slice-6::before { + content: "\FAC7"; +} + +.mdi-hexagram::before { + content: "\FAC8"; +} + +.mdi-hexagram-outline::before { + content: "\FAC9"; +} + +.mdi-high-definition::before { + content: "\F7CE"; +} + +.mdi-high-definition-box::before { + content: "\F877"; +} + +.mdi-highway::before { + content: "\F5F7"; +} + +.mdi-hiking::before { + content: "\FD5B"; +} + +.mdi-hinduism::before { + content: "\F972"; +} + +.mdi-history::before { + content: "\F2DA"; +} + +.mdi-hockey-puck::before { + content: "\F878"; +} + +.mdi-hockey-sticks::before { + content: "\F879"; +} + +.mdi-hololens::before { + content: "\F2DB"; +} + +.mdi-home::before { + content: "\F2DC"; +} + +.mdi-home-account::before { + content: "\F825"; +} + +.mdi-home-alert::before { + content: "\F87A"; +} + +.mdi-home-analytics::before { + content: "\FED7"; +} + +.mdi-home-assistant::before { + content: "\F7CF"; +} + +.mdi-home-automation::before { + content: "\F7D0"; +} + +.mdi-home-circle::before { + content: "\F7D1"; +} + +.mdi-home-circle-outline::before { + content: "\F006F"; +} + +.mdi-home-city::before { + content: "\FCF1"; +} + +.mdi-home-city-outline::before { + content: "\FCF2"; +} + +.mdi-home-currency-usd::before { + content: "\F8AE"; +} + +.mdi-home-edit::before { + content: "\F0184"; +} + +.mdi-home-edit-outline::before { + content: "\F0185"; +} + +.mdi-home-export-outline::before { + content: "\FFB8"; +} + +.mdi-home-flood::before { + content: "\FF17"; +} + +.mdi-home-floor-0::before { + content: "\FDAE"; +} + +.mdi-home-floor-1::before { + content: "\FD5C"; +} + +.mdi-home-floor-2::before { + content: "\FD5D"; +} + +.mdi-home-floor-3::before { + content: "\FD5E"; +} + +.mdi-home-floor-a::before { + content: "\FD5F"; +} + +.mdi-home-floor-b::before { + content: "\FD60"; +} + +.mdi-home-floor-g::before { + content: "\FD61"; +} + +.mdi-home-floor-l::before { + content: "\FD62"; +} + +.mdi-home-floor-negative-1::before { + content: "\FDAF"; +} + +.mdi-home-group::before { + content: "\FDB0"; +} + +.mdi-home-heart::before { + content: "\F826"; +} + +.mdi-home-import-outline::before { + content: "\FFB9"; +} + +.mdi-home-lightbulb::before { + content: "\F027C"; +} + +.mdi-home-lightbulb-outline::before { + content: "\F027D"; +} + +.mdi-home-lock::before { + content: "\F8EA"; +} + +.mdi-home-lock-open::before { + content: "\F8EB"; +} + +.mdi-home-map-marker::before { + content: "\F5F8"; +} + +.mdi-home-minus::before { + content: "\F973"; +} + +.mdi-home-modern::before { + content: "\F2DD"; +} + +.mdi-home-outline::before { + content: "\F6A0"; +} + +.mdi-home-plus::before { + content: "\F974"; +} + +.mdi-home-remove::before { + content: "\F0272"; +} + +.mdi-home-roof::before { + content: "\F0156"; +} + +.mdi-home-thermometer::before { + content: "\FF71"; +} + +.mdi-home-thermometer-outline::before { + content: "\FF72"; +} + +.mdi-home-variant::before { + content: "\F2DE"; +} + +.mdi-home-variant-outline::before { + content: "\FB83"; +} + +.mdi-hook::before { + content: "\F6E1"; +} + +.mdi-hook-off::before { + content: "\F6E2"; +} + +.mdi-hops::before { + content: "\F2DF"; +} + +.mdi-horizontal-rotate-clockwise::before { + content: "\F011E"; +} + +.mdi-horizontal-rotate-counterclockwise::before { + content: "\F011F"; +} + +.mdi-horseshoe::before { + content: "\FA57"; +} + +.mdi-hospital::before { + content: "\F0017"; +} + +.mdi-hospital-box::before { + content: "\F2E0"; +} + +.mdi-hospital-box-outline::before { + content: "\F0018"; +} + +.mdi-hospital-building::before { + content: "\F2E1"; +} + +.mdi-hospital-marker::before { + content: "\F2E2"; +} + +.mdi-hot-tub::before { + content: "\F827"; +} + +.mdi-hotel::before { + content: "\F2E3"; +} + +.mdi-houzz::before { + content: "\F2E4"; +} + +.mdi-houzz-box::before { + content: "\F2E5"; +} + +.mdi-hubspot::before { + content: "\FCF3"; +} + +.mdi-hulu::before { + content: "\F828"; +} + +.mdi-human::before { + content: "\F2E6"; +} + +.mdi-human-child::before { + content: "\F2E7"; +} + +.mdi-human-female::before { + content: "\F649"; +} + +.mdi-human-female-boy::before { + content: "\FA58"; +} + +.mdi-human-female-female::before { + content: "\FA59"; +} + +.mdi-human-female-girl::before { + content: "\FA5A"; +} + +.mdi-human-greeting::before { + content: "\F64A"; +} + +.mdi-human-handsdown::before { + content: "\F64B"; +} + +.mdi-human-handsup::before { + content: "\F64C"; +} + +.mdi-human-male::before { + content: "\F64D"; +} + +.mdi-human-male-boy::before { + content: "\FA5B"; +} + +.mdi-human-male-female::before { + content: "\F2E8"; +} + +.mdi-human-male-girl::before { + content: "\FA5C"; +} + +.mdi-human-male-height::before { + content: "\FF18"; +} + +.mdi-human-male-height-variant::before { + content: "\FF19"; +} + +.mdi-human-male-male::before { + content: "\FA5D"; +} + +.mdi-human-pregnant::before { + content: "\F5CF"; +} + +.mdi-humble-bundle::before { + content: "\F743"; +} + +.mdi-ice-cream::before { + content: "\F829"; +} + +.mdi-ice-pop::before { + content: "\FF1A"; +} + +.mdi-id-card::before { + content: "\FFE0"; +} + +.mdi-identifier::before { + content: "\FF1B"; +} + +.mdi-iframe::before { + content: "\FC67"; +} + +.mdi-iframe-array::before { + content: "\F0120"; +} + +.mdi-iframe-array-outline::before { + content: "\F0121"; +} + +.mdi-iframe-braces::before { + content: "\F0122"; +} + +.mdi-iframe-braces-outline::before { + content: "\F0123"; +} + +.mdi-iframe-outline::before { + content: "\FC68"; +} + +.mdi-iframe-parentheses::before { + content: "\F0124"; +} + +.mdi-iframe-parentheses-outline::before { + content: "\F0125"; +} + +.mdi-iframe-variable::before { + content: "\F0126"; +} + +.mdi-iframe-variable-outline::before { + content: "\F0127"; +} + +.mdi-image::before { + content: "\F2E9"; +} + +.mdi-image-album::before { + content: "\F2EA"; +} + +.mdi-image-area::before { + content: "\F2EB"; +} + +.mdi-image-area-close::before { + content: "\F2EC"; +} + +.mdi-image-auto-adjust::before { + content: "\FFE1"; +} + +.mdi-image-broken::before { + content: "\F2ED"; +} + +.mdi-image-broken-variant::before { + content: "\F2EE"; +} + +.mdi-image-edit::before { + content: "\F020E"; +} + +.mdi-image-edit-outline::before { + content: "\F020F"; +} + +.mdi-image-filter::before { + content: "\F2EF"; +} + +.mdi-image-filter-black-white::before { + content: "\F2F0"; +} + +.mdi-image-filter-center-focus::before { + content: "\F2F1"; +} + +.mdi-image-filter-center-focus-strong::before { + content: "\FF1C"; +} + +.mdi-image-filter-center-focus-strong-outline::before { + content: "\FF1D"; +} + +.mdi-image-filter-center-focus-weak::before { + content: "\F2F2"; +} + +.mdi-image-filter-drama::before { + content: "\F2F3"; +} + +.mdi-image-filter-frames::before { + content: "\F2F4"; +} + +.mdi-image-filter-hdr::before { + content: "\F2F5"; +} + +.mdi-image-filter-none::before { + content: "\F2F6"; +} + +.mdi-image-filter-tilt-shift::before { + content: "\F2F7"; +} + +.mdi-image-filter-vintage::before { + content: "\F2F8"; +} + +.mdi-image-frame::before { + content: "\FE8A"; +} + +.mdi-image-move::before { + content: "\F9F7"; +} + +.mdi-image-multiple::before { + content: "\F2F9"; +} + +.mdi-image-off::before { + content: "\F82A"; +} + +.mdi-image-off-outline::before { + content: "\F01FC"; +} + +.mdi-image-outline::before { + content: "\F975"; +} + +.mdi-image-plus::before { + content: "\F87B"; +} + +.mdi-image-search::before { + content: "\F976"; +} + +.mdi-image-search-outline::before { + content: "\F977"; +} + +.mdi-image-size-select-actual::before { + content: "\FC69"; +} + +.mdi-image-size-select-large::before { + content: "\FC6A"; +} + +.mdi-image-size-select-small::before { + content: "\FC6B"; +} + +.mdi-import::before { + content: "\F2FA"; +} + +.mdi-inbox::before { + content: "\F686"; +} + +.mdi-inbox-arrow-down::before { + content: "\F2FB"; +} + +.mdi-inbox-arrow-down-outline::before { + content: "\F029B"; +} + +.mdi-inbox-arrow-up::before { + content: "\F3D1"; +} + +.mdi-inbox-arrow-up-outline::before { + content: "\F029C"; +} + +.mdi-inbox-full::before { + content: "\F029D"; +} + +.mdi-inbox-full-outline::before { + content: "\F029E"; +} + +.mdi-inbox-multiple::before { + content: "\F8AF"; +} + +.mdi-inbox-multiple-outline::before { + content: "\FB84"; +} + +.mdi-inbox-outline::before { + content: "\F029F"; +} + +.mdi-incognito::before { + content: "\F5F9"; +} + +.mdi-infinity::before { + content: "\F6E3"; +} + +.mdi-information::before { + content: "\F2FC"; +} + +.mdi-information-outline::before { + content: "\F2FD"; +} + +.mdi-information-variant::before { + content: "\F64E"; +} + +.mdi-instagram::before { + content: "\F2FE"; +} + +.mdi-instapaper::before { + content: "\F2FF"; +} + +.mdi-instrument-triangle::before { + content: "\F0070"; +} + +.mdi-internet-explorer::before { + content: "\F300"; +} + +.mdi-invert-colors::before { + content: "\F301"; +} + +.mdi-invert-colors-off::before { + content: "\FE8B"; +} + +.mdi-ip::before { + content: "\FA5E"; +} + +.mdi-ip-network::before { + content: "\FA5F"; +} + +.mdi-ip-network-outline::before { + content: "\FC6C"; +} + +.mdi-ipod::before { + content: "\FC6D"; +} + +.mdi-islam::before { + content: "\F978"; +} + +.mdi-island::before { + content: "\F0071"; +} + +.mdi-itunes::before { + content: "\F676"; +} + +.mdi-iv-bag::before { + content: "\F00E4"; +} + +.mdi-jabber::before { + content: "\FDB1"; +} + +.mdi-jeepney::before { + content: "\F302"; +} + +.mdi-jellyfish::before { + content: "\FF1E"; +} + +.mdi-jellyfish-outline::before { + content: "\FF1F"; +} + +.mdi-jira::before { + content: "\F303"; +} + +.mdi-jquery::before { + content: "\F87C"; +} + +.mdi-jsfiddle::before { + content: "\F304"; +} + +.mdi-json::before { + content: "\F626"; +} + +.mdi-judaism::before { + content: "\F979"; +} + +.mdi-kabaddi::before { + content: "\FD63"; +} + +.mdi-karate::before { + content: "\F82B"; +} + +.mdi-keg::before { + content: "\F305"; +} + +.mdi-kettle::before { + content: "\F5FA"; +} + +.mdi-kettle-outline::before { + content: "\FF73"; +} + +.mdi-key::before { + content: "\F306"; +} + +.mdi-key-change::before { + content: "\F307"; +} + +.mdi-key-link::before { + content: "\F01CA"; +} + +.mdi-key-minus::before { + content: "\F308"; +} + +.mdi-key-outline::before { + content: "\FDB2"; +} + +.mdi-key-plus::before { + content: "\F309"; +} + +.mdi-key-remove::before { + content: "\F30A"; +} + +.mdi-key-star::before { + content: "\F01C9"; +} + +.mdi-key-variant::before { + content: "\F30B"; +} + +.mdi-key-wireless::before { + content: "\FFE2"; +} + +.mdi-keyboard::before { + content: "\F30C"; +} + +.mdi-keyboard-backspace::before { + content: "\F30D"; +} + +.mdi-keyboard-caps::before { + content: "\F30E"; +} + +.mdi-keyboard-close::before { + content: "\F30F"; +} + +.mdi-keyboard-esc::before { + content: "\F02E2"; +} + +.mdi-keyboard-f1::before { + content: "\F02D6"; +} + +.mdi-keyboard-f10::before { + content: "\F02DF"; +} + +.mdi-keyboard-f11::before { + content: "\F02E0"; +} + +.mdi-keyboard-f12::before { + content: "\F02E1"; +} + +.mdi-keyboard-f2::before { + content: "\F02D7"; +} + +.mdi-keyboard-f3::before { + content: "\F02D8"; +} + +.mdi-keyboard-f4::before { + content: "\F02D9"; +} + +.mdi-keyboard-f5::before { + content: "\F02DA"; +} + +.mdi-keyboard-f6::before { + content: "\F02DB"; +} + +.mdi-keyboard-f7::before { + content: "\F02DC"; +} + +.mdi-keyboard-f8::before { + content: "\F02DD"; +} + +.mdi-keyboard-f9::before { + content: "\F02DE"; +} + +.mdi-keyboard-off::before { + content: "\F310"; +} + +.mdi-keyboard-off-outline::before { + content: "\FE8C"; +} + +.mdi-keyboard-outline::before { + content: "\F97A"; +} + +.mdi-keyboard-return::before { + content: "\F311"; +} + +.mdi-keyboard-settings::before { + content: "\F9F8"; +} + +.mdi-keyboard-settings-outline::before { + content: "\F9F9"; +} + +.mdi-keyboard-space::before { + content: "\F0072"; +} + +.mdi-keyboard-tab::before { + content: "\F312"; +} + +.mdi-keyboard-variant::before { + content: "\F313"; +} + +.mdi-khanda::before { + content: "\F0128"; +} + +.mdi-kickstarter::before { + content: "\F744"; +} + +.mdi-knife::before { + content: "\F9FA"; +} + +.mdi-knife-military::before { + content: "\F9FB"; +} + +.mdi-kodi::before { + content: "\F314"; +} + +.mdi-kotlin::before { + content: "\F0244"; +} + +.mdi-kubernetes::before { + content: "\F0129"; +} + +.mdi-label::before { + content: "\F315"; +} + +.mdi-label-off::before { + content: "\FACA"; +} + +.mdi-label-off-outline::before { + content: "\FACB"; +} + +.mdi-label-outline::before { + content: "\F316"; +} + +.mdi-label-variant::before { + content: "\FACC"; +} + +.mdi-label-variant-outline::before { + content: "\FACD"; +} + +.mdi-ladybug::before { + content: "\F82C"; +} + +.mdi-lambda::before { + content: "\F627"; +} + +.mdi-lamp::before { + content: "\F6B4"; +} + +.mdi-lan::before { + content: "\F317"; +} + +.mdi-lan-check::before { + content: "\F02D5"; +} + +.mdi-lan-connect::before { + content: "\F318"; +} + +.mdi-lan-disconnect::before { + content: "\F319"; +} + +.mdi-lan-pending::before { + content: "\F31A"; +} + +.mdi-language-c::before { + content: "\F671"; +} + +.mdi-language-cpp::before { + content: "\F672"; +} + +.mdi-language-csharp::before { + content: "\F31B"; +} + +.mdi-language-css3::before { + content: "\F31C"; +} + +.mdi-language-fortran::before { + content: "\F0245"; +} + +.mdi-language-go::before { + content: "\F7D2"; +} + +.mdi-language-haskell::before { + content: "\FC6E"; +} + +.mdi-language-html5::before { + content: "\F31D"; +} + +.mdi-language-java::before { + content: "\FB1C"; +} + +.mdi-language-javascript::before { + content: "\F31E"; +} + +.mdi-language-lua::before { + content: "\F8B0"; +} + +.mdi-language-php::before { + content: "\F31F"; +} + +.mdi-language-python::before { + content: "\F320"; +} + +.mdi-language-python-text::before { + content: "\F321"; +} + +.mdi-language-r::before { + content: "\F7D3"; +} + +.mdi-language-ruby-on-rails::before { + content: "\FACE"; +} + +.mdi-language-swift::before { + content: "\F6E4"; +} + +.mdi-language-typescript::before { + content: "\F6E5"; +} + +.mdi-laptop::before { + content: "\F322"; +} + +.mdi-laptop-chromebook::before { + content: "\F323"; +} + +.mdi-laptop-mac::before { + content: "\F324"; +} + +.mdi-laptop-off::before { + content: "\F6E6"; +} + +.mdi-laptop-windows::before { + content: "\F325"; +} + +.mdi-laravel::before { + content: "\FACF"; +} + +.mdi-lasso::before { + content: "\FF20"; +} + +.mdi-lastfm::before { + content: "\F326"; +} + +.mdi-lastpass::before { + content: "\F446"; +} + +.mdi-latitude::before { + content: "\FF74"; +} + +.mdi-launch::before { + content: "\F327"; +} + +.mdi-lava-lamp::before { + content: "\F7D4"; +} + +.mdi-layers::before { + content: "\F328"; +} + +.mdi-layers-minus::before { + content: "\FE8D"; +} + +.mdi-layers-off::before { + content: "\F329"; +} + +.mdi-layers-off-outline::before { + content: "\F9FC"; +} + +.mdi-layers-outline::before { + content: "\F9FD"; +} + +.mdi-layers-plus::before { + content: "\FE30"; +} + +.mdi-layers-remove::before { + content: "\FE31"; +} + +.mdi-layers-search::before { + content: "\F0231"; +} + +.mdi-layers-search-outline::before { + content: "\F0232"; +} + +.mdi-layers-triple::before { + content: "\FF75"; +} + +.mdi-layers-triple-outline::before { + content: "\FF76"; +} + +.mdi-lead-pencil::before { + content: "\F64F"; +} + +.mdi-leaf::before { + content: "\F32A"; +} + +.mdi-leaf-maple::before { + content: "\FC6F"; +} + +.mdi-leak::before { + content: "\FDB3"; +} + +.mdi-leak-off::before { + content: "\FDB4"; +} + +.mdi-led-off::before { + content: "\F32B"; +} + +.mdi-led-on::before { + content: "\F32C"; +} + +.mdi-led-outline::before { + content: "\F32D"; +} + +.mdi-led-strip::before { + content: "\F7D5"; +} + +.mdi-led-strip-variant::before { + content: "\F0073"; +} + +.mdi-led-variant-off::before { + content: "\F32E"; +} + +.mdi-led-variant-on::before { + content: "\F32F"; +} + +.mdi-led-variant-outline::before { + content: "\F330"; +} + +.mdi-leek::before { + content: "\F01A8"; +} + +.mdi-less-than::before { + content: "\F97B"; +} + +.mdi-less-than-or-equal::before { + content: "\F97C"; +} + +.mdi-library::before { + content: "\F331"; +} + +.mdi-library-books::before { + content: "\F332"; +} + +.mdi-library-movie::before { + content: "\FCF4"; +} + +.mdi-library-music::before { + content: "\F333"; +} + +.mdi-library-music-outline::before { + content: "\FF21"; +} + +.mdi-library-shelves::before { + content: "\FB85"; +} + +.mdi-library-video::before { + content: "\FCF5"; +} + +.mdi-license::before { + content: "\FFE3"; +} + +.mdi-lifebuoy::before { + content: "\F87D"; +} + +.mdi-light-switch::before { + content: "\F97D"; +} + +.mdi-lightbulb::before { + content: "\F335"; +} + +.mdi-lightbulb-cfl::before { + content: "\F0233"; +} + +.mdi-lightbulb-cfl-off::before { + content: "\F0234"; +} + +.mdi-lightbulb-cfl-spiral::before { + content: "\F02A0"; +} + +.mdi-lightbulb-group::before { + content: "\F027E"; +} + +.mdi-lightbulb-group-outline::before { + content: "\F027F"; +} + +.mdi-lightbulb-multiple::before { + content: "\F0280"; +} + +.mdi-lightbulb-multiple-outline::before { + content: "\F0281"; +} + +.mdi-lightbulb-off::before { + content: "\FE32"; +} + +.mdi-lightbulb-off-outline::before { + content: "\FE33"; +} + +.mdi-lightbulb-on::before { + content: "\F6E7"; +} + +.mdi-lightbulb-on-outline::before { + content: "\F6E8"; +} + +.mdi-lightbulb-outline::before { + content: "\F336"; +} + +.mdi-lighthouse::before { + content: "\F9FE"; +} + +.mdi-lighthouse-on::before { + content: "\F9FF"; +} + +.mdi-link::before { + content: "\F337"; +} + +.mdi-link-box::before { + content: "\FCF6"; +} + +.mdi-link-box-outline::before { + content: "\FCF7"; +} + +.mdi-link-box-variant::before { + content: "\FCF8"; +} + +.mdi-link-box-variant-outline::before { + content: "\FCF9"; +} + +.mdi-link-lock::before { + content: "\F00E5"; +} + +.mdi-link-off::before { + content: "\F338"; +} + +.mdi-link-plus::before { + content: "\FC70"; +} + +.mdi-link-variant::before { + content: "\F339"; +} + +.mdi-link-variant-minus::before { + content: "\F012A"; +} + +.mdi-link-variant-off::before { + content: "\F33A"; +} + +.mdi-link-variant-plus::before { + content: "\F012B"; +} + +.mdi-link-variant-remove::before { + content: "\F012C"; +} + +.mdi-linkedin::before { + content: "\F33B"; +} + +.mdi-linkedin-box::before { + content: "\F33C"; +} + +.mdi-linux::before { + content: "\F33D"; +} + +.mdi-linux-mint::before { + content: "\F8EC"; +} + +.mdi-litecoin::before { + content: "\FA60"; +} + +.mdi-loading::before { + content: "\F771"; +} + +.mdi-location-enter::before { + content: "\FFE4"; +} + +.mdi-location-exit::before { + content: "\FFE5"; +} + +.mdi-lock::before { + content: "\F33E"; +} + +.mdi-lock-alert::before { + content: "\F8ED"; +} + +.mdi-lock-clock::before { + content: "\F97E"; +} + +.mdi-lock-open::before { + content: "\F33F"; +} + +.mdi-lock-open-outline::before { + content: "\F340"; +} + +.mdi-lock-open-variant::before { + content: "\FFE6"; +} + +.mdi-lock-open-variant-outline::before { + content: "\FFE7"; +} + +.mdi-lock-outline::before { + content: "\F341"; +} + +.mdi-lock-pattern::before { + content: "\F6E9"; +} + +.mdi-lock-plus::before { + content: "\F5FB"; +} + +.mdi-lock-question::before { + content: "\F8EE"; +} + +.mdi-lock-reset::before { + content: "\F772"; +} + +.mdi-lock-smart::before { + content: "\F8B1"; +} + +.mdi-locker::before { + content: "\F7D6"; +} + +.mdi-locker-multiple::before { + content: "\F7D7"; +} + +.mdi-login::before { + content: "\F342"; +} + +.mdi-login-variant::before { + content: "\F5FC"; +} + +.mdi-logout::before { + content: "\F343"; +} + +.mdi-logout-variant::before { + content: "\F5FD"; +} + +.mdi-longitude::before { + content: "\FF77"; +} + +.mdi-looks::before { + content: "\F344"; +} + +.mdi-loupe::before { + content: "\F345"; +} + +.mdi-lumx::before { + content: "\F346"; +} + +.mdi-lungs::before { + content: "\F00AF"; +} + +.mdi-lyft::before { + content: "\FB1D"; +} + +.mdi-magnet::before { + content: "\F347"; +} + +.mdi-magnet-on::before { + content: "\F348"; +} + +.mdi-magnify::before { + content: "\F349"; +} + +.mdi-magnify-close::before { + content: "\F97F"; +} + +.mdi-magnify-minus::before { + content: "\F34A"; +} + +.mdi-magnify-minus-cursor::before { + content: "\FA61"; +} + +.mdi-magnify-minus-outline::before { + content: "\F6EB"; +} + +.mdi-magnify-plus::before { + content: "\F34B"; +} + +.mdi-magnify-plus-cursor::before { + content: "\FA62"; +} + +.mdi-magnify-plus-outline::before { + content: "\F6EC"; +} + +.mdi-magnify-remove-cursor::before { + content: "\F0237"; +} + +.mdi-magnify-remove-outline::before { + content: "\F0238"; +} + +.mdi-magnify-scan::before { + content: "\F02A1"; +} + +.mdi-mail::before { + content: "\FED8"; +} + +.mdi-mail-ru::before { + content: "\F34C"; +} + +.mdi-mailbox::before { + content: "\F6ED"; +} + +.mdi-mailbox-open::before { + content: "\FD64"; +} + +.mdi-mailbox-open-outline::before { + content: "\FD65"; +} + +.mdi-mailbox-open-up::before { + content: "\FD66"; +} + +.mdi-mailbox-open-up-outline::before { + content: "\FD67"; +} + +.mdi-mailbox-outline::before { + content: "\FD68"; +} + +.mdi-mailbox-up::before { + content: "\FD69"; +} + +.mdi-mailbox-up-outline::before { + content: "\FD6A"; +} + +.mdi-map::before { + content: "\F34D"; +} + +.mdi-map-check::before { + content: "\FED9"; +} + +.mdi-map-check-outline::before { + content: "\FEDA"; +} + +.mdi-map-clock::before { + content: "\FCFA"; +} + +.mdi-map-clock-outline::before { + content: "\FCFB"; +} + +.mdi-map-legend::before { + content: "\FA00"; +} + +.mdi-map-marker::before { + content: "\F34E"; +} + +.mdi-map-marker-alert::before { + content: "\FF22"; +} + +.mdi-map-marker-alert-outline::before { + content: "\FF23"; +} + +.mdi-map-marker-check::before { + content: "\FC71"; +} + +.mdi-map-marker-circle::before { + content: "\F34F"; +} + +.mdi-map-marker-distance::before { + content: "\F8EF"; +} + +.mdi-map-marker-down::before { + content: "\F012D"; +} + +.mdi-map-marker-minus::before { + content: "\F650"; +} + +.mdi-map-marker-multiple::before { + content: "\F350"; +} + +.mdi-map-marker-multiple-outline::before { + content: "\F02A2"; +} + +.mdi-map-marker-off::before { + content: "\F351"; +} + +.mdi-map-marker-outline::before { + content: "\F7D8"; +} + +.mdi-map-marker-path::before { + content: "\FCFC"; +} + +.mdi-map-marker-plus::before { + content: "\F651"; +} + +.mdi-map-marker-question::before { + content: "\FF24"; +} + +.mdi-map-marker-question-outline::before { + content: "\FF25"; +} + +.mdi-map-marker-radius::before { + content: "\F352"; +} + +.mdi-map-marker-remove::before { + content: "\FF26"; +} + +.mdi-map-marker-remove-variant::before { + content: "\FF27"; +} + +.mdi-map-marker-up::before { + content: "\F012E"; +} + +.mdi-map-minus::before { + content: "\F980"; +} + +.mdi-map-outline::before { + content: "\F981"; +} + +.mdi-map-plus::before { + content: "\F982"; +} + +.mdi-map-search::before { + content: "\F983"; +} + +.mdi-map-search-outline::before { + content: "\F984"; +} + +.mdi-mapbox::before { + content: "\FB86"; +} + +.mdi-margin::before { + content: "\F353"; +} + +.mdi-markdown::before { + content: "\F354"; +} + +.mdi-markdown-outline::before { + content: "\FF78"; +} + +.mdi-marker::before { + content: "\F652"; +} + +.mdi-marker-cancel::before { + content: "\FDB5"; +} + +.mdi-marker-check::before { + content: "\F355"; +} + +.mdi-mastodon::before { + content: "\FAD0"; +} + +.mdi-mastodon-variant::before { + content: "\FAD1"; +} + +.mdi-material-design::before { + content: "\F985"; +} + +.mdi-material-ui::before { + content: "\F357"; +} + +.mdi-math-compass::before { + content: "\F358"; +} + +.mdi-math-cos::before { + content: "\FC72"; +} + +.mdi-math-integral::before { + content: "\FFE8"; +} + +.mdi-math-integral-box::before { + content: "\FFE9"; +} + +.mdi-math-log::before { + content: "\F00B0"; +} + +.mdi-math-norm::before { + content: "\FFEA"; +} + +.mdi-math-norm-box::before { + content: "\FFEB"; +} + +.mdi-math-sin::before { + content: "\FC73"; +} + +.mdi-math-tan::before { + content: "\FC74"; +} + +.mdi-matrix::before { + content: "\F628"; +} + +.mdi-maxcdn::before { + content: "\F359"; +} + +.mdi-medal::before { + content: "\F986"; +} + +.mdi-medical-bag::before { + content: "\F6EE"; +} + +.mdi-meditation::before { + content: "\F01A6"; +} + +.mdi-medium::before { + content: "\F35A"; +} + +.mdi-meetup::before { + content: "\FAD2"; +} + +.mdi-memory::before { + content: "\F35B"; +} + +.mdi-menu::before { + content: "\F35C"; +} + +.mdi-menu-down::before { + content: "\F35D"; +} + +.mdi-menu-down-outline::before { + content: "\F6B5"; +} + +.mdi-menu-left::before { + content: "\F35E"; +} + +.mdi-menu-left-outline::before { + content: "\FA01"; +} + +.mdi-menu-open::before { + content: "\FB87"; +} + +.mdi-menu-right::before { + content: "\F35F"; +} + +.mdi-menu-right-outline::before { + content: "\FA02"; +} + +.mdi-menu-swap::before { + content: "\FA63"; +} + +.mdi-menu-swap-outline::before { + content: "\FA64"; +} + +.mdi-menu-up::before { + content: "\F360"; +} + +.mdi-menu-up-outline::before { + content: "\F6B6"; +} + +.mdi-merge::before { + content: "\FF79"; +} + +.mdi-message::before { + content: "\F361"; +} + +.mdi-message-alert::before { + content: "\F362"; +} + +.mdi-message-alert-outline::before { + content: "\FA03"; +} + +.mdi-message-bulleted::before { + content: "\F6A1"; +} + +.mdi-message-bulleted-off::before { + content: "\F6A2"; +} + +.mdi-message-draw::before { + content: "\F363"; +} + +.mdi-message-image::before { + content: "\F364"; +} + +.mdi-message-image-outline::before { + content: "\F0197"; +} + +.mdi-message-lock::before { + content: "\FFEC"; +} + +.mdi-message-lock-outline::before { + content: "\F0198"; +} + +.mdi-message-minus::before { + content: "\F0199"; +} + +.mdi-message-minus-outline::before { + content: "\F019A"; +} + +.mdi-message-outline::before { + content: "\F365"; +} + +.mdi-message-plus::before { + content: "\F653"; +} + +.mdi-message-plus-outline::before { + content: "\F00E6"; +} + +.mdi-message-processing::before { + content: "\F366"; +} + +.mdi-message-processing-outline::before { + content: "\F019B"; +} + +.mdi-message-reply::before { + content: "\F367"; +} + +.mdi-message-reply-text::before { + content: "\F368"; +} + +.mdi-message-settings::before { + content: "\F6EF"; +} + +.mdi-message-settings-outline::before { + content: "\F019C"; +} + +.mdi-message-settings-variant::before { + content: "\F6F0"; +} + +.mdi-message-settings-variant-outline::before { + content: "\F019D"; +} + +.mdi-message-text::before { + content: "\F369"; +} + +.mdi-message-text-clock::before { + content: "\F019E"; +} + +.mdi-message-text-clock-outline::before { + content: "\F019F"; +} + +.mdi-message-text-lock::before { + content: "\FFED"; +} + +.mdi-message-text-lock-outline::before { + content: "\F01A0"; +} + +.mdi-message-text-outline::before { + content: "\F36A"; +} + +.mdi-message-video::before { + content: "\F36B"; +} + +.mdi-meteor::before { + content: "\F629"; +} + +.mdi-metronome::before { + content: "\F7D9"; +} + +.mdi-metronome-tick::before { + content: "\F7DA"; +} + +.mdi-micro-sd::before { + content: "\F7DB"; +} + +.mdi-microphone::before { + content: "\F36C"; +} + +.mdi-microphone-minus::before { + content: "\F8B2"; +} + +.mdi-microphone-off::before { + content: "\F36D"; +} + +.mdi-microphone-outline::before { + content: "\F36E"; +} + +.mdi-microphone-plus::before { + content: "\F8B3"; +} + +.mdi-microphone-settings::before { + content: "\F36F"; +} + +.mdi-microphone-variant::before { + content: "\F370"; +} + +.mdi-microphone-variant-off::before { + content: "\F371"; +} + +.mdi-microscope::before { + content: "\F654"; +} + +.mdi-microsoft::before { + content: "\F372"; +} + +.mdi-microsoft-dynamics::before { + content: "\F987"; +} + +.mdi-microwave::before { + content: "\FC75"; +} + +.mdi-middleware::before { + content: "\FF7A"; +} + +.mdi-middleware-outline::before { + content: "\FF7B"; +} + +.mdi-midi::before { + content: "\F8F0"; +} + +.mdi-midi-port::before { + content: "\F8F1"; +} + +.mdi-mine::before { + content: "\FDB6"; +} + +.mdi-minecraft::before { + content: "\F373"; +} + +.mdi-mini-sd::before { + content: "\FA04"; +} + +.mdi-minidisc::before { + content: "\FA05"; +} + +.mdi-minus::before { + content: "\F374"; +} + +.mdi-minus-box::before { + content: "\F375"; +} + +.mdi-minus-box-multiple::before { + content: "\F016C"; +} + +.mdi-minus-box-multiple-outline::before { + content: "\F016D"; +} + +.mdi-minus-box-outline::before { + content: "\F6F1"; +} + +.mdi-minus-circle::before { + content: "\F376"; +} + +.mdi-minus-circle-outline::before { + content: "\F377"; +} + +.mdi-minus-network::before { + content: "\F378"; +} + +.mdi-minus-network-outline::before { + content: "\FC76"; +} + +.mdi-mirror::before { + content: "\F0228"; +} + +.mdi-mixcloud::before { + content: "\F62A"; +} + +.mdi-mixed-martial-arts::before { + content: "\FD6B"; +} + +.mdi-mixed-reality::before { + content: "\F87E"; +} + +.mdi-mixer::before { + content: "\F7DC"; +} + +.mdi-molecule::before { + content: "\FB88"; +} + +.mdi-monitor::before { + content: "\F379"; +} + +.mdi-monitor-cellphone::before { + content: "\F988"; +} + +.mdi-monitor-cellphone-star::before { + content: "\F989"; +} + +.mdi-monitor-clean::before { + content: "\F012F"; +} + +.mdi-monitor-dashboard::before { + content: "\FA06"; +} + +.mdi-monitor-lock::before { + content: "\FDB7"; +} + +.mdi-monitor-multiple::before { + content: "\F37A"; +} + +.mdi-monitor-off::before { + content: "\FD6C"; +} + +.mdi-monitor-screenshot::before { + content: "\FE34"; +} + +.mdi-monitor-speaker::before { + content: "\FF7C"; +} + +.mdi-monitor-speaker-off::before { + content: "\FF7D"; +} + +.mdi-monitor-star::before { + content: "\FDB8"; +} + +.mdi-moon-first-quarter::before { + content: "\FF7E"; +} + +.mdi-moon-full::before { + content: "\FF7F"; +} + +.mdi-moon-last-quarter::before { + content: "\FF80"; +} + +.mdi-moon-new::before { + content: "\FF81"; +} + +.mdi-moon-waning-crescent::before { + content: "\FF82"; +} + +.mdi-moon-waning-gibbous::before { + content: "\FF83"; +} + +.mdi-moon-waxing-crescent::before { + content: "\FF84"; +} + +.mdi-moon-waxing-gibbous::before { + content: "\FF85"; +} + +.mdi-moped::before { + content: "\F00B1"; +} + +.mdi-more::before { + content: "\F37B"; +} + +.mdi-mother-nurse::before { + content: "\FCFD"; +} + +.mdi-motion-sensor::before { + content: "\FD6D"; +} + +.mdi-motorbike::before { + content: "\F37C"; +} + +.mdi-mouse::before { + content: "\F37D"; +} + +.mdi-mouse-bluetooth::before { + content: "\F98A"; +} + +.mdi-mouse-off::before { + content: "\F37E"; +} + +.mdi-mouse-variant::before { + content: "\F37F"; +} + +.mdi-mouse-variant-off::before { + content: "\F380"; +} + +.mdi-move-resize::before { + content: "\F655"; +} + +.mdi-move-resize-variant::before { + content: "\F656"; +} + +.mdi-movie::before { + content: "\F381"; +} + +.mdi-movie-edit::before { + content: "\F014D"; +} + +.mdi-movie-edit-outline::before { + content: "\F014E"; +} + +.mdi-movie-filter::before { + content: "\F014F"; +} + +.mdi-movie-filter-outline::before { + content: "\F0150"; +} + +.mdi-movie-open::before { + content: "\FFEE"; +} + +.mdi-movie-open-outline::before { + content: "\FFEF"; +} + +.mdi-movie-outline::before { + content: "\FDB9"; +} + +.mdi-movie-roll::before { + content: "\F7DD"; +} + +.mdi-movie-search::before { + content: "\F01FD"; +} + +.mdi-movie-search-outline::before { + content: "\F01FE"; +} + +.mdi-muffin::before { + content: "\F98B"; +} + +.mdi-multiplication::before { + content: "\F382"; +} + +.mdi-multiplication-box::before { + content: "\F383"; +} + +.mdi-mushroom::before { + content: "\F7DE"; +} + +.mdi-mushroom-outline::before { + content: "\F7DF"; +} + +.mdi-music::before { + content: "\F759"; +} + +.mdi-music-accidental-double-flat::before { + content: "\FF86"; +} + +.mdi-music-accidental-double-sharp::before { + content: "\FF87"; +} + +.mdi-music-accidental-flat::before { + content: "\FF88"; +} + +.mdi-music-accidental-natural::before { + content: "\FF89"; +} + +.mdi-music-accidental-sharp::before { + content: "\FF8A"; +} + +.mdi-music-box::before { + content: "\F384"; +} + +.mdi-music-box-outline::before { + content: "\F385"; +} + +.mdi-music-circle::before { + content: "\F386"; +} + +.mdi-music-circle-outline::before { + content: "\FAD3"; +} + +.mdi-music-clef-alto::before { + content: "\FF8B"; +} + +.mdi-music-clef-bass::before { + content: "\FF8C"; +} + +.mdi-music-clef-treble::before { + content: "\FF8D"; +} + +.mdi-music-note::before { + content: "\F387"; +} + +.mdi-music-note-bluetooth::before { + content: "\F5FE"; +} + +.mdi-music-note-bluetooth-off::before { + content: "\F5FF"; +} + +.mdi-music-note-eighth::before { + content: "\F388"; +} + +.mdi-music-note-eighth-dotted::before { + content: "\FF8E"; +} + +.mdi-music-note-half::before { + content: "\F389"; +} + +.mdi-music-note-half-dotted::before { + content: "\FF8F"; +} + +.mdi-music-note-off::before { + content: "\F38A"; +} + +.mdi-music-note-off-outline::before { + content: "\FF90"; +} + +.mdi-music-note-outline::before { + content: "\FF91"; +} + +.mdi-music-note-plus::before { + content: "\FDBA"; +} + +.mdi-music-note-quarter::before { + content: "\F38B"; +} + +.mdi-music-note-quarter-dotted::before { + content: "\FF92"; +} + +.mdi-music-note-sixteenth::before { + content: "\F38C"; +} + +.mdi-music-note-sixteenth-dotted::before { + content: "\FF93"; +} + +.mdi-music-note-whole::before { + content: "\F38D"; +} + +.mdi-music-note-whole-dotted::before { + content: "\FF94"; +} + +.mdi-music-off::before { + content: "\F75A"; +} + +.mdi-music-rest-eighth::before { + content: "\FF95"; +} + +.mdi-music-rest-half::before { + content: "\FF96"; +} + +.mdi-music-rest-quarter::before { + content: "\FF97"; +} + +.mdi-music-rest-sixteenth::before { + content: "\FF98"; +} + +.mdi-music-rest-whole::before { + content: "\FF99"; +} + +.mdi-nail::before { + content: "\FDBB"; +} + +.mdi-nas::before { + content: "\F8F2"; +} + +.mdi-nativescript::before { + content: "\F87F"; +} + +.mdi-nature::before { + content: "\F38E"; +} + +.mdi-nature-people::before { + content: "\F38F"; +} + +.mdi-navigation::before { + content: "\F390"; +} + +.mdi-near-me::before { + content: "\F5CD"; +} + +.mdi-necklace::before { + content: "\FF28"; +} + +.mdi-needle::before { + content: "\F391"; +} + +.mdi-netflix::before { + content: "\F745"; +} + +.mdi-network::before { + content: "\F6F2"; +} + +.mdi-network-off::before { + content: "\FC77"; +} + +.mdi-network-off-outline::before { + content: "\FC78"; +} + +.mdi-network-outline::before { + content: "\FC79"; +} + +.mdi-network-router::before { + content: "\F00B2"; +} + +.mdi-network-strength-1::before { + content: "\F8F3"; +} + +.mdi-network-strength-1-alert::before { + content: "\F8F4"; +} + +.mdi-network-strength-2::before { + content: "\F8F5"; +} + +.mdi-network-strength-2-alert::before { + content: "\F8F6"; +} + +.mdi-network-strength-3::before { + content: "\F8F7"; +} + +.mdi-network-strength-3-alert::before { + content: "\F8F8"; +} + +.mdi-network-strength-4::before { + content: "\F8F9"; +} + +.mdi-network-strength-4-alert::before { + content: "\F8FA"; +} + +.mdi-network-strength-off::before { + content: "\F8FB"; +} + +.mdi-network-strength-off-outline::before { + content: "\F8FC"; +} + +.mdi-network-strength-outline::before { + content: "\F8FD"; +} + +.mdi-new-box::before { + content: "\F394"; +} + +.mdi-newspaper::before { + content: "\F395"; +} + +.mdi-newspaper-minus::before { + content: "\FF29"; +} + +.mdi-newspaper-plus::before { + content: "\FF2A"; +} + +.mdi-newspaper-variant::before { + content: "\F0023"; +} + +.mdi-newspaper-variant-multiple::before { + content: "\F0024"; +} + +.mdi-newspaper-variant-multiple-outline::before { + content: "\F0025"; +} + +.mdi-newspaper-variant-outline::before { + content: "\F0026"; +} + +.mdi-nfc::before { + content: "\F396"; +} + +.mdi-nfc-off::before { + content: "\FE35"; +} + +.mdi-nfc-search-variant::before { + content: "\FE36"; +} + +.mdi-nfc-tap::before { + content: "\F397"; +} + +.mdi-nfc-variant::before { + content: "\F398"; +} + +.mdi-nfc-variant-off::before { + content: "\FE37"; +} + +.mdi-ninja::before { + content: "\F773"; +} + +.mdi-nintendo-switch::before { + content: "\F7E0"; +} + +.mdi-nix::before { + content: "\F0130"; +} + +.mdi-nodejs::before { + content: "\F399"; +} + +.mdi-noodles::before { + content: "\F01A9"; +} + +.mdi-not-equal::before { + content: "\F98C"; +} + +.mdi-not-equal-variant::before { + content: "\F98D"; +} + +.mdi-note::before { + content: "\F39A"; +} + +.mdi-note-multiple::before { + content: "\F6B7"; +} + +.mdi-note-multiple-outline::before { + content: "\F6B8"; +} + +.mdi-note-outline::before { + content: "\F39B"; +} + +.mdi-note-plus::before { + content: "\F39C"; +} + +.mdi-note-plus-outline::before { + content: "\F39D"; +} + +.mdi-note-text::before { + content: "\F39E"; +} + +.mdi-note-text-outline::before { + content: "\F0202"; +} + +.mdi-notebook::before { + content: "\F82D"; +} + +.mdi-notebook-multiple::before { + content: "\FE38"; +} + +.mdi-notebook-outline::before { + content: "\FEDC"; +} + +.mdi-notification-clear-all::before { + content: "\F39F"; +} + +.mdi-npm::before { + content: "\F6F6"; +} + +.mdi-npm-variant::before { + content: "\F98E"; +} + +.mdi-npm-variant-outline::before { + content: "\F98F"; +} + +.mdi-nuke::before { + content: "\F6A3"; +} + +.mdi-null::before { + content: "\F7E1"; +} + +.mdi-numeric::before { + content: "\F3A0"; +} + +.mdi-numeric-0::before { + content: "\30"; +} + +.mdi-numeric-0-box::before { + content: "\F3A1"; +} + +.mdi-numeric-0-box-multiple::before { + content: "\FF2B"; +} + +.mdi-numeric-0-box-multiple-outline::before { + content: "\F3A2"; +} + +.mdi-numeric-0-box-outline::before { + content: "\F3A3"; +} + +.mdi-numeric-0-circle::before { + content: "\FC7A"; +} + +.mdi-numeric-0-circle-outline::before { + content: "\FC7B"; +} + +.mdi-numeric-1::before { + content: "\31"; +} + +.mdi-numeric-1-box::before { + content: "\F3A4"; +} + +.mdi-numeric-1-box-multiple::before { + content: "\FF2C"; +} + +.mdi-numeric-1-box-multiple-outline::before { + content: "\F3A5"; +} + +.mdi-numeric-1-box-outline::before { + content: "\F3A6"; +} + +.mdi-numeric-1-circle::before { + content: "\FC7C"; +} + +.mdi-numeric-1-circle-outline::before { + content: "\FC7D"; +} + +.mdi-numeric-10::before { + content: "\F000A"; +} + +.mdi-numeric-10-box::before { + content: "\FF9A"; +} + +.mdi-numeric-10-box-multiple::before { + content: "\F000B"; +} + +.mdi-numeric-10-box-multiple-outline::before { + content: "\F000C"; +} + +.mdi-numeric-10-box-outline::before { + content: "\FF9B"; +} + +.mdi-numeric-10-circle::before { + content: "\F000D"; +} + +.mdi-numeric-10-circle-outline::before { + content: "\F000E"; +} + +.mdi-numeric-2::before { + content: "\32"; +} + +.mdi-numeric-2-box::before { + content: "\F3A7"; +} + +.mdi-numeric-2-box-multiple::before { + content: "\FF2D"; +} + +.mdi-numeric-2-box-multiple-outline::before { + content: "\F3A8"; +} + +.mdi-numeric-2-box-outline::before { + content: "\F3A9"; +} + +.mdi-numeric-2-circle::before { + content: "\FC7E"; +} + +.mdi-numeric-2-circle-outline::before { + content: "\FC7F"; +} + +.mdi-numeric-3::before { + content: "\33"; +} + +.mdi-numeric-3-box::before { + content: "\F3AA"; +} + +.mdi-numeric-3-box-multiple::before { + content: "\FF2E"; +} + +.mdi-numeric-3-box-multiple-outline::before { + content: "\F3AB"; +} + +.mdi-numeric-3-box-outline::before { + content: "\F3AC"; +} + +.mdi-numeric-3-circle::before { + content: "\FC80"; +} + +.mdi-numeric-3-circle-outline::before { + content: "\FC81"; +} + +.mdi-numeric-4::before { + content: "\34"; +} + +.mdi-numeric-4-box::before { + content: "\F3AD"; +} + +.mdi-numeric-4-box-multiple::before { + content: "\FF2F"; +} + +.mdi-numeric-4-box-multiple-outline::before { + content: "\F3AE"; +} + +.mdi-numeric-4-box-outline::before { + content: "\F3AF"; +} + +.mdi-numeric-4-circle::before { + content: "\FC82"; +} + +.mdi-numeric-4-circle-outline::before { + content: "\FC83"; +} + +.mdi-numeric-5::before { + content: "\35"; +} + +.mdi-numeric-5-box::before { + content: "\F3B0"; +} + +.mdi-numeric-5-box-multiple::before { + content: "\FF30"; +} + +.mdi-numeric-5-box-multiple-outline::before { + content: "\F3B1"; +} + +.mdi-numeric-5-box-outline::before { + content: "\F3B2"; +} + +.mdi-numeric-5-circle::before { + content: "\FC84"; +} + +.mdi-numeric-5-circle-outline::before { + content: "\FC85"; +} + +.mdi-numeric-6::before { + content: "\36"; +} + +.mdi-numeric-6-box::before { + content: "\F3B3"; +} + +.mdi-numeric-6-box-multiple::before { + content: "\FF31"; +} + +.mdi-numeric-6-box-multiple-outline::before { + content: "\F3B4"; +} + +.mdi-numeric-6-box-outline::before { + content: "\F3B5"; +} + +.mdi-numeric-6-circle::before { + content: "\FC86"; +} + +.mdi-numeric-6-circle-outline::before { + content: "\FC87"; +} + +.mdi-numeric-7::before { + content: "\37"; +} + +.mdi-numeric-7-box::before { + content: "\F3B6"; +} + +.mdi-numeric-7-box-multiple::before { + content: "\FF32"; +} + +.mdi-numeric-7-box-multiple-outline::before { + content: "\F3B7"; +} + +.mdi-numeric-7-box-outline::before { + content: "\F3B8"; +} + +.mdi-numeric-7-circle::before { + content: "\FC88"; +} + +.mdi-numeric-7-circle-outline::before { + content: "\FC89"; +} + +.mdi-numeric-8::before { + content: "\38"; +} + +.mdi-numeric-8-box::before { + content: "\F3B9"; +} + +.mdi-numeric-8-box-multiple::before { + content: "\FF33"; +} + +.mdi-numeric-8-box-multiple-outline::before { + content: "\F3BA"; +} + +.mdi-numeric-8-box-outline::before { + content: "\F3BB"; +} + +.mdi-numeric-8-circle::before { + content: "\FC8A"; +} + +.mdi-numeric-8-circle-outline::before { + content: "\FC8B"; +} + +.mdi-numeric-9::before { + content: "\39"; +} + +.mdi-numeric-9-box::before { + content: "\F3BC"; +} + +.mdi-numeric-9-box-multiple::before { + content: "\FF34"; +} + +.mdi-numeric-9-box-multiple-outline::before { + content: "\F3BD"; +} + +.mdi-numeric-9-box-outline::before { + content: "\F3BE"; +} + +.mdi-numeric-9-circle::before { + content: "\FC8C"; +} + +.mdi-numeric-9-circle-outline::before { + content: "\FC8D"; +} + +.mdi-numeric-9-plus::before { + content: "\F000F"; +} + +.mdi-numeric-9-plus-box::before { + content: "\F3BF"; +} + +.mdi-numeric-9-plus-box-multiple::before { + content: "\FF35"; +} + +.mdi-numeric-9-plus-box-multiple-outline::before { + content: "\F3C0"; +} + +.mdi-numeric-9-plus-box-outline::before { + content: "\F3C1"; +} + +.mdi-numeric-9-plus-circle::before { + content: "\FC8E"; +} + +.mdi-numeric-9-plus-circle-outline::before { + content: "\FC8F"; +} + +.mdi-numeric-negative-1::before { + content: "\F0074"; +} + +.mdi-nut::before { + content: "\F6F7"; +} + +.mdi-nutrition::before { + content: "\F3C2"; +} + +.mdi-nuxt::before { + content: "\F0131"; +} + +.mdi-oar::before { + content: "\F67B"; +} + +.mdi-ocarina::before { + content: "\FDBC"; +} + +.mdi-ocr::before { + content: "\F0165"; +} + +.mdi-octagon::before { + content: "\F3C3"; +} + +.mdi-octagon-outline::before { + content: "\F3C4"; +} + +.mdi-octagram::before { + content: "\F6F8"; +} + +.mdi-octagram-outline::before { + content: "\F774"; +} + +.mdi-odnoklassniki::before { + content: "\F3C5"; +} + +.mdi-offer::before { + content: "\F0246"; +} + +.mdi-office::before { + content: "\F3C6"; +} + +.mdi-office-building::before { + content: "\F990"; +} + +.mdi-oil::before { + content: "\F3C7"; +} + +.mdi-oil-lamp::before { + content: "\FF36"; +} + +.mdi-oil-level::before { + content: "\F0075"; +} + +.mdi-oil-temperature::before { + content: "\F0019"; +} + +.mdi-omega::before { + content: "\F3C9"; +} + +.mdi-one-up::before { + content: "\FB89"; +} + +.mdi-onedrive::before { + content: "\F3CA"; +} + +.mdi-onenote::before { + content: "\F746"; +} + +.mdi-onepassword::before { + content: "\F880"; +} + +.mdi-opacity::before { + content: "\F5CC"; +} + +.mdi-open-in-app::before { + content: "\F3CB"; +} + +.mdi-open-in-new::before { + content: "\F3CC"; +} + +.mdi-open-source-initiative::before { + content: "\FB8A"; +} + +.mdi-openid::before { + content: "\F3CD"; +} + +.mdi-opera::before { + content: "\F3CE"; +} + +.mdi-orbit::before { + content: "\F018"; +} + +.mdi-origin::before { + content: "\FB2B"; +} + +.mdi-ornament::before { + content: "\F3CF"; +} + +.mdi-ornament-variant::before { + content: "\F3D0"; +} + +.mdi-outdoor-lamp::before { + content: "\F0076"; +} + +.mdi-outlook::before { + content: "\FCFE"; +} + +.mdi-overscan::before { + content: "\F0027"; +} + +.mdi-owl::before { + content: "\F3D2"; +} + +.mdi-pac-man::before { + content: "\FB8B"; +} + +.mdi-package::before { + content: "\F3D3"; +} + +.mdi-package-down::before { + content: "\F3D4"; +} + +.mdi-package-up::before { + content: "\F3D5"; +} + +.mdi-package-variant::before { + content: "\F3D6"; +} + +.mdi-package-variant-closed::before { + content: "\F3D7"; +} + +.mdi-page-first::before { + content: "\F600"; +} + +.mdi-page-last::before { + content: "\F601"; +} + +.mdi-page-layout-body::before { + content: "\F6F9"; +} + +.mdi-page-layout-footer::before { + content: "\F6FA"; +} + +.mdi-page-layout-header::before { + content: "\F6FB"; +} + +.mdi-page-layout-header-footer::before { + content: "\FF9C"; +} + +.mdi-page-layout-sidebar-left::before { + content: "\F6FC"; +} + +.mdi-page-layout-sidebar-right::before { + content: "\F6FD"; +} + +.mdi-page-next::before { + content: "\FB8C"; +} + +.mdi-page-next-outline::before { + content: "\FB8D"; +} + +.mdi-page-previous::before { + content: "\FB8E"; +} + +.mdi-page-previous-outline::before { + content: "\FB8F"; +} + +.mdi-palette::before { + content: "\F3D8"; +} + +.mdi-palette-advanced::before { + content: "\F3D9"; +} + +.mdi-palette-outline::before { + content: "\FE6C"; +} + +.mdi-palette-swatch::before { + content: "\F8B4"; +} + +.mdi-palm-tree::before { + content: "\F0077"; +} + +.mdi-pan::before { + content: "\FB90"; +} + +.mdi-pan-bottom-left::before { + content: "\FB91"; +} + +.mdi-pan-bottom-right::before { + content: "\FB92"; +} + +.mdi-pan-down::before { + content: "\FB93"; +} + +.mdi-pan-horizontal::before { + content: "\FB94"; +} + +.mdi-pan-left::before { + content: "\FB95"; +} + +.mdi-pan-right::before { + content: "\FB96"; +} + +.mdi-pan-top-left::before { + content: "\FB97"; +} + +.mdi-pan-top-right::before { + content: "\FB98"; +} + +.mdi-pan-up::before { + content: "\FB99"; +} + +.mdi-pan-vertical::before { + content: "\FB9A"; +} + +.mdi-panda::before { + content: "\F3DA"; +} + +.mdi-pandora::before { + content: "\F3DB"; +} + +.mdi-panorama::before { + content: "\F3DC"; +} + +.mdi-panorama-fisheye::before { + content: "\F3DD"; +} + +.mdi-panorama-horizontal::before { + content: "\F3DE"; +} + +.mdi-panorama-vertical::before { + content: "\F3DF"; +} + +.mdi-panorama-wide-angle::before { + content: "\F3E0"; +} + +.mdi-paper-cut-vertical::before { + content: "\F3E1"; +} + +.mdi-paper-roll::before { + content: "\F0182"; +} + +.mdi-paper-roll-outline::before { + content: "\F0183"; +} + +.mdi-paperclip::before { + content: "\F3E2"; +} + +.mdi-parachute::before { + content: "\FC90"; +} + +.mdi-parachute-outline::before { + content: "\FC91"; +} + +.mdi-parking::before { + content: "\F3E3"; +} + +.mdi-party-popper::before { + content: "\F0078"; +} + +.mdi-passport::before { + content: "\F7E2"; +} + +.mdi-passport-biometric::before { + content: "\FDBD"; +} + +.mdi-pasta::before { + content: "\F018B"; +} + +.mdi-patio-heater::before { + content: "\FF9D"; +} + +.mdi-patreon::before { + content: "\F881"; +} + +.mdi-pause::before { + content: "\F3E4"; +} + +.mdi-pause-circle::before { + content: "\F3E5"; +} + +.mdi-pause-circle-outline::before { + content: "\F3E6"; +} + +.mdi-pause-octagon::before { + content: "\F3E7"; +} + +.mdi-pause-octagon-outline::before { + content: "\F3E8"; +} + +.mdi-paw::before { + content: "\F3E9"; +} + +.mdi-paw-off::before { + content: "\F657"; +} + +.mdi-paypal::before { + content: "\F882"; +} + +.mdi-pdf-box::before { + content: "\FE39"; +} + +.mdi-peace::before { + content: "\F883"; +} + +.mdi-peanut::before { + content: "\F001E"; +} + +.mdi-peanut-off::before { + content: "\F001F"; +} + +.mdi-peanut-off-outline::before { + content: "\F0021"; +} + +.mdi-peanut-outline::before { + content: "\F0020"; +} + +.mdi-pen::before { + content: "\F3EA"; +} + +.mdi-pen-lock::before { + content: "\FDBE"; +} + +.mdi-pen-minus::before { + content: "\FDBF"; +} + +.mdi-pen-off::before { + content: "\FDC0"; +} + +.mdi-pen-plus::before { + content: "\FDC1"; +} + +.mdi-pen-remove::before { + content: "\FDC2"; +} + +.mdi-pencil::before { + content: "\F3EB"; +} + +.mdi-pencil-box::before { + content: "\F3EC"; +} + +.mdi-pencil-box-multiple::before { + content: "\F016F"; +} + +.mdi-pencil-box-multiple-outline::before { + content: "\F0170"; +} + +.mdi-pencil-box-outline::before { + content: "\F3ED"; +} + +.mdi-pencil-circle::before { + content: "\F6FE"; +} + +.mdi-pencil-circle-outline::before { + content: "\F775"; +} + +.mdi-pencil-lock::before { + content: "\F3EE"; +} + +.mdi-pencil-lock-outline::before { + content: "\FDC3"; +} + +.mdi-pencil-minus::before { + content: "\FDC4"; +} + +.mdi-pencil-minus-outline::before { + content: "\FDC5"; +} + +.mdi-pencil-off::before { + content: "\F3EF"; +} + +.mdi-pencil-off-outline::before { + content: "\FDC6"; +} + +.mdi-pencil-outline::before { + content: "\FC92"; +} + +.mdi-pencil-plus::before { + content: "\FDC7"; +} + +.mdi-pencil-plus-outline::before { + content: "\FDC8"; +} + +.mdi-pencil-remove::before { + content: "\FDC9"; +} + +.mdi-pencil-remove-outline::before { + content: "\FDCA"; +} + +.mdi-penguin::before { + content: "\FEDD"; +} + +.mdi-pentagon::before { + content: "\F6FF"; +} + +.mdi-pentagon-outline::before { + content: "\F700"; +} + +.mdi-percent::before { + content: "\F3F0"; +} + +.mdi-percent-outline::before { + content: "\F02A3"; +} + +.mdi-periodic-table::before { + content: "\F8B5"; +} + +.mdi-periodic-table-co2::before { + content: "\F7E3"; +} + +.mdi-periscope::before { + content: "\F747"; +} + +.mdi-perspective-less::before { + content: "\FCFF"; +} + +.mdi-perspective-more::before { + content: "\FD00"; +} + +.mdi-pharmacy::before { + content: "\F3F1"; +} + +.mdi-phone::before { + content: "\F3F2"; +} + +.mdi-phone-alert::before { + content: "\FF37"; +} + +.mdi-phone-alert-outline::before { + content: "\F01B9"; +} + +.mdi-phone-bluetooth::before { + content: "\F3F3"; +} + +.mdi-phone-bluetooth-outline::before { + content: "\F01BA"; +} + +.mdi-phone-cancel::before { + content: "\F00E7"; +} + +.mdi-phone-cancel-outline::before { + content: "\F01BB"; +} + +.mdi-phone-check::before { + content: "\F01D4"; +} + +.mdi-phone-check-outline::before { + content: "\F01D5"; +} + +.mdi-phone-classic::before { + content: "\F602"; +} + +.mdi-phone-classic-off::before { + content: "\F02A4"; +} + +.mdi-phone-forward::before { + content: "\F3F4"; +} + +.mdi-phone-forward-outline::before { + content: "\F01BC"; +} + +.mdi-phone-hangup::before { + content: "\F3F5"; +} + +.mdi-phone-hangup-outline::before { + content: "\F01BD"; +} + +.mdi-phone-in-talk::before { + content: "\F3F6"; +} + +.mdi-phone-in-talk-outline::before { + content: "\F01AD"; +} + +.mdi-phone-incoming::before { + content: "\F3F7"; +} + +.mdi-phone-incoming-outline::before { + content: "\F01BE"; +} + +.mdi-phone-lock::before { + content: "\F3F8"; +} + +.mdi-phone-lock-outline::before { + content: "\F01BF"; +} + +.mdi-phone-log::before { + content: "\F3F9"; +} + +.mdi-phone-log-outline::before { + content: "\F01C0"; +} + +.mdi-phone-message::before { + content: "\F01C1"; +} + +.mdi-phone-message-outline::before { + content: "\F01C2"; +} + +.mdi-phone-minus::before { + content: "\F658"; +} + +.mdi-phone-minus-outline::before { + content: "\F01C3"; +} + +.mdi-phone-missed::before { + content: "\F3FA"; +} + +.mdi-phone-missed-outline::before { + content: "\F01D0"; +} + +.mdi-phone-off::before { + content: "\FDCB"; +} + +.mdi-phone-off-outline::before { + content: "\F01D1"; +} + +.mdi-phone-outgoing::before { + content: "\F3FB"; +} + +.mdi-phone-outgoing-outline::before { + content: "\F01C4"; +} + +.mdi-phone-outline::before { + content: "\FDCC"; +} + +.mdi-phone-paused::before { + content: "\F3FC"; +} + +.mdi-phone-paused-outline::before { + content: "\F01C5"; +} + +.mdi-phone-plus::before { + content: "\F659"; +} + +.mdi-phone-plus-outline::before { + content: "\F01C6"; +} + +.mdi-phone-return::before { + content: "\F82E"; +} + +.mdi-phone-return-outline::before { + content: "\F01C7"; +} + +.mdi-phone-ring::before { + content: "\F01D6"; +} + +.mdi-phone-ring-outline::before { + content: "\F01D7"; +} + +.mdi-phone-rotate-landscape::before { + content: "\F884"; +} + +.mdi-phone-rotate-portrait::before { + content: "\F885"; +} + +.mdi-phone-settings::before { + content: "\F3FD"; +} + +.mdi-phone-settings-outline::before { + content: "\F01C8"; +} + +.mdi-phone-voip::before { + content: "\F3FE"; +} + +.mdi-pi::before { + content: "\F3FF"; +} + +.mdi-pi-box::before { + content: "\F400"; +} + +.mdi-pi-hole::before { + content: "\FDCD"; +} + +.mdi-piano::before { + content: "\F67C"; +} + +.mdi-pickaxe::before { + content: "\F8B6"; +} + +.mdi-picture-in-picture-bottom-right::before { + content: "\FE3A"; +} + +.mdi-picture-in-picture-bottom-right-outline::before { + content: "\FE3B"; +} + +.mdi-picture-in-picture-top-right::before { + content: "\FE3C"; +} + +.mdi-picture-in-picture-top-right-outline::before { + content: "\FE3D"; +} + +.mdi-pier::before { + content: "\F886"; +} + +.mdi-pier-crane::before { + content: "\F887"; +} + +.mdi-pig::before { + content: "\F401"; +} + +.mdi-pig-variant::before { + content: "\F0028"; +} + +.mdi-piggy-bank::before { + content: "\F0029"; +} + +.mdi-pill::before { + content: "\F402"; +} + +.mdi-pillar::before { + content: "\F701"; +} + +.mdi-pin::before { + content: "\F403"; +} + +.mdi-pin-off::before { + content: "\F404"; +} + +.mdi-pin-off-outline::before { + content: "\F92F"; +} + +.mdi-pin-outline::before { + content: "\F930"; +} + +.mdi-pine-tree::before { + content: "\F405"; +} + +.mdi-pine-tree-box::before { + content: "\F406"; +} + +.mdi-pinterest::before { + content: "\F407"; +} + +.mdi-pinterest-box::before { + content: "\F408"; +} + +.mdi-pinwheel::before { + content: "\FAD4"; +} + +.mdi-pinwheel-outline::before { + content: "\FAD5"; +} + +.mdi-pipe::before { + content: "\F7E4"; +} + +.mdi-pipe-disconnected::before { + content: "\F7E5"; +} + +.mdi-pipe-leak::before { + content: "\F888"; +} + +.mdi-pirate::before { + content: "\FA07"; +} + +.mdi-pistol::before { + content: "\F702"; +} + +.mdi-piston::before { + content: "\F889"; +} + +.mdi-pizza::before { + content: "\F409"; +} + +.mdi-play::before { + content: "\F40A"; +} + +.mdi-play-box::before { + content: "\F02A5"; +} + +.mdi-play-box-outline::before { + content: "\F40B"; +} + +.mdi-play-circle::before { + content: "\F40C"; +} + +.mdi-play-circle-outline::before { + content: "\F40D"; +} + +.mdi-play-network::before { + content: "\F88A"; +} + +.mdi-play-network-outline::before { + content: "\FC93"; +} + +.mdi-play-outline::before { + content: "\FF38"; +} + +.mdi-play-pause::before { + content: "\F40E"; +} + +.mdi-play-protected-content::before { + content: "\F40F"; +} + +.mdi-play-speed::before { + content: "\F8FE"; +} + +.mdi-playlist-check::before { + content: "\F5C7"; +} + +.mdi-playlist-edit::before { + content: "\F8FF"; +} + +.mdi-playlist-minus::before { + content: "\F410"; +} + +.mdi-playlist-music::before { + content: "\FC94"; +} + +.mdi-playlist-music-outline::before { + content: "\FC95"; +} + +.mdi-playlist-play::before { + content: "\F411"; +} + +.mdi-playlist-plus::before { + content: "\F412"; +} + +.mdi-playlist-remove::before { + content: "\F413"; +} + +.mdi-playlist-star::before { + content: "\FDCE"; +} + +.mdi-playstation::before { + content: "\F414"; +} + +.mdi-plex::before { + content: "\F6B9"; +} + +.mdi-plus::before { + content: "\F415"; +} + +.mdi-plus-box::before { + content: "\F416"; +} + +.mdi-plus-box-multiple::before { + content: "\F334"; +} + +.mdi-plus-box-multiple-outline::before { + content: "\F016E"; +} + +.mdi-plus-box-outline::before { + content: "\F703"; +} + +.mdi-plus-circle::before { + content: "\F417"; +} + +.mdi-plus-circle-multiple-outline::before { + content: "\F418"; +} + +.mdi-plus-circle-outline::before { + content: "\F419"; +} + +.mdi-plus-minus::before { + content: "\F991"; +} + +.mdi-plus-minus-box::before { + content: "\F992"; +} + +.mdi-plus-network::before { + content: "\F41A"; +} + +.mdi-plus-network-outline::before { + content: "\FC96"; +} + +.mdi-plus-one::before { + content: "\F41B"; +} + +.mdi-plus-outline::before { + content: "\F704"; +} + +.mdi-plus-thick::before { + content: "\F0217"; +} + +.mdi-pocket::before { + content: "\F41C"; +} + +.mdi-podcast::before { + content: "\F993"; +} + +.mdi-podium::before { + content: "\FD01"; +} + +.mdi-podium-bronze::before { + content: "\FD02"; +} + +.mdi-podium-gold::before { + content: "\FD03"; +} + +.mdi-podium-silver::before { + content: "\FD04"; +} + +.mdi-point-of-sale::before { + content: "\FD6E"; +} + +.mdi-pokeball::before { + content: "\F41D"; +} + +.mdi-pokemon-go::before { + content: "\FA08"; +} + +.mdi-poker-chip::before { + content: "\F82F"; +} + +.mdi-polaroid::before { + content: "\F41E"; +} + +.mdi-police-badge::before { + content: "\F0192"; +} + +.mdi-police-badge-outline::before { + content: "\F0193"; +} + +.mdi-poll::before { + content: "\F41F"; +} + +.mdi-poll-box::before { + content: "\F420"; +} + +.mdi-poll-box-outline::before { + content: "\F02A6"; +} + +.mdi-polymer::before { + content: "\F421"; +} + +.mdi-pool::before { + content: "\F606"; +} + +.mdi-popcorn::before { + content: "\F422"; +} + +.mdi-post::before { + content: "\F002A"; +} + +.mdi-post-outline::before { + content: "\F002B"; +} + +.mdi-postage-stamp::before { + content: "\FC97"; +} + +.mdi-pot::before { + content: "\F65A"; +} + +.mdi-pot-mix::before { + content: "\F65B"; +} + +.mdi-pound::before { + content: "\F423"; +} + +.mdi-pound-box::before { + content: "\F424"; +} + +.mdi-pound-box-outline::before { + content: "\F01AA"; +} + +.mdi-power::before { + content: "\F425"; +} + +.mdi-power-cycle::before { + content: "\F900"; +} + +.mdi-power-off::before { + content: "\F901"; +} + +.mdi-power-on::before { + content: "\F902"; +} + +.mdi-power-plug::before { + content: "\F6A4"; +} + +.mdi-power-plug-off::before { + content: "\F6A5"; +} + +.mdi-power-settings::before { + content: "\F426"; +} + +.mdi-power-sleep::before { + content: "\F903"; +} + +.mdi-power-socket::before { + content: "\F427"; +} + +.mdi-power-socket-au::before { + content: "\F904"; +} + +.mdi-power-socket-de::before { + content: "\F0132"; +} + +.mdi-power-socket-eu::before { + content: "\F7E6"; +} + +.mdi-power-socket-fr::before { + content: "\F0133"; +} + +.mdi-power-socket-jp::before { + content: "\F0134"; +} + +.mdi-power-socket-uk::before { + content: "\F7E7"; +} + +.mdi-power-socket-us::before { + content: "\F7E8"; +} + +.mdi-power-standby::before { + content: "\F905"; +} + +.mdi-powershell::before { + content: "\FA09"; +} + +.mdi-prescription::before { + content: "\F705"; +} + +.mdi-presentation::before { + content: "\F428"; +} + +.mdi-presentation-play::before { + content: "\F429"; +} + +.mdi-printer::before { + content: "\F42A"; +} + +.mdi-printer-3d::before { + content: "\F42B"; +} + +.mdi-printer-3d-nozzle::before { + content: "\FE3E"; +} + +.mdi-printer-3d-nozzle-alert::before { + content: "\F01EB"; +} + +.mdi-printer-3d-nozzle-alert-outline::before { + content: "\F01EC"; +} + +.mdi-printer-3d-nozzle-outline::before { + content: "\FE3F"; +} + +.mdi-printer-alert::before { + content: "\F42C"; +} + +.mdi-printer-check::before { + content: "\F0171"; +} + +.mdi-printer-off::before { + content: "\FE40"; +} + +.mdi-printer-pos::before { + content: "\F0079"; +} + +.mdi-printer-settings::before { + content: "\F706"; +} + +.mdi-printer-wireless::before { + content: "\FA0A"; +} + +.mdi-priority-high::before { + content: "\F603"; +} + +.mdi-priority-low::before { + content: "\F604"; +} + +.mdi-professional-hexagon::before { + content: "\F42D"; +} + +.mdi-progress-alert::before { + content: "\FC98"; +} + +.mdi-progress-check::before { + content: "\F994"; +} + +.mdi-progress-clock::before { + content: "\F995"; +} + +.mdi-progress-close::before { + content: "\F0135"; +} + +.mdi-progress-download::before { + content: "\F996"; +} + +.mdi-progress-upload::before { + content: "\F997"; +} + +.mdi-progress-wrench::before { + content: "\FC99"; +} + +.mdi-projector::before { + content: "\F42E"; +} + +.mdi-projector-screen::before { + content: "\F42F"; +} + +.mdi-protocol::before { + content: "\FFF9"; +} + +.mdi-publish::before { + content: "\F6A6"; +} + +.mdi-pulse::before { + content: "\F430"; +} + +.mdi-pumpkin::before { + content: "\FB9B"; +} + +.mdi-purse::before { + content: "\FF39"; +} + +.mdi-purse-outline::before { + content: "\FF3A"; +} + +.mdi-puzzle::before { + content: "\F431"; +} + +.mdi-puzzle-outline::before { + content: "\FA65"; +} + +.mdi-qi::before { + content: "\F998"; +} + +.mdi-qqchat::before { + content: "\F605"; +} + +.mdi-qrcode::before { + content: "\F432"; +} + +.mdi-qrcode-edit::before { + content: "\F8B7"; +} + +.mdi-qrcode-minus::before { + content: "\F01B7"; +} + +.mdi-qrcode-plus::before { + content: "\F01B6"; +} + +.mdi-qrcode-remove::before { + content: "\F01B8"; +} + +.mdi-qrcode-scan::before { + content: "\F433"; +} + +.mdi-quadcopter::before { + content: "\F434"; +} + +.mdi-quality-high::before { + content: "\F435"; +} + +.mdi-quality-low::before { + content: "\FA0B"; +} + +.mdi-quality-medium::before { + content: "\FA0C"; +} + +.mdi-quicktime::before { + content: "\F436"; +} + +.mdi-quora::before { + content: "\FD05"; +} + +.mdi-rabbit::before { + content: "\F906"; +} + +.mdi-racing-helmet::before { + content: "\FD6F"; +} + +.mdi-racquetball::before { + content: "\FD70"; +} + +.mdi-radar::before { + content: "\F437"; +} + +.mdi-radiator::before { + content: "\F438"; +} + +.mdi-radiator-disabled::before { + content: "\FAD6"; +} + +.mdi-radiator-off::before { + content: "\FAD7"; +} + +.mdi-radio::before { + content: "\F439"; +} + +.mdi-radio-am::before { + content: "\FC9A"; +} + +.mdi-radio-fm::before { + content: "\FC9B"; +} + +.mdi-radio-handheld::before { + content: "\F43A"; +} + +.mdi-radio-off::before { + content: "\F0247"; +} + +.mdi-radio-tower::before { + content: "\F43B"; +} + +.mdi-radioactive::before { + content: "\F43C"; +} + +.mdi-radioactive-off::before { + content: "\FEDE"; +} + +.mdi-radiobox-blank::before { + content: "\F43D"; +} + +.mdi-radiobox-marked::before { + content: "\F43E"; +} + +.mdi-radius::before { + content: "\FC9C"; +} + +.mdi-radius-outline::before { + content: "\FC9D"; +} + +.mdi-railroad-light::before { + content: "\FF3B"; +} + +.mdi-raspberry-pi::before { + content: "\F43F"; +} + +.mdi-ray-end::before { + content: "\F440"; +} + +.mdi-ray-end-arrow::before { + content: "\F441"; +} + +.mdi-ray-start::before { + content: "\F442"; +} + +.mdi-ray-start-arrow::before { + content: "\F443"; +} + +.mdi-ray-start-end::before { + content: "\F444"; +} + +.mdi-ray-vertex::before { + content: "\F445"; +} + +.mdi-react::before { + content: "\F707"; +} + +.mdi-read::before { + content: "\F447"; +} + +.mdi-receipt::before { + content: "\F449"; +} + +.mdi-record::before { + content: "\F44A"; +} + +.mdi-record-circle::before { + content: "\FEDF"; +} + +.mdi-record-circle-outline::before { + content: "\FEE0"; +} + +.mdi-record-player::before { + content: "\F999"; +} + +.mdi-record-rec::before { + content: "\F44B"; +} + +.mdi-rectangle::before { + content: "\FE41"; +} + +.mdi-rectangle-outline::before { + content: "\FE42"; +} + +.mdi-recycle::before { + content: "\F44C"; +} + +.mdi-reddit::before { + content: "\F44D"; +} + +.mdi-redhat::before { + content: "\F0146"; +} + +.mdi-redo::before { + content: "\F44E"; +} + +.mdi-redo-variant::before { + content: "\F44F"; +} + +.mdi-reflect-horizontal::before { + content: "\FA0D"; +} + +.mdi-reflect-vertical::before { + content: "\FA0E"; +} + +.mdi-refresh::before { + content: "\F450"; +} + +.mdi-regex::before { + content: "\F451"; +} + +.mdi-registered-trademark::before { + content: "\FA66"; +} + +.mdi-relative-scale::before { + content: "\F452"; +} + +.mdi-reload::before { + content: "\F453"; +} + +.mdi-reload-alert::before { + content: "\F0136"; +} + +.mdi-reminder::before { + content: "\F88B"; +} + +.mdi-remote::before { + content: "\F454"; +} + +.mdi-remote-desktop::before { + content: "\F8B8"; +} + +.mdi-remote-off::before { + content: "\FEE1"; +} + +.mdi-remote-tv::before { + content: "\FEE2"; +} + +.mdi-remote-tv-off::before { + content: "\FEE3"; +} + +.mdi-rename-box::before { + content: "\F455"; +} + +.mdi-reorder-horizontal::before { + content: "\F687"; +} + +.mdi-reorder-vertical::before { + content: "\F688"; +} + +.mdi-repeat::before { + content: "\F456"; +} + +.mdi-repeat-off::before { + content: "\F457"; +} + +.mdi-repeat-once::before { + content: "\F458"; +} + +.mdi-replay::before { + content: "\F459"; +} + +.mdi-reply::before { + content: "\F45A"; +} + +.mdi-reply-all::before { + content: "\F45B"; +} + +.mdi-reply-all-outline::before { + content: "\FF3C"; +} + +.mdi-reply-circle::before { + content: "\F01D9"; +} + +.mdi-reply-outline::before { + content: "\FF3D"; +} + +.mdi-reproduction::before { + content: "\F45C"; +} + +.mdi-resistor::before { + content: "\FB1F"; +} + +.mdi-resistor-nodes::before { + content: "\FB20"; +} + +.mdi-resize::before { + content: "\FA67"; +} + +.mdi-resize-bottom-right::before { + content: "\F45D"; +} + +.mdi-responsive::before { + content: "\F45E"; +} + +.mdi-restart::before { + content: "\F708"; +} + +.mdi-restart-alert::before { + content: "\F0137"; +} + +.mdi-restart-off::before { + content: "\FD71"; +} + +.mdi-restore::before { + content: "\F99A"; +} + +.mdi-restore-alert::before { + content: "\F0138"; +} + +.mdi-rewind::before { + content: "\F45F"; +} + +.mdi-rewind-10::before { + content: "\FD06"; +} + +.mdi-rewind-30::before { + content: "\FD72"; +} + +.mdi-rewind-5::before { + content: "\F0224"; +} + +.mdi-rewind-outline::before { + content: "\F709"; +} + +.mdi-rhombus::before { + content: "\F70A"; +} + +.mdi-rhombus-medium::before { + content: "\FA0F"; +} + +.mdi-rhombus-outline::before { + content: "\F70B"; +} + +.mdi-rhombus-split::before { + content: "\FA10"; +} + +.mdi-ribbon::before { + content: "\F460"; +} + +.mdi-rice::before { + content: "\F7E9"; +} + +.mdi-ring::before { + content: "\F7EA"; +} + +.mdi-rivet::before { + content: "\FE43"; +} + +.mdi-road::before { + content: "\F461"; +} + +.mdi-road-variant::before { + content: "\F462"; +} + +.mdi-robber::before { + content: "\F007A"; +} + +.mdi-robot::before { + content: "\F6A8"; +} + +.mdi-robot-industrial::before { + content: "\FB21"; +} + +.mdi-robot-mower::before { + content: "\F0222"; +} + +.mdi-robot-mower-outline::before { + content: "\F021E"; +} + +.mdi-robot-vacuum::before { + content: "\F70C"; +} + +.mdi-robot-vacuum-variant::before { + content: "\F907"; +} + +.mdi-rocket::before { + content: "\F463"; +} + +.mdi-roller-skate::before { + content: "\FD07"; +} + +.mdi-rollerblade::before { + content: "\FD08"; +} + +.mdi-rollupjs::before { + content: "\FB9C"; +} + +.mdi-roman-numeral-1::before { + content: "\F00B3"; +} + +.mdi-roman-numeral-10::before { + content: "\F00BC"; +} + +.mdi-roman-numeral-2::before { + content: "\F00B4"; +} + +.mdi-roman-numeral-3::before { + content: "\F00B5"; +} + +.mdi-roman-numeral-4::before { + content: "\F00B6"; +} + +.mdi-roman-numeral-5::before { + content: "\F00B7"; +} + +.mdi-roman-numeral-6::before { + content: "\F00B8"; +} + +.mdi-roman-numeral-7::before { + content: "\F00B9"; +} + +.mdi-roman-numeral-8::before { + content: "\F00BA"; +} + +.mdi-roman-numeral-9::before { + content: "\F00BB"; +} + +.mdi-room-service::before { + content: "\F88C"; +} + +.mdi-room-service-outline::before { + content: "\FD73"; +} + +.mdi-rotate-3d::before { + content: "\FEE4"; +} + +.mdi-rotate-3d-variant::before { + content: "\F464"; +} + +.mdi-rotate-left::before { + content: "\F465"; +} + +.mdi-rotate-left-variant::before { + content: "\F466"; +} + +.mdi-rotate-orbit::before { + content: "\FD74"; +} + +.mdi-rotate-right::before { + content: "\F467"; +} + +.mdi-rotate-right-variant::before { + content: "\F468"; +} + +.mdi-rounded-corner::before { + content: "\F607"; +} + +.mdi-router::before { + content: "\F020D"; +} + +.mdi-router-wireless::before { + content: "\F469"; +} + +.mdi-router-wireless-settings::before { + content: "\FA68"; +} + +.mdi-routes::before { + content: "\F46A"; +} + +.mdi-routes-clock::before { + content: "\F007B"; +} + +.mdi-rowing::before { + content: "\F608"; +} + +.mdi-rss::before { + content: "\F46B"; +} + +.mdi-rss-box::before { + content: "\F46C"; +} + +.mdi-rss-off::before { + content: "\FF3E"; +} + +.mdi-ruby::before { + content: "\FD09"; +} + +.mdi-rugby::before { + content: "\FD75"; +} + +.mdi-ruler::before { + content: "\F46D"; +} + +.mdi-ruler-square::before { + content: "\FC9E"; +} + +.mdi-ruler-square-compass::before { + content: "\FEDB"; +} + +.mdi-run::before { + content: "\F70D"; +} + +.mdi-run-fast::before { + content: "\F46E"; +} + +.mdi-rv-truck::before { + content: "\F01FF"; +} + +.mdi-sack::before { + content: "\FD0A"; +} + +.mdi-sack-percent::before { + content: "\FD0B"; +} + +.mdi-safe::before { + content: "\FA69"; +} + +.mdi-safe-square::before { + content: "\F02A7"; +} + +.mdi-safe-square-outline::before { + content: "\F02A8"; +} + +.mdi-safety-goggles::before { + content: "\FD0C"; +} + +.mdi-sailing::before { + content: "\FEE5"; +} + +.mdi-sale::before { + content: "\F46F"; +} + +.mdi-salesforce::before { + content: "\F88D"; +} + +.mdi-sass::before { + content: "\F7EB"; +} + +.mdi-satellite::before { + content: "\F470"; +} + +.mdi-satellite-uplink::before { + content: "\F908"; +} + +.mdi-satellite-variant::before { + content: "\F471"; +} + +.mdi-sausage::before { + content: "\F8B9"; +} + +.mdi-saw-blade::before { + content: "\FE44"; +} + +.mdi-saxophone::before { + content: "\F609"; +} + +.mdi-scale::before { + content: "\F472"; +} + +.mdi-scale-balance::before { + content: "\F5D1"; +} + +.mdi-scale-bathroom::before { + content: "\F473"; +} + +.mdi-scale-off::before { + content: "\F007C"; +} + +.mdi-scanner::before { + content: "\F6AA"; +} + +.mdi-scanner-off::before { + content: "\F909"; +} + +.mdi-scatter-plot::before { + content: "\FEE6"; +} + +.mdi-scatter-plot-outline::before { + content: "\FEE7"; +} + +.mdi-school::before { + content: "\F474"; +} + +.mdi-school-outline::before { + content: "\F01AB"; +} + +.mdi-scissors-cutting::before { + content: "\FA6A"; +} + +.mdi-scooter::before { + content: "\F0214"; +} + +.mdi-scoreboard::before { + content: "\F02A9"; +} + +.mdi-scoreboard-outline::before { + content: "\F02AA"; +} + +.mdi-screen-rotation::before { + content: "\F475"; +} + +.mdi-screen-rotation-lock::before { + content: "\F476"; +} + +.mdi-screw-flat-top::before { + content: "\FDCF"; +} + +.mdi-screw-lag::before { + content: "\FE54"; +} + +.mdi-screw-machine-flat-top::before { + content: "\FE55"; +} + +.mdi-screw-machine-round-top::before { + content: "\FE56"; +} + +.mdi-screw-round-top::before { + content: "\FE57"; +} + +.mdi-screwdriver::before { + content: "\F477"; +} + +.mdi-script::before { + content: "\FB9D"; +} + +.mdi-script-outline::before { + content: "\F478"; +} + +.mdi-script-text::before { + content: "\FB9E"; +} + +.mdi-script-text-outline::before { + content: "\FB9F"; +} + +.mdi-sd::before { + content: "\F479"; +} + +.mdi-seal::before { + content: "\F47A"; +} + +.mdi-seal-variant::before { + content: "\FFFA"; +} + +.mdi-search-web::before { + content: "\F70E"; +} + +.mdi-seat::before { + content: "\FC9F"; +} + +.mdi-seat-flat::before { + content: "\F47B"; +} + +.mdi-seat-flat-angled::before { + content: "\F47C"; +} + +.mdi-seat-individual-suite::before { + content: "\F47D"; +} + +.mdi-seat-legroom-extra::before { + content: "\F47E"; +} + +.mdi-seat-legroom-normal::before { + content: "\F47F"; +} + +.mdi-seat-legroom-reduced::before { + content: "\F480"; +} + +.mdi-seat-outline::before { + content: "\FCA0"; +} + +.mdi-seat-passenger::before { + content: "\F0274"; +} + +.mdi-seat-recline-extra::before { + content: "\F481"; +} + +.mdi-seat-recline-normal::before { + content: "\F482"; +} + +.mdi-seatbelt::before { + content: "\FCA1"; +} + +.mdi-security::before { + content: "\F483"; +} + +.mdi-security-network::before { + content: "\F484"; +} + +.mdi-seed::before { + content: "\FE45"; +} + +.mdi-seed-outline::before { + content: "\FE46"; +} + +.mdi-segment::before { + content: "\FEE8"; +} + +.mdi-select::before { + content: "\F485"; +} + +.mdi-select-all::before { + content: "\F486"; +} + +.mdi-select-color::before { + content: "\FD0D"; +} + +.mdi-select-compare::before { + content: "\FAD8"; +} + +.mdi-select-drag::before { + content: "\FA6B"; +} + +.mdi-select-group::before { + content: "\FF9F"; +} + +.mdi-select-inverse::before { + content: "\F487"; +} + +.mdi-select-marker::before { + content: "\F02AB"; +} + +.mdi-select-multiple::before { + content: "\F02AC"; +} + +.mdi-select-multiple-marker::before { + content: "\F02AD"; +} + +.mdi-select-off::before { + content: "\F488"; +} + +.mdi-select-place::before { + content: "\FFFB"; +} + +.mdi-select-search::before { + content: "\F022F"; +} + +.mdi-selection::before { + content: "\F489"; +} + +.mdi-selection-drag::before { + content: "\FA6C"; +} + +.mdi-selection-ellipse::before { + content: "\FD0E"; +} + +.mdi-selection-ellipse-arrow-inside::before { + content: "\FF3F"; +} + +.mdi-selection-marker::before { + content: "\F02AE"; +} + +.mdi-selection-multiple-marker::before { + content: "\F02AF"; +} + +.mdi-selection-mutliple::before { + content: "\F02B0"; +} + +.mdi-selection-off::before { + content: "\F776"; +} + +.mdi-selection-search::before { + content: "\F0230"; +} + +.mdi-send::before { + content: "\F48A"; +} + +.mdi-send-check::before { + content: "\F018C"; +} + +.mdi-send-check-outline::before { + content: "\F018D"; +} + +.mdi-send-circle::before { + content: "\FE58"; +} + +.mdi-send-circle-outline::before { + content: "\FE59"; +} + +.mdi-send-clock::before { + content: "\F018E"; +} + +.mdi-send-clock-outline::before { + content: "\F018F"; +} + +.mdi-send-lock::before { + content: "\F7EC"; +} + +.mdi-send-lock-outline::before { + content: "\F0191"; +} + +.mdi-send-outline::before { + content: "\F0190"; +} + +.mdi-serial-port::before { + content: "\F65C"; +} + +.mdi-server::before { + content: "\F48B"; +} + +.mdi-server-minus::before { + content: "\F48C"; +} + +.mdi-server-network::before { + content: "\F48D"; +} + +.mdi-server-network-off::before { + content: "\F48E"; +} + +.mdi-server-off::before { + content: "\F48F"; +} + +.mdi-server-plus::before { + content: "\F490"; +} + +.mdi-server-remove::before { + content: "\F491"; +} + +.mdi-server-security::before { + content: "\F492"; +} + +.mdi-set-all::before { + content: "\F777"; +} + +.mdi-set-center::before { + content: "\F778"; +} + +.mdi-set-center-right::before { + content: "\F779"; +} + +.mdi-set-left::before { + content: "\F77A"; +} + +.mdi-set-left-center::before { + content: "\F77B"; +} + +.mdi-set-left-right::before { + content: "\F77C"; +} + +.mdi-set-none::before { + content: "\F77D"; +} + +.mdi-set-right::before { + content: "\F77E"; +} + +.mdi-set-top-box::before { + content: "\F99E"; +} + +.mdi-settings::before { + content: "\F493"; +} + +.mdi-settings-box::before { + content: "\F494"; +} + +.mdi-settings-helper::before { + content: "\FA6D"; +} + +.mdi-settings-outline::before { + content: "\F8BA"; +} + +.mdi-settings-transfer::before { + content: "\F007D"; +} + +.mdi-settings-transfer-outline::before { + content: "\F007E"; +} + +.mdi-shaker::before { + content: "\F0139"; +} + +.mdi-shaker-outline::before { + content: "\F013A"; +} + +.mdi-shape::before { + content: "\F830"; +} + +.mdi-shape-circle-plus::before { + content: "\F65D"; +} + +.mdi-shape-outline::before { + content: "\F831"; +} + +.mdi-shape-oval-plus::before { + content: "\F0225"; +} + +.mdi-shape-plus::before { + content: "\F495"; +} + +.mdi-shape-polygon-plus::before { + content: "\F65E"; +} + +.mdi-shape-rectangle-plus::before { + content: "\F65F"; +} + +.mdi-shape-square-plus::before { + content: "\F660"; +} + +.mdi-share::before { + content: "\F496"; +} + +.mdi-share-all::before { + content: "\F021F"; +} + +.mdi-share-all-outline::before { + content: "\F0220"; +} + +.mdi-share-circle::before { + content: "\F01D8"; +} + +.mdi-share-off::before { + content: "\FF40"; +} + +.mdi-share-off-outline::before { + content: "\FF41"; +} + +.mdi-share-outline::before { + content: "\F931"; +} + +.mdi-share-variant::before { + content: "\F497"; +} + +.mdi-sheep::before { + content: "\FCA2"; +} + +.mdi-shield::before { + content: "\F498"; +} + +.mdi-shield-account::before { + content: "\F88E"; +} + +.mdi-shield-account-outline::before { + content: "\FA11"; +} + +.mdi-shield-airplane::before { + content: "\F6BA"; +} + +.mdi-shield-airplane-outline::before { + content: "\FCA3"; +} + +.mdi-shield-alert::before { + content: "\FEE9"; +} + +.mdi-shield-alert-outline::before { + content: "\FEEA"; +} + +.mdi-shield-car::before { + content: "\FFA0"; +} + +.mdi-shield-check::before { + content: "\F565"; +} + +.mdi-shield-check-outline::before { + content: "\FCA4"; +} + +.mdi-shield-cross::before { + content: "\FCA5"; +} + +.mdi-shield-cross-outline::before { + content: "\FCA6"; +} + +.mdi-shield-edit::before { + content: "\F01CB"; +} + +.mdi-shield-edit-outline::before { + content: "\F01CC"; +} + +.mdi-shield-half-full::before { + content: "\F77F"; +} + +.mdi-shield-home::before { + content: "\F689"; +} + +.mdi-shield-home-outline::before { + content: "\FCA7"; +} + +.mdi-shield-key::before { + content: "\FBA0"; +} + +.mdi-shield-key-outline::before { + content: "\FBA1"; +} + +.mdi-shield-link-variant::before { + content: "\FD0F"; +} + +.mdi-shield-link-variant-outline::before { + content: "\FD10"; +} + +.mdi-shield-lock::before { + content: "\F99C"; +} + +.mdi-shield-lock-outline::before { + content: "\FCA8"; +} + +.mdi-shield-off::before { + content: "\F99D"; +} + +.mdi-shield-off-outline::before { + content: "\F99B"; +} + +.mdi-shield-outline::before { + content: "\F499"; +} + +.mdi-shield-plus::before { + content: "\FAD9"; +} + +.mdi-shield-plus-outline::before { + content: "\FADA"; +} + +.mdi-shield-refresh::before { + content: "\F01CD"; +} + +.mdi-shield-refresh-outline::before { + content: "\F01CE"; +} + +.mdi-shield-remove::before { + content: "\FADB"; +} + +.mdi-shield-remove-outline::before { + content: "\FADC"; +} + +.mdi-shield-search::before { + content: "\FD76"; +} + +.mdi-shield-star::before { + content: "\F0166"; +} + +.mdi-shield-star-outline::before { + content: "\F0167"; +} + +.mdi-shield-sun::before { + content: "\F007F"; +} + +.mdi-shield-sun-outline::before { + content: "\F0080"; +} + +.mdi-ship-wheel::before { + content: "\F832"; +} + +.mdi-shoe-formal::before { + content: "\FB22"; +} + +.mdi-shoe-heel::before { + content: "\FB23"; +} + +.mdi-shoe-print::before { + content: "\FE5A"; +} + +.mdi-shopify::before { + content: "\FADD"; +} + +.mdi-shopping::before { + content: "\F49A"; +} + +.mdi-shopping-music::before { + content: "\F49B"; +} + +.mdi-shopping-outline::before { + content: "\F0200"; +} + +.mdi-shopping-search::before { + content: "\FFA1"; +} + +.mdi-shovel::before { + content: "\F70F"; +} + +.mdi-shovel-off::before { + content: "\F710"; +} + +.mdi-shower::before { + content: "\F99F"; +} + +.mdi-shower-head::before { + content: "\F9A0"; +} + +.mdi-shredder::before { + content: "\F49C"; +} + +.mdi-shuffle::before { + content: "\F49D"; +} + +.mdi-shuffle-disabled::before { + content: "\F49E"; +} + +.mdi-shuffle-variant::before { + content: "\F49F"; +} + +.mdi-sigma::before { + content: "\F4A0"; +} + +.mdi-sigma-lower::before { + content: "\F62B"; +} + +.mdi-sign-caution::before { + content: "\F4A1"; +} + +.mdi-sign-direction::before { + content: "\F780"; +} + +.mdi-sign-direction-minus::before { + content: "\F0022"; +} + +.mdi-sign-direction-plus::before { + content: "\FFFD"; +} + +.mdi-sign-direction-remove::before { + content: "\FFFE"; +} + +.mdi-sign-real-estate::before { + content: "\F0143"; +} + +.mdi-sign-text::before { + content: "\F781"; +} + +.mdi-signal::before { + content: "\F4A2"; +} + +.mdi-signal-2g::before { + content: "\F711"; +} + +.mdi-signal-3g::before { + content: "\F712"; +} + +.mdi-signal-4g::before { + content: "\F713"; +} + +.mdi-signal-5g::before { + content: "\FA6E"; +} + +.mdi-signal-cellular-1::before { + content: "\F8BB"; +} + +.mdi-signal-cellular-2::before { + content: "\F8BC"; +} + +.mdi-signal-cellular-3::before { + content: "\F8BD"; +} + +.mdi-signal-cellular-outline::before { + content: "\F8BE"; +} + +.mdi-signal-distance-variant::before { + content: "\FE47"; +} + +.mdi-signal-hspa::before { + content: "\F714"; +} + +.mdi-signal-hspa-plus::before { + content: "\F715"; +} + +.mdi-signal-off::before { + content: "\F782"; +} + +.mdi-signal-variant::before { + content: "\F60A"; +} + +.mdi-signature::before { + content: "\FE5B"; +} + +.mdi-signature-freehand::before { + content: "\FE5C"; +} + +.mdi-signature-image::before { + content: "\FE5D"; +} + +.mdi-signature-text::before { + content: "\FE5E"; +} + +.mdi-silo::before { + content: "\FB24"; +} + +.mdi-silverware::before { + content: "\F4A3"; +} + +.mdi-silverware-clean::before { + content: "\FFFF"; +} + +.mdi-silverware-fork::before { + content: "\F4A4"; +} + +.mdi-silverware-fork-knife::before { + content: "\FA6F"; +} + +.mdi-silverware-spoon::before { + content: "\F4A5"; +} + +.mdi-silverware-variant::before { + content: "\F4A6"; +} + +.mdi-sim::before { + content: "\F4A7"; +} + +.mdi-sim-alert::before { + content: "\F4A8"; +} + +.mdi-sim-off::before { + content: "\F4A9"; +} + +.mdi-sina-weibo::before { + content: "\FADE"; +} + +.mdi-sitemap::before { + content: "\F4AA"; +} + +.mdi-skate::before { + content: "\FD11"; +} + +.mdi-skew-less::before { + content: "\FD12"; +} + +.mdi-skew-more::before { + content: "\FD13"; +} + +.mdi-skip-backward::before { + content: "\F4AB"; +} + +.mdi-skip-backward-outline::before { + content: "\FF42"; +} + +.mdi-skip-forward::before { + content: "\F4AC"; +} + +.mdi-skip-forward-outline::before { + content: "\FF43"; +} + +.mdi-skip-next::before { + content: "\F4AD"; +} + +.mdi-skip-next-circle::before { + content: "\F661"; +} + +.mdi-skip-next-circle-outline::before { + content: "\F662"; +} + +.mdi-skip-next-outline::before { + content: "\FF44"; +} + +.mdi-skip-previous::before { + content: "\F4AE"; +} + +.mdi-skip-previous-circle::before { + content: "\F663"; +} + +.mdi-skip-previous-circle-outline::before { + content: "\F664"; +} + +.mdi-skip-previous-outline::before { + content: "\FF45"; +} + +.mdi-skull::before { + content: "\F68B"; +} + +.mdi-skull-crossbones::before { + content: "\FBA2"; +} + +.mdi-skull-crossbones-outline::before { + content: "\FBA3"; +} + +.mdi-skull-outline::before { + content: "\FBA4"; +} + +.mdi-skype::before { + content: "\F4AF"; +} + +.mdi-skype-business::before { + content: "\F4B0"; +} + +.mdi-slack::before { + content: "\F4B1"; +} + +.mdi-slackware::before { + content: "\F90A"; +} + +.mdi-slash-forward::before { + content: "\F0000"; +} + +.mdi-slash-forward-box::before { + content: "\F0001"; +} + +.mdi-sleep::before { + content: "\F4B2"; +} + +.mdi-sleep-off::before { + content: "\F4B3"; +} + +.mdi-slope-downhill::before { + content: "\FE5F"; +} + +.mdi-slope-uphill::before { + content: "\FE60"; +} + +.mdi-slot-machine::before { + content: "\F013F"; +} + +.mdi-slot-machine-outline::before { + content: "\F0140"; +} + +.mdi-smart-card::before { + content: "\F00E8"; +} + +.mdi-smart-card-outline::before { + content: "\F00E9"; +} + +.mdi-smart-card-reader::before { + content: "\F00EA"; +} + +.mdi-smart-card-reader-outline::before { + content: "\F00EB"; +} + +.mdi-smog::before { + content: "\FA70"; +} + +.mdi-smoke-detector::before { + content: "\F392"; +} + +.mdi-smoking::before { + content: "\F4B4"; +} + +.mdi-smoking-off::before { + content: "\F4B5"; +} + +.mdi-snapchat::before { + content: "\F4B6"; +} + +.mdi-snowflake::before { + content: "\F716"; +} + +.mdi-snowflake-alert::before { + content: "\FF46"; +} + +.mdi-snowflake-variant::before { + content: "\FF47"; +} + +.mdi-snowman::before { + content: "\F4B7"; +} + +.mdi-soccer::before { + content: "\F4B8"; +} + +.mdi-soccer-field::before { + content: "\F833"; +} + +.mdi-sofa::before { + content: "\F4B9"; +} + +.mdi-solar-panel::before { + content: "\FD77"; +} + +.mdi-solar-panel-large::before { + content: "\FD78"; +} + +.mdi-solar-power::before { + content: "\FA71"; +} + +.mdi-soldering-iron::before { + content: "\F00BD"; +} + +.mdi-solid::before { + content: "\F68C"; +} + +.mdi-sort::before { + content: "\F4BA"; +} + +.mdi-sort-alphabetical::before { + content: "\F4BB"; +} + +.mdi-sort-alphabetical-ascending::before { + content: "\F0173"; +} + +.mdi-sort-alphabetical-descending::before { + content: "\F0174"; +} + +.mdi-sort-ascending::before { + content: "\F4BC"; +} + +.mdi-sort-descending::before { + content: "\F4BD"; +} + +.mdi-sort-numeric::before { + content: "\F4BE"; +} + +.mdi-sort-variant::before { + content: "\F4BF"; +} + +.mdi-sort-variant-lock::before { + content: "\FCA9"; +} + +.mdi-sort-variant-lock-open::before { + content: "\FCAA"; +} + +.mdi-sort-variant-remove::before { + content: "\F0172"; +} + +.mdi-soundcloud::before { + content: "\F4C0"; +} + +.mdi-source-branch::before { + content: "\F62C"; +} + +.mdi-source-commit::before { + content: "\F717"; +} + +.mdi-source-commit-end::before { + content: "\F718"; +} + +.mdi-source-commit-end-local::before { + content: "\F719"; +} + +.mdi-source-commit-local::before { + content: "\F71A"; +} + +.mdi-source-commit-next-local::before { + content: "\F71B"; +} + +.mdi-source-commit-start::before { + content: "\F71C"; +} + +.mdi-source-commit-start-next-local::before { + content: "\F71D"; +} + +.mdi-source-fork::before { + content: "\F4C1"; +} + +.mdi-source-merge::before { + content: "\F62D"; +} + +.mdi-source-pull::before { + content: "\F4C2"; +} + +.mdi-source-repository::before { + content: "\FCAB"; +} + +.mdi-source-repository-multiple::before { + content: "\FCAC"; +} + +.mdi-soy-sauce::before { + content: "\F7ED"; +} + +.mdi-spa::before { + content: "\FCAD"; +} + +.mdi-spa-outline::before { + content: "\FCAE"; +} + +.mdi-space-invaders::before { + content: "\FBA5"; +} + +.mdi-spade::before { + content: "\FE48"; +} + +.mdi-speaker::before { + content: "\F4C3"; +} + +.mdi-speaker-bluetooth::before { + content: "\F9A1"; +} + +.mdi-speaker-multiple::before { + content: "\FD14"; +} + +.mdi-speaker-off::before { + content: "\F4C4"; +} + +.mdi-speaker-wireless::before { + content: "\F71E"; +} + +.mdi-speedometer::before { + content: "\F4C5"; +} + +.mdi-speedometer-medium::before { + content: "\FFA2"; +} + +.mdi-speedometer-slow::before { + content: "\FFA3"; +} + +.mdi-spellcheck::before { + content: "\F4C6"; +} + +.mdi-spider::before { + content: "\F0215"; +} + +.mdi-spider-thread::before { + content: "\F0216"; +} + +.mdi-spider-web::before { + content: "\FBA6"; +} + +.mdi-spotify::before { + content: "\F4C7"; +} + +.mdi-spotlight::before { + content: "\F4C8"; +} + +.mdi-spotlight-beam::before { + content: "\F4C9"; +} + +.mdi-spray::before { + content: "\F665"; +} + +.mdi-spray-bottle::before { + content: "\FADF"; +} + +.mdi-sprinkler::before { + content: "\F0081"; +} + +.mdi-sprinkler-variant::before { + content: "\F0082"; +} + +.mdi-sprout::before { + content: "\FE49"; +} + +.mdi-sprout-outline::before { + content: "\FE4A"; +} + +.mdi-square::before { + content: "\F763"; +} + +.mdi-square-edit-outline::before { + content: "\F90B"; +} + +.mdi-square-inc::before { + content: "\F4CA"; +} + +.mdi-square-inc-cash::before { + content: "\F4CB"; +} + +.mdi-square-medium::before { + content: "\FA12"; +} + +.mdi-square-medium-outline::before { + content: "\FA13"; +} + +.mdi-square-outline::before { + content: "\F762"; +} + +.mdi-square-root::before { + content: "\F783"; +} + +.mdi-square-root-box::before { + content: "\F9A2"; +} + +.mdi-square-small::before { + content: "\FA14"; +} + +.mdi-squeegee::before { + content: "\FAE0"; +} + +.mdi-ssh::before { + content: "\F8BF"; +} + +.mdi-stack-exchange::before { + content: "\F60B"; +} + +.mdi-stack-overflow::before { + content: "\F4CC"; +} + +.mdi-stadium::before { + content: "\F001A"; +} + +.mdi-stadium-variant::before { + content: "\F71F"; +} + +.mdi-stairs::before { + content: "\F4CD"; +} + +.mdi-stamper::before { + content: "\FD15"; +} + +.mdi-standard-definition::before { + content: "\F7EE"; +} + +.mdi-star::before { + content: "\F4CE"; +} + +.mdi-star-box::before { + content: "\FA72"; +} + +.mdi-star-box-multiple::before { + content: "\F02B1"; +} + +.mdi-star-box-multiple-outline::before { + content: "\F02B2"; +} + +.mdi-star-box-outline::before { + content: "\FA73"; +} + +.mdi-star-circle::before { + content: "\F4CF"; +} + +.mdi-star-circle-outline::before { + content: "\F9A3"; +} + +.mdi-star-face::before { + content: "\F9A4"; +} + +.mdi-star-four-points::before { + content: "\FAE1"; +} + +.mdi-star-four-points-outline::before { + content: "\FAE2"; +} + +.mdi-star-half::before { + content: "\F4D0"; +} + +.mdi-star-off::before { + content: "\F4D1"; +} + +.mdi-star-outline::before { + content: "\F4D2"; +} + +.mdi-star-three-points::before { + content: "\FAE3"; +} + +.mdi-star-three-points-outline::before { + content: "\FAE4"; +} + +.mdi-state-machine::before { + content: "\F021A"; +} + +.mdi-steam::before { + content: "\F4D3"; +} + +.mdi-steam-box::before { + content: "\F90C"; +} + +.mdi-steering::before { + content: "\F4D4"; +} + +.mdi-steering-off::before { + content: "\F90D"; +} + +.mdi-step-backward::before { + content: "\F4D5"; +} + +.mdi-step-backward-2::before { + content: "\F4D6"; +} + +.mdi-step-forward::before { + content: "\F4D7"; +} + +.mdi-step-forward-2::before { + content: "\F4D8"; +} + +.mdi-stethoscope::before { + content: "\F4D9"; +} + +.mdi-sticker::before { + content: "\F5D0"; +} + +.mdi-sticker-emoji::before { + content: "\F784"; +} + +.mdi-stocking::before { + content: "\F4DA"; +} + +.mdi-stomach::before { + content: "\F00BE"; +} + +.mdi-stop::before { + content: "\F4DB"; +} + +.mdi-stop-circle::before { + content: "\F666"; +} + +.mdi-stop-circle-outline::before { + content: "\F667"; +} + +.mdi-store::before { + content: "\F4DC"; +} + +.mdi-store-24-hour::before { + content: "\F4DD"; +} + +.mdi-storefront::before { + content: "\F00EC"; +} + +.mdi-stove::before { + content: "\F4DE"; +} + +.mdi-strategy::before { + content: "\F0201"; +} + +.mdi-strava::before { + content: "\FB25"; +} + +.mdi-stretch-to-page::before { + content: "\FF48"; +} + +.mdi-stretch-to-page-outline::before { + content: "\FF49"; +} + +.mdi-string-lights::before { + content: "\F02E5"; +} + +.mdi-string-lights-off::before { + content: "\F02E6"; +} + +.mdi-subdirectory-arrow-left::before { + content: "\F60C"; +} + +.mdi-subdirectory-arrow-right::before { + content: "\F60D"; +} + +.mdi-subtitles::before { + content: "\FA15"; +} + +.mdi-subtitles-outline::before { + content: "\FA16"; +} + +.mdi-subway::before { + content: "\F6AB"; +} + +.mdi-subway-alert-variant::before { + content: "\FD79"; +} + +.mdi-subway-variant::before { + content: "\F4DF"; +} + +.mdi-summit::before { + content: "\F785"; +} + +.mdi-sunglasses::before { + content: "\F4E0"; +} + +.mdi-surround-sound::before { + content: "\F5C5"; +} + +.mdi-surround-sound-2-0::before { + content: "\F7EF"; +} + +.mdi-surround-sound-3-1::before { + content: "\F7F0"; +} + +.mdi-surround-sound-5-1::before { + content: "\F7F1"; +} + +.mdi-surround-sound-7-1::before { + content: "\F7F2"; +} + +.mdi-svg::before { + content: "\F720"; +} + +.mdi-swap-horizontal::before { + content: "\F4E1"; +} + +.mdi-swap-horizontal-bold::before { + content: "\FBA9"; +} + +.mdi-swap-horizontal-circle::before { + content: "\F0002"; +} + +.mdi-swap-horizontal-circle-outline::before { + content: "\F0003"; +} + +.mdi-swap-horizontal-variant::before { + content: "\F8C0"; +} + +.mdi-swap-vertical::before { + content: "\F4E2"; +} + +.mdi-swap-vertical-bold::before { + content: "\FBAA"; +} + +.mdi-swap-vertical-circle::before { + content: "\F0004"; +} + +.mdi-swap-vertical-circle-outline::before { + content: "\F0005"; +} + +.mdi-swap-vertical-variant::before { + content: "\F8C1"; +} + +.mdi-swim::before { + content: "\F4E3"; +} + +.mdi-switch::before { + content: "\F4E4"; +} + +.mdi-sword::before { + content: "\F4E5"; +} + +.mdi-sword-cross::before { + content: "\F786"; +} + +.mdi-symfony::before { + content: "\FAE5"; +} + +.mdi-sync::before { + content: "\F4E6"; +} + +.mdi-sync-alert::before { + content: "\F4E7"; +} + +.mdi-sync-off::before { + content: "\F4E8"; +} + +.mdi-tab::before { + content: "\F4E9"; +} + +.mdi-tab-minus::before { + content: "\FB26"; +} + +.mdi-tab-plus::before { + content: "\F75B"; +} + +.mdi-tab-remove::before { + content: "\FB27"; +} + +.mdi-tab-unselected::before { + content: "\F4EA"; +} + +.mdi-table::before { + content: "\F4EB"; +} + +.mdi-table-border::before { + content: "\FA17"; +} + +.mdi-table-chair::before { + content: "\F0083"; +} + +.mdi-table-column::before { + content: "\F834"; +} + +.mdi-table-column-plus-after::before { + content: "\F4EC"; +} + +.mdi-table-column-plus-before::before { + content: "\F4ED"; +} + +.mdi-table-column-remove::before { + content: "\F4EE"; +} + +.mdi-table-column-width::before { + content: "\F4EF"; +} + +.mdi-table-edit::before { + content: "\F4F0"; +} + +.mdi-table-eye::before { + content: "\F00BF"; +} + +.mdi-table-headers-eye::before { + content: "\F0248"; +} + +.mdi-table-headers-eye-off::before { + content: "\F0249"; +} + +.mdi-table-large::before { + content: "\F4F1"; +} + +.mdi-table-large-plus::before { + content: "\FFA4"; +} + +.mdi-table-large-remove::before { + content: "\FFA5"; +} + +.mdi-table-merge-cells::before { + content: "\F9A5"; +} + +.mdi-table-of-contents::before { + content: "\F835"; +} + +.mdi-table-plus::before { + content: "\FA74"; +} + +.mdi-table-remove::before { + content: "\FA75"; +} + +.mdi-table-row::before { + content: "\F836"; +} + +.mdi-table-row-height::before { + content: "\F4F2"; +} + +.mdi-table-row-plus-after::before { + content: "\F4F3"; +} + +.mdi-table-row-plus-before::before { + content: "\F4F4"; +} + +.mdi-table-row-remove::before { + content: "\F4F5"; +} + +.mdi-table-search::before { + content: "\F90E"; +} + +.mdi-table-settings::before { + content: "\F837"; +} + +.mdi-table-tennis::before { + content: "\FE4B"; +} + +.mdi-tablet::before { + content: "\F4F6"; +} + +.mdi-tablet-android::before { + content: "\F4F7"; +} + +.mdi-tablet-cellphone::before { + content: "\F9A6"; +} + +.mdi-tablet-dashboard::before { + content: "\FEEB"; +} + +.mdi-tablet-ipad::before { + content: "\F4F8"; +} + +.mdi-taco::before { + content: "\F761"; +} + +.mdi-tag::before { + content: "\F4F9"; +} + +.mdi-tag-faces::before { + content: "\F4FA"; +} + +.mdi-tag-heart::before { + content: "\F68A"; +} + +.mdi-tag-heart-outline::before { + content: "\FBAB"; +} + +.mdi-tag-minus::before { + content: "\F90F"; +} + +.mdi-tag-minus-outline::before { + content: "\F024A"; +} + +.mdi-tag-multiple::before { + content: "\F4FB"; +} + +.mdi-tag-off::before { + content: "\F024B"; +} + +.mdi-tag-off-outline::before { + content: "\F024C"; +} + +.mdi-tag-outline::before { + content: "\F4FC"; +} + +.mdi-tag-plus::before { + content: "\F721"; +} + +.mdi-tag-plus-outline::before { + content: "\F024D"; +} + +.mdi-tag-remove::before { + content: "\F722"; +} + +.mdi-tag-remove-outline::before { + content: "\F024E"; +} + +.mdi-tag-text::before { + content: "\F024F"; +} + +.mdi-tag-text-outline::before { + content: "\F4FD"; +} + +.mdi-tank::before { + content: "\FD16"; +} + +.mdi-tanker-truck::before { + content: "\F0006"; +} + +.mdi-tape-measure::before { + content: "\FB28"; +} + +.mdi-target::before { + content: "\F4FE"; +} + +.mdi-target-account::before { + content: "\FBAC"; +} + +.mdi-target-variant::before { + content: "\FA76"; +} + +.mdi-taxi::before { + content: "\F4FF"; +} + +.mdi-tea::before { + content: "\FD7A"; +} + +.mdi-tea-outline::before { + content: "\FD7B"; +} + +.mdi-teach::before { + content: "\F88F"; +} + +.mdi-teamviewer::before { + content: "\F500"; +} + +.mdi-telegram::before { + content: "\F501"; +} + +.mdi-telescope::before { + content: "\FB29"; +} + +.mdi-television::before { + content: "\F502"; +} + +.mdi-television-box::before { + content: "\F838"; +} + +.mdi-television-classic::before { + content: "\F7F3"; +} + +.mdi-television-classic-off::before { + content: "\F839"; +} + +.mdi-television-clean::before { + content: "\F013B"; +} + +.mdi-television-guide::before { + content: "\F503"; +} + +.mdi-television-off::before { + content: "\F83A"; +} + +.mdi-television-pause::before { + content: "\FFA6"; +} + +.mdi-television-play::before { + content: "\FEEC"; +} + +.mdi-television-stop::before { + content: "\FFA7"; +} + +.mdi-temperature-celsius::before { + content: "\F504"; +} + +.mdi-temperature-fahrenheit::before { + content: "\F505"; +} + +.mdi-temperature-kelvin::before { + content: "\F506"; +} + +.mdi-tennis::before { + content: "\FD7C"; +} + +.mdi-tennis-ball::before { + content: "\F507"; +} + +.mdi-tent::before { + content: "\F508"; +} + +.mdi-terraform::before { + content: "\F0084"; +} + +.mdi-terrain::before { + content: "\F509"; +} + +.mdi-test-tube::before { + content: "\F668"; +} + +.mdi-test-tube-empty::before { + content: "\F910"; +} + +.mdi-test-tube-off::before { + content: "\F911"; +} + +.mdi-text::before { + content: "\F9A7"; +} + +.mdi-text-recognition::before { + content: "\F0168"; +} + +.mdi-text-shadow::before { + content: "\F669"; +} + +.mdi-text-short::before { + content: "\F9A8"; +} + +.mdi-text-subject::before { + content: "\F9A9"; +} + +.mdi-text-to-speech::before { + content: "\F50A"; +} + +.mdi-text-to-speech-off::before { + content: "\F50B"; +} + +.mdi-textarea::before { + content: "\F00C0"; +} + +.mdi-textbox::before { + content: "\F60E"; +} + +.mdi-textbox-password::before { + content: "\F7F4"; +} + +.mdi-texture::before { + content: "\F50C"; +} + +.mdi-texture-box::before { + content: "\F0007"; +} + +.mdi-theater::before { + content: "\F50D"; +} + +.mdi-theme-light-dark::before { + content: "\F50E"; +} + +.mdi-thermometer::before { + content: "\F50F"; +} + +.mdi-thermometer-alert::before { + content: "\FE61"; +} + +.mdi-thermometer-chevron-down::before { + content: "\FE62"; +} + +.mdi-thermometer-chevron-up::before { + content: "\FE63"; +} + +.mdi-thermometer-high::before { + content: "\F00ED"; +} + +.mdi-thermometer-lines::before { + content: "\F510"; +} + +.mdi-thermometer-low::before { + content: "\F00EE"; +} + +.mdi-thermometer-minus::before { + content: "\FE64"; +} + +.mdi-thermometer-plus::before { + content: "\FE65"; +} + +.mdi-thermostat::before { + content: "\F393"; +} + +.mdi-thermostat-box::before { + content: "\F890"; +} + +.mdi-thought-bubble::before { + content: "\F7F5"; +} + +.mdi-thought-bubble-outline::before { + content: "\F7F6"; +} + +.mdi-thumb-down::before { + content: "\F511"; +} + +.mdi-thumb-down-outline::before { + content: "\F512"; +} + +.mdi-thumb-up::before { + content: "\F513"; +} + +.mdi-thumb-up-outline::before { + content: "\F514"; +} + +.mdi-thumbs-up-down::before { + content: "\F515"; +} + +.mdi-ticket::before { + content: "\F516"; +} + +.mdi-ticket-account::before { + content: "\F517"; +} + +.mdi-ticket-confirmation::before { + content: "\F518"; +} + +.mdi-ticket-outline::before { + content: "\F912"; +} + +.mdi-ticket-percent::before { + content: "\F723"; +} + +.mdi-tie::before { + content: "\F519"; +} + +.mdi-tilde::before { + content: "\F724"; +} + +.mdi-timelapse::before { + content: "\F51A"; +} + +.mdi-timeline::before { + content: "\FBAD"; +} + +.mdi-timeline-alert::before { + content: "\FFB2"; +} + +.mdi-timeline-alert-outline::before { + content: "\FFB5"; +} + +.mdi-timeline-clock::before { + content: "\F0226"; +} + +.mdi-timeline-clock-outline::before { + content: "\F0227"; +} + +.mdi-timeline-help::before { + content: "\FFB6"; +} + +.mdi-timeline-help-outline::before { + content: "\FFB7"; +} + +.mdi-timeline-outline::before { + content: "\FBAE"; +} + +.mdi-timeline-plus::before { + content: "\FFB3"; +} + +.mdi-timeline-plus-outline::before { + content: "\FFB4"; +} + +.mdi-timeline-text::before { + content: "\FBAF"; +} + +.mdi-timeline-text-outline::before { + content: "\FBB0"; +} + +.mdi-timer::before { + content: "\F51B"; +} + +.mdi-timer-10::before { + content: "\F51C"; +} + +.mdi-timer-3::before { + content: "\F51D"; +} + +.mdi-timer-off::before { + content: "\F51E"; +} + +.mdi-timer-sand::before { + content: "\F51F"; +} + +.mdi-timer-sand-empty::before { + content: "\F6AC"; +} + +.mdi-timer-sand-full::before { + content: "\F78B"; +} + +.mdi-timetable::before { + content: "\F520"; +} + +.mdi-toaster::before { + content: "\F0085"; +} + +.mdi-toaster-off::before { + content: "\F01E2"; +} + +.mdi-toaster-oven::before { + content: "\FCAF"; +} + +.mdi-toggle-switch::before { + content: "\F521"; +} + +.mdi-toggle-switch-off::before { + content: "\F522"; +} + +.mdi-toggle-switch-off-outline::before { + content: "\FA18"; +} + +.mdi-toggle-switch-outline::before { + content: "\FA19"; +} + +.mdi-toilet::before { + content: "\F9AA"; +} + +.mdi-toolbox::before { + content: "\F9AB"; +} + +.mdi-toolbox-outline::before { + content: "\F9AC"; +} + +.mdi-tools::before { + content: "\F0086"; +} + +.mdi-tooltip::before { + content: "\F523"; +} + +.mdi-tooltip-account::before { + content: "\F00C"; +} + +.mdi-tooltip-edit::before { + content: "\F524"; +} + +.mdi-tooltip-image::before { + content: "\F525"; +} + +.mdi-tooltip-image-outline::before { + content: "\FBB1"; +} + +.mdi-tooltip-outline::before { + content: "\F526"; +} + +.mdi-tooltip-plus::before { + content: "\FBB2"; +} + +.mdi-tooltip-plus-outline::before { + content: "\F527"; +} + +.mdi-tooltip-text::before { + content: "\F528"; +} + +.mdi-tooltip-text-outline::before { + content: "\FBB3"; +} + +.mdi-tooth::before { + content: "\F8C2"; +} + +.mdi-tooth-outline::before { + content: "\F529"; +} + +.mdi-toothbrush::before { + content: "\F0154"; +} + +.mdi-toothbrush-electric::before { + content: "\F0157"; +} + +.mdi-toothbrush-paste::before { + content: "\F0155"; +} + +.mdi-tor::before { + content: "\F52A"; +} + +.mdi-tortoise::before { + content: "\FD17"; +} + +.mdi-toslink::before { + content: "\F02E3"; +} + +.mdi-tournament::before { + content: "\F9AD"; +} + +.mdi-tower-beach::before { + content: "\F680"; +} + +.mdi-tower-fire::before { + content: "\F681"; +} + +.mdi-towing::before { + content: "\F83B"; +} + +.mdi-toy-brick::before { + content: "\F02B3"; +} + +.mdi-toy-brick-marker::before { + content: "\F02B4"; +} + +.mdi-toy-brick-marker-outline::before { + content: "\F02B5"; +} + +.mdi-toy-brick-minus::before { + content: "\F02B6"; +} + +.mdi-toy-brick-minus-outline::before { + content: "\F02B7"; +} + +.mdi-toy-brick-outline::before { + content: "\F02B8"; +} + +.mdi-toy-brick-plus::before { + content: "\F02B9"; +} + +.mdi-toy-brick-plus-outline::before { + content: "\F02BA"; +} + +.mdi-toy-brick-remove::before { + content: "\F02BB"; +} + +.mdi-toy-brick-remove-outline::before { + content: "\F02BC"; +} + +.mdi-toy-brick-search::before { + content: "\F02BD"; +} + +.mdi-toy-brick-search-outline::before { + content: "\F02BE"; +} + +.mdi-track-light::before { + content: "\F913"; +} + +.mdi-trackpad::before { + content: "\F7F7"; +} + +.mdi-trackpad-lock::before { + content: "\F932"; +} + +.mdi-tractor::before { + content: "\F891"; +} + +.mdi-trademark::before { + content: "\FA77"; +} + +.mdi-traffic-light::before { + content: "\F52B"; +} + +.mdi-train::before { + content: "\F52C"; +} + +.mdi-train-car::before { + content: "\FBB4"; +} + +.mdi-train-variant::before { + content: "\F8C3"; +} + +.mdi-tram::before { + content: "\F52D"; +} + +.mdi-tram-side::before { + content: "\F0008"; +} + +.mdi-transcribe::before { + content: "\F52E"; +} + +.mdi-transcribe-close::before { + content: "\F52F"; +} + +.mdi-transfer::before { + content: "\F0087"; +} + +.mdi-transfer-down::before { + content: "\FD7D"; +} + +.mdi-transfer-left::before { + content: "\FD7E"; +} + +.mdi-transfer-right::before { + content: "\F530"; +} + +.mdi-transfer-up::before { + content: "\FD7F"; +} + +.mdi-transit-connection::before { + content: "\FD18"; +} + +.mdi-transit-connection-variant::before { + content: "\FD19"; +} + +.mdi-transit-detour::before { + content: "\FFA8"; +} + +.mdi-transit-transfer::before { + content: "\F6AD"; +} + +.mdi-transition::before { + content: "\F914"; +} + +.mdi-transition-masked::before { + content: "\F915"; +} + +.mdi-translate::before { + content: "\F5CA"; +} + +.mdi-translate-off::before { + content: "\FE66"; +} + +.mdi-transmission-tower::before { + content: "\FD1A"; +} + +.mdi-trash-can::before { + content: "\FA78"; +} + +.mdi-trash-can-outline::before { + content: "\FA79"; +} + +.mdi-tray::before { + content: "\F02BF"; +} + +.mdi-tray-alert::before { + content: "\F02C0"; +} + +.mdi-tray-full::before { + content: "\F02C1"; +} + +.mdi-tray-minus::before { + content: "\F02C2"; +} + +.mdi-tray-plus::before { + content: "\F02C3"; +} + +.mdi-tray-remove::before { + content: "\F02C4"; +} + +.mdi-treasure-chest::before { + content: "\F725"; +} + +.mdi-tree::before { + content: "\F531"; +} + +.mdi-tree-outline::before { + content: "\FE4C"; +} + +.mdi-trello::before { + content: "\F532"; +} + +.mdi-trending-down::before { + content: "\F533"; +} + +.mdi-trending-neutral::before { + content: "\F534"; +} + +.mdi-trending-up::before { + content: "\F535"; +} + +.mdi-triangle::before { + content: "\F536"; +} + +.mdi-triangle-outline::before { + content: "\F537"; +} + +.mdi-triforce::before { + content: "\FBB5"; +} + +.mdi-trophy::before { + content: "\F538"; +} + +.mdi-trophy-award::before { + content: "\F539"; +} + +.mdi-trophy-broken::before { + content: "\FD80"; +} + +.mdi-trophy-outline::before { + content: "\F53A"; +} + +.mdi-trophy-variant::before { + content: "\F53B"; +} + +.mdi-trophy-variant-outline::before { + content: "\F53C"; +} + +.mdi-truck::before { + content: "\F53D"; +} + +.mdi-truck-check::before { + content: "\FCB0"; +} + +.mdi-truck-check-outline::before { + content: "\F02C5"; +} + +.mdi-truck-delivery::before { + content: "\F53E"; +} + +.mdi-truck-delivery-outline::before { + content: "\F02C6"; +} + +.mdi-truck-fast::before { + content: "\F787"; +} + +.mdi-truck-fast-outline::before { + content: "\F02C7"; +} + +.mdi-truck-outline::before { + content: "\F02C8"; +} + +.mdi-truck-trailer::before { + content: "\F726"; +} + +.mdi-trumpet::before { + content: "\F00C1"; +} + +.mdi-tshirt-crew::before { + content: "\FA7A"; +} + +.mdi-tshirt-crew-outline::before { + content: "\F53F"; +} + +.mdi-tshirt-v::before { + content: "\FA7B"; +} + +.mdi-tshirt-v-outline::before { + content: "\F540"; +} + +.mdi-tumble-dryer::before { + content: "\F916"; +} + +.mdi-tumble-dryer-alert::before { + content: "\F01E5"; +} + +.mdi-tumble-dryer-off::before { + content: "\F01E6"; +} + +.mdi-tumblr::before { + content: "\F541"; +} + +.mdi-tumblr-box::before { + content: "\F917"; +} + +.mdi-tumblr-reblog::before { + content: "\F542"; +} + +.mdi-tune::before { + content: "\F62E"; +} + +.mdi-tune-vertical::before { + content: "\F66A"; +} + +.mdi-turnstile::before { + content: "\FCB1"; +} + +.mdi-turnstile-outline::before { + content: "\FCB2"; +} + +.mdi-turtle::before { + content: "\FCB3"; +} + +.mdi-twitch::before { + content: "\F543"; +} + +.mdi-twitter::before { + content: "\F544"; +} + +.mdi-twitter-box::before { + content: "\F545"; +} + +.mdi-twitter-circle::before { + content: "\F546"; +} + +.mdi-twitter-retweet::before { + content: "\F547"; +} + +.mdi-two-factor-authentication::before { + content: "\F9AE"; +} + +.mdi-typewriter::before { + content: "\FF4A"; +} + +.mdi-uber::before { + content: "\F748"; +} + +.mdi-ubisoft::before { + content: "\FBB6"; +} + +.mdi-ubuntu::before { + content: "\F548"; +} + +.mdi-ufo::before { + content: "\F00EF"; +} + +.mdi-ufo-outline::before { + content: "\F00F0"; +} + +.mdi-ultra-high-definition::before { + content: "\F7F8"; +} + +.mdi-umbraco::before { + content: "\F549"; +} + +.mdi-umbrella::before { + content: "\F54A"; +} + +.mdi-umbrella-closed::before { + content: "\F9AF"; +} + +.mdi-umbrella-outline::before { + content: "\F54B"; +} + +.mdi-undo::before { + content: "\F54C"; +} + +.mdi-undo-variant::before { + content: "\F54D"; +} + +.mdi-unfold-less-horizontal::before { + content: "\F54E"; +} + +.mdi-unfold-less-vertical::before { + content: "\F75F"; +} + +.mdi-unfold-more-horizontal::before { + content: "\F54F"; +} + +.mdi-unfold-more-vertical::before { + content: "\F760"; +} + +.mdi-ungroup::before { + content: "\F550"; +} + +.mdi-unicode::before { + content: "\FEED"; +} + +.mdi-unity::before { + content: "\F6AE"; +} + +.mdi-unreal::before { + content: "\F9B0"; +} + +.mdi-untappd::before { + content: "\F551"; +} + +.mdi-update::before { + content: "\F6AF"; +} + +.mdi-upload::before { + content: "\F552"; +} + +.mdi-upload-multiple::before { + content: "\F83C"; +} + +.mdi-upload-network::before { + content: "\F6F5"; +} + +.mdi-upload-network-outline::before { + content: "\FCB4"; +} + +.mdi-upload-off::before { + content: "\F00F1"; +} + +.mdi-upload-off-outline::before { + content: "\F00F2"; +} + +.mdi-upload-outline::before { + content: "\FE67"; +} + +.mdi-usb::before { + content: "\F553"; +} + +.mdi-usb-flash-drive::before { + content: "\F02C9"; +} + +.mdi-usb-flash-drive-outline::before { + content: "\F02CA"; +} + +.mdi-usb-port::before { + content: "\F021B"; +} + +.mdi-valve::before { + content: "\F0088"; +} + +.mdi-valve-closed::before { + content: "\F0089"; +} + +.mdi-valve-open::before { + content: "\F008A"; +} + +.mdi-van-passenger::before { + content: "\F7F9"; +} + +.mdi-van-utility::before { + content: "\F7FA"; +} + +.mdi-vanish::before { + content: "\F7FB"; +} + +.mdi-vanity-light::before { + content: "\F020C"; +} + +.mdi-variable::before { + content: "\FAE6"; +} + +.mdi-variable-box::before { + content: "\F013C"; +} + +.mdi-vector-arrange-above::before { + content: "\F554"; +} + +.mdi-vector-arrange-below::before { + content: "\F555"; +} + +.mdi-vector-bezier::before { + content: "\FAE7"; +} + +.mdi-vector-circle::before { + content: "\F556"; +} + +.mdi-vector-circle-variant::before { + content: "\F557"; +} + +.mdi-vector-combine::before { + content: "\F558"; +} + +.mdi-vector-curve::before { + content: "\F559"; +} + +.mdi-vector-difference::before { + content: "\F55A"; +} + +.mdi-vector-difference-ab::before { + content: "\F55B"; +} + +.mdi-vector-difference-ba::before { + content: "\F55C"; +} + +.mdi-vector-ellipse::before { + content: "\F892"; +} + +.mdi-vector-intersection::before { + content: "\F55D"; +} + +.mdi-vector-line::before { + content: "\F55E"; +} + +.mdi-vector-link::before { + content: "\F0009"; +} + +.mdi-vector-point::before { + content: "\F55F"; +} + +.mdi-vector-polygon::before { + content: "\F560"; +} + +.mdi-vector-polyline::before { + content: "\F561"; +} + +.mdi-vector-polyline-edit::before { + content: "\F0250"; +} + +.mdi-vector-polyline-minus::before { + content: "\F0251"; +} + +.mdi-vector-polyline-plus::before { + content: "\F0252"; +} + +.mdi-vector-polyline-remove::before { + content: "\F0253"; +} + +.mdi-vector-radius::before { + content: "\F749"; +} + +.mdi-vector-rectangle::before { + content: "\F5C6"; +} + +.mdi-vector-selection::before { + content: "\F562"; +} + +.mdi-vector-square::before { + content: "\F001"; +} + +.mdi-vector-triangle::before { + content: "\F563"; +} + +.mdi-vector-union::before { + content: "\F564"; +} + +.mdi-venmo::before { + content: "\F578"; +} + +.mdi-vhs::before { + content: "\FA1A"; +} + +.mdi-vibrate::before { + content: "\F566"; +} + +.mdi-vibrate-off::before { + content: "\FCB5"; +} + +.mdi-video::before { + content: "\F567"; +} + +.mdi-video-3d::before { + content: "\F7FC"; +} + +.mdi-video-3d-variant::before { + content: "\FEEE"; +} + +.mdi-video-4k-box::before { + content: "\F83D"; +} + +.mdi-video-account::before { + content: "\F918"; +} + +.mdi-video-check::before { + content: "\F008B"; +} + +.mdi-video-check-outline::before { + content: "\F008C"; +} + +.mdi-video-image::before { + content: "\F919"; +} + +.mdi-video-input-antenna::before { + content: "\F83E"; +} + +.mdi-video-input-component::before { + content: "\F83F"; +} + +.mdi-video-input-hdmi::before { + content: "\F840"; +} + +.mdi-video-input-scart::before { + content: "\FFA9"; +} + +.mdi-video-input-svideo::before { + content: "\F841"; +} + +.mdi-video-minus::before { + content: "\F9B1"; +} + +.mdi-video-off::before { + content: "\F568"; +} + +.mdi-video-off-outline::before { + content: "\FBB7"; +} + +.mdi-video-outline::before { + content: "\FBB8"; +} + +.mdi-video-plus::before { + content: "\F9B2"; +} + +.mdi-video-stabilization::before { + content: "\F91A"; +} + +.mdi-video-switch::before { + content: "\F569"; +} + +.mdi-video-vintage::before { + content: "\FA1B"; +} + +.mdi-video-wireless::before { + content: "\FEEF"; +} + +.mdi-video-wireless-outline::before { + content: "\FEF0"; +} + +.mdi-view-agenda::before { + content: "\F56A"; +} + +.mdi-view-agenda-outline::before { + content: "\F0203"; +} + +.mdi-view-array::before { + content: "\F56B"; +} + +.mdi-view-carousel::before { + content: "\F56C"; +} + +.mdi-view-column::before { + content: "\F56D"; +} + +.mdi-view-comfy::before { + content: "\FE4D"; +} + +.mdi-view-compact::before { + content: "\FE4E"; +} + +.mdi-view-compact-outline::before { + content: "\FE4F"; +} + +.mdi-view-dashboard::before { + content: "\F56E"; +} + +.mdi-view-dashboard-outline::before { + content: "\FA1C"; +} + +.mdi-view-dashboard-variant::before { + content: "\F842"; +} + +.mdi-view-day::before { + content: "\F56F"; +} + +.mdi-view-grid::before { + content: "\F570"; +} + +.mdi-view-grid-outline::before { + content: "\F0204"; +} + +.mdi-view-grid-plus::before { + content: "\FFAA"; +} + +.mdi-view-grid-plus-outline::before { + content: "\F0205"; +} + +.mdi-view-headline::before { + content: "\F571"; +} + +.mdi-view-list::before { + content: "\F572"; +} + +.mdi-view-module::before { + content: "\F573"; +} + +.mdi-view-parallel::before { + content: "\F727"; +} + +.mdi-view-quilt::before { + content: "\F574"; +} + +.mdi-view-sequential::before { + content: "\F728"; +} + +.mdi-view-split-horizontal::before { + content: "\FBA7"; +} + +.mdi-view-split-vertical::before { + content: "\FBA8"; +} + +.mdi-view-stream::before { + content: "\F575"; +} + +.mdi-view-week::before { + content: "\F576"; +} + +.mdi-vimeo::before { + content: "\F577"; +} + +.mdi-violin::before { + content: "\F60F"; +} + +.mdi-virtual-reality::before { + content: "\F893"; +} + +.mdi-visual-studio::before { + content: "\F610"; +} + +.mdi-visual-studio-code::before { + content: "\FA1D"; +} + +.mdi-vk::before { + content: "\F579"; +} + +.mdi-vk-box::before { + content: "\F57A"; +} + +.mdi-vk-circle::before { + content: "\F57B"; +} + +.mdi-vlc::before { + content: "\F57C"; +} + +.mdi-voice::before { + content: "\F5CB"; +} + +.mdi-voice-off::before { + content: "\FEF1"; +} + +.mdi-voicemail::before { + content: "\F57D"; +} + +.mdi-volleyball::before { + content: "\F9B3"; +} + +.mdi-volume-high::before { + content: "\F57E"; +} + +.mdi-volume-low::before { + content: "\F57F"; +} + +.mdi-volume-medium::before { + content: "\F580"; +} + +.mdi-volume-minus::before { + content: "\F75D"; +} + +.mdi-volume-mute::before { + content: "\F75E"; +} + +.mdi-volume-off::before { + content: "\F581"; +} + +.mdi-volume-plus::before { + content: "\F75C"; +} + +.mdi-volume-source::before { + content: "\F014B"; +} + +.mdi-volume-variant-off::before { + content: "\FE68"; +} + +.mdi-volume-vibrate::before { + content: "\F014C"; +} + +.mdi-vote::before { + content: "\FA1E"; +} + +.mdi-vote-outline::before { + content: "\FA1F"; +} + +.mdi-vpn::before { + content: "\F582"; +} + +.mdi-vuejs::before { + content: "\F843"; +} + +.mdi-vuetify::before { + content: "\FE50"; +} + +.mdi-walk::before { + content: "\F583"; +} + +.mdi-wall::before { + content: "\F7FD"; +} + +.mdi-wall-sconce::before { + content: "\F91B"; +} + +.mdi-wall-sconce-flat::before { + content: "\F91C"; +} + +.mdi-wall-sconce-variant::before { + content: "\F91D"; +} + +.mdi-wallet::before { + content: "\F584"; +} + +.mdi-wallet-giftcard::before { + content: "\F585"; +} + +.mdi-wallet-membership::before { + content: "\F586"; +} + +.mdi-wallet-outline::before { + content: "\FBB9"; +} + +.mdi-wallet-plus::before { + content: "\FFAB"; +} + +.mdi-wallet-plus-outline::before { + content: "\FFAC"; +} + +.mdi-wallet-travel::before { + content: "\F587"; +} + +.mdi-wallpaper::before { + content: "\FE69"; +} + +.mdi-wan::before { + content: "\F588"; +} + +.mdi-wardrobe::before { + content: "\FFAD"; +} + +.mdi-wardrobe-outline::before { + content: "\FFAE"; +} + +.mdi-warehouse::before { + content: "\FFBB"; +} + +.mdi-washing-machine::before { + content: "\F729"; +} + +.mdi-washing-machine-alert::before { + content: "\F01E7"; +} + +.mdi-washing-machine-off::before { + content: "\F01E8"; +} + +.mdi-watch::before { + content: "\F589"; +} + +.mdi-watch-export::before { + content: "\F58A"; +} + +.mdi-watch-export-variant::before { + content: "\F894"; +} + +.mdi-watch-import::before { + content: "\F58B"; +} + +.mdi-watch-import-variant::before { + content: "\F895"; +} + +.mdi-watch-variant::before { + content: "\F896"; +} + +.mdi-watch-vibrate::before { + content: "\F6B0"; +} + +.mdi-watch-vibrate-off::before { + content: "\FCB6"; +} + +.mdi-water::before { + content: "\F58C"; +} + +.mdi-water-boiler::before { + content: "\FFAF"; +} + +.mdi-water-boiler-alert::before { + content: "\F01DE"; +} + +.mdi-water-boiler-off::before { + content: "\F01DF"; +} + +.mdi-water-off::before { + content: "\F58D"; +} + +.mdi-water-outline::before { + content: "\FE6A"; +} + +.mdi-water-percent::before { + content: "\F58E"; +} + +.mdi-water-polo::before { + content: "\F02CB"; +} + +.mdi-water-pump::before { + content: "\F58F"; +} + +.mdi-water-pump-off::before { + content: "\FFB0"; +} + +.mdi-water-well::before { + content: "\F008D"; +} + +.mdi-water-well-outline::before { + content: "\F008E"; +} + +.mdi-watermark::before { + content: "\F612"; +} + +.mdi-wave::before { + content: "\FF4B"; +} + +.mdi-waves::before { + content: "\F78C"; +} + +.mdi-waze::before { + content: "\FBBA"; +} + +.mdi-weather-cloudy::before { + content: "\F590"; +} + +.mdi-weather-cloudy-alert::before { + content: "\FF4C"; +} + +.mdi-weather-cloudy-arrow-right::before { + content: "\FE51"; +} + +.mdi-weather-fog::before { + content: "\F591"; +} + +.mdi-weather-hail::before { + content: "\F592"; +} + +.mdi-weather-hazy::before { + content: "\FF4D"; +} + +.mdi-weather-hurricane::before { + content: "\F897"; +} + +.mdi-weather-lightning::before { + content: "\F593"; +} + +.mdi-weather-lightning-rainy::before { + content: "\F67D"; +} + +.mdi-weather-night::before { + content: "\F594"; +} + +.mdi-weather-night-partly-cloudy::before { + content: "\FF4E"; +} + +.mdi-weather-partly-cloudy::before { + content: "\F595"; +} + +.mdi-weather-partly-lightning::before { + content: "\FF4F"; +} + +.mdi-weather-partly-rainy::before { + content: "\FF50"; +} + +.mdi-weather-partly-snowy::before { + content: "\FF51"; +} + +.mdi-weather-partly-snowy-rainy::before { + content: "\FF52"; +} + +.mdi-weather-pouring::before { + content: "\F596"; +} + +.mdi-weather-rainy::before { + content: "\F597"; +} + +.mdi-weather-snowy::before { + content: "\F598"; +} + +.mdi-weather-snowy-heavy::before { + content: "\FF53"; +} + +.mdi-weather-snowy-rainy::before { + content: "\F67E"; +} + +.mdi-weather-sunny::before { + content: "\F599"; +} + +.mdi-weather-sunny-alert::before { + content: "\FF54"; +} + +.mdi-weather-sunset::before { + content: "\F59A"; +} + +.mdi-weather-sunset-down::before { + content: "\F59B"; +} + +.mdi-weather-sunset-up::before { + content: "\F59C"; +} + +.mdi-weather-tornado::before { + content: "\FF55"; +} + +.mdi-weather-windy::before { + content: "\F59D"; +} + +.mdi-weather-windy-variant::before { + content: "\F59E"; +} + +.mdi-web::before { + content: "\F59F"; +} + +.mdi-web-box::before { + content: "\FFB1"; +} + +.mdi-web-clock::before { + content: "\F0275"; +} + +.mdi-webcam::before { + content: "\F5A0"; +} + +.mdi-webhook::before { + content: "\F62F"; +} + +.mdi-webpack::before { + content: "\F72A"; +} + +.mdi-webrtc::before { + content: "\F0273"; +} + +.mdi-wechat::before { + content: "\F611"; +} + +.mdi-weight::before { + content: "\F5A1"; +} + +.mdi-weight-gram::before { + content: "\FD1B"; +} + +.mdi-weight-kilogram::before { + content: "\F5A2"; +} + +.mdi-weight-lifter::before { + content: "\F0188"; +} + +.mdi-weight-pound::before { + content: "\F9B4"; +} + +.mdi-whatsapp::before { + content: "\F5A3"; +} + +.mdi-wheelchair-accessibility::before { + content: "\F5A4"; +} + +.mdi-whistle::before { + content: "\F9B5"; +} + +.mdi-white-balance-auto::before { + content: "\F5A5"; +} + +.mdi-white-balance-incandescent::before { + content: "\F5A6"; +} + +.mdi-white-balance-iridescent::before { + content: "\F5A7"; +} + +.mdi-white-balance-sunny::before { + content: "\F5A8"; +} + +.mdi-widgets::before { + content: "\F72B"; +} + +.mdi-wifi::before { + content: "\F5A9"; +} + +.mdi-wifi-off::before { + content: "\F5AA"; +} + +.mdi-wifi-star::before { + content: "\FE6B"; +} + +.mdi-wifi-strength-1::before { + content: "\F91E"; +} + +.mdi-wifi-strength-1-alert::before { + content: "\F91F"; +} + +.mdi-wifi-strength-1-lock::before { + content: "\F920"; +} + +.mdi-wifi-strength-2::before { + content: "\F921"; +} + +.mdi-wifi-strength-2-alert::before { + content: "\F922"; +} + +.mdi-wifi-strength-2-lock::before { + content: "\F923"; +} + +.mdi-wifi-strength-3::before { + content: "\F924"; +} + +.mdi-wifi-strength-3-alert::before { + content: "\F925"; +} + +.mdi-wifi-strength-3-lock::before { + content: "\F926"; +} + +.mdi-wifi-strength-4::before { + content: "\F927"; +} + +.mdi-wifi-strength-4-alert::before { + content: "\F928"; +} + +.mdi-wifi-strength-4-lock::before { + content: "\F929"; +} + +.mdi-wifi-strength-alert-outline::before { + content: "\F92A"; +} + +.mdi-wifi-strength-lock-outline::before { + content: "\F92B"; +} + +.mdi-wifi-strength-off::before { + content: "\F92C"; +} + +.mdi-wifi-strength-off-outline::before { + content: "\F92D"; +} + +.mdi-wifi-strength-outline::before { + content: "\F92E"; +} + +.mdi-wii::before { + content: "\F5AB"; +} + +.mdi-wiiu::before { + content: "\F72C"; +} + +.mdi-wikipedia::before { + content: "\F5AC"; +} + +.mdi-wind-turbine::before { + content: "\FD81"; +} + +.mdi-window-close::before { + content: "\F5AD"; +} + +.mdi-window-closed::before { + content: "\F5AE"; +} + +.mdi-window-closed-variant::before { + content: "\F0206"; +} + +.mdi-window-maximize::before { + content: "\F5AF"; +} + +.mdi-window-minimize::before { + content: "\F5B0"; +} + +.mdi-window-open::before { + content: "\F5B1"; +} + +.mdi-window-open-variant::before { + content: "\F0207"; +} + +.mdi-window-restore::before { + content: "\F5B2"; +} + +.mdi-window-shutter::before { + content: "\F0147"; +} + +.mdi-window-shutter-alert::before { + content: "\F0148"; +} + +.mdi-window-shutter-open::before { + content: "\F0149"; +} + +.mdi-windows::before { + content: "\F5B3"; +} + +.mdi-windows-classic::before { + content: "\FA20"; +} + +.mdi-wiper::before { + content: "\FAE8"; +} + +.mdi-wiper-wash::before { + content: "\FD82"; +} + +.mdi-wordpress::before { + content: "\F5B4"; +} + +.mdi-worker::before { + content: "\F5B5"; +} + +.mdi-wrap::before { + content: "\F5B6"; +} + +.mdi-wrap-disabled::before { + content: "\FBBB"; +} + +.mdi-wrench::before { + content: "\F5B7"; +} + +.mdi-wrench-outline::before { + content: "\FBBC"; +} + +.mdi-wunderlist::before { + content: "\F5B8"; +} + +.mdi-xamarin::before { + content: "\F844"; +} + +.mdi-xamarin-outline::before { + content: "\F845"; +} + +.mdi-xaml::before { + content: "\F673"; +} + +.mdi-xbox::before { + content: "\F5B9"; +} + +.mdi-xbox-controller::before { + content: "\F5BA"; +} + +.mdi-xbox-controller-battery-alert::before { + content: "\F74A"; +} + +.mdi-xbox-controller-battery-charging::before { + content: "\FA21"; +} + +.mdi-xbox-controller-battery-empty::before { + content: "\F74B"; +} + +.mdi-xbox-controller-battery-full::before { + content: "\F74C"; +} + +.mdi-xbox-controller-battery-low::before { + content: "\F74D"; +} + +.mdi-xbox-controller-battery-medium::before { + content: "\F74E"; +} + +.mdi-xbox-controller-battery-unknown::before { + content: "\F74F"; +} + +.mdi-xbox-controller-menu::before { + content: "\FE52"; +} + +.mdi-xbox-controller-off::before { + content: "\F5BB"; +} + +.mdi-xbox-controller-view::before { + content: "\FE53"; +} + +.mdi-xda::before { + content: "\F5BC"; +} + +.mdi-xing::before { + content: "\F5BD"; +} + +.mdi-xing-box::before { + content: "\F5BE"; +} + +.mdi-xing-circle::before { + content: "\F5BF"; +} + +.mdi-xml::before { + content: "\F5C0"; +} + +.mdi-xmpp::before { + content: "\F7FE"; +} + +.mdi-yahoo::before { + content: "\FB2A"; +} + +.mdi-yammer::before { + content: "\F788"; +} + +.mdi-yeast::before { + content: "\F5C1"; +} + +.mdi-yelp::before { + content: "\F5C2"; +} + +.mdi-yin-yang::before { + content: "\F67F"; +} + +.mdi-yoga::before { + content: "\F01A7"; +} + +.mdi-youtube::before { + content: "\F5C3"; +} + +.mdi-youtube-creator-studio::before { + content: "\F846"; +} + +.mdi-youtube-gaming::before { + content: "\F847"; +} + +.mdi-youtube-subscription::before { + content: "\FD1C"; +} + +.mdi-youtube-tv::before { + content: "\F448"; +} + +.mdi-z-wave::before { + content: "\FAE9"; +} + +.mdi-zend::before { + content: "\FAEA"; +} + +.mdi-zigbee::before { + content: "\FD1D"; +} + +.mdi-zip-box::before { + content: "\F5C4"; +} + +.mdi-zip-box-outline::before { + content: "\F001B"; +} + +.mdi-zip-disk::before { + content: "\FA22"; +} + +.mdi-zodiac-aquarius::before { + content: "\FA7C"; +} + +.mdi-zodiac-aries::before { + content: "\FA7D"; +} + +.mdi-zodiac-cancer::before { + content: "\FA7E"; +} + +.mdi-zodiac-capricorn::before { + content: "\FA7F"; +} + +.mdi-zodiac-gemini::before { + content: "\FA80"; +} + +.mdi-zodiac-leo::before { + content: "\FA81"; +} + +.mdi-zodiac-libra::before { + content: "\FA82"; +} + +.mdi-zodiac-pisces::before { + content: "\FA83"; +} + +.mdi-zodiac-sagittarius::before { + content: "\FA84"; +} + +.mdi-zodiac-scorpio::before { + content: "\FA85"; +} + +.mdi-zodiac-taurus::before { + content: "\FA86"; +} + +.mdi-zodiac-virgo::before { + content: "\FA87"; +} + +.mdi-blank::before { + content: "\F68C"; + visibility: hidden; +} + +.mdi-18px.mdi-set, .mdi-18px.mdi:before { + font-size: 18px; +} + +.mdi-24px.mdi-set, .mdi-24px.mdi:before { + font-size: 24px; +} + +.mdi-36px.mdi-set, .mdi-36px.mdi:before { + font-size: 36px; +} + +.mdi-48px.mdi-set, .mdi-48px.mdi:before { + font-size: 48px; +} + +.mdi-dark:before { + color: rgba(0, 0, 0, 0.54); +} + +.mdi-dark.mdi-inactive:before { + color: rgba(0, 0, 0, 0.26); +} + +.mdi-light:before { + color: white; +} + +.mdi-light.mdi-inactive:before { + color: rgba(255, 255, 255, 0.3); +} + +.mdi-rotate-45:before { + -webkit-transform: rotate(-45deg); + -ms-transform: rotate(-45deg); + transform: rotate(-45deg); +} + +.mdi-rotate-90:before { + -webkit-transform: rotate(-90deg); + -ms-transform: rotate(-90deg); + transform: rotate(-90deg); +} + +.mdi-rotate-135:before { + -webkit-transform: rotate(-135deg); + -ms-transform: rotate(-135deg); + transform: rotate(-135deg); +} + +.mdi-rotate-180:before { + -webkit-transform: rotate(-180deg); + -ms-transform: rotate(-180deg); + transform: rotate(-180deg); +} + +.mdi-rotate-225:before { + -webkit-transform: rotate(-225deg); + -ms-transform: rotate(-225deg); + transform: rotate(-225deg); +} + +.mdi-rotate-270:before { + -webkit-transform: rotate(-270deg); + -ms-transform: rotate(-270deg); + transform: rotate(-270deg); +} + +.mdi-rotate-315:before { + -webkit-transform: rotate(-315deg); + -ms-transform: rotate(-315deg); + transform: rotate(-315deg); +} + +.mdi-flip-h:before { + -webkit-transform: scaleX(-1); + -ms-transform: scaleX(-1); + transform: scaleX(-1); + -webkit-filter: FlipH; + filter: FlipH; + -ms-filter: "FlipH"; +} + +.mdi-flip-v:before { + -webkit-transform: scaleY(-1); + -ms-transform: scaleY(-1); + transform: scaleY(-1); + -webkit-filter: FlipV; + filter: FlipV; + -ms-filter: "FlipV"; +} + +.mdi-spin:before { + -webkit-animation: mdi-spin 2s infinite linear; + animation: mdi-spin 2s infinite linear; +} + +@-webkit-keyframes mdi-spin { + 0% { + -webkit-transform: rotate(0deg); + transform: rotate(0deg); + } + 100% { + -webkit-transform: rotate(-359deg); + transform: rotate(-359deg); + } +} + +@keyframes mdi-spin { + 0% { + -webkit-transform: rotate(0deg); + transform: rotate(0deg); + } + 100% { + -webkit-transform: rotate(-359deg); + transform: rotate(-359deg); + } +} + +@font-face { + font-family: 'boxicons'; + font-weight: normal; + font-style: normal; + src: url("../fonts/boxicons.eot"); + src: url("../fonts/boxicons.eot") format("embedded-opentype"), url("../fonts/boxicons.woff2") format("woff2"), url("../fonts/boxicons.woff") format("woff"), url("../fonts/boxicons.ttf") format("truetype"), url("../fonts/boxicons.svg?#boxicons") format("svg"); +} + +.bx { + font-family: 'boxicons' !important; + font-weight: normal; + font-style: normal; + font-variant: normal; + line-height: 1; + display: inline-block; + text-transform: none; + speak: none; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; +} + +.bx-ul { + margin-right: 2em; + padding-right: 0; + list-style: none; +} + +.bx-ul > li { + position: relative; +} + +.bx-ul .bx { + font-size: inherit; + line-height: inherit; + position: absolute; + right: -2em; + width: 2em; + text-align: center; +} + +@-webkit-keyframes spin { + 0% { + -webkit-transform: rotate(0); + transform: rotate(0); + } + 100% { + -webkit-transform: rotate(-359deg); + transform: rotate(-359deg); + } +} + +@keyframes spin { + 0% { + -webkit-transform: rotate(0); + transform: rotate(0); + } + 100% { + -webkit-transform: rotate(-359deg); + transform: rotate(-359deg); + } +} + +@-webkit-keyframes burst { + 0% { + -webkit-transform: scale(1); + transform: scale(1); + opacity: 1; + } + 90% { + -webkit-transform: scale(1.5); + transform: scale(1.5); + opacity: 0; + } +} + +@keyframes burst { + 0% { + -webkit-transform: scale(1); + transform: scale(1); + opacity: 1; + } + 90% { + -webkit-transform: scale(1.5); + transform: scale(1.5); + opacity: 0; + } +} + +@-webkit-keyframes flashing { + 0% { + opacity: 1; + } + 45% { + opacity: 0; + } + 90% { + opacity: 1; + } +} + +@keyframes flashing { + 0% { + opacity: 1; + } + 45% { + opacity: 0; + } + 90% { + opacity: 1; + } +} + +@-webkit-keyframes fade-left { + 0% { + -webkit-transform: translateX(0); + transform: translateX(0); + opacity: 1; + } + 75% { + -webkit-transform: translateX(20px); + transform: translateX(20px); + opacity: 0; + } +} + +@keyframes fade-left { + 0% { + -webkit-transform: translateX(0); + transform: translateX(0); + opacity: 1; + } + 75% { + -webkit-transform: translateX(20px); + transform: translateX(20px); + opacity: 0; + } +} + +@-webkit-keyframes fade-right { + 0% { + -webkit-transform: translateX(0); + transform: translateX(0); + opacity: 1; + } + 75% { + -webkit-transform: translateX(-20px); + transform: translateX(-20px); + opacity: 0; + } +} + +@keyframes fade-right { + 0% { + -webkit-transform: translateX(0); + transform: translateX(0); + opacity: 1; + } + 75% { + -webkit-transform: translateX(-20px); + transform: translateX(-20px); + opacity: 0; + } +} + +@-webkit-keyframes fade-up { + 0% { + -webkit-transform: translateY(0); + transform: translateY(0); + opacity: 1; + } + 75% { + -webkit-transform: translateY(-20px); + transform: translateY(-20px); + opacity: 0; + } +} + +@keyframes fade-up { + 0% { + -webkit-transform: translateY(0); + transform: translateY(0); + opacity: 1; + } + 75% { + -webkit-transform: translateY(-20px); + transform: translateY(-20px); + opacity: 0; + } +} + +@-webkit-keyframes fade-down { + 0% { + -webkit-transform: translateY(0); + transform: translateY(0); + opacity: 1; + } + 75% { + -webkit-transform: translateY(20px); + transform: translateY(20px); + opacity: 0; + } +} + +@keyframes fade-down { + 0% { + -webkit-transform: translateY(0); + transform: translateY(0); + opacity: 1; + } + 75% { + -webkit-transform: translateY(20px); + transform: translateY(20px); + opacity: 0; + } +} + +@-webkit-keyframes tada { + from { + -webkit-transform: scale3d(1, 1, 1); + transform: scale3d(1, 1, 1); + } + 10%, + 20% { + -webkit-transform: scale3d(0.95, 0.95, 0.95) rotate3d(0, 0, 1, 10deg); + transform: scale3d(0.95, 0.95, 0.95) rotate3d(0, 0, 1, 10deg); + } + 30%, + 50%, + 70%, + 90% { + -webkit-transform: scale3d(1, 1, 1) rotate3d(0, 0, 1, -10deg); + transform: scale3d(1, 1, 1) rotate3d(0, 0, 1, -10deg); + } + 40%, + 60%, + 80% { + -webkit-transform: scale3d(1, 1, 1) rotate3d(0, 0, 1, 10deg); + transform: scale3d(1, 1, 1) rotate3d(0, 0, 1, 10deg); + } + to { + -webkit-transform: scale3d(1, 1, 1); + transform: scale3d(1, 1, 1); + } +} + +@keyframes tada { + from { + -webkit-transform: scale3d(1, 1, 1); + transform: scale3d(1, 1, 1); + } + 10%, + 20% { + -webkit-transform: scale3d(0.95, 0.95, 0.95) rotate3d(0, 0, 1, 10deg); + transform: scale3d(0.95, 0.95, 0.95) rotate3d(0, 0, 1, 10deg); + } + 30%, + 50%, + 70%, + 90% { + -webkit-transform: scale3d(1, 1, 1) rotate3d(0, 0, 1, -10deg); + transform: scale3d(1, 1, 1) rotate3d(0, 0, 1, -10deg); + } + 40%, + 60%, + 80% { + -webkit-transform: rotate3d(0, 0, 1, 10deg); + transform: rotate3d(0, 0, 1, 10deg); + } + to { + -webkit-transform: scale3d(1, 1, 1); + transform: scale3d(1, 1, 1); + } +} + +.bx-spin { + -webkit-animation: spin 2s linear infinite; + animation: spin 2s linear infinite; +} + +.bx-spin-hover:hover { + -webkit-animation: spin 2s linear infinite; + animation: spin 2s linear infinite; +} + +.bx-tada { + -webkit-animation: tada 1.5s ease infinite; + animation: tada 1.5s ease infinite; +} + +.bx-tada-hover:hover { + -webkit-animation: tada 1.5s ease infinite; + animation: tada 1.5s ease infinite; +} + +.bx-flashing { + -webkit-animation: flashing 1.5s infinite linear; + animation: flashing 1.5s infinite linear; +} + +.bx-flashing-hover:hover { + -webkit-animation: flashing 1.5s infinite linear; + animation: flashing 1.5s infinite linear; +} + +.bx-burst { + -webkit-animation: burst 1.5s infinite linear; + animation: burst 1.5s infinite linear; +} + +.bx-burst-hover:hover { + -webkit-animation: burst 1.5s infinite linear; + animation: burst 1.5s infinite linear; +} + +.bx-fade-up { + -webkit-animation: fade-up 1.5s infinite linear; + animation: fade-up 1.5s infinite linear; +} + +.bx-fade-up-hover:hover { + -webkit-animation: fade-up 1.5s infinite linear; + animation: fade-up 1.5s infinite linear; +} + +.bx-fade-down { + -webkit-animation: fade-down 1.5s infinite linear; + animation: fade-down 1.5s infinite linear; +} + +.bx-fade-down-hover:hover { + -webkit-animation: fade-down 1.5s infinite linear; + animation: fade-down 1.5s infinite linear; +} + +.bx-fade-left { + -webkit-animation: fade-left 1.5s infinite linear; + animation: fade-left 1.5s infinite linear; +} + +.bx-fade-left-hover:hover { + -webkit-animation: fade-left 1.5s infinite linear; + animation: fade-left 1.5s infinite linear; +} + +.bx-fade-right { + -webkit-animation: fade-right 1.5s infinite linear; + animation: fade-right 1.5s infinite linear; +} + +.bx-fade-right-hover:hover { + -webkit-animation: fade-right 1.5s infinite linear; + animation: fade-right 1.5s infinite linear; +} + +.bx-xs { + font-size: 1rem !important; +} + +.bx-sm { + font-size: 1.55rem !important; +} + +.bx-md { + font-size: 2.25rem !important; +} + +.bx-fw { + font-size: 1.2857142857em; + line-height: .8em; + width: 1.2857142857em; + height: .8em; + margin-top: -0.2em !important; + vertical-align: middle; +} + +.bx-lg { + font-size: 3rem !important; +} + +.bx-pull-left { + float: right; + margin-left: 0.3em !important; +} + +.bx-pull-right { + float: left; + margin-right: 0.3em !important; +} + +.bx-rotate-90 { + -webkit-transform: rotate(-90deg); + -ms-transform: rotate(-90deg); + transform: rotate(-90deg); + -ms-filter: 'progid:DXImageTransform.Microsoft.BasicImage(rotation=1)'; +} + +.bx-rotate-180 { + -webkit-transform: rotate(-180deg); + -ms-transform: rotate(-180deg); + transform: rotate(-180deg); + -ms-filter: 'progid:DXImageTransform.Microsoft.BasicImage(rotation=2)'; +} + +.bx-rotate-270 { + -webkit-transform: rotate(-270deg); + -ms-transform: rotate(-270deg); + transform: rotate(-270deg); + -ms-filter: 'progid:DXImageTransform.Microsoft.BasicImage(rotation=3)'; +} + +.bx-flip-horizontal { + -webkit-transform: scaleX(-1); + -ms-transform: scaleX(-1); + transform: scaleX(-1); + -ms-filter: 'progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1)'; +} + +.bx-flip-vertical { + -webkit-transform: scaleY(-1); + -ms-transform: scaleY(-1); + transform: scaleY(-1); + -ms-filter: 'progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)'; +} + +.bx-border { + padding: .25em; + border: 0.07em solid rgba(0, 0, 0, 0.1); + border-radius: .25em; +} + +.bx-border-circle { + padding: .25em; + border: 0.07em solid rgba(0, 0, 0, 0.1); + border-radius: 50%; +} + +.bxl-adobe:before { + content: "\e900"; +} + +.bxl-algolia:before { + content: "\e901"; +} + +.bxl-audible:before { + content: "\e902"; +} + +.bxl-figma:before { + content: "\e903"; +} + +.bxl-redbubble:before { + content: "\e904"; +} + +.bxl-etsy:before { + content: "\e905"; +} + +.bxl-gitlab:before { + content: "\e906"; +} + +.bxl-patreon:before { + content: "\e907"; +} + +.bxl-facebook-circle:before { + content: "\e908"; +} + +.bxl-imdb:before { + content: "\e909"; +} + +.bxl-jquery:before { + content: "\e90a"; +} + +.bxl-pinterest-alt:before { + content: "\e90b"; +} + +.bxl-500px:before { + content: "\e90c"; +} + +.bxl-airbnb:before { + content: "\e90d"; +} + +.bxl-amazon:before { + content: "\e90e"; +} + +.bxl-android:before { + content: "\e90f"; +} + +.bxl-angular:before { + content: "\e910"; +} + +.bxl-apple:before { + content: "\e911"; +} + +.bxl-baidu:before { + content: "\e912"; +} + +.bxl-behance:before { + content: "\e913"; +} + +.bxl-bing:before { + content: "\e914"; +} + +.bxl-bitcoin:before { + content: "\e915"; +} + +.bxl-blogger:before { + content: "\e916"; +} + +.bxl-bootstrap:before { + content: "\e917"; +} + +.bxl-chrome:before { + content: "\e918"; +} + +.bxl-codepen:before { + content: "\e919"; +} + +.bxl-creative-commons:before { + content: "\e91a"; +} + +.bxl-css3:before { + content: "\e91b"; +} + +.bxl-dailymotion:before { + content: "\e91c"; +} + +.bxl-deviantart:before { + content: "\e91d"; +} + +.bxl-digg:before { + content: "\e91e"; +} + +.bxl-digitalocean:before { + content: "\e91f"; +} + +.bxl-discord:before { + content: "\e920"; +} + +.bxl-discourse:before { + content: "\e921"; +} + +.bxl-dribbble:before { + content: "\e922"; +} + +.bxl-dropbox:before { + content: "\e923"; +} + +.bxl-drupal:before { + content: "\e924"; +} + +.bxl-ebay:before { + content: "\e925"; +} + +.bxl-edge:before { + content: "\e926"; +} + +.bxl-facebook:before { + content: "\e927"; +} + +.bxl-facebook-square:before { + content: "\e928"; +} + +.bxl-firefox:before { + content: "\e929"; +} + +.bxl-flickr:before { + content: "\e92a"; +} + +.bxl-flickr-square:before { + content: "\e92b"; +} + +.bxl-foursquare:before { + content: "\e92c"; +} + +.bxl-git:before { + content: "\e92d"; +} + +.bxl-github:before { + content: "\e92e"; +} + +.bxl-google:before { + content: "\e92f"; +} + +.bxl-google-plus:before { + content: "\e930"; +} + +.bxl-google-plus-circle:before { + content: "\e931"; +} + +.bxl-html5:before { + content: "\e932"; +} + +.bxl-instagram:before { + content: "\e933"; +} + +.bxl-instagram-alt:before { + content: "\e934"; +} + +.bxl-internet-explorer:before { + content: "\e935"; +} + +.bxl-invision:before { + content: "\e936"; +} + +.bxl-javascript:before { + content: "\e937"; +} + +.bxl-joomla:before { + content: "\e938"; +} + +.bxl-jsfiddle:before { + content: "\e939"; +} + +.bxl-kickstarter:before { + content: "\e93a"; +} + +.bxl-less:before { + content: "\e93b"; +} + +.bxl-linkedin:before { + content: "\e93c"; +} + +.bxl-linkedin-square:before { + content: "\e93d"; +} + +.bxl-magento:before { + content: "\e93e"; +} + +.bxl-mailchimp:before { + content: "\e93f"; +} + +.bxl-mastercard:before { + content: "\e940"; +} + +.bxl-medium:before { + content: "\e941"; +} + +.bxl-medium-old:before { + content: "\e942"; +} + +.bxl-medium-square:before { + content: "\e943"; +} + +.bxl-messenger:before { + content: "\e944"; +} + +.bxl-microsoft:before { + content: "\e945"; +} + +.bxl-nodejs:before { + content: "\e946"; +} + +.bxl-opera:before { + content: "\e947"; +} + +.bxl-paypal:before { + content: "\e948"; +} + +.bxl-periscope:before { + content: "\e949"; +} + +.bxl-pinterest:before { + content: "\e94a"; +} + +.bxl-play-store:before { + content: "\e94b"; +} + +.bxl-pocket:before { + content: "\e94c"; +} + +.bxl-product-hunt:before { + content: "\e94d"; +} + +.bxl-quora:before { + content: "\e94e"; +} + +.bxl-react:before { + content: "\e94f"; +} + +.bxl-reddit:before { + content: "\e950"; +} + +.bxl-redux:before { + content: "\e951"; +} + +.bxl-sass:before { + content: "\e952"; +} + +.bxl-shopify:before { + content: "\e953"; +} + +.bxl-skype:before { + content: "\e954"; +} + +.bxl-slack:before { + content: "\e955"; +} + +.bxl-slack-old:before { + content: "\e956"; +} + +.bxl-snapchat:before { + content: "\e957"; +} + +.bxl-soundcloud:before { + content: "\e958"; +} + +.bxl-spotify:before { + content: "\e959"; +} + +.bxl-squarespace:before { + content: "\e95a"; +} + +.bxl-stack-overflow:before { + content: "\e95b"; +} + +.bxl-stripe:before { + content: "\e95c"; +} + +.bxl-telegram:before { + content: "\e95d"; +} + +.bxl-trello:before { + content: "\e95e"; +} + +.bxl-tumblr:before { + content: "\e95f"; +} + +.bxl-twitch:before { + content: "\e960"; +} + +.bxl-twitter:before { + content: "\e961"; +} + +.bxl-unsplash:before { + content: "\e962"; +} + +.bxl-vimeo:before { + content: "\e963"; +} + +.bxl-visa:before { + content: "\e964"; +} + +.bxl-vk:before { + content: "\e965"; +} + +.bxl-vuejs:before { + content: "\e966"; +} + +.bxl-whatsapp:before { + content: "\e967"; +} + +.bxl-whatsapp-square:before { + content: "\e968"; +} + +.bxl-wikipedia:before { + content: "\e969"; +} + +.bxl-windows:before { + content: "\e96a"; +} + +.bxl-wix:before { + content: "\e96b"; +} + +.bxl-wordpress:before { + content: "\e96c"; +} + +.bxl-yahoo:before { + content: "\e96d"; +} + +.bxl-yelp:before { + content: "\e96e"; +} + +.bxl-youtube:before { + content: "\e96f"; +} + +.bx-accessibility:before { + content: "\e970"; +} + +.bx-add-to-queue:before { + content: "\e971"; +} + +.bx-adjust:before { + content: "\e972"; +} + +.bx-alarm:before { + content: "\e973"; +} + +.bx-alarm-add:before { + content: "\e974"; +} + +.bx-alarm-off:before { + content: "\e975"; +} + +.bx-album:before { + content: "\e976"; +} + +.bx-align-justify:before { + content: "\e977"; +} + +.bx-align-left:before { + content: "\e978"; +} + +.bx-align-middle:before { + content: "\e979"; +} + +.bx-align-right:before { + content: "\e97a"; +} + +.bx-analyse:before { + content: "\e97b"; +} + +.bx-anchor:before { + content: "\e97c"; +} + +.bx-angry:before { + content: "\e97d"; +} + +.bx-aperture:before { + content: "\e97e"; +} + +.bx-archive:before { + content: "\e97f"; +} + +.bx-archive-in:before { + content: "\e980"; +} + +.bx-archive-out:before { + content: "\e981"; +} + +.bx-area:before { + content: "\e982"; +} + +.bx-arrow-back:before { + content: "\e983"; +} + +.bx-at:before { + content: "\e984"; +} + +.bx-award:before { + content: "\e985"; +} + +.bx-badge:before { + content: "\e986"; +} + +.bx-badge-check:before { + content: "\e987"; +} + +.bx-ball:before { + content: "\e988"; +} + +.bx-band-aid:before { + content: "\e989"; +} + +.bx-bar-chart:before { + content: "\e98a"; +} + +.bx-bar-chart-alt:before { + content: "\e98b"; +} + +.bx-bar-chart-alt-2:before { + content: "\e98c"; +} + +.bx-bar-chart-square:before { + content: "\e98d"; +} + +.bx-barcode:before { + content: "\e98e"; +} + +.bx-basket:before { + content: "\e98f"; +} + +.bx-basketball:before { + content: "\e990"; +} + +.bx-bath:before { + content: "\e991"; +} + +.bx-battery:before { + content: "\e992"; +} + +.bx-bed:before { + content: "\e993"; +} + +.bx-bell:before { + content: "\e994"; +} + +.bx-bell-minus:before { + content: "\e995"; +} + +.bx-bell-off:before { + content: "\e996"; +} + +.bx-bell-plus:before { + content: "\e997"; +} + +.bx-bitcoin:before { + content: "\e998"; +} + +.bx-block:before { + content: "\e999"; +} + +.bx-bluetooth:before { + content: "\e99a"; +} + +.bx-body:before { + content: "\e99b"; +} + +.bx-bold:before { + content: "\e99c"; +} + +.bx-bolt-circle:before { + content: "\e99d"; +} + +.bx-book:before { + content: "\e99e"; +} + +.bx-book-bookmark:before { + content: "\e99f"; +} + +.bx-book-content:before { + content: "\e9a0"; +} + +.bx-bookmark:before { + content: "\e9a1"; +} + +.bx-bookmark-minus:before { + content: "\e9a2"; +} + +.bx-bookmark-plus:before { + content: "\e9a3"; +} + +.bx-bookmarks:before { + content: "\e9a4"; +} + +.bx-book-open:before { + content: "\e9a5"; +} + +.bx-border-all:before { + content: "\e9a6"; +} + +.bx-border-bottom:before { + content: "\e9a7"; +} + +.bx-border-left:before { + content: "\e9a8"; +} + +.bx-border-radius:before { + content: "\e9a9"; +} + +.bx-border-right:before { + content: "\e9aa"; +} + +.bx-border-top:before { + content: "\e9ab"; +} + +.bx-bot:before { + content: "\e9ac"; +} + +.bx-bowling-ball:before { + content: "\e9ad"; +} + +.bx-box:before { + content: "\e9ae"; +} + +.bx-briefcase:before { + content: "\e9af"; +} + +.bx-briefcase-alt:before { + content: "\e9b0"; +} + +.bx-briefcase-alt-2:before { + content: "\e9b1"; +} + +.bx-brightness:before { + content: "\e9b2"; +} + +.bx-brightness-half:before { + content: "\e9b3"; +} + +.bx-broadcast:before { + content: "\e9b4"; +} + +.bx-brush:before { + content: "\e9b5"; +} + +.bx-brush-alt:before { + content: "\e9b6"; +} + +.bx-bug:before { + content: "\e9b7"; +} + +.bx-bug-alt:before { + content: "\e9b8"; +} + +.bx-building:before { + content: "\e9b9"; +} + +.bx-building-house:before { + content: "\e9ba"; +} + +.bx-buildings:before { + content: "\e9bb"; +} + +.bx-bulb:before { + content: "\e9bc"; +} + +.bx-bullseye:before { + content: "\e9bd"; +} + +.bx-buoy:before { + content: "\e9be"; +} + +.bx-bus:before { + content: "\e9bf"; +} + +.bx-cake:before { + content: "\e9c0"; +} + +.bx-calculator:before { + content: "\e9c1"; +} + +.bx-calendar:before { + content: "\e9c2"; +} + +.bx-calendar-alt:before { + content: "\e9c3"; +} + +.bx-calendar-check:before { + content: "\e9c4"; +} + +.bx-calendar-event:before { + content: "\e9c5"; +} + +.bx-calendar-minus:before { + content: "\e9c6"; +} + +.bx-calendar-plus:before { + content: "\e9c7"; +} + +.bx-calendar-x:before { + content: "\e9c8"; +} + +.bx-camera:before { + content: "\e9c9"; +} + +.bx-camera-off:before { + content: "\e9ca"; +} + +.bx-captions:before { + content: "\e9cb"; +} + +.bx-car:before { + content: "\e9cc"; +} + +.bx-card:before { + content: "\e9cd"; +} + +.bx-caret-down:before { + content: "\e9ce"; +} + +.bx-caret-left:before { + content: "\e9cf"; +} + +.bx-caret-right:before { + content: "\e9d0"; +} + +.bx-caret-up:before { + content: "\e9d1"; +} + +.bx-carousel:before { + content: "\e9d2"; +} + +.bx-cart:before { + content: "\e9d3"; +} + +.bx-cart-alt:before { + content: "\e9d4"; +} + +.bx-cast:before { + content: "\e9d5"; +} + +.bx-certification:before { + content: "\e9d6"; +} + +.bx-chalkboard:before { + content: "\e9d7"; +} + +.bx-chart:before { + content: "\e9d8"; +} + +.bx-chat:before { + content: "\e9d9"; +} + +.bx-check:before { + content: "\e9da"; +} + +.bx-checkbox:before { + content: "\e9db"; +} + +.bx-checkbox-checked:before { + content: "\e9dc"; +} + +.bx-checkbox-square:before { + content: "\e9dd"; +} + +.bx-check-circle:before { + content: "\e9de"; +} + +.bx-check-double:before { + content: "\e9df"; +} + +.bx-check-shield:before { + content: "\e9e0"; +} + +.bx-check-square:before { + content: "\e9e1"; +} + +.bx-chevron-down:before { + content: "\e9e2"; +} + +.bx-chevron-left:before { + content: "\e9e3"; +} + +.bx-chevron-right:before { + content: "\e9e4"; +} + +.bx-chevrons-down:before { + content: "\e9e5"; +} + +.bx-chevrons-left:before { + content: "\e9e6"; +} + +.bx-chevrons-right:before { + content: "\e9e7"; +} + +.bx-chevrons-up:before { + content: "\e9e8"; +} + +.bx-chevron-up:before { + content: "\e9e9"; +} + +.bx-chip:before { + content: "\e9ea"; +} + +.bx-circle:before { + content: "\e9eb"; +} + +.bx-clinic:before { + content: "\e9ec"; +} + +.bx-clipboard:before { + content: "\e9ed"; +} + +.bx-closet:before { + content: "\e9ee"; +} + +.bx-cloud:before { + content: "\e9ef"; +} + +.bx-cloud-download:before { + content: "\e9f0"; +} + +.bx-cloud-drizzle:before { + content: "\e9f1"; +} + +.bx-cloud-lightning:before { + content: "\e9f2"; +} + +.bx-cloud-light-rain:before { + content: "\e9f3"; +} + +.bx-cloud-rain:before { + content: "\e9f4"; +} + +.bx-cloud-snow:before { + content: "\e9f5"; +} + +.bx-cloud-upload:before { + content: "\e9f6"; +} + +.bx-code:before { + content: "\e9f7"; +} + +.bx-code-alt:before { + content: "\e9f8"; +} + +.bx-code-block:before { + content: "\e9f9"; +} + +.bx-code-curly:before { + content: "\e9fa"; +} + +.bx-coffee:before { + content: "\e9fb"; +} + +.bx-cog:before { + content: "\e9fc"; +} + +.bx-collapse:before { + content: "\e9fd"; +} + +.bx-collection:before { + content: "\e9fe"; +} + +.bx-columns:before { + content: "\e9ff"; +} + +.bx-command:before { + content: "\ea00"; +} + +.bx-comment:before { + content: "\ea01"; +} + +.bx-comment-dots:before { + content: "\ea02"; +} + +.bx-compass:before { + content: "\ea03"; +} + +.bx-confused:before { + content: "\ea04"; +} + +.bx-conversation:before { + content: "\ea05"; +} + +.bx-cool:before { + content: "\ea06"; +} + +.bx-copy:before { + content: "\ea07"; +} + +.bx-copy-alt:before { + content: "\ea08"; +} + +.bx-copyright:before { + content: "\ea09"; +} + +.bx-credit-card:before { + content: "\ea0a"; +} + +.bx-credit-card-alt:before { + content: "\ea0b"; +} + +.bx-crop:before { + content: "\ea0c"; +} + +.bx-crosshair:before { + content: "\ea0d"; +} + +.bx-crown:before { + content: "\ea0e"; +} + +.bx-cube:before { + content: "\ea0f"; +} + +.bx-cube-alt:before { + content: "\ea10"; +} + +.bx-cuboid:before { + content: "\ea11"; +} + +.bx-customize:before { + content: "\ea12"; +} + +.bx-cut:before { + content: "\ea13"; +} + +.bx-cycling:before { + content: "\ea14"; +} + +.bx-cylinder:before { + content: "\ea15"; +} + +.bx-data:before { + content: "\ea16"; +} + +.bx-desktop:before { + content: "\ea17"; +} + +.bx-detail:before { + content: "\ea18"; +} + +.bx-devices:before { + content: "\ea19"; +} + +.bx-dialpad:before { + content: "\ea1a"; +} + +.bx-dialpad-alt:before { + content: "\ea1b"; +} + +.bx-diamond:before { + content: "\ea1c"; +} + +.bx-directions:before { + content: "\ea1d"; +} + +.bx-disc:before { + content: "\ea1e"; +} + +.bx-dish:before { + content: "\ea1f"; +} + +.bx-dislike:before { + content: "\ea20"; +} + +.bx-dizzy:before { + content: "\ea21"; +} + +.bx-dna:before { + content: "\ea22"; +} + +.bx-dock-bottom:before { + content: "\ea23"; +} + +.bx-dock-left:before { + content: "\ea24"; +} + +.bx-dock-right:before { + content: "\ea25"; +} + +.bx-dock-top:before { + content: "\ea26"; +} + +.bx-dollar:before { + content: "\ea27"; +} + +.bx-dollar-circle:before { + content: "\ea28"; +} + +.bx-dots-horizontal:before { + content: "\ea29"; +} + +.bx-dots-horizontal-rounded:before { + content: "\ea2a"; +} + +.bx-dots-vertical:before { + content: "\ea2b"; +} + +.bx-dots-vertical-rounded:before { + content: "\ea2c"; +} + +.bx-doughnut-chart:before { + content: "\ea2d"; +} + +.bx-down-arrow:before { + content: "\ea2e"; +} + +.bx-down-arrow-alt:before { + content: "\ea2f"; +} + +.bx-down-arrow-circle:before { + content: "\ea30"; +} + +.bx-download:before { + content: "\ea31"; +} + +.bx-downvote:before { + content: "\ea32"; +} + +.bx-droplet:before { + content: "\ea33"; +} + +.bx-dumbbell:before { + content: "\ea34"; +} + +.bx-duplicate:before { + content: "\ea35"; +} + +.bx-edit:before { + content: "\ea36"; +} + +.bx-edit-alt:before { + content: "\ea37"; +} + +.bx-envelope:before { + content: "\ea38"; +} + +.bx-equalizer:before { + content: "\ea39"; +} + +.bx-error:before { + content: "\ea3a"; +} + +.bx-error-alt:before { + content: "\ea3b"; +} + +.bx-error-circle:before { + content: "\ea3c"; +} + +.bx-euro:before { + content: "\ea3d"; +} + +.bx-exit:before { + content: "\ea3e"; +} + +.bx-exit-fullscreen:before { + content: "\ea3f"; +} + +.bx-expand:before { + content: "\ea40"; +} + +.bx-export:before { + content: "\ea41"; +} + +.bx-extension:before { + content: "\ea42"; +} + +.bx-face:before { + content: "\ea43"; +} + +.bx-fast-forward:before { + content: "\ea44"; +} + +.bx-fast-forward-circle:before { + content: "\ea45"; +} + +.bx-female:before { + content: "\ea46"; +} + +.bx-female-sign:before { + content: "\ea47"; +} + +.bx-file:before { + content: "\ea48"; +} + +.bx-file-blank:before { + content: "\ea49"; +} + +.bx-file-find:before { + content: "\ea4a"; +} + +.bx-film:before { + content: "\ea4b"; +} + +.bx-filter:before { + content: "\ea4c"; +} + +.bx-filter-alt:before { + content: "\ea4d"; +} + +.bx-fingerprint:before { + content: "\ea4e"; +} + +.bx-first-aid:before { + content: "\ea4f"; +} + +.bx-first-page:before { + content: "\ea50"; +} + +.bx-flag:before { + content: "\ea51"; +} + +.bx-folder:before { + content: "\ea52"; +} + +.bx-folder-minus:before { + content: "\ea53"; +} + +.bx-folder-open:before { + content: "\ea54"; +} + +.bx-folder-plus:before { + content: "\ea55"; +} + +.bx-font:before { + content: "\ea56"; +} + +.bx-font-color:before { + content: "\ea57"; +} + +.bx-font-family:before { + content: "\ea58"; +} + +.bx-font-size:before { + content: "\ea59"; +} + +.bx-food-menu:before { + content: "\ea5a"; +} + +.bx-food-tag:before { + content: "\ea5b"; +} + +.bx-football:before { + content: "\ea5c"; +} + +.bx-fridge:before { + content: "\ea5d"; +} + +.bx-fullscreen:before { + content: "\ea5e"; +} + +.bx-gas-pump:before { + content: "\ea5f"; +} + +.bx-ghost:before { + content: "\ea60"; +} + +.bx-gift:before { + content: "\ea61"; +} + +.bx-git-branch:before { + content: "\ea62"; +} + +.bx-git-commit:before { + content: "\ea63"; +} + +.bx-git-compare:before { + content: "\ea64"; +} + +.bx-git-merge:before { + content: "\ea65"; +} + +.bx-git-pull-request:before { + content: "\ea66"; +} + +.bx-git-repo-forked:before { + content: "\ea67"; +} + +.bx-globe:before { + content: "\ea68"; +} + +.bx-globe-alt:before { + content: "\ea69"; +} + +.bx-grid:before { + content: "\ea6a"; +} + +.bx-grid-alt:before { + content: "\ea6b"; +} + +.bx-grid-horizontal:before { + content: "\ea6c"; +} + +.bx-grid-small:before { + content: "\ea6d"; +} + +.bx-grid-vertical:before { + content: "\ea6e"; +} + +.bx-group:before { + content: "\ea6f"; +} + +.bx-handicap:before { + content: "\ea70"; +} + +.bx-happy:before { + content: "\ea71"; +} + +.bx-happy-alt:before { + content: "\ea72"; +} + +.bx-happy-beaming:before { + content: "\ea73"; +} + +.bx-happy-heart-eyes:before { + content: "\ea74"; +} + +.bx-hash:before { + content: "\ea75"; +} + +.bx-hdd:before { + content: "\ea76"; +} + +.bx-heading:before { + content: "\ea77"; +} + +.bx-headphone:before { + content: "\ea78"; +} + +.bx-health:before { + content: "\ea79"; +} + +.bx-heart:before { + content: "\ea7a"; +} + +.bx-help-circle:before { + content: "\ea7b"; +} + +.bx-hide:before { + content: "\ea7c"; +} + +.bx-highlight:before { + content: "\ea7d"; +} + +.bx-history:before { + content: "\ea7e"; +} + +.bx-hive:before { + content: "\ea7f"; +} + +.bx-home:before { + content: "\ea80"; +} + +.bx-home-alt:before { + content: "\ea81"; +} + +.bx-home-circle:before { + content: "\ea82"; +} + +.bx-horizontal-center:before { + content: "\ea83"; +} + +.bx-hotel:before { + content: "\ea84"; +} + +.bx-hourglass:before { + content: "\ea85"; +} + +.bx-id-card:before { + content: "\ea86"; +} + +.bx-image:before { + content: "\ea87"; +} + +.bx-image-add:before { + content: "\ea88"; +} + +.bx-image-alt:before { + content: "\ea89"; +} + +.bx-images:before { + content: "\ea8a"; +} + +.bx-import:before { + content: "\ea8b"; +} + +.bx-infinite:before { + content: "\ea8c"; +} + +.bx-info-circle:before { + content: "\ea8d"; +} + +.bx-italic:before { + content: "\ea8e"; +} + +.bx-joystick:before { + content: "\ea8f"; +} + +.bx-joystick-alt:before { + content: "\ea90"; +} + +.bx-joystick-button:before { + content: "\ea91"; +} + +.bx-key:before { + content: "\ea92"; +} + +.bx-label:before { + content: "\ea93"; +} + +.bx-landscape:before { + content: "\ea94"; +} + +.bx-laptop:before { + content: "\ea95"; +} + +.bx-last-page:before { + content: "\ea96"; +} + +.bx-laugh:before { + content: "\ea97"; +} + +.bx-layer:before { + content: "\ea98"; +} + +.bx-layout:before { + content: "\ea99"; +} + +.bx-left-arrow:before { + content: "\ea9a"; +} + +.bx-left-arrow-alt:before { + content: "\ea9b"; +} + +.bx-left-arrow-circle:before { + content: "\ea9c"; +} + +.bx-left-down-arrow-circle:before { + content: "\ea9d"; +} + +.bx-left-indent:before { + content: "\ea9e"; +} + +.bx-left-top-arrow-circle:before { + content: "\ea9f"; +} + +.bx-like:before { + content: "\eaa0"; +} + +.bx-line-chart:before { + content: "\eaa1"; +} + +.bx-link:before { + content: "\eaa2"; +} + +.bx-link-alt:before { + content: "\eaa3"; +} + +.bx-link-external:before { + content: "\eaa4"; +} + +.bx-lira:before { + content: "\eaa5"; +} + +.bx-list-check:before { + content: "\eaa6"; +} + +.bx-list-minus:before { + content: "\eaa7"; +} + +.bx-list-ol:before { + content: "\eaa8"; +} + +.bx-list-plus:before { + content: "\eaa9"; +} + +.bx-list-ul:before { + content: "\eaaa"; +} + +.bx-loader:before { + content: "\eaab"; +} + +.bx-loader-alt:before { + content: "\eaac"; +} + +.bx-loader-circle:before { + content: "\eaad"; +} + +.bx-lock:before { + content: "\eaae"; +} + +.bx-lock-alt:before { + content: "\eaaf"; +} + +.bx-lock-open:before { + content: "\eab0"; +} + +.bx-lock-open-alt:before { + content: "\eab1"; +} + +.bx-log-in:before { + content: "\eab2"; +} + +.bx-log-in-circle:before { + content: "\eab3"; +} + +.bx-log-out:before { + content: "\eab4"; +} + +.bx-log-out-circle:before { + content: "\eab5"; +} + +.bx-magnet:before { + content: "\eab6"; +} + +.bx-mail-send:before { + content: "\eab7"; +} + +.bx-male:before { + content: "\eab8"; +} + +.bx-male-sign:before { + content: "\eab9"; +} + +.bx-map:before { + content: "\eaba"; +} + +.bx-map-alt:before { + content: "\eabb"; +} + +.bx-map-pin:before { + content: "\eabc"; +} + +.bx-meh:before { + content: "\eabd"; +} + +.bx-meh-alt:before { + content: "\eabe"; +} + +.bx-meh-blank:before { + content: "\eabf"; +} + +.bx-memory-card:before { + content: "\eac0"; +} + +.bx-menu:before { + content: "\eac1"; +} + +.bx-menu-alt-left:before { + content: "\eac2"; +} + +.bx-menu-alt-right:before { + content: "\eac3"; +} + +.bx-message:before { + content: "\eac4"; +} + +.bx-message-alt:before { + content: "\eac5"; +} + +.bx-message-alt-dots:before { + content: "\eac6"; +} + +.bx-message-dots:before { + content: "\eac7"; +} + +.bx-message-rounded:before { + content: "\eac8"; +} + +.bx-message-rounded-dots:before { + content: "\eac9"; +} + +.bx-message-square:before { + content: "\eaca"; +} + +.bx-message-square-dots:before { + content: "\eacb"; +} + +.bx-microphone:before { + content: "\eacc"; +} + +.bx-microphone-off:before { + content: "\eacd"; +} + +.bx-minus:before { + content: "\eace"; +} + +.bx-minus-circle:before { + content: "\eacf"; +} + +.bx-mobile:before { + content: "\ead0"; +} + +.bx-mobile-alt:before { + content: "\ead1"; +} + +.bx-mobile-landscape:before { + content: "\ead2"; +} + +.bx-mobile-vibration:before { + content: "\ead3"; +} + +.bx-money:before { + content: "\ead4"; +} + +.bx-moon:before { + content: "\ead5"; +} + +.bx-mouse:before { + content: "\ead6"; +} + +.bx-mouse-alt:before { + content: "\ead7"; +} + +.bx-move:before { + content: "\ead8"; +} + +.bx-move-horizontal:before { + content: "\ead9"; +} + +.bx-move-vertical:before { + content: "\eada"; +} + +.bx-movie:before { + content: "\eadb"; +} + +.bx-music:before { + content: "\eadc"; +} + +.bx-navigation:before { + content: "\eadd"; +} + +.bx-news:before { + content: "\eade"; +} + +.bx-no-entry:before { + content: "\eadf"; +} + +.bx-note:before { + content: "\eae0"; +} + +.bx-notepad:before { + content: "\eae1"; +} + +.bx-notification:before { + content: "\eae2"; +} + +.bx-notification-off:before { + content: "\eae3"; +} + +.bx-package:before { + content: "\eae4"; +} + +.bx-paint:before { + content: "\eae5"; +} + +.bx-paint-roll:before { + content: "\eae6"; +} + +.bx-palette:before { + content: "\eae7"; +} + +.bx-paperclip:before { + content: "\eae8"; +} + +.bx-paper-plane:before { + content: "\eae9"; +} + +.bx-paragraph:before { + content: "\eaea"; +} + +.bx-paste:before { + content: "\eaeb"; +} + +.bx-pause:before { + content: "\eaec"; +} + +.bx-pause-circle:before { + content: "\eaed"; +} + +.bx-pen:before { + content: "\eaee"; +} + +.bx-pencil:before { + content: "\eaef"; +} + +.bx-phone:before { + content: "\eaf0"; +} + +.bx-phone-call:before { + content: "\eaf1"; +} + +.bx-phone-incoming:before { + content: "\eaf2"; +} + +.bx-phone-outgoing:before { + content: "\eaf3"; +} + +.bx-photo-album:before { + content: "\eaf4"; +} + +.bx-pie-chart:before { + content: "\eaf5"; +} + +.bx-pie-chart-alt:before { + content: "\eaf6"; +} + +.bx-pie-chart-alt-2:before { + content: "\eaf7"; +} + +.bx-pin:before { + content: "\eaf8"; +} + +.bx-planet:before { + content: "\eaf9"; +} + +.bx-play:before { + content: "\eafa"; +} + +.bx-play-circle:before { + content: "\eafb"; +} + +.bx-plug:before { + content: "\eafc"; +} + +.bx-plus:before { + content: "\eafd"; +} + +.bx-plus-circle:before { + content: "\eafe"; +} + +.bx-plus-medical:before { + content: "\eaff"; +} + +.bx-poll:before { + content: "\eb00"; +} + +.bx-polygon:before { + content: "\eb01"; +} + +.bx-pound:before { + content: "\eb02"; +} + +.bx-power-off:before { + content: "\eb03"; +} + +.bx-printer:before { + content: "\eb04"; +} + +.bx-pulse:before { + content: "\eb05"; +} + +.bx-purchase-tag:before { + content: "\eb06"; +} + +.bx-purchase-tag-alt:before { + content: "\eb07"; +} + +.bx-pyramid:before { + content: "\eb08"; +} + +.bx-question-mark:before { + content: "\eb09"; +} + +.bx-radar:before { + content: "\eb0a"; +} + +.bx-radio:before { + content: "\eb0b"; +} + +.bx-radio-circle:before { + content: "\eb0c"; +} + +.bx-radio-circle-marked:before { + content: "\eb0d"; +} + +.bx-receipt:before { + content: "\eb0e"; +} + +.bx-rectangle:before { + content: "\eb0f"; +} + +.bx-redo:before { + content: "\eb10"; +} + +.bx-rename:before { + content: "\eb11"; +} + +.bx-repeat:before { + content: "\eb12"; +} + +.bx-reply:before { + content: "\eb13"; +} + +.bx-reply-all:before { + content: "\eb14"; +} + +.bx-repost:before { + content: "\eb15"; +} + +.bx-reset:before { + content: "\eb16"; +} + +.bx-restaurant:before { + content: "\eb17"; +} + +.bx-revision:before { + content: "\eb18"; +} + +.bx-rewind:before { + content: "\eb19"; +} + +.bx-rewind-circle:before { + content: "\eb1a"; +} + +.bx-right-arrow:before { + content: "\eb1b"; +} + +.bx-right-arrow-alt:before { + content: "\eb1c"; +} + +.bx-right-arrow-circle:before { + content: "\eb1d"; +} + +.bx-right-down-arrow-circle:before { + content: "\eb1e"; +} + +.bx-right-indent:before { + content: "\eb1f"; +} + +.bx-right-top-arrow-circle:before { + content: "\eb20"; +} + +.bx-rocket:before { + content: "\eb21"; +} + +.bx-rotate-left:before { + content: "\eb22"; +} + +.bx-rotate-right:before { + content: "\eb23"; +} + +.bx-rss:before { + content: "\eb24"; +} + +.bx-ruble:before { + content: "\eb25"; +} + +.bx-ruler:before { + content: "\eb26"; +} + +.bx-run:before { + content: "\eb27"; +} + +.bx-rupee:before { + content: "\eb28"; +} + +.bx-sad:before { + content: "\eb29"; +} + +.bx-save:before { + content: "\eb2a"; +} + +.bx-screenshot:before { + content: "\eb2b"; +} + +.bx-search:before { + content: "\eb2c"; +} + +.bx-search-alt:before { + content: "\eb2d"; +} + +.bx-search-alt-2:before { + content: "\eb2e"; +} + +.bx-selection:before { + content: "\eb2f"; +} + +.bx-select-multiple:before { + content: "\eb30"; +} + +.bx-send:before { + content: "\eb31"; +} + +.bx-server:before { + content: "\eb32"; +} + +.bx-shape-circle:before { + content: "\eb33"; +} + +.bx-shape-square:before { + content: "\eb34"; +} + +.bx-shape-triangle:before { + content: "\eb35"; +} + +.bx-share:before { + content: "\eb36"; +} + +.bx-share-alt:before { + content: "\eb37"; +} + +.bx-shekel:before { + content: "\eb38"; +} + +.bx-shield:before { + content: "\eb39"; +} + +.bx-shield-alt:before { + content: "\eb3a"; +} + +.bx-shield-alt-2:before { + content: "\eb3b"; +} + +.bx-shield-quarter:before { + content: "\eb3c"; +} + +.bx-shocked:before { + content: "\eb3d"; +} + +.bx-shopping-bag:before { + content: "\eb3e"; +} + +.bx-show:before { + content: "\eb3f"; +} + +.bx-show-alt:before { + content: "\eb40"; +} + +.bx-shuffle:before { + content: "\eb41"; +} + +.bx-sidebar:before { + content: "\eb42"; +} + +.bx-sitemap:before { + content: "\eb43"; +} + +.bx-skip-next:before { + content: "\eb44"; +} + +.bx-skip-next-circle:before { + content: "\eb45"; +} + +.bx-skip-previous:before { + content: "\eb46"; +} + +.bx-skip-previous-circle:before { + content: "\eb47"; +} + +.bx-sleepy:before { + content: "\eb48"; +} + +.bx-slider:before { + content: "\eb49"; +} + +.bx-slider-alt:before { + content: "\eb4a"; +} + +.bx-slideshow:before { + content: "\eb4b"; +} + +.bx-smile:before { + content: "\eb4c"; +} + +.bx-sort:before { + content: "\eb4d"; +} + +.bx-sort-a-z:before { + content: "\eb4e"; +} + +.bx-sort-down:before { + content: "\eb4f"; +} + +.bx-sort-up:before { + content: "\eb50"; +} + +.bx-sort-z-a:before { + content: "\eb51"; +} + +.bx-spa:before { + content: "\eb52"; +} + +.bx-space-bar:before { + content: "\eb53"; +} + +.bx-spreadsheet:before { + content: "\eb54"; +} + +.bx-square:before { + content: "\eb55"; +} + +.bx-square-rounded:before { + content: "\eb56"; +} + +.bx-star:before { + content: "\eb57"; +} + +.bx-station:before { + content: "\eb58"; +} + +.bx-stats:before { + content: "\eb59"; +} + +.bx-sticker:before { + content: "\eb5a"; +} + +.bx-stop:before { + content: "\eb5b"; +} + +.bx-stop-circle:before { + content: "\eb5c"; +} + +.bx-stopwatch:before { + content: "\eb5d"; +} + +.bx-store:before { + content: "\eb5e"; +} + +.bx-store-alt:before { + content: "\eb5f"; +} + +.bx-street-view:before { + content: "\eb60"; +} + +.bx-strikethrough:before { + content: "\eb61"; +} + +.bx-subdirectory-left:before { + content: "\eb62"; +} + +.bx-subdirectory-right:before { + content: "\eb63"; +} + +.bx-sun:before { + content: "\eb64"; +} + +.bx-support:before { + content: "\eb65"; +} + +.bx-swim:before { + content: "\eb66"; +} + +.bx-sync:before { + content: "\eb67"; +} + +.bx-tab:before { + content: "\eb68"; +} + +.bx-table:before { + content: "\eb69"; +} + +.bx-tag:before { + content: "\eb6a"; +} + +.bx-target-lock:before { + content: "\eb6b"; +} + +.bx-task:before { + content: "\eb6c"; +} + +.bx-taxi:before { + content: "\eb6d"; +} + +.bx-tennis-ball:before { + content: "\eb6e"; +} + +.bx-terminal:before { + content: "\eb6f"; +} + +.bx-test-tube:before { + content: "\eb70"; +} + +.bx-text:before { + content: "\eb71"; +} + +.bx-time:before { + content: "\eb72"; +} + +.bx-time-five:before { + content: "\eb73"; +} + +.bx-timer:before { + content: "\eb74"; +} + +.bx-tired:before { + content: "\eb75"; +} + +.bx-toggle-left:before { + content: "\eb76"; +} + +.bx-toggle-right:before { + content: "\eb77"; +} + +.bx-tone:before { + content: "\eb78"; +} + +.bx-train:before { + content: "\eb79"; +} + +.bx-transfer:before { + content: "\eb7a"; +} + +.bx-transfer-alt:before { + content: "\eb7b"; +} + +.bx-trash:before { + content: "\eb7c"; +} + +.bx-trash-alt:before { + content: "\eb7d"; +} + +.bx-trending-down:before { + content: "\eb7e"; +} + +.bx-trending-up:before { + content: "\eb7f"; +} + +.bx-trophy:before { + content: "\eb80"; +} + +.bx-tv:before { + content: "\eb81"; +} + +.bx-underline:before { + content: "\eb82"; +} + +.bx-undo:before { + content: "\eb83"; +} + +.bx-unlink:before { + content: "\eb84"; +} + +.bx-up-arrow:before { + content: "\eb85"; +} + +.bx-up-arrow-alt:before { + content: "\eb86"; +} + +.bx-up-arrow-circle:before { + content: "\eb87"; +} + +.bx-upload:before { + content: "\eb88"; +} + +.bx-upside-down:before { + content: "\eb89"; +} + +.bx-upvote:before { + content: "\eb8a"; +} + +.bx-usb:before { + content: "\eb8b"; +} + +.bx-user:before { + content: "\eb8c"; +} + +.bx-user-check:before { + content: "\eb8d"; +} + +.bx-user-circle:before { + content: "\eb8e"; +} + +.bx-user-minus:before { + content: "\eb8f"; +} + +.bx-user-pin:before { + content: "\eb90"; +} + +.bx-user-plus:before { + content: "\eb91"; +} + +.bx-user-voice:before { + content: "\eb92"; +} + +.bx-user-x:before { + content: "\eb93"; +} + +.bx-vertical-center:before { + content: "\eb94"; +} + +.bx-video:before { + content: "\eb95"; +} + +.bx-video-off:before { + content: "\eb96"; +} + +.bx-video-plus:before { + content: "\eb97"; +} + +.bx-video-recording:before { + content: "\eb98"; +} + +.bx-voicemail:before { + content: "\eb99"; +} + +.bx-volume:before { + content: "\eb9a"; +} + +.bx-volume-full:before { + content: "\eb9b"; +} + +.bx-volume-low:before { + content: "\eb9c"; +} + +.bx-volume-mute:before { + content: "\eb9d"; +} + +.bx-walk:before { + content: "\eb9e"; +} + +.bx-wallet:before { + content: "\eb9f"; +} + +.bx-wallet-alt:before { + content: "\eba0"; +} + +.bx-water:before { + content: "\eba1"; +} + +.bx-wifi:before { + content: "\eba2"; +} + +.bx-wifi-off:before { + content: "\eba3"; +} + +.bx-wind:before { + content: "\eba4"; +} + +.bx-window:before { + content: "\eba5"; +} + +.bx-window-close:before { + content: "\eba6"; +} + +.bx-window-open:before { + content: "\eba7"; +} + +.bx-windows:before { + content: "\eba8"; +} + +.bx-wink-smile:before { + content: "\eba9"; +} + +.bx-wink-tongue:before { + content: "\ebaa"; +} + +.bx-won:before { + content: "\ebab"; +} + +.bx-world:before { + content: "\ebac"; +} + +.bx-wrench:before { + content: "\ebad"; +} + +.bx-x:before { + content: "\ebae"; +} + +.bx-x-circle:before { + content: "\ebaf"; +} + +.bx-yen:before { + content: "\ebb0"; +} + +.bx-zoom-in:before { + content: "\ebb1"; +} + +.bx-zoom-out:before { + content: "\ebb2"; +} + +.bxs-add-to-queue:before { + content: "\ebb3"; +} + +.bxs-adjust:before { + content: "\ebb4"; +} + +.bxs-adjust-alt:before { + content: "\ebb5"; +} + +.bxs-alarm:before { + content: "\ebb6"; +} + +.bxs-alarm-add:before { + content: "\ebb7"; +} + +.bxs-alarm-off:before { + content: "\ebb8"; +} + +.bxs-album:before { + content: "\ebb9"; +} + +.bxs-ambulance:before { + content: "\ebba"; +} + +.bxs-analyse:before { + content: "\ebbb"; +} + +.bxs-angry:before { + content: "\ebbc"; +} + +.bxs-archive:before { + content: "\ebbd"; +} + +.bxs-archive-in:before { + content: "\ebbe"; +} + +.bxs-archive-out:before { + content: "\ebbf"; +} + +.bxs-area:before { + content: "\ebc0"; +} + +.bxs-award:before { + content: "\ebc1"; +} + +.bxs-baby-carriage:before { + content: "\ebc2"; +} + +.bxs-badge:before { + content: "\ebc3"; +} + +.bxs-badge-check:before { + content: "\ebc4"; +} + +.bxs-ball:before { + content: "\ebc5"; +} + +.bxs-band-aid:before { + content: "\ebc6"; +} + +.bxs-bank:before { + content: "\ebc7"; +} + +.bxs-bar-chart-alt-2:before { + content: "\ebc8"; +} + +.bxs-bar-chart-square:before { + content: "\ebc9"; +} + +.bxs-barcode:before { + content: "\ebca"; +} + +.bxs-basket:before { + content: "\ebcb"; +} + +.bxs-bath:before { + content: "\ebcc"; +} + +.bxs-battery:before { + content: "\ebcd"; +} + +.bxs-battery-charging:before { + content: "\ebce"; +} + +.bxs-battery-full:before { + content: "\ebcf"; +} + +.bxs-battery-low:before { + content: "\ebd0"; +} + +.bxs-bed:before { + content: "\ebd1"; +} + +.bxs-bell:before { + content: "\ebd2"; +} + +.bxs-bell-minus:before { + content: "\ebd3"; +} + +.bxs-bell-off:before { + content: "\ebd4"; +} + +.bxs-bell-plus:before { + content: "\ebd5"; +} + +.bxs-bell-ring:before { + content: "\ebd6"; +} + +.bxs-bolt:before { + content: "\ebd7"; +} + +.bxs-bolt-circle:before { + content: "\ebd8"; +} + +.bxs-book:before { + content: "\ebd9"; +} + +.bxs-book-bookmark:before { + content: "\ebda"; +} + +.bxs-book-content:before { + content: "\ebdb"; +} + +.bxs-bookmark:before { + content: "\ebdc"; +} + +.bxs-bookmark-minus:before { + content: "\ebdd"; +} + +.bxs-bookmark-plus:before { + content: "\ebde"; +} + +.bxs-bookmarks:before { + content: "\ebdf"; +} + +.bxs-bookmark-star:before { + content: "\ebe0"; +} + +.bxs-book-open:before { + content: "\ebe1"; +} + +.bxs-bot:before { + content: "\ebe2"; +} + +.bxs-bowling-ball:before { + content: "\ebe3"; +} + +.bxs-box:before { + content: "\ebe4"; +} + +.bxs-briefcase:before { + content: "\ebe5"; +} + +.bxs-briefcase-alt:before { + content: "\ebe6"; +} + +.bxs-briefcase-alt-2:before { + content: "\ebe7"; +} + +.bxs-brightness:before { + content: "\ebe8"; +} + +.bxs-brightness-half:before { + content: "\ebe9"; +} + +.bxs-brush:before { + content: "\ebea"; +} + +.bxs-brush-alt:before { + content: "\ebeb"; +} + +.bxs-bug:before { + content: "\ebec"; +} + +.bxs-bug-alt:before { + content: "\ebed"; +} + +.bxs-building:before { + content: "\ebee"; +} + +.bxs-building-house:before { + content: "\ebef"; +} + +.bxs-buildings:before { + content: "\ebf0"; +} + +.bxs-bulb:before { + content: "\ebf1"; +} + +.bxs-buoy:before { + content: "\ebf2"; +} + +.bxs-bus:before { + content: "\ebf3"; +} + +.bxs-business:before { + content: "\ebf4"; +} + +.bxs-cake:before { + content: "\ebf5"; +} + +.bxs-calculator:before { + content: "\ebf6"; +} + +.bxs-calendar:before { + content: "\ebf7"; +} + +.bxs-calendar-alt:before { + content: "\ebf8"; +} + +.bxs-calendar-check:before { + content: "\ebf9"; +} + +.bxs-calendar-event:before { + content: "\ebfa"; +} + +.bxs-calendar-minus:before { + content: "\ebfb"; +} + +.bxs-calendar-plus:before { + content: "\ebfc"; +} + +.bxs-calendar-x:before { + content: "\ebfd"; +} + +.bxs-camera:before { + content: "\ebfe"; +} + +.bxs-camera-off:before { + content: "\ebff"; +} + +.bxs-camera-plus:before { + content: "\ec00"; +} + +.bxs-capsule:before { + content: "\ec01"; +} + +.bxs-captions:before { + content: "\ec02"; +} + +.bxs-car:before { + content: "\ec03"; +} + +.bxs-card:before { + content: "\ec04"; +} + +.bxs-caret-down-circle:before { + content: "\ec05"; +} + +.bxs-caret-left-circle:before { + content: "\ec06"; +} + +.bxs-caret-right-circle:before { + content: "\ec07"; +} + +.bxs-caret-up-circle:before { + content: "\ec08"; +} + +.bxs-carousel:before { + content: "\ec09"; +} + +.bxs-cart:before { + content: "\ec0a"; +} + +.bxs-cart-alt:before { + content: "\ec0b"; +} + +.bxs-certification:before { + content: "\ec0c"; +} + +.bxs-chalkboard:before { + content: "\ec0d"; +} + +.bxs-chart:before { + content: "\ec0e"; +} + +.bxs-chat:before { + content: "\ec0f"; +} + +.bxs-checkbox:before { + content: "\ec10"; +} + +.bxs-checkbox-checked:before { + content: "\ec11"; +} + +.bxs-check-circle:before { + content: "\ec12"; +} + +.bxs-check-shield:before { + content: "\ec13"; +} + +.bxs-check-square:before { + content: "\ec14"; +} + +.bxs-chip:before { + content: "\ec15"; +} + +.bxs-circle:before { + content: "\ec16"; +} + +.bxs-city:before { + content: "\ec17"; +} + +.bxs-clinic:before { + content: "\ec18"; +} + +.bxs-cloud:before { + content: "\ec19"; +} + +.bxs-cloud-download:before { + content: "\ec1a"; +} + +.bxs-cloud-lightning:before { + content: "\ec1b"; +} + +.bxs-cloud-rain:before { + content: "\ec1c"; +} + +.bxs-cloud-upload:before { + content: "\ec1d"; +} + +.bxs-coffee:before { + content: "\ec1e"; +} + +.bxs-coffee-alt:before { + content: "\ec1f"; +} + +.bxs-cog:before { + content: "\ec20"; +} + +.bxs-collection:before { + content: "\ec21"; +} + +.bxs-color-fill:before { + content: "\ec22"; +} + +.bxs-comment:before { + content: "\ec23"; +} + +.bxs-comment-add:before { + content: "\ec24"; +} + +.bxs-comment-detail:before { + content: "\ec25"; +} + +.bxs-comment-dots:before { + content: "\ec26"; +} + +.bxs-comment-error:before { + content: "\ec27"; +} + +.bxs-compass:before { + content: "\ec28"; +} + +.bxs-component:before { + content: "\ec29"; +} + +.bxs-confused:before { + content: "\ec2a"; +} + +.bxs-contact:before { + content: "\ec2b"; +} + +.bxs-conversation:before { + content: "\ec2c"; +} + +.bxs-cool:before { + content: "\ec2d"; +} + +.bxs-copy:before { + content: "\ec2e"; +} + +.bxs-copy-alt:before { + content: "\ec2f"; +} + +.bxs-coupon:before { + content: "\ec30"; +} + +.bxs-credit-card:before { + content: "\ec31"; +} + +.bxs-credit-card-alt:before { + content: "\ec32"; +} + +.bxs-crown:before { + content: "\ec33"; +} + +.bxs-cube:before { + content: "\ec34"; +} + +.bxs-cube-alt:before { + content: "\ec35"; +} + +.bxs-cuboid:before { + content: "\ec36"; +} + +.bxs-customize:before { + content: "\ec37"; +} + +.bxs-cylinder:before { + content: "\ec38"; +} + +.bxs-dashboard:before { + content: "\ec39"; +} + +.bxs-data:before { + content: "\ec3a"; +} + +.bxs-detail:before { + content: "\ec3b"; +} + +.bxs-devices:before { + content: "\ec3c"; +} + +.bxs-direction-left:before { + content: "\ec3d"; +} + +.bxs-direction-right:before { + content: "\ec3e"; +} + +.bxs-directions:before { + content: "\ec3f"; +} + +.bxs-disc:before { + content: "\ec40"; +} + +.bxs-discount:before { + content: "\ec41"; +} + +.bxs-dish:before { + content: "\ec42"; +} + +.bxs-dislike:before { + content: "\ec43"; +} + +.bxs-dizzy:before { + content: "\ec44"; +} + +.bxs-dock-bottom:before { + content: "\ec45"; +} + +.bxs-dock-left:before { + content: "\ec46"; +} + +.bxs-dock-right:before { + content: "\ec47"; +} + +.bxs-dock-top:before { + content: "\ec48"; +} + +.bxs-dollar-circle:before { + content: "\ec49"; +} + +.bxs-doughnut-chart:before { + content: "\ec4a"; +} + +.bxs-down-arrow:before { + content: "\ec4b"; +} + +.bxs-down-arrow-circle:before { + content: "\ec4c"; +} + +.bxs-down-arrow-square:before { + content: "\ec4d"; +} + +.bxs-download:before { + content: "\ec4e"; +} + +.bxs-downvote:before { + content: "\ec4f"; +} + +.bxs-drink:before { + content: "\ec50"; +} + +.bxs-droplet:before { + content: "\ec51"; +} + +.bxs-droplet-half:before { + content: "\ec52"; +} + +.bxs-duplicate:before { + content: "\ec53"; +} + +.bxs-edit:before { + content: "\ec54"; +} + +.bxs-edit-alt:before { + content: "\ec55"; +} + +.bxs-eject:before { + content: "\ec56"; +} + +.bxs-envelope:before { + content: "\ec57"; +} + +.bxs-eraser:before { + content: "\ec58"; +} + +.bxs-error:before { + content: "\ec59"; +} + +.bxs-error-alt:before { + content: "\ec5a"; +} + +.bxs-error-circle:before { + content: "\ec5b"; +} + +.bxs-exit:before { + content: "\ec5c"; +} + +.bxs-extension:before { + content: "\ec5d"; +} + +.bxs-eyedropper:before { + content: "\ec5e"; +} + +.bxs-face:before { + content: "\ec5f"; +} + +.bxs-factory:before { + content: "\ec60"; +} + +.bxs-fast-forward-circle:before { + content: "\ec61"; +} + +.bxs-file:before { + content: "\ec62"; +} + +.bxs-file-blank:before { + content: "\ec63"; +} + +.bxs-file-css:before { + content: "\ec64"; +} + +.bxs-file-doc:before { + content: "\ec65"; +} + +.bxs-file-find:before { + content: "\ec66"; +} + +.bxs-file-gif:before { + content: "\ec67"; +} + +.bxs-file-html:before { + content: "\ec68"; +} + +.bxs-file-image:before { + content: "\ec69"; +} + +.bxs-file-jpg:before { + content: "\ec6a"; +} + +.bxs-file-js:before { + content: "\ec6b"; +} + +.bxs-file-json:before { + content: "\ec6c"; +} + +.bxs-file-md:before { + content: "\ec6d"; +} + +.bxs-file-pdf:before { + content: "\ec6e"; +} + +.bxs-file-plus:before { + content: "\ec6f"; +} + +.bxs-file-png:before { + content: "\ec70"; +} + +.bxs-file-txt:before { + content: "\ec71"; +} + +.bxs-film:before { + content: "\ec72"; +} + +.bxs-filter-alt:before { + content: "\ec73"; +} + +.bxs-first-aid:before { + content: "\ec74"; +} + +.bxs-flag:before { + content: "\ec75"; +} + +.bxs-flag-alt:before { + content: "\ec76"; +} + +.bxs-flame:before { + content: "\ec77"; +} + +.bxs-flask:before { + content: "\ec78"; +} + +.bxs-folder:before { + content: "\ec79"; +} + +.bxs-folder-minus:before { + content: "\ec7a"; +} + +.bxs-folder-open:before { + content: "\ec7b"; +} + +.bxs-folder-plus:before { + content: "\ec7c"; +} + +.bxs-food-menu:before { + content: "\ec7d"; +} + +.bxs-fridge:before { + content: "\ec7e"; +} + +.bxs-gas-pump:before { + content: "\ec7f"; +} + +.bxs-ghost:before { + content: "\ec80"; +} + +.bxs-gift:before { + content: "\ec81"; +} + +.bxs-graduation:before { + content: "\ec82"; +} + +.bxs-grid:before { + content: "\ec83"; +} + +.bxs-grid-alt:before { + content: "\ec84"; +} + +.bxs-group:before { + content: "\ec85"; +} + +.bxs-hand-down:before { + content: "\ec86"; +} + +.bxs-hand-left:before { + content: "\ec87"; +} + +.bxs-hand-right:before { + content: "\ec88"; +} + +.bxs-hand-up:before { + content: "\ec89"; +} + +.bxs-happy:before { + content: "\ec8a"; +} + +.bxs-happy-alt:before { + content: "\ec8b"; +} + +.bxs-happy-beaming:before { + content: "\ec8c"; +} + +.bxs-happy-heart-eyes:before { + content: "\ec8d"; +} + +.bxs-hdd:before { + content: "\ec8e"; +} + +.bxs-heart:before { + content: "\ec8f"; +} + +.bxs-help-circle:before { + content: "\ec90"; +} + +.bxs-hide:before { + content: "\ec91"; +} + +.bxs-home:before { + content: "\ec92"; +} + +.bxs-home-circle:before { + content: "\ec93"; +} + +.bxs-hot:before { + content: "\ec94"; +} + +.bxs-hotel:before { + content: "\ec95"; +} + +.bxs-hourglass:before { + content: "\ec96"; +} + +.bxs-hourglass-bottom:before { + content: "\ec97"; +} + +.bxs-hourglass-top:before { + content: "\ec98"; +} + +.bxs-id-card:before { + content: "\ec99"; +} + +.bxs-image:before { + content: "\ec9a"; +} + +.bxs-image-add:before { + content: "\ec9b"; +} + +.bxs-image-alt:before { + content: "\ec9c"; +} + +.bxs-inbox:before { + content: "\ec9d"; +} + +.bxs-info-circle:before { + content: "\ec9e"; +} + +.bxs-institution:before { + content: "\ec9f"; +} + +.bxs-joystick:before { + content: "\eca0"; +} + +.bxs-joystick-alt:before { + content: "\eca1"; +} + +.bxs-joystick-button:before { + content: "\eca2"; +} + +.bxs-key:before { + content: "\eca3"; +} + +.bxs-keyboard:before { + content: "\eca4"; +} + +.bxs-label:before { + content: "\eca5"; +} + +.bxs-landmark:before { + content: "\eca6"; +} + +.bxs-landscape:before { + content: "\eca7"; +} + +.bxs-laugh:before { + content: "\eca8"; +} + +.bxs-layer:before { + content: "\eca9"; +} + +.bxs-layout:before { + content: "\ecaa"; +} + +.bxs-left-arrow:before { + content: "\ecab"; +} + +.bxs-left-arrow-circle:before { + content: "\ecac"; +} + +.bxs-left-arrow-square:before { + content: "\ecad"; +} + +.bxs-left-down-arrow-circle:before { + content: "\ecae"; +} + +.bxs-left-top-arrow-circle:before { + content: "\ecaf"; +} + +.bxs-like:before { + content: "\ecb0"; +} + +.bxs-lock:before { + content: "\ecb1"; +} + +.bxs-lock-alt:before { + content: "\ecb2"; +} + +.bxs-lock-open:before { + content: "\ecb3"; +} + +.bxs-lock-open-alt:before { + content: "\ecb4"; +} + +.bxs-log-in:before { + content: "\ecb5"; +} + +.bxs-log-in-circle:before { + content: "\ecb6"; +} + +.bxs-log-out:before { + content: "\ecb7"; +} + +.bxs-log-out-circle:before { + content: "\ecb8"; +} + +.bxs-magic-wand:before { + content: "\ecb9"; +} + +.bxs-magnet:before { + content: "\ecba"; +} + +.bxs-map:before { + content: "\ecbb"; +} + +.bxs-map-alt:before { + content: "\ecbc"; +} + +.bxs-map-pin:before { + content: "\ecbd"; +} + +.bxs-megaphone:before { + content: "\ecbe"; +} + +.bxs-meh:before { + content: "\ecbf"; +} + +.bxs-meh-alt:before { + content: "\ecc0"; +} + +.bxs-meh-blank:before { + content: "\ecc1"; +} + +.bxs-memory-card:before { + content: "\ecc2"; +} + +.bxs-message:before { + content: "\ecc3"; +} + +.bxs-message-alt:before { + content: "\ecc4"; +} + +.bxs-message-alt-dots:before { + content: "\ecc5"; +} + +.bxs-message-dots:before { + content: "\ecc6"; +} + +.bxs-message-rounded:before { + content: "\ecc7"; +} + +.bxs-message-rounded-dots:before { + content: "\ecc8"; +} + +.bxs-message-square:before { + content: "\ecc9"; +} + +.bxs-message-square-dots:before { + content: "\ecca"; +} + +.bxs-microphone:before { + content: "\eccb"; +} + +.bxs-microphone-alt:before { + content: "\eccc"; +} + +.bxs-microphone-off:before { + content: "\eccd"; +} + +.bxs-minus-circle:before { + content: "\ecce"; +} + +.bxs-minus-square:before { + content: "\eccf"; +} + +.bxs-mobile:before { + content: "\ecd0"; +} + +.bxs-mobile-vibration:before { + content: "\ecd1"; +} + +.bxs-moon:before { + content: "\ecd2"; +} + +.bxs-mouse:before { + content: "\ecd3"; +} + +.bxs-mouse-alt:before { + content: "\ecd4"; +} + +.bxs-movie:before { + content: "\ecd5"; +} + +.bxs-music:before { + content: "\ecd6"; +} + +.bxs-navigation:before { + content: "\ecd7"; +} + +.bxs-news:before { + content: "\ecd8"; +} + +.bxs-no-entry:before { + content: "\ecd9"; +} + +.bxs-note:before { + content: "\ecda"; +} + +.bxs-notepad:before { + content: "\ecdb"; +} + +.bxs-notification:before { + content: "\ecdc"; +} + +.bxs-notification-off:before { + content: "\ecdd"; +} + +.bxs-offer:before { + content: "\ecde"; +} + +.bxs-package:before { + content: "\ecdf"; +} + +.bxs-paint:before { + content: "\ece0"; +} + +.bxs-paint-roll:before { + content: "\ece1"; +} + +.bxs-palette:before { + content: "\ece2"; +} + +.bxs-paper-plane:before { + content: "\ece3"; +} + +.bxs-parking:before { + content: "\ece4"; +} + +.bxs-paste:before { + content: "\ece5"; +} + +.bxs-pen:before { + content: "\ece6"; +} + +.bxs-pencil:before { + content: "\ece7"; +} + +.bxs-phone:before { + content: "\ece8"; +} + +.bxs-phone-call:before { + content: "\ece9"; +} + +.bxs-phone-incoming:before { + content: "\ecea"; +} + +.bxs-phone-outgoing:before { + content: "\eceb"; +} + +.bxs-photo-album:before { + content: "\ecec"; +} + +.bxs-pie-chart:before { + content: "\eced"; +} + +.bxs-pie-chart-alt:before { + content: "\ecee"; +} + +.bxs-pie-chart-alt-2:before { + content: "\ecef"; +} + +.bxs-pin:before { + content: "\ecf0"; +} + +.bxs-plane:before { + content: "\ecf1"; +} + +.bxs-plane-alt:before { + content: "\ecf2"; +} + +.bxs-plane-land:before { + content: "\ecf3"; +} + +.bxs-planet:before { + content: "\ecf4"; +} + +.bxs-plane-take-off:before { + content: "\ecf5"; +} + +.bxs-playlist:before { + content: "\ecf6"; +} + +.bxs-plug:before { + content: "\ecf7"; +} + +.bxs-plus-circle:before { + content: "\ecf8"; +} + +.bxs-plus-square:before { + content: "\ecf9"; +} + +.bxs-polygon:before { + content: "\ecfa"; +} + +.bxs-printer:before { + content: "\ecfb"; +} + +.bxs-purchase-tag:before { + content: "\ecfc"; +} + +.bxs-purchase-tag-alt:before { + content: "\ecfd"; +} + +.bxs-pyramid:before { + content: "\ecfe"; +} + +.bxs-quote-alt-left:before { + content: "\ecff"; +} + +.bxs-quote-alt-right:before { + content: "\ed00"; +} + +.bxs-quote-left:before { + content: "\ed01"; +} + +.bxs-quote-right:before { + content: "\ed02"; +} + +.bxs-quote-single-left:before { + content: "\ed03"; +} + +.bxs-quote-single-right:before { + content: "\ed04"; +} + +.bxs-radio:before { + content: "\ed05"; +} + +.bxs-receipt:before { + content: "\ed06"; +} + +.bxs-rectangle:before { + content: "\ed07"; +} + +.bxs-rename:before { + content: "\ed08"; +} + +.bxs-report:before { + content: "\ed09"; +} + +.bxs-rewind-circle:before { + content: "\ed0a"; +} + +.bxs-right-arrow:before { + content: "\ed0b"; +} + +.bxs-right-arrow-circle:before { + content: "\ed0c"; +} + +.bxs-right-arrow-square:before { + content: "\ed0d"; +} + +.bxs-right-down-arrow-circle:before { + content: "\ed0e"; +} + +.bxs-right-top-arrow-circle:before { + content: "\ed0f"; +} + +.bxs-rocket:before { + content: "\ed10"; +} + +.bxs-ruler:before { + content: "\ed11"; +} + +.bxs-sad:before { + content: "\ed12"; +} + +.bxs-save:before { + content: "\ed13"; +} + +.bxs-school:before { + content: "\ed14"; +} + +.bxs-search:before { + content: "\ed15"; +} + +.bxs-search-alt-2:before { + content: "\ed16"; +} + +.bxs-select-multiple:before { + content: "\ed17"; +} + +.bxs-send:before { + content: "\ed18"; +} + +.bxs-server:before { + content: "\ed19"; +} + +.bxs-share:before { + content: "\ed1a"; +} + +.bxs-share-alt:before { + content: "\ed1b"; +} + +.bxs-shield:before { + content: "\ed1c"; +} + +.bxs-shield-alt-2:before { + content: "\ed1d"; +} + +.bxs-ship:before { + content: "\ed1e"; +} + +.bxs-shocked:before { + content: "\ed1f"; +} + +.bxs-shopping-bag:before { + content: "\ed20"; +} + +.bxs-shopping-bag-alt:before { + content: "\ed21"; +} + +.bxs-show:before { + content: "\ed22"; +} + +.bxs-skip-next-circle:before { + content: "\ed23"; +} + +.bxs-skip-previous-circle:before { + content: "\ed24"; +} + +.bxs-skull:before { + content: "\ed25"; +} + +.bxs-sleepy:before { + content: "\ed26"; +} + +.bxs-slideshow:before { + content: "\ed27"; +} + +.bxs-smile:before { + content: "\ed28"; +} + +.bxs-sort-alt:before { + content: "\ed29"; +} + +.bxs-spa:before { + content: "\ed2a"; +} + +.bxs-spreadsheet:before { + content: "\ed2b"; +} + +.bxs-square:before { + content: "\ed2c"; +} + +.bxs-square-rounded:before { + content: "\ed2d"; +} + +.bxs-star:before { + content: "\ed2e"; +} + +.bxs-star-half:before { + content: "\ed2f"; +} + +.bxs-stopwatch:before { + content: "\ed30"; +} + +.bxs-store:before { + content: "\ed31"; +} + +.bxs-store-alt:before { + content: "\ed32"; +} + +.bxs-sun:before { + content: "\ed33"; +} + +.bxs-tag:before { + content: "\ed34"; +} + +.bxs-tag-x:before { + content: "\ed35"; +} + +.bxs-taxi:before { + content: "\ed36"; +} + +.bxs-tennis-ball:before { + content: "\ed37"; +} + +.bxs-terminal:before { + content: "\ed38"; +} + +.bxs-time:before { + content: "\ed39"; +} + +.bxs-time-five:before { + content: "\ed3a"; +} + +.bxs-timer:before { + content: "\ed3b"; +} + +.bxs-tired:before { + content: "\ed3c"; +} + +.bxs-toggle-left:before { + content: "\ed3d"; +} + +.bxs-toggle-right:before { + content: "\ed3e"; +} + +.bxs-tone:before { + content: "\ed3f"; +} + +.bxs-torch:before { + content: "\ed40"; +} + +.bxs-to-top:before { + content: "\ed41"; +} + +.bxs-traffic:before { + content: "\ed42"; +} + +.bxs-traffic-barrier:before { + content: "\ed43"; +} + +.bxs-train:before { + content: "\ed44"; +} + +.bxs-trash:before { + content: "\ed45"; +} + +.bxs-trash-alt:before { + content: "\ed46"; +} + +.bxs-tree:before { + content: "\ed47"; +} + +.bxs-trophy:before { + content: "\ed48"; +} + +.bxs-truck:before { + content: "\ed49"; +} + +.bxs-t-shirt:before { + content: "\ed4a"; +} + +.bxs-up-arrow:before { + content: "\ed4b"; +} + +.bxs-up-arrow-circle:before { + content: "\ed4c"; +} + +.bxs-up-arrow-square:before { + content: "\ed4d"; +} + +.bxs-upside-down:before { + content: "\ed4e"; +} + +.bxs-upvote:before { + content: "\ed4f"; +} + +.bxs-user:before { + content: "\ed50"; +} + +.bxs-user-badge:before { + content: "\ed51"; +} + +.bxs-user-check:before { + content: "\ed52"; +} + +.bxs-user-circle:before { + content: "\ed53"; +} + +.bxs-user-detail:before { + content: "\ed54"; +} + +.bxs-user-minus:before { + content: "\ed55"; +} + +.bxs-user-pin:before { + content: "\ed56"; +} + +.bxs-user-plus:before { + content: "\ed57"; +} + +.bxs-user-rectangle:before { + content: "\ed58"; +} + +.bxs-user-voice:before { + content: "\ed59"; +} + +.bxs-user-x:before { + content: "\ed5a"; +} + +.bxs-vial:before { + content: "\ed5b"; +} + +.bxs-video:before { + content: "\ed5c"; +} + +.bxs-video-off:before { + content: "\ed5d"; +} + +.bxs-video-plus:before { + content: "\ed5e"; +} + +.bxs-video-recording:before { + content: "\ed5f"; +} + +.bxs-videos:before { + content: "\ed60"; +} + +.bxs-volume:before { + content: "\ed61"; +} + +.bxs-volume-full:before { + content: "\ed62"; +} + +.bxs-volume-low:before { + content: "\ed63"; +} + +.bxs-volume-mute:before { + content: "\ed64"; +} + +.bxs-wallet:before { + content: "\ed65"; +} + +.bxs-wallet-alt:before { + content: "\ed66"; +} + +.bxs-watch:before { + content: "\ed67"; +} + +.bxs-watch-alt:before { + content: "\ed68"; +} + +.bxs-widget:before { + content: "\ed69"; +} + +.bxs-wine:before { + content: "\ed6a"; +} + +.bxs-wink-smile:before { + content: "\ed6b"; +} + +.bxs-wink-tongue:before { + content: "\ed6c"; +} + +.bxs-wrench:before { + content: "\ed6d"; +} + +.bxs-x-circle:before { + content: "\ed6e"; +} + +.bxs-x-square:before { + content: "\ed6f"; +} + +.bxs-yin-yang:before { + content: "\ed70"; +} + +.bxs-zap:before { + content: "\ed71"; +} + +.bxs-zoom-in:before { + content: "\ed72"; +} + +.bxs-zoom-out:before { + content: "\ed73"; +} + +/*! + * Font Awesome Free 5.8.1 by @fontawesome - https://fontawesome.com + * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) + */ +.fa, +.fas, +.far, +.fal, +.fab { + -moz-osx-font-smoothing: grayscale; + -webkit-font-smoothing: antialiased; + display: inline-block; + font-style: normal; + font-variant: normal; + text-rendering: auto; + line-height: 1; +} + +.fa-lg { + font-size: 1.33333em; + line-height: 0.75em; + vertical-align: -.0667em; +} + +.fa-xs { + font-size: .75em; +} + +.fa-sm { + font-size: .875em; +} + +.fa-1x { + font-size: 1em; +} + +.fa-2x { + font-size: 2em; +} + +.fa-3x { + font-size: 3em; +} + +.fa-4x { + font-size: 4em; +} + +.fa-5x { + font-size: 5em; +} + +.fa-6x { + font-size: 6em; +} + +.fa-7x { + font-size: 7em; +} + +.fa-8x { + font-size: 8em; +} + +.fa-9x { + font-size: 9em; +} + +.fa-10x { + font-size: 10em; +} + +.fa-fw { + text-align: center; + width: 1.25em; +} + +.fa-ul { + list-style-type: none; + margin-right: 2.5em; + padding-right: 0; +} + +.fa-ul > li { + position: relative; +} + +.fa-li { + right: -2em; + position: absolute; + text-align: center; + width: 2em; + line-height: inherit; +} + +.fa-border { + border: solid 0.08em #eee; + border-radius: .1em; + padding: .2em .25em .15em; +} + +.fa-pull-left { + float: right; +} + +.fa-pull-right { + float: left; +} + +.fa.fa-pull-left, +.fas.fa-pull-left, +.far.fa-pull-left, +.fal.fa-pull-left, +.fab.fa-pull-left { + margin-left: .3em; +} + +.fa.fa-pull-right, +.fas.fa-pull-right, +.far.fa-pull-right, +.fal.fa-pull-right, +.fab.fa-pull-right { + margin-right: .3em; +} + +.fa-spin { + -webkit-animation: fa-spin 2s infinite linear; + animation: fa-spin 2s infinite linear; +} + +.fa-pulse { + -webkit-animation: fa-spin 1s infinite steps(8); + animation: fa-spin 1s infinite steps(8); +} + +@-webkit-keyframes fa-spin { + 0% { + -webkit-transform: rotate(0deg); + transform: rotate(0deg); + } + 100% { + -webkit-transform: rotate(-360deg); + transform: rotate(-360deg); + } +} + +@keyframes fa-spin { + 0% { + -webkit-transform: rotate(0deg); + transform: rotate(0deg); + } + 100% { + -webkit-transform: rotate(-360deg); + transform: rotate(-360deg); + } +} + +.fa-rotate-90 { + -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=1)"; + -webkit-transform: rotate(-90deg); + -ms-transform: rotate(-90deg); + transform: rotate(-90deg); +} + +.fa-rotate-180 { + -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=2)"; + -webkit-transform: rotate(-180deg); + -ms-transform: rotate(-180deg); + transform: rotate(-180deg); +} + +.fa-rotate-270 { + -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=3)"; + -webkit-transform: rotate(-270deg); + -ms-transform: rotate(-270deg); + transform: rotate(-270deg); +} + +.fa-flip-horizontal { + -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1)"; + -webkit-transform: scale(-1, 1); + -ms-transform: scale(-1, 1); + transform: scale(-1, 1); +} + +.fa-flip-vertical { + -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)"; + -webkit-transform: scale(1, -1); + -ms-transform: scale(1, -1); + transform: scale(1, -1); +} + +.fa-flip-both, .fa-flip-horizontal.fa-flip-vertical { + -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)"; + -webkit-transform: scale(-1, -1); + -ms-transform: scale(-1, -1); + transform: scale(-1, -1); +} + +:root .fa-rotate-90, +:root .fa-rotate-180, +:root .fa-rotate-270, +:root .fa-flip-horizontal, +:root .fa-flip-vertical, +:root .fa-flip-both { + -webkit-filter: none; + filter: none; +} + +.fa-stack { + display: inline-block; + height: 2em; + line-height: 2em; + position: relative; + vertical-align: middle; + width: 2.5em; +} + +.fa-stack-1x, +.fa-stack-2x { + right: 0; + position: absolute; + text-align: center; + width: 100%; +} + +.fa-stack-1x { + line-height: inherit; +} + +.fa-stack-2x { + font-size: 2em; +} + +.fa-inverse { + color: #fff; +} + +/* Font Awesome uses the Unicode Private Use Area (PUA) to ensure screen + readers do not read off random characters that represent icons */ +.fa-500px:before { + content: "\f26e"; +} + +.fa-accessible-icon:before { + content: "\f368"; +} + +.fa-accusoft:before { + content: "\f369"; +} + +.fa-acquisitions-incorporated:before { + content: "\f6af"; +} + +.fa-ad:before { + content: "\f641"; +} + +.fa-address-book:before { + content: "\f2b9"; +} + +.fa-address-card:before { + content: "\f2bb"; +} + +.fa-adjust:before { + content: "\f042"; +} + +.fa-adn:before { + content: "\f170"; +} + +.fa-adobe:before { + content: "\f778"; +} + +.fa-adversal:before { + content: "\f36a"; +} + +.fa-affiliatetheme:before { + content: "\f36b"; +} + +.fa-air-freshener:before { + content: "\f5d0"; +} + +.fa-airbnb:before { + content: "\f834"; +} + +.fa-algolia:before { + content: "\f36c"; +} + +.fa-align-center:before { + content: "\f037"; +} + +.fa-align-justify:before { + content: "\f039"; +} + +.fa-align-left:before { + content: "\f036"; +} + +.fa-align-right:before { + content: "\f038"; +} + +.fa-alipay:before { + content: "\f642"; +} + +.fa-allergies:before { + content: "\f461"; +} + +.fa-amazon:before { + content: "\f270"; +} + +.fa-amazon-pay:before { + content: "\f42c"; +} + +.fa-ambulance:before { + content: "\f0f9"; +} + +.fa-american-sign-language-interpreting:before { + content: "\f2a3"; +} + +.fa-amilia:before { + content: "\f36d"; +} + +.fa-anchor:before { + content: "\f13d"; +} + +.fa-android:before { + content: "\f17b"; +} + +.fa-angellist:before { + content: "\f209"; +} + +.fa-angle-double-down:before { + content: "\f103"; +} + +.fa-angle-double-left:before { + content: "\f100"; +} + +.fa-angle-double-right:before { + content: "\f101"; +} + +.fa-angle-double-up:before { + content: "\f102"; +} + +.fa-angle-down:before { + content: "\f107"; +} + +.fa-angle-left:before { + content: "\f104"; +} + +.fa-angle-right:before { + content: "\f105"; +} + +.fa-angle-up:before { + content: "\f106"; +} + +.fa-angry:before { + content: "\f556"; +} + +.fa-angrycreative:before { + content: "\f36e"; +} + +.fa-angular:before { + content: "\f420"; +} + +.fa-ankh:before { + content: "\f644"; +} + +.fa-app-store:before { + content: "\f36f"; +} + +.fa-app-store-ios:before { + content: "\f370"; +} + +.fa-apper:before { + content: "\f371"; +} + +.fa-apple:before { + content: "\f179"; +} + +.fa-apple-alt:before { + content: "\f5d1"; +} + +.fa-apple-pay:before { + content: "\f415"; +} + +.fa-archive:before { + content: "\f187"; +} + +.fa-archway:before { + content: "\f557"; +} + +.fa-arrow-alt-circle-down:before { + content: "\f358"; +} + +.fa-arrow-alt-circle-left:before { + content: "\f359"; +} + +.fa-arrow-alt-circle-right:before { + content: "\f35a"; +} + +.fa-arrow-alt-circle-up:before { + content: "\f35b"; +} + +.fa-arrow-circle-down:before { + content: "\f0ab"; +} + +.fa-arrow-circle-left:before { + content: "\f0a8"; +} + +.fa-arrow-circle-right:before { + content: "\f0a9"; +} + +.fa-arrow-circle-up:before { + content: "\f0aa"; +} + +.fa-arrow-down:before { + content: "\f063"; +} + +.fa-arrow-left:before { + content: "\f060"; +} + +.fa-arrow-right:before { + content: "\f061"; +} + +.fa-arrow-up:before { + content: "\f062"; +} + +.fa-arrows-alt:before { + content: "\f0b2"; +} + +.fa-arrows-alt-h:before { + content: "\f337"; +} + +.fa-arrows-alt-v:before { + content: "\f338"; +} + +.fa-artstation:before { + content: "\f77a"; +} + +.fa-assistive-listening-systems:before { + content: "\f2a2"; +} + +.fa-asterisk:before { + content: "\f069"; +} + +.fa-asymmetrik:before { + content: "\f372"; +} + +.fa-at:before { + content: "\f1fa"; +} + +.fa-atlas:before { + content: "\f558"; +} + +.fa-atlassian:before { + content: "\f77b"; +} + +.fa-atom:before { + content: "\f5d2"; +} + +.fa-audible:before { + content: "\f373"; +} + +.fa-audio-description:before { + content: "\f29e"; +} + +.fa-autoprefixer:before { + content: "\f41c"; +} + +.fa-avianex:before { + content: "\f374"; +} + +.fa-aviato:before { + content: "\f421"; +} + +.fa-award:before { + content: "\f559"; +} + +.fa-aws:before { + content: "\f375"; +} + +.fa-baby:before { + content: "\f77c"; +} + +.fa-baby-carriage:before { + content: "\f77d"; +} + +.fa-backspace:before { + content: "\f55a"; +} + +.fa-backward:before { + content: "\f04a"; +} + +.fa-bacon:before { + content: "\f7e5"; +} + +.fa-balance-scale:before { + content: "\f24e"; +} + +.fa-ban:before { + content: "\f05e"; +} + +.fa-band-aid:before { + content: "\f462"; +} + +.fa-bandcamp:before { + content: "\f2d5"; +} + +.fa-barcode:before { + content: "\f02a"; +} + +.fa-bars:before { + content: "\f0c9"; +} + +.fa-baseball-ball:before { + content: "\f433"; +} + +.fa-basketball-ball:before { + content: "\f434"; +} + +.fa-bath:before { + content: "\f2cd"; +} + +.fa-battery-empty:before { + content: "\f244"; +} + +.fa-battery-full:before { + content: "\f240"; +} + +.fa-battery-half:before { + content: "\f242"; +} + +.fa-battery-quarter:before { + content: "\f243"; +} + +.fa-battery-three-quarters:before { + content: "\f241"; +} + +.fa-battle-net:before { + content: "\f835"; +} + +.fa-bed:before { + content: "\f236"; +} + +.fa-beer:before { + content: "\f0fc"; +} + +.fa-behance:before { + content: "\f1b4"; +} + +.fa-behance-square:before { + content: "\f1b5"; +} + +.fa-bell:before { + content: "\f0f3"; +} + +.fa-bell-slash:before { + content: "\f1f6"; +} + +.fa-bezier-curve:before { + content: "\f55b"; +} + +.fa-bible:before { + content: "\f647"; +} + +.fa-bicycle:before { + content: "\f206"; +} + +.fa-bimobject:before { + content: "\f378"; +} + +.fa-binoculars:before { + content: "\f1e5"; +} + +.fa-biohazard:before { + content: "\f780"; +} + +.fa-birthday-cake:before { + content: "\f1fd"; +} + +.fa-bitbucket:before { + content: "\f171"; +} + +.fa-bitcoin:before { + content: "\f379"; +} + +.fa-bity:before { + content: "\f37a"; +} + +.fa-black-tie:before { + content: "\f27e"; +} + +.fa-blackberry:before { + content: "\f37b"; +} + +.fa-blender:before { + content: "\f517"; +} + +.fa-blender-phone:before { + content: "\f6b6"; +} + +.fa-blind:before { + content: "\f29d"; +} + +.fa-blog:before { + content: "\f781"; +} + +.fa-blogger:before { + content: "\f37c"; +} + +.fa-blogger-b:before { + content: "\f37d"; +} + +.fa-bluetooth:before { + content: "\f293"; +} + +.fa-bluetooth-b:before { + content: "\f294"; +} + +.fa-bold:before { + content: "\f032"; +} + +.fa-bolt:before { + content: "\f0e7"; +} + +.fa-bomb:before { + content: "\f1e2"; +} + +.fa-bone:before { + content: "\f5d7"; +} + +.fa-bong:before { + content: "\f55c"; +} + +.fa-book:before { + content: "\f02d"; +} + +.fa-book-dead:before { + content: "\f6b7"; +} + +.fa-book-medical:before { + content: "\f7e6"; +} + +.fa-book-open:before { + content: "\f518"; +} + +.fa-book-reader:before { + content: "\f5da"; +} + +.fa-bookmark:before { + content: "\f02e"; +} + +.fa-bootstrap:before { + content: "\f836"; +} + +.fa-bowling-ball:before { + content: "\f436"; +} + +.fa-box:before { + content: "\f466"; +} + +.fa-box-open:before { + content: "\f49e"; +} + +.fa-boxes:before { + content: "\f468"; +} + +.fa-braille:before { + content: "\f2a1"; +} + +.fa-brain:before { + content: "\f5dc"; +} + +.fa-bread-slice:before { + content: "\f7ec"; +} + +.fa-briefcase:before { + content: "\f0b1"; +} + +.fa-briefcase-medical:before { + content: "\f469"; +} + +.fa-broadcast-tower:before { + content: "\f519"; +} + +.fa-broom:before { + content: "\f51a"; +} + +.fa-brush:before { + content: "\f55d"; +} + +.fa-btc:before { + content: "\f15a"; +} + +.fa-buffer:before { + content: "\f837"; +} + +.fa-bug:before { + content: "\f188"; +} + +.fa-building:before { + content: "\f1ad"; +} + +.fa-bullhorn:before { + content: "\f0a1"; +} + +.fa-bullseye:before { + content: "\f140"; +} + +.fa-burn:before { + content: "\f46a"; +} + +.fa-buromobelexperte:before { + content: "\f37f"; +} + +.fa-bus:before { + content: "\f207"; +} + +.fa-bus-alt:before { + content: "\f55e"; +} + +.fa-business-time:before { + content: "\f64a"; +} + +.fa-buysellads:before { + content: "\f20d"; +} + +.fa-calculator:before { + content: "\f1ec"; +} + +.fa-calendar:before { + content: "\f133"; +} + +.fa-calendar-alt:before { + content: "\f073"; +} + +.fa-calendar-check:before { + content: "\f274"; +} + +.fa-calendar-day:before { + content: "\f783"; +} + +.fa-calendar-minus:before { + content: "\f272"; +} + +.fa-calendar-plus:before { + content: "\f271"; +} + +.fa-calendar-times:before { + content: "\f273"; +} + +.fa-calendar-week:before { + content: "\f784"; +} + +.fa-camera:before { + content: "\f030"; +} + +.fa-camera-retro:before { + content: "\f083"; +} + +.fa-campground:before { + content: "\f6bb"; +} + +.fa-canadian-maple-leaf:before { + content: "\f785"; +} + +.fa-candy-cane:before { + content: "\f786"; +} + +.fa-cannabis:before { + content: "\f55f"; +} + +.fa-capsules:before { + content: "\f46b"; +} + +.fa-car:before { + content: "\f1b9"; +} + +.fa-car-alt:before { + content: "\f5de"; +} + +.fa-car-battery:before { + content: "\f5df"; +} + +.fa-car-crash:before { + content: "\f5e1"; +} + +.fa-car-side:before { + content: "\f5e4"; +} + +.fa-caret-down:before { + content: "\f0d7"; +} + +.fa-caret-left:before { + content: "\f0d9"; +} + +.fa-caret-right:before { + content: "\f0da"; +} + +.fa-caret-square-down:before { + content: "\f150"; +} + +.fa-caret-square-left:before { + content: "\f191"; +} + +.fa-caret-square-right:before { + content: "\f152"; +} + +.fa-caret-square-up:before { + content: "\f151"; +} + +.fa-caret-up:before { + content: "\f0d8"; +} + +.fa-carrot:before { + content: "\f787"; +} + +.fa-cart-arrow-down:before { + content: "\f218"; +} + +.fa-cart-plus:before { + content: "\f217"; +} + +.fa-cash-register:before { + content: "\f788"; +} + +.fa-cat:before { + content: "\f6be"; +} + +.fa-cc-amazon-pay:before { + content: "\f42d"; +} + +.fa-cc-amex:before { + content: "\f1f3"; +} + +.fa-cc-apple-pay:before { + content: "\f416"; +} + +.fa-cc-diners-club:before { + content: "\f24c"; +} + +.fa-cc-discover:before { + content: "\f1f2"; +} + +.fa-cc-jcb:before { + content: "\f24b"; +} + +.fa-cc-mastercard:before { + content: "\f1f1"; +} + +.fa-cc-paypal:before { + content: "\f1f4"; +} + +.fa-cc-stripe:before { + content: "\f1f5"; +} + +.fa-cc-visa:before { + content: "\f1f0"; +} + +.fa-centercode:before { + content: "\f380"; +} + +.fa-centos:before { + content: "\f789"; +} + +.fa-certificate:before { + content: "\f0a3"; +} + +.fa-chair:before { + content: "\f6c0"; +} + +.fa-chalkboard:before { + content: "\f51b"; +} + +.fa-chalkboard-teacher:before { + content: "\f51c"; +} + +.fa-charging-station:before { + content: "\f5e7"; +} + +.fa-chart-area:before { + content: "\f1fe"; +} + +.fa-chart-bar:before { + content: "\f080"; +} + +.fa-chart-line:before { + content: "\f201"; +} + +.fa-chart-pie:before { + content: "\f200"; +} + +.fa-check:before { + content: "\f00c"; +} + +.fa-check-circle:before { + content: "\f058"; +} + +.fa-check-double:before { + content: "\f560"; +} + +.fa-check-square:before { + content: "\f14a"; +} + +.fa-cheese:before { + content: "\f7ef"; +} + +.fa-chess:before { + content: "\f439"; +} + +.fa-chess-bishop:before { + content: "\f43a"; +} + +.fa-chess-board:before { + content: "\f43c"; +} + +.fa-chess-king:before { + content: "\f43f"; +} + +.fa-chess-knight:before { + content: "\f441"; +} + +.fa-chess-pawn:before { + content: "\f443"; +} + +.fa-chess-queen:before { + content: "\f445"; +} + +.fa-chess-rook:before { + content: "\f447"; +} + +.fa-chevron-circle-down:before { + content: "\f13a"; +} + +.fa-chevron-circle-left:before { + content: "\f137"; +} + +.fa-chevron-circle-right:before { + content: "\f138"; +} + +.fa-chevron-circle-up:before { + content: "\f139"; +} + +.fa-chevron-down:before { + content: "\f078"; +} + +.fa-chevron-left:before { + content: "\f053"; +} + +.fa-chevron-right:before { + content: "\f054"; +} + +.fa-chevron-up:before { + content: "\f077"; +} + +.fa-child:before { + content: "\f1ae"; +} + +.fa-chrome:before { + content: "\f268"; +} + +.fa-chromecast:before { + content: "\f838"; +} + +.fa-church:before { + content: "\f51d"; +} + +.fa-circle:before { + content: "\f111"; +} + +.fa-circle-notch:before { + content: "\f1ce"; +} + +.fa-city:before { + content: "\f64f"; +} + +.fa-clinic-medical:before { + content: "\f7f2"; +} + +.fa-clipboard:before { + content: "\f328"; +} + +.fa-clipboard-check:before { + content: "\f46c"; +} + +.fa-clipboard-list:before { + content: "\f46d"; +} + +.fa-clock:before { + content: "\f017"; +} + +.fa-clone:before { + content: "\f24d"; +} + +.fa-closed-captioning:before { + content: "\f20a"; +} + +.fa-cloud:before { + content: "\f0c2"; +} + +.fa-cloud-download-alt:before { + content: "\f381"; +} + +.fa-cloud-meatball:before { + content: "\f73b"; +} + +.fa-cloud-moon:before { + content: "\f6c3"; +} + +.fa-cloud-moon-rain:before { + content: "\f73c"; +} + +.fa-cloud-rain:before { + content: "\f73d"; +} + +.fa-cloud-showers-heavy:before { + content: "\f740"; +} + +.fa-cloud-sun:before { + content: "\f6c4"; +} + +.fa-cloud-sun-rain:before { + content: "\f743"; +} + +.fa-cloud-upload-alt:before { + content: "\f382"; +} + +.fa-cloudscale:before { + content: "\f383"; +} + +.fa-cloudsmith:before { + content: "\f384"; +} + +.fa-cloudversify:before { + content: "\f385"; +} + +.fa-cocktail:before { + content: "\f561"; +} + +.fa-code:before { + content: "\f121"; +} + +.fa-code-branch:before { + content: "\f126"; +} + +.fa-codepen:before { + content: "\f1cb"; +} + +.fa-codiepie:before { + content: "\f284"; +} + +.fa-coffee:before { + content: "\f0f4"; +} + +.fa-cog:before { + content: "\f013"; +} + +.fa-cogs:before { + content: "\f085"; +} + +.fa-coins:before { + content: "\f51e"; +} + +.fa-columns:before { + content: "\f0db"; +} + +.fa-comment:before { + content: "\f075"; +} + +.fa-comment-alt:before { + content: "\f27a"; +} + +.fa-comment-dollar:before { + content: "\f651"; +} + +.fa-comment-dots:before { + content: "\f4ad"; +} + +.fa-comment-medical:before { + content: "\f7f5"; +} + +.fa-comment-slash:before { + content: "\f4b3"; +} + +.fa-comments:before { + content: "\f086"; +} + +.fa-comments-dollar:before { + content: "\f653"; +} + +.fa-compact-disc:before { + content: "\f51f"; +} + +.fa-compass:before { + content: "\f14e"; +} + +.fa-compress:before { + content: "\f066"; +} + +.fa-compress-arrows-alt:before { + content: "\f78c"; +} + +.fa-concierge-bell:before { + content: "\f562"; +} + +.fa-confluence:before { + content: "\f78d"; +} + +.fa-connectdevelop:before { + content: "\f20e"; +} + +.fa-contao:before { + content: "\f26d"; +} + +.fa-cookie:before { + content: "\f563"; +} + +.fa-cookie-bite:before { + content: "\f564"; +} + +.fa-copy:before { + content: "\f0c5"; +} + +.fa-copyright:before { + content: "\f1f9"; +} + +.fa-couch:before { + content: "\f4b8"; +} + +.fa-cpanel:before { + content: "\f388"; +} + +.fa-creative-commons:before { + content: "\f25e"; +} + +.fa-creative-commons-by:before { + content: "\f4e7"; +} + +.fa-creative-commons-nc:before { + content: "\f4e8"; +} + +.fa-creative-commons-nc-eu:before { + content: "\f4e9"; +} + +.fa-creative-commons-nc-jp:before { + content: "\f4ea"; +} + +.fa-creative-commons-nd:before { + content: "\f4eb"; +} + +.fa-creative-commons-pd:before { + content: "\f4ec"; +} + +.fa-creative-commons-pd-alt:before { + content: "\f4ed"; +} + +.fa-creative-commons-remix:before { + content: "\f4ee"; +} + +.fa-creative-commons-sa:before { + content: "\f4ef"; +} + +.fa-creative-commons-sampling:before { + content: "\f4f0"; +} + +.fa-creative-commons-sampling-plus:before { + content: "\f4f1"; +} + +.fa-creative-commons-share:before { + content: "\f4f2"; +} + +.fa-creative-commons-zero:before { + content: "\f4f3"; +} + +.fa-credit-card:before { + content: "\f09d"; +} + +.fa-critical-role:before { + content: "\f6c9"; +} + +.fa-crop:before { + content: "\f125"; +} + +.fa-crop-alt:before { + content: "\f565"; +} + +.fa-cross:before { + content: "\f654"; +} + +.fa-crosshairs:before { + content: "\f05b"; +} + +.fa-crow:before { + content: "\f520"; +} + +.fa-crown:before { + content: "\f521"; +} + +.fa-crutch:before { + content: "\f7f7"; +} + +.fa-css3:before { + content: "\f13c"; +} + +.fa-css3-alt:before { + content: "\f38b"; +} + +.fa-cube:before { + content: "\f1b2"; +} + +.fa-cubes:before { + content: "\f1b3"; +} + +.fa-cut:before { + content: "\f0c4"; +} + +.fa-cuttlefish:before { + content: "\f38c"; +} + +.fa-d-and-d:before { + content: "\f38d"; +} + +.fa-d-and-d-beyond:before { + content: "\f6ca"; +} + +.fa-dashcube:before { + content: "\f210"; +} + +.fa-database:before { + content: "\f1c0"; +} + +.fa-deaf:before { + content: "\f2a4"; +} + +.fa-delicious:before { + content: "\f1a5"; +} + +.fa-democrat:before { + content: "\f747"; +} + +.fa-deploydog:before { + content: "\f38e"; +} + +.fa-deskpro:before { + content: "\f38f"; +} + +.fa-desktop:before { + content: "\f108"; +} + +.fa-dev:before { + content: "\f6cc"; +} + +.fa-deviantart:before { + content: "\f1bd"; +} + +.fa-dharmachakra:before { + content: "\f655"; +} + +.fa-dhl:before { + content: "\f790"; +} + +.fa-diagnoses:before { + content: "\f470"; +} + +.fa-diaspora:before { + content: "\f791"; +} + +.fa-dice:before { + content: "\f522"; +} + +.fa-dice-d20:before { + content: "\f6cf"; +} + +.fa-dice-d6:before { + content: "\f6d1"; +} + +.fa-dice-five:before { + content: "\f523"; +} + +.fa-dice-four:before { + content: "\f524"; +} + +.fa-dice-one:before { + content: "\f525"; +} + +.fa-dice-six:before { + content: "\f526"; +} + +.fa-dice-three:before { + content: "\f527"; +} + +.fa-dice-two:before { + content: "\f528"; +} + +.fa-digg:before { + content: "\f1a6"; +} + +.fa-digital-ocean:before { + content: "\f391"; +} + +.fa-digital-tachograph:before { + content: "\f566"; +} + +.fa-directions:before { + content: "\f5eb"; +} + +.fa-discord:before { + content: "\f392"; +} + +.fa-discourse:before { + content: "\f393"; +} + +.fa-divide:before { + content: "\f529"; +} + +.fa-dizzy:before { + content: "\f567"; +} + +.fa-dna:before { + content: "\f471"; +} + +.fa-dochub:before { + content: "\f394"; +} + +.fa-docker:before { + content: "\f395"; +} + +.fa-dog:before { + content: "\f6d3"; +} + +.fa-dollar-sign:before { + content: "\f155"; +} + +.fa-dolly:before { + content: "\f472"; +} + +.fa-dolly-flatbed:before { + content: "\f474"; +} + +.fa-donate:before { + content: "\f4b9"; +} + +.fa-door-closed:before { + content: "\f52a"; +} + +.fa-door-open:before { + content: "\f52b"; +} + +.fa-dot-circle:before { + content: "\f192"; +} + +.fa-dove:before { + content: "\f4ba"; +} + +.fa-download:before { + content: "\f019"; +} + +.fa-draft2digital:before { + content: "\f396"; +} + +.fa-drafting-compass:before { + content: "\f568"; +} + +.fa-dragon:before { + content: "\f6d5"; +} + +.fa-draw-polygon:before { + content: "\f5ee"; +} + +.fa-dribbble:before { + content: "\f17d"; +} + +.fa-dribbble-square:before { + content: "\f397"; +} + +.fa-dropbox:before { + content: "\f16b"; +} + +.fa-drum:before { + content: "\f569"; +} + +.fa-drum-steelpan:before { + content: "\f56a"; +} + +.fa-drumstick-bite:before { + content: "\f6d7"; +} + +.fa-drupal:before { + content: "\f1a9"; +} + +.fa-dumbbell:before { + content: "\f44b"; +} + +.fa-dumpster:before { + content: "\f793"; +} + +.fa-dumpster-fire:before { + content: "\f794"; +} + +.fa-dungeon:before { + content: "\f6d9"; +} + +.fa-dyalog:before { + content: "\f399"; +} + +.fa-earlybirds:before { + content: "\f39a"; +} + +.fa-ebay:before { + content: "\f4f4"; +} + +.fa-edge:before { + content: "\f282"; +} + +.fa-edit:before { + content: "\f044"; +} + +.fa-egg:before { + content: "\f7fb"; +} + +.fa-eject:before { + content: "\f052"; +} + +.fa-elementor:before { + content: "\f430"; +} + +.fa-ellipsis-h:before { + content: "\f141"; +} + +.fa-ellipsis-v:before { + content: "\f142"; +} + +.fa-ello:before { + content: "\f5f1"; +} + +.fa-ember:before { + content: "\f423"; +} + +.fa-empire:before { + content: "\f1d1"; +} + +.fa-envelope:before { + content: "\f0e0"; +} + +.fa-envelope-open:before { + content: "\f2b6"; +} + +.fa-envelope-open-text:before { + content: "\f658"; +} + +.fa-envelope-square:before { + content: "\f199"; +} + +.fa-envira:before { + content: "\f299"; +} + +.fa-equals:before { + content: "\f52c"; +} + +.fa-eraser:before { + content: "\f12d"; +} + +.fa-erlang:before { + content: "\f39d"; +} + +.fa-ethereum:before { + content: "\f42e"; +} + +.fa-ethernet:before { + content: "\f796"; +} + +.fa-etsy:before { + content: "\f2d7"; +} + +.fa-euro-sign:before { + content: "\f153"; +} + +.fa-evernote:before { + content: "\f839"; +} + +.fa-exchange-alt:before { + content: "\f362"; +} + +.fa-exclamation:before { + content: "\f12a"; +} + +.fa-exclamation-circle:before { + content: "\f06a"; +} + +.fa-exclamation-triangle:before { + content: "\f071"; +} + +.fa-expand:before { + content: "\f065"; +} + +.fa-expand-arrows-alt:before { + content: "\f31e"; +} + +.fa-expeditedssl:before { + content: "\f23e"; +} + +.fa-external-link-alt:before { + content: "\f35d"; +} + +.fa-external-link-square-alt:before { + content: "\f360"; +} + +.fa-eye:before { + content: "\f06e"; +} + +.fa-eye-dropper:before { + content: "\f1fb"; +} + +.fa-eye-slash:before { + content: "\f070"; +} + +.fa-facebook:before { + content: "\f09a"; +} + +.fa-facebook-f:before { + content: "\f39e"; +} + +.fa-facebook-messenger:before { + content: "\f39f"; +} + +.fa-facebook-square:before { + content: "\f082"; +} + +.fa-fantasy-flight-games:before { + content: "\f6dc"; +} + +.fa-fast-backward:before { + content: "\f049"; +} + +.fa-fast-forward:before { + content: "\f050"; +} + +.fa-fax:before { + content: "\f1ac"; +} + +.fa-feather:before { + content: "\f52d"; +} + +.fa-feather-alt:before { + content: "\f56b"; +} + +.fa-fedex:before { + content: "\f797"; +} + +.fa-fedora:before { + content: "\f798"; +} + +.fa-female:before { + content: "\f182"; +} + +.fa-fighter-jet:before { + content: "\f0fb"; +} + +.fa-figma:before { + content: "\f799"; +} + +.fa-file:before { + content: "\f15b"; +} + +.fa-file-alt:before { + content: "\f15c"; +} + +.fa-file-archive:before { + content: "\f1c6"; +} + +.fa-file-audio:before { + content: "\f1c7"; +} + +.fa-file-code:before { + content: "\f1c9"; +} + +.fa-file-contract:before { + content: "\f56c"; +} + +.fa-file-csv:before { + content: "\f6dd"; +} + +.fa-file-download:before { + content: "\f56d"; +} + +.fa-file-excel:before { + content: "\f1c3"; +} + +.fa-file-export:before { + content: "\f56e"; +} + +.fa-file-image:before { + content: "\f1c5"; +} + +.fa-file-import:before { + content: "\f56f"; +} + +.fa-file-invoice:before { + content: "\f570"; +} + +.fa-file-invoice-dollar:before { + content: "\f571"; +} + +.fa-file-medical:before { + content: "\f477"; +} + +.fa-file-medical-alt:before { + content: "\f478"; +} + +.fa-file-pdf:before { + content: "\f1c1"; +} + +.fa-file-powerpoint:before { + content: "\f1c4"; +} + +.fa-file-prescription:before { + content: "\f572"; +} + +.fa-file-signature:before { + content: "\f573"; +} + +.fa-file-upload:before { + content: "\f574"; +} + +.fa-file-video:before { + content: "\f1c8"; +} + +.fa-file-word:before { + content: "\f1c2"; +} + +.fa-fill:before { + content: "\f575"; +} + +.fa-fill-drip:before { + content: "\f576"; +} + +.fa-film:before { + content: "\f008"; +} + +.fa-filter:before { + content: "\f0b0"; +} + +.fa-fingerprint:before { + content: "\f577"; +} + +.fa-fire:before { + content: "\f06d"; +} + +.fa-fire-alt:before { + content: "\f7e4"; +} + +.fa-fire-extinguisher:before { + content: "\f134"; +} + +.fa-firefox:before { + content: "\f269"; +} + +.fa-first-aid:before { + content: "\f479"; +} + +.fa-first-order:before { + content: "\f2b0"; +} + +.fa-first-order-alt:before { + content: "\f50a"; +} + +.fa-firstdraft:before { + content: "\f3a1"; +} + +.fa-fish:before { + content: "\f578"; +} + +.fa-fist-raised:before { + content: "\f6de"; +} + +.fa-flag:before { + content: "\f024"; +} + +.fa-flag-checkered:before { + content: "\f11e"; +} + +.fa-flag-usa:before { + content: "\f74d"; +} + +.fa-flask:before { + content: "\f0c3"; +} + +.fa-flickr:before { + content: "\f16e"; +} + +.fa-flipboard:before { + content: "\f44d"; +} + +.fa-flushed:before { + content: "\f579"; +} + +.fa-fly:before { + content: "\f417"; +} + +.fa-folder:before { + content: "\f07b"; +} + +.fa-folder-minus:before { + content: "\f65d"; +} + +.fa-folder-open:before { + content: "\f07c"; +} + +.fa-folder-plus:before { + content: "\f65e"; +} + +.fa-font:before { + content: "\f031"; +} + +.fa-font-awesome:before { + content: "\f2b4"; +} + +.fa-font-awesome-alt:before { + content: "\f35c"; +} + +.fa-font-awesome-flag:before { + content: "\f425"; +} + +.fa-font-awesome-logo-full:before { + content: "\f4e6"; +} + +.fa-fonticons:before { + content: "\f280"; +} + +.fa-fonticons-fi:before { + content: "\f3a2"; +} + +.fa-football-ball:before { + content: "\f44e"; +} + +.fa-fort-awesome:before { + content: "\f286"; +} + +.fa-fort-awesome-alt:before { + content: "\f3a3"; +} + +.fa-forumbee:before { + content: "\f211"; +} + +.fa-forward:before { + content: "\f04e"; +} + +.fa-foursquare:before { + content: "\f180"; +} + +.fa-free-code-camp:before { + content: "\f2c5"; +} + +.fa-freebsd:before { + content: "\f3a4"; +} + +.fa-frog:before { + content: "\f52e"; +} + +.fa-frown:before { + content: "\f119"; +} + +.fa-frown-open:before { + content: "\f57a"; +} + +.fa-fulcrum:before { + content: "\f50b"; +} + +.fa-funnel-dollar:before { + content: "\f662"; +} + +.fa-futbol:before { + content: "\f1e3"; +} + +.fa-galactic-republic:before { + content: "\f50c"; +} + +.fa-galactic-senate:before { + content: "\f50d"; +} + +.fa-gamepad:before { + content: "\f11b"; +} + +.fa-gas-pump:before { + content: "\f52f"; +} + +.fa-gavel:before { + content: "\f0e3"; +} + +.fa-gem:before { + content: "\f3a5"; +} + +.fa-genderless:before { + content: "\f22d"; +} + +.fa-get-pocket:before { + content: "\f265"; +} + +.fa-gg:before { + content: "\f260"; +} + +.fa-gg-circle:before { + content: "\f261"; +} + +.fa-ghost:before { + content: "\f6e2"; +} + +.fa-gift:before { + content: "\f06b"; +} + +.fa-gifts:before { + content: "\f79c"; +} + +.fa-git:before { + content: "\f1d3"; +} + +.fa-git-square:before { + content: "\f1d2"; +} + +.fa-github:before { + content: "\f09b"; +} + +.fa-github-alt:before { + content: "\f113"; +} + +.fa-github-square:before { + content: "\f092"; +} + +.fa-gitkraken:before { + content: "\f3a6"; +} + +.fa-gitlab:before { + content: "\f296"; +} + +.fa-gitter:before { + content: "\f426"; +} + +.fa-glass-cheers:before { + content: "\f79f"; +} + +.fa-glass-martini:before { + content: "\f000"; +} + +.fa-glass-martini-alt:before { + content: "\f57b"; +} + +.fa-glass-whiskey:before { + content: "\f7a0"; +} + +.fa-glasses:before { + content: "\f530"; +} + +.fa-glide:before { + content: "\f2a5"; +} + +.fa-glide-g:before { + content: "\f2a6"; +} + +.fa-globe:before { + content: "\f0ac"; +} + +.fa-globe-africa:before { + content: "\f57c"; +} + +.fa-globe-americas:before { + content: "\f57d"; +} + +.fa-globe-asia:before { + content: "\f57e"; +} + +.fa-globe-europe:before { + content: "\f7a2"; +} + +.fa-gofore:before { + content: "\f3a7"; +} + +.fa-golf-ball:before { + content: "\f450"; +} + +.fa-goodreads:before { + content: "\f3a8"; +} + +.fa-goodreads-g:before { + content: "\f3a9"; +} + +.fa-google:before { + content: "\f1a0"; +} + +.fa-google-drive:before { + content: "\f3aa"; +} + +.fa-google-play:before { + content: "\f3ab"; +} + +.fa-google-plus:before { + content: "\f2b3"; +} + +.fa-google-plus-g:before { + content: "\f0d5"; +} + +.fa-google-plus-square:before { + content: "\f0d4"; +} + +.fa-google-wallet:before { + content: "\f1ee"; +} + +.fa-gopuram:before { + content: "\f664"; +} + +.fa-graduation-cap:before { + content: "\f19d"; +} + +.fa-gratipay:before { + content: "\f184"; +} + +.fa-grav:before { + content: "\f2d6"; +} + +.fa-greater-than:before { + content: "\f531"; +} + +.fa-greater-than-equal:before { + content: "\f532"; +} + +.fa-grimace:before { + content: "\f57f"; +} + +.fa-grin:before { + content: "\f580"; +} + +.fa-grin-alt:before { + content: "\f581"; +} + +.fa-grin-beam:before { + content: "\f582"; +} + +.fa-grin-beam-sweat:before { + content: "\f583"; +} + +.fa-grin-hearts:before { + content: "\f584"; +} + +.fa-grin-squint:before { + content: "\f585"; +} + +.fa-grin-squint-tears:before { + content: "\f586"; +} + +.fa-grin-stars:before { + content: "\f587"; +} + +.fa-grin-tears:before { + content: "\f588"; +} + +.fa-grin-tongue:before { + content: "\f589"; +} + +.fa-grin-tongue-squint:before { + content: "\f58a"; +} + +.fa-grin-tongue-wink:before { + content: "\f58b"; +} + +.fa-grin-wink:before { + content: "\f58c"; +} + +.fa-grip-horizontal:before { + content: "\f58d"; +} + +.fa-grip-lines:before { + content: "\f7a4"; +} + +.fa-grip-lines-vertical:before { + content: "\f7a5"; +} + +.fa-grip-vertical:before { + content: "\f58e"; +} + +.fa-gripfire:before { + content: "\f3ac"; +} + +.fa-grunt:before { + content: "\f3ad"; +} + +.fa-guitar:before { + content: "\f7a6"; +} + +.fa-gulp:before { + content: "\f3ae"; +} + +.fa-h-square:before { + content: "\f0fd"; +} + +.fa-hacker-news:before { + content: "\f1d4"; +} + +.fa-hacker-news-square:before { + content: "\f3af"; +} + +.fa-hackerrank:before { + content: "\f5f7"; +} + +.fa-hamburger:before { + content: "\f805"; +} + +.fa-hammer:before { + content: "\f6e3"; +} + +.fa-hamsa:before { + content: "\f665"; +} + +.fa-hand-holding:before { + content: "\f4bd"; +} + +.fa-hand-holding-heart:before { + content: "\f4be"; +} + +.fa-hand-holding-usd:before { + content: "\f4c0"; +} + +.fa-hand-lizard:before { + content: "\f258"; +} + +.fa-hand-middle-finger:before { + content: "\f806"; +} + +.fa-hand-paper:before { + content: "\f256"; +} + +.fa-hand-peace:before { + content: "\f25b"; +} + +.fa-hand-point-down:before { + content: "\f0a7"; +} + +.fa-hand-point-left:before { + content: "\f0a5"; +} + +.fa-hand-point-right:before { + content: "\f0a4"; +} + +.fa-hand-point-up:before { + content: "\f0a6"; +} + +.fa-hand-pointer:before { + content: "\f25a"; +} + +.fa-hand-rock:before { + content: "\f255"; +} + +.fa-hand-scissors:before { + content: "\f257"; +} + +.fa-hand-spock:before { + content: "\f259"; +} + +.fa-hands:before { + content: "\f4c2"; +} + +.fa-hands-helping:before { + content: "\f4c4"; +} + +.fa-handshake:before { + content: "\f2b5"; +} + +.fa-hanukiah:before { + content: "\f6e6"; +} + +.fa-hard-hat:before { + content: "\f807"; +} + +.fa-hashtag:before { + content: "\f292"; +} + +.fa-hat-wizard:before { + content: "\f6e8"; +} + +.fa-haykal:before { + content: "\f666"; +} + +.fa-hdd:before { + content: "\f0a0"; +} + +.fa-heading:before { + content: "\f1dc"; +} + +.fa-headphones:before { + content: "\f025"; +} + +.fa-headphones-alt:before { + content: "\f58f"; +} + +.fa-headset:before { + content: "\f590"; +} + +.fa-heart:before { + content: "\f004"; +} + +.fa-heart-broken:before { + content: "\f7a9"; +} + +.fa-heartbeat:before { + content: "\f21e"; +} + +.fa-helicopter:before { + content: "\f533"; +} + +.fa-highlighter:before { + content: "\f591"; +} + +.fa-hiking:before { + content: "\f6ec"; +} + +.fa-hippo:before { + content: "\f6ed"; +} + +.fa-hips:before { + content: "\f452"; +} + +.fa-hire-a-helper:before { + content: "\f3b0"; +} + +.fa-history:before { + content: "\f1da"; +} + +.fa-hockey-puck:before { + content: "\f453"; +} + +.fa-holly-berry:before { + content: "\f7aa"; +} + +.fa-home:before { + content: "\f015"; +} + +.fa-hooli:before { + content: "\f427"; +} + +.fa-hornbill:before { + content: "\f592"; +} + +.fa-horse:before { + content: "\f6f0"; +} + +.fa-horse-head:before { + content: "\f7ab"; +} + +.fa-hospital:before { + content: "\f0f8"; +} + +.fa-hospital-alt:before { + content: "\f47d"; +} + +.fa-hospital-symbol:before { + content: "\f47e"; +} + +.fa-hot-tub:before { + content: "\f593"; +} + +.fa-hotdog:before { + content: "\f80f"; +} + +.fa-hotel:before { + content: "\f594"; +} + +.fa-hotjar:before { + content: "\f3b1"; +} + +.fa-hourglass:before { + content: "\f254"; +} + +.fa-hourglass-end:before { + content: "\f253"; +} + +.fa-hourglass-half:before { + content: "\f252"; +} + +.fa-hourglass-start:before { + content: "\f251"; +} + +.fa-house-damage:before { + content: "\f6f1"; +} + +.fa-houzz:before { + content: "\f27c"; +} + +.fa-hryvnia:before { + content: "\f6f2"; +} + +.fa-html5:before { + content: "\f13b"; +} + +.fa-hubspot:before { + content: "\f3b2"; +} + +.fa-i-cursor:before { + content: "\f246"; +} + +.fa-ice-cream:before { + content: "\f810"; +} + +.fa-icicles:before { + content: "\f7ad"; +} + +.fa-id-badge:before { + content: "\f2c1"; +} + +.fa-id-card:before { + content: "\f2c2"; +} + +.fa-id-card-alt:before { + content: "\f47f"; +} + +.fa-igloo:before { + content: "\f7ae"; +} + +.fa-image:before { + content: "\f03e"; +} + +.fa-images:before { + content: "\f302"; +} + +.fa-imdb:before { + content: "\f2d8"; +} + +.fa-inbox:before { + content: "\f01c"; +} + +.fa-indent:before { + content: "\f03c"; +} + +.fa-industry:before { + content: "\f275"; +} + +.fa-infinity:before { + content: "\f534"; +} + +.fa-info:before { + content: "\f129"; +} + +.fa-info-circle:before { + content: "\f05a"; +} + +.fa-instagram:before { + content: "\f16d"; +} + +.fa-intercom:before { + content: "\f7af"; +} + +.fa-internet-explorer:before { + content: "\f26b"; +} + +.fa-invision:before { + content: "\f7b0"; +} + +.fa-ioxhost:before { + content: "\f208"; +} + +.fa-italic:before { + content: "\f033"; +} + +.fa-itch-io:before { + content: "\f83a"; +} + +.fa-itunes:before { + content: "\f3b4"; +} + +.fa-itunes-note:before { + content: "\f3b5"; +} + +.fa-java:before { + content: "\f4e4"; +} + +.fa-jedi:before { + content: "\f669"; +} + +.fa-jedi-order:before { + content: "\f50e"; +} + +.fa-jenkins:before { + content: "\f3b6"; +} + +.fa-jira:before { + content: "\f7b1"; +} + +.fa-joget:before { + content: "\f3b7"; +} + +.fa-joint:before { + content: "\f595"; +} + +.fa-joomla:before { + content: "\f1aa"; +} + +.fa-journal-whills:before { + content: "\f66a"; +} + +.fa-js:before { + content: "\f3b8"; +} + +.fa-js-square:before { + content: "\f3b9"; +} + +.fa-jsfiddle:before { + content: "\f1cc"; +} + +.fa-kaaba:before { + content: "\f66b"; +} + +.fa-kaggle:before { + content: "\f5fa"; +} + +.fa-key:before { + content: "\f084"; +} + +.fa-keybase:before { + content: "\f4f5"; +} + +.fa-keyboard:before { + content: "\f11c"; +} + +.fa-keycdn:before { + content: "\f3ba"; +} + +.fa-khanda:before { + content: "\f66d"; +} + +.fa-kickstarter:before { + content: "\f3bb"; +} + +.fa-kickstarter-k:before { + content: "\f3bc"; +} + +.fa-kiss:before { + content: "\f596"; +} + +.fa-kiss-beam:before { + content: "\f597"; +} + +.fa-kiss-wink-heart:before { + content: "\f598"; +} + +.fa-kiwi-bird:before { + content: "\f535"; +} + +.fa-korvue:before { + content: "\f42f"; +} + +.fa-landmark:before { + content: "\f66f"; +} + +.fa-language:before { + content: "\f1ab"; +} + +.fa-laptop:before { + content: "\f109"; +} + +.fa-laptop-code:before { + content: "\f5fc"; +} + +.fa-laptop-medical:before { + content: "\f812"; +} + +.fa-laravel:before { + content: "\f3bd"; +} + +.fa-lastfm:before { + content: "\f202"; +} + +.fa-lastfm-square:before { + content: "\f203"; +} + +.fa-laugh:before { + content: "\f599"; +} + +.fa-laugh-beam:before { + content: "\f59a"; +} + +.fa-laugh-squint:before { + content: "\f59b"; +} + +.fa-laugh-wink:before { + content: "\f59c"; +} + +.fa-layer-group:before { + content: "\f5fd"; +} + +.fa-leaf:before { + content: "\f06c"; +} + +.fa-leanpub:before { + content: "\f212"; +} + +.fa-lemon:before { + content: "\f094"; +} + +.fa-less:before { + content: "\f41d"; +} + +.fa-less-than:before { + content: "\f536"; +} + +.fa-less-than-equal:before { + content: "\f537"; +} + +.fa-level-down-alt:before { + content: "\f3be"; +} + +.fa-level-up-alt:before { + content: "\f3bf"; +} + +.fa-life-ring:before { + content: "\f1cd"; +} + +.fa-lightbulb:before { + content: "\f0eb"; +} + +.fa-line:before { + content: "\f3c0"; +} + +.fa-link:before { + content: "\f0c1"; +} + +.fa-linkedin:before { + content: "\f08c"; +} + +.fa-linkedin-in:before { + content: "\f0e1"; +} + +.fa-linode:before { + content: "\f2b8"; +} + +.fa-linux:before { + content: "\f17c"; +} + +.fa-lira-sign:before { + content: "\f195"; +} + +.fa-list:before { + content: "\f03a"; +} + +.fa-list-alt:before { + content: "\f022"; +} + +.fa-list-ol:before { + content: "\f0cb"; +} + +.fa-list-ul:before { + content: "\f0ca"; +} + +.fa-location-arrow:before { + content: "\f124"; +} + +.fa-lock:before { + content: "\f023"; +} + +.fa-lock-open:before { + content: "\f3c1"; +} + +.fa-long-arrow-alt-down:before { + content: "\f309"; +} + +.fa-long-arrow-alt-left:before { + content: "\f30a"; +} + +.fa-long-arrow-alt-right:before { + content: "\f30b"; +} + +.fa-long-arrow-alt-up:before { + content: "\f30c"; +} + +.fa-low-vision:before { + content: "\f2a8"; +} + +.fa-luggage-cart:before { + content: "\f59d"; +} + +.fa-lyft:before { + content: "\f3c3"; +} + +.fa-magento:before { + content: "\f3c4"; +} + +.fa-magic:before { + content: "\f0d0"; +} + +.fa-magnet:before { + content: "\f076"; +} + +.fa-mail-bulk:before { + content: "\f674"; +} + +.fa-mailchimp:before { + content: "\f59e"; +} + +.fa-male:before { + content: "\f183"; +} + +.fa-mandalorian:before { + content: "\f50f"; +} + +.fa-map:before { + content: "\f279"; +} + +.fa-map-marked:before { + content: "\f59f"; +} + +.fa-map-marked-alt:before { + content: "\f5a0"; +} + +.fa-map-marker:before { + content: "\f041"; +} + +.fa-map-marker-alt:before { + content: "\f3c5"; +} + +.fa-map-pin:before { + content: "\f276"; +} + +.fa-map-signs:before { + content: "\f277"; +} + +.fa-markdown:before { + content: "\f60f"; +} + +.fa-marker:before { + content: "\f5a1"; +} + +.fa-mars:before { + content: "\f222"; +} + +.fa-mars-double:before { + content: "\f227"; +} + +.fa-mars-stroke:before { + content: "\f229"; +} + +.fa-mars-stroke-h:before { + content: "\f22b"; +} + +.fa-mars-stroke-v:before { + content: "\f22a"; +} + +.fa-mask:before { + content: "\f6fa"; +} + +.fa-mastodon:before { + content: "\f4f6"; +} + +.fa-maxcdn:before { + content: "\f136"; +} + +.fa-medal:before { + content: "\f5a2"; +} + +.fa-medapps:before { + content: "\f3c6"; +} + +.fa-medium:before { + content: "\f23a"; +} + +.fa-medium-m:before { + content: "\f3c7"; +} + +.fa-medkit:before { + content: "\f0fa"; +} + +.fa-medrt:before { + content: "\f3c8"; +} + +.fa-meetup:before { + content: "\f2e0"; +} + +.fa-megaport:before { + content: "\f5a3"; +} + +.fa-meh:before { + content: "\f11a"; +} + +.fa-meh-blank:before { + content: "\f5a4"; +} + +.fa-meh-rolling-eyes:before { + content: "\f5a5"; +} + +.fa-memory:before { + content: "\f538"; +} + +.fa-mendeley:before { + content: "\f7b3"; +} + +.fa-menorah:before { + content: "\f676"; +} + +.fa-mercury:before { + content: "\f223"; +} + +.fa-meteor:before { + content: "\f753"; +} + +.fa-microchip:before { + content: "\f2db"; +} + +.fa-microphone:before { + content: "\f130"; +} + +.fa-microphone-alt:before { + content: "\f3c9"; +} + +.fa-microphone-alt-slash:before { + content: "\f539"; +} + +.fa-microphone-slash:before { + content: "\f131"; +} + +.fa-microscope:before { + content: "\f610"; +} + +.fa-microsoft:before { + content: "\f3ca"; +} + +.fa-minus:before { + content: "\f068"; +} + +.fa-minus-circle:before { + content: "\f056"; +} + +.fa-minus-square:before { + content: "\f146"; +} + +.fa-mitten:before { + content: "\f7b5"; +} + +.fa-mix:before { + content: "\f3cb"; +} + +.fa-mixcloud:before { + content: "\f289"; +} + +.fa-mizuni:before { + content: "\f3cc"; +} + +.fa-mobile:before { + content: "\f10b"; +} + +.fa-mobile-alt:before { + content: "\f3cd"; +} + +.fa-modx:before { + content: "\f285"; +} + +.fa-monero:before { + content: "\f3d0"; +} + +.fa-money-bill:before { + content: "\f0d6"; +} + +.fa-money-bill-alt:before { + content: "\f3d1"; +} + +.fa-money-bill-wave:before { + content: "\f53a"; +} + +.fa-money-bill-wave-alt:before { + content: "\f53b"; +} + +.fa-money-check:before { + content: "\f53c"; +} + +.fa-money-check-alt:before { + content: "\f53d"; +} + +.fa-monument:before { + content: "\f5a6"; +} + +.fa-moon:before { + content: "\f186"; +} + +.fa-mortar-pestle:before { + content: "\f5a7"; +} + +.fa-mosque:before { + content: "\f678"; +} + +.fa-motorcycle:before { + content: "\f21c"; +} + +.fa-mountain:before { + content: "\f6fc"; +} + +.fa-mouse-pointer:before { + content: "\f245"; +} + +.fa-mug-hot:before { + content: "\f7b6"; +} + +.fa-music:before { + content: "\f001"; +} + +.fa-napster:before { + content: "\f3d2"; +} + +.fa-neos:before { + content: "\f612"; +} + +.fa-network-wired:before { + content: "\f6ff"; +} + +.fa-neuter:before { + content: "\f22c"; +} + +.fa-newspaper:before { + content: "\f1ea"; +} + +.fa-nimblr:before { + content: "\f5a8"; +} + +.fa-nintendo-switch:before { + content: "\f418"; +} + +.fa-node:before { + content: "\f419"; +} + +.fa-node-js:before { + content: "\f3d3"; +} + +.fa-not-equal:before { + content: "\f53e"; +} + +.fa-notes-medical:before { + content: "\f481"; +} + +.fa-npm:before { + content: "\f3d4"; +} + +.fa-ns8:before { + content: "\f3d5"; +} + +.fa-nutritionix:before { + content: "\f3d6"; +} + +.fa-object-group:before { + content: "\f247"; +} + +.fa-object-ungroup:before { + content: "\f248"; +} + +.fa-odnoklassniki:before { + content: "\f263"; +} + +.fa-odnoklassniki-square:before { + content: "\f264"; +} + +.fa-oil-can:before { + content: "\f613"; +} + +.fa-old-republic:before { + content: "\f510"; +} + +.fa-om:before { + content: "\f679"; +} + +.fa-opencart:before { + content: "\f23d"; +} + +.fa-openid:before { + content: "\f19b"; +} + +.fa-opera:before { + content: "\f26a"; +} + +.fa-optin-monster:before { + content: "\f23c"; +} + +.fa-osi:before { + content: "\f41a"; +} + +.fa-otter:before { + content: "\f700"; +} + +.fa-outdent:before { + content: "\f03b"; +} + +.fa-page4:before { + content: "\f3d7"; +} + +.fa-pagelines:before { + content: "\f18c"; +} + +.fa-pager:before { + content: "\f815"; +} + +.fa-paint-brush:before { + content: "\f1fc"; +} + +.fa-paint-roller:before { + content: "\f5aa"; +} + +.fa-palette:before { + content: "\f53f"; +} + +.fa-palfed:before { + content: "\f3d8"; +} + +.fa-pallet:before { + content: "\f482"; +} + +.fa-paper-plane:before { + content: "\f1d8"; +} + +.fa-paperclip:before { + content: "\f0c6"; +} + +.fa-parachute-box:before { + content: "\f4cd"; +} + +.fa-paragraph:before { + content: "\f1dd"; +} + +.fa-parking:before { + content: "\f540"; +} + +.fa-passport:before { + content: "\f5ab"; +} + +.fa-pastafarianism:before { + content: "\f67b"; +} + +.fa-paste:before { + content: "\f0ea"; +} + +.fa-patreon:before { + content: "\f3d9"; +} + +.fa-pause:before { + content: "\f04c"; +} + +.fa-pause-circle:before { + content: "\f28b"; +} + +.fa-paw:before { + content: "\f1b0"; +} + +.fa-paypal:before { + content: "\f1ed"; +} + +.fa-peace:before { + content: "\f67c"; +} + +.fa-pen:before { + content: "\f304"; +} + +.fa-pen-alt:before { + content: "\f305"; +} + +.fa-pen-fancy:before { + content: "\f5ac"; +} + +.fa-pen-nib:before { + content: "\f5ad"; +} + +.fa-pen-square:before { + content: "\f14b"; +} + +.fa-pencil-alt:before { + content: "\f303"; +} + +.fa-pencil-ruler:before { + content: "\f5ae"; +} + +.fa-penny-arcade:before { + content: "\f704"; +} + +.fa-people-carry:before { + content: "\f4ce"; +} + +.fa-pepper-hot:before { + content: "\f816"; +} + +.fa-percent:before { + content: "\f295"; +} + +.fa-percentage:before { + content: "\f541"; +} + +.fa-periscope:before { + content: "\f3da"; +} + +.fa-person-booth:before { + content: "\f756"; +} + +.fa-phabricator:before { + content: "\f3db"; +} + +.fa-phoenix-framework:before { + content: "\f3dc"; +} + +.fa-phoenix-squadron:before { + content: "\f511"; +} + +.fa-phone:before { + content: "\f095"; +} + +.fa-phone-slash:before { + content: "\f3dd"; +} + +.fa-phone-square:before { + content: "\f098"; +} + +.fa-phone-volume:before { + content: "\f2a0"; +} + +.fa-php:before { + content: "\f457"; +} + +.fa-pied-piper:before { + content: "\f2ae"; +} + +.fa-pied-piper-alt:before { + content: "\f1a8"; +} + +.fa-pied-piper-hat:before { + content: "\f4e5"; +} + +.fa-pied-piper-pp:before { + content: "\f1a7"; +} + +.fa-piggy-bank:before { + content: "\f4d3"; +} + +.fa-pills:before { + content: "\f484"; +} + +.fa-pinterest:before { + content: "\f0d2"; +} + +.fa-pinterest-p:before { + content: "\f231"; +} + +.fa-pinterest-square:before { + content: "\f0d3"; +} + +.fa-pizza-slice:before { + content: "\f818"; +} + +.fa-place-of-worship:before { + content: "\f67f"; +} + +.fa-plane:before { + content: "\f072"; +} + +.fa-plane-arrival:before { + content: "\f5af"; +} + +.fa-plane-departure:before { + content: "\f5b0"; +} + +.fa-play:before { + content: "\f04b"; +} + +.fa-play-circle:before { + content: "\f144"; +} + +.fa-playstation:before { + content: "\f3df"; +} + +.fa-plug:before { + content: "\f1e6"; +} + +.fa-plus:before { + content: "\f067"; +} + +.fa-plus-circle:before { + content: "\f055"; +} + +.fa-plus-square:before { + content: "\f0fe"; +} + +.fa-podcast:before { + content: "\f2ce"; +} + +.fa-poll:before { + content: "\f681"; +} + +.fa-poll-h:before { + content: "\f682"; +} + +.fa-poo:before { + content: "\f2fe"; +} + +.fa-poo-storm:before { + content: "\f75a"; +} + +.fa-poop:before { + content: "\f619"; +} + +.fa-portrait:before { + content: "\f3e0"; +} + +.fa-pound-sign:before { + content: "\f154"; +} + +.fa-power-off:before { + content: "\f011"; +} + +.fa-pray:before { + content: "\f683"; +} + +.fa-praying-hands:before { + content: "\f684"; +} + +.fa-prescription:before { + content: "\f5b1"; +} + +.fa-prescription-bottle:before { + content: "\f485"; +} + +.fa-prescription-bottle-alt:before { + content: "\f486"; +} + +.fa-print:before { + content: "\f02f"; +} + +.fa-procedures:before { + content: "\f487"; +} + +.fa-product-hunt:before { + content: "\f288"; +} + +.fa-project-diagram:before { + content: "\f542"; +} + +.fa-pushed:before { + content: "\f3e1"; +} + +.fa-puzzle-piece:before { + content: "\f12e"; +} + +.fa-python:before { + content: "\f3e2"; +} + +.fa-qq:before { + content: "\f1d6"; +} + +.fa-qrcode:before { + content: "\f029"; +} + +.fa-question:before { + content: "\f128"; +} + +.fa-question-circle:before { + content: "\f059"; +} + +.fa-quidditch:before { + content: "\f458"; +} + +.fa-quinscape:before { + content: "\f459"; +} + +.fa-quora:before { + content: "\f2c4"; +} + +.fa-quote-left:before { + content: "\f10d"; +} + +.fa-quote-right:before { + content: "\f10e"; +} + +.fa-quran:before { + content: "\f687"; +} + +.fa-r-project:before { + content: "\f4f7"; +} + +.fa-radiation:before { + content: "\f7b9"; +} + +.fa-radiation-alt:before { + content: "\f7ba"; +} + +.fa-rainbow:before { + content: "\f75b"; +} + +.fa-random:before { + content: "\f074"; +} + +.fa-raspberry-pi:before { + content: "\f7bb"; +} + +.fa-ravelry:before { + content: "\f2d9"; +} + +.fa-react:before { + content: "\f41b"; +} + +.fa-reacteurope:before { + content: "\f75d"; +} + +.fa-readme:before { + content: "\f4d5"; +} + +.fa-rebel:before { + content: "\f1d0"; +} + +.fa-receipt:before { + content: "\f543"; +} + +.fa-recycle:before { + content: "\f1b8"; +} + +.fa-red-river:before { + content: "\f3e3"; +} + +.fa-reddit:before { + content: "\f1a1"; +} + +.fa-reddit-alien:before { + content: "\f281"; +} + +.fa-reddit-square:before { + content: "\f1a2"; +} + +.fa-redhat:before { + content: "\f7bc"; +} + +.fa-redo:before { + content: "\f01e"; +} + +.fa-redo-alt:before { + content: "\f2f9"; +} + +.fa-registered:before { + content: "\f25d"; +} + +.fa-renren:before { + content: "\f18b"; +} + +.fa-reply:before { + content: "\f3e5"; +} + +.fa-reply-all:before { + content: "\f122"; +} + +.fa-replyd:before { + content: "\f3e6"; +} + +.fa-republican:before { + content: "\f75e"; +} + +.fa-researchgate:before { + content: "\f4f8"; +} + +.fa-resolving:before { + content: "\f3e7"; +} + +.fa-restroom:before { + content: "\f7bd"; +} + +.fa-retweet:before { + content: "\f079"; +} + +.fa-rev:before { + content: "\f5b2"; +} + +.fa-ribbon:before { + content: "\f4d6"; +} + +.fa-ring:before { + content: "\f70b"; +} + +.fa-road:before { + content: "\f018"; +} + +.fa-robot:before { + content: "\f544"; +} + +.fa-rocket:before { + content: "\f135"; +} + +.fa-rocketchat:before { + content: "\f3e8"; +} + +.fa-rockrms:before { + content: "\f3e9"; +} + +.fa-route:before { + content: "\f4d7"; +} + +.fa-rss:before { + content: "\f09e"; +} + +.fa-rss-square:before { + content: "\f143"; +} + +.fa-ruble-sign:before { + content: "\f158"; +} + +.fa-ruler:before { + content: "\f545"; +} + +.fa-ruler-combined:before { + content: "\f546"; +} + +.fa-ruler-horizontal:before { + content: "\f547"; +} + +.fa-ruler-vertical:before { + content: "\f548"; +} + +.fa-running:before { + content: "\f70c"; +} + +.fa-rupee-sign:before { + content: "\f156"; +} + +.fa-sad-cry:before { + content: "\f5b3"; +} + +.fa-sad-tear:before { + content: "\f5b4"; +} + +.fa-safari:before { + content: "\f267"; +} + +.fa-salesforce:before { + content: "\f83b"; +} + +.fa-sass:before { + content: "\f41e"; +} + +.fa-satellite:before { + content: "\f7bf"; +} + +.fa-satellite-dish:before { + content: "\f7c0"; +} + +.fa-save:before { + content: "\f0c7"; +} + +.fa-schlix:before { + content: "\f3ea"; +} + +.fa-school:before { + content: "\f549"; +} + +.fa-screwdriver:before { + content: "\f54a"; +} + +.fa-scribd:before { + content: "\f28a"; +} + +.fa-scroll:before { + content: "\f70e"; +} + +.fa-sd-card:before { + content: "\f7c2"; +} + +.fa-search:before { + content: "\f002"; +} + +.fa-search-dollar:before { + content: "\f688"; +} + +.fa-search-location:before { + content: "\f689"; +} + +.fa-search-minus:before { + content: "\f010"; +} + +.fa-search-plus:before { + content: "\f00e"; +} + +.fa-searchengin:before { + content: "\f3eb"; +} + +.fa-seedling:before { + content: "\f4d8"; +} + +.fa-sellcast:before { + content: "\f2da"; +} + +.fa-sellsy:before { + content: "\f213"; +} + +.fa-server:before { + content: "\f233"; +} + +.fa-servicestack:before { + content: "\f3ec"; +} + +.fa-shapes:before { + content: "\f61f"; +} + +.fa-share:before { + content: "\f064"; +} + +.fa-share-alt:before { + content: "\f1e0"; +} + +.fa-share-alt-square:before { + content: "\f1e1"; +} + +.fa-share-square:before { + content: "\f14d"; +} + +.fa-shekel-sign:before { + content: "\f20b"; +} + +.fa-shield-alt:before { + content: "\f3ed"; +} + +.fa-ship:before { + content: "\f21a"; +} + +.fa-shipping-fast:before { + content: "\f48b"; +} + +.fa-shirtsinbulk:before { + content: "\f214"; +} + +.fa-shoe-prints:before { + content: "\f54b"; +} + +.fa-shopping-bag:before { + content: "\f290"; +} + +.fa-shopping-basket:before { + content: "\f291"; +} + +.fa-shopping-cart:before { + content: "\f07a"; +} + +.fa-shopware:before { + content: "\f5b5"; +} + +.fa-shower:before { + content: "\f2cc"; +} + +.fa-shuttle-van:before { + content: "\f5b6"; +} + +.fa-sign:before { + content: "\f4d9"; +} + +.fa-sign-in-alt:before { + content: "\f2f6"; +} + +.fa-sign-language:before { + content: "\f2a7"; +} + +.fa-sign-out-alt:before { + content: "\f2f5"; +} + +.fa-signal:before { + content: "\f012"; +} + +.fa-signature:before { + content: "\f5b7"; +} + +.fa-sim-card:before { + content: "\f7c4"; +} + +.fa-simplybuilt:before { + content: "\f215"; +} + +.fa-sistrix:before { + content: "\f3ee"; +} + +.fa-sitemap:before { + content: "\f0e8"; +} + +.fa-sith:before { + content: "\f512"; +} + +.fa-skating:before { + content: "\f7c5"; +} + +.fa-sketch:before { + content: "\f7c6"; +} + +.fa-skiing:before { + content: "\f7c9"; +} + +.fa-skiing-nordic:before { + content: "\f7ca"; +} + +.fa-skull:before { + content: "\f54c"; +} + +.fa-skull-crossbones:before { + content: "\f714"; +} + +.fa-skyatlas:before { + content: "\f216"; +} + +.fa-skype:before { + content: "\f17e"; +} + +.fa-slack:before { + content: "\f198"; +} + +.fa-slack-hash:before { + content: "\f3ef"; +} + +.fa-slash:before { + content: "\f715"; +} + +.fa-sleigh:before { + content: "\f7cc"; +} + +.fa-sliders-h:before { + content: "\f1de"; +} + +.fa-slideshare:before { + content: "\f1e7"; +} + +.fa-smile:before { + content: "\f118"; +} + +.fa-smile-beam:before { + content: "\f5b8"; +} + +.fa-smile-wink:before { + content: "\f4da"; +} + +.fa-smog:before { + content: "\f75f"; +} + +.fa-smoking:before { + content: "\f48d"; +} + +.fa-smoking-ban:before { + content: "\f54d"; +} + +.fa-sms:before { + content: "\f7cd"; +} + +.fa-snapchat:before { + content: "\f2ab"; +} + +.fa-snapchat-ghost:before { + content: "\f2ac"; +} + +.fa-snapchat-square:before { + content: "\f2ad"; +} + +.fa-snowboarding:before { + content: "\f7ce"; +} + +.fa-snowflake:before { + content: "\f2dc"; +} + +.fa-snowman:before { + content: "\f7d0"; +} + +.fa-snowplow:before { + content: "\f7d2"; +} + +.fa-socks:before { + content: "\f696"; +} + +.fa-solar-panel:before { + content: "\f5ba"; +} + +.fa-sort:before { + content: "\f0dc"; +} + +.fa-sort-alpha-down:before { + content: "\f15d"; +} + +.fa-sort-alpha-up:before { + content: "\f15e"; +} + +.fa-sort-amount-down:before { + content: "\f160"; +} + +.fa-sort-amount-up:before { + content: "\f161"; +} + +.fa-sort-down:before { + content: "\f0dd"; +} + +.fa-sort-numeric-down:before { + content: "\f162"; +} + +.fa-sort-numeric-up:before { + content: "\f163"; +} + +.fa-sort-up:before { + content: "\f0de"; +} + +.fa-soundcloud:before { + content: "\f1be"; +} + +.fa-sourcetree:before { + content: "\f7d3"; +} + +.fa-spa:before { + content: "\f5bb"; +} + +.fa-space-shuttle:before { + content: "\f197"; +} + +.fa-speakap:before { + content: "\f3f3"; +} + +.fa-speaker-deck:before { + content: "\f83c"; +} + +.fa-spider:before { + content: "\f717"; +} + +.fa-spinner:before { + content: "\f110"; +} + +.fa-splotch:before { + content: "\f5bc"; +} + +.fa-spotify:before { + content: "\f1bc"; +} + +.fa-spray-can:before { + content: "\f5bd"; +} + +.fa-square:before { + content: "\f0c8"; +} + +.fa-square-full:before { + content: "\f45c"; +} + +.fa-square-root-alt:before { + content: "\f698"; +} + +.fa-squarespace:before { + content: "\f5be"; +} + +.fa-stack-exchange:before { + content: "\f18d"; +} + +.fa-stack-overflow:before { + content: "\f16c"; +} + +.fa-stamp:before { + content: "\f5bf"; +} + +.fa-star:before { + content: "\f005"; +} + +.fa-star-and-crescent:before { + content: "\f699"; +} + +.fa-star-half:before { + content: "\f089"; +} + +.fa-star-half-alt:before { + content: "\f5c0"; +} + +.fa-star-of-david:before { + content: "\f69a"; +} + +.fa-star-of-life:before { + content: "\f621"; +} + +.fa-staylinked:before { + content: "\f3f5"; +} + +.fa-steam:before { + content: "\f1b6"; +} + +.fa-steam-square:before { + content: "\f1b7"; +} + +.fa-steam-symbol:before { + content: "\f3f6"; +} + +.fa-step-backward:before { + content: "\f048"; +} + +.fa-step-forward:before { + content: "\f051"; +} + +.fa-stethoscope:before { + content: "\f0f1"; +} + +.fa-sticker-mule:before { + content: "\f3f7"; +} + +.fa-sticky-note:before { + content: "\f249"; +} + +.fa-stop:before { + content: "\f04d"; +} + +.fa-stop-circle:before { + content: "\f28d"; +} + +.fa-stopwatch:before { + content: "\f2f2"; +} + +.fa-store:before { + content: "\f54e"; +} + +.fa-store-alt:before { + content: "\f54f"; +} + +.fa-strava:before { + content: "\f428"; +} + +.fa-stream:before { + content: "\f550"; +} + +.fa-street-view:before { + content: "\f21d"; +} + +.fa-strikethrough:before { + content: "\f0cc"; +} + +.fa-stripe:before { + content: "\f429"; +} + +.fa-stripe-s:before { + content: "\f42a"; +} + +.fa-stroopwafel:before { + content: "\f551"; +} + +.fa-studiovinari:before { + content: "\f3f8"; +} + +.fa-stumbleupon:before { + content: "\f1a4"; +} + +.fa-stumbleupon-circle:before { + content: "\f1a3"; +} + +.fa-subscript:before { + content: "\f12c"; +} + +.fa-subway:before { + content: "\f239"; +} + +.fa-suitcase:before { + content: "\f0f2"; +} + +.fa-suitcase-rolling:before { + content: "\f5c1"; +} + +.fa-sun:before { + content: "\f185"; +} + +.fa-superpowers:before { + content: "\f2dd"; +} + +.fa-superscript:before { + content: "\f12b"; +} + +.fa-supple:before { + content: "\f3f9"; +} + +.fa-surprise:before { + content: "\f5c2"; +} + +.fa-suse:before { + content: "\f7d6"; +} + +.fa-swatchbook:before { + content: "\f5c3"; +} + +.fa-swimmer:before { + content: "\f5c4"; +} + +.fa-swimming-pool:before { + content: "\f5c5"; +} + +.fa-symfony:before { + content: "\f83d"; +} + +.fa-synagogue:before { + content: "\f69b"; +} + +.fa-sync:before { + content: "\f021"; +} + +.fa-sync-alt:before { + content: "\f2f1"; +} + +.fa-syringe:before { + content: "\f48e"; +} + +.fa-table:before { + content: "\f0ce"; +} + +.fa-table-tennis:before { + content: "\f45d"; +} + +.fa-tablet:before { + content: "\f10a"; +} + +.fa-tablet-alt:before { + content: "\f3fa"; +} + +.fa-tablets:before { + content: "\f490"; +} + +.fa-tachometer-alt:before { + content: "\f3fd"; +} + +.fa-tag:before { + content: "\f02b"; +} + +.fa-tags:before { + content: "\f02c"; +} + +.fa-tape:before { + content: "\f4db"; +} + +.fa-tasks:before { + content: "\f0ae"; +} + +.fa-taxi:before { + content: "\f1ba"; +} + +.fa-teamspeak:before { + content: "\f4f9"; +} + +.fa-teeth:before { + content: "\f62e"; +} + +.fa-teeth-open:before { + content: "\f62f"; +} + +.fa-telegram:before { + content: "\f2c6"; +} + +.fa-telegram-plane:before { + content: "\f3fe"; +} + +.fa-temperature-high:before { + content: "\f769"; +} + +.fa-temperature-low:before { + content: "\f76b"; +} + +.fa-tencent-weibo:before { + content: "\f1d5"; +} + +.fa-tenge:before { + content: "\f7d7"; +} + +.fa-terminal:before { + content: "\f120"; +} + +.fa-text-height:before { + content: "\f034"; +} + +.fa-text-width:before { + content: "\f035"; +} + +.fa-th:before { + content: "\f00a"; +} + +.fa-th-large:before { + content: "\f009"; +} + +.fa-th-list:before { + content: "\f00b"; +} + +.fa-the-red-yeti:before { + content: "\f69d"; +} + +.fa-theater-masks:before { + content: "\f630"; +} + +.fa-themeco:before { + content: "\f5c6"; +} + +.fa-themeisle:before { + content: "\f2b2"; +} + +.fa-thermometer:before { + content: "\f491"; +} + +.fa-thermometer-empty:before { + content: "\f2cb"; +} + +.fa-thermometer-full:before { + content: "\f2c7"; +} + +.fa-thermometer-half:before { + content: "\f2c9"; +} + +.fa-thermometer-quarter:before { + content: "\f2ca"; +} + +.fa-thermometer-three-quarters:before { + content: "\f2c8"; +} + +.fa-think-peaks:before { + content: "\f731"; +} + +.fa-thumbs-down:before { + content: "\f165"; +} + +.fa-thumbs-up:before { + content: "\f164"; +} + +.fa-thumbtack:before { + content: "\f08d"; +} + +.fa-ticket-alt:before { + content: "\f3ff"; +} + +.fa-times:before { + content: "\f00d"; +} + +.fa-times-circle:before { + content: "\f057"; +} + +.fa-tint:before { + content: "\f043"; +} + +.fa-tint-slash:before { + content: "\f5c7"; +} + +.fa-tired:before { + content: "\f5c8"; +} + +.fa-toggle-off:before { + content: "\f204"; +} + +.fa-toggle-on:before { + content: "\f205"; +} + +.fa-toilet:before { + content: "\f7d8"; +} + +.fa-toilet-paper:before { + content: "\f71e"; +} + +.fa-toolbox:before { + content: "\f552"; +} + +.fa-tools:before { + content: "\f7d9"; +} + +.fa-tooth:before { + content: "\f5c9"; +} + +.fa-torah:before { + content: "\f6a0"; +} + +.fa-torii-gate:before { + content: "\f6a1"; +} + +.fa-tractor:before { + content: "\f722"; +} + +.fa-trade-federation:before { + content: "\f513"; +} + +.fa-trademark:before { + content: "\f25c"; +} + +.fa-traffic-light:before { + content: "\f637"; +} + +.fa-train:before { + content: "\f238"; +} + +.fa-tram:before { + content: "\f7da"; +} + +.fa-transgender:before { + content: "\f224"; +} + +.fa-transgender-alt:before { + content: "\f225"; +} + +.fa-trash:before { + content: "\f1f8"; +} + +.fa-trash-alt:before { + content: "\f2ed"; +} + +.fa-trash-restore:before { + content: "\f829"; +} + +.fa-trash-restore-alt:before { + content: "\f82a"; +} + +.fa-tree:before { + content: "\f1bb"; +} + +.fa-trello:before { + content: "\f181"; +} + +.fa-tripadvisor:before { + content: "\f262"; +} + +.fa-trophy:before { + content: "\f091"; +} + +.fa-truck:before { + content: "\f0d1"; +} + +.fa-truck-loading:before { + content: "\f4de"; +} + +.fa-truck-monster:before { + content: "\f63b"; +} + +.fa-truck-moving:before { + content: "\f4df"; +} + +.fa-truck-pickup:before { + content: "\f63c"; +} + +.fa-tshirt:before { + content: "\f553"; +} + +.fa-tty:before { + content: "\f1e4"; +} + +.fa-tumblr:before { + content: "\f173"; +} + +.fa-tumblr-square:before { + content: "\f174"; +} + +.fa-tv:before { + content: "\f26c"; +} + +.fa-twitch:before { + content: "\f1e8"; +} + +.fa-twitter:before { + content: "\f099"; +} + +.fa-twitter-square:before { + content: "\f081"; +} + +.fa-typo3:before { + content: "\f42b"; +} + +.fa-uber:before { + content: "\f402"; +} + +.fa-ubuntu:before { + content: "\f7df"; +} + +.fa-uikit:before { + content: "\f403"; +} + +.fa-umbrella:before { + content: "\f0e9"; +} + +.fa-umbrella-beach:before { + content: "\f5ca"; +} + +.fa-underline:before { + content: "\f0cd"; +} + +.fa-undo:before { + content: "\f0e2"; +} + +.fa-undo-alt:before { + content: "\f2ea"; +} + +.fa-uniregistry:before { + content: "\f404"; +} + +.fa-universal-access:before { + content: "\f29a"; +} + +.fa-university:before { + content: "\f19c"; +} + +.fa-unlink:before { + content: "\f127"; +} + +.fa-unlock:before { + content: "\f09c"; +} + +.fa-unlock-alt:before { + content: "\f13e"; +} + +.fa-untappd:before { + content: "\f405"; +} + +.fa-upload:before { + content: "\f093"; +} + +.fa-ups:before { + content: "\f7e0"; +} + +.fa-usb:before { + content: "\f287"; +} + +.fa-user:before { + content: "\f007"; +} + +.fa-user-alt:before { + content: "\f406"; +} + +.fa-user-alt-slash:before { + content: "\f4fa"; +} + +.fa-user-astronaut:before { + content: "\f4fb"; +} + +.fa-user-check:before { + content: "\f4fc"; +} + +.fa-user-circle:before { + content: "\f2bd"; +} + +.fa-user-clock:before { + content: "\f4fd"; +} + +.fa-user-cog:before { + content: "\f4fe"; +} + +.fa-user-edit:before { + content: "\f4ff"; +} + +.fa-user-friends:before { + content: "\f500"; +} + +.fa-user-graduate:before { + content: "\f501"; +} + +.fa-user-injured:before { + content: "\f728"; +} + +.fa-user-lock:before { + content: "\f502"; +} + +.fa-user-md:before { + content: "\f0f0"; +} + +.fa-user-minus:before { + content: "\f503"; +} + +.fa-user-ninja:before { + content: "\f504"; +} + +.fa-user-nurse:before { + content: "\f82f"; +} + +.fa-user-plus:before { + content: "\f234"; +} + +.fa-user-secret:before { + content: "\f21b"; +} + +.fa-user-shield:before { + content: "\f505"; +} + +.fa-user-slash:before { + content: "\f506"; +} + +.fa-user-tag:before { + content: "\f507"; +} + +.fa-user-tie:before { + content: "\f508"; +} + +.fa-user-times:before { + content: "\f235"; +} + +.fa-users:before { + content: "\f0c0"; +} + +.fa-users-cog:before { + content: "\f509"; +} + +.fa-usps:before { + content: "\f7e1"; +} + +.fa-ussunnah:before { + content: "\f407"; +} + +.fa-utensil-spoon:before { + content: "\f2e5"; +} + +.fa-utensils:before { + content: "\f2e7"; +} + +.fa-vaadin:before { + content: "\f408"; +} + +.fa-vector-square:before { + content: "\f5cb"; +} + +.fa-venus:before { + content: "\f221"; +} + +.fa-venus-double:before { + content: "\f226"; +} + +.fa-venus-mars:before { + content: "\f228"; +} + +.fa-viacoin:before { + content: "\f237"; +} + +.fa-viadeo:before { + content: "\f2a9"; +} + +.fa-viadeo-square:before { + content: "\f2aa"; +} + +.fa-vial:before { + content: "\f492"; +} + +.fa-vials:before { + content: "\f493"; +} + +.fa-viber:before { + content: "\f409"; +} + +.fa-video:before { + content: "\f03d"; +} + +.fa-video-slash:before { + content: "\f4e2"; +} + +.fa-vihara:before { + content: "\f6a7"; +} + +.fa-vimeo:before { + content: "\f40a"; +} + +.fa-vimeo-square:before { + content: "\f194"; +} + +.fa-vimeo-v:before { + content: "\f27d"; +} + +.fa-vine:before { + content: "\f1ca"; +} + +.fa-vk:before { + content: "\f189"; +} + +.fa-vnv:before { + content: "\f40b"; +} + +.fa-volleyball-ball:before { + content: "\f45f"; +} + +.fa-volume-down:before { + content: "\f027"; +} + +.fa-volume-mute:before { + content: "\f6a9"; +} + +.fa-volume-off:before { + content: "\f026"; +} + +.fa-volume-up:before { + content: "\f028"; +} + +.fa-vote-yea:before { + content: "\f772"; +} + +.fa-vr-cardboard:before { + content: "\f729"; +} + +.fa-vuejs:before { + content: "\f41f"; +} + +.fa-walking:before { + content: "\f554"; +} + +.fa-wallet:before { + content: "\f555"; +} + +.fa-warehouse:before { + content: "\f494"; +} + +.fa-water:before { + content: "\f773"; +} + +.fa-wave-square:before { + content: "\f83e"; +} + +.fa-waze:before { + content: "\f83f"; +} + +.fa-weebly:before { + content: "\f5cc"; +} + +.fa-weibo:before { + content: "\f18a"; +} + +.fa-weight:before { + content: "\f496"; +} + +.fa-weight-hanging:before { + content: "\f5cd"; +} + +.fa-weixin:before { + content: "\f1d7"; +} + +.fa-whatsapp:before { + content: "\f232"; +} + +.fa-whatsapp-square:before { + content: "\f40c"; +} + +.fa-wheelchair:before { + content: "\f193"; +} + +.fa-whmcs:before { + content: "\f40d"; +} + +.fa-wifi:before { + content: "\f1eb"; +} + +.fa-wikipedia-w:before { + content: "\f266"; +} + +.fa-wind:before { + content: "\f72e"; +} + +.fa-window-close:before { + content: "\f410"; +} + +.fa-window-maximize:before { + content: "\f2d0"; +} + +.fa-window-minimize:before { + content: "\f2d1"; +} + +.fa-window-restore:before { + content: "\f2d2"; +} + +.fa-windows:before { + content: "\f17a"; +} + +.fa-wine-bottle:before { + content: "\f72f"; +} + +.fa-wine-glass:before { + content: "\f4e3"; +} + +.fa-wine-glass-alt:before { + content: "\f5ce"; +} + +.fa-wix:before { + content: "\f5cf"; +} + +.fa-wizards-of-the-coast:before { + content: "\f730"; +} + +.fa-wolf-pack-battalion:before { + content: "\f514"; +} + +.fa-won-sign:before { + content: "\f159"; +} + +.fa-wordpress:before { + content: "\f19a"; +} + +.fa-wordpress-simple:before { + content: "\f411"; +} + +.fa-wpbeginner:before { + content: "\f297"; +} + +.fa-wpexplorer:before { + content: "\f2de"; +} + +.fa-wpforms:before { + content: "\f298"; +} + +.fa-wpressr:before { + content: "\f3e4"; +} + +.fa-wrench:before { + content: "\f0ad"; +} + +.fa-x-ray:before { + content: "\f497"; +} + +.fa-xbox:before { + content: "\f412"; +} + +.fa-xing:before { + content: "\f168"; +} + +.fa-xing-square:before { + content: "\f169"; +} + +.fa-y-combinator:before { + content: "\f23b"; +} + +.fa-yahoo:before { + content: "\f19e"; +} + +.fa-yammer:before { + content: "\f840"; +} + +.fa-yandex:before { + content: "\f413"; +} + +.fa-yandex-international:before { + content: "\f414"; +} + +.fa-yarn:before { + content: "\f7e3"; +} + +.fa-yelp:before { + content: "\f1e9"; +} + +.fa-yen-sign:before { + content: "\f157"; +} + +.fa-yin-yang:before { + content: "\f6ad"; +} + +.fa-yoast:before { + content: "\f2b1"; +} + +.fa-youtube:before { + content: "\f167"; +} + +.fa-youtube-square:before { + content: "\f431"; +} + +.fa-zhihu:before { + content: "\f63f"; +} + +.sr-only { + border: 0; + clip: rect(0, 0, 0, 0); + height: 1px; + margin: -1px; + overflow: hidden; + padding: 0; + position: absolute; + width: 1px; +} + +.sr-only-focusable:active, .sr-only-focusable:focus { + clip: auto; + height: auto; + margin: 0; + overflow: visible; + position: static; + width: auto; +} + +@font-face { + font-family: 'Font Awesome 5 Brands'; + font-style: normal; + font-weight: normal; + font-display: auto; + src: url("../fonts/fa-brands-400.eot"); + src: url("../fonts/fa-brands-400.eot?#iefix") format("embedded-opentype"), url("../fonts/fa-brands-400.woff2") format("woff2"), url("../fonts/fa-brands-400.woff") format("woff"), url("../fonts/fa-brands-400.ttf") format("truetype"), url("../fonts/fa-brands-400.svg#fontawesome") format("svg"); +} + +.fab { + font-family: 'Font Awesome 5 Brands'; +} + +@font-face { + font-family: 'Font Awesome 5 Free'; + font-style: normal; + font-weight: 400; + font-display: auto; + src: url("../fonts/fa-regular-400.eot"); + src: url("../fonts/fa-regular-400.eot?#iefix") format("embedded-opentype"), url("../fonts/fa-regular-400.woff2") format("woff2"), url("../fonts/fa-regular-400.woff") format("woff"), url("../fonts/fa-regular-400.ttf") format("truetype"), url("../fonts/fa-regular-400.svg#fontawesome") format("svg"); +} + +.far { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; +} + +@font-face { + font-family: 'Font Awesome 5 Free'; + font-style: normal; + font-weight: 900; + font-display: auto; + src: url("../fonts/fa-solid-900.eot"); + src: url("../fonts/fa-solid-900.eot?#iefix") format("embedded-opentype"), url("../fonts/fa-solid-900.woff2") format("woff2"), url("../fonts/fa-solid-900.woff") format("woff"), url("../fonts/fa-solid-900.ttf") format("truetype"), url("../fonts/fa-solid-900.svg#fontawesome") format("svg"); +} + +.fa, +.fas { + font-family: 'Font Awesome 5 Free'; + font-weight: 900; +} + +@font-face { + font-family: "dripicons-v2"; + src: url("../fonts/dripicons-v2.eot"); + src: url("../fonts/dripicons-v2.eot?#iefix") format("embedded-opentype"), url("../fonts/dripicons-v2.woff") format("woff"), url("../fonts/dripicons-v2.ttf") format("truetype"), url("../fonts/dripicons-v2.svg#dripicons-v2") format("svg"); + font-weight: normal; + font-style: normal; +} + +[data-icon]:before { + font-family: "dripicons-v2" !important; + content: attr(data-icon); + font-style: normal !important; + font-weight: normal !important; + font-variant: normal !important; + text-transform: none !important; + speak: none; + line-height: 1; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; +} + +[class^="dripicons-"]:before, +[class*=" dripicons-"]:before { + font-family: "dripicons-v2" !important; + font-style: normal !important; + font-weight: normal !important; + font-variant: normal !important; + text-transform: none !important; + speak: none; + line-height: 1; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; +} + +.dripicons-alarm:before { + content: "\61"; +} + +.dripicons-align-center:before { + content: "\62"; +} + +.dripicons-align-justify:before { + content: "\63"; +} + +.dripicons-align-left:before { + content: "\64"; +} + +.dripicons-align-right:before { + content: "\65"; +} + +.dripicons-anchor:before { + content: "\66"; +} + +.dripicons-archive:before { + content: "\67"; +} + +.dripicons-arrow-down:before { + content: "\68"; +} + +.dripicons-arrow-left:before { + content: "\69"; +} + +.dripicons-arrow-right:before { + content: "\6a"; +} + +.dripicons-arrow-thin-down:before { + content: "\6b"; +} + +.dripicons-arrow-thin-left:before { + content: "\6c"; +} + +.dripicons-arrow-thin-right:before { + content: "\6d"; +} + +.dripicons-arrow-thin-up:before { + content: "\6e"; +} + +.dripicons-arrow-up:before { + content: "\6f"; +} + +.dripicons-article:before { + content: "\70"; +} + +.dripicons-backspace:before { + content: "\71"; +} + +.dripicons-basket:before { + content: "\72"; +} + +.dripicons-basketball:before { + content: "\73"; +} + +.dripicons-battery-empty:before { + content: "\74"; +} + +.dripicons-battery-full:before { + content: "\75"; +} + +.dripicons-battery-low:before { + content: "\76"; +} + +.dripicons-battery-medium:before { + content: "\77"; +} + +.dripicons-bell:before { + content: "\78"; +} + +.dripicons-blog:before { + content: "\79"; +} + +.dripicons-bluetooth:before { + content: "\7a"; +} + +.dripicons-bold:before { + content: "\41"; +} + +.dripicons-bookmark:before { + content: "\42"; +} + +.dripicons-bookmarks:before { + content: "\43"; +} + +.dripicons-box:before { + content: "\44"; +} + +.dripicons-briefcase:before { + content: "\45"; +} + +.dripicons-brightness-low:before { + content: "\46"; +} + +.dripicons-brightness-max:before { + content: "\47"; +} + +.dripicons-brightness-medium:before { + content: "\48"; +} + +.dripicons-broadcast:before { + content: "\49"; +} + +.dripicons-browser:before { + content: "\4a"; +} + +.dripicons-browser-upload:before { + content: "\4b"; +} + +.dripicons-brush:before { + content: "\4c"; +} + +.dripicons-calendar:before { + content: "\4d"; +} + +.dripicons-camcorder:before { + content: "\4e"; +} + +.dripicons-camera:before { + content: "\4f"; +} + +.dripicons-card:before { + content: "\50"; +} + +.dripicons-cart:before { + content: "\51"; +} + +.dripicons-checklist:before { + content: "\52"; +} + +.dripicons-checkmark:before { + content: "\53"; +} + +.dripicons-chevron-down:before { + content: "\54"; +} + +.dripicons-chevron-left:before { + content: "\55"; +} + +.dripicons-chevron-right:before { + content: "\56"; +} + +.dripicons-chevron-up:before { + content: "\57"; +} + +.dripicons-clipboard:before { + content: "\58"; +} + +.dripicons-clock:before { + content: "\59"; +} + +.dripicons-clockwise:before { + content: "\5a"; +} + +.dripicons-cloud:before { + content: "\30"; +} + +.dripicons-cloud-download:before { + content: "\31"; +} + +.dripicons-cloud-upload:before { + content: "\32"; +} + +.dripicons-code:before { + content: "\33"; +} + +.dripicons-contract:before { + content: "\34"; +} + +.dripicons-contract-2:before { + content: "\35"; +} + +.dripicons-conversation:before { + content: "\36"; +} + +.dripicons-copy:before { + content: "\37"; +} + +.dripicons-crop:before { + content: "\38"; +} + +.dripicons-cross:before { + content: "\39"; +} + +.dripicons-crosshair:before { + content: "\21"; +} + +.dripicons-cutlery:before { + content: "\22"; +} + +.dripicons-device-desktop:before { + content: "\23"; +} + +.dripicons-device-mobile:before { + content: "\24"; +} + +.dripicons-device-tablet:before { + content: "\25"; +} + +.dripicons-direction:before { + content: "\26"; +} + +.dripicons-disc:before { + content: "\27"; +} + +.dripicons-document:before { + content: "\28"; +} + +.dripicons-document-delete:before { + content: "\29"; +} + +.dripicons-document-edit:before { + content: "\2a"; +} + +.dripicons-document-new:before { + content: "\2b"; +} + +.dripicons-document-remove:before { + content: "\2c"; +} + +.dripicons-dot:before { + content: "\2d"; +} + +.dripicons-dots-2:before { + content: "\2e"; +} + +.dripicons-dots-3:before { + content: "\2f"; +} + +.dripicons-download:before { + content: "\3a"; +} + +.dripicons-duplicate:before { + content: "\3b"; +} + +.dripicons-enter:before { + content: "\3c"; +} + +.dripicons-exit:before { + content: "\3d"; +} + +.dripicons-expand:before { + content: "\3e"; +} + +.dripicons-expand-2:before { + content: "\3f"; +} + +.dripicons-experiment:before { + content: "\40"; +} + +.dripicons-export:before { + content: "\5b"; +} + +.dripicons-feed:before { + content: "\5d"; +} + +.dripicons-flag:before { + content: "\5e"; +} + +.dripicons-flashlight:before { + content: "\5f"; +} + +.dripicons-folder:before { + content: "\60"; +} + +.dripicons-folder-open:before { + content: "\7b"; +} + +.dripicons-forward:before { + content: "\7c"; +} + +.dripicons-gaming:before { + content: "\7d"; +} + +.dripicons-gear:before { + content: "\7e"; +} + +.dripicons-graduation:before { + content: "\5c"; +} + +.dripicons-graph-bar:before { + content: "\e000"; +} + +.dripicons-graph-line:before { + content: "\e001"; +} + +.dripicons-graph-pie:before { + content: "\e002"; +} + +.dripicons-headset:before { + content: "\e003"; +} + +.dripicons-heart:before { + content: "\e004"; +} + +.dripicons-help:before { + content: "\e005"; +} + +.dripicons-home:before { + content: "\e006"; +} + +.dripicons-hourglass:before { + content: "\e007"; +} + +.dripicons-inbox:before { + content: "\e008"; +} + +.dripicons-information:before { + content: "\e009"; +} + +.dripicons-italic:before { + content: "\e00a"; +} + +.dripicons-jewel:before { + content: "\e00b"; +} + +.dripicons-lifting:before { + content: "\e00c"; +} + +.dripicons-lightbulb:before { + content: "\e00d"; +} + +.dripicons-link:before { + content: "\e00e"; +} + +.dripicons-link-broken:before { + content: "\e00f"; +} + +.dripicons-list:before { + content: "\e010"; +} + +.dripicons-loading:before { + content: "\e011"; +} + +.dripicons-location:before { + content: "\e012"; +} + +.dripicons-lock:before { + content: "\e013"; +} + +.dripicons-lock-open:before { + content: "\e014"; +} + +.dripicons-mail:before { + content: "\e015"; +} + +.dripicons-map:before { + content: "\e016"; +} + +.dripicons-media-loop:before { + content: "\e017"; +} + +.dripicons-media-next:before { + content: "\e018"; +} + +.dripicons-media-pause:before { + content: "\e019"; +} + +.dripicons-media-play:before { + content: "\e01a"; +} + +.dripicons-media-previous:before { + content: "\e01b"; +} + +.dripicons-media-record:before { + content: "\e01c"; +} + +.dripicons-media-shuffle:before { + content: "\e01d"; +} + +.dripicons-media-stop:before { + content: "\e01e"; +} + +.dripicons-medical:before { + content: "\e01f"; +} + +.dripicons-menu:before { + content: "\e020"; +} + +.dripicons-message:before { + content: "\e021"; +} + +.dripicons-meter:before { + content: "\e022"; +} + +.dripicons-microphone:before { + content: "\e023"; +} + +.dripicons-minus:before { + content: "\e024"; +} + +.dripicons-monitor:before { + content: "\e025"; +} + +.dripicons-move:before { + content: "\e026"; +} + +.dripicons-music:before { + content: "\e027"; +} + +.dripicons-network-1:before { + content: "\e028"; +} + +.dripicons-network-2:before { + content: "\e029"; +} + +.dripicons-network-3:before { + content: "\e02a"; +} + +.dripicons-network-4:before { + content: "\e02b"; +} + +.dripicons-network-5:before { + content: "\e02c"; +} + +.dripicons-pamphlet:before { + content: "\e02d"; +} + +.dripicons-paperclip:before { + content: "\e02e"; +} + +.dripicons-pencil:before { + content: "\e02f"; +} + +.dripicons-phone:before { + content: "\e030"; +} + +.dripicons-photo:before { + content: "\e031"; +} + +.dripicons-photo-group:before { + content: "\e032"; +} + +.dripicons-pill:before { + content: "\e033"; +} + +.dripicons-pin:before { + content: "\e034"; +} + +.dripicons-plus:before { + content: "\e035"; +} + +.dripicons-power:before { + content: "\e036"; +} + +.dripicons-preview:before { + content: "\e037"; +} + +.dripicons-print:before { + content: "\e038"; +} + +.dripicons-pulse:before { + content: "\e039"; +} + +.dripicons-question:before { + content: "\e03a"; +} + +.dripicons-reply:before { + content: "\e03b"; +} + +.dripicons-reply-all:before { + content: "\e03c"; +} + +.dripicons-return:before { + content: "\e03d"; +} + +.dripicons-retweet:before { + content: "\e03e"; +} + +.dripicons-rocket:before { + content: "\e03f"; +} + +.dripicons-scale:before { + content: "\e040"; +} + +.dripicons-search:before { + content: "\e041"; +} + +.dripicons-shopping-bag:before { + content: "\e042"; +} + +.dripicons-skip:before { + content: "\e043"; +} + +.dripicons-stack:before { + content: "\e044"; +} + +.dripicons-star:before { + content: "\e045"; +} + +.dripicons-stopwatch:before { + content: "\e046"; +} + +.dripicons-store:before { + content: "\e047"; +} + +.dripicons-suitcase:before { + content: "\e048"; +} + +.dripicons-swap:before { + content: "\e049"; +} + +.dripicons-tag:before { + content: "\e04a"; +} + +.dripicons-tag-delete:before { + content: "\e04b"; +} + +.dripicons-tags:before { + content: "\e04c"; +} + +.dripicons-thumbs-down:before { + content: "\e04d"; +} + +.dripicons-thumbs-up:before { + content: "\e04e"; +} + +.dripicons-ticket:before { + content: "\e04f"; +} + +.dripicons-time-reverse:before { + content: "\e050"; +} + +.dripicons-to-do:before { + content: "\e051"; +} + +.dripicons-toggles:before { + content: "\e052"; +} + +.dripicons-trash:before { + content: "\e053"; +} + +.dripicons-trophy:before { + content: "\e054"; +} + +.dripicons-upload:before { + content: "\e055"; +} + +.dripicons-user:before { + content: "\e056"; +} + +.dripicons-user-group:before { + content: "\e057"; +} + +.dripicons-user-id:before { + content: "\e058"; +} + +.dripicons-vibrate:before { + content: "\e059"; +} + +.dripicons-view-apps:before { + content: "\e05a"; +} + +.dripicons-view-list:before { + content: "\e05b"; +} + +.dripicons-view-list-large:before { + content: "\e05c"; +} + +.dripicons-view-thumb:before { + content: "\e05d"; +} + +.dripicons-volume-full:before { + content: "\e05e"; +} + +.dripicons-volume-low:before { + content: "\e05f"; +} + +.dripicons-volume-medium:before { + content: "\e060"; +} + +.dripicons-volume-off:before { + content: "\e061"; +} + +.dripicons-wallet:before { + content: "\e062"; +} + +.dripicons-warning:before { + content: "\e063"; +} + +.dripicons-web:before { + content: "\e064"; +} + +.dripicons-weight:before { + content: "\e065"; +} + +.dripicons-wifi:before { + content: "\e066"; +} + +.dripicons-wrong:before { + content: "\e067"; +} + +.dripicons-zoom-in:before { + content: "\e068"; +} + +.dripicons-zoom-out:before { + content: "\e069"; +} + +.mdi, .mdi:before, .fa, .fa:before, .fab, .fab:before, .fas, .fas:before, .far, .far:before, [data-icon], [data-icon]:before, [class^="dripicons-"], [class^="dripicons-"]:before, [class*=" dripicons-"], [class*=" dripicons-"]:before { + vertical-align: middle; +} + +.bx { + vertical-align: middle; +} diff --git a/public/assets/fonts/boxicons.eot b/public/assets/fonts/boxicons.eot new file mode 100644 index 0000000..149b257 Binary files /dev/null and b/public/assets/fonts/boxicons.eot differ diff --git a/public/assets/fonts/boxicons.svg b/public/assets/fonts/boxicons.svg new file mode 100644 index 0000000..8895bf2 --- /dev/null +++ b/public/assets/fonts/boxicons.svg @@ -0,0 +1,1150 @@ + + + +Generated by IcoMoon + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/public/assets/fonts/boxicons.ttf b/public/assets/fonts/boxicons.ttf new file mode 100644 index 0000000..6add477 Binary files /dev/null and b/public/assets/fonts/boxicons.ttf differ diff --git a/public/assets/fonts/boxicons.woff b/public/assets/fonts/boxicons.woff new file mode 100644 index 0000000..4d50a3a Binary files /dev/null and b/public/assets/fonts/boxicons.woff differ diff --git a/public/assets/fonts/boxicons.woff2 b/public/assets/fonts/boxicons.woff2 new file mode 100644 index 0000000..ac6b3e9 Binary files /dev/null and b/public/assets/fonts/boxicons.woff2 differ diff --git a/public/assets/fonts/dripicons-v2.eot b/public/assets/fonts/dripicons-v2.eot new file mode 100644 index 0000000..8afeaaa Binary files /dev/null and b/public/assets/fonts/dripicons-v2.eot differ diff --git a/public/assets/fonts/dripicons-v2.svg b/public/assets/fonts/dripicons-v2.svg new file mode 100644 index 0000000..0b50172 --- /dev/null +++ b/public/assets/fonts/dripicons-v2.svg @@ -0,0 +1,210 @@ + + + +Generated by Fontastic.me + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/public/assets/fonts/dripicons-v2.ttf b/public/assets/fonts/dripicons-v2.ttf new file mode 100644 index 0000000..041e333 Binary files /dev/null and b/public/assets/fonts/dripicons-v2.ttf differ diff --git a/public/assets/fonts/dripicons-v2.woff b/public/assets/fonts/dripicons-v2.woff new file mode 100644 index 0000000..5322e3d Binary files /dev/null and b/public/assets/fonts/dripicons-v2.woff differ diff --git a/public/assets/fonts/fa-brands-400.eot b/public/assets/fonts/fa-brands-400.eot new file mode 100644 index 0000000..a619622 Binary files /dev/null and b/public/assets/fonts/fa-brands-400.eot differ diff --git a/public/assets/fonts/fa-brands-400.svg b/public/assets/fonts/fa-brands-400.svg new file mode 100644 index 0000000..33efe39 --- /dev/null +++ b/public/assets/fonts/fa-brands-400.svg @@ -0,0 +1,3451 @@ + + + + + +Created by FontForge 20190112 at Fri Aug 2 14:42:17 2019 + By Robert Madole +Copyright (c) Font Awesome + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/public/assets/fonts/fa-brands-400.ttf b/public/assets/fonts/fa-brands-400.ttf new file mode 100644 index 0000000..c3edffd Binary files /dev/null and b/public/assets/fonts/fa-brands-400.ttf differ diff --git a/public/assets/fonts/fa-brands-400.woff b/public/assets/fonts/fa-brands-400.woff new file mode 100644 index 0000000..13125dc Binary files /dev/null and b/public/assets/fonts/fa-brands-400.woff differ diff --git a/public/assets/fonts/fa-brands-400.woff2 b/public/assets/fonts/fa-brands-400.woff2 new file mode 100644 index 0000000..ce25be0 Binary files /dev/null and b/public/assets/fonts/fa-brands-400.woff2 differ diff --git a/public/assets/fonts/fa-regular-400.eot b/public/assets/fonts/fa-regular-400.eot new file mode 100644 index 0000000..0610148 Binary files /dev/null and b/public/assets/fonts/fa-regular-400.eot differ diff --git a/public/assets/fonts/fa-regular-400.svg b/public/assets/fonts/fa-regular-400.svg new file mode 100644 index 0000000..4576c80 --- /dev/null +++ b/public/assets/fonts/fa-regular-400.svg @@ -0,0 +1,803 @@ + + + + + +Created by FontForge 20190112 at Fri Aug 2 14:42:17 2019 + By Robert Madole +Copyright (c) Font Awesome + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/public/assets/fonts/fa-regular-400.ttf b/public/assets/fonts/fa-regular-400.ttf new file mode 100644 index 0000000..d71787b Binary files /dev/null and b/public/assets/fonts/fa-regular-400.ttf differ diff --git a/public/assets/fonts/fa-regular-400.woff b/public/assets/fonts/fa-regular-400.woff new file mode 100644 index 0000000..8894b46 Binary files /dev/null and b/public/assets/fonts/fa-regular-400.woff differ diff --git a/public/assets/fonts/fa-regular-400.woff2 b/public/assets/fonts/fa-regular-400.woff2 new file mode 100644 index 0000000..a5c98bc Binary files /dev/null and b/public/assets/fonts/fa-regular-400.woff2 differ diff --git a/public/assets/fonts/fa-solid-900.eot b/public/assets/fonts/fa-solid-900.eot new file mode 100644 index 0000000..7c78e8c Binary files /dev/null and b/public/assets/fonts/fa-solid-900.eot differ diff --git a/public/assets/fonts/fa-solid-900.svg b/public/assets/fonts/fa-solid-900.svg new file mode 100644 index 0000000..6b98037 --- /dev/null +++ b/public/assets/fonts/fa-solid-900.svg @@ -0,0 +1,4649 @@ + + + + + +Created by FontForge 20190112 at Fri Aug 2 14:42:17 2019 + By Robert Madole +Copyright (c) Font Awesome + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/public/assets/fonts/fa-solid-900.ttf b/public/assets/fonts/fa-solid-900.ttf new file mode 100644 index 0000000..d4e300d Binary files /dev/null and b/public/assets/fonts/fa-solid-900.ttf differ diff --git a/public/assets/fonts/fa-solid-900.woff b/public/assets/fonts/fa-solid-900.woff new file mode 100644 index 0000000..a50f67f Binary files /dev/null and b/public/assets/fonts/fa-solid-900.woff differ diff --git a/public/assets/fonts/fa-solid-900.woff2 b/public/assets/fonts/fa-solid-900.woff2 new file mode 100644 index 0000000..a43e1ca Binary files /dev/null and b/public/assets/fonts/fa-solid-900.woff2 differ diff --git a/public/assets/fonts/farsi-fonts/aviny-700.eot b/public/assets/fonts/farsi-fonts/aviny-700.eot new file mode 100644 index 0000000..32a74a5 Binary files /dev/null and b/public/assets/fonts/farsi-fonts/aviny-700.eot differ diff --git a/public/assets/fonts/farsi-fonts/aviny-700.ttf b/public/assets/fonts/farsi-fonts/aviny-700.ttf new file mode 100644 index 0000000..546de4f Binary files /dev/null and b/public/assets/fonts/farsi-fonts/aviny-700.ttf differ diff --git a/public/assets/fonts/farsi-fonts/aviny-700.woff b/public/assets/fonts/farsi-fonts/aviny-700.woff new file mode 100644 index 0000000..0cde844 Binary files /dev/null and b/public/assets/fonts/farsi-fonts/aviny-700.woff differ diff --git a/public/assets/fonts/farsi-fonts/aviny-700.woff2 b/public/assets/fonts/farsi-fonts/aviny-700.woff2 new file mode 100644 index 0000000..74f1d1e Binary files /dev/null and b/public/assets/fonts/farsi-fonts/aviny-700.woff2 differ diff --git a/public/assets/fonts/farsi-fonts/dastnevis-400.eot b/public/assets/fonts/farsi-fonts/dastnevis-400.eot new file mode 100644 index 0000000..d63ba48 Binary files /dev/null and b/public/assets/fonts/farsi-fonts/dastnevis-400.eot differ diff --git a/public/assets/fonts/farsi-fonts/dastnevis-400.ttf b/public/assets/fonts/farsi-fonts/dastnevis-400.ttf new file mode 100644 index 0000000..41e8243 Binary files /dev/null and b/public/assets/fonts/farsi-fonts/dastnevis-400.ttf differ diff --git a/public/assets/fonts/farsi-fonts/dastnevis-400.woff b/public/assets/fonts/farsi-fonts/dastnevis-400.woff new file mode 100644 index 0000000..0e9e40b Binary files /dev/null and b/public/assets/fonts/farsi-fonts/dastnevis-400.woff differ diff --git a/public/assets/fonts/farsi-fonts/dastnevis-400.woff2 b/public/assets/fonts/farsi-fonts/dastnevis-400.woff2 new file mode 100644 index 0000000..8d5a400 Binary files /dev/null and b/public/assets/fonts/farsi-fonts/dastnevis-400.woff2 differ diff --git a/public/assets/fonts/farsi-fonts/droid-naskh-400.eot b/public/assets/fonts/farsi-fonts/droid-naskh-400.eot new file mode 100644 index 0000000..adef382 Binary files /dev/null and b/public/assets/fonts/farsi-fonts/droid-naskh-400.eot differ diff --git a/public/assets/fonts/farsi-fonts/droid-naskh-400.ttf b/public/assets/fonts/farsi-fonts/droid-naskh-400.ttf new file mode 100644 index 0000000..7cf4a2c Binary files /dev/null and b/public/assets/fonts/farsi-fonts/droid-naskh-400.ttf differ diff --git a/public/assets/fonts/farsi-fonts/droid-naskh-400.woff b/public/assets/fonts/farsi-fonts/droid-naskh-400.woff new file mode 100644 index 0000000..45b86c9 Binary files /dev/null and b/public/assets/fonts/farsi-fonts/droid-naskh-400.woff differ diff --git a/public/assets/fonts/farsi-fonts/droid-naskh-400.woff2 b/public/assets/fonts/farsi-fonts/droid-naskh-400.woff2 new file mode 100644 index 0000000..3e76b8d Binary files /dev/null and b/public/assets/fonts/farsi-fonts/droid-naskh-400.woff2 differ diff --git a/public/assets/fonts/farsi-fonts/dubai-400.eot b/public/assets/fonts/farsi-fonts/dubai-400.eot new file mode 100644 index 0000000..01d72b2 Binary files /dev/null and b/public/assets/fonts/farsi-fonts/dubai-400.eot differ diff --git a/public/assets/fonts/farsi-fonts/dubai-400.ttf b/public/assets/fonts/farsi-fonts/dubai-400.ttf new file mode 100644 index 0000000..483e973 Binary files /dev/null and b/public/assets/fonts/farsi-fonts/dubai-400.ttf differ diff --git a/public/assets/fonts/farsi-fonts/dubai-400.woff b/public/assets/fonts/farsi-fonts/dubai-400.woff new file mode 100644 index 0000000..010845e Binary files /dev/null and b/public/assets/fonts/farsi-fonts/dubai-400.woff differ diff --git a/public/assets/fonts/farsi-fonts/dubai-400.woff2 b/public/assets/fonts/farsi-fonts/dubai-400.woff2 new file mode 100644 index 0000000..2681e7d Binary files /dev/null and b/public/assets/fonts/farsi-fonts/dubai-400.woff2 differ diff --git a/public/assets/fonts/farsi-fonts/gandom-400.eot b/public/assets/fonts/farsi-fonts/gandom-400.eot new file mode 100644 index 0000000..2093670 Binary files /dev/null and b/public/assets/fonts/farsi-fonts/gandom-400.eot differ diff --git a/public/assets/fonts/farsi-fonts/gandom-400.ttf b/public/assets/fonts/farsi-fonts/gandom-400.ttf new file mode 100644 index 0000000..f98692b Binary files /dev/null and b/public/assets/fonts/farsi-fonts/gandom-400.ttf differ diff --git a/public/assets/fonts/farsi-fonts/gandom-400.woff b/public/assets/fonts/farsi-fonts/gandom-400.woff new file mode 100644 index 0000000..4368086 Binary files /dev/null and b/public/assets/fonts/farsi-fonts/gandom-400.woff differ diff --git a/public/assets/fonts/farsi-fonts/gandom-400.woff2 b/public/assets/fonts/farsi-fonts/gandom-400.woff2 new file mode 100644 index 0000000..ad6ef9e Binary files /dev/null and b/public/assets/fonts/farsi-fonts/gandom-400.woff2 differ diff --git a/public/assets/fonts/farsi-fonts/helvetica-neue-700.eot b/public/assets/fonts/farsi-fonts/helvetica-neue-700.eot new file mode 100644 index 0000000..a42e0c7 Binary files /dev/null and b/public/assets/fonts/farsi-fonts/helvetica-neue-700.eot differ diff --git a/public/assets/fonts/farsi-fonts/helvetica-neue-700.ttf b/public/assets/fonts/farsi-fonts/helvetica-neue-700.ttf new file mode 100644 index 0000000..cad1f83 Binary files /dev/null and b/public/assets/fonts/farsi-fonts/helvetica-neue-700.ttf differ diff --git a/public/assets/fonts/farsi-fonts/helvetica-neue-700.woff b/public/assets/fonts/farsi-fonts/helvetica-neue-700.woff new file mode 100644 index 0000000..d150a54 Binary files /dev/null and b/public/assets/fonts/farsi-fonts/helvetica-neue-700.woff differ diff --git a/public/assets/fonts/farsi-fonts/helvetica-neue-700.woff2 b/public/assets/fonts/farsi-fonts/helvetica-neue-700.woff2 new file mode 100644 index 0000000..21d5bd4 Binary files /dev/null and b/public/assets/fonts/farsi-fonts/helvetica-neue-700.woff2 differ diff --git a/public/assets/fonts/farsi-fonts/iran-sans-300.eot b/public/assets/fonts/farsi-fonts/iran-sans-300.eot new file mode 100644 index 0000000..8fbe30c Binary files /dev/null and b/public/assets/fonts/farsi-fonts/iran-sans-300.eot differ diff --git a/public/assets/fonts/farsi-fonts/iran-sans-300.ttf b/public/assets/fonts/farsi-fonts/iran-sans-300.ttf new file mode 100644 index 0000000..3cb1529 Binary files /dev/null and b/public/assets/fonts/farsi-fonts/iran-sans-300.ttf differ diff --git a/public/assets/fonts/farsi-fonts/iran-sans-300.woff b/public/assets/fonts/farsi-fonts/iran-sans-300.woff new file mode 100644 index 0000000..d08647a Binary files /dev/null and b/public/assets/fonts/farsi-fonts/iran-sans-300.woff differ diff --git a/public/assets/fonts/farsi-fonts/iran-sans-300.woff2 b/public/assets/fonts/farsi-fonts/iran-sans-300.woff2 new file mode 100644 index 0000000..caa1424 Binary files /dev/null and b/public/assets/fonts/farsi-fonts/iran-sans-300.woff2 differ diff --git a/public/assets/fonts/farsi-fonts/iran-sans-400.eot b/public/assets/fonts/farsi-fonts/iran-sans-400.eot new file mode 100644 index 0000000..d76ad0e Binary files /dev/null and b/public/assets/fonts/farsi-fonts/iran-sans-400.eot differ diff --git a/public/assets/fonts/farsi-fonts/iran-sans-400.ttf b/public/assets/fonts/farsi-fonts/iran-sans-400.ttf new file mode 100644 index 0000000..6056926 Binary files /dev/null and b/public/assets/fonts/farsi-fonts/iran-sans-400.ttf differ diff --git a/public/assets/fonts/farsi-fonts/iran-sans-400.woff b/public/assets/fonts/farsi-fonts/iran-sans-400.woff new file mode 100644 index 0000000..93ce10d Binary files /dev/null and b/public/assets/fonts/farsi-fonts/iran-sans-400.woff differ diff --git a/public/assets/fonts/farsi-fonts/iran-sans-400.woff2 b/public/assets/fonts/farsi-fonts/iran-sans-400.woff2 new file mode 100644 index 0000000..8da0387 Binary files /dev/null and b/public/assets/fonts/farsi-fonts/iran-sans-400.woff2 differ diff --git a/public/assets/fonts/farsi-fonts/iran-sans-500.eot b/public/assets/fonts/farsi-fonts/iran-sans-500.eot new file mode 100644 index 0000000..3ad4558 Binary files /dev/null and b/public/assets/fonts/farsi-fonts/iran-sans-500.eot differ diff --git a/public/assets/fonts/farsi-fonts/iran-sans-500.ttf b/public/assets/fonts/farsi-fonts/iran-sans-500.ttf new file mode 100644 index 0000000..34ad18a Binary files /dev/null and b/public/assets/fonts/farsi-fonts/iran-sans-500.ttf differ diff --git a/public/assets/fonts/farsi-fonts/iran-sans-500.woff b/public/assets/fonts/farsi-fonts/iran-sans-500.woff new file mode 100644 index 0000000..504bf21 Binary files /dev/null and b/public/assets/fonts/farsi-fonts/iran-sans-500.woff differ diff --git a/public/assets/fonts/farsi-fonts/iran-sans-500.woff2 b/public/assets/fonts/farsi-fonts/iran-sans-500.woff2 new file mode 100644 index 0000000..7280344 Binary files /dev/null and b/public/assets/fonts/farsi-fonts/iran-sans-500.woff2 differ diff --git a/public/assets/fonts/farsi-fonts/iran-sans-700.eot b/public/assets/fonts/farsi-fonts/iran-sans-700.eot new file mode 100644 index 0000000..e32ec45 Binary files /dev/null and b/public/assets/fonts/farsi-fonts/iran-sans-700.eot differ diff --git a/public/assets/fonts/farsi-fonts/iran-sans-700.ttf b/public/assets/fonts/farsi-fonts/iran-sans-700.ttf new file mode 100644 index 0000000..46ec446 Binary files /dev/null and b/public/assets/fonts/farsi-fonts/iran-sans-700.ttf differ diff --git a/public/assets/fonts/farsi-fonts/iran-sans-700.woff b/public/assets/fonts/farsi-fonts/iran-sans-700.woff new file mode 100644 index 0000000..952769f Binary files /dev/null and b/public/assets/fonts/farsi-fonts/iran-sans-700.woff differ diff --git a/public/assets/fonts/farsi-fonts/iran-sans-700.woff2 b/public/assets/fonts/farsi-fonts/iran-sans-700.woff2 new file mode 100644 index 0000000..f83b6b0 Binary files /dev/null and b/public/assets/fonts/farsi-fonts/iran-sans-700.woff2 differ diff --git a/public/assets/fonts/farsi-fonts/iran-yekan-300.eot b/public/assets/fonts/farsi-fonts/iran-yekan-300.eot new file mode 100644 index 0000000..366e0ce Binary files /dev/null and b/public/assets/fonts/farsi-fonts/iran-yekan-300.eot differ diff --git a/public/assets/fonts/farsi-fonts/iran-yekan-300.ttf b/public/assets/fonts/farsi-fonts/iran-yekan-300.ttf new file mode 100644 index 0000000..91b20af Binary files /dev/null and b/public/assets/fonts/farsi-fonts/iran-yekan-300.ttf differ diff --git a/public/assets/fonts/farsi-fonts/iran-yekan-300.woff b/public/assets/fonts/farsi-fonts/iran-yekan-300.woff new file mode 100644 index 0000000..384127b Binary files /dev/null and b/public/assets/fonts/farsi-fonts/iran-yekan-300.woff differ diff --git a/public/assets/fonts/farsi-fonts/iran-yekan-300.woff2 b/public/assets/fonts/farsi-fonts/iran-yekan-300.woff2 new file mode 100644 index 0000000..2197497 Binary files /dev/null and b/public/assets/fonts/farsi-fonts/iran-yekan-300.woff2 differ diff --git a/public/assets/fonts/farsi-fonts/iran-yekan-400.eot b/public/assets/fonts/farsi-fonts/iran-yekan-400.eot new file mode 100644 index 0000000..0ea2497 Binary files /dev/null and b/public/assets/fonts/farsi-fonts/iran-yekan-400.eot differ diff --git a/public/assets/fonts/farsi-fonts/iran-yekan-400.ttf b/public/assets/fonts/farsi-fonts/iran-yekan-400.ttf new file mode 100644 index 0000000..2981ec1 Binary files /dev/null and b/public/assets/fonts/farsi-fonts/iran-yekan-400.ttf differ diff --git a/public/assets/fonts/farsi-fonts/iran-yekan-400.woff b/public/assets/fonts/farsi-fonts/iran-yekan-400.woff new file mode 100644 index 0000000..be4c8c2 Binary files /dev/null and b/public/assets/fonts/farsi-fonts/iran-yekan-400.woff differ diff --git a/public/assets/fonts/farsi-fonts/iran-yekan-400.woff2 b/public/assets/fonts/farsi-fonts/iran-yekan-400.woff2 new file mode 100644 index 0000000..7a2630d Binary files /dev/null and b/public/assets/fonts/farsi-fonts/iran-yekan-400.woff2 differ diff --git a/public/assets/fonts/farsi-fonts/iran-yekan-500.eot b/public/assets/fonts/farsi-fonts/iran-yekan-500.eot new file mode 100644 index 0000000..67bc970 Binary files /dev/null and b/public/assets/fonts/farsi-fonts/iran-yekan-500.eot differ diff --git a/public/assets/fonts/farsi-fonts/iran-yekan-500.ttf b/public/assets/fonts/farsi-fonts/iran-yekan-500.ttf new file mode 100644 index 0000000..ba15020 Binary files /dev/null and b/public/assets/fonts/farsi-fonts/iran-yekan-500.ttf differ diff --git a/public/assets/fonts/farsi-fonts/iran-yekan-500.woff b/public/assets/fonts/farsi-fonts/iran-yekan-500.woff new file mode 100644 index 0000000..add7c4c Binary files /dev/null and b/public/assets/fonts/farsi-fonts/iran-yekan-500.woff differ diff --git a/public/assets/fonts/farsi-fonts/iran-yekan-500.woff2 b/public/assets/fonts/farsi-fonts/iran-yekan-500.woff2 new file mode 100644 index 0000000..cd90b82 Binary files /dev/null and b/public/assets/fonts/farsi-fonts/iran-yekan-500.woff2 differ diff --git a/public/assets/fonts/farsi-fonts/iran-yekan-700.eot b/public/assets/fonts/farsi-fonts/iran-yekan-700.eot new file mode 100644 index 0000000..4895005 Binary files /dev/null and b/public/assets/fonts/farsi-fonts/iran-yekan-700.eot differ diff --git a/public/assets/fonts/farsi-fonts/iran-yekan-700.ttf b/public/assets/fonts/farsi-fonts/iran-yekan-700.ttf new file mode 100644 index 0000000..c7d8477 Binary files /dev/null and b/public/assets/fonts/farsi-fonts/iran-yekan-700.ttf differ diff --git a/public/assets/fonts/farsi-fonts/iran-yekan-700.woff b/public/assets/fonts/farsi-fonts/iran-yekan-700.woff new file mode 100644 index 0000000..2a4487c Binary files /dev/null and b/public/assets/fonts/farsi-fonts/iran-yekan-700.woff differ diff --git a/public/assets/fonts/farsi-fonts/iran-yekan-700.woff2 b/public/assets/fonts/farsi-fonts/iran-yekan-700.woff2 new file mode 100644 index 0000000..277e738 Binary files /dev/null and b/public/assets/fonts/farsi-fonts/iran-yekan-700.woff2 differ diff --git a/public/assets/fonts/farsi-fonts/lalezar-700.eot b/public/assets/fonts/farsi-fonts/lalezar-700.eot new file mode 100644 index 0000000..a72b0c9 Binary files /dev/null and b/public/assets/fonts/farsi-fonts/lalezar-700.eot differ diff --git a/public/assets/fonts/farsi-fonts/lalezar-700.ttf b/public/assets/fonts/farsi-fonts/lalezar-700.ttf new file mode 100644 index 0000000..c679887 Binary files /dev/null and b/public/assets/fonts/farsi-fonts/lalezar-700.ttf differ diff --git a/public/assets/fonts/farsi-fonts/lalezar-700.woff b/public/assets/fonts/farsi-fonts/lalezar-700.woff new file mode 100644 index 0000000..192bcdc Binary files /dev/null and b/public/assets/fonts/farsi-fonts/lalezar-700.woff differ diff --git a/public/assets/fonts/farsi-fonts/lalezar-700.woff2 b/public/assets/fonts/farsi-fonts/lalezar-700.woff2 new file mode 100644 index 0000000..4d29c8f Binary files /dev/null and b/public/assets/fonts/farsi-fonts/lalezar-700.woff2 differ diff --git a/public/assets/fonts/farsi-fonts/myriad-400.eot b/public/assets/fonts/farsi-fonts/myriad-400.eot new file mode 100644 index 0000000..d61503c Binary files /dev/null and b/public/assets/fonts/farsi-fonts/myriad-400.eot differ diff --git a/public/assets/fonts/farsi-fonts/myriad-400.ttf b/public/assets/fonts/farsi-fonts/myriad-400.ttf new file mode 100644 index 0000000..e0606d3 Binary files /dev/null and b/public/assets/fonts/farsi-fonts/myriad-400.ttf differ diff --git a/public/assets/fonts/farsi-fonts/myriad-400.woff b/public/assets/fonts/farsi-fonts/myriad-400.woff new file mode 100644 index 0000000..40aacf9 Binary files /dev/null and b/public/assets/fonts/farsi-fonts/myriad-400.woff differ diff --git a/public/assets/fonts/farsi-fonts/myriad-400.woff2 b/public/assets/fonts/farsi-fonts/myriad-400.woff2 new file mode 100644 index 0000000..be44d25 Binary files /dev/null and b/public/assets/fonts/farsi-fonts/myriad-400.woff2 differ diff --git a/public/assets/fonts/farsi-fonts/myriad-700.eot b/public/assets/fonts/farsi-fonts/myriad-700.eot new file mode 100644 index 0000000..44df056 Binary files /dev/null and b/public/assets/fonts/farsi-fonts/myriad-700.eot differ diff --git a/public/assets/fonts/farsi-fonts/myriad-700.ttf b/public/assets/fonts/farsi-fonts/myriad-700.ttf new file mode 100644 index 0000000..4a22c2b Binary files /dev/null and b/public/assets/fonts/farsi-fonts/myriad-700.ttf differ diff --git a/public/assets/fonts/farsi-fonts/myriad-700.woff b/public/assets/fonts/farsi-fonts/myriad-700.woff new file mode 100644 index 0000000..e4004a5 Binary files /dev/null and b/public/assets/fonts/farsi-fonts/myriad-700.woff differ diff --git a/public/assets/fonts/farsi-fonts/myriad-700.woff2 b/public/assets/fonts/farsi-fonts/myriad-700.woff2 new file mode 100644 index 0000000..e4ffc57 Binary files /dev/null and b/public/assets/fonts/farsi-fonts/myriad-700.woff2 differ diff --git a/public/assets/fonts/farsi-fonts/neirizi-400.eot b/public/assets/fonts/farsi-fonts/neirizi-400.eot new file mode 100644 index 0000000..1d583b1 Binary files /dev/null and b/public/assets/fonts/farsi-fonts/neirizi-400.eot differ diff --git a/public/assets/fonts/farsi-fonts/neirizi-400.ttf b/public/assets/fonts/farsi-fonts/neirizi-400.ttf new file mode 100644 index 0000000..a06f54e Binary files /dev/null and b/public/assets/fonts/farsi-fonts/neirizi-400.ttf differ diff --git a/public/assets/fonts/farsi-fonts/neirizi-400.woff b/public/assets/fonts/farsi-fonts/neirizi-400.woff new file mode 100644 index 0000000..b4db2fd Binary files /dev/null and b/public/assets/fonts/farsi-fonts/neirizi-400.woff differ diff --git a/public/assets/fonts/farsi-fonts/neirizi-400.woff2 b/public/assets/fonts/farsi-fonts/neirizi-400.woff2 new file mode 100644 index 0000000..54b029b Binary files /dev/null and b/public/assets/fonts/farsi-fonts/neirizi-400.woff2 differ diff --git a/public/assets/fonts/farsi-fonts/palatino-sans-400.eot b/public/assets/fonts/farsi-fonts/palatino-sans-400.eot new file mode 100644 index 0000000..173f01c Binary files /dev/null and b/public/assets/fonts/farsi-fonts/palatino-sans-400.eot differ diff --git a/public/assets/fonts/farsi-fonts/palatino-sans-400.ttf b/public/assets/fonts/farsi-fonts/palatino-sans-400.ttf new file mode 100644 index 0000000..3f58822 Binary files /dev/null and b/public/assets/fonts/farsi-fonts/palatino-sans-400.ttf differ diff --git a/public/assets/fonts/farsi-fonts/palatino-sans-400.woff b/public/assets/fonts/farsi-fonts/palatino-sans-400.woff new file mode 100644 index 0000000..3183c54 Binary files /dev/null and b/public/assets/fonts/farsi-fonts/palatino-sans-400.woff differ diff --git a/public/assets/fonts/farsi-fonts/palatino-sans-400.woff2 b/public/assets/fonts/farsi-fonts/palatino-sans-400.woff2 new file mode 100644 index 0000000..f9fec91 Binary files /dev/null and b/public/assets/fonts/farsi-fonts/palatino-sans-400.woff2 differ diff --git a/public/assets/fonts/farsi-fonts/sahel-400.eot b/public/assets/fonts/farsi-fonts/sahel-400.eot new file mode 100644 index 0000000..e95cfc8 Binary files /dev/null and b/public/assets/fonts/farsi-fonts/sahel-400.eot differ diff --git a/public/assets/fonts/farsi-fonts/sahel-400.ttf b/public/assets/fonts/farsi-fonts/sahel-400.ttf new file mode 100644 index 0000000..4729ad2 Binary files /dev/null and b/public/assets/fonts/farsi-fonts/sahel-400.ttf differ diff --git a/public/assets/fonts/farsi-fonts/sahel-400.woff b/public/assets/fonts/farsi-fonts/sahel-400.woff new file mode 100644 index 0000000..97f5941 Binary files /dev/null and b/public/assets/fonts/farsi-fonts/sahel-400.woff differ diff --git a/public/assets/fonts/farsi-fonts/sahel-400.woff2 b/public/assets/fonts/farsi-fonts/sahel-400.woff2 new file mode 100644 index 0000000..44e3f16 Binary files /dev/null and b/public/assets/fonts/farsi-fonts/sahel-400.woff2 differ diff --git a/public/assets/fonts/farsi-fonts/sahel-700.eot b/public/assets/fonts/farsi-fonts/sahel-700.eot new file mode 100644 index 0000000..5bbdc50 Binary files /dev/null and b/public/assets/fonts/farsi-fonts/sahel-700.eot differ diff --git a/public/assets/fonts/farsi-fonts/sahel-700.ttf b/public/assets/fonts/farsi-fonts/sahel-700.ttf new file mode 100644 index 0000000..5a606e5 Binary files /dev/null and b/public/assets/fonts/farsi-fonts/sahel-700.ttf differ diff --git a/public/assets/fonts/farsi-fonts/sahel-700.woff b/public/assets/fonts/farsi-fonts/sahel-700.woff new file mode 100644 index 0000000..712382e Binary files /dev/null and b/public/assets/fonts/farsi-fonts/sahel-700.woff differ diff --git a/public/assets/fonts/farsi-fonts/sahel-700.woff2 b/public/assets/fonts/farsi-fonts/sahel-700.woff2 new file mode 100644 index 0000000..02de5b4 Binary files /dev/null and b/public/assets/fonts/farsi-fonts/sahel-700.woff2 differ diff --git a/public/assets/fonts/farsi-fonts/shabnam-300.eot b/public/assets/fonts/farsi-fonts/shabnam-300.eot new file mode 100644 index 0000000..e6e0f59 Binary files /dev/null and b/public/assets/fonts/farsi-fonts/shabnam-300.eot differ diff --git a/public/assets/fonts/farsi-fonts/shabnam-300.ttf b/public/assets/fonts/farsi-fonts/shabnam-300.ttf new file mode 100644 index 0000000..8e6ab1e Binary files /dev/null and b/public/assets/fonts/farsi-fonts/shabnam-300.ttf differ diff --git a/public/assets/fonts/farsi-fonts/shabnam-300.woff b/public/assets/fonts/farsi-fonts/shabnam-300.woff new file mode 100644 index 0000000..c5cc9ad Binary files /dev/null and b/public/assets/fonts/farsi-fonts/shabnam-300.woff differ diff --git a/public/assets/fonts/farsi-fonts/shabnam-300.woff2 b/public/assets/fonts/farsi-fonts/shabnam-300.woff2 new file mode 100644 index 0000000..55cd935 Binary files /dev/null and b/public/assets/fonts/farsi-fonts/shabnam-300.woff2 differ diff --git a/public/assets/fonts/farsi-fonts/shabnam-400.eot b/public/assets/fonts/farsi-fonts/shabnam-400.eot new file mode 100644 index 0000000..40c5665 Binary files /dev/null and b/public/assets/fonts/farsi-fonts/shabnam-400.eot differ diff --git a/public/assets/fonts/farsi-fonts/shabnam-400.ttf b/public/assets/fonts/farsi-fonts/shabnam-400.ttf new file mode 100644 index 0000000..4db1c13 Binary files /dev/null and b/public/assets/fonts/farsi-fonts/shabnam-400.ttf differ diff --git a/public/assets/fonts/farsi-fonts/shabnam-400.woff b/public/assets/fonts/farsi-fonts/shabnam-400.woff new file mode 100644 index 0000000..04e75dc Binary files /dev/null and b/public/assets/fonts/farsi-fonts/shabnam-400.woff differ diff --git a/public/assets/fonts/farsi-fonts/shabnam-400.woff2 b/public/assets/fonts/farsi-fonts/shabnam-400.woff2 new file mode 100644 index 0000000..2a3c098 Binary files /dev/null and b/public/assets/fonts/farsi-fonts/shabnam-400.woff2 differ diff --git a/public/assets/fonts/farsi-fonts/shabnam-500.eot b/public/assets/fonts/farsi-fonts/shabnam-500.eot new file mode 100644 index 0000000..ba048bb Binary files /dev/null and b/public/assets/fonts/farsi-fonts/shabnam-500.eot differ diff --git a/public/assets/fonts/farsi-fonts/shabnam-500.ttf b/public/assets/fonts/farsi-fonts/shabnam-500.ttf new file mode 100644 index 0000000..b98cda3 Binary files /dev/null and b/public/assets/fonts/farsi-fonts/shabnam-500.ttf differ diff --git a/public/assets/fonts/farsi-fonts/shabnam-500.woff b/public/assets/fonts/farsi-fonts/shabnam-500.woff new file mode 100644 index 0000000..a9ba018 Binary files /dev/null and b/public/assets/fonts/farsi-fonts/shabnam-500.woff differ diff --git a/public/assets/fonts/farsi-fonts/shabnam-500.woff2 b/public/assets/fonts/farsi-fonts/shabnam-500.woff2 new file mode 100644 index 0000000..903fba3 Binary files /dev/null and b/public/assets/fonts/farsi-fonts/shabnam-500.woff2 differ diff --git a/public/assets/fonts/farsi-fonts/shabnam-700.eot b/public/assets/fonts/farsi-fonts/shabnam-700.eot new file mode 100644 index 0000000..ed6cca0 Binary files /dev/null and b/public/assets/fonts/farsi-fonts/shabnam-700.eot differ diff --git a/public/assets/fonts/farsi-fonts/shabnam-700.ttf b/public/assets/fonts/farsi-fonts/shabnam-700.ttf new file mode 100644 index 0000000..58a509e Binary files /dev/null and b/public/assets/fonts/farsi-fonts/shabnam-700.ttf differ diff --git a/public/assets/fonts/farsi-fonts/shabnam-700.woff b/public/assets/fonts/farsi-fonts/shabnam-700.woff new file mode 100644 index 0000000..fec3181 Binary files /dev/null and b/public/assets/fonts/farsi-fonts/shabnam-700.woff differ diff --git a/public/assets/fonts/farsi-fonts/shabnam-700.woff2 b/public/assets/fonts/farsi-fonts/shabnam-700.woff2 new file mode 100644 index 0000000..51f4647 Binary files /dev/null and b/public/assets/fonts/farsi-fonts/shabnam-700.woff2 differ diff --git a/public/assets/fonts/farsi-fonts/vazir-300.eot b/public/assets/fonts/farsi-fonts/vazir-300.eot new file mode 100644 index 0000000..25e6cd3 Binary files /dev/null and b/public/assets/fonts/farsi-fonts/vazir-300.eot differ diff --git a/public/assets/fonts/farsi-fonts/vazir-300.ttf b/public/assets/fonts/farsi-fonts/vazir-300.ttf new file mode 100644 index 0000000..74d6654 Binary files /dev/null and b/public/assets/fonts/farsi-fonts/vazir-300.ttf differ diff --git a/public/assets/fonts/farsi-fonts/vazir-300.woff b/public/assets/fonts/farsi-fonts/vazir-300.woff new file mode 100644 index 0000000..30a1ebd Binary files /dev/null and b/public/assets/fonts/farsi-fonts/vazir-300.woff differ diff --git a/public/assets/fonts/farsi-fonts/vazir-300.woff2 b/public/assets/fonts/farsi-fonts/vazir-300.woff2 new file mode 100644 index 0000000..0a96223 Binary files /dev/null and b/public/assets/fonts/farsi-fonts/vazir-300.woff2 differ diff --git a/public/assets/fonts/farsi-fonts/vazir-400.eot b/public/assets/fonts/farsi-fonts/vazir-400.eot new file mode 100644 index 0000000..39c3f64 Binary files /dev/null and b/public/assets/fonts/farsi-fonts/vazir-400.eot differ diff --git a/public/assets/fonts/farsi-fonts/vazir-400.ttf b/public/assets/fonts/farsi-fonts/vazir-400.ttf new file mode 100644 index 0000000..a8e715d Binary files /dev/null and b/public/assets/fonts/farsi-fonts/vazir-400.ttf differ diff --git a/public/assets/fonts/farsi-fonts/vazir-400.woff b/public/assets/fonts/farsi-fonts/vazir-400.woff new file mode 100644 index 0000000..c9b8174 Binary files /dev/null and b/public/assets/fonts/farsi-fonts/vazir-400.woff differ diff --git a/public/assets/fonts/farsi-fonts/vazir-400.woff2 b/public/assets/fonts/farsi-fonts/vazir-400.woff2 new file mode 100644 index 0000000..7bb2e3f Binary files /dev/null and b/public/assets/fonts/farsi-fonts/vazir-400.woff2 differ diff --git a/public/assets/fonts/farsi-fonts/vazir-500.eot b/public/assets/fonts/farsi-fonts/vazir-500.eot new file mode 100644 index 0000000..ad7c109 Binary files /dev/null and b/public/assets/fonts/farsi-fonts/vazir-500.eot differ diff --git a/public/assets/fonts/farsi-fonts/vazir-500.ttf b/public/assets/fonts/farsi-fonts/vazir-500.ttf new file mode 100644 index 0000000..b2fe96a Binary files /dev/null and b/public/assets/fonts/farsi-fonts/vazir-500.ttf differ diff --git a/public/assets/fonts/farsi-fonts/vazir-500.woff b/public/assets/fonts/farsi-fonts/vazir-500.woff new file mode 100644 index 0000000..9e277b4 Binary files /dev/null and b/public/assets/fonts/farsi-fonts/vazir-500.woff differ diff --git a/public/assets/fonts/farsi-fonts/vazir-500.woff2 b/public/assets/fonts/farsi-fonts/vazir-500.woff2 new file mode 100644 index 0000000..c9dbece Binary files /dev/null and b/public/assets/fonts/farsi-fonts/vazir-500.woff2 differ diff --git a/public/assets/fonts/farsi-fonts/vazir-700.eot b/public/assets/fonts/farsi-fonts/vazir-700.eot new file mode 100644 index 0000000..7c97779 Binary files /dev/null and b/public/assets/fonts/farsi-fonts/vazir-700.eot differ diff --git a/public/assets/fonts/farsi-fonts/vazir-700.ttf b/public/assets/fonts/farsi-fonts/vazir-700.ttf new file mode 100644 index 0000000..8335885 Binary files /dev/null and b/public/assets/fonts/farsi-fonts/vazir-700.ttf differ diff --git a/public/assets/fonts/farsi-fonts/vazir-700.woff b/public/assets/fonts/farsi-fonts/vazir-700.woff new file mode 100644 index 0000000..3db0a2e Binary files /dev/null and b/public/assets/fonts/farsi-fonts/vazir-700.woff differ diff --git a/public/assets/fonts/farsi-fonts/vazir-700.woff2 b/public/assets/fonts/farsi-fonts/vazir-700.woff2 new file mode 100644 index 0000000..02cb093 Binary files /dev/null and b/public/assets/fonts/farsi-fonts/vazir-700.woff2 differ diff --git a/public/assets/fonts/farsi-fonts/yekan-400.eot b/public/assets/fonts/farsi-fonts/yekan-400.eot new file mode 100644 index 0000000..2600ddb Binary files /dev/null and b/public/assets/fonts/farsi-fonts/yekan-400.eot differ diff --git a/public/assets/fonts/farsi-fonts/yekan-400.ttf b/public/assets/fonts/farsi-fonts/yekan-400.ttf new file mode 100644 index 0000000..f55a9fa Binary files /dev/null and b/public/assets/fonts/farsi-fonts/yekan-400.ttf differ diff --git a/public/assets/fonts/farsi-fonts/yekan-400.woff b/public/assets/fonts/farsi-fonts/yekan-400.woff new file mode 100644 index 0000000..1751b77 Binary files /dev/null and b/public/assets/fonts/farsi-fonts/yekan-400.woff differ diff --git a/public/assets/fonts/farsi-fonts/yekan-400.woff2 b/public/assets/fonts/farsi-fonts/yekan-400.woff2 new file mode 100644 index 0000000..2ffb649 Binary files /dev/null and b/public/assets/fonts/farsi-fonts/yekan-400.woff2 differ diff --git a/public/assets/fonts/materialdesignicons-webfont.eot b/public/assets/fonts/materialdesignicons-webfont.eot new file mode 100644 index 0000000..5f75021 Binary files /dev/null and b/public/assets/fonts/materialdesignicons-webfont.eot differ diff --git a/public/assets/fonts/materialdesignicons-webfont.ttf b/public/assets/fonts/materialdesignicons-webfont.ttf new file mode 100644 index 0000000..ad34046 Binary files /dev/null and b/public/assets/fonts/materialdesignicons-webfont.ttf differ diff --git a/public/assets/fonts/materialdesignicons-webfont.woff b/public/assets/fonts/materialdesignicons-webfont.woff new file mode 100644 index 0000000..370839e Binary files /dev/null and b/public/assets/fonts/materialdesignicons-webfont.woff differ diff --git a/public/assets/fonts/materialdesignicons-webfont.woff2 b/public/assets/fonts/materialdesignicons-webfont.woff2 new file mode 100644 index 0000000..b85645f Binary files /dev/null and b/public/assets/fonts/materialdesignicons-webfont.woff2 differ diff --git a/public/assets/fonts/summernote.eot b/public/assets/fonts/summernote.eot new file mode 100644 index 0000000..28d098b Binary files /dev/null and b/public/assets/fonts/summernote.eot differ diff --git a/public/assets/fonts/summernote.ttf b/public/assets/fonts/summernote.ttf new file mode 100644 index 0000000..beb8bd8 Binary files /dev/null and b/public/assets/fonts/summernote.ttf differ diff --git a/public/assets/fonts/summernote.woff b/public/assets/fonts/summernote.woff new file mode 100644 index 0000000..13a6ab9 Binary files /dev/null and b/public/assets/fonts/summernote.woff differ diff --git a/public/assets/js/app.js b/public/assets/js/app.js new file mode 100644 index 0000000..a0a5c88 --- /dev/null +++ b/public/assets/js/app.js @@ -0,0 +1,187 @@ +/* +Template Name: Qovex - Responsive Bootstrap 4 Admin Dashboard +Author: Themesbrand +Version: 1.0.0 +Website: https://themesbrand.com/ +Contact: themesbrand@gmail.com +File: Main Js File +*/ + + +(function ($) { + + 'use strict'; + + function initMetisMenu() { + //metis menu + $("#side-menu").metisMenu(); + } + + function initLeftMenuCollapse() { + $('#vertical-menu-btn').on('click', function (event) { + event.preventDefault(); + $('body').toggleClass('sidebar-enable'); + if ($(window).width() >= 992) { + $('body').toggleClass('vertical-collpsed'); + } else { + $('body').removeClass('vertical-collpsed'); + } + }); + } + + function initActiveMenu() { + // === following js will activate the menu in left side bar based on url ==== + $("#sidebar-menu a").each(function () { + var pageUrl = window.location.href.split(/[?#]/)[0]; + if (this.href == pageUrl) { + $(this).addClass("active"); + $(this).parent().addClass("mm-active"); // add active to li of the current link + $(this).parent().parent().addClass("mm-show"); + $(this).parent().parent().prev().addClass("mm-active"); // add active class to an anchor + $(this).parent().parent().parent().addClass("mm-active"); + $(this).parent().parent().parent().parent().addClass("mm-show"); // add active to li of the current link + $(this).parent().parent().parent().parent().parent().addClass("mm-active"); + } + }); + } + + function initMenuItem() { + $(".navbar-nav a").each(function () { + var pageUrl = window.location.href.split(/[?#]/)[0]; + if (this.href == pageUrl) { + $(this).addClass("active"); + $(this).parent().addClass("active"); + $(this).parent().parent().addClass("active"); + $(this).parent().parent().parent().addClass("active"); + $(this).parent().parent().parent().parent().addClass("active"); + $(this).parent().parent().parent().parent().parent().addClass("active"); + } + }); + } + + function initFullScreen() { + $('[data-toggle="fullscreen"]').on("click", function (e) { + e.preventDefault(); + $('body').toggleClass('fullscreen-enable'); + if (!document.fullscreenElement && /* alternative standard method */ !document.mozFullScreenElement && !document.webkitFullscreenElement) { // current working methods + if (document.documentElement.requestFullscreen) { + document.documentElement.requestFullscreen(); + } else if (document.documentElement.mozRequestFullScreen) { + document.documentElement.mozRequestFullScreen(); + } else if (document.documentElement.webkitRequestFullscreen) { + document.documentElement.webkitRequestFullscreen(Element.ALLOW_KEYBOARD_INPUT); + } + } else { + if (document.cancelFullScreen) { + document.cancelFullScreen(); + } else if (document.mozCancelFullScreen) { + document.mozCancelFullScreen(); + } else if (document.webkitCancelFullScreen) { + document.webkitCancelFullScreen(); + } + } + }); + document.addEventListener('fullscreenchange', exitHandler ); + document.addEventListener("webkitfullscreenchange", exitHandler); + document.addEventListener("mozfullscreenchange", exitHandler); + function exitHandler() { + if (!document.webkitIsFullScreen && !document.mozFullScreen && !document.msFullscreenElement) { + console.log('pressed'); + $('body').removeClass('fullscreen-enable'); + } + } + } + + function initRightSidebar() { + // right side-bar toggle + $('.right-bar-toggle').on('click', function (e) { + $('body').toggleClass('right-bar-enabled'); + }); + + $(document).on('click', 'body', function (e) { + if ($(e.target).closest('.right-bar-toggle, .right-bar').length > 0) { + return; + } + + $('body').removeClass('right-bar-enabled'); + return; + }); + } + + function initDropdownMenu() { + $('.dropdown-menu a.dropdown-toggle').on('click', function(e) { + if (!$(this).next().hasClass('show')) { + $(this).parents('.dropdown-menu').first().find('.show').removeClass("show"); + } + var $subMenu = $(this).next(".dropdown-menu"); + $subMenu.toggleClass('show'); + + return false; + }); + } + + function initComponents() { + $(function () { + $('[data-toggle="tooltip"]').tooltip() + }) + + $(function () { + $('[data-toggle="popover"]').popover() + }) + } + + function initPreloader() { + $(window).on('load', function() { + $('#status').fadeOut(); + $('#preloader').delay(350).fadeOut('slow'); + }); + } + + function initSettings() { + if (window.sessionStorage) { + var alreadyVisited = sessionStorage.getItem("is_visited"); + if (!alreadyVisited) { + sessionStorage.setItem("is_visited", "light-mode-switch"); + } else { + $(".right-bar input:checkbox").prop('checked', false); + $("#"+alreadyVisited).prop('checked', true); + updateThemeSetting(alreadyVisited); + } + } + $("#light-mode-switch, #dark-mode-switch").on("change", function(e) { + updateThemeSetting(e.target.id); + }); + } + + function updateThemeSetting(id) { + if($("#light-mode-switch").prop("checked") == true && id === "light-mode-switch"){ + $("#dark-mode-switch").prop("checked", false); + $("#bootstrap-style").attr('href','assets/css/bootstrap.min.css'); + $("#app-style").attr('href','assets/css/app.css'); + sessionStorage.setItem("is_visited", "light-mode-switch"); + } else if($("#dark-mode-switch").prop("checked") == true && id === "dark-mode-switch"){ + $("#light-mode-switch").prop("checked", false); + $("#bootstrap-style").attr('href','assets/css/bootstrap-dark.min.css'); + $("#app-style").attr('href','assets/css/app-dark.css'); + sessionStorage.setItem("is_visited", "dark-mode-switch"); + } + } + + function init() { + initMetisMenu(); + initLeftMenuCollapse(); + initActiveMenu(); + initMenuItem(); + initFullScreen(); + initRightSidebar(); + initDropdownMenu(); + initComponents(); + initSettings(); + initPreloader(); + Waves.init(); + } + + init(); + +})(jQuery) + diff --git a/public/assets/js/pages/coming-soon.init.js b/public/assets/js/pages/coming-soon.init.js new file mode 100644 index 0000000..901f0a5 --- /dev/null +++ b/public/assets/js/pages/coming-soon.init.js @@ -0,0 +1,17 @@ +/* +Template Name: Qovex - Responsive Bootstrap 4 Admin Dashboard +Author: Themesbrand +Website: https://themesbrand.com/ +Contact: themesbrand@gmail.com +File: Comming sson +*/ +$('[data-countdown]').each(function () { + var $this = $(this), finalDate = $(this).data('countdown'); + $this.countdown(finalDate, function (event) { + $(this).html(event.strftime('' + + '
%D روز
' + + '
%H ساعت
' + + '
%M دقیقه
' + + '
%S ثانیه
')); + }); +}); \ No newline at end of file diff --git a/public/assets/js/pages/dashboard-2.init.js b/public/assets/js/pages/dashboard-2.init.js new file mode 100644 index 0000000..8d2a94f --- /dev/null +++ b/public/assets/js/pages/dashboard-2.init.js @@ -0,0 +1,302 @@ +/* +Template Name: Qovex - Responsive Bootstrap 4 Admin Dashboard +Author: Themesbrand +Website: https://themesbrand.com/ +Contact: themesbrand@gmail.com +File: Dashboard-2 +*/ + +Apex.chart = { + fontFamily: 'inherit', + locales: [{ + "name": "fa", + "options": { + "months": ["ژانویه", "فوریه", "مارس", "آوریل", "می", "ژوئن", "جولای", "آگوست", "سپتامبر", "اکتبر", "نوامبر", "دسامبر"], + "shortMonths": ["ژانویه", "فوریه", "مارس", "آوریل", "می", "ژوئن", "جولای", "آگوست", "سپتامبر", "اکتبر", "نوامبر", "دسامبر"], + "days": ["یکشنبه", "دوشنبه", "سه‌شنبه", "چهارشنبه", "پنجشنبه", "جمعه", "شنبه"], + "shortDays": ["ی", "د", "س", "چ", "پ", "ج", "ش"], + "toolbar": { + "exportToSVG": "دریافت SVG", + "exportToPNG": "دریافت PNG", + "exportToCSV": "دریافت CSV", + "menu": "فهرست", + "selection": "انتخاب", + "selectionZoom": "بزرگنمایی قسمت انتخاب شده", + "zoomIn": "بزرگ نمایی", + "zoomOut": "کوچک نمایی", + "pan": "جا به جایی", + "reset": "بازنشانی بزرگ نمایی" + } + } + }], + defaultLocale: "fa" +} + + +// Radial chart 1 +var options = { + series: [70], + chart: { + height: 120, + type: 'radialBar', + }, + plotOptions: { + radialBar: { + offsetY: -12, + hollow: { + margin: 5, + size: '60%', + background: 'rgba(59, 93, 231, .25)', + }, + dataLabels: { + name: { + show: false, + }, + value: { + show: true, + fontSize: '12px', + offsetY: 5, + }, + style: { + colors: ['#fff'] + } + } + }, + }, + colors: ['#3b5de7'], +} + +var chart = new ApexCharts(document.querySelector("#radial-chart-1"), options); +chart.render(); + + +// Radial chart 2 +var options = { + series: [81], + chart: { + height: 120, + type: 'radialBar', + }, + plotOptions: { + radialBar: { + offsetY: -12, + hollow: { + margin: 5, + size: '60%', + background: 'rgba(69, 203, 133, .25)', + }, + dataLabels: { + name: { + show: false, + }, + value: { + show: true, + fontSize: '12px', + offsetY: 5, + }, + style: { + colors: ['#fff'] + } + } + }, + }, + colors: ['#45CB85'], +} + +var chart = new ApexCharts(document.querySelector("#radial-chart-2"), options); +chart.render(); + + +// Mixed chart +var options = { + series: [{ + name: 'سری الف', + type: 'column', + data: [23, 11, 53, 27, 13, 19, 22, 37, 21, 44, 22, 30] + }, + { + name: 'سری ب', + type: 'area', + data: [36, 47, 33, 41, 22, 37, 43, 21, 41, 56, 27, 43] + }, + { + name: 'سری ج', + type: 'line', + data: [46, 57, 43, 51, 32, 47, 53, 31, 51, 66, 37, 53] + } + ], + chart: { + height: 275, + type: 'line', + stacked: false, + toolbar: { + show: false + }, + }, + stroke: { + width: [0, 2, 2], + curve: 'smooth', + dashArray: [0, 0, 4] + }, + plotOptions: { + bar: { + columnWidth: '15%', + endingShape: 'rounded' + } + }, + fill: { + opacity: [0.85, + 0.25, + 1 + ], + gradient: { + inverseColors: false, + shade: 'light', + type: "vertical", + opacityFrom: 0.85, + opacityTo: 0.55, + stops: [0, 100, 100, 100] + } + }, + xaxis: { + categories: ['فروردین', 'اردیبهشت', 'خرداد', 'تیر', 'مرداد', 'شهریور', 'مهر', 'آبان', 'آذر', 'دی', 'بهمن', 'اسفند'], + }, + colors: ['#3b5de7', + '#eeb902', + '#5fd195' + ], + markers: { + size: 0 + }, + legend: { + offsetY: 7 + } +} + +var chart = new ApexCharts(document.querySelector("#mixed-chart"), options); +chart.render(); + + +// monthly sales chart +var options = { + series: [{ + name: "سری الف", + data: [24, 66, 42, 88, 62, 24, 45, 12, 36, 10] + }], + chart: { + height: 100, + type: 'line', + sparkline: { + enabled: true + }, + toolbar: { + show: false + }, + }, + dataLabels: { + enabled: false + }, + stroke: { + curve: 'smooth', + width: 3 + }, + colors: ['#3b5de7'], +} + +var chart = new ApexCharts(document.querySelector("#sales-report-chart"), options); +chart.render(); + + +// bar chart +var options = { + series: [{ + data: [3, 6, 4, 7, 9, 4] + }], + chart: { + type: 'bar', + height: 250, + toolbar: { + show: false + }, + }, + plotOptions: { + bar: { + horizontal: true, + barHeight: '24%', + endingShape: 'rounded', + } + }, + dataLabels: { + enabled: false + }, + colors: ['#556ee6'], + xaxis: { + categories: [ + 'فروردین', + 'اردیبهشت', + 'خرداد', + 'تیر', + 'مرداد', + 'شهریور' + ], + title: { + text: 'هزار' + }, + }, +} + +var chart = new ApexCharts(document.querySelector("#bar-chart"), options); +chart.render(); + + +// Radar chart +var options = { + series: [{ + name: 'سری 1', + data: [80, 50, 30, 40, 100, 20], + }, + { + name: 'سری 2', + data: [20, 30, 40, 80, 20, 80], + }, + { + name: 'سری 3', + data: [44, 76, 78, 13, 43, 10], + } + ], + chart: { + height: 250, + type: 'radar', + dropShadow: { + enabled: true, + blur: 1, + left: 1, + top: 1 + }, + toolbar: { + show: false + }, + }, + stroke: { + width: 0 + }, + fill: { + opacity: 0.4 + }, + markers: { + size: 0 + }, + colors: ['#3b5de7', + '#5fd195', + '#eeb902' + ], + xaxis: { + categories: ['1394', '1395', '1396', '1397', '1398', '1399'] + }, + legend: { + offsetY: 7 + } +} + +var chart = new ApexCharts(document.querySelector("#radar-chart"), options); +chart.render(); \ No newline at end of file diff --git a/public/assets/js/pages/dashboard.init.js b/public/assets/js/pages/dashboard.init.js new file mode 100644 index 0000000..537cbea --- /dev/null +++ b/public/assets/js/pages/dashboard.init.js @@ -0,0 +1,265 @@ +/* +Template Name: Qovex - Responsive Bootstrap 4 Admin Dashboard +Author: Themesbrand +Website: https://themesbrand.com/ +Contact: themesbrand@gmail.com +File: Dashboard +*/ + +Apex.chart = { + fontFamily: 'inherit', + locales: [{ + "name": "fa", + "options": { + "months": ["ژانویه", "فوریه", "مارس", "آوریل", "می", "ژوئن", "جولای", "آگوست", "سپتامبر", "اکتبر", "نوامبر", "دسامبر"], + "shortMonths": ["ژانویه", "فوریه", "مارس", "آوریل", "می", "ژوئن", "جولای", "آگوست", "سپتامبر", "اکتبر", "نوامبر", "دسامبر"], + "days": ["یکشنبه", "دوشنبه", "سه‌شنبه", "چهارشنبه", "پنجشنبه", "جمعه", "شنبه"], + "shortDays": ["ی", "د", "س", "چ", "پ", "ج", "ش"], + "toolbar": { + "exportToSVG": "دریافت SVG", + "exportToPNG": "دریافت PNG", + "exportToCSV": "دریافت CSV", + "menu": "فهرست", + "selection": "انتخاب", + "selectionZoom": "بزرگنمایی قسمت انتخاب شده", + "zoomIn": "بزرگ نمایی", + "zoomOut": "کوچک نمایی", + "pan": "جا به جایی", + "reset": "بازنشانی بزرگ نمایی" + } + } + }], + defaultLocale: "fa" +} + + +// line chart +var options = { + series: [{ + name: "1398", + type: 'line', + data: [20, 34, 27, 59, 37, 26, 38, 25], + }, + { + name: "1399", + data: [10, 24, 17, 49, 27, 16, 28, 15], + type: 'area', + } + ], + chart: { + height: 260, + type: 'line', + + toolbar: { + show: false + }, + zoom: { + enabled: false + } + }, + colors: ['#45cb85', '#3b5de7'], + dataLabels: { + enabled: false, + }, + stroke: { + curve: 'smooth', + width: '3', + dashArray: [4, 0], + }, + + markers: { + size: 3 + }, + xaxis: { + categories: ['فروردین', 'اردیبهشت', 'خرداد', 'تیر', 'مرداد', 'شهریور', 'مهر', 'آبان'], + title: { + text: 'ماه' + } + }, + + fill: { + type: 'solid', + opacity: [1, 0.1], + }, + + legend: { + position: 'top', + horizontalAlign: 'right', + } +}; + +var chart = new ApexCharts(document.querySelector("#line-chart"), options); +chart.render(); + + +// column chart + +var options = { + series: [{ + name: 'سری الف', + data: [11, 17, 15, 15, 21, 14] + }, { + name: 'سری ب', + data: [13, 23, 20, 8, 13, 27] + }, { + name: 'سری ج', + data: [44, 55, 41, 67, 22, 43] + }], + chart: { + type: 'bar', + height: 260, + stacked: true, + toolbar: { + show: false + }, + zoom: { + enabled: true + } + }, + plotOptions: { + bar: { + horizontal: false, + columnWidth: '20%', + endingShape: 'rounded' + }, + }, + dataLabels: { + enabled: false + }, + xaxis: { + categories: ['فروردین', 'اردیبهشت', 'خرداد', 'تیر', 'مرداد', 'شهریور'], + labels: { + offsetY: 2 + } + }, + colors: ['#eef3f7', '#ced6f9', '#3b5de7'], + fill: { + opacity: 1 + }, + legend: { + offsetY: 7 + } +}; + +var chart = new ApexCharts(document.querySelector("#column-chart"), options); +chart.render(); + + +// donut chart + +var options = { + series: [38, 26, 14], + chart: { + height: 230, + type: 'donut', + }, + labels: ["آنلاین", "آفلاین", "بازاریابی"], + plotOptions: { + pie: { + donut: { + size: '75%' + } + } + }, + legend: { + show: false, + }, + colors: ['#3b5de7', '#45cb85', '#eeb902'], + +}; + +var chart = new ApexCharts(document.querySelector("#donut-chart"), options); +chart.render(); + + +// Scatter chart + +var options = { + series: [{ + name: "سری الف", + data: [ + [2, 5], + [7, 2], + [4, 3], + [5, 2], + [6, 1], + [1, 3], + [2, 7], + [8, 0], + [9, 8], + [6, 0], + [10, 1] + ] + }, { + name: "سری ب", + data: [ + [15, 13], + [7, 11], + [5, 8], + [9, 17], + [11, 4], + [14, 12], + [13, 14], + [8, 9], + [4, 13], + [7, 7], + [5, 8], + [4, 3] + ] + }], + chart: { + height: 230, + type: 'scatter', + toolbar: { + show: false + }, + zoom: { + enabled: true, + type: 'xy' + } + }, + + colors: ['#3b5de7', '#45cb85'], + xaxis: { + tickAmount: 10, + + }, + legend: { + position: 'top', + }, + yaxis: { + tickAmount: 7 + } +}; + +var chart = new ApexCharts(document.querySelector("#scatter-chart"), options); +chart.render(); + + +// USA map + +$('#usa-vectormap').vectorMap({ + map: 'us_merc_en', + backgroundColor: 'transparent', + regionStyle: { + initial: { + fill: '#556ee6' + } + }, + markerStyle: { + initial: { + r: 9, + 'fill': '#556ee6', + 'fill-opacity': 0.9, + 'stroke': '#fff', + 'stroke-width': 7, + 'stroke-opacity': 0.4 + }, + + hover: { + 'stroke': '#fff', + 'fill-opacity': 1, + 'stroke-width': 1.5 + } + }, +}); \ No newline at end of file diff --git a/public/assets/js/pages/datatables.init.js b/public/assets/js/pages/datatables.init.js new file mode 100644 index 0000000..00d784e --- /dev/null +++ b/public/assets/js/pages/datatables.init.js @@ -0,0 +1,77 @@ +/* +Template Name: Qovex - Responsive Bootstrap 4 Admin Dashboard +Author: Themesbrand +Website: https://themesbrand.com/ +Contact: themesbrand@gmail.com +File: Datatables +*/ + +$(document).ready(function() { + $('#datatable').DataTable({ + language: { + "sEmptyTable": "هیچ داده ای در جدول وجود ندارد", + "sInfo": "نمایش _START_ تا _END_ از _TOTAL_ رکورد", + "sInfoEmpty": "نمایش 0 تا 0 از 0 رکورد", + "sInfoFiltered": "(فیلتر شده از _MAX_ رکورد)", + "sInfoPostFix": "", + "sInfoThousands": ",", + "sLengthMenu": "نمایش _MENU_ رکورد", + "sLoadingRecords": "در حال بارگزاری...", + "sProcessing": "در حال پردازش...", + "sSearch": "جستجو:", + "sZeroRecords": "رکوردی با این مشخصات پیدا نشد", + "oPaginate": { + "sFirst": "ابتدا", + "sLast": "انتها", + "sNext": "بعدی", + "sPrevious": "قبلی" + }, + "oAria": { + "sSortAscending": ": فعال سازی نمایش به صورت صعودی", + "sSortDescending": ": فعال سازی نمایش به صورت نزولی" + } + } + }); + + //Buttons examples + var table = $('#datatable-buttons').DataTable({ + lengthChange: false, + buttons: ['copy', 'excel', 'pdf', 'colvis'], + language: { + "sEmptyTable": "هیچ داده ای در جدول وجود ندارد", + "sInfo": "نمایش _START_ تا _END_ از _TOTAL_ رکورد", + "sInfoEmpty": "نمایش 0 تا 0 از 0 رکورد", + "sInfoFiltered": "(فیلتر شده از _MAX_ رکورد)", + "sInfoPostFix": "", + "sInfoThousands": ",", + "sLengthMenu": "نمایش _MENU_ رکورد", + "sLoadingRecords": "در حال بارگزاری...", + "sProcessing": "در حال پردازش...", + "sSearch": "جستجو:", + "sZeroRecords": "رکوردی با این مشخصات پیدا نشد", + "oPaginate": { + "sFirst": "ابتدا", + "sLast": "انتها", + "sNext": "بعدی", + "sPrevious": "قبلی" + }, + "oAria": { + "sSortAscending": ": فعال سازی نمایش به صورت صعودی", + "sSortDescending": ": فعال سازی نمایش به صورت نزولی" + }, + "buttons": { + "copy": "کپی", + "excel": "اکسل", + "pdf": "PDF", + "colvis": "نمایش ستون ها", + "copyTitle": "کپی به حافظه", + "copySuccess":{ + 1:"1 سطر به حافظه کپی شد", + _:"%d سطر به حافظه کپی شد" + } + } + } + }); + + table.buttons().container().appendTo('#datatable-buttons_wrapper .col-md-6:eq(0)'); +} ); \ No newline at end of file diff --git a/public/assets/js/pages/email-summernote.init.js b/public/assets/js/pages/email-summernote.init.js new file mode 100644 index 0000000..ee3b41e --- /dev/null +++ b/public/assets/js/pages/email-summernote.init.js @@ -0,0 +1,18 @@ +/* +Template Name: Qovex - Responsive Bootstrap 4 Admin Dashboard +Author: Themesbrand +Website: https://themesbrand.com/ +Contact: themesbrand@gmail.com +File: Email summernote +*/ + +$(document).ready(function(){ + + $('.summernote').summernote({ + height: 200, // set editor height + minHeight: null, // set minimum height of editor + maxHeight: null, // set maximum height of editor + focus: false, // set focus to editable area after initializing summernote + lang: 'fa-IR' + }); +}); \ No newline at end of file diff --git a/public/assets/js/pages/flot.init.js b/public/assets/js/pages/flot.init.js new file mode 100644 index 0000000..ba16aa0 --- /dev/null +++ b/public/assets/js/pages/flot.init.js @@ -0,0 +1,325 @@ +/* +Template Name: Qovex - Responsive Bootstrap 4 Admin Dashboard +Author: Themesbrand +Website: https://themesbrand.com/ +Contact: themesbrand@gmail.com +File: Flot chart +*/ + +!function($) { + "use strict"; + + var FlotChart = function() { + this.$body = $("body") + this.$realData = [] + }; + + //creates plot graph + FlotChart.prototype.createPlotGraph = function(selector, data1, data2, data3, labels, colors, borderColor, bgColor) { + //shows tooltip + function showTooltip(x, y, contents) { + $('
' + contents + '
').css( { + position: 'absolute', + top: y + 5, + left: x + 5 + }).appendTo("body").fadeIn(200); + } + + $.plot($(selector), + [ { data: data1, + label: labels[0], + color: colors[0] + }, + { data: data2, + label: labels[1], + color: colors[1] + }, + { data: data3, + label: labels[2], + color: colors[2] + } + ], + { + series: { + lines: { + show: true, + fill: true, + lineWidth: 2, + fillColor: { + colors: [{opacity: 0.2}, + {opacity: 0.2} + ] + } + }, + points: { + show: false + }, + shadowSize: 0 + }, + + legend: { + position: 'nw', + backgroundColor: "transparent", + }, + grid: { + hoverable: true, + clickable: true, + borderColor: borderColor, + borderWidth: 1, + labelMargin: 10, + backgroundColor: bgColor + }, + yaxis: { + min: 0, + max: 300, + tickColor : 'rgba(166, 176, 207, 0.1)', + font : { + color : '#8791af' + } + }, + xaxis: { + tickColor : 'rgba(166, 176, 207, 0.1)', + font : { + color : '#8791af' + } + }, + tooltip: true, + tooltipOpts: { + content: '%s: مقدار %x برابر است با %y', + shifts: { + x: -60, + y: 25 + }, + defaultTheme: false + } + }); + }, + //end plot graph + + //creates Pie Chart + FlotChart.prototype.createPieGraph = function(selector, labels, datas, colors) { + var data = [{ + label: labels[0], + data: datas[0] + }, { + label: labels[1], + data: datas[1] + }, { + label: labels[2], + data: datas[2] + }]; + var options = { + series: { + pie: { + show: true + } + }, + legend : { + show : true, + backgroundColor: "transparent", + }, + grid : { + hoverable : true, + clickable : true + }, + colors : colors, + tooltip : true, + tooltipOpts : { + content : "%s, %p.0%" + } + }; + + $.plot($(selector), data, options); + }, + + //returns some random data + FlotChart.prototype.randomData = function() { + var totalPoints = 300; + if (this.$realData.length > 0) + this.$realData = this.$realData.slice(1); + + // Do a random walk + while (this.$realData.length < totalPoints) { + + var prev = this.$realData.length > 0 ? this.$realData[this.$realData.length - 1] : 50, + y = prev + Math.random() * 10 - 5; + + if (y < 0) { + y = 0; + } else if (y > 100) { + y = 100; + } + + this.$realData.push(y); + } + + // Zip the generated y values with the x values + var res = []; + for (var i = 0; i < this.$realData.length; ++i) { + res.push([i, this.$realData[i]]) + } + + return res; + }, + + FlotChart.prototype.createRealTimeGraph = function(selector, data, colors) { + var plot = $.plot(selector, [data], { + colors: colors, + series: { + lines: { + show: true, + fill: true, + lineWidth: 2, + fillColor: { + colors: [{ + opacity: 0.45 + }, { + opacity: 0.45 + }] + } + }, + points: { + show: false + }, + shadowSize: 0 + }, + grid : { + show : true, + aboveData : false, + color : '#dcdcdc', + labelMargin : 15, + axisMargin : 0, + borderWidth : 0, + borderColor : null, + minBorderMargin : 5, + clickable : true, + hoverable : true, + autoHighlight : false, + mouseActiveRadius : 20 + }, + tooltip : true, //activate tooltip + tooltipOpts : { + content : "مقدار : %y.0" + "%", + shifts : { + x : -30, + y : -50 + } + }, + yaxis : { + min : 0, + max : 100, + tickColor : 'rgba(166, 176, 207, 0.1)', + font : { + color : '#8791af' + } + + }, + xaxis : { + show : false + } + }); + + return plot; + }, + + //creates Pie Chart + FlotChart.prototype.createDonutGraph = function(selector, labels, datas, colors) { + var data = [{ + label: labels[0], + data: datas[0] + }, { + label: labels[1], + data: datas[1] + }, { + label: labels[2], + data: datas[2] + }, + { + label: labels[3], + data: datas[3] + }, { + label: labels[4], + data: datas[4] + } + ]; + var options = { + series: { + pie: { + show: true, + innerRadius: 0.7 + } + }, + legend : { + show : true, + backgroundColor: "transparent", + labelFormatter : function(label, series) { + return '
 ' + label + '
' + }, + labelBoxBorderColor : null, + margin : 50, + width : 20, + padding : 1 + }, + grid : { + hoverable : true, + clickable : true + }, + colors : colors, + tooltip : true, + tooltipOpts : { + content : "%s, %p.0%" + } + }; + + $.plot($(selector), data, options); + }, + + //initializing various charts and components + FlotChart.prototype.init = function() { + //plot graph data + var desktops = [[0, 50], [1, 130], [2, 80], [3, 70], [4, 180], [5, 105], [6, 250]]; + var laptops = [[0, 80], [1, 100], [2,60], [3, 120], [4, 140], [5, 100], [6, 105]]; + var tablets = [[0, 20], [1, 80], [2, 70], [3, 140], [4, 250], [5, 80], [6, 200]]; + var plabels = ["دسکتاپ","لپ تاپ","تبلت"]; + var pcolors = ['#eeb902', '#45cb85', '#3b5de7']; + var borderColor = 'rgba(166, 176, 207, 0.1)'; + var bgColor = 'transparent'; + this.createPlotGraph("#website-stats", desktops, laptops, tablets, plabels, pcolors, borderColor, bgColor); + + //Pie graph data + var pielabels = ["دسکتاپ","لپ تاپ","تبلت"]; + var datas = [20,30, 15]; + var colors = ['#3b5de7','#45cb85', "#ebeff2"]; + this.createPieGraph("#pie-chart #pie-chart-container", pielabels , datas, colors); + + + //real time data representation + var plot = this.createRealTimeGraph('#flotRealTime', this.randomData() , ['#45cb85']); + plot.draw(); + var $this = this; + function updatePlot() { + plot.setData([$this.randomData()]); + // Since the axes don't change, we don't need to call plot.setupGrid() + plot.draw(); + setTimeout(updatePlot, $( 'html' ).hasClass( 'mobile-device' ) ? 1000 : 1000); + } + updatePlot(); + + //Donut pie graph data + var donutlabels = ["دسکتاپ","لپ تاپ","تبلت"]; + var donutdatas = [29,20, 18]; + var donutcolors = ['#f0f1f4', '#3b5de7', '#45cb85']; + this.createDonutGraph("#donut-chart #donut-chart-container", donutlabels , donutdatas, donutcolors); + }, + + //init flotchart + $.FlotChart = new FlotChart, $.FlotChart.Constructor = FlotChart + +}(window.jQuery), + +//initializing flotchart +function($) { + "use strict"; + $.FlotChart.init(); +}(window.jQuery); + diff --git a/public/assets/js/pages/form-advanced.init.js b/public/assets/js/pages/form-advanced.init.js new file mode 100644 index 0000000..7b9bccf --- /dev/null +++ b/public/assets/js/pages/form-advanced.init.js @@ -0,0 +1,141 @@ +/* +Template Name: Qovex - Responsive Bootstrap 4 Admin Dashboard +Author: Themesbrand +Website: https://themesbrand.com/ +Contact: themesbrand@gmail.com +File: Form Advance +*/ + +!function($) { + "use strict"; + + var AdvancedForm = function() {}; + + AdvancedForm.prototype.init = function() { + + // Select2 + $(".select2").select2(); + + $(".select2-limiting").select2({ + maximumSelectionLength: 2 + }); + //creating various controls + + //colorpicker start + $('.colorpicker-default').colorpicker({ + format: 'hex' + }); + $('.colorpicker-rgba').colorpicker(); + + $('#colorpicker-horizontal').colorpicker({ + color: "#88cc33", + horizontal: true + }); + + $('#colorpicker-inline').colorpicker({ + color: '#DD0F20', + inline: true, + container: true + }); + + + //Bootstrap-TouchSpin + var defaultOptions = { + }; + + // touchspin + $('[data-toggle="touchspin"]').each(function (idx, obj) { + var objOptions = $.extend({}, defaultOptions, $(obj).data()); + $(obj).TouchSpin(objOptions); + }); + + $("input[name='demo3_21']").TouchSpin({ + initval: 40, + buttondown_class: "btn btn-primary", + buttonup_class: "btn btn-primary" + }); + $("input[name='demo3_22']").TouchSpin({ + initval: 40, + buttondown_class: "btn btn-primary", + buttonup_class: "btn btn-primary" + }); + + $("input[name='demo_vertical']").TouchSpin({ + verticalbuttons: true + }); + + //Bootstrap-MaxLength + $('input#defaultconfig').maxlength({ + warningClass: "badge badge-info", + limitReachedClass: "badge badge-warning" + }); + + $('input#thresholdconfig').maxlength({ + threshold: 20, + warningClass: "badge badge-info", + limitReachedClass: "badge badge-warning" + }); + + $('input#moreoptions').maxlength({ + alwaysShow: true, + warningClass: "badge badge-success", + limitReachedClass: "badge badge-danger" + }); + + $('input#alloptions').maxlength({ + alwaysShow: true, + warningClass: "badge badge-success", + limitReachedClass: "badge badge-danger", + preText: 'شما ', + separator: ' کاراکتر از ', + postText: ' کاراکتر مجاز را تایپ کرده اید.', + validate: true + }); + + $('textarea#textarea').maxlength({ + alwaysShow: true, + warningClass: "badge badge-info", + limitReachedClass: "badge badge-warning" + }); + + $('input#placement').maxlength({ + alwaysShow: true, + placement: 'top-right', + warningClass: "badge badge-info", + limitReachedClass: "badge badge-warning" + }); + + // Shamsi Date Picker + $('input[name="date-picker-shamsi"]').datepicker({ + dateFormat: "yy/mm/dd", + showOtherMonths: true, + selectOtherMonths: false + }); + + $('input[name="date-picker-shamsi-list"]').datepicker({ + dateFormat: "yy/mm/dd", + showOtherMonths: true, + selectOtherMonths: true, + changeMonth: true, + changeYear: true, + showButtonPanel: true + }); + + $('input[name="date-picker-shamsi-limited"]').datepicker({ + dateFormat: "yy/mm/dd", + showOtherMonths: true, + selectOtherMonths: true, + minDate: 0, + maxDate: "+14D" + }); + + }, + //init + $.AdvancedForm = new AdvancedForm, $.AdvancedForm.Constructor = AdvancedForm; +}(window.jQuery), + +//initializing +function ($) { + "use strict"; + $.AdvancedForm.init(); +}(window.jQuery); \ No newline at end of file diff --git a/public/assets/js/pages/form-editor.init.js b/public/assets/js/pages/form-editor.init.js new file mode 100644 index 0000000..3d07412 --- /dev/null +++ b/public/assets/js/pages/form-editor.init.js @@ -0,0 +1,41 @@ +/* +Template Name: Qovex - Responsive Bootstrap 4 Admin Dashboard +Author: Themesbrand +Website: https://themesbrand.com/ +Contact: themesbrand@gmail.com +File: Form edittor +*/ + +$(document).ready(function () { + if($("#elm1").length > 0){ + tinymce.init({ + language: "fa_IR", + selector: "textarea#elm1", + height:300, + plugins: [ + "advlist autolink link image lists charmap print preview hr anchor pagebreak spellchecker", + "searchreplace wordcount visualblocks visualchars code fullscreen insertdatetime media nonbreaking", + "save table directionality emoticons template paste" + ], + toolbar: "insertfile undo redo | styleselect | bold italic | alignleft aligncenter alignright alignjustify | bullist numlist outdent indent | l ink image | print preview media fullpage | forecolor backcolor emoticons", + style_formats: [ + {title: 'Bold text', inline: 'b'}, + {title: 'Red text', inline: 'span', styles: {color: '#ff0000'}}, + {title: 'Red header', block: 'h1', styles: {color: '#ff0000'}}, + {title: 'Example 1', inline: 'span', classes: 'example1'}, + {title: 'Example 2', inline: 'span', classes: 'example2'}, + {title: 'Table styles'}, + {title: 'Table row 1', selector: 'tr', classes: 'tablerow1'} + ] + }); + } + + $('.summernote').summernote({ + height: 300, // set editor height + minHeight: null, // set minimum height of editor + maxHeight: null, // set maximum height of editor + focus: true, // set focus to editable area after initializing summernote + lang: 'fa-IR' + }); + +}); \ No newline at end of file diff --git a/public/assets/js/pages/form-mask.init.js b/public/assets/js/pages/form-mask.init.js new file mode 100644 index 0000000..a105688 --- /dev/null +++ b/public/assets/js/pages/form-mask.init.js @@ -0,0 +1,11 @@ +/* +Template Name: Qovex - Responsive Bootstrap 4 Admin Dashboard +Author: Themesbrand +Website: https://themesbrand.com/ +Contact: themesbrand@gmail.com +File: Form mask +*/ + +$(document).ready(function(){ + $(".input-mask").inputmask(); +}); \ No newline at end of file diff --git a/public/assets/js/pages/form-repeater.init.js b/public/assets/js/pages/form-repeater.init.js new file mode 100644 index 0000000..b3ecd4e --- /dev/null +++ b/public/assets/js/pages/form-repeater.init.js @@ -0,0 +1,56 @@ +/* +Template Name: Qovex - Responsive Bootstrap 4 Admin Dashboard +Author: Themesbrand +Website: https://themesbrand.com/ +Contact: themesbrand@gmail.com +File: Form repeater +*/ + +$(document).ready(function () { + 'use strict'; + + $('.repeater').repeater({ + defaultValues: { + 'textarea-input': 'foo', + 'text-input': 'bar', + 'select-input': 'B', + 'checkbox-input': ['A', 'B'], + 'radio-input': 'B' + }, + show: function () { + $(this).slideDown(); + }, + hide: function (deleteElement) { + if(confirm('آیا از حذف این مورد اطمینان دارید؟')) { + $(this).slideUp(deleteElement); + } + }, + ready: function (setIndexes) { + + } + }); + + window.outerRepeater = $('.outer-repeater').repeater({ + defaultValues: { 'text-input': 'outer-default' }, + show: function () { + console.log('outer show'); + $(this).slideDown(); + }, + hide: function (deleteElement) { + console.log('outer delete'); + $(this).slideUp(deleteElement); + }, + repeaters: [{ + selector: '.inner-repeater', + defaultValues: { 'inner-text-input': 'inner-default' }, + show: function () { + console.log('inner show'); + $(this).slideDown(); + }, + hide: function (deleteElement) { + console.log('inner delete'); + $(this).slideUp(deleteElement); + } + }] + }); +}); \ No newline at end of file diff --git a/public/assets/js/pages/form-validation.init.js b/public/assets/js/pages/form-validation.init.js new file mode 100644 index 0000000..2e3a19d --- /dev/null +++ b/public/assets/js/pages/form-validation.init.js @@ -0,0 +1,32 @@ +/* +Template Name: Qovex - Responsive Bootstrap 4 Admin Dashboard +Author: Themesbrand +Website: https://themesbrand.com/ +Contact: themesbrand@gmail.com +File: Form validation +*/ + +// Example starter JavaScript for disabling form submissions if there are invalid fields +(function() { + 'use strict'; + window.addEventListener('load', function() { + // Fetch all the forms we want to apply custom Bootstrap validation styles to + var forms = document.getElementsByClassName('needs-validation'); + // Loop over them and prevent submission + var validation = Array.prototype.filter.call(forms, function(form) { + form.addEventListener('submit', function(event) { + if (form.checkValidity() === false) { + event.preventDefault(); + event.stopPropagation(); + } + form.classList.add('was-validated'); + }, false); + }); + }, false); +})(); + + +// parsley validation +$(document).ready(function() { + $('.custom-validation').parsley(); +}); \ No newline at end of file diff --git a/public/assets/js/pages/form-wizard.init.js b/public/assets/js/pages/form-wizard.init.js new file mode 100644 index 0000000..25b598f --- /dev/null +++ b/public/assets/js/pages/form-wizard.init.js @@ -0,0 +1,25 @@ +/* +Template Name: Qovex - Responsive Bootstrap 4 Admin Dashboard +Author: Themesbrand +Website: https://themesbrand.com/ +Contact: themesbrand@gmail.com +File: Form wizard +*/ + +$(function () +{ + $("#form-horizontal").steps({ + headerTag: "h3", + bodyTag: "fieldset", + transitionEffect: "slide", + labels: { + cancel: "انصراف", + current: "قدم کنونی:", + pagination: "صفحه بندی", + finish: "پایان", + next: "بعدی", + previous: "قبلی", + loading: "در حال بارگذاری ..." + } + }); +}); \ No newline at end of file diff --git a/public/assets/js/pages/form-xeditable.init.js b/public/assets/js/pages/form-xeditable.init.js new file mode 100644 index 0000000..efc1a41 --- /dev/null +++ b/public/assets/js/pages/form-xeditable.init.js @@ -0,0 +1,82 @@ +/* +Template Name: Qovex - Responsive Bootstrap 4 Admin Dashboard +Author: Themesbrand +Website: https://themesbrand.com/ +Contact: themesbrand@gmail.com +File: Form xeditable +*/ + + +$(function () { + + //modify buttons style + $.fn.editableform.buttons = + '' + + ''; + + //inline + + $('#inline-username').editable({ + type: 'text', + pk: 1, + name: 'username', + title: 'نام کاربری را وارد کنید', + mode: 'inline', + inputclass: 'form-control-sm' + }); + + $('#inline-firstname').editable({ + validate: function (value) { + if ($.trim(value) == '') return 'وارد کردن این فیلد الزامی است'; + }, + mode: 'inline', + inputclass: 'form-control-sm', + emptytext: 'خالی' + }); + + $('#inline-sex').editable({ + prepend: "انتخاب نشده", + mode: 'inline', + inputclass: 'form-control-sm', + source: [ + {value: 1, text: 'آقا'}, + {value: 2, text: 'خانم'} + ], + display: function (value, sourceData) { + var colors = {"": "#98a6ad", 1: "#5fbeaa", 2: "#5d9cec"}, + elem = $.grep(sourceData, function (o) { + return o.value == value; + }); + + if (elem.length) { + $(this).text(elem[0].text).css("color", colors[value]); + } else { + $(this).empty(); + } + } + }); + + $('#inline-status').editable({ + mode: 'inline', + inputclass: 'form-control-sm', + sourceError: 'خطا در هنگام بارگذاری لیست' + }); + + $('#inline-group').editable({ + showbuttons: false, + mode: 'inline', + inputclass: 'form-control-sm' + }); + + $('#inline-dob').editable({ + mode: 'inline', + inputclass: 'form-control-sm' + }); + + $('#inline-comments').editable({ + showbuttons: 'bottom', + mode: 'inline', + inputclass: 'form-control-sm' + }); + +}); \ No newline at end of file diff --git a/public/assets/js/pages/gmaps.init.js b/public/assets/js/pages/gmaps.init.js new file mode 100644 index 0000000..668aefc --- /dev/null +++ b/public/assets/js/pages/gmaps.init.js @@ -0,0 +1,71 @@ +/* +Template Name: Qovex - Responsive Bootstrap 4 Admin Dashboard +Author: Themesbrand +Website: https://themesbrand.com/ +Contact: themesbrand@gmail.com +File: google maps +*/ + +var map; +$(document).ready(function(){ + // Markers + map = new GMaps({ + div: '#gmaps-markers', + lat: -12.043333, + lng: -77.028333 + }); + map.addMarker({ + lat: -12.043333, + lng: -77.03, + title: 'Lima', + details: { + database_id: 42, + author: 'HPNeo' + }, + click: function(e){ + if(console.log) + console.log(e); + alert('You clicked in this marker'); + } + }); + + // Overlays + map = new GMaps({ + div: '#gmaps-overlay', + lat: -12.043333, + lng: -77.028333 + }); + map.drawOverlay({ + lat: map.getCenter().lat(), + lng: map.getCenter().lng(), + content: '
Lima
', + verticalAlign: 'top', + horizontalAlign: 'center' + }); + + //panorama + map = GMaps.createPanorama({ + el: '#panorama', + lat : 42.3455, + lng : -71.0983 + }); + + //Map type + map = new GMaps({ + div: '#gmaps-types', + lat: -12.043333, + lng: -77.028333, + mapTypeControlOptions: { + mapTypeIds : ["hybrid", "roadmap", "satellite", "terrain", "osm"] + } + }); + map.addMapType("osm", { + getTileUrl: function(coord, zoom) { + return "https://a.tile.openstreetmap.org/" + zoom + "/" + coord.x + "/" + coord.y + ".png"; + }, + tileSize: new google.maps.Size(256, 256), + name: "OpenStreetMap", + maxZoom: 18 + }); + map.setMapTypeId("osm"); +}); \ No newline at end of file diff --git a/public/assets/js/pages/jquery-knob.init.js b/public/assets/js/pages/jquery-knob.init.js new file mode 100644 index 0000000..858efe6 --- /dev/null +++ b/public/assets/js/pages/jquery-knob.init.js @@ -0,0 +1,11 @@ +/* +Template Name: Qovex - Responsive Bootstrap 4 Admin Dashboard +Author: Themesbrand +Website: https://themesbrand.com/ +Contact: themesbrand@gmail.com +File: Jquery konb +*/ + +$(function() { + $(".knob").knob(); +}); \ No newline at end of file diff --git a/public/assets/js/pages/lightbox.init.js b/public/assets/js/pages/lightbox.init.js new file mode 100644 index 0000000..a36ac48 --- /dev/null +++ b/public/assets/js/pages/lightbox.init.js @@ -0,0 +1,168 @@ +/* +Template Name: Qovex - Responsive Bootstrap 4 Admin Dashboard +Author: Themesbrand +Website: https://themesbrand.com/ +Contact: themesbrand@gmail.com +File: Lighbox +*/ + +(function($) { + + 'use strict'; + + $.extend(true, $.magnificPopup.defaults, { + tClose: "بستن", + tLoading: "در حال بارگذاری ...", + gallery: { + tPrev: 'قبلی', + tNext: 'بعدی', + tCounter: '%curr% از %total%' + }, + image: { + tError: 'تصویر بارگذاری نشد.' + }, + ajax: { + tError: 'درخواست ناموفق بود.' + } + }); + + /* + Single Image + */ + + $('.image-popup-vertical-fit').magnificPopup({ + type: 'image', + closeOnContentClick: true, + mainClass: 'mfp-img-mobile', + image: { + verticalFit: true + } + + }); + + $('.image-popup-no-margins').magnificPopup({ + type: 'image', + closeOnContentClick: true, + closeBtnInside: false, + fixedContentPos: true, + mainClass: 'mfp-no-margins mfp-with-zoom', // class to remove default margin from left and right side + image: { + verticalFit: true + }, + zoom: { + enabled: true, + duration: 300 // don't foget to change the duration also in CSS + } + }); + + /* + Gallery + */ + $('.popup-gallery').magnificPopup({ + delegate: 'a', + type: 'image', + tLoading: 'بارگذاری تصویر #%curr%...', + mainClass: 'mfp-img-mobile', + gallery: { + enabled: true, + navigateByImgClick: true, + preload: [0,1] // Will preload 0 - before current, and 1 after the current image + }, + image: { + tError: 'تصویر #%curr% بارگذاری نشد.' + } + }); + + /* + Zoom Gallery + */ + $('.zoom-gallery').magnificPopup({ + delegate: 'a', + type: 'image', + closeOnContentClick: false, + closeBtnInside: false, + mainClass: 'mfp-with-zoom mfp-img-mobile', + image: { + verticalFit: true, + titleSrc: function(item) { + return item.el.attr('title') + ' · منبع تصویر'; + } + }, + gallery: { + enabled: true + }, + zoom: { + enabled: true, + duration: 300, // don't foget to change the duration also in CSS + opener: function(element) { + return element.find('img'); + } + } + }); + + /* + Popup with video or map + */ + $('.popup-youtube, .popup-vimeo, .popup-gmaps').magnificPopup({ + disableOn: 700, + type: 'iframe', + mainClass: 'mfp-fade', + removalDelay: 160, + preloader: false, + fixedContentPos: false + }); + + /* + Dialog with CSS animation + */ + $('.popup-with-zoom-anim').magnificPopup({ + type: 'inline', + + fixedContentPos: false, + fixedBgPos: true, + + overflowY: 'auto', + + closeBtnInside: true, + preloader: false, + + midClick: true, + removalDelay: 300, + mainClass: 'my-mfp-zoom-in' + }); + + $('.popup-with-move-anim').magnificPopup({ + type: 'inline', + + fixedContentPos: false, + fixedBgPos: true, + + overflowY: 'auto', + + closeBtnInside: true, + preloader: false, + + midClick: true, + removalDelay: 300, + mainClass: 'my-mfp-slide-bottom' + }); + + $('.popup-form').magnificPopup({ + type: 'inline', + preloader: false, + focus: '#name', + + // When elemened is focused, some mobile browsers in some cases zoom in + // It looks not nice, so we disable it: + callbacks: { + beforeOpen: function() { + if($(window).width() < 700) { + this.st.focus = false; + } else { + this.st.focus = '#name'; + } + } + } + }); + +}).apply(this, [jQuery]); \ No newline at end of file diff --git a/public/assets/js/pages/profile.init.js b/public/assets/js/pages/profile.init.js new file mode 100644 index 0000000..b927a4a --- /dev/null +++ b/public/assets/js/pages/profile.init.js @@ -0,0 +1,82 @@ +/* +Template Name: Qovex - Responsive Bootstrap 4 Admin Dashboard +Author: Themesbrand +Website: https://themesbrand.com/ +Contact: themesbrand@gmail.com +File: Profile +*/ + +Apex.chart = { + fontFamily: 'inherit', + locales: [{ + "name": "fa", + "options": { + "months": ["ژانویه", "فوریه", "مارس", "آوریل", "می", "ژوئن", "جولای", "آگوست", "سپتامبر", "اکتبر", "نوامبر", "دسامبر"], + "shortMonths": ["ژانویه", "فوریه", "مارس", "آوریل", "می", "ژوئن", "جولای", "آگوست", "سپتامبر", "اکتبر", "نوامبر", "دسامبر"], + "days": ["یکشنبه", "دوشنبه", "سه‌شنبه", "چهارشنبه", "پنجشنبه", "جمعه", "شنبه"], + "shortDays": ["ی", "د", "س", "چ", "پ", "ج", "ش"], + "toolbar": { + "exportToSVG": "دریافت SVG", + "exportToPNG": "دریافت PNG", + "exportToCSV": "دریافت CSV", + "menu": "فهرست", + "selection": "انتخاب", + "selectionZoom": "بزرگنمایی قسمت انتخاب شده", + "zoomIn": "بزرگ نمایی", + "zoomOut": "کوچک نمایی", + "pan": "جا به جایی", + "reset": "بازنشانی بزرگ نمایی" + } + } + }], + defaultLocale: "fa" +} + +var options = { + chart: { + height: 300, + type: 'bar', + toolbar: { + show: false, + } + }, + plotOptions: { + bar: { + horizontal: false, + columnWidth: '14%', + endingShape: 'rounded' + }, + }, + dataLabels: { + enabled: false + }, + stroke: { + show: true, + width: 2, + colors: ['transparent'] + }, + series: [{ + name: 'درآمد', + data: [50, 55, 126, 86, 47, 68, 106, 74, 65, 57, 86, 68] + }], + xaxis: { + categories: ['فروردین', 'اردیبهشت', 'خرداد', 'تیر', 'مرداد', 'شهریور', 'مهر', 'آبان', 'آذر', 'دی', 'بهمن', 'اسفند'], + }, + yaxis: { + title: { + text: 'هزار تومان' + } + }, + fill: { + opacity: 1 + + }, + colors: ['#556ee6'], +} + +var chart = new ApexCharts( + document.querySelector("#revenue-chart"), + options +); + +chart.render(); \ No newline at end of file diff --git a/public/assets/js/pages/range-sliders.init.js b/public/assets/js/pages/range-sliders.init.js new file mode 100644 index 0000000..2829196 --- /dev/null +++ b/public/assets/js/pages/range-sliders.init.js @@ -0,0 +1,123 @@ +/* +Template Name: Qovex - Responsive Bootstrap 4 Admin Dashboard +Author: Themesbrand +Website: https://themesbrand.com/ +Contact: themesbrand@gmail.com +File: Range slider +*/ + + +$(document).ready(function () { + $("#range_01").ionRangeSlider({ + skin: "round" + }); + + $("#range_02").ionRangeSlider({ + skin: "round", + min: 100, + max: 1000, + from: 550 + }); + + $("#range_03").ionRangeSlider({ + skin: "round", + type: "double", + grid: true, + min: 0, + max: 1000, + from: 200, + to: 800, + prefix: 'تومان ' + }); + + $("#range_04").ionRangeSlider({ + skin: "round", + type: "double", + grid: true, + min: -1000, + max: 1000, + from: -500, + to: 500 + }); + + $("#range_05").ionRangeSlider({ + skin: "round", + type: "double", + grid: true, + min: -1000, + max: 1000, + from: -500, + to: 500, + step: 250 + }); + + $("#range_06").ionRangeSlider({ + skin: "round", + grid: true, + from: 3, + values: ["فروردین", "اردیبهشت", "خرداد", "تیر", "مرداد", "شهریور", "مهر", "آبان", "آذر", "دی", "بهمن", "اسفند"] + }); + + $("#range_07").ionRangeSlider({ + skin: "round", + grid: true, + min: 1000, + max: 1000000, + from: 200000, + step: 1000, + prettify_enabled: true, + prettify_separator: "," + }); + + $("#range_08").ionRangeSlider({ + skin: "round", + min: 100, + max: 1000, + from: 550, + disable: true + }); + + $("#range_09").ionRangeSlider({ + skin: "round", + grid: true, + min: 18, + max: 70, + from: 30, + postfix: ' سن', + max_postfix: "+" + }); + + $("#range_10").ionRangeSlider({ + skin: "round", + type: "double", + min: 100, + max: 200, + from: 145, + to: 155, + prefix: 'کیلوگرم ', + postfix: ' :وزن', + decorate_both: true + }); + + $("#range_11").ionRangeSlider({ + skin: "round", + type: "single", + grid: true, + min: -90, + max: 90, + from: 0, + postfix: ' تومان' + }); + + $("#range_12").ionRangeSlider({ + skin: "round", + type: "double", + min: 1000, + max: 2000, + from: 1200, + to: 1800, + hide_min_max: true, + hide_from_to: true, + grid: true + }); +}); \ No newline at end of file diff --git a/public/assets/js/pages/rating-init.js b/public/assets/js/pages/rating-init.js new file mode 100644 index 0000000..09ddda3 --- /dev/null +++ b/public/assets/js/pages/rating-init.js @@ -0,0 +1,50 @@ +/* +Template Name: Qovex - Responsive Bootstrap 4 Admin Dashboard +Author: Themesbrand +Website: https://themesbrand.com/ +Contact: themesbrand@gmail.com +File: Rating +*/ + +$(function () { + $('input.check').on('change', function () { + alert('امتیاز: ' + $(this).val()); + }); + $('.rating-tooltip').rating({ + extendSymbol: function (rate) { + $(this).tooltip({ + container: 'body', + placement: 'bottom', + title: 'امتیاز ' + rate + }); + } + }); + $('.rating-tooltip-manual').rating({ + extendSymbol: function () { + var title; + $(this).tooltip({ + container: 'body', + placement: 'bottom', + trigger: 'manual', + title: function () { + return title; + } + }); + $(this).on('rating.rateenter', function (e, rate) { + title = rate; + $(this).tooltip('show'); + }) + .on('rating.rateleave', function () { + $(this).tooltip('hide'); + }); + } + }); + $('.rating').each(function () { + $('') + .text($(this).val() || '') + .insertAfter(this); + }); + $('.rating').on('change', function () { + $(this).next('.badge').text($(this).val()); + }); +}); \ No newline at end of file diff --git a/public/assets/js/pages/session-timeout.init.js b/public/assets/js/pages/session-timeout.init.js new file mode 100644 index 0000000..62836b4 --- /dev/null +++ b/public/assets/js/pages/session-timeout.init.js @@ -0,0 +1,20 @@ +/* +Template Name: Qovex - Responsive Bootstrap 4 Admin Dashboard +Author: Themesbrand +Website: https://themesbrand.com/ +Contact: themesbrand@gmail.com +File: Session time +*/ + +$.sessionTimeout({ + title: 'جلسه شما در حال اتمام است!', + message: 'جلسه شما در حال اتمام است.', + keepAliveUrl: 'pages-starter.html', + logoutButton: 'خروج', + keepAliveButton: 'متصل ماندن', + logoutUrl: 'pages-login.html', + redirUrl: 'pages-lock-screen.html', + warnAfter: 3000, + redirAfter: 30000, + countdownMessage: 'انتقال پس از {timer} ثانیه.' +}); \ No newline at end of file diff --git a/public/assets/js/pages/sparklines.init.js b/public/assets/js/pages/sparklines.init.js new file mode 100644 index 0000000..3b7fc84 --- /dev/null +++ b/public/assets/js/pages/sparklines.init.js @@ -0,0 +1,157 @@ +/* +Template Name: Qovex - Responsive Bootstrap 4 Admin Dashboard +Author: Themesbrand +Website: https://themesbrand.com/ +Contact: themesbrand@gmail.com +File: Sparkline +*/ + +$(document).ready(function() { + var SparklineCharts = function() { + + $('#sparkline1').sparkline([20, 40, 30], { + type: 'pie', + height: '200', + resize: true, + sliceColors: ['#45cb85', '#3b5de7', '#e9ecef'] + }); + + $("#sparkline2").sparkline([5,6,2,8,9,4,7,10,11,12,10,4,7,10], { + type: 'bar', + height: '200', + barWidth: 10, + barSpacing: 7, + barColor: '#eeb902' + }); + + $('#sparkline3').sparkline([5, 6, 2, 9, 4, 7, 10, 12,4,7,10], { + type: 'bar', + height: '200', + barWidth: '10', + resize: true, + barSpacing: '7', + barColor: '#45cb85' + }); + $('#sparkline3').sparkline([5, 6, 2, 9, 4, 7, 10, 12,4,7,10], { + type: 'line', + height: '200', + lineColor: '#3b5de7', + fillColor: 'transparent', + composite: true, + lineWidth: 2, + highlightLineColor: 'rgba(108, 120, 151, 0.1)', + highlightSpotColor: 'rgba(108, 120, 151, 0.2)' + }); + + $("#sparkline4").sparkline([0, 23, 43, 35, 44, 45, 56, 37, 40, 45, 56, 7, 10], { + type: 'line', + width: '100%', + height: '200', + lineColor: '#556ee6', + fillColor: 'transparent', + spotColor: '#556ee6', + lineWidth: 2, + minSpotColor: undefined, + maxSpotColor: undefined, + highlightSpotColor: undefined, + highlightLineColor: undefined + }); + $('#sparkline5').sparkline([15, 23, 55, 35, 54, 45, 66, 47, 30], { + type: 'line', + width: '100%', + height: '200', + chartRangeMax: 50, + resize: true, + lineColor: '#3b5de7', + fillColor: 'rgba(59, 93, 231, 0.3)', + highlightLineColor: 'rgba(108, 120, 151, 0.1)', + highlightSpotColor: 'rgba(108, 120, 151, 0.2)', + }); + + $('#sparkline5').sparkline([0, 13, 10, 14, 15, 10, 18, 20, 0], { + type: 'line', + width: '100%', + height: '200', + chartRangeMax: 40, + lineColor: '#45cb85', + fillColor: 'rgba(69, 203, 133, 0.3)', + composite: true, + resize: true, + highlightLineColor: 'rgba(108, 120, 151, 0.1)', + highlightSpotColor: 'rgba(108, 120, 151, 0.2)', + }); + + $("#sparkline6").sparkline([4, 6, 7, 7, 4, 3, 2, 1, 4, 4, 5, 6, 3, 4, 5, 8, 7, 6, 9, 3, 2, 4, 1, 5, 6, 4, 3, 7], { + type: 'discrete', + width: '280', + height: '200', + lineColor: '#ffffff' + }); + + $('#sparkline7').sparkline([10,12,12,9,7], { + type: 'bullet', + width: '280', + height: '80', + targetColor: '#556ee6', + performanceColor: '#f46a6a', + tooltipValueLookups: { + fields: { + r: "بازه", + p: "عملکرد", + t: "هدف" + } + } + }); + $('#sparkline8').sparkline([4,27,34,52,54,59,61,68,78,82,85,87,91,93,100], { + type: 'box', + width: '280', + height: '80', + boxLineColor: '#45cb85', + boxFillColor: '#f1f1f1', + whiskerColor: '#45cb85', + outlierLineColor: '#45cb85', + medianColor: '#45cb85', + targetColor: '#45cb85', + tooltipValueLookups: { + fields: { + lq: "ربع پایین", + med: "میانه", + uq: "ربع بالا", + lo: "خارج از چپ", + ro: "خارج از راست", + lw: "ویسکر چپ", + rw: "ویسکر راست" + } + } + }); + $('#sparkline9').sparkline([1,1,0,1,-1,-1,1,-1,0,0,1,1], { + height: '80', + width: '100%', + type: 'tristate', + posBarColor: '#3b5de7', + negBarColor: '#45cb85', + zeroBarColor: '#ff715b', + barWidth: 8, + barSpacing: 3, + zeroAxis: false, + tooltipValueLookups: { + map: { + "-1": "باخت", + 0: "مساوی", + 1: "برد" + } + } + }); + + + + } + var sparkResize; + + $(window).resize(function(e) { + clearTimeout(sparkResize); + sparkResize = setTimeout(SparklineCharts, 500); + }); + SparklineCharts(); + +}); \ No newline at end of file diff --git a/public/assets/js/pages/sweet-alerts.init.js b/public/assets/js/pages/sweet-alerts.init.js new file mode 100644 index 0000000..f4de888 --- /dev/null +++ b/public/assets/js/pages/sweet-alerts.init.js @@ -0,0 +1,284 @@ +/* +Template Name: Qovex - Responsive Bootstrap 4 Admin Dashboard +Author: Themesbrand +Website: https://themesbrand.com/ +Contact: themesbrand@gmail.com +File: Sweet alerts +*/ + +!function ($) { + "use strict"; + + var SweetAlert = function () { + }; + + //examples + SweetAlert.prototype.init = function () { + + //Basic + $('#sa-basic').on('click', function () { + Swal.fire({ + title: 'هرکسی می تونه از کامپیوتر استفاده کنه', + confirmButtonColor: '#3b5de7', + confirmButtonText: 'باشه' + }) + }); + + //A title with a text under + $('#sa-title').click(function () { + Swal.fire({ + title: "اینترنت؟", + text: 'هنوز هم چنین چیزی وجود داره؟', + type: 'question', + confirmButtonColor: '#3b5de7', + confirmButtonText: 'باشه' + }) + }); + + //Success Message + $('#sa-success').click(function () { + Swal.fire({ + title: 'عالی بود!', + text: 'شما روی دکمه کلیک کردید!', + type: 'success', + showCancelButton: true, + confirmButtonColor: '#3b5de7', + cancelButtonColor: "#f46a6a", + confirmButtonText: 'باشه', + cancelButtonText: 'انصراف' + }) + }); + + //Warning Message + $('#sa-warning').click(function () { + Swal.fire({ + title: "آیا اطمینان دارید؟", + text: "قادر به بازگردانی این عمل نخواهید بود!", + type: "warning", + showCancelButton: true, + confirmButtonColor: "#34c38f", + cancelButtonColor: "#f46a6a", + confirmButtonText: "بله، حذف کن!", + cancelButtonText: 'انصراف' + }).then(function (result) { + if (result.value) { + Swal.fire({ + title: "حذف شد!", + text: "فایل شما حذف شد.", + type: "success", + confirmButtonText: 'باشه' + }); + } + }); + }); + + //Parameter + $('#sa-params').click(function () { + Swal.fire({ + title: "آیا اطمینان دارید؟", + text: "قادر به بازگردانی این عمل نخواهید بود!", + type: 'warning', + showCancelButton: true, + confirmButtonText: "بله، حذف کن!", + cancelButtonText: 'نه، حذف نکن!', + confirmButtonClass: 'btn btn-success mt-2', + cancelButtonClass: 'btn btn-danger ml-2 mt-2', + buttonsStyling: false + }).then(function (result) { + if (result.value) { + Swal.fire({ + title: 'حذف شد!', + text: 'فایل شما حذف شد.', + type: 'success', + confirmButtonText: 'باشه' + }) + } else if ( + // Read more about handling dismissals + result.dismiss === Swal.DismissReason.cancel + ) { + Swal.fire({ + title: 'لغو شد', + text: 'فایل خیالی شما در امان است :)', + type: 'error', + confirmButtonText: 'باشه' + }) + } + }); + }); + + //Custom Image + $('#sa-image').click(function () { + Swal.fire({ + title: 'عالیه!', + text: 'مودال با یک تصویر سفارشی.', + imageUrl: 'assets/images/logo-dark.png', + imageHeight: 20, + confirmButtonColor: "#3b5de7", + confirmButtonText: 'باشه', + animation: false + }) + }); + + //Auto Close Timer + $('#sa-close').click(function () { + var timerInterval; + Swal.fire({ + title: 'بسته شدن خودکار!', + html: 'من تا ثانیه بسته خواهم شد.', + timer: 2000, + onBeforeOpen: function () { + Swal.showLoading(); + timerInterval = setInterval(function () { + Swal.getContent().querySelector('strong').textContent = Swal.getTimerLeft() / 1000; + }, 100); + }, + onClose: function () { + clearInterval(timerInterval); + } + }).then(function (result) { + if ( + // Read more about handling dismissals + result.dismiss === Swal.DismissReason.timer + ) { + console.log('من توسط تایمر بسته شدم'); + } + }); + }); + + //custom html alert + $('#custom-html-alert').click(function () { + Swal.fire({ + title: 'نمونه HTML', + type: 'info', + html: 'می تونید از متن ضخیم، ' + + 'لینک ' + + 'و سایر تگ های HTML استفاده کنید', + showCloseButton: true, + showCancelButton: true, + confirmButtonClass: 'btn btn-success', + cancelButtonClass: 'btn btn-danger ml-1', + confirmButtonColor: "#47bd9a", + cancelButtonColor: "#f46a6a", + confirmButtonText: ' عالیه!', + cancelButtonText: '' + }); + }); + + //position + $('#sa-position').click(function () { + Swal.fire({ + position: 'top-end', + type: 'success', + title: 'کار شما ذخیره شد', + showConfirmButton: false, + timer: 1500 + }); + }); + + //Custom width padding + $('#custom-padding-width-alert').click(function () { + Swal.fire({ + title: 'عرض، فاصله و پس زمینه سفارشی.', + width: 600, + padding: 100, + confirmButtonColor: "#3b5de7", + confirmButtonText: 'باشه', + background: '#fff url(assets/images/geometry.png)' + }); + }); + + //Ajax + $('#ajax-alert').click(function () { + Swal.fire({ + title: 'برای درخواست Ajax ایمیل را ثبت کنید', + input: 'email', + showCancelButton: true, + confirmButtonText: 'ثبت', + cancelButtonText: 'انصراف', + confirmButtonColor: "#3b5de7", + cancelButtonColor: "#f46a6a", + showLoaderOnConfirm: true, + preConfirm: function (email) { + return new Promise(function (resolve, reject) { + setTimeout(function () { + if (email === 'taken@example.com') { + reject('این ایمیل از قبل استفاده شده است.'); + } else { + resolve(); + } + }, 2000); + }); + }, + allowOutsideClick: false + }).then(function (email) { + Swal.fire({ + type: 'success', + title: 'درخواست Ajax تمام شد!', + html: 'ایمیل ثبت شده: ' + email.value, + confirmButtonText: "باشه" + }); + }); + }); + + //chaining modal alert + $('#chaining-alert').click(function () { + Swal.mixin({ + input: 'text', + showCancelButton: true, + confirmButtonText: 'بعدی ←', + cancelButtonText: 'انصراف', + confirmButtonColor: "#3b5de7", + cancelButtonColor: "#74788d", + progressSteps: ['1', '2', '3'] + }).queue([{ + title: 'سوال 1', + text: 'زنجیر بندی مودال های swal2 ساده است' + }, + 'سوال 2', + 'سوال 3' + ]).then(function (result) { + if (result.value) { + Swal.fire({ + title: 'همه مراحل تمام شد!', + html: 'پاسخ های شما:
' +
+        					JSON.stringify(result.value) +
+        					'
', + confirmButtonText: 'عالیه!' + }); + } + }); + }); + + //Danger + $('#dynamic-alert').click(function () { + swal.queue([{ + title: 'IP عمومی شما', + confirmButtonColor: "#3b5de7", + confirmButtonText: 'نمایش IP عمومی من', + text: 'IP عمومی شما توسط درخواست Ajax دریافت خواهد شد ', + showLoaderOnConfirm: true, + preConfirm: function () { + return new Promise(function (resolve) { + $.get('https://api.ipify.org?format=json') + .done(function (data) { + swal.insertQueueStep({ + title: data.ip, + confirmButtonText: 'باشه' + }); + resolve(); + }); + }); + } + }]).catch(swal.noop); + }); + + }, + //init + $.SweetAlert = new SweetAlert, $.SweetAlert.Constructor = SweetAlert +}(window.jQuery), + +//initializing +function ($) { + "use strict"; + $.SweetAlert.init(); +}(window.jQuery); \ No newline at end of file diff --git a/public/assets/js/pages/table-editable.int.js b/public/assets/js/pages/table-editable.int.js new file mode 100644 index 0000000..39ed6de --- /dev/null +++ b/public/assets/js/pages/table-editable.int.js @@ -0,0 +1,123 @@ +/* +Template Name: Qovex - Responsive Bootstrap 4 Admin Dashboard +Author: Themesbrand +Website: https://themesbrand.com/ +Contact: themesbrand@gmail.com +File: table editable +*/ + +(function ($) { + + var datatable = $('.table-editable').dataTable({ + "columns": [ + { "name": "id" }, + { "name": "age" }, + { "name": "qty" }, + { "name": "cost" }, + ], + "bPaginate": false, + "fnRowCallback": function (nRow, aData, iDisplayIndex, iDisplayIndexFull) { + var setCell = function (response, newValue) { + var table = new $.fn.dataTable.Api('.table'); + var cell = table.cell('td.focus'); + var cellData = cell.data(); + + var div = document.createElement('div'); + div.innerHTML = cellData; + var a = div.childNodes; + a.innerHTML = newValue; + + console.log('jml a new ' + div.innerHTML); + cell.data(div.innerHTML); + highlightCell($(cell.node())); + + // This is huge cheese, but the a has lost it's editable nature. Do it again. + $('td.focus a').editable({ + 'mode': 'inline', + 'success': setCell + }); + }; + $('.editable').editable({ + 'mode': 'inline', + 'success': setCell + }); + }, + "autoFill" : { + "columns" : [1, 2] + }, + "keys" : true, + "language": { + "sEmptyTable": "هیچ داده ای در جدول وجود ندارد", + "sInfo": "نمایش _START_ تا _END_ از _TOTAL_ رکورد", + "sInfoEmpty": "نمایش 0 تا 0 از 0 رکورد", + "sInfoFiltered": "(فیلتر شده از _MAX_ رکورد)", + "sInfoPostFix": "", + "sInfoThousands": ",", + "sLengthMenu": "نمایش _MENU_ رکورد", + "sLoadingRecords": "در حال بارگزاری...", + "sProcessing": "در حال پردازش...", + "sSearch": "جستجو:", + "sZeroRecords": "رکوردی با این مشخصات پیدا نشد", + "oPaginate": { + "sFirst": "ابتدا", + "sLast": "انتها", + "sNext": "بعدی", + "sPrevious": "قبلی" + }, + "oAria": { + "sSortAscending": ": فعال سازی نمایش به صورت صعودی", + "sSortDescending": ": فعال سازی نمایش به صورت نزولی" + }, + "autoFill": { + 'button': '>', + 'increment': 'افزایش / کاهش هر سلول به مقدار: ', + 'fillHorizontal': 'پر کردن افقی سلول ها', + 'fillVertical': 'پر کردن عمودی سلول ها', + 'cancel': 'انصراف', + 'fill': 'پر کردن همه سلول ها با مقدار این سلول' + } + } + }); + + addCellChangeHandler(); + addAutoFillHandler(); + + function highlightCell($cell) { + var originalValue = $cell.attr('data-original-value'); + if (!originalValue) { + return; + } + var actualValue = $cell.text(); + if (!isNaN(originalValue)) { + originalValue = parseFloat(originalValue); + } + if (!isNaN(actualValue)) { + actualValue = parseFloat(actualValue); + } + if ( originalValue === actualValue ) { + $cell.removeClass('cat-cell-modified').addClass('cat-cell-original'); + } else { + $cell.removeClass('cat-cell-original').addClass('cat-cell-modified'); + } + } + + function addCellChangeHandler() { + $('a[data-pk]').on('hidden', function (e, editable) { + var $a = $(this); + var $cell = $a.parent('td'); + highlightCell($cell); + }); + } + + function addAutoFillHandler() { + var table = $('.table').DataTable(); + table.on('autoFill', function (e, datatable, cells) { + var datatableCellApis = $.each(cells, function(index, row) { + var datatableCellApi = row[0].cell; + var $jQueryObject = $(datatableCellApi.node()); + highlightCell($jQueryObject); + }); + }); + } + +})(jQuery); \ No newline at end of file diff --git a/public/assets/js/pages/table-responsive.init.js b/public/assets/js/pages/table-responsive.init.js new file mode 100644 index 0000000..4969bac --- /dev/null +++ b/public/assets/js/pages/table-responsive.init.js @@ -0,0 +1,18 @@ +/* +Template Name: Qovex - Responsive Bootstrap 4 Admin Dashboard +Author: Themesbrand +Website: https://themesbrand.com/ +Contact: themesbrand@gmail.com +File: table responsive +*/ + +$(function() { + $('.table-responsive').responsiveTable({ + addDisplayAllBtn: 'btn btn-secondary', + i18n: { + focus: 'تمرکز', + display: 'نمایش', + displayAll: 'نمایش همه' + } + }); +}); \ No newline at end of file diff --git a/public/assets/js/pages/task-create.init.js b/public/assets/js/pages/task-create.init.js new file mode 100644 index 0000000..8eabea8 --- /dev/null +++ b/public/assets/js/pages/task-create.init.js @@ -0,0 +1,49 @@ +/* +Template Name: Qovex - Responsive Bootstrap 4 Admin Dashboard +Author: Themesbrand +Website: https://themesbrand.com/ +Contact: themesbrand@gmail.com +File: Task creat +*/ + +$(document).ready(function () { + 'use strict'; + + $('.summernote').summernote({ + height: 200, // set editor height + minHeight: null, // set minimum height of editor + maxHeight: null, // set maximum height of editor + focus: false, // set focus to editable area after initializing summernote + lang: 'fa-IR' + }); + + window.outerRepeater = $('.outer-repeater').repeater({ + defaultValues: { 'text-input': 'outer-default' }, + show: function () { + console.log('outer show'); + $(this).slideDown(); + }, + hide: function (deleteElement) { + console.log('outer delete'); + $(this).slideUp(deleteElement); + }, + repeaters: [{ + selector: '.inner-repeater', + defaultValues: { 'inner-text-input': 'inner-default' }, + show: function () { + console.log('inner show'); + $(this).slideDown(); + }, + hide: function (deleteElement) { + console.log('inner delete'); + $(this).slideUp(deleteElement); + } + }] + }); + + $('.input-daterange input').datepicker({ + dateFormat: "yy/mm/dd", + showOtherMonths: true, + selectOtherMonths: false + }); +}); \ No newline at end of file diff --git a/public/assets/js/pages/task-kanban.init.js b/public/assets/js/pages/task-kanban.init.js new file mode 100644 index 0000000..874c8a8 --- /dev/null +++ b/public/assets/js/pages/task-kanban.init.js @@ -0,0 +1,13 @@ +/* +Template Name: Qovex - Responsive Bootstrap 4 Admin Dashboard +Author: Themesbrand +Website: https://themesbrand.com/ +Contact: themesbrand@gmail.com +File: Task karban +*/ + +dragula([ + document.getElementById("upcoming-task"), + document.getElementById("inprogress-task"), + document.getElementById("complete-task") +]); \ No newline at end of file diff --git a/public/assets/js/pages/tasklist.init.js b/public/assets/js/pages/tasklist.init.js new file mode 100644 index 0000000..77db87f --- /dev/null +++ b/public/assets/js/pages/tasklist.init.js @@ -0,0 +1,94 @@ +/* +Template Name: Qovex - Responsive Bootstrap 4 Admin Dashboard +Author: Themesbrand +Website: https://themesbrand.com/ +Contact: themesbrand@gmail.com +File: Tasklist +*/ + +Apex.chart = { + fontFamily: 'inherit', + locales: [{ + "name": "fa", + "options": { + "months": ["ژانویه", "فوریه", "مارس", "آوریل", "می", "ژوئن", "جولای", "آگوست", "سپتامبر", "اکتبر", "نوامبر", "دسامبر"], + "shortMonths": ["ژانویه", "فوریه", "مارس", "آوریل", "می", "ژوئن", "جولای", "آگوست", "سپتامبر", "اکتبر", "نوامبر", "دسامبر"], + "days": ["یکشنبه", "دوشنبه", "سه‌شنبه", "چهارشنبه", "پنجشنبه", "جمعه", "شنبه"], + "shortDays": ["ی", "د", "س", "چ", "پ", "ج", "ش"], + "toolbar": { + "exportToSVG": "دریافت SVG", + "exportToPNG": "دریافت PNG", + "exportToCSV": "دریافت CSV", + "menu": "فهرست", + "selection": "انتخاب", + "selectionZoom": "بزرگنمایی قسمت انتخاب شده", + "zoomIn": "بزرگ نمایی", + "zoomOut": "کوچک نمایی", + "pan": "جا به جایی", + "reset": "بازنشانی بزرگ نمایی" + } + } + }], + defaultLocale: "fa" +} + +var options = { + chart: { + height: 280, + type: 'line', + stacked: false, + toolbar: { + show: false, + } + }, + stroke: { + width: [0, 2, 5], + curve: 'smooth' + }, + plotOptions: { + bar: { + columnWidth: '20%', + endingShape: 'rounded' + } + }, + colors: ['#3b5de7', '#EEB902'], + series: [ + { + name: 'وظایف تکمیل شده', + type: 'column', + data: [23, 11, 22, 27, 13, 22, 52, 21, 44, 22, 30] + }, + { + name: 'همه وظایف', + type: 'line', + data: [23, 11, 34, 27, 17, 22, 62, 32, 44, 22, 39] + } + ], + fill: { + gradient: { + inverseColors: false, + shade: 'light', + type: "vertical", + opacityFrom: 0.85, + opacityTo: 0.55, + stops: [0, 100, 100, 100] + } + }, + labels: ['فروردین', 'اردیبهشت', 'خرداد', 'تیر', 'مرداد', 'شهریور', 'مهر', 'آبان', 'آذر', 'دی', 'بهمن'], + markers: { + size: 0 + }, + yaxis: { + min: 0 + }, + legend: { + offsetY: 7 + } +} + +var chart = new ApexCharts( + document.querySelector("#task-chart"), + options +); + +chart.render(); \ No newline at end of file diff --git a/public/assets/js/pages/vector-maps.init.js b/public/assets/js/pages/vector-maps.init.js new file mode 100644 index 0000000..ae49e82 --- /dev/null +++ b/public/assets/js/pages/vector-maps.init.js @@ -0,0 +1,180 @@ +/* +Template Name: Qovex - Responsive Bootstrap 4 Admin Dashboard +Author: Themesbrand +Website: https://themesbrand.com/ +Contact: themesbrand@gmail.com +File: Vector maps +*/ + +! function($) { + "use strict"; + + var VectorMap = function() { + }; + + VectorMap.prototype.init = function() { + //various examples + $('#world-map-markers').vectorMap({ + map : 'world_mill_en', + normalizeFunction : 'polynomial', + hoverOpacity : 0.7, + hoverColor : false, + regionStyle : { + initial : { + fill : '#d4dadd' + } + }, + markerStyle: { + initial: { + r: 9, + 'fill': '#3b5de7', + 'fill-opacity': 0.9, + 'stroke': '#fff', + 'stroke-width' : 7, + 'stroke-opacity': 0.4 + }, + + hover: { + 'stroke': '#fff', + 'fill-opacity': 1, + 'stroke-width': 1.5 + } + }, + backgroundColor : 'transparent', + markers : [{ + latLng : [41.90, 12.45], + name : 'Vatican City' + }, { + latLng : [43.73, 7.41], + name : 'Monaco' + }, { + latLng : [-0.52, 166.93], + name : 'Nauru' + }, { + latLng : [-8.51, 179.21], + name : 'Tuvalu' + }, { + latLng : [43.93, 12.46], + name : 'San Marino' + }, { + latLng : [47.14, 9.52], + name : 'Liechtenstein' + }, { + latLng : [7.11, 171.06], + name : 'Marshall Islands' + }, { + latLng : [17.3, -62.73], + name : 'Saint Kitts and Nevis' + }, { + latLng : [3.2, 73.22], + name : 'Maldives' + }, { + latLng : [35.88, 14.5], + name : 'Malta' + }, { + latLng : [12.05, -61.75], + name : 'Grenada' + }, { + latLng : [13.16, -61.23], + name : 'Saint Vincent and the Grenadines' + }, { + latLng : [13.16, -59.55], + name : 'Barbados' + }, { + latLng : [17.11, -61.85], + name : 'Antigua and Barbuda' + }, { + latLng : [-4.61, 55.45], + name : 'Seychelles' + }, { + latLng : [7.35, 134.46], + name : 'Palau' + }, { + latLng : [42.5, 1.51], + name : 'Andorra' + }, { + latLng : [14.01, -60.98], + name : 'Saint Lucia' + }, { + latLng : [6.91, 158.18], + name : 'Federated States of Micronesia' + }, { + latLng : [1.3, 103.8], + name : 'Singapore' + }, { + latLng : [0.33, 6.73], + name : 'São Tomé and Príncipe' + }] + }); + + $('#usa-vectormap').vectorMap({ + map : 'us_merc_en', + backgroundColor : 'transparent', + regionStyle : { + initial : { + fill : '#3b5de7' + } + } + }); + + $('#india-vectormap').vectorMap({ + map : 'in_mill_en', + backgroundColor : 'transparent', + regionStyle : { + initial : { + fill : '#3b5de7' + } + } + }); + + $('#australia-vectormap').vectorMap({ + map : 'au_mill_en', + backgroundColor : 'transparent', + regionStyle : { + initial : { + fill : '#3b5de7' + } + } + }); + + $('#chicago-vectormap').vectorMap({ + map : 'us-il-chicago_mill_en', + backgroundColor : 'transparent', + regionStyle : { + initial : { + fill : '#3b5de7' + } + } + }); + + $('#uk-vectormap').vectorMap({ + map : 'uk_mill_en', + backgroundColor : 'transparent', + regionStyle : { + initial : { + fill : '#3b5de7' + } + } + }); + + $('#canada-vectormap').vectorMap({ + map : 'ca_lcc_en', + backgroundColor : 'transparent', + regionStyle : { + initial : { + fill : '#3b5de7' + } + } + }); + + }, + //init + $.VectorMap = new VectorMap, $.VectorMap.Constructor = + VectorMap +}(window.jQuery), + +//initializing +function($) { + "use strict"; + $.VectorMap.init() +}(window.jQuery); \ No newline at end of file diff --git a/public/assets/libs/@curiosityx/bootstrap-session-timeout/index.js b/public/assets/libs/@curiosityx/bootstrap-session-timeout/index.js new file mode 100644 index 0000000..5c47922 --- /dev/null +++ b/public/assets/libs/@curiosityx/bootstrap-session-timeout/index.js @@ -0,0 +1 @@ +!function(a){"use strict";a.sessionTimeout=function(b){function c(){n||(a.ajax({type:i.ajaxType,url:i.keepAliveUrl,data:i.ajaxData}),n=!0,setTimeout(function(){n=!1},i.keepAliveInterval))}function d(){clearTimeout(g),(i.countdownMessage||i.countdownBar)&&f("session",!0),"function"==typeof i.onStart&&i.onStart(i),i.keepAlive&&c(),g=setTimeout(function(){"function"!=typeof i.onWarn?a("#session-timeout-dialog").modal("show"):i.onWarn(i),e()},i.warnAfter)}function e(){clearTimeout(g),a("#session-timeout-dialog").hasClass("in")||!i.countdownMessage&&!i.countdownBar||f("dialog",!0),g=setTimeout(function(){"function"!=typeof i.onRedir?window.location=i.redirUrl:i.onRedir(i)},i.redirAfter-i.warnAfter)}function f(b,c){clearTimeout(j.timer),"dialog"===b&&c?j.timeLeft=Math.floor((i.redirAfter-i.warnAfter)/1e3):"session"===b&&c&&(j.timeLeft=Math.floor(i.redirAfter/1e3)),i.countdownBar&&"dialog"===b?j.percentLeft=Math.floor(j.timeLeft/((i.redirAfter-i.warnAfter)/1e3)*100):i.countdownBar&&"session"===b&&(j.percentLeft=Math.floor(j.timeLeft/(i.redirAfter/1e3)*100));var d=a(".countdown-holder"),e=j.timeLeft>=0?j.timeLeft:0;if(i.countdownSmart){var g=Math.floor(e/60),h=e%60,k=g>0?g+"m":"";k.length>0&&(k+=" "),k+=h+"s",d.text(k)}else d.text(e+"s");i.countdownBar&&a(".countdown-bar").css("width",j.percentLeft+"%"),j.timeLeft=j.timeLeft-1,j.timer=setTimeout(function(){f(b)},1e3)}var g,h={title:"Your Session is About to Expire!",message:"Your session is about to expire.",logoutButton:"Logout",keepAliveButton:"Stay Connected",keepAliveUrl:"/keep-alive",ajaxType:"POST",ajaxData:"",redirUrl:"/timed-out",logoutUrl:"/log-out",warnAfter:9e5,redirAfter:12e5,keepAliveInterval:5e3,keepAlive:!0,ignoreUserActivity:!1,onStart:!1,onWarn:!1,onRedir:!1,countdownMessage:!1,countdownBar:!1,countdownSmart:!1},i=h,j={};if(b&&(i=a.extend(h,b)),i.warnAfter>=i.redirAfter)return console.error('Bootstrap-session-timeout plugin is miss-configured. Option "redirAfter" must be equal or greater than "warnAfter".'),!1;if("function"!=typeof i.onWarn){var k=i.countdownMessage?"

"+i.countdownMessage.replace(/{timer}/g,'')+"

":"",l=i.countdownBar?'
':"";a("body").append('"),a("#session-timeout-dialog-logout").on("click",function(){window.location=i.logoutUrl}),a("#session-timeout-dialog").on("hide.bs.modal",function(){d()})}if(!i.ignoreUserActivity){var m=[-1,-1];a(document).on("keyup mouseup mousemove touchend touchmove",function(b){if("mousemove"===b.type){if(b.clientX===m[0]&&b.clientY===m[1])return;m[0]=b.clientX,m[1]=b.clientY}d(),a("#session-timeout-dialog").length>0&&a("#session-timeout-dialog").data("bs.modal")&&a("#session-timeout-dialog").data("bs.modal").isShown&&(a("#session-timeout-dialog").modal("hide"),a("body").removeClass("modal-open"),a("div.modal-backdrop").remove())})}var n=!1;d()}}(jQuery); \ No newline at end of file diff --git a/public/assets/libs/admin-resources/bootstrap-datepicker/css/daterangepicker.css b/public/assets/libs/admin-resources/bootstrap-datepicker/css/daterangepicker.css new file mode 100644 index 0000000..f18b0dd --- /dev/null +++ b/public/assets/libs/admin-resources/bootstrap-datepicker/css/daterangepicker.css @@ -0,0 +1,420 @@ +/* + Created on : Jul 23, 2017, 6:30:10 PM + Author : Atta-Ur-Rehman Shah (http://attacomsian.com) +*/ +.daterangepicker .btn-primary, .daterangepicker .btn-primary:hover, .daterangepicker .btn-primary:focus, +.daterangepicker .btn-primary.disabled, .daterangepicker .btn-primary:disabled{ + background-color: #6200ea; + border-color: #6200ea; +} +.input-daterange input { + text-align: center +} + +.input-daterange input:first-child { + border-bottom-left-radius: 3px; + border-top-left-radius: 3px +} +.input-daterange input:last-child { + border-bottom-right-radius: 3px; + border-top-right-radius: 3px +} +.daterangepicker { + position: absolute; + left: 0; + margin-top: 5px; + width: auto; + padding: 0 +} +.daterangepicker.dropdown-menu { + max-width: none; + background-color: transparent; + border: 0; + z-index: 1000; + -webkit-box-shadow: none; + box-shadow: none +} +.daterangepicker.dropup { + margin-top: -7px +} + +.daterangepicker .calendar, +.daterangepicker .ranges { + float: left +} + +.daterangepicker.opensleft .calendars { + float: left +} + +.daterangepicker.opensright .calendars { + float: right +} + +.daterangepicker.single .calendar { + float: none; + margin-left: 0; + margin-right: 0 +} + +.daterangepicker.single .ranges { + display: none +} + +.daterangepicker.show-calendar .calendar { + display: block +} + +.daterangepicker .calendar { + display: none; + background-color: #fff; + border: 1px solid #ddd; + border-radius: 3px; + margin: 7px; + padding: 14px; + -webkit-box-shadow: 0 1px 3px rgba(0, 0, 0, .1); + box-shadow: 0 1px 3px rgba(0, 0, 0, .1) +} + +.daterangepicker table { + width: 100%; + margin: 0 +} + +.daterangepicker table tbody td, +.daterangepicker table tbody th { + cursor: pointer +} + +.daterangepicker td, +.daterangepicker th { + white-space: nowrap; + text-align: center +} + +.daterangepicker td.week, +.daterangepicker th.week { + font-size: 80%; + color: #ccc +} + +.daterangepicker th { + color: #999; + font-weight: 400; + font-size: 12px +} + +.daterangepicker th>i { + top: 0 +} + +.daterangepicker th.next, +.daterangepicker th.prev { + cursor: pointer +} +.daterangepicker th.next i, +.daterangepicker th.prev i{ + font-size: 20px; +} + +.daterangepicker th.available:focus, +.daterangepicker th.available:hover { + color: #333 +} + +.daterangepicker td.available:focus, +.daterangepicker td.available:hover { + background-color: rgba(200, 200, 200, 0.2); + border-radius: 3px; +} + +.daterangepicker td.disabled, +.daterangepicker td.off { + color: #ccc +} + +.daterangepicker td.disabled { + cursor: not-allowed +} + +.daterangepicker td.in-range { + background-color: rgba(200, 200, 200, 0.2); +} + +.daterangepicker td.active, +.daterangepicker td.active:focus, +.daterangepicker td.active:hover { + background-color: #6200ea; + color: #fff; + border-radius: 3px; +} + +.daterangepicker .table-condensed tr>td, +.daterangepicker .table-condensed tr>th { + padding: 9px; + line-height: 1 +} + +.daterangepicker .table-condensed thead tr:last-child th { + padding-top: 14px +} + +.daterangepicker .table-condensed .month { + font-size: 15px; + line-height: 1; + color: #333; + padding-top: 15px; + padding-bottom: 15px; + font-weight: 400 +} + +.daterangepicker select { + display: inline-block +} + +.daterangepicker select.monthselect { + margin-right: 2%; + width: 56% +} + +.daterangepicker select.yearselect { + width: 40% +} + +.daterangepicker select.ampmselect, +.daterangepicker select.hourselect, +.daterangepicker select.minuteselect, +.daterangepicker select.secondselect { + width: 60px; + padding-left: 0; + padding-right: 0; + margin-bottom: 0; +} + +.daterangepicker .daterangepicker_input { + position: relative +} + +.daterangepicker .daterangepicker_input i { + position: absolute; + right: 11px; + top: auto; + bottom: 2px; + color: #999; + font-size: 24px; +} + +.daterangepicker .daterangepicker_input input { + padding-left: 11px; + padding-right: 34px +} + +.daterangepicker .calendar-time { + text-align: center; + margin: 12px 0 +} + +.daterangepicker .calendar-time select.disabled { + color: #ccc; + cursor: not-allowed +} + +.ranges { + background-color: #fff; + position: relative; + border: 1px solid #ddd; + border-radius: 3px; + width: 200px; + margin-top: 7px; + -webkit-box-shadow: 0 1px 3px rgba(0, 0, 0, .1); + box-shadow: 0 1px 3px rgba(0, 0, 0, .1) +} + +.opensright .ranges { + margin-left: 0 +} + +.opensleft .ranges { + margin-right: 0 +} + +.ranges ul { + list-style: none; + margin: 0; + padding: 7px 0 +} + +.ranges ul+.daterangepicker-inputs { + border-top: 1px solid #e5e5e5 +} + +.ranges ul li { + color: #333; + padding: 8px 12px; + cursor: pointer; + margin-top: 1px +} + +.ranges ul li:first-child { + margin-top: 0 +} + +.ranges ul li:focus, +.ranges ul li:hover { + background-color: rgba(200, 200, 200, 0.2) +} + +.ranges ul li.active { + color: #fff; + background-color: #6200ea +} + +.ranges .daterangepicker-inputs { + padding: 12px; + padding-top: 19px +} + +.ranges .daterangepicker-inputs .daterangepicker_input+.daterangepicker_input { + margin-top: 19px +} + +.ranges .daterangepicker-inputs .daterangepicker_input>span { + display: block; + font-size: 12px; + margin-bottom: 7px; + color: #999 +} + +.ranges .daterangepicker-inputs+.range_inputs { + border-top: 1px solid #e5e5e5 +} + +.ranges .range_inputs { + padding: 12px +} + +.ranges .range_inputs .btn { + display: block; + width: 100% +} + +.ranges .range_inputs .btn+.btn { + margin-top: 12px +} + +@media (min-width:769px) { + .ranges { + margin: 7px + } +} + +.daterange-custom { + cursor: pointer +} + +.daterange-custom:after { + content: ''; + display: table; + clear: both +} + +.daterange-custom .badge, +.daterange-custom .label { + margin: 4px 0 0 7px; + vertical-align: top +} + +.daterange-custom .label-icon { + margin-top: 0; + margin-right: 5px +} + +.daterange-custom-display { + display: inline-block; + position: relative; + padding-left: 21px; + line-height: 1 +} + +.daterange-custom-display:after { + content: '\e9c9'; + font-family: icomoon; + display: inline-block; + position: absolute; + top: 50%; + left: 0; + margin-top: -8px; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; + -webkit-transition: all ease-in-out .2s; + -o-transition: all ease-in-out .2s; + transition: all ease-in-out .2s +} + +.daterange-custom.is-opened .daterange-custom-display:after { + -webkit-transform: rotate(180deg); + -ms-transform: rotate(180deg); + -o-transform: rotate(180deg); + transform: rotate(180deg) +} + +.daterange-custom-display>i { + display: inline-block; + font-size: 28px; + font-weight: 400; + font-style: normal; + letter-spacing: -.015em +} + +.daterange-custom-display b { + display: inline-block; + margin-left: 4px; + font-weight: 400 +} + +.daterange-custom-display b>i { + font-size: 11px; + display: block; + line-height: 12px; + text-transform: uppercase; + font-style: normal; + font-weight: 400 +} + +.daterange-custom-display em { + line-height: 30px; + vertical-align: top; + margin: 0 4px +} + +@media (max-width:769px) { + .opensleft, + .opensright { + left: 0!important; + right: 0 + } + .opensleft .calendars, + .opensright .calendars { + float: none + } + .daterangepicker.opensleft .calendar, + .daterangepicker.opensleft .calendars, + .daterangepicker.opensleft .ranges, + .daterangepicker.opensright .calendar, + .daterangepicker.opensright .calendars, + .daterangepicker.opensright .ranges { + float: none + } + .daterangepicker { + width: 100%; + padding-left: 20px; + padding-right: 20px + } + .daterangepicker .calendar { + margin-left: 0; + margin-right: 0 + } + .daterangepicker .ranges { + width: 100% + } +} diff --git a/public/assets/libs/admin-resources/bootstrap-datepicker/js/daterangepicker.js b/public/assets/libs/admin-resources/bootstrap-datepicker/js/daterangepicker.js new file mode 100644 index 0000000..be02e73 --- /dev/null +++ b/public/assets/libs/admin-resources/bootstrap-datepicker/js/daterangepicker.js @@ -0,0 +1,1624 @@ +/** +* @version: 2.1.25 +* @author: Dan Grossman http://www.dangrossman.info/ +* @copyright: Copyright (c) 2012-2017 Dan Grossman. All rights reserved. +* @license: Licensed under the MIT license. See http://www.opensource.org/licenses/mit-license.php +* @website: https://www.daterangepicker.com/ +*/ +// Follow the UMD template https://github.com/umdjs/umd/blob/master/templates/returnExportsGlobal.js +(function (root, factory) { + if (typeof define === 'function' && define.amd) { + // AMD. Make globaly available as well + define(['moment', 'jquery'], function (moment, jquery) { + return (root.daterangepicker = factory(moment, jquery)); + }); + } else if (typeof module === 'object' && module.exports) { + // Node / Browserify + //isomorphic issue + var jQuery = (typeof window != 'undefined') ? window.jQuery : undefined; + if (!jQuery) { + jQuery = require('jquery'); + if (!jQuery.fn) jQuery.fn = {}; + } + module.exports = factory(require('moment'), jQuery); + } else { + // Browser globals + root.daterangepicker = factory(root.moment, root.jQuery); + } +}(this, function(moment, $) { + var DateRangePicker = function(element, options, cb) { + + //default settings for options + this.parentEl = 'body'; + this.element = $(element); + this.startDate = moment().startOf('day'); + this.endDate = moment().endOf('day'); + this.minDate = false; + this.maxDate = false; + this.dateLimit = false; + this.autoApply = false; + this.singleDatePicker = false; + this.showDropdowns = false; + this.showWeekNumbers = false; + this.showISOWeekNumbers = false; + this.showCustomRangeLabel = true; + this.timePicker = false; + this.timePicker24Hour = false; + this.timePickerIncrement = 1; + this.timePickerSeconds = false; + this.linkedCalendars = true; + this.autoUpdateInput = true; + this.alwaysShowCalendars = false; + this.ranges = {}; + + this.opens = 'right'; + if (this.element.hasClass('pull-right')) + this.opens = 'left'; + + this.drops = 'down'; + if (this.element.hasClass('dropup')) + this.drops = 'up'; + + this.buttonClasses = 'btn'; + this.applyClass = 'btn-primary'; + this.cancelClass = 'btn-secondary'; + + this.locale = { + direction: 'ltr', + format: moment.localeData().longDateFormat('L'), + separator: ' - ', + applyLabel: 'Apply', + cancelLabel: 'Cancel', + weekLabel: 'W', + customRangeLabel: 'Custom Range', + daysOfWeek: moment.weekdaysMin(), + monthNames: moment.monthsShort(), + firstDay: moment.localeData().firstDayOfWeek() + }; + + this.callback = function() { }; + + //some state information + this.isShowing = false; + this.leftCalendar = {}; + this.rightCalendar = {}; + + //custom options from user + if (typeof options !== 'object' || options === null) + options = {}; + + //allow setting options with data attributes + //data-api options will be overwritten with custom javascript options + options = $.extend(this.element.data(), options); + + //html template for the picker UI + if (typeof options.template !== 'string' && !(options.template instanceof $)) + options.template = ''; + + this.parentEl = (options.parentEl && $(options.parentEl).length) ? $(options.parentEl) : $(this.parentEl); + this.container = $(options.template).appendTo(this.parentEl); + + // + // handle all the possible options overriding defaults + // + + if (typeof options.locale === 'object') { + + if (typeof options.locale.direction === 'string') + this.locale.direction = options.locale.direction; + + if (typeof options.locale.format === 'string') + this.locale.format = options.locale.format; + + if (typeof options.locale.separator === 'string') + this.locale.separator = options.locale.separator; + + if (typeof options.locale.daysOfWeek === 'object') + this.locale.daysOfWeek = options.locale.daysOfWeek.slice(); + + if (typeof options.locale.monthNames === 'object') + this.locale.monthNames = options.locale.monthNames.slice(); + + if (typeof options.locale.firstDay === 'number') + this.locale.firstDay = options.locale.firstDay; + + if (typeof options.locale.applyLabel === 'string') + this.locale.applyLabel = options.locale.applyLabel; + + if (typeof options.locale.cancelLabel === 'string') + this.locale.cancelLabel = options.locale.cancelLabel; + + if (typeof options.locale.weekLabel === 'string') + this.locale.weekLabel = options.locale.weekLabel; + + if (typeof options.locale.customRangeLabel === 'string'){ + //Support unicode chars in the custom range name. + var elem = document.createElement('textarea'); + elem.innerHTML = options.locale.customRangeLabel; + var rangeHtml = elem.value; + this.locale.customRangeLabel = rangeHtml; + } + } + this.container.addClass(this.locale.direction); + + if (typeof options.startDate === 'string') + this.startDate = moment(options.startDate, this.locale.format); + + if (typeof options.endDate === 'string') + this.endDate = moment(options.endDate, this.locale.format); + + if (typeof options.minDate === 'string') + this.minDate = moment(options.minDate, this.locale.format); + + if (typeof options.maxDate === 'string') + this.maxDate = moment(options.maxDate, this.locale.format); + + if (typeof options.startDate === 'object') + this.startDate = moment(options.startDate); + + if (typeof options.endDate === 'object') + this.endDate = moment(options.endDate); + + if (typeof options.minDate === 'object') + this.minDate = moment(options.minDate); + + if (typeof options.maxDate === 'object') + this.maxDate = moment(options.maxDate); + + // sanity check for bad options + if (this.minDate && this.startDate.isBefore(this.minDate)) + this.startDate = this.minDate.clone(); + + // sanity check for bad options + if (this.maxDate && this.endDate.isAfter(this.maxDate)) + this.endDate = this.maxDate.clone(); + + if (typeof options.applyClass === 'string') + this.applyClass = options.applyClass; + + if (typeof options.cancelClass === 'string') + this.cancelClass = options.cancelClass; + + if (typeof options.dateLimit === 'object') + this.dateLimit = options.dateLimit; + + if (typeof options.opens === 'string') + this.opens = options.opens; + + if (typeof options.drops === 'string') + this.drops = options.drops; + + if (typeof options.showWeekNumbers === 'boolean') + this.showWeekNumbers = options.showWeekNumbers; + + if (typeof options.showISOWeekNumbers === 'boolean') + this.showISOWeekNumbers = options.showISOWeekNumbers; + + if (typeof options.buttonClasses === 'string') + this.buttonClasses = options.buttonClasses; + + if (typeof options.buttonClasses === 'object') + this.buttonClasses = options.buttonClasses.join(' '); + + if (typeof options.showDropdowns === 'boolean') + this.showDropdowns = options.showDropdowns; + + if (typeof options.showCustomRangeLabel === 'boolean') + this.showCustomRangeLabel = options.showCustomRangeLabel; + + if (typeof options.singleDatePicker === 'boolean') { + this.singleDatePicker = options.singleDatePicker; + if (this.singleDatePicker) + this.endDate = this.startDate.clone(); + } + + if (typeof options.timePicker === 'boolean') + this.timePicker = options.timePicker; + + if (typeof options.timePickerSeconds === 'boolean') + this.timePickerSeconds = options.timePickerSeconds; + + if (typeof options.timePickerIncrement === 'number') + this.timePickerIncrement = options.timePickerIncrement; + + if (typeof options.timePicker24Hour === 'boolean') + this.timePicker24Hour = options.timePicker24Hour; + + if (typeof options.autoApply === 'boolean') + this.autoApply = options.autoApply; + + if (typeof options.autoUpdateInput === 'boolean') + this.autoUpdateInput = options.autoUpdateInput; + + if (typeof options.linkedCalendars === 'boolean') + this.linkedCalendars = options.linkedCalendars; + + if (typeof options.isInvalidDate === 'function') + this.isInvalidDate = options.isInvalidDate; + + if (typeof options.isCustomDate === 'function') + this.isCustomDate = options.isCustomDate; + + if (typeof options.alwaysShowCalendars === 'boolean') + this.alwaysShowCalendars = options.alwaysShowCalendars; + + // update day names order to firstDay + if (this.locale.firstDay != 0) { + var iterator = this.locale.firstDay; + while (iterator > 0) { + this.locale.daysOfWeek.push(this.locale.daysOfWeek.shift()); + iterator--; + } + } + + var start, end, range; + + //if no start/end dates set, check if an input element contains initial values + if (typeof options.startDate === 'undefined' && typeof options.endDate === 'undefined') { + if ($(this.element).is('input[type=text]')) { + var val = $(this.element).val(), + split = val.split(this.locale.separator); + + start = end = null; + + if (split.length == 2) { + start = moment(split[0], this.locale.format); + end = moment(split[1], this.locale.format); + } else if (this.singleDatePicker && val !== "") { + start = moment(val, this.locale.format); + end = moment(val, this.locale.format); + } + if (start !== null && end !== null) { + this.setStartDate(start); + this.setEndDate(end); + } + } + } + + if (typeof options.ranges === 'object') { + for (range in options.ranges) { + + if (typeof options.ranges[range][0] === 'string') + start = moment(options.ranges[range][0], this.locale.format); + else + start = moment(options.ranges[range][0]); + + if (typeof options.ranges[range][1] === 'string') + end = moment(options.ranges[range][1], this.locale.format); + else + end = moment(options.ranges[range][1]); + + // If the start or end date exceed those allowed by the minDate or dateLimit + // options, shorten the range to the allowable period. + if (this.minDate && start.isBefore(this.minDate)) + start = this.minDate.clone(); + + var maxDate = this.maxDate; + if (this.dateLimit && maxDate && start.clone().add(this.dateLimit).isAfter(maxDate)) + maxDate = start.clone().add(this.dateLimit); + if (maxDate && end.isAfter(maxDate)) + end = maxDate.clone(); + + // If the end of the range is before the minimum or the start of the range is + // after the maximum, don't display this range option at all. + if ((this.minDate && end.isBefore(this.minDate, this.timepicker ? 'minute' : 'day')) + || (maxDate && start.isAfter(maxDate, this.timepicker ? 'minute' : 'day'))) + continue; + + //Support unicode chars in the range names. + var elem = document.createElement('textarea'); + elem.innerHTML = range; + var rangeHtml = elem.value; + + this.ranges[rangeHtml] = [start, end]; + } + + var list = '
    '; + for (range in this.ranges) { + list += '
  • ' + range + '
  • '; + } + if (this.showCustomRangeLabel) { + list += '
  • ' + this.locale.customRangeLabel + '
  • '; + } + list += '
'; + this.container.find('.ranges').prepend(list); + } + + if (typeof cb === 'function') { + this.callback = cb; + } + + if (!this.timePicker) { + this.startDate = this.startDate.startOf('day'); + this.endDate = this.endDate.endOf('day'); + this.container.find('.calendar-time').hide(); + } + + //can't be used together for now + if (this.timePicker && this.autoApply) + this.autoApply = false; + + if (this.autoApply && typeof options.ranges !== 'object') { + this.container.find('.ranges').hide(); + } else if (this.autoApply) { + this.container.find('.applyBtn, .cancelBtn').addClass('hide'); + } + + if (this.singleDatePicker) { + this.container.addClass('single'); + this.container.find('.calendar.left').addClass('single'); + this.container.find('.calendar.left').show(); + this.container.find('.calendar.right').hide(); + this.container.find('.daterangepicker_input input, .daterangepicker_input > i').hide(); + if (this.timePicker) { + this.container.find('.ranges ul').hide(); + } else { + this.container.find('.ranges').hide(); + } + } + + if ((typeof options.ranges === 'undefined' && !this.singleDatePicker) || this.alwaysShowCalendars) { + this.container.addClass('show-calendar'); + } + + this.container.addClass('opens' + this.opens); + + //swap the position of the predefined ranges if opens right + if (typeof options.ranges !== 'undefined' && this.opens == 'right') { + this.container.find('.ranges').prependTo( this.container.find('.calendar.left').parent() ); + } + + //apply CSS classes and labels to buttons + this.container.find('.applyBtn, .cancelBtn').addClass(this.buttonClasses); + if (this.applyClass.length) + this.container.find('.applyBtn').addClass(this.applyClass); + if (this.cancelClass.length) + this.container.find('.cancelBtn').addClass(this.cancelClass); + this.container.find('.applyBtn').html(this.locale.applyLabel); + this.container.find('.cancelBtn').html(this.locale.cancelLabel); + + // + // event listeners + // + + this.container.find('.calendar') + .on('click.daterangepicker', '.prev', $.proxy(this.clickPrev, this)) + .on('click.daterangepicker', '.next', $.proxy(this.clickNext, this)) + .on('mousedown.daterangepicker', 'td.available', $.proxy(this.clickDate, this)) + .on('mouseenter.daterangepicker', 'td.available', $.proxy(this.hoverDate, this)) + .on('mouseleave.daterangepicker', 'td.available', $.proxy(this.updateFormInputs, this)) + .on('change.daterangepicker', 'select.yearselect', $.proxy(this.monthOrYearChanged, this)) + .on('change.daterangepicker', 'select.monthselect', $.proxy(this.monthOrYearChanged, this)) + .on('change.daterangepicker', 'select.hourselect,select.minuteselect,select.secondselect,select.ampmselect', $.proxy(this.timeChanged, this)) + .on('click.daterangepicker', '.daterangepicker_input input', $.proxy(this.showCalendars, this)) + .on('focus.daterangepicker', '.daterangepicker_input input', $.proxy(this.formInputsFocused, this)) + .on('blur.daterangepicker', '.daterangepicker_input input', $.proxy(this.formInputsBlurred, this)) + .on('change.daterangepicker', '.daterangepicker_input input', $.proxy(this.formInputsChanged, this)); + + this.container.find('.ranges') + .on('click.daterangepicker', 'button.applyBtn', $.proxy(this.clickApply, this)) + .on('click.daterangepicker', 'button.cancelBtn', $.proxy(this.clickCancel, this)) + .on('click.daterangepicker', 'li', $.proxy(this.clickRange, this)) + .on('mouseenter.daterangepicker', 'li', $.proxy(this.hoverRange, this)) + .on('mouseleave.daterangepicker', 'li', $.proxy(this.updateFormInputs, this)); + + if (this.element.is('input') || this.element.is('button')) { + this.element.on({ + 'click.daterangepicker': $.proxy(this.show, this), + 'focus.daterangepicker': $.proxy(this.show, this), + 'keyup.daterangepicker': $.proxy(this.elementChanged, this), + 'keydown.daterangepicker': $.proxy(this.keydown, this) + }); + } else { + this.element.on('click.daterangepicker', $.proxy(this.toggle, this)); + } + + // + // if attached to a text input, set the initial value + // + + if (this.element.is('input') && !this.singleDatePicker && this.autoUpdateInput) { + this.element.val(this.startDate.format(this.locale.format) + this.locale.separator + this.endDate.format(this.locale.format)); + this.element.trigger('change'); + } else if (this.element.is('input') && this.autoUpdateInput) { + this.element.val(this.startDate.format(this.locale.format)); + this.element.trigger('change'); + } + + }; + + DateRangePicker.prototype = { + + constructor: DateRangePicker, + + setStartDate: function(startDate) { + if (typeof startDate === 'string') + this.startDate = moment(startDate, this.locale.format); + + if (typeof startDate === 'object') + this.startDate = moment(startDate); + + if (!this.timePicker) + this.startDate = this.startDate.startOf('day'); + + if (this.timePicker && this.timePickerIncrement) + this.startDate.minute(Math.round(this.startDate.minute() / this.timePickerIncrement) * this.timePickerIncrement); + + if (this.minDate && this.startDate.isBefore(this.minDate)) { + this.startDate = this.minDate.clone(); + if (this.timePicker && this.timePickerIncrement) + this.startDate.minute(Math.round(this.startDate.minute() / this.timePickerIncrement) * this.timePickerIncrement); + } + + if (this.maxDate && this.startDate.isAfter(this.maxDate)) { + this.startDate = this.maxDate.clone(); + if (this.timePicker && this.timePickerIncrement) + this.startDate.minute(Math.floor(this.startDate.minute() / this.timePickerIncrement) * this.timePickerIncrement); + } + + if (!this.isShowing) + this.updateElement(); + + this.updateMonthsInView(); + }, + + setEndDate: function(endDate) { + if (typeof endDate === 'string') + this.endDate = moment(endDate, this.locale.format); + + if (typeof endDate === 'object') + this.endDate = moment(endDate); + + if (!this.timePicker) + this.endDate = this.endDate.endOf('day'); + + if (this.timePicker && this.timePickerIncrement) + this.endDate.minute(Math.round(this.endDate.minute() / this.timePickerIncrement) * this.timePickerIncrement); + + if (this.endDate.isBefore(this.startDate)) + this.endDate = this.startDate.clone(); + + if (this.maxDate && this.endDate.isAfter(this.maxDate)) + this.endDate = this.maxDate.clone(); + + if (this.dateLimit && this.startDate.clone().add(this.dateLimit).isBefore(this.endDate)) + this.endDate = this.startDate.clone().add(this.dateLimit); + + this.previousRightTime = this.endDate.clone(); + + if (!this.isShowing) + this.updateElement(); + + this.updateMonthsInView(); + }, + + isInvalidDate: function() { + return false; + }, + + isCustomDate: function() { + return false; + }, + + updateView: function() { + if (this.timePicker) { + this.renderTimePicker('left'); + this.renderTimePicker('right'); + if (!this.endDate) { + this.container.find('.right .calendar-time select').attr('disabled', 'disabled').addClass('disabled'); + } else { + this.container.find('.right .calendar-time select').removeAttr('disabled').removeClass('disabled'); + } + } + if (this.endDate) { + this.container.find('input[name="daterangepicker_end"]').removeClass('active'); + this.container.find('input[name="daterangepicker_start"]').addClass('active'); + } else { + this.container.find('input[name="daterangepicker_end"]').addClass('active'); + this.container.find('input[name="daterangepicker_start"]').removeClass('active'); + } + this.updateMonthsInView(); + this.updateCalendars(); + this.updateFormInputs(); + }, + + updateMonthsInView: function() { + if (this.endDate) { + + //if both dates are visible already, do nothing + if (!this.singleDatePicker && this.leftCalendar.month && this.rightCalendar.month && + (this.startDate.format('YYYY-MM') == this.leftCalendar.month.format('YYYY-MM') || this.startDate.format('YYYY-MM') == this.rightCalendar.month.format('YYYY-MM')) + && + (this.endDate.format('YYYY-MM') == this.leftCalendar.month.format('YYYY-MM') || this.endDate.format('YYYY-MM') == this.rightCalendar.month.format('YYYY-MM')) + ) { + return; + } + + this.leftCalendar.month = this.startDate.clone().date(2); + if (!this.linkedCalendars && (this.endDate.month() != this.startDate.month() || this.endDate.year() != this.startDate.year())) { + this.rightCalendar.month = this.endDate.clone().date(2); + } else { + this.rightCalendar.month = this.startDate.clone().date(2).add(1, 'month'); + } + + } else { + if (this.leftCalendar.month.format('YYYY-MM') != this.startDate.format('YYYY-MM') && this.rightCalendar.month.format('YYYY-MM') != this.startDate.format('YYYY-MM')) { + this.leftCalendar.month = this.startDate.clone().date(2); + this.rightCalendar.month = this.startDate.clone().date(2).add(1, 'month'); + } + } + if (this.maxDate && this.linkedCalendars && !this.singleDatePicker && this.rightCalendar.month > this.maxDate) { + this.rightCalendar.month = this.maxDate.clone().date(2); + this.leftCalendar.month = this.maxDate.clone().date(2).subtract(1, 'month'); + } + }, + + updateCalendars: function() { + + if (this.timePicker) { + var hour, minute, second; + if (this.endDate) { + hour = parseInt(this.container.find('.left .hourselect').val(), 10); + minute = parseInt(this.container.find('.left .minuteselect').val(), 10); + second = this.timePickerSeconds ? parseInt(this.container.find('.left .secondselect').val(), 10) : 0; + if (!this.timePicker24Hour) { + var ampm = this.container.find('.left .ampmselect').val(); + if (ampm === 'PM' && hour < 12) + hour += 12; + if (ampm === 'AM' && hour === 12) + hour = 0; + } + } else { + hour = parseInt(this.container.find('.right .hourselect').val(), 10); + minute = parseInt(this.container.find('.right .minuteselect').val(), 10); + second = this.timePickerSeconds ? parseInt(this.container.find('.right .secondselect').val(), 10) : 0; + if (!this.timePicker24Hour) { + var ampm = this.container.find('.right .ampmselect').val(); + if (ampm === 'PM' && hour < 12) + hour += 12; + if (ampm === 'AM' && hour === 12) + hour = 0; + } + } + this.leftCalendar.month.hour(hour).minute(minute).second(second); + this.rightCalendar.month.hour(hour).minute(minute).second(second); + } + + this.renderCalendar('left'); + this.renderCalendar('right'); + + //highlight any predefined range matching the current start and end dates + this.container.find('.ranges li').removeClass('active'); + if (this.endDate == null) return; + + this.calculateChosenLabel(); + }, + + renderCalendar: function(side) { + + // + // Build the matrix of dates that will populate the calendar + // + + var calendar = side == 'left' ? this.leftCalendar : this.rightCalendar; + var month = calendar.month.month(); + var year = calendar.month.year(); + var hour = calendar.month.hour(); + var minute = calendar.month.minute(); + var second = calendar.month.second(); + var daysInMonth = moment([year, month]).daysInMonth(); + var firstDay = moment([year, month, 1]); + var lastDay = moment([year, month, daysInMonth]); + var lastMonth = moment(firstDay).subtract(1, 'month').month(); + var lastYear = moment(firstDay).subtract(1, 'month').year(); + var daysInLastMonth = moment([lastYear, lastMonth]).daysInMonth(); + var dayOfWeek = firstDay.day(); + + //initialize a 6 rows x 7 columns array for the calendar + var calendar = []; + calendar.firstDay = firstDay; + calendar.lastDay = lastDay; + + for (var i = 0; i < 6; i++) { + calendar[i] = []; + } + + //populate the calendar with date objects + var startDay = daysInLastMonth - dayOfWeek + this.locale.firstDay + 1; + if (startDay > daysInLastMonth) + startDay -= 7; + + if (dayOfWeek == this.locale.firstDay) + startDay = daysInLastMonth - 6; + + var curDate = moment([lastYear, lastMonth, startDay, 12, minute, second]); + + var col, row; + for (var i = 0, col = 0, row = 0; i < 42; i++, col++, curDate = moment(curDate).add(24, 'hour')) { + if (i > 0 && col % 7 === 0) { + col = 0; + row++; + } + calendar[row][col] = curDate.clone().hour(hour).minute(minute).second(second); + curDate.hour(12); + + if (this.minDate && calendar[row][col].format('YYYY-MM-DD') == this.minDate.format('YYYY-MM-DD') && calendar[row][col].isBefore(this.minDate) && side == 'left') { + calendar[row][col] = this.minDate.clone(); + } + + if (this.maxDate && calendar[row][col].format('YYYY-MM-DD') == this.maxDate.format('YYYY-MM-DD') && calendar[row][col].isAfter(this.maxDate) && side == 'right') { + calendar[row][col] = this.maxDate.clone(); + } + + } + + //make the calendar object available to hoverDate/clickDate + if (side == 'left') { + this.leftCalendar.calendar = calendar; + } else { + this.rightCalendar.calendar = calendar; + } + + // + // Display the calendar + // + + var minDate = side == 'left' ? this.minDate : this.startDate; + var maxDate = this.maxDate; + var selected = side == 'left' ? this.startDate : this.endDate; + var arrow = this.locale.direction == 'ltr' ? {left: 'left', right: 'right'} : {left: 'right', right: 'left'}; + + var html = ''; + html += ''; + html += ''; + + // add empty cell for week number + if (this.showWeekNumbers || this.showISOWeekNumbers) + html += ''; + + if ((!minDate || minDate.isBefore(calendar.firstDay)) && (!this.linkedCalendars || side == 'left')) { + html += ''; + } else { + html += ''; + } + + var dateHtml = this.locale.monthNames[calendar[1][1].month()] + calendar[1][1].format(" YYYY"); + + if (this.showDropdowns) { + var currentMonth = calendar[1][1].month(); + var currentYear = calendar[1][1].year(); + var maxYear = (maxDate && maxDate.year()) || (currentYear + 5); + var minYear = (minDate && minDate.year()) || (currentYear - 50); + var inMinYear = currentYear == minYear; + var inMaxYear = currentYear == maxYear; + + var monthHtml = '"; + + var yearHtml = ''; + + dateHtml = monthHtml + yearHtml; + } + + html += ''; + if ((!maxDate || maxDate.isAfter(calendar.lastDay)) && (!this.linkedCalendars || side == 'right' || this.singleDatePicker)) { + html += ''; + } else { + html += ''; + } + + html += ''; + html += ''; + + // add week number label + if (this.showWeekNumbers || this.showISOWeekNumbers) + html += ''; + + $.each(this.locale.daysOfWeek, function(index, dayOfWeek) { + html += ''; + }); + + html += ''; + html += ''; + html += ''; + + //adjust maxDate to reflect the dateLimit setting in order to + //grey out end dates beyond the dateLimit + if (this.endDate == null && this.dateLimit) { + var maxLimit = this.startDate.clone().add(this.dateLimit).endOf('day'); + if (!maxDate || maxLimit.isBefore(maxDate)) { + maxDate = maxLimit; + } + } + + for (var row = 0; row < 6; row++) { + html += ''; + + // add week number + if (this.showWeekNumbers) + html += ''; + else if (this.showISOWeekNumbers) + html += ''; + + for (var col = 0; col < 7; col++) { + + var classes = []; + + //highlight today's date + if (calendar[row][col].isSame(new Date(), "day")) + classes.push('today'); + + //highlight weekends + if (calendar[row][col].isoWeekday() > 5) + classes.push('weekend'); + + //grey out the dates in other months displayed at beginning and end of this calendar + if (calendar[row][col].month() != calendar[1][1].month()) + classes.push('off'); + + //don't allow selection of dates before the minimum date + if (this.minDate && calendar[row][col].isBefore(this.minDate, 'day')) + classes.push('off', 'disabled'); + + //don't allow selection of dates after the maximum date + if (maxDate && calendar[row][col].isAfter(maxDate, 'day')) + classes.push('off', 'disabled'); + + //don't allow selection of date if a custom function decides it's invalid + if (this.isInvalidDate(calendar[row][col])) + classes.push('off', 'disabled'); + + //highlight the currently selected start date + if (calendar[row][col].format('YYYY-MM-DD') == this.startDate.format('YYYY-MM-DD')) + classes.push('active', 'start-date'); + + //highlight the currently selected end date + if (this.endDate != null && calendar[row][col].format('YYYY-MM-DD') == this.endDate.format('YYYY-MM-DD')) + classes.push('active', 'end-date'); + + //highlight dates in-between the selected dates + if (this.endDate != null && calendar[row][col] > this.startDate && calendar[row][col] < this.endDate) + classes.push('in-range'); + + //apply custom classes for this date + var isCustom = this.isCustomDate(calendar[row][col]); + if (isCustom !== false) { + if (typeof isCustom === 'string') + classes.push(isCustom); + else + Array.prototype.push.apply(classes, isCustom); + } + + var cname = '', disabled = false; + for (var i = 0; i < classes.length; i++) { + cname += classes[i] + ' '; + if (classes[i] == 'disabled') + disabled = true; + } + if (!disabled) + cname += 'available'; + + html += ''; + + } + html += ''; + } + + html += ''; + html += '
' + dateHtml + '
' + this.locale.weekLabel + '' + dayOfWeek + '
' + calendar[row][0].week() + '' + calendar[row][0].isoWeek() + '' + calendar[row][col].date() + '
'; + + this.container.find('.calendar.' + side + ' .calendar-table').html(html); + + }, + + renderTimePicker: function(side) { + + // Don't bother updating the time picker if it's currently disabled + // because an end date hasn't been clicked yet + if (side == 'right' && !this.endDate) return; + + var html, selected, minDate, maxDate = this.maxDate; + + if (this.dateLimit && (!this.maxDate || this.startDate.clone().add(this.dateLimit).isAfter(this.maxDate))) + maxDate = this.startDate.clone().add(this.dateLimit); + + if (side == 'left') { + selected = this.startDate.clone(); + minDate = this.minDate; + } else if (side == 'right') { + selected = this.endDate.clone(); + minDate = this.startDate; + + //Preserve the time already selected + var timeSelector = this.container.find('.calendar.right .calendar-time div'); + if (timeSelector.html() != '') { + + selected.hour(timeSelector.find('.hourselect option:selected').val() || selected.hour()); + selected.minute(timeSelector.find('.minuteselect option:selected').val() || selected.minute()); + selected.second(timeSelector.find('.secondselect option:selected').val() || selected.second()); + + if (!this.timePicker24Hour) { + var ampm = timeSelector.find('.ampmselect option:selected').val(); + if (ampm === 'PM' && selected.hour() < 12) + selected.hour(selected.hour() + 12); + if (ampm === 'AM' && selected.hour() === 12) + selected.hour(0); + } + + } + + if (selected.isBefore(this.startDate)) + selected = this.startDate.clone(); + + if (maxDate && selected.isAfter(maxDate)) + selected = maxDate.clone(); + + } + + // + // hours + // + + html = ' '; + + // + // minutes + // + + html += ': '; + + // + // seconds + // + + if (this.timePickerSeconds) { + html += ': '; + } + + // + // AM/PM + // + + if (!this.timePicker24Hour) { + html += ''; + } + + this.container.find('.calendar.' + side + ' .calendar-time div').html(html); + + }, + + updateFormInputs: function() { + + //ignore mouse movements while an above-calendar text input has focus + if (this.container.find('input[name=daterangepicker_start]').is(":focus") || this.container.find('input[name=daterangepicker_end]').is(":focus")) + return; + + this.container.find('input[name=daterangepicker_start]').val(this.startDate.format(this.locale.format)); + if (this.endDate) + this.container.find('input[name=daterangepicker_end]').val(this.endDate.format(this.locale.format)); + + if (this.singleDatePicker || (this.endDate && (this.startDate.isBefore(this.endDate) || this.startDate.isSame(this.endDate)))) { + this.container.find('button.applyBtn').removeAttr('disabled'); + } else { + this.container.find('button.applyBtn').attr('disabled', 'disabled'); + } + + }, + + move: function() { + var parentOffset = { top: 0, left: 0 }, + containerTop; + var parentRightEdge = $(window).width(); + if (!this.parentEl.is('body')) { + parentOffset = { + top: this.parentEl.offset().top - this.parentEl.scrollTop(), + left: this.parentEl.offset().left - this.parentEl.scrollLeft() + }; + parentRightEdge = this.parentEl[0].clientWidth + this.parentEl.offset().left; + } + + if (this.drops == 'up') + containerTop = this.element.offset().top - this.container.outerHeight() - parentOffset.top; + else + containerTop = this.element.offset().top + this.element.outerHeight() - parentOffset.top; + this.container[this.drops == 'up' ? 'addClass' : 'removeClass']('dropup'); + + if (this.opens == 'left') { + this.container.css({ + top: containerTop, + right: parentRightEdge - this.element.offset().left - this.element.outerWidth(), + left: 'auto' + }); + if (this.container.offset().left < 0) { + this.container.css({ + right: 'auto', + left: 9 + }); + } + } else if (this.opens == 'center') { + this.container.css({ + top: containerTop, + left: this.element.offset().left - parentOffset.left + this.element.outerWidth() / 2 + - this.container.outerWidth() / 2, + right: 'auto' + }); + if (this.container.offset().left < 0) { + this.container.css({ + right: 'auto', + left: 9 + }); + } + } else { + this.container.css({ + top: containerTop, + left: this.element.offset().left - parentOffset.left, + right: 'auto' + }); + if (this.container.offset().left + this.container.outerWidth() > $(window).width()) { + this.container.css({ + left: 'auto', + right: 0 + }); + } + } + }, + + show: function(e) { + if (this.isShowing) return; + + // Create a click proxy that is private to this instance of datepicker, for unbinding + this._outsideClickProxy = $.proxy(function(e) { this.outsideClick(e); }, this); + + // Bind global datepicker mousedown for hiding and + $(document) + .on('mousedown.daterangepicker', this._outsideClickProxy) + // also support mobile devices + .on('touchend.daterangepicker', this._outsideClickProxy) + // also explicitly play nice with Bootstrap dropdowns, which stopPropagation when clicking them + .on('click.daterangepicker', '[data-toggle=dropdown]', this._outsideClickProxy) + // and also close when focus changes to outside the picker (eg. tabbing between controls) + .on('focusin.daterangepicker', this._outsideClickProxy); + + // Reposition the picker if the window is resized while it's open + $(window).on('resize.daterangepicker', $.proxy(function(e) { this.move(e); }, this)); + + this.oldStartDate = this.startDate.clone(); + this.oldEndDate = this.endDate.clone(); + this.previousRightTime = this.endDate.clone(); + + this.updateView(); + this.container.show(); + this.move(); + this.element.trigger('show.daterangepicker', this); + this.isShowing = true; + }, + + hide: function(e) { + if (!this.isShowing) return; + + //incomplete date selection, revert to last values + if (!this.endDate) { + this.startDate = this.oldStartDate.clone(); + this.endDate = this.oldEndDate.clone(); + } + + //if a new date range was selected, invoke the user callback function + if (!this.startDate.isSame(this.oldStartDate) || !this.endDate.isSame(this.oldEndDate)) + this.callback(this.startDate, this.endDate, this.chosenLabel); + + //if picker is attached to a text input, update it + this.updateElement(); + + $(document).off('.daterangepicker'); + $(window).off('.daterangepicker'); + this.container.hide(); + this.element.trigger('hide.daterangepicker', this); + this.isShowing = false; + }, + + toggle: function(e) { + if (this.isShowing) { + this.hide(); + } else { + this.show(); + } + }, + + outsideClick: function(e) { + var target = $(e.target); + // if the page is clicked anywhere except within the daterangerpicker/button + // itself then call this.hide() + if ( + // ie modal dialog fix + e.type == "focusin" || + target.closest(this.element).length || + target.closest(this.container).length || + target.closest('.calendar-table').length + ) return; + this.hide(); + this.element.trigger('outsideClick.daterangepicker', this); + }, + + showCalendars: function() { + this.container.addClass('show-calendar'); + this.move(); + this.element.trigger('showCalendar.daterangepicker', this); + }, + + hideCalendars: function() { + this.container.removeClass('show-calendar'); + this.element.trigger('hideCalendar.daterangepicker', this); + }, + + hoverRange: function(e) { + + //ignore mouse movements while an above-calendar text input has focus + if (this.container.find('input[name=daterangepicker_start]').is(":focus") || this.container.find('input[name=daterangepicker_end]').is(":focus")) + return; + + var label = e.target.getAttribute('data-range-key'); + + if (label == this.locale.customRangeLabel) { + this.updateView(); + } else { + var dates = this.ranges[label]; + this.container.find('input[name=daterangepicker_start]').val(dates[0].format(this.locale.format)); + this.container.find('input[name=daterangepicker_end]').val(dates[1].format(this.locale.format)); + } + + }, + + clickRange: function(e) { + var label = e.target.getAttribute('data-range-key'); + this.chosenLabel = label; + if (label == this.locale.customRangeLabel) { + this.showCalendars(); + } else { + var dates = this.ranges[label]; + this.startDate = dates[0]; + this.endDate = dates[1]; + + if (!this.timePicker) { + this.startDate.startOf('day'); + this.endDate.endOf('day'); + } + + if (!this.alwaysShowCalendars) + this.hideCalendars(); + this.clickApply(); + } + }, + + clickPrev: function(e) { + var cal = $(e.target).parents('.calendar'); + if (cal.hasClass('left')) { + this.leftCalendar.month.subtract(1, 'month'); + if (this.linkedCalendars) + this.rightCalendar.month.subtract(1, 'month'); + } else { + this.rightCalendar.month.subtract(1, 'month'); + } + this.updateCalendars(); + }, + + clickNext: function(e) { + var cal = $(e.target).parents('.calendar'); + if (cal.hasClass('left')) { + this.leftCalendar.month.add(1, 'month'); + } else { + this.rightCalendar.month.add(1, 'month'); + if (this.linkedCalendars) + this.leftCalendar.month.add(1, 'month'); + } + this.updateCalendars(); + }, + + hoverDate: function(e) { + + //ignore mouse movements while an above-calendar text input has focus + //if (this.container.find('input[name=daterangepicker_start]').is(":focus") || this.container.find('input[name=daterangepicker_end]').is(":focus")) + // return; + + //ignore dates that can't be selected + if (!$(e.target).hasClass('available')) return; + + //have the text inputs above calendars reflect the date being hovered over + var title = $(e.target).attr('data-title'); + var row = title.substr(1, 1); + var col = title.substr(3, 1); + var cal = $(e.target).parents('.calendar'); + var date = cal.hasClass('left') ? this.leftCalendar.calendar[row][col] : this.rightCalendar.calendar[row][col]; + + if (this.endDate && !this.container.find('input[name=daterangepicker_start]').is(":focus")) { + this.container.find('input[name=daterangepicker_start]').val(date.format(this.locale.format)); + } else if (!this.endDate && !this.container.find('input[name=daterangepicker_end]').is(":focus")) { + this.container.find('input[name=daterangepicker_end]').val(date.format(this.locale.format)); + } + + //highlight the dates between the start date and the date being hovered as a potential end date + var leftCalendar = this.leftCalendar; + var rightCalendar = this.rightCalendar; + var startDate = this.startDate; + if (!this.endDate) { + this.container.find('.calendar tbody td').each(function(index, el) { + + //skip week numbers, only look at dates + if ($(el).hasClass('week')) return; + + var title = $(el).attr('data-title'); + var row = title.substr(1, 1); + var col = title.substr(3, 1); + var cal = $(el).parents('.calendar'); + var dt = cal.hasClass('left') ? leftCalendar.calendar[row][col] : rightCalendar.calendar[row][col]; + + if ((dt.isAfter(startDate) && dt.isBefore(date)) || dt.isSame(date, 'day')) { + $(el).addClass('in-range'); + } else { + $(el).removeClass('in-range'); + } + + }); + } + + }, + + clickDate: function(e) { + + if (!$(e.target).hasClass('available')) return; + + var title = $(e.target).attr('data-title'); + var row = title.substr(1, 1); + var col = title.substr(3, 1); + var cal = $(e.target).parents('.calendar'); + var date = cal.hasClass('left') ? this.leftCalendar.calendar[row][col] : this.rightCalendar.calendar[row][col]; + + // + // this function needs to do a few things: + // * alternate between selecting a start and end date for the range, + // * if the time picker is enabled, apply the hour/minute/second from the select boxes to the clicked date + // * if autoapply is enabled, and an end date was chosen, apply the selection + // * if single date picker mode, and time picker isn't enabled, apply the selection immediately + // * if one of the inputs above the calendars was focused, cancel that manual input + // + + if (this.endDate || date.isBefore(this.startDate, 'day')) { //picking start + if (this.timePicker) { + var hour = parseInt(this.container.find('.left .hourselect').val(), 10); + if (!this.timePicker24Hour) { + var ampm = this.container.find('.left .ampmselect').val(); + if (ampm === 'PM' && hour < 12) + hour += 12; + if (ampm === 'AM' && hour === 12) + hour = 0; + } + var minute = parseInt(this.container.find('.left .minuteselect').val(), 10); + var second = this.timePickerSeconds ? parseInt(this.container.find('.left .secondselect').val(), 10) : 0; + date = date.clone().hour(hour).minute(minute).second(second); + } + this.endDate = null; + this.setStartDate(date.clone()); + } else if (!this.endDate && date.isBefore(this.startDate)) { + //special case: clicking the same date for start/end, + //but the time of the end date is before the start date + this.setEndDate(this.startDate.clone()); + } else { // picking end + if (this.timePicker) { + var hour = parseInt(this.container.find('.right .hourselect').val(), 10); + if (!this.timePicker24Hour) { + var ampm = this.container.find('.right .ampmselect').val(); + if (ampm === 'PM' && hour < 12) + hour += 12; + if (ampm === 'AM' && hour === 12) + hour = 0; + } + var minute = parseInt(this.container.find('.right .minuteselect').val(), 10); + var second = this.timePickerSeconds ? parseInt(this.container.find('.right .secondselect').val(), 10) : 0; + date = date.clone().hour(hour).minute(minute).second(second); + } + this.setEndDate(date.clone()); + if (this.autoApply) { + this.calculateChosenLabel(); + this.clickApply(); + } + } + + if (this.singleDatePicker) { + this.setEndDate(this.startDate); + if (!this.timePicker) + this.clickApply(); + } + + this.updateView(); + + //This is to cancel the blur event handler if the mouse was in one of the inputs + e.stopPropagation(); + + }, + + calculateChosenLabel: function () { + var customRange = true; + var i = 0; + for (var range in this.ranges) { + if (this.timePicker) { + if (this.startDate.isSame(this.ranges[range][0]) && this.endDate.isSame(this.ranges[range][1])) { + customRange = false; + this.chosenLabel = this.container.find('.ranges li:eq(' + i + ')').addClass('active').html(); + break; + } + } else { + //ignore times when comparing dates if time picker is not enabled + if (this.startDate.format('YYYY-MM-DD') == this.ranges[range][0].format('YYYY-MM-DD') && this.endDate.format('YYYY-MM-DD') == this.ranges[range][1].format('YYYY-MM-DD')) { + customRange = false; + this.chosenLabel = this.container.find('.ranges li:eq(' + i + ')').addClass('active').html(); + break; + } + } + i++; + } + if (customRange) { + if (this.showCustomRangeLabel) { + this.chosenLabel = this.container.find('.ranges li:last').addClass('active').html(); + } else { + this.chosenLabel = null; + } + this.showCalendars(); + } + }, + + clickApply: function(e) { + this.hide(); + this.element.trigger('apply.daterangepicker', this); + }, + + clickCancel: function(e) { + this.startDate = this.oldStartDate; + this.endDate = this.oldEndDate; + this.hide(); + this.element.trigger('cancel.daterangepicker', this); + }, + + monthOrYearChanged: function(e) { + var isLeft = $(e.target).closest('.calendar').hasClass('left'), + leftOrRight = isLeft ? 'left' : 'right', + cal = this.container.find('.calendar.'+leftOrRight); + + // Month must be Number for new moment versions + var month = parseInt(cal.find('.monthselect').val(), 10); + var year = cal.find('.yearselect').val(); + + if (!isLeft) { + if (year < this.startDate.year() || (year == this.startDate.year() && month < this.startDate.month())) { + month = this.startDate.month(); + year = this.startDate.year(); + } + } + + if (this.minDate) { + if (year < this.minDate.year() || (year == this.minDate.year() && month < this.minDate.month())) { + month = this.minDate.month(); + year = this.minDate.year(); + } + } + + if (this.maxDate) { + if (year > this.maxDate.year() || (year == this.maxDate.year() && month > this.maxDate.month())) { + month = this.maxDate.month(); + year = this.maxDate.year(); + } + } + + if (isLeft) { + this.leftCalendar.month.month(month).year(year); + if (this.linkedCalendars) + this.rightCalendar.month = this.leftCalendar.month.clone().add(1, 'month'); + } else { + this.rightCalendar.month.month(month).year(year); + if (this.linkedCalendars) + this.leftCalendar.month = this.rightCalendar.month.clone().subtract(1, 'month'); + } + this.updateCalendars(); + }, + + timeChanged: function(e) { + + var cal = $(e.target).closest('.calendar'), + isLeft = cal.hasClass('left'); + + var hour = parseInt(cal.find('.hourselect').val(), 10); + var minute = parseInt(cal.find('.minuteselect').val(), 10); + var second = this.timePickerSeconds ? parseInt(cal.find('.secondselect').val(), 10) : 0; + + if (!this.timePicker24Hour) { + var ampm = cal.find('.ampmselect').val(); + if (ampm === 'PM' && hour < 12) + hour += 12; + if (ampm === 'AM' && hour === 12) + hour = 0; + } + + if (isLeft) { + var start = this.startDate.clone(); + start.hour(hour); + start.minute(minute); + start.second(second); + this.setStartDate(start); + if (this.singleDatePicker) { + this.endDate = this.startDate.clone(); + } else if (this.endDate && this.endDate.format('YYYY-MM-DD') == start.format('YYYY-MM-DD') && this.endDate.isBefore(start)) { + this.setEndDate(start.clone()); + } + } else if (this.endDate) { + var end = this.endDate.clone(); + end.hour(hour); + end.minute(minute); + end.second(second); + this.setEndDate(end); + } + + //update the calendars so all clickable dates reflect the new time component + this.updateCalendars(); + + //update the form inputs above the calendars with the new time + this.updateFormInputs(); + + //re-render the time pickers because changing one selection can affect what's enabled in another + this.renderTimePicker('left'); + this.renderTimePicker('right'); + + }, + + formInputsChanged: function(e) { + var isRight = $(e.target).closest('.calendar').hasClass('right'); + var start = moment(this.container.find('input[name="daterangepicker_start"]').val(), this.locale.format); + var end = moment(this.container.find('input[name="daterangepicker_end"]').val(), this.locale.format); + + if (start.isValid() && end.isValid()) { + + if (isRight && end.isBefore(start)) + start = end.clone(); + + this.setStartDate(start); + this.setEndDate(end); + + if (isRight) { + this.container.find('input[name="daterangepicker_start"]').val(this.startDate.format(this.locale.format)); + } else { + this.container.find('input[name="daterangepicker_end"]').val(this.endDate.format(this.locale.format)); + } + + } + + this.updateView(); + }, + + formInputsFocused: function(e) { + + // Highlight the focused input + this.container.find('input[name="daterangepicker_start"], input[name="daterangepicker_end"]').removeClass('active'); + $(e.target).addClass('active'); + + // Set the state such that if the user goes back to using a mouse, + // the calendars are aware we're selecting the end of the range, not + // the start. This allows someone to edit the end of a date range without + // re-selecting the beginning, by clicking on the end date input then + // using the calendar. + var isRight = $(e.target).closest('.calendar').hasClass('right'); + if (isRight) { + this.endDate = null; + this.setStartDate(this.startDate.clone()); + this.updateView(); + } + + }, + + formInputsBlurred: function(e) { + + // this function has one purpose right now: if you tab from the first + // text input to the second in the UI, the endDate is nulled so that + // you can click another, but if you tab out without clicking anything + // or changing the input value, the old endDate should be retained + + if (!this.endDate) { + var val = this.container.find('input[name="daterangepicker_end"]').val(); + var end = moment(val, this.locale.format); + if (end.isValid()) { + this.setEndDate(end); + this.updateView(); + } + } + + }, + + elementChanged: function() { + if (!this.element.is('input')) return; + if (!this.element.val().length) return; + if (this.element.val().length < this.locale.format.length) return; + + var dateString = this.element.val().split(this.locale.separator), + start = null, + end = null; + + if (dateString.length === 2) { + start = moment(dateString[0], this.locale.format); + end = moment(dateString[1], this.locale.format); + } + + if (this.singleDatePicker || start === null || end === null) { + start = moment(this.element.val(), this.locale.format); + end = start; + } + + if (!start.isValid() || !end.isValid()) return; + + this.setStartDate(start); + this.setEndDate(end); + this.updateView(); + }, + + keydown: function(e) { + //hide on tab or enter + if ((e.keyCode === 9) || (e.keyCode === 13)) { + this.hide(); + } + }, + + updateElement: function() { + if (this.element.is('input') && !this.singleDatePicker && this.autoUpdateInput) { + this.element.val(this.startDate.format(this.locale.format) + this.locale.separator + this.endDate.format(this.locale.format)); + this.element.trigger('change'); + } else if (this.element.is('input') && this.autoUpdateInput) { + this.element.val(this.startDate.format(this.locale.format)); + this.element.trigger('change'); + } + }, + + remove: function() { + this.container.remove(); + this.element.off('.daterangepicker'); + this.element.removeData(); + } + + }; + + $.fn.daterangepicker = function(options, callback) { + this.each(function() { + var el = $(this); + if (el.data('daterangepicker')) + el.data('daterangepicker').remove(); + el.data('daterangepicker', new DateRangePicker(el, options, callback)); + }); + return this; + }; + + return DateRangePicker; + +})); diff --git a/public/assets/libs/admin-resources/bootstrap-datepicker/js/moment.min.js b/public/assets/libs/admin-resources/bootstrap-datepicker/js/moment.min.js new file mode 100644 index 0000000..770f8bc --- /dev/null +++ b/public/assets/libs/admin-resources/bootstrap-datepicker/js/moment.min.js @@ -0,0 +1,7 @@ +//! moment.js +//! version : 2.18.1 +//! authors : Tim Wood, Iskren Chernev, Moment.js contributors +//! license : MIT +//! momentjs.com +!function(a,b){"object"==typeof exports&&"undefined"!=typeof module?module.exports=b():"function"==typeof define&&define.amd?define(b):a.moment=b()}(this,function(){"use strict";function a(){return sd.apply(null,arguments)}function b(a){sd=a}function c(a){return a instanceof Array||"[object Array]"===Object.prototype.toString.call(a)}function d(a){return null!=a&&"[object Object]"===Object.prototype.toString.call(a)}function e(a){var b;for(b in a)return!1;return!0}function f(a){return void 0===a}function g(a){return"number"==typeof a||"[object Number]"===Object.prototype.toString.call(a)}function h(a){return a instanceof Date||"[object Date]"===Object.prototype.toString.call(a)}function i(a,b){var c,d=[];for(c=0;c0)for(c=0;c0?"future":"past"];return z(c)?c(b):c.replace(/%s/i,b)}function J(a,b){var c=a.toLowerCase();Hd[c]=Hd[c+"s"]=Hd[b]=a}function K(a){return"string"==typeof a?Hd[a]||Hd[a.toLowerCase()]:void 0}function L(a){var b,c,d={};for(c in a)j(a,c)&&(b=K(c),b&&(d[b]=a[c]));return d}function M(a,b){Id[a]=b}function N(a){var b=[];for(var c in a)b.push({unit:c,priority:Id[c]});return b.sort(function(a,b){return a.priority-b.priority}),b}function O(b,c){return function(d){return null!=d?(Q(this,b,d),a.updateOffset(this,c),this):P(this,b)}}function P(a,b){return a.isValid()?a._d["get"+(a._isUTC?"UTC":"")+b]():NaN}function Q(a,b,c){a.isValid()&&a._d["set"+(a._isUTC?"UTC":"")+b](c)}function R(a){return a=K(a),z(this[a])?this[a]():this}function S(a,b){if("object"==typeof a){a=L(a);for(var c=N(a),d=0;d=0;return(f?c?"+":"":"-")+Math.pow(10,Math.max(0,e)).toString().substr(1)+d}function U(a,b,c,d){var e=d;"string"==typeof d&&(e=function(){return this[d]()}),a&&(Md[a]=e),b&&(Md[b[0]]=function(){return T(e.apply(this,arguments),b[1],b[2])}),c&&(Md[c]=function(){return this.localeData().ordinal(e.apply(this,arguments),a)})}function V(a){return a.match(/\[[\s\S]/)?a.replace(/^\[|\]$/g,""):a.replace(/\\/g,"")}function W(a){var b,c,d=a.match(Jd);for(b=0,c=d.length;b=0&&Kd.test(a);)a=a.replace(Kd,c),Kd.lastIndex=0,d-=1;return a}function Z(a,b,c){ce[a]=z(b)?b:function(a,d){return a&&c?c:b}}function $(a,b){return j(ce,a)?ce[a](b._strict,b._locale):new RegExp(_(a))}function _(a){return aa(a.replace("\\","").replace(/\\(\[)|\\(\])|\[([^\]\[]*)\]|\\(.)/g,function(a,b,c,d,e){return b||c||d||e}))}function aa(a){return a.replace(/[-\/\\^$*+?.()|[\]{}]/g,"\\$&")}function ba(a,b){var c,d=b;for("string"==typeof a&&(a=[a]),g(b)&&(d=function(a,c){c[b]=u(a)}),c=0;c=0&&isFinite(h.getFullYear())&&h.setFullYear(a),h}function ta(a){var b=new Date(Date.UTC.apply(null,arguments));return a<100&&a>=0&&isFinite(b.getUTCFullYear())&&b.setUTCFullYear(a),b}function ua(a,b,c){var d=7+b-c,e=(7+ta(a,0,d).getUTCDay()-b)%7;return-e+d-1}function va(a,b,c,d,e){var f,g,h=(7+c-d)%7,i=ua(a,d,e),j=1+7*(b-1)+h+i;return j<=0?(f=a-1,g=pa(f)+j):j>pa(a)?(f=a+1,g=j-pa(a)):(f=a,g=j),{year:f,dayOfYear:g}}function wa(a,b,c){var d,e,f=ua(a.year(),b,c),g=Math.floor((a.dayOfYear()-f-1)/7)+1;return g<1?(e=a.year()-1,d=g+xa(e,b,c)):g>xa(a.year(),b,c)?(d=g-xa(a.year(),b,c),e=a.year()+1):(e=a.year(),d=g),{week:d,year:e}}function xa(a,b,c){var d=ua(a,b,c),e=ua(a+1,b,c);return(pa(a)-d+e)/7}function ya(a){return wa(a,this._week.dow,this._week.doy).week}function za(){return this._week.dow}function Aa(){return this._week.doy}function Ba(a){var b=this.localeData().week(this);return null==a?b:this.add(7*(a-b),"d")}function Ca(a){var b=wa(this,1,4).week;return null==a?b:this.add(7*(a-b),"d")}function Da(a,b){return"string"!=typeof a?a:isNaN(a)?(a=b.weekdaysParse(a),"number"==typeof a?a:null):parseInt(a,10)}function Ea(a,b){return"string"==typeof a?b.weekdaysParse(a)%7||7:isNaN(a)?null:a}function Fa(a,b){return a?c(this._weekdays)?this._weekdays[a.day()]:this._weekdays[this._weekdays.isFormat.test(b)?"format":"standalone"][a.day()]:c(this._weekdays)?this._weekdays:this._weekdays.standalone}function Ga(a){return a?this._weekdaysShort[a.day()]:this._weekdaysShort}function Ha(a){return a?this._weekdaysMin[a.day()]:this._weekdaysMin}function Ia(a,b,c){var d,e,f,g=a.toLocaleLowerCase();if(!this._weekdaysParse)for(this._weekdaysParse=[],this._shortWeekdaysParse=[],this._minWeekdaysParse=[],d=0;d<7;++d)f=l([2e3,1]).day(d),this._minWeekdaysParse[d]=this.weekdaysMin(f,"").toLocaleLowerCase(),this._shortWeekdaysParse[d]=this.weekdaysShort(f,"").toLocaleLowerCase(),this._weekdaysParse[d]=this.weekdays(f,"").toLocaleLowerCase();return c?"dddd"===b?(e=ne.call(this._weekdaysParse,g),e!==-1?e:null):"ddd"===b?(e=ne.call(this._shortWeekdaysParse,g),e!==-1?e:null):(e=ne.call(this._minWeekdaysParse,g),e!==-1?e:null):"dddd"===b?(e=ne.call(this._weekdaysParse,g),e!==-1?e:(e=ne.call(this._shortWeekdaysParse,g),e!==-1?e:(e=ne.call(this._minWeekdaysParse,g),e!==-1?e:null))):"ddd"===b?(e=ne.call(this._shortWeekdaysParse,g),e!==-1?e:(e=ne.call(this._weekdaysParse,g),e!==-1?e:(e=ne.call(this._minWeekdaysParse,g),e!==-1?e:null))):(e=ne.call(this._minWeekdaysParse,g),e!==-1?e:(e=ne.call(this._weekdaysParse,g),e!==-1?e:(e=ne.call(this._shortWeekdaysParse,g),e!==-1?e:null)))}function Ja(a,b,c){var d,e,f;if(this._weekdaysParseExact)return Ia.call(this,a,b,c);for(this._weekdaysParse||(this._weekdaysParse=[],this._minWeekdaysParse=[],this._shortWeekdaysParse=[],this._fullWeekdaysParse=[]),d=0;d<7;d++){if(e=l([2e3,1]).day(d),c&&!this._fullWeekdaysParse[d]&&(this._fullWeekdaysParse[d]=new RegExp("^"+this.weekdays(e,"").replace(".",".?")+"$","i"),this._shortWeekdaysParse[d]=new RegExp("^"+this.weekdaysShort(e,"").replace(".",".?")+"$","i"),this._minWeekdaysParse[d]=new RegExp("^"+this.weekdaysMin(e,"").replace(".",".?")+"$","i")),this._weekdaysParse[d]||(f="^"+this.weekdays(e,"")+"|^"+this.weekdaysShort(e,"")+"|^"+this.weekdaysMin(e,""),this._weekdaysParse[d]=new RegExp(f.replace(".",""),"i")),c&&"dddd"===b&&this._fullWeekdaysParse[d].test(a))return d;if(c&&"ddd"===b&&this._shortWeekdaysParse[d].test(a))return d;if(c&&"dd"===b&&this._minWeekdaysParse[d].test(a))return d;if(!c&&this._weekdaysParse[d].test(a))return d}}function Ka(a){if(!this.isValid())return null!=a?this:NaN;var b=this._isUTC?this._d.getUTCDay():this._d.getDay();return null!=a?(a=Da(a,this.localeData()),this.add(a-b,"d")):b}function La(a){if(!this.isValid())return null!=a?this:NaN;var b=(this.day()+7-this.localeData()._week.dow)%7;return null==a?b:this.add(a-b,"d")}function Ma(a){if(!this.isValid())return null!=a?this:NaN;if(null!=a){var b=Ea(a,this.localeData());return this.day(this.day()%7?b:b-7)}return this.day()||7}function Na(a){return this._weekdaysParseExact?(j(this,"_weekdaysRegex")||Qa.call(this),a?this._weekdaysStrictRegex:this._weekdaysRegex):(j(this,"_weekdaysRegex")||(this._weekdaysRegex=ye),this._weekdaysStrictRegex&&a?this._weekdaysStrictRegex:this._weekdaysRegex)}function Oa(a){return this._weekdaysParseExact?(j(this,"_weekdaysRegex")||Qa.call(this),a?this._weekdaysShortStrictRegex:this._weekdaysShortRegex):(j(this,"_weekdaysShortRegex")||(this._weekdaysShortRegex=ze),this._weekdaysShortStrictRegex&&a?this._weekdaysShortStrictRegex:this._weekdaysShortRegex)}function Pa(a){return this._weekdaysParseExact?(j(this,"_weekdaysRegex")||Qa.call(this),a?this._weekdaysMinStrictRegex:this._weekdaysMinRegex):(j(this,"_weekdaysMinRegex")||(this._weekdaysMinRegex=Ae),this._weekdaysMinStrictRegex&&a?this._weekdaysMinStrictRegex:this._weekdaysMinRegex)}function Qa(){function a(a,b){return b.length-a.length}var b,c,d,e,f,g=[],h=[],i=[],j=[];for(b=0;b<7;b++)c=l([2e3,1]).day(b),d=this.weekdaysMin(c,""),e=this.weekdaysShort(c,""),f=this.weekdays(c,""),g.push(d),h.push(e),i.push(f),j.push(d),j.push(e),j.push(f);for(g.sort(a),h.sort(a),i.sort(a),j.sort(a),b=0;b<7;b++)h[b]=aa(h[b]),i[b]=aa(i[b]),j[b]=aa(j[b]);this._weekdaysRegex=new RegExp("^("+j.join("|")+")","i"),this._weekdaysShortRegex=this._weekdaysRegex,this._weekdaysMinRegex=this._weekdaysRegex,this._weekdaysStrictRegex=new RegExp("^("+i.join("|")+")","i"),this._weekdaysShortStrictRegex=new RegExp("^("+h.join("|")+")","i"),this._weekdaysMinStrictRegex=new RegExp("^("+g.join("|")+")","i")}function Ra(){return this.hours()%12||12}function Sa(){return this.hours()||24}function Ta(a,b){U(a,0,0,function(){return this.localeData().meridiem(this.hours(),this.minutes(),b)})}function Ua(a,b){return b._meridiemParse}function Va(a){return"p"===(a+"").toLowerCase().charAt(0)}function Wa(a,b,c){return a>11?c?"pm":"PM":c?"am":"AM"}function Xa(a){return a?a.toLowerCase().replace("_","-"):a}function Ya(a){for(var b,c,d,e,f=0;f0;){if(d=Za(e.slice(0,b).join("-")))return d;if(c&&c.length>=b&&v(e,c,!0)>=b-1)break;b--}f++}return null}function Za(a){var b=null;if(!Fe[a]&&"undefined"!=typeof module&&module&&module.exports)try{b=Be._abbr,require("./locale/"+a),$a(b)}catch(a){}return Fe[a]}function $a(a,b){var c;return a&&(c=f(b)?bb(a):_a(a,b),c&&(Be=c)),Be._abbr}function _a(a,b){if(null!==b){var c=Ee;if(b.abbr=a,null!=Fe[a])y("defineLocaleOverride","use moment.updateLocale(localeName, config) to change an existing locale. moment.defineLocale(localeName, config) should only be used for creating a new locale See http://momentjs.com/guides/#/warnings/define-locale/ for more info."),c=Fe[a]._config;else if(null!=b.parentLocale){if(null==Fe[b.parentLocale])return Ge[b.parentLocale]||(Ge[b.parentLocale]=[]),Ge[b.parentLocale].push({name:a,config:b}),null;c=Fe[b.parentLocale]._config}return Fe[a]=new C(B(c,b)),Ge[a]&&Ge[a].forEach(function(a){_a(a.name,a.config)}),$a(a),Fe[a]}return delete Fe[a],null}function ab(a,b){if(null!=b){var c,d=Ee;null!=Fe[a]&&(d=Fe[a]._config),b=B(d,b),c=new C(b),c.parentLocale=Fe[a],Fe[a]=c,$a(a)}else null!=Fe[a]&&(null!=Fe[a].parentLocale?Fe[a]=Fe[a].parentLocale:null!=Fe[a]&&delete Fe[a]);return Fe[a]}function bb(a){var b;if(a&&a._locale&&a._locale._abbr&&(a=a._locale._abbr),!a)return Be;if(!c(a)){if(b=Za(a))return b;a=[a]}return Ya(a)}function cb(){return Ad(Fe)}function db(a){var b,c=a._a;return c&&n(a).overflow===-2&&(b=c[fe]<0||c[fe]>11?fe:c[ge]<1||c[ge]>ea(c[ee],c[fe])?ge:c[he]<0||c[he]>24||24===c[he]&&(0!==c[ie]||0!==c[je]||0!==c[ke])?he:c[ie]<0||c[ie]>59?ie:c[je]<0||c[je]>59?je:c[ke]<0||c[ke]>999?ke:-1,n(a)._overflowDayOfYear&&(bge)&&(b=ge),n(a)._overflowWeeks&&b===-1&&(b=le),n(a)._overflowWeekday&&b===-1&&(b=me),n(a).overflow=b),a}function eb(a){var b,c,d,e,f,g,h=a._i,i=He.exec(h)||Ie.exec(h);if(i){for(n(a).iso=!0,b=0,c=Ke.length;b10?"YYYY ":"YY "),f="HH:mm"+(c[4]?":ss":""),c[1]){var l=new Date(c[2]),m=["Sun","Mon","Tue","Wed","Thu","Fri","Sat"][l.getDay()];if(c[1].substr(0,3)!==m)return n(a).weekdayMismatch=!0,void(a._isValid=!1)}switch(c[5].length){case 2:0===i?h=" +0000":(i=k.indexOf(c[5][1].toUpperCase())-12,h=(i<0?" -":" +")+(""+i).replace(/^-?/,"0").match(/..$/)[0]+"00");break;case 4:h=j[c[5]];break;default:h=j[" GMT"]}c[5]=h,a._i=c.splice(1).join(""),g=" ZZ",a._f=d+e+f+g,lb(a),n(a).rfc2822=!0}else a._isValid=!1}function gb(b){var c=Me.exec(b._i);return null!==c?void(b._d=new Date(+c[1])):(eb(b),void(b._isValid===!1&&(delete b._isValid,fb(b),b._isValid===!1&&(delete b._isValid,a.createFromInputFallback(b)))))}function hb(a,b,c){return null!=a?a:null!=b?b:c}function ib(b){var c=new Date(a.now());return b._useUTC?[c.getUTCFullYear(),c.getUTCMonth(),c.getUTCDate()]:[c.getFullYear(),c.getMonth(),c.getDate()]}function jb(a){var b,c,d,e,f=[];if(!a._d){for(d=ib(a),a._w&&null==a._a[ge]&&null==a._a[fe]&&kb(a),null!=a._dayOfYear&&(e=hb(a._a[ee],d[ee]),(a._dayOfYear>pa(e)||0===a._dayOfYear)&&(n(a)._overflowDayOfYear=!0),c=ta(e,0,a._dayOfYear),a._a[fe]=c.getUTCMonth(),a._a[ge]=c.getUTCDate()),b=0;b<3&&null==a._a[b];++b)a._a[b]=f[b]=d[b];for(;b<7;b++)a._a[b]=f[b]=null==a._a[b]?2===b?1:0:a._a[b];24===a._a[he]&&0===a._a[ie]&&0===a._a[je]&&0===a._a[ke]&&(a._nextDay=!0,a._a[he]=0),a._d=(a._useUTC?ta:sa).apply(null,f),null!=a._tzm&&a._d.setUTCMinutes(a._d.getUTCMinutes()-a._tzm),a._nextDay&&(a._a[he]=24)}}function kb(a){var b,c,d,e,f,g,h,i;if(b=a._w,null!=b.GG||null!=b.W||null!=b.E)f=1,g=4,c=hb(b.GG,a._a[ee],wa(tb(),1,4).year),d=hb(b.W,1),e=hb(b.E,1),(e<1||e>7)&&(i=!0);else{f=a._locale._week.dow,g=a._locale._week.doy;var j=wa(tb(),f,g);c=hb(b.gg,a._a[ee],j.year),d=hb(b.w,j.week),null!=b.d?(e=b.d,(e<0||e>6)&&(i=!0)):null!=b.e?(e=b.e+f,(b.e<0||b.e>6)&&(i=!0)):e=f}d<1||d>xa(c,f,g)?n(a)._overflowWeeks=!0:null!=i?n(a)._overflowWeekday=!0:(h=va(c,d,e,f,g),a._a[ee]=h.year,a._dayOfYear=h.dayOfYear)}function lb(b){if(b._f===a.ISO_8601)return void eb(b);if(b._f===a.RFC_2822)return void fb(b);b._a=[],n(b).empty=!0;var c,d,e,f,g,h=""+b._i,i=h.length,j=0;for(e=Y(b._f,b._locale).match(Jd)||[],c=0;c0&&n(b).unusedInput.push(g),h=h.slice(h.indexOf(d)+d.length),j+=d.length),Md[f]?(d?n(b).empty=!1:n(b).unusedTokens.push(f),da(f,d,b)):b._strict&&!d&&n(b).unusedTokens.push(f);n(b).charsLeftOver=i-j,h.length>0&&n(b).unusedInput.push(h),b._a[he]<=12&&n(b).bigHour===!0&&b._a[he]>0&&(n(b).bigHour=void 0),n(b).parsedDateParts=b._a.slice(0),n(b).meridiem=b._meridiem,b._a[he]=mb(b._locale,b._a[he],b._meridiem),jb(b),db(b)}function mb(a,b,c){var d;return null==c?b:null!=a.meridiemHour?a.meridiemHour(b,c):null!=a.isPM?(d=a.isPM(c),d&&b<12&&(b+=12),d||12!==b||(b=0),b):b}function nb(a){var b,c,d,e,f;if(0===a._f.length)return n(a).invalidFormat=!0,void(a._d=new Date(NaN));for(e=0;ethis.clone().month(0).utcOffset()||this.utcOffset()>this.clone().month(5).utcOffset()}function Ob(){if(!f(this._isDSTShifted))return this._isDSTShifted;var a={};if(q(a,this),a=qb(a),a._a){var b=a._isUTC?l(a._a):tb(a._a);this._isDSTShifted=this.isValid()&&v(a._a,b.toArray())>0}else this._isDSTShifted=!1;return this._isDSTShifted}function Pb(){return!!this.isValid()&&!this._isUTC}function Qb(){return!!this.isValid()&&this._isUTC}function Rb(){return!!this.isValid()&&(this._isUTC&&0===this._offset)}function Sb(a,b){var c,d,e,f=a,h=null;return Bb(a)?f={ms:a._milliseconds,d:a._days,M:a._months}:g(a)?(f={},b?f[b]=a:f.milliseconds=a):(h=Te.exec(a))?(c="-"===h[1]?-1:1,f={y:0,d:u(h[ge])*c,h:u(h[he])*c,m:u(h[ie])*c,s:u(h[je])*c,ms:u(Cb(1e3*h[ke]))*c}):(h=Ue.exec(a))?(c="-"===h[1]?-1:1,f={y:Tb(h[2],c),M:Tb(h[3],c),w:Tb(h[4],c),d:Tb(h[5],c),h:Tb(h[6],c),m:Tb(h[7],c),s:Tb(h[8],c)}):null==f?f={}:"object"==typeof f&&("from"in f||"to"in f)&&(e=Vb(tb(f.from),tb(f.to)),f={},f.ms=e.milliseconds,f.M=e.months),d=new Ab(f),Bb(a)&&j(a,"_locale")&&(d._locale=a._locale),d}function Tb(a,b){var c=a&&parseFloat(a.replace(",","."));return(isNaN(c)?0:c)*b}function Ub(a,b){var c={milliseconds:0,months:0};return c.months=b.month()-a.month()+12*(b.year()-a.year()),a.clone().add(c.months,"M").isAfter(b)&&--c.months,c.milliseconds=+b-+a.clone().add(c.months,"M"),c}function Vb(a,b){var c;return a.isValid()&&b.isValid()?(b=Fb(b,a),a.isBefore(b)?c=Ub(a,b):(c=Ub(b,a),c.milliseconds=-c.milliseconds,c.months=-c.months),c):{milliseconds:0,months:0}}function Wb(a,b){return function(c,d){var e,f;return null===d||isNaN(+d)||(y(b,"moment()."+b+"(period, number) is deprecated. Please use moment()."+b+"(number, period). See http://momentjs.com/guides/#/warnings/add-inverted-param/ for more info."),f=c,c=d,d=f),c="string"==typeof c?+c:c,e=Sb(c,d),Xb(this,e,a),this}}function Xb(b,c,d,e){var f=c._milliseconds,g=Cb(c._days),h=Cb(c._months);b.isValid()&&(e=null==e||e,f&&b._d.setTime(b._d.valueOf()+f*d),g&&Q(b,"Date",P(b,"Date")+g*d),h&&ja(b,P(b,"Month")+h*d),e&&a.updateOffset(b,g||h))}function Yb(a,b){var c=a.diff(b,"days",!0);return c<-6?"sameElse":c<-1?"lastWeek":c<0?"lastDay":c<1?"sameDay":c<2?"nextDay":c<7?"nextWeek":"sameElse"}function Zb(b,c){var d=b||tb(),e=Fb(d,this).startOf("day"),f=a.calendarFormat(this,e)||"sameElse",g=c&&(z(c[f])?c[f].call(this,d):c[f]);return this.format(g||this.localeData().calendar(f,this,tb(d)))}function $b(){return new r(this)}function _b(a,b){var c=s(a)?a:tb(a);return!(!this.isValid()||!c.isValid())&&(b=K(f(b)?"millisecond":b),"millisecond"===b?this.valueOf()>c.valueOf():c.valueOf()9999?X(a,"YYYYYY-MM-DD[T]HH:mm:ss.SSS[Z]"):z(Date.prototype.toISOString)?this.toDate().toISOString():X(a,"YYYY-MM-DD[T]HH:mm:ss.SSS[Z]")}function jc(){if(!this.isValid())return"moment.invalid(/* "+this._i+" */)";var a="moment",b="";this.isLocal()||(a=0===this.utcOffset()?"moment.utc":"moment.parseZone",b="Z");var c="["+a+'("]',d=0<=this.year()&&this.year()<=9999?"YYYY":"YYYYYY",e="-MM-DD[T]HH:mm:ss.SSS",f=b+'[")]';return this.format(c+d+e+f)}function kc(b){b||(b=this.isUtc()?a.defaultFormatUtc:a.defaultFormat);var c=X(this,b);return this.localeData().postformat(c)}function lc(a,b){return this.isValid()&&(s(a)&&a.isValid()||tb(a).isValid())?Sb({to:this,from:a}).locale(this.locale()).humanize(!b):this.localeData().invalidDate()}function mc(a){return this.from(tb(),a)}function nc(a,b){return this.isValid()&&(s(a)&&a.isValid()||tb(a).isValid())?Sb({from:this,to:a}).locale(this.locale()).humanize(!b):this.localeData().invalidDate()}function oc(a){return this.to(tb(),a)}function pc(a){var b;return void 0===a?this._locale._abbr:(b=bb(a),null!=b&&(this._locale=b),this)}function qc(){return this._locale}function rc(a){switch(a=K(a)){case"year":this.month(0);case"quarter":case"month":this.date(1);case"week":case"isoWeek":case"day":case"date":this.hours(0);case"hour":this.minutes(0);case"minute":this.seconds(0);case"second":this.milliseconds(0)}return"week"===a&&this.weekday(0),"isoWeek"===a&&this.isoWeekday(1),"quarter"===a&&this.month(3*Math.floor(this.month()/3)),this}function sc(a){return a=K(a),void 0===a||"millisecond"===a?this:("date"===a&&(a="day"),this.startOf(a).add(1,"isoWeek"===a?"week":a).subtract(1,"ms"))}function tc(){return this._d.valueOf()-6e4*(this._offset||0)}function uc(){return Math.floor(this.valueOf()/1e3)}function vc(){return new Date(this.valueOf())}function wc(){var a=this;return[a.year(),a.month(),a.date(),a.hour(),a.minute(),a.second(),a.millisecond()]}function xc(){var a=this;return{years:a.year(),months:a.month(),date:a.date(),hours:a.hours(),minutes:a.minutes(),seconds:a.seconds(),milliseconds:a.milliseconds()}}function yc(){return this.isValid()?this.toISOString():null}function zc(){return o(this)}function Ac(){ +return k({},n(this))}function Bc(){return n(this).overflow}function Cc(){return{input:this._i,format:this._f,locale:this._locale,isUTC:this._isUTC,strict:this._strict}}function Dc(a,b){U(0,[a,a.length],0,b)}function Ec(a){return Ic.call(this,a,this.week(),this.weekday(),this.localeData()._week.dow,this.localeData()._week.doy)}function Fc(a){return Ic.call(this,a,this.isoWeek(),this.isoWeekday(),1,4)}function Gc(){return xa(this.year(),1,4)}function Hc(){var a=this.localeData()._week;return xa(this.year(),a.dow,a.doy)}function Ic(a,b,c,d,e){var f;return null==a?wa(this,d,e).year:(f=xa(a,d,e),b>f&&(b=f),Jc.call(this,a,b,c,d,e))}function Jc(a,b,c,d,e){var f=va(a,b,c,d,e),g=ta(f.year,0,f.dayOfYear);return this.year(g.getUTCFullYear()),this.month(g.getUTCMonth()),this.date(g.getUTCDate()),this}function Kc(a){return null==a?Math.ceil((this.month()+1)/3):this.month(3*(a-1)+this.month()%3)}function Lc(a){var b=Math.round((this.clone().startOf("day")-this.clone().startOf("year"))/864e5)+1;return null==a?b:this.add(a-b,"d")}function Mc(a,b){b[ke]=u(1e3*("0."+a))}function Nc(){return this._isUTC?"UTC":""}function Oc(){return this._isUTC?"Coordinated Universal Time":""}function Pc(a){return tb(1e3*a)}function Qc(){return tb.apply(null,arguments).parseZone()}function Rc(a){return a}function Sc(a,b,c,d){var e=bb(),f=l().set(d,b);return e[c](f,a)}function Tc(a,b,c){if(g(a)&&(b=a,a=void 0),a=a||"",null!=b)return Sc(a,b,c,"month");var d,e=[];for(d=0;d<12;d++)e[d]=Sc(a,d,c,"month");return e}function Uc(a,b,c,d){"boolean"==typeof a?(g(b)&&(c=b,b=void 0),b=b||""):(b=a,c=b,a=!1,g(b)&&(c=b,b=void 0),b=b||"");var e=bb(),f=a?e._week.dow:0;if(null!=c)return Sc(b,(c+f)%7,d,"day");var h,i=[];for(h=0;h<7;h++)i[h]=Sc(b,(h+f)%7,d,"day");return i}function Vc(a,b){return Tc(a,b,"months")}function Wc(a,b){return Tc(a,b,"monthsShort")}function Xc(a,b,c){return Uc(a,b,c,"weekdays")}function Yc(a,b,c){return Uc(a,b,c,"weekdaysShort")}function Zc(a,b,c){return Uc(a,b,c,"weekdaysMin")}function $c(){var a=this._data;return this._milliseconds=df(this._milliseconds),this._days=df(this._days),this._months=df(this._months),a.milliseconds=df(a.milliseconds),a.seconds=df(a.seconds),a.minutes=df(a.minutes),a.hours=df(a.hours),a.months=df(a.months),a.years=df(a.years),this}function _c(a,b,c,d){var e=Sb(b,c);return a._milliseconds+=d*e._milliseconds,a._days+=d*e._days,a._months+=d*e._months,a._bubble()}function ad(a,b){return _c(this,a,b,1)}function bd(a,b){return _c(this,a,b,-1)}function cd(a){return a<0?Math.floor(a):Math.ceil(a)}function dd(){var a,b,c,d,e,f=this._milliseconds,g=this._days,h=this._months,i=this._data;return f>=0&&g>=0&&h>=0||f<=0&&g<=0&&h<=0||(f+=864e5*cd(fd(h)+g),g=0,h=0),i.milliseconds=f%1e3,a=t(f/1e3),i.seconds=a%60,b=t(a/60),i.minutes=b%60,c=t(b/60),i.hours=c%24,g+=t(c/24),e=t(ed(g)),h+=e,g-=cd(fd(e)),d=t(h/12),h%=12,i.days=g,i.months=h,i.years=d,this}function ed(a){return 4800*a/146097}function fd(a){return 146097*a/4800}function gd(a){if(!this.isValid())return NaN;var b,c,d=this._milliseconds;if(a=K(a),"month"===a||"year"===a)return b=this._days+d/864e5,c=this._months+ed(b),"month"===a?c:c/12;switch(b=this._days+Math.round(fd(this._months)),a){case"week":return b/7+d/6048e5;case"day":return b+d/864e5;case"hour":return 24*b+d/36e5;case"minute":return 1440*b+d/6e4;case"second":return 86400*b+d/1e3;case"millisecond":return Math.floor(864e5*b)+d;default:throw new Error("Unknown unit "+a)}}function hd(){return this.isValid()?this._milliseconds+864e5*this._days+this._months%12*2592e6+31536e6*u(this._months/12):NaN}function id(a){return function(){return this.as(a)}}function jd(a){return a=K(a),this.isValid()?this[a+"s"]():NaN}function kd(a){return function(){return this.isValid()?this._data[a]:NaN}}function ld(){return t(this.days()/7)}function md(a,b,c,d,e){return e.relativeTime(b||1,!!c,a,d)}function nd(a,b,c){var d=Sb(a).abs(),e=uf(d.as("s")),f=uf(d.as("m")),g=uf(d.as("h")),h=uf(d.as("d")),i=uf(d.as("M")),j=uf(d.as("y")),k=e<=vf.ss&&["s",e]||e0,k[4]=c,md.apply(null,k)}function od(a){return void 0===a?uf:"function"==typeof a&&(uf=a,!0)}function pd(a,b){return void 0!==vf[a]&&(void 0===b?vf[a]:(vf[a]=b,"s"===a&&(vf.ss=b-1),!0))}function qd(a){if(!this.isValid())return this.localeData().invalidDate();var b=this.localeData(),c=nd(this,!a,b);return a&&(c=b.pastFuture(+this,c)),b.postformat(c)}function rd(){if(!this.isValid())return this.localeData().invalidDate();var a,b,c,d=wf(this._milliseconds)/1e3,e=wf(this._days),f=wf(this._months);a=t(d/60),b=t(a/60),d%=60,a%=60,c=t(f/12),f%=12;var g=c,h=f,i=e,j=b,k=a,l=d,m=this.asSeconds();return m?(m<0?"-":"")+"P"+(g?g+"Y":"")+(h?h+"M":"")+(i?i+"D":"")+(j||k||l?"T":"")+(j?j+"H":"")+(k?k+"M":"")+(l?l+"S":""):"P0D"}var sd,td;td=Array.prototype.some?Array.prototype.some:function(a){for(var b=Object(this),c=b.length>>>0,d=0;d68?1900:2e3)};var te=O("FullYear",!0);U("w",["ww",2],"wo","week"),U("W",["WW",2],"Wo","isoWeek"),J("week","w"),J("isoWeek","W"),M("week",5),M("isoWeek",5),Z("w",Sd),Z("ww",Sd,Od),Z("W",Sd),Z("WW",Sd,Od),ca(["w","ww","W","WW"],function(a,b,c,d){b[d.substr(0,1)]=u(a)});var ue={dow:0,doy:6};U("d",0,"do","day"),U("dd",0,0,function(a){return this.localeData().weekdaysMin(this,a)}),U("ddd",0,0,function(a){return this.localeData().weekdaysShort(this,a)}),U("dddd",0,0,function(a){return this.localeData().weekdays(this,a)}),U("e",0,0,"weekday"),U("E",0,0,"isoWeekday"),J("day","d"),J("weekday","e"),J("isoWeekday","E"),M("day",11),M("weekday",11),M("isoWeekday",11),Z("d",Sd),Z("e",Sd),Z("E",Sd),Z("dd",function(a,b){return b.weekdaysMinRegex(a)}),Z("ddd",function(a,b){return b.weekdaysShortRegex(a)}),Z("dddd",function(a,b){return b.weekdaysRegex(a)}),ca(["dd","ddd","dddd"],function(a,b,c,d){var e=c._locale.weekdaysParse(a,d,c._strict);null!=e?b.d=e:n(c).invalidWeekday=a}),ca(["d","e","E"],function(a,b,c,d){b[d]=u(a)});var ve="Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),we="Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),xe="Su_Mo_Tu_We_Th_Fr_Sa".split("_"),ye=be,ze=be,Ae=be;U("H",["HH",2],0,"hour"),U("h",["hh",2],0,Ra),U("k",["kk",2],0,Sa),U("hmm",0,0,function(){return""+Ra.apply(this)+T(this.minutes(),2)}),U("hmmss",0,0,function(){return""+Ra.apply(this)+T(this.minutes(),2)+T(this.seconds(),2)}),U("Hmm",0,0,function(){return""+this.hours()+T(this.minutes(),2)}),U("Hmmss",0,0,function(){return""+this.hours()+T(this.minutes(),2)+T(this.seconds(),2)}),Ta("a",!0),Ta("A",!1),J("hour","h"),M("hour",13),Z("a",Ua),Z("A",Ua),Z("H",Sd),Z("h",Sd),Z("k",Sd),Z("HH",Sd,Od),Z("hh",Sd,Od),Z("kk",Sd,Od),Z("hmm",Td),Z("hmmss",Ud),Z("Hmm",Td),Z("Hmmss",Ud),ba(["H","HH"],he),ba(["k","kk"],function(a,b,c){var d=u(a);b[he]=24===d?0:d}),ba(["a","A"],function(a,b,c){c._isPm=c._locale.isPM(a),c._meridiem=a}),ba(["h","hh"],function(a,b,c){b[he]=u(a),n(c).bigHour=!0}),ba("hmm",function(a,b,c){var d=a.length-2;b[he]=u(a.substr(0,d)),b[ie]=u(a.substr(d)),n(c).bigHour=!0}),ba("hmmss",function(a,b,c){var d=a.length-4,e=a.length-2;b[he]=u(a.substr(0,d)),b[ie]=u(a.substr(d,2)),b[je]=u(a.substr(e)),n(c).bigHour=!0}),ba("Hmm",function(a,b,c){var d=a.length-2;b[he]=u(a.substr(0,d)),b[ie]=u(a.substr(d))}),ba("Hmmss",function(a,b,c){var d=a.length-4,e=a.length-2;b[he]=u(a.substr(0,d)),b[ie]=u(a.substr(d,2)),b[je]=u(a.substr(e))});var Be,Ce=/[ap]\.?m?\.?/i,De=O("Hours",!0),Ee={calendar:Bd,longDateFormat:Cd,invalidDate:Dd,ordinal:Ed,dayOfMonthOrdinalParse:Fd,relativeTime:Gd,months:pe,monthsShort:qe,week:ue,weekdays:ve,weekdaysMin:xe,weekdaysShort:we,meridiemParse:Ce},Fe={},Ge={},He=/^\s*((?:[+-]\d{6}|\d{4})-(?:\d\d-\d\d|W\d\d-\d|W\d\d|\d\d\d|\d\d))(?:(T| )(\d\d(?::\d\d(?::\d\d(?:[.,]\d+)?)?)?)([\+\-]\d\d(?::?\d\d)?|\s*Z)?)?$/,Ie=/^\s*((?:[+-]\d{6}|\d{4})(?:\d\d\d\d|W\d\d\d|W\d\d|\d\d\d|\d\d))(?:(T| )(\d\d(?:\d\d(?:\d\d(?:[.,]\d+)?)?)?)([\+\-]\d\d(?::?\d\d)?|\s*Z)?)?$/,Je=/Z|[+-]\d\d(?::?\d\d)?/,Ke=[["YYYYYY-MM-DD",/[+-]\d{6}-\d\d-\d\d/],["YYYY-MM-DD",/\d{4}-\d\d-\d\d/],["GGGG-[W]WW-E",/\d{4}-W\d\d-\d/],["GGGG-[W]WW",/\d{4}-W\d\d/,!1],["YYYY-DDD",/\d{4}-\d{3}/],["YYYY-MM",/\d{4}-\d\d/,!1],["YYYYYYMMDD",/[+-]\d{10}/],["YYYYMMDD",/\d{8}/],["GGGG[W]WWE",/\d{4}W\d{3}/],["GGGG[W]WW",/\d{4}W\d{2}/,!1],["YYYYDDD",/\d{7}/]],Le=[["HH:mm:ss.SSSS",/\d\d:\d\d:\d\d\.\d+/],["HH:mm:ss,SSSS",/\d\d:\d\d:\d\d,\d+/],["HH:mm:ss",/\d\d:\d\d:\d\d/],["HH:mm",/\d\d:\d\d/],["HHmmss.SSSS",/\d\d\d\d\d\d\.\d+/],["HHmmss,SSSS",/\d\d\d\d\d\d,\d+/],["HHmmss",/\d\d\d\d\d\d/],["HHmm",/\d\d\d\d/],["HH",/\d\d/]],Me=/^\/?Date\((\-?\d+)/i,Ne=/^((?:Mon|Tue|Wed|Thu|Fri|Sat|Sun),?\s)?(\d?\d\s(?:Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)\s(?:\d\d)?\d\d\s)(\d\d:\d\d)(\:\d\d)?(\s(?:UT|GMT|[ECMP][SD]T|[A-IK-Za-ik-z]|[+-]\d{4}))$/;a.createFromInputFallback=x("value provided is not in a recognized RFC2822 or ISO format. moment construction falls back to js Date(), which is not reliable across all browsers and versions. Non RFC2822/ISO date formats are discouraged and will be removed in an upcoming major release. Please refer to http://momentjs.com/guides/#/warnings/js-date/ for more info.",function(a){a._d=new Date(a._i+(a._useUTC?" UTC":""))}),a.ISO_8601=function(){},a.RFC_2822=function(){};var Oe=x("moment().min is deprecated, use moment.max instead. http://momentjs.com/guides/#/warnings/min-max/",function(){var a=tb.apply(null,arguments);return this.isValid()&&a.isValid()?athis?this:a:p()}),Qe=function(){return Date.now?Date.now():+new Date},Re=["year","quarter","month","week","day","hour","minute","second","millisecond"];Db("Z",":"),Db("ZZ",""),Z("Z",_d),Z("ZZ",_d),ba(["Z","ZZ"],function(a,b,c){c._useUTC=!0,c._tzm=Eb(_d,a)});var Se=/([\+\-]|\d\d)/gi;a.updateOffset=function(){};var Te=/^(\-)?(?:(\d*)[. ])?(\d+)\:(\d+)(?:\:(\d+)(\.\d*)?)?$/,Ue=/^(-)?P(?:(-?[0-9,.]*)Y)?(?:(-?[0-9,.]*)M)?(?:(-?[0-9,.]*)W)?(?:(-?[0-9,.]*)D)?(?:T(?:(-?[0-9,.]*)H)?(?:(-?[0-9,.]*)M)?(?:(-?[0-9,.]*)S)?)?$/;Sb.fn=Ab.prototype,Sb.invalid=zb;var Ve=Wb(1,"add"),We=Wb(-1,"subtract");a.defaultFormat="YYYY-MM-DDTHH:mm:ssZ",a.defaultFormatUtc="YYYY-MM-DDTHH:mm:ss[Z]";var Xe=x("moment().lang() is deprecated. Instead, use moment().localeData() to get the language configuration. Use moment().locale() to change languages.",function(a){return void 0===a?this.localeData():this.locale(a)});U(0,["gg",2],0,function(){return this.weekYear()%100}),U(0,["GG",2],0,function(){return this.isoWeekYear()%100}),Dc("gggg","weekYear"),Dc("ggggg","weekYear"),Dc("GGGG","isoWeekYear"),Dc("GGGGG","isoWeekYear"),J("weekYear","gg"),J("isoWeekYear","GG"),M("weekYear",1),M("isoWeekYear",1),Z("G",Zd),Z("g",Zd),Z("GG",Sd,Od),Z("gg",Sd,Od),Z("GGGG",Wd,Qd),Z("gggg",Wd,Qd),Z("GGGGG",Xd,Rd),Z("ggggg",Xd,Rd),ca(["gggg","ggggg","GGGG","GGGGG"],function(a,b,c,d){b[d.substr(0,2)]=u(a)}),ca(["gg","GG"],function(b,c,d,e){c[e]=a.parseTwoDigitYear(b)}),U("Q",0,"Qo","quarter"),J("quarter","Q"),M("quarter",7),Z("Q",Nd),ba("Q",function(a,b){b[fe]=3*(u(a)-1)}),U("D",["DD",2],"Do","date"),J("date","D"),M("date",9),Z("D",Sd),Z("DD",Sd,Od),Z("Do",function(a,b){return a?b._dayOfMonthOrdinalParse||b._ordinalParse:b._dayOfMonthOrdinalParseLenient}),ba(["D","DD"],ge),ba("Do",function(a,b){b[ge]=u(a.match(Sd)[0],10)});var Ye=O("Date",!0);U("DDD",["DDDD",3],"DDDo","dayOfYear"),J("dayOfYear","DDD"),M("dayOfYear",4),Z("DDD",Vd),Z("DDDD",Pd),ba(["DDD","DDDD"],function(a,b,c){c._dayOfYear=u(a)}),U("m",["mm",2],0,"minute"),J("minute","m"),M("minute",14),Z("m",Sd),Z("mm",Sd,Od),ba(["m","mm"],ie);var Ze=O("Minutes",!1);U("s",["ss",2],0,"second"),J("second","s"),M("second",15),Z("s",Sd),Z("ss",Sd,Od),ba(["s","ss"],je);var $e=O("Seconds",!1);U("S",0,0,function(){return~~(this.millisecond()/100)}),U(0,["SS",2],0,function(){return~~(this.millisecond()/10)}),U(0,["SSS",3],0,"millisecond"),U(0,["SSSS",4],0,function(){return 10*this.millisecond()}),U(0,["SSSSS",5],0,function(){return 100*this.millisecond()}),U(0,["SSSSSS",6],0,function(){return 1e3*this.millisecond()}),U(0,["SSSSSSS",7],0,function(){return 1e4*this.millisecond()}),U(0,["SSSSSSSS",8],0,function(){return 1e5*this.millisecond()}),U(0,["SSSSSSSSS",9],0,function(){return 1e6*this.millisecond()}),J("millisecond","ms"),M("millisecond",16),Z("S",Vd,Nd),Z("SS",Vd,Od),Z("SSS",Vd,Pd);var _e;for(_e="SSSS";_e.length<=9;_e+="S")Z(_e,Yd);for(_e="S";_e.length<=9;_e+="S")ba(_e,Mc);var af=O("Milliseconds",!1);U("z",0,0,"zoneAbbr"),U("zz",0,0,"zoneName");var bf=r.prototype;bf.add=Ve,bf.calendar=Zb,bf.clone=$b,bf.diff=fc,bf.endOf=sc,bf.format=kc,bf.from=lc,bf.fromNow=mc,bf.to=nc,bf.toNow=oc,bf.get=R,bf.invalidAt=Bc,bf.isAfter=_b,bf.isBefore=ac,bf.isBetween=bc,bf.isSame=cc,bf.isSameOrAfter=dc,bf.isSameOrBefore=ec,bf.isValid=zc,bf.lang=Xe,bf.locale=pc,bf.localeData=qc,bf.max=Pe,bf.min=Oe,bf.parsingFlags=Ac,bf.set=S,bf.startOf=rc,bf.subtract=We,bf.toArray=wc,bf.toObject=xc,bf.toDate=vc,bf.toISOString=ic,bf.inspect=jc,bf.toJSON=yc,bf.toString=hc,bf.unix=uc,bf.valueOf=tc,bf.creationData=Cc,bf.year=te,bf.isLeapYear=ra,bf.weekYear=Ec,bf.isoWeekYear=Fc,bf.quarter=bf.quarters=Kc,bf.month=ka,bf.daysInMonth=la,bf.week=bf.weeks=Ba,bf.isoWeek=bf.isoWeeks=Ca,bf.weeksInYear=Hc,bf.isoWeeksInYear=Gc,bf.date=Ye,bf.day=bf.days=Ka,bf.weekday=La,bf.isoWeekday=Ma,bf.dayOfYear=Lc,bf.hour=bf.hours=De,bf.minute=bf.minutes=Ze,bf.second=bf.seconds=$e,bf.millisecond=bf.milliseconds=af,bf.utcOffset=Hb,bf.utc=Jb,bf.local=Kb,bf.parseZone=Lb,bf.hasAlignedHourOffset=Mb,bf.isDST=Nb,bf.isLocal=Pb,bf.isUtcOffset=Qb,bf.isUtc=Rb,bf.isUTC=Rb,bf.zoneAbbr=Nc,bf.zoneName=Oc,bf.dates=x("dates accessor is deprecated. Use date instead.",Ye),bf.months=x("months accessor is deprecated. Use month instead",ka),bf.years=x("years accessor is deprecated. Use year instead",te),bf.zone=x("moment().zone is deprecated, use moment().utcOffset instead. http://momentjs.com/guides/#/warnings/zone/",Ib),bf.isDSTShifted=x("isDSTShifted is deprecated. See http://momentjs.com/guides/#/warnings/dst-shifted/ for more information",Ob);var cf=C.prototype;cf.calendar=D,cf.longDateFormat=E,cf.invalidDate=F,cf.ordinal=G,cf.preparse=Rc,cf.postformat=Rc,cf.relativeTime=H,cf.pastFuture=I,cf.set=A,cf.months=fa,cf.monthsShort=ga,cf.monthsParse=ia,cf.monthsRegex=na,cf.monthsShortRegex=ma,cf.week=ya,cf.firstDayOfYear=Aa,cf.firstDayOfWeek=za,cf.weekdays=Fa,cf.weekdaysMin=Ha,cf.weekdaysShort=Ga,cf.weekdaysParse=Ja,cf.weekdaysRegex=Na,cf.weekdaysShortRegex=Oa,cf.weekdaysMinRegex=Pa,cf.isPM=Va,cf.meridiem=Wa,$a("en",{dayOfMonthOrdinalParse:/\d{1,2}(th|st|nd|rd)/,ordinal:function(a){var b=a%10,c=1===u(a%100/10)?"th":1===b?"st":2===b?"nd":3===b?"rd":"th";return a+c}}),a.lang=x("moment.lang is deprecated. Use moment.locale instead.",$a),a.langData=x("moment.langData is deprecated. Use moment.localeData instead.",bb);var df=Math.abs,ef=id("ms"),ff=id("s"),gf=id("m"),hf=id("h"),jf=id("d"),kf=id("w"),lf=id("M"),mf=id("y"),nf=kd("milliseconds"),of=kd("seconds"),pf=kd("minutes"),qf=kd("hours"),rf=kd("days"),sf=kd("months"),tf=kd("years"),uf=Math.round,vf={ss:44,s:45,m:45,h:22,d:26,M:11},wf=Math.abs,xf=Ab.prototype;return xf.isValid=yb,xf.abs=$c,xf.add=ad,xf.subtract=bd,xf.as=gd,xf.asMilliseconds=ef,xf.asSeconds=ff,xf.asMinutes=gf,xf.asHours=hf,xf.asDays=jf,xf.asWeeks=kf,xf.asMonths=lf,xf.asYears=mf,xf.valueOf=hd,xf._bubble=dd,xf.get=jd,xf.milliseconds=nf,xf.seconds=of,xf.minutes=pf,xf.hours=qf,xf.days=rf,xf.weeks=ld,xf.months=sf,xf.years=tf,xf.humanize=qd,xf.toISOString=rd,xf.toString=rd,xf.toJSON=rd,xf.locale=pc,xf.localeData=qc,xf.toIsoString=x("toIsoString() is deprecated. Please use toISOString() instead (notice the capitals)",rd),xf.lang=Xe,U("X",0,0,"unix"),U("x",0,0,"valueOf"),Z("x",Zd),Z("X",ae),ba("X",function(a,b,c){c._d=new Date(1e3*parseFloat(a,10))}),ba("x",function(a,b,c){c._d=new Date(u(a))}),a.version="2.18.1",b(tb),a.fn=bf,a.min=vb,a.max=wb,a.now=Qe,a.utc=l,a.unix=Pc,a.months=Vc,a.isDate=h,a.locale=$a,a.invalid=p,a.duration=Sb,a.isMoment=s,a.weekdays=Xc,a.parseZone=Qc,a.localeData=bb,a.isDuration=Bb,a.monthsShort=Wc,a.weekdaysMin=Zc,a.defineLocale=_a,a.updateLocale=ab,a.locales=cb,a.weekdaysShort=Yc,a.normalizeUnits=K,a.relativeTimeRounding=od,a.relativeTimeThreshold=pd,a.calendarFormat=Yb,a.prototype=bf,a}); \ No newline at end of file diff --git a/public/assets/libs/admin-resources/jquery.vectormap/jquery-jvectormap-1.2.2.css b/public/assets/libs/admin-resources/jquery.vectormap/jquery-jvectormap-1.2.2.css new file mode 100644 index 0000000..3c4db84 --- /dev/null +++ b/public/assets/libs/admin-resources/jquery.vectormap/jquery-jvectormap-1.2.2.css @@ -0,0 +1,36 @@ +.jvectormap-label { + position: absolute; + display: none; + border: solid 1px #CDCDCD; + -webkit-border-radius: 3px; + -moz-border-radius: 3px; + border-radius: 3px; + background: #292929; + color: white; + font-family: sans-serif, Verdana; + font-size: smaller; + padding: 3px; +} + +.jvectormap-zoomin, .jvectormap-zoomout { + position: absolute; + left: 10px; + -webkit-border-radius: 3px; + -moz-border-radius: 3px; + background: #424242; + padding: 2px; + color: white; + width: 15px; + height: 15px; + cursor: pointer; + line-height: 12px; + text-align: center; +} + +.jvectormap-zoomin { + top: 10px; +} + +.jvectormap-zoomout { + top: 30px; +} \ No newline at end of file diff --git a/public/assets/libs/admin-resources/jquery.vectormap/jquery-jvectormap-1.2.2.min.js b/public/assets/libs/admin-resources/jquery.vectormap/jquery-jvectormap-1.2.2.min.js new file mode 100644 index 0000000..ea54476 --- /dev/null +++ b/public/assets/libs/admin-resources/jquery.vectormap/jquery-jvectormap-1.2.2.min.js @@ -0,0 +1,8 @@ +/** + * jVectorMap version 1.2.2 + * + * Copyright 2011-2013, Kirill Lebedev + * Licensed under the MIT license. + * + */(function(e){var t={set:{colors:1,values:1,backgroundColor:1,scaleColors:1,normalizeFunction:1,focus:1},get:{selectedRegions:1,selectedMarkers:1,mapObject:1,regionName:1}};e.fn.vectorMap=function(e){var n,r,i,n=this.children(".jvectormap-container").data("mapObject");if(e==="addMap")jvm.WorldMap.maps[arguments[1]]=arguments[2];else{if(!(e!=="set"&&e!=="get"||!t[e][arguments[1]]))return r=arguments[1].charAt(0).toUpperCase()+arguments[1].substr(1),n[e+r].apply(n,Array.prototype.slice.call(arguments,2));e=e||{},e.container=this,n=new jvm.WorldMap(e)}return this}})(jQuery),function(e){function r(t){var n=t||window.event,r=[].slice.call(arguments,1),i=0,s=!0,o=0,u=0;return t=e.event.fix(n),t.type="mousewheel",n.wheelDelta&&(i=n.wheelDelta/120),n.detail&&(i=-n.detail/3),u=i,n.axis!==undefined&&n.axis===n.HORIZONTAL_AXIS&&(u=0,o=-1*i),n.wheelDeltaY!==undefined&&(u=n.wheelDeltaY/120),n.wheelDeltaX!==undefined&&(o=-1*n.wheelDeltaX/120),r.unshift(t,i,o,u),(e.event.dispatch||e.event.handle).apply(this,r)}var t=["DOMMouseScroll","mousewheel"];if(e.event.fixHooks)for(var n=t.length;n;)e.event.fixHooks[t[--n]]=e.event.mouseHooks;e.event.special.mousewheel={setup:function(){if(this.addEventListener)for(var e=t.length;e;)this.addEventListener(t[--e],r,!1);else this.onmousewheel=r},teardown:function(){if(this.removeEventListener)for(var e=t.length;e;)this.removeEventListener(t[--e],r,!1);else this.onmousewheel=null}},e.fn.extend({mousewheel:function(e){return e?this.bind("mousewheel",e):this.trigger("mousewheel")},unmousewheel:function(e){return this.unbind("mousewheel",e)}})}(jQuery);var jvm={inherits:function(e,t){function n(){}n.prototype=t.prototype,e.prototype=new n,e.prototype.constructor=e,e.parentClass=t},mixin:function(e,t){var n;for(n in t.prototype)t.prototype.hasOwnProperty(n)&&(e.prototype[n]=t.prototype[n])},min:function(e){var t=Number.MAX_VALUE,n;if(e instanceof Array)for(n=0;nt&&(t=e[n]);else for(n in e)e[n]>t&&(t=e[n]);return t},keys:function(e){var t=[],n;for(n in e)t.push(n);return t},values:function(e){var t=[],n,r;for(r=0;r')}}catch(e){jvm.VMLElement.prototype.createElement=function(e){return document.createElement("<"+e+' xmlns="urn:schemas-microsoft.com:vml" class="rvml">')}}document.createStyleSheet().addRule(".rvml","behavior:url(#default#VML)"),jvm.VMLElement.VMLInitialized=!0},jvm.VMLElement.prototype.getElementCtr=function(e){return jvm["VML"+e]},jvm.VMLElement.prototype.addClass=function(e){jvm.$(this.node).addClass(e)},jvm.VMLElement.prototype.applyAttr=function(e,t){this.node[e]=t},jvm.VMLElement.prototype.getBBox=function(){var e=jvm.$(this.node);return{x:e.position().left/this.canvas.scale,y:e.position().top/this.canvas.scale,width:e.width()/this.canvas.scale,height:e.height()/this.canvas.scale}},jvm.VMLGroupElement=function(){jvm.VMLGroupElement.parentClass.call(this,"group"),this.node.style.left="0px",this.node.style.top="0px",this.node.coordorigin="0 0"},jvm.inherits(jvm.VMLGroupElement,jvm.VMLElement),jvm.VMLGroupElement.prototype.add=function(e){this.node.appendChild(e.node)},jvm.VMLCanvasElement=function(e,t,n){this.classPrefix="VML",jvm.VMLCanvasElement.parentClass.call(this,"group"),jvm.AbstractCanvasElement.apply(this,arguments),this.node.style.position="absolute"},jvm.inherits(jvm.VMLCanvasElement,jvm.VMLElement),jvm.mixin(jvm.VMLCanvasElement,jvm.AbstractCanvasElement),jvm.VMLCanvasElement.prototype.setSize=function(e,t){var n,r,i,s;this.width=e,this.height=t,this.node.style.width=e+"px",this.node.style.height=t+"px",this.node.coordsize=e+" "+t,this.node.coordorigin="0 0";if(this.rootElement){n=this.rootElement.node.getElementsByTagName("shape");for(i=0,s=n.length;i=0)e-=t[i],i++;return i==this.scale.length-1?e=this.vectorToNum(this.scale[i]):e=this.vectorToNum(this.vectorAdd(this.scale[i],this.vectorMult(this.vectorSubtract(this.scale[i+1],this.scale[i]),e/t[i]))),e},vectorToNum:function(e){var t=0,n;for(n=0;nt&&(t=e[i]),r0?1:e<0?-1:e},mill:function(e,t,n){return{x:this.radius*(t-n)*this.radDeg,y:-this.radius*Math.log(Math.tan((45+.4*e)*this.radDeg))/.8}},mill_inv:function(e,t,n){return{lat:(2.5*Math.atan(Math.exp(.8*t/this.radius))-5*Math.PI/8)*this.degRad,lng:(n*this.radDeg+e/this.radius)*this.degRad}},merc:function(e,t,n){return{x:this.radius*(t-n)*this.radDeg,y:-this.radius*Math.log(Math.tan(Math.PI/4+e*Math.PI/360))}},merc_inv:function(e,t,n){return{lat:(2*Math.atan(Math.exp(t/this.radius))-Math.PI/2)*this.degRad,lng:(n*this.radDeg+e/this.radius)*this.degRad}},aea:function(e,t,n){var r=0,i=n*this.radDeg,s=29.5*this.radDeg,o=45.5*this.radDeg,u=e*this.radDeg,a=t*this.radDeg,f=(Math.sin(s)+Math.sin(o))/2,l=Math.cos(s)*Math.cos(s)+2*f*Math.sin(s),c=f*(a-i),h=Math.sqrt(l-2*f*Math.sin(u))/f,p=Math.sqrt(l-2*f*Math.sin(r))/f;return{x:h*Math.sin(c)*this.radius,y:-(p-h*Math.cos(c))*this.radius}},aea_inv:function(e,t,n){var r=e/this.radius,i=t/this.radius,s=0,o=n*this.radDeg,u=29.5*this.radDeg,a=45.5*this.radDeg,f=(Math.sin(u)+Math.sin(a))/2,l=Math.cos(u)*Math.cos(u)+2*f*Math.sin(u),c=Math.sqrt(l-2*f*Math.sin(s))/f,h=Math.sqrt(r*r+(c-i)*(c-i)),p=Math.atan(r/(c-i));return{lat:Math.asin((l-h*h*f*f)/(2*f))*this.degRad,lng:(o+p/f)*this.degRad}},lcc:function(e,t,n){var r=0,i=n*this.radDeg,s=t*this.radDeg,o=33*this.radDeg,u=45*this.radDeg,a=e*this.radDeg,f=Math.log(Math.cos(o)*(1/Math.cos(u)))/Math.log(Math.tan(Math.PI/4+u/2)*(1/Math.tan(Math.PI/4+o/2))),l=Math.cos(o)*Math.pow(Math.tan(Math.PI/4+o/2),f)/f,c=l*Math.pow(1/Math.tan(Math.PI/4+a/2),f),h=l*Math.pow(1/Math.tan(Math.PI/4+r/2),f);return{x:c*Math.sin(f*(s-i))*this.radius,y:-(h-c*Math.cos(f*(s-i)))*this.radius}},lcc_inv:function(e,t,n){var r=e/this.radius,i=t/this.radius,s=0,o=n*this.radDeg,u=33*this.radDeg,a=45*this.radDeg,f=Math.log(Math.cos(u)*(1/Math.cos(a)))/Math.log(Math.tan(Math.PI/4+a/2)*(1/Math.tan(Math.PI/4+u/2))),l=Math.cos(u)*Math.pow(Math.tan(Math.PI/4+u/2),f)/f,c=l*Math.pow(1/Math.tan(Math.PI/4+s/2),f),h=this.sgn(f)*Math.sqrt(r*r+(c-i)*(c-i)),p=Math.atan(r/(c-i));return{lat:(2*Math.atan(Math.pow(l/h,1/f))-Math.PI/2)*this.degRad,lng:(o+p/f)*this.degRad}}},jvm.WorldMap=function(e){var t=this,n;this.params=jvm.$.extend(!0,{},jvm.WorldMap.defaultParams,e);if(!jvm.WorldMap.maps[this.params.map])throw new Error("Attempt to use map which was not loaded: "+this.params.map);this.mapData=jvm.WorldMap.maps[this.params.map],this.markers={},this.regions={},this.regionsColors={},this.regionsData={},this.container=jvm.$("
").css({width:"100%",height:"100%"}).addClass("jvectormap-container"),this.params.container.append(this.container),this.container.data("mapObject",this),this.container.css({position:"relative",overflow:"hidden"}),this.defaultWidth=this.mapData.width,this.defaultHeight=this.mapData.height,this.setBackgroundColor(this.params.backgroundColor),this.onResize=function(){t.setSize()},jvm.$(window).resize(this.onResize);for(n in jvm.WorldMap.apiEvents)this.params[n]&&this.container.bind(jvm.WorldMap.apiEvents[n]+".jvectormap",this.params[n]);this.canvas=new jvm.VectorCanvas(this.container[0],this.width,this.height),"ontouchstart"in window||window.DocumentTouch&&document instanceof DocumentTouch?this.params.bindTouchEvents&&this.bindContainerTouchEvents():this.bindContainerEvents(),this.bindElementEvents(),this.createLabel(),this.params.zoomButtons&&this.bindZoomButtons(),this.createRegions(),this.createMarkers(this.params.markers||{}),this.setSize(),this.params.focusOn&&(typeof this.params.focusOn=="object"?this.setFocus.call(this,this.params.focusOn.scale,this.params.focusOn.x,this.params.focusOn.y):this.setFocus.call(this,this.params.focusOn)),this.params.selectedRegions&&this.setSelectedRegions(this.params.selectedRegions),this.params.selectedMarkers&&this.setSelectedMarkers(this.params.selectedMarkers),this.params.series&&this.createSeries()},jvm.WorldMap.prototype={transX:0,transY:0,scale:1,baseTransX:0,baseTransY:0,baseScale:1,width:0,height:0,setBackgroundColor:function(e){this.container.css("background-color",e)},resize:function(){var e=this.baseScale;this.width/this.height>this.defaultWidth/this.defaultHeight?(this.baseScale=this.height/this.defaultHeight,this.baseTransX=Math.abs(this.width-this.defaultWidth*this.baseScale)/(2*this.baseScale)):(this.baseScale=this.width/this.defaultWidth,this.baseTransY=Math.abs(this.height-this.defaultHeight*this.baseScale)/(2*this.baseScale)),this.scale*=this.baseScale/e,this.transX*=this.baseScale/e,this.transY*=this.baseScale/e},setSize:function(){this.width=this.container.width(),this.height=this.container.height(),this.resize(),this.canvas.setSize(this.width,this.height),this.applyTransform()},reset:function(){var e,t;for(e in this.series)for(t=0;tt?this.transY=t:this.transYe?this.transX=e:this.transXf[1].pageX?s=f[1].pageX+(f[0].pageX-f[1].pageX)/2:s=f[0].pageX+(f[1].pageX-f[0].pageX)/2,f[0].pageY>f[1].pageY?o=f[1].pageY+(f[0].pageY-f[1].pageY)/2:o=f[0].pageY+(f[1].pageY-f[0].pageY)/2,s-=l.left,o-=l.top,e=n.scale,t=Math.sqrt(Math.pow(f[0].pageX-f[1].pageX,2)+Math.pow(f[0].pageY-f[1].pageY,2)))),u=f.length};jvm.$(this.container).bind("touchstart",a),jvm.$(this.container).bind("touchmove",a)},bindElementEvents:function(){var e=this,t;this.container.mousemove(function(){t=!0}),this.container.delegate("[class~='jvectormap-element']","mouseover mouseout",function(t){var n=this,r=jvm.$(this).attr("class").baseVal?jvm.$(this).attr("class").baseVal:jvm.$(this).attr("class"),i=r.indexOf("jvectormap-region")===-1?"marker":"region",s=i=="region"?jvm.$(this).attr("data-code"):jvm.$(this).attr("data-index"),o=i=="region"?e.regions[s].element:e.markers[s].element,u=i=="region"?e.mapData.paths[s].name:e.markers[s].config.name||"",a=jvm.$.Event(i+"LabelShow.jvectormap"),f=jvm.$.Event(i+"Over.jvectormap");t.type=="mouseover"?(e.container.trigger(f,[s]),f.isDefaultPrevented()||o.setHovered(!0),e.label.text(u),e.container.trigger(a,[e.label,s]),a.isDefaultPrevented()||(e.label.show(),e.labelWidth=e.label.width(),e.labelHeight=e.label.height())):(o.setHovered(!1),e.label.hide(),e.container.trigger(i+"Out.jvectormap",[s]))}),this.container.delegate("[class~='jvectormap-element']","mousedown",function(e){t=!1}),this.container.delegate("[class~='jvectormap-element']","mouseup",function(n){var r=this,i=jvm.$(this).attr("class").baseVal?jvm.$(this).attr("class").baseVal:jvm.$(this).attr("class"),s=i.indexOf("jvectormap-region")===-1?"marker":"region",o=s=="region"?jvm.$(this).attr("data-code"):jvm.$(this).attr("data-index"),u=jvm.$.Event(s+"Click.jvectormap"),a=s=="region"?e.regions[o].element:e.markers[o].element;if(!t){e.container.trigger(u,[o]);if(s==="region"&&e.params.regionsSelectable||s==="marker"&&e.params.markersSelectable)u.isDefaultPrevented()||(e.params[s+"sSelectableOne"]&&e.clearSelected(s+"s"),a.setSelected(!a.isSelected))}})},bindZoomButtons:function(){var e=this;jvm.$("
").addClass("jvectormap-zoomin").text("+").appendTo(this.container),jvm.$("
").addClass("jvectormap-zoomout").html("−").appendTo(this.container),this.container.find(".jvectormap-zoomin").click(function(){e.setScale(e.scale*e.params.zoomStep,e.width/2,e.height/2)}),this.container.find(".jvectormap-zoomout").click(function(){e.setScale(e.scale/e.params.zoomStep,e.width/2,e.height/2)})},createLabel:function(){var e=this;this.label=jvm.$("
").addClass("jvectormap-label").appendTo(jvm.$("body")),this.container.mousemove(function(t){var n=t.pageX-15-e.labelWidth,r=t.pageY-15-e.labelHeight;n<5&&(n=t.pageX+15),r<5&&(r=t.pageY+15),e.label.is(":visible")&&e.label.css({left:n,top:r})})},setScale:function(e,t,n,r){var i,s=jvm.$.Event("zoom.jvectormap");e>this.params.zoomMax*this.baseScale?e=this.params.zoomMax*this.baseScale:eu[0].x&&au[0].y&&fi[0].x&&ei[0].y&&t= 0) { + score = methods._between(score, 0, this.opt.number); + this.score.val(score); + } + + methods._fill.call(this, score); + + if (score) { + methods._roundStars.call(this, score); + } + }, _between: function(value, min, max) { + return Math.min(Math.max(parseFloat(value), min), max); + }, _binds: function() { + if (this.cancel) { + methods._bindCancel.call(this); + } + + methods._bindClick.call(this); + methods._bindOut.call(this); + methods._bindOver.call(this); + }, _bindCancel: function() { + methods._bindClickCancel.call(this); + methods._bindOutCancel.call(this); + methods._bindOverCancel.call(this); + }, _bindClick: function() { + var self = this, + that = $(self); + + self.stars.on('click.raty', function(evt) { + self.score.val((self.opt.half || self.opt.precision) ? that.data('score') : $(this).data('score')); + + if (self.opt.click) { + self.opt.click.call(self, parseFloat(self.score.val()), evt); + } + }); + }, _bindClickCancel: function() { + var self = this; + + self.cancel.on('click.raty', function(evt) { + self.score.removeAttr('value'); + + if (self.opt.click) { + self.opt.click.call(self, null, evt); + } + }); + }, _bindOut: function() { + var self = this; + + $(this).on('mouseleave.raty', function(evt) { + var score = parseFloat(self.score.val()) || undefined; + + methods._apply.call(self, score); + methods._target.call(self, score, evt); + + if (self.opt.mouseout) { + self.opt.mouseout.call(self, score, evt); + } + }); + }, _bindOutCancel: function() { + var self = this; + + self.cancel.on('mouseleave.raty', function(evt) { + $(this).attr('class', self.opt.cancelOff); + + if (self.opt.mouseout) { + self.opt.mouseout.call(self, self.score.val() || null, evt); + } + }); + }, _bindOverCancel: function() { + var self = this; + + self.cancel.on('mouseover.raty', function(evt) { + $(this).attr('class', self.opt.cancelOn); + + self.stars.attr('class', self.opt.starOff); + + methods._target.call(self, null, evt); + + if (self.opt.mouseover) { + self.opt.mouseover.call(self, null); + } + }); + }, _bindOver: function() { + var self = this, + that = $(self), + action = self.opt.half ? 'mousemove.raty' : 'mouseover.raty'; + + self.stars.on(action, function(evt) { + var score = parseInt($(this).data('score'), 10); + + if (self.opt.half) { + var position = parseFloat((evt.pageX - $(this).offset().left) / (self.opt.size ? self.opt.size : parseInt(that.css('font-size')))), + plus = (position > .5) ? 1 : .5; + + score = score - 1 + plus; + + methods._fill.call(self, score); + + if (self.opt.precision) { + score = score - plus + position; + } + + methods._roundStars.call(self, score); + + that.data('score', score); + } else { + methods._fill.call(self, score); + } + + methods._target.call(self, score, evt); + + if (self.opt.mouseover) { + self.opt.mouseover.call(self, score, evt); + } + }); + }, _callback: function(options) { + for (var i in options) { + if (typeof this.opt[options[i]] === 'function') { + this.opt[options[i]] = this.opt[options[i]].call(this); + } + } + }, _createCancel: function() { + var that = $(this), + icon = this.opt.cancelOff, + cancel = $('', { 'class': icon, title: this.opt.cancelHint }); + + if (this.opt.cancelPlace == 'left') { + that.prepend(' ').prepend(cancel); + } else { + that.append(' ').append(cancel); + } + + return cancel; + }, _createScore: function() { + return $('', { type: 'hidden', name: this.opt.scoreName }).appendTo(this); + }, _createStars: function() { + var that = $(this); + + for (var i = 1; i <= this.opt.number; i++) { + var title = methods._getHint.call(this, i), + icon = (this.opt.score && this.opt.score >= i) ? 'starOn' : 'starOff'; + + icon = this.opt[icon]; + + $('', { 'class' : icon, title: title, 'data-score': i }).appendTo(this); + + if (this.opt.space) { + that.append((i < this.opt.number) ? ' ' : ''); + } + } + + return that.children('i'); + }, _error: function(message) { + $(this).html(message); + + $.error(message); + }, _fill: function(score) { + var self = this, + hash = 0; + + for (var i = 1; i <= self.stars.length; i++) { + var star = self.stars.eq(i - 1), + select = self.opt.single ? (i == score) : (i <= score); + + if (self.opt.iconRange && self.opt.iconRange.length > hash) { + var irange = self.opt.iconRange[hash], + on = irange.on || self.opt.starOn, + off = irange.off || self.opt.starOff, + icon = select ? on : off; + + if (i <= irange.range) { + star.attr('class', icon); + } + + if (i == irange.range) { + hash++; + } + } else { + var icon = select ? 'starOn' : 'starOff'; + + star.attr('class', this.opt[icon]); + } + } + }, _getHint: function(score) { + var hint = this.opt.hints[score - 1]; + return (hint === '') ? '' : (hint || score); + }, _lock: function() { + var score = parseInt(this.score.val(), 10), // TODO: 3.1 >> [['1'], ['2'], ['3', '.1', '.2']] + hint = score ? methods._getHint.call(this, score) : this.opt.noRatedMsg; + + $(this).data('readonly', true).css('cursor', '').attr('title', hint); + + this.score.attr('readonly', 'readonly'); + this.stars.attr('title', hint); + + if (this.cancel) { + this.cancel.hide(); + } + }, _roundStars: function(score) { + var rest = (score - Math.floor(score)).toFixed(2); + + if (rest > this.opt.round.down) { + var icon = 'starOn'; // Up: [x.76 .. x.99] + + if (this.opt.halfShow && rest < this.opt.round.up) { // Half: [x.26 .. x.75] + icon = 'starHalf'; + } else if (rest < this.opt.round.full) { // Down: [x.00 .. x.5] + icon = 'starOff'; + } + + this.stars.eq(Math.ceil(score) - 1).attr('class', this.opt[icon]); + } // Full down: [x.00 .. x.25] + }, _target: function(score, evt) { + if (this.opt.target) { + var target = $(this.opt.target); + + if (target.length === 0) { + methods._error.call(this, 'Target selector invalid or missing!'); + } + + if (this.opt.targetFormat.indexOf('{score}') < 0) { + methods._error.call(this, 'Template "{score}" missing!'); + } + + var mouseover = evt && evt.type == 'mouseover'; + + if (score === undefined) { + score = this.opt.targetText; + } else if (score === null) { + score = mouseover ? this.opt.cancelHint : this.opt.targetText; + } else { + if (this.opt.targetType == 'hint') { + score = methods._getHint.call(this, Math.ceil(score)); + } else if (this.opt.precision) { + score = parseFloat(score).toFixed(1); + } + + if (!mouseover && !this.opt.targetKeep) { + score = this.opt.targetText; + } + } + + if (score) { + score = this.opt.targetFormat.toString().replace('{score}', score); + } + + if (target.is(':input')) { + target.val(score); + } else { + target.html(score); + } + } + }, _unlock: function() { + $(this).data('readonly', false).css('cursor', 'pointer').removeAttr('title'); + + this.score.removeAttr('readonly', 'readonly'); + + for (var i = 0; i < this.opt.number; i++) { + this.stars.eq(i).attr('title', methods._getHint.call(this, i + 1)); + } + + if (this.cancel) { + this.cancel.css('display', ''); + } + }, cancel: function(click) { + return this.each(function() { + if ($(this).data('readonly') !== true) { + methods[click ? 'click' : 'score'].call(this, null); + this.score.removeAttr('value'); + } + }); + }, click: function(score) { + return $(this).each(function() { + if ($(this).data('readonly') !== true) { + methods._apply.call(this, score); + + if (!this.opt.click) { + methods._error.call(this, 'You must add the "click: function(score, evt) { }" callback.'); + } + + + this.opt.click.call(this, score, $.Event('click')); + + methods._target.call(this, score); + } + }); + }, destroy: function() { + return $(this).each(function() { + var that = $(this), + raw = that.data('raw'); + + if (raw) { + that.off('.raty').empty().css({ cursor: raw.style.cursor, width: raw.style.width }).removeData('readonly'); + } else { + that.data('raw', that.clone()[0]); + } + }); + }, getScore: function() { + var score = [], + value ; + + $(this).each(function() { + value = this.score.val(); + + score.push(value ? parseFloat(value) : undefined); + }); + + return (score.length > 1) ? score : score[0]; + }, readOnly: function(readonly) { + return this.each(function() { + var that = $(this); + + if (that.data('readonly') !== readonly) { + if (readonly) { + that.off('.raty').children('i').off('.raty'); + + methods._lock.call(this); + } else { + methods._binds.call(this); + methods._unlock.call(this); + } + + that.data('readonly', readonly); + } + }); + }, reload: function() { + return methods.set.call(this, {}); + }, score: function() { + return arguments.length ? methods.setScore.apply(this, arguments) : methods.getScore.call(this); + }, set: function(settings) { + return this.each(function() { + var that = $(this), + actual = that.data('settings'), + news = $.extend({}, actual, settings); + + that.raty(news); + }); + }, setScore: function(score) { + return $(this).each(function() { + if ($(this).data('readonly') !== true) { + methods._apply.call(this, score); + methods._target.call(this, score); + } + }); + } + }; + + $.fn.raty = function(method) { + if (methods[method]) { + return methods[method].apply(this, Array.prototype.slice.call(arguments, 1)); + } else if (typeof method === 'object' || !method) { + return methods.init.apply(this, arguments); + } else { + $.error('Method ' + method + ' does not exist!'); + } + }; + + $.fn.raty.defaults = { + cancel : false, + cancelHint : 'Cancel this rating!', + cancelOff : 'fa fa-fw fa-minus-square', + cancelOn : 'fa fa-fw fa-check-square', + cancelPlace : 'left', + click : undefined, + half : false, + halfShow : true, + hints : ['bad', 'poor', 'regular', 'good', 'gorgeous'], + iconRange : undefined, + mouseout : undefined, + mouseover : undefined, + noRatedMsg : 'Not rated yet!', + number : 5, + numberMax : 20, + precision : false, + readOnly : false, + round : { down: .25, full: .6, up: .76 }, + score : undefined, + scoreName : 'score', + single : false, + size : null, + space : true, + starHalf : 'fa fa-fw fa-star-half-o', + starOff : 'fa fa-fw fa-star-o', + starOn : 'fa fa-fw fa-star', + target : undefined, + targetFormat : '{score}', + targetKeep : false, + targetText : '', + targetType : 'hint', + width : false + }; + +})(jQuery); diff --git a/public/assets/libs/admin-resources/rwd-table/rwd-table.min.css b/public/assets/libs/admin-resources/rwd-table/rwd-table.min.css new file mode 100644 index 0000000..45ac8ea --- /dev/null +++ b/public/assets/libs/admin-resources/rwd-table/rwd-table.min.css @@ -0,0 +1,7 @@ +/*! + * Responsive Tables v5.3.3 (http://gergeo.se/RWD-Table-Patterns) + * This is an awesome solution for responsive tables with complex data. + * Authors: Nadan Gergeo (www.blimp.se), Lucas Wiener & "Maggie Wachs (www.filamentgroup.com)" + * Licensed under MIT (https://github.com/nadangergeo/RWD-Table-Patterns/blob/master/LICENSE-MIT) + */ +.dropdown-menu>li.checkbox-row{padding:5px 20px}.dropdown-menu li.checkbox-row{display:block;clear:both;font-weight:normal;line-height:20px;color:#333;white-space:nowrap}.dropdown-menu li.checkbox-row label{font-weight:normal}.dropdown-menu li.checkbox-row:hover,.dropdown-menu li.checkbox-row input:hover,.dropdown-menu li.checkbox-row label:hover{cursor:pointer}.no-touch .dropdown-menu>.checkbox-row:hover,.no-touch .dropdown-menu>.checkbox-row:active{text-decoration:none;color:#262626;background-color:#f5f5f5}.btn-toolbar{margin-bottom:20px}.lt-ie8 .btn-toolbar{display:none}.table-responsive{border-radius:3px;border:1px solid #ddd;margin-bottom:20px}.table-responsive>.table{margin-bottom:0}.table-responsive>.table-bordered{border:0}.table-responsive>.table-bordered>thead>tr>th:first-child,.table-responsive>.table-bordered>tbody>tr>th:first-child,.table-responsive>.table-bordered>tfoot>tr>th:first-child,.table-responsive>.table-bordered>thead>tr>td:first-child,.table-responsive>.table-bordered>tbody>tr>td:first-child,.table-responsive>.table-bordered>tfoot>tr>td:first-child{border-left:0}.table-responsive>.table-bordered>thead>tr>th:last-child,.table-responsive>.table-bordered>tbody>tr>th:last-child,.table-responsive>.table-bordered>tfoot>tr>th:last-child,.table-responsive>.table-bordered>thead>tr>td:last-child,.table-responsive>.table-bordered>tbody>tr>td:last-child,.table-responsive>.table-bordered>tfoot>tr>td:last-child{border-right:0}.table-responsive>.table-bordered>tbody>tr:last-child>th,.table-responsive>.table-bordered>tfoot>tr:last-child>th,.table-responsive>.table-bordered>tbody>tr:last-child>td,.table-responsive>.table-bordered>tfoot>tr:last-child>td{border-bottom:0}.table-responsive[data-pattern="priority-columns"]{width:100%;margin-bottom:20px;overflow-y:hidden;overflow-x:auto;-ms-overflow-style:-ms-autohiding-scrollbar;border-radius:3px;border:1px solid #ddd;-webkit-overflow-scrolling:touch}.table-responsive[data-pattern="priority-columns"]>.table{margin-bottom:0}.table-responsive[data-pattern="priority-columns"]>.table>thead>tr>th,.table-responsive[data-pattern="priority-columns"]>.table>tbody>tr>th,.table-responsive[data-pattern="priority-columns"]>.table>tfoot>tr>th,.table-responsive[data-pattern="priority-columns"]>.table>thead>tr>td,.table-responsive[data-pattern="priority-columns"]>.table>tbody>tr>td,.table-responsive[data-pattern="priority-columns"]>.table>tfoot>tr>td{white-space:nowrap}.table-responsive[data-pattern="priority-columns"]>.table-bordered{border:0}.table-responsive[data-pattern="priority-columns"]>.table-bordered>thead>tr>th:first-child,.table-responsive[data-pattern="priority-columns"]>.table-bordered>tbody>tr>th:first-child,.table-responsive[data-pattern="priority-columns"]>.table-bordered>tfoot>tr>th:first-child,.table-responsive[data-pattern="priority-columns"]>.table-bordered>thead>tr>td:first-child,.table-responsive[data-pattern="priority-columns"]>.table-bordered>tbody>tr>td:first-child,.table-responsive[data-pattern="priority-columns"]>.table-bordered>tfoot>tr>td:first-child{border-left:0}.table-responsive[data-pattern="priority-columns"]>.table-bordered>thead>tr>th:last-child,.table-responsive[data-pattern="priority-columns"]>.table-bordered>tbody>tr>th:last-child,.table-responsive[data-pattern="priority-columns"]>.table-bordered>tfoot>tr>th:last-child,.table-responsive[data-pattern="priority-columns"]>.table-bordered>thead>tr>td:last-child,.table-responsive[data-pattern="priority-columns"]>.table-bordered>tbody>tr>td:last-child,.table-responsive[data-pattern="priority-columns"]>.table-bordered>tfoot>tr>td:last-child{border-right:0}.table-responsive[data-pattern="priority-columns"]>.table-bordered>tbody>tr:last-child>th,.table-responsive[data-pattern="priority-columns"]>.table-bordered>tfoot>tr:last-child>th,.table-responsive[data-pattern="priority-columns"]>.table-bordered>tbody>tr:last-child>td,.table-responsive[data-pattern="priority-columns"]>.table-bordered>tfoot>tr:last-child>td{border-bottom:0}.table-responsive.absolute-solution{position:relative}.mq.js .table-responsive[data-pattern="priority-columns"] th[data-priority="-1"],.mq.js.lt-ie10 .sticky-table-header th[data-priority="-1"],.mq.js .table-responsive[data-pattern="priority-columns"] td[data-priority="-1"],.mq.js.lt-ie10 .sticky-table-header td[data-priority="-1"],.mq.js .table-responsive[data-pattern="priority-columns"] th[data-priority="0"],.mq.js.lt-ie10 .sticky-table-header th[data-priority="0"],.mq.js .table-responsive[data-pattern="priority-columns"] td[data-priority="0"],.mq.js.lt-ie10 .sticky-table-header td[data-priority="0"],.mq.js .table-responsive[data-pattern="priority-columns"] td[data-priority="1"],.mq.js.lt-ie10 .sticky-table-header td[data-priority="1"],.mq.js .table-responsive[data-pattern="priority-columns"] td[data-priority="1"],.mq.js.lt-ie10 .sticky-table-header td[data-priority="1"],.mq.js .table-responsive[data-pattern="priority-columns"] th[data-priority="2"],.mq.js.lt-ie10 .sticky-table-header th[data-priority="2"],.mq.js .table-responsive[data-pattern="priority-columns"] td[data-priority="2"],.mq.js.lt-ie10 .sticky-table-header td[data-priority="2"],.mq.js .table-responsive[data-pattern="priority-columns"] th[data-priority="3"],.mq.js.lt-ie10 .sticky-table-header th[data-priority="3"],.mq.js .table-responsive[data-pattern="priority-columns"] td[data-priority="3"],.mq.js.lt-ie10 .sticky-table-header td[data-priority="3"],.mq.js .table-responsive[data-pattern="priority-columns"] th[data-priority="4"],.mq.js.lt-ie10 .sticky-table-header th[data-priority="4"],.mq.js .table-responsive[data-pattern="priority-columns"] td[data-priority="4"],.mq.js.lt-ie10 .sticky-table-header td[data-priority="4"],.mq.js .table-responsive[data-pattern="priority-columns"] th[data-priority="5"],.mq.js.lt-ie10 .sticky-table-header th[data-priority="5"],.mq.js .table-responsive[data-pattern="priority-columns"] td[data-priority="5"],.mq.js.lt-ie10 .sticky-table-header td[data-priority="5"],.mq.js .table-responsive[data-pattern="priority-columns"] th[data-priority="6"],.mq.js.lt-ie10 .sticky-table-header th[data-priority="6"],.mq.js .table-responsive[data-pattern="priority-columns"] td[data-priority="6"],.mq.js.lt-ie10 .sticky-table-header td[data-priority="6"]{display:none}.lt-ie9.mq.js .table-responsive[data-pattern="priority-columns"] th[data-priority="1"],.lt-ie9.mq.js.lt-ie10 .sticky-table-header th[data-priority="1"],.lt-ie9.mq.js .table-responsive[data-pattern="priority-columns"] td[data-priority="1"],.lt-ie9.mq.js.lt-ie10 .sticky-table-header td[data-priority="1"]{display:inline}.mq.js .table-responsive[data-pattern="priority-columns"] th[data-priority="1"],.mq.js.lt-ie10 .sticky-table-header th[data-priority="1"],.mq.js .table-responsive[data-pattern="priority-columns"] td[data-priority="1"],.mq.js.lt-ie10 .sticky-table-header td[data-priority="1"]{display:table-cell}@media screen and (min-width:480px){.lt-ie9.mq.js .table-responsive[data-pattern="priority-columns"] th[data-priority="2"],.lt-ie9.mq.js.lt-ie10 .sticky-table-header th[data-priority="2"],.lt-ie9.mq.js .table-responsive[data-pattern="priority-columns"] td[data-priority="2"],.lt-ie9.mq.js.lt-ie10 .sticky-table-header td[data-priority="2"]{display:inline}.mq.js .table-responsive[data-pattern="priority-columns"] th[data-priority="2"],.mq.js.lt-ie10 .sticky-table-header th[data-priority="2"],.mq.js .table-responsive[data-pattern="priority-columns"] td[data-priority="2"],.mq.js.lt-ie10 .sticky-table-header td[data-priority="2"]{display:table-cell}}@media screen and (min-width:640px){.lt-ie9.mq.js .table-responsive[data-pattern="priority-columns"] th[data-priority="3"],.lt-ie9.mq.js.lt-ie10 .sticky-table-header th[data-priority="3"],.lt-ie9.mq.js .table-responsive[data-pattern="priority-columns"] td[data-priority="3"],.lt-ie9.mq.js.lt-ie10 .sticky-table-header td[data-priority="3"]{display:inline}.mq.js .table-responsive[data-pattern="priority-columns"] th[data-priority="3"],.mq.js.lt-ie10 .sticky-table-header th[data-priority="3"],.mq.js .table-responsive[data-pattern="priority-columns"] td[data-priority="3"],.mq.js.lt-ie10 .sticky-table-header td[data-priority="3"]{display:table-cell}}@media screen and (min-width:800px){.lt-ie9.mq.js .table-responsive[data-pattern="priority-columns"] th[data-priority="4"],.lt-ie9.mq.js.lt-ie10 .sticky-table-header th[data-priority="4"],.lt-ie9.mq.js .table-responsive[data-pattern="priority-columns"] td[data-priority="4"],.lt-ie9.mq.js.lt-ie10 .sticky-table-header td[data-priority="4"]{display:inline}.mq.js .table-responsive[data-pattern="priority-columns"] th[data-priority="4"],.mq.js.lt-ie10 .sticky-table-header th[data-priority="4"],.mq.js .table-responsive[data-pattern="priority-columns"] td[data-priority="4"],.mq.js.lt-ie10 .sticky-table-header td[data-priority="4"]{display:table-cell}}@media screen and (min-width:960px){.lt-ie9.mq.js .table-responsive[data-pattern="priority-columns"] th[data-priority="5"],.lt-ie9.mq.js.lt-ie10 .sticky-table-header th[data-priority="5"],.lt-ie9.mq.js .table-responsive[data-pattern="priority-columns"] td[data-priority="5"],.lt-ie9.mq.js.lt-ie10 .sticky-table-header td[data-priority="5"]{display:inline}.mq.js .table-responsive[data-pattern="priority-columns"] th[data-priority="5"],.mq.js.lt-ie10 .sticky-table-header th[data-priority="5"],.mq.js .table-responsive[data-pattern="priority-columns"] td[data-priority="5"],.mq.js.lt-ie10 .sticky-table-header td[data-priority="5"]{display:table-cell}}@media screen and (min-width:1120px){.lt-ie9.mq.js .table-responsive[data-pattern="priority-columns"] th[data-priority="6"],.lt-ie9.mq.js.lt-ie10 .sticky-table-header th[data-priority="6"],.lt-ie9.mq.js .table-responsive[data-pattern="priority-columns"] td[data-priority="6"],.lt-ie9.mq.js.lt-ie10 .sticky-table-header td[data-priority="6"]{display:inline}.mq.js .table-responsive[data-pattern="priority-columns"] th[data-priority="6"],.mq.js.lt-ie10 .sticky-table-header th[data-priority="6"],.mq.js .table-responsive[data-pattern="priority-columns"] td[data-priority="6"],.mq.js.lt-ie10 .sticky-table-header td[data-priority="6"]{display:table-cell}}.mq.js .table-responsive[data-pattern="priority-columns"] th.cell-hide,.mq.js.lt-ie10 .sticky-table-header th.cell-hide,.mq.js .table-responsive[data-pattern="priority-columns"] td.cell-hide,.mq.js.lt-ie10 .sticky-table-header td.cell-hide{display:none}.mq.js .table-responsive[data-pattern="priority-columns"] th.cell-show,.mq.js.lt-ie10 .sticky-table-header th.cell-show,.mq.js .table-responsive[data-pattern="priority-columns"] td.cell-show,.mq.js.lt-ie10 .sticky-table-header td.cell-show{display:table-cell}.lt-ie9 .mq.js .table-responsive[data-pattern="priority-columns"] th.cell-show,.lt-ie9 .mq.js.lt-ie10 .sticky-table-header th.cell-show,.lt-ie9 .mq.js .table-responsive[data-pattern="priority-columns"] td.cell-show,.lt-ie9 .mq.js.lt-ie10 .sticky-table-header td.cell-show{display:inline}.lt-ie9 .mq.js .table-responsive[data-pattern="priority-columns"].display-all th,.lt-ie9 .mq.js.lt-ie10 .sticky-table-header.display-all th,.lt-ie9 .mq.js .table-responsive[data-pattern="priority-columns"].display-all td,.lt-ie9 .mq.js.lt-ie10 .sticky-table-header.display-all td{display:inline !important}.lt-ie9 .mq.js .table-responsive[data-pattern="priority-columns"].display-all th[data-priority="-1"],.lt-ie9 .mq.js.lt-ie10 .sticky-table-header.display-all th[data-priority="-1"],.lt-ie9 .mq.js .table-responsive[data-pattern="priority-columns"].display-all td[data-priority="-1"],.lt-ie9 .mq.js.lt-ie10 .sticky-table-header.display-all td[data-priority="-1"]{display:none !important}.mq.js .table-responsive[data-pattern="priority-columns"] table.display-all th,.mq.js.lt-ie10 .sticky-table-header table.display-all th,.mq.js .table-responsive[data-pattern="priority-columns"] table.display-all td,.mq.js.lt-ie10 .sticky-table-header table.display-all td{display:table-cell !important}.mq.js .table-responsive[data-pattern="priority-columns"] table.display-all th[data-priority="-1"],.mq.js.lt-ie10 .sticky-table-header table.display-all th[data-priority="-1"],.mq.js .table-responsive[data-pattern="priority-columns"] table.display-all td[data-priority="-1"],.mq.js.lt-ie10 .sticky-table-header table.display-all td[data-priority="-1"]{display:none !important}table.table-small-font{font-size:12px;-webkit-text-size-adjust:none;line-height:1.5em}table.focus-on tbody tr:hover,table.focus-on tfoot tr:hover{cursor:pointer}table.focus-on tbody tr.unfocused th,table.focus-on tfoot tr.unfocused th,table.focus-on tbody tr.unfocused td,table.focus-on tfoot tr.unfocused td{color:#777;color:rgba(0,0,0,0.4)}table.focus-on tbody tr.focused th,table.focus-on tfoot tr.focused th,table.focus-on tbody tr.focused td,table.focus-on tfoot tr.focused td{background-color:#5bc0de;color:#000}.sticky-table-header{background-color:#fff;border:none;border-radius:0;border-top:1px solid #ddd;border-bottom:1px solid #ddd;visibility:hidden;z-index:990;overflow:hidden}.fixed-solution .sticky-table-header{position:fixed;min-width:0}.absolute-solution .sticky-table-header{position:absolute;min-width:100%;top:0}.sticky-table-header.border-radius-fix{border-bottom-left-radius:3px;border-bottom-right-radius:3px}.sticky-table-header>.table{margin-bottom:0}.sticky-table-header>.table>thead>tr>th,.sticky-table-header>.table>tbody>tr>th,.sticky-table-header>.table>tfoot>tr>th,.sticky-table-header>.table>thead>tr>td,.sticky-table-header>.table>tbody>tr>td,.sticky-table-header>.table>tfoot>tr>td{white-space:nowrap}.sticky-table-header>.table-bordered{border:0}.sticky-table-header>.table-bordered>thead>tr>th:first-child,.sticky-table-header>.table-bordered>tbody>tr>th:first-child,.sticky-table-header>.table-bordered>tfoot>tr>th:first-child,.sticky-table-header>.table-bordered>thead>tr>td:first-child,.sticky-table-header>.table-bordered>tbody>tr>td:first-child,.sticky-table-header>.table-bordered>tfoot>tr>td:first-child{border-left:0}.sticky-table-header>.table-bordered>thead>tr>th:last-child,.sticky-table-header>.table-bordered>tbody>tr>th:last-child,.sticky-table-header>.table-bordered>tfoot>tr>th:last-child,.sticky-table-header>.table-bordered>thead>tr>td:last-child,.sticky-table-header>.table-bordered>tbody>tr>td:last-child,.sticky-table-header>.table-bordered>tfoot>tr>td:last-child{border-right:0}.sticky-table-header>.table-bordered>tbody>tr:last-child>th,.sticky-table-header>.table-bordered>tfoot>tr:last-child>th,.sticky-table-header>.table-bordered>tbody>tr:last-child>td,.sticky-table-header>.table-bordered>tfoot>tr:last-child>td{border-bottom:0} \ No newline at end of file diff --git a/public/assets/libs/admin-resources/rwd-table/rwd-table.min.js b/public/assets/libs/admin-resources/rwd-table/rwd-table.min.js new file mode 100644 index 0000000..4f5675a --- /dev/null +++ b/public/assets/libs/admin-resources/rwd-table/rwd-table.min.js @@ -0,0 +1,7 @@ +/*! + * Responsive Tables v5.3.3 (http://gergeo.se/RWD-Table-Patterns) + * This is an awesome solution for responsive tables with complex data. + * Authors: Nadan Gergeo (www.blimp.se), Lucas Wiener & "Maggie Wachs (www.filamentgroup.com)" + * Licensed under MIT (https://github.com/nadangergeo/RWD-Table-Patterns/blob/master/LICENSE-MIT) + */ +!function(d){"use strict";var a=function(t,i){var e=this;if(this.options=i,this.$tableWrapper=null,this.$tableScrollWrapper=d(t),this.$table=d(t).find("table"),1!==this.$table.length)throw new Error("Exactly one table is expected in a .table-responsive div.");this.$tableScrollWrapper.attr("data-pattern",this.options.pattern),this.id=this.$table.prop("id")||this.$tableScrollWrapper.prop("id")||"id"+Math.random().toString(16).slice(2),this.$tableClone=null,this.$stickyTableHeader=null,this.$thead=this.$table.find("thead"),this.$hdrCells=this.$thead.find("tr").first().find("th"),this.$bodyRows=this.$table.find("tbody, tfoot").find("tr"),this.$btnToolbar=null,this.$dropdownGroup=null,this.$dropdownBtn=null,this.$dropdownContainer=null,this.$displayAllBtn=null,this.$focusGroup=null,this.$focusBtn=null,this.displayAllTrigger="display-all-"+this.id+".responsive-table",this.idPrefix=this.id+"-col-",this.headerColIndices={},this.headerRowIndices={},this.wrapTable(),this.createButtonToolbar(),this.buildHeaderCellIndices(),this.setupTableHeader(),this.setupBodyRows(),this.options.stickyTableHeader&&this.createStickyTableHeader(),this.$dropdownContainer.is(":empty")&&this.$dropdownGroup.hide(),d(window).bind("orientationchange resize "+this.displayAllTrigger,function(){e.$dropdownContainer.find("input").trigger("updateCheck"),d.proxy(e.updateSpanningCells(),e)}).trigger("resize")};a.DEFAULTS={pattern:"priority-columns",stickyTableHeader:!0,fixedNavbar:".navbar-fixed-top",addDisplayAllBtn:!0,addFocusBtn:!0,focusBtnIcon:"glyphicon glyphicon-screenshot",mainContainer:window,i18n:{focus:"Focus",display:"Display",displayAll:"Display all"}},a.prototype.wrapTable=function(){this.$tableScrollWrapper.wrap('
'),this.$tableWrapper=this.$tableScrollWrapper.parent()},a.prototype.createButtonToolbar=function(){var t=this;this.$btnToolbar=d('[data-responsive-table-toolbar="'+this.id+'"]').addClass("btn-toolbar"),0===this.$btnToolbar.length&&(this.$btnToolbar=d('
')),this.$dropdownGroup=d('
',i.appendChild(i.__resizeTriggers__),t(i),i.addEventListener("scroll",e,!0),o&&i.__resizeTriggers__.addEventListener(o,(function(e){"resizeanim"==e.animationName&&t(i)}))),i.__resizeListeners__.push(a)},window.removeResizeListener=function(t,i){t&&(t.__resizeListeners__.splice(t.__resizeListeners__.indexOf(i),1),t.__resizeListeners__.length||(t.removeEventListener("scroll",e),t.__resizeTriggers__.parentNode&&(t.__resizeTriggers__=!t.removeChild(t.__resizeTriggers__))))}}(),window.Apex={};var InitCtxVariables=function(){function t(e){_classCallCheck(this,t),this.ctx=e,this.w=e.w}return _createClass(t,[{key:"initModules",value:function(){this.ctx.publicMethods=["updateOptions","updateSeries","appendData","appendSeries","toggleSeries","showSeries","hideSeries","setLocale","resetSeries","zoomX","toggleDataPointSelection","dataURI","addXaxisAnnotation","addYaxisAnnotation","addPointAnnotation","clearAnnotations","removeAnnotation","paper","destroy"],this.ctx.eventList=["click","mousedown","mousemove","touchstart","touchmove","mouseup","touchend"],this.ctx.animations=new Animations(this.ctx),this.ctx.axes=new Axes(this.ctx),this.ctx.core=new Core(this.ctx.el,this.ctx),this.ctx.config=new Config({}),this.ctx.data=new Data(this.ctx),this.ctx.grid=new Grid(this.ctx),this.ctx.graphics=new Graphics(this.ctx),this.ctx.coreUtils=new CoreUtils(this.ctx),this.ctx.crosshairs=new Crosshairs(this.ctx),this.ctx.events=new Events(this.ctx),this.ctx.exports=new Exports(this.ctx),this.ctx.localization=new Localization(this.ctx),this.ctx.options=new Options,this.ctx.responsive=new Responsive(this.ctx),this.ctx.series=new Series(this.ctx),this.ctx.theme=new Theme(this.ctx),this.ctx.formatters=new Formatters(this.ctx),this.ctx.titleSubtitle=new TitleSubtitle(this.ctx),this.ctx.legend=new Legend(this.ctx),this.ctx.toolbar=new Toolbar(this.ctx),this.ctx.dimensions=new Dimensions(this.ctx),this.ctx.updateHelpers=new UpdateHelpers(this.ctx),this.ctx.zoomPanSelection=new ZoomPanSelection(this.ctx),this.ctx.w.globals.tooltip=new Tooltip(this.ctx)}}]),t}(),Destroy=function(){function t(e){_classCallCheck(this,t),this.ctx=e,this.w=e.w}return _createClass(t,[{key:"clear",value:function(){this.ctx.zoomPanSelection&&this.ctx.zoomPanSelection.destroy(),this.ctx.toolbar&&this.ctx.toolbar.destroy(),this.ctx.animations=null,this.ctx.axes=null,this.ctx.annotations=null,this.ctx.core=null,this.ctx.data=null,this.ctx.grid=null,this.ctx.series=null,this.ctx.responsive=null,this.ctx.theme=null,this.ctx.formatters=null,this.ctx.titleSubtitle=null,this.ctx.legend=null,this.ctx.dimensions=null,this.ctx.options=null,this.ctx.crosshairs=null,this.ctx.zoomPanSelection=null,this.ctx.updateHelpers=null,this.ctx.toolbar=null,this.ctx.localization=null,this.ctx.w.globals.tooltip=null,this.clearDomElements()}},{key:"killSVG",value:function(t){t.each((function(t,e){this.removeClass("*"),this.off(),this.stop()}),!0),t.ungroup(),t.clear()}},{key:"clearDomElements",value:function(){var t=this;this.ctx.eventList.forEach((function(e){document.removeEventListener(e,t.ctx.events.documentEvent)}));var e=this.w.globals.dom;if(null!==this.ctx.el)for(;this.ctx.el.firstChild;)this.ctx.el.removeChild(this.ctx.el.firstChild);this.killSVG(e.Paper),e.Paper.remove(),e.elWrap=null,e.elGraphical=null,e.elAnnotations=null,e.elLegendWrap=null,e.baseEl=null,e.elGridRect=null,e.elGridRectMask=null,e.elGridRectMarkerMask=null,e.elDefs=null}}]),t}(),ApexCharts$1=function(){function t(e,i){_classCallCheck(this,t),this.opts=i,this.ctx=this,this.w=new Base(i).init(),this.el=e,this.w.globals.cuid=Utils.randomId(),this.w.globals.chartID=this.w.config.chart.id?this.w.config.chart.id:this.w.globals.cuid,new InitCtxVariables(this).initModules(),this.create=Utils.bind(this.create,this),this.windowResizeHandler=this._windowResize.bind(this)}return _createClass(t,[{key:"render",value:function(){var t=this;return new Promise((function(e,i){if(null!==t.el){void 0===Apex._chartInstances&&(Apex._chartInstances=[]),t.w.config.chart.id&&Apex._chartInstances.push({id:t.w.globals.chartID,group:t.w.config.chart.group,chart:t}),t.setLocale(t.w.config.chart.defaultLocale);var a=t.w.config.chart.events.beforeMount;"function"==typeof a&&a(t,t.w),t.events.fireEvent("beforeMount",[t,t.w]),window.addEventListener("resize",t.windowResizeHandler),window.addResizeListener(t.el.parentNode,t._parentResizeCallback.bind(t));var s=t.create(t.w.config.series,{});if(!s)return e(t);t.mount(s).then((function(){"function"==typeof t.w.config.chart.events.mounted&&t.w.config.chart.events.mounted(t,t.w),t.events.fireEvent("mounted",[t,t.w]),e(s)})).catch((function(t){i(t)}))}else i(new Error("Element not found"))}))}},{key:"create",value:function(t,e){var i=this.w;new InitCtxVariables(this).initModules();var a=this.w.globals;(a.noData=!1,a.animationEnded=!1,this.responsive.checkResponsiveConfig(e),i.config.xaxis.convertedCatToNumeric)&&new Defaults(i.config).convertCatToNumericXaxis(i.config,this.ctx);if(null===this.el)return a.animationEnded=!0,null;if(this.core.setupElements(),0===a.svgWidth)return a.animationEnded=!0,null;var s=CoreUtils.checkComboSeries(t);a.comboCharts=s.comboCharts,a.comboBarCount=s.comboBarCount,(0===t.length||1===t.length&&t[0].data&&0===t[0].data.length)&&this.series.handleNoData(),this.events.setupEventHandlers(),this.data.parseData(t),this.theme.init(),new Markers(this).setGlobalMarkerSize(),this.formatters.setLabelFormatters(),this.titleSubtitle.draw(),a.noData&&a.collapsedSeries.length!==a.series.length||this.legend.init(),this.series.hasAllSeriesEqualX(),a.axisCharts&&(this.core.coreCalculations(),"category"!==i.config.xaxis.type&&this.formatters.setLabelFormatters()),this.formatters.heatmapLabelFormatters(),this.dimensions.plotCoords();var r=this.core.xySettings();this.grid.createGridMask();var n=this.core.plotChartType(t,r),o=new DataLabels(this);o.bringForward(),i.config.dataLabels.background.enabled&&o.dataLabelsBackground(),this.core.shiftGraphPosition();var l={plot:{left:i.globals.translateX,top:i.globals.translateY,width:i.globals.gridWidth,height:i.globals.gridHeight}};return{elGraph:n,xyRatios:r,elInner:i.globals.dom.elGraphical,dimensions:l}}},{key:"mount",value:function(){var t=this,e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null,i=this,a=i.w;return new Promise((function(s,r){if(null===i.el)return r(new Error("Not enough data to display or target element not found"));(null===e||a.globals.allSeriesCollapsed)&&i.series.handleNoData(),i.axes.drawAxis(a.config.chart.type,e.xyRatios),i.grid=new Grid(i);var n=i.grid.drawGrid();i.annotations=new Annotations(i),i.annotations.drawShapeAnnos(),i.annotations.drawImageAnnos(),i.annotations.drawTextAnnos(),"back"===a.config.grid.position&&n&&a.globals.dom.elGraphical.add(n.el);var o=new XAxis(t.ctx),l=new YAxis(t.ctx);if(null!==n&&(o.xAxisLabelCorrections(n.xAxisTickWidth),l.setYAxisTextAlignments()),"back"===a.config.annotations.position&&(a.globals.dom.Paper.add(a.globals.dom.elAnnotations),i.annotations.drawAxesAnnotations()),e.elGraph instanceof Array)for(var h=0;h0&&a.globals.memory.methodsToExec.forEach((function(t){t.method(t.params,!1,t.context)})),a.globals.axisCharts||a.globals.noData||i.core.resizeNonAxisCharts(),s(i)}))}},{key:"destroy",value:function(){window.removeEventListener("resize",this.windowResizeHandler),window.removeResizeListener(this.el.parentNode,this._parentResizeCallback.bind(this));var t=this.w.config.chart.id;t&&Apex._chartInstances.forEach((function(e,i){e.id===t&&Apex._chartInstances.splice(i,1)})),new Destroy(this.ctx).clear()}},{key:"updateOptions",value:function(t){var e=this,i=arguments.length>1&&void 0!==arguments[1]&&arguments[1],a=!(arguments.length>2&&void 0!==arguments[2])||arguments[2],s=!(arguments.length>3&&void 0!==arguments[3])||arguments[3],r=!(arguments.length>4&&void 0!==arguments[4])||arguments[4],n=this.w;return t.series&&(this.series.resetSeries(!1,!0,!1),t.series.length&&t.series[0].data&&(t.series=t.series.map((function(t,i){return e.updateHelpers._extendSeries(t,i)}))),this.updateHelpers.revertDefaultAxisMinMax()),t.xaxis&&(t=this.updateHelpers.forceXAxisUpdate(t)),t.yaxis&&(t=this.updateHelpers.forceYAxisUpdate(t)),n.globals.collapsedSeriesIndices.length>0&&this.series.clearPreviousPaths(),t.theme&&(t=this.theme.updateThemeOptions(t)),this.updateHelpers._updateOptions(t,i,a,s,r)}},{key:"updateSeries",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],e=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],i=!(arguments.length>2&&void 0!==arguments[2])||arguments[2];return this.series.resetSeries(!1),this.updateHelpers.revertDefaultAxisMinMax(),this.updateHelpers._updateSeries(t,e,i)}},{key:"appendSeries",value:function(t){var e=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],i=!(arguments.length>2&&void 0!==arguments[2])||arguments[2],a=this.w.config.series.slice();return a.push(t),this.series.resetSeries(!1),this.updateHelpers.revertDefaultAxisMinMax(),this.updateHelpers._updateSeries(a,e,i)}},{key:"appendData",value:function(t){var e=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],i=this;i.w.globals.dataChanged=!0,i.series.getPreviousPaths();for(var a=i.w.config.series.slice(),s=0;s0&&void 0!==arguments[0])||arguments[0],e=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];this.series.resetSeries(t,e)}},{key:"addEventListener",value:function(t,e){this.events.addEventListener(t,e)}},{key:"removeEventListener",value:function(t,e){this.events.removeEventListener(t,e)}},{key:"addXaxisAnnotation",value:function(t){var e=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:void 0,a=this;i&&(a=i),a.annotations.addXaxisAnnotationExternal(t,e,a)}},{key:"addYaxisAnnotation",value:function(t){var e=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:void 0,a=this;i&&(a=i),a.annotations.addYaxisAnnotationExternal(t,e,a)}},{key:"addPointAnnotation",value:function(t){var e=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:void 0,a=this;i&&(a=i),a.annotations.addPointAnnotationExternal(t,e,a)}},{key:"clearAnnotations",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:void 0,e=this;t&&(e=t),e.annotations.clearAnnotations(e)}},{key:"removeAnnotation",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:void 0,i=this;e&&(i=e),i.annotations.removeAnnotation(i,t)}},{key:"getChartArea",value:function(){return this.w.globals.dom.baseEl.querySelector(".apexcharts-inner")}},{key:"getSeriesTotalXRange",value:function(t,e){return this.coreUtils.getSeriesTotalsXRange(t,e)}},{key:"getHighestValueInSeries",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,e=new Range$1(this.ctx);return e.getMinYMaxY(t).highestY}},{key:"getLowestValueInSeries",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,e=new Range$1(this.ctx);return e.getMinYMaxY(t).lowestY}},{key:"getSeriesTotal",value:function(){return this.w.globals.seriesTotals}},{key:"toggleDataPointSelection",value:function(t,e){return this.updateHelpers.toggleDataPointSelection(t,e)}},{key:"zoomX",value:function(t,e){this.ctx.toolbar.zoomUpdateOptions(t,e)}},{key:"setLocale",value:function(t){this.localization.setCurrentLocaleValues(t)}},{key:"dataURI",value:function(){return new Exports(this.ctx).dataURI()}},{key:"paper",value:function(){return this.w.globals.dom.Paper}},{key:"_parentResizeCallback",value:function(){!this.w.globals.noData&&this.w.globals.animationEnded&&this.w.config.chart.redrawOnParentResize&&this._windowResize()}},{key:"_windowResize",value:function(){var t=this;clearTimeout(this.w.globals.resizeTimer),this.w.globals.resizeTimer=window.setTimeout((function(){t.w.globals.resized=!0,t.w.globals.dataChanged=!1,t.ctx.update()}),150)}}],[{key:"getChartByID",value:function(t){var e=Apex._chartInstances.filter((function(e){return e.id===t}))[0];return e&&e.chart}},{key:"initOnLoad",value:function(){for(var e=document.querySelectorAll("[data-apexcharts]"),i=0;i2?s-2:0),n=2;n
',i.appendChild(i.__resizeTriggers__),t(i),i.addEventListener("scroll",e,!0),o&&i.__resizeTriggers__.addEventListener(o,(function(e){"resizeanim"==e.animationName&&t(i)}))),i.__resizeListeners__.push(a)},window.removeResizeListener=function(t,i){t&&(t.__resizeListeners__.splice(t.__resizeListeners__.indexOf(i),1),t.__resizeListeners__.length||(t.removeEventListener("scroll",e),t.__resizeTriggers__.parentNode&&(t.__resizeTriggers__=!t.removeChild(t.__resizeTriggers__))))}}(),window.Apex={};var It=function(){function t(i){e(this,t),this.ctx=i,this.w=i.w}return a(t,[{key:"initModules",value:function(){this.ctx.publicMethods=["updateOptions","updateSeries","appendData","appendSeries","toggleSeries","showSeries","hideSeries","setLocale","resetSeries","zoomX","toggleDataPointSelection","dataURI","addXaxisAnnotation","addYaxisAnnotation","addPointAnnotation","clearAnnotations","removeAnnotation","paper","destroy"],this.ctx.eventList=["click","mousedown","mousemove","touchstart","touchmove","mouseup","touchend"],this.ctx.animations=new f(this.ctx),this.ctx.axes=new J(this.ctx),this.ctx.core=new Tt(this.ctx.el,this.ctx),this.ctx.config=new D({}),this.ctx.data=new O(this.ctx),this.ctx.grid=new _(this.ctx),this.ctx.graphics=new p(this.ctx),this.ctx.coreUtils=new m(this.ctx),this.ctx.crosshairs=new Q(this.ctx),this.ctx.events=new Z(this.ctx),this.ctx.exports=new V(this.ctx),this.ctx.localization=new $(this.ctx),this.ctx.options=new S,this.ctx.responsive=new K(this.ctx),this.ctx.series=new M(this.ctx),this.ctx.theme=new tt(this.ctx),this.ctx.formatters=new W(this.ctx),this.ctx.titleSubtitle=new et(this.ctx),this.ctx.legend=new ct(this.ctx),this.ctx.toolbar=new dt(this.ctx),this.ctx.dimensions=new nt(this.ctx),this.ctx.updateHelpers=new zt(this.ctx),this.ctx.zoomPanSelection=new gt(this.ctx),this.ctx.w.globals.tooltip=new vt(this.ctx)}}]),t}(),Mt=function(){function t(i){e(this,t),this.ctx=i,this.w=i.w}return a(t,[{key:"clear",value:function(){this.ctx.zoomPanSelection&&this.ctx.zoomPanSelection.destroy(),this.ctx.toolbar&&this.ctx.toolbar.destroy(),this.ctx.animations=null,this.ctx.axes=null,this.ctx.annotations=null,this.ctx.core=null,this.ctx.data=null,this.ctx.grid=null,this.ctx.series=null,this.ctx.responsive=null,this.ctx.theme=null,this.ctx.formatters=null,this.ctx.titleSubtitle=null,this.ctx.legend=null,this.ctx.dimensions=null,this.ctx.options=null,this.ctx.crosshairs=null,this.ctx.zoomPanSelection=null,this.ctx.updateHelpers=null,this.ctx.toolbar=null,this.ctx.localization=null,this.ctx.w.globals.tooltip=null,this.clearDomElements()}},{key:"killSVG",value:function(t){t.each((function(t,e){this.removeClass("*"),this.off(),this.stop()}),!0),t.ungroup(),t.clear()}},{key:"clearDomElements",value:function(){var t=this;this.ctx.eventList.forEach((function(e){document.removeEventListener(e,t.ctx.events.documentEvent)}));var e=this.w.globals.dom;if(null!==this.ctx.el)for(;this.ctx.el.firstChild;)this.ctx.el.removeChild(this.ctx.el.firstChild);this.killSVG(e.Paper),e.Paper.remove(),e.elWrap=null,e.elGraphical=null,e.elAnnotations=null,e.elLegendWrap=null,e.baseEl=null,e.elGridRect=null,e.elGridRectMask=null,e.elGridRectMarkerMask=null,e.elDefs=null}}]),t}(),Xt=function(){function t(i,a){e(this,t),this.opts=a,this.ctx=this,this.w=new N(a).init(),this.el=i,this.w.globals.cuid=g.randomId(),this.w.globals.chartID=this.w.config.chart.id?this.w.config.chart.id:this.w.globals.cuid,new It(this).initModules(),this.create=g.bind(this.create,this),this.windowResizeHandler=this._windowResize.bind(this)}return a(t,[{key:"render",value:function(){var t=this;return new Promise((function(e,i){if(null!==t.el){void 0===Apex._chartInstances&&(Apex._chartInstances=[]),t.w.config.chart.id&&Apex._chartInstances.push({id:t.w.globals.chartID,group:t.w.config.chart.group,chart:t}),t.setLocale(t.w.config.chart.defaultLocale);var a=t.w.config.chart.events.beforeMount;"function"==typeof a&&a(t,t.w),t.events.fireEvent("beforeMount",[t,t.w]),window.addEventListener("resize",t.windowResizeHandler),window.addResizeListener(t.el.parentNode,t._parentResizeCallback.bind(t));var s=t.create(t.w.config.series,{});if(!s)return e(t);t.mount(s).then((function(){"function"==typeof t.w.config.chart.events.mounted&&t.w.config.chart.events.mounted(t,t.w),t.events.fireEvent("mounted",[t,t.w]),e(s)})).catch((function(t){i(t)}))}else i(new Error("Element not found"))}))}},{key:"create",value:function(t,e){var i=this.w;new It(this).initModules();var a=this.w.globals;(a.noData=!1,a.animationEnded=!1,this.responsive.checkResponsiveConfig(e),i.config.xaxis.convertedCatToNumeric)&&new R(i.config).convertCatToNumericXaxis(i.config,this.ctx);if(null===this.el)return a.animationEnded=!0,null;if(this.core.setupElements(),0===a.svgWidth)return a.animationEnded=!0,null;var s=m.checkComboSeries(t);a.comboCharts=s.comboCharts,a.comboBarCount=s.comboBarCount,(0===t.length||1===t.length&&t[0].data&&0===t[0].data.length)&&this.series.handleNoData(),this.events.setupEventHandlers(),this.data.parseData(t),this.theme.init(),new P(this).setGlobalMarkerSize(),this.formatters.setLabelFormatters(),this.titleSubtitle.draw(),a.noData&&a.collapsedSeries.length!==a.series.length||this.legend.init(),this.series.hasAllSeriesEqualX(),a.axisCharts&&(this.core.coreCalculations(),"category"!==i.config.xaxis.type&&this.formatters.setLabelFormatters()),this.formatters.heatmapLabelFormatters(),this.dimensions.plotCoords();var r=this.core.xySettings();this.grid.createGridMask();var n=this.core.plotChartType(t,r),o=new z(this);o.bringForward(),i.config.dataLabels.background.enabled&&o.dataLabelsBackground(),this.core.shiftGraphPosition();var l={plot:{left:i.globals.translateX,top:i.globals.translateY,width:i.globals.gridWidth,height:i.globals.gridHeight}};return{elGraph:n,xyRatios:r,elInner:i.globals.dom.elGraphical,dimensions:l}}},{key:"mount",value:function(){var t=this,e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null,i=this,a=i.w;return new Promise((function(s,r){if(null===i.el)return r(new Error("Not enough data to display or target element not found"));(null===e||a.globals.allSeriesCollapsed)&&i.series.handleNoData(),i.axes.drawAxis(a.config.chart.type,e.xyRatios),i.grid=new _(i);var n=i.grid.drawGrid();i.annotations=new C(i),i.annotations.drawShapeAnnos(),i.annotations.drawImageAnnos(),i.annotations.drawTextAnnos(),"back"===a.config.grid.position&&n&&a.globals.dom.elGraphical.add(n.el);var o=new G(t.ctx),l=new q(t.ctx);if(null!==n&&(o.xAxisLabelCorrections(n.xAxisTickWidth),l.setYAxisTextAlignments()),"back"===a.config.annotations.position&&(a.globals.dom.Paper.add(a.globals.dom.elAnnotations),i.annotations.drawAxesAnnotations()),e.elGraph instanceof Array)for(var h=0;h0&&a.globals.memory.methodsToExec.forEach((function(t){t.method(t.params,!1,t.context)})),a.globals.axisCharts||a.globals.noData||i.core.resizeNonAxisCharts(),s(i)}))}},{key:"destroy",value:function(){window.removeEventListener("resize",this.windowResizeHandler),window.removeResizeListener(this.el.parentNode,this._parentResizeCallback.bind(this));var t=this.w.config.chart.id;t&&Apex._chartInstances.forEach((function(e,i){e.id===t&&Apex._chartInstances.splice(i,1)})),new Mt(this.ctx).clear()}},{key:"updateOptions",value:function(t){var e=this,i=arguments.length>1&&void 0!==arguments[1]&&arguments[1],a=!(arguments.length>2&&void 0!==arguments[2])||arguments[2],s=!(arguments.length>3&&void 0!==arguments[3])||arguments[3],r=!(arguments.length>4&&void 0!==arguments[4])||arguments[4],n=this.w;return t.series&&(this.series.resetSeries(!1,!0,!1),t.series.length&&t.series[0].data&&(t.series=t.series.map((function(t,i){return e.updateHelpers._extendSeries(t,i)}))),this.updateHelpers.revertDefaultAxisMinMax()),t.xaxis&&(t=this.updateHelpers.forceXAxisUpdate(t)),t.yaxis&&(t=this.updateHelpers.forceYAxisUpdate(t)),n.globals.collapsedSeriesIndices.length>0&&this.series.clearPreviousPaths(),t.theme&&(t=this.theme.updateThemeOptions(t)),this.updateHelpers._updateOptions(t,i,a,s,r)}},{key:"updateSeries",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],e=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],i=!(arguments.length>2&&void 0!==arguments[2])||arguments[2];return this.series.resetSeries(!1),this.updateHelpers.revertDefaultAxisMinMax(),this.updateHelpers._updateSeries(t,e,i)}},{key:"appendSeries",value:function(t){var e=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],i=!(arguments.length>2&&void 0!==arguments[2])||arguments[2],a=this.w.config.series.slice();return a.push(t),this.series.resetSeries(!1),this.updateHelpers.revertDefaultAxisMinMax(),this.updateHelpers._updateSeries(a,e,i)}},{key:"appendData",value:function(t){var e=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],i=this;i.w.globals.dataChanged=!0,i.series.getPreviousPaths();for(var a=i.w.config.series.slice(),s=0;s0&&void 0!==arguments[0])||arguments[0],e=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];this.series.resetSeries(t,e)}},{key:"addEventListener",value:function(t,e){this.events.addEventListener(t,e)}},{key:"removeEventListener",value:function(t,e){this.events.removeEventListener(t,e)}},{key:"addXaxisAnnotation",value:function(t){var e=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:void 0,a=this;i&&(a=i),a.annotations.addXaxisAnnotationExternal(t,e,a)}},{key:"addYaxisAnnotation",value:function(t){var e=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:void 0,a=this;i&&(a=i),a.annotations.addYaxisAnnotationExternal(t,e,a)}},{key:"addPointAnnotation",value:function(t){var e=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:void 0,a=this;i&&(a=i),a.annotations.addPointAnnotationExternal(t,e,a)}},{key:"clearAnnotations",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:void 0,e=this;t&&(e=t),e.annotations.clearAnnotations(e)}},{key:"removeAnnotation",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:void 0,i=this;e&&(i=e),i.annotations.removeAnnotation(i,t)}},{key:"getChartArea",value:function(){return this.w.globals.dom.baseEl.querySelector(".apexcharts-inner")}},{key:"getSeriesTotalXRange",value:function(t,e){return this.coreUtils.getSeriesTotalsXRange(t,e)}},{key:"getHighestValueInSeries",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,e=new U(this.ctx);return e.getMinYMaxY(t).highestY}},{key:"getLowestValueInSeries",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,e=new U(this.ctx);return e.getMinYMaxY(t).lowestY}},{key:"getSeriesTotal",value:function(){return this.w.globals.seriesTotals}},{key:"toggleDataPointSelection",value:function(t,e){return this.updateHelpers.toggleDataPointSelection(t,e)}},{key:"zoomX",value:function(t,e){this.ctx.toolbar.zoomUpdateOptions(t,e)}},{key:"setLocale",value:function(t){this.localization.setCurrentLocaleValues(t)}},{key:"dataURI",value:function(){return new V(this.ctx).dataURI()}},{key:"paper",value:function(){return this.w.globals.dom.Paper}},{key:"_parentResizeCallback",value:function(){!this.w.globals.noData&&this.w.globals.animationEnded&&this.w.config.chart.redrawOnParentResize&&this._windowResize()}},{key:"_windowResize",value:function(){var t=this;clearTimeout(this.w.globals.resizeTimer),this.w.globals.resizeTimer=window.setTimeout((function(){t.w.globals.resized=!0,t.w.globals.dataChanged=!1,t.ctx.update()}),150)}}],[{key:"getChartByID",value:function(t){var e=Apex._chartInstances.filter((function(e){return e.id===t}))[0];return e&&e.chart}},{key:"initOnLoad",value:function(){for(var e=document.querySelectorAll("[data-apexcharts]"),i=0;i2?s-2:0),n=2;n>16,n=i>>8&255,o=255&i;return"#"+(16777216+65536*(Math.round((a-r)*s)+r)+256*(Math.round((a-n)*s)+n)+(Math.round((a-o)*s)+o)).toString(16).slice(1)}},{key:"shadeColor",value:function(t,e){return i.isColorHex(e)?this.shadeHexColor(t,e):this.shadeRGBColor(t,e)}}],[{key:"bind",value:function(t,e){return function(){return t.apply(e,arguments)}}},{key:"isObject",value:function(e){return e&&"object"===t(e)&&!Array.isArray(e)&&null!=e}},{key:"listToArray",value:function(t){var e,i=[];for(e=0;ee.length?t:e}))),t.length>e.length?t:e}),0)}},{key:"hexToRgba",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"#999999",e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:.6;"#"!==t.substring(0,1)&&(t="#999999");var i=t.replace("#","");i=i.match(new RegExp("(.{"+i.length/3+"})","g"));for(var a=0;a1&&void 0!==arguments[1]?arguments[1]:"x",i=t.toString().slice();return i=i.replace(/[` ~!@#$%^&*()_|+\-=?;:'",.<>{}[\]\\/]/gi,e)}},{key:"negToZero",value:function(t){return t<0?0:t}},{key:"moveIndexInArray",value:function(t,e,i){if(i>=t.length)for(var a=i-t.length+1;a--;)t.push(void 0);return t.splice(i,0,t.splice(e,1)[0]),t}},{key:"extractNumber",value:function(t){return parseFloat(t.replace(/[^\d.]*/g,""))}},{key:"findAncestor",value:function(t,e){for(;(t=t.parentElement)&&!t.classList.contains(e););return t}},{key:"setELstyles",value:function(t,e){for(var i in e)e.hasOwnProperty(i)&&(t.style.key=e[i])}},{key:"isNumber",value:function(t){return!isNaN(t)&&parseFloat(Number(t))===t&&!isNaN(parseInt(t,10))}},{key:"isFloat",value:function(t){return Number(t)===t&&t%1!=0}},{key:"isSafari",value:function(){return/^((?!chrome|android).)*safari/i.test(navigator.userAgent)}},{key:"isFirefox",value:function(){return navigator.userAgent.toLowerCase().indexOf("firefox")>-1}},{key:"isIE11",value:function(){if(-1!==window.navigator.userAgent.indexOf("MSIE")||window.navigator.appVersion.indexOf("Trident/")>-1)return!0}},{key:"isIE",value:function(){var t=window.navigator.userAgent,e=t.indexOf("MSIE ");if(e>0)return parseInt(t.substring(e+5,t.indexOf(".",e)),10);if(t.indexOf("Trident/")>0){var i=t.indexOf("rv:");return parseInt(t.substring(i+3,t.indexOf(".",i)),10)}var a=t.indexOf("Edge/");return a>0&&parseInt(t.substring(a+5,t.indexOf(".",a)),10)}}]),i}(),u=function(){function t(i){e(this,t),this.ctx=i,this.w=i.w}return a(t,[{key:"getDefaultFilter",value:function(t,e){var i=this.w;t.unfilter(!0),(new window.SVG.Filter).size("120%","180%","-5%","-40%"),"none"!==i.config.states.normal.filter?this.applyFilter(t,e,i.config.states.normal.filter.type,i.config.states.normal.filter.value):i.config.chart.dropShadow.enabled&&this.dropShadow(t,i.config.chart.dropShadow,e)}},{key:"addNormalFilter",value:function(t,e){var i=this.w;i.config.chart.dropShadow.enabled&&!t.node.classList.contains("apexcharts-marker")&&this.dropShadow(t,i.config.chart.dropShadow,e)}},{key:"addLightenFilter",value:function(t,e,i){var a=this,s=this.w,r=i.intensity;if(!g.isFirefox()){t.unfilter(!0);new window.SVG.Filter;t.filter((function(t){var i=s.config.chart.dropShadow;(i.enabled?a.addShadow(t,e,i):t).componentTransfer({rgb:{type:"linear",slope:1.5,intercept:r}})})),t.filterer.node.setAttribute("filterUnits","userSpaceOnUse"),this._scaleFilterSize(t.filterer.node)}}},{key:"addDarkenFilter",value:function(t,e,i){var a=this,s=this.w,r=i.intensity;if(!g.isFirefox()){t.unfilter(!0);new window.SVG.Filter;t.filter((function(t){var i=s.config.chart.dropShadow;(i.enabled?a.addShadow(t,e,i):t).componentTransfer({rgb:{type:"linear",slope:r}})})),t.filterer.node.setAttribute("filterUnits","userSpaceOnUse"),this._scaleFilterSize(t.filterer.node)}}},{key:"applyFilter",value:function(t,e,i){var a=arguments.length>3&&void 0!==arguments[3]?arguments[3]:.5;switch(i){case"none":this.addNormalFilter(t,e);break;case"lighten":this.addLightenFilter(t,e,{intensity:a});break;case"darken":this.addDarkenFilter(t,e,{intensity:a})}}},{key:"addShadow",value:function(t,e,i){var a=i.blur,s=i.top,r=i.left,n=i.color,o=i.opacity,l=t.flood(Array.isArray(n)?n[e]:n,o).composite(t.sourceAlpha,"in").offset(r,s).gaussianBlur(a).merge(t.source);return t.blend(t.source,l)}},{key:"dropShadow",value:function(t,e){var i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,a=e.top,s=e.left,r=e.blur,n=e.color,o=e.opacity,l=e.noUserSpaceOnUse,h=this.w;return t.unfilter(!0),g.isIE()&&"radialBar"===h.config.chart.type?t:(n=Array.isArray(n)?n[i]:n,t.filter((function(t){var e=null;e=g.isSafari()||g.isFirefox()||g.isIE()?t.flood(n,o).composite(t.sourceAlpha,"in").offset(s,a).gaussianBlur(r):t.flood(n,o).composite(t.sourceAlpha,"in").offset(s,a).gaussianBlur(r).merge(t.source),t.blend(t.source,e)})),l||t.filterer.node.setAttribute("filterUnits","userSpaceOnUse"),this._scaleFilterSize(t.filterer.node),t)}},{key:"setSelectionFilter",value:function(t,e,i){var a=this.w;if(void 0!==a.globals.selectedDataPoints[e]&&a.globals.selectedDataPoints[e].indexOf(i)>-1){t.node.setAttribute("selected",!0);var s=a.config.states.active.filter;"none"!==s&&this.applyFilter(t,e,s.type,s.value)}}},{key:"_scaleFilterSize",value:function(t){!function(e){for(var i in e)e.hasOwnProperty(i)&&t.setAttribute(i,e[i])}({width:"200%",height:"200%",x:"-50%",y:"-50%"})}}]),t}(),f=function(){function t(i){e(this,t),this.ctx=i,this.w=i.w,this.setEasingFunctions()}return a(t,[{key:"setEasingFunctions",value:function(){var t;if(!this.w.globals.easing){switch(this.w.config.chart.animations.easing){case"linear":t="-";break;case"easein":t="<";break;case"easeout":t=">";break;case"easeinout":t="<>";break;case"swing":t=function(t){var e=1.70158;return(t-=1)*t*((e+1)*t+e)+1};break;case"bounce":t=function(t){return t<1/2.75?7.5625*t*t:t<2/2.75?7.5625*(t-=1.5/2.75)*t+.75:t<2.5/2.75?7.5625*(t-=2.25/2.75)*t+.9375:7.5625*(t-=2.625/2.75)*t+.984375};break;case"elastic":t=function(t){return t===!!t?t:Math.pow(2,-10*t)*Math.sin((t-.075)*(2*Math.PI)/.3)+1};break;default:t="<>"}this.w.globals.easing=t}}},{key:"animateLine",value:function(t,e,i,a){t.attr(e).animate(a).attr(i)}},{key:"animateCircleRadius",value:function(t,e,i,a,s,r){e||(e=0),t.attr({r:e}).animate(a,s).attr({r:i}).afterAll((function(){r()}))}},{key:"animateCircle",value:function(t,e,i,a,s){t.attr({r:e.r,cx:e.cx,cy:e.cy}).animate(a,s).attr({r:i.r,cx:i.cx,cy:i.cy})}},{key:"animateRect",value:function(t,e,i,a,s){t.attr(e).animate(a).attr(i).afterAll((function(){return s()}))}},{key:"animatePathsGradually",value:function(t){var e=t.el,i=t.realIndex,a=t.j,s=t.fill,r=t.pathFrom,n=t.pathTo,o=t.speed,l=t.delay,h=this.w,c=0;h.config.chart.animations.animateGradually.enabled&&(c=h.config.chart.animations.animateGradually.delay),h.config.chart.animations.dynamicAnimation.enabled&&h.globals.dataChanged&&"bar"!==h.config.chart.type&&(c=0),this.morphSVG(e,i,a,"line"!==h.config.chart.type||h.globals.comboCharts?s:"stroke",r,n,o,l*c)}},{key:"showDelayedElements",value:function(){this.w.globals.delayedElements.forEach((function(t){t.el.classList.remove("apexcharts-element-hidden")}))}},{key:"animationCompleted",value:function(t){var e=this.w;e.globals.animationEnded||(e.globals.animationEnded=!0,this.showDelayedElements(),"function"==typeof e.config.chart.events.animationEnd&&e.config.chart.events.animationEnd(this.ctx,{el:t,w:e}))}},{key:"morphSVG",value:function(t,e,i,a,s,r,n,o){var l=this,h=this.w;s||(s=t.attr("pathFrom")),r||(r=t.attr("pathTo"));var c=function(t){return"radar"===h.config.chart.type&&(n=1),"M 0 ".concat(h.globals.gridHeight)};(!s||s.indexOf("undefined")>-1||s.indexOf("NaN")>-1)&&(s=c()),(r.indexOf("undefined")>-1||r.indexOf("NaN")>-1)&&(r=c()),h.globals.shouldAnimate||(n=1),t.plot(s).animate(1,h.globals.easing,o).plot(s).animate(n,h.globals.easing,o).plot(r).afterAll((function(){g.isNumber(i)?i===h.globals.series[h.globals.maxValsInArrayIndex].length-2&&h.globals.shouldAnimate&&l.animationCompleted(t):"none"!==a&&h.globals.shouldAnimate&&(!h.globals.comboCharts&&e===h.globals.series.length-1||h.globals.comboCharts)&&l.animationCompleted(t),l.showDelayedElements()}))}}]),t}(),p=function(){function t(i){e(this,t),this.ctx=i,this.w=i.w}return a(t,[{key:"drawLine",value:function(t,e,i,a){var s=arguments.length>4&&void 0!==arguments[4]?arguments[4]:"#a8a8a8",r=arguments.length>5&&void 0!==arguments[5]?arguments[5]:0,n=arguments.length>6&&void 0!==arguments[6]?arguments[6]:null,o=this.w,l=o.globals.dom.Paper.line().attr({x1:t,y1:e,x2:i,y2:a,stroke:s,"stroke-dasharray":r,"stroke-width":n});return l}},{key:"drawRect",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,a=arguments.length>3&&void 0!==arguments[3]?arguments[3]:0,s=arguments.length>4&&void 0!==arguments[4]?arguments[4]:0,r=arguments.length>5&&void 0!==arguments[5]?arguments[5]:"#fefefe",n=arguments.length>6&&void 0!==arguments[6]?arguments[6]:1,o=arguments.length>7&&void 0!==arguments[7]?arguments[7]:null,l=arguments.length>8&&void 0!==arguments[8]?arguments[8]:null,h=arguments.length>9&&void 0!==arguments[9]?arguments[9]:0,c=this.w,d=c.globals.dom.Paper.rect();return d.attr({x:t,y:e,width:i>0?i:0,height:a>0?a:0,rx:s,ry:s,opacity:n,"stroke-width":null!==o?o:0,stroke:null!==l?l:"none","stroke-dasharray":h}),d.node.setAttribute("fill",r),d}},{key:"drawPolygon",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"#e1e1e1",i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:1,a=arguments.length>3&&void 0!==arguments[3]?arguments[3]:"none",s=this.w,r=s.globals.dom.Paper.polygon(t).attr({fill:a,stroke:e,"stroke-width":i});return r}},{key:"drawCircle",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,i=this.w,a=i.globals.dom.Paper.circle(2*t);return null!==e&&a.attr(e),a}},{key:"drawPath",value:function(t){var e=t.d,i=void 0===e?"":e,a=t.stroke,s=void 0===a?"#a8a8a8":a,r=t.strokeWidth,n=void 0===r?1:r,o=t.fill,l=t.fillOpacity,h=void 0===l?1:l,c=t.strokeOpacity,d=void 0===c?1:c,g=t.classes,u=t.strokeLinecap,f=void 0===u?null:u,p=t.strokeDashArray,x=void 0===p?0:p,b=this.w;return null===f&&(f=b.config.stroke.lineCap),(i.indexOf("undefined")>-1||i.indexOf("NaN")>-1)&&(i="M 0 ".concat(b.globals.gridHeight)),b.globals.dom.Paper.path(i).attr({fill:o,"fill-opacity":h,stroke:s,"stroke-opacity":d,"stroke-linecap":f,"stroke-width":n,"stroke-dasharray":x,class:g})}},{key:"group",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null,e=this.w,i=e.globals.dom.Paper.group();return null!==t&&i.attr(t),i}},{key:"move",value:function(t,e){var i=["M",t,e].join(" ");return i}},{key:"line",value:function(t,e){var i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null,a=null;return null===i?a=["L",t,e].join(" "):"H"===i?a=["H",t].join(" "):"V"===i&&(a=["V",e].join(" ")),a}},{key:"curve",value:function(t,e,i,a,s,r){var n=["C",t,e,i,a,s,r].join(" ");return n}},{key:"quadraticCurve",value:function(t,e,i,a){return["Q",t,e,i,a].join(" ")}},{key:"arc",value:function(t,e,i,a,s,r,n){var o=arguments.length>7&&void 0!==arguments[7]&&arguments[7],l="A";o&&(l="a");var h=[l,t,e,i,a,s,r,n].join(" ");return h}},{key:"renderPaths",value:function(t){var e,i=t.j,a=t.realIndex,s=t.pathFrom,r=t.pathTo,o=t.stroke,l=t.strokeWidth,h=t.strokeLinecap,c=t.fill,d=t.animationDelay,g=t.initialSpeed,p=t.dataChangeSpeed,x=t.className,b=t.shouldClipToGrid,m=void 0===b||b,v=t.bindEventsOnPaths,y=void 0===v||v,w=t.drawShadow,k=void 0===w||w,A=this.w,S=new u(this.ctx),C=new f(this.ctx),L=this.w.config.chart.animations.enabled,P=L&&this.w.config.chart.animations.dynamicAnimation.enabled,T=!!(L&&!A.globals.resized||P&&A.globals.dataChanged&&A.globals.shouldAnimate);T?e=s:(e=r,A.globals.animationEnded=!0);var z=A.config.stroke.dashArray,I=0;I=Array.isArray(z)?z[a]:A.config.stroke.dashArray;var M=this.drawPath({d:e,stroke:o,strokeWidth:l,fill:c,fillOpacity:1,classes:x,strokeLinecap:h,strokeDashArray:I});if(M.attr("index",a),m&&M.attr({"clip-path":"url(#gridRectMask".concat(A.globals.cuid,")")}),"none"!==A.config.states.normal.filter.type)S.getDefaultFilter(M,a);else if(A.config.chart.dropShadow.enabled&&k&&(!A.config.chart.dropShadow.enabledOnSeries||A.config.chart.dropShadow.enabledOnSeries&&-1!==A.config.chart.dropShadow.enabledOnSeries.indexOf(a))){var X=A.config.chart.dropShadow;S.dropShadow(M,X,a)}y&&(M.node.addEventListener("mouseenter",this.pathMouseEnter.bind(this,M)),M.node.addEventListener("mouseleave",this.pathMouseLeave.bind(this,M)),M.node.addEventListener("mousedown",this.pathMouseDown.bind(this,M))),M.attr({pathTo:r,pathFrom:s});var E={el:M,j:i,realIndex:a,pathFrom:s,pathTo:r,fill:c,strokeWidth:l,delay:d};return!L||A.globals.resized||A.globals.dataChanged?!A.globals.resized&&A.globals.dataChanged||C.showDelayedElements():C.animatePathsGradually(n({},E,{speed:g})),A.globals.dataChanged&&P&&T&&C.animatePathsGradually(n({},E,{speed:p})),M}},{key:"drawPattern",value:function(t,e,i){var a=arguments.length>3&&void 0!==arguments[3]?arguments[3]:"#a8a8a8",s=arguments.length>4&&void 0!==arguments[4]?arguments[4]:0,r=this.w,n=r.globals.dom.Paper.pattern(e,i,(function(r){"horizontalLines"===t?r.line(0,0,i,0).stroke({color:a,width:s+1}):"verticalLines"===t?r.line(0,0,0,e).stroke({color:a,width:s+1}):"slantedLines"===t?r.line(0,0,e,i).stroke({color:a,width:s}):"squares"===t?r.rect(e,i).fill("none").stroke({color:a,width:s}):"circles"===t&&r.circle(e).fill("none").stroke({color:a,width:s})}));return n}},{key:"drawGradient",value:function(t,e,i,a,s){var r,n=arguments.length>5&&void 0!==arguments[5]?arguments[5]:null,o=arguments.length>6&&void 0!==arguments[6]?arguments[6]:null,l=arguments.length>7&&void 0!==arguments[7]?arguments[7]:null,h=arguments.length>8&&void 0!==arguments[8]?arguments[8]:0,c=this.w;e.length<9&&0===e.indexOf("#")&&(e=g.hexToRgba(e,a)),i.length<9&&0===i.indexOf("#")&&(i=g.hexToRgba(i,s));var d=0,u=1,f=1,p=null;null!==o&&(d=void 0!==o[0]?o[0]/100:0,u=void 0!==o[1]?o[1]/100:1,f=void 0!==o[2]?o[2]/100:1,p=void 0!==o[3]?o[3]/100:null);var x=!("donut"!==c.config.chart.type&&"pie"!==c.config.chart.type&&"polarArea"!==c.config.chart.type&&"bubble"!==c.config.chart.type);if(r=null===l||0===l.length?c.globals.dom.Paper.gradient(x?"radial":"linear",(function(t){t.at(d,e,a),t.at(u,i,s),t.at(f,i,s),null!==p&&t.at(p,e,a)})):c.globals.dom.Paper.gradient(x?"radial":"linear",(function(t){(Array.isArray(l[h])?l[h]:l).forEach((function(e){t.at(e.offset/100,e.color,e.opacity)}))})),x){var b=c.globals.gridWidth/2,m=c.globals.gridHeight/2;"bubble"!==c.config.chart.type?r.attr({gradientUnits:"userSpaceOnUse",cx:b,cy:m,r:n}):r.attr({cx:.5,cy:.5,r:.8,fx:.2,fy:.2})}else"vertical"===t?r.from(0,0).to(0,1):"diagonal"===t?r.from(0,0).to(1,1):"horizontal"===t?r.from(0,1).to(1,1):"diagonal2"===t&&r.from(1,0).to(0,1);return r}},{key:"drawText",value:function(t){var e,i=t.x,a=t.y,s=t.text,r=t.textAnchor,n=t.fontSize,o=t.fontFamily,l=t.fontWeight,h=t.foreColor,c=t.opacity,d=t.cssClass,g=void 0===d?"":d,u=t.isPlainText,f=void 0===u||u,p=this.w;return void 0===s&&(s=""),r||(r="start"),h&&h.length||(h=p.config.chart.foreColor),o=o||p.config.chart.fontFamily,l=l||"regular",(e=Array.isArray(s)?p.globals.dom.Paper.text((function(t){for(var e=0;e-1){var o=i.globals.selectedDataPoints[s].indexOf(r);i.globals.selectedDataPoints[s].splice(o,1)}}else{if(!i.config.states.active.allowMultipleDataPointsSelection&&i.globals.selectedDataPoints.length>0){i.globals.selectedDataPoints=[];var l=i.globals.dom.Paper.select(".apexcharts-series path").members,h=i.globals.dom.Paper.select(".apexcharts-series circle, .apexcharts-series rect").members,c=function(t){Array.prototype.forEach.call(t,(function(t){t.node.setAttribute("selected","false"),a.getDefaultFilter(t,s)}))};c(l),c(h)}t.node.setAttribute("selected","true"),n="true",void 0===i.globals.selectedDataPoints[s]&&(i.globals.selectedDataPoints[s]=[]),i.globals.selectedDataPoints[s].push(r)}if("true"===n){var d=i.config.states.active.filter;"none"!==d&&a.applyFilter(t,s,d.type,d.value)}else"none"!==i.config.states.active.filter.type&&a.getDefaultFilter(t,s);"function"==typeof i.config.chart.events.dataPointSelection&&i.config.chart.events.dataPointSelection(e,this.ctx,{selectedDataPoints:i.globals.selectedDataPoints,seriesIndex:s,dataPointIndex:r,w:i}),e&&this.ctx.events.fireEvent("dataPointSelection",[e,this.ctx,{selectedDataPoints:i.globals.selectedDataPoints,seriesIndex:s,dataPointIndex:r,w:i}])}},{key:"rotateAroundCenter",value:function(t){var e=t.getBBox();return{x:e.x+e.width/2,y:e.y+e.height/2}}},{key:"getTextRects",value:function(t,e,i,a){var s=!(arguments.length>4&&void 0!==arguments[4])||arguments[4],r=this.w,n=this.drawText({x:-200,y:-200,text:t,textAnchor:"start",fontSize:e,fontFamily:i,foreColor:"#fff",opacity:0});a&&n.attr("transform",a),r.globals.dom.Paper.add(n);var o=n.bbox();return s||(o=n.node.getBoundingClientRect()),n.remove(),{width:o.width,height:o.height}}},{key:"placeTextWithEllipsis",value:function(t,e,i){if("function"==typeof t.getComputedTextLength&&(t.textContent=e,e.length>0&&t.getComputedTextLength()>=i/.8)){for(var a=e.length-3;a>0;a-=3)if(t.getSubStringLength(0,a)<=i/.8)return void(t.textContent=e.substring(0,a)+"...");t.textContent="."}}}],[{key:"setAttrs",value:function(t,e){for(var i in e)e.hasOwnProperty(i)&&t.setAttribute(i,e[i])}}]),t}(),x=function(){function t(i){e(this,t),this.w=i.w,this.annoCtx=i}return a(t,[{key:"setOrientations",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,i=this.w;if("vertical"===t.label.orientation){var a=null!==e?e:0,s=i.globals.dom.baseEl.querySelector(".apexcharts-xaxis-annotations .apexcharts-xaxis-annotation-label[rel='".concat(a,"']"));if(null!==s){var r=s.getBoundingClientRect();s.setAttribute("x",parseFloat(s.getAttribute("x"))-r.height+4),"top"===t.label.position?s.setAttribute("y",parseFloat(s.getAttribute("y"))+r.width):s.setAttribute("y",parseFloat(s.getAttribute("y"))-r.width);var n=this.annoCtx.graphics.rotateAroundCenter(s),o=n.x,l=n.y;s.setAttribute("transform","rotate(-90 ".concat(o," ").concat(l,")"))}}}},{key:"addBackgroundToAnno",value:function(t,e){var i=this.w;if(!e.label.text||e.label.text&&!e.label.text.trim())return null;var a=i.globals.dom.baseEl.querySelector(".apexcharts-grid").getBoundingClientRect(),s=t.getBoundingClientRect(),r=e.label.style.padding.left,n=e.label.style.padding.right,o=e.label.style.padding.top,l=e.label.style.padding.bottom;"vertical"===e.label.orientation&&(o=e.label.style.padding.left,l=e.label.style.padding.right,r=e.label.style.padding.top,n=e.label.style.padding.bottom);var h=s.left-a.left-r,c=s.top-a.top-o,d=this.annoCtx.graphics.drawRect(h,c,s.width+r+n,s.height+o+l,0,e.label.style.background,1,e.label.borderWidth,e.label.borderColor,0);return e.id&&d.node.classList.add(e.id),d}},{key:"annotationsBackground",value:function(){var t=this,e=this.w,i=function(i,a,s){var r=e.globals.dom.baseEl.querySelector(".apexcharts-".concat(s,"-annotations .apexcharts-").concat(s,"-annotation-label[rel='").concat(a,"']"));if(r){var n=r.parentNode,o=t.addBackgroundToAnno(r,i);o&&n.insertBefore(o.node,r)}};e.config.annotations.xaxis.map((function(t,e){i(t,e,"xaxis")})),e.config.annotations.yaxis.map((function(t,e){i(t,e,"yaxis")})),e.config.annotations.points.map((function(t,e){i(t,e,"point")}))}},{key:"makeAnnotationDraggable",value:function(t,e,i){var a=this.w.config.annotations[e][i];t.draggable().on("dragend",(function(t){var e=t.target.getAttribute("x"),i=t.target.getAttribute("y"),s=t.target.getAttribute("cx"),r=t.target.getAttribute("cy");a.x=e,a.y=i,s&&r&&(a.x=s,a.y=r)})),t.node.addEventListener("mousedown",(function(e){e.stopPropagation(),t.selectize({pointSize:8,rotationPoint:!1,pointType:"rect"}),t.resize().on("resizedone",(function(t){var e=t.target.getAttribute("width"),i=t.target.getAttribute("height"),s=t.target.getAttribute("r");a.width=e,a.height=i,s&&(a.radius=s)}))}))}},{key:"getStringX",value:function(t){var e=this.w,i=t;e.config.xaxis.convertedCatToNumeric&&e.globals.categoryLabels.length&&(t=e.globals.categoryLabels.indexOf(t)+1);var a=e.globals.labels.indexOf(t),s=e.globals.dom.baseEl.querySelector(".apexcharts-xaxis-texts-g text:nth-child("+(a+1)+")");return s&&(i=parseFloat(s.getAttribute("x"))),i}}]),t}(),b=function(){function t(i){e(this,t),this.w=i.w,this.annoCtx=i,this.invertAxis=this.annoCtx.invertAxis}return a(t,[{key:"addXaxisAnnotation",value:function(t,e,i){var a=this.w,s=this.invertAxis?a.globals.minY:a.globals.minX,r=this.invertAxis?a.globals.maxY:a.globals.maxX,n=this.invertAxis?a.globals.yRange[0]:a.globals.xRange,o=(t.x-s)/(n/a.globals.gridWidth);this.annoCtx.inversedReversedAxis&&(o=(r-t.x)/(n/a.globals.gridWidth));var l=t.label.text;"category"!==a.config.xaxis.type&&!a.config.xaxis.convertedCatToNumeric||this.invertAxis||a.globals.dataFormatXNumeric||(o=this.annoCtx.helpers.getStringX(t.x));var h=t.strokeDashArray;if(g.isNumber(o)){if(null===t.x2||void 0===t.x2){var c=this.annoCtx.graphics.drawLine(o+t.offsetX,0+t.offsetY,o+t.offsetX,a.globals.gridHeight+t.offsetY,t.borderColor,h,t.borderWidth);e.appendChild(c.node),t.id&&c.node.classList.add(t.id)}else{var d=(t.x2-s)/(n/a.globals.gridWidth);if(this.annoCtx.inversedReversedAxis&&(d=(r-t.x2)/(n/a.globals.gridWidth)),"category"!==a.config.xaxis.type&&!a.config.xaxis.convertedCatToNumeric||this.invertAxis||a.globals.dataFormatXNumeric||(d=this.annoCtx.helpers.getStringX(t.x2)),d0&&void 0!==arguments[0]?arguments[0]:null;return null===t?this.w.config.series.reduce((function(t,e){return t+e}),0):this.w.globals.series[t].reduce((function(t,e){return t+e}),0)}},{key:"isSeriesNull",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null;return 0===(null===t?this.w.config.series.filter((function(t){return null!==t})):this.w.config.series[t].data.filter((function(t){return null!==t}))).length}},{key:"seriesHaveSameValues",value:function(t){return this.w.globals.series[t].every((function(t,e,i){return t===i[0]}))}},{key:"getCategoryLabels",value:function(t){var e=this.w,i=t.slice();return e.config.xaxis.convertedCatToNumeric&&(i=t.map((function(t){return e.config.xaxis.labels.formatter(t-e.globals.minX+1)}))),i}},{key:"getLargestSeries",value:function(){var t=this.w;t.globals.maxValsInArrayIndex=t.globals.series.map((function(t){return t.length})).indexOf(Math.max.apply(Math,t.globals.series.map((function(t){return t.length}))))}},{key:"getLargestMarkerSize",value:function(){var t=this.w,e=0;return t.globals.markers.size.forEach((function(t){e=Math.max(e,t)})),t.globals.markers.largestSize=e,e}},{key:"getSeriesTotals",value:function(){var t=this.w;t.globals.seriesTotals=t.globals.series.map((function(t,e){var i=0;if(Array.isArray(t))for(var a=0;at&&i.globals.seriesX[s][n]n){var h=n;n=a,a=h}var c=this.annoCtx.graphics.drawRect(0+t.offsetX,a+t.offsetY,s.globals.gridWidth+t.offsetX,n-a,0,t.fillColor,t.opacity,1,t.borderColor,r);c.node.classList.add("apexcharts-annotation-rect"),c.attr("clip-path","url(#gridRectMask".concat(s.globals.cuid,")")),e.appendChild(c.node),t.id&&c.node.classList.add(t.id)}var d="right"===t.label.position?s.globals.gridWidth:0,g=this.annoCtx.graphics.drawText({x:d+t.label.offsetX,y:(a||n)+t.label.offsetY-3,text:o,textAnchor:t.label.textAnchor,fontSize:t.label.style.fontSize,fontFamily:t.label.style.fontFamily,fontWeight:t.label.style.fontWeight,foreColor:t.label.style.color,cssClass:"apexcharts-yaxis-annotation-label ".concat(t.label.style.cssClass," ").concat(t.id?t.id:"")});g.attr({rel:i}),e.appendChild(g.node)}},{key:"_getY1Y2",value:function(t,e){var i,a="y1"===t?e.y:e.y2,s=this.w;if(this.annoCtx.invertAxis){var r=s.globals.labels.indexOf(a);s.config.xaxis.convertedCatToNumeric&&(r=s.globals.categoryLabels.indexOf(a));var n=s.globals.dom.baseEl.querySelector(".apexcharts-yaxis-texts-g text:nth-child("+(r+1)+")");n&&(i=parseFloat(n.getAttribute("y")))}else{var o;if(s.config.yaxis[e.yAxisIndex].logarithmic)o=(a=new m(this.annoCtx.ctx).getLogVal(a,e.yAxisIndex))/s.globals.yLogRatio[e.yAxisIndex];else o=(a-s.globals.minYArr[e.yAxisIndex])/(s.globals.yRange[e.yAxisIndex]/s.globals.gridHeight);i=s.globals.gridHeight-o,s.config.yaxis[e.yAxisIndex]&&s.config.yaxis[e.yAxisIndex].reversed&&(i=o)}return i}},{key:"drawYAxisAnnotations",value:function(){var t=this,e=this.w,i=this.annoCtx.graphics.group({class:"apexcharts-yaxis-annotations"});return e.config.annotations.yaxis.map((function(e,a){t.addYaxisAnnotation(e,i.node,a)})),i}}]),t}(),y=function(){function t(i){e(this,t),this.w=i.w,this.annoCtx=i}return a(t,[{key:"addPointAnnotation",value:function(t,e,i){var a=this.w,s=0,r=0,n=0;this.annoCtx.invertAxis&&console.warn("Point annotation is not supported in horizontal bar charts.");var o,l=parseFloat(t.y);if("string"==typeof t.x){var h=a.globals.labels.indexOf(t.x);a.config.xaxis.convertedCatToNumeric&&(h=a.globals.categoryLabels.indexOf(t.x)),s=this.annoCtx.helpers.getStringX(t.x),null===t.y&&(l=a.globals.series[t.seriesIndex][h])}else s=(t.x-a.globals.minX)/(a.globals.xRange/a.globals.gridWidth);a.config.yaxis[t.yAxisIndex].logarithmic?o=(l=new m(this.annoCtx.ctx).getLogVal(l,t.yAxisIndex))/a.globals.yLogRatio[t.yAxisIndex]:o=(l-a.globals.minYArr[t.yAxisIndex])/(a.globals.yRange[t.yAxisIndex]/a.globals.gridHeight);if(r=a.globals.gridHeight-o-parseFloat(t.label.style.fontSize)-t.marker.size,n=a.globals.gridHeight-o,a.config.yaxis[t.yAxisIndex]&&a.config.yaxis[t.yAxisIndex].reversed&&(r=o+parseFloat(t.label.style.fontSize)+t.marker.size,n=o),g.isNumber(s)){var c={pSize:t.marker.size,pWidth:t.marker.strokeWidth,pointFillColor:t.marker.fillColor,pointStrokeColor:t.marker.strokeColor,shape:t.marker.shape,pRadius:t.marker.radius,class:"apexcharts-point-annotation-marker ".concat(t.marker.cssClass," ").concat(t.id?t.id:"")},d=this.annoCtx.graphics.drawMarker(s+t.marker.offsetX,n+t.marker.offsetY,c);e.appendChild(d.node);var u=t.label.text?t.label.text:"",f=this.annoCtx.graphics.drawText({x:s+t.label.offsetX,y:r+t.label.offsetY,text:u,textAnchor:t.label.textAnchor,fontSize:t.label.style.fontSize,fontFamily:t.label.style.fontFamily,fontWeight:t.label.style.fontWeight,foreColor:t.label.style.color,cssClass:"apexcharts-point-annotation-label ".concat(t.label.style.cssClass," ").concat(t.id?t.id:"")});if(f.attr({rel:i}),e.appendChild(f.node),t.customSVG.SVG){var p=this.annoCtx.graphics.group({class:"apexcharts-point-annotations-custom-svg "+t.customSVG.cssClass});p.attr({transform:"translate(".concat(s+t.customSVG.offsetX,", ").concat(r+t.customSVG.offsetY,")")}),p.node.innerHTML=t.customSVG.SVG,e.appendChild(p.node)}if(t.image.path){var x=t.image.width?t.image.width:20,b=t.image.height?t.image.height:20;this.annoCtx.addImage({x:s+t.image.offsetX-x/2,y:r+t.image.offsetY-b/2,width:x,height:b,path:t.image.path,appendTo:".apexcharts-point-annotations"})}}}},{key:"drawPointAnnotations",value:function(){var t=this,e=this.w,i=this.annoCtx.graphics.group({class:"apexcharts-point-annotations"});return e.config.annotations.points.map((function(e,a){t.addPointAnnotation(e,i.node,a)})),i}}]),t}();var w,k,A={name:"en",options:{months:["January","February","March","April","May","June","July","August","September","October","November","December"],shortMonths:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],days:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],shortDays:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],toolbar:{exportToSVG:"Download SVG",exportToPNG:"Download PNG",exportToCSV:"Download CSV",menu:"Menu",selection:"Selection",selectionZoom:"Selection Zoom",zoomIn:"Zoom In",zoomOut:"Zoom Out",pan:"Panning",reset:"Reset Zoom"}}},S=function(){function t(){e(this,t),this.yAxis={show:!0,showAlways:!1,showForNullSeries:!0,seriesName:void 0,opposite:!1,reversed:!1,logarithmic:!1,tickAmount:void 0,forceNiceScale:!1,max:void 0,min:void 0,floating:!1,decimalsInFloat:void 0,labels:{show:!0,minWidth:0,maxWidth:160,offsetX:0,offsetY:0,align:void 0,rotate:0,padding:20,style:{colors:[],fontSize:"11px",fontWeight:400,fontFamily:void 0,cssClass:""},formatter:void 0},axisBorder:{show:!1,color:"#e0e0e0",width:1,offsetX:0,offsetY:0},axisTicks:{show:!1,color:"#e0e0e0",width:6,offsetX:0,offsetY:0},title:{text:void 0,rotate:90,offsetY:0,offsetX:0,style:{color:void 0,fontSize:"11px",fontWeight:900,fontFamily:void 0,cssClass:""}},tooltip:{enabled:!1,offsetX:0},crosshairs:{show:!0,position:"front",stroke:{color:"#b6b6b6",width:1,dashArray:0}}},this.pointAnnotation={x:0,y:null,yAxisIndex:0,seriesIndex:0,marker:{size:4,fillColor:"#fff",strokeWidth:2,strokeColor:"#333",shape:"circle",offsetX:0,offsetY:0,radius:2,cssClass:""},label:{borderColor:"#c2c2c2",borderWidth:1,text:void 0,textAnchor:"middle",offsetX:0,offsetY:0,style:{background:"#fff",color:void 0,fontSize:"11px",fontFamily:void 0,fontWeight:400,cssClass:"",padding:{left:5,right:5,top:2,bottom:2}}},customSVG:{SVG:void 0,cssClass:void 0,offsetX:0,offsetY:0},image:{path:void 0,width:20,height:20,offsetX:0,offsetY:0}},this.yAxisAnnotation={y:0,y2:null,strokeDashArray:1,fillColor:"#c2c2c2",borderColor:"#c2c2c2",borderWidth:1,opacity:.3,offsetX:0,offsetY:0,yAxisIndex:0,label:{borderColor:"#c2c2c2",borderWidth:1,text:void 0,textAnchor:"end",position:"right",offsetX:0,offsetY:-3,style:{background:"#fff",color:void 0,fontSize:"11px",fontFamily:void 0,fontWeight:400,cssClass:"",padding:{left:5,right:5,top:2,bottom:2}}}},this.xAxisAnnotation={x:0,x2:null,strokeDashArray:1,fillColor:"#c2c2c2",borderColor:"#c2c2c2",borderWidth:1,opacity:.3,offsetX:0,offsetY:0,label:{borderColor:"#c2c2c2",borderWidth:1,text:void 0,textAnchor:"middle",orientation:"vertical",position:"top",offsetX:0,offsetY:0,style:{background:"#fff",color:void 0,fontSize:"11px",fontFamily:void 0,fontWeight:400,cssClass:"",padding:{left:5,right:5,top:2,bottom:2}}}},this.text={x:0,y:0,text:"",textAnchor:"start",foreColor:void 0,fontSize:"13px",fontFamily:void 0,fontWeight:400,appendTo:".apexcharts-annotations",backgroundColor:"transparent",borderColor:"#c2c2c2",borderRadius:0,borderWidth:0,paddingLeft:4,paddingRight:4,paddingTop:2,paddingBottom:2},this.shape={x:0,y:0,type:"rect",width:"100%",height:50,appendTo:".apexcharts-annotations",backgroundColor:"#fff",opacity:1,borderWidth:0,borderRadius:4,borderColor:"#c2c2c2"}}return a(t,[{key:"init",value:function(){return{annotations:{position:"front",yaxis:[this.yAxisAnnotation],xaxis:[this.xAxisAnnotation],points:[this.pointAnnotation],texts:[],images:[],shapes:[]},chart:{animations:{enabled:!0,easing:"easeinout",speed:800,animateGradually:{delay:150,enabled:!0},dynamicAnimation:{enabled:!0,speed:350}},background:"transparent",locales:[A],defaultLocale:"en",dropShadow:{enabled:!1,enabledOnSeries:void 0,top:2,left:2,blur:4,color:"#000",opacity:.35},events:{animationEnd:void 0,beforeMount:void 0,mounted:void 0,updated:void 0,click:void 0,mouseMove:void 0,legendClick:void 0,markerClick:void 0,selection:void 0,dataPointSelection:void 0,dataPointMouseEnter:void 0,dataPointMouseLeave:void 0,beforeZoom:void 0,zoomed:void 0,scrolled:void 0},foreColor:"#373d3f",fontFamily:"Helvetica, Arial, sans-serif",height:"auto",parentHeightOffset:15,redrawOnParentResize:!0,id:void 0,group:void 0,offsetX:0,offsetY:0,selection:{enabled:!1,type:"x",fill:{color:"#24292e",opacity:.1},stroke:{width:1,color:"#24292e",opacity:.4,dashArray:3},xaxis:{min:void 0,max:void 0},yaxis:{min:void 0,max:void 0}},sparkline:{enabled:!1},brush:{enabled:!1,autoScaleYaxis:!0,target:void 0},stacked:!1,stackType:"normal",toolbar:{show:!0,offsetX:0,offsetY:0,tools:{download:!0,selection:!0,zoom:!0,zoomin:!0,zoomout:!0,pan:!0,reset:!0,customIcons:[]},autoSelected:"zoom"},type:"line",width:"100%",zoom:{enabled:!0,type:"x",autoScaleYaxis:!1,zoomedArea:{fill:{color:"#90CAF9",opacity:.4},stroke:{color:"#0D47A1",opacity:.4,width:1}}}},plotOptions:{bar:{horizontal:!1,columnWidth:"70%",barHeight:"70%",distributed:!1,startingShape:"flat",endingShape:"flat",rangeBarOverlap:!0,colors:{ranges:[],backgroundBarColors:[],backgroundBarOpacity:1,backgroundBarRadius:0},dataLabels:{position:"top",maxItems:100,hideOverflowingLabels:!0,orientation:"horizontal"}},bubble:{minBubbleRadius:void 0,maxBubbleRadius:void 0},candlestick:{colors:{upward:"#00B746",downward:"#EF403C"},wick:{useFillColor:!0}},heatmap:{radius:2,enableShades:!0,shadeIntensity:.5,reverseNegativeShade:!1,distributed:!1,useFillColorAsStroke:!1,colorScale:{inverse:!1,ranges:[],min:void 0,max:void 0}},radialBar:{inverseOrder:!1,startAngle:0,endAngle:360,offsetX:0,offsetY:0,hollow:{margin:5,size:"50%",background:"transparent",image:void 0,imageWidth:150,imageHeight:150,imageOffsetX:0,imageOffsetY:0,imageClipped:!0,position:"front",dropShadow:{enabled:!1,top:0,left:0,blur:3,color:"#000",opacity:.5}},track:{show:!0,startAngle:void 0,endAngle:void 0,background:"#f2f2f2",strokeWidth:"97%",opacity:1,margin:5,dropShadow:{enabled:!1,top:0,left:0,blur:3,color:"#000",opacity:.5}},dataLabels:{show:!0,name:{show:!0,fontSize:"16px",fontFamily:void 0,fontWeight:600,color:void 0,offsetY:0,formatter:function(t){return t}},value:{show:!0,fontSize:"14px",fontFamily:void 0,fontWeight:400,color:void 0,offsetY:16,formatter:function(t){return t+"%"}},total:{show:!1,label:"Total",fontSize:"16px",fontWeight:600,fontFamily:void 0,color:void 0,formatter:function(t){return t.globals.seriesTotals.reduce((function(t,e){return t+e}),0)/t.globals.series.length+"%"}}}},pie:{customScale:1,offsetX:0,offsetY:0,expandOnClick:!0,dataLabels:{offset:0,minAngleToShowLabel:10},donut:{size:"65%",background:"transparent",labels:{show:!1,name:{show:!0,fontSize:"16px",fontFamily:void 0,fontWeight:600,color:void 0,offsetY:-10,formatter:function(t){return t}},value:{show:!0,fontSize:"20px",fontFamily:void 0,fontWeight:400,color:void 0,offsetY:10,formatter:function(t){return t}},total:{show:!1,showAlways:!1,label:"Total",fontSize:"16px",fontWeight:400,fontFamily:void 0,color:void 0,formatter:function(t){return t.globals.seriesTotals.reduce((function(t,e){return t+e}),0)}}}}},polarArea:{rings:{strokeWidth:1,strokeColor:"#e8e8e8"}},radar:{size:void 0,offsetX:0,offsetY:0,polygons:{strokeWidth:1,strokeColors:"#e8e8e8",connectorColors:"#e8e8e8",fill:{colors:void 0}}}},colors:void 0,dataLabels:{enabled:!0,enabledOnSeries:void 0,formatter:function(t){return null!==t?t:""},textAnchor:"middle",distributed:!1,offsetX:0,offsetY:0,style:{fontSize:"12px",fontFamily:void 0,fontWeight:600,colors:void 0},background:{enabled:!0,foreColor:"#fff",borderRadius:2,padding:4,opacity:.9,borderWidth:1,borderColor:"#fff",dropShadow:{enabled:!1,top:1,left:1,blur:1,color:"#000",opacity:.45}},dropShadow:{enabled:!1,top:1,left:1,blur:1,color:"#000",opacity:.45}},fill:{type:"solid",colors:void 0,opacity:.85,gradient:{shade:"dark",type:"horizontal",shadeIntensity:.5,gradientToColors:void 0,inverseColors:!0,opacityFrom:1,opacityTo:1,stops:[0,50,100],colorStops:[]},image:{src:[],width:void 0,height:void 0},pattern:{style:"squares",width:6,height:6,strokeWidth:2}},grid:{show:!0,borderColor:"#e0e0e0",strokeDashArray:0,position:"back",xaxis:{lines:{show:!1}},yaxis:{lines:{show:!0}},row:{colors:void 0,opacity:.5},column:{colors:void 0,opacity:.5},padding:{top:0,right:10,bottom:0,left:12}},labels:[],legend:{show:!0,showForSingleSeries:!1,showForNullSeries:!0,showForZeroSeries:!0,floating:!1,position:"bottom",horizontalAlign:"center",inverseOrder:!1,fontSize:"12px",fontFamily:void 0,fontWeight:400,width:void 0,height:void 0,formatter:void 0,tooltipHoverFormatter:void 0,offsetX:-20,offsetY:0,labels:{colors:void 0,useSeriesColors:!1},markers:{width:12,height:12,strokeWidth:0,fillColors:void 0,strokeColor:"#fff",radius:12,customHTML:void 0,offsetX:0,offsetY:0,onClick:void 0},itemMargin:{horizontal:5,vertical:0},onItemClick:{toggleDataSeries:!0},onItemHover:{highlightDataSeries:!0}},markers:{discrete:[],size:0,colors:void 0,strokeColors:"#fff",strokeWidth:2,strokeOpacity:.9,strokeDashArray:0,fillOpacity:1,shape:"circle",radius:2,offsetX:0,offsetY:0,onClick:void 0,onDblClick:void 0,showNullDataPoints:!0,hover:{size:void 0,sizeOffset:3}},noData:{text:void 0,align:"center",verticalAlign:"middle",offsetX:0,offsetY:0,style:{color:void 0,fontSize:"14px",fontFamily:void 0}},responsive:[],series:void 0,states:{normal:{filter:{type:"none",value:0}},hover:{filter:{type:"lighten",value:.15}},active:{allowMultipleDataPointsSelection:!1,filter:{type:"darken",value:.65}}},title:{text:void 0,align:"left",margin:5,offsetX:0,offsetY:0,floating:!1,style:{fontSize:"14px",fontWeight:900,fontFamily:void 0,color:void 0}},subtitle:{text:void 0,align:"left",margin:5,offsetX:0,offsetY:30,floating:!1,style:{fontSize:"12px",fontWeight:400,fontFamily:void 0,color:void 0}},stroke:{show:!0,curve:"smooth",lineCap:"butt",width:2,colors:void 0,dashArray:0},tooltip:{enabled:!0,enabledOnSeries:void 0,shared:!0,followCursor:!1,intersect:!1,inverseOrder:!1,custom:void 0,fillSeriesColor:!1,theme:"light",style:{fontSize:"12px",fontFamily:void 0},onDatasetHover:{highlightDataSeries:!1},x:{show:!0,format:"dd MMM",formatter:void 0},y:{formatter:void 0,title:{formatter:function(t){return t}}},z:{formatter:void 0,title:"Size: "},marker:{show:!0,fillColors:void 0},items:{display:"flex"},fixed:{enabled:!1,position:"topRight",offsetX:0,offsetY:0}},xaxis:{type:"category",categories:[],convertedCatToNumeric:!1,sorted:!0,offsetX:0,offsetY:0,labels:{show:!0,rotate:-45,rotateAlways:!1,hideOverlappingLabels:!0,trim:!1,minHeight:void 0,maxHeight:120,showDuplicates:!0,style:{colors:[],fontSize:"12px",fontWeight:400,fontFamily:void 0,cssClass:""},offsetX:0,offsetY:0,format:void 0,formatter:void 0,datetimeUTC:!0,datetimeFormatter:{year:"yyyy",month:"MMM 'yy",day:"dd MMM",hour:"HH:mm",minute:"HH:mm:ss"}},axisBorder:{show:!0,color:"#e0e0e0",width:"100%",height:1,offsetX:0,offsetY:0},axisTicks:{show:!0,color:"#e0e0e0",height:6,offsetX:0,offsetY:0},tickAmount:void 0,tickPlacement:"on",min:void 0,max:void 0,range:void 0,floating:!1,position:"bottom",title:{text:void 0,offsetX:0,offsetY:0,style:{color:void 0,fontSize:"12px",fontWeight:900,fontFamily:void 0,cssClass:""}},crosshairs:{show:!0,width:1,position:"back",opacity:.9,stroke:{color:"#b6b6b6",width:1,dashArray:3},fill:{type:"solid",color:"#B1B9C4",gradient:{colorFrom:"#D8E3F0",colorTo:"#BED1E6",stops:[0,100],opacityFrom:.4,opacityTo:.5}},dropShadow:{enabled:!1,left:0,top:0,blur:1,opacity:.4}},tooltip:{enabled:!0,offsetY:0,formatter:void 0,style:{fontSize:"12px",fontFamily:void 0}}},yaxis:this.yAxis,theme:{mode:"light",palette:"palette1",monochrome:{enabled:!1,color:"#008FFB",shadeTo:"light",shadeIntensity:.65}}}}}]),t}(),C=function(){function t(i){e(this,t),this.ctx=i,this.w=i.w,this.graphics=new p(this.ctx),this.w.globals.isBarHorizontal&&(this.invertAxis=!0),this.helpers=new x(this),this.xAxisAnnotations=new b(this),this.yAxisAnnotations=new v(this),this.pointsAnnotations=new y(this),this.w.globals.isBarHorizontal&&this.w.config.yaxis[0].reversed&&(this.inversedReversedAxis=!0),this.xDivision=this.w.globals.gridWidth/this.w.globals.dataPoints}return a(t,[{key:"drawAxesAnnotations",value:function(){var t=this.w;if(t.globals.axisCharts){for(var e=this.yAxisAnnotations.drawYAxisAnnotations(),i=this.xAxisAnnotations.drawXAxisAnnotations(),a=this.pointsAnnotations.drawPointAnnotations(),s=t.config.chart.animations.enabled,r=[e,i,a],n=[i.node,e.node,a.node],o=0;o<3;o++)t.globals.dom.elGraphical.add(r[o]),!s||t.globals.resized||t.globals.dataChanged||"scatter"!==t.config.chart.type&&"bubble"!==t.config.chart.type&&t.globals.dataPoints>1&&n[o].classList.add("apexcharts-element-hidden"),t.globals.delayedElements.push({el:n[o],index:0});this.helpers.annotationsBackground()}}},{key:"drawShapeAnnos",value:function(){var t=this;this.w.config.annotations.shapes.map((function(e,i){t.addShape(e,i)}))}},{key:"drawImageAnnos",value:function(){var t=this;this.w.config.annotations.images.map((function(e,i){t.addImage(e,i)}))}},{key:"drawTextAnnos",value:function(){var t=this;this.w.config.annotations.texts.map((function(e,i){t.addText(e,i)}))}},{key:"addXaxisAnnotation",value:function(t,e,i){this.xAxisAnnotations.addXaxisAnnotation(t,e,i)}},{key:"addYaxisAnnotation",value:function(t,e,i){this.yAxisAnnotations.addYaxisAnnotation(t,e,i)}},{key:"addPointAnnotation",value:function(t,e,i){this.pointsAnnotations.addPointAnnotation(t,e,i)}},{key:"addText",value:function(t,e){var i=t.x,a=t.y,s=t.text,r=t.textAnchor,n=t.foreColor,o=t.fontSize,l=t.fontFamily,h=t.fontWeight,c=t.cssClass,d=t.backgroundColor,g=t.borderWidth,u=t.strokeDashArray,f=t.borderRadius,p=t.borderColor,x=t.appendTo,b=void 0===x?".apexcharts-annotations":x,m=t.paddingLeft,v=void 0===m?4:m,y=t.paddingRight,w=void 0===y?4:y,k=t.paddingBottom,A=void 0===k?2:k,S=t.paddingTop,C=void 0===S?2:S,L=this.w,P=this.graphics.drawText({x:i,y:a,text:s,textAnchor:r||"start",fontSize:o||"12px",fontWeight:h||"regular",fontFamily:l||L.config.chart.fontFamily,foreColor:n||L.config.chart.foreColor,cssClass:c}),T=L.globals.dom.baseEl.querySelector(b);T&&T.appendChild(P.node);var z=P.bbox();if(t.draggable&&this.helpers.makeAnnotationDraggable(P,"texts",e),s){var I=this.graphics.drawRect(z.x-v,z.y-C,z.width+v+w,z.height+A+C,f,d||"transparent",1,g,p,u);T.insertBefore(I.node,P.node)}}},{key:"addShape",value:function(t,e){var i={type:t.type,x:t.x||0,y:t.y||0,width:t.width||"100%",height:t.height||50,circleRadius:t.radius||25,backgroundColor:t.backgroundColor||"#fff",opacity:t.opacity||1,borderWidth:t.borderWidth||0,borderRadius:t.borderRadius||4,borderColor:t.borderColor||"#c2c2c2",appendTo:t.appendTo||".apexcharts-annotations"},a=this.w;String(i.width).indexOf("%")>-1&&(i.width=parseInt(i.width,10)*parseInt(a.globals.svgWidth,10)/100);var s=null;s="circle"===i.type?this.graphics.drawCircle(i.circleRadius,{fill:i.backgroundColor,stroke:i.borderColor,"stroke-width":i.borderWidth,opacity:i.opacity,cx:i.x,cy:i.y}):this.graphics.drawRect(i.x,i.y,i.width,i.height,i.borderRadius,i.backgroundColor,i.opacity,i.borderWidth,i.borderColor);var r=a.globals.dom.baseEl.querySelector(i.appendTo);r&&r.appendChild(s.node),t.draggable&&(this.helpers.makeAnnotationDraggable(s,"shapes",e),s.node.classList.add("apexcharts-resizable-element"))}},{key:"addImage",value:function(t,e){var i=this.w,a=t.path,s=t.x,r=void 0===s?0:s,n=t.y,o=void 0===n?0:n,l=t.width,h=void 0===l?20:l,c=t.height,d=void 0===c?20:c,g=t.appendTo,u=void 0===g?".apexcharts-annotations":g,f=i.globals.dom.Paper.image(a);f.size(h,d).move(r,o);var p=i.globals.dom.baseEl.querySelector(u);p&&p.appendChild(f.node),t.draggable&&(this.helpers.makeAnnotationDraggable(f,"images",e),f.node.classList.add("apexcharts-resizable-element"))}},{key:"addXaxisAnnotationExternal",value:function(t,e,i){return this.addAnnotationExternal({params:t,pushToMemory:e,context:i,type:"xaxis",contextMethod:i.addXaxisAnnotation}),i}},{key:"addYaxisAnnotationExternal",value:function(t,e,i){return this.addAnnotationExternal({params:t,pushToMemory:e,context:i,type:"yaxis",contextMethod:i.addYaxisAnnotation}),i}},{key:"addPointAnnotationExternal",value:function(t,e,i){return void 0===this.invertAxis&&(this.invertAxis=i.w.globals.isBarHorizontal),this.addAnnotationExternal({params:t,pushToMemory:e,context:i,type:"point",contextMethod:i.addPointAnnotation}),i}},{key:"addAnnotationExternal",value:function(t){var e=t.params,i=t.pushToMemory,a=t.context,s=t.type,r=t.contextMethod,n=a,o=n.w,l=o.globals.dom.baseEl.querySelector(".apexcharts-".concat(s,"-annotations")),h=l.childNodes.length+1,c=new S,d=Object.assign({},"xaxis"===s?c.xAxisAnnotation:"yaxis"===s?c.yAxisAnnotation:c.pointAnnotation),u=g.extend(d,e);switch(s){case"xaxis":this.addXaxisAnnotation(u,l,h);break;case"yaxis":this.addYaxisAnnotation(u,l,h);break;case"point":this.addPointAnnotation(u,l,h)}var f=o.globals.dom.baseEl.querySelector(".apexcharts-".concat(s,"-annotations .apexcharts-").concat(s,"-annotation-label[rel='").concat(h,"']")),p=this.helpers.addBackgroundToAnno(f,u);return p&&l.insertBefore(p.node,f),i&&o.globals.memory.methodsToExec.push({context:n,id:u.id?u.id:g.randomId(),method:r,label:"addAnnotation",params:e}),a}},{key:"clearAnnotations",value:function(t){var e=t.w,i=e.globals.dom.baseEl.querySelectorAll(".apexcharts-yaxis-annotations, .apexcharts-xaxis-annotations, .apexcharts-point-annotations");e.globals.memory.methodsToExec.map((function(t,i){"addText"!==t.label&&"addAnnotation"!==t.label||e.globals.memory.methodsToExec.splice(i,1)})),i=g.listToArray(i),Array.prototype.forEach.call(i,(function(t){for(;t.firstChild;)t.removeChild(t.firstChild)}))}},{key:"removeAnnotation",value:function(t,e){var i=t.w,a=i.globals.dom.baseEl.querySelectorAll(".".concat(e));a&&(i.globals.memory.methodsToExec.map((function(t,a){t.id===e&&i.globals.memory.methodsToExec.splice(a,1)})),Array.prototype.forEach.call(a,(function(t){t.parentElement.removeChild(t)})))}}]),t}(),L=function(){function t(i){e(this,t),this.ctx=i,this.w=i.w,this.opts=null,this.seriesIndex=0}return a(t,[{key:"clippedImgArea",value:function(t){var e=this.w,i=e.config,a=parseInt(e.globals.gridWidth,10),s=parseInt(e.globals.gridHeight,10),r=a>s?a:s,n=t.image,o=0,l=0;void 0===t.width&&void 0===t.height?void 0!==i.fill.image.width&&void 0!==i.fill.image.height?(o=i.fill.image.width+1,l=i.fill.image.height):(o=r+1,l=r):(o=t.width,l=t.height);var h=document.createElementNS(e.globals.SVGNS,"pattern");p.setAttrs(h,{id:t.patternID,patternUnits:t.patternUnits?t.patternUnits:"userSpaceOnUse",width:o+"px",height:l+"px"});var c=document.createElementNS(e.globals.SVGNS,"image");h.appendChild(c),c.setAttributeNS(window.SVG.xlink,"href",n),p.setAttrs(c,{x:0,y:0,preserveAspectRatio:"none",width:o+"px",height:l+"px"}),c.style.opacity=t.opacity,e.globals.dom.elDefs.node.appendChild(h)}},{key:"getSeriesIndex",value:function(t){var e=this.w;return("bar"===e.config.chart.type||"rangeBar"===e.config.chart.type)&&e.config.plotOptions.bar.distributed||"heatmap"===e.config.chart.type?this.seriesIndex=t.seriesNumber:this.seriesIndex=t.seriesNumber%e.globals.series.length,this.seriesIndex}},{key:"fillPath",value:function(t){var e=this.w;this.opts=t;var i,a,s,r=this.w.config;this.seriesIndex=this.getSeriesIndex(t);var n=this.getFillColors()[this.seriesIndex];"function"==typeof n&&(n=n({seriesIndex:this.seriesIndex,dataPointIndex:t.dataPointIndex,value:t.value,w:e}));var o=this.getFillType(this.seriesIndex),l=Array.isArray(r.fill.opacity)?r.fill.opacity[this.seriesIndex]:r.fill.opacity,h=n;if(t.color&&(n=t.color),-1===n.indexOf("rgb")?n.length<9&&(h=g.hexToRgba(n,l)):n.indexOf("rgba")>-1&&(l=g.getOpacityFromRGBA(n)),t.opacity&&(l=t.opacity),"pattern"===o&&(a=this.handlePatternFill(a,n,l,h)),"gradient"===o&&(s=this.handleGradientFill(n,l,this.seriesIndex)),"image"===o){var c=r.fill.image.src,d=t.patternID?t.patternID:"";this.clippedImgArea({opacity:l,image:Array.isArray(c)?t.seriesNumber-1&&(c=g.getOpacityFromRGBA(h));var d=void 0===s.fill.gradient.opacityTo?e:Array.isArray(s.fill.gradient.opacityTo)?s.fill.gradient.opacityTo[i]:s.fill.gradient.opacityTo;if(void 0===s.fill.gradient.gradientToColors||0===s.fill.gradient.gradientToColors.length)a="dark"===s.fill.gradient.shade?o.shadeColor(-1*parseFloat(s.fill.gradient.shadeIntensity),t.indexOf("rgb")>-1?g.rgb2hex(t):t):o.shadeColor(parseFloat(s.fill.gradient.shadeIntensity),t.indexOf("rgb")>-1?g.rgb2hex(t):t);else{var u=s.fill.gradient.gradientToColors[r.seriesNumber];a=u,u.indexOf("rgba")>-1&&(d=g.getOpacityFromRGBA(u))}if(s.fill.gradient.inverseColors){var f=h;h=a,a=f}return h.indexOf("rgb")>-1&&(h=g.rgb2hex(h)),a.indexOf("rgb")>-1&&(a=g.rgb2hex(a)),n.drawGradient(l,h,a,c,d,r.size,s.fill.gradient.stops,s.fill.gradient.colorStops,i)}}]),t}(),P=function(){function t(i,a){e(this,t),this.ctx=i,this.w=i.w}return a(t,[{key:"setGlobalMarkerSize",value:function(){var t=this.w;if(t.globals.markers.size=Array.isArray(t.config.markers.size)?t.config.markers.size:[t.config.markers.size],t.globals.markers.size.length>0){if(t.globals.markers.size.length4&&void 0!==arguments[4]&&arguments[4],n=this.w,o=e,l=t,h=null,c=new p(this.ctx);if((n.globals.markers.size[e]>0||r)&&(h=c.group({class:r?"":"apexcharts-series-markers"})).attr("clip-path","url(#gridRectMarkerMask".concat(n.globals.cuid,")")),l.x instanceof Array)for(var d=0;d0:n.config.markers.size>0;if(b||r){g.isNumber(l.y[d])?x+=" w".concat(g.randomId()):x="apexcharts-nullpoint";var m=this.getMarkerConfig(x,e,f);n.config.series[o].data[i]&&(n.config.series[o].data[i].fillColor&&(m.pointFillColor=n.config.series[o].data[i].fillColor),n.config.series[o].data[i].strokeColor&&(m.pointStrokeColor=n.config.series[o].data[i].strokeColor)),a&&(m.pSize=a),(s=c.drawMarker(l.x[d],l.y[d],m)).attr("rel",f),s.attr("j",f),s.attr("index",e),s.node.setAttribute("default-marker-size",m.pSize);var v=new u(this.ctx);v.setSelectionFilter(s,e,f),this.addEvents(s),h&&h.add(s)}else void 0===n.globals.pointsArray[e]&&(n.globals.pointsArray[e]=[]),n.globals.pointsArray[e].push([l.x[d],l.y[d]])}return h}},{key:"getMarkerConfig",value:function(t,e){var i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null,a=this.w,s=this.getMarkerStyle(e),r=a.globals.markers.size[e],n=a.config.markers;return null!==i&&n.discrete.length&&n.discrete.map((function(t){t.seriesIndex===e&&t.dataPointIndex===i&&(s.pointStrokeColor=t.strokeColor,s.pointFillColor=t.fillColor,r=t.size)})),{pSize:r,pRadius:n.radius,pWidth:n.strokeWidth instanceof Array?n.strokeWidth[e]:n.strokeWidth,pointStrokeColor:s.pointStrokeColor,pointFillColor:s.pointFillColor,shape:n.shape instanceof Array?n.shape[e]:n.shape,class:t,pointStrokeOpacity:n.strokeOpacity instanceof Array?n.strokeOpacity[e]:n.strokeOpacity,pointStrokeDashArray:n.strokeDashArray instanceof Array?n.strokeDashArray[e]:n.strokeDashArray,pointFillOpacity:n.fillOpacity instanceof Array?n.fillOpacity[e]:n.fillOpacity,seriesIndex:e}}},{key:"addEvents",value:function(t){var e=this.w,i=new p(this.ctx);t.node.addEventListener("mouseenter",i.pathMouseEnter.bind(this.ctx,t)),t.node.addEventListener("mouseleave",i.pathMouseLeave.bind(this.ctx,t)),t.node.addEventListener("mousedown",i.pathMouseDown.bind(this.ctx,t)),t.node.addEventListener("click",e.config.markers.onClick),t.node.addEventListener("dblclick",e.config.markers.onDblClick),t.node.addEventListener("touchstart",i.pathMouseDown.bind(this.ctx,t),{passive:!0})}},{key:"getMarkerStyle",value:function(t){var e=this.w,i=e.globals.markers.colors,a=e.config.markers.strokeColor||e.config.markers.strokeColors;return{pointStrokeColor:a instanceof Array?a[t]:a,pointFillColor:i instanceof Array?i[t]:i}}}]),t}(),T=function(){function t(i){e(this,t),this.ctx=i,this.w=i.w,this.initialAnim=this.w.config.chart.animations.enabled,this.dynamicAnim=this.initialAnim&&this.w.config.chart.animations.dynamicAnimation.enabled}return a(t,[{key:"draw",value:function(t,e,i){var a=this.w,s=new p(this.ctx),r=i.realIndex,n=i.pointsPos,o=i.zRatio,l=i.elParent,h=s.group({class:"apexcharts-series-markers apexcharts-series-".concat(a.config.chart.type)});if(h.attr("clip-path","url(#gridRectMarkerMask".concat(a.globals.cuid,")")),n.x instanceof Array)for(var c=0;cx.maxBubbleRadius&&(f=x.maxBubbleRadius)}a.config.chart.animations.enabled||(u=f);var b=n.x[c],m=n.y[c];if(u=u||0,null!==m&&void 0!==a.globals.series[r][d]||(g=!1),g){var v=this.drawPoint(b,m,u,f,r,d,e);h.add(v)}l.add(h)}}},{key:"drawPoint",value:function(t,e,i,a,s,r,n){var o=this.w,l=s,h=new f(this.ctx),c=new u(this.ctx),d=new L(this.ctx),g=new P(this.ctx),x=new p(this.ctx),b=g.getMarkerConfig("apexcharts-marker",l),m=d.fillPath({seriesNumber:s,dataPointIndex:r,patternUnits:"objectBoundingBox",value:o.globals.series[s][n]}),v=x.drawCircle(i);if(o.config.series[l].data[r]&&o.config.series[l].data[r].fillColor&&(m=o.config.series[l].data[r].fillColor),v.attr({cx:t,cy:e,fill:m,stroke:b.pointStrokeColor,"stroke-width":b.pWidth,"stroke-dasharray":b.pointStrokeDashArray,"stroke-opacity":b.pointStrokeOpacity}),o.config.chart.dropShadow.enabled){var y=o.config.chart.dropShadow;c.dropShadow(v,y,s)}if(this.initialAnim&&!o.globals.dataChanged){var w=1;o.globals.resized||(w=o.config.chart.animations.speed),h.animateCircleRadius(v,0,a,w,o.globals.easing,(function(){window.setTimeout((function(){h.animationCompleted(v)}),100)}))}if(o.globals.dataChanged)if(this.dynamicAnim){var k,A,S,C,T=o.config.chart.animations.dynamicAnimation.speed;null!=(C=o.globals.previousPaths[s]&&o.globals.previousPaths[s][n])&&(k=C.x,A=C.y,S=void 0!==C.r?C.r:a);for(var z=0;zf.x+f.width+2||e>f.y+f.height+2||t+c4&&void 0!==arguments[4]?arguments[4]:2,r=this.w,n=new p(this.ctx),o=r.config.dataLabels,l=0,h=0,c=i,d=null;if(!o.enabled||t.x instanceof Array!=!0)return d;d=n.group({class:"apexcharts-data-labels"});for(var g=0;ge.globals.gridWidth+20)&&(o="");var b=e.globals.dataLabels.style.colors[r];(("bar"===e.config.chart.type||"rangeBar"===e.config.chart.type)&&e.config.plotOptions.bar.distributed||e.config.dataLabels.distributed)&&(b=e.globals.dataLabels.style.colors[n]),d&&(b=d);var m=c.offsetX,v=c.offsetY;if("bar"!==e.config.chart.type&&"rangeBar"!==e.config.chart.type||(m=0,v=0),x.drawnextLabel){var y=i.drawText({width:100,height:parseInt(c.style.fontSize,10),x:a+m,y:s+v,foreColor:b,textAnchor:l||c.textAnchor,text:o,fontSize:c.style.fontSize,fontFamily:c.style.fontFamily,fontWeight:c.style.fontWeight||"normal"});if(y.attr({class:"apexcharts-datalabel",cx:a,cy:s}),c.dropShadow.enabled){var w=c.dropShadow;new u(this.ctx).dropShadow(y,w)}h.add(y),void 0===e.globals.lastDrawnDataLabelsIndexes[r]&&(e.globals.lastDrawnDataLabelsIndexes[r]=[]),e.globals.lastDrawnDataLabelsIndexes[r].push(n)}}}},{key:"addBackgroundToDataLabel",value:function(t,e){var i=this.w,a=i.config.dataLabels.background,s=a.padding,r=a.padding/2,n=e.width,o=e.height,l=new p(this.ctx).drawRect(e.x-s,e.y-r/2,n+2*s,o+r,a.borderRadius,"transparent"===i.config.chart.background?"#fff":i.config.chart.background,a.opacity,a.borderWidth,a.borderColor);a.dropShadow.enabled&&new u(this.ctx).dropShadow(l,a.dropShadow);return l}},{key:"dataLabelsBackground",value:function(){var t=this.w;if("bubble"!==t.config.chart.type)for(var e=t.globals.dom.baseEl.querySelectorAll(".apexcharts-datalabels text"),i=0;ii.globals.gridHeight&&(c=i.globals.gridHeight-g)),{bcx:n,bcy:r,dataLabelsX:e,dataLabelsY:c}}},{key:"calculateBarsDataLabelsPosition",value:function(t){var e=this.w,i=t.x,a=t.i,s=t.j,r=t.bcy,n=t.barHeight,o=t.barWidth,l=t.textRects,h=t.dataLabelsX,c=t.strokeWidth,d=t.barDataLabelsConfig,g=t.offX,u=t.offY,f=e.globals.gridHeight/e.globals.dataPoints;o=Math.abs(o);var p=r-(this.barCtx.isTimelineBar?0:f)+n/2+l.height/2+u-3,x=this.barCtx.series[a][s]<0,b=i;switch(this.barCtx.isReversed&&(b=i+o,i=e.globals.gridWidth-o),d.position){case"center":h=x?b-o/2-g:b-o/2+g;break;case"bottom":h=x?b+o-c-Math.round(l.width/2)-g:b-o+c+Math.round(l.width/2)+g;break;case"top":h=x?b-c+Math.round(l.width/2)-g:b-c-Math.round(l.width/2)+g}return e.config.chart.stacked||(h<0?h=h+l.width+c:h+l.width/2>e.globals.gridWidth&&(h=e.globals.gridWidth-l.width-c)),{bcx:i,bcy:r,dataLabelsX:h,dataLabelsY:p}}},{key:"drawCalculatedDataLabels",value:function(t){var e=t.x,i=t.y,a=t.val,s=t.i,r=t.j,o=t.textRects,l=t.barHeight,h=t.barWidth,c=t.dataLabelsConfig,d=this.w,g="rotate(0)";"vertical"===d.config.plotOptions.bar.dataLabels.orientation&&(g="rotate(-90, ".concat(e,", ").concat(i,")"));var u=new z(this.barCtx.ctx),f=new p(this.barCtx.ctx),x=c.formatter,b=null,m=d.globals.collapsedSeriesIndices.indexOf(s)>-1;if(c.enabled&&!m){b=f.group({class:"apexcharts-data-labels",transform:g});var v="";void 0!==a&&(v=x(a,{seriesIndex:s,dataPointIndex:r,w:d})),0===a&&d.config.chart.stacked&&(v="");var y=d.globals.series[s][r]<=0,w=d.config.plotOptions.bar.dataLabels.position;if("vertical"===d.config.plotOptions.bar.dataLabels.orientation&&("top"===w&&(c.textAnchor=y?"end":"start"),"center"===w&&(c.textAnchor="middle"),"bottom"===w&&(c.textAnchor=y?"end":"start")),this.barCtx.isTimelineBar&&this.barCtx.barOptions.dataLabels.hideOverflowingLabels)h0&&o.width/1.6>h||h<0&&o.width/1.6l&&(v="")));var k=n({},c);this.barCtx.isHorizontal&&a<0&&("start"===c.textAnchor?k.textAnchor="end":"end"===c.textAnchor&&(k.textAnchor="start")),u.plotDataLabelsText({x:e,y:i,text:v,i:s,j:r,parent:b,dataLabelsConfig:k,alwaysDrawDataLabel:!0,offsetCorrection:!0})}return b}}]),t}(),M=function(){function t(i){e(this,t),this.ctx=i,this.w=i.w,this.legendInactiveClass="legend-mouseover-inactive"}return a(t,[{key:"getAllSeriesEls",value:function(){return this.w.globals.dom.baseEl.getElementsByClassName("apexcharts-series")}},{key:"getSeriesByName",value:function(t){return this.w.globals.dom.baseEl.querySelector("[seriesName='".concat(g.escapeString(t),"']"))}},{key:"isSeriesHidden",value:function(t){var e=this.getSeriesByName(t),i=parseInt(e.getAttribute("data:realIndex"),10);return{isHidden:e.classList.contains("apexcharts-series-collapsed"),realIndex:i}}},{key:"addCollapsedClassToSeries",value:function(t,e){var i=this.w;function a(i){for(var a=0;a0&&void 0!==arguments[0])||arguments[0],e=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],i=!(arguments.length>2&&void 0!==arguments[2])||arguments[2],a=this.w,s=a.globals.initialSeries.slice();a.config.series=s,a.globals.previousPaths=[],i&&(a.globals.collapsedSeries=[],a.globals.ancillaryCollapsedSeries=[],a.globals.collapsedSeriesIndices=[],a.globals.ancillaryCollapsedSeriesIndices=[]),t&&(e&&(a.globals.zoomed=!1,this.ctx.updateHelpers.revertDefaultAxisMinMax()),this.ctx.updateHelpers._updateSeries(s,a.config.chart.animations.dynamicAnimation.enabled))}},{key:"toggleSeriesOnHover",value:function(t,e){var i=this.w,a=i.globals.dom.baseEl.querySelectorAll(".apexcharts-series, .apexcharts-datalabels");if("mousemove"===t.type){var s=parseInt(e.getAttribute("rel"),10)-1,r=null,n=null;i.globals.axisCharts||"radialBar"===i.config.chart.type?i.globals.axisCharts?(r=i.globals.dom.baseEl.querySelector(".apexcharts-series[data\\:realIndex='".concat(s,"']")),n=i.globals.dom.baseEl.querySelector(".apexcharts-datalabels[data\\:realIndex='".concat(s,"']"))):r=i.globals.dom.baseEl.querySelector(".apexcharts-series[rel='".concat(s+1,"']")):r=i.globals.dom.baseEl.querySelector(".apexcharts-series[rel='".concat(s+1,"'] path"));for(var o=0;o=t.from&&a<=t.to&&s[e].classList.remove(i.legendInactiveClass)}}(a.config.plotOptions.heatmap.colorScale.ranges[n])}else"mouseout"===t.type&&r("remove")}},{key:"getActiveConfigSeriesIndex",value:function(){var t=arguments.length>0&&void 0!==arguments[0]&&arguments[0],e=this.w,i=0;if(e.config.series.length>1)for(var a=e.config.series.map((function(i,a){var s=!1;return t&&(s="bar"===e.config.series[a].type||"column"===e.config.series[a].type),i.data&&i.data.length>0&&!s?a:-1})),s=0;s0)for(var a=0;a0)for(var a=0;a0?t:[]}));return t}}]),t}(),X=function(){function t(i){e(this,t),this.w=i.w,this.barCtx=i}return a(t,[{key:"initVariables",value:function(t){var e=this.w;this.barCtx.series=t,this.barCtx.totalItems=0,this.barCtx.seriesLen=0,this.barCtx.visibleI=-1,this.barCtx.visibleItems=1;for(var i=0;i0&&(this.barCtx.seriesLen=this.barCtx.seriesLen+1,this.barCtx.totalItems+=t[i].length),e.globals.isXNumeric)for(var a=0;ae.globals.minX&&e.globals.seriesX[i][a]0&&(a=l.globals.minXDiff/c),(r=a/this.barCtx.seriesLen*parseInt(this.barCtx.barOptions.columnWidth,10)/100)<1&&(r=1)}n=l.globals.gridHeight-this.barCtx.baseLineY[this.barCtx.yaxisIndex]-(this.barCtx.isReversed?l.globals.gridHeight:0)+(this.barCtx.isReversed?2*this.barCtx.baseLineY[this.barCtx.yaxisIndex]:0),t=l.globals.padHorizontal+(a-r*this.barCtx.seriesLen)/2}return{x:t,y:e,yDivision:i,xDivision:a,barHeight:s,barWidth:r,zeroH:n,zeroW:o}}},{key:"getPathFillColor",value:function(t,e,i,a){var s=this.w,r=new L(this.barCtx.ctx),n=null,o=this.barCtx.barOptions.distributed?i:e;this.barCtx.barOptions.colors.ranges.length>0&&this.barCtx.barOptions.colors.ranges.map((function(a){t[e][i]>=a.from&&t[e][i]<=a.to&&(n=a.color)}));return s.config.series[e].data[i]&&s.config.series[e].data[i].fillColor&&(n=s.config.series[e].data[i].fillColor),r.fillPath({seriesNumber:this.barCtx.barOptions.distributed?o:a,dataPointIndex:i,color:n,value:t[e][i]})}},{key:"getStrokeWidth",value:function(t,e,i){var a=0,s=this.w;return void 0===this.barCtx.series[t][e]||null===this.barCtx.series[t][e]?this.barCtx.isNullValue=!0:this.barCtx.isNullValue=!1,s.config.stroke.show&&(this.barCtx.isNullValue||(a=Array.isArray(this.barCtx.strokeWidth)?this.barCtx.strokeWidth[i]:this.barCtx.strokeWidth)),a}},{key:"barBackground",value:function(t){var e=t.bc,i=t.i,a=t.x1,s=t.x2,r=t.y1,n=t.y2,o=t.elSeries,l=this.w,h=new p(this.barCtx.ctx),c=new M(this.barCtx.ctx).getActiveConfigSeriesIndex();if(this.barCtx.barOptions.colors.backgroundBarColors.length>0&&c===i){e>=this.barCtx.barOptions.colors.backgroundBarColors.length&&(e=0);var d=this.barCtx.barOptions.colors.backgroundBarColors[e],g=h.drawRect(void 0!==a?a:0,void 0!==r?r:0,void 0!==s?s:l.globals.gridWidth,void 0!==n?n:l.globals.gridHeight,this.barCtx.barOptions.colors.backgroundBarRadius,d,this.barCtx.barOptions.colors.backgroundBarOpacity);o.add(g),g.node.classList.add("apexcharts-backgroundBar")}}},{key:"getColumnPaths",value:function(t){var e=t.barWidth,i=t.barXPosition,a=t.yRatio,s=t.y1,r=t.y2,n=t.strokeWidth,o=t.series,l=t.realIndex,h=t.i,c=t.j,d=t.w,g=new p(this.barCtx.ctx);(n=Array.isArray(n)?n[l]:n)||(n=0);var u={barWidth:e,strokeWidth:n,yRatio:a,barXPosition:i,y1:s,y2:r},f=this.getRoundedBars(d,u,o,h,c),x=i,b=i+e,m=g.move(x,f.y1),v=g.move(x,f.y1);return d.globals.previousPaths.length>0&&(v=this.barCtx.getPreviousPath(l,c,!1)),{pathTo:m=m+g.line(x,f.y2)+f.endingPath+g.line(b-n,f.y2)+g.line(b-n,f.y1)+f.startingPath+"z",pathFrom:v=v+g.line(x,s)+g.line(b-n,s)+g.line(b-n,s)+g.line(b-n,s)+g.line(x,s)}}},{key:"getBarpaths",value:function(t){var e=t.barYPosition,i=t.barHeight,a=t.x1,s=t.x2,r=t.strokeWidth,n=t.series,o=t.realIndex,l=t.i,h=t.j,c=t.w,d=new p(this.barCtx.ctx);(r=Array.isArray(r)?r[o]:r)||(r=0);var g={barHeight:i,strokeWidth:r,barYPosition:e,x2:s,x1:a},u=this.getRoundedBars(c,g,n,l,h),f=d.move(u.x1,e),x=d.move(u.x1,e);c.globals.previousPaths.length>0&&(x=this.barCtx.getPreviousPath(o,h,!1));var b=e,m=e+i;return{pathTo:f=f+d.line(u.x2,b)+u.endingPath+d.line(u.x2,m-r)+d.line(u.x1,m-r)+u.startingPath+"z",pathFrom:x=x+d.line(a,b)+d.line(a,m-r)+d.line(a,m-r)+d.line(a,m-r)+d.line(a,b)}}},{key:"getRoundedBars",value:function(t,e,i,a,s){var r=new p(this.barCtx.ctx),n=Array.isArray(e.strokeWidth)?e.strokeWidth[a]:e.strokeWidth;if(n||(n=0),this.barCtx.isHorizontal){var o=null,l="",h=e.x2,c=e.x1;if(void 0!==i[a][s]||null!==i[a][s]){var d=i[a][s]<0,g=e.barHeight/2-n;switch(d&&(g=-e.barHeight/2-n),g>Math.abs(h-c)&&(g=Math.abs(h-c)),"rounded"===this.barCtx.barOptions.endingShape&&(h=e.x2-g/2),"rounded"===this.barCtx.barOptions.startingShape&&(c=e.x1+g/2),this.barCtx.barOptions.endingShape){case"flat":o=r.line(h,e.barYPosition+e.barHeight-n);break;case"rounded":o=r.quadraticCurve(h+g,e.barYPosition+(e.barHeight-n)/2,h,e.barYPosition+e.barHeight-n)}switch(this.barCtx.barOptions.startingShape){case"flat":l=r.line(c,e.barYPosition+e.barHeight-n);break;case"rounded":l=r.quadraticCurve(c-g,e.barYPosition+e.barHeight/2,c,e.barYPosition)}}return{endingPath:o,startingPath:l,x2:h,x1:c}}var u=null,f="",x=e.y2,b=e.y1;if(void 0!==i[a][s]||null!==i[a][s]){var m=i[a][s]<0,v=e.barWidth/2-n;switch(m&&(v=-e.barWidth/2-n),v>Math.abs(x-b)&&(v=Math.abs(x-b)),"rounded"===this.barCtx.barOptions.endingShape&&(x+=v/2),"rounded"===this.barCtx.barOptions.startingShape&&(b-=v/2),this.barCtx.barOptions.endingShape){case"flat":u=r.line(e.barXPosition+e.barWidth-n,x);break;case"rounded":u=r.quadraticCurve(e.barXPosition+(e.barWidth-n)/2,x-v,e.barXPosition+e.barWidth-n,x)}switch(this.barCtx.barOptions.startingShape){case"flat":f=r.line(e.barXPosition+e.barWidth-n,b);break;case"rounded":f=r.quadraticCurve(e.barXPosition+(e.barWidth-n)/2,b+v,e.barXPosition,b)}}return{endingPath:u,startingPath:f,y2:x,y1:b}}}]),t}(),E=function(){function t(i,a){e(this,t),this.ctx=i,this.w=i.w;var s=this.w;this.barOptions=s.config.plotOptions.bar,this.isHorizontal=this.barOptions.horizontal,this.strokeWidth=s.config.stroke.width,this.isNullValue=!1,this.isTimelineBar="datetime"===s.config.xaxis.type&&s.globals.seriesRangeBarTimeline.length,this.xyRatios=a,null!==this.xyRatios&&(this.xRatio=a.xRatio,this.initialXRatio=a.initialXRatio,this.yRatio=a.yRatio,this.invertedXRatio=a.invertedXRatio,this.invertedYRatio=a.invertedYRatio,this.baseLineY=a.baseLineY,this.baseLineInvertedY=a.baseLineInvertedY),this.yaxisIndex=0,this.seriesLen=0,this.barHelpers=new X(this)}return a(t,[{key:"draw",value:function(t,e){var i=this.w,a=new p(this.ctx),s=new m(this.ctx,i);t=s.getLogSeries(t),this.series=t,this.yRatio=s.getLogYRatios(this.yRatio),this.barHelpers.initVariables(t);var r=a.group({class:"apexcharts-bar-series apexcharts-plot-series"});i.config.dataLabels.enabled&&this.totalItems>this.barOptions.dataLabels.maxItems&&console.warn("WARNING: DataLabels are enabled but there are too many to display. This may cause performance issue when rendering.");for(var o=0,l=0;o0&&(this.visibleI=this.visibleI+1);var k=0,A=0;this.yRatio.length>1&&(this.yaxisIndex=y),this.isReversed=i.config.yaxis[this.yaxisIndex]&&i.config.yaxis[this.yaxisIndex].reversed;var S=this.barHelpers.initialPositions();x=S.y,k=S.barHeight,c=S.yDivision,u=S.zeroW,f=S.x,A=S.barWidth,h=S.xDivision,d=S.zeroH,this.horizontal||v.push(f+A/2);for(var C=a.group({class:"apexcharts-datalabels","data:realIndex":y}),L=0;L0&&v.push(f+A/2),b.push(x);var I=this.barHelpers.getPathFillColor(t,o,L,y);this.renderSeries({realIndex:y,pathFill:I,j:L,i:o,pathFrom:T.pathFrom,pathTo:T.pathTo,strokeWidth:P,elSeries:w,x:f,y:x,series:t,barHeight:k,barWidth:A,elDataLabelsWrap:C,visibleSeries:this.visibleI,type:"bar"})}i.globals.seriesXvalues[y]=v,i.globals.seriesYvalues[y]=b,r.add(w)}return r}},{key:"renderSeries",value:function(t){var e=t.realIndex,i=t.pathFill,a=t.lineFill,s=t.j,r=t.i,n=t.pathFrom,o=t.pathTo,l=t.strokeWidth,h=t.elSeries,c=t.x,d=t.y,g=t.y1,f=t.y2,x=t.series,b=t.barHeight,m=t.barWidth,v=t.barYPosition,y=t.elDataLabelsWrap,w=t.visibleSeries,k=t.type,A=this.w,S=new p(this.ctx);a||(a=this.barOptions.distributed?A.globals.stroke.colors[s]:A.globals.stroke.colors[e]),A.config.series[r].data[s]&&A.config.series[r].data[s].strokeColor&&(a=A.config.series[r].data[s].strokeColor),this.isNullValue&&(i="none");var C=s/A.config.chart.animations.animateGradually.delay*(A.config.chart.animations.speed/A.globals.dataPoints)/2.4,L=S.renderPaths({i:r,j:s,realIndex:e,pathFrom:n,pathTo:o,stroke:a,strokeWidth:l,strokeLineCap:A.config.stroke.lineCap,fill:i,animationDelay:C,initialSpeed:A.config.chart.animations.speed,dataChangeSpeed:A.config.chart.animations.dynamicAnimation.speed,className:"apexcharts-".concat(k,"-area")});L.attr("clip-path","url(#gridRectMask".concat(A.globals.cuid,")")),void 0!==g&&void 0!==f&&(L.attr("data-range-y1",g),L.attr("data-range-y2",f)),new u(this.ctx).setSelectionFilter(L,e,s),h.add(L);var P=new I(this).handleBarDataLabels({x:c,y:d,y1:g,y2:f,i:r,j:s,series:x,realIndex:e,barHeight:b,barWidth:m,barYPosition:v,renderedPath:L,visibleSeries:w});return null!==P&&y.add(P),h.add(y),h}},{key:"drawBarPaths",value:function(t){var e=t.indexes,i=t.barHeight,a=t.strokeWidth,s=t.zeroW,r=t.x,n=t.y,o=t.yDivision,l=t.elSeries,h=this.w,c=e.i,d=e.j,g=e.bc;h.globals.isXNumeric&&(n=(h.globals.seriesX[c][d]-h.globals.minX)/this.invertedXRatio-i);var u=n+i*this.visibleI;r=void 0===this.series[c][d]||null===this.series[c][d]?s:s+this.series[c][d]/this.invertedYRatio-2*(this.isReversed?this.series[c][d]/this.invertedYRatio:0);var f=this.barHelpers.getBarpaths({barYPosition:u,barHeight:i,x1:s,x2:r,strokeWidth:a,series:this.series,realIndex:e.realIndex,i:c,j:d,w:h});return h.globals.isXNumeric||(n+=o),this.barHelpers.barBackground({bc:g,i:c,y1:u-i*this.visibleI,y2:i*this.seriesLen,elSeries:l}),{pathTo:f.pathTo,pathFrom:f.pathFrom,x:r,y:n,barYPosition:u}}},{key:"drawColumnPaths",value:function(t){var e=t.indexes,i=t.x,a=t.y,s=t.xDivision,r=t.barWidth,n=t.zeroH,o=t.strokeWidth,l=t.elSeries,h=this.w,c=e.i,d=e.j,g=e.bc;if(h.globals.isXNumeric){var u=c;h.globals.seriesX[c].length||(u=h.globals.maxValsInArrayIndex),i=(h.globals.seriesX[u][d]-h.globals.minX)/this.xRatio-r*this.seriesLen/2}var f=i+r*this.visibleI;a=void 0===this.series[c][d]||null===this.series[c][d]?n:n-this.series[c][d]/this.yRatio[this.yaxisIndex]+2*(this.isReversed?this.series[c][d]/this.yRatio[this.yaxisIndex]:0);var p=this.barHelpers.getColumnPaths({barXPosition:f,barWidth:r,y1:n,y2:a,strokeWidth:o,series:this.series,realIndex:e.realIndex,i:c,j:d,w:h});return h.globals.isXNumeric||(i+=s),this.barHelpers.barBackground({bc:g,i:c,x1:f-o/2-r*this.visibleI,x2:r*this.seriesLen+o/2,elSeries:l}),{pathTo:p.pathTo,pathFrom:p.pathFrom,x:i,y:a,barXPosition:f}}},{key:"getPreviousPath",value:function(t,e){for(var i,a=this.w,s=0;s0&&parseInt(r.realIndex,10)===parseInt(t,10)&&void 0!==a.globals.previousPaths[s].paths[e]&&(i=a.globals.previousPaths[s].paths[e].d)}return i}}]),t}(),Y=function(){function t(i){e(this,t),this.ctx=i,this.w=i.w,this.months31=[1,3,5,7,8,10,12],this.months30=[2,4,6,9,11],this.daysCntOfYear=[0,31,59,90,120,151,181,212,243,273,304,334]}return a(t,[{key:"isValidDate",value:function(t){return!isNaN(this.parseDate(t))}},{key:"getTimeStamp",value:function(t){return Date.parse(t)?this.w.config.xaxis.labels.datetimeUTC?new Date(new Date(t).toISOString().substr(0,25)).getTime():new Date(t).getTime():t}},{key:"getDate",value:function(t){return this.w.config.xaxis.labels.datetimeUTC?new Date(new Date(t).toUTCString()):new Date(t)}},{key:"parseDate",value:function(t){var e=Date.parse(t);if(!isNaN(e))return this.getTimeStamp(t);var i=Date.parse(t.replace(/-/g,"/").replace(/[a-z]+/gi," "));return i=this.getTimeStamp(i)}},{key:"formatDate",value:function(t,e){var i=this.w.globals.locale,a=this.w.config.xaxis.labels.datetimeUTC,s=["\0"].concat(d(i.months)),r=["\x01"].concat(d(i.shortMonths)),n=["\x02"].concat(d(i.days)),o=["\x03"].concat(d(i.shortDays));function l(t,e){var i=t+"";for(e=e||2;i.length12?u-12:0===u?12:u;e=(e=(e=(e=e.replace(/(^|[^\\])HH+/g,"$1"+l(u))).replace(/(^|[^\\])H/g,"$1"+u)).replace(/(^|[^\\])hh+/g,"$1"+l(f))).replace(/(^|[^\\])h/g,"$1"+f);var p=a?t.getUTCMinutes():t.getMinutes();e=(e=e.replace(/(^|[^\\])mm+/g,"$1"+l(p))).replace(/(^|[^\\])m/g,"$1"+p);var x=a?t.getUTCSeconds():t.getSeconds();e=(e=e.replace(/(^|[^\\])ss+/g,"$1"+l(x))).replace(/(^|[^\\])s/g,"$1"+x);var b=a?t.getUTCMilliseconds():t.getMilliseconds();e=e.replace(/(^|[^\\])fff+/g,"$1"+l(b,3)),b=Math.round(b/10),e=e.replace(/(^|[^\\])ff/g,"$1"+l(b)),b=Math.round(b/10);var m=u<12?"AM":"PM";e=(e=(e=e.replace(/(^|[^\\])f/g,"$1"+b)).replace(/(^|[^\\])TT+/g,"$1"+m)).replace(/(^|[^\\])T/g,"$1"+m.charAt(0));var v=m.toLowerCase();e=(e=e.replace(/(^|[^\\])tt+/g,"$1"+v)).replace(/(^|[^\\])t/g,"$1"+v.charAt(0));var y=-t.getTimezoneOffset(),w=a||!y?"Z":y>0?"+":"-";if(!a){var k=(y=Math.abs(y))%60;w+=l(Math.floor(y/60))+":"+l(k)}e=e.replace(/(^|[^\\])K/g,"$1"+w);var A=(a?t.getUTCDay():t.getDay())+1;return e=(e=(e=(e=(e=e.replace(new RegExp(n[0],"g"),n[A])).replace(new RegExp(o[0],"g"),o[A])).replace(new RegExp(s[0],"g"),s[c])).replace(new RegExp(r[0],"g"),r[c])).replace(/\\(.)/g,"$1")}},{key:"getTimeUnitsfromTimestamp",value:function(t,e,i){var a=this.w;void 0!==a.config.xaxis.min&&(t=a.config.xaxis.min),void 0!==a.config.xaxis.max&&(e=a.config.xaxis.max);var s=this.getDate(t),r=this.getDate(e),n=this.formatDate(s,"yyyy MM dd HH mm").split(" "),o=this.formatDate(r,"yyyy MM dd HH mm").split(" ");return{minMinute:parseInt(n[4],10),maxMinute:parseInt(o[4],10),minHour:parseInt(n[3],10),maxHour:parseInt(o[3],10),minDate:parseInt(n[2],10),maxDate:parseInt(o[2],10),minMonth:parseInt(n[1],10)-1,maxMonth:parseInt(o[1],10)-1,minYear:parseInt(n[0],10),maxYear:parseInt(o[0],10)}}},{key:"isLeapYear",value:function(t){return t%4==0&&t%100!=0||t%400==0}},{key:"calculcateLastDaysOfMonth",value:function(t,e,i){return this.determineDaysOfMonths(t,e)-i}},{key:"determineDaysOfYear",value:function(t){var e=365;return this.isLeapYear(t)&&(e=366),e}},{key:"determineRemainingDaysOfYear",value:function(t,e,i){var a=this.daysCntOfYear[e]+i;return e>1&&this.isLeapYear()&&a++,a}},{key:"determineDaysOfMonths",value:function(t,e){var i=30;switch(t=g.monthMod(t),!0){case this.months30.indexOf(t)>-1:2===t&&(i=this.isLeapYear(e)?29:28);break;case this.months31.indexOf(t)>-1:default:i=31}return i}}]),t}(),F=function(t){function i(){return e(this,i),c(this,l(i).apply(this,arguments))}return o(i,t),a(i,[{key:"draw",value:function(t,e){var i=this.w,a=new p(this.ctx);this.rangeBarOptions=this.w.config.plotOptions.rangeBar,this.series=t,this.seriesRangeStart=i.globals.seriesRangeStart,this.seriesRangeEnd=i.globals.seriesRangeEnd,this.barHelpers.initVariables(t);for(var s=a.group({class:"apexcharts-rangebar-series apexcharts-plot-series"}),r=0;r0&&(this.visibleI=this.visibleI+1);var b=0,m=0;this.yRatio.length>1&&(this.yaxisIndex=f);var v=this.barHelpers.initialPositions();d=v.y,h=v.zeroW,c=v.x,m=v.barWidth,o=v.xDivision,l=v.zeroH;for(var y=a.group({class:"apexcharts-datalabels","data:realIndex":f}),w=0;w0}));return a=s+r*this.visibleI+n*g,u>-1&&!l.config.plotOptions.bar.rangeBarOverlap&&(h=l.globals.seriesRangeBarTimeline[e][u].overlaps).indexOf(c)>-1&&(a=(r=o.barHeight/h.length)*this.visibleI+n*(100-parseInt(this.barOptions.barHeight,10))/100/2+r*(this.visibleI+h.indexOf(c))+n*g),{barYPosition:a,barHeight:r}}},{key:"drawRangeColumnPaths",value:function(t){var e=t.indexes,i=t.x,a=(t.strokeWidth,t.xDivision),s=t.barWidth,r=t.zeroH,n=this.w,o=e.i,l=e.j,h=this.yRatio[this.yaxisIndex],c=e.realIndex,d=this.getRangeValue(c,l),g=Math.min(d.start,d.end),u=Math.max(d.start,d.end);n.globals.isXNumeric&&(i=(n.globals.seriesX[o][l]-n.globals.minX)/this.xRatio-s/2);var f=i+s*this.visibleI;void 0===this.series[o][l]||null===this.series[o][l]?g=r:(g=r-g/h,u=r-u/h);var p=Math.abs(u-g),x=this.barHelpers.getColumnPaths({barXPosition:f,barWidth:s,y1:g,y2:u,strokeWidth:this.strokeWidth,series:this.seriesRangeEnd,i:c,j:l,w:n});return n.globals.isXNumeric||(i+=a),{pathTo:x.pathTo,pathFrom:x.pathFrom,barHeight:p,x:i,y:u,barXPosition:f}}},{key:"drawRangeBarPaths",value:function(t){var e=t.indexes,i=t.y,a=t.y1,s=t.y2,r=t.yDivision,n=t.barHeight,o=t.barYPosition,l=t.zeroW,h=this.w,c=l+a/this.invertedYRatio,d=l+s/this.invertedYRatio,g=Math.abs(d-c),u=this.barHelpers.getBarpaths({barYPosition:o,barHeight:n,x1:c,x2:d,strokeWidth:this.strokeWidth,series:this.seriesRangeEnd,i:e.realIndex,j:e.j,w:h});return h.globals.isXNumeric||(i+=r),{pathTo:u.pathTo,pathFrom:u.pathFrom,barWidth:g,x:d,y:i}}},{key:"getRangeValue",value:function(t,e){var i=this.w;return{start:i.globals.seriesRangeStart[t][e],end:i.globals.seriesRangeEnd[t][e]}}},{key:"getTooltipValues",value:function(t){var e=t.ctx,i=t.seriesIndex,a=t.dataPointIndex,s=t.y1,r=t.y2,n=t.w,o=n.globals.seriesRangeStart[i][a],l=n.globals.seriesRangeEnd[i][a],h=n.globals.labels[a],c=n.config.series[i].name,d=n.config.tooltip.y.formatter,g=n.config.tooltip.y.title.formatter,u={w:n,seriesIndex:i,dataPointIndex:a};"function"==typeof g&&(c=g(c,u)),s&&r&&(o=s,l=r,n.config.series[i].data[a].x&&(h=n.config.series[i].data[a].x+":"),"function"==typeof d&&(h=d(h,u)));var f="",p="",x=n.globals.colors[i];if(void 0===n.config.tooltip.x.formatter)if("datetime"===n.config.xaxis.type){var b=new Y(e);f=b.formatDate(b.getDate(o),n.config.tooltip.x.format),p=b.formatDate(b.getDate(l),n.config.tooltip.x.format)}else f=o,p=l;else f=n.config.tooltip.x.formatter(o),p=n.config.tooltip.x.formatter(l);return{start:o,end:l,startVal:f,endVal:p,ylabel:h,color:x,seriesName:c}}},{key:"buildCustomTooltipHTML",value:function(t){var e=t.color,i=t.seriesName;return'
'+(i||"")+'
'+t.ylabel+' '+t.start+' - '+t.end+"
"}}]),i}(E),R=function(){function t(i){e(this,t),this.opts=i}return a(t,[{key:"line",value:function(){return{chart:{animations:{easing:"swing"}},dataLabels:{enabled:!1},stroke:{width:5,curve:"straight"},markers:{size:0,hover:{sizeOffset:6}},xaxis:{crosshairs:{width:1}}}}},{key:"sparkline",value:function(t){this.opts.yaxis[0].show=!1,this.opts.yaxis[0].title.text="",this.opts.yaxis[0].axisBorder.show=!1,this.opts.yaxis[0].axisTicks.show=!1,this.opts.yaxis[0].floating=!0;return g.extend(t,{grid:{show:!1,padding:{left:0,right:0,top:0,bottom:0}},legend:{show:!1},xaxis:{labels:{show:!1},tooltip:{enabled:!1},axisBorder:{show:!1},axisTicks:{show:!1}},chart:{toolbar:{show:!1},zoom:{enabled:!1}},dataLabels:{enabled:!1}})}},{key:"bar",value:function(){return{chart:{stacked:!1,animations:{easing:"swing"}},plotOptions:{bar:{dataLabels:{position:"center"}}},dataLabels:{style:{colors:["#fff"]},background:{enabled:!1}},stroke:{width:0,lineCap:"square"},fill:{opacity:.85},legend:{markers:{shape:"square",radius:2,size:8}},tooltip:{shared:!1},xaxis:{tooltip:{enabled:!1},tickPlacement:"between",crosshairs:{width:"barWidth",position:"back",fill:{type:"gradient"},dropShadow:{enabled:!1},stroke:{width:0}}}}}},{key:"candlestick",value:function(){return{stroke:{width:1,colors:["#333"]},fill:{opacity:1},dataLabels:{enabled:!1},tooltip:{shared:!0,custom:function(t){var e=t.seriesIndex,i=t.dataPointIndex,a=t.w;return'
Open: '+a.globals.seriesCandleO[e][i]+'
High: '+a.globals.seriesCandleH[e][i]+'
Low: '+a.globals.seriesCandleL[e][i]+'
Close: '+a.globals.seriesCandleC[e][i]+"
"}},states:{active:{filter:{type:"none"}}},xaxis:{crosshairs:{width:1}}}}},{key:"rangeBar",value:function(){return{stroke:{width:0,lineCap:"square"},plotOptions:{bar:{dataLabels:{position:"center"}}},dataLabels:{enabled:!1,formatter:function(t,e){e.ctx;var i=e.seriesIndex,a=e.dataPointIndex,s=e.w,r=s.globals.seriesRangeStart[i][a];return s.globals.seriesRangeEnd[i][a]-r},background:{enabled:!1},style:{colors:["#fff"]}},tooltip:{shared:!1,followCursor:!0,custom:function(t){return t.w.config.plotOptions&&t.w.config.plotOptions.bar&&t.w.config.plotOptions.bar.horizontal?function(t){var e=new F(t.ctx,null),i=e.getTooltipValues(t),a=i.color,s=i.seriesName,r=i.ylabel,n=i.startVal,o=i.endVal;return e.buildCustomTooltipHTML({color:a,seriesName:s,ylabel:r,start:n,end:o})}(t):function(t){var e=new F(t.ctx,null),i=e.getTooltipValues(t),a=i.color,s=i.seriesName,r=i.ylabel,n=i.start,o=i.end;return e.buildCustomTooltipHTML({color:a,seriesName:s,ylabel:r,start:n,end:o})}(t)}},xaxis:{tickPlacement:"between",tooltip:{enabled:!1},crosshairs:{stroke:{width:0}}}}}},{key:"area",value:function(){return{stroke:{width:4},fill:{type:"gradient",gradient:{inverseColors:!1,shade:"light",type:"vertical",opacityFrom:.65,opacityTo:.5,stops:[0,100,100]}},markers:{size:0,hover:{sizeOffset:6}},tooltip:{followCursor:!1}}}},{key:"brush",value:function(t){return g.extend(t,{chart:{toolbar:{autoSelected:"selection",show:!1},zoom:{enabled:!1}},dataLabels:{enabled:!1},stroke:{width:1},tooltip:{enabled:!1},xaxis:{tooltip:{enabled:!1}}})}},{key:"stacked100",value:function(t){t.dataLabels=t.dataLabels||{},t.dataLabels.formatter=t.dataLabels.formatter||void 0;var e=t.dataLabels.formatter;return t.yaxis.forEach((function(e,i){t.yaxis[i].min=0,t.yaxis[i].max=100})),"bar"===t.chart.type&&(t.dataLabels.formatter=e||function(t){return"number"==typeof t&&t?t.toFixed(0)+"%":t}),t}},{key:"convertCatToNumeric",value:function(t){return t.xaxis.convertedCatToNumeric=!0,t}},{key:"convertCatToNumericXaxis",value:function(t,e,i){t.xaxis.type="numeric",t.xaxis.labels=t.xaxis.labels||{},t.xaxis.labels.formatter=t.xaxis.labels.formatter||function(t){return g.isNumber(t)?Math.floor(t):t};var a=t.xaxis.labels.formatter,s=t.xaxis.categories&&t.xaxis.categories.length?t.xaxis.categories:t.labels;return i&&i.length&&(s=i.map((function(t){return t.toString()}))),s&&s.length&&(t.xaxis.labels.formatter=function(t){return g.isNumber(t)?a(s[Math.floor(t)-1]):a(t)}),t.xaxis.categories=[],t.labels=[],t.xaxis.tickAmount=t.xaxis.tickAmount||"dataPoints",t}},{key:"bubble",value:function(){return{dataLabels:{style:{colors:["#fff"]}},tooltip:{shared:!1,intersect:!0},xaxis:{crosshairs:{width:0}},fill:{type:"solid",gradient:{shade:"light",inverse:!0,shadeIntensity:.55,opacityFrom:.4,opacityTo:.8}}}}},{key:"scatter",value:function(){return{dataLabels:{enabled:!1},tooltip:{shared:!1,intersect:!0},markers:{size:6,strokeWidth:1,hover:{sizeOffset:2}}}}},{key:"heatmap",value:function(){return{chart:{stacked:!1},fill:{opacity:1},dataLabels:{style:{colors:["#fff"]}},stroke:{colors:["#fff"]},tooltip:{followCursor:!0,marker:{show:!1},x:{show:!1}},legend:{position:"top",markers:{shape:"square",size:10,offsetY:2}},grid:{padding:{right:20}}}}},{key:"pie",value:function(){return{chart:{toolbar:{show:!1}},plotOptions:{pie:{donut:{labels:{show:!1}}}},dataLabels:{formatter:function(t){return t.toFixed(1)+"%"},style:{colors:["#fff"]},dropShadow:{enabled:!0}},stroke:{colors:["#fff"]},fill:{opacity:1,gradient:{shade:"light",stops:[0,100]}},tooltip:{theme:"dark",fillSeriesColor:!0},legend:{position:"right"}}}},{key:"donut",value:function(){return{chart:{toolbar:{show:!1}},dataLabels:{formatter:function(t){return t.toFixed(1)+"%"},style:{colors:["#fff"]},dropShadow:{enabled:!0}},stroke:{colors:["#fff"]},fill:{opacity:1,gradient:{shade:"light",shadeIntensity:.35,stops:[80,100],opacityFrom:1,opacityTo:1}},tooltip:{theme:"dark",fillSeriesColor:!0},legend:{position:"right"}}}},{key:"polarArea",value:function(){return this.opts.yaxis[0].tickAmount=this.opts.yaxis[0].tickAmount?this.opts.yaxis[0].tickAmount:6,{chart:{toolbar:{show:!1}},dataLabels:{formatter:function(t){return t.toFixed(1)+"%"},enabled:!1},stroke:{show:!0,width:2},fill:{opacity:.7},tooltip:{theme:"dark",fillSeriesColor:!0},legend:{position:"right"}}}},{key:"radar",value:function(){return this.opts.yaxis[0].labels.offsetY=this.opts.yaxis[0].labels.offsetY?this.opts.yaxis[0].labels.offsetY:6,{dataLabels:{enabled:!1,style:{fontSize:"11px"}},stroke:{width:2},markers:{size:3,strokeWidth:1,strokeOpacity:1},fill:{opacity:.2},tooltip:{shared:!1,intersect:!0,followCursor:!0},grid:{show:!1},xaxis:{labels:{formatter:function(t){return t},style:{colors:["#a8a8a8"],fontSize:"11px"}},tooltip:{enabled:!1},crosshairs:{show:!1}}}}},{key:"radialBar",value:function(){return{chart:{animations:{dynamicAnimation:{enabled:!0,speed:800}},toolbar:{show:!1}},fill:{gradient:{shade:"dark",shadeIntensity:.4,inverseColors:!1,type:"diagonal2",opacityFrom:1,opacityTo:1,stops:[70,98,100]}},legend:{show:!1,position:"right"},tooltip:{enabled:!1,fillSeriesColor:!0}}}}]),t}(),D=function(){function i(t){e(this,i),this.opts=t}return a(i,[{key:"init",value:function(e){var i=e.responsiveOverride,a=this.opts,s=new S,r=new R(a);this.chartType=a.chart.type,"histogram"===this.chartType&&(a.chart.type="bar",a=g.extend({plotOptions:{bar:{columnWidth:"99.99%"}}},a)),a=this.extendYAxis(a),a=this.extendAnnotations(a);var n=s.init(),o={};if(a&&"object"===t(a)){var l={};l=-1!==["line","area","bar","candlestick","rangeBar","histogram","bubble","scatter","heatmap","pie","polarArea","donut","radar","radialBar"].indexOf(a.chart.type)?r[a.chart.type]():r.line(),a.chart.brush&&a.chart.brush.enabled&&(l=r.brush(l)),a.chart.stacked&&"100%"===a.chart.stackType&&(a=r.stacked100(a)),this.checkForDarkTheme(window.Apex),this.checkForDarkTheme(a),a.xaxis=a.xaxis||window.Apex.xaxis||{},i||(a.xaxis.convertedCatToNumeric=!1),((a=this.checkForCatToNumericXAxis(this.chartType,l,a)).chart.sparkline&&a.chart.sparkline.enabled||window.Apex.chart&&window.Apex.chart.sparkline&&window.Apex.chart.sparkline.enabled)&&(l=r.sparkline(l)),o=g.extend(n,l)}var h=g.extend(o,window.Apex);return n=g.extend(h,a),n=this.handleUserInputErrors(n)}},{key:"checkForCatToNumericXAxis",value:function(t,e,i){var a=new R(i),s="bar"===t&&i.plotOptions&&i.plotOptions.bar&&i.plotOptions.bar.horizontal,r="pie"===t||"polarArea"===t||"donut"===t||"radar"===t||"radialBar"===t||"heatmap"===t,n="datetime"!==i.xaxis.type&&"numeric"!==i.xaxis.type,o=i.xaxis.tickPlacement?i.xaxis.tickPlacement:e.xaxis&&e.xaxis.tickPlacement;return s||r||!n||"between"===o||(i=a.convertCatToNumeric(i)),i}},{key:"extendYAxis",value:function(t,e){var i=new S;(void 0===t.yaxis||!t.yaxis||Array.isArray(t.yaxis)&&0===t.yaxis.length)&&(t.yaxis={}),t.yaxis.constructor!==Array&&window.Apex.yaxis&&window.Apex.yaxis.constructor!==Array&&(t.yaxis=g.extend(t.yaxis,window.Apex.yaxis)),t.yaxis.constructor!==Array?t.yaxis=[g.extend(i.yAxis,t.yaxis)]:t.yaxis=g.extendArray(t.yaxis,i.yAxis);var a=!1;t.yaxis.forEach((function(t){t.logarithmic&&(a=!0)}));var s=t.series;return e&&!s&&(s=e.config.series),a&&s.length!==t.yaxis.length&&s.length&&(t.yaxis=s.map((function(e,a){if(e.name||(s[a].name="series-".concat(a+1)),t.yaxis[a])return t.yaxis[a].seriesName=s[a].name,t.yaxis[a];var r=g.extend(i.yAxis,t.yaxis[0]);return r.show=!1,r}))),a&&s.length>1&&s.length!==t.yaxis.length&&console.warn("A multi-series logarithmic chart should have equal number of series and y-axes. Please make sure to equalize both."),t}},{key:"extendAnnotations",value:function(t){return void 0===t.annotations&&(t.annotations={},t.annotations.yaxis=[],t.annotations.xaxis=[],t.annotations.points=[]),t=this.extendYAxisAnnotations(t),t=this.extendXAxisAnnotations(t),t=this.extendPointAnnotations(t)}},{key:"extendYAxisAnnotations",value:function(t){var e=new S;return t.annotations.yaxis=g.extendArray(void 0!==t.annotations.yaxis?t.annotations.yaxis:[],e.yAxisAnnotation),t}},{key:"extendXAxisAnnotations",value:function(t){var e=new S;return t.annotations.xaxis=g.extendArray(void 0!==t.annotations.xaxis?t.annotations.xaxis:[],e.xAxisAnnotation),t}},{key:"extendPointAnnotations",value:function(t){var e=new S;return t.annotations.points=g.extendArray(void 0!==t.annotations.points?t.annotations.points:[],e.pointAnnotation),t}},{key:"checkForDarkTheme",value:function(t){t.theme&&"dark"===t.theme.mode&&(t.tooltip||(t.tooltip={}),"light"!==t.tooltip.theme&&(t.tooltip.theme="dark"),t.chart.foreColor||(t.chart.foreColor="#f6f7f8"),t.theme.palette||(t.theme.palette="palette4"))}},{key:"handleUserInputErrors",value:function(t){var e=t;if(e.tooltip.shared&&e.tooltip.intersect)throw new Error("tooltip.shared cannot be enabled when tooltip.intersect is true. Turn off any other option by setting it to false.");if(("bar"===e.chart.type||"rangeBar"===e.chart.type)&&e.plotOptions.bar.horizontal){if(e.yaxis.length>1)throw new Error("Multiple Y Axis for bars are not supported. Switch to column chart by setting plotOptions.bar.horizontal=false");e.yaxis[0].reversed&&(e.yaxis[0].opposite=!0),e.xaxis.tooltip.enabled=!1,e.yaxis[0].tooltip.enabled=!1,e.chart.zoom.enabled=!1}return"bar"!==e.chart.type&&"rangeBar"!==e.chart.type||e.tooltip.shared&&("barWidth"===e.xaxis.crosshairs.width&&e.series.length>1&&(console.warn('crosshairs.width = "barWidth" is only supported in single series, not in a multi-series barChart.'),e.xaxis.crosshairs.width="tickWidth"),e.plotOptions.bar.horizontal&&(e.states.hover.type="none",e.tooltip.shared=!1),e.tooltip.followCursor||(console.warn("followCursor option in shared columns cannot be turned off. Please set %ctooltip.followCursor: true","color: blue;"),e.tooltip.followCursor=!0)),"candlestick"===e.chart.type&&e.yaxis[0].reversed&&(console.warn("Reversed y-axis in candlestick chart is not supported."),e.yaxis[0].reversed=!1),e.chart.group&&0===e.yaxis[0].labels.minWidth&&console.warn("It looks like you have multiple charts in synchronization. You must provide yaxis.labels.minWidth which must be EQUAL for all grouped charts to prevent incorrect behaviour."),Array.isArray(e.stroke.width)&&"line"!==e.chart.type&&"area"!==e.chart.type&&(console.warn("stroke.width option accepts array only for line and area charts. Reverted back to Number"),e.stroke.width=e.stroke.width[0]),e}}]),i}(),H=function(){function t(){e(this,t)}return a(t,[{key:"initGlobalVars",value:function(t){t.series=[],t.seriesCandleO=[],t.seriesCandleH=[],t.seriesCandleL=[],t.seriesCandleC=[],t.seriesRangeStart=[],t.seriesRangeEnd=[],t.seriesRangeBarTimeline=[],t.seriesPercent=[],t.seriesX=[],t.seriesZ=[],t.seriesNames=[],t.seriesTotals=[],t.seriesLog=[],t.stackedSeriesTotals=[],t.seriesXvalues=[],t.seriesYvalues=[],t.labels=[],t.categoryLabels=[],t.timescaleLabels=[],t.noLabelsProvided=!1,t.resizeTimer=null,t.selectionResizeTimer=null,t.delayedElements=[],t.pointsArray=[],t.dataLabelsRects=[],t.isXNumeric=!1,t.xaxisLabelsCount=0,t.skipLastTimelinelabel=!1,t.skipFirstTimelinelabel=!1,t.x2SpaceAvailable=0,t.isDataXYZ=!1,t.isMultiLineX=!1,t.isMultipleYAxis=!1,t.maxY=-Number.MAX_VALUE,t.minY=Number.MIN_VALUE,t.minYArr=[],t.maxYArr=[],t.maxX=-Number.MAX_VALUE,t.minX=Number.MAX_VALUE,t.initialMaxX=-Number.MAX_VALUE,t.initialMinX=Number.MAX_VALUE,t.maxDate=0,t.minDate=Number.MAX_VALUE,t.minZ=Number.MAX_VALUE,t.maxZ=-Number.MAX_VALUE,t.minXDiff=Number.MAX_VALUE,t.yAxisScale=[],t.xAxisScale=null,t.xAxisTicksPositions=[],t.yLabelsCoords=[],t.yTitleCoords=[],t.barPadForNumericAxis=0,t.padHorizontal=0,t.xRange=0,t.yRange=[],t.zRange=0,t.dataPoints=0,t.xTickAmount=0}},{key:"globalVars",value:function(t){return{chartID:null,cuid:null,events:{beforeMount:[],mounted:[],updated:[],clicked:[],selection:[],dataPointSelection:[],zoomed:[],scrolled:[]},colors:[],clientX:null,clientY:null,fill:{colors:[]},stroke:{colors:[]},dataLabels:{style:{colors:[]}},radarPolygons:{fill:{colors:[]}},markers:{colors:[],size:t.markers.size,largestSize:0},animationEnded:!1,isTouchDevice:"ontouchstart"in window||navigator.msMaxTouchPoints,isDirty:!1,isExecCalled:!1,initialConfig:null,lastXAxis:[],lastYAxis:[],columnSeries:null,labels:[],timescaleLabels:[],noLabelsProvided:!1,allSeriesCollapsed:!1,collapsedSeries:[],collapsedSeriesIndices:[],ancillaryCollapsedSeries:[],ancillaryCollapsedSeriesIndices:[],risingSeries:[],dataFormatXNumeric:!1,capturedSeriesIndex:-1,capturedDataPointIndex:-1,selectedDataPoints:[],goldenPadding:35,invalidLogScale:!1,ignoreYAxisIndexes:[],yAxisSameScaleIndices:[],maxValsInArrayIndex:0,radialSize:0,zoomEnabled:"zoom"===t.chart.toolbar.autoSelected&&t.chart.toolbar.tools.zoom&&t.chart.zoom.enabled,panEnabled:"pan"===t.chart.toolbar.autoSelected&&t.chart.toolbar.tools.pan,selectionEnabled:"selection"===t.chart.toolbar.autoSelected&&t.chart.toolbar.tools.selection,yaxis:null,mousedown:!1,lastClientPosition:{},visibleXRange:void 0,yValueDecimal:0,total:0,SVGNS:"http://www.w3.org/2000/svg",svgWidth:0,svgHeight:0,noData:!1,locale:{},dom:{},memory:{methodsToExec:[]},shouldAnimate:!0,skipLastTimelinelabel:!1,skipFirstTimelinelabel:!1,delayedElements:[],axisCharts:!0,isDataXYZ:!1,resized:!1,resizeTimer:null,comboCharts:!1,dataChanged:!1,previousPaths:[],allSeriesHasEqualX:!0,pointsArray:[],dataLabelsRects:[],lastDrawnDataLabelsIndexes:[],x2SpaceAvailable:0,hasNullValues:!1,easing:null,zoomed:!1,gridWidth:0,gridHeight:0,rotateXLabels:!1,defaultLabels:!1,xLabelFormatter:void 0,yLabelFormatters:[],xaxisTooltipFormatter:void 0,ttKeyFormatter:void 0,ttVal:void 0,ttZFormatter:void 0,LINE_HEIGHT_RATIO:1.618,xAxisLabelsHeight:0,yAxisLabelsWidth:0,scaleX:1,scaleY:1,translateX:0,translateY:0,translateYAxisX:[],yAxisWidths:[],translateXAxisY:0,translateXAxisX:0,tooltip:null}}},{key:"init",value:function(t){var e=this.globalVars(t);return this.initGlobalVars(e),e.initialConfig=g.extend({},t),e.initialSeries=JSON.parse(JSON.stringify(e.initialConfig.series)),e.lastXAxis=JSON.parse(JSON.stringify(e.initialConfig.xaxis)),e.lastYAxis=JSON.parse(JSON.stringify(e.initialConfig.yaxis)),e}}]),t}(),N=function(){function t(i){e(this,t),this.opts=i}return a(t,[{key:"init",value:function(){var t=new D(this.opts).init({responsiveOverride:!1});return{config:t,globals:(new H).init(t)}}}]),t}(),O=function(){function t(i){e(this,t),this.ctx=i,this.w=i.w,this.twoDSeries=[],this.threeDSeries=[],this.twoDSeriesX=[],this.coreUtils=new m(this.ctx)}return a(t,[{key:"isMultiFormat",value:function(){return this.isFormatXY()||this.isFormat2DArray()}},{key:"isFormatXY",value:function(){var t=this.w.config.series.slice(),e=new M(this.ctx);if(this.activeSeriesIndex=e.getActiveConfigSeriesIndex(),void 0!==t[this.activeSeriesIndex].data&&t[this.activeSeriesIndex].data.length>0&&null!==t[this.activeSeriesIndex].data[0]&&void 0!==t[this.activeSeriesIndex].data[0].x&&null!==t[this.activeSeriesIndex].data[0])return!0}},{key:"isFormat2DArray",value:function(){var t=this.w.config.series.slice(),e=new M(this.ctx);if(this.activeSeriesIndex=e.getActiveConfigSeriesIndex(),void 0!==t[this.activeSeriesIndex].data&&t[this.activeSeriesIndex].data.length>0&&void 0!==t[this.activeSeriesIndex].data[0]&&null!==t[this.activeSeriesIndex].data[0]&&t[this.activeSeriesIndex].data[0].constructor===Array)return!0}},{key:"handleFormat2DArray",value:function(t,e){var i=this.w.config,a=this.w.globals;i.xaxis.sorted&&("datetime"===i.xaxis.type?t[e].data.sort((function(t,e){return new Date(t[0]).getTime()-new Date(e[0]).getTime()})):"numeric"===i.xaxis.type&&t[e].data.sort((function(t,e){return t[0]-e[0]})));for(var s=0;s-1&&(r=this.activeSeriesIndex),i.xaxis.sorted&&("datetime"===i.xaxis.type?t[e].data.sort((function(t,e){return new Date(t.x).getTime()-new Date(e.x).getTime()})):"numeric"===i.xaxis.type&&t[e].data.sort((function(t,e){return t.x-e.x})));for(var n=0;n1&&void 0!==arguments[1]?arguments[1]:this.ctx,a=this.w.config,s=this.w.globals,r=new Y(i),n=a.labels.length>0?a.labels.slice():a.xaxis.categories.slice(),o=function(){for(var t=0;t0&&(this.twoDSeriesX=n,s.seriesX.push(this.twoDSeriesX))),s.labels.push(this.twoDSeriesX);var h=t[l].data.map((function(t){return g.parseNumber(t)}));s.series.push(h)}s.seriesZ.push(this.threeDSeries),void 0!==t[l].name?s.seriesNames.push(t[l].name):s.seriesNames.push("series-"+parseInt(l+1,10))}return this.w}},{key:"parseDataNonAxisCharts",value:function(t){var e=this.w.globals,i=this.w.config;e.series=t.slice(),e.seriesNames=i.labels.slice();for(var a=0;a0)i.labels=e.xaxis.categories;else if(e.labels.length>0)i.labels=e.labels.slice();else if(this.fallbackToCategory){if(i.labels=i.labels[0],i.seriesRangeBarTimeline.length&&(i.seriesRangeBarTimeline.map((function(t){t.forEach((function(t){i.labels.indexOf(t.x)<0&&t.x&&i.labels.push(t.x)}))})),i.labels=i.labels.filter((function(t,e,i){return i.indexOf(t)===e}))),e.xaxis.convertedCatToNumeric)new R(e).convertCatToNumericXaxis(e,this.ctx,i.seriesX[0]),this._generateExternalLabels(t)}else this._generateExternalLabels(t)}},{key:"_generateExternalLabels",value:function(t){var e=this.w.globals,i=this.w.config,a=[];if(e.axisCharts){if(e.series.length>0)for(var s=0;se.length?t:e}),0);t.globals.yAxisScale[0].niceMax=e,t.globals.yAxisScale[0].niceMin=e}}}]),t}(),B=function(){function t(i){e(this,t),this.ctx=i,this.w=i.w}return a(t,[{key:"getLabel",value:function(t,e,i,a){var s=arguments.length>4&&void 0!==arguments[4]?arguments[4]:[],r=arguments.length>5&&void 0!==arguments[5]?arguments[5]:"12px",n=this.w,o=void 0===t[a]?"":t[a],l=o,h=n.globals.xLabelFormatter,c=n.config.xaxis.labels.formatter,d=!1,g=new W(this.ctx),u=o;l=g.xLabelFormat(h,o,u),void 0!==c&&(l=c(o,t[a],a));var f=function(t){var i=null;return e.forEach((function(t){"month"===t.unit?i="year":"day"===t.unit?i="month":"hour"===t.unit?i="day":"minute"===t.unit&&(i="hour")})),i===t};e.length>0?(d=f(e[a].unit),i=e[a].position,l=e[a].value):"datetime"===n.config.xaxis.type&&void 0===c&&(l=""),void 0===l&&(l=""),l=Array.isArray(l)?l:l.toString();var x=new p(this.ctx),b={};return b=n.globals.rotateXLabels?x.getTextRects(l,parseInt(r,10),null,"rotate(".concat(n.config.xaxis.labels.rotate," 0 0)"),!1):x.getTextRects(l,parseInt(r,10)),!Array.isArray(l)&&(0===l.indexOf("NaN")||0===l.toLowerCase().indexOf("invalid")||l.toLowerCase().indexOf("infinity")>=0||s.indexOf(l)>=0&&!n.config.xaxis.labels.showDuplicates)&&(l=""),{x:i,text:l,textRect:b,isBold:d}}},{key:"checkForOverflowingLabels",value:function(t,e,i,a,s){var r=this.w;if(0===t&&r.globals.skipFirstTimelinelabel&&(e.text=""),t===i-1&&r.globals.skipLastTimelinelabel&&(e.text=""),r.config.xaxis.labels.hideOverlappingLabels&&a.length>0){var n=s[s.length-1];e.x0){!0===o.config.yaxis[s].opposite&&(t+=a.width);for(var c=e;c>=0;c--){var d=h+e/10+o.config.yaxis[s].labels.offsetY-1;o.globals.isBarHorizontal&&(d=r*c),"heatmap"===o.config.chart.type&&(d+=r/2);var g=l.drawLine(t+i.offsetX-a.width+a.offsetX,d+a.offsetY,t+i.offsetX+a.offsetX,d+a.offsetY,a.color);n.add(g),h+=r}}}}]),t}(),V=function(){function t(i){e(this,t),this.ctx=i,this.w=i.w}return a(t,[{key:"fixSvgStringForIe11",value:function(t){if(!g.isIE11())return t;var e=0,i=t.replace(/xmlns="http:\/\/www.w3.org\/2000\/svg"/g,(function(t){return 2===++e?'xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svgjs="http://svgjs.com/svgjs"':t}));return i=(i=i.replace(/xmlns:NS\d+=""/g,"")).replace(/NS\d+:(\w+:\w+=")/g,"$1")}},{key:"getSvgString",value:function(){var t=this.w.globals.dom.Paper.svg();return this.fixSvgStringForIe11(t)}},{key:"cleanup",value:function(){var t=this.w,e=t.globals.dom.baseEl.getElementsByClassName("apexcharts-xcrosshairs"),i=t.globals.dom.baseEl.getElementsByClassName("apexcharts-ycrosshairs"),a=t.globals.dom.baseEl.querySelectorAll(".apexcharts-zoom-rect, .apexcharts-selection-rect");Array.prototype.forEach.call(a,(function(t){t.setAttribute("width",0)})),e&&e[0]&&(e[0].setAttribute("x",-500),e[0].setAttribute("x1",-500),e[0].setAttribute("x2",-500)),i&&i[0]&&(i[0].setAttribute("y",-100),i[0].setAttribute("y1",-100),i[0].setAttribute("y2",-100))}},{key:"svgUrl",value:function(){this.cleanup();var t=this.getSvgString(),e=new Blob([t],{type:"image/svg+xml;charset=utf-8"});return URL.createObjectURL(e)}},{key:"dataURI",value:function(){var t=this;return new Promise((function(e){var i=t.w;t.cleanup();var a=document.createElement("canvas");a.width=i.globals.svgWidth,a.height=parseInt(i.globals.dom.elWrap.style.height,10);var s="transparent"===i.config.chart.background?"#fff":i.config.chart.background,r=a.getContext("2d");r.fillStyle=s,r.fillRect(0,0,a.width,a.height);var n=t.getSvgString();if(window.canvg&&g.isIE11()){var o=window.canvg.Canvg.fromString(r,n,{ignoreClear:!0,ignoreDimensions:!0});o.start();var l=a.msToBlob();o.stop(),e({blob:l})}else{var h="data:image/svg+xml,"+encodeURIComponent(n),c=new Image;c.crossOrigin="anonymous",c.onload=function(){if(r.drawImage(c,0,0),a.msToBlob){var t=a.msToBlob();e({blob:t})}else{var i=a.toDataURL("image/png");e({imgURI:i})}},c.src=h}}))}},{key:"exportToSVG",value:function(){this.triggerDownload(this.svgUrl(),".svg")}},{key:"exportToPng",value:function(){var t=this;this.dataURI().then((function(e){var i=e.imgURI,a=e.blob;a?navigator.msSaveOrOpenBlob(a,t.w.globals.chartID+".png"):t.triggerDownload(i,".png")}))}},{key:"exportToCSV",value:function(t){var e=this,i=t.series,a=t.columnDelimiter,s=void 0===a?",":a,r=t.lineDelimiter,n=void 0===r?"\n":r,o=this.w,l=[],h=[],c="data:text/csv;charset=utf-8,",d=new O(this.ctx),g=new B(this.ctx),u=function(t){var i="";if(o.globals.axisCharts){if("category"===o.config.xaxis.type||o.config.xaxis.convertedCatToNumeric)if(o.globals.isBarHorizontal){var a=o.globals.yLabelFormatters[0],s=new M(e.ctx).getActiveConfigSeriesIndex();i=a(o.globals.labels[t],{seriesIndex:s,dataPointIndex:t,w:o})}else i=g.getLabel(o.globals.labels,o.globals.timescaleLabels,0,t).text;"datetime"===o.config.xaxis.type&&(o.config.xaxis.categories.length?i=o.config.xaxis.categories[t]:o.config.labels.length&&(i=o.config.labels[t]))}else i=o.config.labels[t];return i};l.push("category"),i.map((function(t,e){o.globals.axisCharts&&l.push(t.name?t.name:"series-".concat(e))})),o.globals.axisCharts||(l.push("value"),h.push(l.join(s))),i.map((function(t,e){o.globals.axisCharts?function(t,e){if(l.length&&0===e&&h.push(l.join(s)),t.data&&t.data.length)for(var a=0;a0&&!a.globals.isBarHorizontal&&(this.xaxisLabels=a.globals.timescaleLabels.slice()),this.drawnLabels=[],this.drawnLabelsRects=[],"top"===a.config.xaxis.position?this.offY=0:this.offY=a.globals.gridHeight+1,this.offY=this.offY+a.config.xaxis.axisBorder.offsetY,this.isCategoryBarHorizontal="bar"===a.config.chart.type&&a.config.plotOptions.bar.horizontal,this.xaxisFontSize=a.config.xaxis.labels.style.fontSize,this.xaxisFontFamily=a.config.xaxis.labels.style.fontFamily,this.xaxisForeColors=a.config.xaxis.labels.style.colors,this.xaxisBorderWidth=a.config.xaxis.axisBorder.width,this.isCategoryBarHorizontal&&(this.xaxisBorderWidth=a.config.yaxis[0].axisBorder.width.toString()),this.xaxisBorderWidth.indexOf("%")>-1?this.xaxisBorderWidth=a.globals.gridWidth*parseInt(this.xaxisBorderWidth,10)/100:this.xaxisBorderWidth=parseInt(this.xaxisBorderWidth,10),this.xaxisBorderHeight=a.config.xaxis.axisBorder.height,this.yaxis=a.config.yaxis[0]}return a(t,[{key:"drawXaxis",value:function(){var t,e=this,i=this.w,a=new p(this.ctx),s=a.group({class:"apexcharts-xaxis",transform:"translate(".concat(i.config.xaxis.offsetX,", ").concat(i.config.xaxis.offsetY,")")}),r=a.group({class:"apexcharts-xaxis-texts-g",transform:"translate(".concat(i.globals.translateXAxisX,", ").concat(i.globals.translateXAxisY,")")});s.add(r);for(var n=i.globals.padHorizontal,o=[],l=0;l1?h-1:h;t=i.globals.gridWidth/c,n=n+t/2+i.config.xaxis.labels.offsetX}else t=i.globals.gridWidth/o.length,n=n+t+i.config.xaxis.labels.offsetX;if(i.config.xaxis.labels.show)for(var d=function(s){var l=n-t/2+i.config.xaxis.labels.offsetX;0===s&&1===h&&t/2===n&&1===i.globals.dataPoints&&(l=i.globals.gridWidth/2);var c=e.axesUtils.getLabel(o,i.globals.timescaleLabels,l,s,e.drawnLabels,e.xaxisFontSize),d=28;i.globals.rotateXLabels&&(d=22);(c=e.axesUtils.checkForOverflowingLabels(s,c,h,e.drawnLabels,e.drawnLabelsRects)).text&&i.globals.xaxisLabelsCount++;var g=a.drawText({x:c.x,y:e.offY+i.config.xaxis.labels.offsetY+d-("top"===i.config.xaxis.position?i.globals.xAxisHeight+i.config.xaxis.axisTicks.height-2:0),text:c.text,textAnchor:"middle",fontWeight:c.isBold?600:i.config.xaxis.labels.style.fontWeight,fontSize:e.xaxisFontSize,fontFamily:e.xaxisFontFamily,foreColor:Array.isArray(e.xaxisForeColors)?i.config.xaxis.convertedCatToNumeric?e.xaxisForeColors[i.globals.minX+s-1]:e.xaxisForeColors[s]:e.xaxisForeColors,isPlainText:!1,cssClass:"apexcharts-xaxis-label "+i.config.xaxis.labels.style.cssClass});r.add(g);var u=document.createElementNS(i.globals.SVGNS,"title");u.textContent=c.text,g.node.appendChild(u),""!==c.text&&(e.drawnLabels.push(c.text),e.drawnLabelsRects.push(c)),n+=t},g=0;g<=h-1;g++)d(g);if(void 0!==i.config.xaxis.title.text){var u=a.group({class:"apexcharts-xaxis-title"}),f=a.drawText({x:i.globals.gridWidth/2+i.config.xaxis.title.offsetX,y:this.offY-parseFloat(this.xaxisFontSize)+i.globals.xAxisLabelsHeight+i.config.xaxis.title.offsetY,text:i.config.xaxis.title.text,textAnchor:"middle",fontSize:i.config.xaxis.title.style.fontSize,fontFamily:i.config.xaxis.title.style.fontFamily,fontWeight:i.config.xaxis.title.style.fontWeight,foreColor:i.config.xaxis.title.style.color,cssClass:"apexcharts-xaxis-title-text "+i.config.xaxis.title.style.cssClass});u.add(f),s.add(u)}if(i.config.xaxis.axisBorder.show){var x=0;"bar"===i.config.chart.type&&i.globals.isXNumeric&&(x-=15);var b=a.drawLine(i.globals.padHorizontal+x+i.config.xaxis.axisBorder.offsetX,this.offY,this.xaxisBorderWidth,this.offY,i.config.xaxis.axisBorder.color,0,this.xaxisBorderHeight);s.add(b)}return s}},{key:"drawXaxisInversed",value:function(t){var e,i,a=this.w,s=new p(this.ctx),r=a.config.yaxis[0].opposite?a.globals.translateYAxisX[t]:0,n=s.group({class:"apexcharts-yaxis apexcharts-xaxis-inversed",rel:t}),o=s.group({class:"apexcharts-yaxis-texts-g apexcharts-xaxis-inversed-texts-g",transform:"translate("+r+", 0)"});n.add(o);var l=[];if(a.config.yaxis[t].show)for(var h=0;hi.globals.gridWidth)){var s=this.offY+i.config.xaxis.axisTicks.offsetY,r=s+i.config.xaxis.axisTicks.height;if("top"===i.config.xaxis.position&&(r=s-i.config.xaxis.axisTicks.height),i.config.xaxis.axisTicks.show){var n=new p(this.ctx).drawLine(t+i.config.xaxis.axisTicks.offsetX,s+i.config.xaxis.offsetY,a+i.config.xaxis.axisTicks.offsetX,r+i.config.xaxis.offsetY,i.config.xaxis.axisTicks.color);e.add(n),n.node.classList.add("apexcharts-xaxis-tick")}}}},{key:"getXAxisTicksPositions",value:function(){var t=this.w,e=[],i=this.xaxisLabels.length,a=t.globals.padHorizontal;if(t.globals.timescaleLabels.length>0)for(var s=0;s0){var h=s[s.length-1].getBBox(),c=s[0].getBBox();h.x<-20&&s[s.length-1].parentNode.removeChild(s[s.length-1]),c.x+c.width>t.globals.gridWidth&&!t.globals.isBarHorizontal&&s[0].parentNode.removeChild(s[0]);for(var d=0;d0&&(this.xaxisLabels=a.globals.timescaleLabels.slice())}return a(t,[{key:"drawGridArea",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null,e=this.w,i=new p(this.ctx);null===t&&(t=i.group({class:"apexcharts-grid"}));var a=i.drawLine(e.globals.padHorizontal,1,e.globals.padHorizontal,e.globals.gridHeight,"transparent"),s=i.drawLine(e.globals.padHorizontal,e.globals.gridHeight,e.globals.gridWidth,e.globals.gridHeight,"transparent");return t.add(s),t.add(a),t}},{key:"drawGrid",value:function(){var t=null;return this.w.globals.axisCharts&&(t=this.renderGrid(),this.drawGridArea(t.el)),t}},{key:"createGridMask",value:function(){var t=this.w,e=t.globals,i=new p(this.ctx),a=Array.isArray(t.config.stroke.width)?0:t.config.stroke.width;if(Array.isArray(t.config.stroke.width)){var s=0;t.config.stroke.width.forEach((function(t){s=Math.max(s,t)})),a=s}e.dom.elGridRectMask=document.createElementNS(e.SVGNS,"clipPath"),e.dom.elGridRectMask.setAttribute("id","gridRectMask".concat(e.cuid)),e.dom.elGridRectMarkerMask=document.createElementNS(e.SVGNS,"clipPath"),e.dom.elGridRectMarkerMask.setAttribute("id","gridRectMarkerMask".concat(e.cuid));var r=t.config.chart.type,n=0,o=0;("bar"===r||"rangeBar"===r||t.globals.comboBarCount>0)&&t.globals.isXNumeric&&!t.globals.isBarHorizontal&&(n=t.config.grid.padding.left,o=t.config.grid.padding.right,e.barPadForNumericAxis>n&&(n=e.barPadForNumericAxis,o=e.barPadForNumericAxis)),e.dom.elGridRect=i.drawRect(-a/2-n-2,-a/2,e.gridWidth+a+o+n+4,e.gridHeight+a,0,"#fff"),new m(this).getLargestMarkerSize();var l=t.globals.markers.largestSize+1;e.dom.elGridRectMarker=i.drawRect(2*-l,2*-l,e.gridWidth+4*l,e.gridHeight+4*l,0,"#fff"),e.dom.elGridRectMask.appendChild(e.dom.elGridRect.node),e.dom.elGridRectMarkerMask.appendChild(e.dom.elGridRectMarker.node);var h=e.dom.baseEl.querySelector("defs");h.appendChild(e.dom.elGridRectMask),h.appendChild(e.dom.elGridRectMarkerMask)}},{key:"_drawGridLines",value:function(t){var e=t.i,i=t.x1,a=t.y1,s=t.x2,r=t.y2,n=t.xCount,o=t.parent,l=this.w;0===e&&l.globals.skipFirstTimelinelabel||e===n-1&&l.globals.skipLastTimelinelabel||"radar"===l.config.chart.type||(l.config.grid.xaxis.lines.show&&this._drawGridLine({x1:i,y1:a,x2:s,y2:r,parent:o}),new G(this.ctx).drawXaxisTicks(i,this.elg))}},{key:"_drawGridLine",value:function(t){var e=t.x1,i=t.y1,a=t.x2,s=t.y2,r=t.parent,n=this.w,o=n.config.grid.strokeDashArray,l=new p(this).drawLine(e,i,a,s,n.config.grid.borderColor,o);l.node.classList.add("apexcharts-gridline"),r.add(l)}},{key:"_drawGridBandRect",value:function(t){var e=t.c,i=t.x1,a=t.y1,s=t.x2,r=t.y2,n=t.type,o=this.w,l=new p(this.ctx);if("column"!==n||"datetime"!==o.config.xaxis.type){var h=o.config.grid[n].colors[e],c=l.drawRect(i,a,s,r,0,h,o.config.grid[n].opacity);this.elg.add(c),c.attr("clip-path","url(#gridRectMask".concat(o.globals.cuid,")")),c.node.classList.add("apexcharts-grid-".concat(n))}}},{key:"_drawXYLines",value:function(t){var e=this,i=t.xCount,a=t.tickAmount,s=this.w;if(s.config.grid.xaxis.lines.show||s.config.xaxis.axisTicks.show){var r=s.globals.padHorizontal,n=s.globals.gridHeight;s.globals.timescaleLabels.length?function(t){for(var a=t.xC,s=t.x1,r=t.y1,n=t.x2,o=t.y2,l=0;l2));s++);return!t.globals.isBarHorizontal||this.isTimelineBar?(i=this.xaxisLabels.length,this.isTimelineBar&&(a=t.globals.labels.length),this._drawXYLines({xCount:i,tickAmount:a})):(i=a,a=t.globals.xTickAmount,this._drawInvertedXYLines({xCount:i,tickAmount:a})),this.drawGridBands(i,a),{el:this.elg,xAxisTickWidth:t.globals.gridWidth/i}}},{key:"drawGridBands",value:function(t,e){var i=this.w;if(void 0!==i.config.grid.row.colors&&i.config.grid.row.colors.length>0)for(var a=0,s=i.globals.gridHeight/e,r=i.globals.gridWidth,n=0,o=0;n=i.config.grid.row.colors.length&&(o=0),this._drawGridBandRect({c:o,x1:0,y1:a,x2:r,y2:s,type:"row"}),a+=i.globals.gridHeight/e;if(void 0!==i.config.grid.column.colors&&i.config.grid.column.colors.length>0)for(var l=i.globals.isBarHorizontal||"category"!==i.config.xaxis.type&&!i.config.xaxis.convertedCatToNumeric?t:t-1,h=i.globals.padHorizontal,c=i.globals.padHorizontal+i.globals.gridWidth/l,d=i.globals.gridHeight,g=0,u=0;g=i.config.grid.column.colors.length&&(u=0),this._drawGridBandRect({c:u,x1:h,y1:0,x2:c,y2:d,type:"column"}),h+=i.globals.gridWidth/l}}]),t}(),j=function(){function t(i){e(this,t),this.ctx=i,this.w=i.w}return a(t,[{key:"niceScale",value:function(t,e){var i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:10,a=arguments.length>3&&void 0!==arguments[3]?arguments[3]:0,s=arguments.length>4?arguments[4]:void 0,r=this.w;if("dataPoints"===i&&(i=r.globals.dataPoints-1),t===Number.MIN_VALUE&&0===e||!g.isNumber(t)&&!g.isNumber(e)||t===Number.MIN_VALUE&&e===-Number.MAX_VALUE){t=0,e=i;var n=this.linearScale(t,e,i);return n}t>e?(console.warn("axis.min cannot be greater than axis.max"),e=t+.1):t===e&&(t=0===t?0:t-.5,e=0===e?2:e+.5);var o=[],l=Math.abs(e-t);l<1&&s&&("candlestick"===r.config.chart.type||"candlestick"===r.config.series[a].type||r.globals.isRangeData)&&(e*=1.01);var h=i+1;h<2?h=2:h>2&&(h-=2);var c=l/h,d=Math.floor(g.log10(c)),u=Math.pow(10,d),f=Math.round(c/u);f<1&&(f=1);var p=f*u,x=p*Math.floor(t/p),b=p*Math.ceil(e/p),m=x;if(s&&l>2){for(;o.push(m),!((m+=p)>b););return{result:o,niceMin:o[0],niceMax:o[o.length-1]}}var v=t;(o=[]).push(v);for(var y=Math.abs(e-t)/i,w=0;w<=i;w++)v+=y,o.push(v);return o[o.length-2]>=e&&o.pop(),{result:o,niceMin:o[0],niceMax:o[o.length-1]}}},{key:"linearScale",value:function(t,e){var i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:10,a=Math.abs(e-t),s=a/i;i===Number.MAX_VALUE&&(i=10,s=1);for(var r=[],n=t;i>=0;)r.push(n),n+=s,i-=1;return{result:r,niceMin:r[0],niceMax:r[r.length-1]}}},{key:"logarithmicScale",value:function(t,e,i,a){(e<0||e===Number.MIN_VALUE)&&(e=.01);for(var s=Math.log(e)/Math.log(10),r=Math.log(i)/Math.log(10),n=Math.abs(i-e)/a,o=[],l=e;a>=0;)o.push(l),l+=n,a-=1;var h=o.map((function(t,a){t<=0&&(t=.01);var n=(r-s)/(i-e),o=Math.pow(10,s+n*(t-s));return Math.round(o/g.roundToBase(o,10))*g.roundToBase(o,10)}));return 0===h[0]&&(h[0]=1),{result:h,niceMin:h[0],niceMax:h[h.length-1]}}},{key:"setYScaleForIndex",value:function(t,e,i){var a=this.w.globals,s=this.w.config,r=a.isBarHorizontal?s.xaxis:s.yaxis[t];void 0===a.yAxisScale[t]&&(a.yAxisScale[t]=[]);var n=Math.abs(i-e);if(r.logarithmic&&n<=5&&(a.invalidLogScale=!0),r.logarithmic&&n>5)a.allSeriesCollapsed=!1,a.yAxisScale[t]=this.logarithmicScale(t,e,i,r.tickAmount?r.tickAmount:Math.floor(Math.log10(i)));else if(i!==-Number.MAX_VALUE&&g.isNumber(i))if(a.allSeriesCollapsed=!1,void 0===r.min&&void 0===r.max||r.forceNiceScale){var o=void 0===s.yaxis[t].max&&void 0===s.yaxis[t].min||s.yaxis[t].forceNiceScale;a.yAxisScale[t]=this.niceScale(e,i,r.tickAmount?r.tickAmount:n<5&&n>1?n+1:5,t,o)}else a.yAxisScale[t]=this.linearScale(e,i,r.tickAmount);else a.yAxisScale[t]=this.linearScale(0,5,5)}},{key:"setXScale",value:function(t,e){var i=this.w,a=i.globals,s=i.config.xaxis,r=Math.abs(e-t);return e!==-Number.MAX_VALUE&&g.isNumber(e)?a.xAxisScale=this.niceScale(t,e,s.tickAmount?s.tickAmount:r<5&&r>1?r+1:5,0):a.xAxisScale=this.linearScale(0,5,5),a.xAxisScale}},{key:"setMultipleYScales",value:function(){var t=this,e=this.w.globals,i=this.w.config,a=e.minYArr.concat([]),s=e.maxYArr.concat([]),r=[];i.yaxis.forEach((function(e,n){var o=n;i.series.forEach((function(t,i){t.name===e.seriesName&&(o=i,n!==i?r.push({index:i,similarIndex:n,alreadyExists:!0}):r.push({index:i}))}));var l=a[o],h=s[o];t.setYScaleForIndex(n,l,h)})),this.sameScaleInMultipleAxes(a,s,r)}},{key:"sameScaleInMultipleAxes",value:function(t,e,i){var a=this,s=this.w.config,r=this.w.globals,n=[];i.forEach((function(t){t.alreadyExists&&(void 0===n[t.index]&&(n[t.index]=[]),n[t.index].push(t.index),n[t.index].push(t.similarIndex))})),r.yAxisSameScaleIndices=n,n.forEach((function(t,e){n.forEach((function(i,a){var s,r;e!==a&&(s=t,r=i,s.filter((function(t){return-1!==r.indexOf(t)}))).length>0&&(n[e]=n[e].concat(n[a]))}))}));var o=n.map((function(t){return t.filter((function(e,i){return t.indexOf(e)===i}))})).map((function(t){return t.sort()}));n=n.filter((function(t){return!!t}));var l=o.slice(),h=l.map((function(t){return JSON.stringify(t)}));l=l.filter((function(t,e){return h.indexOf(JSON.stringify(t))===e}));var c=[],d=[];t.forEach((function(t,i){l.forEach((function(a,s){a.indexOf(i)>-1&&(void 0===c[s]&&(c[s]=[],d[s]=[]),c[s].push({key:i,value:t}),d[s].push({key:i,value:e[i]}))}))}));var g=Array.apply(null,Array(l.length)).map(Number.prototype.valueOf,Number.MIN_VALUE),u=Array.apply(null,Array(l.length)).map(Number.prototype.valueOf,-Number.MAX_VALUE);c.forEach((function(t,e){t.forEach((function(t,i){g[e]=Math.min(t.value,g[e])}))})),d.forEach((function(t,e){t.forEach((function(t,i){u[e]=Math.max(t.value,u[e])}))})),t.forEach((function(t,e){d.forEach((function(t,i){var n=g[i],o=u[i];s.chart.stacked&&(o=0,t.forEach((function(t,e){t.value!==-Number.MAX_VALUE&&(o+=t.value),n!==Number.MIN_VALUE&&(n+=c[i][e].value)}))),t.forEach((function(i,l){t[l].key===e&&(void 0!==s.yaxis[e].min&&(n="function"==typeof s.yaxis[e].min?s.yaxis[e].min(r.minY):s.yaxis[e].min),void 0!==s.yaxis[e].max&&(o="function"==typeof s.yaxis[e].max?s.yaxis[e].max(r.maxY):s.yaxis[e].max),a.setYScaleForIndex(e,n,o))}))}))}))}},{key:"autoScaleY",value:function(t,e,i){t||(t=this);var a=t.w;if(a.globals.isMultipleYAxis||a.globals.collapsedSeries.length)return console.warn("autoScaleYaxis is not supported in a multi-yaxis chart."),e;var s=a.globals.seriesX[0],r=a.config.chart.stacked;return e.forEach((function(t,n){for(var o=0,l=0;l=i.xaxis.min){o=l;break}var h,c,d=a.globals.minYArr[n],g=a.globals.maxYArr[n],u=a.globals.stackedSeriesTotals;a.globals.series.forEach((function(n,l){var f=n[o];r?(f=u[o],h=c=f,u.forEach((function(t,e){s[e]<=i.xaxis.max&&s[e]>=i.xaxis.min&&(t>c&&null!==t&&(c=t),n[e]=i.xaxis.min){var r=t,n=t;a.globals.series.forEach((function(i,a){null!==t&&(r=Math.min(i[e],r),n=Math.max(i[e],n))})),n>c&&null!==n&&(c=n),rd&&(h=d),e.length>1?(e[l].min=void 0===t.min?h:t.min,e[l].max=void 0===t.max?c:t.max):(e[0].min=void 0===t.min?h:t.min,e[0].max=void 0===t.max?c:t.max)}))})),e}}]),t}(),U=function(){function t(i){e(this,t),this.ctx=i,this.w=i.w,this.scales=new j(i)}return a(t,[{key:"init",value:function(){this.setYRange(),this.setXRange(),this.setZRange()}},{key:"getMinYMaxY",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:Number.MAX_VALUE,i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:-Number.MAX_VALUE,a=arguments.length>3&&void 0!==arguments[3]?arguments[3]:null,s=this.w.config,r=this.w.globals,n=-Number.MAX_VALUE,o=Number.MIN_VALUE;null===a&&(a=t+1);var l=r.series,h=l,c=l;"candlestick"===s.chart.type?(h=r.seriesCandleL,c=r.seriesCandleH):r.isRangeData&&(h=r.seriesRangeStart,c=r.seriesRangeEnd);for(var d=t;dh[d][u]&&h[d][u]<0&&(o=h[d][u])):r.hasNullValues=!0}}return"rangeBar"===s.chart.type&&r.seriesRangeStart.length&&r.isBarHorizontal&&"datetime"===s.xaxis.type&&(o=e),"bar"===s.chart.type&&(o<0&&n<0&&(n=0),o===Number.MIN_VALUE&&(o=0)),{minY:o,maxY:n,lowestY:e,highestY:i}}},{key:"setYRange",value:function(){var t=this.w.globals,e=this.w.config;t.maxY=-Number.MAX_VALUE,t.minY=Number.MIN_VALUE;var i=Number.MAX_VALUE;if(t.isMultipleYAxis)for(var a=0;a=0&&i<=10&&(n=0),t.minY=i-5*n/100,i>0&&t.minY<0&&(t.minY=0),t.maxY=t.maxY+5*n/100}if(e.yaxis.forEach((function(e,i){void 0!==e.max&&("number"==typeof e.max?t.maxYArr[i]=e.max:"function"==typeof e.max&&(t.maxYArr[i]=e.max(t.maxY)),t.maxY=t.maxYArr[i]),void 0!==e.min&&("number"==typeof e.min?t.minYArr[i]=e.min:"function"==typeof e.min&&(t.minYArr[i]=e.min(t.minY)),t.minY=t.minYArr[i])})),t.isBarHorizontal){["min","max"].forEach((function(i){void 0!==e.xaxis[i]&&"number"==typeof e.xaxis[i]&&("min"===i?t.minY=e.xaxis[i]:t.maxY=e.xaxis[i])}))}return t.isMultipleYAxis?(this.scales.setMultipleYScales(),t.minY=i,t.yAxisScale.forEach((function(e,i){t.minYArr[i]=e.niceMin,t.maxYArr[i]=e.niceMax}))):(this.scales.setYScaleForIndex(0,t.minY,t.maxY),t.minY=t.yAxisScale[0].niceMin,t.maxY=t.yAxisScale[0].niceMax,t.minYArr[0]=t.yAxisScale[0].niceMin,t.maxYArr[0]=t.yAxisScale[0].niceMax),{minY:t.minY,maxY:t.maxY,minYArr:t.minYArr,maxYArr:t.maxYArr}}},{key:"setXRange",value:function(){var t=this.w.globals,e=this.w.config,i="numeric"===e.xaxis.type||"datetime"===e.xaxis.type||"category"===e.xaxis.type&&!t.noLabelsProvided||t.noLabelsProvided||t.isXNumeric;if(t.isXNumeric&&function(){for(var e=0;et.dataPoints&&0!==t.dataPoints&&(a=t.dataPoints-1)):"dataPoints"===e.xaxis.tickAmount?(t.series.length>1&&(a=t.series[t.maxValsInArrayIndex].length-1),t.isXNumeric&&(a=t.maxX-t.minX-1)):a=e.xaxis.tickAmount,t.xTickAmount=a,void 0!==e.xaxis.max&&"number"==typeof e.xaxis.max&&(t.maxX=e.xaxis.max),void 0!==e.xaxis.min&&"number"==typeof e.xaxis.min&&(t.minX=e.xaxis.min),void 0!==e.xaxis.range&&(t.minX=t.maxX-e.xaxis.range),t.minX!==Number.MAX_VALUE&&t.maxX!==-Number.MAX_VALUE)if(e.xaxis.convertedCatToNumeric&&!t.dataFormatXNumeric){for(var s=[],r=t.minX-1;r0&&(t.xAxisScale=this.scales.linearScale(1,t.labels.length,a-1),t.seriesX=t.labels.slice());i&&(t.labels=t.xAxisScale.result.slice())}return t.isBarHorizontal&&t.labels.length&&(t.xTickAmount=t.labels.length),this._handleSingleDataPoint(),this._getMinXDiff(),{minX:t.minX,maxX:t.maxX}}},{key:"setZRange",value:function(){var t=this.w.globals;if(t.isDataXYZ)for(var e=0;e0){var s=e-t.seriesX[i][a-1];s>0&&(t.minXDiff=Math.min(s,t.minXDiff))}})),1===t.dataPoints&&t.minXDiff===Number.MAX_VALUE&&(t.minXDiff=.5)}))}},{key:"_setStackedMinMax",value:function(){var t=this.w.globals,e=[],i=[];if(t.series.length)for(var a=0;a0?s=s+parseFloat(t.series[n][a])+1e-4:r+=parseFloat(t.series[n][a])),n===t.series.length-1&&(e.push(s),i.push(r));for(var o=0;o=0;b--)x(b);if(void 0!==e.config.yaxis[t].title.text){var m=i.group({class:"apexcharts-yaxis-title"}),v=0;e.config.yaxis[t].opposite&&(v=e.globals.translateYAxisX[t]);var y=i.drawText({x:v,y:e.globals.gridHeight/2+e.globals.translateY+e.config.yaxis[t].title.offsetY,text:e.config.yaxis[t].title.text,textAnchor:"end",foreColor:e.config.yaxis[t].title.style.color,fontSize:e.config.yaxis[t].title.style.fontSize,fontWeight:e.config.yaxis[t].title.style.fontWeight,fontFamily:e.config.yaxis[t].title.style.fontFamily,cssClass:"apexcharts-yaxis-title-text "+e.config.yaxis[t].title.style.cssClass});m.add(y),o.add(m)}var w=e.config.yaxis[t].axisBorder,k=31+w.offsetX;if(e.config.yaxis[t].opposite&&(k=-31-w.offsetX),w.show){var A=i.drawLine(k,e.globals.translateY+w.offsetY-2,k,e.globals.gridHeight+e.globals.translateY+w.offsetY+2,w.color,0,w.width);o.add(A)}return e.config.yaxis[t].axisTicks.show&&this.axesUtils.drawYAxisTicks(k,h,w,e.config.yaxis[t].axisTicks,t,c,o),o}},{key:"drawYaxisInversed",value:function(t){var e=this.w,i=new p(this.ctx),a=i.group({class:"apexcharts-xaxis apexcharts-yaxis-inversed"}),s=i.group({class:"apexcharts-xaxis-texts-g",transform:"translate(".concat(e.globals.translateXAxisX,", ").concat(e.globals.translateXAxisY,")")});a.add(s);var r=e.globals.yAxisScale[t].result.length-1,n=e.globals.gridWidth/r+.1,o=n+e.config.xaxis.labels.offsetX,l=e.globals.xLabelFormatter,h=e.globals.yAxisScale[t].result.slice(),c=e.globals.timescaleLabels;c.length>0&&(this.xaxisLabels=c.slice(),r=(h=c.slice()).length),h=this.axesUtils.checkForReversedLabels(t,h);var d=c.length;if(e.config.xaxis.labels.show)for(var g=d?0:r;d?g=0;d?g++:g--){var u=h[g];u=l(u,g);var f=e.globals.gridWidth+e.globals.padHorizontal-(o-n+e.config.xaxis.labels.offsetX);if(c.length){var x=this.axesUtils.getLabel(h,c,f,g,this.drawnLabels,this.xaxisFontSize);f=x.x,u=x.text,this.drawnLabels.push(x.text),0===g&&e.globals.skipFirstTimelinelabel&&(u=""),g===h.length-1&&e.globals.skipLastTimelinelabel&&(u="")}var b=i.drawText({x:f,y:this.xAxisoffX+e.config.xaxis.labels.offsetY+30-("top"===e.config.xaxis.position?e.globals.xAxisHeight+e.config.xaxis.axisTicks.height-2:0),text:u,textAnchor:"middle",foreColor:Array.isArray(this.xaxisForeColors)?this.xaxisForeColors[t]:this.xaxisForeColors,fontSize:this.xaxisFontSize,fontFamily:this.xaxisFontFamily,fontWeight:e.config.xaxis.labels.style.fontWeight,isPlainText:!1,cssClass:"apexcharts-xaxis-label "+e.config.xaxis.labels.style.cssClass});s.add(b),b.tspan(u);var m=document.createElementNS(e.globals.SVGNS,"title");m.textContent=u,b.node.appendChild(m),o+=n}return this.inversedYAxisTitleText(a),this.inversedYAxisBorder(a),a}},{key:"inversedYAxisBorder",value:function(t){var e=this.w,i=new p(this.ctx),a=e.config.xaxis.axisBorder;if(a.show){var s=0;"bar"===e.config.chart.type&&e.globals.isXNumeric&&(s-=15);var r=i.drawLine(e.globals.padHorizontal+s+a.offsetX,this.xAxisoffX,e.globals.gridWidth,this.xAxisoffX,a.color,0,a.height);t.add(r)}}},{key:"inversedYAxisTitleText",value:function(t){var e=this.w,i=new p(this.ctx);if(void 0!==e.config.xaxis.title.text){var a=i.group({class:"apexcharts-xaxis-title apexcharts-yaxis-title-inversed"}),s=i.drawText({x:e.globals.gridWidth/2+e.config.xaxis.title.offsetX,y:this.xAxisoffX+parseFloat(this.xaxisFontSize)+parseFloat(e.config.xaxis.title.style.fontSize)+e.config.xaxis.title.offsetY+20,text:e.config.xaxis.title.text,textAnchor:"middle",fontSize:e.config.xaxis.title.style.fontSize,fontFamily:e.config.xaxis.title.style.fontFamily,fontWeight:e.config.xaxis.title.style.fontWeight,cssClass:"apexcharts-xaxis-title-text "+e.config.xaxis.title.style.cssClass});a.add(s),t.add(a)}}},{key:"yAxisTitleRotate",value:function(t,e){var i=this.w,a=new p(this.ctx),s={width:0,height:0},r={width:0,height:0},n=i.globals.dom.baseEl.querySelector(" .apexcharts-yaxis[rel='".concat(t,"'] .apexcharts-yaxis-texts-g"));null!==n&&(s=n.getBoundingClientRect());var o=i.globals.dom.baseEl.querySelector(".apexcharts-yaxis[rel='".concat(t,"'] .apexcharts-yaxis-title text"));if(null!==o&&(r=o.getBoundingClientRect()),null!==o){var l=this.xPaddingForYAxisTitle(t,s,r,e);o.setAttribute("x",l.xPos-(e?10:0))}if(null!==o){var h=a.rotateAroundCenter(o);o.setAttribute("transform","rotate(".concat(e?"":"-").concat(i.config.yaxis[t].title.rotate," ").concat(h.x," ").concat(h.y,")"))}}},{key:"xPaddingForYAxisTitle",value:function(t,e,i,a){var s=this.w,r=0,n=0,o=10;return void 0===s.config.yaxis[t].title.text||t<0?{xPos:n,padd:0}:(a?(n=e.width+s.config.yaxis[t].title.offsetX+i.width/2+o/2,0===(r+=1)&&(n-=o/2)):(n=-1*e.width+s.config.yaxis[t].title.offsetX+o/2+i.width/2,s.globals.isBarHorizontal&&(o=25,n=-1*e.width-s.config.yaxis[t].title.offsetX-o)),{xPos:n,padd:o})}},{key:"setYAxisXPosition",value:function(t,e){var i=this.w,a=0,s=0,r=18,n=1;i.config.yaxis.length>1&&(this.multipleYs=!0),i.config.yaxis.map((function(o,l){var h=i.globals.ignoreYAxisIndexes.indexOf(l)>-1||!o.show||o.floating||0===t[l].width,c=t[l].width+e[l].width;o.opposite?i.globals.isBarHorizontal?(s=i.globals.gridWidth+i.globals.translateX-1,i.globals.translateYAxisX[l]=s-o.labels.offsetX):(s=i.globals.gridWidth+i.globals.translateX+n,h||(n=n+c+20),i.globals.translateYAxisX[l]=s-o.labels.offsetX+20):(a=i.globals.translateX-r,h||(r=r+c+20),i.globals.translateYAxisX[l]=a+o.labels.offsetX)}))}},{key:"setYAxisTextAlignments",value:function(){var t=this.w,e=t.globals.dom.baseEl.getElementsByClassName("apexcharts-yaxis");(e=g.listToArray(e)).forEach((function(e,i){var a=t.config.yaxis[i];if(void 0!==a.labels.align){var s=t.globals.dom.baseEl.querySelector(".apexcharts-yaxis[rel='".concat(i,"'] .apexcharts-yaxis-texts-g")),r=t.globals.dom.baseEl.querySelectorAll(".apexcharts-yaxis[rel='".concat(i,"'] .apexcharts-yaxis-label"));r=g.listToArray(r);var n=s.getBoundingClientRect();"left"===a.labels.align?(r.forEach((function(t,e){t.setAttribute("text-anchor","start")})),a.opposite||s.setAttribute("transform","translate(-".concat(n.width,", 0)"))):"center"===a.labels.align?(r.forEach((function(t,e){t.setAttribute("text-anchor","middle")})),s.setAttribute("transform","translate(".concat(n.width/2*(a.opposite?1:-1),", 0)"))):"right"===a.labels.align&&(r.forEach((function(t,e){t.setAttribute("text-anchor","end")})),a.opposite&&s.setAttribute("transform","translate(".concat(n.width,", 0)")))}}))}}]),t}(),Z=function(){function t(i){e(this,t),this.ctx=i,this.w=i.w,this.documentEvent=g.bind(this.documentEvent,this)}return a(t,[{key:"addEventListener",value:function(t,e){var i=this.w;i.globals.events.hasOwnProperty(t)?i.globals.events[t].push(e):i.globals.events[t]=[e]}},{key:"removeEventListener",value:function(t,e){var i=this.w;if(i.globals.events.hasOwnProperty(t)){var a=i.globals.events[t].indexOf(e);-1!==a&&i.globals.events[t].splice(a,1)}}},{key:"fireEvent",value:function(t,e){var i=this.w;if(i.globals.events.hasOwnProperty(t)){e&&e.length||(e=[]);for(var a=i.globals.events[t],s=a.length,r=0;r0&&(e=this.w.config.chart.locales.concat(window.Apex.chart.locales));var i=e.filter((function(e){return e.name===t}))[0];if(!i)throw new Error("Wrong locale name provided. Please make sure you set the correct locale name in options");var a=g.extend(A,i);this.w.globals.locale=a.options}}]),t}(),J=function(){function t(i){e(this,t),this.ctx=i,this.w=i.w}return a(t,[{key:"drawAxis",value:function(t,e){var i,a,s=this.w.globals,r=this.w.config,n=new G(this.ctx),o=new q(this.ctx);s.axisCharts&&"radar"!==t&&(s.isBarHorizontal?(a=o.drawYaxisInversed(0),i=n.drawXaxisInversed(0),s.dom.elGraphical.add(i),s.dom.elGraphical.add(a)):(i=n.drawXaxis(),s.dom.elGraphical.add(i),r.yaxis.map((function(t,e){-1===s.ignoreYAxisIndexes.indexOf(e)&&(a=o.drawYaxis(e),s.dom.Paper.add(a))}))));r.yaxis.map((function(t,e){-1===s.ignoreYAxisIndexes.indexOf(e)&&o.yAxisTitleRotate(e,t.opposite)}))}}]),t}(),Q=function(){function t(i){e(this,t),this.ctx=i,this.w=i.w}return a(t,[{key:"drawXCrosshairs",value:function(){var t=this.w,e=new p(this.ctx),i=new u(this.ctx),a=t.config.xaxis.crosshairs.fill.gradient,s=t.config.xaxis.crosshairs.dropShadow,r=t.config.xaxis.crosshairs.fill.type,n=a.colorFrom,o=a.colorTo,l=a.opacityFrom,h=a.opacityTo,c=a.stops,d=s.enabled,f=s.left,x=s.top,b=s.blur,m=s.color,v=s.opacity,y=t.config.xaxis.crosshairs.fill.color;if(t.config.xaxis.crosshairs.show){"gradient"===r&&(y=e.drawGradient("vertical",n,o,l,h,null,c,null));var w=e.drawRect();1===t.config.xaxis.crosshairs.width&&(w=e.drawLine()),w.attr({class:"apexcharts-xcrosshairs",x:0,y:0,y2:t.globals.gridHeight,width:g.isNumber(t.config.xaxis.crosshairs.width)?t.config.xaxis.crosshairs.width:0,height:t.globals.gridHeight,fill:y,filter:"none","fill-opacity":t.config.xaxis.crosshairs.opacity,stroke:t.config.xaxis.crosshairs.stroke.color,"stroke-width":t.config.xaxis.crosshairs.stroke.width,"stroke-dasharray":t.config.xaxis.crosshairs.stroke.dashArray}),d&&(w=i.dropShadow(w,{left:f,top:x,blur:b,color:m,opacity:v})),t.globals.dom.elGraphical.add(w)}}},{key:"drawYCrosshairs",value:function(){var t=this.w,e=new p(this.ctx),i=t.config.yaxis[0].crosshairs;if(t.config.yaxis[0].crosshairs.show){var a=e.drawLine(0,0,t.globals.gridWidth,0,i.stroke.color,i.stroke.dashArray,i.stroke.width);a.attr({class:"apexcharts-ycrosshairs"}),t.globals.dom.elGraphical.add(a)}var s=e.drawLine(0,0,t.globals.gridWidth,0,i.stroke.color,0,0);s.attr({class:"apexcharts-ycrosshairs-hidden"}),t.globals.dom.elGraphical.add(s)}}]),t}(),K=function(){function t(i){e(this,t),this.ctx=i,this.w=i.w}return a(t,[{key:"checkResponsiveConfig",value:function(t){var e=this,i=this.w,a=i.config;if(0!==a.responsive.length){var s=a.responsive.slice();s.sort((function(t,e){return t.breakpoint>e.breakpoint?1:e.breakpoint>t.breakpoint?-1:0})).reverse();var r=new D({}),n=function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},a=s[0].breakpoint,n=window.innerWidth>0?window.innerWidth:screen.width;if(n>a){var o=m.extendArrayProps(r,i.globals.initialConfig,i);t=g.extend(o,t),t=g.extend(i.config,t),e.overrideResponsiveOptions(t)}else for(var l=0;l0&&"function"==typeof e.config.colors[0]&&(e.globals.colors=e.config.series.map((function(i,a){var s=e.config.colors[a];return s||(s=e.config.colors[0]),"function"==typeof s?(t.isColorFn=!0,s({value:e.globals.axisCharts?e.globals.series[a][0]?e.globals.series[a][0]:0:e.globals.series[a],seriesIndex:a,dataPointIndex:a,w:e})):s})))),e.config.theme.monochrome.enabled){var a=[],s=e.globals.series.length;this.isBarDistributed&&(s=e.globals.series[0].length*e.globals.series.length);for(var r=e.config.theme.monochrome.color,n=1/(s/e.config.theme.monochrome.shadeIntensity),o=e.config.theme.monochrome.shadeTo,l=0,h=0;h2&&void 0!==arguments[2]?arguments[2]:null,a=this.w,s=e||a.globals.series.length;if(null===i&&(i=this.isBarDistributed||"heatmap"===a.config.chart.type&&a.config.plotOptions.heatmap.colorScale.inverse),i&&(s=a.globals.series[0].length*a.globals.series.length),t.lengtht.globals.svgWidth&&(this.dCtx.lgRect.width=t.globals.svgWidth/1.5),this.dCtx.lgRect}},{key:"getLargestStringFromMultiArr",value:function(t,e){var i=t;if(this.w.globals.isMultiLineX){var a=e.map((function(t,e){return Array.isArray(t)?t.length:1})),s=Math.max.apply(Math,d(a));i=e[a.indexOf(s)]}return i}}]),t}(),at=function(){function t(i){e(this,t),this.w=i.w,this.dCtx=i}return a(t,[{key:"getxAxisLabelsCoords",value:function(){var t,e=this.w,i=e.globals.labels.slice();if(e.config.xaxis.convertedCatToNumeric&&0===i.length&&(i=e.globals.categoryLabels),e.globals.timescaleLabels.length>0){var a=this.getxAxisTimeScaleLabelsCoords();t={width:a.width,height:a.height},e.globals.rotateXLabels=!1}else{this.dCtx.lgWidthForSideLegends="left"!==e.config.legend.position&&"right"!==e.config.legend.position||e.config.legend.floating?0:this.dCtx.lgRect.width;var s=e.globals.xLabelFormatter,r=g.getLargestStringFromArr(i),n=this.dCtx.dimHelpers.getLargestStringFromMultiArr(r,i);e.globals.isBarHorizontal&&(n=r=e.globals.yAxisScale[0].result.reduce((function(t,e){return t.length>e.length?t:e}),0));var o=new W(this.dCtx.ctx),l=r;r=o.xLabelFormat(s,r,l),n=o.xLabelFormat(s,n,l),(e.config.xaxis.convertedCatToNumeric&&void 0===r||""===String(r).trim())&&(n=r="1");var h=new p(this.dCtx.ctx),c=h.getTextRects(r,e.config.xaxis.labels.style.fontSize),d=c;if(r!==n&&(d=h.getTextRects(n,e.config.xaxis.labels.style.fontSize)),(t={width:c.width>=d.width?c.width:d.width,height:c.height>=d.height?c.height:d.height}).width*i.length>e.globals.svgWidth-this.dCtx.lgWidthForSideLegends-this.dCtx.yAxisWidth-this.dCtx.gridPad.left-this.dCtx.gridPad.right&&0!==e.config.xaxis.labels.rotate||e.config.xaxis.labels.rotateAlways){if(!e.globals.isBarHorizontal){e.globals.rotateXLabels=!0;var u=function(t){return h.getTextRects(t,e.config.xaxis.labels.style.fontSize,e.config.xaxis.labels.style.fontFamily,"rotate(".concat(e.config.xaxis.labels.rotate," 0 0)"),!1)};c=u(r),r!==n&&(d=u(n)),t.height=(c.height>d.height?c.height:d.height)/1.5,t.width=c.width>d.width?c.width:d.width}}else e.globals.rotateXLabels=!1}return e.config.xaxis.labels.show||(t={width:0,height:0}),{width:t.width,height:t.height}}},{key:"getxAxisTitleCoords",value:function(){var t=this.w,e=0,i=0;if(void 0!==t.config.xaxis.title.text){var a=new p(this.dCtx.ctx).getTextRects(t.config.xaxis.title.text,t.config.xaxis.title.style.fontSize);e=a.width,i=a.height}return{width:e,height:i}}},{key:"getxAxisTimeScaleLabelsCoords",value:function(){var t,e=this.w;this.dCtx.timescaleLabels=e.globals.timescaleLabels.slice();var i=this.dCtx.timescaleLabels.map((function(t){return t.value})),a=i.reduce((function(t,e){return void 0===t?(console.error("You have possibly supplied invalid Date format. Please supply a valid JavaScript Date"),0):t.length>e.length?t:e}),0);return 1.05*(t=new p(this.dCtx.ctx).getTextRects(a,e.config.xaxis.labels.style.fontSize)).width*i.length>e.globals.gridWidth&&0!==e.config.xaxis.labels.rotate&&(e.globals.overlappingXLabels=!0),t}},{key:"additionalPaddingXLabels",value:function(t){var e=this,i=this.w,a=i.globals,s=i.config,r=s.xaxis.type,n=t.width;a.skipLastTimelinelabel=!1,a.skipFirstTimelinelabel=!1;var o=i.config.yaxis[0].opposite&&i.globals.isBarHorizontal,l=function(t,o){(function(t){return-1!==a.collapsedSeriesIndices.indexOf(t)})(o)||("datetime"!==r&&e.dCtx.gridPad.lefta.gridWidth&&(a.skipLastTimelinelabel=!0),l<0&&(a.skipFirstTimelinelabel=!0)}else"datetime"===r?e.dCtx.gridPad.rightu.width?f.width:u.width)+a,height:f.height>u.height?f.height:u.height})}else i.push({width:0,height:0})})),i}},{key:"getyAxisTitleCoords",value:function(){var t=this,e=this.w,i=[];return e.config.yaxis.map((function(e,a){if(e.show&&void 0!==e.title.text){var s=new p(t.dCtx.ctx).getTextRects(e.title.text,e.title.style.fontSize,e.title.style.fontFamily,"rotate(-90 0 0)",!1);i.push({width:s.width,height:s.height})}else i.push({width:0,height:0})})),i}},{key:"getTotalYAxisWidth",value:function(){var t=this.w,e=0,i=0,a=0,s=t.globals.yAxisScale.length>1?10:0,r=new B(this.dCtx.ctx),n=function(n,o){var l=t.config.yaxis[o].floating,h=0;n.width>0&&!l?(h=n.width+s,function(e){return t.globals.ignoreYAxisIndexes.indexOf(e)>-1}(o)&&(h=h-n.width-s)):h=l||r.isYAxisHidden(o)?0:5,t.config.yaxis[o].opposite?a+=h:i+=h,e+=h};return t.globals.yLabelsCoords.map((function(t,e){n(t,e)})),t.globals.yTitleCoords.map((function(t,e){n(t,e)})),t.globals.isBarHorizontal&&(e=t.globals.yLabelsCoords[0].width+t.globals.yTitleCoords[0].width+15),this.dCtx.yAxisWidthLeft=i,this.dCtx.yAxisWidthRight=a,e}}]),t}(),rt=function(){function t(i){e(this,t),this.w=i.w,this.dCtx=i}return a(t,[{key:"gridPadForColumnsInNumericAxis",value:function(t){var e=this.w;if(e.globals.noData||e.globals.allSeriesCollapsed)return 0;var i=e.config.chart.type,a=0,s="bar"===i||"rangeBar"===i?e.config.series.length:1;if(e.globals.comboBarCount>0&&(s=e.globals.comboBarCount),e.globals.collapsedSeries.forEach((function(t){"bar"!==t.type&&"rangeBar"!==t.type||(s-=1)})),e.config.chart.stacked&&(s=1),("bar"===i||"rangeBar"===i||e.globals.comboBarCount>0)&&e.globals.isXNumeric&&!e.globals.isBarHorizontal&&s>0){var r,n,o=Math.abs(e.globals.initialMaxX-e.globals.initialMinX);o<=3&&(o=e.globals.dataPoints),r=o/t,e.globals.minXDiff&&e.globals.minXDiff/r>0&&(n=e.globals.minXDiff/r),(a=n/s*parseInt(e.config.plotOptions.bar.columnWidth,10)/100)<1&&(a=1),a=a/(s>1?1:1.5)+5,e.globals.barPadForNumericAxis=a}return a}},{key:"gridPadFortitleSubtitle",value:function(){var t=this,e=this.w,i=e.globals,a=this.dCtx.isSparkline||!e.globals.axisCharts?0:10;["title","subtitle"].forEach((function(i){void 0!==e.config[i].text?a+=e.config[i].margin:a+=t.dCtx.isSparkline||!e.globals.axisCharts?0:5}));var s=e.config.series.length>1||!e.globals.axisCharts||e.config.legend.showForSingleSeries;e.config.legend.show&&"bottom"===e.config.legend.position&&!e.config.legend.floating&&s&&(a+=10);var r=this.dCtx.dimHelpers.getTitleSubtitleCoords("title"),n=this.dCtx.dimHelpers.getTitleSubtitleCoords("subtitle");i.gridHeight=i.gridHeight-r.height-n.height-a,i.translateY=i.translateY+r.height+n.height+a}},{key:"setGridXPosForDualYAxis",value:function(t,e){var i=this.w,a=new B(this.dCtx.ctx);i.config.yaxis.map((function(s,r){-1!==i.globals.ignoreYAxisIndexes.indexOf(r)||s.floating||a.isYAxisHidden(r)||s.opposite&&(i.globals.translateX=i.globals.translateX-(e[r].width+t[r].width)-parseInt(i.config.yaxis[r].labels.style.fontSize,10)/1.2-12)}))}}]),t}(),nt=function(){function t(i){e(this,t),this.ctx=i,this.w=i.w,this.lgRect={},this.yAxisWidth=0,this.yAxisWidthLeft=0,this.yAxisWidthRight=0,this.xAxisHeight=0,this.isSparkline=this.w.config.chart.sparkline.enabled,this.dimHelpers=new it(this),this.dimYAxis=new st(this),this.dimXAxis=new at(this),this.dimGrid=new rt(this),this.lgWidthForSideLegends=0,this.gridPad=this.w.config.grid.padding,this.xPadRight=0,this.xPadLeft=0}return a(t,[{key:"plotCoords",value:function(){var t=this.w.globals;this.lgRect=this.dimHelpers.getLegendsRect(),t.axisCharts?this.setDimensionsForAxisCharts():this.setDimensionsForNonAxisCharts(),this.dimGrid.gridPadFortitleSubtitle(),t.gridHeight=t.gridHeight-this.gridPad.top-this.gridPad.bottom,t.gridWidth=t.gridWidth-this.gridPad.left-this.gridPad.right-this.xPadRight-this.xPadLeft;var e=this.dimGrid.gridPadForColumnsInNumericAxis(t.gridWidth);t.gridWidth=t.gridWidth-2*e,t.translateX=t.translateX+this.gridPad.left+this.xPadLeft+(e>0?e+4:0),t.translateY=t.translateY+this.gridPad.top}},{key:"setDimensionsForAxisCharts",value:function(){var t=this,e=this.w,i=e.globals,a=this.dimYAxis.getyAxisLabelsCoords(),s=this.dimYAxis.getyAxisTitleCoords();e.globals.yLabelsCoords=[],e.globals.yTitleCoords=[],e.config.yaxis.map((function(t,i){e.globals.yLabelsCoords.push({width:a[i].width,index:i}),e.globals.yTitleCoords.push({width:s[i].width,index:i})})),this.yAxisWidth=this.dimYAxis.getTotalYAxisWidth();var r=this.dimXAxis.getxAxisLabelsCoords(),n=this.dimXAxis.getxAxisTitleCoords();this.conditionalChecksForAxisCoords(r,n),i.translateXAxisY=e.globals.rotateXLabels?this.xAxisHeight/8:-4,i.translateXAxisX=e.globals.rotateXLabels&&e.globals.isXNumeric&&e.config.xaxis.labels.rotate<=-45?-this.xAxisWidth/4:0,e.globals.isBarHorizontal&&(i.rotateXLabels=!1,i.translateXAxisY=parseInt(e.config.xaxis.labels.style.fontSize,10)/1.5*-1),i.translateXAxisY=i.translateXAxisY+e.config.xaxis.labels.offsetY,i.translateXAxisX=i.translateXAxisX+e.config.xaxis.labels.offsetX;var o=this.yAxisWidth,l=this.xAxisHeight;i.xAxisLabelsHeight=this.xAxisHeight,i.xAxisHeight=this.xAxisHeight;var h=10;("radar"===e.config.chart.type||this.isSparkline)&&(o=0,l=i.goldenPadding),this.isSparkline&&(this.lgRect={height:0,width:0},l=0,o=0,h=0),this.dimXAxis.additionalPaddingXLabels(r);var c=function(){i.translateX=o,i.gridHeight=i.svgHeight-t.lgRect.height-l-(t.isSparkline?0:e.globals.rotateXLabels?10:15),i.gridWidth=i.svgWidth-o};switch("top"===e.config.xaxis.position&&(h=i.xAxisHeight-e.config.xaxis.axisTicks.height-5),e.config.legend.position){case"bottom":i.translateY=h,c();break;case"top":i.translateY=this.lgRect.height+h,c();break;case"left":i.translateY=h,i.translateX=this.lgRect.width+o,i.gridHeight=i.svgHeight-l-12,i.gridWidth=i.svgWidth-this.lgRect.width-o;break;case"right":i.translateY=h,i.translateX=o,i.gridHeight=i.svgHeight-l-12,i.gridWidth=i.svgWidth-this.lgRect.width-o-5;break;default:throw new Error("Legend position not supported")}this.dimGrid.setGridXPosForDualYAxis(s,a),new q(this.ctx).setYAxisXPosition(a,s)}},{key:"setDimensionsForNonAxisCharts",value:function(){var t=this.w,e=t.globals,i=t.config,a=0;t.config.legend.show&&!t.config.legend.floating&&(a=20);var s="pie"===i.chart.type||"polarArea"===i.chart.type||"donut"===i.chart.type?"pie":"radialBar",r=i.plotOptions[s].offsetY,n=i.plotOptions[s].offsetX;if(!i.legend.show||i.legend.floating)return e.gridHeight=e.svgHeight-i.grid.padding.left+i.grid.padding.right,e.gridWidth=e.gridHeight,e.translateY=r,void(e.translateX=n+(e.svgWidth-e.gridWidth)/2);switch(i.legend.position){case"bottom":e.gridHeight=e.svgHeight-this.lgRect.height-e.goldenPadding,e.gridWidth=e.gridHeight,e.translateY=r-10,e.translateX=n+(e.svgWidth-e.gridWidth)/2;break;case"top":e.gridHeight=e.svgHeight-this.lgRect.height-e.goldenPadding,e.gridWidth=e.gridHeight,e.translateY=this.lgRect.height+r+10,e.translateX=n+(e.svgWidth-e.gridWidth)/2;break;case"left":e.gridWidth=e.svgWidth-this.lgRect.width-a,e.gridHeight="auto"!==i.chart.height?e.svgHeight:e.gridWidth,e.translateY=r,e.translateX=n+this.lgRect.width+a;break;case"right":e.gridWidth=e.svgWidth-this.lgRect.width-a-5,e.gridHeight="auto"!==i.chart.height?e.svgHeight:e.gridWidth,e.translateY=r,e.translateX=n+10;break;default:throw new Error("Legend position not supported")}}},{key:"conditionalChecksForAxisCoords",value:function(t,e){var i=this.w;this.xAxisHeight=(t.height+e.height)*(i.globals.isMultiLineX?1.2:i.globals.LINE_HEIGHT_RATIO)+(i.globals.rotateXLabels?22:10),this.xAxisWidth=t.width,this.xAxisHeight-e.height>i.config.xaxis.labels.maxHeight&&(this.xAxisHeight=i.config.xaxis.labels.maxHeight),i.config.xaxis.labels.minHeight&&this.xAxisHeights&&(this.yAxisWidth=s)}}]),t}(),ot=function(){function t(i){e(this,t),this.ctx=i,this.w=i.w}return a(t,[{key:"drawYAxisTexts",value:function(t,e,i,a){var s=this.w,r=s.config.yaxis[0],n=s.globals.yLabelFormatters[0];return new p(this.ctx).drawText({x:t+r.labels.offsetX,y:e+r.labels.offsetY,text:n(a,i),textAnchor:"middle",fontSize:r.labels.style.fontSize,fontFamily:r.labels.style.fontFamily,foreColor:r.labels.style.color})}}]),t}(),lt=function(){function t(i){e(this,t),this.ctx=i,this.w=i.w,this.chartType=this.w.config.chart.type,this.initialAnim=this.w.config.chart.animations.enabled,this.dynamicAnim=this.initialAnim&&this.w.config.chart.animations.dynamicAnimation.enabled,this.animBeginArr=[0],this.animDur=0,this.donutDataLabels=this.w.config.plotOptions.pie.donut.labels;var a=this.w;this.lineColorArr=void 0!==a.globals.stroke.colors?a.globals.stroke.colors:a.globals.colors,this.defaultSize=a.globals.svgHeightthis.fullAngle?e.endAngle=e.endAngle-(a+n):a+n=360&&(o=359.99);var l=Math.PI*(o-90)/180,h=e.centerX+s*Math.cos(n),c=e.centerY+s*Math.sin(n),d=e.centerX+s*Math.cos(l),u=e.centerY+s*Math.sin(l),f=g.polarToCartesian(e.centerX,e.centerY,e.donutSize,o),p=g.polarToCartesian(e.centerX,e.centerY,e.donutSize,r),x=a>180?1:0,b=["M",h,c,"A",s,s,0,x,1,d,u];return"donut"===e.chartType?[].concat(b,["L",f.x,f.y,"A",e.donutSize,e.donutSize,0,x,0,p.x,p.y,"L",h,c,"z"]).join(" "):"pie"===e.chartType||"polarArea"===e.chartType?[].concat(b,["L",e.centerX,e.centerY,"L",h,c]).join(" "):[].concat(b).join(" ")}},{key:"drawPolarElements",value:function(){var t=this.w,e=new j(this.ctx),i=new p(this.ctx),a=new ot(this.ctx),s=i.group(),r=i.group(),n=void 0===t.config.yaxis[0].max&&void 0===t.config.yaxis[0].min,o=e.niceScale(0,Math.ceil(this.maxY),t.config.yaxis[0].tickAmount,0,n),l=o.result.reverse(),h=o.result.length;this.maxY=o.niceMax;for(var c=t.globals.radialSize,d=c/(h-1),g=0;g1&&t.total.show&&(s=t.total.color);var n=r.globals.dom.baseEl.querySelector(".apexcharts-datalabel-label"),o=r.globals.dom.baseEl.querySelector(".apexcharts-datalabel-value");i=(0,t.value.formatter)(i,r),a||"function"!=typeof t.total.formatter||(i=t.total.formatter(r));var l=e===t.total.label;e=t.name.formatter(e,l,r),null!==n&&(n.textContent=e),null!==o&&(o.textContent=i),null!==n&&(n.style.fill=s)}},{key:"printDataLabelsInner",value:function(t,e){var i=this.w,a=t.getAttribute("data:value"),s=i.globals.seriesNames[parseInt(t.parentNode.getAttribute("rel"),10)-1];i.globals.series.length>1&&this.printInnerLabels(e,s,a,t);var r=i.globals.dom.baseEl.querySelector(".apexcharts-datalabels-group");null!==r&&(r.style.opacity=1)}},{key:"revertDataLabelsInner",value:function(t,e,i){var a=this,s=this.w,r=s.globals.dom.baseEl.querySelector(".apexcharts-datalabels-group"),n=!1,o=s.globals.dom.baseEl.getElementsByClassName("apexcharts-pie-area"),l=function(t){var i=t.makeSliceOut,s=t.printLabel;Array.prototype.forEach.call(o,(function(t){"true"===t.getAttribute("data:pieClicked")&&(i&&(n=!0),s&&a.printDataLabelsInner(t,e))}))};if(l({makeSliceOut:!0,printLabel:!1}),e.total.show&&s.globals.series.length>1)n&&!e.total.showAlways?l({makeSliceOut:!1,printLabel:!0}):this.printInnerLabels(e,e.total.label,e.total.formatter(s));else if(l({makeSliceOut:!1,printLabel:!0}),!n)if(s.globals.selectedDataPoints.length&&s.globals.series.length>1)if(s.globals.selectedDataPoints[0].length>0){var h=s.globals.selectedDataPoints[0],c=s.globals.dom.baseEl.querySelector(".apexcharts-".concat(this.chartType.toLowerCase(),"-slice-").concat(h));this.printDataLabelsInner(c,e)}else r&&s.globals.selectedDataPoints.length&&0===s.globals.selectedDataPoints[0].length&&(r.style.opacity=0);else r&&s.globals.series.length>1&&(r.style.opacity=0)}}]),t}(),ht=function(){function t(i){e(this,t),this.w=i.w,this.lgCtx=i}return a(t,[{key:"getLegendStyles",value:function(){var t=document.createElement("style");t.setAttribute("type","text/css");var e=document.createTextNode("\t\n \t\n .apexcharts-legend {\t\n display: flex;\t\n overflow: auto;\t\n padding: 0 10px;\t\n }\t\n .apexcharts-legend.position-bottom, .apexcharts-legend.position-top {\t\n flex-wrap: wrap\t\n }\t\n .apexcharts-legend.position-right, .apexcharts-legend.position-left {\t\n flex-direction: column;\t\n bottom: 0;\t\n }\t\n .apexcharts-legend.position-bottom.apexcharts-align-left, .apexcharts-legend.position-top.apexcharts-align-left, .apexcharts-legend.position-right, .apexcharts-legend.position-left {\t\n justify-content: flex-start;\t\n }\t\n .apexcharts-legend.position-bottom.apexcharts-align-center, .apexcharts-legend.position-top.apexcharts-align-center {\t\n justify-content: center; \t\n }\t\n .apexcharts-legend.position-bottom.apexcharts-align-right, .apexcharts-legend.position-top.apexcharts-align-right {\t\n justify-content: flex-end;\t\n }\t\n .apexcharts-legend-series {\t\n cursor: pointer;\t\n line-height: normal;\t\n }\t\n .apexcharts-legend.position-bottom .apexcharts-legend-series, .apexcharts-legend.position-top .apexcharts-legend-series{\t\n display: flex;\t\n align-items: center;\t\n }\t\n .apexcharts-legend-text {\t\n position: relative;\t\n font-size: 14px;\t\n }\t\n .apexcharts-legend-text *, .apexcharts-legend-marker * {\t\n pointer-events: none;\t\n }\t\n .apexcharts-legend-marker {\t\n position: relative;\t\n display: inline-block;\t\n cursor: pointer;\t\n margin-right: 3px;\t\n border-style: solid;\n }\t\n \t\n .apexcharts-legend.apexcharts-align-right .apexcharts-legend-series, .apexcharts-legend.apexcharts-align-left .apexcharts-legend-series{\t\n display: inline-block;\t\n }\t\n .apexcharts-legend-series.apexcharts-no-click {\t\n cursor: auto;\t\n }\t\n .apexcharts-legend .apexcharts-hidden-zero-series, .apexcharts-legend .apexcharts-hidden-null-series {\t\n display: none !important;\t\n }\t\n .apexcharts-inactive-legend {\t\n opacity: 0.45;\t\n }");return t.appendChild(e),t}},{key:"getLegendBBox",value:function(){var t=this.w.globals.dom.baseEl.querySelector(".apexcharts-legend").getBoundingClientRect(),e=t.width;return{clwh:t.height,clww:e}}},{key:"appendToForeignObject",value:function(){var t=this.w.globals;t.dom.elLegendForeign=document.createElementNS(t.SVGNS,"foreignObject");var e=t.dom.elLegendForeign;e.setAttribute("x",0),e.setAttribute("y",0),e.setAttribute("width",t.svgWidth),e.setAttribute("height",t.svgHeight),t.dom.elLegendWrap.setAttribute("xmlns","http://www.w3.org/1999/xhtml"),e.appendChild(t.dom.elLegendWrap),e.appendChild(this.getLegendStyles()),t.dom.Paper.node.insertBefore(e,t.dom.elGraphical.node)}},{key:"toggleDataSeries",value:function(t,e){var i=this,a=this.w;if(a.globals.axisCharts||"radialBar"===a.config.chart.type){a.globals.resized=!0;var s=null,r=null;if(a.globals.risingSeries=[],a.globals.axisCharts?(s=a.globals.dom.baseEl.querySelector(".apexcharts-series[data\\:realIndex='".concat(t,"']")),r=parseInt(s.getAttribute("data:realIndex"),10)):(s=a.globals.dom.baseEl.querySelector(".apexcharts-series[rel='".concat(t+1,"']")),r=parseInt(s.getAttribute("rel"),10)-1),e)[{cs:a.globals.collapsedSeries,csi:a.globals.collapsedSeriesIndices},{cs:a.globals.ancillaryCollapsedSeries,csi:a.globals.ancillaryCollapsedSeriesIndices}].forEach((function(t){i.riseCollapsedSeries(t.cs,t.csi,r)}));else this.hideSeries({seriesEl:s,realIndex:r})}else{var n=a.globals.dom.Paper.select(" .apexcharts-series[rel='".concat(t+1,"'] path")),o=a.config.chart.type;if("pie"===o||"polarArea"===o||"donut"===o){var l=a.config.plotOptions.pie.donut.labels,h=new p(this.lgCtx.ctx),c=new lt(this.lgCtx.ctx);h.pathMouseDown(n.members[0],null),c.printDataLabelsInner(n.members[0].node,l)}n.fire("click")}}},{key:"hideSeries",value:function(t){var e=t.seriesEl,i=t.realIndex,a=this.w;if(a.globals.axisCharts){var s=!1;if(a.config.yaxis[i]&&a.config.yaxis[i].show&&a.config.yaxis[i].showAlways&&(s=!0,a.globals.ancillaryCollapsedSeriesIndices.indexOf(i)<0&&(a.globals.ancillaryCollapsedSeries.push({index:i,data:a.config.series[i].data.slice(),type:e.parentNode.className.baseVal.split("-")[1]}),a.globals.ancillaryCollapsedSeriesIndices.push(i))),!s){a.globals.collapsedSeries.push({index:i,data:a.config.series[i].data.slice(),type:e.parentNode.className.baseVal.split("-")[1]}),a.globals.collapsedSeriesIndices.push(i);var r=a.globals.risingSeries.indexOf(i);a.globals.risingSeries.splice(r,1)}a.config.series[i].data=[]}else a.globals.collapsedSeries.push({index:i,data:a.config.series[i]}),a.globals.collapsedSeriesIndices.push(i),a.config.series[i]=0;for(var n=e.childNodes,o=0;o0)for(var s=0;s1||!e.axisCharts)&&i.legend.show){for(;e.dom.elLegendWrap.firstChild;)e.dom.elLegendWrap.removeChild(e.dom.elLegendWrap.firstChild);this.drawLegends(),g.isIE11()?document.getElementsByTagName("head")[0].appendChild(this.legendHelpers.getLegendStyles()):this.legendHelpers.appendToForeignObject(),"bottom"===i.legend.position||"top"===i.legend.position?this.legendAlignHorizontal():"right"!==i.legend.position&&"left"!==i.legend.position||this.legendAlignVertical()}}},{key:"drawLegends",value:function(){var t=this.w,e=t.config.legend.fontFamily,i=t.globals.seriesNames,a=t.globals.colors.slice();if("heatmap"===t.config.chart.type){var s=t.config.plotOptions.heatmap.colorScale.ranges;i=s.map((function(t){return t.name?t.name:t.from+" - "+t.to})),a=s.map((function(t){return t.color}))}else this.isBarsDistributed&&(i=t.globals.labels.slice());for(var r=t.globals.legendFormatter,n=t.config.legend.inverseOrder,o=n?i.length-1:0;n?o>=0:o<=i.length-1;n?o--:o++){var l=r(i[o],{seriesIndex:o,w:t}),h=!1,c=!1;if(t.globals.collapsedSeries.length>0)for(var d=0;d0)for(var g=0;g0?l-10:0)+(h>0?h-10:0)}a.style.position="absolute",r=r+t+i.config.legend.offsetX,n=n+e+i.config.legend.offsetY,a.style.left=r+"px",a.style.top=n+"px","bottom"===i.config.legend.position?(a.style.top="auto",a.style.bottom=5-i.config.legend.offsetY+"px"):"right"===i.config.legend.position&&(a.style.left="auto",a.style.right=25+i.config.legend.offsetX+"px");["width","height"].forEach((function(t){a.style[t]&&(a.style[t]=parseInt(i.config.legend[t],10)+"px")}))}},{key:"legendAlignHorizontal",value:function(){var t=this.w;t.globals.dom.baseEl.querySelector(".apexcharts-legend").style.right=0;var e=this.legendHelpers.getLegendBBox(),i=new nt(this.ctx),a=i.dimHelpers.getTitleSubtitleCoords("title"),s=i.dimHelpers.getTitleSubtitleCoords("subtitle"),r=0;"bottom"===t.config.legend.position?r=-e.clwh/1.8:"top"===t.config.legend.position&&(r=a.height+s.height+t.config.title.margin+t.config.subtitle.margin-10),this.setLegendWrapXY(20,r)}},{key:"legendAlignVertical",value:function(){var t=this.w,e=this.legendHelpers.getLegendBBox(),i=0;"left"===t.config.legend.position&&(i=20),"right"===t.config.legend.position&&(i=t.globals.svgWidth-e.clww-10),this.setLegendWrapXY(i,20)}},{key:"onLegendHovered",value:function(t){var e=this.w,i=t.target.classList.contains("apexcharts-legend-text")||t.target.classList.contains("apexcharts-legend-marker");if("heatmap"===e.config.chart.type||this.isBarsDistributed){if(i){var a=parseInt(t.target.getAttribute("rel"),10)-1;this.ctx.events.fireEvent("legendHover",[this.ctx,a,this.w]),new M(this.ctx).highlightRangeInSeries(t,t.target)}}else!t.target.classList.contains("apexcharts-inactive-legend")&&i&&new M(this.ctx).toggleSeriesOnHover(t,t.target)}},{key:"onLegendClick",value:function(t){if(t.target.classList.contains("apexcharts-legend-text")||t.target.classList.contains("apexcharts-legend-marker")){var e=parseInt(t.target.getAttribute("rel"),10)-1,i="true"===t.target.getAttribute("data:collapsed"),a=this.w.config.chart.events.legendClick;"function"==typeof a&&a(this.ctx,e,this.w),this.ctx.events.fireEvent("legendClick",[this.ctx,e,this.w]);var s=this.w.config.legend.markers.onClick;"function"==typeof s&&t.target.classList.contains("apexcharts-legend-marker")&&(s(this.ctx,e,this.w),this.ctx.events.fireEvent("legendMarkerClick",[this.ctx,e,this.w])),this.legendHelpers.toggleDataSeries(e,i)}}}]),t}(),dt=function(){function t(i){e(this,t),this.ctx=i,this.w=i.w,this.ev=this.w.config.chart.events,this.selectedClass="apexcharts-selected",this.localeValues=this.w.globals.locale.toolbar}return a(t,[{key:"createToolbar",value:function(){var t=this,e=this.w,i=function(){return document.createElement("div")},a=i();if(a.setAttribute("class","apexcharts-toolbar"),a.style.top=e.config.chart.toolbar.offsetY+"px",a.style.right=3-e.config.chart.toolbar.offsetX+"px",e.globals.dom.elWrap.appendChild(a),this.elZoom=i(),this.elZoomIn=i(),this.elZoomOut=i(),this.elPan=i(),this.elSelection=i(),this.elZoomReset=i(),this.elMenuIcon=i(),this.elMenu=i(),this.elCustomIcons=[],this.t=e.config.chart.toolbar.tools,Array.isArray(this.t.customIcons))for(var s=0;s\n \n \n\n'),n("zoomOut",this.elZoomOut,'\n \n \n\n');var o=function(i){t.t[i]&&e.config.chart[i].enabled&&r.push({el:"zoom"===i?t.elZoom:t.elSelection,icon:"string"==typeof t.t[i]?t.t[i]:"zoom"===i?'\n \n \n \n':'\n \n \n',title:t.localeValues["zoom"===i?"selectionZoom":"selection"],class:e.globals.isTouchDevice?"apexcharts-element-hidden":"apexcharts-".concat(i,"-icon")})};o("zoom"),o("selection"),this.t.pan&&e.config.chart.zoom.enabled&&r.push({el:this.elPan,icon:"string"==typeof this.t.pan?this.t.pan:'\n \n \n \n \n \n \n \n',title:this.localeValues.pan,class:e.globals.isTouchDevice?"apexcharts-element-hidden":"apexcharts-pan-icon"}),n("reset",this.elZoomReset,'\n \n \n'),this.t.download&&r.push({el:this.elMenuIcon,icon:"string"==typeof this.t.download?this.t.download:'',title:this.localeValues.menu,class:"apexcharts-menu-icon"});for(var l=0;l0&&e.height>0&&this.slDraggableRect.selectize({points:"l, r",pointSize:8,pointType:"rect"}).resize({constraint:{minX:0,minY:0,maxX:t.globals.gridWidth,maxY:t.globals.gridHeight}}).on("resizing",this.selectionDragging.bind(this,"resizing"))}}},{key:"preselectedSelection",value:function(){var t=this.w,e=this.xyRatios;if(!t.globals.zoomEnabled)if(void 0!==t.globals.selection&&null!==t.globals.selection)this.drawSelectionRect(t.globals.selection);else if(void 0!==t.config.chart.selection.xaxis.min&&void 0!==t.config.chart.selection.xaxis.max){var i=(t.config.chart.selection.xaxis.min-t.globals.minX)/e.xRatio,a={x:i,y:0,width:t.globals.gridWidth-(t.globals.maxX-t.config.chart.selection.xaxis.max)/e.xRatio-i,height:t.globals.gridHeight,translateX:0,translateY:0,selectionEnabled:!0};this.drawSelectionRect(a),this.makeSelectionRectDraggable(),"function"==typeof t.config.chart.events.selection&&t.config.chart.events.selection(this.ctx,{xaxis:{min:t.config.chart.selection.xaxis.min,max:t.config.chart.selection.xaxis.max},yaxis:{}})}}},{key:"drawSelectionRect",value:function(t){var e=t.x,i=t.y,a=t.width,s=t.height,r=t.translateX,n=void 0===r?0:r,o=t.translateY,l=void 0===o?0:o,h=this.w,c=this.zoomRect,d=this.selectionRect;if(this.dragged||null!==h.globals.selection){var g={transform:"translate("+n+", "+l+")"};h.globals.zoomEnabled&&this.dragged&&(a<0&&(a=1),c.attr({x:e,y:i,width:a,height:s,fill:h.config.chart.zoom.zoomedArea.fill.color,"fill-opacity":h.config.chart.zoom.zoomedArea.fill.opacity,stroke:h.config.chart.zoom.zoomedArea.stroke.color,"stroke-width":h.config.chart.zoom.zoomedArea.stroke.width,"stroke-opacity":h.config.chart.zoom.zoomedArea.stroke.opacity}),p.setAttrs(c.node,g)),h.globals.selectionEnabled&&(d.attr({x:e,y:i,width:a>0?a:0,height:s>0?s:0,fill:h.config.chart.selection.fill.color,"fill-opacity":h.config.chart.selection.fill.opacity,stroke:h.config.chart.selection.stroke.color,"stroke-width":h.config.chart.selection.stroke.width,"stroke-dasharray":h.config.chart.selection.stroke.dashArray,"stroke-opacity":h.config.chart.selection.stroke.opacity}),p.setAttrs(d.node,g))}}},{key:"hideSelectionRect",value:function(t){t&&t.attr({x:0,y:0,width:0,height:0})}},{key:"selectionDrawing",value:function(t){var e=t.context,i=t.zoomtype,a=this.w,s=e,r=this.gridRect.getBoundingClientRect(),n=s.startX-1,o=s.startY,l=s.clientX-r.left-n,h=s.clientY-r.top-o,c=0,d=0,g={};return Math.abs(l+n)>a.globals.gridWidth?l=a.globals.gridWidth-n:s.clientX-r.left<0&&(l=n),n>s.clientX-r.left&&(c=-(l=Math.abs(l))),o>s.clientY-r.top&&(d=-(h=Math.abs(h))),g="x"===i?{x:n,y:0,width:l,height:a.globals.gridHeight,translateX:c,translateY:0}:"y"===i?{x:0,y:o,width:a.globals.gridWidth,height:h,translateX:0,translateY:d}:{x:n,y:o,width:l,height:h,translateX:c,translateY:d},s.drawSelectionRect(g),s.selectionDragging("resizing"),g}},{key:"selectionDragging",value:function(t,e){var i=this,a=this.w,s=this.xyRatios,r=this.selectionRect,n=0;"resizing"===t&&(n=30);var o=function(t){return parseFloat(r.node.getAttribute(t))},l={x:o("x"),y:o("y"),width:o("width"),height:o("height")};a.globals.selection=l,"function"==typeof a.config.chart.events.selection&&a.globals.selectionEnabled&&(clearTimeout(this.w.globals.selectionResizeTimer),this.w.globals.selectionResizeTimer=window.setTimeout((function(){var t=i.gridRect.getBoundingClientRect(),e=r.node.getBoundingClientRect(),n=a.globals.xAxisScale.niceMin+(e.left-t.left)*s.xRatio,o=a.globals.xAxisScale.niceMin+(e.right-t.left)*s.xRatio,l=a.globals.yAxisScale[0].niceMin+(t.bottom-e.bottom)*s.yRatio[0],h=a.globals.yAxisScale[0].niceMax-(e.top-t.top)*s.yRatio[0];a.config.chart.events.selection(i.ctx,{xaxis:{min:n,max:o},yaxis:{min:l,max:h}})}),n))}},{key:"selectionDrawn",value:function(t){var e=t.context,i=t.zoomtype,a=this.w,s=e,r=this.xyRatios,n=this.ctx.toolbar;if(s.startX>s.endX){var o=s.startX;s.startX=s.endX,s.endX=o}if(s.startY>s.endY){var l=s.startY;s.startY=s.endY,s.endY=l}var h=a.globals.xAxisScale.niceMin+s.startX*r.xRatio,c=a.globals.xAxisScale.niceMin+s.endX*r.xRatio,d=[],u=[];if(a.config.yaxis.forEach((function(t,e){d.push(a.globals.yAxisScale[e].niceMax-r.yRatio[e]*s.startY),u.push(a.globals.yAxisScale[e].niceMax-r.yRatio[e]*s.endY)})),s.dragged&&(s.dragX>10||s.dragY>10)&&h!==c)if(a.globals.zoomEnabled){var f=g.clone(a.globals.initialConfig.yaxis),p=g.clone(a.globals.initialConfig.xaxis);if(a.globals.zoomed=!0,a.globals.zoomed||(a.globals.lastXAxis=g.clone(a.config.xaxis),a.globals.lastYAxis=g.clone(a.config.yaxis)),a.config.xaxis.convertedCatToNumeric&&(h=Math.floor(h),c=Math.floor(c),h<1&&(h=1,c=a.globals.dataPoints),c-h<2&&(c=h+1)),"xy"!==i&&"x"!==i||(p={min:h,max:c}),"xy"!==i&&"y"!==i||f.forEach((function(t,e){f[e].min=u[e],f[e].max=d[e]})),a.config.chart.zoom.autoScaleYaxis){var x=new j(s.ctx);f=x.autoScaleY(s.ctx,f,{xaxis:p})}if(n){var b=n.getBeforeZoomRange(p,f);b&&(p=b.xaxis?b.xaxis:p,f=b.yaxis?b.yaxe:f)}var m={xaxis:p};a.config.chart.group||(m.yaxis=f),s.ctx.updateHelpers._updateOptions(m,!1,s.w.config.chart.animations.dynamicAnimation.enabled),"function"==typeof a.config.chart.events.zoomed&&n.zoomCallback(p,f)}else if(a.globals.selectionEnabled){var v,y=null;v={min:h,max:c},"xy"!==i&&"y"!==i||(y=g.clone(a.config.yaxis)).forEach((function(t,e){y[e].min=u[e],y[e].max=d[e]})),a.globals.selection=s.selection,"function"==typeof a.config.chart.events.selection&&a.config.chart.events.selection(s.ctx,{xaxis:v,yaxis:y})}}},{key:"panDragging",value:function(t){var e=t.context,i=this.w,a=e;if(void 0!==i.globals.lastClientPosition.x){var s=i.globals.lastClientPosition.x-a.clientX,r=i.globals.lastClientPosition.y-a.clientY;Math.abs(s)>Math.abs(r)&&s>0?this.moveDirection="left":Math.abs(s)>Math.abs(r)&&s<0?this.moveDirection="right":Math.abs(r)>Math.abs(s)&&r>0?this.moveDirection="up":Math.abs(r)>Math.abs(s)&&r<0&&(this.moveDirection="down")}i.globals.lastClientPosition={x:a.clientX,y:a.clientY};var n=i.globals.minX,o=i.globals.maxX;i.config.xaxis.convertedCatToNumeric||a.panScrolled(n,o)}},{key:"delayedPanScrolled",value:function(){var t=this.w,e=t.globals.minX,i=t.globals.maxX,a=(t.globals.maxX-t.globals.minX)/2;"left"===this.moveDirection?(e=t.globals.minX+a,i=t.globals.maxX+a):"right"===this.moveDirection&&(e=t.globals.minX-a,i=t.globals.maxX-a),e=Math.floor(e),i=Math.floor(i),this.updateScrolledChart({xaxis:{min:e,max:i}},e,i)}},{key:"panScrolled",value:function(t,e){var i=this.w,a=this.xyRatios,s=g.clone(i.globals.initialConfig.yaxis);"left"===this.moveDirection?(t=i.globals.minX+i.globals.gridWidth/15*a.xRatio,e=i.globals.maxX+i.globals.gridWidth/15*a.xRatio):"right"===this.moveDirection&&(t=i.globals.minX-i.globals.gridWidth/15*a.xRatio,e=i.globals.maxX-i.globals.gridWidth/15*a.xRatio),(ti.globals.initialMaxX)&&(t=i.globals.minX,e=i.globals.maxX);var r={min:t,max:e};i.config.chart.zoom.autoScaleYaxis&&(s=new j(this.ctx).autoScaleY(this.ctx,s,{xaxis:r}));var n={xaxis:{min:t,max:e}};i.config.chart.group||(n.yaxis=s),this.updateScrolledChart(n,t,e)}},{key:"updateScrolledChart",value:function(t,e,i){var a=this.w;this.ctx.updateHelpers._updateOptions(t,!1,!1),"function"==typeof a.config.chart.events.scrolled&&a.config.chart.events.scrolled(this.ctx,{xaxis:{min:e,max:i}})}}]),i}(dt),ut=function(){function t(i){e(this,t),this.w=i.w,this.ttCtx=i,this.ctx=i.ctx}return a(t,[{key:"getNearestValues",value:function(t){var e=t.hoverArea,i=t.elGrid,a=t.clientX,s=t.clientY,r=this.w,n=r.globals.gridWidth,o=n/(r.globals.dataPoints-1),l=i.getBoundingClientRect(),h=this.hasBars();(r.globals.comboCharts||h)&&(o=n/r.globals.dataPoints);var c=a-l.left,d=s-l.top;c<0||d<0||c>r.globals.gridWidth||d>r.globals.gridHeight?(e.classList.remove("hovering-zoom"),e.classList.remove("hovering-pan")):r.globals.zoomEnabled?(e.classList.remove("hovering-pan"),e.classList.add("hovering-zoom")):r.globals.panEnabled&&(e.classList.remove("hovering-zoom"),e.classList.add("hovering-pan"));var u=Math.round(c/o);h&&(u=Math.ceil(c/o),u-=1);for(var f,p=null,x=null,b=[],m=0;m1?r=this.getFirstActiveXArray(i):n=0;var l=a[r][0],h=i[r][0],c=Math.abs(t-h),d=Math.abs(e-l),g=d+c;return a.map((function(s,r){s.map((function(s,l){var h=Math.abs(e-a[r][l]),u=Math.abs(t-i[r][l]),f=u+h;f0?e:-1})),s=0;s0)for(var a=0;a0}},{key:"getElBars",value:function(){return this.w.globals.dom.baseEl.querySelectorAll(".apexcharts-bar-series, .apexcharts-candlestick-series, .apexcharts-rangebar-series")}},{key:"hasBars",value:function(){return this.getElBars().length>0}},{key:"getHoverMarkerSize",value:function(t){var e=this.w,i=e.config.markers.hover.size;return void 0===i&&(i=e.globals.markers.size[t]+e.config.markers.hover.sizeOffset),i}},{key:"toggleAllTooltipSeriesGroups",value:function(t){var e=this.w,i=this.ttCtx;0===i.allTooltipSeriesGroups.length&&(i.allTooltipSeriesGroups=e.globals.dom.baseEl.querySelectorAll(".apexcharts-tooltip-series-group"));for(var a=i.allTooltipSeriesGroups,s=0;s-1?f[0].parentNode.style.display="none":f[0].parentNode.style.display=l.config.tooltip.items.display)}},{key:"toggleActiveInactiveSeries",value:function(t){var e=this.w;if(t)this.tooltipUtil.toggleAllTooltipSeriesGroups("enable");else{this.tooltipUtil.toggleAllTooltipSeriesGroups("disable");var i=e.globals.dom.baseEl.querySelector(".apexcharts-tooltip-series-group");i&&(i.classList.add("apexcharts-active"),i.style.display=e.config.tooltip.items.display)}}},{key:"getValuesToPrint",value:function(t){var e=t.i,i=t.j,a=this.w,s=this.ctx.series.filteredSeriesX(),r="",n="",o=null,l=null,h={series:a.globals.series,seriesIndex:e,dataPointIndex:i,w:a},c=a.globals.ttZFormatter;null===i?l=a.globals.series[e]:a.globals.isXNumeric?(r=s[e][i],0===s[e].length&&(r=s[this.tooltipUtil.getFirstActiveXArray(s)][i])):r=void 0!==a.globals.labels[i]?a.globals.labels[i]:"";var d=r;a.globals.isXNumeric&&"datetime"===a.config.xaxis.type?r=new W(this.ctx).xLabelFormat(a.globals.ttKeyFormatter,d,d):a.globals.isBarHorizontal||(r=a.globals.xLabelFormatter(d,h));return void 0!==a.config.tooltip.x.formatter&&(r=a.globals.ttKeyFormatter(d,h)),a.globals.seriesZ.length>0&&a.globals.seriesZ[0].length>0&&(o=c(a.globals.seriesZ[e][i],a)),n="function"==typeof a.config.xaxis.tooltip.formatter?a.globals.xaxisTooltipFormatter(d,h):r,{val:Array.isArray(l)?l.join(" "):l,xVal:Array.isArray(r)?r.join(" "):r,xAxisTTVal:Array.isArray(n)?n.join(" "):n,zVal:o}}},{key:"handleCustomTooltip",value:function(t){var e=t.i,i=t.j,a=t.y1,s=t.y2,r=t.w,n=this.ttCtx.getElTooltip(),o=r.config.tooltip.custom;Array.isArray(o)&&o[e]&&(o=o[e]),n.innerHTML=o({ctx:this.ctx,series:r.globals.series,seriesIndex:e,dataPointIndex:i,y1:a,y2:s,w:r})}}]),t}(),pt=function(){function t(i){e(this,t),this.ttCtx=i,this.ctx=i.ctx,this.w=i.w}return a(t,[{key:"moveXCrosshairs",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,i=this.ttCtx,a=this.w,s=i.getElXCrosshairs(),r=t-i.xcrosshairsWidth/2,n=a.globals.labels.slice().length;if(null!==e&&(r=a.globals.gridWidth/n*e),null!==s&&(s.setAttribute("x",r),s.setAttribute("x1",r),s.setAttribute("x2",r),s.setAttribute("y2",a.globals.gridHeight),s.classList.add("apexcharts-active")),r<0&&(r=0),r>a.globals.gridWidth&&(r=a.globals.gridWidth),i.blxaxisTooltip){var o=r;"tickWidth"!==a.config.xaxis.crosshairs.width&&"barWidth"!==a.config.xaxis.crosshairs.width||(o=r+i.xcrosshairsWidth/2),this.moveXAxisTooltip(o)}}},{key:"moveYCrosshairs",value:function(t){var e=this.ttCtx;null!==e.ycrosshairs&&(p.setAttrs(e.ycrosshairs,{y1:t,y2:t}),p.setAttrs(e.ycrosshairsHidden,{y1:t,y2:t}))}},{key:"moveXAxisTooltip",value:function(t){var e=this.w,i=this.ttCtx;if(null!==i.xaxisTooltip){i.xaxisTooltip.classList.add("apexcharts-active");var a=i.xaxisOffY+e.config.xaxis.tooltip.offsetY+e.globals.translateY+1+e.config.xaxis.offsetY;if(t-=i.xaxisTooltip.getBoundingClientRect().width/2,!isNaN(t)){t+=e.globals.translateX;var s;s=new p(this.ctx).getTextRects(i.xaxisTooltipText.innerHTML),i.xaxisTooltipText.style.minWidth=s.width+"px",i.xaxisTooltip.style.left=t+"px",i.xaxisTooltip.style.top=a+"px"}}}},{key:"moveYAxisTooltip",value:function(t){var e=this.w,i=this.ttCtx;null===i.yaxisTTEls&&(i.yaxisTTEls=e.globals.dom.baseEl.querySelectorAll(".apexcharts-yaxistooltip"));var a=parseInt(i.ycrosshairsHidden.getAttribute("y1"),10),s=e.globals.translateY+a,r=i.yaxisTTEls[t].getBoundingClientRect().height,n=e.globals.translateYAxisX[t]-2;e.config.yaxis[t].opposite&&(n-=26),s-=r/2,-1===e.globals.ignoreYAxisIndexes.indexOf(t)?(i.yaxisTTEls[t].classList.add("apexcharts-active"),i.yaxisTTEls[t].style.top=s+"px",i.yaxisTTEls[t].style.left=n+e.config.yaxis[t].tooltip.offsetX+"px"):i.yaxisTTEls[t].classList.remove("apexcharts-active")}},{key:"moveTooltip",value:function(t,e){var i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null,a=this.w,s=this.ttCtx,r=s.getElTooltip(),n=s.tooltipRect,o=null!==i?parseFloat(i):1,l=parseFloat(t)+o+5,h=parseFloat(e)+o/2;if(l>a.globals.gridWidth/2&&(l=l-n.ttWidth-o-15),l>a.globals.gridWidth-n.ttWidth-10&&(l=a.globals.gridWidth-n.ttWidth),l<-20&&(l=-20),a.config.tooltip.followCursor){var c=s.getElGrid(),d=c.getBoundingClientRect();h=s.e.clientY+a.globals.translateY-d.top-n.ttHeight/2}if(!a.config.tooltip.followCursor){var g=this.positionChecks(n,l,h);l=g.x,h=g.y}isNaN(l)||(l+=a.globals.translateX,r.style.left=l+"px",r.style.top=h+"px")}},{key:"positionChecks",value:function(t,e,i){var a=this.w;return t.ttHeight/2+i>a.globals.gridHeight&&(i=a.globals.gridHeight-t.ttHeight+a.globals.translateY),i<0&&(i=0),{x:e,y:i}}},{key:"moveMarkers",value:function(t,e){var i=this.w,a=this.ttCtx;if(i.globals.markers.size[t]>0)for(var s=i.globals.dom.baseEl.querySelectorAll(" .apexcharts-series[data\\:realIndex='".concat(t,"'] .apexcharts-marker")),r=0;r=2&&s%2==0?Math.floor(s/2):Math.floor(s/2)+1,n=i.globals.dom.baseEl.querySelector(".apexcharts-bar-series .apexcharts-series[rel='".concat(r,"'] path[j='").concat(t,"'], .apexcharts-candlestick-series .apexcharts-series[rel='").concat(r,"'] path[j='").concat(t,"'], .apexcharts-rangebar-series .apexcharts-series[rel='").concat(r,"'] path[j='").concat(t,"']")),o=n?parseFloat(n.getAttribute("cx")):0,l=n?parseFloat(n.getAttribute("barWidth")):0;i.globals.isXNumeric?o-=s%2!=0?l/2:0:(o=a.xAxisTicksPositions[t-1]+a.dataPointsDividedWidth/2,isNaN(o)&&(o=a.xAxisTicksPositions[t]-a.dataPointsDividedWidth/2));var h=a.getElGrid().getBoundingClientRect();if(e=a.e.clientY-h.top-a.tooltipRect.ttHeight/2,this.moveXCrosshairs(o),!a.fixedTooltip){var c=e||i.globals.gridHeight;this.moveTooltip(o,c)}}}]),t}(),xt=function(){function t(i){e(this,t),this.w=i.w,this.ttCtx=i,this.ctx=i.ctx,this.tooltipPosition=new pt(i)}return a(t,[{key:"drawDynamicPoints",value:function(){var t=this.w,e=new p(this.ctx),i=new P(this.ctx),a=t.globals.dom.baseEl.querySelectorAll(".apexcharts-series");(a=d(a)).sort((function(t,e){return Number(e.getAttribute("data:realIndex"))2&&void 0!==arguments[2]?arguments[2]:null,a=arguments.length>3&&void 0!==arguments[3]?arguments[3]:null,s=this.w;"bubble"!==s.config.chart.type&&this.newPointSize(t,e);var r=e.getAttribute("cx"),n=e.getAttribute("cy");if(null!==i&&null!==a&&(r=i,n=a),this.tooltipPosition.moveXCrosshairs(r),!this.fixedTooltip){if("radar"===s.config.chart.type){var o=this.ttCtx.getElGrid(),l=o.getBoundingClientRect();r=this.ttCtx.e.clientX-l.left}this.tooltipPosition.moveTooltip(r,n,s.config.markers.hover.size)}}},{key:"enlargePoints",value:function(t){for(var e=this.w,i=this.ttCtx,a=t,s=e.globals.dom.baseEl.querySelectorAll(".apexcharts-series:not(.apexcharts-series-collapsed) .apexcharts-marker"),r=e.config.markers.hover.size,n=0;nn.globals.gridWidth/2&&(a=h-r.tooltipRect.ttWidth/2+d),r.w.config.tooltip.followCursor){var u=r.getElGrid().getBoundingClientRect();s=r.e.clientY-u.top+n.globals.translateY/2-10}}return{x:a,y:s}}},{key:"handleMarkerTooltip",value:function(t){var e,i,a=t.e,s=t.opt,r=t.x,n=t.y,o=this.w,l=this.ttCtx;if(a.target.classList.contains("apexcharts-marker")){var h=parseInt(s.paths.getAttribute("cx"),10),c=parseInt(s.paths.getAttribute("cy"),10),d=parseFloat(s.paths.getAttribute("val"));if(i=parseInt(s.paths.getAttribute("rel"),10),e=parseInt(s.paths.parentNode.parentNode.parentNode.getAttribute("rel"),10)-1,l.intersect){var u=g.findAncestor(s.paths,"apexcharts-series");u&&(e=parseInt(u.getAttribute("data:realIndex"),10))}if(l.tooltipLabels.drawSeriesTexts({ttItems:s.ttItems,i:e,j:i,shared:!l.showOnIntersect&&o.config.tooltip.shared}),"mouseup"===a.type&&l.markerClick(a,e,i),o.globals.capturedSeriesIndex=e,o.globals.capturedDataPointIndex=i,r=h,n=c+o.globals.translateY-1.4*l.tooltipRect.ttHeight,l.w.config.tooltip.followCursor){var f=l.getElGrid().getBoundingClientRect();n=l.e.clientY+o.globals.translateY-f.top}d<0&&(n=c),l.marker.enlargeCurrentPoint(i,s.paths,r,n)}return{x:r,y:n}}},{key:"handleBarTooltip",value:function(t){var e,i,a=t.e,s=t.opt,r=this.w,n=this.ttCtx,o=n.getElTooltip(),l=0,h=0,c=0,d=this.getBarTooltipXY({e:a,opt:s});e=d.i;var g=d.barHeight,u=d.j;if(r.globals.capturedSeriesIndex=e,r.globals.capturedDataPointIndex=u,r.globals.isBarHorizontal&&n.tooltipUtil.hasBars()||!r.config.tooltip.shared?(h=d.x,c=d.y,i=Array.isArray(r.config.stroke.width)?r.config.stroke.width[e]:r.config.stroke.width,l=h):r.globals.comboCharts||r.config.tooltip.shared||(l/=2),isNaN(c)?c=r.globals.svgHeight-n.tooltipRect.ttHeight:c<0&&(c=0),h+n.tooltipRect.ttWidth>r.globals.gridWidth?h-=n.tooltipRect.ttWidth:h<0&&(h=0),n.w.config.tooltip.followCursor){var f=n.getElGrid().getBoundingClientRect();c=n.e.clientY-f.top}if(null===n.tooltip&&(n.tooltip=r.globals.dom.baseEl.querySelector(".apexcharts-tooltip")),r.config.tooltip.shared||(r.globals.comboBarCount>0?n.tooltipPosition.moveXCrosshairs(l+i/2):n.tooltipPosition.moveXCrosshairs(l)),!n.fixedTooltip&&(!r.config.tooltip.shared||r.globals.isBarHorizontal&&n.tooltipUtil.hasBars())){var p=r.globals.isMultipleYAxis?r.config.yaxis[x]&&r.config.yaxis[x].reversed:r.config.yaxis[0].reversed;p&&(h-=n.tooltipRect.ttWidth)<0&&(h=0),o.style.left=h+r.globals.translateX+"px";var x=parseInt(s.paths.parentNode.getAttribute("data:realIndex"),10);!p||r.globals.isBarHorizontal&&n.tooltipUtil.hasBars()||(c=c+g-2*(r.globals.series[e][u]<0?g:0)),n.tooltipRect.ttHeight+c>r.globals.gridHeight?(c=r.globals.gridHeight-n.tooltipRect.ttHeight+r.globals.translateY,o.style.top=c+"px"):o.style.top=c+r.globals.translateY-n.tooltipRect.ttHeight/2+"px"}}},{key:"getBarTooltipXY",value:function(t){var e=t.e,i=t.opt,a=this.w,s=null,r=this.ttCtx,n=0,o=0,l=0,h=0,c=0,d=e.target.classList;if(d.contains("apexcharts-bar-area")||d.contains("apexcharts-candlestick-area")||d.contains("apexcharts-rangebar-area")){var g=e.target,u=g.getBoundingClientRect(),f=i.elGrid.getBoundingClientRect(),p=u.height;c=u.height;var x=u.width,b=parseInt(g.getAttribute("cx"),10),m=parseInt(g.getAttribute("cy"),10);h=parseFloat(g.getAttribute("barWidth"));var v="touchmove"===e.type?e.touches[0].clientX:e.clientX;s=parseInt(g.getAttribute("j"),10),n=parseInt(g.parentNode.getAttribute("rel"),10)-1;var y=g.getAttribute("data-range-y1"),w=g.getAttribute("data-range-y2");a.globals.comboCharts&&(n=parseInt(g.parentNode.getAttribute("data:realIndex"),10)),r.tooltipLabels.drawSeriesTexts({ttItems:i.ttItems,i:n,j:s,y1:y?parseInt(y,10):null,y2:w?parseInt(w,10):null,shared:!r.showOnIntersect&&a.config.tooltip.shared}),a.config.tooltip.followCursor?a.globals.isBarHorizontal?(o=v-f.left+15,l=m-r.dataPointsDividedHeight+p/2-r.tooltipRect.ttHeight/2):(o=a.globals.isXNumeric?b-x/2:b-r.dataPointsDividedWidth+x/2,l=e.clientY-f.top-r.tooltipRect.ttHeight/2-15):a.globals.isBarHorizontal?((o=b)0&&i.setAttribute("width",e.xcrosshairsWidth)}},{key:"handleYCrosshair",value:function(){var t=this.w,e=this.ttCtx;e.ycrosshairs=t.globals.dom.baseEl.querySelector(".apexcharts-ycrosshairs"),e.ycrosshairsHidden=t.globals.dom.baseEl.querySelector(".apexcharts-ycrosshairs-hidden")}},{key:"drawYaxisTooltipText",value:function(t,e,i){var a=this.ttCtx,s=this.w,r=s.globals.yLabelFormatters[t];if(a.blyaxisTooltip){var n=a.getElGrid().getBoundingClientRect(),o=(e-n.top)*i.yRatio[t],l=s.globals.maxYArr[t]-s.globals.minYArr[t],h=s.globals.minYArr[t]+(l-o);a.tooltipPosition.moveYCrosshairs(e-n.top),a.yaxisTooltipText[t].innerHTML=r(h),a.tooltipPosition.moveYAxisTooltip(t)}}}]),t}(),vt=function(){function t(i){e(this,t),this.ctx=i,this.w=i.w;var a=this.w;this.tConfig=a.config.tooltip,this.tooltipUtil=new ut(this),this.tooltipLabels=new ft(this),this.tooltipPosition=new pt(this),this.marker=new xt(this),this.intersect=new bt(this),this.axesTooltip=new mt(this),this.showOnIntersect=this.tConfig.intersect,this.showTooltipTitle=this.tConfig.x.show,this.fixedTooltip=this.tConfig.fixed.enabled,this.xaxisTooltip=null,this.yaxisTTEls=null,this.isBarShared=!a.globals.isBarHorizontal&&this.tConfig.shared}return a(t,[{key:"getElTooltip",value:function(t){return t||(t=this),t.w.globals.dom.baseEl.querySelector(".apexcharts-tooltip")}},{key:"getElXCrosshairs",value:function(){return this.w.globals.dom.baseEl.querySelector(".apexcharts-xcrosshairs")}},{key:"getElGrid",value:function(){return this.w.globals.dom.baseEl.querySelector(".apexcharts-grid")}},{key:"drawTooltip",value:function(t){var e=this.w;this.xyRatios=t,this.blxaxisTooltip=e.config.xaxis.tooltip.enabled&&e.globals.axisCharts,this.blyaxisTooltip=e.config.yaxis[0].tooltip.enabled&&e.globals.axisCharts,this.allTooltipSeriesGroups=[],e.globals.axisCharts||(this.showTooltipTitle=!1);var i=document.createElement("div");if(i.classList.add("apexcharts-tooltip"),i.classList.add("apexcharts-theme-".concat(this.tConfig.theme)),e.globals.dom.elWrap.appendChild(i),e.globals.axisCharts){this.axesTooltip.drawXaxisTooltip(),this.axesTooltip.drawYaxisTooltip(),this.axesTooltip.setXCrosshairWidth(),this.axesTooltip.handleYCrosshair();var a=new G(this.ctx);this.xAxisTicksPositions=a.getXAxisTicksPositions()}if(!e.globals.comboCharts&&!this.tConfig.intersect&&"bar"!==e.config.chart.type&&"rangeBar"!==e.config.chart.type||this.tConfig.shared||(this.showOnIntersect=!0),0!==e.config.markers.size&&0!==e.globals.markers.largestSize||this.marker.drawDynamicPoints(this),e.globals.collapsedSeries.length!==e.globals.series.length){this.dataPointsDividedHeight=e.globals.gridHeight/e.globals.dataPoints,this.dataPointsDividedWidth=e.globals.gridWidth/e.globals.dataPoints,this.showTooltipTitle&&(this.tooltipTitle=document.createElement("div"),this.tooltipTitle.classList.add("apexcharts-tooltip-title"),this.tooltipTitle.style.fontFamily=this.tConfig.style.fontFamily||e.config.chart.fontFamily,this.tooltipTitle.style.fontSize=this.tConfig.style.fontSize,i.appendChild(this.tooltipTitle));var s=e.globals.series.length;(e.globals.xyCharts||e.globals.comboCharts)&&this.tConfig.shared&&(s=this.showOnIntersect?1:e.globals.series.length),this.legendLabels=e.globals.dom.baseEl.querySelectorAll(".apexcharts-legend-text"),this.ttItems=this.createTTElements(s),this.addSVGEvents()}}},{key:"createTTElements",value:function(t){for(var e=this.w,i=[],a=this.getElTooltip(),s=0;s0&&this.addPathsEventListeners(u,c),this.tooltipUtil.hasBars()&&!this.tConfig.shared&&this.addDatapointEventsListeners(c)}}},{key:"drawFixedTooltipRect",value:function(){var t=this.w,e=this.getElTooltip(),i=e.getBoundingClientRect(),a=i.width+10,s=i.height+10,r=this.tConfig.fixed.offsetX,n=this.tConfig.fixed.offsetY,o=this.tConfig.fixed.position.toLowerCase();return o.indexOf("right")>-1&&(r=r+t.globals.svgWidth-a+10),o.indexOf("bottom")>-1&&(n=n+t.globals.svgHeight-s-10),e.style.left=r+"px",e.style.top=n+"px",{x:r,y:n,ttWidth:a,ttHeight:s}}},{key:"addDatapointEventsListeners",value:function(t){var e=this.w.globals.dom.baseEl.querySelectorAll(".apexcharts-series-markers .apexcharts-marker, .apexcharts-bar-area, .apexcharts-candlestick-area, .apexcharts-rangebar-area");this.addPathsEventListeners(e,t)}},{key:"addPathsEventListeners",value:function(t,e){for(var i=this,a=function(a){var s={paths:t[a],tooltipEl:e.tooltipEl,tooltipY:e.tooltipY,tooltipX:e.tooltipX,elGrid:e.elGrid,hoverArea:e.hoverArea,ttItems:e.ttItems};["mousemove","mouseup","touchmove","mouseout","touchend"].map((function(e){return t[a].addEventListener(e,i.seriesHover.bind(i,s),{capture:!1,passive:!0})}))},s=0;sn.top+n.height)this.handleMouseOut(s);else{if(Array.isArray(this.tConfig.enabledOnSeries)&&!r.config.tooltip.shared){var h=parseInt(s.paths.getAttribute("index"),10);if(this.tConfig.enabledOnSeries.indexOf(h)<0)return void this.handleMouseOut(s)}var c=this.getElTooltip(),d=this.getElXCrosshairs(),g=r.globals.xyCharts||"bar"===r.config.chart.type&&!r.globals.isBarHorizontal&&this.tooltipUtil.hasBars()&&this.tConfig.shared||r.globals.comboCharts&&this.tooltipUtil.hasBars();if(r.globals.isBarHorizontal&&this.tooltipUtil.hasBars()&&(g=!1),"mousemove"===a.type||"touchmove"===a.type||"mouseup"===a.type){if(null!==d&&d.classList.add("apexcharts-active"),null!==this.ycrosshairs&&this.blyaxisTooltip&&this.ycrosshairs.classList.add("apexcharts-active"),g&&!this.showOnIntersect)this.handleStickyTooltip(a,o,l,s);else if("heatmap"===r.config.chart.type){var u=this.intersect.handleHeatTooltip({e:a,opt:s,x:e,y:i});e=u.x,i=u.y,c.style.left=e+"px",c.style.top=i+"px"}else this.tooltipUtil.hasBars()&&this.intersect.handleBarTooltip({e:a,opt:s}),this.tooltipUtil.hasMarkers()&&this.intersect.handleMarkerTooltip({e:a,opt:s,x:e,y:i});if(this.blyaxisTooltip)for(var f=0;fs.globals.gridWidth?this.handleMouseOut(a):null!==o?this.handleStickyCapturedSeries(t,o,a,n):this.tooltipUtil.isXoverlap(n)&&this.create(t,this,0,n,a.ttItems)}},{key:"handleStickyCapturedSeries",value:function(t,e,i,a){var s=this.w;null===s.globals.series[e][a]?this.handleMouseOut(i):void 0!==s.globals.series[e][a]?this.tConfig.shared&&this.tooltipUtil.isXoverlap(a)&&this.tooltipUtil.isInitialSeriesSameLen()?this.create(t,this,e,a,i.ttItems):this.create(t,this,e,a,i.ttItems,!1):this.tooltipUtil.isXoverlap(a)&&this.create(t,this,0,a,i.ttItems)}},{key:"deactivateHoverFilter",value:function(){for(var t=this.w,e=new p(this.ctx),i=t.globals.dom.Paper.select(".apexcharts-bar-area"),a=0;a5&&void 0!==arguments[5]?arguments[5]:null,n=this.w,o=e;"mouseup"===t.type&&this.markerClick(t,i,a),null===r&&(r=this.tConfig.shared);var l=this.tooltipUtil.hasMarkers(),h=this.tooltipUtil.getElBars();if(n.config.legend.tooltipHoverFormatter){var c=n.config.legend.tooltipHoverFormatter,d=Array.from(this.legendLabels);d.forEach((function(t){var e=t.getAttribute("data:default-text");t.innerHTML=decodeURIComponent(e)}));for(var g=0;g0?o.marker.enlargePoints(a):o.tooltipPosition.moveDynamicPointsOnHover(a)),this.tooltipUtil.hasBars()&&(this.barSeriesHeight=this.tooltipUtil.getBarsHeight(h),this.barSeriesHeight>0)){var m=new p(this.ctx),v=n.globals.dom.Paper.select(".apexcharts-bar-area[j='".concat(a,"']"));this.deactivateHoverFilter(),this.tooltipPosition.moveStickyTooltipOverBars(a);for(var y=0;y0&&(this.totalItems+=t[r].length);for(var o=this.graphics.group({class:"apexcharts-bar-series apexcharts-plot-series"}),l=0,h=0,c=function(s,r){var c=void 0,d=void 0,u=void 0,f=void 0,p=[],x=[],b=a.globals.comboCharts?e[s]:s;i.yRatio.length>1&&(i.yaxisIndex=b),i.isReversed=a.config.yaxis[i.yaxisIndex]&&a.config.yaxis[i.yaxisIndex].reversed;var m=i.graphics.group({class:"apexcharts-series",seriesName:g.escapeString(a.globals.seriesNames[b]),rel:s+1,"data:realIndex":b}),v=i.graphics.group({class:"apexcharts-datalabels","data:realIndex":b}),y=0,w=0,k=i.initialPositions(l,h,c,d,u,f);h=k.y,y=k.barHeight,d=k.yDivision,f=k.zeroW,l=k.x,w=k.barWidth,c=k.xDivision,u=k.zeroH,i.yArrj=[],i.yArrjF=[],i.yArrjVal=[],i.xArrj=[],i.xArrjF=[],i.xArrjVal=[],1===i.prevY.length&&i.prevY[0].every((function(t){return isNaN(t)}))&&(i.prevY[0]=i.prevY[0].map((function(t){return u})),i.prevYF[0]=i.prevYF[0].map((function(t){return 0})));for(var A=0;A0){var b=r;this.prevXVal[g-1][u]<0?b=this.series[g][u]>=0?this.prevX[g-1][u]+p-2*(this.isReversed?p:0):this.prevX[g-1][u]:this.prevXVal[g-1][u]>=0&&(b=this.series[g][u]>=0?this.prevX[g-1][u]:this.prevX[g-1][u]-p+2*(this.isReversed?p:0)),e=b}else e=r;n=null===this.series[g][u]?e:e+this.series[g][u]/this.invertedYRatio-2*(this.isReversed?this.series[g][u]/this.invertedYRatio:0),this.xArrj.push(n),this.xArrjF.push(Math.abs(e-n)),this.xArrjVal.push(this.series[g][u]);var m=this.barHelpers.getBarpaths({barYPosition:d,barHeight:a,x1:e,x2:n,strokeWidth:s,series:this.series,realIndex:i.realIndex,i:g,j:u,w:c});return this.barHelpers.barBackground({bc:f,i:g,y1:d,y2:a,elSeries:h}),o+=l,{pathTo:m.pathTo,pathFrom:m.pathFrom,x:n,y:o}}},{key:"drawStackedColumnPaths",value:function(t){var e=t.indexes,i=t.x,a=t.y,s=t.xDivision,r=t.barWidth,n=t.zeroH,o=(t.strokeWidth,t.elSeries),l=this.w,h=e.i,c=e.j,d=e.bc;if(l.globals.isXNumeric){var g=l.globals.seriesX[h][c];g||(g=0),i=(g-l.globals.minX)/this.xRatio-r/2}for(var u,f=i,p=0,x=0;x0&&!l.globals.isXNumeric||h>0&&l.globals.isXNumeric&&l.globals.seriesX[h-1][c]===l.globals.seriesX[h][c]){var b,m,v=Math.min(this.yRatio.length+1,h+1);if(void 0!==this.prevY[h-1])for(var y=1;y=0?m-p+2*(this.isReversed?p:0):m;break}if(this.prevYVal[h-w][c]>=0){b=this.series[h][c]>=0?m:m+p-2*(this.isReversed?p:0);break}}void 0===b&&(b=l.globals.gridHeight),u=this.prevYF[0].every((function(t){return 0===t}))&&this.prevYF.slice(1,h).every((function(t){return t.every((function(t){return isNaN(t)}))}))?l.globals.gridHeight-n:b}else u=l.globals.gridHeight-n;a=u-this.series[h][c]/this.yRatio[this.yaxisIndex]+2*(this.isReversed?this.series[h][c]/this.yRatio[this.yaxisIndex]:0),this.yArrj.push(a),this.yArrjF.push(Math.abs(u-a)),this.yArrjVal.push(this.series[h][c]);var k=this.barHelpers.getColumnPaths({barXPosition:f,barWidth:r,y1:u,y2:a,yRatio:this.yRatio[this.yaxisIndex],strokeWidth:this.strokeWidth,series:this.series,realIndex:e.realIndex,i:h,j:c,w:l});return this.barHelpers.barBackground({bc:d,i:h,x1:f,x2:r,elSeries:o}),i+=s,{pathTo:k.pathTo,pathFrom:k.pathFrom,x:l.globals.isXNumeric?i-s:i,y:a}}}]),i}(E),wt=function(t){function i(){return e(this,i),c(this,l(i).apply(this,arguments))}return o(i,t),a(i,[{key:"draw",value:function(t,e){var i=this.w,a=new p(this.ctx),s=new L(this.ctx);this.candlestickOptions=this.w.config.plotOptions.candlestick;var r=new m(this.ctx,i);t=r.getLogSeries(t),this.series=t,this.yRatio=r.getLogYRatios(this.yRatio),this.barHelpers.initVariables(t);for(var n=a.group({class:"apexcharts-candlestick-series apexcharts-plot-series"}),o=0;o0&&(this.visibleI=this.visibleI+1);var v,y;this.yRatio.length>1&&(this.yaxisIndex=x);var w=this.barHelpers.initialPositions();d=w.y,v=w.barHeight,c=w.x,y=w.barWidth,l=w.xDivision,h=w.zeroH,f.push(c+y/2);for(var k=a.group({class:"apexcharts-datalabels","data:realIndex":x}),A=0;A0&&f.push(c+y/2),u.push(d);var T=s.fillPath({seriesNumber:x,dataPointIndex:A,color:S,value:t[o][A]}),z=this.candlestickOptions.wick.useFillColor?S:void 0;this.renderSeries({realIndex:x,pathFill:T,lineFill:z,j:A,i:o,pathFrom:P.pathFrom,pathTo:P.pathTo,strokeWidth:C,elSeries:b,x:c,y:d,series:t,barHeight:v,barWidth:y,elDataLabelsWrap:k,visibleSeries:this.visibleI,type:"candlestick"})}i.globals.seriesXvalues[x]=f,i.globals.seriesYvalues[x]=u,n.add(b)}return n}},{key:"drawCandleStickPaths",value:function(t){var e=t.indexes,i=t.x,a=(t.y,t.xDivision),s=t.barWidth,r=t.zeroH,n=t.strokeWidth,o=this.w,l=new p(this.ctx),h=e.i,c=e.j,d=!0,g=o.config.plotOptions.candlestick.colors.upward,u=o.config.plotOptions.candlestick.colors.downward,f=this.yRatio[this.yaxisIndex],x=e.realIndex,b=this.getOHLCValue(x,c),m=r,v=r;b.o>b.c&&(d=!1);var y=Math.min(b.o,b.c),w=Math.max(b.o,b.c);o.globals.isXNumeric&&(i=(o.globals.seriesX[x][c]-o.globals.minX)/this.xRatio-s/2);var k=i+s*this.visibleI;void 0===this.series[h][c]||null===this.series[h][c]?y=r:(y=r-y/f,w=r-w/f,m=r-b.h/f,v=r-b.l/f);var A=l.move(k,r),S=l.move(k,y);return o.globals.previousPaths.length>0&&(S=this.getPreviousPath(x,c,!0)),A=l.move(k,w)+l.line(k+s/2,w)+l.line(k+s/2,m)+l.line(k+s/2,w)+l.line(k+s,w)+l.line(k+s,y)+l.line(k+s/2,y)+l.line(k+s/2,v)+l.line(k+s/2,y)+l.line(k,y)+l.line(k,w-n/2),S+=l.move(k,y),o.globals.isXNumeric||(i+=a),{pathTo:A,pathFrom:S,x:i,y:w,barXPosition:k,color:d?g:u}}},{key:"getOHLCValue",value:function(t,e){var i=this.w;return{o:i.globals.seriesCandleO[t][e],h:i.globals.seriesCandleH[t][e],l:i.globals.seriesCandleL[t][e],c:i.globals.seriesCandleC[t][e]}}}]),i}(E),kt=function(){function t(i,a){e(this,t),this.ctx=i,this.w=i.w,this.xRatio=a.xRatio,this.yRatio=a.yRatio,this.negRange=!1,this.dynamicAnim=this.w.config.chart.animations.dynamicAnimation,this.rectRadius=this.w.config.plotOptions.heatmap.radius,this.strokeWidth=this.w.config.stroke.show?this.w.config.stroke.width:0}return a(t,[{key:"draw",value:function(t){var e=this.w,i=new p(this.ctx),a=i.group({class:"apexcharts-heatmap"});a.attr("clip-path","url(#gridRectMask".concat(e.globals.cuid,")"));var s=e.globals.gridWidth/e.globals.dataPoints,r=e.globals.gridHeight/e.globals.series.length,n=0,o=!1;this.checkColorRange();var l=t.slice();e.config.yaxis[0].reversed&&(o=!0,l.reverse());for(var h=o?0:l.length-1;o?h=0;o?h++:h--){var c=i.group({class:"apexcharts-series apexcharts-heatmap-series",seriesName:g.escapeString(e.globals.seriesNames[h]),rel:h+1,"data:realIndex":h});if(e.config.chart.dropShadow.enabled){var d=e.config.chart.dropShadow;new u(this.ctx).dropShadow(c,d,h)}for(var f=0,x=0;x0&&e.colorScale.ranges.map((function(e,i){e.from<=0&&(t.negRange=!0)}))}},{key:"determineHeatColor",value:function(t,e){var i=this.w,a=i.globals.series[t][e],s=i.config.plotOptions.heatmap,r=s.colorScale.inverse?e:t,n=i.globals.colors[r],o=null,l=Math.min.apply(Math,d(i.globals.series[t])),h=Math.max.apply(Math,d(i.globals.series[t]));s.distributed||(l=i.globals.minY,h=i.globals.maxY),void 0!==s.colorScale.min&&(l=s.colorScale.mini.globals.maxY?s.colorScale.max:i.globals.maxY);var c=Math.abs(h)+Math.abs(l),g=100*a/(0===c?c-1e-6:c);s.colorScale.ranges.length>0&&s.colorScale.ranges.map((function(t,e){if(a>=t.from&&a<=t.to){n=t.color,o=t.foreColor?t.foreColor:null,l=t.from,h=t.to;var i=Math.abs(h)+Math.abs(l);g=100*a/(0===i?i-1e-6:i)}}));return{color:n,foreColor:o,percent:g}}},{key:"calculateHeatmapDataLabels",value:function(t){var e=t.x,i=t.y,a=t.i,s=t.j,r=t.heatColorProps,n=(t.series,t.rectHeight),o=t.rectWidth,l=this.w,h=l.config.dataLabels,c=new p(this.ctx),d=new z(this.ctx),g=h.formatter,u=null;if(h.enabled){u=c.group({class:"apexcharts-data-labels"});var f=h.offsetX,x=h.offsetY,b=e+o/2+f,m=i+n/2+parseFloat(h.style.fontSize)/3+x,v=g(l.globals.series[a][s],{seriesIndex:a,dataPointIndex:s,w:l});d.plotDataLabelsText({x:b,y:m,text:v,i:a,j:s,color:r.foreColor,parent:u,dataLabelsConfig:h})}return u}},{key:"animateHeatMap",value:function(t,e,i,a,s,r){var n=new f(this.ctx);n.animateRect(t,{x:e+a/2,y:i+s/2,width:0,height:0},{x:e,y:i,width:a,height:s},r,(function(){n.animationCompleted(t)}))}},{key:"animateHeatColor",value:function(t,e,i,a){t.attr({fill:e}).animate(a).attr({fill:i})}}]),t}(),At=function(){function t(i){e(this,t),this.ctx=i,this.w=i.w,this.chartType=this.w.config.chart.type,this.initialAnim=this.w.config.chart.animations.enabled,this.dynamicAnim=this.initialAnim&&this.w.config.chart.animations.dynamicAnimation.enabled,this.animDur=0;var a=this.w;this.graphics=new p(this.ctx),this.lineColorArr=void 0!==a.globals.stroke.colors?a.globals.stroke.colors:a.globals.colors,this.defaultSize=a.globals.svgHeight0&&(b=e.getPreviousPath(o));for(var m=0;m=10?t.x>0?(i="start",a+=10):t.x<0&&(i="end",a-=10):i="middle",Math.abs(t.y)>=e-10&&(t.y<0?s-=10:t.y>0&&(s+=10)),{textAnchor:i,newX:a,newY:s}}},{key:"getPreviousPath",value:function(t){for(var e=this.w,i=null,a=0;a0&&parseInt(s.realIndex,10)===parseInt(t,10)&&void 0!==e.globals.previousPaths[a].paths[0]&&(i=e.globals.previousPaths[a].paths[0].d)}return i}},{key:"getDataPointsPos",value:function(t,e){var i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:this.dataPointsLen;t=t||[],e=e||[];for(var a=[],s=0;s=360&&(g=360-Math.abs(this.startAngle)-.1);var f=i.drawPath({d:"",stroke:c,strokeWidth:n*parseInt(h.strokeWidth,10)/100,fill:"none",strokeOpacity:h.opacity,classes:"apexcharts-radialbar-area"});if(h.dropShadow.enabled){var x=h.dropShadow;s.dropShadow(f,x)}l.add(f),f.attr("id","apexcharts-radialbarTrack-"+o),this.animatePaths(f,{centerX:t.centerX,centerY:t.centerY,endAngle:g,startAngle:d,size:t.size,i:o,totalItems:2,animBeginArr:0,dur:0,isTrack:!0,easing:e.globals.easing})}return a}},{key:"drawArcs",value:function(t){var e=this.w,i=new p(this.ctx),a=new L(this.ctx),s=new u(this.ctx),r=i.group(),n=this.getStrokeWidth(t);t.size=t.size-n/2;var o=e.config.plotOptions.radialBar.hollow.background,l=t.size-n*t.series.length-this.margin*t.series.length-n*parseInt(e.config.plotOptions.radialBar.track.strokeWidth,10)/100/2,h=l-e.config.plotOptions.radialBar.hollow.margin;void 0!==e.config.plotOptions.radialBar.hollow.image&&(o=this.drawHollowImage(t,r,l,o));var c=this.drawHollow({size:h,centerX:t.centerX,centerY:t.centerY,fill:o||"transparent"});if(e.config.plotOptions.radialBar.hollow.dropShadow.enabled){var d=e.config.plotOptions.radialBar.hollow.dropShadow;s.dropShadow(c,d)}var f=1;!this.radialDataLabels.total.show&&e.globals.series.length>1&&(f=0);var x=null;this.radialDataLabels.show&&(x=this.renderInnerDataLabels(this.radialDataLabels,{hollowSize:l,centerX:t.centerX,centerY:t.centerY,opacity:f})),"back"===e.config.plotOptions.radialBar.hollow.position&&(r.add(c),x&&r.add(x));var b=!1;e.config.plotOptions.radialBar.inverseOrder&&(b=!0);for(var m=b?t.series.length-1:0;b?m>=0:m100?100:t.series[m])/100,S=Math.round(this.totalAngle*A)+this.startAngle,C=void 0;e.globals.dataChanged&&(k=this.startAngle,C=Math.round(this.totalAngle*g.negToZero(e.globals.previousPaths[m])/100)+k),Math.abs(S)+Math.abs(w)>=360&&(S-=.01),Math.abs(C)+Math.abs(k)>=360&&(C-=.01);var P=S-w,T=Array.isArray(e.config.stroke.dashArray)?e.config.stroke.dashArray[m]:e.config.stroke.dashArray,z=i.drawPath({d:"",stroke:y,strokeWidth:n,fill:"none",fillOpacity:e.config.fill.opacity,classes:"apexcharts-radialbar-area apexcharts-radialbar-slice-"+m,strokeDashArray:T});if(p.setAttrs(z.node,{"data:angle":P,"data:value":t.series[m]}),e.config.chart.dropShadow.enabled){var I=e.config.chart.dropShadow;s.dropShadow(z,I,m)}this.addListeners(z,this.radialDataLabels),v.add(z),z.attr({index:0,j:m});var M=0;!this.initialAnim||e.globals.resized||e.globals.dataChanged||(M=(S-w)/360*e.config.chart.animations.speed,this.animDur=M/(1.2*t.series.length)+this.animDur,this.animBeginArr.push(this.animDur)),e.globals.dataChanged&&(M=(S-w)/360*e.config.chart.animations.dynamicAnimation.speed,this.animDur=M/(1.2*t.series.length)+this.animDur,this.animBeginArr.push(this.animDur)),this.animatePaths(z,{centerX:t.centerX,centerY:t.centerY,endAngle:S,startAngle:w,prevEndAngle:C,prevStartAngle:k,size:t.size,i:m,totalItems:2,animBeginArr:this.animBeginArr,dur:M,shouldSetPrevPaths:!0,easing:e.globals.easing})}return{g:r,elHollow:c,dataLabels:x}}},{key:"drawHollow",value:function(t){var e=new p(this.ctx).drawCircle(2*t.size);return e.attr({class:"apexcharts-radialbar-hollow",cx:t.centerX,cy:t.centerY,r:t.size,fill:t.fill}),e}},{key:"drawHollowImage",value:function(t,e,i,a){var s=this.w,r=new L(this.ctx),n=g.randomId(),o=s.config.plotOptions.radialBar.hollow.image;if(s.config.plotOptions.radialBar.hollow.imageClipped)r.clippedImgArea({width:i,height:i,image:o,patternID:"pattern".concat(s.globals.cuid).concat(n)}),a="url(#pattern".concat(s.globals.cuid).concat(n,")");else{var l=s.config.plotOptions.radialBar.hollow.imageWidth,h=s.config.plotOptions.radialBar.hollow.imageHeight;if(void 0===l&&void 0===h){var c=s.globals.dom.Paper.image(o).loaded((function(e){this.move(t.centerX-e.width/2+s.config.plotOptions.radialBar.hollow.imageOffsetX,t.centerY-e.height/2+s.config.plotOptions.radialBar.hollow.imageOffsetY)}));e.add(c)}else{var d=s.globals.dom.Paper.image(o).loaded((function(e){this.move(t.centerX-l/2+s.config.plotOptions.radialBar.hollow.imageOffsetX,t.centerY-h/2+s.config.plotOptions.radialBar.hollow.imageOffsetY),this.size(l,h)}));e.add(d)}}return a}},{key:"getStrokeWidth",value:function(t){var e=this.w;return t.size*(100-parseInt(e.config.plotOptions.radialBar.hollow.size,10))/100/(t.series.length+1)-this.margin}}]),i}(lt),Ct=function(){function t(i){e(this,t),this.w=i.w,this.lineCtx=i}return a(t,[{key:"sameValueSeriesFix",value:function(t,e){var i=this.w;if("line"===i.config.chart.type&&("gradient"===i.config.fill.type||"gradient"===i.config.fill.type[t])&&new m(this.lineCtx.ctx,i).seriesHaveSameValues(t)){var a=e[t].slice();a[a.length-1]=a[a.length-1]+1e-6,e[t]=a}return e}},{key:"calculatePoints",value:function(t){var e=t.series,i=t.realIndex,a=t.x,s=t.y,r=t.i,n=t.j,o=t.prevY,l=this.w,h=[],c=[];if(0===n){var d=this.lineCtx.categoryAxisCorrection+l.config.markers.offsetX;l.globals.isXNumeric&&(d=(l.globals.seriesX[i][0]-l.globals.minX)/this.lineCtx.xRatio+l.config.markers.offsetX),h.push(d),c.push(g.isNumber(e[r][0])?o+l.config.markers.offsetY:null),h.push(a+l.config.markers.offsetX),c.push(g.isNumber(e[r][n+1])?s+l.config.markers.offsetY:null)}else h.push(a+l.config.markers.offsetX),c.push(g.isNumber(e[r][n+1])?s+l.config.markers.offsetY:null);return{x:h,y:c}}},{key:"checkPreviousPaths",value:function(t){for(var e=t.pathFromLine,i=t.pathFromArea,a=t.realIndex,s=this.w,r=0;r0&&parseInt(n.realIndex,10)===parseInt(a,10)&&("line"===n.type?(this.lineCtx.appendPathFrom=!1,e=s.globals.previousPaths[r].paths[0].d):"area"===n.type&&(this.lineCtx.appendPathFrom=!1,i=s.globals.previousPaths[r].paths[0].d,s.config.stroke.show&&s.globals.previousPaths[r].paths[1]&&(e=s.globals.previousPaths[r].paths[1].d)))}return{pathFromLine:e,pathFromArea:i}}},{key:"determineFirstPrevY",value:function(t){var e=t.i,i=t.series,a=t.prevY,s=t.lineYPosition,r=this.w;if(void 0!==i[e][0])a=(s=r.config.chart.stacked&&e>0?this.lineCtx.prevSeriesY[e-1][0]:this.lineCtx.zeroY)-i[e][0]/this.lineCtx.yRatio[this.lineCtx.yaxisIndex]+2*(this.lineCtx.isReversed?i[e][0]/this.lineCtx.yRatio[this.lineCtx.yaxisIndex]:0);else if(r.config.chart.stacked&&e>0&&void 0===i[e][0])for(var n=e-1;n>=0;n--)if(null!==i[n][0]&&void 0!==i[n][0]){a=s=this.lineCtx.prevSeriesY[n][0];break}return{prevY:a,lineYPosition:s}}}]),t}(),Lt=function(){function t(i,a,s){e(this,t),this.ctx=i,this.w=i.w,this.xyRatios=a,this.pointsChart=!("bubble"!==this.w.config.chart.type&&"scatter"!==this.w.config.chart.type)||s,this.scatter=new T(this.ctx),this.noNegatives=this.w.globals.minX===Number.MAX_VALUE,this.lineHelpers=new Ct(this),this.markers=new P(this.ctx),this.prevSeriesY=[],this.categoryAxisCorrection=0,this.yaxisIndex=0}return a(t,[{key:"draw",value:function(t,e,i){var a=this.w,s=new p(this.ctx),r=a.globals.comboCharts?e:a.config.chart.type,n=s.group({class:"apexcharts-".concat(r,"-series apexcharts-plot-series")}),o=new m(this.ctx,a);this.yRatio=this.xyRatios.yRatio,this.zRatio=this.xyRatios.zRatio,this.xRatio=this.xyRatios.xRatio,this.baseLineY=this.xyRatios.baseLineY,t=o.getLogSeries(t),this.yRatio=o.getLogYRatios(this.yRatio);for(var l=[],h=0;h0&&(u=(a.globals.seriesX[c][0]-a.globals.minX)/this.xRatio),g.push(u);var f,x=u,b=x,v=this.zeroY;v=this.lineHelpers.determineFirstPrevY({i:h,series:t,prevY:v,lineYPosition:0}).prevY,d.push(v),f=v;var y=this._calculatePathsFrom({series:t,i:h,realIndex:c,prevX:b,prevY:v}),w=this._iterateOverDataPoints({series:t,realIndex:c,i:h,x:u,y:1,pX:x,pY:f,pathsFrom:y,linePaths:[],areaPaths:[],seriesIndex:i,lineYPosition:0,xArrj:g,yArrj:d});this._handlePaths({type:r,realIndex:c,i:h,paths:w}),this.elSeries.add(this.elPointsMain),this.elSeries.add(this.elDataLabelsWrap),l.push(this.elSeries)}for(var k=l.length;k>0;k--)n.add(l[k-1]);return n}},{key:"_initSerieVariables",value:function(t,e,i){var a=this.w,s=new p(this.ctx);this.xDivision=a.globals.gridWidth/(a.globals.dataPoints-("on"===a.config.xaxis.tickPlacement?1:0)),this.strokeWidth=Array.isArray(a.config.stroke.width)?a.config.stroke.width[i]:a.config.stroke.width,this.yRatio.length>1&&(this.yaxisIndex=i),this.isReversed=a.config.yaxis[this.yaxisIndex]&&a.config.yaxis[this.yaxisIndex].reversed,this.zeroY=a.globals.gridHeight-this.baseLineY[this.yaxisIndex]-(this.isReversed?a.globals.gridHeight:0)+(this.isReversed?2*this.baseLineY[this.yaxisIndex]:0),this.areaBottomY=this.zeroY,this.zeroY>a.globals.gridHeight&&(this.areaBottomY=a.globals.gridHeight),this.categoryAxisCorrection=this.xDivision/2,this.elSeries=s.group({class:"apexcharts-series",seriesName:g.escapeString(a.globals.seriesNames[i])}),this.elPointsMain=s.group({class:"apexcharts-series-markers-wrap","data:realIndex":i}),this.elDataLabelsWrap=s.group({class:"apexcharts-datalabels","data:realIndex":i});var r=t[e].length===a.globals.dataPoints;this.elSeries.attr({"data:longestSeries":r,rel:e+1,"data:realIndex":i}),this.appendPathFrom=!0}},{key:"_calculatePathsFrom",value:function(t){var e,i,a,s,r=t.series,n=t.i,o=t.realIndex,l=t.prevX,h=t.prevY,c=this.w,d=new p(this.ctx);if(null===r[n][0]){for(var g=0;g0){var u=this.lineHelpers.checkPreviousPaths({pathFromLine:a,pathFromArea:s,realIndex:o});a=u.pathFromLine,s=u.pathFromArea}return{prevX:l,prevY:h,linePath:e,areaPath:i,pathFromLine:a,pathFromArea:s}}},{key:"_handlePaths",value:function(t){var e=t.type,i=t.realIndex,a=t.i,s=t.paths,r=this.w,o=new p(this.ctx),l=new L(this.ctx);this.prevSeriesY.push(s.yArrj),r.globals.seriesXvalues[i]=s.xArrj,r.globals.seriesYvalues[i]=s.yArrj,this.pointsChart||r.globals.delayedElements.push({el:this.elPointsMain.node,index:i});var h={i:a,realIndex:i,animationDelay:a,initialSpeed:r.config.chart.animations.speed,dataChangeSpeed:r.config.chart.animations.dynamicAnimation.speed,className:"apexcharts-".concat(e)};if("area"===e)for(var c=l.fillPath({seriesNumber:i}),d=0;d1?b.globals.dataPoints-1:b.globals.dataPoints,P=0;P0&&b.globals.collapsedSeries.length-1){e--;break}return e>=0?e:0}(a-1)][P+1]}else u=this.zeroY;else u=this.zeroY;r=T?u-C/v[this.yaxisIndex]+2*(this.isReversed?C/v[this.yaxisIndex]:0):u-e[a][P+1]/v[this.yaxisIndex]+2*(this.isReversed?e[a][P+1]/v[this.yaxisIndex]:0),f.push(s),x.push(r);var I=this.lineHelpers.calculatePoints({series:e,x:s,y:r,realIndex:i,i:a,j:P,prevY:y}),M=this._createPaths({series:e,i:a,realIndex:i,j:P,x:s,y:r,pX:n,pY:o,linePath:w,areaPath:k,linePaths:h,areaPaths:c,seriesIndex:d});c=M.areaPaths,h=M.linePaths,n=M.pX,o=M.pY,k=M.areaPath,w=M.linePath,this.appendPathFrom&&(A+=m.line(s,this.zeroY),S+=m.line(s,this.zeroY)),this.handleNullDataPoints(e,I,a,P,i),this._handleMarkersAndLabels({pointsPos:I,series:e,x:s,y:r,prevY:y,i:a,j:P,realIndex:i})}return{yArrj:x,xArrj:f,pathFromArea:S,areaPaths:c,pathFromLine:A,linePaths:h}}},{key:"_handleMarkersAndLabels",value:function(t){var e=t.pointsPos,i=(t.series,t.x,t.y,t.prevY,t.i),a=t.j,s=t.realIndex,r=this.w,n=new z(this.ctx);if(this.pointsChart)this.scatter.draw(this.elSeries,a,{realIndex:s,pointsPos:e,zRatio:this.zRatio,elParent:this.elPointsMain});else{r.globals.series[i].length>1&&this.elPointsMain.node.classList.add("apexcharts-element-hidden");var o=this.markers.plotChartMarkers(e,s,a+1);null!==o&&this.elPointsMain.add(o)}var l=n.drawDataLabel(e,s,a+1,null);null!==l&&this.elDataLabelsWrap.add(l)}},{key:"_createPaths",value:function(t){var e=t.series,i=t.i,a=t.realIndex,s=t.j,r=t.x,n=t.y,o=t.pX,l=t.pY,h=t.linePath,c=t.areaPath,d=t.linePaths,g=t.areaPaths,u=t.seriesIndex,f=this.w,x=new p(this.ctx),b=f.config.stroke.curve,m=this.areaBottomY;if(Array.isArray(f.config.stroke.curve)&&(b=Array.isArray(u)?f.config.stroke.curve[u[i]]:f.config.stroke.curve[i]),"smooth"===b){var v=.35*(r-o);f.globals.hasNullValues?(null!==e[i][s]&&(null!==e[i][s+1]?(h=x.move(o,l)+x.curve(o+v,l,r-v,n,r+1,n),c=x.move(o+1,l)+x.curve(o+v,l,r-v,n,r+1,n)+x.line(r,m)+x.line(o,m)+"z"):(h=x.move(o,l),c=x.move(o,l)+"z")),d.push(h),g.push(c)):(h+=x.curve(o+v,l,r-v,n,r,n),c+=x.curve(o+v,l,r-v,n,r,n)),o=r,l=n,s===e[i].length-2&&(c=c+x.curve(o,l,r,n,r,m)+x.move(r,n)+"z",f.globals.hasNullValues||(d.push(h),g.push(c)))}else{if(null===e[i][s+1]){h+=x.move(r,n);var y=f.globals.isXNumeric?(f.globals.seriesX[a][s]-f.globals.minX)/this.xRatio:r-this.xDivision;c=c+x.line(y,m)+x.move(r,n)+"z"}null===e[i][s]&&(h+=x.move(r,n),c+=x.move(r,m)),"stepline"===b?(h=h+x.line(r,null,"H")+x.line(null,n,"V"),c=c+x.line(r,null,"H")+x.line(null,n,"V")):"straight"===b&&(h+=x.line(r,n),c+=x.line(r,n)),s===e[i].length-2&&(c=c+x.line(r,m)+x.move(r,n)+"z",d.push(h),g.push(c))}return{linePaths:d,areaPaths:g,pX:o,pY:l,linePath:h,areaPath:c}}},{key:"handleNullDataPoints",value:function(t,e,i,a,s){var r=this.w;if(null===t[i][a]&&r.config.markers.showNullDataPoints||1===t[i].length){var n=this.markers.plotChartMarkers(e,s,a+1,this.strokeWidth-r.config.markers.strokeWidth/2,!0);null!==n&&this.elPointsMain.add(n)}}}]),t}(),Pt=function(){function t(i){e(this,t),this.ctx=i,this.w=i.w,this.timeScaleArray=[],this.utc=this.w.config.xaxis.labels.datetimeUTC}return a(t,[{key:"calculateTimeScaleTicks",value:function(t,e){var i=this,a=this.w;if(a.globals.allSeriesCollapsed)return a.globals.labels=[],a.globals.timescaleLabels=[],[];var s=new Y(this.ctx),r=(e-t)/864e5;this.determineInterval(r),a.globals.disableZoomIn=!1,a.globals.disableZoomOut=!1,r<.005?a.globals.disableZoomIn=!0:r>5e4&&(a.globals.disableZoomOut=!0);var o=s.getTimeUnitsfromTimestamp(t,e,this.utc),l=a.globals.gridWidth/r,h=l/24,c=h/60,d=Math.floor(24*r),g=Math.floor(24*r*60),u=Math.floor(r),f=Math.floor(r/30),p=Math.floor(r/365),x={minMinute:o.minMinute,minHour:o.minHour,minDate:o.minDate,minMonth:o.minMonth,minYear:o.minYear},b={firstVal:x,currentMinute:x.minMinute,currentHour:x.minHour,currentMonthDate:x.minDate,currentDate:x.minDate,currentMonth:x.minMonth,currentYear:x.minYear,daysWidthOnXAxis:l,hoursWidthOnXAxis:h,minutesWidthOnXAxis:c,numberOfMinutes:g,numberOfHours:d,numberOfDays:u,numberOfMonths:f,numberOfYears:p};switch(this.tickInterval){case"years":this.generateYearScale(b);break;case"months":case"half_year":this.generateMonthScale(b);break;case"months_days":case"months_fortnight":case"days":case"week_days":this.generateDayScale(b);break;case"hours":this.generateHourScale(b);break;case"minutes":this.generateMinuteScale(b)}var m=this.timeScaleArray.map((function(t){var e={position:t.position,unit:t.unit,year:t.year,day:t.day?t.day:1,hour:t.hour?t.hour:0,month:t.month+1};return"month"===t.unit?n({},e,{day:1,value:t.value+1}):"day"===t.unit||"hour"===t.unit?n({},e,{value:t.value}):"minute"===t.unit?n({},e,{value:t.value,minute:t.value}):t}));return m.filter((function(t){var e=1,s=Math.ceil(a.globals.gridWidth/120),r=t.value;void 0!==a.config.xaxis.tickAmount&&(s=a.config.xaxis.tickAmount),m.length>s&&(e=Math.floor(m.length/s));var n=!1,o=!1;switch(i.tickInterval){case"years":"year"===t.unit&&(n=!0);break;case"half_year":e=7,"year"===t.unit&&(n=!0);break;case"months":e=1,"year"===t.unit&&(n=!0);break;case"months_fortnight":e=15,"year"!==t.unit&&"month"!==t.unit||(n=!0),30===r&&(o=!0);break;case"months_days":e=10,"month"===t.unit&&(n=!0),30===r&&(o=!0);break;case"week_days":e=8,"month"===t.unit&&(n=!0);break;case"days":e=1,"month"===t.unit&&(n=!0);break;case"hours":"day"===t.unit&&(n=!0);break;case"minutes":r%5!=0&&(o=!0)}if("minutes"===i.tickInterval||"hours"===i.tickInterval){if(!o)return!0}else if((r%e==0||n)&&!o)return!0}))}},{key:"recalcDimensionsBasedOnFormat",value:function(t,e){var i=this.w,a=this.formatDates(t),s=this.removeOverlappingTS(a);i.globals.timescaleLabels=s.slice(),new nt(this.ctx).plotCoords()}},{key:"determineInterval",value:function(t){switch(!0){case t>1825:this.tickInterval="years";break;case t>800&&t<=1825:this.tickInterval="half_year";break;case t>180&&t<=800:this.tickInterval="months";break;case t>90&&t<=180:this.tickInterval="months_fortnight";break;case t>60&&t<=90:this.tickInterval="months_days";break;case t>30&&t<=60:this.tickInterval="week_days";break;case t>2&&t<=30:this.tickInterval="days";break;case t>.1&&t<=2:this.tickInterval="hours";break;case t<.1:this.tickInterval="minutes";break;default:this.tickInterval="days"}}},{key:"generateYearScale",value:function(t){var e=t.firstVal,i=t.currentMonth,a=t.currentYear,s=t.daysWidthOnXAxis,r=t.numberOfYears,n=e.minYear,o=0,l=new Y(this.ctx);if(e.minDate>1&&e.minMonth>0){var h=l.determineRemainingDaysOfYear(e.minYear,e.minMonth,e.minDate);o=(l.determineDaysOfYear(e.minYear)-h+1)*s,n=e.minYear+1,this.timeScaleArray.push({position:o,value:n,unit:"year",year:n,month:g.monthMod(i+1)})}else 1===e.minDate&&0===e.minMonth&&this.timeScaleArray.push({position:o,value:n,unit:"year",year:a,month:g.monthMod(i+1)});for(var c=n,d=o,u=0;u1){l=(h.determineDaysOfMonths(a+1,e.minYear)-i+1)*r,o=g.monthMod(a+1);var u=s+d,f=g.monthMod(o),p=o;0===o&&(c="year",p=u,f=1,u+=d+=1),this.timeScaleArray.push({position:l,value:p,unit:c,year:u,month:f})}else this.timeScaleArray.push({position:l,value:o,unit:c,year:s,month:g.monthMod(a)});for(var x=o+1,b=l,m=0,v=1;mn.determineDaysOfMonths(e+1,i)?(h=1,o="month",u=e+=1,e):e},d=(24-e.minHour)*s,u=l,f=c(h,i,a);0===e.minHour&&1===e.minDate&&(d=0,u=g.monthMod(e.minMonth),o="month",h=e.minDate,r++),this.timeScaleArray.push({position:d,value:u,unit:o,year:this._getYear(a,f,0),month:g.monthMod(f),day:h});for(var p=d,x=0;xo.determineDaysOfMonths(e+1,s)&&(x=1,e+=1),{month:e,date:x}},c=function(t,e){return t>o.determineDaysOfMonths(e+1,s)?e+=1:e},d=60-e.minMinute,u=d*r,f=e.minHour+1,p=f+1;60===d&&(u=0,p=(f=e.minHour)+1);var x=i,b=c(x,a);this.timeScaleArray.push({position:u,value:f,unit:l,day:x,hour:p,year:s,month:g.monthMod(b)});for(var m=u,v=0;v=24)p=0,l="day",b=h(x+=1,b).month,b=c(x,b);var y=this._getYear(s,b,0);m=0===p&&0===v?d*r:60*r+m;var w=0===p?x:p;this.timeScaleArray.push({position:m,value:w,unit:l,hour:p,day:x,year:y,month:g.monthMod(b)}),p++}}},{key:"generateMinuteScale",value:function(t){var e=t.firstVal,i=t.currentMinute,a=t.currentHour,s=t.currentDate,r=t.currentMonth,n=t.currentYear,o=t.minutesWidthOnXAxis,l=t.numberOfMinutes,h=o-(i-e.minMinute),c=e.minMinute+1,d=c+1,u=s,f=r,p=n,x=a;this.timeScaleArray.push({position:h,value:c,unit:"minute",day:u,hour:x,minute:d,year:p,month:g.monthMod(f)});for(var b=h,m=0;m=60&&(d=0,24===(x+=1)&&(x=0)),b=o+b,this.timeScaleArray.push({position:b,value:d,unit:"minute",hour:x,minute:d,day:u,year:this._getYear(n,f,0),month:g.monthMod(f)}),d++}},{key:"createRawDateString",value:function(t,e){var i=t.year;return i+="-"+("0"+t.month.toString()).slice(-2),"day"===t.unit?i+="day"===t.unit?"-"+("0"+e).slice(-2):"-01":i+="-"+("0"+(t.day?t.day:"1")).slice(-2),"hour"===t.unit?i+="hour"===t.unit?"T"+("0"+e).slice(-2):"T00":i+="T"+("0"+(t.hour?t.hour:"0")).slice(-2),i+="minute"===t.unit?":"+("0"+e).slice(-2)+":00":":00:00",this.utc&&(i+=".000Z"),i}},{key:"formatDates",value:function(t){var e=this,i=this.w;return t.map((function(t){var a=t.value.toString(),s=new Y(e.ctx),r=e.createRawDateString(t,a),n=s.getDate(r);if(void 0===i.config.xaxis.labels.format){var o="dd MMM",l=i.config.xaxis.labels.datetimeFormatter;"year"===t.unit&&(o=l.year),"month"===t.unit&&(o=l.month),"day"===t.unit&&(o=l.day),"hour"===t.unit&&(o=l.hour),"minute"===t.unit&&(o=l.minute),a=s.formatDate(n,o)}else a=s.formatDate(n,i.config.xaxis.labels.format);return{dateString:r,position:t.position,value:a,unit:t.unit,year:t.year,month:t.month}}))}},{key:"removeOverlappingTS",value:function(t){var e,i=this,a=new p(this.ctx),s=!1;t.length>0&&t[0].value&&t.every((function(e){return e.value.length===t[0].value.length}))&&(s=!0,e=a.getTextRects(t[0].value).width);var r=0,n=t.map((function(n,o){if(o>0&&i.w.config.xaxis.labels.hideOverlappingLabels){var l=s?e:a.getTextRects(t[r].value).width,h=t[r].position;return n.position>h+l+10?(r=o,n):null}return n}));return n=n.filter((function(t){return null!==t}))}},{key:"_getYear",value:function(t,e,i){return t+Math.floor(e/12)+i}}]),t}(),Tt=function(){function t(i,a){e(this,t),this.ctx=a,this.w=a.w,this.el=i}return a(t,[{key:"setupElements",value:function(){var t=this.w.globals,e=this.w.config,i=e.chart.type;t.axisCharts=["line","area","bar","rangeBar","candlestick","scatter","bubble","radar","heatmap"].indexOf(i)>-1,t.xyCharts=["line","area","bar","rangeBar","candlestick","scatter","bubble"].indexOf(i)>-1,t.isBarHorizontal=("bar"===e.chart.type||"rangeBar"===e.chart.type)&&e.plotOptions.bar.horizontal,t.chartClass=".apexcharts"+t.cuid,t.dom.baseEl=this.el,t.dom.elWrap=document.createElement("div"),p.setAttrs(t.dom.elWrap,{id:t.chartClass.substring(1),class:"apexcharts-canvas "+t.chartClass.substring(1)}),this.el.appendChild(t.dom.elWrap),t.dom.Paper=new window.SVG.Doc(t.dom.elWrap),t.dom.Paper.attr({class:"apexcharts-svg","xmlns:data":"ApexChartsNS",transform:"translate(".concat(e.chart.offsetX,", ").concat(e.chart.offsetY,")")}),t.dom.Paper.node.style.background=e.chart.background,this.setSVGDimensions(),t.dom.elGraphical=t.dom.Paper.group().attr({class:"apexcharts-inner apexcharts-graphical"}),t.dom.elAnnotations=t.dom.Paper.group().attr({class:"apexcharts-annotations"}),t.dom.elDefs=t.dom.Paper.defs(),t.dom.elLegendWrap=document.createElement("div"),t.dom.elLegendWrap.classList.add("apexcharts-legend"),t.dom.elWrap.appendChild(t.dom.elLegendWrap),t.dom.Paper.add(t.dom.elGraphical),t.dom.elGraphical.add(t.dom.elDefs)}},{key:"plotChartType",value:function(t,e){var i=this.w,a=i.config,s=i.globals,r={series:[],i:[]},n={series:[],i:[]},o={series:[],i:[]},l={series:[],i:[]},h={series:[],i:[]},c={series:[],i:[]};s.series.map((function(e,d){void 0!==t[d].type?("column"===t[d].type||"bar"===t[d].type?(s.series.length>1&&a.plotOptions.bar.horizontal&&console.warn("Horizontal bars are not supported in a mixed/combo chart. Please turn off `plotOptions.bar.horizontal`"),h.series.push(e),h.i.push(d),i.globals.columnSeries=h.series):"area"===t[d].type?(n.series.push(e),n.i.push(d)):"line"===t[d].type?(r.series.push(e),r.i.push(d)):"scatter"===t[d].type?(o.series.push(e),o.i.push(d)):"bubble"===t[d].type?(l.series.push(e),l.i.push(d)):"candlestick"===t[d].type?(c.series.push(e),c.i.push(d)):console.warn("You have specified an unrecognized chart type. Available types for this propery are line/area/column/bar/scatter/bubble"),s.comboCharts=!0):(r.series.push(e),r.i.push(d))}));var d=new Lt(this.ctx,e),g=new wt(this.ctx,e),u=new lt(this.ctx),f=new St(this.ctx),p=new F(this.ctx,e),x=new At(this.ctx),b=[];if(s.comboCharts){if(n.series.length>0&&b.push(d.draw(n.series,"area",n.i)),h.series.length>0)if(i.config.chart.stacked){var m=new yt(this.ctx,e);b.push(m.draw(h.series,h.i))}else{var v=new E(this.ctx,e);b.push(v.draw(h.series,h.i))}if(r.series.length>0&&b.push(d.draw(r.series,"line",r.i)),c.series.length>0&&b.push(g.draw(c.series,c.i)),o.series.length>0){var y=new Lt(this.ctx,e,!0);b.push(y.draw(o.series,"scatter",o.i))}if(l.series.length>0){var w=new Lt(this.ctx,e,!0);b.push(w.draw(l.series,"bubble",l.i))}}else switch(a.chart.type){case"line":b=d.draw(s.series,"line");break;case"area":b=d.draw(s.series,"area");break;case"bar":if(a.chart.stacked)b=new yt(this.ctx,e).draw(s.series);else b=new E(this.ctx,e).draw(s.series);break;case"candlestick":b=new wt(this.ctx,e).draw(s.series);break;case"rangeBar":b=p.draw(s.series);break;case"heatmap":b=new kt(this.ctx,e).draw(s.series);break;case"pie":case"donut":case"polarArea":b=u.draw(s.series);break;case"radialBar":b=f.draw(s.series);break;case"radar":b=x.draw(s.series);break;default:b=d.draw(s.series)}return b}},{key:"setSVGDimensions",value:function(){var t=this.w.globals,e=this.w.config;t.svgWidth=e.chart.width,t.svgHeight=e.chart.height;var i=g.getDimensions(this.el),a=e.chart.width.toString().split(/[0-9]+/g).pop();if("%"===a?g.isNumber(i[0])&&(0===i[0].width&&(i=g.getDimensions(this.el.parentNode)),t.svgWidth=i[0]*parseInt(e.chart.width,10)/100):"px"!==a&&""!==a||(t.svgWidth=parseInt(e.chart.width,10)),"auto"!==t.svgHeight&&""!==t.svgHeight)if("%"===e.chart.height.toString().split(/[0-9]+/g).pop()){var s=g.getDimensions(this.el.parentNode);t.svgHeight=s[1]*parseInt(e.chart.height,10)/100}else t.svgHeight=parseInt(e.chart.height,10);else t.axisCharts?t.svgHeight=t.svgWidth/1.61:t.svgHeight=t.svgWidth/1.2;t.svgWidth<0&&(t.svgWidth=0),t.svgHeight<0&&(t.svgHeight=0),p.setAttrs(t.dom.Paper.node,{width:t.svgWidth,height:t.svgHeight});var r=e.chart.sparkline.enabled?0:t.axisCharts?e.chart.parentHeightOffset:0;t.dom.Paper.node.parentNode.parentNode.style.minHeight=t.svgHeight+r+"px",t.dom.elWrap.style.width=t.svgWidth+"px",t.dom.elWrap.style.height=t.svgHeight+"px"}},{key:"shiftGraphPosition",value:function(){var t=this.w.globals,e=t.translateY,i={transform:"translate("+t.translateX+", "+e+")"};p.setAttrs(t.dom.elGraphical.node,i),t.x2SpaceAvailable=t.svgWidth-t.dom.elGraphical.x()-t.gridWidth}},{key:"resizeNonAxisCharts",value:function(){var t=this.w,e=t.globals,i=0,a=t.config.chart.sparkline.enabled?1:15;a+=t.config.grid.padding.bottom,"top"!==t.config.legend.position&&"bottom"!==t.config.legend.position||!t.config.legend.show||t.config.legend.floating||(i=new ct(this.ctx).legendHelpers.getLegendBBox().clwh+10);var s=t.globals.dom.baseEl.querySelector(".apexcharts-radialbar"),r=2.05*t.globals.radialSize;if(s&&!t.config.chart.sparkline.enabled){var n=g.getBoundingClientRect(s);r=n.bottom;var o=n.bottom-n.top;r=Math.max(2.05*t.globals.radialSize,o)}var l=r+e.translateY+i+a;e.dom.elLegendForeign&&e.dom.elLegendForeign.setAttribute("height",l),e.dom.elWrap.style.height=l+"px",p.setAttrs(e.dom.Paper.node,{height:l}),e.dom.Paper.node.parentNode.parentNode.style.minHeight=l+"px"}},{key:"coreCalculations",value:function(){new U(this.ctx).init()}},{key:"resetGlobals",value:function(){var t=this,e=function(){return t.w.config.series.map((function(t){return[]}))},i=new H,a=this.w.globals;i.initGlobalVars(a),a.seriesXvalues=e(),a.seriesYvalues=e()}},{key:"isMultipleY",value:function(){if(this.w.config.yaxis.constructor===Array&&this.w.config.yaxis.length>1)return this.w.globals.isMultipleYAxis=!0,!0}},{key:"xySettings",value:function(){var t=null,e=this.w;if(e.globals.axisCharts){if("back"===e.config.xaxis.crosshairs.position)new Q(this.ctx).drawXCrosshairs();if("back"===e.config.yaxis[0].crosshairs.position)new Q(this.ctx).drawYCrosshairs();if("datetime"===e.config.xaxis.type&&void 0===e.config.xaxis.labels.formatter){var i=new Pt(this.ctx),a=[];isFinite(e.globals.minX)&&isFinite(e.globals.maxX)&&!e.globals.isBarHorizontal?a=i.calculateTimeScaleTicks(e.globals.minX,e.globals.maxX):e.globals.isBarHorizontal&&(a=i.calculateTimeScaleTicks(e.globals.minY,e.globals.maxY)),i.recalcDimensionsBasedOnFormat(a)}t=new m(this.ctx).getCalculatedRatios()}return t}},{key:"updateSourceChart",value:function(t){this.ctx.w.globals.selection=void 0,this.ctx.updateHelpers._updateOptions({chart:{selection:{xaxis:{min:t.w.globals.minX,max:t.w.globals.maxX}}}},!1,!1)}},{key:"setupBrushHandler",value:function(){var t=this,e=this.w;if(e.config.chart.brush.enabled&&"function"!=typeof e.config.chart.events.selection){var i=e.config.chart.brush.targets||[e.config.chart.brush.target];i.forEach((function(e){var i=ApexCharts.getChartByID(e);i.w.globals.brushSource=t.ctx,"function"!=typeof i.w.config.chart.events.zoomed&&(i.w.config.chart.events.zoomed=function(){t.updateSourceChart(i)}),"function"!=typeof i.w.config.chart.events.scrolled&&(i.w.config.chart.events.scrolled=function(){t.updateSourceChart(i)})})),e.config.chart.events.selection=function(t,a){i.forEach((function(t){var i=ApexCharts.getChartByID(t),s=g.clone(e.config.yaxis);e.config.chart.brush.autoScaleYaxis&&1===i.w.globals.series.length&&(s=new j(i).autoScaleY(i,s,a));i.ctx.updateHelpers._updateOptions({xaxis:{min:a.xaxis.min,max:a.xaxis.max},yaxis:n({},i.w.config.yaxis[0],{min:s[0].min,max:s[0].max})},!1,!1,!1,!1)}))}}}}]),t}(),zt=function(){function i(t){e(this,i),this.ctx=t,this.w=t.w}return a(i,[{key:"_updateOptions",value:function(e){var i=this,a=arguments.length>1&&void 0!==arguments[1]&&arguments[1],s=!(arguments.length>2&&void 0!==arguments[2])||arguments[2],r=!(arguments.length>3&&void 0!==arguments[3])||arguments[3],n=arguments.length>4&&void 0!==arguments[4]&&arguments[4],o=[this.ctx];r&&(o=this.ctx.getSyncedCharts()),this.ctx.w.globals.isExecCalled&&(o=[this.ctx],this.ctx.w.globals.isExecCalled=!1),o.forEach((function(r){var o=r.w;return o.globals.shouldAnimate=s,a||(o.globals.resized=!0,o.globals.dataChanged=!0,s&&r.series.getPreviousPaths()),e&&"object"===t(e)&&(r.config=new D(e),e=m.extendArrayProps(r.config,e,o),r.w.globals.chartID!==i.ctx.w.globals.chartID&&delete e.series,o.config=g.extend(o.config,e),n&&(o.globals.lastXAxis=[],o.globals.lastYAxis=[],o.globals.initialConfig=g.extend({},o.config),o.globals.initialSeries=JSON.parse(JSON.stringify(o.config.series)))),r.update(e)}))}},{key:"_updateSeries",value:function(t,e){var i,a=this,s=arguments.length>2&&void 0!==arguments[2]&&arguments[2],r=this.w;return r.globals.shouldAnimate=e,r.globals.dataChanged=!0,e&&this.ctx.series.getPreviousPaths(),r.globals.axisCharts?(0===(i=t.map((function(t,e){return a._extendSeries(t,e)}))).length&&(i=[{data:[]}]),r.config.series=i):r.config.series=t.slice(),s&&(r.globals.initialConfig.series=JSON.parse(JSON.stringify(r.config.series)),r.globals.initialSeries=JSON.parse(JSON.stringify(r.config.series))),this.ctx.update()}},{key:"_extendSeries",value:function(t,e){var i=this.w;return n({},i.config.series[e],{name:t.name?t.name:i.config.series[e]&&i.config.series[e].name,type:t.type?t.type:i.config.series[e]&&i.config.series[e].type,data:t.data?t.data:i.config.series[e]&&i.config.series[e].data})}},{key:"toggleDataPointSelection",value:function(t,e){var i=this.w,a=null,s=".apexcharts-series[data\\:realIndex='".concat(t,"']");i.globals.axisCharts?a=i.globals.dom.Paper.select("".concat(s," path[j='").concat(e,"'], ").concat(s," circle[j='").concat(e,"'], ").concat(s," rect[j='").concat(e,"']")).members[0]:void 0===e&&(a=i.globals.dom.Paper.select("".concat(s," path[j='").concat(t,"']")).members[0],("pie"===i.config.chart.type||"polarArea"===i.config.chart.type||"donut"===i.config.chart.type)&&new lt(this.ctx).pieClicked(t));return a?(new p(this.ctx).pathMouseDown(a,null),a.node?a.node:null):(console.warn("toggleDataPointSelection: Element not found"),null)}},{key:"forceXAxisUpdate",value:function(t){var e=this.w;if(["min","max"].forEach((function(i){void 0!==t.xaxis[i]&&(e.config.xaxis[i]=t.xaxis[i],e.globals.lastXAxis[i]=t.xaxis[i])})),t.xaxis.categories&&t.xaxis.categories.length&&(e.config.xaxis.categories=t.xaxis.categories),e.config.xaxis.convertedCatToNumeric){var i=new R(t);t=i.convertCatToNumericXaxis(t,this.ctx)}return t}},{key:"forceYAxisUpdate",value:function(t){var e=this.w;return e.config.chart.stacked&&"100%"===e.config.chart.stackType&&(Array.isArray(t.yaxis)?t.yaxis.forEach((function(e,i){t.yaxis[i].min=0,t.yaxis[i].max=100})):(t.yaxis.min=0,t.yaxis.max=100)),t}},{key:"revertDefaultAxisMinMax",value:function(){var t=this,e=this.w;e.config.xaxis.min=e.globals.lastXAxis.min,e.config.xaxis.max=e.globals.lastXAxis.max,e.config.yaxis.map((function(i,a){e.globals.zoomed?void 0!==e.globals.lastYAxis[a]&&(i.min=e.globals.lastYAxis[a].min,i.max=e.globals.lastYAxis[a].max):void 0!==t.ctx.opts.yaxis[a]&&(i.min=t.ctx.opts.yaxis[a].min,i.max=t.ctx.opts.yaxis[a].max)}))}}]),i}();w="undefined"!=typeof window?window:void 0,k=function(e,i){var a=(void 0!==this?this:e).SVG=function(t){if(a.supported)return t=new a.Doc(t),a.parser.draw||a.prepare(),t};if(a.ns="http://www.w3.org/2000/svg",a.xmlns="http://www.w3.org/2000/xmlns/",a.xlink="http://www.w3.org/1999/xlink",a.svgjs="http://svgjs.com/svgjs",a.supported=!0,!a.supported)return!1;a.did=1e3,a.eid=function(t){return"Svgjs"+d(t)+a.did++},a.create=function(t){var e=i.createElementNS(this.ns,t);return e.setAttribute("id",this.eid(t)),e},a.extend=function(){var t,e;e=(t=[].slice.call(arguments)).pop();for(var i=t.length-1;i>=0;i--)if(t[i])for(var s in e)t[i].prototype[s]=e[s];a.Set&&a.Set.inherit&&a.Set.inherit()},a.invent=function(t){var e="function"==typeof t.create?t.create:function(){this.constructor.call(this,a.create(t.create))};return t.inherit&&(e.prototype=new t.inherit),t.extend&&a.extend(e,t.extend),t.construct&&a.extend(t.parent||a.Container,t.construct),e},a.adopt=function(t){return t?t.instance?t.instance:((i="svg"==t.nodeName?t.parentNode instanceof e.SVGElement?new a.Nested:new a.Doc:"linearGradient"==t.nodeName?new a.Gradient("linear"):"radialGradient"==t.nodeName?new a.Gradient("radial"):a[d(t.nodeName)]?new(a[d(t.nodeName)]):new a.Element(t)).type=t.nodeName,i.node=t,t.instance=i,i instanceof a.Doc&&i.namespace().defs(),i.setData(JSON.parse(t.getAttribute("svgjs:data"))||{}),i):null;var i},a.prepare=function(){var t=i.getElementsByTagName("body")[0],e=(t?new a.Doc(t):a.adopt(i.documentElement).nested()).size(2,0);a.parser={body:t||i.documentElement,draw:e.style("opacity:0;position:absolute;left:-100%;top:-100%;overflow:hidden").node,poly:e.polyline().node,path:e.path().node,native:a.create("svg")}},a.parser={native:a.create("svg")},i.addEventListener("DOMContentLoaded",(function(){a.parser.draw||a.prepare()}),!1),a.regex={numberAndUnit:/^([+-]?(\d+(\.\d*)?|\.\d+)(e[+-]?\d+)?)([a-z%]*)$/i,hex:/^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i,rgb:/rgb\((\d+),(\d+),(\d+)\)/,reference:/#([a-z0-9\-_]+)/i,transforms:/\)\s*,?\s*/,whitespace:/\s/g,isHex:/^#[a-f0-9]{3,6}$/i,isRgb:/^rgb\(/,isCss:/[^:]+:[^;]+;?/,isBlank:/^(\s+)?$/,isNumber:/^[+-]?(\d+(\.\d*)?|\.\d+)(e[+-]?\d+)?$/i,isPercent:/^-?[\d\.]+%$/,isImage:/\.(jpg|jpeg|png|gif|svg)(\?[^=]+.*)?/i,delimiter:/[\s,]+/,hyphen:/([^e])\-/gi,pathLetters:/[MLHVCSQTAZ]/gi,isPathLetter:/[MLHVCSQTAZ]/i,numbersWithDots:/((\d?\.\d+(?:e[+-]?\d+)?)((?:\.\d+(?:e[+-]?\d+)?)+))+/gi,dots:/\./g},a.utils={map:function(t,e){for(var i=t.length,a=[],s=0;s1?1:t,new a.Color({r:~~(this.r+(this.destination.r-this.r)*t),g:~~(this.g+(this.destination.g-this.g)*t),b:~~(this.b+(this.destination.b-this.b)*t)})):this}}),a.Color.test=function(t){return t+="",a.regex.isHex.test(t)||a.regex.isRgb.test(t)},a.Color.isRgb=function(t){return t&&"number"==typeof t.r&&"number"==typeof t.g&&"number"==typeof t.b},a.Color.isColor=function(t){return a.Color.isRgb(t)||a.Color.test(t)},a.Array=function(t,e){0==(t=(t||[]).valueOf()).length&&e&&(t=e.valueOf()),this.value=this.parse(t)},a.extend(a.Array,{toString:function(){return this.value.join(" ")},valueOf:function(){return this.value},parse:function(t){return t=t.valueOf(),Array.isArray(t)?t:this.split(t)}}),a.PointArray=function(t,e){a.Array.call(this,t,e||[[0,0]])},a.PointArray.prototype=new a.Array,a.PointArray.prototype.constructor=a.PointArray;for(var s={M:function(t,e,i){return e.x=i.x=t[0],e.y=i.y=t[1],["M",e.x,e.y]},L:function(t,e){return e.x=t[0],e.y=t[1],["L",t[0],t[1]]},H:function(t,e){return e.x=t[0],["H",t[0]]},V:function(t,e){return e.y=t[0],["V",t[0]]},C:function(t,e){return e.x=t[4],e.y=t[5],["C",t[0],t[1],t[2],t[3],t[4],t[5]]},Q:function(t,e){return e.x=t[2],e.y=t[3],["Q",t[0],t[1],t[2],t[3]]},Z:function(t,e,i){return e.x=i.x,e.y=i.y,["Z"]}},r="mlhvqtcsaz".split(""),n=0,o=r.length;nl);return r},bbox:function(){return a.parser.draw||a.prepare(),a.parser.path.setAttribute("d",this.toString()),a.parser.path.getBBox()}}),a.Number=a.invent({create:function(t,e){this.value=0,this.unit=e||"","number"==typeof t?this.value=isNaN(t)?0:isFinite(t)?t:t<0?-34e37:34e37:"string"==typeof t?(e=t.match(a.regex.numberAndUnit))&&(this.value=parseFloat(e[1]),"%"==e[5]?this.value/=100:"s"==e[5]&&(this.value*=1e3),this.unit=e[5]):t instanceof a.Number&&(this.value=t.valueOf(),this.unit=t.unit)},extend:{toString:function(){return("%"==this.unit?~~(1e8*this.value)/1e6:"s"==this.unit?this.value/1e3:this.value)+this.unit},toJSON:function(){return this.toString()},valueOf:function(){return this.value},plus:function(t){return t=new a.Number(t),new a.Number(this+t,this.unit||t.unit)},minus:function(t){return t=new a.Number(t),new a.Number(this-t,this.unit||t.unit)},times:function(t){return t=new a.Number(t),new a.Number(this*t,this.unit||t.unit)},divide:function(t){return t=new a.Number(t),new a.Number(this/t,this.unit||t.unit)},to:function(t){var e=new a.Number(this);return"string"==typeof t&&(e.unit=t),e},morph:function(t){return this.destination=new a.Number(t),t.relative&&(this.destination.value+=this.value),this},at:function(t){return this.destination?new a.Number(this.destination).minus(this).times(t).plus(this):this}}}),a.Element=a.invent({create:function(t){this._stroke=a.defaults.attrs.stroke,this._event=null,this.dom={},(this.node=t)&&(this.type=t.nodeName,this.node.instance=this,this._stroke=t.getAttribute("stroke")||this._stroke)},extend:{x:function(t){return this.attr("x",t)},y:function(t){return this.attr("y",t)},cx:function(t){return null==t?this.x()+this.width()/2:this.x(t-this.width()/2)},cy:function(t){return null==t?this.y()+this.height()/2:this.y(t-this.height()/2)},move:function(t,e){return this.x(t).y(e)},center:function(t,e){return this.cx(t).cy(e)},width:function(t){return this.attr("width",t)},height:function(t){return this.attr("height",t)},size:function(t,e){var i=u(this,t,e);return this.width(new a.Number(i.width)).height(new a.Number(i.height))},clone:function(t){this.writeDataToDom();var e=x(this.node.cloneNode(!0));return t?t.add(e):this.after(e),e},remove:function(){return this.parent()&&this.parent().removeElement(this),this},replace:function(t){return this.after(t).remove(),t},addTo:function(t){return t.put(this)},putIn:function(t){return t.add(this)},id:function(t){return this.attr("id",t)},show:function(){return this.style("display","")},hide:function(){return this.style("display","none")},visible:function(){return"none"!=this.style("display")},toString:function(){return this.attr("id")},classes:function(){var t=this.attr("class");return null==t?[]:t.trim().split(a.regex.delimiter)},hasClass:function(t){return-1!=this.classes().indexOf(t)},addClass:function(t){if(!this.hasClass(t)){var e=this.classes();e.push(t),this.attr("class",e.join(" "))}return this},removeClass:function(t){return this.hasClass(t)&&this.attr("class",this.classes().filter((function(e){return e!=t})).join(" ")),this},toggleClass:function(t){return this.hasClass(t)?this.removeClass(t):this.addClass(t)},reference:function(t){return a.get(this.attr(t))},parent:function(t){var i=this;if(!i.node.parentNode)return null;if(i=a.adopt(i.node.parentNode),!t)return i;for(;i&&i.node instanceof e.SVGElement;){if("string"==typeof t?i.matches(t):i instanceof t)return i;if(!i.node.parentNode||"#document"==i.node.parentNode.nodeName)return null;i=a.adopt(i.node.parentNode)}},doc:function(){return this instanceof a.Doc?this:this.parent(a.Doc)},parents:function(t){var e=[],i=this;do{if(!(i=i.parent(t))||!i.node)break;e.push(i)}while(i.parent);return e},matches:function(t){return function(t,e){return(t.matches||t.matchesSelector||t.msMatchesSelector||t.mozMatchesSelector||t.webkitMatchesSelector||t.oMatchesSelector).call(t,e)}(this.node,t)},native:function(){return this.node},svg:function(t){var e=i.createElement("svg");if(!(t&&this instanceof a.Parent))return e.appendChild(t=i.createElement("svg")),this.writeDataToDom(),t.appendChild(this.node.cloneNode(!0)),e.innerHTML.replace(/^/,"").replace(/<\/svg>$/,"");e.innerHTML=""+t.replace(/\n/,"").replace(/<([\w:-]+)([^<]+?)\/>/g,"<$1$2>")+"";for(var s=0,r=e.firstChild.childNodes.length;s":function(t){return-Math.cos(t*Math.PI)/2+.5},">":function(t){return Math.sin(t*Math.PI/2)},"<":function(t){return 1-Math.cos(t*Math.PI/2)}},a.morph=function(t){return function(e,i){return new a.MorphObj(e,i).at(t)}},a.Situation=a.invent({create:function(t){this.init=!1,this.reversed=!1,this.reversing=!1,this.duration=new a.Number(t.duration).valueOf(),this.delay=new a.Number(t.delay).valueOf(),this.start=+new Date+this.delay,this.finish=this.start+this.duration,this.ease=t.ease,this.loop=0,this.loops=!1,this.animations={},this.attrs={},this.styles={},this.transforms=[],this.once={}}}),a.FX=a.invent({create:function(t){this._target=t,this.situations=[],this.active=!1,this.situation=null,this.paused=!1,this.lastPos=0,this.pos=0,this.absPos=0,this._speed=1},extend:{animate:function(e,i,s){"object"===t(e)&&(i=e.ease,s=e.delay,e=e.duration);var r=new a.Situation({duration:e||1e3,delay:s||0,ease:a.easing[i||"-"]||i});return this.queue(r),this},target:function(t){return t&&t instanceof a.Element?(this._target=t,this):this._target},timeToAbsPos:function(t){return(t-this.situation.start)/(this.situation.duration/this._speed)},absPosToTime:function(t){return this.situation.duration/this._speed*t+this.situation.start},startAnimFrame:function(){this.stopAnimFrame(),this.animationFrame=e.requestAnimationFrame(function(){this.step()}.bind(this))},stopAnimFrame:function(){e.cancelAnimationFrame(this.animationFrame)},start:function(){return!this.active&&this.situation&&(this.active=!0,this.startCurrent()),this},startCurrent:function(){return this.situation.start=+new Date+this.situation.delay/this._speed,this.situation.finish=this.situation.start+this.situation.duration/this._speed,this.initAnimations().step()},queue:function(t){return("function"==typeof t||t instanceof a.Situation)&&this.situations.push(t),this.situation||(this.situation=this.situations.shift()),this},dequeue:function(){return this.stop(),this.situation=this.situations.shift(),this.situation&&(this.situation instanceof a.Situation?this.start():this.situation.call(this)),this},initAnimations:function(){var t,e=this.situation;if(e.init)return this;for(var i in e.animations){t=this.target()[i](),Array.isArray(t)||(t=[t]),Array.isArray(e.animations[i])||(e.animations[i]=[e.animations[i]]);for(var s=t.length;s--;)e.animations[i][s]instanceof a.Number&&(t[s]=new a.Number(t[s])),e.animations[i][s]=t[s].morph(e.animations[i][s])}for(var i in e.attrs)e.attrs[i]=new a.MorphObj(this.target().attr(i),e.attrs[i]);for(var i in e.styles)e.styles[i]=new a.MorphObj(this.target().style(i),e.styles[i]);return e.initialTransformation=this.target().matrixify(),e.init=!0,this},clearQueue:function(){return this.situations=[],this},clearCurrent:function(){return this.situation=null,this},stop:function(t,e){var i=this.active;return this.active=!1,e&&this.clearQueue(),t&&this.situation&&(!i&&this.startCurrent(),this.atEnd()),this.stopAnimFrame(),this.clearCurrent()},after:function(t){var e=this.last();return this.target().on("finished.fx",(function i(a){a.detail.situation==e&&(t.call(this,e),this.off("finished.fx",i))})),this._callStart()},during:function(t){var e=this.last(),i=function(i){i.detail.situation==e&&t.call(this,i.detail.pos,a.morph(i.detail.pos),i.detail.eased,e)};return this.target().off("during.fx",i).on("during.fx",i),this.after((function(){this.off("during.fx",i)})),this._callStart()},afterAll:function(t){var e=function e(i){t.call(this),this.off("allfinished.fx",e)};return this.target().off("allfinished.fx",e).on("allfinished.fx",e),this._callStart()},last:function(){return this.situations.length?this.situations[this.situations.length-1]:this.situation},add:function(t,e,i){return this.last()[i||"animations"][t]=e,this._callStart()},step:function(t){var e,i,a;t||(this.absPos=this.timeToAbsPos(+new Date)),!1!==this.situation.loops?(e=Math.max(this.absPos,0),i=Math.floor(e),!0===this.situation.loops||ithis.lastPos&&r<=s&&(this.situation.once[r].call(this.target(),this.pos,s),delete this.situation.once[r]);return this.active&&this.target().fire("during",{pos:this.pos,eased:s,fx:this,situation:this.situation}),this.situation?(this.eachAt(),1==this.pos&&!this.situation.reversed||this.situation.reversed&&0==this.pos?(this.stopAnimFrame(),this.target().fire("finished",{fx:this,situation:this.situation}),this.situations.length||(this.target().fire("allfinished"),this.situations.length||(this.target().off(".fx"),this.active=!1)),this.active?this.dequeue():this.clearCurrent()):!this.paused&&this.active&&this.startAnimFrame(),this.lastPos=s,this):this},eachAt:function(){var t,e=this,i=this.target(),s=this.situation;for(var r in s.animations)t=[].concat(s.animations[r]).map((function(t){return"string"!=typeof t&&t.at?t.at(s.ease(e.pos),e.pos):t})),i[r].apply(i,t);for(var r in s.attrs)t=[r].concat(s.attrs[r]).map((function(t){return"string"!=typeof t&&t.at?t.at(s.ease(e.pos),e.pos):t})),i.attr.apply(i,t);for(var r in s.styles)t=[r].concat(s.styles[r]).map((function(t){return"string"!=typeof t&&t.at?t.at(s.ease(e.pos),e.pos):t})),i.style.apply(i,t);if(s.transforms.length){t=s.initialTransformation,r=0;for(var n=s.transforms.length;r=0;--s)this[v[s]]=null!=e[v[s]]?e[v[s]]:i[v[s]]},extend:{extract:function(){var t=f(this,0,1),e=(f(this,1,0),180/Math.PI*Math.atan2(t.y,t.x)-90);return{x:this.e,y:this.f,transformedX:(this.e*Math.cos(e*Math.PI/180)+this.f*Math.sin(e*Math.PI/180))/Math.sqrt(this.a*this.a+this.b*this.b),transformedY:(this.f*Math.cos(e*Math.PI/180)+this.e*Math.sin(-e*Math.PI/180))/Math.sqrt(this.c*this.c+this.d*this.d),rotation:e,a:this.a,b:this.b,c:this.c,d:this.d,e:this.e,f:this.f,matrix:new a.Matrix(this)}},clone:function(){return new a.Matrix(this)},morph:function(t){return this.destination=new a.Matrix(t),this},multiply:function(t){return new a.Matrix(this.native().multiply(function(t){return t instanceof a.Matrix||(t=new a.Matrix(t)),t}(t).native()))},inverse:function(){return new a.Matrix(this.native().inverse())},translate:function(t,e){return new a.Matrix(this.native().translate(t||0,e||0))},native:function(){for(var t=a.parser.native.createSVGMatrix(),e=v.length-1;e>=0;e--)t[v[e]]=this[v[e]];return t},toString:function(){return"matrix("+m(this.a)+","+m(this.b)+","+m(this.c)+","+m(this.d)+","+m(this.e)+","+m(this.f)+")"}},parent:a.Element,construct:{ctm:function(){return new a.Matrix(this.node.getCTM())},screenCTM:function(){if(this instanceof a.Nested){var t=this.rect(1,1),e=t.node.getScreenCTM();return t.remove(),new a.Matrix(e)}return new a.Matrix(this.node.getScreenCTM())}}}),a.Point=a.invent({create:function(e,i){var a;a=Array.isArray(e)?{x:e[0],y:e[1]}:"object"===t(e)?{x:e.x,y:e.y}:null!=e?{x:e,y:null!=i?i:e}:{x:0,y:0},this.x=a.x,this.y=a.y},extend:{clone:function(){return new a.Point(this)},morph:function(t,e){return this.destination=new a.Point(t,e),this}}}),a.extend(a.Element,{point:function(t,e){return new a.Point(t,e).transform(this.screenCTM().inverse())}}),a.extend(a.Element,{attr:function(e,i,s){if(null==e){for(e={},s=(i=this.node.attributes).length-1;s>=0;s--)e[i[s].nodeName]=a.regex.isNumber.test(i[s].nodeValue)?parseFloat(i[s].nodeValue):i[s].nodeValue;return e}if("object"===t(e))for(var r in e)this.attr(r,e[r]);else if(null===i)this.node.removeAttribute(e);else{if(null==i)return null==(i=this.node.getAttribute(e))?a.defaults.attrs[e]:a.regex.isNumber.test(i)?parseFloat(i):i;"stroke-width"==e?this.attr("stroke",parseFloat(i)>0?this._stroke:null):"stroke"==e&&(this._stroke=i),"fill"!=e&&"stroke"!=e||(a.regex.isImage.test(i)&&(i=this.doc().defs().image(i,0,0)),i instanceof a.Image&&(i=this.doc().defs().pattern(0,0,(function(){this.add(i)})))),"number"==typeof i?i=new a.Number(i):a.Color.isColor(i)?i=new a.Color(i):Array.isArray(i)&&(i=new a.Array(i)),"leading"==e?this.leading&&this.leading(i):"string"==typeof s?this.node.setAttributeNS(s,e,i.toString()):this.node.setAttribute(e,i.toString()),!this.rebuild||"font-size"!=e&&"x"!=e||this.rebuild(e,i)}return this}}),a.extend(a.Element,{transform:function(e,i){var s;return"object"!==t(e)?(s=new a.Matrix(this).extract(),"string"==typeof e?s[e]:s):(s=new a.Matrix(this),i=!!i||!!e.relative,null!=e.a&&(s=i?s.multiply(new a.Matrix(e)):new a.Matrix(e)),this.attr("transform",s))}}),a.extend(a.Element,{untransform:function(){return this.attr("transform",null)},matrixify:function(){return(this.attr("transform")||"").split(a.regex.transforms).slice(0,-1).map((function(t){var e=t.trim().split("(");return[e[0],e[1].split(a.regex.delimiter).map((function(t){return parseFloat(t)}))]})).reduce((function(t,e){return"matrix"==e[0]?t.multiply(p(e[1])):t[e[0]].apply(t,e[1])}),new a.Matrix)},toParent:function(t){if(this==t)return this;var e=this.screenCTM(),i=t.screenCTM().inverse();return this.addTo(t).untransform().transform(i.multiply(e)),this},toDoc:function(){return this.toParent(this.doc())}}),a.Transformation=a.invent({create:function(e,i){if(arguments.length>1&&"boolean"!=typeof i)return this.constructor.call(this,[].slice.call(arguments));if(Array.isArray(e))for(var a=0,s=this.arguments.length;a=0},index:function(t){return[].slice.call(this.node.childNodes).indexOf(t.node)},get:function(t){return a.adopt(this.node.childNodes[t])},first:function(){return this.get(0)},last:function(){return this.get(this.node.childNodes.length-1)},each:function(t,e){for(var i=this.children(),s=0,r=i.length;s=0;i--)t.childNodes[i]instanceof e.SVGElement&&x(t.childNodes[i]);return a.adopt(t).id(a.eid(t.nodeName))}function b(t){return null==t.x&&(t.x=0,t.y=0,t.width=0,t.height=0),t.w=t.width,t.h=t.height,t.x2=t.x+t.width,t.y2=t.y+t.height,t.cx=t.x+t.width/2,t.cy=t.y+t.height/2,t}function m(t){return Math.abs(t)>1e-37?t:0}["fill","stroke"].forEach((function(t){var e={};e[t]=function(e){if(void 0===e)return this;if("string"==typeof e||a.Color.isRgb(e)||e&&"function"==typeof e.fill)this.attr(t,e);else for(var i=l[t].length-1;i>=0;i--)null!=e[l[t][i]]&&this.attr(l.prefix(t,l[t][i]),e[l[t][i]]);return this},a.extend(a.Element,a.FX,e)})),a.extend(a.Element,a.FX,{translate:function(t,e){return this.transform({x:t,y:e})},matrix:function(t){return this.attr("transform",new a.Matrix(6==arguments.length?[].slice.call(arguments):t))},opacity:function(t){return this.attr("opacity",t)},dx:function(t){return this.x(new a.Number(t).plus(this instanceof a.FX?0:this.x()),!0)},dy:function(t){return this.y(new a.Number(t).plus(this instanceof a.FX?0:this.y()),!0)}}),a.extend(a.Path,{length:function(){return this.node.getTotalLength()},pointAt:function(t){return this.node.getPointAtLength(t)}}),a.Set=a.invent({create:function(t){Array.isArray(t)?this.members=t:this.clear()},extend:{add:function(){for(var t=[].slice.call(arguments),e=0,i=t.length;e-1&&this.members.splice(e,1),this},each:function(t){for(var e=0,i=this.members.length;e=0},index:function(t){return this.members.indexOf(t)},get:function(t){return this.members[t]},first:function(){return this.get(0)},last:function(){return this.get(this.members.length-1)},valueOf:function(){return this.members}},construct:{set:function(t){return new a.Set(t)}}}),a.FX.Set=a.invent({create:function(t){this.set=t}}),a.Set.inherit=function(){var t=[];for(var e in a.Shape.prototype)"function"==typeof a.Shape.prototype[e]&&"function"!=typeof a.Set.prototype[e]&&t.push(e);for(var e in t.forEach((function(t){a.Set.prototype[t]=function(){for(var e=0,i=this.members.length;e=0;t--)delete this.memory()[arguments[t]];return this},memory:function(){return this._memory||(this._memory={})}}),a.get=function(t){var e=i.getElementById(function(t){var e=(t||"").toString().match(a.regex.reference);if(e)return e[1]}(t)||t);return a.adopt(e)},a.select=function(t,e){return new a.Set(a.utils.map((e||i).querySelectorAll(t),(function(t){return a.adopt(t)})))},a.extend(a.Parent,{select:function(t){return a.select(t,this.node)}});var v="abcdef".split("");if("function"!=typeof e.CustomEvent){var y=function(t,e){e=e||{bubbles:!1,cancelable:!1,detail:void 0};var a=i.createEvent("CustomEvent");return a.initCustomEvent(t,e.bubbles,e.cancelable,e.detail),a};y.prototype=e.Event.prototype,a.CustomEvent=y}else a.CustomEvent=e.CustomEvent;return a},"function"==typeof define&&define.amd?define((function(){return k(w,w.document)})):"object"===("undefined"==typeof exports?"undefined":t(exports))&&"undefined"!=typeof module?module.exports=w.document?k(w,w.document):function(t){return k(t,t.document)}:w.SVG=k(w,w.document), +/*! svg.filter.js - v2.0.2 - 2016-02-24 + * https://github.com/wout/svg.filter.js + * Copyright (c) 2016 Wout Fierens; Licensed MIT */ +function(){SVG.Filter=SVG.invent({create:"filter",inherit:SVG.Parent,extend:{source:"SourceGraphic",sourceAlpha:"SourceAlpha",background:"BackgroundImage",backgroundAlpha:"BackgroundAlpha",fill:"FillPaint",stroke:"StrokePaint",autoSetIn:!0,put:function(t,e){return this.add(t,e),!t.attr("in")&&this.autoSetIn&&t.attr("in",this.source),t.attr("result")||t.attr("result",t),t},blend:function(t,e,i){return this.put(new SVG.BlendEffect(t,e,i))},colorMatrix:function(t,e){return this.put(new SVG.ColorMatrixEffect(t,e))},convolveMatrix:function(t){return this.put(new SVG.ConvolveMatrixEffect(t))},componentTransfer:function(t){return this.put(new SVG.ComponentTransferEffect(t))},composite:function(t,e,i){return this.put(new SVG.CompositeEffect(t,e,i))},flood:function(t,e){return this.put(new SVG.FloodEffect(t,e))},offset:function(t,e){return this.put(new SVG.OffsetEffect(t,e))},image:function(t){return this.put(new SVG.ImageEffect(t))},merge:function(){var t=[void 0];for(var e in arguments)t.push(arguments[e]);return this.put(new(SVG.MergeEffect.bind.apply(SVG.MergeEffect,t)))},gaussianBlur:function(t,e){return this.put(new SVG.GaussianBlurEffect(t,e))},morphology:function(t,e){return this.put(new SVG.MorphologyEffect(t,e))},diffuseLighting:function(t,e,i){return this.put(new SVG.DiffuseLightingEffect(t,e,i))},displacementMap:function(t,e,i,a,s){return this.put(new SVG.DisplacementMapEffect(t,e,i,a,s))},specularLighting:function(t,e,i,a){return this.put(new SVG.SpecularLightingEffect(t,e,i,a))},tile:function(){return this.put(new SVG.TileEffect)},turbulence:function(t,e,i,a,s){return this.put(new SVG.TurbulenceEffect(t,e,i,a,s))},toString:function(){return"url(#"+this.attr("id")+")"}}}),SVG.extend(SVG.Defs,{filter:function(t){var e=this.put(new SVG.Filter);return"function"==typeof t&&t.call(e,e),e}}),SVG.extend(SVG.Container,{filter:function(t){return this.defs().filter(t)}}),SVG.extend(SVG.Element,SVG.G,SVG.Nested,{filter:function(t){return this.filterer=t instanceof SVG.Element?t:this.doc().filter(t),this.doc()&&this.filterer.doc()!==this.doc()&&this.doc().defs().add(this.filterer),this.attr("filter",this.filterer),this.filterer},unfilter:function(t){return this.filterer&&!0===t&&this.filterer.remove(),delete this.filterer,this.attr("filter",null)}}),SVG.Effect=SVG.invent({create:function(){this.constructor.call(this)},inherit:SVG.Element,extend:{in:function(t){return null==t?this.parent()&&this.parent().select('[result="'+this.attr("in")+'"]').get(0)||this.attr("in"):this.attr("in",t)},result:function(t){return null==t?this.attr("result"):this.attr("result",t)},toString:function(){return this.result()}}}),SVG.ParentEffect=SVG.invent({create:function(){this.constructor.call(this)},inherit:SVG.Parent,extend:{in:function(t){return null==t?this.parent()&&this.parent().select('[result="'+this.attr("in")+'"]').get(0)||this.attr("in"):this.attr("in",t)},result:function(t){return null==t?this.attr("result"):this.attr("result",t)},toString:function(){return this.result()}}});var t={blend:function(t,e){return this.parent()&&this.parent().blend(this,t,e)},colorMatrix:function(t,e){return this.parent()&&this.parent().colorMatrix(t,e).in(this)},convolveMatrix:function(t){return this.parent()&&this.parent().convolveMatrix(t).in(this)},componentTransfer:function(t){return this.parent()&&this.parent().componentTransfer(t).in(this)},composite:function(t,e){return this.parent()&&this.parent().composite(this,t,e)},flood:function(t,e){return this.parent()&&this.parent().flood(t,e)},offset:function(t,e){return this.parent()&&this.parent().offset(t,e).in(this)},image:function(t){return this.parent()&&this.parent().image(t)},merge:function(){return this.parent()&&this.parent().merge.apply(this.parent(),[this].concat(arguments))},gaussianBlur:function(t,e){return this.parent()&&this.parent().gaussianBlur(t,e).in(this)},morphology:function(t,e){return this.parent()&&this.parent().morphology(t,e).in(this)},diffuseLighting:function(t,e,i){return this.parent()&&this.parent().diffuseLighting(t,e,i).in(this)},displacementMap:function(t,e,i,a){return this.parent()&&this.parent().displacementMap(this,t,e,i,a)},specularLighting:function(t,e,i,a){return this.parent()&&this.parent().specularLighting(t,e,i,a).in(this)},tile:function(){return this.parent()&&this.parent().tile().in(this)},turbulence:function(t,e,i,a,s){return this.parent()&&this.parent().turbulence(t,e,i,a,s).in(this)}};SVG.extend(SVG.Effect,t),SVG.extend(SVG.ParentEffect,t),SVG.ChildEffect=SVG.invent({create:function(){this.constructor.call(this)},inherit:SVG.Element,extend:{in:function(t){this.attr("in",t)}}});var e={blend:function(t,e,i){this.attr({in:t,in2:e,mode:i||"normal"})},colorMatrix:function(t,e){"matrix"==t&&(e=s(e)),this.attr({type:t,values:void 0===e?null:e})},convolveMatrix:function(t){t=s(t),this.attr({order:Math.sqrt(t.split(" ").length),kernelMatrix:t})},composite:function(t,e,i){this.attr({in:t,in2:e,operator:i})},flood:function(t,e){this.attr("flood-color",t),null!=e&&this.attr("flood-opacity",e)},offset:function(t,e){this.attr({dx:t,dy:e})},image:function(t){this.attr("href",t,SVG.xlink)},displacementMap:function(t,e,i,a,s){this.attr({in:t,in2:e,scale:i,xChannelSelector:a,yChannelSelector:s})},gaussianBlur:function(t,e){null!=t||null!=e?this.attr("stdDeviation",r(Array.prototype.slice.call(arguments))):this.attr("stdDeviation","0 0")},morphology:function(t,e){this.attr({operator:t,radius:e})},tile:function(){},turbulence:function(t,e,i,a,s){this.attr({numOctaves:e,seed:i,stitchTiles:a,baseFrequency:t,type:s})}},i={merge:function(){var t;if(arguments[0]instanceof SVG.Set){var e=this;arguments[0].each((function(t){this instanceof SVG.MergeNode?e.put(this):(this instanceof SVG.Effect||this instanceof SVG.ParentEffect)&&e.put(new SVG.MergeNode(this))}))}else{t=Array.isArray(arguments[0])?arguments[0]:arguments;for(var i=0;i1&&(a=Math.sqrt(a),T*=a,z*=a);s=(new SVG.Matrix).rotate(I).scale(1/T,1/z).rotate(-I),F=F.transform(s),R=R.transform(s),r=[R.x-F.x,R.y-F.y],o=r[0]*r[0]+r[1]*r[1],n=Math.sqrt(o),r[0]/=n,r[1]/=n,l=o<4?Math.sqrt(1-o/4):0,M===X&&(l*=-1);h=new SVG.Point((R.x+F.x)/2+l*-r[1],(R.y+F.y)/2+l*r[0]),c=new SVG.Point(F.x-h.x,F.y-h.y),d=new SVG.Point(R.x-h.x,R.y-h.y),g=Math.acos(c.x/Math.sqrt(c.x*c.x+c.y*c.y)),c.y<0&&(g*=-1);u=Math.acos(d.x/Math.sqrt(d.x*d.x+d.y*d.y)),d.y<0&&(u*=-1);X&&g>u&&(u+=2*Math.PI);!X&&gr.maxX-e.width&&(n=(a=r.maxX-e.width)-this.startPoints.box.x),null!=r.minY&&sr.maxY-e.height&&(o=(s=r.maxY-e.height)-this.startPoints.box.y),null!=r.snapToGrid&&(a-=a%r.snapToGrid,s-=s%r.snapToGrid,n-=n%r.snapToGrid,o-=o%r.snapToGrid),this.el instanceof SVG.G?this.el.matrix(this.startPoints.transform).transform({x:n,y:o},!0):this.el.move(a,s));return i},t.prototype.end=function(t){var e=this.drag(t);this.el.fire("dragend",{event:t,p:e,m:this.m,handler:this}),SVG.off(window,"mousemove.drag"),SVG.off(window,"touchmove.drag"),SVG.off(window,"mouseup.drag"),SVG.off(window,"touchend.drag")},SVG.extend(SVG.Element,{draggable:function(e,i){"function"!=typeof e&&"object"!=typeof e||(i=e,e=!0);var a=this.remember("_draggable")||new t(this);return(e=void 0===e||e)?a.init(i||{},e):(this.off("mousedown.drag"),this.off("touchstart.drag")),this}})}.call(void 0),function(){function t(t){this.el=t,t.remember("_selectHandler",this),this.pointSelection={isSelected:!1},this.rectSelection={isSelected:!1},this.pointsList={lt:[0,0],rt:["width",0],rb:["width","height"],lb:[0,"height"],t:["width",0],r:["width","height"],b:["width","height"],l:[0,"height"]},this.pointCoord=function(t,e,i){var a="string"!=typeof t?t:e[t];return i?a/2:a},this.pointCoords=function(t,e){var i=this.pointsList[t];return{x:this.pointCoord(i[0],e,"t"===t||"b"===t),y:this.pointCoord(i[1],e,"r"===t||"l"===t)}}}t.prototype.init=function(t,e){var i=this.el.bbox();this.options={};var a=this.el.selectize.defaults.points;for(var s in this.el.selectize.defaults)this.options[s]=this.el.selectize.defaults[s],void 0!==e[s]&&(this.options[s]=e[s]);var r=["points","pointsExclude"];for(var s in r){var n=this.options[r[s]];"string"==typeof n?n=n.length>0?n.split(/\s*,\s*/i):[]:"boolean"==typeof n&&"points"===r[s]&&(n=n?a:[]),this.options[r[s]]=n}this.options.points=[a,this.options.points].reduce((function(t,e){return t.filter((function(t){return e.indexOf(t)>-1}))})),this.options.points=[this.options.points,this.options.pointsExclude].reduce((function(t,e){return t.filter((function(t){return e.indexOf(t)<0}))})),this.parent=this.el.parent(),this.nested=this.nested||this.parent.group(),this.nested.matrix(new SVG.Matrix(this.el).translate(i.x,i.y)),this.options.deepSelect&&-1!==["line","polyline","polygon"].indexOf(this.el.type)?this.selectPoints(t):this.selectRect(t),this.observe(),this.cleanup()},t.prototype.selectPoints=function(t){return this.pointSelection.isSelected=t,this.pointSelection.set?this:(this.pointSelection.set=this.parent.set(),this.drawPoints(),this)},t.prototype.getPointArray=function(){var t=this.el.bbox();return this.el.array().valueOf().map((function(e){return[e[0]-t.x,e[1]-t.y]}))},t.prototype.drawPoints=function(){for(var t=this,e=this.getPointArray(),i=0,a=e.length;i0&&this.parameters.box.height-i[1]>0){if("text"===this.parameters.type)return this.el.move(this.parameters.box.x+i[0],this.parameters.box.y),void this.el.attr("font-size",this.parameters.fontSize-i[0]);i=this.checkAspectRatio(i),this.el.move(this.parameters.box.x+i[0],this.parameters.box.y+i[1]).size(this.parameters.box.width-i[0],this.parameters.box.height-i[1])}};break;case"rt":this.calc=function(t,e){var i=this.snapToGrid(t,e,2);if(this.parameters.box.width+i[0]>0&&this.parameters.box.height-i[1]>0){if("text"===this.parameters.type)return this.el.move(this.parameters.box.x-i[0],this.parameters.box.y),void this.el.attr("font-size",this.parameters.fontSize+i[0]);i=this.checkAspectRatio(i,!0),this.el.move(this.parameters.box.x,this.parameters.box.y+i[1]).size(this.parameters.box.width+i[0],this.parameters.box.height-i[1])}};break;case"rb":this.calc=function(t,e){var i=this.snapToGrid(t,e,0);if(this.parameters.box.width+i[0]>0&&this.parameters.box.height+i[1]>0){if("text"===this.parameters.type)return this.el.move(this.parameters.box.x-i[0],this.parameters.box.y),void this.el.attr("font-size",this.parameters.fontSize+i[0]);i=this.checkAspectRatio(i),this.el.move(this.parameters.box.x,this.parameters.box.y).size(this.parameters.box.width+i[0],this.parameters.box.height+i[1])}};break;case"lb":this.calc=function(t,e){var i=this.snapToGrid(t,e,1);if(this.parameters.box.width-i[0]>0&&this.parameters.box.height+i[1]>0){if("text"===this.parameters.type)return this.el.move(this.parameters.box.x+i[0],this.parameters.box.y),void this.el.attr("font-size",this.parameters.fontSize-i[0]);i=this.checkAspectRatio(i,!0),this.el.move(this.parameters.box.x+i[0],this.parameters.box.y).size(this.parameters.box.width-i[0],this.parameters.box.height+i[1])}};break;case"t":this.calc=function(t,e){var i=this.snapToGrid(t,e,2);if(this.parameters.box.height-i[1]>0){if("text"===this.parameters.type)return;this.el.move(this.parameters.box.x,this.parameters.box.y+i[1]).height(this.parameters.box.height-i[1])}};break;case"r":this.calc=function(t,e){var i=this.snapToGrid(t,e,0);if(this.parameters.box.width+i[0]>0){if("text"===this.parameters.type)return;this.el.move(this.parameters.box.x,this.parameters.box.y).width(this.parameters.box.width+i[0])}};break;case"b":this.calc=function(t,e){var i=this.snapToGrid(t,e,0);if(this.parameters.box.height+i[1]>0){if("text"===this.parameters.type)return;this.el.move(this.parameters.box.x,this.parameters.box.y).height(this.parameters.box.height+i[1])}};break;case"l":this.calc=function(t,e){var i=this.snapToGrid(t,e,1);if(this.parameters.box.width-i[0]>0){if("text"===this.parameters.type)return;this.el.move(this.parameters.box.x+i[0],this.parameters.box.y).width(this.parameters.box.width-i[0])}};break;case"rot":this.calc=function(t,e){var i=t+this.parameters.p.x,a=e+this.parameters.p.y,s=Math.atan2(this.parameters.p.y-this.parameters.box.y-this.parameters.box.height/2,this.parameters.p.x-this.parameters.box.x-this.parameters.box.width/2),r=Math.atan2(a-this.parameters.box.y-this.parameters.box.height/2,i-this.parameters.box.x-this.parameters.box.width/2),n=this.parameters.rotation+180*(r-s)/Math.PI+this.options.snapToAngle/2;this.el.center(this.parameters.box.cx,this.parameters.box.cy).rotate(n-n%this.options.snapToAngle,this.parameters.box.cx,this.parameters.box.cy)};break;case"point":this.calc=function(t,e){var i=this.snapToGrid(t,e,this.parameters.pointCoords[0],this.parameters.pointCoords[1]),a=this.el.array().valueOf();a[this.parameters.i][0]=this.parameters.pointCoords[0]+i[0],a[this.parameters.i][1]=this.parameters.pointCoords[1]+i[1],this.el.plot(a)}}this.el.fire("resizestart",{dx:this.parameters.x,dy:this.parameters.y,event:t}),SVG.on(window,"touchmove.resize",(function(t){e.update(t||window.event)})),SVG.on(window,"touchend.resize",(function(){e.done()})),SVG.on(window,"mousemove.resize",(function(t){e.update(t||window.event)})),SVG.on(window,"mouseup.resize",(function(){e.done()}))},t.prototype.update=function(t){if(t){var e=this._extractPosition(t),i=this.transformPoint(e.x,e.y),a=i.x-this.parameters.p.x,s=i.y-this.parameters.p.y;this.lastUpdateCall=[a,s],this.calc(a,s),this.el.fire("resizing",{dx:a,dy:s,event:t})}else this.lastUpdateCall&&this.calc(this.lastUpdateCall[0],this.lastUpdateCall[1])},t.prototype.done=function(){this.lastUpdateCall=null,SVG.off(window,"mousemove.resize"),SVG.off(window,"mouseup.resize"),SVG.off(window,"touchmove.resize"),SVG.off(window,"touchend.resize"),this.el.fire("resizedone")},t.prototype.snapToGrid=function(t,e,i,a){var s;return void 0!==a?s=[(i+t)%this.options.snapToGrid,(a+e)%this.options.snapToGrid]:(i=null==i?3:i,s=[(this.parameters.box.x+t+(1&i?0:this.parameters.box.width))%this.options.snapToGrid,(this.parameters.box.y+e+(2&i?0:this.parameters.box.height))%this.options.snapToGrid]),t<0&&(s[0]-=this.options.snapToGrid),e<0&&(s[1]-=this.options.snapToGrid),t-=Math.abs(s[0])n.maxX&&(t=n.maxX-s),void 0!==n.minY&&r+en.maxY&&(e=n.maxY-r),[t,e]},t.prototype.checkAspectRatio=function(t,e){if(!this.options.saveAspectRatio)return t;var i=t.slice(),a=this.parameters.box.width/this.parameters.box.height,s=this.parameters.box.width+t[0],r=this.parameters.box.height-t[1],n=s/r;return na&&(i[0]=this.parameters.box.width-r*a,e&&(i[0]=-i[0])),i},SVG.extend(SVG.Element,{resize:function(e){return(this.remember("_resizeHandler")||new t(this)).init(e||{}),this}}),SVG.Element.prototype.resize.defaults={snapToAngle:.1,snapToGrid:1,constraint:{},saveAspectRatio:!1}}).call(this)}();!function(t,e){void 0===e&&(e={});var i=e.insertAt;if(t&&"undefined"!=typeof document){var a=document.head||document.getElementsByTagName("head")[0],s=document.createElement("style");s.type="text/css","top"===i&&a.firstChild?a.insertBefore(s,a.firstChild):a.appendChild(s),s.styleSheet?s.styleSheet.cssText=t:s.appendChild(document.createTextNode(t))}}('.apexcharts-canvas {\n position: relative;\n user-select: none;\n /* cannot give overflow: hidden as it will crop tooltips which overflow outside chart area */\n}\n\n\n/* scrollbar is not visible by default for legend, hence forcing the visibility */\n.apexcharts-canvas ::-webkit-scrollbar {\n -webkit-appearance: none;\n width: 6px;\n}\n\n.apexcharts-canvas ::-webkit-scrollbar-thumb {\n border-radius: 4px;\n background-color: rgba(0, 0, 0, .5);\n box-shadow: 0 0 1px rgba(255, 255, 255, .5);\n -webkit-box-shadow: 0 0 1px rgba(255, 255, 255, .5);\n}\n\n.apexcharts-canvas.apexcharts-theme-dark {\n background: #343F57;\n}\n\n.apexcharts-inner {\n position: relative;\n}\n\n.apexcharts-text tspan {\n font-family: inherit;\n}\n\n.legend-mouseover-inactive {\n transition: 0.15s ease all;\n opacity: 0.20;\n}\n\n.apexcharts-series-collapsed {\n opacity: 0;\n}\n\n.apexcharts-tooltip {\n border-radius: 5px;\n box-shadow: 2px 2px 6px -4px #999;\n cursor: default;\n font-size: 14px;\n left: 62px;\n opacity: 0;\n pointer-events: none;\n position: absolute;\n top: 20px;\n overflow: hidden;\n white-space: nowrap;\n z-index: 12;\n transition: 0.15s ease all;\n}\n\n.apexcharts-tooltip.apexcharts-active {\n opacity: 1;\n transition: 0.15s ease all;\n}\n\n.apexcharts-tooltip.apexcharts-theme-light {\n border: 1px solid #e3e3e3;\n background: rgba(255, 255, 255, 0.96);\n}\n\n.apexcharts-tooltip.apexcharts-theme-dark {\n color: #fff;\n background: rgba(30, 30, 30, 0.8);\n}\n\n.apexcharts-tooltip * {\n font-family: inherit;\n}\n\n\n.apexcharts-tooltip-title {\n padding: 6px;\n font-size: 15px;\n margin-bottom: 4px;\n}\n\n.apexcharts-tooltip.apexcharts-theme-light .apexcharts-tooltip-title {\n background: #ECEFF1;\n border-bottom: 1px solid #ddd;\n}\n\n.apexcharts-tooltip.apexcharts-theme-dark .apexcharts-tooltip-title {\n background: rgba(0, 0, 0, 0.7);\n border-bottom: 1px solid #333;\n}\n\n.apexcharts-tooltip-text-value,\n.apexcharts-tooltip-text-z-value {\n display: inline-block;\n font-weight: 600;\n margin-left: 5px;\n}\n\n.apexcharts-tooltip-text-z-label:empty,\n.apexcharts-tooltip-text-z-value:empty {\n display: none;\n}\n\n.apexcharts-tooltip-text-value,\n.apexcharts-tooltip-text-z-value {\n font-weight: 600;\n}\n\n.apexcharts-tooltip-marker {\n width: 12px;\n height: 12px;\n position: relative;\n top: 0px;\n margin-right: 10px;\n border-radius: 50%;\n}\n\n.apexcharts-tooltip-series-group {\n padding: 0 10px;\n display: none;\n text-align: left;\n justify-content: left;\n align-items: center;\n}\n\n.apexcharts-tooltip-series-group.apexcharts-active .apexcharts-tooltip-marker {\n opacity: 1;\n}\n\n.apexcharts-tooltip-series-group.apexcharts-active,\n.apexcharts-tooltip-series-group:last-child {\n padding-bottom: 4px;\n}\n\n.apexcharts-tooltip-series-group-hidden {\n opacity: 0;\n height: 0;\n line-height: 0;\n padding: 0 !important;\n}\n\n.apexcharts-tooltip-y-group {\n padding: 6px 0 5px;\n}\n\n.apexcharts-tooltip-candlestick {\n padding: 4px 8px;\n}\n\n.apexcharts-tooltip-candlestick>div {\n margin: 4px 0;\n}\n\n.apexcharts-tooltip-candlestick span.value {\n font-weight: bold;\n}\n\n.apexcharts-tooltip-rangebar {\n padding: 5px 8px;\n}\n\n.apexcharts-tooltip-rangebar .category {\n font-weight: 600;\n color: #777;\n}\n\n.apexcharts-tooltip-rangebar .series-name {\n font-weight: bold;\n display: block;\n margin-bottom: 5px;\n}\n\n.apexcharts-xaxistooltip {\n opacity: 0;\n padding: 9px 10px;\n pointer-events: none;\n color: #373d3f;\n font-size: 13px;\n text-align: center;\n border-radius: 2px;\n position: absolute;\n z-index: 10;\n background: #ECEFF1;\n border: 1px solid #90A4AE;\n transition: 0.15s ease all;\n}\n\n.apexcharts-xaxistooltip.apexcharts-theme-dark {\n background: rgba(0, 0, 0, 0.7);\n border: 1px solid rgba(0, 0, 0, 0.5);\n color: #fff;\n}\n\n.apexcharts-xaxistooltip:after,\n.apexcharts-xaxistooltip:before {\n left: 50%;\n border: solid transparent;\n content: " ";\n height: 0;\n width: 0;\n position: absolute;\n pointer-events: none;\n}\n\n.apexcharts-xaxistooltip:after {\n border-color: rgba(236, 239, 241, 0);\n border-width: 6px;\n margin-left: -6px;\n}\n\n.apexcharts-xaxistooltip:before {\n border-color: rgba(144, 164, 174, 0);\n border-width: 7px;\n margin-left: -7px;\n}\n\n.apexcharts-xaxistooltip-bottom:after,\n.apexcharts-xaxistooltip-bottom:before {\n bottom: 100%;\n}\n\n.apexcharts-xaxistooltip-top:after,\n.apexcharts-xaxistooltip-top:before {\n top: 100%;\n}\n\n.apexcharts-xaxistooltip-bottom:after {\n border-bottom-color: #ECEFF1;\n}\n\n.apexcharts-xaxistooltip-bottom:before {\n border-bottom-color: #90A4AE;\n}\n\n.apexcharts-xaxistooltip-bottom.apexcharts-theme-dark:after {\n border-bottom-color: rgba(0, 0, 0, 0.5);\n}\n\n.apexcharts-xaxistooltip-bottom.apexcharts-theme-dark:before {\n border-bottom-color: rgba(0, 0, 0, 0.5);\n}\n\n.apexcharts-xaxistooltip-top:after {\n border-top-color: #ECEFF1\n}\n\n.apexcharts-xaxistooltip-top:before {\n border-top-color: #90A4AE;\n}\n\n.apexcharts-xaxistooltip-top.apexcharts-theme-dark:after {\n border-top-color: rgba(0, 0, 0, 0.5);\n}\n\n.apexcharts-xaxistooltip-top.apexcharts-theme-dark:before {\n border-top-color: rgba(0, 0, 0, 0.5);\n}\n\n.apexcharts-xaxistooltip.apexcharts-active {\n opacity: 1;\n transition: 0.15s ease all;\n}\n\n.apexcharts-yaxistooltip {\n opacity: 0;\n padding: 4px 10px;\n pointer-events: none;\n color: #373d3f;\n font-size: 13px;\n text-align: center;\n border-radius: 2px;\n position: absolute;\n z-index: 10;\n background: #ECEFF1;\n border: 1px solid #90A4AE;\n}\n\n.apexcharts-yaxistooltip.apexcharts-theme-dark {\n background: rgba(0, 0, 0, 0.7);\n border: 1px solid rgba(0, 0, 0, 0.5);\n color: #fff;\n}\n\n.apexcharts-yaxistooltip:after,\n.apexcharts-yaxistooltip:before {\n top: 50%;\n border: solid transparent;\n content: " ";\n height: 0;\n width: 0;\n position: absolute;\n pointer-events: none;\n}\n\n.apexcharts-yaxistooltip:after {\n border-color: rgba(236, 239, 241, 0);\n border-width: 6px;\n margin-top: -6px;\n}\n\n.apexcharts-yaxistooltip:before {\n border-color: rgba(144, 164, 174, 0);\n border-width: 7px;\n margin-top: -7px;\n}\n\n.apexcharts-yaxistooltip-left:after,\n.apexcharts-yaxistooltip-left:before {\n left: 100%;\n}\n\n.apexcharts-yaxistooltip-right:after,\n.apexcharts-yaxistooltip-right:before {\n right: 100%;\n}\n\n.apexcharts-yaxistooltip-left:after {\n border-left-color: #ECEFF1;\n}\n\n.apexcharts-yaxistooltip-left:before {\n border-left-color: #90A4AE;\n}\n\n.apexcharts-yaxistooltip-left.apexcharts-theme-dark:after {\n border-left-color: rgba(0, 0, 0, 0.5);\n}\n\n.apexcharts-yaxistooltip-left.apexcharts-theme-dark:before {\n border-left-color: rgba(0, 0, 0, 0.5);\n}\n\n.apexcharts-yaxistooltip-right:after {\n border-right-color: #ECEFF1;\n}\n\n.apexcharts-yaxistooltip-right:before {\n border-right-color: #90A4AE;\n}\n\n.apexcharts-yaxistooltip-right.apexcharts-theme-dark:after {\n border-right-color: rgba(0, 0, 0, 0.5);\n}\n\n.apexcharts-yaxistooltip-right.apexcharts-theme-dark:before {\n border-right-color: rgba(0, 0, 0, 0.5);\n}\n\n.apexcharts-yaxistooltip.apexcharts-active {\n opacity: 1;\n}\n\n.apexcharts-yaxistooltip-hidden {\n display: none;\n}\n\n.apexcharts-xcrosshairs,\n.apexcharts-ycrosshairs {\n pointer-events: none;\n opacity: 0;\n transition: 0.15s ease all;\n}\n\n.apexcharts-xcrosshairs.apexcharts-active,\n.apexcharts-ycrosshairs.apexcharts-active {\n opacity: 1;\n transition: 0.15s ease all;\n}\n\n.apexcharts-ycrosshairs-hidden {\n opacity: 0;\n}\n\n.apexcharts-selection-rect {\n cursor: move;\n}\n\n.svg_select_boundingRect, .svg_select_points_rot {\n pointer-events: none;\n opacity: 0;\n visibility: hidden;\n}\n.apexcharts-selection-rect + g .svg_select_boundingRect,\n.apexcharts-selection-rect + g .svg_select_points_rot {\n opacity: 0;\n visibility: hidden;\n}\n\n.apexcharts-selection-rect + g .svg_select_points_l,\n.apexcharts-selection-rect + g .svg_select_points_r {\n cursor: ew-resize;\n opacity: 1;\n visibility: visible;\n}\n\n.svg_select_points {\n fill: #efefef;\n stroke: #333;\n rx: 2;\n}\n\n.apexcharts-canvas.apexcharts-zoomable .hovering-zoom {\n cursor: crosshair\n}\n\n.apexcharts-canvas.apexcharts-zoomable .hovering-pan {\n cursor: move\n}\n\n.apexcharts-zoom-icon,\n.apexcharts-zoomin-icon,\n.apexcharts-zoomout-icon,\n.apexcharts-reset-icon,\n.apexcharts-pan-icon,\n.apexcharts-selection-icon,\n.apexcharts-menu-icon,\n.apexcharts-toolbar-custom-icon {\n cursor: pointer;\n width: 20px;\n height: 20px;\n line-height: 24px;\n color: #6E8192;\n text-align: center;\n}\n\n.apexcharts-zoom-icon svg,\n.apexcharts-zoomin-icon svg,\n.apexcharts-zoomout-icon svg,\n.apexcharts-reset-icon svg,\n.apexcharts-menu-icon svg {\n fill: #6E8192;\n}\n\n.apexcharts-selection-icon svg {\n fill: #444;\n transform: scale(0.76)\n}\n\n.apexcharts-theme-dark .apexcharts-zoom-icon svg,\n.apexcharts-theme-dark .apexcharts-zoomin-icon svg,\n.apexcharts-theme-dark .apexcharts-zoomout-icon svg,\n.apexcharts-theme-dark .apexcharts-reset-icon svg,\n.apexcharts-theme-dark .apexcharts-pan-icon svg,\n.apexcharts-theme-dark .apexcharts-selection-icon svg,\n.apexcharts-theme-dark .apexcharts-menu-icon svg,\n.apexcharts-theme-dark .apexcharts-toolbar-custom-icon svg {\n fill: #f3f4f5;\n}\n\n.apexcharts-canvas .apexcharts-zoom-icon.apexcharts-selected svg,\n.apexcharts-canvas .apexcharts-selection-icon.apexcharts-selected svg,\n.apexcharts-canvas .apexcharts-reset-zoom-icon.apexcharts-selected svg {\n fill: #008FFB;\n}\n\n.apexcharts-theme-light .apexcharts-selection-icon:not(.apexcharts-selected):hover svg,\n.apexcharts-theme-light .apexcharts-zoom-icon:not(.apexcharts-selected):hover svg,\n.apexcharts-theme-light .apexcharts-zoomin-icon:hover svg,\n.apexcharts-theme-light .apexcharts-zoomout-icon:hover svg,\n.apexcharts-theme-light .apexcharts-reset-icon:hover svg,\n.apexcharts-theme-light .apexcharts-menu-icon:hover svg {\n fill: #333;\n}\n\n.apexcharts-selection-icon,\n.apexcharts-menu-icon {\n position: relative;\n}\n\n.apexcharts-reset-icon {\n margin-left: 5px;\n}\n\n.apexcharts-zoom-icon,\n.apexcharts-reset-icon,\n.apexcharts-menu-icon {\n transform: scale(0.85);\n}\n\n.apexcharts-zoomin-icon,\n.apexcharts-zoomout-icon {\n transform: scale(0.7)\n}\n\n.apexcharts-zoomout-icon {\n margin-right: 3px;\n}\n\n.apexcharts-pan-icon {\n transform: scale(0.62);\n position: relative;\n left: 1px;\n top: 0px;\n}\n\n.apexcharts-pan-icon svg {\n fill: #fff;\n stroke: #6E8192;\n stroke-width: 2;\n}\n\n.apexcharts-pan-icon.apexcharts-selected svg {\n stroke: #008FFB;\n}\n\n.apexcharts-pan-icon:not(.apexcharts-selected):hover svg {\n stroke: #333;\n}\n\n.apexcharts-toolbar {\n position: absolute;\n z-index: 11;\n max-width: 176px;\n text-align: right;\n border-radius: 3px;\n padding: 0px 6px 2px 6px;\n display: flex;\n justify-content: space-between;\n align-items: center;\n}\n\n.apexcharts-menu {\n background: #fff;\n position: absolute;\n top: 100%;\n border: 1px solid #ddd;\n border-radius: 3px;\n padding: 3px;\n right: 10px;\n opacity: 0;\n min-width: 110px;\n transition: 0.15s ease all;\n pointer-events: none;\n}\n\n.apexcharts-menu.apexcharts-menu-open {\n opacity: 1;\n pointer-events: all;\n transition: 0.15s ease all;\n}\n\n.apexcharts-menu-item {\n padding: 6px 7px;\n font-size: 12px;\n cursor: pointer;\n}\n\n.apexcharts-theme-light .apexcharts-menu-item:hover {\n background: #eee;\n}\n\n.apexcharts-theme-dark .apexcharts-menu {\n background: rgba(0, 0, 0, 0.7);\n color: #fff;\n}\n\n@media screen and (min-width: 768px) {\n .apexcharts-canvas:hover .apexcharts-toolbar {\n opacity: 1;\n }\n}\n\n.apexcharts-datalabel.apexcharts-element-hidden {\n opacity: 0;\n}\n\n.apexcharts-pie-label,\n.apexcharts-datalabels,\n.apexcharts-datalabel,\n.apexcharts-datalabel-label,\n.apexcharts-datalabel-value {\n cursor: default;\n pointer-events: none;\n}\n\n.apexcharts-pie-label-delay {\n opacity: 0;\n animation-name: opaque;\n animation-duration: 0.3s;\n animation-fill-mode: forwards;\n animation-timing-function: ease;\n}\n\n.apexcharts-canvas .apexcharts-element-hidden {\n opacity: 0;\n}\n\n.apexcharts-hide .apexcharts-series-points {\n opacity: 0;\n}\n\n.apexcharts-gridline,\n.apexcharts-annotation-rect,\n.apexcharts-tooltip .apexcharts-marker,\n.apexcharts-area-series .apexcharts-area,\n.apexcharts-line,\n.apexcharts-zoom-rect,\n.apexcharts-toolbar svg,\n.apexcharts-area-series .apexcharts-series-markers .apexcharts-marker.no-pointer-events,\n.apexcharts-line-series .apexcharts-series-markers .apexcharts-marker.no-pointer-events,\n.apexcharts-radar-series path,\n.apexcharts-radar-series polygon {\n pointer-events: none;\n}\n\n\n/* markers */\n\n.apexcharts-marker {\n transition: 0.15s ease all;\n}\n\n@keyframes opaque {\n 0% {\n opacity: 0;\n }\n 100% {\n opacity: 1;\n }\n}\n\n\n/* Resize generated styles */\n\n@keyframes resizeanim {\n from {\n opacity: 0;\n }\n to {\n opacity: 0;\n }\n}\n\n.resize-triggers {\n animation: 1ms resizeanim;\n visibility: hidden;\n opacity: 0;\n}\n\n.resize-triggers,\n.resize-triggers>div,\n.contract-trigger:before {\n content: " ";\n display: block;\n position: absolute;\n top: 0;\n left: 0;\n height: 100%;\n width: 100%;\n overflow: hidden;\n}\n\n.resize-triggers>div {\n background: #eee;\n overflow: auto;\n}\n\n.contract-trigger:before {\n width: 200%;\n height: 200%;\n}'),function(){function t(t){var e=t.__resizeTriggers__,i=e.firstElementChild,a=e.lastElementChild,s=i?i.firstElementChild:null;a&&(a.scrollLeft=a.scrollWidth,a.scrollTop=a.scrollHeight),s&&(s.style.width=i.offsetWidth+1+"px",s.style.height=i.offsetHeight+1+"px"),i&&(i.scrollLeft=i.scrollWidth,i.scrollTop=i.scrollHeight)}function e(e){var i=this;t(this),this.__resizeRAF__&&r(this.__resizeRAF__),this.__resizeRAF__=s((function(){(function(t){return t.offsetWidth!=t.__resizeLast__.width||t.offsetHeight!=t.__resizeLast__.height})(i)&&(i.__resizeLast__.width=i.offsetWidth,i.__resizeLast__.height=i.offsetHeight,i.__resizeListeners__.forEach((function(t){t.call(e)})))}))}var i,a,s=(i=window.requestAnimationFrame||window.mozRequestAnimationFrame||window.webkitRequestAnimationFrame||function(t){return window.setTimeout(t,20)},function(t){return i(t)}),r=(a=window.cancelAnimationFrame||window.mozCancelAnimationFrame||window.webkitCancelAnimationFrame||window.clearTimeout,function(t){return a(t)}),n=!1,o="animationstart",l="Webkit Moz O ms".split(" "),h="webkitAnimationStart animationstart oAnimationStart MSAnimationStart".split(" "),c=document.createElement("fakeelement");if(void 0!==c.style.animationName&&(n=!0),!1===n)for(var d=0;d
',i.appendChild(i.__resizeTriggers__),t(i),i.addEventListener("scroll",e,!0),o&&i.__resizeTriggers__.addEventListener(o,(function(e){"resizeanim"==e.animationName&&t(i)}))),i.__resizeListeners__.push(a)},window.removeResizeListener=function(t,i){t&&(t.__resizeListeners__.splice(t.__resizeListeners__.indexOf(i),1),t.__resizeListeners__.length||(t.removeEventListener("scroll",e),t.__resizeTriggers__.parentNode&&(t.__resizeTriggers__=!t.removeChild(t.__resizeTriggers__))))}}(),window.Apex={};var It=function(){function t(i){e(this,t),this.ctx=i,this.w=i.w}return a(t,[{key:"initModules",value:function(){this.ctx.publicMethods=["updateOptions","updateSeries","appendData","appendSeries","toggleSeries","showSeries","hideSeries","setLocale","resetSeries","zoomX","toggleDataPointSelection","dataURI","addXaxisAnnotation","addYaxisAnnotation","addPointAnnotation","clearAnnotations","removeAnnotation","paper","destroy"],this.ctx.eventList=["click","mousedown","mousemove","touchstart","touchmove","mouseup","touchend"],this.ctx.animations=new f(this.ctx),this.ctx.axes=new J(this.ctx),this.ctx.core=new Tt(this.ctx.el,this.ctx),this.ctx.config=new D({}),this.ctx.data=new O(this.ctx),this.ctx.grid=new _(this.ctx),this.ctx.graphics=new p(this.ctx),this.ctx.coreUtils=new m(this.ctx),this.ctx.crosshairs=new Q(this.ctx),this.ctx.events=new Z(this.ctx),this.ctx.exports=new V(this.ctx),this.ctx.localization=new $(this.ctx),this.ctx.options=new S,this.ctx.responsive=new K(this.ctx),this.ctx.series=new M(this.ctx),this.ctx.theme=new tt(this.ctx),this.ctx.formatters=new W(this.ctx),this.ctx.titleSubtitle=new et(this.ctx),this.ctx.legend=new ct(this.ctx),this.ctx.toolbar=new dt(this.ctx),this.ctx.dimensions=new nt(this.ctx),this.ctx.updateHelpers=new zt(this.ctx),this.ctx.zoomPanSelection=new gt(this.ctx),this.ctx.w.globals.tooltip=new vt(this.ctx)}}]),t}(),Mt=function(){function t(i){e(this,t),this.ctx=i,this.w=i.w}return a(t,[{key:"clear",value:function(){this.ctx.zoomPanSelection&&this.ctx.zoomPanSelection.destroy(),this.ctx.toolbar&&this.ctx.toolbar.destroy(),this.ctx.animations=null,this.ctx.axes=null,this.ctx.annotations=null,this.ctx.core=null,this.ctx.data=null,this.ctx.grid=null,this.ctx.series=null,this.ctx.responsive=null,this.ctx.theme=null,this.ctx.formatters=null,this.ctx.titleSubtitle=null,this.ctx.legend=null,this.ctx.dimensions=null,this.ctx.options=null,this.ctx.crosshairs=null,this.ctx.zoomPanSelection=null,this.ctx.updateHelpers=null,this.ctx.toolbar=null,this.ctx.localization=null,this.ctx.w.globals.tooltip=null,this.clearDomElements()}},{key:"killSVG",value:function(t){t.each((function(t,e){this.removeClass("*"),this.off(),this.stop()}),!0),t.ungroup(),t.clear()}},{key:"clearDomElements",value:function(){var t=this;this.ctx.eventList.forEach((function(e){document.removeEventListener(e,t.ctx.events.documentEvent)}));var e=this.w.globals.dom;if(null!==this.ctx.el)for(;this.ctx.el.firstChild;)this.ctx.el.removeChild(this.ctx.el.firstChild);this.killSVG(e.Paper),e.Paper.remove(),e.elWrap=null,e.elGraphical=null,e.elAnnotations=null,e.elLegendWrap=null,e.baseEl=null,e.elGridRect=null,e.elGridRectMask=null,e.elGridRectMarkerMask=null,e.elDefs=null}}]),t}();return function(){function t(i,a){e(this,t),this.opts=a,this.ctx=this,this.w=new N(a).init(),this.el=i,this.w.globals.cuid=g.randomId(),this.w.globals.chartID=this.w.config.chart.id?this.w.config.chart.id:this.w.globals.cuid,new It(this).initModules(),this.create=g.bind(this.create,this),this.windowResizeHandler=this._windowResize.bind(this)}return a(t,[{key:"render",value:function(){var t=this;return new Promise((function(e,i){if(null!==t.el){void 0===Apex._chartInstances&&(Apex._chartInstances=[]),t.w.config.chart.id&&Apex._chartInstances.push({id:t.w.globals.chartID,group:t.w.config.chart.group,chart:t}),t.setLocale(t.w.config.chart.defaultLocale);var a=t.w.config.chart.events.beforeMount;"function"==typeof a&&a(t,t.w),t.events.fireEvent("beforeMount",[t,t.w]),window.addEventListener("resize",t.windowResizeHandler),window.addResizeListener(t.el.parentNode,t._parentResizeCallback.bind(t));var s=t.create(t.w.config.series,{});if(!s)return e(t);t.mount(s).then((function(){"function"==typeof t.w.config.chart.events.mounted&&t.w.config.chart.events.mounted(t,t.w),t.events.fireEvent("mounted",[t,t.w]),e(s)})).catch((function(t){i(t)}))}else i(new Error("Element not found"))}))}},{key:"create",value:function(t,e){var i=this.w;new It(this).initModules();var a=this.w.globals;(a.noData=!1,a.animationEnded=!1,this.responsive.checkResponsiveConfig(e),i.config.xaxis.convertedCatToNumeric)&&new R(i.config).convertCatToNumericXaxis(i.config,this.ctx);if(null===this.el)return a.animationEnded=!0,null;if(this.core.setupElements(),0===a.svgWidth)return a.animationEnded=!0,null;var s=m.checkComboSeries(t);a.comboCharts=s.comboCharts,a.comboBarCount=s.comboBarCount,(0===t.length||1===t.length&&t[0].data&&0===t[0].data.length)&&this.series.handleNoData(),this.events.setupEventHandlers(),this.data.parseData(t),this.theme.init(),new P(this).setGlobalMarkerSize(),this.formatters.setLabelFormatters(),this.titleSubtitle.draw(),a.noData&&a.collapsedSeries.length!==a.series.length||this.legend.init(),this.series.hasAllSeriesEqualX(),a.axisCharts&&(this.core.coreCalculations(),"category"!==i.config.xaxis.type&&this.formatters.setLabelFormatters()),this.formatters.heatmapLabelFormatters(),this.dimensions.plotCoords();var r=this.core.xySettings();this.grid.createGridMask();var n=this.core.plotChartType(t,r),o=new z(this);o.bringForward(),i.config.dataLabels.background.enabled&&o.dataLabelsBackground(),this.core.shiftGraphPosition();var l={plot:{left:i.globals.translateX,top:i.globals.translateY,width:i.globals.gridWidth,height:i.globals.gridHeight}};return{elGraph:n,xyRatios:r,elInner:i.globals.dom.elGraphical,dimensions:l}}},{key:"mount",value:function(){var t=this,e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null,i=this,a=i.w;return new Promise((function(s,r){if(null===i.el)return r(new Error("Not enough data to display or target element not found"));(null===e||a.globals.allSeriesCollapsed)&&i.series.handleNoData(),i.axes.drawAxis(a.config.chart.type,e.xyRatios),i.grid=new _(i);var n=i.grid.drawGrid();i.annotations=new C(i),i.annotations.drawShapeAnnos(),i.annotations.drawImageAnnos(),i.annotations.drawTextAnnos(),"back"===a.config.grid.position&&n&&a.globals.dom.elGraphical.add(n.el);var o=new G(t.ctx),l=new q(t.ctx);if(null!==n&&(o.xAxisLabelCorrections(n.xAxisTickWidth),l.setYAxisTextAlignments()),"back"===a.config.annotations.position&&(a.globals.dom.Paper.add(a.globals.dom.elAnnotations),i.annotations.drawAxesAnnotations()),e.elGraph instanceof Array)for(var h=0;h0&&a.globals.memory.methodsToExec.forEach((function(t){t.method(t.params,!1,t.context)})),a.globals.axisCharts||a.globals.noData||i.core.resizeNonAxisCharts(),s(i)}))}},{key:"destroy",value:function(){window.removeEventListener("resize",this.windowResizeHandler),window.removeResizeListener(this.el.parentNode,this._parentResizeCallback.bind(this));var t=this.w.config.chart.id;t&&Apex._chartInstances.forEach((function(e,i){e.id===t&&Apex._chartInstances.splice(i,1)})),new Mt(this.ctx).clear()}},{key:"updateOptions",value:function(t){var e=this,i=arguments.length>1&&void 0!==arguments[1]&&arguments[1],a=!(arguments.length>2&&void 0!==arguments[2])||arguments[2],s=!(arguments.length>3&&void 0!==arguments[3])||arguments[3],r=!(arguments.length>4&&void 0!==arguments[4])||arguments[4],n=this.w;return t.series&&(this.series.resetSeries(!1,!0,!1),t.series.length&&t.series[0].data&&(t.series=t.series.map((function(t,i){return e.updateHelpers._extendSeries(t,i)}))),this.updateHelpers.revertDefaultAxisMinMax()),t.xaxis&&(t=this.updateHelpers.forceXAxisUpdate(t)),t.yaxis&&(t=this.updateHelpers.forceYAxisUpdate(t)),n.globals.collapsedSeriesIndices.length>0&&this.series.clearPreviousPaths(),t.theme&&(t=this.theme.updateThemeOptions(t)),this.updateHelpers._updateOptions(t,i,a,s,r)}},{key:"updateSeries",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],e=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],i=!(arguments.length>2&&void 0!==arguments[2])||arguments[2];return this.series.resetSeries(!1),this.updateHelpers.revertDefaultAxisMinMax(),this.updateHelpers._updateSeries(t,e,i)}},{key:"appendSeries",value:function(t){var e=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],i=!(arguments.length>2&&void 0!==arguments[2])||arguments[2],a=this.w.config.series.slice();return a.push(t),this.series.resetSeries(!1),this.updateHelpers.revertDefaultAxisMinMax(),this.updateHelpers._updateSeries(a,e,i)}},{key:"appendData",value:function(t){var e=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],i=this;i.w.globals.dataChanged=!0,i.series.getPreviousPaths();for(var a=i.w.config.series.slice(),s=0;s0&&void 0!==arguments[0])||arguments[0],e=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];this.series.resetSeries(t,e)}},{key:"addEventListener",value:function(t,e){this.events.addEventListener(t,e)}},{key:"removeEventListener",value:function(t,e){this.events.removeEventListener(t,e)}},{key:"addXaxisAnnotation",value:function(t){var e=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:void 0,a=this;i&&(a=i),a.annotations.addXaxisAnnotationExternal(t,e,a)}},{key:"addYaxisAnnotation",value:function(t){var e=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:void 0,a=this;i&&(a=i),a.annotations.addYaxisAnnotationExternal(t,e,a)}},{key:"addPointAnnotation",value:function(t){var e=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:void 0,a=this;i&&(a=i),a.annotations.addPointAnnotationExternal(t,e,a)}},{key:"clearAnnotations",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:void 0,e=this;t&&(e=t),e.annotations.clearAnnotations(e)}},{key:"removeAnnotation",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:void 0,i=this;e&&(i=e),i.annotations.removeAnnotation(i,t)}},{key:"getChartArea",value:function(){return this.w.globals.dom.baseEl.querySelector(".apexcharts-inner")}},{key:"getSeriesTotalXRange",value:function(t,e){return this.coreUtils.getSeriesTotalsXRange(t,e)}},{key:"getHighestValueInSeries",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,e=new U(this.ctx);return e.getMinYMaxY(t).highestY}},{key:"getLowestValueInSeries",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,e=new U(this.ctx);return e.getMinYMaxY(t).lowestY}},{key:"getSeriesTotal",value:function(){return this.w.globals.seriesTotals}},{key:"toggleDataPointSelection",value:function(t,e){return this.updateHelpers.toggleDataPointSelection(t,e)}},{key:"zoomX",value:function(t,e){this.ctx.toolbar.zoomUpdateOptions(t,e)}},{key:"setLocale",value:function(t){this.localization.setCurrentLocaleValues(t)}},{key:"dataURI",value:function(){return new V(this.ctx).dataURI()}},{key:"paper",value:function(){return this.w.globals.dom.Paper}},{key:"_parentResizeCallback",value:function(){!this.w.globals.noData&&this.w.globals.animationEnded&&this.w.config.chart.redrawOnParentResize&&this._windowResize()}},{key:"_windowResize",value:function(){var t=this;clearTimeout(this.w.globals.resizeTimer),this.w.globals.resizeTimer=window.setTimeout((function(){t.w.globals.resized=!0,t.w.globals.dataChanged=!1,t.ctx.update()}),150)}}],[{key:"getChartByID",value:function(t){var e=Apex._chartInstances.filter((function(e){return e.id===t}))[0];return e&&e.chart}},{key:"initOnLoad",value:function(){for(var e=document.querySelectorAll("[data-apexcharts]"),i=0;i2?s-2:0),n=2;ndiv{position:absolute;left:0;top:0;width:100%;height:100%}.colorpicker-bar.colorpicker-swatches{-webkit-box-shadow:none;box-shadow:none;height:auto}.colorpicker-swatches--inner{clear:both;margin-top:-6px}.colorpicker-swatch{position:relative;cursor:pointer;float:left;height:16px;width:16px;margin-right:6px;margin-top:6px;margin-left:0;display:block;-webkit-box-shadow:0 0 0 1px rgba(0,0,0,.2);box-shadow:0 0 0 1px rgba(0,0,0,.2);background:linear-gradient(45deg,rgba(0,0,0,.1) 25%,transparent 25%,transparent 75%,rgba(0,0,0,.1) 75%,rgba(0,0,0,.1) 0),linear-gradient(45deg,rgba(0,0,0,.1) 25%,transparent 25%,transparent 75%,rgba(0,0,0,.1) 75%,rgba(0,0,0,.1) 0),#fff;background-size:10px 10px;background-position:0 0,5px 5px}.colorpicker-swatch--inner{position:absolute;top:0;left:0;width:100%;height:100%}.colorpicker-swatch:nth-of-type(7n+0){margin-right:0}.colorpicker-with-alpha .colorpicker-swatch:nth-of-type(7n+0){margin-right:6px}.colorpicker-with-alpha .colorpicker-swatch:nth-of-type(8n+0){margin-right:0}.colorpicker-horizontal .colorpicker-swatch:nth-of-type(6n+0){margin-right:0}.colorpicker-horizontal .colorpicker-swatch:nth-of-type(7n+0){margin-right:6px}.colorpicker-horizontal .colorpicker-swatch:nth-of-type(8n+0){margin-right:6px}.colorpicker-swatch:last-of-type:after{content:"";display:table;clear:both}.colorpicker-element input[dir=rtl],.colorpicker-element[dir=rtl] input,[dir=rtl] .colorpicker-element input{direction:ltr;text-align:right} diff --git a/public/assets/libs/bootstrap-colorpicker/js/bootstrap-colorpicker.min.js b/public/assets/libs/bootstrap-colorpicker/js/bootstrap-colorpicker.min.js new file mode 100644 index 0000000..ffce55d --- /dev/null +++ b/public/assets/libs/bootstrap-colorpicker/js/bootstrap-colorpicker.min.js @@ -0,0 +1,9 @@ +/*! + * Bootstrap Colorpicker - Bootstrap Colorpicker is a modular color picker plugin for Bootstrap 4. + * @package bootstrap-colorpicker + * @version v3.2.0 + * @license MIT + * @link https://itsjavi.com/bootstrap-colorpicker/ + * @link https://github.com/itsjavi/bootstrap-colorpicker.git + */ +(function webpackUniversalModuleDefinition(root,factory){if(typeof exports==="object"&&typeof module==="object")module.exports=factory(require("jquery"));else if(typeof define==="function"&&define.amd)define("bootstrap-colorpicker",["jquery"],factory);else if(typeof exports==="object")exports["bootstrap-colorpicker"]=factory(require("jquery"));else root["bootstrap-colorpicker"]=factory(root["jQuery"])})(window,function(__WEBPACK_EXTERNAL_MODULE__0__){return function(modules){var installedModules={};function __webpack_require__(moduleId){if(installedModules[moduleId]){return installedModules[moduleId].exports}var module=installedModules[moduleId]={i:moduleId,l:false,exports:{}};modules[moduleId].call(module.exports,module,module.exports,__webpack_require__);module.l=true;return module.exports}__webpack_require__.m=modules;__webpack_require__.c=installedModules;__webpack_require__.d=function(exports,name,getter){if(!__webpack_require__.o(exports,name)){Object.defineProperty(exports,name,{enumerable:true,get:getter})}};__webpack_require__.r=function(exports){if(typeof Symbol!=="undefined"&&Symbol.toStringTag){Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"})}Object.defineProperty(exports,"__esModule",{value:true})};__webpack_require__.t=function(value,mode){if(mode&1)value=__webpack_require__(value);if(mode&8)return value;if(mode&4&&typeof value==="object"&&value&&value.__esModule)return value;var ns=Object.create(null);__webpack_require__.r(ns);Object.defineProperty(ns,"default",{enumerable:true,value});if(mode&2&&typeof value!="string")for(var key in value)__webpack_require__.d(ns,key,function(key){return value[key]}.bind(null,key));return ns};__webpack_require__.n=function(module){var getter=module&&module.__esModule?function getDefault(){return module["default"]}:function getModuleExports(){return module};__webpack_require__.d(getter,"a",getter);return getter};__webpack_require__.o=function(object,property){return Object.prototype.hasOwnProperty.call(object,property)};__webpack_require__.p="";return __webpack_require__(__webpack_require__.s=7)}([function(module,exports){module.exports=__WEBPACK_EXTERNAL_MODULE__0__},function(module,exports,__webpack_require__){"use strict";Object.defineProperty(exports,"__esModule",{value:true});var _createClass=function(){function defineProperties(target,props){for(var i=0;i1&&arguments[1]!==undefined?arguments[1]:{};_classCallCheck(this,Extension);this.colorpicker=colorpicker;this.options=options;if(!(this.colorpicker.element&&this.colorpicker.element.length)){throw new Error("Extension: this.colorpicker.element is not valid")}this.colorpicker.element.on("colorpickerCreate.colorpicker-ext",_jquery2.default.proxy(this.onCreate,this));this.colorpicker.element.on("colorpickerDestroy.colorpicker-ext",_jquery2.default.proxy(this.onDestroy,this));this.colorpicker.element.on("colorpickerUpdate.colorpicker-ext",_jquery2.default.proxy(this.onUpdate,this));this.colorpicker.element.on("colorpickerChange.colorpicker-ext",_jquery2.default.proxy(this.onChange,this));this.colorpicker.element.on("colorpickerInvalid.colorpicker-ext",_jquery2.default.proxy(this.onInvalid,this));this.colorpicker.element.on("colorpickerShow.colorpicker-ext",_jquery2.default.proxy(this.onShow,this));this.colorpicker.element.on("colorpickerHide.colorpicker-ext",_jquery2.default.proxy(this.onHide,this));this.colorpicker.element.on("colorpickerEnable.colorpicker-ext",_jquery2.default.proxy(this.onEnable,this));this.colorpicker.element.on("colorpickerDisable.colorpicker-ext",_jquery2.default.proxy(this.onDisable,this))}_createClass(Extension,[{key:"resolveColor",value:function resolveColor(color){var realColor=arguments.length>1&&arguments[1]!==undefined?arguments[1]:true;return false}},{key:"onCreate",value:function onCreate(event){}},{key:"onDestroy",value:function onDestroy(event){this.colorpicker.element.off(".colorpicker-ext")}},{key:"onUpdate",value:function onUpdate(event){}},{key:"onChange",value:function onChange(event){}},{key:"onInvalid",value:function onInvalid(event){}},{key:"onHide",value:function onHide(event){}},{key:"onShow",value:function onShow(event){}},{key:"onDisable",value:function onDisable(event){}},{key:"onEnable",value:function onEnable(event){}}]);return Extension}();exports.default=Extension;module.exports=exports.default},function(module,exports,__webpack_require__){"use strict";Object.defineProperty(exports,"__esModule",{value:true});exports.ColorItem=exports.HSVAColor=undefined;var _createClass=function(){function defineProperties(target,props){for(var i=0;i1?_len-1:0),_key=1;_key<_len;_key++){args[_key-1]=arguments[_key]}if(arguments.length===0){return this._color}var result=this._color[fn].apply(this._color,args);if(!(result instanceof _color2.default)){return result}return new ColorItem(result,this.format)}},{key:"original",get:function get(){return this._original}}],[{key:"HSVAColor",get:function get(){return HSVAColor}}]);function ColorItem(){var color=arguments.length>0&&arguments[0]!==undefined?arguments[0]:null;var format=arguments.length>1&&arguments[1]!==undefined?arguments[1]:null;_classCallCheck(this,ColorItem);this.replace(color,format)}_createClass(ColorItem,[{key:"replace",value:function replace(color){var format=arguments.length>1&&arguments[1]!==undefined?arguments[1]:null;format=ColorItem.sanitizeFormat(format);this._original={color,format,valid:true};this._color=ColorItem.parse(color);if(this._color===null){this._color=(0,_color2.default)();this._original.valid=false;return}this._format=format?format:ColorItem.isHex(color)?"hex":this._color.model}},{key:"isValid",value:function isValid(){return this._original.valid===true}},{key:"setHueRatio",value:function setHueRatio(h){this.hue=(1-h)*360}},{key:"setSaturationRatio",value:function setSaturationRatio(s){this.saturation=s*100}},{key:"setValueRatio",value:function setValueRatio(v){this.value=(1-v)*100}},{key:"setAlphaRatio",value:function setAlphaRatio(a){this.alpha=1-a}},{key:"isDesaturated",value:function isDesaturated(){return this.saturation===0}},{key:"isTransparent",value:function isTransparent(){return this.alpha===0}},{key:"hasTransparency",value:function hasTransparency(){return this.hasAlpha()&&this.alpha<1}},{key:"hasAlpha",value:function hasAlpha(){return!isNaN(this.alpha)}},{key:"toObject",value:function toObject(){return new HSVAColor(this.hue,this.saturation,this.value,this.alpha)}},{key:"toHsva",value:function toHsva(){return this.toObject()}},{key:"toHsvaRatio",value:function toHsvaRatio(){return new HSVAColor(this.hue/360,this.saturation/100,this.value/100,this.alpha)}},{key:"toString",value:function toString(){return this.string()}},{key:"string",value:function string(){var format=arguments.length>0&&arguments[0]!==undefined?arguments[0]:null;format=ColorItem.sanitizeFormat(format?format:this.format);if(!format){return this._color.round().string()}if(this._color[format]===undefined){throw new Error("Unsupported color format: '"+format+"'")}var str=this._color[format]();return str.round?str.round().string():str}},{key:"equals",value:function equals(color){color=color instanceof ColorItem?color:new ColorItem(color);if(!color.isValid()||!this.isValid()){return false}return this.hue===color.hue&&this.saturation===color.saturation&&this.value===color.value&&this.alpha===color.alpha}},{key:"getClone",value:function getClone(){return new ColorItem(this._color,this.format)}},{key:"getCloneHueOnly",value:function getCloneHueOnly(){return new ColorItem([this.hue,100,100,1],this.format)}},{key:"getCloneOpaque",value:function getCloneOpaque(){return new ColorItem(this._color.alpha(1),this.format)}},{key:"toRgbString",value:function toRgbString(){return this.string("rgb")}},{key:"toHexString",value:function toHexString(){return this.string("hex")}},{key:"toHslString",value:function toHslString(){return this.string("hsl")}},{key:"isDark",value:function isDark(){return this._color.isDark()}},{key:"isLight",value:function isLight(){return this._color.isLight()}},{key:"generate",value:function generate(formula){var hues=[];if(Array.isArray(formula)){hues=formula}else if(!ColorItem.colorFormulas.hasOwnProperty(formula)){throw new Error("No color formula found with the name '"+formula+"'.")}else{hues=ColorItem.colorFormulas[formula]}var colors=[],mainColor=this._color,format=this.format;hues.forEach(function(hue){var levels=[hue?(mainColor.hue()+hue)%360:mainColor.hue(),mainColor.saturationv(),mainColor.value(),mainColor.alpha()];colors.push(new ColorItem(levels,format))});return colors}},{key:"hue",get:function get(){return this._color.hue()},set:function set(value){this._color=this._color.hue(value)}},{key:"saturation",get:function get(){return this._color.saturationv()},set:function set(value){this._color=this._color.saturationv(value)}},{key:"value",get:function get(){return this._color.value()},set:function set(value){this._color=this._color.value(value)}},{key:"alpha",get:function get(){var a=this._color.alpha();return isNaN(a)?1:a},set:function set(value){this._color=this._color.alpha(Math.round(value*100)/100)}},{key:"format",get:function get(){return this._format?this._format:this._color.model},set:function set(value){this._format=ColorItem.sanitizeFormat(value)}}],[{key:"parse",value:function parse(color){if(color instanceof _color2.default){return color}if(color instanceof ColorItem){return color._color}var format=null;if(color instanceof HSVAColor){color=[color.h,color.s,color.v,isNaN(color.a)?1:color.a]}else{color=ColorItem.sanitizeString(color)}if(color===null){return null}if(Array.isArray(color)){format="hsv"}try{return(0,_color2.default)(color,format)}catch(e){return null}}},{key:"sanitizeString",value:function sanitizeString(str){if(!(typeof str==="string"||str instanceof String)){return str}if(str.match(/^[0-9a-f]{2,}$/i)){return"#"+str}if(str.toLowerCase()==="transparent"){return"#FFFFFF00"}return str}},{key:"isHex",value:function isHex(str){if(!(typeof str==="string"||str instanceof String)){return false}return!!str.match(/^#?[0-9a-f]{2,}$/i)}},{key:"sanitizeFormat",value:function sanitizeFormat(format){switch(format){case"hex":case"hex3":case"hex4":case"hex6":case"hex8":return"hex";case"rgb":case"rgba":case"keyword":case"name":return"rgb";case"hsl":case"hsla":case"hsv":case"hsva":case"hwb":case"hwba":return"hsl";default:return""}}}]);return ColorItem}();ColorItem.colorFormulas={complementary:[180],triad:[0,120,240],tetrad:[0,90,180,270],splitcomplement:[0,72,216]};exports.default=ColorItem;exports.HSVAColor=HSVAColor;exports.ColorItem=ColorItem},function(module,exports,__webpack_require__){"use strict";Object.defineProperty(exports,"__esModule",{value:true});var sassVars={bar_size_short:16,base_margin:6,columns:6};var sliderSize=sassVars.bar_size_short*sassVars.columns+sassVars.base_margin*(sassVars.columns-1);exports.default={customClass:null,color:false,fallbackColor:false,format:"auto",horizontal:false,inline:false,container:false,popover:{animation:true,placement:"bottom",fallbackPlacement:"flip"},debug:false,input:"input",addon:".colorpicker-input-addon",autoInputFallback:true,useHashPrefix:true,useAlpha:true,template:'
\n
\n
\n
\n
\n \n
\n
',extensions:[{name:"preview",options:{showText:true}}],sliders:{saturation:{selector:".colorpicker-saturation",maxLeft:sliderSize,maxTop:sliderSize,callLeft:"setSaturationRatio",callTop:"setValueRatio"},hue:{selector:".colorpicker-hue",maxLeft:0,maxTop:sliderSize,callLeft:false,callTop:"setHueRatio"},alpha:{selector:".colorpicker-alpha",childSelector:".colorpicker-alpha-color",maxLeft:0,maxTop:sliderSize,callLeft:false,callTop:"setAlphaRatio"}},slidersHorz:{saturation:{selector:".colorpicker-saturation",maxLeft:sliderSize,maxTop:sliderSize,callLeft:"setSaturationRatio",callTop:"setValueRatio"},hue:{selector:".colorpicker-hue",maxLeft:sliderSize,maxTop:0,callLeft:"setHueRatio",callTop:false},alpha:{selector:".colorpicker-alpha",childSelector:".colorpicker-alpha-color",maxLeft:sliderSize,maxTop:0,callLeft:"setAlphaRatio",callTop:false}}};module.exports=exports.default},function(module,exports,__webpack_require__){"use strict";Object.defineProperty(exports,"__esModule",{value:true});var _typeof=typeof Symbol==="function"&&typeof Symbol.iterator==="symbol"?function(obj){return typeof obj}:function(obj){return obj&&typeof Symbol==="function"&&obj.constructor===Symbol&&obj!==Symbol.prototype?"symbol":typeof obj};var _createClass=function(){function defineProperties(target,props){for(var i=0;i1&&arguments[1]!==undefined?arguments[1]:{};_classCallCheck(this,Palette);var _this=_possibleConstructorReturn(this,(Palette.__proto__||Object.getPrototypeOf(Palette)).call(this,colorpicker,_jquery2.default.extend(true,{},defaults,options)));if(!Array.isArray(_this.options.colors)&&_typeof(_this.options.colors)!=="object"){_this.options.colors=null}return _this}_createClass(Palette,[{key:"getLength",value:function getLength(){if(!this.options.colors){return 0}if(Array.isArray(this.options.colors)){return this.options.colors.length}if(_typeof(this.options.colors)==="object"){return Object.keys(this.options.colors).length}return 0}},{key:"resolveColor",value:function resolveColor(color){var realColor=arguments.length>1&&arguments[1]!==undefined?arguments[1]:true;if(this.getLength()<=0){return false}if(Array.isArray(this.options.colors)){if(this.options.colors.indexOf(color)>=0){return color}if(this.options.colors.indexOf(color.toUpperCase())>=0){return color.toUpperCase()}if(this.options.colors.indexOf(color.toLowerCase())>=0){return color.toLowerCase()}return false}if(_typeof(this.options.colors)!=="object"){return false}if(!this.options.namesAsValues||realColor){return this.getValue(color,false)}return this.getName(color,this.getName("#"+color))}},{key:"getName",value:function getName(value){var defaultValue=arguments.length>1&&arguments[1]!==undefined?arguments[1]:false;if(!(typeof value==="string")||!this.options.colors){return defaultValue}for(var name in this.options.colors){if(!this.options.colors.hasOwnProperty(name)){continue}if(this.options.colors[name].toLowerCase()===value.toLowerCase()){return name}}return defaultValue}},{key:"getValue",value:function getValue(name){var defaultValue=arguments.length>1&&arguments[1]!==undefined?arguments[1]:false;if(!(typeof name==="string")||!this.options.colors){return defaultValue}if(this.options.colors.hasOwnProperty(name)){return this.options.colors[name]}return defaultValue}}]);return Palette}(_Extension3.default);exports.default=Palette;module.exports=exports.default},function(module,exports,__webpack_require__){"use strict";module.exports={aliceblue:[240,248,255],antiquewhite:[250,235,215],aqua:[0,255,255],aquamarine:[127,255,212],azure:[240,255,255],beige:[245,245,220],bisque:[255,228,196],black:[0,0,0],blanchedalmond:[255,235,205],blue:[0,0,255],blueviolet:[138,43,226],brown:[165,42,42],burlywood:[222,184,135],cadetblue:[95,158,160],chartreuse:[127,255,0],chocolate:[210,105,30],coral:[255,127,80],cornflowerblue:[100,149,237],cornsilk:[255,248,220],crimson:[220,20,60],cyan:[0,255,255],darkblue:[0,0,139],darkcyan:[0,139,139],darkgoldenrod:[184,134,11],darkgray:[169,169,169],darkgreen:[0,100,0],darkgrey:[169,169,169],darkkhaki:[189,183,107],darkmagenta:[139,0,139],darkolivegreen:[85,107,47],darkorange:[255,140,0],darkorchid:[153,50,204],darkred:[139,0,0],darksalmon:[233,150,122],darkseagreen:[143,188,143],darkslateblue:[72,61,139],darkslategray:[47,79,79],darkslategrey:[47,79,79],darkturquoise:[0,206,209],darkviolet:[148,0,211],deeppink:[255,20,147],deepskyblue:[0,191,255],dimgray:[105,105,105],dimgrey:[105,105,105],dodgerblue:[30,144,255],firebrick:[178,34,34],floralwhite:[255,250,240],forestgreen:[34,139,34],fuchsia:[255,0,255],gainsboro:[220,220,220],ghostwhite:[248,248,255],gold:[255,215,0],goldenrod:[218,165,32],gray:[128,128,128],green:[0,128,0],greenyellow:[173,255,47],grey:[128,128,128],honeydew:[240,255,240],hotpink:[255,105,180],indianred:[205,92,92],indigo:[75,0,130],ivory:[255,255,240],khaki:[240,230,140],lavender:[230,230,250],lavenderblush:[255,240,245],lawngreen:[124,252,0],lemonchiffon:[255,250,205],lightblue:[173,216,230],lightcoral:[240,128,128],lightcyan:[224,255,255],lightgoldenrodyellow:[250,250,210],lightgray:[211,211,211],lightgreen:[144,238,144],lightgrey:[211,211,211],lightpink:[255,182,193],lightsalmon:[255,160,122],lightseagreen:[32,178,170],lightskyblue:[135,206,250],lightslategray:[119,136,153],lightslategrey:[119,136,153],lightsteelblue:[176,196,222],lightyellow:[255,255,224],lime:[0,255,0],limegreen:[50,205,50],linen:[250,240,230],magenta:[255,0,255],maroon:[128,0,0],mediumaquamarine:[102,205,170],mediumblue:[0,0,205],mediumorchid:[186,85,211],mediumpurple:[147,112,219],mediumseagreen:[60,179,113],mediumslateblue:[123,104,238],mediumspringgreen:[0,250,154],mediumturquoise:[72,209,204],mediumvioletred:[199,21,133],midnightblue:[25,25,112],mintcream:[245,255,250],mistyrose:[255,228,225],moccasin:[255,228,181],navajowhite:[255,222,173],navy:[0,0,128],oldlace:[253,245,230],olive:[128,128,0],olivedrab:[107,142,35],orange:[255,165,0],orangered:[255,69,0],orchid:[218,112,214],palegoldenrod:[238,232,170],palegreen:[152,251,152],paleturquoise:[175,238,238],palevioletred:[219,112,147],papayawhip:[255,239,213],peachpuff:[255,218,185],peru:[205,133,63],pink:[255,192,203],plum:[221,160,221],powderblue:[176,224,230],purple:[128,0,128],rebeccapurple:[102,51,153],red:[255,0,0],rosybrown:[188,143,143],royalblue:[65,105,225],saddlebrown:[139,69,19],salmon:[250,128,114],sandybrown:[244,164,96],seagreen:[46,139,87],seashell:[255,245,238],sienna:[160,82,45],silver:[192,192,192],skyblue:[135,206,235],slateblue:[106,90,205],slategray:[112,128,144],slategrey:[112,128,144],snow:[255,250,250],springgreen:[0,255,127],steelblue:[70,130,180],tan:[210,180,140],teal:[0,128,128],thistle:[216,191,216],tomato:[255,99,71],turquoise:[64,224,208],violet:[238,130,238],wheat:[245,222,179],white:[255,255,255],whitesmoke:[245,245,245],yellow:[255,255,0],yellowgreen:[154,205,50]}},function(module,exports,__webpack_require__){var cssKeywords=__webpack_require__(5);var reverseKeywords={};for(var key in cssKeywords){if(cssKeywords.hasOwnProperty(key)){reverseKeywords[cssKeywords[key]]=key}}var convert=module.exports={rgb:{channels:3,labels:"rgb"},hsl:{channels:3,labels:"hsl"},hsv:{channels:3,labels:"hsv"},hwb:{channels:3,labels:"hwb"},cmyk:{channels:4,labels:"cmyk"},xyz:{channels:3,labels:"xyz"},lab:{channels:3,labels:"lab"},lch:{channels:3,labels:"lch"},hex:{channels:1,labels:["hex"]},keyword:{channels:1,labels:["keyword"]},ansi16:{channels:1,labels:["ansi16"]},ansi256:{channels:1,labels:["ansi256"]},hcg:{channels:3,labels:["h","c","g"]},apple:{channels:3,labels:["r16","g16","b16"]},gray:{channels:1,labels:["gray"]}};for(var model in convert){if(convert.hasOwnProperty(model)){if(!("channels"in convert[model])){throw new Error("missing channels property: "+model)}if(!("labels"in convert[model])){throw new Error("missing channel labels property: "+model)}if(convert[model].labels.length!==convert[model].channels){throw new Error("channel and label counts mismatch: "+model)}var channels=convert[model].channels;var labels=convert[model].labels;delete convert[model].channels;delete convert[model].labels;Object.defineProperty(convert[model],"channels",{value:channels});Object.defineProperty(convert[model],"labels",{value:labels})}}convert.rgb.hsl=function(rgb){var r=rgb[0]/255;var g=rgb[1]/255;var b=rgb[2]/255;var min=Math.min(r,g,b);var max=Math.max(r,g,b);var delta=max-min;var h;var s;var l;if(max===min){h=0}else if(r===max){h=(g-b)/delta}else if(g===max){h=2+(b-r)/delta}else if(b===max){h=4+(r-g)/delta}h=Math.min(h*60,360);if(h<0){h+=360}l=(min+max)/2;if(max===min){s=0}else if(l<=.5){s=delta/(max+min)}else{s=delta/(2-max-min)}return[h,s*100,l*100]};convert.rgb.hsv=function(rgb){var rdif;var gdif;var bdif;var h;var s;var r=rgb[0]/255;var g=rgb[1]/255;var b=rgb[2]/255;var v=Math.max(r,g,b);var diff=v-Math.min(r,g,b);var diffc=function(c){return(v-c)/6/diff+1/2};if(diff===0){h=s=0}else{s=diff/v;rdif=diffc(r);gdif=diffc(g);bdif=diffc(b);if(r===v){h=bdif-gdif}else if(g===v){h=1/3+rdif-bdif}else if(b===v){h=2/3+gdif-rdif}if(h<0){h+=1}else if(h>1){h-=1}}return[h*360,s*100,v*100]};convert.rgb.hwb=function(rgb){var r=rgb[0];var g=rgb[1];var b=rgb[2];var h=convert.rgb.hsl(rgb)[0];var w=1/255*Math.min(r,Math.min(g,b));b=1-1/255*Math.max(r,Math.max(g,b));return[h,w*100,b*100]};convert.rgb.cmyk=function(rgb){var r=rgb[0]/255;var g=rgb[1]/255;var b=rgb[2]/255;var c;var m;var y;var k;k=Math.min(1-r,1-g,1-b);c=(1-r-k)/(1-k)||0;m=(1-g-k)/(1-k)||0;y=(1-b-k)/(1-k)||0;return[c*100,m*100,y*100,k*100]};function comparativeDistance(x,y){return Math.pow(x[0]-y[0],2)+Math.pow(x[1]-y[1],2)+Math.pow(x[2]-y[2],2)}convert.rgb.keyword=function(rgb){var reversed=reverseKeywords[rgb];if(reversed){return reversed}var currentClosestDistance=Infinity;var currentClosestKeyword;for(var keyword in cssKeywords){if(cssKeywords.hasOwnProperty(keyword)){var value=cssKeywords[keyword];var distance=comparativeDistance(rgb,value);if(distance.04045?Math.pow((r+.055)/1.055,2.4):r/12.92;g=g>.04045?Math.pow((g+.055)/1.055,2.4):g/12.92;b=b>.04045?Math.pow((b+.055)/1.055,2.4):b/12.92;var x=r*.4124+g*.3576+b*.1805;var y=r*.2126+g*.7152+b*.0722;var z=r*.0193+g*.1192+b*.9505;return[x*100,y*100,z*100]};convert.rgb.lab=function(rgb){var xyz=convert.rgb.xyz(rgb);var x=xyz[0];var y=xyz[1];var z=xyz[2];var l;var a;var b;x/=95.047;y/=100;z/=108.883;x=x>.008856?Math.pow(x,1/3):7.787*x+16/116;y=y>.008856?Math.pow(y,1/3):7.787*y+16/116;z=z>.008856?Math.pow(z,1/3):7.787*z+16/116;l=116*y-16;a=500*(x-y);b=200*(y-z);return[l,a,b]};convert.hsl.rgb=function(hsl){var h=hsl[0]/360;var s=hsl[1]/100;var l=hsl[2]/100;var t1;var t2;var t3;var rgb;var val;if(s===0){val=l*255;return[val,val,val]}if(l<.5){t2=l*(1+s)}else{t2=l+s-l*s}t1=2*l-t2;rgb=[0,0,0];for(var i=0;i<3;i++){t3=h+1/3*-(i-1);if(t3<0){t3++}if(t3>1){t3--}if(6*t3<1){val=t1+(t2-t1)*6*t3}else if(2*t3<1){val=t2}else if(3*t3<2){val=t1+(t2-t1)*(2/3-t3)*6}else{val=t1}rgb[i]=val*255}return rgb};convert.hsl.hsv=function(hsl){var h=hsl[0];var s=hsl[1]/100;var l=hsl[2]/100;var smin=s;var lmin=Math.max(l,.01);var sv;var v;l*=2;s*=l<=1?l:2-l;smin*=lmin<=1?lmin:2-lmin;v=(l+s)/2;sv=l===0?2*smin/(lmin+smin):2*s/(l+s);return[h,sv*100,v*100]};convert.hsv.rgb=function(hsv){var h=hsv[0]/60;var s=hsv[1]/100;var v=hsv[2]/100;var hi=Math.floor(h)%6;var f=h-Math.floor(h);var p=255*v*(1-s);var q=255*v*(1-s*f);var t=255*v*(1-s*(1-f));v*=255;switch(hi){case 0:return[v,t,p];case 1:return[q,v,p];case 2:return[p,v,t];case 3:return[p,q,v];case 4:return[t,p,v];case 5:return[v,p,q]}};convert.hsv.hsl=function(hsv){var h=hsv[0];var s=hsv[1]/100;var v=hsv[2]/100;var vmin=Math.max(v,.01);var lmin;var sl;var l;l=(2-s)*v;lmin=(2-s)*vmin;sl=s*vmin;sl/=lmin<=1?lmin:2-lmin;sl=sl||0;l/=2;return[h,sl*100,l*100]};convert.hwb.rgb=function(hwb){var h=hwb[0]/360;var wh=hwb[1]/100;var bl=hwb[2]/100;var ratio=wh+bl;var i;var v;var f;var n;if(ratio>1){wh/=ratio;bl/=ratio}i=Math.floor(6*h);v=1-bl;f=6*h-i;if((i&1)!==0){f=1-f}n=wh+f*(v-wh);var r;var g;var b;switch(i){default:case 6:case 0:r=v;g=n;b=wh;break;case 1:r=n;g=v;b=wh;break;case 2:r=wh;g=v;b=n;break;case 3:r=wh;g=n;b=v;break;case 4:r=n;g=wh;b=v;break;case 5:r=v;g=wh;b=n;break}return[r*255,g*255,b*255]};convert.cmyk.rgb=function(cmyk){var c=cmyk[0]/100;var m=cmyk[1]/100;var y=cmyk[2]/100;var k=cmyk[3]/100;var r;var g;var b;r=1-Math.min(1,c*(1-k)+k);g=1-Math.min(1,m*(1-k)+k);b=1-Math.min(1,y*(1-k)+k);return[r*255,g*255,b*255]};convert.xyz.rgb=function(xyz){var x=xyz[0]/100;var y=xyz[1]/100;var z=xyz[2]/100;var r;var g;var b;r=x*3.2406+y*-1.5372+z*-.4986;g=x*-.9689+y*1.8758+z*.0415;b=x*.0557+y*-.204+z*1.057;r=r>.0031308?1.055*Math.pow(r,1/2.4)-.055:r*12.92;g=g>.0031308?1.055*Math.pow(g,1/2.4)-.055:g*12.92;b=b>.0031308?1.055*Math.pow(b,1/2.4)-.055:b*12.92;r=Math.min(Math.max(0,r),1);g=Math.min(Math.max(0,g),1);b=Math.min(Math.max(0,b),1);return[r*255,g*255,b*255]};convert.xyz.lab=function(xyz){var x=xyz[0];var y=xyz[1];var z=xyz[2];var l;var a;var b;x/=95.047;y/=100;z/=108.883;x=x>.008856?Math.pow(x,1/3):7.787*x+16/116;y=y>.008856?Math.pow(y,1/3):7.787*y+16/116;z=z>.008856?Math.pow(z,1/3):7.787*z+16/116;l=116*y-16;a=500*(x-y);b=200*(y-z);return[l,a,b]};convert.lab.xyz=function(lab){var l=lab[0];var a=lab[1];var b=lab[2];var x;var y;var z;y=(l+16)/116;x=a/500+y;z=y-b/200;var y2=Math.pow(y,3);var x2=Math.pow(x,3);var z2=Math.pow(z,3);y=y2>.008856?y2:(y-16/116)/7.787;x=x2>.008856?x2:(x-16/116)/7.787;z=z2>.008856?z2:(z-16/116)/7.787;x*=95.047;y*=100;z*=108.883;return[x,y,z]};convert.lab.lch=function(lab){var l=lab[0];var a=lab[1];var b=lab[2];var hr;var h;var c;hr=Math.atan2(b,a);h=hr*360/2/Math.PI;if(h<0){h+=360}c=Math.sqrt(a*a+b*b);return[l,c,h]};convert.lch.lab=function(lch){var l=lch[0];var c=lch[1];var h=lch[2];var a;var b;var hr;hr=h/360*2*Math.PI;a=c*Math.cos(hr);b=c*Math.sin(hr);return[l,a,b]};convert.rgb.ansi16=function(args){var r=args[0];var g=args[1];var b=args[2];var value=1 in arguments?arguments[1]:convert.rgb.hsv(args)[2];value=Math.round(value/50);if(value===0){return 30}var ansi=30+(Math.round(b/255)<<2|Math.round(g/255)<<1|Math.round(r/255));if(value===2){ansi+=60}return ansi};convert.hsv.ansi16=function(args){return convert.rgb.ansi16(convert.hsv.rgb(args),args[2])};convert.rgb.ansi256=function(args){var r=args[0];var g=args[1];var b=args[2];if(r===g&&g===b){if(r<8){return 16}if(r>248){return 231}return Math.round((r-8)/247*24)+232}var ansi=16+36*Math.round(r/255*5)+6*Math.round(g/255*5)+Math.round(b/255*5);return ansi};convert.ansi16.rgb=function(args){var color=args%10;if(color===0||color===7){if(args>50){color+=3.5}color=color/10.5*255;return[color,color,color]}var mult=(~~(args>50)+1)*.5;var r=(color&1)*mult*255;var g=(color>>1&1)*mult*255;var b=(color>>2&1)*mult*255;return[r,g,b]};convert.ansi256.rgb=function(args){if(args>=232){var c=(args-232)*10+8;return[c,c,c]}args-=16;var rem;var r=Math.floor(args/36)/5*255;var g=Math.floor((rem=args%36)/6)/5*255;var b=rem%6/5*255;return[r,g,b]};convert.rgb.hex=function(args){var integer=((Math.round(args[0])&255)<<16)+((Math.round(args[1])&255)<<8)+(Math.round(args[2])&255);var string=integer.toString(16).toUpperCase();return"000000".substring(string.length)+string};convert.hex.rgb=function(args){var match=args.toString(16).match(/[a-f0-9]{6}|[a-f0-9]{3}/i);if(!match){return[0,0,0]}var colorString=match[0];if(match[0].length===3){colorString=colorString.split("").map(function(char){return char+char}).join("")}var integer=parseInt(colorString,16);var r=integer>>16&255;var g=integer>>8&255;var b=integer&255;return[r,g,b]};convert.rgb.hcg=function(rgb){var r=rgb[0]/255;var g=rgb[1]/255;var b=rgb[2]/255;var max=Math.max(Math.max(r,g),b);var min=Math.min(Math.min(r,g),b);var chroma=max-min;var grayscale;var hue;if(chroma<1){grayscale=min/(1-chroma)}else{grayscale=0}if(chroma<=0){hue=0}else if(max===r){hue=(g-b)/chroma%6}else if(max===g){hue=2+(b-r)/chroma}else{hue=4+(r-g)/chroma+4}hue/=6;hue%=1;return[hue*360,chroma*100,grayscale*100]};convert.hsl.hcg=function(hsl){var s=hsl[1]/100;var l=hsl[2]/100;var c=1;var f=0;if(l<.5){c=2*s*l}else{c=2*s*(1-l)}if(c<1){f=(l-.5*c)/(1-c)}return[hsl[0],c*100,f*100]};convert.hsv.hcg=function(hsv){var s=hsv[1]/100;var v=hsv[2]/100;var c=s*v;var f=0;if(c<1){f=(v-c)/(1-c)}return[hsv[0],c*100,f*100]};convert.hcg.rgb=function(hcg){var h=hcg[0]/360;var c=hcg[1]/100;var g=hcg[2]/100;if(c===0){return[g*255,g*255,g*255]}var pure=[0,0,0];var hi=h%1*6;var v=hi%1;var w=1-v;var mg=0;switch(Math.floor(hi)){case 0:pure[0]=1;pure[1]=v;pure[2]=0;break;case 1:pure[0]=w;pure[1]=1;pure[2]=0;break;case 2:pure[0]=0;pure[1]=1;pure[2]=v;break;case 3:pure[0]=0;pure[1]=w;pure[2]=1;break;case 4:pure[0]=v;pure[1]=0;pure[2]=1;break;default:pure[0]=1;pure[1]=0;pure[2]=w}mg=(1-c)*g;return[(c*pure[0]+mg)*255,(c*pure[1]+mg)*255,(c*pure[2]+mg)*255]};convert.hcg.hsv=function(hcg){var c=hcg[1]/100;var g=hcg[2]/100;var v=c+g*(1-c);var f=0;if(v>0){f=c/v}return[hcg[0],f*100,v*100]};convert.hcg.hsl=function(hcg){var c=hcg[1]/100;var g=hcg[2]/100;var l=g*(1-c)+.5*c;var s=0;if(l>0&&l<.5){s=c/(2*l)}else if(l>=.5&&l<1){s=c/(2*(1-l))}return[hcg[0],s*100,l*100]};convert.hcg.hwb=function(hcg){var c=hcg[1]/100;var g=hcg[2]/100;var v=c+g*(1-c);return[hcg[0],(v-c)*100,(1-v)*100]};convert.hwb.hcg=function(hwb){var w=hwb[1]/100;var b=hwb[2]/100;var v=1-b;var c=v-w;var g=0;if(c<1){g=(v-c)/(1-c)}return[hwb[0],c*100,g*100]};convert.apple.rgb=function(apple){return[apple[0]/65535*255,apple[1]/65535*255,apple[2]/65535*255]};convert.rgb.apple=function(rgb){return[rgb[0]/255*65535,rgb[1]/255*65535,rgb[2]/255*65535]};convert.gray.rgb=function(args){return[args[0]/100*255,args[0]/100*255,args[0]/100*255]};convert.gray.hsl=convert.gray.hsv=function(args){return[0,0,args[0]]};convert.gray.hwb=function(gray){return[0,100,gray[0]]};convert.gray.cmyk=function(gray){return[0,0,0,gray[0]]};convert.gray.lab=function(gray){return[gray[0],0,0]};convert.gray.hex=function(gray){var val=Math.round(gray[0]/100*255)&255;var integer=(val<<16)+(val<<8)+val;var string=integer.toString(16).toUpperCase();return"000000".substring(string.length)+string};convert.rgb.gray=function(rgb){var val=(rgb[0]+rgb[1]+rgb[2])/3;return[val/255*100]}},function(module,exports,__webpack_require__){"use strict";var _typeof=typeof Symbol==="function"&&typeof Symbol.iterator==="symbol"?function(obj){return typeof obj}:function(obj){return obj&&typeof Symbol==="function"&&obj.constructor===Symbol&&obj!==Symbol.prototype?"symbol":typeof obj};var _Colorpicker=__webpack_require__(8);var _Colorpicker2=_interopRequireDefault(_Colorpicker);var _jquery=__webpack_require__(0);var _jquery2=_interopRequireDefault(_jquery);function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}var plugin="colorpicker";_jquery2.default[plugin]=_Colorpicker2.default;_jquery2.default.fn[plugin]=function(option){var fnArgs=Array.prototype.slice.call(arguments,1),isSingleElement=this.length===1,returnValue=null;var $elements=this.each(function(){var $this=(0,_jquery2.default)(this),inst=$this.data(plugin),options=(typeof option==="undefined"?"undefined":_typeof(option))==="object"?option:{};if(!inst){inst=new _Colorpicker2.default(this,options);$this.data(plugin,inst)}if(!isSingleElement){return}returnValue=$this;if(typeof option==="string"){if(option==="colorpicker"){returnValue=inst}else if(_jquery2.default.isFunction(inst[option])){returnValue=inst[option].apply(inst,fnArgs)}else{returnValue=inst[option]}}});return isSingleElement?returnValue:$elements};_jquery2.default.fn[plugin].constructor=_Colorpicker2.default},function(module,exports,__webpack_require__){"use strict";Object.defineProperty(exports,"__esModule",{value:true});var _createClass=function(){function defineProperties(target,props){for(var i=0;i1&&arguments[1]!==undefined?arguments[1]:{};var ext=new ExtensionClass(this,config);this.extensions.push(ext);return ext}},{key:"destroy",value:function destroy(){var color=this.color;this.sliderHandler.unbind();this.inputHandler.unbind();this.popupHandler.unbind();this.colorHandler.unbind();this.addonHandler.unbind();this.pickerHandler.unbind();this.element.removeClass("colorpicker-element").removeData("colorpicker","color").off(".colorpicker");this.trigger("colorpickerDestroy",color)}},{key:"show",value:function show(e){this.popupHandler.show(e)}},{key:"hide",value:function hide(e){this.popupHandler.hide(e)}},{key:"toggle",value:function toggle(e){this.popupHandler.toggle(e)}},{key:"getValue",value:function getValue(){var defaultValue=arguments.length>0&&arguments[0]!==undefined?arguments[0]:null;var val=this.colorHandler.color;val=val instanceof _ColorItem2.default?val:defaultValue;if(val instanceof _ColorItem2.default){return val.string(this.format)}return val}},{key:"setValue",value:function setValue(val){if(this.isDisabled()){return}var ch=this.colorHandler;if(ch.hasColor()&&!!val&&ch.color.equals(val)||!ch.hasColor()&&!val){return}ch.color=val?ch.createColor(val,this.options.autoInputFallback):null;this.trigger("colorpickerChange",ch.color,val);this.update()}},{key:"update",value:function update(){if(this.colorHandler.hasColor()){this.inputHandler.update()}else{this.colorHandler.assureColor()}this.addonHandler.update();this.pickerHandler.update();this.trigger("colorpickerUpdate")}},{key:"enable",value:function enable(){this.inputHandler.enable();this.disabled=false;this.picker.removeClass("colorpicker-disabled");this.trigger("colorpickerEnable");return true}},{key:"disable",value:function disable(){this.inputHandler.disable();this.disabled=true;this.picker.addClass("colorpicker-disabled");this.trigger("colorpickerDisable");return true}},{key:"isEnabled",value:function isEnabled(){return!this.isDisabled()}},{key:"isDisabled",value:function isDisabled(){return this.disabled===true}},{key:"trigger",value:function trigger(eventName){var color=arguments.length>1&&arguments[1]!==undefined?arguments[1]:null;var value=arguments.length>2&&arguments[2]!==undefined?arguments[2]:null;this.element.trigger({type:eventName,colorpicker:this,color:color?color:this.color,value:value?value:this.getValue()})}}]);return Colorpicker}();Colorpicker.extensions=_extensions2.default;exports.default=Colorpicker;module.exports=exports.default},function(module,exports,__webpack_require__){"use strict";Object.defineProperty(exports,"__esModule",{value:true});exports.Palette=exports.Swatches=exports.Preview=exports.Debugger=undefined;var _Debugger=__webpack_require__(10);var _Debugger2=_interopRequireDefault(_Debugger);var _Preview=__webpack_require__(11);var _Preview2=_interopRequireDefault(_Preview);var _Swatches=__webpack_require__(12);var _Swatches2=_interopRequireDefault(_Swatches);var _Palette=__webpack_require__(4);var _Palette2=_interopRequireDefault(_Palette);function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}exports.Debugger=_Debugger2.default;exports.Preview=_Preview2.default;exports.Swatches=_Swatches2.default;exports.Palette=_Palette2.default;exports.default={debugger:_Debugger2.default,preview:_Preview2.default,swatches:_Swatches2.default,palette:_Palette2.default}},function(module,exports,__webpack_require__){"use strict";Object.defineProperty(exports,"__esModule",{value:true});var _createClass=function(){function defineProperties(target,props){for(var i=0;i1&&arguments[1]!==undefined?arguments[1]:{};_classCallCheck(this,Debugger);var _this=_possibleConstructorReturn(this,(Debugger.__proto__||Object.getPrototypeOf(Debugger)).call(this,colorpicker,options));_this.eventCounter=0;if(_this.colorpicker.inputHandler.hasInput()){_this.colorpicker.inputHandler.input.on("change.colorpicker-ext",_jquery2.default.proxy(_this.onChangeInput,_this))}return _this}_createClass(Debugger,[{key:"log",value:function log(eventName){var _console;for(var _len=arguments.length,args=Array(_len>1?_len-1:0),_key=1;_key<_len;_key++){args[_key-1]=arguments[_key]}this.eventCounter+=1;var logMessage="#"+this.eventCounter+": Colorpicker#"+this.colorpicker.id+" ["+eventName+"]";(_console=console).debug.apply(_console,[logMessage].concat(args));this.colorpicker.element.trigger({type:"colorpickerDebug",colorpicker:this.colorpicker,color:this.color,value:null,debug:{debugger:this,eventName,logArgs:args,logMessage}})}},{key:"resolveColor",value:function resolveColor(color){var realColor=arguments.length>1&&arguments[1]!==undefined?arguments[1]:true;this.log("resolveColor()",color,realColor);return false}},{key:"onCreate",value:function onCreate(event){this.log("colorpickerCreate");return _get(Debugger.prototype.__proto__||Object.getPrototypeOf(Debugger.prototype),"onCreate",this).call(this,event)}},{key:"onDestroy",value:function onDestroy(event){this.log("colorpickerDestroy");this.eventCounter=0;if(this.colorpicker.inputHandler.hasInput()){this.colorpicker.inputHandler.input.off(".colorpicker-ext")}return _get(Debugger.prototype.__proto__||Object.getPrototypeOf(Debugger.prototype),"onDestroy",this).call(this,event)}},{key:"onUpdate",value:function onUpdate(event){this.log("colorpickerUpdate")}},{key:"onChangeInput",value:function onChangeInput(event){this.log("input:change.colorpicker",event.value,event.color)}},{key:"onChange",value:function onChange(event){this.log("colorpickerChange",event.value,event.color)}},{key:"onInvalid",value:function onInvalid(event){this.log("colorpickerInvalid",event.value,event.color)}},{key:"onHide",value:function onHide(event){this.log("colorpickerHide");this.eventCounter=0}},{key:"onShow",value:function onShow(event){this.log("colorpickerShow")}},{key:"onDisable",value:function onDisable(event){this.log("colorpickerDisable")}},{key:"onEnable",value:function onEnable(event){this.log("colorpickerEnable")}}]);return Debugger}(_Extension3.default);exports.default=Debugger;module.exports=exports.default},function(module,exports,__webpack_require__){"use strict";Object.defineProperty(exports,"__esModule",{value:true});var _createClass=function(){function defineProperties(target,props){for(var i=0;i1&&arguments[1]!==undefined?arguments[1]:{};_classCallCheck(this,Preview);var _this=_possibleConstructorReturn(this,(Preview.__proto__||Object.getPrototypeOf(Preview)).call(this,colorpicker,_jquery2.default.extend(true,{},{template:'
',showText:true,format:colorpicker.format},options)));_this.element=(0,_jquery2.default)(_this.options.template);_this.elementInner=_this.element.find("div");return _this}_createClass(Preview,[{key:"onCreate",value:function onCreate(event){_get(Preview.prototype.__proto__||Object.getPrototypeOf(Preview.prototype),"onCreate",this).call(this,event);this.colorpicker.picker.append(this.element)}},{key:"onUpdate",value:function onUpdate(event){_get(Preview.prototype.__proto__||Object.getPrototypeOf(Preview.prototype),"onUpdate",this).call(this,event);if(!event.color){this.elementInner.css("backgroundColor",null).css("color",null).html("");return}this.elementInner.css("backgroundColor",event.color.toRgbString());if(this.options.showText){this.elementInner.html(event.color.string(this.options.format||this.colorpicker.format));if(event.color.isDark()&&event.color.alpha>.5){this.elementInner.css("color","white")}else{this.elementInner.css("color","black")}}}}]);return Preview}(_Extension3.default);exports.default=Preview;module.exports=exports.default},function(module,exports,__webpack_require__){"use strict";Object.defineProperty(exports,"__esModule",{value:true});var _createClass=function(){function defineProperties(target,props){for(var i=0;i\n
\n
',swatchTemplate:''};var Swatches=function(_Palette){_inherits(Swatches,_Palette);function Swatches(colorpicker){var options=arguments.length>1&&arguments[1]!==undefined?arguments[1]:{};_classCallCheck(this,Swatches);var _this=_possibleConstructorReturn(this,(Swatches.__proto__||Object.getPrototypeOf(Swatches)).call(this,colorpicker,_jquery2.default.extend(true,{},defaults,options)));_this.element=null;return _this}_createClass(Swatches,[{key:"isEnabled",value:function isEnabled(){return this.getLength()>0}},{key:"onCreate",value:function onCreate(event){_get(Swatches.prototype.__proto__||Object.getPrototypeOf(Swatches.prototype),"onCreate",this).call(this,event);if(!this.isEnabled()){return}this.element=(0,_jquery2.default)(this.options.barTemplate);this.load();this.colorpicker.picker.append(this.element)}},{key:"load",value:function load(){var _this2=this;var colorpicker=this.colorpicker,swatchContainer=this.element.find(".colorpicker-swatches--inner"),isAliased=this.options.namesAsValues===true&&!Array.isArray(this.colors);swatchContainer.empty();_jquery2.default.each(this.colors,function(name,value){var $swatch=(0,_jquery2.default)(_this2.options.swatchTemplate).attr("data-name",name).attr("data-value",value).attr("title",isAliased?name+": "+value:value).on("mousedown.colorpicker touchstart.colorpicker",function(e){var $sw=(0,_jquery2.default)(this);colorpicker.setValue(isAliased?$sw.attr("data-name"):$sw.attr("data-value"))});$swatch.find(".colorpicker-swatch--inner").css("background-color",value);swatchContainer.append($swatch)});swatchContainer.append((0,_jquery2.default)(''))}}]);return Swatches}(_Palette3.default);exports.default=Swatches;module.exports=exports.default},function(module,exports,__webpack_require__){"use strict";Object.defineProperty(exports,"__esModule",{value:true});var _createClass=function(){function defineProperties(target,props){for(var i=0;i0}},{key:"onClickingInside",value:function onClickingInside(e){this.clicking=this.isClickingInside(e)}},{key:"createPopover",value:function createPopover(){var cp=this.colorpicker;this.popoverTarget=this.hasAddon?this.addon:this.input;cp.picker.addClass("colorpicker-bs-popover-content");this.popoverTarget.popover(_jquery2.default.extend(true,{},_options2.default.popover,cp.options.popover,{trigger:"manual",content:cp.picker,html:true}));this.popoverTip=(0,_jquery2.default)(this.popoverTarget.popover("getTipElement").data("bs.popover").tip);this.popoverTip.addClass("colorpicker-bs-popover");this.popoverTarget.on("shown.bs.popover",_jquery2.default.proxy(this.fireShow,this));this.popoverTarget.on("hidden.bs.popover",_jquery2.default.proxy(this.fireHide,this))}},{key:"reposition",value:function reposition(e){if(this.popoverTarget&&this.isVisible()){this.popoverTarget.popover("update")}}},{key:"toggle",value:function toggle(e){if(this.isVisible()){this.hide(e)}else{this.show(e)}}},{key:"show",value:function show(e){if(this.isVisible()||this.showing||this.hidding){return}this.showing=true;this.hidding=false;this.clicking=false;var cp=this.colorpicker;cp.lastEvent.alias="show";cp.lastEvent.e=e;if(e&&(!this.hasInput||this.input.attr("type")==="color")&&e&&e.preventDefault){e.stopPropagation();e.preventDefault()}if(this.isPopover){(0,_jquery2.default)(this.root).on("resize.colorpicker",_jquery2.default.proxy(this.reposition,this))}cp.picker.addClass("colorpicker-visible").removeClass("colorpicker-hidden");if(this.popoverTarget){this.popoverTarget.popover("show")}else{this.fireShow()}}},{key:"fireShow",value:function fireShow(){this.hidding=false;this.showing=false;if(this.isPopover){(0,_jquery2.default)(this.root.document).on("mousedown.colorpicker touchstart.colorpicker",_jquery2.default.proxy(this.hide,this));(0,_jquery2.default)(this.root.document).on("mousedown.colorpicker touchstart.colorpicker",_jquery2.default.proxy(this.onClickingInside,this))}this.colorpicker.trigger("colorpickerShow")}},{key:"hide",value:function hide(e){if(this.isHidden()||this.showing||this.hidding){return}var cp=this.colorpicker,clicking=this.clicking||this.isClickingInside(e);this.hidding=true;this.showing=false;this.clicking=false;cp.lastEvent.alias="hide";cp.lastEvent.e=e;if(clicking){this.hidding=false;return}if(this.popoverTarget){this.popoverTarget.popover("hide")}else{this.fireHide()}}},{key:"fireHide",value:function fireHide(){this.hidding=false;this.showing=false;var cp=this.colorpicker;cp.picker.addClass("colorpicker-hidden").removeClass("colorpicker-visible");(0,_jquery2.default)(this.root).off("resize.colorpicker",_jquery2.default.proxy(this.reposition,this));(0,_jquery2.default)(this.root.document).off("mousedown.colorpicker touchstart.colorpicker",_jquery2.default.proxy(this.hide,this));(0,_jquery2.default)(this.root.document).off("mousedown.colorpicker touchstart.colorpicker",_jquery2.default.proxy(this.onClickingInside,this));cp.trigger("colorpickerHide")}},{key:"focus",value:function focus(){if(this.hasAddon){return this.addon.focus()}if(this.hasInput){return this.input.focus()}return false}},{key:"isVisible",value:function isVisible(){return this.colorpicker.picker.hasClass("colorpicker-visible")&&!this.colorpicker.picker.hasClass("colorpicker-hidden")}},{key:"isHidden",value:function isHidden(){return this.colorpicker.picker.hasClass("colorpicker-hidden")&&!this.colorpicker.picker.hasClass("colorpicker-visible")}},{key:"input",get:function get(){return this.colorpicker.inputHandler.input}},{key:"hasInput",get:function get(){return this.colorpicker.inputHandler.hasInput()}},{key:"addon",get:function get(){return this.colorpicker.addonHandler.addon}},{key:"hasAddon",get:function get(){return this.colorpicker.addonHandler.hasAddon()}},{key:"isPopover",get:function get(){return!this.colorpicker.options.inline&&!!this.popoverTip}}]);return PopupHandler}();exports.default=PopupHandler;module.exports=exports.default},function(module,exports,__webpack_require__){"use strict";Object.defineProperty(exports,"__esModule",{value:true});var _createClass=function(){function defineProperties(target,props){for(var i=0;i0&&arguments[0]!==undefined?arguments[0]:null;val=val?val:this.colorpicker.colorHandler.getColorString();if(!val){return""}val=this.colorpicker.colorHandler.resolveColorDelegate(val,false);if(this.colorpicker.options.useHashPrefix===false){val=val.replace(/^#/g,"")}return val}},{key:"hasInput",value:function hasInput(){return this.input!==false}},{key:"isEnabled",value:function isEnabled(){return this.hasInput()&&!this.isDisabled()}},{key:"isDisabled",value:function isDisabled(){return this.hasInput()&&this.input.prop("disabled")===true}},{key:"disable",value:function disable(){if(this.hasInput()){this.input.prop("disabled",true)}}},{key:"enable",value:function enable(){if(this.hasInput()){this.input.prop("disabled",false)}}},{key:"update",value:function update(){if(!this.hasInput()){return}if(this.colorpicker.options.autoInputFallback===false&&this.colorpicker.colorHandler.isInvalidColor()){return}this.setValue(this.getFormattedColor())}},{key:"onchange",value:function onchange(e){this.colorpicker.lastEvent.alias="input.change";this.colorpicker.lastEvent.e=e;var val=this.getValue();if(val!==e.value){this.colorpicker.setValue(val)}}},{key:"onkeyup",value:function onkeyup(e){this.colorpicker.lastEvent.alias="input.keyup";this.colorpicker.lastEvent.e=e;var val=this.getValue();if(val!==e.value){this.colorpicker.setValue(val)}}}]);return InputHandler}();exports.default=InputHandler;module.exports=exports.default},function(module,exports,__webpack_require__){"use strict";var colorString=__webpack_require__(17);var convert=__webpack_require__(20);var _slice=[].slice;var skippedModels=["keyword","gray","hex"];var hashedModelKeys={};Object.keys(convert).forEach(function(model){hashedModelKeys[_slice.call(convert[model].labels).sort().join("")]=model});var limiters={};function Color(obj,model){if(!(this instanceof Color)){return new Color(obj,model)}if(model&&model in skippedModels){model=null}if(model&&!(model in convert)){throw new Error("Unknown model: "+model)}var i;var channels;if(obj==null){this.model="rgb";this.color=[0,0,0];this.valpha=1}else if(obj instanceof Color){this.model=obj.model;this.color=obj.color.slice();this.valpha=obj.valpha}else if(typeof obj==="string"){var result=colorString.get(obj);if(result===null){throw new Error("Unable to parse color from string: "+obj)}this.model=result.model;channels=convert[this.model].channels;this.color=result.value.slice(0,channels);this.valpha=typeof result.value[channels]==="number"?result.value[channels]:1}else if(obj.length){this.model=model||"rgb";channels=convert[this.model].channels;var newArr=_slice.call(obj,0,channels);this.color=zeroArray(newArr,channels);this.valpha=typeof obj[channels]==="number"?obj[channels]:1}else if(typeof obj==="number"){obj&=16777215;this.model="rgb";this.color=[obj>>16&255,obj>>8&255,obj&255];this.valpha=1}else{this.valpha=1;var keys=Object.keys(obj);if("alpha"in obj){keys.splice(keys.indexOf("alpha"),1);this.valpha=typeof obj.alpha==="number"?obj.alpha:0}var hashedKeys=keys.sort().join("");if(!(hashedKeys in hashedModelKeys)){throw new Error("Unable to parse color from object: "+JSON.stringify(obj))}this.model=hashedModelKeys[hashedKeys];var labels=convert[this.model].labels;var color=[];for(i=0;ilum2){return(lum1+.05)/(lum2+.05)}return(lum2+.05)/(lum1+.05)},level:function(color2){var contrastRatio=this.contrast(color2);if(contrastRatio>=7.1){return"AAA"}return contrastRatio>=4.5?"AA":""},isDark:function(){var rgb=this.rgb().color;var yiq=(rgb[0]*299+rgb[1]*587+rgb[2]*114)/1e3;return yiq<128},isLight:function(){return!this.isDark()},negate:function(){var rgb=this.rgb();for(var i=0;i<3;i++){rgb.color[i]=255-rgb.color[i]}return rgb},lighten:function(ratio){var hsl=this.hsl();hsl.color[2]+=hsl.color[2]*ratio;return hsl},darken:function(ratio){var hsl=this.hsl();hsl.color[2]-=hsl.color[2]*ratio;return hsl},saturate:function(ratio){var hsl=this.hsl();hsl.color[1]+=hsl.color[1]*ratio;return hsl},desaturate:function(ratio){var hsl=this.hsl();hsl.color[1]-=hsl.color[1]*ratio;return hsl},whiten:function(ratio){var hwb=this.hwb();hwb.color[1]+=hwb.color[1]*ratio;return hwb},blacken:function(ratio){var hwb=this.hwb();hwb.color[2]+=hwb.color[2]*ratio;return hwb},grayscale:function(){var rgb=this.rgb().color;var val=rgb[0]*.3+rgb[1]*.59+rgb[2]*.11;return Color.rgb(val,val,val)},fade:function(ratio){return this.alpha(this.valpha-this.valpha*ratio)},opaquer:function(ratio){return this.alpha(this.valpha+this.valpha*ratio)},rotate:function(degrees){var hsl=this.hsl();var hue=hsl.color[0];hue=(hue+degrees)%360;hue=hue<0?360+hue:hue;hsl.color[0]=hue;return hsl},mix:function(mixinColor,weight){if(!mixinColor||!mixinColor.rgb){throw new Error('Argument to "mix" was not a Color instance, but rather an instance of '+typeof mixinColor)}var color1=mixinColor.rgb();var color2=this.rgb();var p=weight===undefined?.5:weight;var w=2*p-1;var a=color1.alpha()-color2.alpha();var w1=((w*a===-1?w:(w+a)/(1+w*a))+1)/2;var w2=1-w1;return Color.rgb(w1*color1.red()+w2*color2.red(),w1*color1.green()+w2*color2.green(),w1*color1.blue()+w2*color2.blue(),color1.alpha()*p+color2.alpha()*(1-p))}};Object.keys(convert).forEach(function(model){if(skippedModels.indexOf(model)!==-1){return}var channels=convert[model].channels;Color.prototype[model]=function(){if(this.model===model){return new Color(this)}if(arguments.length){return new Color(arguments,model)}var newAlpha=typeof arguments[channels]==="number"?channels:this.valpha;return new Color(assertArray(convert[this.model][model].raw(this.color)).concat(newAlpha),model)};Color[model]=function(color){if(typeof color==="number"){color=zeroArray(_slice.call(arguments),channels)}return new Color(color,model)}});function roundTo(num,places){return Number(num.toFixed(places))}function roundToPlace(places){return function(num){return roundTo(num,places)}}function getset(model,channel,modifier){model=Array.isArray(model)?model:[model];model.forEach(function(m){(limiters[m]||(limiters[m]=[]))[channel]=modifier});model=model[0];return function(val){var result;if(arguments.length){if(modifier){val=modifier(val)}result=this[model]();result.color[channel]=val;return result}result=this[model]().color[channel];if(modifier){result=modifier(result)}return result}}function maxfn(max){return function(v){return Math.max(0,Math.min(max,v))}}function assertArray(val){return Array.isArray(val)?val:[val]}function zeroArray(arr,length){for(var i=0;i=4&&hwba[3]!==1){a=", "+hwba[3]}return"hwb("+hwba[0]+", "+hwba[1]+"%, "+hwba[2]+"%"+a+")"};cs.to.keyword=function(rgb){return reverseNames[rgb.slice(0,3)]};function clamp(num,min,max){return Math.min(Math.max(min,num),max)}function hexDouble(num){var str=num.toString(16).toUpperCase();return str.length<2?"0"+str:str}},function(module,exports,__webpack_require__){"use strict";var isArrayish=__webpack_require__(19);var concat=Array.prototype.concat;var slice=Array.prototype.slice;var swizzle=module.exports=function swizzle(args){var results=[];for(var i=0,len=args.length;i=0&&obj.splice instanceof Function}},function(module,exports,__webpack_require__){var conversions=__webpack_require__(6);var route=__webpack_require__(21);var convert={};var models=Object.keys(conversions);function wrapRaw(fn){var wrappedFn=function(args){if(args===undefined||args===null){return args}if(arguments.length>1){args=Array.prototype.slice.call(arguments)}return fn(args)};if("conversion"in fn){wrappedFn.conversion=fn.conversion}return wrappedFn}function wrapRounded(fn){var wrappedFn=function(args){if(args===undefined||args===null){return args}if(arguments.length>1){args=Array.prototype.slice.call(arguments)}var result=fn(args);if(typeof result==="object"){for(var len=result.length,i=0;i1&&arguments[1]!==undefined?arguments[1]:true;var color=new _ColorItem2.default(this.resolveColorDelegate(val),this.format);if(!color.isValid()){if(fallbackOnInvalid){color=this.getFallbackColor()}this.colorpicker.trigger("colorpickerInvalid",color,val)}if(!this.isAlphaEnabled()){color.alpha=1}return color}},{key:"getFallbackColor",value:function getFallbackColor(){if(this.fallback&&this.fallback===this.color){return this.color}var fallback=this.resolveColorDelegate(this.fallback);var color=new _ColorItem2.default(fallback,this.format);if(!color.isValid()){console.warn("The fallback color is invalid. Falling back to the previous color or black if any.");return this.color?this.color:new _ColorItem2.default("#000000",this.format)}return color}},{key:"assureColor",value:function assureColor(){if(!this.hasColor()){this.color=this.getFallbackColor()}return this.color}},{key:"resolveColorDelegate",value:function resolveColorDelegate(color){var realColor=arguments.length>1&&arguments[1]!==undefined?arguments[1]:true;var extResolvedColor=false;_jquery2.default.each(this.colorpicker.extensions,function(name,ext){if(extResolvedColor!==false){return}extResolvedColor=ext.resolveColor(color,realColor)});return extResolvedColor?extResolvedColor:color}},{key:"isInvalidColor",value:function isInvalidColor(){return!this.hasColor()||!this.color.isValid()}},{key:"isAlphaEnabled",value:function isAlphaEnabled(){return this.colorpicker.options.useAlpha!==false}},{key:"hasColor",value:function hasColor(){return this.color instanceof _ColorItem2.default}},{key:"fallback",get:function get(){return this.colorpicker.options.fallbackColor?this.colorpicker.options.fallbackColor:this.hasColor()?this.color:null}},{key:"format",get:function get(){if(this.colorpicker.options.format){return this.colorpicker.options.format}if(this.hasColor()&&this.color.hasTransparency()&&this.color.format.match(/^hex/)){return this.isAlphaEnabled()?"rgba":"hex"}if(this.hasColor()){return this.color.format}return"rgb"}},{key:"color",get:function get(){return this.colorpicker.element.data("color")},set:function set(value){this.colorpicker.element.data("color",value);if(value instanceof _ColorItem2.default&&this.colorpicker.options.format==="auto"){this.colorpicker.options.format=this.color.format}}}]);return ColorHandler}();exports.default=ColorHandler;module.exports=exports.default},function(module,exports,__webpack_require__){"use strict";Object.defineProperty(exports,"__esModule",{value:true});var _createClass=function(){function defineProperties(target,props){for(var i=0;i0){icn.css(styles)}else{this.addon.css(styles)}}}]);return AddonHandler}();exports.default=AddonHandler;module.exports=exports.default}])}); \ No newline at end of file diff --git a/public/assets/libs/bootstrap-datepicker/css/bootstrap-datepicker.min.css b/public/assets/libs/bootstrap-datepicker/css/bootstrap-datepicker.min.css new file mode 100644 index 0000000..eb68151 --- /dev/null +++ b/public/assets/libs/bootstrap-datepicker/css/bootstrap-datepicker.min.css @@ -0,0 +1,7 @@ +/*! + * Datepicker for Bootstrap v1.9.0 (https://github.com/uxsolutions/bootstrap-datepicker) + * + * Licensed under the Apache License v2.0 (http://www.apache.org/licenses/LICENSE-2.0) + */ + +.datepicker{padding:4px;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;direction:ltr}.datepicker-inline{width:220px}.datepicker-rtl{direction:rtl}.datepicker-rtl.dropdown-menu{left:auto}.datepicker-rtl table tr td span{float:right}.datepicker-dropdown{top:0;left:0}.datepicker-dropdown:before{content:'';display:inline-block;border-left:7px solid transparent;border-right:7px solid transparent;border-bottom:7px solid #999;border-top:0;border-bottom-color:rgba(0,0,0,.2);position:absolute}.datepicker-dropdown:after{content:'';display:inline-block;border-left:6px solid transparent;border-right:6px solid transparent;border-bottom:6px solid #fff;border-top:0;position:absolute}.datepicker-dropdown.datepicker-orient-left:before{left:6px}.datepicker-dropdown.datepicker-orient-left:after{left:7px}.datepicker-dropdown.datepicker-orient-right:before{right:6px}.datepicker-dropdown.datepicker-orient-right:after{right:7px}.datepicker-dropdown.datepicker-orient-bottom:before{top:-7px}.datepicker-dropdown.datepicker-orient-bottom:after{top:-6px}.datepicker-dropdown.datepicker-orient-top:before{bottom:-7px;border-bottom:0;border-top:7px solid #999}.datepicker-dropdown.datepicker-orient-top:after{bottom:-6px;border-bottom:0;border-top:6px solid #fff}.datepicker table{margin:0;-webkit-touch-callout:none;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.datepicker td,.datepicker th{text-align:center;width:20px;height:20px;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;border:none}.table-striped .datepicker table tr td,.table-striped .datepicker table tr th{background-color:transparent}.datepicker table tr td.day.focused,.datepicker table tr td.day:hover{background:#eee;cursor:pointer}.datepicker table tr td.new,.datepicker table tr td.old{color:#999}.datepicker table tr td.disabled,.datepicker table tr td.disabled:hover{background:0 0;color:#999;cursor:default}.datepicker table tr td.highlighted{background:#d9edf7;border-radius:0}.datepicker table tr td.today,.datepicker table tr td.today.disabled,.datepicker table tr td.today.disabled:hover,.datepicker table tr td.today:hover{background-color:#fde19a;background-image:-moz-linear-gradient(to bottom,#fdd49a,#fdf59a);background-image:-ms-linear-gradient(to bottom,#fdd49a,#fdf59a);background-image:-webkit-gradient(linear,0 0,0 100%,from(#fdd49a),to(#fdf59a));background-image:-webkit-linear-gradient(to bottom,#fdd49a,#fdf59a);background-image:-o-linear-gradient(to bottom,#fdd49a,#fdf59a);background-image:linear-gradient(to bottom,#fdd49a,#fdf59a);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fdd49a', endColorstr='#fdf59a', GradientType=0);border-color:#fdf59a #fdf59a #fbed50;border-color:rgba(0,0,0,.1) rgba(0,0,0,.1) rgba(0,0,0,.25);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);color:#000}.datepicker table tr td.today.active,.datepicker table tr td.today.disabled,.datepicker table tr td.today.disabled.active,.datepicker table tr td.today.disabled.disabled,.datepicker table tr td.today.disabled:active,.datepicker table tr td.today.disabled:hover,.datepicker table tr td.today.disabled:hover.active,.datepicker table tr td.today.disabled:hover.disabled,.datepicker table tr td.today.disabled:hover:active,.datepicker table tr td.today.disabled:hover:hover,.datepicker table tr td.today.disabled:hover[disabled],.datepicker table tr td.today.disabled[disabled],.datepicker table tr td.today:active,.datepicker table tr td.today:hover,.datepicker table tr td.today:hover.active,.datepicker table tr td.today:hover.disabled,.datepicker table tr td.today:hover:active,.datepicker table tr td.today:hover:hover,.datepicker table tr td.today:hover[disabled],.datepicker table tr td.today[disabled]{background-color:#fdf59a}.datepicker table tr td.today.active,.datepicker table tr td.today.disabled.active,.datepicker table tr td.today.disabled:active,.datepicker table tr td.today.disabled:hover.active,.datepicker table tr td.today.disabled:hover:active,.datepicker table tr td.today:active,.datepicker table tr td.today:hover.active,.datepicker table tr td.today:hover:active{background-color:#fbf069\9}.datepicker table tr td.today:hover:hover{color:#000}.datepicker table tr td.today.active:hover{color:#fff}.datepicker table tr td.range,.datepicker table tr td.range.disabled,.datepicker table tr td.range.disabled:hover,.datepicker table tr td.range:hover{background:#eee;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.datepicker table tr td.range.today,.datepicker table tr td.range.today.disabled,.datepicker table tr td.range.today.disabled:hover,.datepicker table tr td.range.today:hover{background-color:#f3d17a;background-image:-moz-linear-gradient(to bottom,#f3c17a,#f3e97a);background-image:-ms-linear-gradient(to bottom,#f3c17a,#f3e97a);background-image:-webkit-gradient(linear,0 0,0 100%,from(#f3c17a),to(#f3e97a));background-image:-webkit-linear-gradient(to bottom,#f3c17a,#f3e97a);background-image:-o-linear-gradient(to bottom,#f3c17a,#f3e97a);background-image:linear-gradient(to bottom,#f3c17a,#f3e97a);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#f3c17a', endColorstr='#f3e97a', GradientType=0);border-color:#f3e97a #f3e97a #edde34;border-color:rgba(0,0,0,.1) rgba(0,0,0,.1) rgba(0,0,0,.25);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.datepicker table tr td.range.today.active,.datepicker table tr td.range.today.disabled,.datepicker table tr td.range.today.disabled.active,.datepicker table tr td.range.today.disabled.disabled,.datepicker table tr td.range.today.disabled:active,.datepicker table tr td.range.today.disabled:hover,.datepicker table tr td.range.today.disabled:hover.active,.datepicker table tr td.range.today.disabled:hover.disabled,.datepicker table tr td.range.today.disabled:hover:active,.datepicker table tr td.range.today.disabled:hover:hover,.datepicker table tr td.range.today.disabled:hover[disabled],.datepicker table tr td.range.today.disabled[disabled],.datepicker table tr td.range.today:active,.datepicker table tr td.range.today:hover,.datepicker table tr td.range.today:hover.active,.datepicker table tr td.range.today:hover.disabled,.datepicker table tr td.range.today:hover:active,.datepicker table tr td.range.today:hover:hover,.datepicker table tr td.range.today:hover[disabled],.datepicker table tr td.range.today[disabled]{background-color:#f3e97a}.datepicker table tr td.range.today.active,.datepicker table tr td.range.today.disabled.active,.datepicker table tr td.range.today.disabled:active,.datepicker table tr td.range.today.disabled:hover.active,.datepicker table tr td.range.today.disabled:hover:active,.datepicker table tr td.range.today:active,.datepicker table tr td.range.today:hover.active,.datepicker table tr td.range.today:hover:active{background-color:#efe24b\9}.datepicker table tr td.selected,.datepicker table tr td.selected.disabled,.datepicker table tr td.selected.disabled:hover,.datepicker table tr td.selected:hover{background-color:#9e9e9e;background-image:-moz-linear-gradient(to bottom,#b3b3b3,grey);background-image:-ms-linear-gradient(to bottom,#b3b3b3,grey);background-image:-webkit-gradient(linear,0 0,0 100%,from(#b3b3b3),to(grey));background-image:-webkit-linear-gradient(to bottom,#b3b3b3,grey);background-image:-o-linear-gradient(to bottom,#b3b3b3,grey);background-image:linear-gradient(to bottom,#b3b3b3,grey);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#b3b3b3', endColorstr='#808080', GradientType=0);border-color:grey grey #595959;border-color:rgba(0,0,0,.1) rgba(0,0,0,.1) rgba(0,0,0,.25);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);color:#fff;text-shadow:0 -1px 0 rgba(0,0,0,.25)}.datepicker table tr td.selected.active,.datepicker table tr td.selected.disabled,.datepicker table tr td.selected.disabled.active,.datepicker table tr td.selected.disabled.disabled,.datepicker table tr td.selected.disabled:active,.datepicker table tr td.selected.disabled:hover,.datepicker table tr td.selected.disabled:hover.active,.datepicker table tr td.selected.disabled:hover.disabled,.datepicker table tr td.selected.disabled:hover:active,.datepicker table tr td.selected.disabled:hover:hover,.datepicker table tr td.selected.disabled:hover[disabled],.datepicker table tr td.selected.disabled[disabled],.datepicker table tr td.selected:active,.datepicker table tr td.selected:hover,.datepicker table tr td.selected:hover.active,.datepicker table tr td.selected:hover.disabled,.datepicker table tr td.selected:hover:active,.datepicker table tr td.selected:hover:hover,.datepicker table tr td.selected:hover[disabled],.datepicker table tr td.selected[disabled]{background-color:grey}.datepicker table tr td.selected.active,.datepicker table tr td.selected.disabled.active,.datepicker table tr td.selected.disabled:active,.datepicker table tr td.selected.disabled:hover.active,.datepicker table tr td.selected.disabled:hover:active,.datepicker table tr td.selected:active,.datepicker table tr td.selected:hover.active,.datepicker table tr td.selected:hover:active{background-color:#666\9}.datepicker table tr td.active,.datepicker table tr td.active.disabled,.datepicker table tr td.active.disabled:hover,.datepicker table tr td.active:hover{background-color:#006dcc;background-image:-moz-linear-gradient(to bottom,#08c,#04c);background-image:-ms-linear-gradient(to bottom,#08c,#04c);background-image:-webkit-gradient(linear,0 0,0 100%,from(#08c),to(#04c));background-image:-webkit-linear-gradient(to bottom,#08c,#04c);background-image:-o-linear-gradient(to bottom,#08c,#04c);background-image:linear-gradient(to bottom,#08c,#04c);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#08c', endColorstr='#0044cc', GradientType=0);border-color:#04c #04c #002a80;border-color:rgba(0,0,0,.1) rgba(0,0,0,.1) rgba(0,0,0,.25);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);color:#fff;text-shadow:0 -1px 0 rgba(0,0,0,.25)}.datepicker table tr td.active.active,.datepicker table tr td.active.disabled,.datepicker table tr td.active.disabled.active,.datepicker table tr td.active.disabled.disabled,.datepicker table tr td.active.disabled:active,.datepicker table tr td.active.disabled:hover,.datepicker table tr td.active.disabled:hover.active,.datepicker table tr td.active.disabled:hover.disabled,.datepicker table tr td.active.disabled:hover:active,.datepicker table tr td.active.disabled:hover:hover,.datepicker table tr td.active.disabled:hover[disabled],.datepicker table tr td.active.disabled[disabled],.datepicker table tr td.active:active,.datepicker table tr td.active:hover,.datepicker table tr td.active:hover.active,.datepicker table tr td.active:hover.disabled,.datepicker table tr td.active:hover:active,.datepicker table tr td.active:hover:hover,.datepicker table tr td.active:hover[disabled],.datepicker table tr td.active[disabled]{background-color:#04c}.datepicker table tr td.active.active,.datepicker table tr td.active.disabled.active,.datepicker table tr td.active.disabled:active,.datepicker table tr td.active.disabled:hover.active,.datepicker table tr td.active.disabled:hover:active,.datepicker table tr td.active:active,.datepicker table tr td.active:hover.active,.datepicker table tr td.active:hover:active{background-color:#039\9}.datepicker table tr td span{display:block;width:23%;height:54px;line-height:54px;float:left;margin:1%;cursor:pointer;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px}.datepicker table tr td span.focused,.datepicker table tr td span:hover{background:#eee}.datepicker table tr td span.disabled,.datepicker table tr td span.disabled:hover{background:0 0;color:#999;cursor:default}.datepicker table tr td span.active,.datepicker table tr td span.active.disabled,.datepicker table tr td span.active.disabled:hover,.datepicker table tr td span.active:hover{background-color:#006dcc;background-image:-moz-linear-gradient(to bottom,#08c,#04c);background-image:-ms-linear-gradient(to bottom,#08c,#04c);background-image:-webkit-gradient(linear,0 0,0 100%,from(#08c),to(#04c));background-image:-webkit-linear-gradient(to bottom,#08c,#04c);background-image:-o-linear-gradient(to bottom,#08c,#04c);background-image:linear-gradient(to bottom,#08c,#04c);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#08c', endColorstr='#0044cc', GradientType=0);border-color:#04c #04c #002a80;border-color:rgba(0,0,0,.1) rgba(0,0,0,.1) rgba(0,0,0,.25);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);color:#fff;text-shadow:0 -1px 0 rgba(0,0,0,.25)}.datepicker table tr td span.active.active,.datepicker table tr td span.active.disabled,.datepicker table tr td span.active.disabled.active,.datepicker table tr td span.active.disabled.disabled,.datepicker table tr td span.active.disabled:active,.datepicker table tr td span.active.disabled:hover,.datepicker table tr td span.active.disabled:hover.active,.datepicker table tr td span.active.disabled:hover.disabled,.datepicker table tr td span.active.disabled:hover:active,.datepicker table tr td span.active.disabled:hover:hover,.datepicker table tr td span.active.disabled:hover[disabled],.datepicker table tr td span.active.disabled[disabled],.datepicker table tr td span.active:active,.datepicker table tr td span.active:hover,.datepicker table tr td span.active:hover.active,.datepicker table tr td span.active:hover.disabled,.datepicker table tr td span.active:hover:active,.datepicker table tr td span.active:hover:hover,.datepicker table tr td span.active:hover[disabled],.datepicker table tr td span.active[disabled]{background-color:#04c}.datepicker table tr td span.active.active,.datepicker table tr td span.active.disabled.active,.datepicker table tr td span.active.disabled:active,.datepicker table tr td span.active.disabled:hover.active,.datepicker table tr td span.active.disabled:hover:active,.datepicker table tr td span.active:active,.datepicker table tr td span.active:hover.active,.datepicker table tr td span.active:hover:active{background-color:#039\9}.datepicker table tr td span.new,.datepicker table tr td span.old{color:#999}.datepicker .datepicker-switch{width:145px}.datepicker .datepicker-switch,.datepicker .next,.datepicker .prev,.datepicker tfoot tr th{cursor:pointer}.datepicker .datepicker-switch:hover,.datepicker .next:hover,.datepicker .prev:hover,.datepicker tfoot tr th:hover{background:#eee}.datepicker .next.disabled,.datepicker .prev.disabled{visibility:hidden}.datepicker .cw{font-size:10px;width:12px;padding:0 2px 0 5px;vertical-align:middle}.input-append.date .add-on,.input-prepend.date .add-on{cursor:pointer}.input-append.date .add-on i,.input-prepend.date .add-on i{margin-top:3px}.input-daterange input{text-align:center}.input-daterange input:first-child{-webkit-border-radius:3px 0 0 3px;-moz-border-radius:3px 0 0 3px;border-radius:3px 0 0 3px}.input-daterange input:last-child{-webkit-border-radius:0 3px 3px 0;-moz-border-radius:0 3px 3px 0;border-radius:0 3px 3px 0}.input-daterange .add-on{display:inline-block;width:auto;min-width:16px;height:18px;padding:4px 5px;font-weight:400;line-height:18px;text-align:center;text-shadow:0 1px 0 #fff;vertical-align:middle;background-color:#eee;border:1px solid #ccc;margin-left:-5px;margin-right:-5px} \ No newline at end of file diff --git a/public/assets/libs/bootstrap-datepicker/css/bootstrap-datepicker.standalone.min.css b/public/assets/libs/bootstrap-datepicker/css/bootstrap-datepicker.standalone.min.css new file mode 100644 index 0000000..1dcc5dd --- /dev/null +++ b/public/assets/libs/bootstrap-datepicker/css/bootstrap-datepicker.standalone.min.css @@ -0,0 +1,7 @@ +/*! + * Datepicker for Bootstrap v1.9.0 (https://github.com/uxsolutions/bootstrap-datepicker) + * + * Licensed under the Apache License v2.0 (http://www.apache.org/licenses/LICENSE-2.0) + */ + +.datepicker{padding:4px;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;direction:ltr}.datepicker-inline{width:220px}.datepicker-rtl{direction:rtl}.datepicker-rtl.dropdown-menu{left:auto}.datepicker-rtl table tr td span{float:right}.datepicker-dropdown{top:0;left:0}.datepicker-dropdown:before{content:'';display:inline-block;border-left:7px solid transparent;border-right:7px solid transparent;border-bottom:7px solid #999;border-top:0;border-bottom-color:rgba(0,0,0,.2);position:absolute}.datepicker-dropdown:after{content:'';display:inline-block;border-left:6px solid transparent;border-right:6px solid transparent;border-bottom:6px solid #fff;border-top:0;position:absolute}.datepicker-dropdown.datepicker-orient-left:before{left:6px}.datepicker-dropdown.datepicker-orient-left:after{left:7px}.datepicker-dropdown.datepicker-orient-right:before{right:6px}.datepicker-dropdown.datepicker-orient-right:after{right:7px}.datepicker-dropdown.datepicker-orient-bottom:before{top:-7px}.datepicker-dropdown.datepicker-orient-bottom:after{top:-6px}.datepicker-dropdown.datepicker-orient-top:before{bottom:-7px;border-bottom:0;border-top:7px solid #999}.datepicker-dropdown.datepicker-orient-top:after{bottom:-6px;border-bottom:0;border-top:6px solid #fff}.datepicker table{margin:0;-webkit-touch-callout:none;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.datepicker td,.datepicker th{text-align:center;width:20px;height:20px;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;border:none}.table-striped .datepicker table tr td,.table-striped .datepicker table tr th{background-color:transparent}.datepicker table tr td.day.focused,.datepicker table tr td.day:hover{background:#eee;cursor:pointer}.datepicker table tr td.new,.datepicker table tr td.old{color:#999}.datepicker table tr td.disabled,.datepicker table tr td.disabled:hover{background:0 0;color:#999;cursor:default}.datepicker table tr td.highlighted{background:#d9edf7;border-radius:0}.datepicker table tr td.today,.datepicker table tr td.today.disabled,.datepicker table tr td.today.disabled:hover,.datepicker table tr td.today:hover{background-color:#fde19a;background-image:-moz-linear-gradient(to bottom,#fdd49a,#fdf59a);background-image:-ms-linear-gradient(to bottom,#fdd49a,#fdf59a);background-image:-webkit-gradient(linear,0 0,0 100%,from(#fdd49a),to(#fdf59a));background-image:-webkit-linear-gradient(to bottom,#fdd49a,#fdf59a);background-image:-o-linear-gradient(to bottom,#fdd49a,#fdf59a);background-image:linear-gradient(to bottom,#fdd49a,#fdf59a);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fdd49a', endColorstr='#fdf59a', GradientType=0);border-color:#fdf59a #fdf59a #fbed50;border-color:rgba(0,0,0,.1) rgba(0,0,0,.1) rgba(0,0,0,.25);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);color:#000}.datepicker table tr td.today.active,.datepicker table tr td.today.disabled,.datepicker table tr td.today.disabled.active,.datepicker table tr td.today.disabled.disabled,.datepicker table tr td.today.disabled:active,.datepicker table tr td.today.disabled:hover,.datepicker table tr td.today.disabled:hover.active,.datepicker table tr td.today.disabled:hover.disabled,.datepicker table tr td.today.disabled:hover:active,.datepicker table tr td.today.disabled:hover:hover,.datepicker table tr td.today.disabled:hover[disabled],.datepicker table tr td.today.disabled[disabled],.datepicker table tr td.today:active,.datepicker table tr td.today:hover,.datepicker table tr td.today:hover.active,.datepicker table tr td.today:hover.disabled,.datepicker table tr td.today:hover:active,.datepicker table tr td.today:hover:hover,.datepicker table tr td.today:hover[disabled],.datepicker table tr td.today[disabled]{background-color:#fdf59a}.datepicker table tr td.today.active,.datepicker table tr td.today.disabled.active,.datepicker table tr td.today.disabled:active,.datepicker table tr td.today.disabled:hover.active,.datepicker table tr td.today.disabled:hover:active,.datepicker table tr td.today:active,.datepicker table tr td.today:hover.active,.datepicker table tr td.today:hover:active{background-color:#fbf069\9}.datepicker table tr td.today:hover:hover{color:#000}.datepicker table tr td.today.active:hover{color:#fff}.datepicker table tr td.range,.datepicker table tr td.range.disabled,.datepicker table tr td.range.disabled:hover,.datepicker table tr td.range:hover{background:#eee;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.datepicker table tr td.range.today,.datepicker table tr td.range.today.disabled,.datepicker table tr td.range.today.disabled:hover,.datepicker table tr td.range.today:hover{background-color:#f3d17a;background-image:-moz-linear-gradient(to bottom,#f3c17a,#f3e97a);background-image:-ms-linear-gradient(to bottom,#f3c17a,#f3e97a);background-image:-webkit-gradient(linear,0 0,0 100%,from(#f3c17a),to(#f3e97a));background-image:-webkit-linear-gradient(to bottom,#f3c17a,#f3e97a);background-image:-o-linear-gradient(to bottom,#f3c17a,#f3e97a);background-image:linear-gradient(to bottom,#f3c17a,#f3e97a);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#f3c17a', endColorstr='#f3e97a', GradientType=0);border-color:#f3e97a #f3e97a #edde34;border-color:rgba(0,0,0,.1) rgba(0,0,0,.1) rgba(0,0,0,.25);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.datepicker table tr td.range.today.active,.datepicker table tr td.range.today.disabled,.datepicker table tr td.range.today.disabled.active,.datepicker table tr td.range.today.disabled.disabled,.datepicker table tr td.range.today.disabled:active,.datepicker table tr td.range.today.disabled:hover,.datepicker table tr td.range.today.disabled:hover.active,.datepicker table tr td.range.today.disabled:hover.disabled,.datepicker table tr td.range.today.disabled:hover:active,.datepicker table tr td.range.today.disabled:hover:hover,.datepicker table tr td.range.today.disabled:hover[disabled],.datepicker table tr td.range.today.disabled[disabled],.datepicker table tr td.range.today:active,.datepicker table tr td.range.today:hover,.datepicker table tr td.range.today:hover.active,.datepicker table tr td.range.today:hover.disabled,.datepicker table tr td.range.today:hover:active,.datepicker table tr td.range.today:hover:hover,.datepicker table tr td.range.today:hover[disabled],.datepicker table tr td.range.today[disabled]{background-color:#f3e97a}.datepicker table tr td.range.today.active,.datepicker table tr td.range.today.disabled.active,.datepicker table tr td.range.today.disabled:active,.datepicker table tr td.range.today.disabled:hover.active,.datepicker table tr td.range.today.disabled:hover:active,.datepicker table tr td.range.today:active,.datepicker table tr td.range.today:hover.active,.datepicker table tr td.range.today:hover:active{background-color:#efe24b\9}.datepicker table tr td.selected,.datepicker table tr td.selected.disabled,.datepicker table tr td.selected.disabled:hover,.datepicker table tr td.selected:hover{background-color:#9e9e9e;background-image:-moz-linear-gradient(to bottom,#b3b3b3,grey);background-image:-ms-linear-gradient(to bottom,#b3b3b3,grey);background-image:-webkit-gradient(linear,0 0,0 100%,from(#b3b3b3),to(grey));background-image:-webkit-linear-gradient(to bottom,#b3b3b3,grey);background-image:-o-linear-gradient(to bottom,#b3b3b3,grey);background-image:linear-gradient(to bottom,#b3b3b3,grey);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#b3b3b3', endColorstr='#808080', GradientType=0);border-color:grey grey #595959;border-color:rgba(0,0,0,.1) rgba(0,0,0,.1) rgba(0,0,0,.25);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);color:#fff;text-shadow:0 -1px 0 rgba(0,0,0,.25)}.datepicker table tr td.selected.active,.datepicker table tr td.selected.disabled,.datepicker table tr td.selected.disabled.active,.datepicker table tr td.selected.disabled.disabled,.datepicker table tr td.selected.disabled:active,.datepicker table tr td.selected.disabled:hover,.datepicker table tr td.selected.disabled:hover.active,.datepicker table tr td.selected.disabled:hover.disabled,.datepicker table tr td.selected.disabled:hover:active,.datepicker table tr td.selected.disabled:hover:hover,.datepicker table tr td.selected.disabled:hover[disabled],.datepicker table tr td.selected.disabled[disabled],.datepicker table tr td.selected:active,.datepicker table tr td.selected:hover,.datepicker table tr td.selected:hover.active,.datepicker table tr td.selected:hover.disabled,.datepicker table tr td.selected:hover:active,.datepicker table tr td.selected:hover:hover,.datepicker table tr td.selected:hover[disabled],.datepicker table tr td.selected[disabled]{background-color:grey}.datepicker table tr td.selected.active,.datepicker table tr td.selected.disabled.active,.datepicker table tr td.selected.disabled:active,.datepicker table tr td.selected.disabled:hover.active,.datepicker table tr td.selected.disabled:hover:active,.datepicker table tr td.selected:active,.datepicker table tr td.selected:hover.active,.datepicker table tr td.selected:hover:active{background-color:#666\9}.datepicker table tr td.active,.datepicker table tr td.active.disabled,.datepicker table tr td.active.disabled:hover,.datepicker table tr td.active:hover{background-color:#006dcc;background-image:-moz-linear-gradient(to bottom,#08c,#04c);background-image:-ms-linear-gradient(to bottom,#08c,#04c);background-image:-webkit-gradient(linear,0 0,0 100%,from(#08c),to(#04c));background-image:-webkit-linear-gradient(to bottom,#08c,#04c);background-image:-o-linear-gradient(to bottom,#08c,#04c);background-image:linear-gradient(to bottom,#08c,#04c);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#08c', endColorstr='#0044cc', GradientType=0);border-color:#04c #04c #002a80;border-color:rgba(0,0,0,.1) rgba(0,0,0,.1) rgba(0,0,0,.25);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);color:#fff;text-shadow:0 -1px 0 rgba(0,0,0,.25)}.datepicker table tr td.active.active,.datepicker table tr td.active.disabled,.datepicker table tr td.active.disabled.active,.datepicker table tr td.active.disabled.disabled,.datepicker table tr td.active.disabled:active,.datepicker table tr td.active.disabled:hover,.datepicker table tr td.active.disabled:hover.active,.datepicker table tr td.active.disabled:hover.disabled,.datepicker table tr td.active.disabled:hover:active,.datepicker table tr td.active.disabled:hover:hover,.datepicker table tr td.active.disabled:hover[disabled],.datepicker table tr td.active.disabled[disabled],.datepicker table tr td.active:active,.datepicker table tr td.active:hover,.datepicker table tr td.active:hover.active,.datepicker table tr td.active:hover.disabled,.datepicker table tr td.active:hover:active,.datepicker table tr td.active:hover:hover,.datepicker table tr td.active:hover[disabled],.datepicker table tr td.active[disabled]{background-color:#04c}.datepicker table tr td.active.active,.datepicker table tr td.active.disabled.active,.datepicker table tr td.active.disabled:active,.datepicker table tr td.active.disabled:hover.active,.datepicker table tr td.active.disabled:hover:active,.datepicker table tr td.active:active,.datepicker table tr td.active:hover.active,.datepicker table tr td.active:hover:active{background-color:#039\9}.datepicker table tr td span{display:block;width:23%;height:54px;line-height:54px;float:left;margin:1%;cursor:pointer;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px}.datepicker table tr td span.focused,.datepicker table tr td span:hover{background:#eee}.datepicker table tr td span.disabled,.datepicker table tr td span.disabled:hover{background:0 0;color:#999;cursor:default}.datepicker table tr td span.active,.datepicker table tr td span.active.disabled,.datepicker table tr td span.active.disabled:hover,.datepicker table tr td span.active:hover{background-color:#006dcc;background-image:-moz-linear-gradient(to bottom,#08c,#04c);background-image:-ms-linear-gradient(to bottom,#08c,#04c);background-image:-webkit-gradient(linear,0 0,0 100%,from(#08c),to(#04c));background-image:-webkit-linear-gradient(to bottom,#08c,#04c);background-image:-o-linear-gradient(to bottom,#08c,#04c);background-image:linear-gradient(to bottom,#08c,#04c);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#08c', endColorstr='#0044cc', GradientType=0);border-color:#04c #04c #002a80;border-color:rgba(0,0,0,.1) rgba(0,0,0,.1) rgba(0,0,0,.25);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);color:#fff;text-shadow:0 -1px 0 rgba(0,0,0,.25)}.datepicker table tr td span.active.active,.datepicker table tr td span.active.disabled,.datepicker table tr td span.active.disabled.active,.datepicker table tr td span.active.disabled.disabled,.datepicker table tr td span.active.disabled:active,.datepicker table tr td span.active.disabled:hover,.datepicker table tr td span.active.disabled:hover.active,.datepicker table tr td span.active.disabled:hover.disabled,.datepicker table tr td span.active.disabled:hover:active,.datepicker table tr td span.active.disabled:hover:hover,.datepicker table tr td span.active.disabled:hover[disabled],.datepicker table tr td span.active.disabled[disabled],.datepicker table tr td span.active:active,.datepicker table tr td span.active:hover,.datepicker table tr td span.active:hover.active,.datepicker table tr td span.active:hover.disabled,.datepicker table tr td span.active:hover:active,.datepicker table tr td span.active:hover:hover,.datepicker table tr td span.active:hover[disabled],.datepicker table tr td span.active[disabled]{background-color:#04c}.datepicker table tr td span.active.active,.datepicker table tr td span.active.disabled.active,.datepicker table tr td span.active.disabled:active,.datepicker table tr td span.active.disabled:hover.active,.datepicker table tr td span.active.disabled:hover:active,.datepicker table tr td span.active:active,.datepicker table tr td span.active:hover.active,.datepicker table tr td span.active:hover:active{background-color:#039\9}.datepicker table tr td span.new,.datepicker table tr td span.old{color:#999}.datepicker .datepicker-switch{width:145px}.datepicker .datepicker-switch,.datepicker .next,.datepicker .prev,.datepicker tfoot tr th{cursor:pointer}.datepicker .datepicker-switch:hover,.datepicker .next:hover,.datepicker .prev:hover,.datepicker tfoot tr th:hover{background:#eee}.datepicker .next.disabled,.datepicker .prev.disabled{visibility:hidden}.datepicker .cw{font-size:10px;width:12px;padding:0 2px 0 5px;vertical-align:middle}.input-append.date .add-on,.input-prepend.date .add-on{cursor:pointer}.input-append.date .add-on i,.input-prepend.date .add-on i{margin-top:3px}.input-daterange input{text-align:center}.input-daterange input:first-child{-webkit-border-radius:3px 0 0 3px;-moz-border-radius:3px 0 0 3px;border-radius:3px 0 0 3px}.input-daterange input:last-child{-webkit-border-radius:0 3px 3px 0;-moz-border-radius:0 3px 3px 0;border-radius:0 3px 3px 0}.input-daterange .add-on{display:inline-block;width:auto;min-width:16px;height:20px;padding:4px 5px;font-weight:400;line-height:20px;text-align:center;text-shadow:0 1px 0 #fff;vertical-align:middle;background-color:#eee;border:1px solid #ccc;margin-left:-5px;margin-right:-5px}.datepicker.dropdown-menu{position:absolute;top:100%;left:0;z-index:1000;float:left;display:none;min-width:160px;list-style:none;background-color:#fff;border:1px solid #ccc;border:1px solid rgba(0,0,0,.2);-webkit-border-radius:5px;-moz-border-radius:5px;border-radius:5px;-webkit-box-shadow:0 5px 10px rgba(0,0,0,.2);-moz-box-shadow:0 5px 10px rgba(0,0,0,.2);box-shadow:0 5px 10px rgba(0,0,0,.2);-webkit-background-clip:padding-box;-moz-background-clip:padding;background-clip:padding-box;*border-right-width:2px;*border-bottom-width:2px;color:#333;font-size:13px;line-height:20px}.datepicker.datepicker-inline td,.datepicker.datepicker-inline th,.datepicker.dropdown-menu td,.datepicker.dropdown-menu th{padding:4px 5px} \ No newline at end of file diff --git a/public/assets/libs/bootstrap-datepicker/css/bootstrap-datepicker3.min.css b/public/assets/libs/bootstrap-datepicker/css/bootstrap-datepicker3.min.css new file mode 100644 index 0000000..c98529a --- /dev/null +++ b/public/assets/libs/bootstrap-datepicker/css/bootstrap-datepicker3.min.css @@ -0,0 +1,7 @@ +/*! + * Datepicker for Bootstrap v1.9.0 (https://github.com/uxsolutions/bootstrap-datepicker) + * + * Licensed under the Apache License v2.0 (http://www.apache.org/licenses/LICENSE-2.0) + */ + +.datepicker{border-radius:4px;direction:ltr}.datepicker-inline{width:220px}.datepicker-rtl{direction:rtl}.datepicker-rtl.dropdown-menu{left:auto}.datepicker-rtl table tr td span{float:right}.datepicker-dropdown{top:0;left:0;padding:4px}.datepicker-dropdown:before{content:'';display:inline-block;border-left:7px solid transparent;border-right:7px solid transparent;border-bottom:7px solid rgba(0,0,0,.15);border-top:0;border-bottom-color:rgba(0,0,0,.2);position:absolute}.datepicker-dropdown:after{content:'';display:inline-block;border-left:6px solid transparent;border-right:6px solid transparent;border-bottom:6px solid #fff;border-top:0;position:absolute}.datepicker-dropdown.datepicker-orient-left:before{left:6px}.datepicker-dropdown.datepicker-orient-left:after{left:7px}.datepicker-dropdown.datepicker-orient-right:before{right:6px}.datepicker-dropdown.datepicker-orient-right:after{right:7px}.datepicker-dropdown.datepicker-orient-bottom:before{top:-7px}.datepicker-dropdown.datepicker-orient-bottom:after{top:-6px}.datepicker-dropdown.datepicker-orient-top:before{bottom:-7px;border-bottom:0;border-top:7px solid rgba(0,0,0,.15)}.datepicker-dropdown.datepicker-orient-top:after{bottom:-6px;border-bottom:0;border-top:6px solid #fff}.datepicker table{margin:0;-webkit-touch-callout:none;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.datepicker table tr td,.datepicker table tr th{text-align:center;width:30px;height:30px;border-radius:4px;border:none}.table-striped .datepicker table tr td,.table-striped .datepicker table tr th{background-color:transparent}.datepicker table tr td.new,.datepicker table tr td.old{color:#777}.datepicker table tr td.day:hover,.datepicker table tr td.focused{background:#eee;cursor:pointer}.datepicker table tr td.disabled,.datepicker table tr td.disabled:hover{background:0 0;color:#777;cursor:default}.datepicker table tr td.highlighted{color:#000;background-color:#d9edf7;border-color:#85c5e5;border-radius:0}.datepicker table tr td.highlighted.focus,.datepicker table tr td.highlighted:focus{color:#000;background-color:#afd9ee;border-color:#298fc2}.datepicker table tr td.highlighted:hover{color:#000;background-color:#afd9ee;border-color:#52addb}.datepicker table tr td.highlighted.active,.datepicker table tr td.highlighted:active{color:#000;background-color:#afd9ee;border-color:#52addb}.datepicker table tr td.highlighted.active.focus,.datepicker table tr td.highlighted.active:focus,.datepicker table tr td.highlighted.active:hover,.datepicker table tr td.highlighted:active.focus,.datepicker table tr td.highlighted:active:focus,.datepicker table tr td.highlighted:active:hover{color:#000;background-color:#91cbe8;border-color:#298fc2}.datepicker table tr td.highlighted.disabled.focus,.datepicker table tr td.highlighted.disabled:focus,.datepicker table tr td.highlighted.disabled:hover,.datepicker table tr td.highlighted[disabled].focus,.datepicker table tr td.highlighted[disabled]:focus,.datepicker table tr td.highlighted[disabled]:hover,fieldset[disabled] .datepicker table tr td.highlighted.focus,fieldset[disabled] .datepicker table tr td.highlighted:focus,fieldset[disabled] .datepicker table tr td.highlighted:hover{background-color:#d9edf7;border-color:#85c5e5}.datepicker table tr td.highlighted.focused{background:#afd9ee}.datepicker table tr td.highlighted.disabled,.datepicker table tr td.highlighted.disabled:active{background:#d9edf7;color:#777}.datepicker table tr td.today{color:#000;background-color:#ffdb99;border-color:#ffb733}.datepicker table tr td.today.focus,.datepicker table tr td.today:focus{color:#000;background-color:#ffc966;border-color:#b37400}.datepicker table tr td.today:hover{color:#000;background-color:#ffc966;border-color:#f59e00}.datepicker table tr td.today.active,.datepicker table tr td.today:active{color:#000;background-color:#ffc966;border-color:#f59e00}.datepicker table tr td.today.active.focus,.datepicker table tr td.today.active:focus,.datepicker table tr td.today.active:hover,.datepicker table tr td.today:active.focus,.datepicker table tr td.today:active:focus,.datepicker table tr td.today:active:hover{color:#000;background-color:#ffbc42;border-color:#b37400}.datepicker table tr td.today.disabled.focus,.datepicker table tr td.today.disabled:focus,.datepicker table tr td.today.disabled:hover,.datepicker table tr td.today[disabled].focus,.datepicker table tr td.today[disabled]:focus,.datepicker table tr td.today[disabled]:hover,fieldset[disabled] .datepicker table tr td.today.focus,fieldset[disabled] .datepicker table tr td.today:focus,fieldset[disabled] .datepicker table tr td.today:hover{background-color:#ffdb99;border-color:#ffb733}.datepicker table tr td.today.focused{background:#ffc966}.datepicker table tr td.today.disabled,.datepicker table tr td.today.disabled:active{background:#ffdb99;color:#777}.datepicker table tr td.range{color:#000;background-color:#eee;border-color:#bbb;border-radius:0}.datepicker table tr td.range.focus,.datepicker table tr td.range:focus{color:#000;background-color:#d5d5d5;border-color:#7c7c7c}.datepicker table tr td.range:hover{color:#000;background-color:#d5d5d5;border-color:#9d9d9d}.datepicker table tr td.range.active,.datepicker table tr td.range:active{color:#000;background-color:#d5d5d5;border-color:#9d9d9d}.datepicker table tr td.range.active.focus,.datepicker table tr td.range.active:focus,.datepicker table tr td.range.active:hover,.datepicker table tr td.range:active.focus,.datepicker table tr td.range:active:focus,.datepicker table tr td.range:active:hover{color:#000;background-color:#c3c3c3;border-color:#7c7c7c}.datepicker table tr td.range.disabled.focus,.datepicker table tr td.range.disabled:focus,.datepicker table tr td.range.disabled:hover,.datepicker table tr td.range[disabled].focus,.datepicker table tr td.range[disabled]:focus,.datepicker table tr td.range[disabled]:hover,fieldset[disabled] .datepicker table tr td.range.focus,fieldset[disabled] .datepicker table tr td.range:focus,fieldset[disabled] .datepicker table tr td.range:hover{background-color:#eee;border-color:#bbb}.datepicker table tr td.range.focused{background:#d5d5d5}.datepicker table tr td.range.disabled,.datepicker table tr td.range.disabled:active{background:#eee;color:#777}.datepicker table tr td.range.highlighted{color:#000;background-color:#e4eef3;border-color:#9dc1d3}.datepicker table tr td.range.highlighted.focus,.datepicker table tr td.range.highlighted:focus{color:#000;background-color:#c1d7e3;border-color:#4b88a6}.datepicker table tr td.range.highlighted:hover{color:#000;background-color:#c1d7e3;border-color:#73a6c0}.datepicker table tr td.range.highlighted.active,.datepicker table tr td.range.highlighted:active{color:#000;background-color:#c1d7e3;border-color:#73a6c0}.datepicker table tr td.range.highlighted.active.focus,.datepicker table tr td.range.highlighted.active:focus,.datepicker table tr td.range.highlighted.active:hover,.datepicker table tr td.range.highlighted:active.focus,.datepicker table tr td.range.highlighted:active:focus,.datepicker table tr td.range.highlighted:active:hover{color:#000;background-color:#a8c8d8;border-color:#4b88a6}.datepicker table tr td.range.highlighted.disabled.focus,.datepicker table tr td.range.highlighted.disabled:focus,.datepicker table tr td.range.highlighted.disabled:hover,.datepicker table tr td.range.highlighted[disabled].focus,.datepicker table tr td.range.highlighted[disabled]:focus,.datepicker table tr td.range.highlighted[disabled]:hover,fieldset[disabled] .datepicker table tr td.range.highlighted.focus,fieldset[disabled] .datepicker table tr td.range.highlighted:focus,fieldset[disabled] .datepicker table tr td.range.highlighted:hover{background-color:#e4eef3;border-color:#9dc1d3}.datepicker table tr td.range.highlighted.focused{background:#c1d7e3}.datepicker table tr td.range.highlighted.disabled,.datepicker table tr td.range.highlighted.disabled:active{background:#e4eef3;color:#777}.datepicker table tr td.range.today{color:#000;background-color:#f7ca77;border-color:#f1a417}.datepicker table tr td.range.today.focus,.datepicker table tr td.range.today:focus{color:#000;background-color:#f4b747;border-color:#815608}.datepicker table tr td.range.today:hover{color:#000;background-color:#f4b747;border-color:#bf800c}.datepicker table tr td.range.today.active,.datepicker table tr td.range.today:active{color:#000;background-color:#f4b747;border-color:#bf800c}.datepicker table tr td.range.today.active.focus,.datepicker table tr td.range.today.active:focus,.datepicker table tr td.range.today.active:hover,.datepicker table tr td.range.today:active.focus,.datepicker table tr td.range.today:active:focus,.datepicker table tr td.range.today:active:hover{color:#000;background-color:#f2aa25;border-color:#815608}.datepicker table tr td.range.today.disabled.focus,.datepicker table tr td.range.today.disabled:focus,.datepicker table tr td.range.today.disabled:hover,.datepicker table tr td.range.today[disabled].focus,.datepicker table tr td.range.today[disabled]:focus,.datepicker table tr td.range.today[disabled]:hover,fieldset[disabled] .datepicker table tr td.range.today.focus,fieldset[disabled] .datepicker table tr td.range.today:focus,fieldset[disabled] .datepicker table tr td.range.today:hover{background-color:#f7ca77;border-color:#f1a417}.datepicker table tr td.range.today.disabled,.datepicker table tr td.range.today.disabled:active{background:#f7ca77;color:#777}.datepicker table tr td.selected,.datepicker table tr td.selected.highlighted{color:#fff;background-color:#777;border-color:#555;text-shadow:0 -1px 0 rgba(0,0,0,.25)}.datepicker table tr td.selected.focus,.datepicker table tr td.selected.highlighted.focus,.datepicker table tr td.selected.highlighted:focus,.datepicker table tr td.selected:focus{color:#fff;background-color:#5e5e5e;border-color:#161616}.datepicker table tr td.selected.highlighted:hover,.datepicker table tr td.selected:hover{color:#fff;background-color:#5e5e5e;border-color:#373737}.datepicker table tr td.selected.active,.datepicker table tr td.selected.highlighted.active,.datepicker table tr td.selected.highlighted:active,.datepicker table tr td.selected:active{color:#fff;background-color:#5e5e5e;border-color:#373737}.datepicker table tr td.selected.active.focus,.datepicker table tr td.selected.active:focus,.datepicker table tr td.selected.active:hover,.datepicker table tr td.selected.highlighted.active.focus,.datepicker table tr td.selected.highlighted.active:focus,.datepicker table tr td.selected.highlighted.active:hover,.datepicker table tr td.selected.highlighted:active.focus,.datepicker table tr td.selected.highlighted:active:focus,.datepicker table tr td.selected.highlighted:active:hover,.datepicker table tr td.selected:active.focus,.datepicker table tr td.selected:active:focus,.datepicker table tr td.selected:active:hover{color:#fff;background-color:#4c4c4c;border-color:#161616}.datepicker table tr td.selected.disabled.focus,.datepicker table tr td.selected.disabled:focus,.datepicker table tr td.selected.disabled:hover,.datepicker table tr td.selected.highlighted.disabled.focus,.datepicker table tr td.selected.highlighted.disabled:focus,.datepicker table tr td.selected.highlighted.disabled:hover,.datepicker table tr td.selected.highlighted[disabled].focus,.datepicker table tr td.selected.highlighted[disabled]:focus,.datepicker table tr td.selected.highlighted[disabled]:hover,.datepicker table tr td.selected[disabled].focus,.datepicker table tr td.selected[disabled]:focus,.datepicker table tr td.selected[disabled]:hover,fieldset[disabled] .datepicker table tr td.selected.focus,fieldset[disabled] .datepicker table tr td.selected.highlighted.focus,fieldset[disabled] .datepicker table tr td.selected.highlighted:focus,fieldset[disabled] .datepicker table tr td.selected.highlighted:hover,fieldset[disabled] .datepicker table tr td.selected:focus,fieldset[disabled] .datepicker table tr td.selected:hover{background-color:#777;border-color:#555}.datepicker table tr td.active,.datepicker table tr td.active.highlighted{color:#fff;background-color:#337ab7;border-color:#2e6da4;text-shadow:0 -1px 0 rgba(0,0,0,.25)}.datepicker table tr td.active.focus,.datepicker table tr td.active.highlighted.focus,.datepicker table tr td.active.highlighted:focus,.datepicker table tr td.active:focus{color:#fff;background-color:#286090;border-color:#122b40}.datepicker table tr td.active.highlighted:hover,.datepicker table tr td.active:hover{color:#fff;background-color:#286090;border-color:#204d74}.datepicker table tr td.active.active,.datepicker table tr td.active.highlighted.active,.datepicker table tr td.active.highlighted:active,.datepicker table tr td.active:active{color:#fff;background-color:#286090;border-color:#204d74}.datepicker table tr td.active.active.focus,.datepicker table tr td.active.active:focus,.datepicker table tr td.active.active:hover,.datepicker table tr td.active.highlighted.active.focus,.datepicker table tr td.active.highlighted.active:focus,.datepicker table tr td.active.highlighted.active:hover,.datepicker table tr td.active.highlighted:active.focus,.datepicker table tr td.active.highlighted:active:focus,.datepicker table tr td.active.highlighted:active:hover,.datepicker table tr td.active:active.focus,.datepicker table tr td.active:active:focus,.datepicker table tr td.active:active:hover{color:#fff;background-color:#204d74;border-color:#122b40}.datepicker table tr td.active.disabled.focus,.datepicker table tr td.active.disabled:focus,.datepicker table tr td.active.disabled:hover,.datepicker table tr td.active.highlighted.disabled.focus,.datepicker table tr td.active.highlighted.disabled:focus,.datepicker table tr td.active.highlighted.disabled:hover,.datepicker table tr td.active.highlighted[disabled].focus,.datepicker table tr td.active.highlighted[disabled]:focus,.datepicker table tr td.active.highlighted[disabled]:hover,.datepicker table tr td.active[disabled].focus,.datepicker table tr td.active[disabled]:focus,.datepicker table tr td.active[disabled]:hover,fieldset[disabled] .datepicker table tr td.active.focus,fieldset[disabled] .datepicker table tr td.active.highlighted.focus,fieldset[disabled] .datepicker table tr td.active.highlighted:focus,fieldset[disabled] .datepicker table tr td.active.highlighted:hover,fieldset[disabled] .datepicker table tr td.active:focus,fieldset[disabled] .datepicker table tr td.active:hover{background-color:#337ab7;border-color:#2e6da4}.datepicker table tr td span{display:block;width:23%;height:54px;line-height:54px;float:left;margin:1%;cursor:pointer;border-radius:4px}.datepicker table tr td span.focused,.datepicker table tr td span:hover{background:#eee}.datepicker table tr td span.disabled,.datepicker table tr td span.disabled:hover{background:0 0;color:#777;cursor:default}.datepicker table tr td span.active,.datepicker table tr td span.active.disabled,.datepicker table tr td span.active.disabled:hover,.datepicker table tr td span.active:hover{color:#fff;background-color:#337ab7;border-color:#2e6da4;text-shadow:0 -1px 0 rgba(0,0,0,.25)}.datepicker table tr td span.active.disabled.focus,.datepicker table tr td span.active.disabled:focus,.datepicker table tr td span.active.disabled:hover.focus,.datepicker table tr td span.active.disabled:hover:focus,.datepicker table tr td span.active.focus,.datepicker table tr td span.active:focus,.datepicker table tr td span.active:hover.focus,.datepicker table tr td span.active:hover:focus{color:#fff;background-color:#286090;border-color:#122b40}.datepicker table tr td span.active.disabled:hover,.datepicker table tr td span.active.disabled:hover:hover,.datepicker table tr td span.active:hover,.datepicker table tr td span.active:hover:hover{color:#fff;background-color:#286090;border-color:#204d74}.datepicker table tr td span.active.active,.datepicker table tr td span.active.disabled.active,.datepicker table tr td span.active.disabled:active,.datepicker table tr td span.active.disabled:hover.active,.datepicker table tr td span.active.disabled:hover:active,.datepicker table tr td span.active:active,.datepicker table tr td span.active:hover.active,.datepicker table tr td span.active:hover:active{color:#fff;background-color:#286090;border-color:#204d74}.datepicker table tr td span.active.active.focus,.datepicker table tr td span.active.active:focus,.datepicker table tr td span.active.active:hover,.datepicker table tr td span.active.disabled.active.focus,.datepicker table tr td span.active.disabled.active:focus,.datepicker table tr td span.active.disabled.active:hover,.datepicker table tr td span.active.disabled:active.focus,.datepicker table tr td span.active.disabled:active:focus,.datepicker table tr td span.active.disabled:active:hover,.datepicker table tr td span.active.disabled:hover.active.focus,.datepicker table tr td span.active.disabled:hover.active:focus,.datepicker table tr td span.active.disabled:hover.active:hover,.datepicker table tr td span.active.disabled:hover:active.focus,.datepicker table tr td span.active.disabled:hover:active:focus,.datepicker table tr td span.active.disabled:hover:active:hover,.datepicker table tr td span.active:active.focus,.datepicker table tr td span.active:active:focus,.datepicker table tr td span.active:active:hover,.datepicker table tr td span.active:hover.active.focus,.datepicker table tr td span.active:hover.active:focus,.datepicker table tr td span.active:hover.active:hover,.datepicker table tr td span.active:hover:active.focus,.datepicker table tr td span.active:hover:active:focus,.datepicker table tr td span.active:hover:active:hover{color:#fff;background-color:#204d74;border-color:#122b40}.datepicker table tr td span.active.disabled.disabled.focus,.datepicker table tr td span.active.disabled.disabled:focus,.datepicker table tr td span.active.disabled.disabled:hover,.datepicker table tr td span.active.disabled.focus,.datepicker table tr td span.active.disabled:focus,.datepicker table tr td span.active.disabled:hover,.datepicker table tr td span.active.disabled:hover.disabled.focus,.datepicker table tr td span.active.disabled:hover.disabled:focus,.datepicker table tr td span.active.disabled:hover.disabled:hover,.datepicker table tr td span.active.disabled:hover[disabled].focus,.datepicker table tr td span.active.disabled:hover[disabled]:focus,.datepicker table tr td span.active.disabled:hover[disabled]:hover,.datepicker table tr td span.active.disabled[disabled].focus,.datepicker table tr td span.active.disabled[disabled]:focus,.datepicker table tr td span.active.disabled[disabled]:hover,.datepicker table tr td span.active:hover.disabled.focus,.datepicker table tr td span.active:hover.disabled:focus,.datepicker table tr td span.active:hover.disabled:hover,.datepicker table tr td span.active:hover[disabled].focus,.datepicker table tr td span.active:hover[disabled]:focus,.datepicker table tr td span.active:hover[disabled]:hover,.datepicker table tr td span.active[disabled].focus,.datepicker table tr td span.active[disabled]:focus,.datepicker table tr td span.active[disabled]:hover,fieldset[disabled] .datepicker table tr td span.active.disabled.focus,fieldset[disabled] .datepicker table tr td span.active.disabled:focus,fieldset[disabled] .datepicker table tr td span.active.disabled:hover,fieldset[disabled] .datepicker table tr td span.active.disabled:hover.focus,fieldset[disabled] .datepicker table tr td span.active.disabled:hover:focus,fieldset[disabled] .datepicker table tr td span.active.disabled:hover:hover,fieldset[disabled] .datepicker table tr td span.active.focus,fieldset[disabled] .datepicker table tr td span.active:focus,fieldset[disabled] .datepicker table tr td span.active:hover,fieldset[disabled] .datepicker table tr td span.active:hover.focus,fieldset[disabled] .datepicker table tr td span.active:hover:focus,fieldset[disabled] .datepicker table tr td span.active:hover:hover{background-color:#337ab7;border-color:#2e6da4}.datepicker table tr td span.new,.datepicker table tr td span.old{color:#777}.datepicker .datepicker-switch{width:145px}.datepicker .datepicker-switch,.datepicker .next,.datepicker .prev,.datepicker tfoot tr th{cursor:pointer}.datepicker .datepicker-switch:hover,.datepicker .next:hover,.datepicker .prev:hover,.datepicker tfoot tr th:hover{background:#eee}.datepicker .next.disabled,.datepicker .prev.disabled{visibility:hidden}.datepicker .cw{font-size:10px;width:12px;padding:0 2px 0 5px;vertical-align:middle}.input-group.date .input-group-addon{cursor:pointer}.input-daterange{width:100%}.input-daterange input{text-align:center}.input-daterange input:first-child{border-radius:3px 0 0 3px}.input-daterange input:last-child{border-radius:0 3px 3px 0}.input-daterange .input-group-addon{width:auto;min-width:16px;padding:4px 5px;line-height:1.42857143;border-width:1px 0;margin-left:-5px;margin-right:-5px} \ No newline at end of file diff --git a/public/assets/libs/bootstrap-datepicker/css/bootstrap-datepicker3.standalone.min.css b/public/assets/libs/bootstrap-datepicker/css/bootstrap-datepicker3.standalone.min.css new file mode 100644 index 0000000..9dc4e90 --- /dev/null +++ b/public/assets/libs/bootstrap-datepicker/css/bootstrap-datepicker3.standalone.min.css @@ -0,0 +1,7 @@ +/*! + * Datepicker for Bootstrap v1.9.0 (https://github.com/uxsolutions/bootstrap-datepicker) + * + * Licensed under the Apache License v2.0 (http://www.apache.org/licenses/LICENSE-2.0) + */ + +.datepicker{border-radius:4px;direction:ltr}.datepicker-inline{width:220px}.datepicker-rtl{direction:rtl}.datepicker-rtl.dropdown-menu{left:auto}.datepicker-rtl table tr td span{float:right}.datepicker-dropdown{top:0;left:0;padding:4px}.datepicker-dropdown:before{content:'';display:inline-block;border-left:7px solid transparent;border-right:7px solid transparent;border-bottom:7px solid rgba(0,0,0,.15);border-top:0;border-bottom-color:rgba(0,0,0,.2);position:absolute}.datepicker-dropdown:after{content:'';display:inline-block;border-left:6px solid transparent;border-right:6px solid transparent;border-bottom:6px solid #fff;border-top:0;position:absolute}.datepicker-dropdown.datepicker-orient-left:before{left:6px}.datepicker-dropdown.datepicker-orient-left:after{left:7px}.datepicker-dropdown.datepicker-orient-right:before{right:6px}.datepicker-dropdown.datepicker-orient-right:after{right:7px}.datepicker-dropdown.datepicker-orient-bottom:before{top:-7px}.datepicker-dropdown.datepicker-orient-bottom:after{top:-6px}.datepicker-dropdown.datepicker-orient-top:before{bottom:-7px;border-bottom:0;border-top:7px solid rgba(0,0,0,.15)}.datepicker-dropdown.datepicker-orient-top:after{bottom:-6px;border-bottom:0;border-top:6px solid #fff}.datepicker table{margin:0;-webkit-touch-callout:none;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.datepicker table tr td,.datepicker table tr th{text-align:center;width:30px;height:30px;border-radius:4px;border:none}.table-striped .datepicker table tr td,.table-striped .datepicker table tr th{background-color:transparent}.datepicker table tr td.new,.datepicker table tr td.old{color:#777}.datepicker table tr td.day:hover,.datepicker table tr td.focused{background:#eee;cursor:pointer}.datepicker table tr td.disabled,.datepicker table tr td.disabled:hover{background:0 0;color:#777;cursor:default}.datepicker table tr td.highlighted{color:#000;background-color:#d9edf7;border-color:#85c5e5;border-radius:0}.datepicker table tr td.highlighted.focus,.datepicker table tr td.highlighted:focus{color:#000;background-color:#afd9ee;border-color:#298fc2}.datepicker table tr td.highlighted:hover{color:#000;background-color:#afd9ee;border-color:#52addb}.datepicker table tr td.highlighted.active,.datepicker table tr td.highlighted:active{color:#000;background-color:#afd9ee;border-color:#52addb}.datepicker table tr td.highlighted.active.focus,.datepicker table tr td.highlighted.active:focus,.datepicker table tr td.highlighted.active:hover,.datepicker table tr td.highlighted:active.focus,.datepicker table tr td.highlighted:active:focus,.datepicker table tr td.highlighted:active:hover{color:#000;background-color:#91cbe8;border-color:#298fc2}.datepicker table tr td.highlighted.disabled.focus,.datepicker table tr td.highlighted.disabled:focus,.datepicker table tr td.highlighted.disabled:hover,.datepicker table tr td.highlighted[disabled].focus,.datepicker table tr td.highlighted[disabled]:focus,.datepicker table tr td.highlighted[disabled]:hover,fieldset[disabled] .datepicker table tr td.highlighted.focus,fieldset[disabled] .datepicker table tr td.highlighted:focus,fieldset[disabled] .datepicker table tr td.highlighted:hover{background-color:#d9edf7;border-color:#85c5e5}.datepicker table tr td.highlighted.focused{background:#afd9ee}.datepicker table tr td.highlighted.disabled,.datepicker table tr td.highlighted.disabled:active{background:#d9edf7;color:#777}.datepicker table tr td.today{color:#000;background-color:#ffdb99;border-color:#ffb733}.datepicker table tr td.today.focus,.datepicker table tr td.today:focus{color:#000;background-color:#ffc966;border-color:#b37400}.datepicker table tr td.today:hover{color:#000;background-color:#ffc966;border-color:#f59e00}.datepicker table tr td.today.active,.datepicker table tr td.today:active{color:#000;background-color:#ffc966;border-color:#f59e00}.datepicker table tr td.today.active.focus,.datepicker table tr td.today.active:focus,.datepicker table tr td.today.active:hover,.datepicker table tr td.today:active.focus,.datepicker table tr td.today:active:focus,.datepicker table tr td.today:active:hover{color:#000;background-color:#ffbc42;border-color:#b37400}.datepicker table tr td.today.disabled.focus,.datepicker table tr td.today.disabled:focus,.datepicker table tr td.today.disabled:hover,.datepicker table tr td.today[disabled].focus,.datepicker table tr td.today[disabled]:focus,.datepicker table tr td.today[disabled]:hover,fieldset[disabled] .datepicker table tr td.today.focus,fieldset[disabled] .datepicker table tr td.today:focus,fieldset[disabled] .datepicker table tr td.today:hover{background-color:#ffdb99;border-color:#ffb733}.datepicker table tr td.today.focused{background:#ffc966}.datepicker table tr td.today.disabled,.datepicker table tr td.today.disabled:active{background:#ffdb99;color:#777}.datepicker table tr td.range{color:#000;background-color:#eee;border-color:#bbb;border-radius:0}.datepicker table tr td.range.focus,.datepicker table tr td.range:focus{color:#000;background-color:#d5d5d5;border-color:#7c7c7c}.datepicker table tr td.range:hover{color:#000;background-color:#d5d5d5;border-color:#9d9d9d}.datepicker table tr td.range.active,.datepicker table tr td.range:active{color:#000;background-color:#d5d5d5;border-color:#9d9d9d}.datepicker table tr td.range.active.focus,.datepicker table tr td.range.active:focus,.datepicker table tr td.range.active:hover,.datepicker table tr td.range:active.focus,.datepicker table tr td.range:active:focus,.datepicker table tr td.range:active:hover{color:#000;background-color:#c3c3c3;border-color:#7c7c7c}.datepicker table tr td.range.disabled.focus,.datepicker table tr td.range.disabled:focus,.datepicker table tr td.range.disabled:hover,.datepicker table tr td.range[disabled].focus,.datepicker table tr td.range[disabled]:focus,.datepicker table tr td.range[disabled]:hover,fieldset[disabled] .datepicker table tr td.range.focus,fieldset[disabled] .datepicker table tr td.range:focus,fieldset[disabled] .datepicker table tr td.range:hover{background-color:#eee;border-color:#bbb}.datepicker table tr td.range.focused{background:#d5d5d5}.datepicker table tr td.range.disabled,.datepicker table tr td.range.disabled:active{background:#eee;color:#777}.datepicker table tr td.range.highlighted{color:#000;background-color:#e4eef3;border-color:#9dc1d3}.datepicker table tr td.range.highlighted.focus,.datepicker table tr td.range.highlighted:focus{color:#000;background-color:#c1d7e3;border-color:#4b88a6}.datepicker table tr td.range.highlighted:hover{color:#000;background-color:#c1d7e3;border-color:#73a6c0}.datepicker table tr td.range.highlighted.active,.datepicker table tr td.range.highlighted:active{color:#000;background-color:#c1d7e3;border-color:#73a6c0}.datepicker table tr td.range.highlighted.active.focus,.datepicker table tr td.range.highlighted.active:focus,.datepicker table tr td.range.highlighted.active:hover,.datepicker table tr td.range.highlighted:active.focus,.datepicker table tr td.range.highlighted:active:focus,.datepicker table tr td.range.highlighted:active:hover{color:#000;background-color:#a8c8d8;border-color:#4b88a6}.datepicker table tr td.range.highlighted.disabled.focus,.datepicker table tr td.range.highlighted.disabled:focus,.datepicker table tr td.range.highlighted.disabled:hover,.datepicker table tr td.range.highlighted[disabled].focus,.datepicker table tr td.range.highlighted[disabled]:focus,.datepicker table tr td.range.highlighted[disabled]:hover,fieldset[disabled] .datepicker table tr td.range.highlighted.focus,fieldset[disabled] .datepicker table tr td.range.highlighted:focus,fieldset[disabled] .datepicker table tr td.range.highlighted:hover{background-color:#e4eef3;border-color:#9dc1d3}.datepicker table tr td.range.highlighted.focused{background:#c1d7e3}.datepicker table tr td.range.highlighted.disabled,.datepicker table tr td.range.highlighted.disabled:active{background:#e4eef3;color:#777}.datepicker table tr td.range.today{color:#000;background-color:#f7ca77;border-color:#f1a417}.datepicker table tr td.range.today.focus,.datepicker table tr td.range.today:focus{color:#000;background-color:#f4b747;border-color:#815608}.datepicker table tr td.range.today:hover{color:#000;background-color:#f4b747;border-color:#bf800c}.datepicker table tr td.range.today.active,.datepicker table tr td.range.today:active{color:#000;background-color:#f4b747;border-color:#bf800c}.datepicker table tr td.range.today.active.focus,.datepicker table tr td.range.today.active:focus,.datepicker table tr td.range.today.active:hover,.datepicker table tr td.range.today:active.focus,.datepicker table tr td.range.today:active:focus,.datepicker table tr td.range.today:active:hover{color:#000;background-color:#f2aa25;border-color:#815608}.datepicker table tr td.range.today.disabled.focus,.datepicker table tr td.range.today.disabled:focus,.datepicker table tr td.range.today.disabled:hover,.datepicker table tr td.range.today[disabled].focus,.datepicker table tr td.range.today[disabled]:focus,.datepicker table tr td.range.today[disabled]:hover,fieldset[disabled] .datepicker table tr td.range.today.focus,fieldset[disabled] .datepicker table tr td.range.today:focus,fieldset[disabled] .datepicker table tr td.range.today:hover{background-color:#f7ca77;border-color:#f1a417}.datepicker table tr td.range.today.disabled,.datepicker table tr td.range.today.disabled:active{background:#f7ca77;color:#777}.datepicker table tr td.selected,.datepicker table tr td.selected.highlighted{color:#fff;background-color:#777;border-color:#555;text-shadow:0 -1px 0 rgba(0,0,0,.25)}.datepicker table tr td.selected.focus,.datepicker table tr td.selected.highlighted.focus,.datepicker table tr td.selected.highlighted:focus,.datepicker table tr td.selected:focus{color:#fff;background-color:#5e5e5e;border-color:#161616}.datepicker table tr td.selected.highlighted:hover,.datepicker table tr td.selected:hover{color:#fff;background-color:#5e5e5e;border-color:#373737}.datepicker table tr td.selected.active,.datepicker table tr td.selected.highlighted.active,.datepicker table tr td.selected.highlighted:active,.datepicker table tr td.selected:active{color:#fff;background-color:#5e5e5e;border-color:#373737}.datepicker table tr td.selected.active.focus,.datepicker table tr td.selected.active:focus,.datepicker table tr td.selected.active:hover,.datepicker table tr td.selected.highlighted.active.focus,.datepicker table tr td.selected.highlighted.active:focus,.datepicker table tr td.selected.highlighted.active:hover,.datepicker table tr td.selected.highlighted:active.focus,.datepicker table tr td.selected.highlighted:active:focus,.datepicker table tr td.selected.highlighted:active:hover,.datepicker table tr td.selected:active.focus,.datepicker table tr td.selected:active:focus,.datepicker table tr td.selected:active:hover{color:#fff;background-color:#4c4c4c;border-color:#161616}.datepicker table tr td.selected.disabled.focus,.datepicker table tr td.selected.disabled:focus,.datepicker table tr td.selected.disabled:hover,.datepicker table tr td.selected.highlighted.disabled.focus,.datepicker table tr td.selected.highlighted.disabled:focus,.datepicker table tr td.selected.highlighted.disabled:hover,.datepicker table tr td.selected.highlighted[disabled].focus,.datepicker table tr td.selected.highlighted[disabled]:focus,.datepicker table tr td.selected.highlighted[disabled]:hover,.datepicker table tr td.selected[disabled].focus,.datepicker table tr td.selected[disabled]:focus,.datepicker table tr td.selected[disabled]:hover,fieldset[disabled] .datepicker table tr td.selected.focus,fieldset[disabled] .datepicker table tr td.selected.highlighted.focus,fieldset[disabled] .datepicker table tr td.selected.highlighted:focus,fieldset[disabled] .datepicker table tr td.selected.highlighted:hover,fieldset[disabled] .datepicker table tr td.selected:focus,fieldset[disabled] .datepicker table tr td.selected:hover{background-color:#777;border-color:#555}.datepicker table tr td.active,.datepicker table tr td.active.highlighted{color:#fff;background-color:#337ab7;border-color:#2e6da4;text-shadow:0 -1px 0 rgba(0,0,0,.25)}.datepicker table tr td.active.focus,.datepicker table tr td.active.highlighted.focus,.datepicker table tr td.active.highlighted:focus,.datepicker table tr td.active:focus{color:#fff;background-color:#286090;border-color:#122b40}.datepicker table tr td.active.highlighted:hover,.datepicker table tr td.active:hover{color:#fff;background-color:#286090;border-color:#204d74}.datepicker table tr td.active.active,.datepicker table tr td.active.highlighted.active,.datepicker table tr td.active.highlighted:active,.datepicker table tr td.active:active{color:#fff;background-color:#286090;border-color:#204d74}.datepicker table tr td.active.active.focus,.datepicker table tr td.active.active:focus,.datepicker table tr td.active.active:hover,.datepicker table tr td.active.highlighted.active.focus,.datepicker table tr td.active.highlighted.active:focus,.datepicker table tr td.active.highlighted.active:hover,.datepicker table tr td.active.highlighted:active.focus,.datepicker table tr td.active.highlighted:active:focus,.datepicker table tr td.active.highlighted:active:hover,.datepicker table tr td.active:active.focus,.datepicker table tr td.active:active:focus,.datepicker table tr td.active:active:hover{color:#fff;background-color:#204d74;border-color:#122b40}.datepicker table tr td.active.disabled.focus,.datepicker table tr td.active.disabled:focus,.datepicker table tr td.active.disabled:hover,.datepicker table tr td.active.highlighted.disabled.focus,.datepicker table tr td.active.highlighted.disabled:focus,.datepicker table tr td.active.highlighted.disabled:hover,.datepicker table tr td.active.highlighted[disabled].focus,.datepicker table tr td.active.highlighted[disabled]:focus,.datepicker table tr td.active.highlighted[disabled]:hover,.datepicker table tr td.active[disabled].focus,.datepicker table tr td.active[disabled]:focus,.datepicker table tr td.active[disabled]:hover,fieldset[disabled] .datepicker table tr td.active.focus,fieldset[disabled] .datepicker table tr td.active.highlighted.focus,fieldset[disabled] .datepicker table tr td.active.highlighted:focus,fieldset[disabled] .datepicker table tr td.active.highlighted:hover,fieldset[disabled] .datepicker table tr td.active:focus,fieldset[disabled] .datepicker table tr td.active:hover{background-color:#337ab7;border-color:#2e6da4}.datepicker table tr td span{display:block;width:23%;height:54px;line-height:54px;float:left;margin:1%;cursor:pointer;border-radius:4px}.datepicker table tr td span.focused,.datepicker table tr td span:hover{background:#eee}.datepicker table tr td span.disabled,.datepicker table tr td span.disabled:hover{background:0 0;color:#777;cursor:default}.datepicker table tr td span.active,.datepicker table tr td span.active.disabled,.datepicker table tr td span.active.disabled:hover,.datepicker table tr td span.active:hover{color:#fff;background-color:#337ab7;border-color:#2e6da4;text-shadow:0 -1px 0 rgba(0,0,0,.25)}.datepicker table tr td span.active.disabled.focus,.datepicker table tr td span.active.disabled:focus,.datepicker table tr td span.active.disabled:hover.focus,.datepicker table tr td span.active.disabled:hover:focus,.datepicker table tr td span.active.focus,.datepicker table tr td span.active:focus,.datepicker table tr td span.active:hover.focus,.datepicker table tr td span.active:hover:focus{color:#fff;background-color:#286090;border-color:#122b40}.datepicker table tr td span.active.disabled:hover,.datepicker table tr td span.active.disabled:hover:hover,.datepicker table tr td span.active:hover,.datepicker table tr td span.active:hover:hover{color:#fff;background-color:#286090;border-color:#204d74}.datepicker table tr td span.active.active,.datepicker table tr td span.active.disabled.active,.datepicker table tr td span.active.disabled:active,.datepicker table tr td span.active.disabled:hover.active,.datepicker table tr td span.active.disabled:hover:active,.datepicker table tr td span.active:active,.datepicker table tr td span.active:hover.active,.datepicker table tr td span.active:hover:active{color:#fff;background-color:#286090;border-color:#204d74}.datepicker table tr td span.active.active.focus,.datepicker table tr td span.active.active:focus,.datepicker table tr td span.active.active:hover,.datepicker table tr td span.active.disabled.active.focus,.datepicker table tr td span.active.disabled.active:focus,.datepicker table tr td span.active.disabled.active:hover,.datepicker table tr td span.active.disabled:active.focus,.datepicker table tr td span.active.disabled:active:focus,.datepicker table tr td span.active.disabled:active:hover,.datepicker table tr td span.active.disabled:hover.active.focus,.datepicker table tr td span.active.disabled:hover.active:focus,.datepicker table tr td span.active.disabled:hover.active:hover,.datepicker table tr td span.active.disabled:hover:active.focus,.datepicker table tr td span.active.disabled:hover:active:focus,.datepicker table tr td span.active.disabled:hover:active:hover,.datepicker table tr td span.active:active.focus,.datepicker table tr td span.active:active:focus,.datepicker table tr td span.active:active:hover,.datepicker table tr td span.active:hover.active.focus,.datepicker table tr td span.active:hover.active:focus,.datepicker table tr td span.active:hover.active:hover,.datepicker table tr td span.active:hover:active.focus,.datepicker table tr td span.active:hover:active:focus,.datepicker table tr td span.active:hover:active:hover{color:#fff;background-color:#204d74;border-color:#122b40}.datepicker table tr td span.active.disabled.disabled.focus,.datepicker table tr td span.active.disabled.disabled:focus,.datepicker table tr td span.active.disabled.disabled:hover,.datepicker table tr td span.active.disabled.focus,.datepicker table tr td span.active.disabled:focus,.datepicker table tr td span.active.disabled:hover,.datepicker table tr td span.active.disabled:hover.disabled.focus,.datepicker table tr td span.active.disabled:hover.disabled:focus,.datepicker table tr td span.active.disabled:hover.disabled:hover,.datepicker table tr td span.active.disabled:hover[disabled].focus,.datepicker table tr td span.active.disabled:hover[disabled]:focus,.datepicker table tr td span.active.disabled:hover[disabled]:hover,.datepicker table tr td span.active.disabled[disabled].focus,.datepicker table tr td span.active.disabled[disabled]:focus,.datepicker table tr td span.active.disabled[disabled]:hover,.datepicker table tr td span.active:hover.disabled.focus,.datepicker table tr td span.active:hover.disabled:focus,.datepicker table tr td span.active:hover.disabled:hover,.datepicker table tr td span.active:hover[disabled].focus,.datepicker table tr td span.active:hover[disabled]:focus,.datepicker table tr td span.active:hover[disabled]:hover,.datepicker table tr td span.active[disabled].focus,.datepicker table tr td span.active[disabled]:focus,.datepicker table tr td span.active[disabled]:hover,fieldset[disabled] .datepicker table tr td span.active.disabled.focus,fieldset[disabled] .datepicker table tr td span.active.disabled:focus,fieldset[disabled] .datepicker table tr td span.active.disabled:hover,fieldset[disabled] .datepicker table tr td span.active.disabled:hover.focus,fieldset[disabled] .datepicker table tr td span.active.disabled:hover:focus,fieldset[disabled] .datepicker table tr td span.active.disabled:hover:hover,fieldset[disabled] .datepicker table tr td span.active.focus,fieldset[disabled] .datepicker table tr td span.active:focus,fieldset[disabled] .datepicker table tr td span.active:hover,fieldset[disabled] .datepicker table tr td span.active:hover.focus,fieldset[disabled] .datepicker table tr td span.active:hover:focus,fieldset[disabled] .datepicker table tr td span.active:hover:hover{background-color:#337ab7;border-color:#2e6da4}.datepicker table tr td span.new,.datepicker table tr td span.old{color:#777}.datepicker .datepicker-switch{width:145px}.datepicker .datepicker-switch,.datepicker .next,.datepicker .prev,.datepicker tfoot tr th{cursor:pointer}.datepicker .datepicker-switch:hover,.datepicker .next:hover,.datepicker .prev:hover,.datepicker tfoot tr th:hover{background:#eee}.datepicker .next.disabled,.datepicker .prev.disabled{visibility:hidden}.datepicker .cw{font-size:10px;width:12px;padding:0 2px 0 5px;vertical-align:middle}.input-group.date .input-group-addon{cursor:pointer}.input-daterange{width:100%}.input-daterange input{text-align:center}.input-daterange input:first-child{border-radius:3px 0 0 3px}.input-daterange input:last-child{border-radius:0 3px 3px 0}.input-daterange .input-group-addon{width:auto;min-width:16px;padding:4px 5px;line-height:1.42857143;border-width:1px 0;margin-left:-5px;margin-right:-5px}.datepicker.dropdown-menu{position:absolute;top:100%;left:0;z-index:1000;display:none;float:left;min-width:160px;list-style:none;background-color:#fff;border:1px solid #ccc;border:1px solid rgba(0,0,0,.15);border-radius:4px;-webkit-box-shadow:0 6px 12px rgba(0,0,0,.175);-moz-box-shadow:0 6px 12px rgba(0,0,0,.175);box-shadow:0 6px 12px rgba(0,0,0,.175);-webkit-background-clip:padding-box;-moz-background-clip:padding;background-clip:padding-box;color:#333;font-size:13px;line-height:1.42857143}.datepicker.datepicker-inline td,.datepicker.datepicker-inline th,.datepicker.dropdown-menu td,.datepicker.dropdown-menu th{padding:0 5px} \ No newline at end of file diff --git a/public/assets/libs/bootstrap-datepicker/js/bootstrap-datepicker.min.js b/public/assets/libs/bootstrap-datepicker/js/bootstrap-datepicker.min.js new file mode 100644 index 0000000..8800106 --- /dev/null +++ b/public/assets/libs/bootstrap-datepicker/js/bootstrap-datepicker.min.js @@ -0,0 +1,8 @@ +/*! + * Datepicker for Bootstrap v1.9.0 (https://github.com/uxsolutions/bootstrap-datepicker) + * + * Licensed under the Apache License v2.0 (http://www.apache.org/licenses/LICENSE-2.0) + */ + +!function(a){"function"==typeof define&&define.amd?define(["jquery"],a):a("object"==typeof exports?require("jquery"):jQuery)}(function(a,b){function c(){return new Date(Date.UTC.apply(Date,arguments))}function d(){var a=new Date;return c(a.getFullYear(),a.getMonth(),a.getDate())}function e(a,b){return a.getUTCFullYear()===b.getUTCFullYear()&&a.getUTCMonth()===b.getUTCMonth()&&a.getUTCDate()===b.getUTCDate()}function f(c,d){return function(){return d!==b&&a.fn.datepicker.deprecated(d),this[c].apply(this,arguments)}}function g(a){return a&&!isNaN(a.getTime())}function h(b,c){function d(a,b){return b.toLowerCase()}var e,f=a(b).data(),g={},h=new RegExp("^"+c.toLowerCase()+"([A-Z])");c=new RegExp("^"+c.toLowerCase());for(var i in f)c.test(i)&&(e=i.replace(h,d),g[e]=f[i]);return g}function i(b){var c={};if(q[b]||(b=b.split("-")[0],q[b])){var d=q[b];return a.each(p,function(a,b){b in d&&(c[b]=d[b])}),c}}var j=function(){var b={get:function(a){return this.slice(a)[0]},contains:function(a){for(var b=a&&a.valueOf(),c=0,d=this.length;c]/g)||[]).length<=0)return!0;return a(c).length>0}catch(a){return!1}},_process_options:function(b){this._o=a.extend({},this._o,b);var e=this.o=a.extend({},this._o),f=e.language;q[f]||(f=f.split("-")[0],q[f]||(f=o.language)),e.language=f,e.startView=this._resolveViewName(e.startView),e.minViewMode=this._resolveViewName(e.minViewMode),e.maxViewMode=this._resolveViewName(e.maxViewMode),e.startView=Math.max(this.o.minViewMode,Math.min(this.o.maxViewMode,e.startView)),!0!==e.multidate&&(e.multidate=Number(e.multidate)||!1,!1!==e.multidate&&(e.multidate=Math.max(0,e.multidate))),e.multidateSeparator=String(e.multidateSeparator),e.weekStart%=7,e.weekEnd=(e.weekStart+6)%7;var g=r.parseFormat(e.format);e.startDate!==-1/0&&(e.startDate?e.startDate instanceof Date?e.startDate=this._local_to_utc(this._zero_time(e.startDate)):e.startDate=r.parseDate(e.startDate,g,e.language,e.assumeNearbyYear):e.startDate=-1/0),e.endDate!==1/0&&(e.endDate?e.endDate instanceof Date?e.endDate=this._local_to_utc(this._zero_time(e.endDate)):e.endDate=r.parseDate(e.endDate,g,e.language,e.assumeNearbyYear):e.endDate=1/0),e.daysOfWeekDisabled=this._resolveDaysOfWeek(e.daysOfWeekDisabled||[]),e.daysOfWeekHighlighted=this._resolveDaysOfWeek(e.daysOfWeekHighlighted||[]),e.datesDisabled=e.datesDisabled||[],a.isArray(e.datesDisabled)||(e.datesDisabled=e.datesDisabled.split(",")),e.datesDisabled=a.map(e.datesDisabled,function(a){return r.parseDate(a,g,e.language,e.assumeNearbyYear)});var h=String(e.orientation).toLowerCase().split(/\s+/g),i=e.orientation.toLowerCase();if(h=a.grep(h,function(a){return/^auto|left|right|top|bottom$/.test(a)}),e.orientation={x:"auto",y:"auto"},i&&"auto"!==i)if(1===h.length)switch(h[0]){case"top":case"bottom":e.orientation.y=h[0];break;case"left":case"right":e.orientation.x=h[0]}else i=a.grep(h,function(a){return/^left|right$/.test(a)}),e.orientation.x=i[0]||"auto",i=a.grep(h,function(a){return/^top|bottom$/.test(a)}),e.orientation.y=i[0]||"auto";else;if(e.defaultViewDate instanceof Date||"string"==typeof e.defaultViewDate)e.defaultViewDate=r.parseDate(e.defaultViewDate,g,e.language,e.assumeNearbyYear);else if(e.defaultViewDate){var j=e.defaultViewDate.year||(new Date).getFullYear(),k=e.defaultViewDate.month||0,l=e.defaultViewDate.day||1;e.defaultViewDate=c(j,k,l)}else e.defaultViewDate=d()},_applyEvents:function(a){for(var c,d,e,f=0;fe?(this.picker.addClass("datepicker-orient-right"),m+=l-b):this.o.rtl?this.picker.addClass("datepicker-orient-right"):this.picker.addClass("datepicker-orient-left");var o,p=this.o.orientation.y;if("auto"===p&&(o=-f+n-c,p=o<0?"bottom":"top"),this.picker.addClass("datepicker-orient-"+p),"top"===p?n-=c+parseInt(this.picker.css("padding-top")):n+=k,this.o.rtl){var q=e-(m+l);this.picker.css({top:n,right:q,zIndex:i})}else this.picker.css({top:n,left:m,zIndex:i});return this},_allow_update:!0,update:function(){if(!this._allow_update)return this;var b=this.dates.copy(),c=[],d=!1;return arguments.length?(a.each(arguments,a.proxy(function(a,b){b instanceof Date&&(b=this._local_to_utc(b)),c.push(b)},this)),d=!0):(c=this.isInput?this.element.val():this.element.data("date")||this.inputField.val(),c=c&&this.o.multidate?c.split(this.o.multidateSeparator):[c],delete this.element.data().date),c=a.map(c,a.proxy(function(a){return r.parseDate(a,this.o.format,this.o.language,this.o.assumeNearbyYear)},this)),c=a.grep(c,a.proxy(function(a){return!this.dateWithinRange(a)||!a},this),!0),this.dates.replace(c),this.o.updateViewDate&&(this.dates.length?this.viewDate=new Date(this.dates.get(-1)):this.viewDatethis.o.endDate?this.viewDate=new Date(this.o.endDate):this.viewDate=this.o.defaultViewDate),d?(this.setValue(),this.element.change()):this.dates.length&&String(b)!==String(this.dates)&&d&&(this._trigger("changeDate"),this.element.change()),!this.dates.length&&b.length&&(this._trigger("clearDate"),this.element.change()),this.fill(),this},fillDow:function(){if(this.o.showWeekDays){var b=this.o.weekStart,c="";for(this.o.calendarWeeks&&(c+=' ');b";c+="",this.picker.find(".datepicker-days thead").append(c)}},fillMonths:function(){for(var a,b=this._utc_to_local(this.viewDate),c="",d=0;d<12;d++)a=b&&b.getMonth()===d?" focused":"",c+=''+q[this.o.language].monthsShort[d]+"";this.picker.find(".datepicker-months td").html(c)},setRange:function(b){b&&b.length?this.range=a.map(b,function(a){return a.valueOf()}):delete this.range,this.fill()},getClassNames:function(b){var c=[],f=this.viewDate.getUTCFullYear(),g=this.viewDate.getUTCMonth(),h=d();return b.getUTCFullYear()f||b.getUTCFullYear()===f&&b.getUTCMonth()>g)&&c.push("new"),this.focusDate&&b.valueOf()===this.focusDate.valueOf()&&c.push("focused"),this.o.todayHighlight&&e(b,h)&&c.push("today"),-1!==this.dates.contains(b)&&c.push("active"),this.dateWithinRange(b)||c.push("disabled"),this.dateIsDisabled(b)&&c.push("disabled","disabled-date"),-1!==a.inArray(b.getUTCDay(),this.o.daysOfWeekHighlighted)&&c.push("highlighted"),this.range&&(b>this.range[0]&&bh)&&j.push("disabled"),t===r&&j.push("focused"),i!==a.noop&&(l=i(new Date(t,0,1)),l===b?l={}:"boolean"==typeof l?l={enabled:l}:"string"==typeof l&&(l={classes:l}),!1===l.enabled&&j.push("disabled"),l.classes&&(j=j.concat(l.classes.split(/\s+/))),l.tooltip&&(k=l.tooltip)),m+='"+t+"";o.find(".datepicker-switch").text(p+"-"+q),o.find("td").html(m)},fill:function(){var e,f,g=new Date(this.viewDate),h=g.getUTCFullYear(),i=g.getUTCMonth(),j=this.o.startDate!==-1/0?this.o.startDate.getUTCFullYear():-1/0,k=this.o.startDate!==-1/0?this.o.startDate.getUTCMonth():-1/0,l=this.o.endDate!==1/0?this.o.endDate.getUTCFullYear():1/0,m=this.o.endDate!==1/0?this.o.endDate.getUTCMonth():1/0,n=q[this.o.language].today||q.en.today||"",o=q[this.o.language].clear||q.en.clear||"",p=q[this.o.language].titleFormat||q.en.titleFormat,s=d(),t=(!0===this.o.todayBtn||"linked"===this.o.todayBtn)&&s>=this.o.startDate&&s<=this.o.endDate&&!this.weekOfDateIsDisabled(s);if(!isNaN(h)&&!isNaN(i)){this.picker.find(".datepicker-days .datepicker-switch").text(r.formatDate(g,p,this.o.language)),this.picker.find("tfoot .today").text(n).css("display",t?"table-cell":"none"),this.picker.find("tfoot .clear").text(o).css("display",!0===this.o.clearBtn?"table-cell":"none"),this.picker.find("thead .datepicker-title").text(this.o.title).css("display","string"==typeof this.o.title&&""!==this.o.title?"table-cell":"none"),this.updateNavArrows(),this.fillMonths();var u=c(h,i,0),v=u.getUTCDate();u.setUTCDate(v-(u.getUTCDay()-this.o.weekStart+7)%7);var w=new Date(u);u.getUTCFullYear()<100&&w.setUTCFullYear(u.getUTCFullYear()),w.setUTCDate(w.getUTCDate()+42),w=w.valueOf();for(var x,y,z=[];u.valueOf()"),this.o.calendarWeeks)){var A=new Date(+u+(this.o.weekStart-x-7)%7*864e5),B=new Date(Number(A)+(11-A.getUTCDay())%7*864e5),C=new Date(Number(C=c(B.getUTCFullYear(),0,1))+(11-C.getUTCDay())%7*864e5),D=(B-C)/864e5/7+1;z.push(''+D+"")}y=this.getClassNames(u),y.push("day");var E=u.getUTCDate();this.o.beforeShowDay!==a.noop&&(f=this.o.beforeShowDay(this._utc_to_local(u)),f===b?f={}:"boolean"==typeof f?f={enabled:f}:"string"==typeof f&&(f={classes:f}),!1===f.enabled&&y.push("disabled"),f.classes&&(y=y.concat(f.classes.split(/\s+/))),f.tooltip&&(e=f.tooltip),f.content&&(E=f.content)),y=a.isFunction(a.uniqueSort)?a.uniqueSort(y):a.unique(y),z.push(''+E+""),e=null,x===this.o.weekEnd&&z.push(""),u.setUTCDate(u.getUTCDate()+1)}this.picker.find(".datepicker-days tbody").html(z.join(""));var F=q[this.o.language].monthsTitle||q.en.monthsTitle||"Months",G=this.picker.find(".datepicker-months").find(".datepicker-switch").text(this.o.maxViewMode<2?F:h).end().find("tbody span").removeClass("active");if(a.each(this.dates,function(a,b){b.getUTCFullYear()===h&&G.eq(b.getUTCMonth()).addClass("active")}),(hl)&&G.addClass("disabled"),h===j&&G.slice(0,k).addClass("disabled"),h===l&&G.slice(m+1).addClass("disabled"),this.o.beforeShowMonth!==a.noop){var H=this;a.each(G,function(c,d){var e=new Date(h,c,1),f=H.o.beforeShowMonth(e);f===b?f={}:"boolean"==typeof f?f={enabled:f}:"string"==typeof f&&(f={classes:f}),!1!==f.enabled||a(d).hasClass("disabled")||a(d).addClass("disabled"),f.classes&&a(d).addClass(f.classes),f.tooltip&&a(d).prop("title",f.tooltip)})}this._fill_yearsView(".datepicker-years","year",10,h,j,l,this.o.beforeShowYear),this._fill_yearsView(".datepicker-decades","decade",100,h,j,l,this.o.beforeShowDecade),this._fill_yearsView(".datepicker-centuries","century",1e3,h,j,l,this.o.beforeShowCentury)}},updateNavArrows:function(){if(this._allow_update){var a,b,c=new Date(this.viewDate),d=c.getUTCFullYear(),e=c.getUTCMonth(),f=this.o.startDate!==-1/0?this.o.startDate.getUTCFullYear():-1/0,g=this.o.startDate!==-1/0?this.o.startDate.getUTCMonth():-1/0,h=this.o.endDate!==1/0?this.o.endDate.getUTCFullYear():1/0,i=this.o.endDate!==1/0?this.o.endDate.getUTCMonth():1/0,j=1;switch(this.viewMode){case 4:j*=10;case 3:j*=10;case 2:j*=10;case 1:a=Math.floor(d/j)*j<=f,b=Math.floor(d/j)*j+j>h;break;case 0:a=d<=f&&e<=g,b=d>=h&&e>=i}this.picker.find(".prev").toggleClass("disabled",a),this.picker.find(".next").toggleClass("disabled",b)}},click:function(b){b.preventDefault(),b.stopPropagation();var e,f,g,h;e=a(b.target),e.hasClass("datepicker-switch")&&this.viewMode!==this.o.maxViewMode&&this.setViewMode(this.viewMode+1),e.hasClass("today")&&!e.hasClass("day")&&(this.setViewMode(0),this._setDate(d(),"linked"===this.o.todayBtn?null:"view")),e.hasClass("clear")&&this.clearDates(),e.hasClass("disabled")||(e.hasClass("month")||e.hasClass("year")||e.hasClass("decade")||e.hasClass("century"))&&(this.viewDate.setUTCDate(1),f=1,1===this.viewMode?(h=e.parent().find("span").index(e),g=this.viewDate.getUTCFullYear(),this.viewDate.setUTCMonth(h)):(h=0,g=Number(e.text()),this.viewDate.setUTCFullYear(g)),this._trigger(r.viewModes[this.viewMode-1].e,this.viewDate),this.viewMode===this.o.minViewMode?this._setDate(c(g,h,f)):(this.setViewMode(this.viewMode-1),this.fill())),this.picker.is(":visible")&&this._focused_from&&this._focused_from.focus(),delete this._focused_from},dayCellClick:function(b){var c=a(b.currentTarget),d=c.data("date"),e=new Date(d);this.o.updateViewDate&&(e.getUTCFullYear()!==this.viewDate.getUTCFullYear()&&this._trigger("changeYear",this.viewDate),e.getUTCMonth()!==this.viewDate.getUTCMonth()&&this._trigger("changeMonth",this.viewDate)),this._setDate(e)},navArrowsClick:function(b){var c=a(b.currentTarget),d=c.hasClass("prev")?-1:1;0!==this.viewMode&&(d*=12*r.viewModes[this.viewMode].navStep),this.viewDate=this.moveMonth(this.viewDate,d),this._trigger(r.viewModes[this.viewMode].e,this.viewDate),this.fill()},_toggle_multidate:function(a){var b=this.dates.contains(a);if(a||this.dates.clear(),-1!==b?(!0===this.o.multidate||this.o.multidate>1||this.o.toggleActive)&&this.dates.remove(b):!1===this.o.multidate?(this.dates.clear(),this.dates.push(a)):this.dates.push(a),"number"==typeof this.o.multidate)for(;this.dates.length>this.o.multidate;)this.dates.remove(0)},_setDate:function(a,b){b&&"date"!==b||this._toggle_multidate(a&&new Date(a)),(!b&&this.o.updateViewDate||"view"===b)&&(this.viewDate=a&&new Date(a)),this.fill(),this.setValue(),b&&"view"===b||this._trigger("changeDate"),this.inputField.trigger("change"),!this.o.autoclose||b&&"date"!==b||this.hide()},moveDay:function(a,b){var c=new Date(a);return c.setUTCDate(a.getUTCDate()+b),c},moveWeek:function(a,b){return this.moveDay(a,7*b)},moveMonth:function(a,b){if(!g(a))return this.o.defaultViewDate;if(!b)return a;var c,d,e=new Date(a.valueOf()),f=e.getUTCDate(),h=e.getUTCMonth(),i=Math.abs(b);if(b=b>0?1:-1,1===i)d=-1===b?function(){return e.getUTCMonth()===h}:function(){return e.getUTCMonth()!==c},c=h+b,e.setUTCMonth(c),c=(c+12)%12;else{for(var j=0;j0},dateWithinRange:function(a){return a>=this.o.startDate&&a<=this.o.endDate},keydown:function(a){if(!this.picker.is(":visible"))return void(40!==a.keyCode&&27!==a.keyCode||(this.show(),a.stopPropagation()));var b,c,d=!1,e=this.focusDate||this.viewDate;switch(a.keyCode){case 27:this.focusDate?(this.focusDate=null,this.viewDate=this.dates.get(-1)||this.viewDate,this.fill()):this.hide(),a.preventDefault(),a.stopPropagation();break;case 37:case 38:case 39:case 40:if(!this.o.keyboardNavigation||7===this.o.daysOfWeekDisabled.length)break;b=37===a.keyCode||38===a.keyCode?-1:1,0===this.viewMode?a.ctrlKey?(c=this.moveAvailableDate(e,b,"moveYear"))&&this._trigger("changeYear",this.viewDate):a.shiftKey?(c=this.moveAvailableDate(e,b,"moveMonth"))&&this._trigger("changeMonth",this.viewDate):37===a.keyCode||39===a.keyCode?c=this.moveAvailableDate(e,b,"moveDay"):this.weekOfDateIsDisabled(e)||(c=this.moveAvailableDate(e,b,"moveWeek")):1===this.viewMode?(38!==a.keyCode&&40!==a.keyCode||(b*=4),c=this.moveAvailableDate(e,b,"moveMonth")):2===this.viewMode&&(38!==a.keyCode&&40!==a.keyCode||(b*=4),c=this.moveAvailableDate(e,b,"moveYear")),c&&(this.focusDate=this.viewDate=c,this.setValue(),this.fill(),a.preventDefault());break;case 13:if(!this.o.forceParse)break;e=this.focusDate||this.dates.get(-1)||this.viewDate,this.o.keyboardNavigation&&(this._toggle_multidate(e),d=!0),this.focusDate=null,this.viewDate=this.dates.get(-1)||this.viewDate,this.setValue(),this.fill(),this.picker.is(":visible")&&(a.preventDefault(),a.stopPropagation(),this.o.autoclose&&this.hide());break;case 9:this.focusDate=null,this.viewDate=this.dates.get(-1)||this.viewDate,this.fill(),this.hide()}d&&(this.dates.length?this._trigger("changeDate"):this._trigger("clearDate"),this.inputField.trigger("change"))},setViewMode:function(a){this.viewMode=a,this.picker.children("div").hide().filter(".datepicker-"+r.viewModes[this.viewMode].clsName).show(),this.updateNavArrows(),this._trigger("changeViewMode",new Date(this.viewDate))}};var l=function(b,c){a.data(b,"datepicker",this),this.element=a(b),this.inputs=a.map(c.inputs,function(a){return a.jquery?a[0]:a}),delete c.inputs,this.keepEmptyValues=c.keepEmptyValues,delete c.keepEmptyValues,n.call(a(this.inputs),c).on("changeDate",a.proxy(this.dateUpdated,this)),this.pickers=a.map(this.inputs,function(b){return a.data(b,"datepicker")}),this.updateDates()};l.prototype={updateDates:function(){this.dates=a.map(this.pickers,function(a){return a.getUTCDate()}),this.updateRanges()},updateRanges:function(){var b=a.map(this.dates,function(a){return a.valueOf()});a.each(this.pickers,function(a,c){c.setRange(b)})},clearDates:function(){a.each(this.pickers,function(a,b){b.clearDates()})},dateUpdated:function(c){if(!this.updating){this.updating=!0;var d=a.data(c.target,"datepicker");if(d!==b){var e=d.getUTCDate(),f=this.keepEmptyValues,g=a.inArray(c.target,this.inputs),h=g-1,i=g+1,j=this.inputs.length;if(-1!==g){if(a.each(this.pickers,function(a,b){b.getUTCDate()||b!==d&&f||b.setUTCDate(e)}),e=0&&ethis.dates[i])for(;ithis.dates[i];)this.pickers[i++].setUTCDate(e);this.updateDates(),delete this.updating}}}},destroy:function(){a.map(this.pickers,function(a){a.destroy()}),a(this.inputs).off("changeDate",this.dateUpdated),delete this.element.data().datepicker},remove:f("destroy","Method `remove` is deprecated and will be removed in version 2.0. Use `destroy` instead")};var m=a.fn.datepicker,n=function(c){var d=Array.apply(null,arguments);d.shift();var e;if(this.each(function(){var b=a(this),f=b.data("datepicker"),g="object"==typeof c&&c;if(!f){var j=h(this,"date"),m=a.extend({},o,j,g),n=i(m.language),p=a.extend({},o,n,j,g);b.hasClass("input-daterange")||p.inputs?(a.extend(p,{inputs:p.inputs||b.find("input").toArray()}),f=new l(this,p)):f=new k(this,p),b.data("datepicker",f)}"string"==typeof c&&"function"==typeof f[c]&&(e=f[c].apply(f,d))}),e===b||e instanceof k||e instanceof l)return this;if(this.length>1)throw new Error("Using only allowed for the collection of a single element ("+c+" function)");return e};a.fn.datepicker=n;var o=a.fn.datepicker.defaults={assumeNearbyYear:!1,autoclose:!1,beforeShowDay:a.noop,beforeShowMonth:a.noop,beforeShowYear:a.noop,beforeShowDecade:a.noop,beforeShowCentury:a.noop,calendarWeeks:!1,clearBtn:!1,toggleActive:!1,daysOfWeekDisabled:[],daysOfWeekHighlighted:[],datesDisabled:[],endDate:1/0,forceParse:!0,format:"mm/dd/yyyy",keepEmptyValues:!1,keyboardNavigation:!0,language:"en",minViewMode:0,maxViewMode:4,multidate:!1,multidateSeparator:",",orientation:"auto",rtl:!1,startDate:-1/0,startView:0,todayBtn:!1,todayHighlight:!1,updateViewDate:!0,weekStart:0,disableTouchKeyboard:!1,enableOnReadonly:!0,showOnFocus:!0,zIndexOffset:10,container:"body",immediateUpdates:!1,title:"",templates:{leftArrow:"«",rightArrow:"»"},showWeekDays:!0},p=a.fn.datepicker.locale_opts=["format","rtl","weekStart"];a.fn.datepicker.Constructor=k;var q=a.fn.datepicker.dates={en:{days:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],daysShort:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],daysMin:["Su","Mo","Tu","We","Th","Fr","Sa"],months:["January","February","March","April","May","June","July","August","September","October","November","December"],monthsShort:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],today:"Today",clear:"Clear",titleFormat:"MM yyyy"}},r={viewModes:[{names:["days","month"],clsName:"days",e:"changeMonth"},{names:["months","year"],clsName:"months",e:"changeYear",navStep:1},{names:["years","decade"],clsName:"years",e:"changeDecade",navStep:10},{names:["decades","century"],clsName:"decades",e:"changeCentury",navStep:100},{names:["centuries","millennium"],clsName:"centuries",e:"changeMillennium",navStep:1e3}],validParts:/dd?|DD?|mm?|MM?|yy(?:yy)?/g,nonpunctuation:/[^ -\/:-@\u5e74\u6708\u65e5\[-`{-~\t\n\r]+/g,parseFormat:function(a){if("function"==typeof a.toValue&&"function"==typeof a.toDisplay)return a;var b=a.replace(this.validParts,"\0").split("\0"),c=a.match(this.validParts);if(!b||!b.length||!c||0===c.length)throw new Error("Invalid date format.");return{separators:b,parts:c}},parseDate:function(c,e,f,g){function h(a,b){return!0===b&&(b=10),a<100&&(a+=2e3)>(new Date).getFullYear()+b&&(a-=100),a}function i(){var a=this.slice(0,j[n].length),b=j[n].slice(0,a.length);return a.toLowerCase()===b.toLowerCase()}if(!c)return b;if(c instanceof Date)return c;if("string"==typeof e&&(e=r.parseFormat(e)),e.toValue)return e.toValue(c,e,f);var j,l,m,n,o,p={d:"moveDay",m:"moveMonth",w:"moveWeek",y:"moveYear"},s={yesterday:"-1d",today:"+0d",tomorrow:"+1d"};if(c in s&&(c=s[c]),/^[\-+]\d+[dmwy]([\s,]+[\-+]\d+[dmwy])*$/i.test(c)){for(j=c.match(/([\-+]\d+)([dmwy])/gi),c=new Date,n=0;n'+o.templates.leftArrow+''+o.templates.rightArrow+"",contTemplate:'',footTemplate:''};r.template='
'+r.headTemplate+""+r.footTemplate+'
'+r.headTemplate+r.contTemplate+r.footTemplate+'
'+r.headTemplate+r.contTemplate+r.footTemplate+'
'+r.headTemplate+r.contTemplate+r.footTemplate+'
'+r.headTemplate+r.contTemplate+r.footTemplate+"
",a.fn.datepicker.DPGlobal=r,a.fn.datepicker.noConflict=function(){return a.fn.datepicker=m,this},a.fn.datepicker.version="1.9.0",a.fn.datepicker.deprecated=function(a){var b=window.console;b&&b.warn&&b.warn("DEPRECATED: "+a)},a(document).on("focus.datepicker.data-api click.datepicker.data-api",'[data-provide="datepicker"]',function(b){var c=a(this);c.data("datepicker")||(b.preventDefault(),n.call(c,"show"))}),a(function(){n.call(a('[data-provide="datepicker-inline"]'))})}); \ No newline at end of file diff --git a/public/assets/libs/bootstrap-datepicker/locales/bootstrap-datepicker-en-CA.min.js b/public/assets/libs/bootstrap-datepicker/locales/bootstrap-datepicker-en-CA.min.js new file mode 100644 index 0000000..0aab38f --- /dev/null +++ b/public/assets/libs/bootstrap-datepicker/locales/bootstrap-datepicker-en-CA.min.js @@ -0,0 +1 @@ +!function(a){a.fn.datepicker.dates["en-CA"]={days:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],daysShort:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],daysMin:["Su","Mo","Tu","We","Th","Fr","Sa"],months:["January","February","March","April","May","June","July","August","September","October","November","December"],monthsShort:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],today:"Today",monthsTitle:"Months",clear:"Clear",weekStart:0,format:"yyyy-mm-dd"},a.fn.datepicker.deprecated("This filename doesn't follow the convention, use bootstrap-datepicker.en-CA.js instead.")}(jQuery); \ No newline at end of file diff --git a/public/assets/libs/bootstrap-datepicker/locales/bootstrap-datepicker.ar-tn.min.js b/public/assets/libs/bootstrap-datepicker/locales/bootstrap-datepicker.ar-tn.min.js new file mode 100644 index 0000000..9d70dc2 --- /dev/null +++ b/public/assets/libs/bootstrap-datepicker/locales/bootstrap-datepicker.ar-tn.min.js @@ -0,0 +1 @@ +!function(a){a.fn.datepicker.dates["ar-tn"]={days:["الأحد","الاثنين","الثلاثاء","الأربعاء","الخميس","الجمعة","السبت","الأحد"],daysShort:["أحد","اثنين","ثلاثاء","أربعاء","خميس","جمعة","سبت","أحد"],daysMin:["ح","ن","ث","ع","خ","ج","س","ح"],months:["جانفي","فيفري","مارس","أفريل","ماي","جوان","جويليه","أوت","سبتمبر","أكتوبر","نوفمبر","ديسمبر"],monthsShort:["جانفي","فيفري","مارس","أفريل","ماي","جوان","جويليه","أوت","سبتمبر","أكتوبر","نوفمبر","ديسمبر"],today:"هذا اليوم",rtl:!0}}(jQuery); \ No newline at end of file diff --git a/public/assets/libs/bootstrap-datepicker/locales/bootstrap-datepicker.ar.min.js b/public/assets/libs/bootstrap-datepicker/locales/bootstrap-datepicker.ar.min.js new file mode 100644 index 0000000..ece41af --- /dev/null +++ b/public/assets/libs/bootstrap-datepicker/locales/bootstrap-datepicker.ar.min.js @@ -0,0 +1 @@ +!function(a){a.fn.datepicker.dates.ar={days:["الأحد","الاثنين","الثلاثاء","الأربعاء","الخميس","الجمعة","السبت","الأحد"],daysShort:["أحد","اثنين","ثلاثاء","أربعاء","خميس","جمعة","سبت","أحد"],daysMin:["ح","ن","ث","ع","خ","ج","س","ح"],months:["يناير","فبراير","مارس","أبريل","مايو","يونيو","يوليو","أغسطس","سبتمبر","أكتوبر","نوفمبر","ديسمبر"],monthsShort:["يناير","فبراير","مارس","أبريل","مايو","يونيو","يوليو","أغسطس","سبتمبر","أكتوبر","نوفمبر","ديسمبر"],today:"هذا اليوم",rtl:!0}}(jQuery); \ No newline at end of file diff --git a/public/assets/libs/bootstrap-datepicker/locales/bootstrap-datepicker.az.min.js b/public/assets/libs/bootstrap-datepicker/locales/bootstrap-datepicker.az.min.js new file mode 100644 index 0000000..aa1edbf --- /dev/null +++ b/public/assets/libs/bootstrap-datepicker/locales/bootstrap-datepicker.az.min.js @@ -0,0 +1 @@ +!function(a){a.fn.datepicker.dates.az={days:["Bazar","Bazar ertəsi","Çərşənbə axşamı","Çərşənbə","Cümə axşamı","Cümə","Şənbə"],daysShort:["B.","B.e","Ç.a","Ç.","C.a","C.","Ş."],daysMin:["B.","B.e","Ç.a","Ç.","C.a","C.","Ş."],months:["Yanvar","Fevral","Mart","Aprel","May","İyun","İyul","Avqust","Sentyabr","Oktyabr","Noyabr","Dekabr"],monthsShort:["Yan","Fev","Mar","Apr","May","İyun","İyul","Avq","Sen","Okt","Noy","Dek"],today:"Bu gün",weekStart:1,clear:"Təmizlə",monthsTitle:"Aylar"}}(jQuery); \ No newline at end of file diff --git a/public/assets/libs/bootstrap-datepicker/locales/bootstrap-datepicker.bg.min.js b/public/assets/libs/bootstrap-datepicker/locales/bootstrap-datepicker.bg.min.js new file mode 100644 index 0000000..28e8b22 --- /dev/null +++ b/public/assets/libs/bootstrap-datepicker/locales/bootstrap-datepicker.bg.min.js @@ -0,0 +1 @@ +!function(a){a.fn.datepicker.dates.bg={days:["Неделя","Понеделник","Вторник","Сряда","Четвъртък","Петък","Събота"],daysShort:["Нед","Пон","Вто","Сря","Чет","Пет","Съб"],daysMin:["Н","П","В","С","Ч","П","С"],months:["Януари","Февруари","Март","Април","Май","Юни","Юли","Август","Септември","Октомври","Ноември","Декември"],monthsShort:["Ян","Фев","Мар","Апр","Май","Юни","Юли","Авг","Сеп","Окт","Ное","Дек"],today:"днес"}}(jQuery); \ No newline at end of file diff --git a/public/assets/libs/bootstrap-datepicker/locales/bootstrap-datepicker.bm.min.js b/public/assets/libs/bootstrap-datepicker/locales/bootstrap-datepicker.bm.min.js new file mode 100644 index 0000000..e0796a3 --- /dev/null +++ b/public/assets/libs/bootstrap-datepicker/locales/bootstrap-datepicker.bm.min.js @@ -0,0 +1 @@ +!function(a){a.fn.datepicker.dates.bm={days:["Kari","Ntɛnɛn","Tarata","Araba","Alamisa","Juma","Sibiri"],daysShort:["Kar","Ntɛ","Tar","Ara","Ala","Jum","Sib"],daysMin:["Ka","Nt","Ta","Ar","Al","Ju","Si"],months:["Zanwuyekalo","Fewuruyekalo","Marisikalo","Awirilikalo","Mɛkalo","Zuwɛnkalo","Zuluyekalo","Utikalo","Sɛtanburukalo","ɔkutɔburukalo","Nowanburukalo","Desanburukalo"],monthsShort:["Zan","Few","Mar","Awi","Mɛ","Zuw","Zul","Uti","Sɛt","ɔku","Now","Des"],today:"Bi",monthsTitle:"Kalo",clear:"Ka jɔsi",weekStart:1,format:"dd/mm/yyyy"}}(jQuery); \ No newline at end of file diff --git a/public/assets/libs/bootstrap-datepicker/locales/bootstrap-datepicker.bn.min.js b/public/assets/libs/bootstrap-datepicker/locales/bootstrap-datepicker.bn.min.js new file mode 100644 index 0000000..f67b5e2 --- /dev/null +++ b/public/assets/libs/bootstrap-datepicker/locales/bootstrap-datepicker.bn.min.js @@ -0,0 +1 @@ +!function(a){a.fn.datepicker.dates.bn={days:["রবিবার","সোমবার","মঙ্গলবার","বুধবার","বৃহস্পতিবার","শুক্রবার","শনিবার"],daysShort:["রবিবার","সোমবার","মঙ্গলবার","বুধবার","বৃহস্পতিবার","শুক্রবার","শনিবার"],daysMin:["রবি","সোম","মঙ্গল","বুধ","বৃহস্পতি","শুক্র","শনি"],months:["জানুয়ারী","ফেব্রুয়ারি","মার্চ","এপ্রিল","মে","জুন","জুলাই","অগাস্ট","সেপ্টেম্বর","অক্টোবর","নভেম্বর","ডিসেম্বর"],monthsShort:["জানুয়ারী","ফেব্রুয়ারি","মার্চ","এপ্রিল","মে","জুন","জুলাই","অগাস্ট","সেপ্টেম্বর","অক্টোবর","নভেম্বর","ডিসেম্বর"],today:"আজ",monthsTitle:"মাস",clear:"পরিষ্কার",weekStart:0,format:"mm/dd/yyyy"}}(jQuery); \ No newline at end of file diff --git a/public/assets/libs/bootstrap-datepicker/locales/bootstrap-datepicker.br.min.js b/public/assets/libs/bootstrap-datepicker/locales/bootstrap-datepicker.br.min.js new file mode 100644 index 0000000..af3e3bd --- /dev/null +++ b/public/assets/libs/bootstrap-datepicker/locales/bootstrap-datepicker.br.min.js @@ -0,0 +1 @@ +!function(a){a.fn.datepicker.dates.br={days:["Sul","Lun","Meurzh","Merc'her","Yaou","Gwener","Sadorn"],daysShort:["Sul","Lun","Meu.","Mer.","Yao.","Gwe.","Sad."],daysMin:["Su","L","Meu","Mer","Y","G","Sa"],months:["Genver","C'hwevrer","Meurzh","Ebrel","Mae","Mezheven","Gouere","Eost","Gwengolo","Here","Du","Kerzu"],monthsShort:["Genv.","C'hw.","Meur.","Ebre.","Mae","Mezh.","Goue.","Eost","Gwen.","Here","Du","Kerz."],today:"Hiziv",monthsTitle:"Miz",clear:"Dilemel",weekStart:1,format:"dd/mm/yyyy"}}(jQuery); \ No newline at end of file diff --git a/public/assets/libs/bootstrap-datepicker/locales/bootstrap-datepicker.bs.min.js b/public/assets/libs/bootstrap-datepicker/locales/bootstrap-datepicker.bs.min.js new file mode 100644 index 0000000..cfb06fd --- /dev/null +++ b/public/assets/libs/bootstrap-datepicker/locales/bootstrap-datepicker.bs.min.js @@ -0,0 +1 @@ +!function(a){a.fn.datepicker.dates.bs={days:["Nedjelja","Ponedjeljak","Utorak","Srijeda","Četvrtak","Petak","Subota"],daysShort:["Ned","Pon","Uto","Sri","Čet","Pet","Sub"],daysMin:["N","Po","U","Sr","Č","Pe","Su"],months:["Januar","Februar","Mart","April","Maj","Juni","Juli","August","Septembar","Oktobar","Novembar","Decembar"],monthsShort:["Jan","Feb","Mar","Apr","Maj","Jun","Jul","Aug","Sep","Okt","Nov","Dec"],today:"Danas",weekStart:1,format:"dd.mm.yyyy"}}(jQuery); \ No newline at end of file diff --git a/public/assets/libs/bootstrap-datepicker/locales/bootstrap-datepicker.ca.min.js b/public/assets/libs/bootstrap-datepicker/locales/bootstrap-datepicker.ca.min.js new file mode 100644 index 0000000..ac10789 --- /dev/null +++ b/public/assets/libs/bootstrap-datepicker/locales/bootstrap-datepicker.ca.min.js @@ -0,0 +1 @@ +!function(a){a.fn.datepicker.dates.ca={days:["Diumenge","Dilluns","Dimarts","Dimecres","Dijous","Divendres","Dissabte"],daysShort:["Diu","Dil","Dmt","Dmc","Dij","Div","Dis"],daysMin:["dg","dl","dt","dc","dj","dv","ds"],months:["Gener","Febrer","Març","Abril","Maig","Juny","Juliol","Agost","Setembre","Octubre","Novembre","Desembre"],monthsShort:["Gen","Feb","Mar","Abr","Mai","Jun","Jul","Ago","Set","Oct","Nov","Des"],today:"Avui",monthsTitle:"Mesos",clear:"Esborrar",weekStart:1,format:"dd/mm/yyyy"}}(jQuery); \ No newline at end of file diff --git a/public/assets/libs/bootstrap-datepicker/locales/bootstrap-datepicker.cs.min.js b/public/assets/libs/bootstrap-datepicker/locales/bootstrap-datepicker.cs.min.js new file mode 100644 index 0000000..42dfd1a --- /dev/null +++ b/public/assets/libs/bootstrap-datepicker/locales/bootstrap-datepicker.cs.min.js @@ -0,0 +1 @@ +!function(a){a.fn.datepicker.dates.cs={days:["Neděle","Pondělí","Úterý","Středa","Čtvrtek","Pátek","Sobota"],daysShort:["Ned","Pon","Úte","Stř","Čtv","Pát","Sob"],daysMin:["Ne","Po","Út","St","Čt","Pá","So"],months:["Leden","Únor","Březen","Duben","Květen","Červen","Červenec","Srpen","Září","Říjen","Listopad","Prosinec"],monthsShort:["Led","Úno","Bře","Dub","Kvě","Čer","Čnc","Srp","Zář","Říj","Lis","Pro"],today:"Dnes",clear:"Vymazat",monthsTitle:"Měsíc",weekStart:1,format:"dd.mm.yyyy"}}(jQuery); \ No newline at end of file diff --git a/public/assets/libs/bootstrap-datepicker/locales/bootstrap-datepicker.cy.min.js b/public/assets/libs/bootstrap-datepicker/locales/bootstrap-datepicker.cy.min.js new file mode 100644 index 0000000..f85ea03 --- /dev/null +++ b/public/assets/libs/bootstrap-datepicker/locales/bootstrap-datepicker.cy.min.js @@ -0,0 +1 @@ +!function(a){a.fn.datepicker.dates.cy={days:["Sul","Llun","Mawrth","Mercher","Iau","Gwener","Sadwrn"],daysShort:["Sul","Llu","Maw","Mer","Iau","Gwe","Sad"],daysMin:["Su","Ll","Ma","Me","Ia","Gwe","Sa"],months:["Ionawr","Chewfror","Mawrth","Ebrill","Mai","Mehefin","Gorfennaf","Awst","Medi","Hydref","Tachwedd","Rhagfyr"],monthsShort:["Ion","Chw","Maw","Ebr","Mai","Meh","Gor","Aws","Med","Hyd","Tach","Rha"],today:"Heddiw"}}(jQuery); \ No newline at end of file diff --git a/public/assets/libs/bootstrap-datepicker/locales/bootstrap-datepicker.da.min.js b/public/assets/libs/bootstrap-datepicker/locales/bootstrap-datepicker.da.min.js new file mode 100644 index 0000000..53c8180 --- /dev/null +++ b/public/assets/libs/bootstrap-datepicker/locales/bootstrap-datepicker.da.min.js @@ -0,0 +1 @@ +!function(a){a.fn.datepicker.dates.da={days:["Søndag","Mandag","Tirsdag","Onsdag","Torsdag","Fredag","Lørdag"],daysShort:["Søn","Man","Tir","Ons","Tor","Fre","Lør"],daysMin:["Sø","Ma","Ti","On","To","Fr","Lø"],months:["Januar","Februar","Marts","April","Maj","Juni","Juli","August","September","Oktober","November","December"],monthsShort:["Jan","Feb","Mar","Apr","Maj","Jun","Jul","Aug","Sep","Okt","Nov","Dec"],today:"I Dag",weekStart:1,clear:"Nulstil",format:"dd/mm/yyyy",monthsTitle:"Måneder"}}(jQuery); \ No newline at end of file diff --git a/public/assets/libs/bootstrap-datepicker/locales/bootstrap-datepicker.de.min.js b/public/assets/libs/bootstrap-datepicker/locales/bootstrap-datepicker.de.min.js new file mode 100644 index 0000000..1b5d6a2 --- /dev/null +++ b/public/assets/libs/bootstrap-datepicker/locales/bootstrap-datepicker.de.min.js @@ -0,0 +1 @@ +!function(a){a.fn.datepicker.dates.de={days:["Sonntag","Montag","Dienstag","Mittwoch","Donnerstag","Freitag","Samstag"],daysShort:["Son","Mon","Die","Mit","Don","Fre","Sam"],daysMin:["So","Mo","Di","Mi","Do","Fr","Sa"],months:["Januar","Februar","März","April","Mai","Juni","Juli","August","September","Oktober","November","Dezember"],monthsShort:["Jan","Feb","Mär","Apr","Mai","Jun","Jul","Aug","Sep","Okt","Nov","Dez"],today:"Heute",monthsTitle:"Monate",clear:"Löschen",weekStart:1,format:"dd.mm.yyyy"}}(jQuery); \ No newline at end of file diff --git a/public/assets/libs/bootstrap-datepicker/locales/bootstrap-datepicker.el.min.js b/public/assets/libs/bootstrap-datepicker/locales/bootstrap-datepicker.el.min.js new file mode 100644 index 0000000..046e9eb --- /dev/null +++ b/public/assets/libs/bootstrap-datepicker/locales/bootstrap-datepicker.el.min.js @@ -0,0 +1 @@ +!function(a){a.fn.datepicker.dates.el={days:["Κυριακή","Δευτέρα","Τρίτη","Τετάρτη","Πέμπτη","Παρασκευή","Σάββατο"],daysShort:["Κυρ","Δευ","Τρι","Τετ","Πεμ","Παρ","Σαβ"],daysMin:["Κυ","Δε","Τρ","Τε","Πε","Πα","Σα"],months:["Ιανουάριος","Φεβρουάριος","Μάρτιος","Απρίλιος","Μάιος","Ιούνιος","Ιούλιος","Αύγουστος","Σεπτέμβριος","Οκτώβριος","Νοέμβριος","Δεκέμβριος"],monthsShort:["Ιαν","Φεβ","Μαρ","Απρ","Μάι","Ιουν","Ιουλ","Αυγ","Σεπ","Οκτ","Νοε","Δεκ"],today:"Σήμερα",clear:"Καθαρισμός",weekStart:1,format:"d/m/yyyy"}}(jQuery); \ No newline at end of file diff --git a/public/assets/libs/bootstrap-datepicker/locales/bootstrap-datepicker.en-AU.min.js b/public/assets/libs/bootstrap-datepicker/locales/bootstrap-datepicker.en-AU.min.js new file mode 100644 index 0000000..b8d5f41 --- /dev/null +++ b/public/assets/libs/bootstrap-datepicker/locales/bootstrap-datepicker.en-AU.min.js @@ -0,0 +1 @@ +!function(a){a.fn.datepicker.dates["en-AU"]={days:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],daysShort:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],daysMin:["Su","Mo","Tu","We","Th","Fr","Sa"],months:["January","February","March","April","May","June","July","August","September","October","November","December"],monthsShort:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],today:"Today",monthsTitle:"Months",clear:"Clear",weekStart:1,format:"d/mm/yyyy"}}(jQuery); \ No newline at end of file diff --git a/public/assets/libs/bootstrap-datepicker/locales/bootstrap-datepicker.en-CA.min.js b/public/assets/libs/bootstrap-datepicker/locales/bootstrap-datepicker.en-CA.min.js new file mode 100644 index 0000000..7b1070f --- /dev/null +++ b/public/assets/libs/bootstrap-datepicker/locales/bootstrap-datepicker.en-CA.min.js @@ -0,0 +1 @@ +!function(a){a.fn.datepicker.dates["en-CA"]={days:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],daysShort:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],daysMin:["Su","Mo","Tu","We","Th","Fr","Sa"],months:["January","February","March","April","May","June","July","August","September","October","November","December"],monthsShort:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],today:"Today",monthsTitle:"Months",clear:"Clear",weekStart:0,format:"yyyy-mm-dd"}}(jQuery); \ No newline at end of file diff --git a/public/assets/libs/bootstrap-datepicker/locales/bootstrap-datepicker.en-GB.min.js b/public/assets/libs/bootstrap-datepicker/locales/bootstrap-datepicker.en-GB.min.js new file mode 100644 index 0000000..2966f54 --- /dev/null +++ b/public/assets/libs/bootstrap-datepicker/locales/bootstrap-datepicker.en-GB.min.js @@ -0,0 +1 @@ +!function(a){a.fn.datepicker.dates["en-GB"]={days:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],daysShort:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],daysMin:["Su","Mo","Tu","We","Th","Fr","Sa"],months:["January","February","March","April","May","June","July","August","September","October","November","December"],monthsShort:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],today:"Today",monthsTitle:"Months",clear:"Clear",weekStart:1,format:"dd/mm/yyyy"}}(jQuery); \ No newline at end of file diff --git a/public/assets/libs/bootstrap-datepicker/locales/bootstrap-datepicker.en-IE.min.js b/public/assets/libs/bootstrap-datepicker/locales/bootstrap-datepicker.en-IE.min.js new file mode 100644 index 0000000..dc8f71c --- /dev/null +++ b/public/assets/libs/bootstrap-datepicker/locales/bootstrap-datepicker.en-IE.min.js @@ -0,0 +1 @@ +!function(a){a.fn.datepicker.dates["en-IE"]={days:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],daysShort:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],daysMin:["Su","Mo","Tu","We","Th","Fr","Sa"],months:["January","February","March","April","May","June","July","August","September","October","November","December"],monthsShort:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],today:"Today",monthsTitle:"Months",clear:"Clear",weekStart:1,format:"dd/mm/yyyy"}}(jQuery); \ No newline at end of file diff --git a/public/assets/libs/bootstrap-datepicker/locales/bootstrap-datepicker.en-NZ.min.js b/public/assets/libs/bootstrap-datepicker/locales/bootstrap-datepicker.en-NZ.min.js new file mode 100644 index 0000000..c374a8d --- /dev/null +++ b/public/assets/libs/bootstrap-datepicker/locales/bootstrap-datepicker.en-NZ.min.js @@ -0,0 +1 @@ +!function(a){a.fn.datepicker.dates["en-NZ"]={days:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],daysShort:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],daysMin:["Su","Mo","Tu","We","Th","Fr","Sa"],months:["January","February","March","April","May","June","July","August","September","October","November","December"],monthsShort:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],today:"Today",monthsTitle:"Months",clear:"Clear",weekStart:1,format:"d/mm/yyyy"}}(jQuery); \ No newline at end of file diff --git a/public/assets/libs/bootstrap-datepicker/locales/bootstrap-datepicker.en-ZA.min.js b/public/assets/libs/bootstrap-datepicker/locales/bootstrap-datepicker.en-ZA.min.js new file mode 100644 index 0000000..885a928 --- /dev/null +++ b/public/assets/libs/bootstrap-datepicker/locales/bootstrap-datepicker.en-ZA.min.js @@ -0,0 +1 @@ +!function(a){a.fn.datepicker.dates["en-ZA"]={days:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],daysShort:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],daysMin:["Su","Mo","Tu","We","Th","Fr","Sa"],months:["January","February","March","April","May","June","July","August","September","October","November","December"],monthsShort:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],today:"Today",monthsTitle:"Months",clear:"Clear",weekStart:1,format:"yyyy/mm/d"}}(jQuery); \ No newline at end of file diff --git a/public/assets/libs/bootstrap-datepicker/locales/bootstrap-datepicker.eo.min.js b/public/assets/libs/bootstrap-datepicker/locales/bootstrap-datepicker.eo.min.js new file mode 100644 index 0000000..736db02 --- /dev/null +++ b/public/assets/libs/bootstrap-datepicker/locales/bootstrap-datepicker.eo.min.js @@ -0,0 +1 @@ +!function(a){a.fn.datepicker.dates.eo={days:["dimanĉo","lundo","mardo","merkredo","ĵaŭdo","vendredo","sabato"],daysShort:["dim.","lun.","mar.","mer.","ĵaŭ.","ven.","sam."],daysMin:["d","l","ma","me","ĵ","v","s"],months:["januaro","februaro","marto","aprilo","majo","junio","julio","aŭgusto","septembro","oktobro","novembro","decembro"],monthsShort:["jan.","feb.","mar.","apr.","majo","jun.","jul.","aŭg.","sep.","okt.","nov.","dec."],today:"Hodiaŭ",clear:"Nuligi",weekStart:1,format:"yyyy-mm-dd"}}(jQuery); \ No newline at end of file diff --git a/public/assets/libs/bootstrap-datepicker/locales/bootstrap-datepicker.es.min.js b/public/assets/libs/bootstrap-datepicker/locales/bootstrap-datepicker.es.min.js new file mode 100644 index 0000000..f3cef5d --- /dev/null +++ b/public/assets/libs/bootstrap-datepicker/locales/bootstrap-datepicker.es.min.js @@ -0,0 +1 @@ +!function(a){a.fn.datepicker.dates.es={days:["Domingo","Lunes","Martes","Miércoles","Jueves","Viernes","Sábado"],daysShort:["Dom","Lun","Mar","Mié","Jue","Vie","Sáb"],daysMin:["Do","Lu","Ma","Mi","Ju","Vi","Sa"],months:["Enero","Febrero","Marzo","Abril","Mayo","Junio","Julio","Agosto","Septiembre","Octubre","Noviembre","Diciembre"],monthsShort:["Ene","Feb","Mar","Abr","May","Jun","Jul","Ago","Sep","Oct","Nov","Dic"],today:"Hoy",monthsTitle:"Meses",clear:"Borrar",weekStart:1,format:"dd/mm/yyyy"}}(jQuery); \ No newline at end of file diff --git a/public/assets/libs/bootstrap-datepicker/locales/bootstrap-datepicker.et.min.js b/public/assets/libs/bootstrap-datepicker/locales/bootstrap-datepicker.et.min.js new file mode 100644 index 0000000..34cd9c6 --- /dev/null +++ b/public/assets/libs/bootstrap-datepicker/locales/bootstrap-datepicker.et.min.js @@ -0,0 +1 @@ +!function(a){a.fn.datepicker.dates.et={days:["Pühapäev","Esmaspäev","Teisipäev","Kolmapäev","Neljapäev","Reede","Laupäev"],daysShort:["Pühap","Esmasp","Teisip","Kolmap","Neljap","Reede","Laup"],daysMin:["P","E","T","K","N","R","L"],months:["Jaanuar","Veebruar","Märts","Aprill","Mai","Juuni","Juuli","August","September","Oktoober","November","Detsember"],monthsShort:["Jaan","Veebr","Märts","Apr","Mai","Juuni","Juuli","Aug","Sept","Okt","Nov","Dets"],today:"Täna",clear:"Tühjenda",weekStart:1,format:"dd.mm.yyyy"}}(jQuery); \ No newline at end of file diff --git a/public/assets/libs/bootstrap-datepicker/locales/bootstrap-datepicker.eu.min.js b/public/assets/libs/bootstrap-datepicker/locales/bootstrap-datepicker.eu.min.js new file mode 100644 index 0000000..c5aa359 --- /dev/null +++ b/public/assets/libs/bootstrap-datepicker/locales/bootstrap-datepicker.eu.min.js @@ -0,0 +1 @@ +!function(a){a.fn.datepicker.dates.eu={days:["Igandea","Astelehena","Asteartea","Asteazkena","Osteguna","Ostirala","Larunbata"],daysShort:["Ig","Al","Ar","Az","Og","Ol","Lr"],daysMin:["Ig","Al","Ar","Az","Og","Ol","Lr"],months:["Urtarrila","Otsaila","Martxoa","Apirila","Maiatza","Ekaina","Uztaila","Abuztua","Iraila","Urria","Azaroa","Abendua"],monthsShort:["Urt","Ots","Mar","Api","Mai","Eka","Uzt","Abu","Ira","Urr","Aza","Abe"],today:"Gaur",monthsTitle:"Hilabeteak",clear:"Ezabatu",weekStart:1,format:"yyyy/mm/dd"}}(jQuery); \ No newline at end of file diff --git a/public/assets/libs/bootstrap-datepicker/locales/bootstrap-datepicker.fa.min.js b/public/assets/libs/bootstrap-datepicker/locales/bootstrap-datepicker.fa.min.js new file mode 100644 index 0000000..591bddc --- /dev/null +++ b/public/assets/libs/bootstrap-datepicker/locales/bootstrap-datepicker.fa.min.js @@ -0,0 +1 @@ +!function(a){a.fn.datepicker.dates.fa={days:["یک‌شنبه","دوشنبه","سه‌شنبه","چهارشنبه","پنج‌شنبه","جمعه","شنبه"],daysShort:["یک","دو","سه","چهار","پنج","جمعه","شنبه"],daysMin:["ی","د","س","چ","پ","ج","ش"],months:["ژانویه","فوریه","مارس","آوریل","مه","ژوئن","ژوئیه","اوت","سپتامبر","اکتبر","نوامبر","دسامبر"],monthsShort:["ژان","فور","مار","آور","مه","ژون","ژوی","اوت","سپت","اکت","نوا","دسا"],today:"امروز",clear:"پاک کن",weekStart:0,format:"yyyy/mm/dd"}}(jQuery); \ No newline at end of file diff --git a/public/assets/libs/bootstrap-datepicker/locales/bootstrap-datepicker.fi.min.js b/public/assets/libs/bootstrap-datepicker/locales/bootstrap-datepicker.fi.min.js new file mode 100644 index 0000000..239dfb7 --- /dev/null +++ b/public/assets/libs/bootstrap-datepicker/locales/bootstrap-datepicker.fi.min.js @@ -0,0 +1 @@ +!function(a){a.fn.datepicker.dates.fi={days:["sunnuntai","maanantai","tiistai","keskiviikko","torstai","perjantai","lauantai"],daysShort:["sun","maa","tii","kes","tor","per","lau"],daysMin:["su","ma","ti","ke","to","pe","la"],months:["tammikuu","helmikuu","maaliskuu","huhtikuu","toukokuu","kesäkuu","heinäkuu","elokuu","syyskuu","lokakuu","marraskuu","joulukuu"],monthsShort:["tam","hel","maa","huh","tou","kes","hei","elo","syy","lok","mar","jou"],today:"tänään",clear:"Tyhjennä",weekStart:1,format:"d.m.yyyy"}}(jQuery); \ No newline at end of file diff --git a/public/assets/libs/bootstrap-datepicker/locales/bootstrap-datepicker.fo.min.js b/public/assets/libs/bootstrap-datepicker/locales/bootstrap-datepicker.fo.min.js new file mode 100644 index 0000000..fa24e3a --- /dev/null +++ b/public/assets/libs/bootstrap-datepicker/locales/bootstrap-datepicker.fo.min.js @@ -0,0 +1 @@ +!function(a){a.fn.datepicker.dates.fo={days:["Sunnudagur","Mánadagur","Týsdagur","Mikudagur","Hósdagur","Fríggjadagur","Leygardagur"],daysShort:["Sun","Mán","Týs","Mik","Hós","Frí","Ley"],daysMin:["Su","Má","Tý","Mi","Hó","Fr","Le"],months:["Januar","Februar","Marts","Apríl","Mei","Juni","Juli","August","Septembur","Oktobur","Novembur","Desembur"],monthsShort:["Jan","Feb","Mar","Apr","Mei","Jun","Jul","Aug","Sep","Okt","Nov","Des"],today:"Í Dag",clear:"Reinsa"}}(jQuery); \ No newline at end of file diff --git a/public/assets/libs/bootstrap-datepicker/locales/bootstrap-datepicker.fr-CH.min.js b/public/assets/libs/bootstrap-datepicker/locales/bootstrap-datepicker.fr-CH.min.js new file mode 100644 index 0000000..1c6bcdc --- /dev/null +++ b/public/assets/libs/bootstrap-datepicker/locales/bootstrap-datepicker.fr-CH.min.js @@ -0,0 +1 @@ +!function(a){a.fn.datepicker.dates.fr={days:["Dimanche","Lundi","Mardi","Mercredi","Jeudi","Vendredi","Samedi"],daysShort:["Dim","Lun","Mar","Mer","Jeu","Ven","Sam"],daysMin:["D","L","Ma","Me","J","V","S"],months:["Janvier","Février","Mars","Avril","Mai","Juin","Juillet","Août","Septembre","Octobre","Novembre","Décembre"],monthsShort:["Jan","Fév","Mar","Avr","Mai","Jui","Jul","Aou","Sep","Oct","Nov","Déc"],today:"Aujourd'hui",monthsTitle:"Mois",clear:"Effacer",weekStart:1,format:"dd.mm.yyyy"}}(jQuery); \ No newline at end of file diff --git a/public/assets/libs/bootstrap-datepicker/locales/bootstrap-datepicker.fr.min.js b/public/assets/libs/bootstrap-datepicker/locales/bootstrap-datepicker.fr.min.js new file mode 100644 index 0000000..244cfba --- /dev/null +++ b/public/assets/libs/bootstrap-datepicker/locales/bootstrap-datepicker.fr.min.js @@ -0,0 +1 @@ +!function(a){a.fn.datepicker.dates.fr={days:["dimanche","lundi","mardi","mercredi","jeudi","vendredi","samedi"],daysShort:["dim.","lun.","mar.","mer.","jeu.","ven.","sam."],daysMin:["d","l","ma","me","j","v","s"],months:["janvier","février","mars","avril","mai","juin","juillet","août","septembre","octobre","novembre","décembre"],monthsShort:["janv.","févr.","mars","avril","mai","juin","juil.","août","sept.","oct.","nov.","déc."],today:"Aujourd'hui",monthsTitle:"Mois",clear:"Effacer",weekStart:1,format:"dd/mm/yyyy"}}(jQuery); \ No newline at end of file diff --git a/public/assets/libs/bootstrap-datepicker/locales/bootstrap-datepicker.gl.min.js b/public/assets/libs/bootstrap-datepicker/locales/bootstrap-datepicker.gl.min.js new file mode 100644 index 0000000..3d92606 --- /dev/null +++ b/public/assets/libs/bootstrap-datepicker/locales/bootstrap-datepicker.gl.min.js @@ -0,0 +1 @@ +!function(a){a.fn.datepicker.dates.gl={days:["Domingo","Luns","Martes","Mércores","Xoves","Venres","Sábado"],daysShort:["Dom","Lun","Mar","Mér","Xov","Ven","Sáb"],daysMin:["Do","Lu","Ma","Me","Xo","Ve","Sa"],months:["Xaneiro","Febreiro","Marzo","Abril","Maio","Xuño","Xullo","Agosto","Setembro","Outubro","Novembro","Decembro"],monthsShort:["Xan","Feb","Mar","Abr","Mai","Xun","Xul","Ago","Sep","Out","Nov","Dec"],today:"Hoxe",clear:"Limpar",weekStart:1,format:"dd/mm/yyyy"}}(jQuery); \ No newline at end of file diff --git a/public/assets/libs/bootstrap-datepicker/locales/bootstrap-datepicker.he.min.js b/public/assets/libs/bootstrap-datepicker/locales/bootstrap-datepicker.he.min.js new file mode 100644 index 0000000..191cb45 --- /dev/null +++ b/public/assets/libs/bootstrap-datepicker/locales/bootstrap-datepicker.he.min.js @@ -0,0 +1 @@ +!function(a){a.fn.datepicker.dates.he={days:["ראשון","שני","שלישי","רביעי","חמישי","שישי","שבת","ראשון"],daysShort:["א","ב","ג","ד","ה","ו","ש","א"],daysMin:["א","ב","ג","ד","ה","ו","ש","א"],months:["ינואר","פברואר","מרץ","אפריל","מאי","יוני","יולי","אוגוסט","ספטמבר","אוקטובר","נובמבר","דצמבר"],monthsShort:["ינו","פבר","מרץ","אפר","מאי","יונ","יול","אוג","ספט","אוק","נוב","דצמ"],today:"היום",rtl:!0}}(jQuery); \ No newline at end of file diff --git a/public/assets/libs/bootstrap-datepicker/locales/bootstrap-datepicker.hi.min.js b/public/assets/libs/bootstrap-datepicker/locales/bootstrap-datepicker.hi.min.js new file mode 100644 index 0000000..635baff --- /dev/null +++ b/public/assets/libs/bootstrap-datepicker/locales/bootstrap-datepicker.hi.min.js @@ -0,0 +1 @@ +!function(a){a.fn.datepicker.dates.hi={days:["रविवार","सोमवार","मंगलवार","बुधवार","गुरुवार","शुक्रवार","शनिवार"],daysShort:["सूर्य","सोम","मंगल","बुध","गुरु","शुक्र","शनि"],daysMin:["र","सो","मं","बु","गु","शु","श"],months:["जनवरी","फ़रवरी","मार्च","अप्रैल","मई","जून","जुलाई","अगस्त","सितम्बर","अक्टूबर","नवंबर","दिसम्बर"],monthsShort:["जन","फ़रवरी","मार्च","अप्रैल","मई","जून","जुलाई","अगस्त","सितं","अक्टूबर","नवं","दिसम्बर"],today:"आज",monthsTitle:"महीने",clear:"साफ",weekStart:1,format:"dd / mm / yyyy"}}(jQuery); \ No newline at end of file diff --git a/public/assets/libs/bootstrap-datepicker/locales/bootstrap-datepicker.hr.min.js b/public/assets/libs/bootstrap-datepicker/locales/bootstrap-datepicker.hr.min.js new file mode 100644 index 0000000..8b34bce --- /dev/null +++ b/public/assets/libs/bootstrap-datepicker/locales/bootstrap-datepicker.hr.min.js @@ -0,0 +1 @@ +!function(a){a.fn.datepicker.dates.hr={days:["Nedjelja","Ponedjeljak","Utorak","Srijeda","Četvrtak","Petak","Subota"],daysShort:["Ned","Pon","Uto","Sri","Čet","Pet","Sub"],daysMin:["Ne","Po","Ut","Sr","Če","Pe","Su"],months:["Siječanj","Veljača","Ožujak","Travanj","Svibanj","Lipanj","Srpanj","Kolovoz","Rujan","Listopad","Studeni","Prosinac"],monthsShort:["Sij","Velj","Ožu","Tra","Svi","Lip","Srp","Kol","Ruj","Lis","Stu","Pro"],today:"Danas"}}(jQuery); \ No newline at end of file diff --git a/public/assets/libs/bootstrap-datepicker/locales/bootstrap-datepicker.hu.min.js b/public/assets/libs/bootstrap-datepicker/locales/bootstrap-datepicker.hu.min.js new file mode 100644 index 0000000..f9decf9 --- /dev/null +++ b/public/assets/libs/bootstrap-datepicker/locales/bootstrap-datepicker.hu.min.js @@ -0,0 +1 @@ +!function(a){a.fn.datepicker.dates.hu={days:["vasárnap","hétfő","kedd","szerda","csütörtök","péntek","szombat"],daysShort:["vas","hét","ked","sze","csü","pén","szo"],daysMin:["V","H","K","Sze","Cs","P","Szo"],months:["január","február","március","április","május","június","július","augusztus","szeptember","október","november","december"],monthsShort:["jan","feb","már","ápr","máj","jún","júl","aug","sze","okt","nov","dec"],today:"ma",weekStart:1,clear:"töröl",titleFormat:"yyyy. MM",format:"yyyy.mm.dd"}}(jQuery); \ No newline at end of file diff --git a/public/assets/libs/bootstrap-datepicker/locales/bootstrap-datepicker.hy.min.js b/public/assets/libs/bootstrap-datepicker/locales/bootstrap-datepicker.hy.min.js new file mode 100644 index 0000000..a1cf653 --- /dev/null +++ b/public/assets/libs/bootstrap-datepicker/locales/bootstrap-datepicker.hy.min.js @@ -0,0 +1 @@ +!function(a){a.fn.datepicker.dates.hy={days:["Կիրակի","Երկուշաբթի","Երեքշաբթի","Չորեքշաբթի","Հինգշաբթի","Ուրբաթ","Շաբաթ"],daysShort:["Կիր","Երկ","Երե","Չոր","Հին","Ուրբ","Շաբ"],daysMin:["Կի","Եկ","Եք","Չո","Հի","Ու","Շա"],months:["Հունվար","Փետրվար","Մարտ","Ապրիլ","Մայիս","Հունիս","Հուլիս","Օգոստոս","Սեպտեմբեր","Հոկտեմբեր","Նոյեմբեր","Դեկտեմբեր"],monthsShort:["Հնվ","Փետ","Մար","Ապր","Մայ","Հուն","Հուլ","Օգս","Սեպ","Հոկ","Նոյ","Դեկ"],today:"Այսօր",clear:"Ջնջել",format:"dd.mm.yyyy",weekStart:1,monthsTitle:"Ամիսնէր"}}(jQuery); \ No newline at end of file diff --git a/public/assets/libs/bootstrap-datepicker/locales/bootstrap-datepicker.id.min.js b/public/assets/libs/bootstrap-datepicker/locales/bootstrap-datepicker.id.min.js new file mode 100644 index 0000000..7c3220a --- /dev/null +++ b/public/assets/libs/bootstrap-datepicker/locales/bootstrap-datepicker.id.min.js @@ -0,0 +1 @@ +!function(a){a.fn.datepicker.dates.id={days:["Minggu","Senin","Selasa","Rabu","Kamis","Jumat","Sabtu"],daysShort:["Mgu","Sen","Sel","Rab","Kam","Jum","Sab"],daysMin:["Mg","Sn","Sl","Ra","Ka","Ju","Sa"],months:["Januari","Februari","Maret","April","Mei","Juni","Juli","Agustus","September","Oktober","November","Desember"],monthsShort:["Jan","Feb","Mar","Apr","Mei","Jun","Jul","Ags","Sep","Okt","Nov","Des"],today:"Hari Ini",clear:"Kosongkan"}}(jQuery); \ No newline at end of file diff --git a/public/assets/libs/bootstrap-datepicker/locales/bootstrap-datepicker.is.min.js b/public/assets/libs/bootstrap-datepicker/locales/bootstrap-datepicker.is.min.js new file mode 100644 index 0000000..f49bd18 --- /dev/null +++ b/public/assets/libs/bootstrap-datepicker/locales/bootstrap-datepicker.is.min.js @@ -0,0 +1 @@ +!function(a){a.fn.datepicker.dates.is={days:["Sunnudagur","Mánudagur","Þriðjudagur","Miðvikudagur","Fimmtudagur","Föstudagur","Laugardagur"],daysShort:["Sun","Mán","Þri","Mið","Fim","Fös","Lau"],daysMin:["Su","Má","Þr","Mi","Fi","Fö","La"],months:["Janúar","Febrúar","Mars","Apríl","Maí","Júní","Júlí","Ágúst","September","Október","Nóvember","Desember"],monthsShort:["Jan","Feb","Mar","Apr","Maí","Jún","Júl","Ágú","Sep","Okt","Nóv","Des"],today:"Í Dag"}}(jQuery); \ No newline at end of file diff --git a/public/assets/libs/bootstrap-datepicker/locales/bootstrap-datepicker.it-CH.min.js b/public/assets/libs/bootstrap-datepicker/locales/bootstrap-datepicker.it-CH.min.js new file mode 100644 index 0000000..7e1adbb --- /dev/null +++ b/public/assets/libs/bootstrap-datepicker/locales/bootstrap-datepicker.it-CH.min.js @@ -0,0 +1 @@ +!function(a){a.fn.datepicker.dates.it={days:["Domenica","Lunedì","Martedì","Mercoledì","Giovedì","Venerdì","Sabato"],daysShort:["Dom","Lun","Mar","Mer","Gio","Ven","Sab"],daysMin:["Do","Lu","Ma","Me","Gi","Ve","Sa"],months:["Gennaio","Febbraio","Marzo","Aprile","Maggio","Giugno","Luglio","Agosto","Settembre","Ottobre","Novembre","Dicembre"],monthsShort:["Gen","Feb","Mar","Apr","Mag","Giu","Lug","Ago","Set","Ott","Nov","Dic"],today:"Oggi",clear:"Cancella",weekStart:1,format:"dd.mm.yyyy"}}(jQuery); \ No newline at end of file diff --git a/public/assets/libs/bootstrap-datepicker/locales/bootstrap-datepicker.it.min.js b/public/assets/libs/bootstrap-datepicker/locales/bootstrap-datepicker.it.min.js new file mode 100644 index 0000000..cc30766 --- /dev/null +++ b/public/assets/libs/bootstrap-datepicker/locales/bootstrap-datepicker.it.min.js @@ -0,0 +1 @@ +!function(a){a.fn.datepicker.dates.it={days:["Domenica","Lunedì","Martedì","Mercoledì","Giovedì","Venerdì","Sabato"],daysShort:["Dom","Lun","Mar","Mer","Gio","Ven","Sab"],daysMin:["Do","Lu","Ma","Me","Gi","Ve","Sa"],months:["Gennaio","Febbraio","Marzo","Aprile","Maggio","Giugno","Luglio","Agosto","Settembre","Ottobre","Novembre","Dicembre"],monthsShort:["Gen","Feb","Mar","Apr","Mag","Giu","Lug","Ago","Set","Ott","Nov","Dic"],today:"Oggi",monthsTitle:"Mesi",clear:"Cancella",weekStart:1,format:"dd/mm/yyyy"}}(jQuery); \ No newline at end of file diff --git a/public/assets/libs/bootstrap-datepicker/locales/bootstrap-datepicker.ja.min.js b/public/assets/libs/bootstrap-datepicker/locales/bootstrap-datepicker.ja.min.js new file mode 100644 index 0000000..e321f04 --- /dev/null +++ b/public/assets/libs/bootstrap-datepicker/locales/bootstrap-datepicker.ja.min.js @@ -0,0 +1 @@ +!function(a){a.fn.datepicker.dates.ja={days:["日曜","月曜","火曜","水曜","木曜","金曜","土曜"],daysShort:["日","月","火","水","木","金","土"],daysMin:["日","月","火","水","木","金","土"],months:["1月","2月","3月","4月","5月","6月","7月","8月","9月","10月","11月","12月"],monthsShort:["1月","2月","3月","4月","5月","6月","7月","8月","9月","10月","11月","12月"],today:"今日",format:"yyyy/mm/dd",titleFormat:"yyyy年mm月",clear:"クリア"}}(jQuery); \ No newline at end of file diff --git a/public/assets/libs/bootstrap-datepicker/locales/bootstrap-datepicker.ka.min.js b/public/assets/libs/bootstrap-datepicker/locales/bootstrap-datepicker.ka.min.js new file mode 100644 index 0000000..84f14c0 --- /dev/null +++ b/public/assets/libs/bootstrap-datepicker/locales/bootstrap-datepicker.ka.min.js @@ -0,0 +1 @@ +!function(a){a.fn.datepicker.dates.ka={days:["კვირა","ორშაბათი","სამშაბათი","ოთხშაბათი","ხუთშაბათი","პარასკევი","შაბათი"],daysShort:["კვი","ორშ","სამ","ოთხ","ხუთ","პარ","შაბ"],daysMin:["კვ","ორ","სა","ოთ","ხუ","პა","შა"],months:["იანვარი","თებერვალი","მარტი","აპრილი","მაისი","ივნისი","ივლისი","აგვისტო","სექტემბერი","ოქტომბერი","ნოემბერი","დეკემბერი"],monthsShort:["იან","თებ","მარ","აპრ","მაი","ივნ","ივლ","აგვ","სექ","ოქტ","ნოე","დეკ"],today:"დღეს",clear:"გასუფთავება",weekStart:1,format:"dd.mm.yyyy"}}(jQuery); \ No newline at end of file diff --git a/public/assets/libs/bootstrap-datepicker/locales/bootstrap-datepicker.kh.min.js b/public/assets/libs/bootstrap-datepicker/locales/bootstrap-datepicker.kh.min.js new file mode 100644 index 0000000..bf2abc5 --- /dev/null +++ b/public/assets/libs/bootstrap-datepicker/locales/bootstrap-datepicker.kh.min.js @@ -0,0 +1 @@ +!function(a){a.fn.datepicker.dates.kh={days:["អាទិត្យ","ចន្ទ","អង្គារ","ពុធ","ព្រហស្បតិ៍","សុក្រ","សៅរ៍"],daysShort:["អា.ទិ","ចន្ទ","អង្គារ","ពុធ","ព្រ.ហ","សុក្រ","សៅរ៍"],daysMin:["អា.ទិ","ចន្ទ","អង្គារ","ពុធ","ព្រ.ហ","សុក្រ","សៅរ៍"],months:["មករា","កុម្ភះ","មិនា","មេសា","ឧសភា","មិថុនា","កក្កដា","សីហា","កញ្ញា","តុលា","វិច្ឆិកា","ធ្នូ"],monthsShort:["មករា","កុម្ភះ","មិនា","មេសា","ឧសភា","មិថុនា","កក្កដា","សីហា","កញ្ញា","តុលា","វិច្ឆិកា","ធ្នូ"],today:"ថ្ងៃនេះ",clear:"សំអាត"},a.fn.datepicker.deprecated('The language code "kh" is deprecated and will be removed in 2.0. For Khmer support use "km" instead.')}(jQuery); \ No newline at end of file diff --git a/public/assets/libs/bootstrap-datepicker/locales/bootstrap-datepicker.kk.min.js b/public/assets/libs/bootstrap-datepicker/locales/bootstrap-datepicker.kk.min.js new file mode 100644 index 0000000..f4e2f3f --- /dev/null +++ b/public/assets/libs/bootstrap-datepicker/locales/bootstrap-datepicker.kk.min.js @@ -0,0 +1 @@ +!function(a){a.fn.datepicker.dates.kk={days:["Жексенбі","Дүйсенбі","Сейсенбі","Сәрсенбі","Бейсенбі","Жұма","Сенбі"],daysShort:["Жек","Дүй","Сей","Сәр","Бей","Жұм","Сен"],daysMin:["Жк","Дс","Сс","Ср","Бс","Жм","Сн"],months:["Қаңтар","Ақпан","Наурыз","Сәуір","Мамыр","Маусым","Шілде","Тамыз","Қыркүйек","Қазан","Қараша","Желтоқсан"],monthsShort:["Қаң","Ақп","Нау","Сәу","Мам","Мау","Шіл","Там","Қыр","Қаз","Қар","Жел"],today:"Бүгін",weekStart:1}}(jQuery); \ No newline at end of file diff --git a/public/assets/libs/bootstrap-datepicker/locales/bootstrap-datepicker.km.min.js b/public/assets/libs/bootstrap-datepicker/locales/bootstrap-datepicker.km.min.js new file mode 100644 index 0000000..648d83f --- /dev/null +++ b/public/assets/libs/bootstrap-datepicker/locales/bootstrap-datepicker.km.min.js @@ -0,0 +1 @@ +!function(a){a.fn.datepicker.dates.km={days:["អាទិត្យ","ចន្ទ","អង្គារ","ពុធ","ព្រហស្បតិ៍","សុក្រ","សៅរ៍"],daysShort:["អា.ទិ","ចន្ទ","អង្គារ","ពុធ","ព្រ.ហ","សុក្រ","សៅរ៍"],daysMin:["អា.ទិ","ចន្ទ","អង្គារ","ពុធ","ព្រ.ហ","សុក្រ","សៅរ៍"],months:["មករា","កុម្ភះ","មិនា","មេសា","ឧសភា","មិថុនា","កក្កដា","សីហា","កញ្ញា","តុលា","វិច្ឆិកា","ធ្នូ"],monthsShort:["មករា","កុម្ភះ","មិនា","មេសា","ឧសភា","មិថុនា","កក្កដា","សីហា","កញ្ញា","តុលា","វិច្ឆិកា","ធ្នូ"],today:"ថ្ងៃនេះ",clear:"សំអាត"}}(jQuery); \ No newline at end of file diff --git a/public/assets/libs/bootstrap-datepicker/locales/bootstrap-datepicker.ko.min.js b/public/assets/libs/bootstrap-datepicker/locales/bootstrap-datepicker.ko.min.js new file mode 100644 index 0000000..9751ee5 --- /dev/null +++ b/public/assets/libs/bootstrap-datepicker/locales/bootstrap-datepicker.ko.min.js @@ -0,0 +1 @@ +!function(a){a.fn.datepicker.dates.ko={days:["일요일","월요일","화요일","수요일","목요일","금요일","토요일"],daysShort:["일","월","화","수","목","금","토"],daysMin:["일","월","화","수","목","금","토"],months:["1월","2월","3월","4월","5월","6월","7월","8월","9월","10월","11월","12월"],monthsShort:["1월","2월","3월","4월","5월","6월","7월","8월","9월","10월","11월","12월"],today:"오늘",clear:"삭제",format:"yyyy-mm-dd",titleFormat:"yyyy년mm월",weekStart:0}}(jQuery); \ No newline at end of file diff --git a/public/assets/libs/bootstrap-datepicker/locales/bootstrap-datepicker.kr.min.js b/public/assets/libs/bootstrap-datepicker/locales/bootstrap-datepicker.kr.min.js new file mode 100644 index 0000000..4339340 --- /dev/null +++ b/public/assets/libs/bootstrap-datepicker/locales/bootstrap-datepicker.kr.min.js @@ -0,0 +1 @@ +!function(a){a.fn.datepicker.dates.kr={days:["일요일","월요일","화요일","수요일","목요일","금요일","토요일"],daysShort:["일","월","화","수","목","금","토"],daysMin:["일","월","화","수","목","금","토"],months:["1월","2월","3월","4월","5월","6월","7월","8월","9월","10월","11월","12월"],monthsShort:["1월","2월","3월","4월","5월","6월","7월","8월","9월","10월","11월","12월"]},a.fn.datepicker.deprecated('The language code "kr" is deprecated and will be removed in 2.0. For korean support use "ko" instead.')}(jQuery); \ No newline at end of file diff --git a/public/assets/libs/bootstrap-datepicker/locales/bootstrap-datepicker.lt.min.js b/public/assets/libs/bootstrap-datepicker/locales/bootstrap-datepicker.lt.min.js new file mode 100644 index 0000000..da78ea8 --- /dev/null +++ b/public/assets/libs/bootstrap-datepicker/locales/bootstrap-datepicker.lt.min.js @@ -0,0 +1 @@ +!function(a){a.fn.datepicker.dates.lt={days:["Sekmadienis","Pirmadienis","Antradienis","Trečiadienis","Ketvirtadienis","Penktadienis","Šeštadienis"],daysShort:["S","Pr","A","T","K","Pn","Š"],daysMin:["Sk","Pr","An","Tr","Ke","Pn","Št"],months:["Sausis","Vasaris","Kovas","Balandis","Gegužė","Birželis","Liepa","Rugpjūtis","Rugsėjis","Spalis","Lapkritis","Gruodis"],monthsShort:["Sau","Vas","Kov","Bal","Geg","Bir","Lie","Rugp","Rugs","Spa","Lap","Gru"],today:"Šiandien",monthsTitle:"Mėnesiai",clear:"Išvalyti",weekStart:1,format:"yyyy-mm-dd"}}(jQuery); \ No newline at end of file diff --git a/public/assets/libs/bootstrap-datepicker/locales/bootstrap-datepicker.lv.min.js b/public/assets/libs/bootstrap-datepicker/locales/bootstrap-datepicker.lv.min.js new file mode 100644 index 0000000..89cea00 --- /dev/null +++ b/public/assets/libs/bootstrap-datepicker/locales/bootstrap-datepicker.lv.min.js @@ -0,0 +1 @@ +!function(a){a.fn.datepicker.dates.lv={days:["Svētdiena","Pirmdiena","Otrdiena","Trešdiena","Ceturtdiena","Piektdiena","Sestdiena"],daysShort:["Sv","P","O","T","C","Pk","S"],daysMin:["Sv","Pr","Ot","Tr","Ce","Pk","Se"],months:["Janvāris","Februāris","Marts","Aprīlis","Maijs","Jūnijs","Jūlijs","Augusts","Septembris","Oktobris","Novembris","Decembris"],monthsShort:["Jan","Feb","Mar","Apr","Mai","Jūn","Jūl","Aug","Sep","Okt","Nov","Dec"],monthsTitle:"Mēneši",today:"Šodien",clear:"Nodzēst",weekStart:1}}(jQuery); \ No newline at end of file diff --git a/public/assets/libs/bootstrap-datepicker/locales/bootstrap-datepicker.me.min.js b/public/assets/libs/bootstrap-datepicker/locales/bootstrap-datepicker.me.min.js new file mode 100644 index 0000000..c65a891 --- /dev/null +++ b/public/assets/libs/bootstrap-datepicker/locales/bootstrap-datepicker.me.min.js @@ -0,0 +1 @@ +!function(a){a.fn.datepicker.dates.me={days:["Nedjelja","Ponedjeljak","Utorak","Srijeda","Četvrtak","Petak","Subota"],daysShort:["Ned","Pon","Uto","Sri","Čet","Pet","Sub"],daysMin:["Ne","Po","Ut","Sr","Če","Pe","Su"],months:["Januar","Februar","Mart","April","Maj","Jun","Jul","Avgust","Septembar","Oktobar","Novembar","Decembar"],monthsShort:["Jan","Feb","Mar","Apr","Maj","Jun","Jul","Avg","Sep","Okt","Nov","Dec"],today:"Danas",weekStart:1,clear:"Izbriši",format:"dd.mm.yyyy"}}(jQuery); \ No newline at end of file diff --git a/public/assets/libs/bootstrap-datepicker/locales/bootstrap-datepicker.mk.min.js b/public/assets/libs/bootstrap-datepicker/locales/bootstrap-datepicker.mk.min.js new file mode 100644 index 0000000..46423f7 --- /dev/null +++ b/public/assets/libs/bootstrap-datepicker/locales/bootstrap-datepicker.mk.min.js @@ -0,0 +1 @@ +!function(a){a.fn.datepicker.dates.mk={days:["Недела","Понеделник","Вторник","Среда","Четврток","Петок","Сабота"],daysShort:["Нед","Пон","Вто","Сре","Чет","Пет","Саб"],daysMin:["Не","По","Вт","Ср","Че","Пе","Са"],months:["Јануари","Февруари","Март","Април","Мај","Јуни","Јули","Август","Септември","Октомври","Ноември","Декември"],monthsShort:["Јан","Фев","Мар","Апр","Мај","Јун","Јул","Авг","Сеп","Окт","Ное","Дек"],today:"Денес",format:"dd.mm.yyyy"}}(jQuery); \ No newline at end of file diff --git a/public/assets/libs/bootstrap-datepicker/locales/bootstrap-datepicker.mn.min.js b/public/assets/libs/bootstrap-datepicker/locales/bootstrap-datepicker.mn.min.js new file mode 100644 index 0000000..6ebaec9 --- /dev/null +++ b/public/assets/libs/bootstrap-datepicker/locales/bootstrap-datepicker.mn.min.js @@ -0,0 +1 @@ +!function(a){a.fn.datepicker.dates.mn={days:["Ням","Даваа","Мягмар","Лхагва","Пүрэв","Баасан","Бямба"],daysShort:["Ням","Дав","Мяг","Лха","Пүр","Баа","Бям"],daysMin:["Ня","Да","Мя","Лх","Пү","Ба","Бя"],months:["Хулгана","Үхэр","Бар","Туулай","Луу","Могой","Морь","Хонь","Бич","Тахиа","Нохой","Гахай"],monthsShort:["Хул","Үхэ","Бар","Туу","Луу","Мог","Мор","Хон","Бич","Тах","Нох","Гах"],today:"Өнөөдөр",clear:"Тодорхой",format:"yyyy.mm.dd",weekStart:1}}(jQuery); \ No newline at end of file diff --git a/public/assets/libs/bootstrap-datepicker/locales/bootstrap-datepicker.ms.min.js b/public/assets/libs/bootstrap-datepicker/locales/bootstrap-datepicker.ms.min.js new file mode 100644 index 0000000..47efafd --- /dev/null +++ b/public/assets/libs/bootstrap-datepicker/locales/bootstrap-datepicker.ms.min.js @@ -0,0 +1 @@ +!function(a){a.fn.datepicker.dates.ms={days:["Ahad","Isnin","Selasa","Rabu","Khamis","Jumaat","Sabtu"],daysShort:["Aha","Isn","Sel","Rab","Kha","Jum","Sab"],daysMin:["Ah","Is","Se","Ra","Kh","Ju","Sa"],months:["Januari","Februari","Mac","April","Mei","Jun","Julai","Ogos","September","Oktober","November","Disember"],monthsShort:["Jan","Feb","Mar","Apr","Mei","Jun","Jul","Ogo","Sep","Okt","Nov","Dis"],today:"Hari Ini",clear:"Bersihkan"}}(jQuery); \ No newline at end of file diff --git a/public/assets/libs/bootstrap-datepicker/locales/bootstrap-datepicker.nl-BE.min.js b/public/assets/libs/bootstrap-datepicker/locales/bootstrap-datepicker.nl-BE.min.js new file mode 100644 index 0000000..85d3146 --- /dev/null +++ b/public/assets/libs/bootstrap-datepicker/locales/bootstrap-datepicker.nl-BE.min.js @@ -0,0 +1 @@ +!function(a){a.fn.datepicker.dates["nl-BE"]={days:["zondag","maandag","dinsdag","woensdag","donderdag","vrijdag","zaterdag"],daysShort:["zo","ma","di","wo","do","vr","za"],daysMin:["zo","ma","di","wo","do","vr","za"],months:["januari","februari","maart","april","mei","juni","juli","augustus","september","oktober","november","december"],monthsShort:["jan","feb","mrt","apr","mei","jun","jul","aug","sep","okt","nov","dec"],today:"Vandaag",monthsTitle:"Maanden",clear:"Leegmaken",weekStart:1,format:"dd/mm/yyyy"}}(jQuery); \ No newline at end of file diff --git a/public/assets/libs/bootstrap-datepicker/locales/bootstrap-datepicker.nl.min.js b/public/assets/libs/bootstrap-datepicker/locales/bootstrap-datepicker.nl.min.js new file mode 100644 index 0000000..af977b7 --- /dev/null +++ b/public/assets/libs/bootstrap-datepicker/locales/bootstrap-datepicker.nl.min.js @@ -0,0 +1 @@ +!function(a){a.fn.datepicker.dates.nl={days:["zondag","maandag","dinsdag","woensdag","donderdag","vrijdag","zaterdag"],daysShort:["zo","ma","di","wo","do","vr","za"],daysMin:["zo","ma","di","wo","do","vr","za"],months:["januari","februari","maart","april","mei","juni","juli","augustus","september","oktober","november","december"],monthsShort:["jan","feb","mrt","apr","mei","jun","jul","aug","sep","okt","nov","dec"],today:"Vandaag",monthsTitle:"Maanden",clear:"Wissen",weekStart:1,format:"dd-mm-yyyy"}}(jQuery); \ No newline at end of file diff --git a/public/assets/libs/bootstrap-datepicker/locales/bootstrap-datepicker.no.min.js b/public/assets/libs/bootstrap-datepicker/locales/bootstrap-datepicker.no.min.js new file mode 100644 index 0000000..0c5136e --- /dev/null +++ b/public/assets/libs/bootstrap-datepicker/locales/bootstrap-datepicker.no.min.js @@ -0,0 +1 @@ +!function(a){a.fn.datepicker.dates.no={days:["søndag","mandag","tirsdag","onsdag","torsdag","fredag","lørdag"],daysShort:["søn","man","tir","ons","tor","fre","lør"],daysMin:["sø","ma","ti","on","to","fr","lø"],months:["januar","februar","mars","april","mai","juni","juli","august","september","oktober","november","desember"],monthsShort:["jan","feb","mar","apr","mai","jun","jul","aug","sep","okt","nov","des"],today:"i dag",monthsTitle:"Måneder",clear:"Nullstill",weekStart:1,format:"dd.mm.yyyy"}}(jQuery); \ No newline at end of file diff --git a/public/assets/libs/bootstrap-datepicker/locales/bootstrap-datepicker.oc.min.js b/public/assets/libs/bootstrap-datepicker/locales/bootstrap-datepicker.oc.min.js new file mode 100644 index 0000000..630fa16 --- /dev/null +++ b/public/assets/libs/bootstrap-datepicker/locales/bootstrap-datepicker.oc.min.js @@ -0,0 +1 @@ +!function(a){a.fn.datepicker.dates.oc={days:["Dimenge","Diluns","Dimars","Dimècres","Dijòus","Divendres","Dissabte"],daysShort:["Dim","Dil","Dmr","Dmc","Dij","Div","Dis"],daysMin:["dg","dl","dr","dc","dj","dv","ds"],months:["Genièr","Febrièr","Març","Abrial","Mai","Junh","Julhet","Agost","Setembre","Octobre","Novembre","Decembre"],monthsShort:["Gen","Feb","Mar","Abr","Mai","Jun","Jul","Ago","Set","Oct","Nov","Dec"],today:"Uèi",monthsTitle:"Meses",clear:"Escafar",weekStart:1,format:"dd/mm/yyyy"}}(jQuery); \ No newline at end of file diff --git a/public/assets/libs/bootstrap-datepicker/locales/bootstrap-datepicker.pl.min.js b/public/assets/libs/bootstrap-datepicker/locales/bootstrap-datepicker.pl.min.js new file mode 100644 index 0000000..ffb30ec --- /dev/null +++ b/public/assets/libs/bootstrap-datepicker/locales/bootstrap-datepicker.pl.min.js @@ -0,0 +1 @@ +!function(a){a.fn.datepicker.dates.pl={days:["Niedziela","Poniedziałek","Wtorek","Środa","Czwartek","Piątek","Sobota"],daysShort:["Niedz.","Pon.","Wt.","Śr.","Czw.","Piąt.","Sob."],daysMin:["Ndz.","Pn.","Wt.","Śr.","Czw.","Pt.","Sob."],months:["Styczeń","Luty","Marzec","Kwiecień","Maj","Czerwiec","Lipiec","Sierpień","Wrzesień","Październik","Listopad","Grudzień"],monthsShort:["Sty.","Lut.","Mar.","Kwi.","Maj","Cze.","Lip.","Sie.","Wrz.","Paź.","Lis.","Gru."],today:"Dzisiaj",weekStart:1,clear:"Wyczyść",format:"dd.mm.yyyy"}}(jQuery); \ No newline at end of file diff --git a/public/assets/libs/bootstrap-datepicker/locales/bootstrap-datepicker.pt-BR.min.js b/public/assets/libs/bootstrap-datepicker/locales/bootstrap-datepicker.pt-BR.min.js new file mode 100644 index 0000000..2d3f8af --- /dev/null +++ b/public/assets/libs/bootstrap-datepicker/locales/bootstrap-datepicker.pt-BR.min.js @@ -0,0 +1 @@ +!function(a){a.fn.datepicker.dates["pt-BR"]={days:["Domingo","Segunda","Terça","Quarta","Quinta","Sexta","Sábado"],daysShort:["Dom","Seg","Ter","Qua","Qui","Sex","Sáb"],daysMin:["Do","Se","Te","Qu","Qu","Se","Sa"],months:["Janeiro","Fevereiro","Março","Abril","Maio","Junho","Julho","Agosto","Setembro","Outubro","Novembro","Dezembro"],monthsShort:["Jan","Fev","Mar","Abr","Mai","Jun","Jul","Ago","Set","Out","Nov","Dez"],today:"Hoje",monthsTitle:"Meses",clear:"Limpar",format:"dd/mm/yyyy"}}(jQuery); \ No newline at end of file diff --git a/public/assets/libs/bootstrap-datepicker/locales/bootstrap-datepicker.pt.min.js b/public/assets/libs/bootstrap-datepicker/locales/bootstrap-datepicker.pt.min.js new file mode 100644 index 0000000..e2b4e64 --- /dev/null +++ b/public/assets/libs/bootstrap-datepicker/locales/bootstrap-datepicker.pt.min.js @@ -0,0 +1 @@ +!function(a){a.fn.datepicker.dates.pt={days:["Domingo","Segunda","Terça","Quarta","Quinta","Sexta","Sábado"],daysShort:["Dom","Seg","Ter","Qua","Qui","Sex","Sáb"],daysMin:["Do","Se","Te","Qu","Qu","Se","Sa"],months:["Janeiro","Fevereiro","Março","Abril","Maio","Junho","Julho","Agosto","Setembro","Outubro","Novembro","Dezembro"],monthsShort:["Jan","Fev","Mar","Abr","Mai","Jun","Jul","Ago","Set","Out","Nov","Dez"],today:"Hoje",monthsTitle:"Meses",clear:"Limpar",format:"dd/mm/yyyy"}}(jQuery); \ No newline at end of file diff --git a/public/assets/libs/bootstrap-datepicker/locales/bootstrap-datepicker.ro.min.js b/public/assets/libs/bootstrap-datepicker/locales/bootstrap-datepicker.ro.min.js new file mode 100644 index 0000000..5fff298 --- /dev/null +++ b/public/assets/libs/bootstrap-datepicker/locales/bootstrap-datepicker.ro.min.js @@ -0,0 +1 @@ +!function(a){a.fn.datepicker.dates.ro={days:["Duminică","Luni","Marţi","Miercuri","Joi","Vineri","Sâmbătă"],daysShort:["Dum","Lun","Mar","Mie","Joi","Vin","Sâm"],daysMin:["Du","Lu","Ma","Mi","Jo","Vi","Sâ"],months:["Ianuarie","Februarie","Martie","Aprilie","Mai","Iunie","Iulie","August","Septembrie","Octombrie","Noiembrie","Decembrie"],monthsShort:["Ian","Feb","Mar","Apr","Mai","Iun","Iul","Aug","Sep","Oct","Nov","Dec"],today:"Astăzi",clear:"Șterge",weekStart:1,format:"dd/mm/yyyy"}}(jQuery); \ No newline at end of file diff --git a/public/assets/libs/bootstrap-datepicker/locales/bootstrap-datepicker.rs-latin.min.js b/public/assets/libs/bootstrap-datepicker/locales/bootstrap-datepicker.rs-latin.min.js new file mode 100644 index 0000000..e520c95 --- /dev/null +++ b/public/assets/libs/bootstrap-datepicker/locales/bootstrap-datepicker.rs-latin.min.js @@ -0,0 +1 @@ +!function(a){a.fn.datepicker.dates["rs-latin"]={days:["Nedelja","Ponedeljak","Utorak","Sreda","Četvrtak","Petak","Subota"],daysShort:["Ned","Pon","Uto","Sre","Čet","Pet","Sub"],daysMin:["N","Po","U","Sr","Č","Pe","Su"],months:["Januar","Februar","Mart","April","Maj","Jun","Jul","Avgust","Septembar","Oktobar","Novembar","Decembar"],monthsShort:["Jan","Feb","Mar","Apr","Maj","Jun","Jul","Avg","Sep","Okt","Nov","Dec"],today:"Danas",weekStart:1,format:"dd.mm.yyyy"},a.fn.datepicker.deprecated('This language code "rs-latin" is deprecated (invalid serbian language code) and will be removed in 2.0. For Serbian latin support use "sr-latin" instead.')}(jQuery); \ No newline at end of file diff --git a/public/assets/libs/bootstrap-datepicker/locales/bootstrap-datepicker.rs.min.js b/public/assets/libs/bootstrap-datepicker/locales/bootstrap-datepicker.rs.min.js new file mode 100644 index 0000000..ba95ae2 --- /dev/null +++ b/public/assets/libs/bootstrap-datepicker/locales/bootstrap-datepicker.rs.min.js @@ -0,0 +1 @@ +!function(a){a.fn.datepicker.dates.rs={days:["Недеља","Понедељак","Уторак","Среда","Четвртак","Петак","Субота"],daysShort:["Нед","Пон","Уто","Сре","Чет","Пет","Суб"],daysMin:["Н","По","У","Ср","Ч","Пе","Су"],months:["Јануар","Фебруар","Март","Април","Мај","Јун","Јул","Август","Септембар","Октобар","Новембар","Децембар"],monthsShort:["Јан","Феб","Мар","Апр","Мај","Јун","Јул","Авг","Сеп","Окт","Нов","Дец"],today:"Данас",weekStart:1,format:"dd.mm.yyyy"},a.fn.datepicker.deprecated('This language code "rs" is deprecated (invalid serbian language code) and will be removed in 2.0. For Serbian support use "sr" instead.')}(jQuery); \ No newline at end of file diff --git a/public/assets/libs/bootstrap-datepicker/locales/bootstrap-datepicker.ru.min.js b/public/assets/libs/bootstrap-datepicker/locales/bootstrap-datepicker.ru.min.js new file mode 100644 index 0000000..52bc010 --- /dev/null +++ b/public/assets/libs/bootstrap-datepicker/locales/bootstrap-datepicker.ru.min.js @@ -0,0 +1 @@ +!function(a){a.fn.datepicker.dates.ru={days:["Воскресенье","Понедельник","Вторник","Среда","Четверг","Пятница","Суббота"],daysShort:["Вск","Пнд","Втр","Срд","Чтв","Птн","Суб"],daysMin:["Вс","Пн","Вт","Ср","Чт","Пт","Сб"],months:["Январь","Февраль","Март","Апрель","Май","Июнь","Июль","Август","Сентябрь","Октябрь","Ноябрь","Декабрь"],monthsShort:["Янв","Фев","Мар","Апр","Май","Июн","Июл","Авг","Сен","Окт","Ноя","Дек"],today:"Сегодня",clear:"Очистить",format:"dd.mm.yyyy",weekStart:1,monthsTitle:"Месяцы"}}(jQuery); \ No newline at end of file diff --git a/public/assets/libs/bootstrap-datepicker/locales/bootstrap-datepicker.si.min.js b/public/assets/libs/bootstrap-datepicker/locales/bootstrap-datepicker.si.min.js new file mode 100644 index 0000000..b9746b8 --- /dev/null +++ b/public/assets/libs/bootstrap-datepicker/locales/bootstrap-datepicker.si.min.js @@ -0,0 +1 @@ +!function(a){a.fn.datepicker.dates.si={days:["ඉරිදා","සඳුදා","අඟහරුවාදා","බදාදා","බ්‍රහස්පතින්දා","සිකුරාදා","සෙනසුරාදා"],daysShort:["ඉරි","සඳු","අඟ","බදා","බ්‍රහ","සිකු","සෙන"],daysMin:["ඉ","ස","අ","බ","බ්‍ර","සි","සෙ"],months:["ජනවාරි","පෙබරවාරි","මාර්තු","අප්‍රේල්","මැයි","ජුනි","ජූලි","අගෝස්තු","සැප්තැම්බර්","ඔක්තෝබර්","නොවැම්බර්","දෙසැම්බර්"],monthsShort:["ජන","පෙබ","මාර්","අප්‍රේ","මැයි","ජුනි","ජූලි","අගෝ","සැප්","ඔක්","නොවැ","දෙසැ"],today:"අද",monthsTitle:"මාස",clear:"මකන්න",weekStart:0,format:"yyyy-mm-dd"}}(jQuery); \ No newline at end of file diff --git a/public/assets/libs/bootstrap-datepicker/locales/bootstrap-datepicker.sk.min.js b/public/assets/libs/bootstrap-datepicker/locales/bootstrap-datepicker.sk.min.js new file mode 100644 index 0000000..79a9267 --- /dev/null +++ b/public/assets/libs/bootstrap-datepicker/locales/bootstrap-datepicker.sk.min.js @@ -0,0 +1 @@ +!function(a){a.fn.datepicker.dates.sk={days:["Nedeľa","Pondelok","Utorok","Streda","Štvrtok","Piatok","Sobota"],daysShort:["Ned","Pon","Uto","Str","Štv","Pia","Sob"],daysMin:["Ne","Po","Ut","St","Št","Pia","So"],months:["Január","Február","Marec","Apríl","Máj","Jún","Júl","August","September","Október","November","December"],monthsShort:["Jan","Feb","Mar","Apr","Máj","Jún","Júl","Aug","Sep","Okt","Nov","Dec"],today:"Dnes",clear:"Vymazať",weekStart:1,format:"d.m.yyyy"}}(jQuery); \ No newline at end of file diff --git a/public/assets/libs/bootstrap-datepicker/locales/bootstrap-datepicker.sl.min.js b/public/assets/libs/bootstrap-datepicker/locales/bootstrap-datepicker.sl.min.js new file mode 100644 index 0000000..831cf73 --- /dev/null +++ b/public/assets/libs/bootstrap-datepicker/locales/bootstrap-datepicker.sl.min.js @@ -0,0 +1 @@ +!function(a){a.fn.datepicker.dates.sl={days:["Nedelja","Ponedeljek","Torek","Sreda","Četrtek","Petek","Sobota"],daysShort:["Ned","Pon","Tor","Sre","Čet","Pet","Sob"],daysMin:["Ne","Po","To","Sr","Če","Pe","So"],months:["Januar","Februar","Marec","April","Maj","Junij","Julij","Avgust","September","Oktober","November","December"],monthsShort:["Jan","Feb","Mar","Apr","Maj","Jun","Jul","Avg","Sep","Okt","Nov","Dec"],today:"Danes",weekStart:1}}(jQuery); \ No newline at end of file diff --git a/public/assets/libs/bootstrap-datepicker/locales/bootstrap-datepicker.sq.min.js b/public/assets/libs/bootstrap-datepicker/locales/bootstrap-datepicker.sq.min.js new file mode 100644 index 0000000..8c58605 --- /dev/null +++ b/public/assets/libs/bootstrap-datepicker/locales/bootstrap-datepicker.sq.min.js @@ -0,0 +1 @@ +!function(a){a.fn.datepicker.dates.sq={days:["E Diel","E Hënë","E Martē","E Mërkurë","E Enjte","E Premte","E Shtunë"],daysShort:["Die","Hën","Mar","Mër","Enj","Pre","Shtu"],daysMin:["Di","Hë","Ma","Më","En","Pr","Sht"],months:["Janar","Shkurt","Mars","Prill","Maj","Qershor","Korrik","Gusht","Shtator","Tetor","Nëntor","Dhjetor"],monthsShort:["Jan","Shk","Mar","Pri","Maj","Qer","Korr","Gu","Sht","Tet","Nën","Dhjet"],monthsTitle:"Muaj",today:"Sot",weekStart:1,format:"dd/mm/yyyy",clear:"Pastro"}}(jQuery); \ No newline at end of file diff --git a/public/assets/libs/bootstrap-datepicker/locales/bootstrap-datepicker.sr-latin.min.js b/public/assets/libs/bootstrap-datepicker/locales/bootstrap-datepicker.sr-latin.min.js new file mode 100644 index 0000000..c6b7001 --- /dev/null +++ b/public/assets/libs/bootstrap-datepicker/locales/bootstrap-datepicker.sr-latin.min.js @@ -0,0 +1 @@ +!function(a){a.fn.datepicker.dates["sr-latin"]={days:["Nedelja","Ponedeljak","Utorak","Sreda","Četvrtak","Petak","Subota"],daysShort:["Ned","Pon","Uto","Sre","Čet","Pet","Sub"],daysMin:["N","Po","U","Sr","Č","Pe","Su"],months:["Januar","Februar","Mart","April","Maj","Jun","Jul","Avgust","Septembar","Oktobar","Novembar","Decembar"],monthsShort:["Jan","Feb","Mar","Apr","Maj","Jun","Jul","Avg","Sep","Okt","Nov","Dec"],today:"Danas",weekStart:1,format:"dd.mm.yyyy"}}(jQuery); \ No newline at end of file diff --git a/public/assets/libs/bootstrap-datepicker/locales/bootstrap-datepicker.sr.min.js b/public/assets/libs/bootstrap-datepicker/locales/bootstrap-datepicker.sr.min.js new file mode 100644 index 0000000..4e46dbf --- /dev/null +++ b/public/assets/libs/bootstrap-datepicker/locales/bootstrap-datepicker.sr.min.js @@ -0,0 +1 @@ +!function(a){a.fn.datepicker.dates.sr={days:["Недеља","Понедељак","Уторак","Среда","Четвртак","Петак","Субота"],daysShort:["Нед","Пон","Уто","Сре","Чет","Пет","Суб"],daysMin:["Н","По","У","Ср","Ч","Пе","Су"],months:["Јануар","Фебруар","Март","Април","Мај","Јун","Јул","Август","Септембар","Октобар","Новембар","Децембар"],monthsShort:["Јан","Феб","Мар","Апр","Мај","Јун","Јул","Авг","Сеп","Окт","Нов","Дец"],today:"Данас",weekStart:1,format:"dd.mm.yyyy"}}(jQuery); \ No newline at end of file diff --git a/public/assets/libs/bootstrap-datepicker/locales/bootstrap-datepicker.sv.min.js b/public/assets/libs/bootstrap-datepicker/locales/bootstrap-datepicker.sv.min.js new file mode 100644 index 0000000..7ab6bec --- /dev/null +++ b/public/assets/libs/bootstrap-datepicker/locales/bootstrap-datepicker.sv.min.js @@ -0,0 +1 @@ +!function(a){a.fn.datepicker.dates.sv={days:["söndag","måndag","tisdag","onsdag","torsdag","fredag","lördag"],daysShort:["sön","mån","tis","ons","tor","fre","lör"],daysMin:["sö","må","ti","on","to","fr","lö"],months:["januari","februari","mars","april","maj","juni","juli","augusti","september","oktober","november","december"],monthsShort:["jan","feb","mar","apr","maj","jun","jul","aug","sep","okt","nov","dec"],today:"Idag",format:"yyyy-mm-dd",weekStart:1,clear:"Rensa"}}(jQuery); \ No newline at end of file diff --git a/public/assets/libs/bootstrap-datepicker/locales/bootstrap-datepicker.sw.min.js b/public/assets/libs/bootstrap-datepicker/locales/bootstrap-datepicker.sw.min.js new file mode 100644 index 0000000..454d305 --- /dev/null +++ b/public/assets/libs/bootstrap-datepicker/locales/bootstrap-datepicker.sw.min.js @@ -0,0 +1 @@ +!function(a){a.fn.datepicker.dates.sw={days:["Jumapili","Jumatatu","Jumanne","Jumatano","Alhamisi","Ijumaa","Jumamosi"],daysShort:["J2","J3","J4","J5","Alh","Ij","J1"],daysMin:["2","3","4","5","A","I","1"],months:["Januari","Februari","Machi","Aprili","Mei","Juni","Julai","Agosti","Septemba","Oktoba","Novemba","Desemba"],monthsShort:["Jan","Feb","Mac","Apr","Mei","Jun","Jul","Ago","Sep","Okt","Nov","Des"],today:"Leo"}}(jQuery); \ No newline at end of file diff --git a/public/assets/libs/bootstrap-datepicker/locales/bootstrap-datepicker.ta.min.js b/public/assets/libs/bootstrap-datepicker/locales/bootstrap-datepicker.ta.min.js new file mode 100644 index 0000000..e790949 --- /dev/null +++ b/public/assets/libs/bootstrap-datepicker/locales/bootstrap-datepicker.ta.min.js @@ -0,0 +1 @@ +!function(a){a.fn.datepicker.dates.ta={days:["ஞாயிறு","திங்கள்","செவ்வாய்","புதன்","வியாழன்","வெள்ளி","சனி"],daysShort:["ஞாயி","திங்","செவ்","புத","வியா","வெள்","சனி"],daysMin:["ஞா","தி","செ","பு","வி","வெ","ச"],months:["ஜனவரி","பிப்ரவரி","மார்ச்","ஏப்ரல்","மே","ஜூன்","ஜூலை","ஆகஸ்டு","செப்டம்பர்","அக்டோபர்","நவம்பர்","டிசம்பர்"],monthsShort:["ஜன","பிப்","மார்","ஏப்","மே","ஜூன்","ஜூலை","ஆக","செப்","அக்","நவ","டிச"],today:"இன்று",monthsTitle:"மாதங்கள்",clear:"நீக்கு",weekStart:1,format:"dd/mm/yyyy"}}(jQuery); \ No newline at end of file diff --git a/public/assets/libs/bootstrap-datepicker/locales/bootstrap-datepicker.tg.min.js b/public/assets/libs/bootstrap-datepicker/locales/bootstrap-datepicker.tg.min.js new file mode 100644 index 0000000..104b6dd --- /dev/null +++ b/public/assets/libs/bootstrap-datepicker/locales/bootstrap-datepicker.tg.min.js @@ -0,0 +1 @@ +!function(a){a.fn.datepicker.dates.tg={days:["Якшанбе","Душанбе","Сешанбе","Чоршанбе","Панҷшанбе","Ҷумъа","Шанбе"],daysShort:["Яшб","Дшб","Сшб","Чшб","Пшб","Ҷум","Шнб"],daysMin:["Яш","Дш","Сш","Чш","Пш","Ҷм","Шб"],months:["Январ","Феврал","Март","Апрел","Май","Июн","Июл","Август","Сентябр","Октябр","Ноябр","Декабр"],monthsShort:["Янв","Фев","Мар","Апр","Май","Июн","Июл","Авг","Сен","Окт","Ноя","Дек"],today:"Имрӯз",monthsTitle:"Моҳҳо",clear:"Тоза намудан",weekStart:1,format:"dd.mm.yyyy"}}(jQuery); \ No newline at end of file diff --git a/public/assets/libs/bootstrap-datepicker/locales/bootstrap-datepicker.th.min.js b/public/assets/libs/bootstrap-datepicker/locales/bootstrap-datepicker.th.min.js new file mode 100644 index 0000000..1e398ba --- /dev/null +++ b/public/assets/libs/bootstrap-datepicker/locales/bootstrap-datepicker.th.min.js @@ -0,0 +1 @@ +!function(a){a.fn.datepicker.dates.th={days:["อาทิตย์","จันทร์","อังคาร","พุธ","พฤหัส","ศุกร์","เสาร์","อาทิตย์"],daysShort:["อา","จ","อ","พ","พฤ","ศ","ส","อา"],daysMin:["อา","จ","อ","พ","พฤ","ศ","ส","อา"],months:["มกราคม","กุมภาพันธ์","มีนาคม","เมษายน","พฤษภาคม","มิถุนายน","กรกฎาคม","สิงหาคม","กันยายน","ตุลาคม","พฤศจิกายน","ธันวาคม"],monthsShort:["ม.ค.","ก.พ.","มี.ค.","เม.ย.","พ.ค.","มิ.ย.","ก.ค.","ส.ค.","ก.ย.","ต.ค.","พ.ย.","ธ.ค."],today:"วันนี้"}}(jQuery); \ No newline at end of file diff --git a/public/assets/libs/bootstrap-datepicker/locales/bootstrap-datepicker.tk.min.js b/public/assets/libs/bootstrap-datepicker/locales/bootstrap-datepicker.tk.min.js new file mode 100644 index 0000000..716edef --- /dev/null +++ b/public/assets/libs/bootstrap-datepicker/locales/bootstrap-datepicker.tk.min.js @@ -0,0 +1 @@ +!function(a){a.fn.datepicker.dates.tk={days:["Ýekşenbe","Duşenbe","Sişenbe","Çarşenbe","Penşenbe","Anna","Şenbe"],daysShort:["Ýek","Duş","Siş","Çar","Pen","Ann","Şen"],daysMin:["Ýe","Du","Si","Ça","Pe","An","Şe"],months:["Ýanwar","Fewral","Mart","Aprel","Maý","Iýun","Iýul","Awgust","Sentýabr","Oktýabr","Noýabr","Dekabr"],monthsShort:["Ýan","Few","Mar","Apr","Maý","Iýn","Iýl","Awg","Sen","Okt","Noý","Dek"],today:"Bu gün",monthsTitle:"Aýlar",clear:"Aýyr",weekStart:1,format:"dd.mm.yyyy"}}(jQuery); \ No newline at end of file diff --git a/public/assets/libs/bootstrap-datepicker/locales/bootstrap-datepicker.tr.min.js b/public/assets/libs/bootstrap-datepicker/locales/bootstrap-datepicker.tr.min.js new file mode 100644 index 0000000..7889b11 --- /dev/null +++ b/public/assets/libs/bootstrap-datepicker/locales/bootstrap-datepicker.tr.min.js @@ -0,0 +1 @@ +!function(a){a.fn.datepicker.dates.tr={days:["Pazar","Pazartesi","Salı","Çarşamba","Perşembe","Cuma","Cumartesi"],daysShort:["Pz","Pzt","Sal","Çrş","Prş","Cu","Cts"],daysMin:["Pz","Pzt","Sa","Çr","Pr","Cu","Ct"],months:["Ocak","Şubat","Mart","Nisan","Mayıs","Haziran","Temmuz","Ağustos","Eylül","Ekim","Kasım","Aralık"],monthsShort:["Oca","Şub","Mar","Nis","May","Haz","Tem","Ağu","Eyl","Eki","Kas","Ara"],today:"Bugün",clear:"Temizle",weekStart:1,format:"dd.mm.yyyy"}}(jQuery); \ No newline at end of file diff --git a/public/assets/libs/bootstrap-datepicker/locales/bootstrap-datepicker.uk.min.js b/public/assets/libs/bootstrap-datepicker/locales/bootstrap-datepicker.uk.min.js new file mode 100644 index 0000000..41b02e6 --- /dev/null +++ b/public/assets/libs/bootstrap-datepicker/locales/bootstrap-datepicker.uk.min.js @@ -0,0 +1 @@ +!function(a){a.fn.datepicker.dates.uk={days:["Неділя","Понеділок","Вівторок","Середа","Четвер","П'ятниця","Субота"],daysShort:["Нед","Пнд","Втр","Срд","Чтв","Птн","Суб"],daysMin:["Нд","Пн","Вт","Ср","Чт","Пт","Сб"],months:["Cічень","Лютий","Березень","Квітень","Травень","Червень","Липень","Серпень","Вересень","Жовтень","Листопад","Грудень"],monthsShort:["Січ","Лют","Бер","Кві","Тра","Чер","Лип","Сер","Вер","Жов","Лис","Гру"],today:"Сьогодні",clear:"Очистити",format:"dd.mm.yyyy",weekStart:1}}(jQuery); \ No newline at end of file diff --git a/public/assets/libs/bootstrap-datepicker/locales/bootstrap-datepicker.uz-cyrl.min.js b/public/assets/libs/bootstrap-datepicker/locales/bootstrap-datepicker.uz-cyrl.min.js new file mode 100644 index 0000000..a0a8f21 --- /dev/null +++ b/public/assets/libs/bootstrap-datepicker/locales/bootstrap-datepicker.uz-cyrl.min.js @@ -0,0 +1 @@ +!function(a){a.fn.datepicker.dates["uz-cyrl"]={days:["Якшанба","Душанба","Сешанба","Чоршанба","Пайшанба","Жума","Шанба"],daysShort:["Якш","Ду","Се","Чор","Пай","Жу","Ша"],daysMin:["Як","Ду","Се","Чо","Па","Жу","Ша"],months:["Январь","Февраль","Март","Апрель","Май","Июнь","Июль","Август","Сентябрь","Октябрь","Ноябрь","Декабрь"],monthsShort:["Янв","Фев","Мар","Апр","Май","Июн","Июл","Авг","Сен","Окт","Ноя","Дек"],today:"Бугун",clear:"Ўчириш",format:"dd.mm.yyyy",weekStart:1,monthsTitle:"Ойлар"}}(jQuery); \ No newline at end of file diff --git a/public/assets/libs/bootstrap-datepicker/locales/bootstrap-datepicker.uz-latn.min.js b/public/assets/libs/bootstrap-datepicker/locales/bootstrap-datepicker.uz-latn.min.js new file mode 100644 index 0000000..2f58e34 --- /dev/null +++ b/public/assets/libs/bootstrap-datepicker/locales/bootstrap-datepicker.uz-latn.min.js @@ -0,0 +1 @@ +!function(a){a.fn.datepicker.dates["uz-latn"]={days:["Yakshanba","Dushanba","Seshanba","Chorshanba","Payshanba","Juma","Shanba"],daysShort:["Yak","Du","Se","Chor","Pay","Ju","Sha"],daysMin:["Ya","Du","Se","Cho","Pa","Ju","Sha"],months:["Yanvar","Fevral","Mart","Aprel","May","Iyun","Iyul","Avgust","Sentabr","Oktabr","Noyabr","Dekabr"],monthsShort:["Yan","Fev","Mar","Apr","May","Iyn","Iyl","Avg","Sen","Okt","Noy","Dek"],today:"Bugun",clear:"O'chirish",format:"dd.mm.yyyy",weekStart:1,monthsTitle:"Oylar"}}(jQuery); \ No newline at end of file diff --git a/public/assets/libs/bootstrap-datepicker/locales/bootstrap-datepicker.vi.min.js b/public/assets/libs/bootstrap-datepicker/locales/bootstrap-datepicker.vi.min.js new file mode 100644 index 0000000..3311d23 --- /dev/null +++ b/public/assets/libs/bootstrap-datepicker/locales/bootstrap-datepicker.vi.min.js @@ -0,0 +1 @@ +!function(a){a.fn.datepicker.dates.vi={days:["Chủ nhật","Thứ hai","Thứ ba","Thứ tư","Thứ năm","Thứ sáu","Thứ bảy"],daysShort:["CN","Thứ 2","Thứ 3","Thứ 4","Thứ 5","Thứ 6","Thứ 7"],daysMin:["CN","T2","T3","T4","T5","T6","T7"],months:["Tháng 1","Tháng 2","Tháng 3","Tháng 4","Tháng 5","Tháng 6","Tháng 7","Tháng 8","Tháng 9","Tháng 10","Tháng 11","Tháng 12"],monthsShort:["Th1","Th2","Th3","Th4","Th5","Th6","Th7","Th8","Th9","Th10","Th11","Th12"],today:"Hôm nay",clear:"Xóa",format:"dd/mm/yyyy"}}(jQuery); \ No newline at end of file diff --git a/public/assets/libs/bootstrap-datepicker/locales/bootstrap-datepicker.zh-CN.min.js b/public/assets/libs/bootstrap-datepicker/locales/bootstrap-datepicker.zh-CN.min.js new file mode 100644 index 0000000..8e6920b --- /dev/null +++ b/public/assets/libs/bootstrap-datepicker/locales/bootstrap-datepicker.zh-CN.min.js @@ -0,0 +1 @@ +!function(a){a.fn.datepicker.dates["zh-CN"]={days:["星期日","星期一","星期二","星期三","星期四","星期五","星期六"],daysShort:["周日","周一","周二","周三","周四","周五","周六"],daysMin:["日","一","二","三","四","五","六"],months:["一月","二月","三月","四月","五月","六月","七月","八月","九月","十月","十一月","十二月"],monthsShort:["1月","2月","3月","4月","5月","6月","7月","8月","9月","10月","11月","12月"],today:"今天",monthsTitle:"选择月份",clear:"清除",format:"yyyy-mm-dd",titleFormat:"yyyy年mm月",weekStart:1}}(jQuery); \ No newline at end of file diff --git a/public/assets/libs/bootstrap-datepicker/locales/bootstrap-datepicker.zh-TW.min.js b/public/assets/libs/bootstrap-datepicker/locales/bootstrap-datepicker.zh-TW.min.js new file mode 100644 index 0000000..e309c1d --- /dev/null +++ b/public/assets/libs/bootstrap-datepicker/locales/bootstrap-datepicker.zh-TW.min.js @@ -0,0 +1 @@ +!function(a){a.fn.datepicker.dates["zh-TW"]={days:["星期日","星期一","星期二","星期三","星期四","星期五","星期六"],daysShort:["週日","週一","週二","週三","週四","週五","週六"],daysMin:["日","一","二","三","四","五","六"],months:["一月","二月","三月","四月","五月","六月","七月","八月","九月","十月","十一月","十二月"],monthsShort:["1月","2月","3月","4月","5月","6月","7月","8月","9月","10月","11月","12月"],today:"今天",format:"yyyy年mm月dd日",weekStart:1,clear:"清除"}}(jQuery); \ No newline at end of file diff --git a/public/assets/libs/bootstrap-editable/css/bootstrap-editable.css b/public/assets/libs/bootstrap-editable/css/bootstrap-editable.css new file mode 100644 index 0000000..26308cd --- /dev/null +++ b/public/assets/libs/bootstrap-editable/css/bootstrap-editable.css @@ -0,0 +1,657 @@ +/*! X-editable - v1.5.1 +* In-place editing with Twitter Bootstrap, jQuery UI or pure jQuery +* http://github.com/vitalets/x-editable +* Copyright (c) 2013 Vitaliy Potapov; Licensed MIT */ +.editableform { + margin-bottom: 0; /* overwrites bootstrap margin */ +} + +.editableform .control-group { + margin-bottom: 0; /* overwrites bootstrap margin */ + white-space: nowrap; /* prevent wrapping buttons on new line */ + line-height: 20px; /* overwriting bootstrap line-height. See #133 */ +} + +/* + BS3 width:1005 for inputs breaks editable form in popup + See: https://github.com/vitalets/x-editable/issues/393 +*/ +.editableform .form-control { + width: auto; +} + +.editable-buttons { + display: inline-block; /* should be inline to take effect of parent's white-space: nowrap */ + vertical-align: middle; + margin-right: 7px; + /* inline-block emulation for IE7*/ + zoom: 1; + *display: inline; +} + +.editable-buttons.editable-buttons-bottom { + display: block; + margin-top: 7px; + margin-right: 0; +} + +.editable-input { + vertical-align: middle; + display: inline-block; /* should be inline to take effect of parent's white-space: nowrap */ + width: auto; /* bootstrap-responsive has width: 100% that breakes layout */ + white-space: normal; /* reset white-space decalred in parent*/ + /* display-inline emulation for IE7*/ + zoom: 1; + *display: inline; +} + +.editable-buttons .editable-cancel { + margin-right: 7px; +} + +/*for jquery-ui buttons need set height to look more pretty*/ +.editable-buttons button.ui-button-icon-only { + height: 24px; + width: 30px; +} + +.editableform-loading { + background: url('../img/loading.gif') center center no-repeat; + height: 25px; + width: auto; + min-width: 25px; +} + +.editable-inline .editableform-loading { + background-position: right 5px; +} + + .editable-error-block { + max-width: 300px; + margin: 0 10px 0 0; + width: auto; + white-space: normal; +} + +/*add padding for jquery ui*/ +.editable-error-block.ui-state-error { + padding: 3px; +} + +.editable-error { + color: red; +} + +/* ---- For specific types ---- */ + +.editableform .editable-date { + padding: 0; + margin: 0; + float: right; +} + +/* move datepicker icon to center of add-on button. See https://github.com/vitalets/x-editable/issues/183 */ +.editable-inline .add-on .icon-th { + margin-top: 3px; + margin-right: 1px; +} + + +/* checklist vertical alignment */ +.editable-checklist label input[type="checkbox"], +.editable-checklist label span { + vertical-align: middle; + margin: 0; +} + +.editable-checklist label { + white-space: nowrap; +} + +/* set exact width of textarea to fit buttons toolbar */ +.editable-wysihtml5 { + width: 566px; + height: 250px; +} + +/* clear button shown as link in date inputs */ +.editable-clear { + clear: both; + font-size: 0.9em; + text-decoration: none; + text-align: left; +} + +/* IOS-style clear button for text inputs */ +.editable-clear-x { + background: url('../img/clear.png') center center no-repeat; + display: block; + width: 13px; + height: 13px; + position: absolute; + opacity: 0.6; + z-index: 100; + + top: 50%; + left: 6px; + margin-top: -6px; + +} + +.editable-clear-x:hover { + opacity: 1; +} + +.editable-pre-wrapped { + white-space: pre-wrap; +} +.editable-container.editable-popup { + max-width: none !important; /* without this rule poshytip/tooltip does not stretch */ +} + +.editable-container.popover { + width: auto; /* without this rule popover does not stretch */ +} + +.editable-container.editable-inline { + display: inline-block; + vertical-align: middle; + width: auto; + /* inline-block emulation for IE7*/ + zoom: 1; + *display: inline; +} + +.editable-container.ui-widget { + font-size: inherit; /* jqueryui widget font 1.1em too big, overwrite it */ + z-index: 9990; /* should be less than select2 dropdown z-index to close dropdown first when click */ +} +.editable-click, +a.editable-click, +a.editable-click:hover { + text-decoration: none; + border-bottom: dashed 1px #0088cc; +} + +.editable-click.editable-disabled, +a.editable-click.editable-disabled, +a.editable-click.editable-disabled:hover { + color: #585858; + cursor: default; + border-bottom: none; +} + +.editable-empty, .editable-empty:hover, .editable-empty:focus{ + font-style: italic; + color: #DD1144; + /* border-bottom: none; */ + text-decoration: none; +} + +.editable-unsaved { + font-weight: bold; +} + +.editable-unsaved:after { +/* content: '*'*/ +} + +.editable-bg-transition { + -webkit-transition: background-color 1400ms ease-out; + -moz-transition: background-color 1400ms ease-out; + -o-transition: background-color 1400ms ease-out; + -ms-transition: background-color 1400ms ease-out; + transition: background-color 1400ms ease-out; +} + +/*see https://github.com/vitalets/x-editable/issues/139 */ +.form-horizontal .editable +{ + padding-top: 5px; + display:inline-block; +} + + +/*! + * Datepicker for Bootstrap + * + * Copyright 2012 Stefan Petre + * Improvements by Andrew Rowls + * Licensed under the Apache License v2.0 + * http://www.apache.org/licenses/LICENSE-2.0 + * + */ +.datepicker { + padding: 4px; + -webkit-border-radius: 4px; + -moz-border-radius: 4px; + border-radius: 4px; + direction: rtl; + /*.dow { + border-top: 1px solid #ddd !important; + }*/ + +} +.datepicker-inline { + width: 220px; +} +.datepicker-dropdown { + top: 0; + right: 0; +} +.datepicker-dropdown:before { + content: ''; + display: inline-block; + border-right: 7px solid transparent; + border-left: 7px solid transparent; + border-bottom: 7px solid #ccc; + border-bottom-color: rgba(0, 0, 0, 0.2); + position: absolute; + top: -7px; + right: 6px; +} +.datepicker-dropdown:after { + content: ''; + display: inline-block; + border-right: 6px solid transparent; + border-left: 6px solid transparent; + border-bottom: 6px solid #ffffff; + position: absolute; + top: -6px; + right: 7px; +} +.datepicker > div { + display: none; +} +.datepicker.days div.datepicker-days { + display: block; +} +.datepicker.months div.datepicker-months { + display: block; +} +.datepicker.years div.datepicker-years { + display: block; +} +.datepicker table { + margin: 0; +} +.datepicker td, +.datepicker th { + text-align: center; + width: 20px; + height: 20px; + -webkit-border-radius: 4px; + -moz-border-radius: 4px; + border-radius: 4px; + border: none; +} +.table-striped .datepicker table tr td, +.table-striped .datepicker table tr th { + background-color: transparent; +} +.datepicker table tr td.day:hover { + background: #eeeeee; + cursor: pointer; +} +.datepicker table tr td.old, +.datepicker table tr td.new { + color: #999999; +} +.datepicker table tr td.disabled, +.datepicker table tr td.disabled:hover { + background: none; + color: #999999; + cursor: default; +} +.datepicker table tr td.today, +.datepicker table tr td.today:hover, +.datepicker table tr td.today.disabled, +.datepicker table tr td.today.disabled:hover { + background-color: #fde19a; + background-image: -moz-linear-gradient(top, #fdd49a, #fdf59a); + background-image: -ms-linear-gradient(top, #fdd49a, #fdf59a); + background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#fdd49a), to(#fdf59a)); + background-image: -webkit-linear-gradient(top, #fdd49a, #fdf59a); + background-image: -o-linear-gradient(top, #fdd49a, #fdf59a); + background-image: linear-gradient(top, #fdd49a, #fdf59a); + background-repeat: repeat-x; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fdd49a', endColorstr='#fdf59a', GradientType=0); + border-color: #fdf59a #fdf59a #fbed50; + border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25); + filter: progid:DXImageTransform.Microsoft.gradient(enabled=false); + color: #000; +} +.datepicker table tr td.today:hover, +.datepicker table tr td.today:hover:hover, +.datepicker table tr td.today.disabled:hover, +.datepicker table tr td.today.disabled:hover:hover, +.datepicker table tr td.today:active, +.datepicker table tr td.today:hover:active, +.datepicker table tr td.today.disabled:active, +.datepicker table tr td.today.disabled:hover:active, +.datepicker table tr td.today.active, +.datepicker table tr td.today:hover.active, +.datepicker table tr td.today.disabled.active, +.datepicker table tr td.today.disabled:hover.active, +.datepicker table tr td.today.disabled, +.datepicker table tr td.today:hover.disabled, +.datepicker table tr td.today.disabled.disabled, +.datepicker table tr td.today.disabled:hover.disabled, +.datepicker table tr td.today[disabled], +.datepicker table tr td.today:hover[disabled], +.datepicker table tr td.today.disabled[disabled], +.datepicker table tr td.today.disabled:hover[disabled] { + background-color: #fdf59a; +} +.datepicker table tr td.today:active, +.datepicker table tr td.today:hover:active, +.datepicker table tr td.today.disabled:active, +.datepicker table tr td.today.disabled:hover:active, +.datepicker table tr td.today.active, +.datepicker table tr td.today:hover.active, +.datepicker table tr td.today.disabled.active, +.datepicker table tr td.today.disabled:hover.active { + background-color: #fbf069 \9; +} +.datepicker table tr td.today:hover:hover { + color: #000; +} +.datepicker table tr td.today.active:hover { + color: #fff; +} +.datepicker table tr td.range, +.datepicker table tr td.range:hover, +.datepicker table tr td.range.disabled, +.datepicker table tr td.range.disabled:hover { + background: #eeeeee; + -webkit-border-radius: 0; + -moz-border-radius: 0; + border-radius: 0; +} +.datepicker table tr td.range.today, +.datepicker table tr td.range.today:hover, +.datepicker table tr td.range.today.disabled, +.datepicker table tr td.range.today.disabled:hover { + background-color: #f3d17a; + background-image: -moz-linear-gradient(top, #f3c17a, #f3e97a); + background-image: -ms-linear-gradient(top, #f3c17a, #f3e97a); + background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#f3c17a), to(#f3e97a)); + background-image: -webkit-linear-gradient(top, #f3c17a, #f3e97a); + background-image: -o-linear-gradient(top, #f3c17a, #f3e97a); + background-image: linear-gradient(top, #f3c17a, #f3e97a); + background-repeat: repeat-x; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#f3c17a', endColorstr='#f3e97a', GradientType=0); + border-color: #f3e97a #f3e97a #edde34; + border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25); + filter: progid:DXImageTransform.Microsoft.gradient(enabled=false); + -webkit-border-radius: 0; + -moz-border-radius: 0; + border-radius: 0; +} +.datepicker table tr td.range.today:hover, +.datepicker table tr td.range.today:hover:hover, +.datepicker table tr td.range.today.disabled:hover, +.datepicker table tr td.range.today.disabled:hover:hover, +.datepicker table tr td.range.today:active, +.datepicker table tr td.range.today:hover:active, +.datepicker table tr td.range.today.disabled:active, +.datepicker table tr td.range.today.disabled:hover:active, +.datepicker table tr td.range.today.active, +.datepicker table tr td.range.today:hover.active, +.datepicker table tr td.range.today.disabled.active, +.datepicker table tr td.range.today.disabled:hover.active, +.datepicker table tr td.range.today.disabled, +.datepicker table tr td.range.today:hover.disabled, +.datepicker table tr td.range.today.disabled.disabled, +.datepicker table tr td.range.today.disabled:hover.disabled, +.datepicker table tr td.range.today[disabled], +.datepicker table tr td.range.today:hover[disabled], +.datepicker table tr td.range.today.disabled[disabled], +.datepicker table tr td.range.today.disabled:hover[disabled] { + background-color: #f3e97a; +} +.datepicker table tr td.range.today:active, +.datepicker table tr td.range.today:hover:active, +.datepicker table tr td.range.today.disabled:active, +.datepicker table tr td.range.today.disabled:hover:active, +.datepicker table tr td.range.today.active, +.datepicker table tr td.range.today:hover.active, +.datepicker table tr td.range.today.disabled.active, +.datepicker table tr td.range.today.disabled:hover.active { + background-color: #efe24b \9; +} +.datepicker table tr td.selected, +.datepicker table tr td.selected:hover, +.datepicker table tr td.selected.disabled, +.datepicker table tr td.selected.disabled:hover { + background-color: #9e9e9e; + background-image: -moz-linear-gradient(top, #b3b3b3, #808080); + background-image: -ms-linear-gradient(top, #b3b3b3, #808080); + background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#b3b3b3), to(#808080)); + background-image: -webkit-linear-gradient(top, #b3b3b3, #808080); + background-image: -o-linear-gradient(top, #b3b3b3, #808080); + background-image: linear-gradient(top, #b3b3b3, #808080); + background-repeat: repeat-x; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#b3b3b3', endColorstr='#808080', GradientType=0); + border-color: #808080 #808080 #595959; + border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25); + filter: progid:DXImageTransform.Microsoft.gradient(enabled=false); + color: #fff; + text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25); +} +.datepicker table tr td.selected:hover, +.datepicker table tr td.selected:hover:hover, +.datepicker table tr td.selected.disabled:hover, +.datepicker table tr td.selected.disabled:hover:hover, +.datepicker table tr td.selected:active, +.datepicker table tr td.selected:hover:active, +.datepicker table tr td.selected.disabled:active, +.datepicker table tr td.selected.disabled:hover:active, +.datepicker table tr td.selected.active, +.datepicker table tr td.selected:hover.active, +.datepicker table tr td.selected.disabled.active, +.datepicker table tr td.selected.disabled:hover.active, +.datepicker table tr td.selected.disabled, +.datepicker table tr td.selected:hover.disabled, +.datepicker table tr td.selected.disabled.disabled, +.datepicker table tr td.selected.disabled:hover.disabled, +.datepicker table tr td.selected[disabled], +.datepicker table tr td.selected:hover[disabled], +.datepicker table tr td.selected.disabled[disabled], +.datepicker table tr td.selected.disabled:hover[disabled] { + background-color: #808080; +} +.datepicker table tr td.selected:active, +.datepicker table tr td.selected:hover:active, +.datepicker table tr td.selected.disabled:active, +.datepicker table tr td.selected.disabled:hover:active, +.datepicker table tr td.selected.active, +.datepicker table tr td.selected:hover.active, +.datepicker table tr td.selected.disabled.active, +.datepicker table tr td.selected.disabled:hover.active { + background-color: #666666 \9; +} +.datepicker table tr td.active, +.datepicker table tr td.active:hover, +.datepicker table tr td.active.disabled, +.datepicker table tr td.active.disabled:hover { + background-color: #006dcc; + background-image: -moz-linear-gradient(top, #0088cc, #0044cc); + background-image: -ms-linear-gradient(top, #0088cc, #0044cc); + background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#0088cc), to(#0044cc)); + background-image: -webkit-linear-gradient(top, #0088cc, #0044cc); + background-image: -o-linear-gradient(top, #0088cc, #0044cc); + background-image: linear-gradient(top, #0088cc, #0044cc); + background-repeat: repeat-x; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#0088cc', endColorstr='#0044cc', GradientType=0); + border-color: #0044cc #0044cc #002a80; + border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25); + filter: progid:DXImageTransform.Microsoft.gradient(enabled=false); + color: #fff; + text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25); +} +.datepicker table tr td.active:hover, +.datepicker table tr td.active:hover:hover, +.datepicker table tr td.active.disabled:hover, +.datepicker table tr td.active.disabled:hover:hover, +.datepicker table tr td.active:active, +.datepicker table tr td.active:hover:active, +.datepicker table tr td.active.disabled:active, +.datepicker table tr td.active.disabled:hover:active, +.datepicker table tr td.active.active, +.datepicker table tr td.active:hover.active, +.datepicker table tr td.active.disabled.active, +.datepicker table tr td.active.disabled:hover.active, +.datepicker table tr td.active.disabled, +.datepicker table tr td.active:hover.disabled, +.datepicker table tr td.active.disabled.disabled, +.datepicker table tr td.active.disabled:hover.disabled, +.datepicker table tr td.active[disabled], +.datepicker table tr td.active:hover[disabled], +.datepicker table tr td.active.disabled[disabled], +.datepicker table tr td.active.disabled:hover[disabled] { + background-color: #0044cc; +} +.datepicker table tr td.active:active, +.datepicker table tr td.active:hover:active, +.datepicker table tr td.active.disabled:active, +.datepicker table tr td.active.disabled:hover:active, +.datepicker table tr td.active.active, +.datepicker table tr td.active:hover.active, +.datepicker table tr td.active.disabled.active, +.datepicker table tr td.active.disabled:hover.active { + background-color: #003399 \9; +} +.datepicker table tr td span { + display: block; + width: 23%; + height: 54px; + line-height: 54px; + float: right; + margin: 1%; + cursor: pointer; + -webkit-border-radius: 4px; + -moz-border-radius: 4px; + border-radius: 4px; +} +.datepicker table tr td span:hover { + background: #eeeeee; +} +.datepicker table tr td span.disabled, +.datepicker table tr td span.disabled:hover { + background: none; + color: #999999; + cursor: default; +} +.datepicker table tr td span.active, +.datepicker table tr td span.active:hover, +.datepicker table tr td span.active.disabled, +.datepicker table tr td span.active.disabled:hover { + background-color: #006dcc; + background-image: -moz-linear-gradient(top, #0088cc, #0044cc); + background-image: -ms-linear-gradient(top, #0088cc, #0044cc); + background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#0088cc), to(#0044cc)); + background-image: -webkit-linear-gradient(top, #0088cc, #0044cc); + background-image: -o-linear-gradient(top, #0088cc, #0044cc); + background-image: linear-gradient(top, #0088cc, #0044cc); + background-repeat: repeat-x; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#0088cc', endColorstr='#0044cc', GradientType=0); + border-color: #0044cc #0044cc #002a80; + border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25); + filter: progid:DXImageTransform.Microsoft.gradient(enabled=false); + color: #fff; + text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25); +} +.datepicker table tr td span.active:hover, +.datepicker table tr td span.active:hover:hover, +.datepicker table tr td span.active.disabled:hover, +.datepicker table tr td span.active.disabled:hover:hover, +.datepicker table tr td span.active:active, +.datepicker table tr td span.active:hover:active, +.datepicker table tr td span.active.disabled:active, +.datepicker table tr td span.active.disabled:hover:active, +.datepicker table tr td span.active.active, +.datepicker table tr td span.active:hover.active, +.datepicker table tr td span.active.disabled.active, +.datepicker table tr td span.active.disabled:hover.active, +.datepicker table tr td span.active.disabled, +.datepicker table tr td span.active:hover.disabled, +.datepicker table tr td span.active.disabled.disabled, +.datepicker table tr td span.active.disabled:hover.disabled, +.datepicker table tr td span.active[disabled], +.datepicker table tr td span.active:hover[disabled], +.datepicker table tr td span.active.disabled[disabled], +.datepicker table tr td span.active.disabled:hover[disabled] { + background-color: #0044cc; +} +.datepicker table tr td span.active:active, +.datepicker table tr td span.active:hover:active, +.datepicker table tr td span.active.disabled:active, +.datepicker table tr td span.active.disabled:hover:active, +.datepicker table tr td span.active.active, +.datepicker table tr td span.active:hover.active, +.datepicker table tr td span.active.disabled.active, +.datepicker table tr td span.active.disabled:hover.active { + background-color: #003399 \9; +} +.datepicker table tr td span.old, +.datepicker table tr td span.new { + color: #999999; +} +.datepicker th.datepicker-switch { + width: 145px; +} +.datepicker thead tr:first-child th, +.datepicker tfoot tr th { + cursor: pointer; +} +.datepicker thead tr:first-child th:hover, +.datepicker tfoot tr th:hover { + background: #eeeeee; +} +.datepicker .cw { + font-size: 10px; + width: 12px; + padding: 0 5px 0 2px; + vertical-align: middle; +} +.datepicker thead tr:first-child th.cw { + cursor: default; + background-color: transparent; +} +.input-append.date .add-on i, +.input-prepend.date .add-on i { + display: block; + cursor: pointer; + width: 16px; + height: 16px; +} +.input-daterange input { + text-align: center; +} +.input-daterange input:first-child { + -webkit-border-radius: 0 3px 3px 0; + -moz-border-radius: 0 3px 3px 0; + border-radius: 0 3px 3px 0; +} +.input-daterange input:last-child { + -webkit-border-radius: 3px 0 0 3px; + -moz-border-radius: 3px 0 0 3px; + border-radius: 3px 0 0 3px; +} +.input-daterange .add-on { + display: inline-block; + width: auto; + min-width: 16px; + height: 18px; + padding: 4px 5px; + font-weight: normal; + line-height: 18px; + text-align: center; + text-shadow: 0 1px 0 #ffffff; + vertical-align: middle; + background-color: #eeeeee; + border: 1px solid #ccc; + margin-right: -5px; + margin-left: -5px; +} diff --git a/public/assets/libs/bootstrap-editable/img/clear.png b/public/assets/libs/bootstrap-editable/img/clear.png new file mode 100644 index 0000000..580b52a Binary files /dev/null and b/public/assets/libs/bootstrap-editable/img/clear.png differ diff --git a/public/assets/libs/bootstrap-editable/img/loading.gif b/public/assets/libs/bootstrap-editable/img/loading.gif new file mode 100644 index 0000000..5b33f7e Binary files /dev/null and b/public/assets/libs/bootstrap-editable/img/loading.gif differ diff --git a/public/assets/libs/bootstrap-editable/js/index.js b/public/assets/libs/bootstrap-editable/js/index.js new file mode 100644 index 0000000..257633a --- /dev/null +++ b/public/assets/libs/bootstrap-editable/js/index.js @@ -0,0 +1,6807 @@ +/*! X-editable - v1.5.1 +* In-place editing with Twitter Bootstrap, jQuery UI or pure jQuery +* http://github.com/vitalets/x-editable +* Copyright (c) 2013 Vitaliy Potapov; Licensed MIT */ +/** +Form with single input element, two buttons and two states: normal/loading. +Applied as jQuery method to DIV tag (not to form tag!). This is because form can be in loading state when spinner shown. +Editableform is linked with one of input types, e.g. 'text', 'select' etc. + +@class editableform +@uses text +@uses textarea +**/ +(function ($) { + "use strict"; + + var EditableForm = function (div, options) { + this.options = $.extend({}, $.fn.editableform.defaults, options); + this.$div = $(div); //div, containing form. Not form tag. Not editable-element. + if(!this.options.scope) { + this.options.scope = this; + } + //nothing shown after init + }; + + EditableForm.prototype = { + constructor: EditableForm, + initInput: function() { //called once + //take input from options (as it is created in editable-element) + this.input = this.options.input; + + //set initial value + //todo: may be add check: typeof str === 'string' ? + this.value = this.input.str2value(this.options.value); + + //prerender: get input.$input + this.input.prerender(); + }, + initTemplate: function() { + this.$form = $($.fn.editableform.template); + }, + initButtons: function() { + var $btn = this.$form.find('.editable-buttons'); + $btn.append($.fn.editableform.buttons); + if(this.options.showbuttons === 'bottom') { + $btn.addClass('editable-buttons-bottom'); + } + }, + /** + Renders editableform + + @method render + **/ + render: function() { + //init loader + this.$loading = $($.fn.editableform.loading); + this.$div.empty().append(this.$loading); + + //init form template and buttons + this.initTemplate(); + if(this.options.showbuttons) { + this.initButtons(); + } else { + this.$form.find('.editable-buttons').remove(); + } + + //show loading state + this.showLoading(); + + //flag showing is form now saving value to server. + //It is needed to wait when closing form. + this.isSaving = false; + + /** + Fired when rendering starts + @event rendering + @param {Object} event event object + **/ + this.$div.triggerHandler('rendering'); + + //init input + this.initInput(); + + //append input to form + this.$form.find('div.editable-input').append(this.input.$tpl); + + //append form to container + this.$div.append(this.$form); + + //render input + $.when(this.input.render()) + .then($.proxy(function () { + //setup input to submit automatically when no buttons shown + if(!this.options.showbuttons) { + this.input.autosubmit(); + } + + //attach 'cancel' handler + this.$form.find('.editable-cancel').click($.proxy(this.cancel, this)); + + if(this.input.error) { + this.error(this.input.error); + this.$form.find('.editable-submit').attr('disabled', true); + this.input.$input.attr('disabled', true); + //prevent form from submitting + this.$form.submit(function(e){ e.preventDefault(); }); + } else { + this.error(false); + this.input.$input.removeAttr('disabled'); + this.$form.find('.editable-submit').removeAttr('disabled'); + var value = (this.value === null || this.value === undefined || this.value === '') ? this.options.defaultValue : this.value; + this.input.value2input(value); + //attach submit handler + this.$form.submit($.proxy(this.submit, this)); + } + + /** + Fired when form is rendered + @event rendered + @param {Object} event event object + **/ + this.$div.triggerHandler('rendered'); + + this.showForm(); + + //call postrender method to perform actions required visibility of form + if(this.input.postrender) { + this.input.postrender(); + } + }, this)); + }, + cancel: function() { + /** + Fired when form was cancelled by user + @event cancel + @param {Object} event event object + **/ + this.$div.triggerHandler('cancel'); + }, + showLoading: function() { + var w, h; + if(this.$form) { + //set loading size equal to form + w = this.$form.outerWidth(); + h = this.$form.outerHeight(); + if(w) { + this.$loading.width(w); + } + if(h) { + this.$loading.height(h); + } + this.$form.hide(); + } else { + //stretch loading to fill container width + w = this.$loading.parent().width(); + if(w) { + this.$loading.width(w); + } + } + this.$loading.show(); + }, + + showForm: function(activate) { + this.$loading.hide(); + this.$form.show(); + if(activate !== false) { + this.input.activate(); + } + /** + Fired when form is shown + @event show + @param {Object} event event object + **/ + this.$div.triggerHandler('show'); + }, + + error: function(msg) { + var $group = this.$form.find('.control-group'), + $block = this.$form.find('.editable-error-block'), + lines; + + if(msg === false) { + $group.removeClass($.fn.editableform.errorGroupClass); + $block.removeClass($.fn.editableform.errorBlockClass).empty().hide(); + } else { + //convert newline to
for more pretty error display + if(msg) { + lines = (''+msg).split('\n'); + for (var i = 0; i < lines.length; i++) { + lines[i] = $('
').text(lines[i]).html(); + } + msg = lines.join('
'); + } + $group.addClass($.fn.editableform.errorGroupClass); + $block.addClass($.fn.editableform.errorBlockClass).html(msg).show(); + } + }, + + submit: function(e) { + e.stopPropagation(); + e.preventDefault(); + + //get new value from input + var newValue = this.input.input2value(); + + //validation: if validate returns string or truthy value - means error + //if returns object like {newValue: '...'} => submitted value is reassigned to it + var error = this.validate(newValue); + if ($.type(error) === 'object' && error.newValue !== undefined) { + newValue = error.newValue; + this.input.value2input(newValue); + if(typeof error.msg === 'string') { + this.error(error.msg); + this.showForm(); + return; + } + } else if (error) { + this.error(error); + this.showForm(); + return; + } + + //if value not changed --> trigger 'nochange' event and return + /*jslint eqeq: true*/ + if (!this.options.savenochange && this.input.value2str(newValue) == this.input.value2str(this.value)) { + /*jslint eqeq: false*/ + /** + Fired when value not changed but form is submitted. Requires savenochange = false. + @event nochange + @param {Object} event event object + **/ + this.$div.triggerHandler('nochange'); + return; + } + + //convert value for submitting to server + var submitValue = this.input.value2submit(newValue); + + this.isSaving = true; + + //sending data to server + $.when(this.save(submitValue)) + .done($.proxy(function(response) { + this.isSaving = false; + + //run success callback + var res = typeof this.options.success === 'function' ? this.options.success.call(this.options.scope, response, newValue) : null; + + //if success callback returns false --> keep form open and do not activate input + if(res === false) { + this.error(false); + this.showForm(false); + return; + } + + //if success callback returns string --> keep form open, show error and activate input + if(typeof res === 'string') { + this.error(res); + this.showForm(); + return; + } + + //if success callback returns object like {newValue: } --> use that value instead of submitted + //it is usefull if you want to chnage value in url-function + if(res && typeof res === 'object' && res.hasOwnProperty('newValue')) { + newValue = res.newValue; + } + + //clear error message + this.error(false); + this.value = newValue; + /** + Fired when form is submitted + @event save + @param {Object} event event object + @param {Object} params additional params + @param {mixed} params.newValue raw new value + @param {mixed} params.submitValue submitted value as string + @param {Object} params.response ajax response + + @example + $('#form-div').on('save'), function(e, params){ + if(params.newValue === 'username') {...} + }); + **/ + this.$div.triggerHandler('save', {newValue: newValue, submitValue: submitValue, response: response}); + }, this)) + .fail($.proxy(function(xhr) { + this.isSaving = false; + + var msg; + if(typeof this.options.error === 'function') { + msg = this.options.error.call(this.options.scope, xhr, newValue); + } else { + msg = typeof xhr === 'string' ? xhr : xhr.responseText || xhr.statusText || 'Unknown error!'; + } + + this.error(msg); + this.showForm(); + }, this)); + }, + + save: function(submitValue) { + //try parse composite pk defined as json string in data-pk + this.options.pk = $.fn.editableutils.tryParseJson(this.options.pk, true); + + var pk = (typeof this.options.pk === 'function') ? this.options.pk.call(this.options.scope) : this.options.pk, + /* + send on server in following cases: + 1. url is function + 2. url is string AND (pk defined OR send option = always) + */ + send = !!(typeof this.options.url === 'function' || (this.options.url && ((this.options.send === 'always') || (this.options.send === 'auto' && pk !== null && pk !== undefined)))), + params; + + if (send) { //send to server + this.showLoading(); + + //standard params + params = { + name: this.options.name || '', + value: submitValue, + pk: pk + }; + + //additional params + if(typeof this.options.params === 'function') { + params = this.options.params.call(this.options.scope, params); + } else { + //try parse json in single quotes (from data-params attribute) + this.options.params = $.fn.editableutils.tryParseJson(this.options.params, true); + $.extend(params, this.options.params); + } + + if(typeof this.options.url === 'function') { //user's function + return this.options.url.call(this.options.scope, params); + } else { + //send ajax to server and return deferred object + return $.ajax($.extend({ + url : this.options.url, + data : params, + type : 'POST' + }, this.options.ajaxOptions)); + } + } + }, + + validate: function (value) { + if (value === undefined) { + value = this.value; + } + if (typeof this.options.validate === 'function') { + return this.options.validate.call(this.options.scope, value); + } + }, + + option: function(key, value) { + if(key in this.options) { + this.options[key] = value; + } + + if(key === 'value') { + this.setValue(value); + } + + //do not pass option to input as it is passed in editable-element + }, + + setValue: function(value, convertStr) { + if(convertStr) { + this.value = this.input.str2value(value); + } else { + this.value = value; + } + + //if form is visible, update input + if(this.$form && this.$form.is(':visible')) { + this.input.value2input(this.value); + } + } + }; + + /* + Initialize editableform. Applied to jQuery object. + + @method $().editableform(options) + @params {Object} options + @example + var $form = $('<div>').editableform({ + type: 'text', + name: 'username', + url: '/post', + value: 'vitaliy' + }); + + //to display form you should call 'render' method + $form.editableform('render'); + */ + $.fn.editableform = function (option) { + var args = arguments; + return this.each(function () { + var $this = $(this), + data = $this.data('editableform'), + options = typeof option === 'object' && option; + if (!data) { + $this.data('editableform', (data = new EditableForm(this, options))); + } + + if (typeof option === 'string') { //call method + data[option].apply(data, Array.prototype.slice.call(args, 1)); + } + }); + }; + + //keep link to constructor to allow inheritance + $.fn.editableform.Constructor = EditableForm; + + //defaults + $.fn.editableform.defaults = { + /* see also defaults for input */ + + /** + Type of input. Can be text|textarea|select|date|checklist + + @property type + @type string + @default 'text' + **/ + type: 'text', + /** + Url for submit, e.g. '/post' + If function - it will be called instead of ajax. Function should return deferred object to run fail/done callbacks. + + @property url + @type string|function + @default null + @example + url: function(params) { + var d = new $.Deferred; + if(params.value === 'abc') { + return d.reject('error message'); //returning error via deferred object + } else { + //async saving data in js model + someModel.asyncSaveMethod({ + ..., + success: function(){ + d.resolve(); + } + }); + return d.promise(); + } + } + **/ + url:null, + /** + Additional params for submit. If defined as object - it is **appended** to original ajax data (pk, name and value). + If defined as function - returned object **overwrites** original ajax data. + @example + params: function(params) { + //originally params contain pk, name and value + params.a = 1; + return params; + } + + @property params + @type object|function + @default null + **/ + params:null, + /** + Name of field. Will be submitted on server. Can be taken from id attribute + + @property name + @type string + @default null + **/ + name: null, + /** + Primary key of editable object (e.g. record id in database). For composite keys use object, e.g. {id: 1, lang: 'en'}. + Can be calculated dynamically via function. + + @property pk + @type string|object|function + @default null + **/ + pk: null, + /** + Initial value. If not defined - will be taken from element's content. + For __select__ type should be defined (as it is ID of shown text). + + @property value + @type string|object + @default null + **/ + value: null, + /** + Value that will be displayed in input if original field value is empty (`null|undefined|''`). + + @property defaultValue + @type string|object + @default null + @since 1.4.6 + **/ + defaultValue: null, + /** + Strategy for sending data on server. Can be `auto|always|never`. + When 'auto' data will be sent on server **only if pk and url defined**, otherwise new value will be stored locally. + + @property send + @type string + @default 'auto' + **/ + send: 'auto', + /** + Function for client-side validation. If returns string - means validation not passed and string showed as error. + Since 1.5.1 you can modify submitted value by returning object from `validate`: + `{newValue: '...'}` or `{newValue: '...', msg: '...'}` + + @property validate + @type function + @default null + @example + validate: function(value) { + if($.trim(value) == '') { + return 'This field is required'; + } + } + **/ + validate: null, + /** + Success callback. Called when value successfully sent on server and **response status = 200**. + Usefull to work with json response. For example, if your backend response can be {success: true} + or {success: false, msg: "server error"} you can check it inside this callback. + If it returns **string** - means error occured and string is shown as error message. + If it returns **object like** {newValue: <something>} - it overwrites value, submitted by user. + Otherwise newValue simply rendered into element. + + @property success + @type function + @default null + @example + success: function(response, newValue) { + if(!response.success) return response.msg; + } + **/ + success: null, + /** + Error callback. Called when request failed (response status != 200). + Usefull when you want to parse error response and display a custom message. + Must return **string** - the message to be displayed in the error block. + + @property error + @type function + @default null + @since 1.4.4 + @example + error: function(response, newValue) { + if(response.status === 500) { + return 'Service unavailable. Please try later.'; + } else { + return response.responseText; + } + } + **/ + error: null, + /** + Additional options for submit ajax request. + List of values: http://api.jquery.com/jQuery.ajax + + @property ajaxOptions + @type object + @default null + @since 1.1.1 + @example + ajaxOptions: { + type: 'put', + dataType: 'json' + } + **/ + ajaxOptions: null, + /** + Where to show buttons: left(true)|bottom|false + Form without buttons is auto-submitted. + + @property showbuttons + @type boolean|string + @default true + @since 1.1.1 + **/ + showbuttons: true, + /** + Scope for callback methods (success, validate). + If null means editableform instance itself. + + @property scope + @type DOMElement|object + @default null + @since 1.2.0 + @private + **/ + scope: null, + /** + Whether to save or cancel value when it was not changed but form was submitted + + @property savenochange + @type boolean + @default false + @since 1.2.0 + **/ + savenochange: false + }; + + /* + Note: following params could redefined in engine: bootstrap or jqueryui: + Classes 'control-group' and 'editable-error-block' must always present! + */ + $.fn.editableform.template = '
'+ + '
' + + '
'+ + '
' + + '
' + + '
'; + + //loading div + $.fn.editableform.loading = '
'; + + //buttons + $.fn.editableform.buttons = ''+ + ''; + + //error class attached to control-group + $.fn.editableform.errorGroupClass = null; + + //error class attached to editable-error-block + $.fn.editableform.errorBlockClass = 'editable-error'; + + //engine + $.fn.editableform.engine = 'jquery'; +}(window.jQuery)); + +/** +* EditableForm utilites +*/ +(function ($) { + "use strict"; + + //utils + $.fn.editableutils = { + /** + * classic JS inheritance function + */ + inherit: function (Child, Parent) { + var F = function() { }; + F.prototype = Parent.prototype; + Child.prototype = new F(); + Child.prototype.constructor = Child; + Child.superclass = Parent.prototype; + }, + + /** + * set caret position in input + * see http://stackoverflow.com/questions/499126/jquery-set-cursor-position-in-text-area + */ + setCursorPosition: function(elem, pos) { + if (elem.setSelectionRange) { + elem.setSelectionRange(pos, pos); + } else if (elem.createTextRange) { + var range = elem.createTextRange(); + range.collapse(true); + range.moveEnd('character', pos); + range.moveStart('character', pos); + range.select(); + } + }, + + /** + * function to parse JSON in *single* quotes. (jquery automatically parse only double quotes) + * That allows such code as: + * safe = true --> means no exception will be thrown + * for details see http://stackoverflow.com/questions/7410348/how-to-set-json-format-to-html5-data-attributes-in-the-jquery + */ + tryParseJson: function(s, safe) { + if (typeof s === 'string' && s.length && s.match(/^[\{\[].*[\}\]]$/)) { + if (safe) { + try { + /*jslint evil: true*/ + s = (new Function('return ' + s))(); + /*jslint evil: false*/ + } catch (e) {} finally { + return s; + } + } else { + /*jslint evil: true*/ + s = (new Function('return ' + s))(); + /*jslint evil: false*/ + } + } + return s; + }, + + /** + * slice object by specified keys + */ + sliceObj: function(obj, keys, caseSensitive /* default: false */) { + var key, keyLower, newObj = {}; + + if (!$.isArray(keys) || !keys.length) { + return newObj; + } + + for (var i = 0; i < keys.length; i++) { + key = keys[i]; + if (obj.hasOwnProperty(key)) { + newObj[key] = obj[key]; + } + + if(caseSensitive === true) { + continue; + } + + //when getting data-* attributes via $.data() it's converted to lowercase. + //details: http://stackoverflow.com/questions/7602565/using-data-attributes-with-jquery + //workaround is code below. + keyLower = key.toLowerCase(); + if (obj.hasOwnProperty(keyLower)) { + newObj[key] = obj[keyLower]; + } + } + + return newObj; + }, + + /* + exclude complex objects from $.data() before pass to config + */ + getConfigData: function($element) { + var data = {}; + $.each($element.data(), function(k, v) { + if(typeof v !== 'object' || (v && typeof v === 'object' && (v.constructor === Object || v.constructor === Array))) { + data[k] = v; + } + }); + return data; + }, + + /* + returns keys of object + */ + objectKeys: function(o) { + if (Object.keys) { + return Object.keys(o); + } else { + if (o !== Object(o)) { + throw new TypeError('Object.keys called on a non-object'); + } + var k=[], p; + for (p in o) { + if (Object.prototype.hasOwnProperty.call(o,p)) { + k.push(p); + } + } + return k; + } + + }, + + /** + method to escape html. + **/ + escape: function(str) { + return $('
').text(str).html(); + }, + + /* + returns array items from sourceData having value property equal or inArray of 'value' + */ + itemsByValue: function(value, sourceData, valueProp) { + if(!sourceData || value === null) { + return []; + } + + if (typeof(valueProp) !== "function") { + var idKey = valueProp || 'value'; + valueProp = function (e) { return e[idKey]; }; + } + + var isValArray = $.isArray(value), + result = [], + that = this; + + $.each(sourceData, function(i, o) { + if(o.children) { + result = result.concat(that.itemsByValue(value, o.children, valueProp)); + } else { + /*jslint eqeq: true*/ + if(isValArray) { + if($.grep(value, function(v){ return v == (o && typeof o === 'object' ? valueProp(o) : o); }).length) { + result.push(o); + } + } else { + var itemValue = (o && (typeof o === 'object')) ? valueProp(o) : o; + if(value == itemValue) { + result.push(o); + } + } + /*jslint eqeq: false*/ + } + }); + + return result; + }, + + /* + Returns input by options: type, mode. + */ + createInput: function(options) { + var TypeConstructor, typeOptions, input, + type = options.type; + + //`date` is some kind of virtual type that is transformed to one of exact types + //depending on mode and core lib + if(type === 'date') { + //inline + if(options.mode === 'inline') { + if($.fn.editabletypes.datefield) { + type = 'datefield'; + } else if($.fn.editabletypes.dateuifield) { + type = 'dateuifield'; + } + //popup + } else { + if($.fn.editabletypes.date) { + type = 'date'; + } else if($.fn.editabletypes.dateui) { + type = 'dateui'; + } + } + + //if type still `date` and not exist in types, replace with `combodate` that is base input + if(type === 'date' && !$.fn.editabletypes.date) { + type = 'combodate'; + } + } + + //`datetime` should be datetimefield in 'inline' mode + if(type === 'datetime' && options.mode === 'inline') { + type = 'datetimefield'; + } + + //change wysihtml5 to textarea for jquery UI and plain versions + if(type === 'wysihtml5' && !$.fn.editabletypes[type]) { + type = 'textarea'; + } + + //create input of specified type. Input will be used for converting value, not in form + if(typeof $.fn.editabletypes[type] === 'function') { + TypeConstructor = $.fn.editabletypes[type]; + typeOptions = this.sliceObj(options, this.objectKeys(TypeConstructor.defaults)); + input = new TypeConstructor(typeOptions); + return input; + } else { + $.error('Unknown type: '+ type); + return false; + } + }, + + //see http://stackoverflow.com/questions/7264899/detect-css-transitions-using-javascript-and-without-modernizr + supportsTransitions: function () { + var b = document.body || document.documentElement, + s = b.style, + p = 'transition', + v = ['Moz', 'Webkit', 'Khtml', 'O', 'ms']; + + if(typeof s[p] === 'string') { + return true; + } + + // Tests for vendor specific prop + p = p.charAt(0).toUpperCase() + p.substr(1); + for(var i=0; i +This method applied internally in $().editable(). You should subscribe on it's events (save / cancel) to get profit of it.
+Final realization can be different: bootstrap-popover, jqueryui-tooltip, poshytip, inline-div. It depends on which js file you include.
+Applied as jQuery method. + +@class editableContainer +@uses editableform +**/ +(function ($) { + "use strict"; + + var Popup = function (element, options) { + this.init(element, options); + }; + + var Inline = function (element, options) { + this.init(element, options); + }; + + //methods + Popup.prototype = { + containerName: null, //method to call container on element + containerDataName: null, //object name in element's .data() + innerCss: null, //tbd in child class + containerClass: 'editable-container editable-popup', //css class applied to container element + defaults: {}, //container itself defaults + + init: function(element, options) { + this.$element = $(element); + //since 1.4.1 container do not use data-* directly as they already merged into options. + this.options = $.extend({}, $.fn.editableContainer.defaults, options); + this.splitOptions(); + + //set scope of form callbacks to element + this.formOptions.scope = this.$element[0]; + + this.initContainer(); + + //flag to hide container, when saving value will finish + this.delayedHide = false; + + //bind 'destroyed' listener to destroy container when element is removed from dom + this.$element.on('destroyed', $.proxy(function(){ + this.destroy(); + }, this)); + + //attach document handler to close containers on click / escape + if(!$(document).data('editable-handlers-attached')) { + //close all on escape + $(document).on('keyup.editable', function (e) { + if (e.which === 27) { + $('.editable-open').editableContainer('hide'); + //todo: return focus on element + } + }); + + //close containers when click outside + //(mousedown could be better than click, it closes everything also on drag drop) + $(document).on('click.editable', function(e) { + var $target = $(e.target), i, + exclude_classes = ['.editable-container', + '.ui-datepicker-header', + '.datepicker', //in inline mode datepicker is rendered into body + '.modal-backdrop', + '.bootstrap-wysihtml5-insert-image-modal', + '.bootstrap-wysihtml5-insert-link-modal' + ]; + + //check if element is detached. It occurs when clicking in bootstrap datepicker + if (!$.contains(document.documentElement, e.target)) { + return; + } + + //for some reason FF 20 generates extra event (click) in select2 widget with e.target = document + //we need to filter it via construction below. See https://github.com/vitalets/x-editable/issues/199 + //Possibly related to http://stackoverflow.com/questions/10119793/why-does-firefox-react-differently-from-webkit-and-ie-to-click-event-on-selec + if($target.is(document)) { + return; + } + + //if click inside one of exclude classes --> no nothing + for(i=0; i container changes size before hide. + */ + + //if form already exist - delete previous data + if(this.$form) { + //todo: destroy prev data! + //this.$form.destroy(); + } + + this.$form = $('
'); + + //insert form into container body + if(this.tip().is(this.innerCss)) { + //for inline container + this.tip().append(this.$form); + } else { + this.tip().find(this.innerCss).append(this.$form); + } + + //render form + this.renderForm(); + }, + + /** + Hides container with form + @method hide() + @param {string} reason Reason caused hiding. Can be save|cancel|onblur|nochange|undefined (=manual) + **/ + hide: function(reason) { + if(!this.tip() || !this.tip().is(':visible') || !this.$element.hasClass('editable-open')) { + return; + } + + //if form is saving value, schedule hide + if(this.$form.data('editableform').isSaving) { + this.delayedHide = {reason: reason}; + return; + } else { + this.delayedHide = false; + } + + this.$element.removeClass('editable-open'); + this.innerHide(); + + /** + Fired when container was hidden. It occurs on both save or cancel. + **Note:** Bootstrap popover has own `hidden` event that now cannot be separated from x-editable's one. + The workaround is to check `arguments.length` that is always `2` for x-editable. + + @event hidden + @param {object} event event object + @param {string} reason Reason caused hiding. Can be save|cancel|onblur|nochange|manual + @example + $('#username').on('hidden', function(e, reason) { + if(reason === 'save' || reason === 'cancel') { + //auto-open next editable + $(this).closest('tr').next().find('.editable').editable('show'); + } + }); + **/ + this.$element.triggerHandler('hidden', reason || 'manual'); + }, + + /* internal show method. To be overwritten in child classes */ + innerShow: function () { + + }, + + /* internal hide method. To be overwritten in child classes */ + innerHide: function () { + + }, + + /** + Toggles container visibility (show / hide) + @method toggle() + @param {boolean} closeAll Whether to close all other editable containers when showing this one. Default true. + **/ + toggle: function(closeAll) { + if(this.container() && this.tip() && this.tip().is(':visible')) { + this.hide(); + } else { + this.show(closeAll); + } + }, + + /* + Updates the position of container when content changed. + @method setPosition() + */ + setPosition: function() { + //tbd in child class + }, + + save: function(e, params) { + /** + Fired when new value was submitted. You can use $(this).data('editableContainer') inside handler to access to editableContainer instance + + @event save + @param {Object} event event object + @param {Object} params additional params + @param {mixed} params.newValue submitted value + @param {Object} params.response ajax response + @example + $('#username').on('save', function(e, params) { + //assuming server response: '{success: true}' + var pk = $(this).data('editableContainer').options.pk; + if(params.response && params.response.success) { + alert('value: ' + params.newValue + ' with pk: ' + pk + ' saved!'); + } else { + alert('error!'); + } + }); + **/ + this.$element.triggerHandler('save', params); + + //hide must be after trigger, as saving value may require methods of plugin, applied to input + this.hide('save'); + }, + + /** + Sets new option + + @method option(key, value) + @param {string} key + @param {mixed} value + **/ + option: function(key, value) { + this.options[key] = value; + if(key in this.containerOptions) { + this.containerOptions[key] = value; + this.setContainerOption(key, value); + } else { + this.formOptions[key] = value; + if(this.$form) { + this.$form.editableform('option', key, value); + } + } + }, + + setContainerOption: function(key, value) { + this.call('option', key, value); + }, + + /** + Destroys the container instance + @method destroy() + **/ + destroy: function() { + this.hide(); + this.innerDestroy(); + this.$element.off('destroyed'); + this.$element.removeData('editableContainer'); + }, + + /* to be overwritten in child classes */ + innerDestroy: function() { + + }, + + /* + Closes other containers except one related to passed element. + Other containers can be cancelled or submitted (depends on onblur option) + */ + closeOthers: function(element) { + $('.editable-open').each(function(i, el){ + //do nothing with passed element and it's children + if(el === element || $(el).find(element).length) { + return; + } + + //otherwise cancel or submit all open containers + var $el = $(el), + ec = $el.data('editableContainer'); + + if(!ec) { + return; + } + + if(ec.options.onblur === 'cancel') { + $el.data('editableContainer').hide('onblur'); + } else if(ec.options.onblur === 'submit') { + $el.data('editableContainer').tip().find('form').submit(); + } + }); + + }, + + /** + Activates input of visible container (e.g. set focus) + @method activate() + **/ + activate: function() { + if(this.tip && this.tip().is(':visible') && this.$form) { + this.$form.data('editableform').input.activate(); + } + } + + }; + + /** + jQuery method to initialize editableContainer. + + @method $().editableContainer(options) + @params {Object} options + @example + $('#edit').editableContainer({ + type: 'text', + url: '/post', + pk: 1, + value: 'hello' + }); + **/ + $.fn.editableContainer = function (option) { + var args = arguments; + return this.each(function () { + var $this = $(this), + dataKey = 'editableContainer', + data = $this.data(dataKey), + options = typeof option === 'object' && option, + Constructor = (options.mode === 'inline') ? Inline : Popup; + + if (!data) { + $this.data(dataKey, (data = new Constructor(this, options))); + } + + if (typeof option === 'string') { //call method + data[option].apply(data, Array.prototype.slice.call(args, 1)); + } + }); + }; + + //store constructors + $.fn.editableContainer.Popup = Popup; + $.fn.editableContainer.Inline = Inline; + + //defaults + $.fn.editableContainer.defaults = { + /** + Initial value of form input + + @property value + @type mixed + @default null + @private + **/ + value: null, + /** + Placement of container relative to element. Can be top|right|bottom|left. Not used for inline container. + + @property placement + @type string + @default 'top' + **/ + placement: 'top', + /** + Whether to hide container on save/cancel. + + @property autohide + @type boolean + @default true + @private + **/ + autohide: true, + /** + Action when user clicks outside the container. Can be cancel|submit|ignore. + Setting ignore allows to have several containers open. + + @property onblur + @type string + @default 'cancel' + @since 1.1.1 + **/ + onblur: 'cancel', + + /** + Animation speed (inline mode only) + @property anim + @type string + @default false + **/ + anim: false, + + /** + Mode of editable, can be `popup` or `inline` + + @property mode + @type string + @default 'popup' + @since 1.4.0 + **/ + mode: 'popup' + }; + + /* + * workaround to have 'destroyed' event to destroy popover when element is destroyed + * see http://stackoverflow.com/questions/2200494/jquery-trigger-event-when-an-element-is-removed-from-the-dom + */ + jQuery.event.special.destroyed = { + remove: function(o) { + if (o.handler) { + o.handler(); + } + } + }; + +}(window.jQuery)); + +/** +* Editable Inline +* --------------------- +*/ +(function ($) { + "use strict"; + + //copy prototype from EditableContainer + //extend methods + $.extend($.fn.editableContainer.Inline.prototype, $.fn.editableContainer.Popup.prototype, { + containerName: 'editableform', + innerCss: '.editable-inline', + containerClass: 'editable-container editable-inline', //css class applied to container element + + initContainer: function(){ + //container is element + this.$tip = $(''); + + //convert anim to miliseconds (int) + if(!this.options.anim) { + this.options.anim = 0; + } + }, + + splitOptions: function() { + //all options are passed to form + this.containerOptions = {}; + this.formOptions = this.options; + }, + + tip: function() { + return this.$tip; + }, + + innerShow: function () { + this.$element.hide(); + this.tip().insertAfter(this.$element).show(); + }, + + innerHide: function () { + this.$tip.hide(this.options.anim, $.proxy(function() { + this.$element.show(); + this.innerDestroy(); + }, this)); + }, + + innerDestroy: function() { + if(this.tip()) { + this.tip().empty().remove(); + } + } + }); + +}(window.jQuery)); +/** +Makes editable any HTML element on the page. Applied as jQuery method. + +@class editable +@uses editableContainer +**/ +(function ($) { + "use strict"; + + var Editable = function (element, options) { + this.$element = $(element); + //data-* has more priority over js options: because dynamically created elements may change data-* + this.options = $.extend({}, $.fn.editable.defaults, options, $.fn.editableutils.getConfigData(this.$element)); + if(this.options.selector) { + this.initLive(); + } else { + this.init(); + } + + //check for transition support + if(this.options.highlight && !$.fn.editableutils.supportsTransitions()) { + this.options.highlight = false; + } + }; + + Editable.prototype = { + constructor: Editable, + init: function () { + var isValueByText = false, + doAutotext, finalize; + + //name + this.options.name = this.options.name || this.$element.attr('id'); + + //create input of specified type. Input needed already here to convert value for initial display (e.g. show text by id for select) + //also we set scope option to have access to element inside input specific callbacks (e. g. source as function) + this.options.scope = this.$element[0]; + this.input = $.fn.editableutils.createInput(this.options); + if(!this.input) { + return; + } + + //set value from settings or by element's text + if (this.options.value === undefined || this.options.value === null) { + this.value = this.input.html2value($.trim(this.$element.html())); + isValueByText = true; + } else { + /* + value can be string when received from 'data-value' attribute + for complext objects value can be set as json string in data-value attribute, + e.g. data-value="{city: 'Moscow', street: 'Lenina'}" + */ + this.options.value = $.fn.editableutils.tryParseJson(this.options.value, true); + if(typeof this.options.value === 'string') { + this.value = this.input.str2value(this.options.value); + } else { + this.value = this.options.value; + } + } + + //add 'editable' class to every editable element + this.$element.addClass('editable'); + + //specifically for "textarea" add class .editable-pre-wrapped to keep linebreaks + if(this.input.type === 'textarea') { + this.$element.addClass('editable-pre-wrapped'); + } + + //attach handler activating editable. In disabled mode it just prevent default action (useful for links) + if(this.options.toggle !== 'manual') { + this.$element.addClass('editable-click'); + this.$element.on(this.options.toggle + '.editable', $.proxy(function(e){ + //prevent following link if editable enabled + if(!this.options.disabled) { + e.preventDefault(); + } + + //stop propagation not required because in document click handler it checks event target + //e.stopPropagation(); + + if(this.options.toggle === 'mouseenter') { + //for hover only show container + this.show(); + } else { + //when toggle='click' we should not close all other containers as they will be closed automatically in document click listener + var closeAll = (this.options.toggle !== 'click'); + this.toggle(closeAll); + } + }, this)); + } else { + this.$element.attr('tabindex', -1); //do not stop focus on element when toggled manually + } + + //if display is function it's far more convinient to have autotext = always to render correctly on init + //see https://github.com/vitalets/x-editable-yii/issues/34 + if(typeof this.options.display === 'function') { + this.options.autotext = 'always'; + } + + //check conditions for autotext: + switch(this.options.autotext) { + case 'always': + doAutotext = true; + break; + case 'auto': + //if element text is empty and value is defined and value not generated by text --> run autotext + doAutotext = !$.trim(this.$element.text()).length && this.value !== null && this.value !== undefined && !isValueByText; + break; + default: + doAutotext = false; + } + + //depending on autotext run render() or just finilize init + $.when(doAutotext ? this.render() : true).then($.proxy(function() { + if(this.options.disabled) { + this.disable(); + } else { + this.enable(); + } + /** + Fired when element was initialized by `$().editable()` method. + Please note that you should setup `init` handler **before** applying `editable`. + + @event init + @param {Object} event event object + @param {Object} editable editable instance (as here it cannot accessed via data('editable')) + @since 1.2.0 + @example + $('#username').on('init', function(e, editable) { + alert('initialized ' + editable.options.name); + }); + $('#username').editable(); + **/ + this.$element.triggerHandler('init', this); + }, this)); + }, + + /* + Initializes parent element for live editables + */ + initLive: function() { + //store selector + var selector = this.options.selector; + //modify options for child elements + this.options.selector = false; + this.options.autotext = 'never'; + //listen toggle events + this.$element.on(this.options.toggle + '.editable', selector, $.proxy(function(e){ + var $target = $(e.target); + if(!$target.data('editable')) { + //if delegated element initially empty, we need to clear it's text (that was manually set to `empty` by user) + //see https://github.com/vitalets/x-editable/issues/137 + if($target.hasClass(this.options.emptyclass)) { + $target.empty(); + } + $target.editable(this.options).trigger(e); + } + }, this)); + }, + + /* + Renders value into element's text. + Can call custom display method from options. + Can return deferred object. + @method render() + @param {mixed} response server response (if exist) to pass into display function + */ + render: function(response) { + //do not display anything + if(this.options.display === false) { + return; + } + + //if input has `value2htmlFinal` method, we pass callback in third param to be called when source is loaded + if(this.input.value2htmlFinal) { + return this.input.value2html(this.value, this.$element[0], this.options.display, response); + //if display method defined --> use it + } else if(typeof this.options.display === 'function') { + return this.options.display.call(this.$element[0], this.value, response); + //else use input's original value2html() method + } else { + return this.input.value2html(this.value, this.$element[0]); + } + }, + + /** + Enables editable + @method enable() + **/ + enable: function() { + this.options.disabled = false; + this.$element.removeClass('editable-disabled'); + this.handleEmpty(this.isEmpty); + if(this.options.toggle !== 'manual') { + if(this.$element.attr('tabindex') === '-1') { + this.$element.removeAttr('tabindex'); + } + } + }, + + /** + Disables editable + @method disable() + **/ + disable: function() { + this.options.disabled = true; + this.hide(); + this.$element.addClass('editable-disabled'); + this.handleEmpty(this.isEmpty); + //do not stop focus on this element + this.$element.attr('tabindex', -1); + }, + + /** + Toggles enabled / disabled state of editable element + @method toggleDisabled() + **/ + toggleDisabled: function() { + if(this.options.disabled) { + this.enable(); + } else { + this.disable(); + } + }, + + /** + Sets new option + + @method option(key, value) + @param {string|object} key option name or object with several options + @param {mixed} value option new value + @example + $('.editable').editable('option', 'pk', 2); + **/ + option: function(key, value) { + //set option(s) by object + if(key && typeof key === 'object') { + $.each(key, $.proxy(function(k, v){ + this.option($.trim(k), v); + }, this)); + return; + } + + //set option by string + this.options[key] = value; + + //disabled + if(key === 'disabled') { + return value ? this.disable() : this.enable(); + } + + //value + if(key === 'value') { + this.setValue(value); + } + + //transfer new option to container! + if(this.container) { + this.container.option(key, value); + } + + //pass option to input directly (as it points to the same in form) + if(this.input.option) { + this.input.option(key, value); + } + + }, + + /* + * set emptytext if element is empty + */ + handleEmpty: function (isEmpty) { + //do not handle empty if we do not display anything + if(this.options.display === false) { + return; + } + + /* + isEmpty may be set directly as param of method. + It is required when we enable/disable field and can't rely on content + as node content is text: "Empty" that is not empty %) + */ + if(isEmpty !== undefined) { + this.isEmpty = isEmpty; + } else { + //detect empty + //for some inputs we need more smart check + //e.g. wysihtml5 may have
,

, + if(typeof(this.input.isEmpty) === 'function') { + this.isEmpty = this.input.isEmpty(this.$element); + } else { + this.isEmpty = $.trim(this.$element.html()) === ''; + } + } + + //emptytext shown only for enabled + if(!this.options.disabled) { + if (this.isEmpty) { + this.$element.html(this.options.emptytext); + if(this.options.emptyclass) { + this.$element.addClass(this.options.emptyclass); + } + } else if(this.options.emptyclass) { + this.$element.removeClass(this.options.emptyclass); + } + } else { + //below required if element disable property was changed + if(this.isEmpty) { + this.$element.empty(); + if(this.options.emptyclass) { + this.$element.removeClass(this.options.emptyclass); + } + } + } + }, + + /** + Shows container with form + @method show() + @param {boolean} closeAll Whether to close all other editable containers when showing this one. Default true. + **/ + show: function (closeAll) { + if(this.options.disabled) { + return; + } + + //init editableContainer: popover, tooltip, inline, etc.. + if(!this.container) { + var containerOptions = $.extend({}, this.options, { + value: this.value, + input: this.input //pass input to form (as it is already created) + }); + this.$element.editableContainer(containerOptions); + //listen `save` event + this.$element.on("save.internal", $.proxy(this.save, this)); + this.container = this.$element.data('editableContainer'); + } else if(this.container.tip().is(':visible')) { + return; + } + + //show container + this.container.show(closeAll); + }, + + /** + Hides container with form + @method hide() + **/ + hide: function () { + if(this.container) { + this.container.hide(); + } + }, + + /** + Toggles container visibility (show / hide) + @method toggle() + @param {boolean} closeAll Whether to close all other editable containers when showing this one. Default true. + **/ + toggle: function(closeAll) { + if(this.container && this.container.tip().is(':visible')) { + this.hide(); + } else { + this.show(closeAll); + } + }, + + /* + * called when form was submitted + */ + save: function(e, params) { + //mark element with unsaved class if needed + if(this.options.unsavedclass) { + /* + Add unsaved css to element if: + - url is not user's function + - value was not sent to server + - params.response === undefined, that means data was not sent + - value changed + */ + var sent = false; + sent = sent || typeof this.options.url === 'function'; + sent = sent || this.options.display === false; + sent = sent || params.response !== undefined; + sent = sent || (this.options.savenochange && this.input.value2str(this.value) !== this.input.value2str(params.newValue)); + + if(sent) { + this.$element.removeClass(this.options.unsavedclass); + } else { + this.$element.addClass(this.options.unsavedclass); + } + } + + //highlight when saving + if(this.options.highlight) { + var $e = this.$element, + bgColor = $e.css('background-color'); + + $e.css('background-color', this.options.highlight); + setTimeout(function(){ + if(bgColor === 'transparent') { + bgColor = ''; + } + $e.css('background-color', bgColor); + $e.addClass('editable-bg-transition'); + setTimeout(function(){ + $e.removeClass('editable-bg-transition'); + }, 1700); + }, 10); + } + + //set new value + this.setValue(params.newValue, false, params.response); + + /** + Fired when new value was submitted. You can use $(this).data('editable') to access to editable instance + + @event save + @param {Object} event event object + @param {Object} params additional params + @param {mixed} params.newValue submitted value + @param {Object} params.response ajax response + @example + $('#username').on('save', function(e, params) { + alert('Saved value: ' + params.newValue); + }); + **/ + //event itself is triggered by editableContainer. Description here is only for documentation + }, + + validate: function () { + if (typeof this.options.validate === 'function') { + return this.options.validate.call(this, this.value); + } + }, + + /** + Sets new value of editable + @method setValue(value, convertStr) + @param {mixed} value new value + @param {boolean} convertStr whether to convert value from string to internal format + **/ + setValue: function(value, convertStr, response) { + if(convertStr) { + this.value = this.input.str2value(value); + } else { + this.value = value; + } + if(this.container) { + this.container.option('value', this.value); + } + $.when(this.render(response)) + .then($.proxy(function() { + this.handleEmpty(); + }, this)); + }, + + /** + Activates input of visible container (e.g. set focus) + @method activate() + **/ + activate: function() { + if(this.container) { + this.container.activate(); + } + }, + + /** + Removes editable feature from element + @method destroy() + **/ + destroy: function() { + this.disable(); + + if(this.container) { + this.container.destroy(); + } + + this.input.destroy(); + + if(this.options.toggle !== 'manual') { + this.$element.removeClass('editable-click'); + this.$element.off(this.options.toggle + '.editable'); + } + + this.$element.off("save.internal"); + + this.$element.removeClass('editable editable-open editable-disabled'); + this.$element.removeData('editable'); + } + }; + + /* EDITABLE PLUGIN DEFINITION + * ======================= */ + + /** + jQuery method to initialize editable element. + + @method $().editable(options) + @params {Object} options + @example + $('#username').editable({ + type: 'text', + url: '/post', + pk: 1 + }); + **/ + $.fn.editable = function (option) { + //special API methods returning non-jquery object + var result = {}, args = arguments, datakey = 'editable'; + switch (option) { + /** + Runs client-side validation for all matched editables + + @method validate() + @returns {Object} validation errors map + @example + $('#username, #fullname').editable('validate'); + // possible result: + { + username: "username is required", + fullname: "fullname should be minimum 3 letters length" + } + **/ + case 'validate': + this.each(function () { + var $this = $(this), data = $this.data(datakey), error; + if (data && (error = data.validate())) { + result[data.options.name] = error; + } + }); + return result; + + /** + Returns current values of editable elements. + Note that it returns an **object** with name-value pairs, not a value itself. It allows to get data from several elements. + If value of some editable is `null` or `undefined` it is excluded from result object. + When param `isSingle` is set to **true** - it is supposed you have single element and will return value of editable instead of object. + + @method getValue() + @param {bool} isSingle whether to return just value of single element + @returns {Object} object of element names and values + @example + $('#username, #fullname').editable('getValue'); + //result: + { + username: "superuser", + fullname: "John" + } + //isSingle = true + $('#username').editable('getValue', true); + //result "superuser" + **/ + case 'getValue': + if(arguments.length === 2 && arguments[1] === true) { //isSingle = true + result = this.eq(0).data(datakey).value; + } else { + this.each(function () { + var $this = $(this), data = $this.data(datakey); + if (data && data.value !== undefined && data.value !== null) { + result[data.options.name] = data.input.value2submit(data.value); + } + }); + } + return result; + + /** + This method collects values from several editable elements and submit them all to server. + Internally it runs client-side validation for all fields and submits only in case of success. + See
creating new records for details. + Since 1.5.1 `submit` can be applied to single element to send data programmatically. In that case + `url`, `success` and `error` is taken from initial options and you can just call `$('#username').editable('submit')`. + + @method submit(options) + @param {object} options + @param {object} options.url url to submit data + @param {object} options.data additional data to submit + @param {object} options.ajaxOptions additional ajax options + @param {function} options.error(obj) error handler + @param {function} options.success(obj,config) success handler + @returns {Object} jQuery object + **/ + case 'submit': //collects value, validate and submit to server for creating new record + var config = arguments[1] || {}, + $elems = this, + errors = this.editable('validate'); + + // validation ok + if($.isEmptyObject(errors)) { + var ajaxOptions = {}; + + // for single element use url, success etc from options + if($elems.length === 1) { + var editable = $elems.data('editable'); + //standard params + var params = { + name: editable.options.name || '', + value: editable.input.value2submit(editable.value), + pk: (typeof editable.options.pk === 'function') ? + editable.options.pk.call(editable.options.scope) : + editable.options.pk + }; + + //additional params + if(typeof editable.options.params === 'function') { + params = editable.options.params.call(editable.options.scope, params); + } else { + //try parse json in single quotes (from data-params attribute) + editable.options.params = $.fn.editableutils.tryParseJson(editable.options.params, true); + $.extend(params, editable.options.params); + } + + ajaxOptions = { + url: editable.options.url, + data: params, + type: 'POST' + }; + + // use success / error from options + config.success = config.success || editable.options.success; + config.error = config.error || editable.options.error; + + // multiple elements + } else { + var values = this.editable('getValue'); + + ajaxOptions = { + url: config.url, + data: values, + type: 'POST' + }; + } + + // ajax success callabck (response 200 OK) + ajaxOptions.success = typeof config.success === 'function' ? function(response) { + config.success.call($elems, response, config); + } : $.noop; + + // ajax error callabck + ajaxOptions.error = typeof config.error === 'function' ? function() { + config.error.apply($elems, arguments); + } : $.noop; + + // extend ajaxOptions + if(config.ajaxOptions) { + $.extend(ajaxOptions, config.ajaxOptions); + } + + // extra data + if(config.data) { + $.extend(ajaxOptions.data, config.data); + } + + // perform ajax request + $.ajax(ajaxOptions); + } else { //client-side validation error + if(typeof config.error === 'function') { + config.error.call($elems, errors); + } + } + return this; + } + + //return jquery object + return this.each(function () { + var $this = $(this), + data = $this.data(datakey), + options = typeof option === 'object' && option; + + //for delegated targets do not store `editable` object for element + //it's allows several different selectors. + //see: https://github.com/vitalets/x-editable/issues/312 + if(options && options.selector) { + data = new Editable(this, options); + return; + } + + if (!data) { + $this.data(datakey, (data = new Editable(this, options))); + } + + if (typeof option === 'string') { //call method + data[option].apply(data, Array.prototype.slice.call(args, 1)); + } + }); + }; + + + $.fn.editable.defaults = { + /** + Type of input. Can be text|textarea|select|date|checklist and more + + @property type + @type string + @default 'text' + **/ + type: 'text', + /** + Sets disabled state of editable + + @property disabled + @type boolean + @default false + **/ + disabled: false, + /** + How to toggle editable. Can be click|dblclick|mouseenter|manual. + When set to manual you should manually call show/hide methods of editable. + **Note**: if you call show or toggle inside **click** handler of some DOM element, + you need to apply e.stopPropagation() because containers are being closed on any click on document. + + @example + $('#edit-button').click(function(e) { + e.stopPropagation(); + $('#username').editable('toggle'); + }); + + @property toggle + @type string + @default 'click' + **/ + toggle: 'click', + /** + Text shown when element is empty. + + @property emptytext + @type string + @default 'Empty' + **/ + emptytext: 'Empty', + /** + Allows to automatically set element's text based on it's value. Can be auto|always|never. Useful for select and date. + For example, if dropdown list is {1: 'a', 2: 'b'} and element's value set to 1, it's html will be automatically set to 'a'. + auto - text will be automatically set only if element is empty. + always|never - always(never) try to set element's text. + + @property autotext + @type string + @default 'auto' + **/ + autotext: 'auto', + /** + Initial value of input. If not set, taken from element's text. + Note, that if element's text is empty - text is automatically generated from value and can be customized (see `autotext` option). + For example, to display currency sign: + @example + + + + @property value + @type mixed + @default element's text + **/ + value: null, + /** + Callback to perform custom displaying of value in element's text. + If `null`, default input's display used. + If `false`, no displaying methods will be called, element's text will never change. + Runs under element's scope. + _**Parameters:**_ + + * `value` current value to be displayed + * `response` server response (if display called after ajax submit), since 1.4.0 + + For _inputs with source_ (select, checklist) parameters are different: + + * `value` current value to be displayed + * `sourceData` array of items for current input (e.g. dropdown items) + * `response` server response (if display called after ajax submit), since 1.4.0 + + To get currently selected items use `$.fn.editableutils.itemsByValue(value, sourceData)`. + + @property display + @type function|boolean + @default null + @since 1.2.0 + @example + display: function(value, sourceData) { + //display checklist as comma-separated values + var html = [], + checked = $.fn.editableutils.itemsByValue(value, sourceData); + + if(checked.length) { + $.each(checked, function(i, v) { html.push($.fn.editableutils.escape(v.text)); }); + $(this).html(html.join(', ')); + } else { + $(this).empty(); + } + } + **/ + display: null, + /** + Css class applied when editable text is empty. + + @property emptyclass + @type string + @since 1.4.1 + @default editable-empty + **/ + emptyclass: 'editable-empty', + /** + Css class applied when value was stored but not sent to server (`pk` is empty or `send = 'never'`). + You may set it to `null` if you work with editables locally and submit them together. + + @property unsavedclass + @type string + @since 1.4.1 + @default editable-unsaved + **/ + unsavedclass: 'editable-unsaved', + /** + If selector is provided, editable will be delegated to the specified targets. + Usefull for dynamically generated DOM elements. + **Please note**, that delegated targets can't be initialized with `emptytext` and `autotext` options, + as they actually become editable only after first click. + You should manually set class `editable-click` to these elements. + Also, if element originally empty you should add class `editable-empty`, set `data-value=""` and write emptytext into element: + + @property selector + @type string + @since 1.4.1 + @default null + @example +
+ + Empty + + Operator +
+ + + **/ + selector: null, + /** + Color used to highlight element after update. Implemented via CSS3 transition, works in modern browsers. + + @property highlight + @type string|boolean + @since 1.4.5 + @default #FFFF80 + **/ + highlight: '#FFFF80' + }; + +}(window.jQuery)); + +/** +AbstractInput - base class for all editable inputs. +It defines interface to be implemented by any input type. +To create your own input you can inherit from this class. + +@class abstractinput +**/ +(function ($) { + "use strict"; + + //types + $.fn.editabletypes = {}; + + var AbstractInput = function () { }; + + AbstractInput.prototype = { + /** + Initializes input + + @method init() + **/ + init: function(type, options, defaults) { + this.type = type; + this.options = $.extend({}, defaults, options); + }, + + /* + this method called before render to init $tpl that is inserted in DOM + */ + prerender: function() { + this.$tpl = $(this.options.tpl); //whole tpl as jquery object + this.$input = this.$tpl; //control itself, can be changed in render method + this.$clear = null; //clear button + this.error = null; //error message, if input cannot be rendered + }, + + /** + Renders input from tpl. Can return jQuery deferred object. + Can be overwritten in child objects + + @method render() + **/ + render: function() { + + }, + + /** + Sets element's html by value. + + @method value2html(value, element) + @param {mixed} value + @param {DOMElement} element + **/ + value2html: function(value, element) { + $(element)[this.options.escape ? 'text' : 'html']($.trim(value)); + }, + + /** + Converts element's html to value + + @method html2value(html) + @param {string} html + @returns {mixed} + **/ + html2value: function(html) { + return $('
').html(html).text(); + }, + + /** + Converts value to string (for internal compare). For submitting to server used value2submit(). + + @method value2str(value) + @param {mixed} value + @returns {string} + **/ + value2str: function(value) { + return value; + }, + + /** + Converts string received from server into value. Usually from `data-value` attribute. + + @method str2value(str) + @param {string} str + @returns {mixed} + **/ + str2value: function(str) { + return str; + }, + + /** + Converts value for submitting to server. Result can be string or object. + + @method value2submit(value) + @param {mixed} value + @returns {mixed} + **/ + value2submit: function(value) { + return value; + }, + + /** + Sets value of input. + + @method value2input(value) + @param {mixed} value + **/ + value2input: function(value) { + this.$input.val(value); + }, + + /** + Returns value of input. Value can be object (e.g. datepicker) + + @method input2value() + **/ + input2value: function() { + return this.$input.val(); + }, + + /** + Activates input. For text it sets focus. + + @method activate() + **/ + activate: function() { + if(this.$input.is(':visible')) { + this.$input.focus(); + } + }, + + /** + Creates input. + + @method clear() + **/ + clear: function() { + this.$input.val(null); + }, + + /** + method to escape html. + **/ + escape: function(str) { + return $('
').text(str).html(); + }, + + /** + attach handler to automatically submit form when value changed (useful when buttons not shown) + **/ + autosubmit: function() { + + }, + + /** + Additional actions when destroying element + **/ + destroy: function() { + }, + + // -------- helper functions -------- + setClass: function() { + if(this.options.inputclass) { + this.$input.addClass(this.options.inputclass); + } + }, + + setAttr: function(attr) { + if (this.options[attr] !== undefined && this.options[attr] !== null) { + this.$input.attr(attr, this.options[attr]); + } + }, + + option: function(key, value) { + this.options[key] = value; + } + + }; + + AbstractInput.defaults = { + /** + HTML template of input. Normally you should not change it. + + @property tpl + @type string + @default '' + **/ + tpl: '', + /** + CSS class automatically applied to input + + @property inputclass + @type string + @default null + **/ + inputclass: null, + + /** + If `true` - html will be escaped in content of element via $.text() method. + If `false` - html will not be escaped, $.html() used. + When you use own `display` function, this option obviosly has no effect. + + @property escape + @type boolean + @since 1.5.0 + @default true + **/ + escape: true, + + //scope for external methods (e.g. source defined as function) + //for internal use only + scope: null, + + //need to re-declare showbuttons here to get it's value from common config (passed only options existing in defaults) + showbuttons: true + }; + + $.extend($.fn.editabletypes, {abstractinput: AbstractInput}); + +}(window.jQuery)); + +/** +List - abstract class for inputs that have source option loaded from js array or via ajax + +@class list +@extends abstractinput +**/ +(function ($) { + "use strict"; + + var List = function (options) { + + }; + + $.fn.editableutils.inherit(List, $.fn.editabletypes.abstractinput); + + $.extend(List.prototype, { + render: function () { + var deferred = $.Deferred(); + + this.error = null; + this.onSourceReady(function () { + this.renderList(); + deferred.resolve(); + }, function () { + this.error = this.options.sourceError; + deferred.resolve(); + }); + + return deferred.promise(); + }, + + html2value: function (html) { + return null; //can't set value by text + }, + + value2html: function (value, element, display, response) { + var deferred = $.Deferred(), + success = function () { + if(typeof display === 'function') { + //custom display method + display.call(element, value, this.sourceData, response); + } else { + this.value2htmlFinal(value, element); + } + deferred.resolve(); + }; + + //for null value just call success without loading source + if(value === null) { + success.call(this); + } else { + this.onSourceReady(success, function () { deferred.resolve(); }); + } + + return deferred.promise(); + }, + + // ------------- additional functions ------------ + + onSourceReady: function (success, error) { + //run source if it function + var source; + if ($.isFunction(this.options.source)) { + source = this.options.source.call(this.options.scope); + this.sourceData = null; + //note: if function returns the same source as URL - sourceData will be taken from cahce and no extra request performed + } else { + source = this.options.source; + } + + //if allready loaded just call success + if(this.options.sourceCache && $.isArray(this.sourceData)) { + success.call(this); + return; + } + + //try parse json in single quotes (for double quotes jquery does automatically) + try { + source = $.fn.editableutils.tryParseJson(source, false); + } catch (e) { + error.call(this); + return; + } + + //loading from url + if (typeof source === 'string') { + //try to get sourceData from cache + if(this.options.sourceCache) { + var cacheID = source, + cache; + + if (!$(document).data(cacheID)) { + $(document).data(cacheID, {}); + } + cache = $(document).data(cacheID); + + //check for cached data + if (cache.loading === false && cache.sourceData) { //take source from cache + this.sourceData = cache.sourceData; + this.doPrepend(); + success.call(this); + return; + } else if (cache.loading === true) { //cache is loading, put callback in stack to be called later + cache.callbacks.push($.proxy(function () { + this.sourceData = cache.sourceData; + this.doPrepend(); + success.call(this); + }, this)); + + //also collecting error callbacks + cache.err_callbacks.push($.proxy(error, this)); + return; + } else { //no cache yet, activate it + cache.loading = true; + cache.callbacks = []; + cache.err_callbacks = []; + } + } + + //ajaxOptions for source. Can be overwritten bt options.sourceOptions + var ajaxOptions = $.extend({ + url: source, + type: 'get', + cache: false, + dataType: 'json', + success: $.proxy(function (data) { + if(cache) { + cache.loading = false; + } + this.sourceData = this.makeArray(data); + if($.isArray(this.sourceData)) { + if(cache) { + //store result in cache + cache.sourceData = this.sourceData; + //run success callbacks for other fields waiting for this source + $.each(cache.callbacks, function () { this.call(); }); + } + this.doPrepend(); + success.call(this); + } else { + error.call(this); + if(cache) { + //run error callbacks for other fields waiting for this source + $.each(cache.err_callbacks, function () { this.call(); }); + } + } + }, this), + error: $.proxy(function () { + error.call(this); + if(cache) { + cache.loading = false; + //run error callbacks for other fields + $.each(cache.err_callbacks, function () { this.call(); }); + } + }, this) + }, this.options.sourceOptions); + + //loading sourceData from server + $.ajax(ajaxOptions); + + } else { //options as json/array + this.sourceData = this.makeArray(source); + + if($.isArray(this.sourceData)) { + this.doPrepend(); + success.call(this); + } else { + error.call(this); + } + } + }, + + doPrepend: function () { + if(this.options.prepend === null || this.options.prepend === undefined) { + return; + } + + if(!$.isArray(this.prependData)) { + //run prepend if it is function (once) + if ($.isFunction(this.options.prepend)) { + this.options.prepend = this.options.prepend.call(this.options.scope); + } + + //try parse json in single quotes + this.options.prepend = $.fn.editableutils.tryParseJson(this.options.prepend, true); + + //convert prepend from string to object + if (typeof this.options.prepend === 'string') { + this.options.prepend = {'': this.options.prepend}; + } + + this.prependData = this.makeArray(this.options.prepend); + } + + if($.isArray(this.prependData) && $.isArray(this.sourceData)) { + this.sourceData = this.prependData.concat(this.sourceData); + } + }, + + /* + renders input list + */ + renderList: function() { + // this method should be overwritten in child class + }, + + /* + set element's html by value + */ + value2htmlFinal: function(value, element) { + // this method should be overwritten in child class + }, + + /** + * convert data to array suitable for sourceData, e.g. [{value: 1, text: 'abc'}, {...}] + */ + makeArray: function(data) { + var count, obj, result = [], item, iterateItem; + if(!data || typeof data === 'string') { + return null; + } + + if($.isArray(data)) { //array + /* + function to iterate inside item of array if item is object. + Caclulates count of keys in item and store in obj. + */ + iterateItem = function (k, v) { + obj = {value: k, text: v}; + if(count++ >= 2) { + return false;// exit from `each` if item has more than one key. + } + }; + + for(var i = 0; i < data.length; i++) { + item = data[i]; + if(typeof item === 'object') { + count = 0; //count of keys inside item + $.each(item, iterateItem); + //case: [{val1: 'text1'}, {val2: 'text2} ...] + if(count === 1) { + result.push(obj); + //case: [{value: 1, text: 'text1'}, {value: 2, text: 'text2'}, ...] + } else if(count > 1) { + //removed check of existance: item.hasOwnProperty('value') && item.hasOwnProperty('text') + if(item.children) { + item.children = this.makeArray(item.children); + } + result.push(item); + } + } else { + //case: ['text1', 'text2' ...] + result.push({value: item, text: item}); + } + } + } else { //case: {val1: 'text1', val2: 'text2, ...} + $.each(data, function (k, v) { + result.push({value: k, text: v}); + }); + } + return result; + }, + + option: function(key, value) { + this.options[key] = value; + if(key === 'source') { + this.sourceData = null; + } + if(key === 'prepend') { + this.prependData = null; + } + } + + }); + + List.defaults = $.extend({}, $.fn.editabletypes.abstractinput.defaults, { + /** + Source data for list. + If **array** - it should be in format: `[{value: 1, text: "text1"}, {value: 2, text: "text2"}, ...]` + For compability, object format is also supported: `{"1": "text1", "2": "text2" ...}` but it does not guarantee elements order. + + If **string** - considered ajax url to load items. In that case results will be cached for fields with the same source and name. See also `sourceCache` option. + + If **function**, it should return data in format above (since 1.4.0). + + Since 1.4.1 key `children` supported to render OPTGROUP (for **select** input only). + `[{text: "group1", children: [{value: 1, text: "text1"}, {value: 2, text: "text2"}]}, ...]` + + + @property source + @type string | array | object | function + @default null + **/ + source: null, + /** + Data automatically prepended to the beginning of dropdown list. + + @property prepend + @type string | array | object | function + @default false + **/ + prepend: false, + /** + Error message when list cannot be loaded (e.g. ajax error) + + @property sourceError + @type string + @default Error when loading list + **/ + sourceError: 'Error when loading list', + /** + if true and source is **string url** - results will be cached for fields with the same source. + Usefull for editable column in grid to prevent extra requests. + + @property sourceCache + @type boolean + @default true + @since 1.2.0 + **/ + sourceCache: true, + /** + Additional ajax options to be used in $.ajax() when loading list from server. + Useful to send extra parameters (`data` key) or change request method (`type` key). + + @property sourceOptions + @type object|function + @default null + @since 1.5.0 + **/ + sourceOptions: null + }); + + $.fn.editabletypes.list = List; + +}(window.jQuery)); + +/** +Text input + +@class text +@extends abstractinput +@final +@example +awesome + +**/ +(function ($) { + "use strict"; + + var Text = function (options) { + this.init('text', options, Text.defaults); + }; + + $.fn.editableutils.inherit(Text, $.fn.editabletypes.abstractinput); + + $.extend(Text.prototype, { + render: function() { + this.renderClear(); + this.setClass(); + this.setAttr('placeholder'); + }, + + activate: function() { + if(this.$input.is(':visible')) { + this.$input.focus(); + $.fn.editableutils.setCursorPosition(this.$input.get(0), this.$input.val().length); + if(this.toggleClear) { + this.toggleClear(); + } + } + }, + + //render clear button + renderClear: function() { + if (this.options.clear) { + this.$clear = $(''); + this.$input.after(this.$clear) + .css('padding-left', 24) + .keyup($.proxy(function(e) { + //arrows, enter, tab, etc + if(~$.inArray(e.keyCode, [40,38,9,13,27])) { + return; + } + + clearTimeout(this.t); + var that = this; + this.t = setTimeout(function() { + that.toggleClear(e); + }, 100); + + }, this)) + .parent().css('position', 'relative'); + + this.$clear.click($.proxy(this.clear, this)); + } + }, + + postrender: function() { + /* + //now `clear` is positioned via css + if(this.$clear) { + //can position clear button only here, when form is shown and height can be calculated +// var h = this.$input.outerHeight(true) || 20, + var h = this.$clear.parent().height(), + delta = (h - this.$clear.height()) / 2; + + //this.$clear.css({bottom: delta, right: delta}); + } + */ + }, + + //show / hide clear button + toggleClear: function(e) { + if(!this.$clear) { + return; + } + + var len = this.$input.val().length, + visible = this.$clear.is(':visible'); + + if(len && !visible) { + this.$clear.show(); + } + + if(!len && visible) { + this.$clear.hide(); + } + }, + + clear: function() { + this.$clear.hide(); + this.$input.val('').focus(); + } + }); + + Text.defaults = $.extend({}, $.fn.editabletypes.abstractinput.defaults, { + /** + @property tpl + @default + **/ + tpl: '', + /** + Placeholder attribute of input. Shown when input is empty. + + @property placeholder + @type string + @default null + **/ + placeholder: null, + + /** + Whether to show `clear` button + + @property clear + @type boolean + @default true + **/ + clear: true + }); + + $.fn.editabletypes.text = Text; + +}(window.jQuery)); + +/** +Textarea input + +@class textarea +@extends abstractinput +@final +@example +awesome comment! + +**/ +(function ($) { + "use strict"; + + var Textarea = function (options) { + this.init('textarea', options, Textarea.defaults); + }; + + $.fn.editableutils.inherit(Textarea, $.fn.editabletypes.abstractinput); + + $.extend(Textarea.prototype, { + render: function () { + this.setClass(); + this.setAttr('placeholder'); + this.setAttr('rows'); + + //ctrl + enter + this.$input.keydown(function (e) { + if (e.ctrlKey && e.which === 13) { + $(this).closest('form').submit(); + } + }); + }, + + //using `white-space: pre-wrap` solves \n <--> BR conversion very elegant! + /* + value2html: function(value, element) { + var html = '', lines; + if(value) { + lines = value.split("\n"); + for (var i = 0; i < lines.length; i++) { + lines[i] = $('
').text(lines[i]).html(); + } + html = lines.join('
'); + } + $(element).html(html); + }, + + html2value: function(html) { + if(!html) { + return ''; + } + + var regex = new RegExp(String.fromCharCode(10), 'g'); + var lines = html.split(//i); + for (var i = 0; i < lines.length; i++) { + var text = $('
').html(lines[i]).text(); + + // Remove newline characters (\n) to avoid them being converted by value2html() method + // thus adding extra
tags + text = text.replace(regex, ''); + + lines[i] = text; + } + return lines.join("\n"); + }, + */ + activate: function() { + $.fn.editabletypes.text.prototype.activate.call(this); + } + }); + + Textarea.defaults = $.extend({}, $.fn.editabletypes.abstractinput.defaults, { + /** + @property tpl + @default + **/ + tpl:'', + /** + @property inputclass + @default input-large + **/ + inputclass: 'input-large', + /** + Placeholder attribute of input. Shown when input is empty. + + @property placeholder + @type string + @default null + **/ + placeholder: null, + /** + Number of rows in textarea + + @property rows + @type integer + @default 7 + **/ + rows: 7 + }); + + $.fn.editabletypes.textarea = Textarea; + +}(window.jQuery)); + +/** +Select (dropdown) + +@class select +@extends list +@final +@example + + +**/ +(function ($) { + "use strict"; + + var Select = function (options) { + this.init('select', options, Select.defaults); + }; + + $.fn.editableutils.inherit(Select, $.fn.editabletypes.list); + + $.extend(Select.prototype, { + renderList: function() { + this.$input.empty(); + + var fillItems = function($el, data) { + var attr; + if($.isArray(data)) { + for(var i=0; i', attr), data[i].children)); + } else { + attr.value = data[i].value; + if(data[i].disabled) { + attr.disabled = true; + } + $el.append($('