From f9a94e7cab89098458dd7129bc6386fe73dc29c4 Mon Sep 17 00:00:00 2001 From: Mythos Date: Sun, 6 Feb 2022 18:18:37 +0100 Subject: [PATCH 1/8] Add date format to user profile --- CHANGELOG.md | 4 +++ app/Http/Livewire/Profile.php | 1 + app/Models/Volume.php | 9 ++++++ config/app.php | 2 +- ..._02_06_170809_add_date_format_to_users.php | 32 +++++++++++++++++++ resources/lang/de.json | 1 + resources/views/livewire/profile.blade.php | 24 ++++++++++++++ .../livewire/series/upcoming-series.blade.php | 2 +- .../livewire/series/volumes-table.blade.php | 2 +- 9 files changed, 74 insertions(+), 3 deletions(-) create mode 100644 database/migrations/2022_02_06_170809_add_date_format_to_users.php diff --git a/CHANGELOG.md b/CHANGELOG.md index b3548b66..e1de8e0d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,9 @@ # Changelog +## 2.1.0 + +- Added date format to user profile + ## 2.0.3 (2022-02-05) - Applied fixes from 2.0.2 to update button diff --git a/app/Http/Livewire/Profile.php b/app/Http/Livewire/Profile.php index 9a7906c1..97086ed5 100644 --- a/app/Http/Livewire/Profile.php +++ b/app/Http/Livewire/Profile.php @@ -13,6 +13,7 @@ class Profile extends Component 'user.name' => 'required', 'user.email' => 'required|email', 'user.format_isbns_enabled' => 'boolean', + 'user.date_format' => 'required', ]; public function mount(): void diff --git a/app/Models/Volume.php b/app/Models/Volume.php index b7df8e72..474cb20c 100644 --- a/app/Models/Volume.php +++ b/app/Models/Volume.php @@ -59,6 +59,15 @@ class Volume extends Model 'series_id', ]; + /** + * The attributes that should be cast. + * + * @var array + */ + protected $casts = [ + 'publish_date' => 'datetime', + ]; + /** * Get the volume's name. * diff --git a/config/app.php b/config/app.php index 259a2abe..2419b323 100644 --- a/config/app.php +++ b/config/app.php @@ -10,7 +10,7 @@ | Current application version. | */ - 'version' => env('APP_VERSION', '2.0.3'), + 'version' => env('APP_VERSION', '2.1.0'), /* |-------------------------------------------------------------------------- diff --git a/database/migrations/2022_02_06_170809_add_date_format_to_users.php b/database/migrations/2022_02_06_170809_add_date_format_to_users.php new file mode 100644 index 00000000..a3c49f30 --- /dev/null +++ b/database/migrations/2022_02_06_170809_add_date_format_to_users.php @@ -0,0 +1,32 @@ +string('date_format')->default('Y-m-d'); + }); + } + + /** + * Reverse the migrations. + * + * @return void + */ + public function down(): void + { + Schema::table('users', function (Blueprint $table): void { + $table->dropColumn('date_format'); + }); + } +} diff --git a/resources/lang/de.json b/resources/lang/de.json index 0710d725..501c0faa 100644 --- a/resources/lang/de.json +++ b/resources/lang/de.json @@ -28,6 +28,7 @@ "Create Series": "Reihe anlegen", "Create Volume": "Band anlegen", "Current Password": "Aktuelles Passwort", + "Date Format": "Datumsformat", "Default price": "Standardpreis", "Delete": "Löschen", "Delivered": "Geliefert", diff --git a/resources/views/livewire/profile.blade.php b/resources/views/livewire/profile.blade.php index 400dcc8d..630a015e 100644 --- a/resources/views/livewire/profile.blade.php +++ b/resources/views/livewire/profile.blade.php @@ -42,6 +42,30 @@ @enderror +
+
+ + + @error('user.date_format') + + {{ $message }} + + @enderror +
+
diff --git a/resources/views/livewire/series/upcoming-series.blade.php b/resources/views/livewire/series/upcoming-series.blade.php index e0ad8ecc..12088093 100644 --- a/resources/views/livewire/series/upcoming-series.blade.php +++ b/resources/views/livewire/series/upcoming-series.blade.php @@ -15,7 +15,7 @@ @foreach ($upcoming as $volume) - {{ $volume->publish_date }} + {{ $volume->publish_date->format(auth()->user()->date_format) }} {{ $volume->name }} {{ $volume->isbn_formatted }} diff --git a/resources/views/livewire/series/volumes-table.blade.php b/resources/views/livewire/series/volumes-table.blade.php index 14b66f7f..30a23b0b 100644 --- a/resources/views/livewire/series/volumes-table.blade.php +++ b/resources/views/livewire/series/volumes-table.blade.php @@ -40,7 +40,7 @@ @endif {{ $volume->number }} - {{ $volume->publish_date }} + {{ $volume->publish_date->format(auth()->user()->date_format) }} {{ $volume->isbn_formatted }} {{ number_format($volume->price, 2) }} {{ config('app.currency') }} {{ $volume->status_name }} From da55c54aa327c8e9943e92e45ae4b2cc9b8260b1 Mon Sep 17 00:00:00 2001 From: Mythos Date: Sun, 6 Feb 2022 18:20:16 +0100 Subject: [PATCH 2/8] Rename translation --- resources/lang/de.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/resources/lang/de.json b/resources/lang/de.json index 501c0faa..bc5038d0 100644 --- a/resources/lang/de.json +++ b/resources/lang/de.json @@ -63,13 +63,13 @@ "Please confirm your password before continuing.": "Bitte bestätigen Sie Ihr Passwort, bevor Sie fortfahren.", "Price": "Preis", "Profile": "Profil", - "Publish Date": "Veröffentlichungsdatum", + "Publish Date": "Erscheinungsdatum", "Publisher": "Verlag", "Publishers": "Verlage", "Read": "Gelesen", "Regenerate NSFW Images": "NSFW-Bilder neu generieren", "Register": "Registrieren", - "Release Date": "Veröffentlichungsdatum", + "Release Date": "Erscheinungsdatum", "Remember Me": "Angemeldet bleiben", "Reorder volumes": "Bände neu anordnen", "Reset Password": "Passwort zurücksetzen", From 63b776ae701e388238bfdfbc352f3fca63680d2b Mon Sep 17 00:00:00 2001 From: Mythos Date: Mon, 7 Feb 2022 17:51:56 +0100 Subject: [PATCH 3/8] Improve API integration --- .php-cs-fixer.dist.php | 1 + CHANGELOG.md | 3 + app/Helpers/MangaPassionApi.php | 115 +++++++++++++ app/Http/Livewire/Overview.php | 2 - app/Http/Livewire/Series/CreateSeries.php | 129 +++++--------- app/Http/Livewire/Series/EditSeries.php | 1 - app/Http/Livewire/Series/ShowSeries.php | 162 ++++++++++-------- app/Http/Livewire/Series/UpcomingSeries.php | 2 +- app/Http/Livewire/Volumes/CreateVolume.php | 2 +- app/Http/Livewire/Volumes/EditVolume.php | 15 +- app/Models/Series.php | 4 + app/Models/User.php | 3 +- app/Models/Volume.php | 19 +- app/Providers/AuthServiceProvider.php | 1 - app/Providers/EventServiceProvider.php | 3 - ...45_alter_books_remove_dashes_from_isbn.php | 2 - ...1_12_18_170223_update_volumes_fix_isbn.php | 2 - ...update_volumes_change_delivered_status.php | 2 - resources/lang/de.json | 2 + .../livewire/series/upcoming-series.blade.php | 2 +- .../livewire/series/volumes-table.blade.php | 2 +- .../livewire/volumes/create-volume.blade.php | 2 +- .../livewire/volumes/edit-volume.blade.php | 13 +- routes/web.php | 1 - tests/Feature/ExampleTest.php | 1 - 25 files changed, 301 insertions(+), 190 deletions(-) create mode 100644 app/Helpers/MangaPassionApi.php diff --git a/.php-cs-fixer.dist.php b/.php-cs-fixer.dist.php index f2065a3d..37ba9a7d 100644 --- a/.php-cs-fixer.dist.php +++ b/.php-cs-fixer.dist.php @@ -20,6 +20,7 @@ return (new PhpCsFixer\Config) ->setRules([ + 'no_unused_imports' => true, 'array_indentation' => true, 'array_syntax' => ['syntax' => 'short'], 'binary_operator_spaces' => [ diff --git a/CHANGELOG.md b/CHANGELOG.md index e1de8e0d..fc1ea2e1 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,6 +3,9 @@ ## 2.1.0 - Added date format to user profile +- Improve updating series and volumes data Manga Passion API +- ISBN and Publish Date of a volume are now optional +- Reordering volumes makes sure that no gaps are left ## 2.0.3 (2022-02-05) diff --git a/app/Helpers/MangaPassionApi.php b/app/Helpers/MangaPassionApi.php new file mode 100644 index 00000000..1f30a584 --- /dev/null +++ b/app/Helpers/MangaPassionApi.php @@ -0,0 +1,115 @@ +successful()) { + return null; + } + $response = $response->json(); + if (count($response) == 0) { + return null; + } + $result = $response[0]; + $series = []; + if (!empty($result['id'])) { + $series['mangapassion_id'] = $result['id']; + } + if (!empty($result['title'])) { + $series['name'] = $result['title']; + } + if (!empty($result['status'])) { + if ($result['status'] == 1 || $result['status'] == 2) { + $series['status'] = $result['status']; + } else { + $series['status'] = 0; + } + } + if (!empty($result['cover'])) { + $series['image_url'] = $result['cover']; + } + + if (!empty($result['status']) && $result['status'] == 2) { + $series['total'] = $result['numVolumes']; + } elseif (!empty($result['sources'])) { + $sourceId = $result['sources'][0]['id']; + $sourceResponse = Http::get('https://api.manga-passion.de/sources/' . $sourceId); + if ($sourceResponse->successful()) { + $source = $sourceResponse->json(); + if (!empty($source)) { + if (!empty($source['volumes'])) { + $series['total'] = $source['volumes']; + } + } + } + } + + $defaultPrice = MangaPassionApi::getDefaultPrice($series['mangapassion_id']); + $series['default_price'] = $defaultPrice; + + if (!empty($result['publishers'])) { + $series['publisher'] = $result['publishers'][0]['name']; + } + + return $series; + } + + public static function loadVolumes($mangaPassionId) + { + $result = []; + $url = 'https://api.manga-passion.de/editions/' . $mangaPassionId . '/volumes?itemsPerPage=500&order[number]=asc'; + $response = Http::get($url); + if ($response->successful()) { + $responseBody = $response->json(); + + foreach ($responseBody as $responseItem) { + $number = !empty($responseItem['number']) ? $responseItem['number'] : 1; + $publish_date = null; + if ($responseItem['status'] < 2) { + $publish_date = !empty($responseItem['date']) ? new DateTime($responseItem['date']) : null; + } + $isbn = !empty($responseItem['isbn13']) ? (string) Isbn::of($responseItem['isbn13'])->to13() : null; + $price = !empty($responseItem['price']) ? floatval($responseItem['price']) / 100.0 : 0; + + $result[] = [ + 'number' => $number, + 'isbn' => $isbn, + 'publish_date' => $publish_date, + 'price' => $price, + ]; + } + + return collect($result); + } + + return null; + } + + public static function getDefaultPrice($mangaPassionId): ?float + { + $volumesResponse = Http::get('https://api.manga-passion.de/editions/' . $mangaPassionId . '/volumes?itemsPerPage=1&order[number]=asc'); + if (!$volumesResponse->successful()) { + return null; + } + $volumesResult = $volumesResponse->json(); + if (count($volumesResult) > 0) { + foreach ($volumesResult as $volumeResult) { + if (empty($volumeResult['price'])) { + continue; + } + + return !empty($volumeResult['price']) ? floatval($volumeResult['price']) / 100.0 : 0; + } + } + + return null; + } +} diff --git a/app/Http/Livewire/Overview.php b/app/Http/Livewire/Overview.php index 2949734a..d6e8e266 100644 --- a/app/Http/Livewire/Overview.php +++ b/app/Http/Livewire/Overview.php @@ -2,8 +2,6 @@ namespace App\Http\Livewire; -use App\Models\Volume; -use Exception; use Illuminate\Support\Facades\DB; use Livewire\Component; diff --git a/app/Http/Livewire/Series/CreateSeries.php b/app/Http/Livewire/Series/CreateSeries.php index b09bf0f5..ee9a52a3 100644 --- a/app/Http/Livewire/Series/CreateSeries.php +++ b/app/Http/Livewire/Series/CreateSeries.php @@ -2,19 +2,17 @@ namespace App\Http\Livewire\Series; +use App\Helpers\MangaPassionApi; use App\Models\Category; use App\Models\Publisher; use App\Models\Series; use App\Models\Volume; -use DateTime; use Exception; -use Illuminate\Support\Facades\Http; use Illuminate\Support\Facades\Log; use Illuminate\Support\Str; use Intervention\Image\Facades\Image as FacadesImage; use Intervention\Image\Image; use Livewire\Component; -use Nicebooks\Isbn\Isbn; use Storage; class CreateSeries extends Component @@ -95,68 +93,30 @@ public function fetchdata(): void { $this->validateOnly('series.name'); $this->series->mangapassion_id = null; - $response = Http::get('https://api.manga-passion.de/editions?order[titleLength]=asc&order[title]=asc&title=' . urlencode($this->series->name)); - if ($response->successful()) { - $response = $response->json(); - if (count($response) == 0) { - return; - } - $result = $response[0]; - if (!empty($result['id'])) { - $this->series->mangapassion_id = $result['id']; - } - if (!empty($result['title'])) { - $this->series->name = $result['title']; - } - if (!empty($result['status'])) { - if ($result['status'] == 1) { - $this->series->status = 1; - } elseif ($result['status'] == 2) { - $this->series->status = 2; - } else { - $this->series->status = 0; - } - } - if (!empty($result['cover'])) { - $this->image_url = $result['cover']; - } - - if (!empty($result['status']) && $result['status'] == 2) { - $this->series->total = $result['numVolumes']; - } elseif (!empty($result['sources'])) { - $sourceId = $result['sources'][0]['id']; - $sourceResponse = Http::get('https://api.manga-passion.de/sources/' . $sourceId); - if ($sourceResponse->successful()) { - $source = $sourceResponse->json(); - if (!empty($source)) { - if (!empty($source['volumes'])) { - $this->series->total = $source['volumes']; - } - } - } - } - - $volumesResponse = Http::get('https://api.manga-passion.de/editions/' . $this->series->mangapassion_id . '/volumes?itemsPerPage=1&order[number]=asc'); - if ($volumesResponse->successful()) { - $volumesResult = $volumesResponse->json(); - if (count($volumesResult) > 0) { - foreach ($volumesResult as $volumeResult) { - if (empty($volumeResult['price'])) { - continue; - } - $this->series->default_price = !empty($volumeResult['price']) ? floatval($volumeResult['price']) / 100.0 : 0; - } - } - } - - if (!empty($result['publishers'])) { - $publisherName = $result['publishers'][0]['name']; - $publisher = Publisher::whereName($publisherName)->firstOrCreate([ - 'name' => $publisherName, - ]); - $this->publishers = Publisher::orderBy('name')->get(); - $this->series->publisher_id = $publisher->id; - } + $series = MangaPassionApi::loadSeries($this->series->name); + + if (empty($series)) { + toastr()->livewire()->addWarning(__('No entry with the title :name has been found', ['name' => $this->series->name])); + + return; + } + + $this->series->mangapassion_id = $series['mangapassion_id']; + $this->series->name = $series['name']; + $this->series->status = $series['status']; + $this->series->total = $series['total']; + $this->series->default_price = $series['default_price']; + $this->image_url = $series['image_url']; + + $publisher = Publisher::whereName($series['publisher'])->first(); + if (!empty($publisher)) { + $this->series->publisher_id = $publisher->id; + } else { + $publisher = new Publisher(['name' => $series['publisher']]); + $publisher->save(); + + $this->series->publisher_id = $publisher->id; + $this->publishers = Publisher::orderBy('name')->get(); } } @@ -186,27 +146,24 @@ private function createVolumes(): void if (empty($this->series->mangapassion_id)) { return; } - $seriesId = $this->series->id; - $volumesResponse = Http::get('https://api.manga-passion.de/editions/' . $this->series->mangapassion_id . '/volumes?itemsPerPage=500&order[number]=asc'); - if ($volumesResponse->successful()) { - $volumesResult = $volumesResponse->json(); - if (count($volumesResult) > 0) { - foreach ($volumesResult as $volumeResult) { - if (empty($volumeResult['isbn13'])) { - continue; - } - $publish_date = !empty($volumeResult['date']) ? new DateTime($volumeResult['date']) : null; - $volume = new Volume([ - 'series_id' => $seriesId, - 'isbn' => Isbn::of($volumeResult['isbn13'])->to13(), - 'number' => $volumeResult['number'] ?? 1, - 'publish_date' => !empty($publish_date) ? $publish_date->format('Y-m-d') : null, - 'price' => !empty($volumeResult['price']) ? floatval($volumeResult['price']) / 100.0 : 0, - 'status' => $this->series->subscription_active, - ]); - $volume->save(); - } - } + + $volumesResult = MangaPassionApi::loadVolumes($this->series->mangapassion_id); + + foreach ($volumesResult as $newVolume) { + $number = $newVolume['number']; + $isbn = $newVolume['isbn']; + $publish_date = $newVolume['publish_date']; + $price = $newVolume['price']; + + $volume = new Volume([ + 'series_id' => $this->series->id, + 'isbn' => $isbn, + 'number' => $number, + 'publish_date' => !empty($publish_date) ? $publish_date->format('Y-m-d') : null, + 'price' => $price, + 'status' => $this->series->subscription_active, + ]); + $volume->save(); } } } diff --git a/app/Http/Livewire/Series/EditSeries.php b/app/Http/Livewire/Series/EditSeries.php index 334da7ad..aaa17479 100644 --- a/app/Http/Livewire/Series/EditSeries.php +++ b/app/Http/Livewire/Series/EditSeries.php @@ -2,7 +2,6 @@ namespace App\Http\Livewire\Series; -use App\Http\Traits\LivewireDelete; use App\Models\Category; use App\Models\Publisher; use App\Models\Series; diff --git a/app/Http/Livewire/Series/ShowSeries.php b/app/Http/Livewire/Series/ShowSeries.php index 1b26db77..ead1cc1f 100644 --- a/app/Http/Livewire/Series/ShowSeries.php +++ b/app/Http/Livewire/Series/ShowSeries.php @@ -2,14 +2,13 @@ namespace App\Http\Livewire\Series; +use App\Helpers\MangaPassionApi; use App\Models\Category; +use App\Models\Publisher; use App\Models\Series; use App\Models\Volume; -use DateTime; use Illuminate\Support\Collection; -use Illuminate\Support\Facades\Http; use Livewire\Component; -use Nicebooks\Isbn\Isbn; class ShowSeries extends Component { @@ -101,6 +100,8 @@ public function move_up(int $id): void $volume->save(); $predecessor->save(); + $this->resetNumbers(); + toastr()->livewire()->addSuccess(__(':name has been updated', ['name' => $volume->series->name . ' ' . $volume->number])); } @@ -117,6 +118,8 @@ public function move_down(int $id): void $volume->save(); $successor->save(); + $this->resetNumbers(); + toastr()->livewire()->addSuccess(__(':name has been updated', ['name' => $volume->series->name . ' ' . $volume->number])); } @@ -125,90 +128,99 @@ public function update():void if (empty($this->series->mangapassion_id)) { return; } - $response = Http::get('https://api.manga-passion.de/editions/' . $this->series->mangapassion_id); - if ($response->successful()) { - $result = $response->json(); - if (empty($result)) { - return; - } - if (!empty($result['title'])) { - $this->series->name = $result['title']; - } - if (!empty($result['status'])) { - if ($result['status'] == 1) { - $this->series->status = 1; - } elseif ($result['status'] == 2) { - $this->series->status = 2; - } else { - $this->series->status = 0; - } - } - if (!empty($result['status']) && $result['status'] == 2) { - $this->series->total = $result['numVolumes']; - } elseif (!empty($result['sources'])) { - $sourceId = $result['sources'][0]['id']; - $sourceResponse = Http::get('https://api.manga-passion.de/sources/' . $sourceId); - if ($sourceResponse->successful()) { - $source = $sourceResponse->json(); - if (!empty($source)) { - if (!empty($source['volumes'])) { - $this->series->total = $source['volumes']; - } - } - } - } + $series = MangaPassionApi::loadSeries($this->series->name); - $volumesResponse = Http::get('https://api.manga-passion.de/editions/' . $this->series->mangapassion_id . '/volumes?itemsPerPage=1&order[number]=asc'); - if ($volumesResponse->successful()) { - $volumesResult = $volumesResponse->json(); - if (count($volumesResult) > 0) { - foreach ($volumesResult as $volumeResult) { - if (empty($volumeResult['price'])) { - continue; - } - $this->series->default_price = !empty($volumeResult['price']) ? floatval($volumeResult['price']) / 100.0 : 0; - } - } - } - $this->series->save(); + if (empty($series)) { + return; + } + + $this->series->mangapassion_id = $series['mangapassion_id']; + $this->series->name = $series['name']; + $this->series->status = $series['status']; + $this->series->total = $series['total']; + $this->series->default_price = $series['default_price']; + $this->image_url = $series['image_url']; + + $publisher = Publisher::whereName($series['publisher'])->first(); + if (!empty($publisher)) { + $this->series->publisher_id = $publisher->id; + } else { + $publisher = new Publisher(['name' => $series['publisher']]); + $publisher->save(); + + $this->series->publisher_id = $publisher->id; } + $this->series->save(); - $this->createVolumes(); + $this->updateVolumes(); toastr()->livewire()->addSuccess(__(':name has been updated', ['name' => $this->series->name])); } - private function createVolumes(): void + private function updateVolumes(): void { if (empty($this->series->mangapassion_id)) { return; } - $maxDate = Volume::whereSeriesId($this->series->id)->max('publish_date'); - $url = 'https://api.manga-passion.de/editions/' . $this->series->mangapassion_id . '/volumes?itemsPerPage=500&order[number]=asc'; - if (!empty($maxDate)) { - $date = new DateTime($maxDate); - $url .= '&date[strictly_after]=' . $date->format('Y-m-d'); - } - $response = Http::get($url); - if ($response->successful()) { - $result = $response->json(); - if (count($result) > 0) { - foreach ($result as $volumeResult) { - if (empty($volumeResult['isbn13'])) { - continue; - } - $publish_date = !empty($volumeResult['date']) ? new DateTime($volumeResult['date']) : null; - $volume = new Volume([ - 'series_id' => $this->series->id, - 'isbn' => Isbn::of($volumeResult['isbn13'])->to13(), - 'number' => $volumeResult['number'] ?? 1, - 'publish_date' => !empty($publish_date) ? $publish_date->format('Y-m-d') : null, - 'price' => !empty($volumeResult['price']) ? floatval($volumeResult['price']) / 100.0 : 0, - 'status' => $this->series->subscription_active, - ]); - $volume->save(); - } + $volumes = Volume::whereSeriesId($this->series->id)->get(); + + $volumesResult = MangaPassionApi::loadVolumes($this->series->mangapassion_id); + $newVolumes = []; + + foreach ($volumesResult as $volumeResult) { + $number = $volumeResult['number']; + $isbn = $volumeResult['isbn']; + $publish_date = $volumeResult['publish_date']; + $price = $volumeResult['price']; + + $volume = null; + if (!empty($isbn)) { + $volume = $volumes->firstWhere('isbn', $isbn); + } + if (!empty($number)) { + $volume = $volumes->firstWhere('number', $number); + } + if (empty($volume)) { + $newVolumes[] = $volumeResult; + continue; } + + $volume->number = $number; + $volume->publish_date = !empty($publish_date) ? $publish_date->format('Y-m-d') : null; + if (!empty($isbn)) { + $volume->isbn = $isbn; + } + $volume->save(); + } + + foreach ($newVolumes as $newVolume) { + $number = $newVolume['number']; + $isbn = $newVolume['isbn']; + $publish_date = $newVolume['publish_date']; + $price = $newVolume['price']; + + $volume = new Volume([ + 'series_id' => $this->series->id, + 'isbn' => $isbn, + 'number' => $number, + 'publish_date' => !empty($publish_date) ? $publish_date->format('Y-m-d') : null, + 'price' => $price, + 'status' => $this->series->subscription_active, + ]); + $volume->save(); + } + + $this->resetNumbers(); + } + + private function resetNumbers(): void + { + $volumes = Volume::whereSeriesId($this->series->id)->orderBy('number')->get(); + $number = 1; + foreach ($volumes as $volume) { + $volume->number = $number; + $volume->save(); + $number++; } } } diff --git a/app/Http/Livewire/Series/UpcomingSeries.php b/app/Http/Livewire/Series/UpcomingSeries.php index 7b28840d..d7771bed 100644 --- a/app/Http/Livewire/Series/UpcomingSeries.php +++ b/app/Http/Livewire/Series/UpcomingSeries.php @@ -16,7 +16,7 @@ class UpcomingSeries extends Component public function render() { - $upcoming = Volume::with('series.publisher')->where('ignore_in_upcoming', 'false')->whereIn('status', [0, 1, 2])->orderBy('publish_date')->get(); + $upcoming = Volume::with('series.publisher')->where('ignore_in_upcoming', 'false')->whereIn('status', [0, 1, 2])->whereNotNull('publish_date')->orderBy('publish_date')->get(); if (!empty($this->search)) { $upcoming = $upcoming->filter(function ($volume) { return Str::contains(Str::lower($volume->name), Str::lower($this->search)) diff --git a/app/Http/Livewire/Volumes/CreateVolume.php b/app/Http/Livewire/Volumes/CreateVolume.php index 128a6f9f..a4f82a17 100644 --- a/app/Http/Livewire/Volumes/CreateVolume.php +++ b/app/Http/Livewire/Volumes/CreateVolume.php @@ -41,7 +41,7 @@ protected function rules() 'publish_date' => 'nullable|date', 'status' => 'required|integer|min:0', 'price' => 'nullable|regex:"^[0-9]{1,9}([,.][0-9]{1,2})?$"', - 'isbn' => ['required', 'unique:volumes,isbn,NULL,id,series_id,' . $this->series->id, new Isbn()], + 'isbn' => ['nullable', 'unique:volumes,isbn,NULL,id,series_id,' . $this->series->id, new Isbn()], 'ignore_in_upcoming' => 'boolean', ]; } diff --git a/app/Http/Livewire/Volumes/EditVolume.php b/app/Http/Livewire/Volumes/EditVolume.php index 0f54d89d..c2f9a3e0 100644 --- a/app/Http/Livewire/Volumes/EditVolume.php +++ b/app/Http/Livewire/Volumes/EditVolume.php @@ -31,10 +31,11 @@ public function mount(Category $category, Series $series, int $number): void protected function rules() { return [ + 'volume.number' => 'required|integer|min:1', 'volume.publish_date' => 'nullable|date', 'volume.status' => 'required|integer|min:0', 'volume.price' => 'nullable|regex:"^[0-9]{1,9}([,.][0-9]{1,2})?$"', - 'volume.isbn' => ['required', 'unique:volumes,isbn,' . $this->volume->id . ',id,series_id,' . $this->series->id, new Isbn()], + 'volume.isbn' => ['nullable', 'unique:volumes,isbn,' . $this->volume->id . ',id,series_id,' . $this->series->id, new Isbn()], 'volume.ignore_in_upcoming' => 'boolean', ]; } @@ -77,6 +78,7 @@ public function save() } $this->validate(); $this->volume->save(); + $this->resetNumbers(); toastr()->addSuccess(__('Volumme :number has been updated', ['number' => $this->volume->number])); return redirect()->route('series.show', [$this->category, $this->series]); @@ -98,4 +100,15 @@ public function confirmedDelete() return redirect()->route('series.show', [$this->category, $this->series]); } + + private function resetNumbers(): void + { + $volumes = Volume::whereSeriesId($this->volume->series_id)->orderBy('number')->get(); + $number = 1; + foreach ($volumes as $volume) { + $volume->number = $number; + $volume->save(); + $number++; + } + } } diff --git a/app/Models/Series.php b/app/Models/Series.php index 70b14262..761f1ff4 100644 --- a/app/Models/Series.php +++ b/app/Models/Series.php @@ -23,6 +23,8 @@ * @property int|null $is_nsfw * @property string|null $default_price * @property int|null $publisher_id + * @property int $subscription_active + * @property int|null $mangapassion_id * @property-read \App\Models\Category $category * @property-read string $completion_status * @property-read string $completion_status_class @@ -44,10 +46,12 @@ * @method static \Illuminate\Database\Eloquent\Builder|Series whereDefaultPrice($value) * @method static \Illuminate\Database\Eloquent\Builder|Series whereId($value) * @method static \Illuminate\Database\Eloquent\Builder|Series whereIsNsfw($value) + * @method static \Illuminate\Database\Eloquent\Builder|Series whereMangapassionId($value) * @method static \Illuminate\Database\Eloquent\Builder|Series whereName($value) * @method static \Illuminate\Database\Eloquent\Builder|Series wherePublisherId($value) * @method static \Illuminate\Database\Eloquent\Builder|Series whereSlug($value) * @method static \Illuminate\Database\Eloquent\Builder|Series whereStatus($value) + * @method static \Illuminate\Database\Eloquent\Builder|Series whereSubscriptionActive($value) * @method static \Illuminate\Database\Eloquent\Builder|Series whereTotal($value) * @method static \Illuminate\Database\Eloquent\Builder|Series whereUpdatedAt($value) * @mixin \Eloquent diff --git a/app/Models/User.php b/app/Models/User.php index 0d6307b1..67b245e1 100644 --- a/app/Models/User.php +++ b/app/Models/User.php @@ -2,7 +2,6 @@ namespace App\Models; -use Illuminate\Contracts\Auth\MustVerifyEmail; use Illuminate\Database\Eloquent\Factories\HasFactory; use Illuminate\Foundation\Auth\User as Authenticatable; use Illuminate\Notifications\Notifiable; @@ -20,6 +19,7 @@ * @property \Illuminate\Support\Carbon|null $created_at * @property \Illuminate\Support\Carbon|null $updated_at * @property int $format_isbns_enabled + * @property string $date_format * @property-read \Illuminate\Notifications\DatabaseNotificationCollection|\Illuminate\Notifications\DatabaseNotification[] $notifications * @property-read int|null $notifications_count * @property-read \Illuminate\Database\Eloquent\Collection|\Laravel\Sanctum\PersonalAccessToken[] $tokens @@ -29,6 +29,7 @@ * @method static \Illuminate\Database\Eloquent\Builder|User newQuery() * @method static \Illuminate\Database\Eloquent\Builder|User query() * @method static \Illuminate\Database\Eloquent\Builder|User whereCreatedAt($value) + * @method static \Illuminate\Database\Eloquent\Builder|User whereDateFormat($value) * @method static \Illuminate\Database\Eloquent\Builder|User whereEmail($value) * @method static \Illuminate\Database\Eloquent\Builder|User whereEmailVerifiedAt($value) * @method static \Illuminate\Database\Eloquent\Builder|User whereFormatIsbnsEnabled($value) diff --git a/app/Models/Volume.php b/app/Models/Volume.php index 474cb20c..c9ccd59c 100644 --- a/app/Models/Volume.php +++ b/app/Models/Volume.php @@ -3,6 +3,7 @@ namespace App\Models; use App\Helpers\IsbnHelpers; +use Carbon\Carbon; use Illuminate\Database\Eloquent\Factories\HasFactory; use Illuminate\Database\Eloquent\Model; use Illuminate\Database\Eloquent\Relations\BelongsTo; @@ -22,6 +23,7 @@ * @property int $ignore_in_upcoming * @property-read string $isbn_formatted * @property-read string $name + * @property-read string $publish_date_formatted * @property-read string $status_class * @property-read string $status_name * @property-read \App\Models\Series $series @@ -60,13 +62,18 @@ class Volume extends Model ]; /** - * The attributes that should be cast. + * Get the volume's formatted publish date. * - * @var array + * @return string */ - protected $casts = [ - 'publish_date' => 'datetime', - ]; + public function getPublishDateFormattedAttribute() : ?string + { + if (empty($this->publish_date)) { + return null; + } + + return Carbon::parse($this->publish_date)->format(auth()->user()->date_format); + } /** * Get the volume's name. @@ -87,7 +94,7 @@ public function getNameAttribute(): string * * @return string */ - public function getIsbnFormattedAttribute(): string + public function getIsbnFormattedAttribute(): ?string { if (auth()->user()->format_isbns_enabled) { return IsbnHelpers::format($this->isbn); diff --git a/app/Providers/AuthServiceProvider.php b/app/Providers/AuthServiceProvider.php index 7774acaf..ceb551e4 100644 --- a/app/Providers/AuthServiceProvider.php +++ b/app/Providers/AuthServiceProvider.php @@ -3,7 +3,6 @@ namespace App\Providers; use Illuminate\Foundation\Support\Providers\AuthServiceProvider as ServiceProvider; -use Illuminate\Support\Facades\Gate; class AuthServiceProvider extends ServiceProvider { diff --git a/app/Providers/EventServiceProvider.php b/app/Providers/EventServiceProvider.php index 01ebc4c4..356648fc 100644 --- a/app/Providers/EventServiceProvider.php +++ b/app/Providers/EventServiceProvider.php @@ -2,9 +2,6 @@ namespace App\Providers; -use App\Models\Category; -use App\Models\Series; -use App\Models\Volume; use Illuminate\Auth\Events\Registered; use Illuminate\Auth\Listeners\SendEmailVerificationNotification; use Illuminate\Foundation\Support\Providers\EventServiceProvider as ServiceProvider; diff --git a/database/migrations/2021_12_02_182945_alter_books_remove_dashes_from_isbn.php b/database/migrations/2021_12_02_182945_alter_books_remove_dashes_from_isbn.php index da38ff8b..517df911 100644 --- a/database/migrations/2021_12_02_182945_alter_books_remove_dashes_from_isbn.php +++ b/database/migrations/2021_12_02_182945_alter_books_remove_dashes_from_isbn.php @@ -1,8 +1,6 @@ @foreach ($upcoming as $volume) - {{ $volume->publish_date->format(auth()->user()->date_format) }} + {{ $volume->publish_date_formatted }} {{ $volume->name }} {{ $volume->isbn_formatted }} diff --git a/resources/views/livewire/series/volumes-table.blade.php b/resources/views/livewire/series/volumes-table.blade.php index 30a23b0b..edd9edd2 100644 --- a/resources/views/livewire/series/volumes-table.blade.php +++ b/resources/views/livewire/series/volumes-table.blade.php @@ -40,7 +40,7 @@ @endif {{ $volume->number }} - {{ $volume->publish_date->format(auth()->user()->date_format) }} + {{ $volume->publish_date_formatted }} {{ $volume->isbn_formatted }} {{ number_format($volume->price, 2) }} {{ config('app.currency') }} {{ $volume->status_name }} diff --git a/resources/views/livewire/volumes/create-volume.blade.php b/resources/views/livewire/volumes/create-volume.blade.php index 66a77c61..19166d11 100644 --- a/resources/views/livewire/volumes/create-volume.blade.php +++ b/resources/views/livewire/volumes/create-volume.blade.php @@ -17,7 +17,7 @@
- +
diff --git a/resources/views/livewire/volumes/edit-volume.blade.php b/resources/views/livewire/volumes/edit-volume.blade.php index 52c42a1d..7d309fb4 100644 --- a/resources/views/livewire/volumes/edit-volume.blade.php +++ b/resources/views/livewire/volumes/edit-volume.blade.php @@ -17,7 +17,18 @@
- + + + @error('volume.number') + + {{ $message }} + + @enderror +
+
+
+
+ @error('volume.isbn') diff --git a/routes/web.php b/routes/web.php index 4dd72d50..c9600919 100644 --- a/routes/web.php +++ b/routes/web.php @@ -12,7 +12,6 @@ use App\Http\Livewire\Publishers\CreatePublisher; use App\Http\Livewire\Publishers\EditPublisher; use App\Http\Livewire\Publishers\PublisherTable; -use App\Http\Livewire\Publishers\ShowPublisher; use App\Http\Livewire\Series\CreateSeries; use App\Http\Livewire\Series\EditSeries; use App\Http\Livewire\Series\ShowSeries; diff --git a/tests/Feature/ExampleTest.php b/tests/Feature/ExampleTest.php index d67d1a10..1fe822ec 100644 --- a/tests/Feature/ExampleTest.php +++ b/tests/Feature/ExampleTest.php @@ -2,7 +2,6 @@ namespace Tests\Feature; -use Illuminate\Foundation\Testing\RefreshDatabase; use Tests\TestCase; class ExampleTest extends TestCase From 1b17a1609f0ff442a92ef132b6be6270efc206a7 Mon Sep 17 00:00:00 2001 From: Mythos Date: Mon, 7 Feb 2022 17:53:20 +0100 Subject: [PATCH 4/8] Update dependencies --- composer.lock | 84 ++--- package-lock.json | 694 +++++++++++++++++++-------------------- public/js/app.js | 2 +- public/js/app.js.map | 2 +- public/mix-manifest.json | 2 +- 5 files changed, 391 insertions(+), 393 deletions(-) diff --git a/composer.lock b/composer.lock index 88998298..213e1bcc 100644 --- a/composer.lock +++ b/composer.lock @@ -2569,12 +2569,12 @@ } }, "autoload": { - "psr-4": { - "Flasher\\Laravel\\": "" - }, "files": [ "helpers.php" - ] + ], + "psr-4": { + "Flasher\\Laravel\\": "" + } }, "notification-url": "https://packagist.org/downloads/", "license": [ @@ -2822,12 +2822,12 @@ } }, "autoload": { - "psr-4": { - "Flasher\\Toastr\\Laravel\\": "" - }, "files": [ "Resources/functions/toastr.php" - ] + ], + "psr-4": { + "Flasher\\Toastr\\Laravel\\": "" + } }, "notification-url": "https://packagist.org/downloads/", "license": [ @@ -4655,12 +4655,12 @@ } }, "autoload": { - "psr-4": { - "Symfony\\Polyfill\\Iconv\\": "" - }, "files": [ "bootstrap.php" - ] + ], + "psr-4": { + "Symfony\\Polyfill\\Iconv\\": "" + } }, "notification-url": "https://packagist.org/downloads/", "license": [ @@ -4735,12 +4735,12 @@ } }, "autoload": { - "psr-4": { - "Symfony\\Polyfill\\Intl\\Grapheme\\": "" - }, "files": [ "bootstrap.php" - ] + ], + "psr-4": { + "Symfony\\Polyfill\\Intl\\Grapheme\\": "" + } }, "notification-url": "https://packagist.org/downloads/", "license": [ @@ -4818,12 +4818,12 @@ } }, "autoload": { - "psr-4": { - "Symfony\\Polyfill\\Intl\\Idn\\": "" - }, "files": [ "bootstrap.php" - ] + ], + "psr-4": { + "Symfony\\Polyfill\\Intl\\Idn\\": "" + } }, "notification-url": "https://packagist.org/downloads/", "license": [ @@ -4903,12 +4903,12 @@ } }, "autoload": { - "psr-4": { - "Symfony\\Polyfill\\Intl\\Normalizer\\": "" - }, "files": [ "bootstrap.php" ], + "psr-4": { + "Symfony\\Polyfill\\Intl\\Normalizer\\": "" + }, "classmap": [ "Resources/stubs" ] @@ -5067,12 +5067,12 @@ } }, "autoload": { - "psr-4": { - "Symfony\\Polyfill\\Php72\\": "" - }, "files": [ "bootstrap.php" - ] + ], + "psr-4": { + "Symfony\\Polyfill\\Php72\\": "" + } }, "notification-url": "https://packagist.org/downloads/", "license": [ @@ -5143,12 +5143,12 @@ } }, "autoload": { - "psr-4": { - "Symfony\\Polyfill\\Php73\\": "" - }, "files": [ "bootstrap.php" ], + "psr-4": { + "Symfony\\Polyfill\\Php73\\": "" + }, "classmap": [ "Resources/stubs" ] @@ -5222,12 +5222,12 @@ } }, "autoload": { - "psr-4": { - "Symfony\\Polyfill\\Php80\\": "" - }, "files": [ "bootstrap.php" ], + "psr-4": { + "Symfony\\Polyfill\\Php80\\": "" + }, "classmap": [ "Resources/stubs" ] @@ -5305,12 +5305,12 @@ } }, "autoload": { - "psr-4": { - "Symfony\\Polyfill\\Php81\\": "" - }, "files": [ "bootstrap.php" ], + "psr-4": { + "Symfony\\Polyfill\\Php81\\": "" + }, "classmap": [ "Resources/stubs" ] @@ -7078,16 +7078,16 @@ }, { "name": "doctrine/dbal", - "version": "3.3.1", + "version": "3.3.2", "source": { "type": "git", "url": "https://github.com/doctrine/dbal.git", - "reference": "5b6eb6c8ce65ebdc60b0c0960a676cf76758dbf2" + "reference": "35eae239ef515d55ebb24e9d4715cad09a4f58ed" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/doctrine/dbal/zipball/5b6eb6c8ce65ebdc60b0c0960a676cf76758dbf2", - "reference": "5b6eb6c8ce65ebdc60b0c0960a676cf76758dbf2", + "url": "https://api.github.com/repos/doctrine/dbal/zipball/35eae239ef515d55ebb24e9d4715cad09a4f58ed", + "reference": "35eae239ef515d55ebb24e9d4715cad09a4f58ed", "shasum": "" }, "require": { @@ -7169,7 +7169,7 @@ ], "support": { "issues": "https://github.com/doctrine/dbal/issues", - "source": "https://github.com/doctrine/dbal/tree/3.3.1" + "source": "https://github.com/doctrine/dbal/tree/3.3.2" }, "funding": [ { @@ -7185,7 +7185,7 @@ "type": "tidelift" } ], - "time": "2022-01-30T17:50:59+00:00" + "time": "2022-02-05T16:33:45+00:00" }, { "name": "doctrine/deprecations", diff --git a/package-lock.json b/package-lock.json index 7ad8172f..06b270be 100644 --- a/package-lock.json +++ b/package-lock.json @@ -24,13 +24,12 @@ } }, "node_modules/@ampproject/remapping": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.0.2.tgz", - "integrity": "sha512-sE8Gx+qSDMLoJvb3QarJJlDQK7SSY4rK3hxp4XsiANeFOmjU46ZI7Y9adAQRJrmbz8zbtZkp3mJTT+rGxtF0XA==", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.1.0.tgz", + "integrity": "sha512-d5RysTlJ7hmw5Tw4UxgxcY3lkMe92n8sXCcuLPAyIAHK6j8DefDwtGnVVDgOnv+RnEosulDJ9NPKQL27bDId0g==", "dev": true, "dependencies": { - "@jridgewell/trace-mapping": "^0.2.2", - "sourcemap-codec": "1.4.8" + "@jridgewell/trace-mapping": "^0.3.0" }, "engines": { "node": ">=6.0.0" @@ -1808,14 +1807,20 @@ "node": ">=6.0.0" } }, + "node_modules/@jridgewell/sourcemap-codec": { + "version": "1.4.10", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.10.tgz", + "integrity": "sha512-Ht8wIW5v165atIX1p+JvKR5ONzUyF4Ac8DZIQ5kZs9zrb6M8SJNXpx1zn04rn65VjBMygRoMXcyYwNK0fT7bEg==", + "dev": true + }, "node_modules/@jridgewell/trace-mapping": { - "version": "0.2.6", - "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.2.6.tgz", - "integrity": "sha512-rVJf5dSMEBxnDEwtAT5x8+p6tZ+xU6Ocm+cR1MYL2gMsRi4MMzVf9Pvq6JaxIsEeKAyYmo2U+yPQN4QfdTfFnA==", + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.2.tgz", + "integrity": "sha512-9KzzH4kMjA2XmBRHfqG2/Vtl7s92l6uNDd0wW7frDE+EUvQFGqNXhWp0UGJjSkt3v2AYjzOZn1QO9XaTNJIt1Q==", "dev": true, "dependencies": { "@jridgewell/resolve-uri": "^3.0.3", - "sourcemap-codec": "1.4.8" + "@jridgewell/sourcemap-codec": "^1.4.10" } }, "node_modules/@nodelib/fs.scandir": { @@ -2104,9 +2109,9 @@ "dev": true }, "node_modules/@types/node": { - "version": "17.0.14", - "resolved": "https://registry.npmjs.org/@types/node/-/node-17.0.14.tgz", - "integrity": "sha512-SbjLmERksKOGzWzPNuW7fJM7fk3YXVTFiZWB/Hs99gwhk+/dnrQRPBQjPW9aO+fi1tAffi9PrwFvsmOKmDTyng==", + "version": "17.0.15", + "resolved": "https://registry.npmjs.org/@types/node/-/node-17.0.15.tgz", + "integrity": "sha512-zWt4SDDv1S9WRBNxLFxFRHxdD9tvH8f5/kg5/IaLFdnSNXsDY4eL3Q3XXN+VxUnWIhyVFDwcsmAprvwXoM/ClA==", "dev": true }, "node_modules/@types/parse-json": { @@ -2510,9 +2515,9 @@ } }, "node_modules/ajv-formats/node_modules/ajv": { - "version": "8.9.0", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.9.0.tgz", - "integrity": "sha512-qOKJyNj/h+OWx7s5DePL6Zu1KeM9jPZhwBqs+7DzP6bGOvqzVCSf0xueYmVuaC/oQ/VtS2zLMLHdQFbkka+XDQ==", + "version": "8.10.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.10.0.tgz", + "integrity": "sha512-bzqAEZOjkrUMl2afH8dknrq5KEk2SrwdBROR+vH1EKVQTqaUbJVPdc/gEdggTMM0Se+s+Ja4ju4TlNcStKl2Hw==", "dev": true, "dependencies": { "fast-deep-equal": "^3.1.1", @@ -3224,9 +3229,9 @@ } }, "node_modules/caniuse-lite": { - "version": "1.0.30001307", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001307.tgz", - "integrity": "sha512-+MXEMczJ4FuxJAUp0jvAl6Df0NI/OfW1RWEE61eSmzS7hw6lz4IKutbhbXendwq8BljfFuHtu26VWsg4afQ7Ng==", + "version": "1.0.30001309", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001309.tgz", + "integrity": "sha512-Pl8vfigmBXXq+/yUz1jUwULeq9xhMJznzdc/xwl4WclDAuebcTHVefpz8lE/bMI+UN7TOkSSe7B7RnZd6+dzjA==", "dev": true, "funding": { "type": "opencollective", @@ -3961,12 +3966,12 @@ } }, "node_modules/cssnano": { - "version": "5.0.16", - "resolved": "https://registry.npmjs.org/cssnano/-/cssnano-5.0.16.tgz", - "integrity": "sha512-ryhRI9/B9VFCwPbb1z60LLK5/ldoExi7nwdnJzpkLZkm2/r7j2X3jfY+ZvDVJhC/0fPZlrAguYdHNFg0iglPKQ==", + "version": "5.0.17", + "resolved": "https://registry.npmjs.org/cssnano/-/cssnano-5.0.17.tgz", + "integrity": "sha512-fmjLP7k8kL18xSspeXTzRhaFtRI7DL9b8IcXR80JgtnWBpvAzHT7sCR/6qdn0tnxIaINUN6OEQu83wF57Gs3Xw==", "dev": true, "dependencies": { - "cssnano-preset-default": "^5.1.11", + "cssnano-preset-default": "^5.1.12", "lilconfig": "^2.0.3", "yaml": "^1.10.2" }, @@ -3982,40 +3987,40 @@ } }, "node_modules/cssnano-preset-default": { - "version": "5.1.11", - "resolved": "https://registry.npmjs.org/cssnano-preset-default/-/cssnano-preset-default-5.1.11.tgz", - "integrity": "sha512-ETet5hqHxmzQq2ynXMOQofKuLm7VOjMiOB7E2zdtm/hSeCKlD9fabzIUV4GoPcRyJRHi+4kGf0vsfGYbQ4nmPw==", + "version": "5.1.12", + "resolved": "https://registry.npmjs.org/cssnano-preset-default/-/cssnano-preset-default-5.1.12.tgz", + "integrity": "sha512-rO/JZYyjW1QNkWBxMGV28DW7d98UDLaF759frhli58QFehZ+D/LSmwQ2z/ylBAe2hUlsIWTq6NYGfQPq65EF9w==", "dev": true, "dependencies": { "css-declaration-sorter": "^6.0.3", - "cssnano-utils": "^3.0.1", + "cssnano-utils": "^3.0.2", "postcss-calc": "^8.2.0", - "postcss-colormin": "^5.2.4", - "postcss-convert-values": "^5.0.3", - "postcss-discard-comments": "^5.0.2", - "postcss-discard-duplicates": "^5.0.2", - "postcss-discard-empty": "^5.0.2", - "postcss-discard-overridden": "^5.0.3", - "postcss-merge-longhand": "^5.0.5", - "postcss-merge-rules": "^5.0.5", - "postcss-minify-font-values": "^5.0.3", - "postcss-minify-gradients": "^5.0.5", - "postcss-minify-params": "^5.0.4", - "postcss-minify-selectors": "^5.1.2", - "postcss-normalize-charset": "^5.0.2", - "postcss-normalize-display-values": "^5.0.2", - "postcss-normalize-positions": "^5.0.3", - "postcss-normalize-repeat-style": "^5.0.3", - "postcss-normalize-string": "^5.0.3", - "postcss-normalize-timing-functions": "^5.0.2", - "postcss-normalize-unicode": "^5.0.3", - "postcss-normalize-url": "^5.0.4", - "postcss-normalize-whitespace": "^5.0.3", - "postcss-ordered-values": "^5.0.4", - "postcss-reduce-initial": "^5.0.2", - "postcss-reduce-transforms": "^5.0.3", - "postcss-svgo": "^5.0.3", - "postcss-unique-selectors": "^5.0.3" + "postcss-colormin": "^5.2.5", + "postcss-convert-values": "^5.0.4", + "postcss-discard-comments": "^5.0.3", + "postcss-discard-duplicates": "^5.0.3", + "postcss-discard-empty": "^5.0.3", + "postcss-discard-overridden": "^5.0.4", + "postcss-merge-longhand": "^5.0.6", + "postcss-merge-rules": "^5.0.6", + "postcss-minify-font-values": "^5.0.4", + "postcss-minify-gradients": "^5.0.6", + "postcss-minify-params": "^5.0.5", + "postcss-minify-selectors": "^5.1.3", + "postcss-normalize-charset": "^5.0.3", + "postcss-normalize-display-values": "^5.0.3", + "postcss-normalize-positions": "^5.0.4", + "postcss-normalize-repeat-style": "^5.0.4", + "postcss-normalize-string": "^5.0.4", + "postcss-normalize-timing-functions": "^5.0.3", + "postcss-normalize-unicode": "^5.0.4", + "postcss-normalize-url": "^5.0.5", + "postcss-normalize-whitespace": "^5.0.4", + "postcss-ordered-values": "^5.0.5", + "postcss-reduce-initial": "^5.0.3", + "postcss-reduce-transforms": "^5.0.4", + "postcss-svgo": "^5.0.4", + "postcss-unique-selectors": "^5.0.4" }, "engines": { "node": "^10 || ^12 || >=14.0" @@ -4025,9 +4030,9 @@ } }, "node_modules/cssnano-utils": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/cssnano-utils/-/cssnano-utils-3.0.1.tgz", - "integrity": "sha512-VNCHL364lh++/ono+S3j9NlUK+d97KNkxI77NlqZU2W3xd2/qmyN61dsa47pTpb55zuU4G4lI7qFjAXZJH1OAQ==", + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/cssnano-utils/-/cssnano-utils-3.0.2.tgz", + "integrity": "sha512-KhprijuQv2sP4kT92sSQwhlK3SJTbDIsxcfIEySB0O+3m9esFOai7dP9bMx5enHAh2MwarVIcnwiWoOm01RIbQ==", "dev": true, "engines": { "node": "^10 || ^12 || >=14.0" @@ -4465,9 +4470,9 @@ "dev": true }, "node_modules/electron-to-chromium": { - "version": "1.4.64", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.64.tgz", - "integrity": "sha512-8mec/99xgLUZCIZZq3wt61Tpxg55jnOSpxGYapE/1Ma9MpFEYYaz4QNYm0CM1rrnCo7i3FRHhbaWjeCLsveGjQ==", + "version": "1.4.65", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.65.tgz", + "integrity": "sha512-0/d8Skk8sW3FxXP0Dd6MnBlrwx7Qo9cqQec3BlIAlvKnrmS3pHsIbaroEi+nd0kZkGpQ6apMEre7xndzjlEnLw==", "dev": true }, "node_modules/elliptic": { @@ -5050,9 +5055,9 @@ } }, "node_modules/fraction.js": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/fraction.js/-/fraction.js-4.1.2.tgz", - "integrity": "sha512-o2RiJQ6DZaR/5+Si0qJUIy637QMRudSi9kU/FFzx9EZazrIdnBgpU+3sEWCxAVhH2RtxW2Oz+T4p2o8uOPVcgA==", + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/fraction.js/-/fraction.js-4.1.3.tgz", + "integrity": "sha512-pUHWWt6vHzZZiQJcM6S/0PXfS+g6FM4BF5rj9wZyreivhQPdsh5PpE25VtSNxq80wHS5RfY51Ii+8Z0Zl/pmzg==", "dev": true, "engines": { "node": "*" @@ -6155,9 +6160,9 @@ "dev": true }, "node_modules/jest-worker": { - "version": "27.4.6", - "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-27.4.6.tgz", - "integrity": "sha512-gHWJF/6Xi5CTG5QCvROr6GcmpIqNYpDJyc8A1h/DyXqH1tD6SnRCM0d3U5msV31D2LB/U+E0M+W4oyvKV44oNw==", + "version": "27.5.0", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-27.5.0.tgz", + "integrity": "sha512-8OEHiPNOPTfaWnJ2SUHM8fmgeGq37uuGsQBvGKQJl1f+6WIy6g7G3fE2ruI5294bUKUI9FaCWt5hDvO8HSwsSg==", "dev": true, "dependencies": { "@types/node": "*", @@ -6749,9 +6754,9 @@ "dev": true }, "node_modules/minimatch": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", - "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.5.tgz", + "integrity": "sha512-tUpxzX0VAzJHjLu0xUfFv1gwVp9ba3IOuRAVH2EGuRW8a5emA2FlACLqiT/lDVtS1W+TGNwqz3sWaNyLgDJWuw==", "dev": true, "dependencies": { "brace-expansion": "^1.1.7" @@ -7509,22 +7514,22 @@ } }, "node_modules/postcss-calc": { - "version": "8.2.3", - "resolved": "https://registry.npmjs.org/postcss-calc/-/postcss-calc-8.2.3.tgz", - "integrity": "sha512-EGM2EBBWqP57N0E7N7WOLT116PJ39dwHVU01WO4XPPQLJfkL2xVgkMZ+TZvCfapj/uJH07UEfKHQNPHzSw/14Q==", + "version": "8.2.4", + "resolved": "https://registry.npmjs.org/postcss-calc/-/postcss-calc-8.2.4.tgz", + "integrity": "sha512-SmWMSJmB8MRnnULldx0lQIyhSNvuDl9HfrZkaqqE/WHAhToYsAvDq+yAsA/kIyINDszOp3Rh0GFoNuH5Ypsm3Q==", "dev": true, "dependencies": { - "postcss-selector-parser": "^6.0.2", - "postcss-value-parser": "^4.0.2" + "postcss-selector-parser": "^6.0.9", + "postcss-value-parser": "^4.2.0" }, "peerDependencies": { "postcss": "^8.2.2" } }, "node_modules/postcss-colormin": { - "version": "5.2.4", - "resolved": "https://registry.npmjs.org/postcss-colormin/-/postcss-colormin-5.2.4.tgz", - "integrity": "sha512-rYlC5015aNqVQt/B6Cy156g7sH5tRUJGmT9xeagYthtKehetbKx7jHxhyLpulP4bs4vbp8u/B2rac0J7S7qPQg==", + "version": "5.2.5", + "resolved": "https://registry.npmjs.org/postcss-colormin/-/postcss-colormin-5.2.5.tgz", + "integrity": "sha512-+X30aDaGYq81mFqwyPpnYInsZQnNpdxMX0ajlY7AExCexEFkPVV+KrO7kXwayqEWL2xwEbNQ4nUO0ZsRWGnevg==", "dev": true, "dependencies": { "browserslist": "^4.16.6", @@ -7540,9 +7545,9 @@ } }, "node_modules/postcss-convert-values": { - "version": "5.0.3", - "resolved": "https://registry.npmjs.org/postcss-convert-values/-/postcss-convert-values-5.0.3.tgz", - "integrity": "sha512-fVkjHm2T0PSMqXUCIhHNWVGjhB9mHEWX2GboVs7j3iCgr6FpIl9c/IdXy0PHWZSQ9LFTRgmj98amxJE6KOnlsA==", + "version": "5.0.4", + "resolved": "https://registry.npmjs.org/postcss-convert-values/-/postcss-convert-values-5.0.4.tgz", + "integrity": "sha512-bugzSAyjIexdObovsPZu/sBCTHccImJxLyFgeV0MmNBm/Lw5h5XnjfML6gzEmJ3A6nyfCW7hb1JXzcsA4Zfbdw==", "dev": true, "dependencies": { "postcss-value-parser": "^4.2.0" @@ -7555,9 +7560,9 @@ } }, "node_modules/postcss-discard-comments": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/postcss-discard-comments/-/postcss-discard-comments-5.0.2.tgz", - "integrity": "sha512-6VQ3pYTsJHEsN2Bic88Aa7J/Brn4Bv8j/rqaFQZkH+pcVkKYwxCIvoMQkykEW7fBjmofdTnQgcivt5CCBJhtrg==", + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/postcss-discard-comments/-/postcss-discard-comments-5.0.3.tgz", + "integrity": "sha512-6W5BemziRoqIdAKT+1QjM4bNcJAQ7z7zk073730NHg4cUXh3/rQHHj7pmYxUB9aGhuRhBiUf0pXvIHkRwhQP0Q==", "dev": true, "engines": { "node": "^10 || ^12 || >=14.0" @@ -7567,9 +7572,9 @@ } }, "node_modules/postcss-discard-duplicates": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/postcss-discard-duplicates/-/postcss-discard-duplicates-5.0.2.tgz", - "integrity": "sha512-LKY81YjUjc78p6rbXIsnppsaFo8XzCoMZkXVILJU//sK0DgPkPSpuq/cZvHss3EtdKvWNYgWzQL+wiJFtEET4g==", + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/postcss-discard-duplicates/-/postcss-discard-duplicates-5.0.3.tgz", + "integrity": "sha512-vPtm1Mf+kp7iAENTG7jI1MN1lk+fBqL5y+qxyi4v3H+lzsXEdfS3dwUZD45KVhgzDEgduur8ycB4hMegyMTeRw==", "dev": true, "engines": { "node": "^10 || ^12 || >=14.0" @@ -7579,9 +7584,9 @@ } }, "node_modules/postcss-discard-empty": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/postcss-discard-empty/-/postcss-discard-empty-5.0.2.tgz", - "integrity": "sha512-SxBsbTjlsKUvZLL+dMrdWauuNZU8TBq5IOL/DHa6jBUSXFEwmDqeXRfTIK/FQpPTa8MJMxEHjSV3UbiuyLARPQ==", + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/postcss-discard-empty/-/postcss-discard-empty-5.0.3.tgz", + "integrity": "sha512-xGJugpaXKakwKI7sSdZjUuN4V3zSzb2Y0LOlmTajFbNinEjTfVs9PFW2lmKBaC/E64WwYppfqLD03P8l9BuueA==", "dev": true, "engines": { "node": "^10 || ^12 || >=14.0" @@ -7591,9 +7596,9 @@ } }, "node_modules/postcss-discard-overridden": { - "version": "5.0.3", - "resolved": "https://registry.npmjs.org/postcss-discard-overridden/-/postcss-discard-overridden-5.0.3.tgz", - "integrity": "sha512-yRTXknIZA4k8Yo4FiF1xbsLj/VBxfXEWxJNIrtIy6HC9KQ4xJxcPtoaaskh6QptCGrrcGnhKsTsENTRPZOBu4g==", + "version": "5.0.4", + "resolved": "https://registry.npmjs.org/postcss-discard-overridden/-/postcss-discard-overridden-5.0.4.tgz", + "integrity": "sha512-3j9QH0Qh1KkdxwiZOW82cId7zdwXVQv/gRXYDnwx5pBtR1sTkU4cXRK9lp5dSdiM0r0OICO/L8J6sV1/7m0kHg==", "dev": true, "engines": { "node": "^10 || ^12 || >=14.0" @@ -7684,13 +7689,13 @@ } }, "node_modules/postcss-merge-longhand": { - "version": "5.0.5", - "resolved": "https://registry.npmjs.org/postcss-merge-longhand/-/postcss-merge-longhand-5.0.5.tgz", - "integrity": "sha512-R2BCPJJ/U2oh1uTWEYn9CcJ7MMcQ1iIbj9wfr2s/zHu5om5MP/ewKdaunpfJqR1WYzqCsgnXuRoVXPAzxdqy8g==", + "version": "5.0.6", + "resolved": "https://registry.npmjs.org/postcss-merge-longhand/-/postcss-merge-longhand-5.0.6.tgz", + "integrity": "sha512-rkmoPwQO6ymJSmWsX6l2hHeEBQa7C4kJb9jyi5fZB1sE8nSCv7sqchoYPixRwX/yvLoZP2y6FA5kcjiByeJqDg==", "dev": true, "dependencies": { "postcss-value-parser": "^4.2.0", - "stylehacks": "^5.0.2" + "stylehacks": "^5.0.3" }, "engines": { "node": "^10 || ^12 || >=14.0" @@ -7700,14 +7705,14 @@ } }, "node_modules/postcss-merge-rules": { - "version": "5.0.5", - "resolved": "https://registry.npmjs.org/postcss-merge-rules/-/postcss-merge-rules-5.0.5.tgz", - "integrity": "sha512-3Oa26/Pb9VOFVksJjFG45SNoe4nhGvJ2Uc6TlRimqF8uhfOCEhVCaJ3rvEat5UFOn2UZqTY5Da8dFgCh3Iq0Ug==", + "version": "5.0.6", + "resolved": "https://registry.npmjs.org/postcss-merge-rules/-/postcss-merge-rules-5.0.6.tgz", + "integrity": "sha512-nzJWJ9yXWp8AOEpn/HFAW72WKVGD2bsLiAmgw4hDchSij27bt6TF+sIK0cJUBAYT3SGcjtGGsOR89bwkkMuMgQ==", "dev": true, "dependencies": { "browserslist": "^4.16.6", "caniuse-api": "^3.0.0", - "cssnano-utils": "^3.0.1", + "cssnano-utils": "^3.0.2", "postcss-selector-parser": "^6.0.5" }, "engines": { @@ -7718,9 +7723,9 @@ } }, "node_modules/postcss-minify-font-values": { - "version": "5.0.3", - "resolved": "https://registry.npmjs.org/postcss-minify-font-values/-/postcss-minify-font-values-5.0.3.tgz", - "integrity": "sha512-bC45rVzEwsLhv/cL1eCjoo2OOjbSk9I7HKFBYnBvtyuIZlf7uMipMATXtA0Fc3jwPo3wuPIW1jRJWKzflMh1sA==", + "version": "5.0.4", + "resolved": "https://registry.npmjs.org/postcss-minify-font-values/-/postcss-minify-font-values-5.0.4.tgz", + "integrity": "sha512-RN6q3tyuEesvyCYYFCRGJ41J1XFvgV+dvYGHr0CeHv8F00yILlN8Slf4t8XW4IghlfZYCeyRrANO6HpJ948ieA==", "dev": true, "dependencies": { "postcss-value-parser": "^4.2.0" @@ -7733,13 +7738,13 @@ } }, "node_modules/postcss-minify-gradients": { - "version": "5.0.5", - "resolved": "https://registry.npmjs.org/postcss-minify-gradients/-/postcss-minify-gradients-5.0.5.tgz", - "integrity": "sha512-/YjvXs8PepsoiZAIpjstOO4IHKwFAqYNqbA1yVdqklM84tbUUneh6omJxGlRlF3mi6K5Pa067Mg6IwqEnYC8Zg==", + "version": "5.0.6", + "resolved": "https://registry.npmjs.org/postcss-minify-gradients/-/postcss-minify-gradients-5.0.6.tgz", + "integrity": "sha512-E/dT6oVxB9nLGUTiY/rG5dX9taugv9cbLNTFad3dKxOO+BQg25Q/xo2z2ddG+ZB1CbkZYaVwx5blY8VC7R/43A==", "dev": true, "dependencies": { "colord": "^2.9.1", - "cssnano-utils": "^3.0.1", + "cssnano-utils": "^3.0.2", "postcss-value-parser": "^4.2.0" }, "engines": { @@ -7750,13 +7755,13 @@ } }, "node_modules/postcss-minify-params": { - "version": "5.0.4", - "resolved": "https://registry.npmjs.org/postcss-minify-params/-/postcss-minify-params-5.0.4.tgz", - "integrity": "sha512-Z0vjod9lRZEmEPfEmA2sCfjbfEEFKefMD3RDIQSUfXK4LpCyWkX1CniUgyNvnjJFLDPSxtgKzozhHhPHKoeGkg==", + "version": "5.0.5", + "resolved": "https://registry.npmjs.org/postcss-minify-params/-/postcss-minify-params-5.0.5.tgz", + "integrity": "sha512-YBNuq3Rz5LfLFNHb9wrvm6t859b8qIqfXsWeK7wROm3jSKNpO1Y5e8cOyBv6Acji15TgSrAwb3JkVNCqNyLvBg==", "dev": true, "dependencies": { "browserslist": "^4.16.6", - "cssnano-utils": "^3.0.1", + "cssnano-utils": "^3.0.2", "postcss-value-parser": "^4.2.0" }, "engines": { @@ -7767,9 +7772,9 @@ } }, "node_modules/postcss-minify-selectors": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/postcss-minify-selectors/-/postcss-minify-selectors-5.1.2.tgz", - "integrity": "sha512-gpn1nJDMCf3g32y/7kl+jsdamhiYT+/zmEt57RoT9GmzlixBNRPohI7k8UIHelLABhdLf3MSZhtM33xuH5eQOQ==", + "version": "5.1.3", + "resolved": "https://registry.npmjs.org/postcss-minify-selectors/-/postcss-minify-selectors-5.1.3.tgz", + "integrity": "sha512-9RJfTiQEKA/kZhMaEXND893nBqmYQ8qYa/G+uPdVnXF6D/FzpfI6kwBtWEcHx5FqDbA79O9n6fQJfrIj6M8jvQ==", "dev": true, "dependencies": { "postcss-selector-parser": "^6.0.5" @@ -7860,9 +7865,9 @@ } }, "node_modules/postcss-normalize-charset": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/postcss-normalize-charset/-/postcss-normalize-charset-5.0.2.tgz", - "integrity": "sha512-fEMhYXzO8My+gC009qDc/3bgnFP8Fv1Ic8uw4ec4YTlhIOw63tGPk1YFd7fk9bZUf1DAbkhiL/QPWs9JLqdF2g==", + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/postcss-normalize-charset/-/postcss-normalize-charset-5.0.3.tgz", + "integrity": "sha512-iKEplDBco9EfH7sx4ut7R2r/dwTnUqyfACf62Unc9UiyFuI7uUqZZtY+u+qp7g8Qszl/U28HIfcsI3pEABWFfA==", "dev": true, "engines": { "node": "^10 || ^12 || >=14.0" @@ -7872,9 +7877,9 @@ } }, "node_modules/postcss-normalize-display-values": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/postcss-normalize-display-values/-/postcss-normalize-display-values-5.0.2.tgz", - "integrity": "sha512-RxXoJPUR0shSjkMMzgEZDjGPrgXUVYyWA/YwQRicb48H15OClPuaDR7tYokLAlGZ2tCSENEN5WxjgxSD5m4cUw==", + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/postcss-normalize-display-values/-/postcss-normalize-display-values-5.0.3.tgz", + "integrity": "sha512-FIV5FY/qs4Ja32jiDb5mVj5iWBlS3N8tFcw2yg98+8MkRgyhtnBgSC0lxU+16AMHbjX5fbSJgw5AXLMolonuRQ==", "dev": true, "dependencies": { "postcss-value-parser": "^4.2.0" @@ -7887,9 +7892,9 @@ } }, "node_modules/postcss-normalize-positions": { - "version": "5.0.3", - "resolved": "https://registry.npmjs.org/postcss-normalize-positions/-/postcss-normalize-positions-5.0.3.tgz", - "integrity": "sha512-U+rmhjrNBvIGYqr/1tD4wXPFFMKUbXsYXvlUCzLi0tOCUS6LoeEAnmVXXJY/MEB/1CKZZwBSs2tmzGawcygVBA==", + "version": "5.0.4", + "resolved": "https://registry.npmjs.org/postcss-normalize-positions/-/postcss-normalize-positions-5.0.4.tgz", + "integrity": "sha512-qynirjBX0Lc73ROomZE3lzzmXXTu48/QiEzKgMeqh28+MfuHLsuqC9po4kj84igZqqFGovz8F8hf44hA3dPYmQ==", "dev": true, "dependencies": { "postcss-value-parser": "^4.2.0" @@ -7902,9 +7907,9 @@ } }, "node_modules/postcss-normalize-repeat-style": { - "version": "5.0.3", - "resolved": "https://registry.npmjs.org/postcss-normalize-repeat-style/-/postcss-normalize-repeat-style-5.0.3.tgz", - "integrity": "sha512-uk1+xYx0AMbA3nLSNhbDrqbf/rx+Iuq5tVad2VNyaxxJzx79oGieJ6D9F6AfOL2GtiIbP7vTYlpYHtG+ERFXTg==", + "version": "5.0.4", + "resolved": "https://registry.npmjs.org/postcss-normalize-repeat-style/-/postcss-normalize-repeat-style-5.0.4.tgz", + "integrity": "sha512-Innt+wctD7YpfeDR7r5Ik6krdyppyAg2HBRpX88fo5AYzC1Ut/l3xaxACG0KsbX49cO2n5EB13clPwuYVt8cMA==", "dev": true, "dependencies": { "postcss-value-parser": "^4.2.0" @@ -7917,9 +7922,9 @@ } }, "node_modules/postcss-normalize-string": { - "version": "5.0.3", - "resolved": "https://registry.npmjs.org/postcss-normalize-string/-/postcss-normalize-string-5.0.3.tgz", - "integrity": "sha512-Mf2V4JbIDboNGQhW6xW0YREDiYXoX3WrD3EjKkjvnpAJ6W4qqjLnK/c9aioyVFaWWHVdP5zVRw/9DI5S3oLDFw==", + "version": "5.0.4", + "resolved": "https://registry.npmjs.org/postcss-normalize-string/-/postcss-normalize-string-5.0.4.tgz", + "integrity": "sha512-Dfk42l0+A1CDnVpgE606ENvdmksttLynEqTQf5FL3XGQOyqxjbo25+pglCUvziicTxjtI2NLUR6KkxyUWEVubQ==", "dev": true, "dependencies": { "postcss-value-parser": "^4.2.0" @@ -7932,9 +7937,9 @@ } }, "node_modules/postcss-normalize-timing-functions": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/postcss-normalize-timing-functions/-/postcss-normalize-timing-functions-5.0.2.tgz", - "integrity": "sha512-Ao0PP6MoYsRU1LxeVUW740ioknvdIUmfr6uAA3xWlQJ9s69/Tupy8qwhuKG3xWfl+KvLMAP9p2WXF9cwuk/7Bg==", + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/postcss-normalize-timing-functions/-/postcss-normalize-timing-functions-5.0.3.tgz", + "integrity": "sha512-QRfjvFh11moN4PYnJ7hia4uJXeFotyK3t2jjg8lM9mswleGsNw2Lm3I5wO+l4k1FzK96EFwEVn8X8Ojrp2gP4g==", "dev": true, "dependencies": { "postcss-value-parser": "^4.2.0" @@ -7947,9 +7952,9 @@ } }, "node_modules/postcss-normalize-unicode": { - "version": "5.0.3", - "resolved": "https://registry.npmjs.org/postcss-normalize-unicode/-/postcss-normalize-unicode-5.0.3.tgz", - "integrity": "sha512-uNC7BmS/7h6to2UWa4RFH8sOTzu2O9dVWPE/F9Vm9GdhONiD/c1kNaCLbmsFHlKWcEx7alNUChQ+jH/QAlqsQw==", + "version": "5.0.4", + "resolved": "https://registry.npmjs.org/postcss-normalize-unicode/-/postcss-normalize-unicode-5.0.4.tgz", + "integrity": "sha512-W79Regn+a+eXTzB+oV/8XJ33s3pDyFTND2yDuUCo0Xa3QSy1HtNIfRVPXNubHxjhlqmMFADr3FSCHT84ITW3ig==", "dev": true, "dependencies": { "browserslist": "^4.16.6", @@ -7963,9 +7968,9 @@ } }, "node_modules/postcss-normalize-url": { - "version": "5.0.4", - "resolved": "https://registry.npmjs.org/postcss-normalize-url/-/postcss-normalize-url-5.0.4.tgz", - "integrity": "sha512-cNj3RzK2pgQQyNp7dzq0dqpUpQ/wYtdDZM3DepPmFjCmYIfceuD9VIAcOdvrNetjIU65g1B4uwdP/Krf6AFdXg==", + "version": "5.0.5", + "resolved": "https://registry.npmjs.org/postcss-normalize-url/-/postcss-normalize-url-5.0.5.tgz", + "integrity": "sha512-Ws3tX+PcekYlXh+ycAt0wyzqGthkvVtZ9SZLutMVvHARxcpu4o7vvXcNoiNKyjKuWecnjS6HDI3fjBuDr5MQxQ==", "dev": true, "dependencies": { "normalize-url": "^6.0.1", @@ -7979,9 +7984,9 @@ } }, "node_modules/postcss-normalize-whitespace": { - "version": "5.0.3", - "resolved": "https://registry.npmjs.org/postcss-normalize-whitespace/-/postcss-normalize-whitespace-5.0.3.tgz", - "integrity": "sha512-333JWRnX655fSoUbufJ10HJop3c8mrpKkCCUnEmgz/Cb/QEtW+/TMZwDAUt4lnwqP6tCCk0x0b58jqvDgiQm/A==", + "version": "5.0.4", + "resolved": "https://registry.npmjs.org/postcss-normalize-whitespace/-/postcss-normalize-whitespace-5.0.4.tgz", + "integrity": "sha512-wsnuHolYZjMwWZJoTC9jeI2AcjA67v4UuidDrPN9RnX8KIZfE+r2Nd6XZRwHVwUiHmRvKQtxiqo64K+h8/imaw==", "dev": true, "dependencies": { "postcss-value-parser": "^4.2.0" @@ -7994,12 +7999,12 @@ } }, "node_modules/postcss-ordered-values": { - "version": "5.0.4", - "resolved": "https://registry.npmjs.org/postcss-ordered-values/-/postcss-ordered-values-5.0.4.tgz", - "integrity": "sha512-taKtGDZtyYUMVYkg+MuJeBUiTF6cGHZmo/qcW7ibvW79UlyKuSHbo6dpCIiqI+j9oJsXWzP+ovIxoyLDOeQFdw==", + "version": "5.0.5", + "resolved": "https://registry.npmjs.org/postcss-ordered-values/-/postcss-ordered-values-5.0.5.tgz", + "integrity": "sha512-mfY7lXpq+8bDEHfP+muqibDPhZ5eP9zgBEF9XRvoQgXcQe2Db3G1wcvjbnfjXG6wYsl+0UIjikqq4ym1V2jGMQ==", "dev": true, "dependencies": { - "cssnano-utils": "^3.0.1", + "cssnano-utils": "^3.0.2", "postcss-value-parser": "^4.2.0" }, "engines": { @@ -8010,9 +8015,9 @@ } }, "node_modules/postcss-reduce-initial": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/postcss-reduce-initial/-/postcss-reduce-initial-5.0.2.tgz", - "integrity": "sha512-v/kbAAQ+S1V5v9TJvbGkV98V2ERPdU6XvMcKMjqAlYiJ2NtsHGlKYLPjWWcXlaTKNxooId7BGxeraK8qXvzKtw==", + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/postcss-reduce-initial/-/postcss-reduce-initial-5.0.3.tgz", + "integrity": "sha512-c88TkSnQ/Dnwgb4OZbKPOBbCaauwEjbECP5uAuFPOzQ+XdjNjRH7SG0dteXrpp1LlIFEKK76iUGgmw2V0xeieA==", "dev": true, "dependencies": { "browserslist": "^4.16.6", @@ -8026,9 +8031,9 @@ } }, "node_modules/postcss-reduce-transforms": { - "version": "5.0.3", - "resolved": "https://registry.npmjs.org/postcss-reduce-transforms/-/postcss-reduce-transforms-5.0.3.tgz", - "integrity": "sha512-yDnTUab5i7auHiNwdcL1f+pBnqQFf+7eC4cbC7D8Lc1FkvNZhtpkdad+9U4wDdFb84haupMf0rA/Zc5LcTe/3A==", + "version": "5.0.4", + "resolved": "https://registry.npmjs.org/postcss-reduce-transforms/-/postcss-reduce-transforms-5.0.4.tgz", + "integrity": "sha512-VIJB9SFSaL8B/B7AXb7KHL6/GNNbbCHslgdzS9UDfBZYIA2nx8NLY7iD/BXFSO/1sRUILzBTfHCoW5inP37C5g==", "dev": true, "dependencies": { "postcss-value-parser": "^4.2.0" @@ -8054,12 +8059,12 @@ } }, "node_modules/postcss-svgo": { - "version": "5.0.3", - "resolved": "https://registry.npmjs.org/postcss-svgo/-/postcss-svgo-5.0.3.tgz", - "integrity": "sha512-41XZUA1wNDAZrQ3XgWREL/M2zSw8LJPvb5ZWivljBsUQAGoEKMYm6okHsTjJxKYI4M75RQEH4KYlEM52VwdXVA==", + "version": "5.0.4", + "resolved": "https://registry.npmjs.org/postcss-svgo/-/postcss-svgo-5.0.4.tgz", + "integrity": "sha512-yDKHvULbnZtIrRqhZoA+rxreWpee28JSRH/gy9727u0UCgtpv1M/9WEWY3xySlFa0zQJcqf6oCBJPR5NwkmYpg==", "dev": true, "dependencies": { - "postcss-value-parser": "^4.1.0", + "postcss-value-parser": "^4.2.0", "svgo": "^2.7.0" }, "engines": { @@ -8070,9 +8075,9 @@ } }, "node_modules/postcss-unique-selectors": { - "version": "5.0.3", - "resolved": "https://registry.npmjs.org/postcss-unique-selectors/-/postcss-unique-selectors-5.0.3.tgz", - "integrity": "sha512-V5tX2hadSSn+miVCluuK1IDGy+7jAXSOfRZ2DQ+s/4uQZb/orDYBjH0CHgFrXsRw78p4QTuEFA9kI6C956UnHQ==", + "version": "5.0.4", + "resolved": "https://registry.npmjs.org/postcss-unique-selectors/-/postcss-unique-selectors-5.0.4.tgz", + "integrity": "sha512-5ampwoSDJCxDPoANBIlMgoBcYUHnhaiuLYJR5pj1DLnYQvMRVyFuTA5C3Bvt+aHtiqWpJkD/lXT50Vo1D0ZsAQ==", "dev": true, "dependencies": { "postcss-selector-parser": "^6.0.5" @@ -9124,12 +9129,6 @@ "node": ">=0.10.0" } }, - "node_modules/sourcemap-codec": { - "version": "1.4.8", - "resolved": "https://registry.npmjs.org/sourcemap-codec/-/sourcemap-codec-1.4.8.tgz", - "integrity": "sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==", - "dev": true - }, "node_modules/spdy": { "version": "4.0.2", "resolved": "https://registry.npmjs.org/spdy/-/spdy-4.0.2.tgz", @@ -9360,9 +9359,9 @@ } }, "node_modules/stylehacks": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/stylehacks/-/stylehacks-5.0.2.tgz", - "integrity": "sha512-114zeJdOpTrbQYRD4OU5UWJ99LKUaqCPJTU1HQ/n3q3BwmllFN8kHENaLnOeqVq6AhXrWfxHNZTl33iJ4oy3cQ==", + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/stylehacks/-/stylehacks-5.0.3.tgz", + "integrity": "sha512-ENcUdpf4yO0E1rubu8rkxI+JGQk4CgjchynZ4bDBJDfqdy+uhTRSWb8/F3Jtu+Bw5MW45Po3/aQGeIyyxgQtxg==", "dev": true, "dependencies": { "browserslist": "^4.16.6", @@ -9421,9 +9420,9 @@ } }, "node_modules/sweetalert2": { - "version": "11.3.10", - "resolved": "https://registry.npmjs.org/sweetalert2/-/sweetalert2-11.3.10.tgz", - "integrity": "sha512-/3nhG5QCREkPUndAbOF9h1IM7lgCIU/evsNXd/YUfa9eJ04M+hxksxIio8hhtH16UnWd2GvJ+zvFQ8H9hLRhsw==", + "version": "11.4.0", + "resolved": "https://registry.npmjs.org/sweetalert2/-/sweetalert2-11.4.0.tgz", + "integrity": "sha512-+p0jT2LxUQGreWa60j7nm1frJfqbcmamZcpZi4puEGAJ0CmyPqQ4UGmBqbB4WxkJYKsn8qcOA9ufqn0MWtQWLQ==", "dev": true, "funding": { "url": "https://sweetalert2.github.io/#donations" @@ -10073,9 +10072,9 @@ } }, "node_modules/webpack-dev-middleware/node_modules/ajv": { - "version": "8.9.0", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.9.0.tgz", - "integrity": "sha512-qOKJyNj/h+OWx7s5DePL6Zu1KeM9jPZhwBqs+7DzP6bGOvqzVCSf0xueYmVuaC/oQ/VtS2zLMLHdQFbkka+XDQ==", + "version": "8.10.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.10.0.tgz", + "integrity": "sha512-bzqAEZOjkrUMl2afH8dknrq5KEk2SrwdBROR+vH1EKVQTqaUbJVPdc/gEdggTMM0Se+s+Ja4ju4TlNcStKl2Hw==", "dev": true, "dependencies": { "fast-deep-equal": "^3.1.1", @@ -10178,9 +10177,9 @@ } }, "node_modules/webpack-dev-server/node_modules/ajv": { - "version": "8.9.0", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.9.0.tgz", - "integrity": "sha512-qOKJyNj/h+OWx7s5DePL6Zu1KeM9jPZhwBqs+7DzP6bGOvqzVCSf0xueYmVuaC/oQ/VtS2zLMLHdQFbkka+XDQ==", + "version": "8.10.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.10.0.tgz", + "integrity": "sha512-bzqAEZOjkrUMl2afH8dknrq5KEk2SrwdBROR+vH1EKVQTqaUbJVPdc/gEdggTMM0Se+s+Ja4ju4TlNcStKl2Hw==", "dev": true, "dependencies": { "fast-deep-equal": "^3.1.1", @@ -10503,13 +10502,12 @@ }, "dependencies": { "@ampproject/remapping": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.0.2.tgz", - "integrity": "sha512-sE8Gx+qSDMLoJvb3QarJJlDQK7SSY4rK3hxp4XsiANeFOmjU46ZI7Y9adAQRJrmbz8zbtZkp3mJTT+rGxtF0XA==", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.1.0.tgz", + "integrity": "sha512-d5RysTlJ7hmw5Tw4UxgxcY3lkMe92n8sXCcuLPAyIAHK6j8DefDwtGnVVDgOnv+RnEosulDJ9NPKQL27bDId0g==", "dev": true, "requires": { - "@jridgewell/trace-mapping": "^0.2.2", - "sourcemap-codec": "1.4.8" + "@jridgewell/trace-mapping": "^0.3.0" } }, "@babel/code-frame": { @@ -11776,14 +11774,20 @@ "integrity": "sha512-cz8HFjOFfUBtvN+NXYSFMHYRdxZMaEl0XypVrhzxBgadKIXhIkRd8aMeHhmF56Sl7SuS8OnUpQ73/k9LE4VnLg==", "dev": true }, + "@jridgewell/sourcemap-codec": { + "version": "1.4.10", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.10.tgz", + "integrity": "sha512-Ht8wIW5v165atIX1p+JvKR5ONzUyF4Ac8DZIQ5kZs9zrb6M8SJNXpx1zn04rn65VjBMygRoMXcyYwNK0fT7bEg==", + "dev": true + }, "@jridgewell/trace-mapping": { - "version": "0.2.6", - "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.2.6.tgz", - "integrity": "sha512-rVJf5dSMEBxnDEwtAT5x8+p6tZ+xU6Ocm+cR1MYL2gMsRi4MMzVf9Pvq6JaxIsEeKAyYmo2U+yPQN4QfdTfFnA==", + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.2.tgz", + "integrity": "sha512-9KzzH4kMjA2XmBRHfqG2/Vtl7s92l6uNDd0wW7frDE+EUvQFGqNXhWp0UGJjSkt3v2AYjzOZn1QO9XaTNJIt1Q==", "dev": true, "requires": { "@jridgewell/resolve-uri": "^3.0.3", - "sourcemap-codec": "1.4.8" + "@jridgewell/sourcemap-codec": "^1.4.10" } }, "@nodelib/fs.scandir": { @@ -12055,9 +12059,9 @@ "dev": true }, "@types/node": { - "version": "17.0.14", - "resolved": "https://registry.npmjs.org/@types/node/-/node-17.0.14.tgz", - "integrity": "sha512-SbjLmERksKOGzWzPNuW7fJM7fk3YXVTFiZWB/Hs99gwhk+/dnrQRPBQjPW9aO+fi1tAffi9PrwFvsmOKmDTyng==", + "version": "17.0.15", + "resolved": "https://registry.npmjs.org/@types/node/-/node-17.0.15.tgz", + "integrity": "sha512-zWt4SDDv1S9WRBNxLFxFRHxdD9tvH8f5/kg5/IaLFdnSNXsDY4eL3Q3XXN+VxUnWIhyVFDwcsmAprvwXoM/ClA==", "dev": true }, "@types/parse-json": { @@ -12411,9 +12415,9 @@ }, "dependencies": { "ajv": { - "version": "8.9.0", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.9.0.tgz", - "integrity": "sha512-qOKJyNj/h+OWx7s5DePL6Zu1KeM9jPZhwBqs+7DzP6bGOvqzVCSf0xueYmVuaC/oQ/VtS2zLMLHdQFbkka+XDQ==", + "version": "8.10.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.10.0.tgz", + "integrity": "sha512-bzqAEZOjkrUMl2afH8dknrq5KEk2SrwdBROR+vH1EKVQTqaUbJVPdc/gEdggTMM0Se+s+Ja4ju4TlNcStKl2Hw==", "dev": true, "requires": { "fast-deep-equal": "^3.1.1", @@ -12992,9 +12996,9 @@ } }, "caniuse-lite": { - "version": "1.0.30001307", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001307.tgz", - "integrity": "sha512-+MXEMczJ4FuxJAUp0jvAl6Df0NI/OfW1RWEE61eSmzS7hw6lz4IKutbhbXendwq8BljfFuHtu26VWsg4afQ7Ng==", + "version": "1.0.30001309", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001309.tgz", + "integrity": "sha512-Pl8vfigmBXXq+/yUz1jUwULeq9xhMJznzdc/xwl4WclDAuebcTHVefpz8lE/bMI+UN7TOkSSe7B7RnZd6+dzjA==", "dev": true }, "caseless": { @@ -13573,57 +13577,57 @@ "dev": true }, "cssnano": { - "version": "5.0.16", - "resolved": "https://registry.npmjs.org/cssnano/-/cssnano-5.0.16.tgz", - "integrity": "sha512-ryhRI9/B9VFCwPbb1z60LLK5/ldoExi7nwdnJzpkLZkm2/r7j2X3jfY+ZvDVJhC/0fPZlrAguYdHNFg0iglPKQ==", + "version": "5.0.17", + "resolved": "https://registry.npmjs.org/cssnano/-/cssnano-5.0.17.tgz", + "integrity": "sha512-fmjLP7k8kL18xSspeXTzRhaFtRI7DL9b8IcXR80JgtnWBpvAzHT7sCR/6qdn0tnxIaINUN6OEQu83wF57Gs3Xw==", "dev": true, "requires": { - "cssnano-preset-default": "^5.1.11", + "cssnano-preset-default": "^5.1.12", "lilconfig": "^2.0.3", "yaml": "^1.10.2" } }, "cssnano-preset-default": { - "version": "5.1.11", - "resolved": "https://registry.npmjs.org/cssnano-preset-default/-/cssnano-preset-default-5.1.11.tgz", - "integrity": "sha512-ETet5hqHxmzQq2ynXMOQofKuLm7VOjMiOB7E2zdtm/hSeCKlD9fabzIUV4GoPcRyJRHi+4kGf0vsfGYbQ4nmPw==", + "version": "5.1.12", + "resolved": "https://registry.npmjs.org/cssnano-preset-default/-/cssnano-preset-default-5.1.12.tgz", + "integrity": "sha512-rO/JZYyjW1QNkWBxMGV28DW7d98UDLaF759frhli58QFehZ+D/LSmwQ2z/ylBAe2hUlsIWTq6NYGfQPq65EF9w==", "dev": true, "requires": { "css-declaration-sorter": "^6.0.3", - "cssnano-utils": "^3.0.1", + "cssnano-utils": "^3.0.2", "postcss-calc": "^8.2.0", - "postcss-colormin": "^5.2.4", - "postcss-convert-values": "^5.0.3", - "postcss-discard-comments": "^5.0.2", - "postcss-discard-duplicates": "^5.0.2", - "postcss-discard-empty": "^5.0.2", - "postcss-discard-overridden": "^5.0.3", - "postcss-merge-longhand": "^5.0.5", - "postcss-merge-rules": "^5.0.5", - "postcss-minify-font-values": "^5.0.3", - "postcss-minify-gradients": "^5.0.5", - "postcss-minify-params": "^5.0.4", - "postcss-minify-selectors": "^5.1.2", - "postcss-normalize-charset": "^5.0.2", - "postcss-normalize-display-values": "^5.0.2", - "postcss-normalize-positions": "^5.0.3", - "postcss-normalize-repeat-style": "^5.0.3", - "postcss-normalize-string": "^5.0.3", - "postcss-normalize-timing-functions": "^5.0.2", - "postcss-normalize-unicode": "^5.0.3", - "postcss-normalize-url": "^5.0.4", - "postcss-normalize-whitespace": "^5.0.3", - "postcss-ordered-values": "^5.0.4", - "postcss-reduce-initial": "^5.0.2", - "postcss-reduce-transforms": "^5.0.3", - "postcss-svgo": "^5.0.3", - "postcss-unique-selectors": "^5.0.3" + "postcss-colormin": "^5.2.5", + "postcss-convert-values": "^5.0.4", + "postcss-discard-comments": "^5.0.3", + "postcss-discard-duplicates": "^5.0.3", + "postcss-discard-empty": "^5.0.3", + "postcss-discard-overridden": "^5.0.4", + "postcss-merge-longhand": "^5.0.6", + "postcss-merge-rules": "^5.0.6", + "postcss-minify-font-values": "^5.0.4", + "postcss-minify-gradients": "^5.0.6", + "postcss-minify-params": "^5.0.5", + "postcss-minify-selectors": "^5.1.3", + "postcss-normalize-charset": "^5.0.3", + "postcss-normalize-display-values": "^5.0.3", + "postcss-normalize-positions": "^5.0.4", + "postcss-normalize-repeat-style": "^5.0.4", + "postcss-normalize-string": "^5.0.4", + "postcss-normalize-timing-functions": "^5.0.3", + "postcss-normalize-unicode": "^5.0.4", + "postcss-normalize-url": "^5.0.5", + "postcss-normalize-whitespace": "^5.0.4", + "postcss-ordered-values": "^5.0.5", + "postcss-reduce-initial": "^5.0.3", + "postcss-reduce-transforms": "^5.0.4", + "postcss-svgo": "^5.0.4", + "postcss-unique-selectors": "^5.0.4" } }, "cssnano-utils": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/cssnano-utils/-/cssnano-utils-3.0.1.tgz", - "integrity": "sha512-VNCHL364lh++/ono+S3j9NlUK+d97KNkxI77NlqZU2W3xd2/qmyN61dsa47pTpb55zuU4G4lI7qFjAXZJH1OAQ==", + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/cssnano-utils/-/cssnano-utils-3.0.2.tgz", + "integrity": "sha512-KhprijuQv2sP4kT92sSQwhlK3SJTbDIsxcfIEySB0O+3m9esFOai7dP9bMx5enHAh2MwarVIcnwiWoOm01RIbQ==", "dev": true, "requires": {} }, @@ -13971,9 +13975,9 @@ "dev": true }, "electron-to-chromium": { - "version": "1.4.64", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.64.tgz", - "integrity": "sha512-8mec/99xgLUZCIZZq3wt61Tpxg55jnOSpxGYapE/1Ma9MpFEYYaz4QNYm0CM1rrnCo7i3FRHhbaWjeCLsveGjQ==", + "version": "1.4.65", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.65.tgz", + "integrity": "sha512-0/d8Skk8sW3FxXP0Dd6MnBlrwx7Qo9cqQec3BlIAlvKnrmS3pHsIbaroEi+nd0kZkGpQ6apMEre7xndzjlEnLw==", "dev": true }, "elliptic": { @@ -14422,9 +14426,9 @@ "dev": true }, "fraction.js": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/fraction.js/-/fraction.js-4.1.2.tgz", - "integrity": "sha512-o2RiJQ6DZaR/5+Si0qJUIy637QMRudSi9kU/FFzx9EZazrIdnBgpU+3sEWCxAVhH2RtxW2Oz+T4p2o8uOPVcgA==", + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/fraction.js/-/fraction.js-4.1.3.tgz", + "integrity": "sha512-pUHWWt6vHzZZiQJcM6S/0PXfS+g6FM4BF5rj9wZyreivhQPdsh5PpE25VtSNxq80wHS5RfY51Ii+8Z0Zl/pmzg==", "dev": true }, "fresh": { @@ -15244,9 +15248,9 @@ "dev": true }, "jest-worker": { - "version": "27.4.6", - "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-27.4.6.tgz", - "integrity": "sha512-gHWJF/6Xi5CTG5QCvROr6GcmpIqNYpDJyc8A1h/DyXqH1tD6SnRCM0d3U5msV31D2LB/U+E0M+W4oyvKV44oNw==", + "version": "27.5.0", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-27.5.0.tgz", + "integrity": "sha512-8OEHiPNOPTfaWnJ2SUHM8fmgeGq37uuGsQBvGKQJl1f+6WIy6g7G3fE2ruI5294bUKUI9FaCWt5hDvO8HSwsSg==", "dev": true, "requires": { "@types/node": "*", @@ -15716,9 +15720,9 @@ "dev": true }, "minimatch": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", - "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.5.tgz", + "integrity": "sha512-tUpxzX0VAzJHjLu0xUfFv1gwVp9ba3IOuRAVH2EGuRW8a5emA2FlACLqiT/lDVtS1W+TGNwqz3sWaNyLgDJWuw==", "dev": true, "requires": { "brace-expansion": "^1.1.7" @@ -16303,19 +16307,19 @@ } }, "postcss-calc": { - "version": "8.2.3", - "resolved": "https://registry.npmjs.org/postcss-calc/-/postcss-calc-8.2.3.tgz", - "integrity": "sha512-EGM2EBBWqP57N0E7N7WOLT116PJ39dwHVU01WO4XPPQLJfkL2xVgkMZ+TZvCfapj/uJH07UEfKHQNPHzSw/14Q==", + "version": "8.2.4", + "resolved": "https://registry.npmjs.org/postcss-calc/-/postcss-calc-8.2.4.tgz", + "integrity": "sha512-SmWMSJmB8MRnnULldx0lQIyhSNvuDl9HfrZkaqqE/WHAhToYsAvDq+yAsA/kIyINDszOp3Rh0GFoNuH5Ypsm3Q==", "dev": true, "requires": { - "postcss-selector-parser": "^6.0.2", - "postcss-value-parser": "^4.0.2" + "postcss-selector-parser": "^6.0.9", + "postcss-value-parser": "^4.2.0" } }, "postcss-colormin": { - "version": "5.2.4", - "resolved": "https://registry.npmjs.org/postcss-colormin/-/postcss-colormin-5.2.4.tgz", - "integrity": "sha512-rYlC5015aNqVQt/B6Cy156g7sH5tRUJGmT9xeagYthtKehetbKx7jHxhyLpulP4bs4vbp8u/B2rac0J7S7qPQg==", + "version": "5.2.5", + "resolved": "https://registry.npmjs.org/postcss-colormin/-/postcss-colormin-5.2.5.tgz", + "integrity": "sha512-+X30aDaGYq81mFqwyPpnYInsZQnNpdxMX0ajlY7AExCexEFkPVV+KrO7kXwayqEWL2xwEbNQ4nUO0ZsRWGnevg==", "dev": true, "requires": { "browserslist": "^4.16.6", @@ -16325,39 +16329,39 @@ } }, "postcss-convert-values": { - "version": "5.0.3", - "resolved": "https://registry.npmjs.org/postcss-convert-values/-/postcss-convert-values-5.0.3.tgz", - "integrity": "sha512-fVkjHm2T0PSMqXUCIhHNWVGjhB9mHEWX2GboVs7j3iCgr6FpIl9c/IdXy0PHWZSQ9LFTRgmj98amxJE6KOnlsA==", + "version": "5.0.4", + "resolved": "https://registry.npmjs.org/postcss-convert-values/-/postcss-convert-values-5.0.4.tgz", + "integrity": "sha512-bugzSAyjIexdObovsPZu/sBCTHccImJxLyFgeV0MmNBm/Lw5h5XnjfML6gzEmJ3A6nyfCW7hb1JXzcsA4Zfbdw==", "dev": true, "requires": { "postcss-value-parser": "^4.2.0" } }, "postcss-discard-comments": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/postcss-discard-comments/-/postcss-discard-comments-5.0.2.tgz", - "integrity": "sha512-6VQ3pYTsJHEsN2Bic88Aa7J/Brn4Bv8j/rqaFQZkH+pcVkKYwxCIvoMQkykEW7fBjmofdTnQgcivt5CCBJhtrg==", + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/postcss-discard-comments/-/postcss-discard-comments-5.0.3.tgz", + "integrity": "sha512-6W5BemziRoqIdAKT+1QjM4bNcJAQ7z7zk073730NHg4cUXh3/rQHHj7pmYxUB9aGhuRhBiUf0pXvIHkRwhQP0Q==", "dev": true, "requires": {} }, "postcss-discard-duplicates": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/postcss-discard-duplicates/-/postcss-discard-duplicates-5.0.2.tgz", - "integrity": "sha512-LKY81YjUjc78p6rbXIsnppsaFo8XzCoMZkXVILJU//sK0DgPkPSpuq/cZvHss3EtdKvWNYgWzQL+wiJFtEET4g==", + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/postcss-discard-duplicates/-/postcss-discard-duplicates-5.0.3.tgz", + "integrity": "sha512-vPtm1Mf+kp7iAENTG7jI1MN1lk+fBqL5y+qxyi4v3H+lzsXEdfS3dwUZD45KVhgzDEgduur8ycB4hMegyMTeRw==", "dev": true, "requires": {} }, "postcss-discard-empty": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/postcss-discard-empty/-/postcss-discard-empty-5.0.2.tgz", - "integrity": "sha512-SxBsbTjlsKUvZLL+dMrdWauuNZU8TBq5IOL/DHa6jBUSXFEwmDqeXRfTIK/FQpPTa8MJMxEHjSV3UbiuyLARPQ==", + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/postcss-discard-empty/-/postcss-discard-empty-5.0.3.tgz", + "integrity": "sha512-xGJugpaXKakwKI7sSdZjUuN4V3zSzb2Y0LOlmTajFbNinEjTfVs9PFW2lmKBaC/E64WwYppfqLD03P8l9BuueA==", "dev": true, "requires": {} }, "postcss-discard-overridden": { - "version": "5.0.3", - "resolved": "https://registry.npmjs.org/postcss-discard-overridden/-/postcss-discard-overridden-5.0.3.tgz", - "integrity": "sha512-yRTXknIZA4k8Yo4FiF1xbsLj/VBxfXEWxJNIrtIy6HC9KQ4xJxcPtoaaskh6QptCGrrcGnhKsTsENTRPZOBu4g==", + "version": "5.0.4", + "resolved": "https://registry.npmjs.org/postcss-discard-overridden/-/postcss-discard-overridden-5.0.4.tgz", + "integrity": "sha512-3j9QH0Qh1KkdxwiZOW82cId7zdwXVQv/gRXYDnwx5pBtR1sTkU4cXRK9lp5dSdiM0r0OICO/L8J6sV1/7m0kHg==", "dev": true, "requires": {} }, @@ -16404,62 +16408,62 @@ } }, "postcss-merge-longhand": { - "version": "5.0.5", - "resolved": "https://registry.npmjs.org/postcss-merge-longhand/-/postcss-merge-longhand-5.0.5.tgz", - "integrity": "sha512-R2BCPJJ/U2oh1uTWEYn9CcJ7MMcQ1iIbj9wfr2s/zHu5om5MP/ewKdaunpfJqR1WYzqCsgnXuRoVXPAzxdqy8g==", + "version": "5.0.6", + "resolved": "https://registry.npmjs.org/postcss-merge-longhand/-/postcss-merge-longhand-5.0.6.tgz", + "integrity": "sha512-rkmoPwQO6ymJSmWsX6l2hHeEBQa7C4kJb9jyi5fZB1sE8nSCv7sqchoYPixRwX/yvLoZP2y6FA5kcjiByeJqDg==", "dev": true, "requires": { "postcss-value-parser": "^4.2.0", - "stylehacks": "^5.0.2" + "stylehacks": "^5.0.3" } }, "postcss-merge-rules": { - "version": "5.0.5", - "resolved": "https://registry.npmjs.org/postcss-merge-rules/-/postcss-merge-rules-5.0.5.tgz", - "integrity": "sha512-3Oa26/Pb9VOFVksJjFG45SNoe4nhGvJ2Uc6TlRimqF8uhfOCEhVCaJ3rvEat5UFOn2UZqTY5Da8dFgCh3Iq0Ug==", + "version": "5.0.6", + "resolved": "https://registry.npmjs.org/postcss-merge-rules/-/postcss-merge-rules-5.0.6.tgz", + "integrity": "sha512-nzJWJ9yXWp8AOEpn/HFAW72WKVGD2bsLiAmgw4hDchSij27bt6TF+sIK0cJUBAYT3SGcjtGGsOR89bwkkMuMgQ==", "dev": true, "requires": { "browserslist": "^4.16.6", "caniuse-api": "^3.0.0", - "cssnano-utils": "^3.0.1", + "cssnano-utils": "^3.0.2", "postcss-selector-parser": "^6.0.5" } }, "postcss-minify-font-values": { - "version": "5.0.3", - "resolved": "https://registry.npmjs.org/postcss-minify-font-values/-/postcss-minify-font-values-5.0.3.tgz", - "integrity": "sha512-bC45rVzEwsLhv/cL1eCjoo2OOjbSk9I7HKFBYnBvtyuIZlf7uMipMATXtA0Fc3jwPo3wuPIW1jRJWKzflMh1sA==", + "version": "5.0.4", + "resolved": "https://registry.npmjs.org/postcss-minify-font-values/-/postcss-minify-font-values-5.0.4.tgz", + "integrity": "sha512-RN6q3tyuEesvyCYYFCRGJ41J1XFvgV+dvYGHr0CeHv8F00yILlN8Slf4t8XW4IghlfZYCeyRrANO6HpJ948ieA==", "dev": true, "requires": { "postcss-value-parser": "^4.2.0" } }, "postcss-minify-gradients": { - "version": "5.0.5", - "resolved": "https://registry.npmjs.org/postcss-minify-gradients/-/postcss-minify-gradients-5.0.5.tgz", - "integrity": "sha512-/YjvXs8PepsoiZAIpjstOO4IHKwFAqYNqbA1yVdqklM84tbUUneh6omJxGlRlF3mi6K5Pa067Mg6IwqEnYC8Zg==", + "version": "5.0.6", + "resolved": "https://registry.npmjs.org/postcss-minify-gradients/-/postcss-minify-gradients-5.0.6.tgz", + "integrity": "sha512-E/dT6oVxB9nLGUTiY/rG5dX9taugv9cbLNTFad3dKxOO+BQg25Q/xo2z2ddG+ZB1CbkZYaVwx5blY8VC7R/43A==", "dev": true, "requires": { "colord": "^2.9.1", - "cssnano-utils": "^3.0.1", + "cssnano-utils": "^3.0.2", "postcss-value-parser": "^4.2.0" } }, "postcss-minify-params": { - "version": "5.0.4", - "resolved": "https://registry.npmjs.org/postcss-minify-params/-/postcss-minify-params-5.0.4.tgz", - "integrity": "sha512-Z0vjod9lRZEmEPfEmA2sCfjbfEEFKefMD3RDIQSUfXK4LpCyWkX1CniUgyNvnjJFLDPSxtgKzozhHhPHKoeGkg==", + "version": "5.0.5", + "resolved": "https://registry.npmjs.org/postcss-minify-params/-/postcss-minify-params-5.0.5.tgz", + "integrity": "sha512-YBNuq3Rz5LfLFNHb9wrvm6t859b8qIqfXsWeK7wROm3jSKNpO1Y5e8cOyBv6Acji15TgSrAwb3JkVNCqNyLvBg==", "dev": true, "requires": { "browserslist": "^4.16.6", - "cssnano-utils": "^3.0.1", + "cssnano-utils": "^3.0.2", "postcss-value-parser": "^4.2.0" } }, "postcss-minify-selectors": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/postcss-minify-selectors/-/postcss-minify-selectors-5.1.2.tgz", - "integrity": "sha512-gpn1nJDMCf3g32y/7kl+jsdamhiYT+/zmEt57RoT9GmzlixBNRPohI7k8UIHelLABhdLf3MSZhtM33xuH5eQOQ==", + "version": "5.1.3", + "resolved": "https://registry.npmjs.org/postcss-minify-selectors/-/postcss-minify-selectors-5.1.3.tgz", + "integrity": "sha512-9RJfTiQEKA/kZhMaEXND893nBqmYQ8qYa/G+uPdVnXF6D/FzpfI6kwBtWEcHx5FqDbA79O9n6fQJfrIj6M8jvQ==", "dev": true, "requires": { "postcss-selector-parser": "^6.0.5" @@ -16511,61 +16515,61 @@ } }, "postcss-normalize-charset": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/postcss-normalize-charset/-/postcss-normalize-charset-5.0.2.tgz", - "integrity": "sha512-fEMhYXzO8My+gC009qDc/3bgnFP8Fv1Ic8uw4ec4YTlhIOw63tGPk1YFd7fk9bZUf1DAbkhiL/QPWs9JLqdF2g==", + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/postcss-normalize-charset/-/postcss-normalize-charset-5.0.3.tgz", + "integrity": "sha512-iKEplDBco9EfH7sx4ut7R2r/dwTnUqyfACf62Unc9UiyFuI7uUqZZtY+u+qp7g8Qszl/U28HIfcsI3pEABWFfA==", "dev": true, "requires": {} }, "postcss-normalize-display-values": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/postcss-normalize-display-values/-/postcss-normalize-display-values-5.0.2.tgz", - "integrity": "sha512-RxXoJPUR0shSjkMMzgEZDjGPrgXUVYyWA/YwQRicb48H15OClPuaDR7tYokLAlGZ2tCSENEN5WxjgxSD5m4cUw==", + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/postcss-normalize-display-values/-/postcss-normalize-display-values-5.0.3.tgz", + "integrity": "sha512-FIV5FY/qs4Ja32jiDb5mVj5iWBlS3N8tFcw2yg98+8MkRgyhtnBgSC0lxU+16AMHbjX5fbSJgw5AXLMolonuRQ==", "dev": true, "requires": { "postcss-value-parser": "^4.2.0" } }, "postcss-normalize-positions": { - "version": "5.0.3", - "resolved": "https://registry.npmjs.org/postcss-normalize-positions/-/postcss-normalize-positions-5.0.3.tgz", - "integrity": "sha512-U+rmhjrNBvIGYqr/1tD4wXPFFMKUbXsYXvlUCzLi0tOCUS6LoeEAnmVXXJY/MEB/1CKZZwBSs2tmzGawcygVBA==", + "version": "5.0.4", + "resolved": "https://registry.npmjs.org/postcss-normalize-positions/-/postcss-normalize-positions-5.0.4.tgz", + "integrity": "sha512-qynirjBX0Lc73ROomZE3lzzmXXTu48/QiEzKgMeqh28+MfuHLsuqC9po4kj84igZqqFGovz8F8hf44hA3dPYmQ==", "dev": true, "requires": { "postcss-value-parser": "^4.2.0" } }, "postcss-normalize-repeat-style": { - "version": "5.0.3", - "resolved": "https://registry.npmjs.org/postcss-normalize-repeat-style/-/postcss-normalize-repeat-style-5.0.3.tgz", - "integrity": "sha512-uk1+xYx0AMbA3nLSNhbDrqbf/rx+Iuq5tVad2VNyaxxJzx79oGieJ6D9F6AfOL2GtiIbP7vTYlpYHtG+ERFXTg==", + "version": "5.0.4", + "resolved": "https://registry.npmjs.org/postcss-normalize-repeat-style/-/postcss-normalize-repeat-style-5.0.4.tgz", + "integrity": "sha512-Innt+wctD7YpfeDR7r5Ik6krdyppyAg2HBRpX88fo5AYzC1Ut/l3xaxACG0KsbX49cO2n5EB13clPwuYVt8cMA==", "dev": true, "requires": { "postcss-value-parser": "^4.2.0" } }, "postcss-normalize-string": { - "version": "5.0.3", - "resolved": "https://registry.npmjs.org/postcss-normalize-string/-/postcss-normalize-string-5.0.3.tgz", - "integrity": "sha512-Mf2V4JbIDboNGQhW6xW0YREDiYXoX3WrD3EjKkjvnpAJ6W4qqjLnK/c9aioyVFaWWHVdP5zVRw/9DI5S3oLDFw==", + "version": "5.0.4", + "resolved": "https://registry.npmjs.org/postcss-normalize-string/-/postcss-normalize-string-5.0.4.tgz", + "integrity": "sha512-Dfk42l0+A1CDnVpgE606ENvdmksttLynEqTQf5FL3XGQOyqxjbo25+pglCUvziicTxjtI2NLUR6KkxyUWEVubQ==", "dev": true, "requires": { "postcss-value-parser": "^4.2.0" } }, "postcss-normalize-timing-functions": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/postcss-normalize-timing-functions/-/postcss-normalize-timing-functions-5.0.2.tgz", - "integrity": "sha512-Ao0PP6MoYsRU1LxeVUW740ioknvdIUmfr6uAA3xWlQJ9s69/Tupy8qwhuKG3xWfl+KvLMAP9p2WXF9cwuk/7Bg==", + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/postcss-normalize-timing-functions/-/postcss-normalize-timing-functions-5.0.3.tgz", + "integrity": "sha512-QRfjvFh11moN4PYnJ7hia4uJXeFotyK3t2jjg8lM9mswleGsNw2Lm3I5wO+l4k1FzK96EFwEVn8X8Ojrp2gP4g==", "dev": true, "requires": { "postcss-value-parser": "^4.2.0" } }, "postcss-normalize-unicode": { - "version": "5.0.3", - "resolved": "https://registry.npmjs.org/postcss-normalize-unicode/-/postcss-normalize-unicode-5.0.3.tgz", - "integrity": "sha512-uNC7BmS/7h6to2UWa4RFH8sOTzu2O9dVWPE/F9Vm9GdhONiD/c1kNaCLbmsFHlKWcEx7alNUChQ+jH/QAlqsQw==", + "version": "5.0.4", + "resolved": "https://registry.npmjs.org/postcss-normalize-unicode/-/postcss-normalize-unicode-5.0.4.tgz", + "integrity": "sha512-W79Regn+a+eXTzB+oV/8XJ33s3pDyFTND2yDuUCo0Xa3QSy1HtNIfRVPXNubHxjhlqmMFADr3FSCHT84ITW3ig==", "dev": true, "requires": { "browserslist": "^4.16.6", @@ -16573,9 +16577,9 @@ } }, "postcss-normalize-url": { - "version": "5.0.4", - "resolved": "https://registry.npmjs.org/postcss-normalize-url/-/postcss-normalize-url-5.0.4.tgz", - "integrity": "sha512-cNj3RzK2pgQQyNp7dzq0dqpUpQ/wYtdDZM3DepPmFjCmYIfceuD9VIAcOdvrNetjIU65g1B4uwdP/Krf6AFdXg==", + "version": "5.0.5", + "resolved": "https://registry.npmjs.org/postcss-normalize-url/-/postcss-normalize-url-5.0.5.tgz", + "integrity": "sha512-Ws3tX+PcekYlXh+ycAt0wyzqGthkvVtZ9SZLutMVvHARxcpu4o7vvXcNoiNKyjKuWecnjS6HDI3fjBuDr5MQxQ==", "dev": true, "requires": { "normalize-url": "^6.0.1", @@ -16583,28 +16587,28 @@ } }, "postcss-normalize-whitespace": { - "version": "5.0.3", - "resolved": "https://registry.npmjs.org/postcss-normalize-whitespace/-/postcss-normalize-whitespace-5.0.3.tgz", - "integrity": "sha512-333JWRnX655fSoUbufJ10HJop3c8mrpKkCCUnEmgz/Cb/QEtW+/TMZwDAUt4lnwqP6tCCk0x0b58jqvDgiQm/A==", + "version": "5.0.4", + "resolved": "https://registry.npmjs.org/postcss-normalize-whitespace/-/postcss-normalize-whitespace-5.0.4.tgz", + "integrity": "sha512-wsnuHolYZjMwWZJoTC9jeI2AcjA67v4UuidDrPN9RnX8KIZfE+r2Nd6XZRwHVwUiHmRvKQtxiqo64K+h8/imaw==", "dev": true, "requires": { "postcss-value-parser": "^4.2.0" } }, "postcss-ordered-values": { - "version": "5.0.4", - "resolved": "https://registry.npmjs.org/postcss-ordered-values/-/postcss-ordered-values-5.0.4.tgz", - "integrity": "sha512-taKtGDZtyYUMVYkg+MuJeBUiTF6cGHZmo/qcW7ibvW79UlyKuSHbo6dpCIiqI+j9oJsXWzP+ovIxoyLDOeQFdw==", + "version": "5.0.5", + "resolved": "https://registry.npmjs.org/postcss-ordered-values/-/postcss-ordered-values-5.0.5.tgz", + "integrity": "sha512-mfY7lXpq+8bDEHfP+muqibDPhZ5eP9zgBEF9XRvoQgXcQe2Db3G1wcvjbnfjXG6wYsl+0UIjikqq4ym1V2jGMQ==", "dev": true, "requires": { - "cssnano-utils": "^3.0.1", + "cssnano-utils": "^3.0.2", "postcss-value-parser": "^4.2.0" } }, "postcss-reduce-initial": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/postcss-reduce-initial/-/postcss-reduce-initial-5.0.2.tgz", - "integrity": "sha512-v/kbAAQ+S1V5v9TJvbGkV98V2ERPdU6XvMcKMjqAlYiJ2NtsHGlKYLPjWWcXlaTKNxooId7BGxeraK8qXvzKtw==", + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/postcss-reduce-initial/-/postcss-reduce-initial-5.0.3.tgz", + "integrity": "sha512-c88TkSnQ/Dnwgb4OZbKPOBbCaauwEjbECP5uAuFPOzQ+XdjNjRH7SG0dteXrpp1LlIFEKK76iUGgmw2V0xeieA==", "dev": true, "requires": { "browserslist": "^4.16.6", @@ -16612,9 +16616,9 @@ } }, "postcss-reduce-transforms": { - "version": "5.0.3", - "resolved": "https://registry.npmjs.org/postcss-reduce-transforms/-/postcss-reduce-transforms-5.0.3.tgz", - "integrity": "sha512-yDnTUab5i7auHiNwdcL1f+pBnqQFf+7eC4cbC7D8Lc1FkvNZhtpkdad+9U4wDdFb84haupMf0rA/Zc5LcTe/3A==", + "version": "5.0.4", + "resolved": "https://registry.npmjs.org/postcss-reduce-transforms/-/postcss-reduce-transforms-5.0.4.tgz", + "integrity": "sha512-VIJB9SFSaL8B/B7AXb7KHL6/GNNbbCHslgdzS9UDfBZYIA2nx8NLY7iD/BXFSO/1sRUILzBTfHCoW5inP37C5g==", "dev": true, "requires": { "postcss-value-parser": "^4.2.0" @@ -16631,19 +16635,19 @@ } }, "postcss-svgo": { - "version": "5.0.3", - "resolved": "https://registry.npmjs.org/postcss-svgo/-/postcss-svgo-5.0.3.tgz", - "integrity": "sha512-41XZUA1wNDAZrQ3XgWREL/M2zSw8LJPvb5ZWivljBsUQAGoEKMYm6okHsTjJxKYI4M75RQEH4KYlEM52VwdXVA==", + "version": "5.0.4", + "resolved": "https://registry.npmjs.org/postcss-svgo/-/postcss-svgo-5.0.4.tgz", + "integrity": "sha512-yDKHvULbnZtIrRqhZoA+rxreWpee28JSRH/gy9727u0UCgtpv1M/9WEWY3xySlFa0zQJcqf6oCBJPR5NwkmYpg==", "dev": true, "requires": { - "postcss-value-parser": "^4.1.0", + "postcss-value-parser": "^4.2.0", "svgo": "^2.7.0" } }, "postcss-unique-selectors": { - "version": "5.0.3", - "resolved": "https://registry.npmjs.org/postcss-unique-selectors/-/postcss-unique-selectors-5.0.3.tgz", - "integrity": "sha512-V5tX2hadSSn+miVCluuK1IDGy+7jAXSOfRZ2DQ+s/4uQZb/orDYBjH0CHgFrXsRw78p4QTuEFA9kI6C956UnHQ==", + "version": "5.0.4", + "resolved": "https://registry.npmjs.org/postcss-unique-selectors/-/postcss-unique-selectors-5.0.4.tgz", + "integrity": "sha512-5ampwoSDJCxDPoANBIlMgoBcYUHnhaiuLYJR5pj1DLnYQvMRVyFuTA5C3Bvt+aHtiqWpJkD/lXT50Vo1D0ZsAQ==", "dev": true, "requires": { "postcss-selector-parser": "^6.0.5" @@ -17483,12 +17487,6 @@ } } }, - "sourcemap-codec": { - "version": "1.4.8", - "resolved": "https://registry.npmjs.org/sourcemap-codec/-/sourcemap-codec-1.4.8.tgz", - "integrity": "sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==", - "dev": true - }, "spdy": { "version": "4.0.2", "resolved": "https://registry.npmjs.org/spdy/-/spdy-4.0.2.tgz", @@ -17665,9 +17663,9 @@ } }, "stylehacks": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/stylehacks/-/stylehacks-5.0.2.tgz", - "integrity": "sha512-114zeJdOpTrbQYRD4OU5UWJ99LKUaqCPJTU1HQ/n3q3BwmllFN8kHENaLnOeqVq6AhXrWfxHNZTl33iJ4oy3cQ==", + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/stylehacks/-/stylehacks-5.0.3.tgz", + "integrity": "sha512-ENcUdpf4yO0E1rubu8rkxI+JGQk4CgjchynZ4bDBJDfqdy+uhTRSWb8/F3Jtu+Bw5MW45Po3/aQGeIyyxgQtxg==", "dev": true, "requires": { "browserslist": "^4.16.6", @@ -17705,9 +17703,9 @@ } }, "sweetalert2": { - "version": "11.3.10", - "resolved": "https://registry.npmjs.org/sweetalert2/-/sweetalert2-11.3.10.tgz", - "integrity": "sha512-/3nhG5QCREkPUndAbOF9h1IM7lgCIU/evsNXd/YUfa9eJ04M+hxksxIio8hhtH16UnWd2GvJ+zvFQ8H9hLRhsw==", + "version": "11.4.0", + "resolved": "https://registry.npmjs.org/sweetalert2/-/sweetalert2-11.4.0.tgz", + "integrity": "sha512-+p0jT2LxUQGreWa60j7nm1frJfqbcmamZcpZi4puEGAJ0CmyPqQ4UGmBqbB4WxkJYKsn8qcOA9ufqn0MWtQWLQ==", "dev": true }, "tailwindcss": { @@ -18212,9 +18210,9 @@ }, "dependencies": { "ajv": { - "version": "8.9.0", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.9.0.tgz", - "integrity": "sha512-qOKJyNj/h+OWx7s5DePL6Zu1KeM9jPZhwBqs+7DzP6bGOvqzVCSf0xueYmVuaC/oQ/VtS2zLMLHdQFbkka+XDQ==", + "version": "8.10.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.10.0.tgz", + "integrity": "sha512-bzqAEZOjkrUMl2afH8dknrq5KEk2SrwdBROR+vH1EKVQTqaUbJVPdc/gEdggTMM0Se+s+Ja4ju4TlNcStKl2Hw==", "dev": true, "requires": { "fast-deep-equal": "^3.1.1", @@ -18291,9 +18289,9 @@ }, "dependencies": { "ajv": { - "version": "8.9.0", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.9.0.tgz", - "integrity": "sha512-qOKJyNj/h+OWx7s5DePL6Zu1KeM9jPZhwBqs+7DzP6bGOvqzVCSf0xueYmVuaC/oQ/VtS2zLMLHdQFbkka+XDQ==", + "version": "8.10.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.10.0.tgz", + "integrity": "sha512-bzqAEZOjkrUMl2afH8dknrq5KEk2SrwdBROR+vH1EKVQTqaUbJVPdc/gEdggTMM0Se+s+Ja4ju4TlNcStKl2Hw==", "dev": true, "requires": { "fast-deep-equal": "^3.1.1", diff --git a/public/js/app.js b/public/js/app.js index 545af6eb..c356354f 100644 --- a/public/js/app.js +++ b/public/js/app.js @@ -1,3 +1,3 @@ /*! For license information please see app.js.LICENSE.txt */ -(()=>{var t,e={973:t=>{window,t.exports=function(t){var e={};function n(r){if(e[r])return e[r].exports;var i=e[r]={i:r,l:!1,exports:{}};return t[r].call(i.exports,i,i.exports,n),i.l=!0,i.exports}return n.m=t,n.c=e,n.d=function(t,e,r){n.o(t,e)||Object.defineProperty(t,e,{enumerable:!0,get:r})},n.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},n.t=function(t,e){if(1&e&&(t=n(t)),8&e)return t;if(4&e&&"object"==typeof t&&t&&t.__esModule)return t;var r=Object.create(null);if(n.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:t}),2&e&&"string"!=typeof t)for(var i in t)n.d(r,i,function(e){return t[e]}.bind(null,i));return r},n.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return n.d(e,"a",e),e},n.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},n.p="/",n(n.s=89)}([function(t,e){t.exports=function(t,e,n){return e in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t},t.exports.default=t.exports,t.exports.__esModule=!0},function(t,e){t.exports=function(t){if(void 0===t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t},t.exports.default=t.exports,t.exports.__esModule=!0},function(t,e){function n(e){return t.exports=n=Object.setPrototypeOf?Object.getPrototypeOf:function(t){return t.__proto__||Object.getPrototypeOf(t)},t.exports.default=t.exports,t.exports.__esModule=!0,n(e)}t.exports=n,t.exports.default=t.exports,t.exports.__esModule=!0},function(t,e){t.exports=function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")},t.exports.default=t.exports,t.exports.__esModule=!0},function(t,e){function n(t,e){for(var n=0;n=0;e--){var n=Math.floor(Math.random()*e),r=t[e];t[e]=t[n],t[n]=r}return t},toPointList:function(t){var e=t.reduce((function(t,e){var n="[".concat(e.join(","),"]");return t.push(n),t}),[]);return"[".concat(e.join(",\r\n"),"]")},threshold:function(t,e,n){return t.reduce((function(r,i){return n.apply(t,[i])>=e&&r.push(i),r}),[])},maxIndex:function(t){for(var e=0,n=0;nt[e]&&(e=n);return e},max:function(t){for(var e=0,n=0;ne&&(e=t[n]);return e},sum:function(t){for(var e=t.length,n=0;e--;)n+=t[e];return n}}},function(t,e,n){"use strict";n.d(e,"h",(function(){return h})),n.d(e,"i",(function(){return d})),n.d(e,"b",(function(){return p})),n.d(e,"j",(function(){return g})),n.d(e,"e",(function(){return m})),n.d(e,"c",(function(){return v})),n.d(e,"f",(function(){return y})),n.d(e,"g",(function(){return b})),n.d(e,"a",(function(){return _})),n.d(e,"d",(function(){return k}));var r=n(7),i=n(84),o={clone:r.clone,dot:r.dot},s=function(t,e){var n=[],r={rad:0,vec:o.clone([0,0])},i={};function s(t){i[t.id]=t,n.push(t)}function a(){var t,e=0;for(t=0;te},getPoints:function(){return n},getCenter:function(){return r}}},a=function(t,e,n){return{rad:t[n],point:t,id:e}},l=n(8),c={clone:r.clone},u={clone:i.clone};function h(t,e){return{x:t,y:e,toVec2:function(){return c.clone([this.x,this.y])},toVec3:function(){return u.clone([this.x,this.y,1])},round:function(){return this.x=this.x>0?Math.floor(this.x+.5):Math.floor(this.x-.5),this.y=this.y>0?Math.floor(this.y+.5):Math.floor(this.y-.5),this}}}function f(t,e){e||(e=8);for(var n=t.data,r=n.length,i=8-e,o=new Int32Array(1<>i]++;return o}function d(t,e){var n=function(t){var e,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:8,r=8-n;function i(t,n){for(var r=0,i=t;i<=n;i++)r+=e[i];return r}function o(t,n){for(var r=0,i=t;i<=n;i++)r+=i*e[i];return r}function s(){var r,s,a,c,u=[0],h=(1<l)for((o=c[a]).score=i,o.item=t[r],l=Number.MAX_VALUE,s=0;s1&&void 0!==arguments[1]?arguments[1]:[0,0,0],n=t[0],r=t[1],i=t[2],o=i*r,s=o*(1-Math.abs(n/60%2-1)),a=i-o,l=0,c=0,u=0;return n<60?(l=o,c=s):n<120?(l=s,c=o):n<180?(c=o,u=s):n<240?(c=s,u=o):n<300?(l=s,u=o):n<360&&(l=o,u=s),e[0]=255*(l+a)|0,e[1]=255*(c+a)|0,e[2]=255*(u+a)|0,e}function x(t){for(var e=[],n=[],r=1;re[r]?r++:n++;return i}(r,i),a=[8,10,15,20,32,60,80],l={"x-small":5,small:4,medium:3,large:2,"x-large":1},c=l[t]||l.medium,u=a[c],h=Math.floor(o/u);function f(t){for(var e=0,n=t[Math.floor(t.length/2)];e0&&(n=Math.abs(t[e]-h)>Math.abs(t[e-1]-h)?t[e-1]:t[e]),h/na[c-1]/a[c]?{x:n,y:n}:null}return(n=f(s))||(n=f(x(o)))||(n=f(x(h*u))),n}var w={top:function(t,e){return"%"===t.unit?Math.floor(e.height*(t.value/100)):null},right:function(t,e){return"%"===t.unit?Math.floor(e.width-e.width*(t.value/100)):null},bottom:function(t,e){return"%"===t.unit?Math.floor(e.height-e.height*(t.value/100)):null},left:function(t,e){return"%"===t.unit?Math.floor(e.width*(t.value/100)):null}};function k(t,e,n){var r={width:t,height:e},i=Object.keys(n).reduce((function(t,e){var i=function(t){return{value:parseFloat(t),unit:(t.indexOf("%"),t.length,"%")}}(n[e]),o=w[e](i,r);return t[e]=o,t}),{});return{sx:i.left,sy:i.top,sw:i.right-i.left,sh:i.bottom-i.top}}},function(t,e,n){"use strict";var r=n(83),i=n.n(r),o=n(3),s=n.n(o),a=n(4),l=n.n(a),c=n(0),u=n.n(c),h=n(7),f=n(9),d=n(8),p={clone:h.clone};function g(t){if(t<0)throw new Error("expected positive number, received ".concat(t))}var m=function(){function t(e,n){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:Uint8Array,i=arguments.length>3?arguments[3]:void 0;s()(this,t),u()(this,"data",void 0),u()(this,"size",void 0),u()(this,"indexMapping",void 0),n?this.data=n:(this.data=new r(e.x*e.y),i&&d.a.init(this.data,0)),this.size=e}return l()(t,[{key:"inImageWithBorder",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;return g(e),t.x>=0&&t.y>=0&&t.x0&&((s=g[r-1]).m00+=1,s.m01+=n,s.m10+=e,s.m11+=e*n,s.m02+=i,s.m20+=e*e);for(o=0;o=0?y:-y)+v,s.theta=(180*u/v+90)%180-90,s.theta<0&&(s.theta+=180),s.rad=u>v?u-v:u,s.vec=p.clone([Math.cos(u),Math.sin(u)]),m.push(s));return m}},{key:"getAsRGBA",value:function(){for(var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:1,e=new Uint8ClampedArray(4*this.size.x*this.size.y),n=0;n1&&void 0!==arguments[1]?arguments[1]:1,n=t.getContext("2d");if(!n)throw new Error("Unable to get canvas context");var r=n.getImageData(0,0,t.width,t.height),i=this.getAsRGBA(e);t.width=this.size.x,t.height=this.size.y;var o=new ImageData(i,r.width,r.height);n.putImageData(o,0,0)}},{key:"overlay",value:function(t,e,n){var r=e<0||e>360?360:e,o=[0,1,1],s=[0,0,0],a=[255,255,255],l=[0,0,0],c=t.getContext("2d");if(!c)throw new Error("Unable to get canvas context");for(var u=c.getImageData(n.x,n.y,this.size.x,this.size.y),h=u.data,d=this.data.length;d--;){o[0]=this.data[d]*r;var p=4*d,g=o[0]<=0?a:o[0]>=360?l:Object(f.g)(o,s),m=i()(g,3);h[p]=m[0],h[p+1]=m[1],h[p+2]=m[2],h[p+3]=255}c.putImageData(u,n.x,n.y)}}]),t}();e.a=m},function(t,e,n){t.exports=n(228)},function(t,e,n){var r=n(227);function i(e,n,o){return"undefined"!=typeof Reflect&&Reflect.get?(t.exports=i=Reflect.get,t.exports.default=t.exports,t.exports.__esModule=!0):(t.exports=i=function(t,e,n){var i=r(t,e);if(i){var o=Object.getOwnPropertyDescriptor(i,e);return o.get?o.get.call(n):o.value}},t.exports.default=t.exports,t.exports.__esModule=!0),i(e,n,o||e)}t.exports=i,t.exports.default=t.exports,t.exports.__esModule=!0},function(t,e){t.exports=function(t){var e=typeof t;return null!=t&&("object"==e||"function"==e)}},function(t,e){var n=Array.isArray;t.exports=n},function(t,e,n){"use strict";e.a={drawRect:function(t,e,n,r){n.strokeStyle=r.color,n.fillStyle=r.color,n.lineWidth=r.lineWidth||1,n.beginPath(),n.strokeRect(t.x,t.y,e.x,e.y)},drawPath:function(t,e,n,r){n.strokeStyle=r.color,n.fillStyle=r.color,n.lineWidth=r.lineWidth,n.beginPath(),n.moveTo(t[0][e.x],t[0][e.y]);for(var i=1;if&&(f=o.box[i][0]),o.box[i][1]d&&(d=o.box[i][1]);for(a=[[c,u],[f,u],[f,d],[c,d]],l=r.halfSample?2:1,s=m.invert(s,s),i=0;i<4;i++)g.transformMat2(a[i],a[i],s);for(i=0;i<4;i++)g.scale(a[i],a[i],l);return a}function O(t,e){h.subImageAsCopy(s,Object(y.h)(t,e)),p.skeletonize()}function A(t,e,n,r){var i,o,a,l,c=[],u=[],h=Math.ceil(f.x/3);if(t.length>=2){for(i=0;ih&&c.push(t[i]);if(c.length>=2){for(a=function(t){var e=Object(y.b)(t,.9),n=Object(y.j)(e,1,(function(t){return t.getPoints().length})),r=[],i=[];if(1===n.length){r=n[0].item.getPoints();for(var o=0;o1&&a.length>=c.length/4*3&&a.length>t.length/4&&(o/=a.length,l={index:e[1]*C.x+e[0],pos:{x:n,y:r},box:[g.clone([n,r]),g.clone([n+s.size.x,r]),g.clone([n+s.size.x,r+s.size.y]),g.clone([n,r+s.size.y])],moments:a,rad:o,vec:g.clone([Math.cos(o),Math.sin(o)])},u.push(l))}}return u}e.a={init:function(e,n){r=n,d=e,function(){i=r.halfSample?new v.a({x:d.size.x/2|0,y:d.size.y/2|0}):d,f=Object(y.a)(r.patchSize,i.size),C.x=i.size.x/f.x|0,C.y=i.size.y/f.y|0,h=new v.a(i.size,void 0,Uint8Array,!1),a=new v.a(f,void 0,Array,!0);var e=new ArrayBuffer(65536);s=new v.a(f,new Uint8Array(e,0,f.x*f.y)),o=new v.a(f,new Uint8Array(e,f.x*f.y*3,f.x*f.y),void 0,!0),p=Object(w.a)("undefined"!=typeof window?window:"undefined"!=typeof self?self:t,{size:f.x},e),u=new v.a({x:i.size.x/s.size.x|0,y:i.size.y/s.size.y|0},void 0,Array,!0),l=new v.a(u.size,void 0,void 0,!0),c=new v.a(u.size,void 0,Int32Array,!0)}(),r.useWorker||"undefined"==typeof document||(k.dom.binary=document.createElement("canvas"),k.dom.binary.className="binaryBuffer",k.ctx.binary=k.dom.binary.getContext("2d"),k.dom.binary.width=h.size.x,k.dom.binary.height=h.size.y)},locate:function(){r.halfSample&&Object(y.f)(d,i),Object(y.i)(i,h),h.zeroBorder();var t=function(){var t,e,n,r,i,l,c=[];for(t=0;t.95&&s(o):c.data[o]=Number.MAX_VALUE}for(b.a.init(l.data,0),b.a.init(c.data,0),b.a.init(u.data,null),e=0;e0&&r[c.data[n]-1]++;return(r=r.map((function(t,e){return{val:t,label:e+1}}))).sort((function(t,e){return e.val-t.val})),r.filter((function(t){return t.val>=5}))}(e);return 0===n.length?null:function(t,e){var n,r,i,o,s=[],a=[];for(n=0;n-1&&t%1==0&&t-1&&t%1==0&&t<=9007199254740991}},function(t,e){function n(e,r){return t.exports=n=Object.setPrototypeOf||function(t,e){return t.__proto__=e,t},t.exports.default=t.exports,t.exports.__esModule=!0,n(e,r)}t.exports=n,t.exports.default=t.exports,t.exports.__esModule=!0},function(t,e,n){var r=n(22),i=n(18);t.exports=function(t){return"symbol"==typeof t||i(t)&&"[object Symbol]"==r(t)}},function(t,e,n){var r=n(42);t.exports=function(t){if("string"==typeof t||r(t))return t;var e=t+"";return"0"==e&&1/t==-1/0?"-0":e}},function(t,e,n){var r=n(35)(n(17),"Map");t.exports=r},function(t,e,n){(function(e){var n="object"==typeof e&&e&&e.Object===Object&&e;t.exports=n}).call(this,n(46))},function(t,e){var n;n=function(){return this}();try{n=n||new Function("return this")()}catch(t){"object"==typeof window&&(n=window)}t.exports=n},function(t,e,n){var r=n(109),i=n(116),o=n(118),s=n(119),a=n(120);function l(t){var e=-1,n=null==t?0:t.length;for(this.clear();++et.length)&&(e=t.length);for(var n=0,r=new Array(e);n0&&(o=1/Math.sqrt(o),t[0]=e[0]*o,t[1]=e[1]*o,t[2]=e[2]*o),t}},function(t,e){t.exports=function(t,e){return t[0]*e[0]+t[1]*e[1]+t[2]*e[2]}},function(t,e){t.exports=function(t,e,n){return t[0]=e[0]-n[0],t[1]=e[1]-n[1],t[2]=e[2]-n[2],t}},function(t,e){t.exports=function(t,e,n){return t[0]=e[0]*n[0],t[1]=e[1]*n[1],t[2]=e[2]*n[2],t}},function(t,e){t.exports=function(t,e,n){return t[0]=e[0]/n[0],t[1]=e[1]/n[1],t[2]=e[2]/n[2],t}},function(t,e){t.exports=function(t,e){var n=e[0]-t[0],r=e[1]-t[1],i=e[2]-t[2];return Math.sqrt(n*n+r*r+i*i)}},function(t,e){t.exports=function(t,e){var n=e[0]-t[0],r=e[1]-t[1],i=e[2]-t[2];return n*n+r*r+i*i}},function(t,e){t.exports=function(t){var e=t[0],n=t[1],r=t[2];return Math.sqrt(e*e+n*n+r*r)}},function(t,e){t.exports=function(t){var e=t[0],n=t[1],r=t[2];return e*e+n*n+r*r}},function(t,e,n){var r=n(153),i=n(154),o=n(60),s=n(155);t.exports=function(t,e){return r(t)||i(t,e)||o(t,e)||s()},t.exports.default=t.exports,t.exports.__esModule=!0},function(t,e,n){t.exports={EPSILON:n(71),create:n(72),clone:n(191),angle:n(192),fromValues:n(73),copy:n(193),set:n(194),equals:n(195),exactEquals:n(196),add:n(197),subtract:n(76),sub:n(198),multiply:n(77),mul:n(199),divide:n(78),div:n(200),min:n(201),max:n(202),floor:n(203),ceil:n(204),round:n(205),scale:n(206),scaleAndAdd:n(207),distance:n(79),dist:n(208),squaredDistance:n(80),sqrDist:n(209),length:n(81),len:n(210),squaredLength:n(82),sqrLen:n(211),negate:n(212),inverse:n(213),normalize:n(74),dot:n(75),cross:n(214),lerp:n(215),random:n(216),transformMat4:n(217),transformMat3:n(218),transformQuat:n(219),rotateX:n(220),rotateY:n(221),rotateZ:n(222),forEach:n(223)}},function(t,e,n){var r=n(229),i=n(243)((function(t,e){return null==t?{}:r(t,e)}));t.exports=i},function(t,e,n){var r=n(2),i=n(41),o=n(248),s=n(249);function a(e){var n="function"==typeof Map?new Map:void 0;return t.exports=a=function(t){if(null===t||!o(t))return t;if("function"!=typeof t)throw new TypeError("Super expression must either be null or a function");if(void 0!==n){if(n.has(t))return n.get(t);n.set(t,e)}function e(){return s(t,arguments,r(this).constructor)}return e.prototype=Object.create(t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),i(e,t)},t.exports.default=t.exports,t.exports.__esModule=!0,a(e)}t.exports=a,t.exports.default=t.exports,t.exports.__esModule=!0},function(t,e,n){"use strict";var r=n(21),i={createContour2D:function(){return{dir:null,index:null,firstVertex:null,insideContours:null,nextpeer:null,prevpeer:null}},CONTOUR_DIR:{CW_DIR:0,CCW_DIR:1,UNKNOWN_DIR:2},DIR:{OUTSIDE_EDGE:-32767,INSIDE_EDGE:-32766},create:function(t,e){var n=t.data,o=e.data,s=t.size.x,a=t.size.y,l=r.a.create(t,e);return{rasterize:function(t){var e,r,c,u,h,f,d,p,g,m,v,y,b=[],x=0;for(y=0;y<400;y++)b[y]=0;for(b[0]=n[0],g=null,f=1;f0){s=s-1|0;r[n+s|0]=(r[t+s|0]|0)-(r[e+s|0]|0)|0}}function l(t,e,n){t|=0;e|=0;n|=0;var s=0;s=o(i,i)|0;while((s|0)>0){s=s-1|0;r[n+s|0]=r[t+s|0]|0|(r[e+s|0]|0)|0}}function c(t){t|=0;var e=0;var n=0;n=o(i,i)|0;while((n|0)>0){n=n-1|0;e=(e|0)+(r[t+n|0]|0)|0}return e|0}function u(t,e){t|=0;e|=0;var n=0;n=o(i,i)|0;while((n|0)>0){n=n-1|0;r[t+n|0]=e}}function h(t,e){t|=0;e|=0;var n=0;var o=0;var s=0;var a=0;var l=0;var c=0;var u=0;var h=0;for(n=1;(n|0)<(i-1|0);n=n+1|0){h=h+i|0;for(o=1;(o|0)<(i-1|0);o=o+1|0){a=h-i|0;l=h+i|0;c=o-1|0;u=o+1|0;s=(r[t+a+c|0]|0)+(r[t+a+u|0]|0)+(r[t+h+o|0]|0)+(r[t+l+c|0]|0)+(r[t+l+u|0]|0)|0;if((s|0)>(0|0)){r[e+h+o|0]=1}else{r[e+h+o|0]=0}}}}function f(t,e){t|=0;e|=0;var n=0;n=o(i,i)|0;while((n|0)>0){n=n-1|0;r[e+n|0]=r[t+n|0]|0}}function d(t){t|=0;var e=0;var n=0;for(e=0;(e|0)<(i-1|0);e=e+1|0){r[t+e|0]=0;r[t+n|0]=0;n=n+i-1|0;r[t+n|0]=0;n=n+1|0}for(e=0;(e|0)<(i|0);e=e+1|0){r[t+n|0]=0;n=n+1|0}}function p(){var t=0;var e=0;var n=0;var r=0;var p=0;var g=0;e=o(i,i)|0;n=e+e|0;r=n+e|0;u(r,0);d(t);do{s(t,e);h(e,n);a(t,n,n);l(r,n,r);f(e,t);p=c(t)|0;g=(p|0)==0|0}while(!g)}return{skeletonize:p}}},function(t,e,n){t.exports=n(263)},function(t,e,n){var r=n(91),i=n(48),o=n(121),s=n(123),a=n(13),l=n(56),c=n(54);t.exports=function t(e,n,u,h,f){e!==n&&o(n,(function(o,l){if(f||(f=new r),a(o))s(e,n,l,u,t,h,f);else{var d=h?h(c(e,l),o,l+"",e,n,f):void 0;void 0===d&&(d=o),i(e,l,d)}}),l)}},function(t,e,n){var r=n(24),i=n(97),o=n(98),s=n(99),a=n(100),l=n(101);function c(t){var e=this.__data__=new r(t);this.size=e.size}c.prototype.clear=i,c.prototype.delete=o,c.prototype.get=s,c.prototype.has=a,c.prototype.set=l,t.exports=c},function(t,e){t.exports=function(){this.__data__=[],this.size=0}},function(t,e,n){var r=n(25),i=Array.prototype.splice;t.exports=function(t){var e=this.__data__,n=r(e,t);return!(n<0||(n==e.length-1?e.pop():i.call(e,n,1),--this.size,0))}},function(t,e,n){var r=n(25);t.exports=function(t){var e=this.__data__,n=r(e,t);return n<0?void 0:e[n][1]}},function(t,e,n){var r=n(25);t.exports=function(t){return r(this.__data__,t)>-1}},function(t,e,n){var r=n(25);t.exports=function(t,e){var n=this.__data__,i=r(n,t);return i<0?(++this.size,n.push([t,e])):n[i][1]=e,this}},function(t,e,n){var r=n(24);t.exports=function(){this.__data__=new r,this.size=0}},function(t,e){t.exports=function(t){var e=this.__data__,n=e.delete(t);return this.size=e.size,n}},function(t,e){t.exports=function(t){return this.__data__.get(t)}},function(t,e){t.exports=function(t){return this.__data__.has(t)}},function(t,e,n){var r=n(24),i=n(44),o=n(47);t.exports=function(t,e){var n=this.__data__;if(n instanceof r){var s=n.__data__;if(!i||s.length<199)return s.push([t,e]),this.size=++n.size,this;n=this.__data__=new o(s)}return n.set(t,e),this.size=n.size,this}},function(t,e,n){var r=n(36),i=n(105),o=n(13),s=n(107),a=/^\[object .+?Constructor\]$/,l=Function.prototype,c=Object.prototype,u=l.toString,h=c.hasOwnProperty,f=RegExp("^"+u.call(h).replace(/[\\^$.*+?()[\]{}|]/g,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");t.exports=function(t){return!(!o(t)||i(t))&&(r(t)?f:a).test(s(t))}},function(t,e,n){var r=n(27),i=Object.prototype,o=i.hasOwnProperty,s=i.toString,a=r?r.toStringTag:void 0;t.exports=function(t){var e=o.call(t,a),n=t[a];try{t[a]=void 0;var r=!0}catch(t){}var i=s.call(t);return r&&(e?t[a]=n:delete t[a]),i}},function(t,e){var n=Object.prototype.toString;t.exports=function(t){return n.call(t)}},function(t,e,n){var r,i=n(106),o=(r=/[^.]+$/.exec(i&&i.keys&&i.keys.IE_PROTO||""))?"Symbol(src)_1."+r:"";t.exports=function(t){return!!o&&o in t}},function(t,e,n){var r=n(17)["__core-js_shared__"];t.exports=r},function(t,e){var n=Function.prototype.toString;t.exports=function(t){if(null!=t){try{return n.call(t)}catch(t){}try{return t+""}catch(t){}}return""}},function(t,e){t.exports=function(t,e){return null==t?void 0:t[e]}},function(t,e,n){var r=n(110),i=n(24),o=n(44);t.exports=function(){this.size=0,this.__data__={hash:new r,map:new(o||i),string:new r}}},function(t,e,n){var r=n(111),i=n(112),o=n(113),s=n(114),a=n(115);function l(t){var e=-1,n=null==t?0:t.length;for(this.clear();++e1?n[o-1]:void 0,a=o>2?n[2]:void 0;for(s=t.length>3&&"function"==typeof s?(o--,s):void 0,a&&i(n[0],n[1],a)&&(s=o<3?void 0:s,o=1),e=Object(e);++r0){if(++e>=800)return arguments[0]}else e=0;return t.apply(void 0,arguments)}}},function(t,e,n){var r=n(26),i=n(39),o=n(31),s=n(13);t.exports=function(t,e,n){if(!s(n))return!1;var a=typeof e;return!!("number"==a?i(n)&&o(e,n.length):"string"==a&&e in n)&&r(n[e],t)}},function(t,e){"undefined"!=typeof window&&(window.requestAnimationFrame||(window.requestAnimationFrame=window.webkitRequestAnimationFrame||window.mozRequestAnimationFrame||window.oRequestAnimationFrame||window.msRequestAnimationFrame||function(t){window.setTimeout(t,1e3/60)})),"function"!=typeof Math.imul&&(Math.imul=function(t,e){var n=65535&t,r=65535&e;return n*r+((t>>>16&65535)*r+n*(e>>>16&65535)<<16>>>0)|0}),"function"!=typeof Object.assign&&(Object.assign=function(t){"use strict";if(null===t)throw new TypeError("Cannot convert undefined or null to object");for(var e=Object(t),n=1;n0&&(i=1/Math.sqrt(i),t[0]=e[0]*i,t[1]=e[1]*i),t}},function(t,e){t.exports=function(t,e){return t[0]*e[0]+t[1]*e[1]}},function(t,e){t.exports=function(t,e,n){var r=e[0]*n[1]-e[1]*n[0];return t[0]=t[1]=0,t[2]=r,t}},function(t,e){t.exports=function(t,e,n,r){var i=e[0],o=e[1];return t[0]=i+r*(n[0]-i),t[1]=o+r*(n[1]-o),t}},function(t,e){t.exports=function(t,e){e=e||1;var n=2*Math.random()*Math.PI;return t[0]=Math.cos(n)*e,t[1]=Math.sin(n)*e,t}},function(t,e){t.exports=function(t,e,n){var r=e[0],i=e[1];return t[0]=n[0]*r+n[2]*i,t[1]=n[1]*r+n[3]*i,t}},function(t,e){t.exports=function(t,e,n){var r=e[0],i=e[1];return t[0]=n[0]*r+n[2]*i+n[4],t[1]=n[1]*r+n[3]*i+n[5],t}},function(t,e){t.exports=function(t,e,n){var r=e[0],i=e[1];return t[0]=n[0]*r+n[3]*i+n[6],t[1]=n[1]*r+n[4]*i+n[7],t}},function(t,e){t.exports=function(t,e,n){var r=e[0],i=e[1];return t[0]=n[0]*r+n[4]*i+n[12],t[1]=n[1]*r+n[5]*i+n[13],t}},function(t,e,n){t.exports=function(t,e,n,i,o,s){var a,l;for(e||(e=2),n||(n=0),l=i?Math.min(i*e+n,t.length):t.length,a=n;an*n){var i=Math.sqrt(r);t[0]=e[0]/i*n,t[1]=e[1]/i*n}else t[0]=e[0],t[1]=e[1];return t}},function(t,e){t.exports=function(t){var e=new Float32Array(3);return e[0]=t[0],e[1]=t[1],e[2]=t[2],e}},function(t,e,n){t.exports=function(t,e){var n=r(t[0],t[1],t[2]),s=r(e[0],e[1],e[2]);i(n,n),i(s,s);var a=o(n,s);return a>1?0:Math.acos(a)};var r=n(73),i=n(74),o=n(75)},function(t,e){t.exports=function(t,e){return t[0]=e[0],t[1]=e[1],t[2]=e[2],t}},function(t,e){t.exports=function(t,e,n,r){return t[0]=e,t[1]=n,t[2]=r,t}},function(t,e,n){t.exports=function(t,e){var n=t[0],i=t[1],o=t[2],s=e[0],a=e[1],l=e[2];return Math.abs(n-s)<=r*Math.max(1,Math.abs(n),Math.abs(s))&&Math.abs(i-a)<=r*Math.max(1,Math.abs(i),Math.abs(a))&&Math.abs(o-l)<=r*Math.max(1,Math.abs(o),Math.abs(l))};var r=n(71)},function(t,e){t.exports=function(t,e){return t[0]===e[0]&&t[1]===e[1]&&t[2]===e[2]}},function(t,e){t.exports=function(t,e,n){return t[0]=e[0]+n[0],t[1]=e[1]+n[1],t[2]=e[2]+n[2],t}},function(t,e,n){t.exports=n(76)},function(t,e,n){t.exports=n(77)},function(t,e,n){t.exports=n(78)},function(t,e){t.exports=function(t,e,n){return t[0]=Math.min(e[0],n[0]),t[1]=Math.min(e[1],n[1]),t[2]=Math.min(e[2],n[2]),t}},function(t,e){t.exports=function(t,e,n){return t[0]=Math.max(e[0],n[0]),t[1]=Math.max(e[1],n[1]),t[2]=Math.max(e[2],n[2]),t}},function(t,e){t.exports=function(t,e){return t[0]=Math.floor(e[0]),t[1]=Math.floor(e[1]),t[2]=Math.floor(e[2]),t}},function(t,e){t.exports=function(t,e){return t[0]=Math.ceil(e[0]),t[1]=Math.ceil(e[1]),t[2]=Math.ceil(e[2]),t}},function(t,e){t.exports=function(t,e){return t[0]=Math.round(e[0]),t[1]=Math.round(e[1]),t[2]=Math.round(e[2]),t}},function(t,e){t.exports=function(t,e,n){return t[0]=e[0]*n,t[1]=e[1]*n,t[2]=e[2]*n,t}},function(t,e){t.exports=function(t,e,n,r){return t[0]=e[0]+n[0]*r,t[1]=e[1]+n[1]*r,t[2]=e[2]+n[2]*r,t}},function(t,e,n){t.exports=n(79)},function(t,e,n){t.exports=n(80)},function(t,e,n){t.exports=n(81)},function(t,e,n){t.exports=n(82)},function(t,e){t.exports=function(t,e){return t[0]=-e[0],t[1]=-e[1],t[2]=-e[2],t}},function(t,e){t.exports=function(t,e){return t[0]=1/e[0],t[1]=1/e[1],t[2]=1/e[2],t}},function(t,e){t.exports=function(t,e,n){var r=e[0],i=e[1],o=e[2],s=n[0],a=n[1],l=n[2];return t[0]=i*l-o*a,t[1]=o*s-r*l,t[2]=r*a-i*s,t}},function(t,e){t.exports=function(t,e,n,r){var i=e[0],o=e[1],s=e[2];return t[0]=i+r*(n[0]-i),t[1]=o+r*(n[1]-o),t[2]=s+r*(n[2]-s),t}},function(t,e){t.exports=function(t,e){e=e||1;var n=2*Math.random()*Math.PI,r=2*Math.random()-1,i=Math.sqrt(1-r*r)*e;return t[0]=Math.cos(n)*i,t[1]=Math.sin(n)*i,t[2]=r*e,t}},function(t,e){t.exports=function(t,e,n){var r=e[0],i=e[1],o=e[2],s=n[3]*r+n[7]*i+n[11]*o+n[15];return s=s||1,t[0]=(n[0]*r+n[4]*i+n[8]*o+n[12])/s,t[1]=(n[1]*r+n[5]*i+n[9]*o+n[13])/s,t[2]=(n[2]*r+n[6]*i+n[10]*o+n[14])/s,t}},function(t,e){t.exports=function(t,e,n){var r=e[0],i=e[1],o=e[2];return t[0]=r*n[0]+i*n[3]+o*n[6],t[1]=r*n[1]+i*n[4]+o*n[7],t[2]=r*n[2]+i*n[5]+o*n[8],t}},function(t,e){t.exports=function(t,e,n){var r=e[0],i=e[1],o=e[2],s=n[0],a=n[1],l=n[2],c=n[3],u=c*r+a*o-l*i,h=c*i+l*r-s*o,f=c*o+s*i-a*r,d=-s*r-a*i-l*o;return t[0]=u*c+d*-s+h*-l-f*-a,t[1]=h*c+d*-a+f*-s-u*-l,t[2]=f*c+d*-l+u*-a-h*-s,t}},function(t,e){t.exports=function(t,e,n,r){var i=n[1],o=n[2],s=e[1]-i,a=e[2]-o,l=Math.sin(r),c=Math.cos(r);return t[0]=e[0],t[1]=i+s*c-a*l,t[2]=o+s*l+a*c,t}},function(t,e){t.exports=function(t,e,n,r){var i=n[0],o=n[2],s=e[0]-i,a=e[2]-o,l=Math.sin(r),c=Math.cos(r);return t[0]=i+a*l+s*c,t[1]=e[1],t[2]=o+a*c-s*l,t}},function(t,e){t.exports=function(t,e,n,r){var i=n[0],o=n[1],s=e[0]-i,a=e[1]-o,l=Math.sin(r),c=Math.cos(r);return t[0]=i+s*c-a*l,t[1]=o+s*l+a*c,t[2]=e[2],t}},function(t,e,n){t.exports=function(t,e,n,i,o,s){var a,l;for(e||(e=3),n||(n=0),l=i?Math.min(i*e+n,t.length):t.length,a=n;a=0;--i){var o=this.tryEntries[i],s=o.completion;if("root"===o.tryLoc)return r("end");if(o.tryLoc<=this.prev){var a=n.call(o,"catchLoc"),l=n.call(o,"finallyLoc");if(a&&l){if(this.prev=0;--r){var i=this.tryEntries[r];if(i.tryLoc<=this.prev&&n.call(i,"finallyLoc")&&this.prev=0;--e){var n=this.tryEntries[e];if(n.finallyLoc===t)return this.complete(n.completion,n.afterLoc),_(n),c}},catch:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var n=this.tryEntries[e];if(n.tryLoc===t){var r=n.completion;if("throw"===r.type){var i=r.arg;_(n)}return i}}throw new Error("illegal catch attempt")},delegateYield:function(t,e,n){return this.delegate={iterator:k(t),resultName:e,nextLoc:n},"next"===this.method&&(this.arg=void 0),c}},t}(t.exports);try{regeneratorRuntime=r}catch(t){Function("r","regeneratorRuntime = r")(r)}},function(t,e,n){var r=n(230),i=n(240);t.exports=function(t,e){return r(t,e,(function(e,n){return i(t,n)}))}},function(t,e,n){var r=n(231),i=n(239),o=n(32);t.exports=function(t,e,n){for(var s=-1,a=e.length,l={};++s0&&o(u)?n>1?t(u,n-1,o,s,a):r(a,u):s||(a[a.length]=u)}return a}},function(t,e){t.exports=function(t,e){for(var n=-1,r=e.length,i=t.length;++nMath.abs(u-l),d=[],p=t.data,g=t.size.x,m=255,v=0;function y(t,e){a=p[e*g+t],m=av?a:v,d.push(a)}f&&(o=l,l=c,c=o,o=u,u=h,h=o),l>u&&(o=l,l=u,u=o,o=c,c=h,h=o);var b=u-l,x=Math.abs(h-c);r=b/2|0,i=c;var _=ch?u.UP:u.DOWN,f.push({pos:0,val:c[0]}),o=0;od&&c[o+1]>.5*h?u.UP:r)&&(f.push({pos:o,val:c[o]}),r=i);for(f.push({pos:c.length,val:c[c.length-1]}),s=f[0].pos;sh?0:1;for(o=1;of[o].val?f[o].val+(f[o+1].val-f[o].val)/3*2|0:f[o+1].val+(f[o].val-f[o+1].val)/3|0,s=f[o].pos;sd?0:1;return{line:c,threshold:d}},c.debug={printFrequency:function(t,e){var n,r=e.getContext("2d");for(e.width=t.length,e.height=256,r.beginPath(),r.strokeStyle="blue",n=0;n1&&void 0!==arguments[1]?arguments[1]:0;en)return Number.MAX_VALUE;i+=o}return i/a}},{key:"_nextSet",value:function(t){for(var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;e1&&(t[n[r]]=i)}},{key:"decodePattern",value:function(t){this._row=t;var e=this.decode();return null===e?(this._row.reverse(),(e=this.decode())&&(e.direction=h.Reverse,e.start=this._row.length-e.start,e.end=this._row.length-e.end)):e.direction=h.Forward,e&&(e.format=this.FORMAT),e}},{key:"_matchRange",value:function(t,e,n){var r;for(r=t=t<0?0:t;r0&&void 0!==arguments[0]?arguments[0]:this._nextUnset(this._row),e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this._row.length,n=!(arguments.length>2&&void 0!==arguments[2])||arguments[2],r=[],i=0;r[i]=0;for(var o=t;othis.AVG_CODE_ERROR?null:(this.CODE_PATTERN[n.code]&&(n.correction.bar=this.calculateCorrection(this.CODE_PATTERN[n.code],r,this.MODULE_INDICES.bar),n.correction.space=this.calculateCorrection(this.CODE_PATTERN[n.code],r,this.MODULE_INDICES.space)),n)}r[++s]=1,o=!o}return null}},{key:"_correct",value:function(t,e){this._correctBars(t,e.bar,this.MODULE_INDICES.bar),this._correctBars(t,e.space,this.MODULE_INDICES.space)}},{key:"_findStart",value:function(){for(var t=[0,0,0,0,0,0],e=this._nextSet(this._row),n={error:Number.MAX_VALUE,code:-1,start:0,end:0,correction:{bar:1,space:1}},r=!1,i=0,o=e;o.48?null:i}n[++s]=1,o=!o}return null}},{key:"_findStart",value:function(){for(var t=this._nextSet(this._row),e=null;!e;){if(!(e=this._findPattern(j,t,!1,!0)))return null;var n=e.start-(e.end-e.start);if(n>=0&&this._matchRange(n,e.start,0))return e;t=e.end,e=null}return null}},{key:"_calculateFirstDigit",value:function(t){for(var e=0;e=10?(r.code-=10,i|=1<<5-o):i|=0<<5-o,e.push(r.code),n.push(r)}var s=this._calculateFirstDigit(i);if(null===s)return null;e.unshift(s);var a=this._findPattern(I,r.end,!0,!1);if(null===a||!a.end)return null;n.push(a);for(var l=0;l<6;l++){if(!(a=this._decodeCode(a.end,10)))return null;n.push(a),e.push(a.code)}return a}},{key:"_verifyTrailingWhitespace",value:function(t){var e=t.end+(t.end-t.start);return e=0;n-=2)e+=t[n];e*=3;for(var r=t.length-1;r>=0;r-=2)e+=t[r];return e%10==0}},{key:"_decodeExtensions",value:function(t){var e=this._nextSet(this._row,t),n=this._findPattern(N,e,!1,!1);if(null===n)return null;for(var r=0;r0){var a=this._decodeExtensions(s.end);if(!a)return null;if(!a.decodedCodes)return null;var l=a.decodedCodes[a.decodedCodes.length-1],c={start:l.start+((l.end-l.start)/2|0),end:l.end};if(!this._verifyTrailingWhitespace(c))return null;i={supplement:a,code:n.join("")+a.code}}return R(R({code:n.join(""),start:o.start,end:s.end,startInfo:o,decodedCodes:r},i),{},{format:this.FORMAT})}}]),n}(T),W=n(33),H=n.n(W);function V(t){var e=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(t){return!1}}();return function(){var n,r=E()(t);if(e){var i=E()(this).constructor;n=Reflect.construct(r,arguments,i)}else n=r.apply(this,arguments);return k()(this,n)}}var q=new Uint16Array(H()("0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ-. *$/+%").map((function(t){return t.charCodeAt(0)}))),U=new Uint16Array([52,289,97,352,49,304,112,37,292,100,265,73,328,25,280,88,13,268,76,28,259,67,322,19,274,82,7,262,70,22,385,193,448,145,400,208,133,388,196,148,168,162,138,42]),$=function(t){_()(n,t);var e=V(n);function n(){var t;g()(this,n);for(var r=arguments.length,i=new Array(r),o=0;o3;){n=this._findNextWidth(t,n),r=0;for(var o=0,s=0;sn&&(o|=1<0;a++)if(t[a]>n&&(r--,2*t[a]>=i))return-1;return o}}return-1}},{key:"_findNextWidth",value:function(t,e){for(var n=Number.MAX_VALUE,r=0;re&&(n=t[r]);return n}},{key:"_patternToChar",value:function(t){for(var e=0;e=r}},{key:"decode",value:function(t,e){var n=new Uint16Array([0,0,0,0,0,0,0,0,0]),r=[];if(!(e=this._findStart()))return null;var i,o,s=this._nextSet(this._row,e.end);do{n=this._toCounters(s,n);var a=this._toPattern(n);if(a<0)return null;if(null===(i=this._patternToChar(a)))return null;r.push(i),o=s,s+=S.a.sum(n),s=this._nextSet(this._row,s)}while("*"!==i);return r.pop(),r.length&&this._verifyTrailingWhitespace(o,s,n)?{code:r.join(""),start:e.start,end:s,startInfo:e,decodedCodes:r,format:this.FORMAT}:null}}]),n}(T),Y=n(12),X=n.n(Y);function G(t){var e=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(t){return!1}}();return function(){var n,r=E()(t);if(e){var i=E()(this).constructor;n=Reflect.construct(r,arguments,i)}else n=r.apply(this,arguments);return k()(this,n)}}var K=/[IOQ]/g,Z=/[A-Z0-9]{17}/,Q=function(t){_()(n,t);var e=G(n);function n(){var t;g()(this,n);for(var r=arguments.length,i=new Array(r),o=0;or&&(r=i),ithis._counters.length)return-1;for(var n=this._computeAlternatingThreshold(t,e),r=this._computeAlternatingThreshold(t+1,e),i=64,o=0,s=0,a=0;a<7;a++)o=0==(1&a)?n:r,this._counters[t+a]>o&&(s|=i),i>>=1;return s}},{key:"_isStartEnd",value:function(t){for(var e=0;e=this._calculatePatternLength(t)/2)&&(e+8>=this._counters.length||this._counters[e+7]>=this._calculatePatternLength(e)/2)}},{key:"_charToPattern",value:function(t){for(var e=t.charCodeAt(0),n=0;n=0;s--){var a=2==(1&s)?r.bar:r.space,l=1==(1&n)?a.wide:a.narrow;l.size+=this._counters[i+s],l.counts++,n>>=1}i+=8}return["space","bar"].forEach((function(t){var e=r[t];e.wide.min=Math.floor((e.narrow.size/e.narrow.counts+e.wide.size/e.wide.counts)/2),e.narrow.max=Math.ceil(e.wide.min),e.wide.max=Math.ceil((2*e.wide.size+1.5)/e.wide.counts)})),r}},{key:"_validateResult",value:function(t,e){for(var n,r=this._thresholdResultPattern(t,e),i=e,o=0;o=0;s--){var a=0==(1&s)?r.bar:r.space,l=1==(1&n)?a.wide:a.narrow,c=this._counters[i+s];if(cl.max)return!1;n>>=1}i+=8}return!0}},{key:"decode",value:function(t,e){if(this._counters=this._fillCounters(),!(e=this._findStart()))return null;var n,r=e.startCounter,i=[];do{if((n=this._toPattern(r))<0)return null;var o=this._patternToChar(n);if(null===o)return null;if(i.push(o),r+=8,i.length>1&&this._isStartEnd(n))break}while(rthis._counters.length?this._counters.length:r;var s=e.start+this._sumCounters(e.startCounter,r-8);return{code:i.join(""),start:e.start,end:s,startInfo:e,decodedCodes:i,format:this.FORMAT}}}]),n}(T);function it(t){var e=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(t){return!1}}();return function(){var n,r=E()(t);if(e){var i=E()(this).constructor;n=Reflect.construct(r,arguments,i)}else n=r.apply(this,arguments);return k()(this,n)}}var ot=function(t){_()(n,t);var e=it(n);function n(){var t;g()(this,n);for(var r=arguments.length,i=new Array(r),o=0;o=10&&(n|=1<<1-l),1!==l&&(r=this._nextSet(this._row,a.end),r=this._nextUnset(this._row,r))}if(2!==o.length||parseInt(o.join(""))%4!==n)return null;var c=this._findStart();return{code:o.join(""),decodedCodes:s,end:a.end,format:this.FORMAT,startInfo:c,start:c.start}}}]),n}(F);function ut(t){var e=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(t){return!1}}();return function(){var n,r=E()(t);if(e){var i=E()(this).constructor;n=Reflect.construct(r,arguments,i)}else n=r.apply(this,arguments);return k()(this,n)}}var ht=[24,20,18,17,12,6,3,10,9,5],ft=function(t){_()(n,t);var e=ut(n);function n(){var t;g()(this,n);for(var r=arguments.length,i=new Array(r),o=0;o=10&&(n|=1<<4-l),4!==l&&(r=this._nextSet(this._row,o.end),r=this._nextUnset(this._row,r))}if(5!==s.length)return null;if(function(t){for(var e=t.length,n=0,r=e-2;r>=0;r-=2)n+=t[r];n*=3;for(var i=e-1;i>=0;i-=2)n+=t[i];return(n*=3)%10}(s)!==function(t){for(var e=0;e<10;e++)if(t===ht[e])return e;return null}(n))return null;var c=this._findStart();return{code:s.join(""),decodedCodes:a,end:o.end,format:this.FORMAT,startInfo:c,start:c.start}}}]),n}(F);function dt(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),n.push.apply(n,r)}return n}function pt(t){var e=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(t){return!1}}();return function(){var n,r=E()(t);if(e){var i=E()(this).constructor;n=Reflect.construct(r,arguments,i)}else n=r.apply(this,arguments);return k()(this,n)}}var gt=function(t){_()(n,t);var e=pt(n);function n(){var t;g()(this,n);for(var r=arguments.length,i=new Array(r),o=0;o=10&&(r.code=r.code-10,i|=1<<5-o),e.push(r.code),n.push(r)}return this._determineParity(i,e)?r:null}},{key:"_determineParity",value:function(t,e){for(var n=0;n2&&void 0!==arguments[2]&&arguments[2],r=arguments.length>3&&void 0!==arguments[3]&&arguments[3],i=new Array(t.length).fill(0),o=0,s={error:Number.MAX_VALUE,start:0,end:0},a=this.AVG_CODE_ERROR;n=n||!1,r=r||!1,e||(e=this._nextSet(this._row));for(var l=e;l=0&&this._matchRange(t,n.start,0))return n;e=n.end,n=null}return null}},{key:"_verifyTrailingWhitespace",value:function(t){var e=t.end+(t.end-t.start)/2;return e2&&void 0!==arguments[2]&&arguments[2],r=arguments.length>3&&void 0!==arguments[3]&&arguments[3],i=[],o=0,s={error:Number.MAX_VALUE,code:-1,start:0,end:0},a=0,l=0,c=this.AVG_CODE_ERROR;e||(e=this._nextSet(this._row));for(var u=0;u=0&&this._matchRange(r,t.start,0))return t;e=t.end,t=null}return t}},{key:"_verifyTrailingWhitespace",value:function(t){var e=t.end+(t.end-t.start)/2;return e4)return-1;if(0==(1&i))for(var s=0;s="a"&&i<="d"){if(r>e-2)return null;var o=t[++r],s=o.charCodeAt(0),a=void 0;switch(i){case"a":if(!(o>="A"&&o<="Z"))return null;a=String.fromCharCode(s-64);break;case"b":if(o>="A"&&o<="E")a=String.fromCharCode(s-38);else if(o>="F"&&o<="J")a=String.fromCharCode(s-11);else if(o>="K"&&o<="O")a=String.fromCharCode(s+16);else if(o>="P"&&o<="S")a=String.fromCharCode(s+43);else{if(!(o>="T"&&o<="Z"))return null;a=String.fromCharCode(127)}break;case"c":if(o>="A"&&o<="O")a=String.fromCharCode(s-32);else{if("Z"!==o)return null;a=":"}break;case"d":if(!(o>="A"&&o<="Z"))return null;a=String.fromCharCode(s+32);break;default:return console.warn("* code_93_reader _decodeExtended hit default case, this may be an error",a),null}n.push(a)}else n.push(i)}return n}},{key:"_matchCheckChar",value:function(t,e,n){var r=t.slice(0,e),i=r.length,o=r.reduce((function(t,e,r){return t+((-1*r+(i-1))%n+1)*Et.indexOf(e.charCodeAt(0))}),0);return Et[o%47]===t[e].charCodeAt(0)}},{key:"_verifyChecksums",value:function(t){return this._matchCheckChar(t,t.length-2,20)&&this._matchCheckChar(t,t.length-1,15)}},{key:"decode",value:function(t,e){if(!(e=this._findStart()))return null;var n,r,i=new Uint16Array([0,0,0,0,0,0]),o=[],s=this._nextSet(this._row,e.end);do{i=this._toCounters(s,i);var a=this._toPattern(i);if(a<0)return null;if(null===(r=this._patternToChar(a)))return null;o.push(r),n=s,s+=S.a.sum(i),s=this._nextSet(this._row,s)}while("*"!==r);return o.pop(),o.length&&this._verifyEnd(n,s)&&this._verifyChecksums(o)?(o=o.slice(0,o.length-2),null===(o=this._decodeExtended(o))?null:{code:o.join(""),start:e.start,end:s,startInfo:e,decodedCodes:o,format:this.FORMAT}):null}}]),n}(T);function St(t){var e=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(t){return!1}}();return function(){var n,r=E()(t);if(e){var i=E()(this).constructor;n=Reflect.construct(r,arguments,i)}else n=r.apply(this,arguments);return k()(this,n)}}var Tt=/[AEIO]/g,Mt=function(t){_()(n,t);var e=St(n);function n(){var t;g()(this,n);for(var r=arguments.length,i=new Array(r),o=0;o1&&(!e.inImageWithBorder(t[0])||!e.inImageWithBorder(t[1]));)i(-(r-=Math.ceil(r/2)));return t}(r,a,Math.floor(.1*o)))?null:(null===(i=s(r))&&(i=function(t,e,n){var r,i,o,a=Math.sqrt(Math.pow(t[1][0]-t[0][0],2)+Math.pow(t[1][1]-t[0][1],2)),l=null,c=Math.sin(n),u=Math.cos(n);for(r=1;r<16&&null===l;r++)o={y:(i=a/16*r*(r%2==0?-1:1))*c,x:i*u},e[0].y+=o.x,e[0].x-=o.y,e[1].y+=o.x,e[1].x-=o.y,l=s(e);return l}(t,r,a)),null===i?null:{codeResult:i.codeResult,line:r,angle:a,pattern:i.barcodeLine.line,threshold:i.barcodeLine.threshold})}return i(),{decodeFromBoundingBox:function(t){return a(t)},decodeFromBoundingBoxes:function(e){var n,r,i=[],o=t.multiple;for(n=0;n2&&void 0!==arguments[2]&&arguments[2],once:!0})},unsubscribe:function(n,r){if(n){var i=e(n);i.subscribers=i&&r?i.subscribers.filter((function(t){return t.callback!==r})):[]}else t={}}}}(),Lt=n(20),jt=n.n(Lt),It=n(11),Nt=n.n(It),Bt=n(85),zt=n.n(Bt),Ft=n(86);function Wt(t){var e=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(t){return!1}}();return function(){var n,r=E()(t);if(e){var i=E()(this).constructor;n=Reflect.construct(r,arguments,i)}else n=r.apply(this,arguments);return k()(this,n)}}var Ht,Vt=function(t){_()(n,t);var e=Wt(n);function n(t,r){var i;return g()(this,n),i=e.call(this,t),A()(b()(i),"code",void 0),i.code=r,Object.setPrototypeOf(b()(i),n.prototype),i}return n}(n.n(Ft)()(Error)),qt="This may mean that the user has declined camera access, or the browser does not support media APIs. If you are running in iOS, you must use Safari.";function Ut(){try{return navigator.mediaDevices.enumerateDevices()}catch(e){var t=new Vt("enumerateDevices is not defined. ".concat(qt),-1);return Promise.reject(t)}}function $t(t){try{return navigator.mediaDevices.getUserMedia(t)}catch(t){var e=new Vt("getUserMedia is not defined. ".concat(qt),-1);return Promise.reject(e)}}function Yt(t){return new Promise((function(e,n){var r=10;!function i(){r>0?t.videoWidth>10&&t.videoHeight>10?e():window.setTimeout(i,500):n(new Vt("Unable to play video stream. Is webcam working?",-1)),r--}()}))}function Xt(t,e){return Gt.apply(this,arguments)}function Gt(){return(Gt=jt()(Nt.a.mark((function t(e,n){var r;return Nt.a.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,$t(n);case 2:if(r=t.sent,Ht=r,!e){t.next=11;break}return e.setAttribute("autoplay","true"),e.setAttribute("muted","true"),e.setAttribute("playsinline","true"),e.srcObject=r,e.addEventListener("loadedmetadata",(function(){e.play()})),t.abrupt("return",Yt(e));case 11:return t.abrupt("return",Promise.resolve());case 12:case"end":return t.stop()}}),t)})))).apply(this,arguments)}function Kt(t){var e=zt()(t,["width","height","facingMode","aspectRatio","deviceId"]);return void 0!==t.minAspectRatio&&t.minAspectRatio>0&&(e.aspectRatio=t.minAspectRatio,console.log("WARNING: Constraint 'minAspectRatio' is deprecated; Use 'aspectRatio' instead")),void 0!==t.facing&&(e.facingMode=t.facing,console.log("WARNING: Constraint 'facing' is deprecated. Use 'facingMode' instead'")),e}function Zt(){var t=Kt(arguments.length>0&&void 0!==arguments[0]?arguments[0]:{});return t&&t.deviceId&&t.facingMode&&delete t.facingMode,Promise.resolve({audio:!1,video:t})}function Qt(){return(Qt=jt()(Nt.a.mark((function t(){var e;return Nt.a.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,Ut();case 2:return e=t.sent,t.abrupt("return",e.filter((function(t){return"videoinput"===t.kind})));case 4:case"end":return t.stop()}}),t)})))).apply(this,arguments)}function Jt(){if(!Ht)return null;var t=Ht.getVideoTracks();return t&&null!=t&&t.length?t[0]:null}var te={requestedVideoElement:null,request:function(t,e){return jt()(Nt.a.mark((function n(){var r;return Nt.a.wrap((function(n){for(;;)switch(n.prev=n.next){case 0:return te.requestedVideoElement=t,n.next=3,Zt(e);case 3:return r=n.sent,n.abrupt("return",Xt(t,r));case 5:case"end":return n.stop()}}),n)})))()},release:function(){var t=Ht&&Ht.getVideoTracks();return null!==te.requestedVideoElement&&te.requestedVideoElement.pause(),new Promise((function(e){setTimeout((function(){t&&t.length&&t[0].stop(),Ht=null,te.requestedVideoElement=null,e()}),0)}))},enumerateVideoDevices:function(){return Qt.apply(this,arguments)},getActiveStreamLabel:function(){var t=Jt();return t?t.label:""},getActiveTrack:Jt},ee=te,ne={create:function(t){var e,n=document.createElement("canvas"),r=n.getContext("2d"),i=[],o=null!==(e=t.capacity)&&void 0!==e?e:20,s=!0===t.capture;function a(e){return!!o&&e&&!function(t,e){return e&&e.some((function(e){return Object.keys(e).every((function(n){return e[n]===t[n]}))}))}(e,t.blacklist)&&function(t,e){return"function"!=typeof e||e(t)}(e,t.filter)}return{addResult:function(t,e,l){var c={};a(l)&&(o--,c.codeResult=l,s&&(n.width=e.x,n.height=e.y,d.a.drawImage(t,e,r),c.frame=n.toDataURL()),i.push(c))},getResults:function(){return i}}}},re={inputStream:{name:"Live",type:"LiveStream",constraints:{width:640,height:480,facingMode:"environment"},area:{top:"0%",right:"0%",left:"0%",bottom:"0%"},singleChannel:!1},locate:!0,numOfWorkers:4,decoder:{readers:["code_128_reader"]},locator:{halfSample:!0,patchSize:"medium"}},ie=n(7),oe=function t(){g()(this,t),A()(this,"config",void 0),A()(this,"inputStream",void 0),A()(this,"framegrabber",void 0),A()(this,"inputImageWrapper",void 0),A()(this,"stopped",!1),A()(this,"boxSize",void 0),A()(this,"resultCollector",void 0),A()(this,"decoder",void 0),A()(this,"workerPool",[]),A()(this,"onUIThread",!0),A()(this,"canvasContainer",new ae)},se=function t(){g()(this,t),A()(this,"image",void 0),A()(this,"overlay",void 0)},ae=function t(){g()(this,t),A()(this,"ctx",void 0),A()(this,"dom",void 0),this.ctx=new se,this.dom=new se},le=n(23);function ce(t){if("undefined"==typeof document)return null;if(t instanceof HTMLElement&&t.nodeName&&1===t.nodeType)return t;var e="string"==typeof t?t:"#interactive.viewport";return document.querySelector(e)}function ue(t,e){var n=function(t,e){var n=document.querySelector(t);return n||((n=document.createElement("canvas")).className=e),n}(t,e),r=n.getContext("2d");return{canvas:n,context:r}}function he(t){var e,n,r,i,o=ce(null==t||null===(e=t.config)||void 0===e||null===(n=e.inputStream)||void 0===n?void 0:n.target),s=null==t||null===(r=t.config)||void 0===r||null===(i=r.inputStream)||void 0===i?void 0:i.type;if(!s)return null;var a=function(t){if("undefined"!=typeof document){var e=ue("canvas.imgBuffer","imgBuffer"),n=ue("canvas.drawingBuffer","drawingBuffer");return e.canvas.width=n.canvas.width=t.x,e.canvas.height=n.canvas.height=t.y,{dom:{image:e.canvas,overlay:n.canvas},ctx:{image:e.context,overlay:n.context}}}return null}(t.inputStream.getCanvasSize());if(!a)return{dom:{image:null,overlay:null},ctx:{image:null,overlay:null}};var l=a.dom;return"undefined"!=typeof document&&o&&("ImageStream"!==s||o.contains(l.image)||o.appendChild(l.image),o.contains(l.overlay)||o.appendChild(l.overlay)),a}var fe={274:"orientation"},de=Object.keys(fe).map((function(t){return fe[t]}));function pe(t){return new Promise((function(e){var n=new FileReader;n.onload=function(t){return e(t.target.result)},n.readAsArrayBuffer(t)}))}function ge(t){return new Promise((function(e,n){var r=new XMLHttpRequest;r.open("GET",t,!0),r.responseType="blob",r.onreadystatechange=function(){r.readyState!==XMLHttpRequest.DONE||200!==r.status&&0!==r.status||e(this.response)},r.onerror=n,r.send()}))}function me(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:de,n=new DataView(t),r=t.byteLength,i=e.reduce((function(t,e){var n=Object.keys(fe).filter((function(t){return fe[t]===e}))[0];return n&&(t[n]=e),t}),{}),o=2;if(255!==n.getUint8(0)||216!==n.getUint8(1))return!1;for(;o1&&void 0!==arguments[1]?arguments[1]:de;return/^blob:/i.test(t)?ge(t).then(pe).then((function(t){return me(t,e)})):Promise.resolve(null)}(t,["orientation"]).then((function(t){c[0].tags=t,e(c)})).catch((function(t){console.log(t),e(c)})):e(c))},o=0;o0&&n.forEach((function(n){t.removeEventListener(e,n)}))}))},trigger:function(i,s){var c,u,h,f,d,p=o[i];if("canrecord"===i&&(f=t.videoWidth,d=t.videoHeight,e=null!==(u=r)&&void 0!==u&&u.size?f/d>1?r.size:Math.floor(f/d*r.size):f,n=null!==(h=r)&&void 0!==h&&h.size?f/d>1?Math.floor(d/f*r.size):r.size:d,a.x=e,a.y=n),p&&p.length>0)for(c=0;c0)for(n=0;n1?n.size:Math.floor(r/i*n.size):r,e=null!==(u=n)&&void 0!==u&&u.size?r/i>1?Math.floor(i/r*n.size):n.size:i,g.x=t,g.y=e,a=!0,o=0,setTimeout((function(){m("canrecord",[])}),0)}),1,c,null===(h=n)||void 0===h?void 0:h.sequence)},ended:function(){return h},setAttribute:function(){},getConfig:function(){return n},pause:function(){s=!0},play:function(){s=!1},setCurrentTime:function(t){o=t},addEventListener:function(t,e){-1!==f.indexOf(t)&&(d[t]||(d[t]=[]),d[t].push(e))},clearEventHandlers:function(){Object.keys(d).forEach((function(t){return delete d[t]}))},setTopRight:function(t){p.x=t.x,p.y=t.y},getTopRight:function(){return p},setCanvasSize:function(t){g.x=t.x,g.y=t.y},getCanvasSize:function(){return g},getFrame:function(){var t,e;return a?(s||(t=null===(e=l)||void 0===e?void 0:e[o],o=t&&r&&r()};if(e)for(var s=0;s0&&void 0!==arguments[0]?arguments[0]:"LiveStream",e=arguments.length>1?arguments[1]:void 0,n=arguments.length>2?arguments[2]:void 0;switch(t){case"VideoStream":var r=document.createElement("video");return{video:r,inputStream:n.createVideoStream(r)};case"ImageStream":return{inputStream:n.createImageStream()};case"LiveStream":var i=null;return e&&((i=e.querySelector("video"))||(i=document.createElement("video"),e.appendChild(i))),{video:i,inputStream:n.createLiveStream(i)};default:return console.error("* setupInputStream invalid type ".concat(t)),{video:null,inputStream:null}}}(n,this.getViewPort(),ke),o=i.video,s=i.inputStream;"LiveStream"===n&&o&&ee.request(o,r).then((function(){return s.trigger("canrecord")})).catch((function(e){return t(e)})),s.setAttribute("preload","auto"),s.setInputStream(this.context.config.inputStream),s.addEventListener("canrecord",this.canRecord.bind(void 0,t)),this.context.inputStream=s}}},{key:"getBoundingBoxes",value:function(){var t;return null!==(t=this.context.config)&&void 0!==t&&t.locate?le.a.locate():[[Object(ie.clone)(this.context.boxSize[0]),Object(ie.clone)(this.context.boxSize[1]),Object(ie.clone)(this.context.boxSize[2]),Object(ie.clone)(this.context.boxSize[3])]]}},{key:"transformResult",value:function(t){var e=this,n=this.context.inputStream.getTopRight(),r=n.x,i=n.y;if((0!==r||0!==i)&&(t.barcodes&&t.barcodes.forEach((function(t){return e.transformResult(t)})),t.line&&2===t.line.length&&function(t,e,n){t[0].x+=e,t[0].y+=n,t[1].x+=e,t[1].y+=n}(t.line,r,i),t.box&&je(t.box,r,i),t.boxes&&t.boxes.length>0))for(var o=0;o0&&void 0!==arguments[0]?arguments[0]:null,e=arguments.length>1?arguments[1]:void 0,n=t;t&&this.context.onUIThread&&(this.transformResult(t),this.addResult(t,e),n=t.barcodes||t),Rt.publish("processed",n),this.hasCodeResult(t)&&Rt.publish("detected",n)}},{key:"locateAndDecode",value:function(){var t=this.getBoundingBoxes();if(t){var e,n=this.context.decoder.decodeFromBoundingBoxes(t)||{};n.boxes=t,this.publishResult(n,null===(e=this.context.inputImageWrapper)||void 0===e?void 0:e.data)}else{var r,i=this.context.decoder.decodeFromImage(this.context.inputImageWrapper);i?this.publishResult(i,null===(r=this.context.inputImageWrapper)||void 0===r?void 0:r.data):this.publishResult()}}},{key:"startContinuousUpdate",value:function(){var t,e=this,n=null,r=1e3/((null===(t=this.context.config)||void 0===t?void 0:t.frequency)||60);this.context.stopped=!1;var i=this.context;!function t(o){n=n||o,i.stopped||(o>=n&&(n+=r,e.update()),window.requestAnimationFrame(t))}(performance.now())}},{key:"start",value:function(){var t,e;this.context.onUIThread&&"LiveStream"===(null===(t=this.context.config)||void 0===t||null===(e=t.inputStream)||void 0===e?void 0:e.type)?this.startContinuousUpdate():this.update()}},{key:"stop",value:(e=jt()(Nt.a.mark((function t(){var e;return Nt.a.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(this.context.stopped=!0,Le(0),null===(e=this.context.config)||void 0===e||!e.inputStream||"LiveStream"!==this.context.config.inputStream.type){t.next=6;break}return t.next=5,ee.release();case 5:this.context.inputStream.clearEventHandlers();case 6:case"end":return t.stop()}}),t,this)}))),function(){return e.apply(this,arguments)})},{key:"setReaders",value:function(t){this.context.decoder&&this.context.decoder.setReaders(t),function(t){Me.forEach((function(e){return e.worker.postMessage({cmd:"setReaders",readers:t})}))}(t)}},{key:"registerReader",value:function(t,e){Pt.registerReader(t,e),this.context.decoder&&this.context.decoder.registerReader(t,e),function(t,e){Me.forEach((function(n){return n.worker.postMessage({cmd:"registerReader",name:t,reader:e})}))}(t,e)}}]),t}(),Ne=new Ie,Be=Ne.context,ze={init:function(t,e,n){var r,i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:Ne;return e||(r=new Promise((function(t,n){e=function(e){e?n(e):t()}}))),i.context.config=a()({},re,t),i.context.config.numOfWorkers>0&&(i.context.config.numOfWorkers=0),n?(i.context.onUIThread=!1,i.initializeData(n),e&&e()):i.initInputStream(e),r},start:function(){return Ne.start()},stop:function(){return Ne.stop()},pause:function(){Be.stopped=!0},onDetected:function(t){t&&("function"==typeof t||"object"===o()(t)&&t.callback)?Rt.subscribe("detected",t):console.trace("* warning: Quagga.onDetected called with invalid callback, ignoring")},offDetected:function(t){Rt.unsubscribe("detected",t)},onProcessed:function(t){t&&("function"==typeof t||"object"===o()(t)&&t.callback)?Rt.subscribe("processed",t):console.trace("* warning: Quagga.onProcessed called with invalid callback, ignoring")},offProcessed:function(t){Rt.unsubscribe("processed",t)},setReaders:function(t){t?Ne.setReaders(t):console.trace("* warning: Quagga.setReaders called with no readers, ignoring")},registerReader:function(t,e){t?e?Ne.registerReader(t,e):console.trace("* warning: Quagga.registerReader called with no reader, ignoring"):console.trace("* warning: Quagga.registerReader called with no name, ignoring")},registerResultCollector:function(t){t&&"function"==typeof t.addResult&&(Be.resultCollector=t)},get canvas(){return Be.canvasContainer},decodeSingle:function(t,e){var n=this,r=new Ie;return(t=a()({inputStream:{type:"ImageStream",sequence:!1,size:800,src:t.src},numOfWorkers:1,locator:{halfSample:!1}},t)).numOfWorkers>0&&(t.numOfWorkers=0),t.numOfWorkers>0&&("undefined"==typeof Blob||"undefined"==typeof Worker)&&(console.warn("* no Worker and/or Blob support - forcing numOfWorkers to 0"),t.numOfWorkers=0),new Promise((function(i,o){try{n.init(t,(function(){Rt.once("processed",(function(t){r.stop(),e&&e.call(null,t),i(t)}),!0),r.start()}),null,r)}catch(t){o(t)}}))},get default(){return ze},Readers:r,CameraAccess:ee,ImageDebug:d.a,ImageWrapper:l.a,ResultCollector:ne};e.default=ze}]).default},955:function(t){t.exports=function(){"use strict";var t=function(t){return e(t)&&!n(t)};function e(t){return!!t&&"object"==typeof t}function n(t){var e=Object.prototype.toString.call(t);return"[object RegExp]"===e||"[object Date]"===e||i(t)}var r="function"==typeof Symbol&&Symbol.for?Symbol.for("react.element"):60103;function i(t){return t.$$typeof===r}function o(t){return Array.isArray(t)?[]:{}}function s(t,e){return!1!==e.clone&&e.isMergeableObject(t)?p(o(t),t,e):t}function a(t,e,n){return t.concat(e).map((function(t){return s(t,n)}))}function l(t,e){if(!e.customMerge)return p;var n=e.customMerge(t);return"function"==typeof n?n:p}function c(t){return Object.getOwnPropertySymbols?Object.getOwnPropertySymbols(t).filter((function(e){return t.propertyIsEnumerable(e)})):[]}function u(t){return Object.keys(t).concat(c(t))}function h(t,e){try{return e in t}catch(t){return!1}}function f(t,e){return h(t,e)&&!(Object.hasOwnProperty.call(t,e)&&Object.propertyIsEnumerable.call(t,e))}function d(t,e,n){var r={};return n.isMergeableObject(t)&&u(t).forEach((function(e){r[e]=s(t[e],n)})),u(e).forEach((function(i){f(t,i)||(h(t,i)&&n.isMergeableObject(e[i])?r[i]=l(i,n)(t[i],e[i],n):r[i]=s(e[i],n))})),r}function p(e,n,r){(r=r||{}).arrayMerge=r.arrayMerge||a,r.isMergeableObject=r.isMergeableObject||t,r.cloneUnlessOtherwiseSpecified=s;var i=Array.isArray(n);return i===Array.isArray(e)?i?r.arrayMerge(e,n,r):d(e,n,r):s(n,r)}p.all=function(t,e){if(!Array.isArray(t))throw new Error("first argument should be an array");return t.reduce((function(t,n){return p(t,n,e)}),{})};var g=p,m=function(){function t(){this.options={timeout:5e3,fps:30,position:"top-right",direction:"top",style:{position:"fixed",maxWidth:"304px",width:"100%",zIndex:999999,transition:"0.8s"}}}return t.prototype.render=function(e){var n=e.notification,r=t.stringToHTML(e.template||"");if(r){var i=JSON.parse(JSON.stringify(this.options));Array.isArray(n.options)||(i=g(i,n.options)),r.style.transition=i.style.transition,void 0!==n.options&&void 0!==n.options.position&&(i.position=n.options.position);var o=document.getElementById("flasher-container-"+i.position);if(null===o){switch((o=document.createElement("div")).id="flasher-container-"+i.position,Object.keys(i.style).forEach((function(t){o.style.setProperty(t,i.style[t])})),o.style.maxWidth=i.style.maxWidth,i.position){case"top-left":o.style.top=i.style.top||"0",o.style.left=i.style.left||"0.5em";break;case"top-right":o.style.top=i.style.top||"0",o.style.right=i.style.right||"0.5em";break;case"bottom-left":o.style.bottom=i.style.bottom||"0",o.style.left=i.style.left||"0.5em";break;default:o.style.bottom=i.style.bottom||"0",o.style.right=i.style.right||"0.5em"}document.getElementsByTagName("body")[0].appendChild(o)}"top"===i.direction?o.insertBefore(r,o.firstChild):o.appendChild(r),r.addEventListener("click",(function(){r.style.transform="scale(1.05)",setTimeout((function(){r.remove()}),200)}));var s=r.querySelector(".fl-progress-bar");if(s instanceof HTMLElement&&i.timeout>0){var a=document.createElement("div");a.classList.add("fl-progress"),s.appendChild(a);var l,c=0,u=1e3/i.fps,h=function(){var t=100*(1-u*((c+=1)/i.timeout));a.style.width=t+"%",t<=0&&(r.style.opacity="0",clearInterval(l),setTimeout((function(){r.remove()}),900))};l=setInterval(h,u),r.addEventListener("mouseover",(function(){clearInterval(l)})),r.addEventListener("mouseout",(function(){l=setInterval(h,u)}))}}},t.prototype.renderOptions=function(t){this.options=g(this.options,t)},t.stringToHTML=function(t){var e=function(){if(!DOMParser)return!1;var t=new DOMParser;try{t.parseFromString("x","text/html")}catch(t){return!1}return!0}();if(e)return(new DOMParser).parseFromString(t,"text/html").body.firstChild;var n=document.createElement("div");return n.innerHTML=t,n.firstElementChild},t}(),v=function(){function t(){this.factories=new Map}return t.getInstance=function(){return t.instance||(t.instance=new t),t.instance},t.prototype.render=function(t){var e=this;this.addStyles(t.styles,(function(){e.addScripts(t.scripts,(function(){e.renderOptions(t.options),e.renderEnvelopes(t.envelopes,t.context)}))}))},t.prototype.addStyles=function(t,e){var n=this;if(0!==t.length)if(null===document.querySelector('link[href="'+t[0]+'"]')){var r=document.createElement("link");r.setAttribute("href",t[0]),r.setAttribute("type","text/css"),r.setAttribute("rel","stylesheet"),r.onload=function(){return n.addStyles(t.slice(1),e)},document.head.appendChild(r)}else this.addStyles(t.slice(1),e);else"function"==typeof e&&e()},t.prototype.addScripts=function(t,e){var n=this;if(0!==t.length)if(null===document.querySelector('script[src="'+t[0]+'"]')){var r=document.createElement("script");r.setAttribute("src",t[0]),r.setAttribute("type","text/javascript"),r.onload=function(){return n.addScripts(t.slice(1),e)},document.body.appendChild(r)}else this.addScripts(t.slice(1),e);else"function"==typeof e&&e()},t.prototype.renderOptions=function(t){var e=this;Object.entries(t).forEach((function(t){var n=t[0],r=t[1],i=e.create(n);void 0!==i&&i.renderOptions(r)}))},t.prototype.renderEnvelopes=function(e,n){var r=this,i=new Map;e.forEach((function(e){e.context=n;var o=r.create(e.handler);void 0!==o&&(t.isQueueable(o)?(i.get(e.handler)||o.resetQueue(),o.addEnvelope(e),i.set(e.handler,o)):o.render(e))})),i.forEach((function(t){t.renderQueue()}))},t.prototype.create=function(t){return 0!==t.indexOf("template.")||this.factories.has(t)||this.addFactory(t,new m),this.factories.get(t)},t.prototype.addFactory=function(t,e){this.factories.set(t,e)},t.isQueueable=function(t){return"function"==typeof t.addEnvelope&&"function"==typeof t.renderQueue},t}();return v.getInstance().addFactory("template",new m),v}()},669:(t,e,n)=>{t.exports=n(609)},448:(t,e,n)=>{"use strict";var r=n(867),i=n(26),o=n(372),s=n(327),a=n(97),l=n(109),c=n(985),u=n(61),h=n(655),f=n(263);t.exports=function(t){return new Promise((function(e,n){var d,p=t.data,g=t.headers,m=t.responseType;function v(){t.cancelToken&&t.cancelToken.unsubscribe(d),t.signal&&t.signal.removeEventListener("abort",d)}r.isFormData(p)&&delete g["Content-Type"];var y=new XMLHttpRequest;if(t.auth){var b=t.auth.username||"",x=t.auth.password?unescape(encodeURIComponent(t.auth.password)):"";g.Authorization="Basic "+btoa(b+":"+x)}var _=a(t.baseURL,t.url);function w(){if(y){var r="getAllResponseHeaders"in y?l(y.getAllResponseHeaders()):null,o={data:m&&"text"!==m&&"json"!==m?y.response:y.responseText,status:y.status,statusText:y.statusText,headers:r,config:t,request:y};i((function(t){e(t),v()}),(function(t){n(t),v()}),o),y=null}}if(y.open(t.method.toUpperCase(),s(_,t.params,t.paramsSerializer),!0),y.timeout=t.timeout,"onloadend"in y?y.onloadend=w:y.onreadystatechange=function(){y&&4===y.readyState&&(0!==y.status||y.responseURL&&0===y.responseURL.indexOf("file:"))&&setTimeout(w)},y.onabort=function(){y&&(n(u("Request aborted",t,"ECONNABORTED",y)),y=null)},y.onerror=function(){n(u("Network Error",t,null,y)),y=null},y.ontimeout=function(){var e=t.timeout?"timeout of "+t.timeout+"ms exceeded":"timeout exceeded",r=t.transitional||h.transitional;t.timeoutErrorMessage&&(e=t.timeoutErrorMessage),n(u(e,t,r.clarifyTimeoutError?"ETIMEDOUT":"ECONNABORTED",y)),y=null},r.isStandardBrowserEnv()){var k=(t.withCredentials||c(_))&&t.xsrfCookieName?o.read(t.xsrfCookieName):void 0;k&&(g[t.xsrfHeaderName]=k)}"setRequestHeader"in y&&r.forEach(g,(function(t,e){void 0===p&&"content-type"===e.toLowerCase()?delete g[e]:y.setRequestHeader(e,t)})),r.isUndefined(t.withCredentials)||(y.withCredentials=!!t.withCredentials),m&&"json"!==m&&(y.responseType=t.responseType),"function"==typeof t.onDownloadProgress&&y.addEventListener("progress",t.onDownloadProgress),"function"==typeof t.onUploadProgress&&y.upload&&y.upload.addEventListener("progress",t.onUploadProgress),(t.cancelToken||t.signal)&&(d=function(t){y&&(n(!t||t&&t.type?new f("canceled"):t),y.abort(),y=null)},t.cancelToken&&t.cancelToken.subscribe(d),t.signal&&(t.signal.aborted?d():t.signal.addEventListener("abort",d))),p||(p=null),y.send(p)}))}},609:(t,e,n)=>{"use strict";var r=n(867),i=n(849),o=n(321),s=n(185);var a=function t(e){var n=new o(e),a=i(o.prototype.request,n);return r.extend(a,o.prototype,n),r.extend(a,n),a.create=function(n){return t(s(e,n))},a}(n(655));a.Axios=o,a.Cancel=n(263),a.CancelToken=n(972),a.isCancel=n(502),a.VERSION=n(288).version,a.all=function(t){return Promise.all(t)},a.spread=n(713),a.isAxiosError=n(268),t.exports=a,t.exports.default=a},263:t=>{"use strict";function e(t){this.message=t}e.prototype.toString=function(){return"Cancel"+(this.message?": "+this.message:"")},e.prototype.__CANCEL__=!0,t.exports=e},972:(t,e,n)=>{"use strict";var r=n(263);function i(t){if("function"!=typeof t)throw new TypeError("executor must be a function.");var e;this.promise=new Promise((function(t){e=t}));var n=this;this.promise.then((function(t){if(n._listeners){var e,r=n._listeners.length;for(e=0;e{"use strict";t.exports=function(t){return!(!t||!t.__CANCEL__)}},321:(t,e,n)=>{"use strict";var r=n(867),i=n(327),o=n(782),s=n(572),a=n(185),l=n(875),c=l.validators;function u(t){this.defaults=t,this.interceptors={request:new o,response:new o}}u.prototype.request=function(t,e){if("string"==typeof t?(e=e||{}).url=t:e=t||{},!e.url)throw new Error("Provided config url is not valid");(e=a(this.defaults,e)).method?e.method=e.method.toLowerCase():this.defaults.method?e.method=this.defaults.method.toLowerCase():e.method="get";var n=e.transitional;void 0!==n&&l.assertOptions(n,{silentJSONParsing:c.transitional(c.boolean),forcedJSONParsing:c.transitional(c.boolean),clarifyTimeoutError:c.transitional(c.boolean)},!1);var r=[],i=!0;this.interceptors.request.forEach((function(t){"function"==typeof t.runWhen&&!1===t.runWhen(e)||(i=i&&t.synchronous,r.unshift(t.fulfilled,t.rejected))}));var o,u=[];if(this.interceptors.response.forEach((function(t){u.push(t.fulfilled,t.rejected)})),!i){var h=[s,void 0];for(Array.prototype.unshift.apply(h,r),h=h.concat(u),o=Promise.resolve(e);h.length;)o=o.then(h.shift(),h.shift());return o}for(var f=e;r.length;){var d=r.shift(),p=r.shift();try{f=d(f)}catch(t){p(t);break}}try{o=s(f)}catch(t){return Promise.reject(t)}for(;u.length;)o=o.then(u.shift(),u.shift());return o},u.prototype.getUri=function(t){if(!t.url)throw new Error("Provided config url is not valid");return t=a(this.defaults,t),i(t.url,t.params,t.paramsSerializer).replace(/^\?/,"")},r.forEach(["delete","get","head","options"],(function(t){u.prototype[t]=function(e,n){return this.request(a(n||{},{method:t,url:e,data:(n||{}).data}))}})),r.forEach(["post","put","patch"],(function(t){u.prototype[t]=function(e,n,r){return this.request(a(r||{},{method:t,url:e,data:n}))}})),t.exports=u},782:(t,e,n)=>{"use strict";var r=n(867);function i(){this.handlers=[]}i.prototype.use=function(t,e,n){return this.handlers.push({fulfilled:t,rejected:e,synchronous:!!n&&n.synchronous,runWhen:n?n.runWhen:null}),this.handlers.length-1},i.prototype.eject=function(t){this.handlers[t]&&(this.handlers[t]=null)},i.prototype.forEach=function(t){r.forEach(this.handlers,(function(e){null!==e&&t(e)}))},t.exports=i},97:(t,e,n)=>{"use strict";var r=n(793),i=n(303);t.exports=function(t,e){return t&&!r(e)?i(t,e):e}},61:(t,e,n)=>{"use strict";var r=n(481);t.exports=function(t,e,n,i,o){var s=new Error(t);return r(s,e,n,i,o)}},572:(t,e,n)=>{"use strict";var r=n(867),i=n(527),o=n(502),s=n(655),a=n(263);function l(t){if(t.cancelToken&&t.cancelToken.throwIfRequested(),t.signal&&t.signal.aborted)throw new a("canceled")}t.exports=function(t){return l(t),t.headers=t.headers||{},t.data=i.call(t,t.data,t.headers,t.transformRequest),t.headers=r.merge(t.headers.common||{},t.headers[t.method]||{},t.headers),r.forEach(["delete","get","head","post","put","patch","common"],(function(e){delete t.headers[e]})),(t.adapter||s.adapter)(t).then((function(e){return l(t),e.data=i.call(t,e.data,e.headers,t.transformResponse),e}),(function(e){return o(e)||(l(t),e&&e.response&&(e.response.data=i.call(t,e.response.data,e.response.headers,t.transformResponse))),Promise.reject(e)}))}},481:t=>{"use strict";t.exports=function(t,e,n,r,i){return t.config=e,n&&(t.code=n),t.request=r,t.response=i,t.isAxiosError=!0,t.toJSON=function(){return{message:this.message,name:this.name,description:this.description,number:this.number,fileName:this.fileName,lineNumber:this.lineNumber,columnNumber:this.columnNumber,stack:this.stack,config:this.config,code:this.code,status:this.response&&this.response.status?this.response.status:null}},t}},185:(t,e,n)=>{"use strict";var r=n(867);t.exports=function(t,e){e=e||{};var n={};function i(t,e){return r.isPlainObject(t)&&r.isPlainObject(e)?r.merge(t,e):r.isPlainObject(e)?r.merge({},e):r.isArray(e)?e.slice():e}function o(n){return r.isUndefined(e[n])?r.isUndefined(t[n])?void 0:i(void 0,t[n]):i(t[n],e[n])}function s(t){if(!r.isUndefined(e[t]))return i(void 0,e[t])}function a(n){return r.isUndefined(e[n])?r.isUndefined(t[n])?void 0:i(void 0,t[n]):i(void 0,e[n])}function l(n){return n in e?i(t[n],e[n]):n in t?i(void 0,t[n]):void 0}var c={url:s,method:s,data:s,baseURL:a,transformRequest:a,transformResponse:a,paramsSerializer:a,timeout:a,timeoutMessage:a,withCredentials:a,adapter:a,responseType:a,xsrfCookieName:a,xsrfHeaderName:a,onUploadProgress:a,onDownloadProgress:a,decompress:a,maxContentLength:a,maxBodyLength:a,transport:a,httpAgent:a,httpsAgent:a,cancelToken:a,socketPath:a,responseEncoding:a,validateStatus:l};return r.forEach(Object.keys(t).concat(Object.keys(e)),(function(t){var e=c[t]||o,i=e(t);r.isUndefined(i)&&e!==l||(n[t]=i)})),n}},26:(t,e,n)=>{"use strict";var r=n(61);t.exports=function(t,e,n){var i=n.config.validateStatus;n.status&&i&&!i(n.status)?e(r("Request failed with status code "+n.status,n.config,null,n.request,n)):t(n)}},527:(t,e,n)=>{"use strict";var r=n(867),i=n(655);t.exports=function(t,e,n){var o=this||i;return r.forEach(n,(function(n){t=n.call(o,t,e)})),t}},655:(t,e,n)=>{"use strict";var r=n(155),i=n(867),o=n(16),s=n(481),a={"Content-Type":"application/x-www-form-urlencoded"};function l(t,e){!i.isUndefined(t)&&i.isUndefined(t["Content-Type"])&&(t["Content-Type"]=e)}var c,u={transitional:{silentJSONParsing:!0,forcedJSONParsing:!0,clarifyTimeoutError:!1},adapter:(("undefined"!=typeof XMLHttpRequest||void 0!==r&&"[object process]"===Object.prototype.toString.call(r))&&(c=n(448)),c),transformRequest:[function(t,e){return o(e,"Accept"),o(e,"Content-Type"),i.isFormData(t)||i.isArrayBuffer(t)||i.isBuffer(t)||i.isStream(t)||i.isFile(t)||i.isBlob(t)?t:i.isArrayBufferView(t)?t.buffer:i.isURLSearchParams(t)?(l(e,"application/x-www-form-urlencoded;charset=utf-8"),t.toString()):i.isObject(t)||e&&"application/json"===e["Content-Type"]?(l(e,"application/json"),function(t,e,n){if(i.isString(t))try{return(e||JSON.parse)(t),i.trim(t)}catch(t){if("SyntaxError"!==t.name)throw t}return(n||JSON.stringify)(t)}(t)):t}],transformResponse:[function(t){var e=this.transitional||u.transitional,n=e&&e.silentJSONParsing,r=e&&e.forcedJSONParsing,o=!n&&"json"===this.responseType;if(o||r&&i.isString(t)&&t.length)try{return JSON.parse(t)}catch(t){if(o){if("SyntaxError"===t.name)throw s(t,this,"E_JSON_PARSE");throw t}}return t}],timeout:0,xsrfCookieName:"XSRF-TOKEN",xsrfHeaderName:"X-XSRF-TOKEN",maxContentLength:-1,maxBodyLength:-1,validateStatus:function(t){return t>=200&&t<300},headers:{common:{Accept:"application/json, text/plain, */*"}}};i.forEach(["delete","get","head"],(function(t){u.headers[t]={}})),i.forEach(["post","put","patch"],(function(t){u.headers[t]=i.merge(a)})),t.exports=u},288:t=>{t.exports={version:"0.25.0"}},849:t=>{"use strict";t.exports=function(t,e){return function(){for(var n=new Array(arguments.length),r=0;r{"use strict";var r=n(867);function i(t){return encodeURIComponent(t).replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%20/g,"+").replace(/%5B/gi,"[").replace(/%5D/gi,"]")}t.exports=function(t,e,n){if(!e)return t;var o;if(n)o=n(e);else if(r.isURLSearchParams(e))o=e.toString();else{var s=[];r.forEach(e,(function(t,e){null!=t&&(r.isArray(t)?e+="[]":t=[t],r.forEach(t,(function(t){r.isDate(t)?t=t.toISOString():r.isObject(t)&&(t=JSON.stringify(t)),s.push(i(e)+"="+i(t))})))})),o=s.join("&")}if(o){var a=t.indexOf("#");-1!==a&&(t=t.slice(0,a)),t+=(-1===t.indexOf("?")?"?":"&")+o}return t}},303:t=>{"use strict";t.exports=function(t,e){return e?t.replace(/\/+$/,"")+"/"+e.replace(/^\/+/,""):t}},372:(t,e,n)=>{"use strict";var r=n(867);t.exports=r.isStandardBrowserEnv()?{write:function(t,e,n,i,o,s){var a=[];a.push(t+"="+encodeURIComponent(e)),r.isNumber(n)&&a.push("expires="+new Date(n).toGMTString()),r.isString(i)&&a.push("path="+i),r.isString(o)&&a.push("domain="+o),!0===s&&a.push("secure"),document.cookie=a.join("; ")},read:function(t){var e=document.cookie.match(new RegExp("(^|;\\s*)("+t+")=([^;]*)"));return e?decodeURIComponent(e[3]):null},remove:function(t){this.write(t,"",Date.now()-864e5)}}:{write:function(){},read:function(){return null},remove:function(){}}},793:t=>{"use strict";t.exports=function(t){return/^([a-z][a-z\d+\-.]*:)?\/\//i.test(t)}},268:(t,e,n)=>{"use strict";var r=n(867);t.exports=function(t){return r.isObject(t)&&!0===t.isAxiosError}},985:(t,e,n)=>{"use strict";var r=n(867);t.exports=r.isStandardBrowserEnv()?function(){var t,e=/(msie|trident)/i.test(navigator.userAgent),n=document.createElement("a");function i(t){var r=t;return e&&(n.setAttribute("href",r),r=n.href),n.setAttribute("href",r),{href:n.href,protocol:n.protocol?n.protocol.replace(/:$/,""):"",host:n.host,search:n.search?n.search.replace(/^\?/,""):"",hash:n.hash?n.hash.replace(/^#/,""):"",hostname:n.hostname,port:n.port,pathname:"/"===n.pathname.charAt(0)?n.pathname:"/"+n.pathname}}return t=i(window.location.href),function(e){var n=r.isString(e)?i(e):e;return n.protocol===t.protocol&&n.host===t.host}}():function(){return!0}},16:(t,e,n)=>{"use strict";var r=n(867);t.exports=function(t,e){r.forEach(t,(function(n,r){r!==e&&r.toUpperCase()===e.toUpperCase()&&(t[e]=n,delete t[r])}))}},109:(t,e,n)=>{"use strict";var r=n(867),i=["age","authorization","content-length","content-type","etag","expires","from","host","if-modified-since","if-unmodified-since","last-modified","location","max-forwards","proxy-authorization","referer","retry-after","user-agent"];t.exports=function(t){var e,n,o,s={};return t?(r.forEach(t.split("\n"),(function(t){if(o=t.indexOf(":"),e=r.trim(t.substr(0,o)).toLowerCase(),n=r.trim(t.substr(o+1)),e){if(s[e]&&i.indexOf(e)>=0)return;s[e]="set-cookie"===e?(s[e]?s[e]:[]).concat([n]):s[e]?s[e]+", "+n:n}})),s):s}},713:t=>{"use strict";t.exports=function(t){return function(e){return t.apply(null,e)}}},875:(t,e,n)=>{"use strict";var r=n(288).version,i={};["object","boolean","number","function","string","symbol"].forEach((function(t,e){i[t]=function(n){return typeof n===t||"a"+(e<1?"n ":" ")+t}}));var o={};i.transitional=function(t,e,n){function i(t,e){return"[Axios v"+r+"] Transitional option '"+t+"'"+e+(n?". "+n:"")}return function(n,r,s){if(!1===t)throw new Error(i(r," has been removed"+(e?" in "+e:"")));return e&&!o[r]&&(o[r]=!0,console.warn(i(r," has been deprecated since v"+e+" and will be removed in the near future"))),!t||t(n,r,s)}},t.exports={assertOptions:function(t,e,n){if("object"!=typeof t)throw new TypeError("options must be an object");for(var r=Object.keys(t),i=r.length;i-- >0;){var o=r[i],s=e[o];if(s){var a=t[o],l=void 0===a||s(a,o,t);if(!0!==l)throw new TypeError("option "+o+" must be "+l)}else if(!0!==n)throw Error("Unknown option "+o)}},validators:i}},867:(t,e,n)=>{"use strict";var r=n(849),i=Object.prototype.toString;function o(t){return Array.isArray(t)}function s(t){return void 0===t}function a(t){return"[object ArrayBuffer]"===i.call(t)}function l(t){return null!==t&&"object"==typeof t}function c(t){if("[object Object]"!==i.call(t))return!1;var e=Object.getPrototypeOf(t);return null===e||e===Object.prototype}function u(t){return"[object Function]"===i.call(t)}function h(t,e){if(null!=t)if("object"!=typeof t&&(t=[t]),o(t))for(var n=0,r=t.length;n{n(170);[].slice.call(document.querySelectorAll('[data-bs-toggle="tooltip"]')).map((function(t){return new bootstrap.Tooltip(t)}))},170:(t,e,n)=>{"use strict";n.r(e);var r=n(973),i=n.n(r);const o="undefined"==typeof window?function(t){return t()}:window.requestAnimationFrame;function s(t,e,n){const r=n||(t=>Array.prototype.slice.call(t));let i=!1,s=[];return function(...n){s=r(n),i||(i=!0,o.call(window,(()=>{i=!1,t.apply(e,s)})))}}const a=t=>"start"===t?"left":"end"===t?"right":"center",l=(t,e,n)=>"start"===t?e:"end"===t?n:(e+n)/2;function c(){}const u=function(){let t=0;return function(){return t++}}();function h(t){return null==t}function f(t){if(Array.isArray&&Array.isArray(t))return!0;const e=Object.prototype.toString.call(t);return"[object"===e.substr(0,7)&&"Array]"===e.substr(-6)}function d(t){return null!==t&&"[object Object]"===Object.prototype.toString.call(t)}const p=t=>("number"==typeof t||t instanceof Number)&&isFinite(+t);function g(t,e){return p(t)?t:e}function m(t,e){return void 0===t?e:t}const v=(t,e)=>"string"==typeof t&&t.endsWith("%")?parseFloat(t)/100*e:+t;function y(t,e,n){if(t&&"function"==typeof t.call)return t.apply(n,e)}function b(t,e,n,r){let i,o,s;if(f(t))if(o=t.length,r)for(i=o-1;i>=0;i--)e.call(n,t[i],i);else for(i=0;in;)t=t[e.substr(n,r-n)],n=r+1,r=A(e,n);return t}function T(t){return t.charAt(0).toUpperCase()+t.slice(1)}const M=t=>void 0!==t,D=t=>"function"==typeof t,P=(t,e)=>{if(t.size!==e.size)return!1;for(const n of t)if(!e.has(n))return!1;return!0};const R=Math.PI,L=2*R,j=L+R,I=Number.POSITIVE_INFINITY,N=R/180,B=R/2,z=R/4,F=2*R/3,W=Math.log10,H=Math.sign;function V(t){const e=Math.round(t);t=U(t,e,t/1e3)?e:t;const n=Math.pow(10,Math.floor(W(t))),r=t/n;return(r<=1?1:r<=2?2:r<=5?5:10)*n}function q(t){return!isNaN(parseFloat(t))&&isFinite(t)}function U(t,e,n){return Math.abs(t-e)l&&c=Math.min(e,n)-r&&t<=Math.max(e,n)+r}const rt=t=>0===t||1===t,it=(t,e,n)=>-Math.pow(2,10*(t-=1))*Math.sin((t-e)*L/n),ot=(t,e,n)=>Math.pow(2,-10*t)*Math.sin((t-e)*L/n)+1,st={linear:t=>t,easeInQuad:t=>t*t,easeOutQuad:t=>-t*(t-2),easeInOutQuad:t=>(t/=.5)<1?.5*t*t:-.5*(--t*(t-2)-1),easeInCubic:t=>t*t*t,easeOutCubic:t=>(t-=1)*t*t+1,easeInOutCubic:t=>(t/=.5)<1?.5*t*t*t:.5*((t-=2)*t*t+2),easeInQuart:t=>t*t*t*t,easeOutQuart:t=>-((t-=1)*t*t*t-1),easeInOutQuart:t=>(t/=.5)<1?.5*t*t*t*t:-.5*((t-=2)*t*t*t-2),easeInQuint:t=>t*t*t*t*t,easeOutQuint:t=>(t-=1)*t*t*t*t+1,easeInOutQuint:t=>(t/=.5)<1?.5*t*t*t*t*t:.5*((t-=2)*t*t*t*t+2),easeInSine:t=>1-Math.cos(t*B),easeOutSine:t=>Math.sin(t*B),easeInOutSine:t=>-.5*(Math.cos(R*t)-1),easeInExpo:t=>0===t?0:Math.pow(2,10*(t-1)),easeOutExpo:t=>1===t?1:1-Math.pow(2,-10*t),easeInOutExpo:t=>rt(t)?t:t<.5?.5*Math.pow(2,10*(2*t-1)):.5*(2-Math.pow(2,-10*(2*t-1))),easeInCirc:t=>t>=1?t:-(Math.sqrt(1-t*t)-1),easeOutCirc:t=>Math.sqrt(1-(t-=1)*t),easeInOutCirc:t=>(t/=.5)<1?-.5*(Math.sqrt(1-t*t)-1):.5*(Math.sqrt(1-(t-=2)*t)+1),easeInElastic:t=>rt(t)?t:it(t,.075,.3),easeOutElastic:t=>rt(t)?t:ot(t,.075,.3),easeInOutElastic(t){const e=.1125;return rt(t)?t:t<.5?.5*it(2*t,e,.45):.5+.5*ot(2*t-1,e,.45)},easeInBack(t){const e=1.70158;return t*t*((e+1)*t-e)},easeOutBack(t){const e=1.70158;return(t-=1)*t*((e+1)*t+e)+1},easeInOutBack(t){let e=1.70158;return(t/=.5)<1?t*t*((1+(e*=1.525))*t-e)*.5:.5*((t-=2)*t*((1+(e*=1.525))*t+e)+2)},easeInBounce:t=>1-st.easeOutBounce(1-t),easeOutBounce(t){const e=7.5625,n=2.75;return t<1/n?e*t*t:t<2/n?e*(t-=1.5/n)*t+.75:t<2.5/n?e*(t-=2.25/n)*t+.9375:e*(t-=2.625/n)*t+.984375},easeInOutBounce:t=>t<.5?.5*st.easeInBounce(2*t):.5*st.easeOutBounce(2*t-1)+.5},at={0:0,1:1,2:2,3:3,4:4,5:5,6:6,7:7,8:8,9:9,A:10,B:11,C:12,D:13,E:14,F:15,a:10,b:11,c:12,d:13,e:14,f:15},lt="0123456789ABCDEF",ct=t=>lt[15&t],ut=t=>lt[(240&t)>>4]+lt[15&t],ht=t=>(240&t)>>4==(15&t);function ft(t){var e=function(t){return ht(t.r)&&ht(t.g)&&ht(t.b)&&ht(t.a)}(t)?ct:ut;return t?"#"+e(t.r)+e(t.g)+e(t.b)+(t.a<255?e(t.a):""):t}function dt(t){return t+.5|0}const pt=(t,e,n)=>Math.max(Math.min(t,n),e);function gt(t){return pt(dt(2.55*t),0,255)}function mt(t){return pt(dt(255*t),0,255)}function vt(t){return pt(dt(t/2.55)/100,0,1)}function yt(t){return pt(dt(100*t),0,100)}const bt=/^rgba?\(\s*([-+.\d]+)(%)?[\s,]+([-+.e\d]+)(%)?[\s,]+([-+.e\d]+)(%)?(?:[\s,/]+([-+.e\d]+)(%)?)?\s*\)$/;const xt=/^(hsla?|hwb|hsv)\(\s*([-+.e\d]+)(?:deg)?[\s,]+([-+.e\d]+)%[\s,]+([-+.e\d]+)%(?:[\s,]+([-+.e\d]+)(%)?)?\s*\)$/;function _t(t,e,n){const r=e*Math.min(n,1-n),i=(e,i=(e+t/30)%12)=>n-r*Math.max(Math.min(i-3,9-i,1),-1);return[i(0),i(8),i(4)]}function wt(t,e,n){const r=(r,i=(r+t/60)%6)=>n-n*e*Math.max(Math.min(i,4-i,1),0);return[r(5),r(3),r(1)]}function kt(t,e,n){const r=_t(t,1,.5);let i;for(e+n>1&&(i=1/(e+n),e*=i,n*=i),i=0;i<3;i++)r[i]*=1-e-n,r[i]+=e;return r}function Ct(t){const e=t.r/255,n=t.g/255,r=t.b/255,i=Math.max(e,n,r),o=Math.min(e,n,r),s=(i+o)/2;let a,l,c;return i!==o&&(c=i-o,l=s>.5?c/(2-i-o):c/(i+o),a=i===e?(n-r)/c+(n>16&255,o>>8&255,255&o]}return t}(),Dt.transparent=[0,0,0,0]);const e=Dt[t.toLowerCase()];return e&&{r:e[0],g:e[1],b:e[2],a:4===e.length?e[3]:255}}function Rt(t,e,n){if(t){let r=Ct(t);r[e]=Math.max(0,Math.min(r[e]+r[e]*n,0===e?360:1)),r=Ot(r),t.r=r[0],t.g=r[1],t.b=r[2]}}function Lt(t,e){return t?Object.assign(e||{},t):t}function jt(t){var e={r:0,g:0,b:0,a:255};return Array.isArray(t)?t.length>=3&&(e={r:t[0],g:t[1],b:t[2],a:255},t.length>3&&(e.a=mt(t[3]))):(e=Lt(t,{r:0,g:0,b:0,a:1})).a=mt(e.a),e}function It(t){return"r"===t.charAt(0)?function(t){const e=bt.exec(t);let n,r,i,o=255;if(e){if(e[7]!==n){const t=+e[7];o=255&(e[8]?gt(t):255*t)}return n=+e[1],r=+e[3],i=+e[5],n=255&(e[2]?gt(n):n),r=255&(e[4]?gt(r):r),i=255&(e[6]?gt(i):i),{r:n,g:r,b:i,a:o}}}(t):St(t)}class Nt{constructor(t){if(t instanceof Nt)return t;const e=typeof t;let n;var r,i,o;"object"===e?n=jt(t):"string"===e&&(o=(r=t).length,"#"===r[0]&&(4===o||5===o?i={r:255&17*at[r[1]],g:255&17*at[r[2]],b:255&17*at[r[3]],a:5===o?17*at[r[4]]:255}:7!==o&&9!==o||(i={r:at[r[1]]<<4|at[r[2]],g:at[r[3]]<<4|at[r[4]],b:at[r[5]]<<4|at[r[6]],a:9===o?at[r[7]]<<4|at[r[8]]:255})),n=i||Pt(t)||It(t)),this._rgb=n,this._valid=!!n}get valid(){return this._valid}get rgb(){var t=Lt(this._rgb);return t&&(t.a=vt(t.a)),t}set rgb(t){this._rgb=jt(t)}rgbString(){return this._valid?(t=this._rgb)&&(t.a<255?`rgba(${t.r}, ${t.g}, ${t.b}, ${vt(t.a)})`:`rgb(${t.r}, ${t.g}, ${t.b})`):this._rgb;var t}hexString(){return this._valid?ft(this._rgb):this._rgb}hslString(){return this._valid?function(t){if(!t)return;const e=Ct(t),n=e[0],r=yt(e[1]),i=yt(e[2]);return t.a<255?`hsla(${n}, ${r}%, ${i}%, ${vt(t.a)})`:`hsl(${n}, ${r}%, ${i}%)`}(this._rgb):this._rgb}mix(t,e){const n=this;if(t){const r=n.rgb,i=t.rgb;let o;const s=e===o?.5:e,a=2*s-1,l=r.a-i.a,c=((a*l==-1?a:(a+l)/(1+a*l))+1)/2;o=1-c,r.r=255&c*r.r+o*i.r+.5,r.g=255&c*r.g+o*i.g+.5,r.b=255&c*r.b+o*i.b+.5,r.a=s*r.a+(1-s)*i.a,n.rgb=r}return n}clone(){return new Nt(this.rgb)}alpha(t){return this._rgb.a=mt(t),this}clearer(t){return this._rgb.a*=1-t,this}greyscale(){const t=this._rgb,e=dt(.3*t.r+.59*t.g+.11*t.b);return t.r=t.g=t.b=e,this}opaquer(t){return this._rgb.a*=1+t,this}negate(){const t=this._rgb;return t.r=255-t.r,t.g=255-t.g,t.b=255-t.b,this}lighten(t){return Rt(this._rgb,2,t),this}darken(t){return Rt(this._rgb,2,-t),this}saturate(t){return Rt(this._rgb,1,t),this}desaturate(t){return Rt(this._rgb,1,-t),this}rotate(t){return function(t,e){var n=Ct(t);n[0]=At(n[0]+e),n=Ot(n),t.r=n[0],t.g=n[1],t.b=n[2]}(this._rgb,t),this}}function Bt(t){return new Nt(t)}const zt=t=>t instanceof CanvasGradient||t instanceof CanvasPattern;function Ft(t){return zt(t)?t:Bt(t)}function Wt(t){return zt(t)?t:Bt(t).saturate(.5).darken(.1).hexString()}const Ht=Object.create(null),Vt=Object.create(null);function qt(t,e){if(!e)return t;const n=e.split(".");for(let e=0,r=n.length;et.chart.platform.getDevicePixelRatio(),this.elements={},this.events=["mousemove","mouseout","click","touchstart","touchmove"],this.font={family:"'Helvetica Neue', 'Helvetica', 'Arial', sans-serif",size:12,style:"normal",lineHeight:1.2,weight:null},this.hover={},this.hoverBackgroundColor=(t,e)=>Wt(e.backgroundColor),this.hoverBorderColor=(t,e)=>Wt(e.borderColor),this.hoverColor=(t,e)=>Wt(e.color),this.indexAxis="x",this.interaction={mode:"nearest",intersect:!0},this.maintainAspectRatio=!0,this.onHover=null,this.onClick=null,this.parsing=!0,this.plugins={},this.responsive=!0,this.scale=void 0,this.scales={},this.showLine=!0,this.drawActiveElementsOnTop=!0,this.describe(t)}set(t,e){return Ut(this,t,e)}get(t){return qt(this,t)}describe(t,e){return Ut(Vt,t,e)}override(t,e){return Ut(Ht,t,e)}route(t,e,n,r){const i=qt(this,t),o=qt(this,n),s="_"+e;Object.defineProperties(i,{[s]:{value:i[e],writable:!0},[e]:{enumerable:!0,get(){const t=this[s],e=o[r];return d(t)?Object.assign({},e,t):m(t,e)},set(t){this[s]=t}}})}}({_scriptable:t=>!t.startsWith("on"),_indexable:t=>"events"!==t,hover:{_fallback:"interaction"},interaction:{_scriptable:!1,_indexable:!1}});function Yt(t,e,n,r,i){let o=e[i];return o||(o=e[i]=t.measureText(i).width,n.push(i)),o>r&&(r=o),r}function Xt(t,e,n,r){let i=(r=r||{}).data=r.data||{},o=r.garbageCollect=r.garbageCollect||[];r.font!==e&&(i=r.data={},o=r.garbageCollect=[],r.font=e),t.save(),t.font=e;let s=0;const a=n.length;let l,c,u,h,d;for(l=0;ln.length){for(l=0;l0&&t.stroke()}}function Qt(t,e,n){return n=n||.5,!e||t&&t.x>e.left-n&&t.xe.top-n&&t.y0&&""!==o.strokeColor;let l,c;for(t.save(),t.font=i.string,function(t,e){e.translation&&t.translate(e.translation[0],e.translation[1]);h(e.rotation)||t.rotate(e.rotation);e.color&&(t.fillStyle=e.color);e.textAlign&&(t.textAlign=e.textAlign);e.textBaseline&&(t.textBaseline=e.textBaseline)}(t,o),l=0;lm(t[n],t[e[n]]):e=>t[e]:()=>t;for(const t of i)n[t]=+o(t)||0;return n}function ue(t){return ce(t,{top:"y",right:"x",bottom:"y",left:"x"})}function he(t){return ce(t,["topLeft","topRight","bottomLeft","bottomRight"])}function fe(t){const e=ue(t);return e.width=e.left+e.right,e.height=e.top+e.bottom,e}function de(t,e){t=t||{},e=e||$t.font;let n=m(t.size,e.size);"string"==typeof n&&(n=parseInt(n,10));let r=m(t.style,e.style);r&&!(""+r).match(ae)&&(console.warn('Invalid font style specified: "'+r+'"'),r="");const i={family:m(t.family,e.family),lineHeight:le(m(t.lineHeight,e.lineHeight),n),size:n,style:r,weight:m(t.weight,e.weight),string:""};return i.string=function(t){return!t||h(t.size)||h(t.family)?null:(t.style?t.style+" ":"")+(t.weight?t.weight+" ":"")+t.size+"px "+t.family}(i),i}function pe(t,e,n,r){let i,o,s,a=!0;for(i=0,o=t.length;it[n]1;)r=o+i>>1,n(r)?o=r:i=r;return{lo:o,hi:i}}const ve=(t,e,n)=>me(t,n,(r=>t[r][e]me(t,n,(r=>t[r][e]>=n));const be=["push","pop","shift","splice","unshift"];function xe(t,e){const n=t._chartjs;if(!n)return;const r=n.listeners,i=r.indexOf(e);-1!==i&&r.splice(i,1),r.length>0||(be.forEach((e=>{delete t[e]})),delete t._chartjs)}function _e(t){const e=new Set;let n,r;for(n=0,r=t.length;nt[0])){M(r)||(r=Re("_fallback",t));const o={[Symbol.toStringTag]:"Object",_cacheable:!0,_scopes:t,_rootScopes:n,_fallback:r,_getTarget:i,override:i=>we([i,...t],e,n,r)};return new Proxy(o,{deleteProperty:(e,n)=>(delete e[n],delete e._keys,delete t[0][n],!0),get:(n,r)=>Ae(n,r,(()=>function(t,e,n,r){let i;for(const o of e)if(i=Re(Ee(o,t),n),M(i))return Oe(t,i)?De(n,r,t,i):i}(r,e,t,n))),getOwnPropertyDescriptor:(t,e)=>Reflect.getOwnPropertyDescriptor(t._scopes[0],e),getPrototypeOf:()=>Reflect.getPrototypeOf(t[0]),has:(t,e)=>Le(t).includes(e),ownKeys:t=>Le(t),set(t,e,n){const r=t._storage||(t._storage=i());return t[e]=r[e]=n,delete t._keys,!0}})}function ke(t,e,n,r){const i={_cacheable:!1,_proxy:t,_context:e,_subProxy:n,_stack:new Set,_descriptors:Ce(t,r),setContext:e=>ke(t,e,n,r),override:i=>ke(t.override(i),e,n,r)};return new Proxy(i,{deleteProperty:(e,n)=>(delete e[n],delete t[n],!0),get:(t,e,n)=>Ae(t,e,(()=>function(t,e,n){const{_proxy:r,_context:i,_subProxy:o,_descriptors:s}=t;let a=r[e];D(a)&&s.isScriptable(e)&&(a=function(t,e,n,r){const{_proxy:i,_context:o,_subProxy:s,_stack:a}=n;if(a.has(t))throw new Error("Recursion detected: "+Array.from(a).join("->")+"->"+t);a.add(t),e=e(o,s||r),a.delete(t),Oe(t,e)&&(e=De(i._scopes,i,t,e));return e}(e,a,t,n));f(a)&&a.length&&(a=function(t,e,n,r){const{_proxy:i,_context:o,_subProxy:s,_descriptors:a}=n;if(M(o.index)&&r(t))e=e[o.index%e.length];else if(d(e[0])){const n=e,r=i._scopes.filter((t=>t!==n));e=[];for(const l of n){const n=De(r,i,t,l);e.push(ke(n,o,s&&s[t],a))}}return e}(e,a,t,s.isIndexable));Oe(e,a)&&(a=ke(a,i,o&&o[e],s));return a}(t,e,n))),getOwnPropertyDescriptor:(e,n)=>e._descriptors.allKeys?Reflect.has(t,n)?{enumerable:!0,configurable:!0}:void 0:Reflect.getOwnPropertyDescriptor(t,n),getPrototypeOf:()=>Reflect.getPrototypeOf(t),has:(e,n)=>Reflect.has(t,n),ownKeys:()=>Reflect.ownKeys(t),set:(e,n,r)=>(t[n]=r,delete e[n],!0)})}function Ce(t,e={scriptable:!0,indexable:!0}){const{_scriptable:n=e.scriptable,_indexable:r=e.indexable,_allKeys:i=e.allKeys}=t;return{allKeys:i,scriptable:n,indexable:r,isScriptable:D(n)?n:()=>n,isIndexable:D(r)?r:()=>r}}const Ee=(t,e)=>t?t+T(e):e,Oe=(t,e)=>d(e)&&"adapters"!==t&&(null===Object.getPrototypeOf(e)||e.constructor===Object);function Ae(t,e,n){if(Object.prototype.hasOwnProperty.call(t,e))return t[e];const r=n();return t[e]=r,r}function Se(t,e,n){return D(t)?t(e,n):t}const Te=(t,e)=>!0===t?e:"string"==typeof t?S(e,t):void 0;function Me(t,e,n,r,i){for(const o of e){const e=Te(n,o);if(e){t.add(e);const o=Se(e._fallback,n,i);if(M(o)&&o!==n&&o!==r)return o}else if(!1===e&&M(r)&&n!==r)return null}return!1}function De(t,e,n,r){const i=e._rootScopes,o=Se(e._fallback,n,r),s=[...t,...i],a=new Set;a.add(r);let l=Pe(a,s,n,o||n,r);return null!==l&&((!M(o)||o===n||(l=Pe(a,s,o,l,r),null!==l))&&we(Array.from(a),[""],i,o,(()=>function(t,e,n){const r=t._getTarget();e in r||(r[e]={});const i=r[e];if(f(i)&&d(n))return n;return i}(e,n,r))))}function Pe(t,e,n,r,i){for(;n;)n=Me(t,e,n,r,i);return n}function Re(t,e){for(const n of e){if(!n)continue;const e=n[t];if(M(e))return e}}function Le(t){let e=t._keys;return e||(e=t._keys=function(t){const e=new Set;for(const n of t)for(const t of Object.keys(n).filter((t=>!t.startsWith("_"))))e.add(t);return Array.from(e)}(t._scopes)),e}const je=Number.EPSILON||1e-14,Ie=(t,e)=>e"x"===t?"y":"x";function Be(t,e,n,r){const i=t.skip?e:t,o=e,s=n.skip?e:n,a=Z(o,i),l=Z(s,o);let c=a/(a+l),u=l/(a+l);c=isNaN(c)?0:c,u=isNaN(u)?0:u;const h=r*c,f=r*u;return{previous:{x:o.x-h*(s.x-i.x),y:o.y-h*(s.y-i.y)},next:{x:o.x+f*(s.x-i.x),y:o.y+f*(s.y-i.y)}}}function ze(t,e="x"){const n=Ne(e),r=t.length,i=Array(r).fill(0),o=Array(r);let s,a,l,c=Ie(t,0);for(s=0;s!t.skip))),"monotone"===e.cubicInterpolationMode)ze(t,i);else{let n=r?t[t.length-1]:t[0];for(o=0,s=t.length;owindow.getComputedStyle(t,null);const $e=["top","right","bottom","left"];function Ye(t,e,n){const r={};n=n?"-"+n:"";for(let i=0;i<4;i++){const o=$e[i];r[o]=parseFloat(t[e+"-"+o+n])||0}return r.width=r.left+r.right,r.height=r.top+r.bottom,r}function Xe(t,e){const{canvas:n,currentDevicePixelRatio:r}=e,i=Ue(n),o="border-box"===i.boxSizing,s=Ye(i,"padding"),a=Ye(i,"border","width"),{x:l,y:c,box:u}=function(t,e){const n=t.native||t,r=n.touches,i=r&&r.length?r[0]:n,{offsetX:o,offsetY:s}=i;let a,l,c=!1;if(((t,e,n)=>(t>0||e>0)&&(!n||!n.shadowRoot))(o,s,n.target))a=o,l=s;else{const t=e.getBoundingClientRect();a=i.clientX-t.left,l=i.clientY-t.top,c=!0}return{x:a,y:l,box:c}}(t,n),h=s.left+(u&&a.left),f=s.top+(u&&a.top);let{width:d,height:p}=e;return o&&(d-=s.width+a.width,p-=s.height+a.height),{x:Math.round((l-h)/d*n.width/r),y:Math.round((c-f)/p*n.height/r)}}const Ge=t=>Math.round(10*t)/10;function Ke(t,e,n,r){const i=Ue(t),o=Ye(i,"margin"),s=qe(i.maxWidth,t,"clientWidth")||I,a=qe(i.maxHeight,t,"clientHeight")||I,l=function(t,e,n){let r,i;if(void 0===e||void 0===n){const o=Ve(t);if(o){const t=o.getBoundingClientRect(),s=Ue(o),a=Ye(s,"border","width"),l=Ye(s,"padding");e=t.width-l.width-a.width,n=t.height-l.height-a.height,r=qe(s.maxWidth,o,"clientWidth"),i=qe(s.maxHeight,o,"clientHeight")}else e=t.clientWidth,n=t.clientHeight}return{width:e,height:n,maxWidth:r||I,maxHeight:i||I}}(t,e,n);let{width:c,height:u}=l;if("content-box"===i.boxSizing){const t=Ye(i,"border","width"),e=Ye(i,"padding");c-=e.width+t.width,u-=e.height+t.height}return c=Math.max(0,c-o.width),u=Math.max(0,r?Math.floor(c/r):u-o.height),c=Ge(Math.min(c,s,l.maxWidth)),u=Ge(Math.min(u,a,l.maxHeight)),c&&!u&&(u=Ge(c/2)),{width:c,height:u}}function Ze(t,e,n){const r=e||1,i=Math.floor(t.height*r),o=Math.floor(t.width*r);t.height=i/r,t.width=o/r;const s=t.canvas;return s.style&&(n||!s.style.height&&!s.style.width)&&(s.style.height=`${t.height}px`,s.style.width=`${t.width}px`),(t.currentDevicePixelRatio!==r||s.height!==i||s.width!==o)&&(t.currentDevicePixelRatio=r,s.height=i,s.width=o,t.ctx.setTransform(r,0,0,r,0,0),!0)}const Qe=function(){let t=!1;try{const e={get passive(){return t=!0,!1}};window.addEventListener("test",null,e),window.removeEventListener("test",null,e)}catch(t){}return t}();function Je(t,e){const n=function(t,e){return Ue(t).getPropertyValue(e)}(t,e),r=n&&n.match(/^(\d+)(\.\d+)?px$/);return r?+r[1]:void 0}function tn(t,e,n,r){return{x:t.x+n*(e.x-t.x),y:t.y+n*(e.y-t.y)}}function en(t,e,n,r){return{x:t.x+n*(e.x-t.x),y:"middle"===r?n<.5?t.y:e.y:"after"===r?n<1?t.y:e.y:n>0?e.y:t.y}}function nn(t,e,n,r){const i={x:t.cp2x,y:t.cp2y},o={x:e.cp1x,y:e.cp1y},s=tn(t,i,n),a=tn(i,o,n),l=tn(o,e,n),c=tn(s,a,n),u=tn(a,l,n);return tn(c,u,n)}const rn=new Map;function on(t,e,n){return function(t,e){e=e||{};const n=t+JSON.stringify(e);let r=rn.get(n);return r||(r=new Intl.NumberFormat(t,e),rn.set(n,r)),r}(e,n).format(t)}function sn(t,e,n){return t?function(t,e){return{x:n=>t+t+e-n,setWidth(t){e=t},textAlign:t=>"center"===t?t:"right"===t?"left":"right",xPlus:(t,e)=>t-e,leftForLtr:(t,e)=>t-e}}(e,n):{x:t=>t,setWidth(t){},textAlign:t=>t,xPlus:(t,e)=>t+e,leftForLtr:(t,e)=>t}}function an(t,e){let n,r;"ltr"!==e&&"rtl"!==e||(n=t.canvas.style,r=[n.getPropertyValue("direction"),n.getPropertyPriority("direction")],n.setProperty("direction",e,"important"),t.prevTextDirection=r)}function ln(t,e){void 0!==e&&(delete t.prevTextDirection,t.canvas.style.setProperty("direction",e[0],e[1]))}function cn(t){return"angle"===t?{between:tt,compare:Q,normalize:J}:{between:nt,compare:(t,e)=>t-e,normalize:t=>t}}function un({start:t,end:e,count:n,loop:r,style:i}){return{start:t%n,end:e%n,loop:r&&(e-t+1)%n==0,style:i}}function hn(t,e,n){if(!n)return[t];const{property:r,start:i,end:o}=n,s=e.length,{compare:a,between:l,normalize:c}=cn(r),{start:u,end:h,loop:f,style:d}=function(t,e,n){const{property:r,start:i,end:o}=n,{between:s,normalize:a}=cn(r),l=e.length;let c,u,{start:h,end:f,loop:d}=t;if(d){for(h+=l,f+=l,c=0,u=l;cy||l(i,v,g)&&0!==a(i,v),_=()=>!y||0===a(o,g)||l(o,v,g);for(let t=u,n=u;t<=h;++t)m=e[t%s],m.skip||(g=c(m[r]),g!==v&&(y=l(g,i,o),null===b&&x()&&(b=0===a(g,i)?t:n),null!==b&&_()&&(p.push(un({start:b,end:t,loop:f,count:s,style:d})),b=null),n=t,v=g));return null!==b&&p.push(un({start:b,end:h,loop:f,count:s,style:d})),p}function fn(t,e){const n=[],r=t.segments;for(let i=0;ir({chart:t,initial:e.initial,numSteps:o,currentStep:Math.min(n-e.start,o)})))}_refresh(){this._request||(this._running=!0,this._request=o.call(window,(()=>{this._update(),this._request=null,this._running&&this._refresh()})))}_update(t=Date.now()){let e=0;this._charts.forEach(((n,r)=>{if(!n.running||!n.items.length)return;const i=n.items;let o,s=i.length-1,a=!1;for(;s>=0;--s)o=i[s],o._active?(o._total>n.duration&&(n.duration=o._total),o.tick(t),a=!0):(i[s]=i[i.length-1],i.pop());a&&(r.draw(),this._notify(r,n,t,"progress")),i.length||(n.running=!1,this._notify(r,n,t,"complete"),n.initial=!1),e+=i.length})),this._lastDate=t,0===e&&(this._running=!1)}_getAnims(t){const e=this._charts;let n=e.get(t);return n||(n={running:!1,initial:!0,items:[],listeners:{complete:[],progress:[]}},e.set(t,n)),n}listen(t,e,n){this._getAnims(t).listeners[e].push(n)}add(t,e){e&&e.length&&this._getAnims(t).items.push(...e)}has(t){return this._getAnims(t).items.length>0}start(t){const e=this._charts.get(t);e&&(e.running=!0,e.start=Date.now(),e.duration=e.items.reduce(((t,e)=>Math.max(t,e._duration)),0),this._refresh())}running(t){if(!this._running)return!1;const e=this._charts.get(t);return!!(e&&e.running&&e.items.length)}stop(t){const e=this._charts.get(t);if(!e||!e.items.length)return;const n=e.items;let r=n.length-1;for(;r>=0;--r)n[r].cancel();e.items=[],this._notify(t,e,Date.now(),"complete")}remove(t){return this._charts.delete(t)}};const vn="transparent",yn={boolean:(t,e,n)=>n>.5?e:t,color(t,e,n){const r=Ft(t||vn),i=r.valid&&Ft(e||vn);return i&&i.valid?i.mix(r,n).hexString():e},number:(t,e,n)=>t+(e-t)*n};class bn{constructor(t,e,n,r){const i=e[n];r=pe([t.to,r,i,t.from]);const o=pe([t.from,i,r]);this._active=!0,this._fn=t.fn||yn[t.type||typeof o],this._easing=st[t.easing]||st.linear,this._start=Math.floor(Date.now()+(t.delay||0)),this._duration=this._total=Math.floor(t.duration),this._loop=!!t.loop,this._target=e,this._prop=n,this._from=o,this._to=r,this._promises=void 0}active(){return this._active}update(t,e,n){if(this._active){this._notify(!1);const r=this._target[this._prop],i=n-this._start,o=this._duration-i;this._start=n,this._duration=Math.floor(Math.max(o,t.duration)),this._total+=i,this._loop=!!t.loop,this._to=pe([t.to,e,r,t.from]),this._from=pe([t.from,r,e])}}cancel(){this._active&&(this.tick(Date.now()),this._active=!1,this._notify(!1))}tick(t){const e=t-this._start,n=this._duration,r=this._prop,i=this._from,o=this._loop,s=this._to;let a;if(this._active=i!==s&&(o||e1?2-a:a,a=this._easing(Math.min(1,Math.max(0,a))),this._target[r]=this._fn(i,s,a))}wait(){const t=this._promises||(this._promises=[]);return new Promise(((e,n)=>{t.push({res:e,rej:n})}))}_notify(t){const e=t?"res":"rej",n=this._promises||[];for(let t=0;t"onProgress"!==t&&"onComplete"!==t&&"fn"!==t}),$t.set("animations",{colors:{type:"color",properties:["color","borderColor","backgroundColor"]},numbers:{type:"number",properties:["x","y","borderWidth","radius","tension"]}}),$t.describe("animations",{_fallback:"animation"}),$t.set("transitions",{active:{animation:{duration:400}},resize:{animation:{duration:0}},show:{animations:{colors:{from:"transparent"},visible:{type:"boolean",duration:0}}},hide:{animations:{colors:{to:"transparent"},visible:{type:"boolean",easing:"linear",fn:t=>0|t}}}});class _n{constructor(t,e){this._chart=t,this._properties=new Map,this.configure(e)}configure(t){if(!d(t))return;const e=this._properties;Object.getOwnPropertyNames(t).forEach((n=>{const r=t[n];if(!d(r))return;const i={};for(const t of xn)i[t]=r[t];(f(r.properties)&&r.properties||[n]).forEach((t=>{t!==n&&e.has(t)||e.set(t,i)}))}))}_animateOptions(t,e){const n=e.options,r=function(t,e){if(!e)return;let n=t.options;if(!n)return void(t.options=e);n.$shared&&(t.options=n=Object.assign({},n,{$shared:!1,$animations:{}}));return n}(t,n);if(!r)return[];const i=this._createAnimations(r,n);return n.$shared&&function(t,e){const n=[],r=Object.keys(e);for(let e=0;e{t.options=n}),(()=>{})),i}_createAnimations(t,e){const n=this._properties,r=[],i=t.$animations||(t.$animations={}),o=Object.keys(e),s=Date.now();let a;for(a=o.length-1;a>=0;--a){const l=o[a];if("$"===l.charAt(0))continue;if("options"===l){r.push(...this._animateOptions(t,e));continue}const c=e[l];let u=i[l];const h=n.get(l);if(u){if(h&&u.active()){u.update(h,c,s);continue}u.cancel()}h&&h.duration?(i[l]=u=new bn(h,t,l,c),r.push(u)):t[l]=c}return r}update(t,e){if(0===this._properties.size)return void Object.assign(t,e);const n=this._createAnimations(t,e);return n.length?(mn.add(this._chart,n),!0):void 0}}function wn(t,e){const n=t&&t.options||{},r=n.reverse,i=void 0===n.min?e:0,o=void 0===n.max?e:0;return{start:r?o:i,end:r?i:o}}function kn(t,e){const n=[],r=t._getSortedDatasetMetas(e);let i,o;for(i=0,o=r.length;i0||!n&&e<0)return i.index}return null}function Sn(t,e){const{chart:n,_cachedMeta:r}=t,i=n._stacks||(n._stacks={}),{iScale:o,vScale:s,index:a}=r,l=o.axis,c=s.axis,u=function(t,e,n){return`${t.id}.${e.id}.${n.stack||n.type}`}(o,s,r),h=e.length;let f;for(let t=0;tn[t].axis===e)).shift()}function Mn(t,e){const n=t.controller.index,r=t.vScale&&t.vScale.axis;if(r){e=e||t._parsed;for(const t of e){const e=t._stacks;if(!e||void 0===e[r]||void 0===e[r][n])return;delete e[r][n]}}}const Dn=t=>"reset"===t||"none"===t,Pn=(t,e)=>e?t:Object.assign({},t);class Rn{constructor(t,e){this.chart=t,this._ctx=t.ctx,this.index=e,this._cachedDataOpts={},this._cachedMeta=this.getMeta(),this._type=this._cachedMeta.type,this.options=void 0,this._parsing=!1,this._data=void 0,this._objectData=void 0,this._sharedOptions=void 0,this._drawStart=void 0,this._drawCount=void 0,this.enableOptionSharing=!1,this.$context=void 0,this._syncList=[],this.initialize()}initialize(){const t=this._cachedMeta;this.configure(),this.linkScales(),t._stacked=En(t.vScale,t),this.addElements()}updateIndex(t){this.index!==t&&Mn(this._cachedMeta),this.index=t}linkScales(){const t=this.chart,e=this._cachedMeta,n=this.getDataset(),r=(t,e,n,r)=>"x"===t?e:"r"===t?r:n,i=e.xAxisID=m(n.xAxisID,Tn(t,"x")),o=e.yAxisID=m(n.yAxisID,Tn(t,"y")),s=e.rAxisID=m(n.rAxisID,Tn(t,"r")),a=e.indexAxis,l=e.iAxisID=r(a,i,o,s),c=e.vAxisID=r(a,o,i,s);e.xScale=this.getScaleForId(i),e.yScale=this.getScaleForId(o),e.rScale=this.getScaleForId(s),e.iScale=this.getScaleForId(l),e.vScale=this.getScaleForId(c)}getDataset(){return this.chart.data.datasets[this.index]}getMeta(){return this.chart.getDatasetMeta(this.index)}getScaleForId(t){return this.chart.scales[t]}_getOtherScale(t){const e=this._cachedMeta;return t===e.iScale?e.vScale:e.iScale}reset(){this._update("reset")}_destroy(){const t=this._cachedMeta;this._data&&xe(this._data,this),t._stacked&&Mn(t)}_dataCheck(){const t=this.getDataset(),e=t.data||(t.data=[]),n=this._data;if(d(e))this._data=function(t){const e=Object.keys(t),n=new Array(e.length);let r,i,o;for(r=0,i=e.length;r{const e="_onData"+T(t),n=r[t];Object.defineProperty(r,t,{configurable:!0,enumerable:!1,value(...t){const i=n.apply(this,t);return r._chartjs.listeners.forEach((n=>{"function"==typeof n[e]&&n[e](...t)})),i}})})))),this._syncList=[],this._data=e}var r,i}addElements(){const t=this._cachedMeta;this._dataCheck(),this.datasetElementType&&(t.dataset=new this.datasetElementType)}buildOrUpdateElements(t){const e=this._cachedMeta,n=this.getDataset();let r=!1;this._dataCheck();const i=e._stacked;e._stacked=En(e.vScale,e),e.stack!==n.stack&&(r=!0,Mn(e),e.stack=n.stack),this._resyncElements(t),(r||i!==e._stacked)&&Sn(this,e._parsed)}configure(){const t=this.chart.config,e=t.datasetScopeKeys(this._type),n=t.getOptionScopes(this.getDataset(),e,!0);this.options=t.createResolver(n,this.getContext()),this._parsing=this.options.parsing,this._cachedDataOpts={}}parse(t,e){const{_cachedMeta:n,_data:r}=this,{iScale:i,_stacked:o}=n,s=i.axis;let a,l,c,u=0===t&&e===r.length||n._sorted,h=t>0&&n._parsed[t-1];if(!1===this._parsing)n._parsed=r,n._sorted=!0,c=r;else{c=f(r[t])?this.parseArrayData(n,r,t,e):d(r[t])?this.parseObjectData(n,r,t,e):this.parsePrimitiveData(n,r,t,e);const i=()=>null===l[s]||h&&l[s]t&&!e.hidden&&e._stacked&&{keys:kn(n,!0),values:null})(e,n,this.chart),l={min:Number.POSITIVE_INFINITY,max:Number.NEGATIVE_INFINITY},{min:c,max:u}=function(t){const{min:e,max:n,minDefined:r,maxDefined:i}=t.getUserBounds();return{min:r?e:Number.NEGATIVE_INFINITY,max:i?n:Number.POSITIVE_INFINITY}}(s);let h,f;function d(){f=r[h];const e=f[s.axis];return!p(f[t.axis])||c>e||u=0;--h)if(!d()){this.updateRangeFromParsed(l,t,f,a);break}return l}getAllParsedValues(t){const e=this._cachedMeta._parsed,n=[];let r,i,o;for(r=0,i=e.length;r=0&&tthis.getContext(n,r)),u);return d.$shared&&(d.$shared=a,i[o]=Object.freeze(Pn(d,a))),d}_resolveAnimations(t,e,n){const r=this.chart,i=this._cachedDataOpts,o=`animation-${e}`,s=i[o];if(s)return s;let a;if(!1!==r.options.animation){const r=this.chart.config,i=r.datasetAnimationScopeKeys(this._type,e),o=r.getOptionScopes(this.getDataset(),i);a=r.createResolver(o,this.getContext(t,n,e))}const l=new _n(r,a&&a.animations);return a&&a._cacheable&&(i[o]=Object.freeze(l)),l}getSharedOptions(t){if(t.$shared)return this._sharedOptions||(this._sharedOptions=Object.assign({},t))}includeOptions(t,e){return!e||Dn(t)||this.chart._animationsDisabled}updateElement(t,e,n,r){Dn(r)?Object.assign(t,n):this._resolveAnimations(e,r).update(t,n)}updateSharedOptions(t,e,n){t&&!Dn(e)&&this._resolveAnimations(void 0,e).update(t,n)}_setStyle(t,e,n,r){t.active=r;const i=this.getStyle(e,r);this._resolveAnimations(e,n,r).update(t,{options:!r&&this.getSharedOptions(i)||i})}removeHoverStyle(t,e,n){this._setStyle(t,n,"active",!1)}setHoverStyle(t,e,n){this._setStyle(t,n,"active",!0)}_removeDatasetHoverStyle(){const t=this._cachedMeta.dataset;t&&this._setStyle(t,void 0,"active",!1)}_setDatasetHoverStyle(){const t=this._cachedMeta.dataset;t&&this._setStyle(t,void 0,"active",!0)}_resyncElements(t){const e=this._data,n=this._cachedMeta.data;for(const[t,e,n]of this._syncList)this[t](e,n);this._syncList=[];const r=n.length,i=e.length,o=Math.min(i,r);o&&this.parse(0,o),i>r?this._insertElements(r,i-r,t):i{for(t.length+=e,s=t.length-1;s>=o;s--)t[s]=t[s-e]};for(a(i),s=t;st-e)))}return t._cache.$bar}(e,t.type);let r,i,o,s,a=e._length;const l=()=>{32767!==o&&-32768!==o&&(M(s)&&(a=Math.min(a,Math.abs(o-s)||a)),s=o)};for(r=0,i=n.length;rMath.abs(a)&&(l=a,c=s),e[n.axis]=c,e._custom={barStart:l,barEnd:c,start:i,end:o,min:s,max:a}}(t,e,n,r):e[n.axis]=n.parse(t,r),e}function In(t,e,n,r){const i=t.iScale,o=t.vScale,s=i.getLabels(),a=i===o,l=[];let c,u,h,f;for(c=n,u=n+r;ct.x,n="left",r="right"):(e=t.base=n?1:-1)}(u,e,o)*i,f===o&&(m-=u/2),c=m+u),m===e.getPixelForValue(o)){const t=H(u)*e.getLineWidthForValue(o)/2;m+=t,u-=t}return{size:u,base:m,head:c,center:c+u/2}}_calculateBarIndexPixels(t,e){const n=e.scale,r=this.options,i=r.skipNull,o=m(r.maxBarThickness,1/0);let s,a;if(e.grouped){const n=i?this._getStackCount(t):e.stackCount,l="flex"===r.barThickness?function(t,e,n,r){const i=e.pixels,o=i[t];let s=t>0?i[t-1]:null,a=t=0;--n)e=Math.max(e,t[n].size(this.resolveDataElementOptions(n))/2);return e>0&&e}getLabelAndValue(t){const e=this._cachedMeta,{xScale:n,yScale:r}=e,i=this.getParsed(t),o=n.getLabelForValue(i.x),s=r.getLabelForValue(i.y),a=i._custom;return{label:e.label,value:"("+o+", "+s+(a?", "+a:"")+")"}}update(t){const e=this._cachedMeta.data;this.updateElements(e,0,e.length,t)}updateElements(t,e,n,r){const i="reset"===r,{iScale:o,vScale:s}=this._cachedMeta,a=this.resolveDataElementOptions(e,r),l=this.getSharedOptions(a),c=this.includeOptions(r,l),u=o.axis,h=s.axis;for(let a=e;a""}}}};class qn extends Rn{constructor(t,e){super(t,e),this.enableOptionSharing=!0,this.innerRadius=void 0,this.outerRadius=void 0,this.offsetX=void 0,this.offsetY=void 0}linkScales(){}parse(t,e){const n=this.getDataset().data,r=this._cachedMeta;if(!1===this._parsing)r._parsed=n;else{let i,o,s=t=>+n[t];if(d(n[t])){const{key:t="value"}=this._parsing;s=e=>+S(n[e],t)}for(i=t,o=t+e;itt(t,a,l,!0)?1:Math.max(e,e*n,r,r*n),p=(t,e,r)=>tt(t,a,l,!0)?-1:Math.min(e,e*n,r,r*n),g=d(0,c,h),m=d(B,u,f),v=p(R,c,h),y=p(R+B,u,f);r=(g-v)/2,i=(m-y)/2,o=-(g+v)/2,s=-(m+y)/2}return{ratioX:r,ratioY:i,offsetX:o,offsetY:s}}(f,h,a),y=(n.width-o)/d,b=(n.height-o)/p,x=Math.max(Math.min(y,b)/2,0),_=v(this.options.radius,x),w=(_-Math.max(_*a,0))/this._getVisibleDatasetWeightTotal();this.offsetX=g*_,this.offsetY=m*_,r.total=this.calculateTotal(),this.outerRadius=_-w*this._getRingWeightOffset(this.index),this.innerRadius=Math.max(this.outerRadius-w*u,0),this.updateElements(i,0,i.length,t)}_circumference(t,e){const n=this.options,r=this._cachedMeta,i=this._getCircumference();return e&&n.animation.animateRotate||!this.chart.getDataVisibility(t)||null===r._parsed[t]||r.data[t].hidden?0:this.calculateCircumference(r._parsed[t]*i/L)}updateElements(t,e,n,r){const i="reset"===r,o=this.chart,s=o.chartArea,a=o.options.animation,l=(s.left+s.right)/2,c=(s.top+s.bottom)/2,u=i&&a.animateScale,h=u?0:this.innerRadius,f=u?0:this.outerRadius,d=this.resolveDataElementOptions(e,r),p=this.getSharedOptions(d),g=this.includeOptions(r,p);let m,v=this._getRotation();for(m=0;m0&&!isNaN(t)?L*(Math.abs(t)/e):0}getLabelAndValue(t){const e=this._cachedMeta,n=this.chart,r=n.data.labels||[],i=on(e._parsed[t],n.options.locale);return{label:r[t]||"",value:i}}getMaxBorderWidth(t){let e=0;const n=this.chart;let r,i,o,s,a;if(!t)for(r=0,i=n.data.datasets.length;r"spacing"!==t,_indexable:t=>"spacing"!==t},qn.overrides={aspectRatio:1,plugins:{legend:{labels:{generateLabels(t){const e=t.data;if(e.labels.length&&e.datasets.length){const{labels:{pointStyle:n}}=t.legend.options;return e.labels.map(((e,r)=>{const i=t.getDatasetMeta(0).controller.getStyle(r);return{text:e,fillStyle:i.backgroundColor,strokeStyle:i.borderColor,lineWidth:i.borderWidth,pointStyle:n,hidden:!t.getDataVisibility(r),index:r}}))}return[]}},onClick(t,e,n){n.chart.toggleDataVisibility(e.index),n.chart.update()}},tooltip:{callbacks:{title:()=>"",label(t){let e=t.label;const n=": "+t.formattedValue;return f(e)?(e=e.slice(),e[0]+=n):e+=n,e}}}}};class Un extends Rn{initialize(){this.enableOptionSharing=!0,super.initialize()}update(t){const e=this._cachedMeta,{dataset:n,data:r=[],_dataset:i}=e,o=this.chart._animationsDisabled;let{start:s,count:a}=function(t,e,n){const r=e.length;let i=0,o=r;if(t._sorted){const{iScale:s,_parsed:a}=t,l=s.axis,{min:c,max:u,minDefined:h,maxDefined:f}=s.getUserBounds();h&&(i=et(Math.min(ve(a,s.axis,c).lo,n?r:ve(e,l,s.getPixelForValue(c)).lo),0,r-1)),o=f?et(Math.max(ve(a,s.axis,u).hi+1,n?0:ve(e,l,s.getPixelForValue(u)).hi+1),i,r)-i:r-i}return{start:i,count:o}}(e,r,o);this._drawStart=s,this._drawCount=a,function(t){const{xScale:e,yScale:n,_scaleRanges:r}=t,i={xmin:e.min,xmax:e.max,ymin:n.min,ymax:n.max};if(!r)return t._scaleRanges=i,!0;const o=r.xmin!==e.min||r.xmax!==e.max||r.ymin!==n.min||r.ymax!==n.max;return Object.assign(r,i),o}(e)&&(s=0,a=r.length),n._chart=this.chart,n._datasetIndex=this.index,n._decimated=!!i._decimated,n.points=r;const l=this.resolveDatasetElementOptions(t);this.options.showLine||(l.borderWidth=0),l.segment=this.options.segment,this.updateElement(n,void 0,{animated:!o,options:l},t),this.updateElements(r,s,a,t)}updateElements(t,e,n,r){const i="reset"===r,{iScale:o,vScale:s,_stacked:a,_dataset:l}=this._cachedMeta,c=this.resolveDataElementOptions(e,r),u=this.getSharedOptions(c),f=this.includeOptions(r,u),d=o.axis,p=s.axis,{spanGaps:g,segment:m}=this.options,v=q(g)?g:Number.POSITIVE_INFINITY,y=this.chart._animationsDisabled||i||"none"===r;let b=e>0&&this.getParsed(e-1);for(let c=e;c0&&n[d]-b[d]>v,m&&(g.parsed=n,g.raw=l.data[c]),f&&(g.options=u||this.resolveDataElementOptions(c,e.active?"active":r)),y||this.updateElement(e,c,g,r),b=n}this.updateSharedOptions(u,r,c)}getMaxOverflow(){const t=this._cachedMeta,e=t.dataset,n=e.options&&e.options.borderWidth||0,r=t.data||[];if(!r.length)return n;const i=r[0].size(this.resolveDataElementOptions(0)),o=r[r.length-1].size(this.resolveDataElementOptions(r.length-1));return Math.max(n,i,o)/2}draw(){const t=this._cachedMeta;t.dataset.updateControlPoints(this.chart.chartArea,t.iScale.axis),super.draw()}}Un.id="line",Un.defaults={datasetElementType:"line",dataElementType:"point",showLine:!0,spanGaps:!1},Un.overrides={scales:{_index_:{type:"category"},_value_:{type:"linear"}}};class $n extends Rn{constructor(t,e){super(t,e),this.innerRadius=void 0,this.outerRadius=void 0}getLabelAndValue(t){const e=this._cachedMeta,n=this.chart,r=n.data.labels||[],i=on(e._parsed[t].r,n.options.locale);return{label:r[t]||"",value:i}}update(t){const e=this._cachedMeta.data;this._updateRadius(),this.updateElements(e,0,e.length,t)}_updateRadius(){const t=this.chart,e=t.chartArea,n=t.options,r=Math.min(e.right-e.left,e.bottom-e.top),i=Math.max(r/2,0),o=(i-Math.max(n.cutoutPercentage?i/100*n.cutoutPercentage:1,0))/t.getVisibleDatasetCount();this.outerRadius=i-o*this.index,this.innerRadius=this.outerRadius-o}updateElements(t,e,n,r){const i="reset"===r,o=this.chart,s=this.getDataset(),a=o.options.animation,l=this._cachedMeta.rScale,c=l.xCenter,u=l.yCenter,h=l.getIndexAngle(0)-.5*R;let f,d=h;const p=360/this.countVisibleElements();for(f=0;f{!isNaN(t.data[r])&&this.chart.getDataVisibility(r)&&n++})),n}_computeAngle(t,e,n){return this.chart.getDataVisibility(t)?Y(this.resolveDataElementOptions(t,e).angle||n):0}}$n.id="polarArea",$n.defaults={dataElementType:"arc",animation:{animateRotate:!0,animateScale:!0},animations:{numbers:{type:"number",properties:["x","y","startAngle","endAngle","innerRadius","outerRadius"]}},indexAxis:"r",startAngle:0},$n.overrides={aspectRatio:1,plugins:{legend:{labels:{generateLabels(t){const e=t.data;if(e.labels.length&&e.datasets.length){const{labels:{pointStyle:n}}=t.legend.options;return e.labels.map(((e,r)=>{const i=t.getDatasetMeta(0).controller.getStyle(r);return{text:e,fillStyle:i.backgroundColor,strokeStyle:i.borderColor,lineWidth:i.borderWidth,pointStyle:n,hidden:!t.getDataVisibility(r),index:r}}))}return[]}},onClick(t,e,n){n.chart.toggleDataVisibility(e.index),n.chart.update()}},tooltip:{callbacks:{title:()=>"",label:t=>t.chart.data.labels[t.dataIndex]+": "+t.formattedValue}}},scales:{r:{type:"radialLinear",angleLines:{display:!1},beginAtZero:!0,grid:{circular:!0},pointLabels:{display:!1},startAngle:0}}};class Yn extends qn{}Yn.id="pie",Yn.defaults={cutout:0,rotation:0,circumference:360,radius:"100%"};class Xn extends Rn{getLabelAndValue(t){const e=this._cachedMeta.vScale,n=this.getParsed(t);return{label:e.getLabels()[t],value:""+e.getLabelForValue(n[e.axis])}}update(t){const e=this._cachedMeta,n=e.dataset,r=e.data||[],i=e.iScale.getLabels();if(n.points=r,"resize"!==t){const e=this.resolveDatasetElementOptions(t);this.options.showLine||(e.borderWidth=0);const o={_loop:!0,_fullLoop:i.length===r.length,options:e};this.updateElement(n,void 0,o,t)}this.updateElements(r,0,r.length,t)}updateElements(t,e,n,r){const i=this.getDataset(),o=this._cachedMeta.rScale,s="reset"===r;for(let a=e;a"",label:t=>"("+t.label+", "+t.formattedValue+")"}}},scales:{x:{type:"linear"},y:{type:"linear"}}};var Kn=Object.freeze({__proto__:null,BarController:Hn,BubbleController:Vn,DoughnutController:qn,LineController:Un,PolarAreaController:$n,PieController:Yn,RadarController:Xn,ScatterController:Gn});function Zn(){throw new Error("This method is not implemented: Check that a complete date adapter is provided.")}class Qn{constructor(t){this.options=t||{}}formats(){return Zn()}parse(t,e){return Zn()}format(t,e){return Zn()}add(t,e,n){return Zn()}diff(t,e,n){return Zn()}startOf(t,e,n){return Zn()}endOf(t,e){return Zn()}}Qn.override=function(t){Object.assign(Qn.prototype,t)};var Jn={_date:Qn};function tr(t,e){return"native"in t?{x:t.x,y:t.y}:Xe(t,e)}function er(t,e,n,r){const{controller:i,data:o,_sorted:s}=t,a=i._cachedMeta.iScale;if(a&&e===a.axis&&"r"!==e&&s&&o.length){const t=a._reversePixels?ye:ve;if(!r)return t(o,e,n);if(i._sharedOptions){const r=o[0],i="function"==typeof r.getRange&&r.getRange(e);if(i){const r=t(o,e,n-i),s=t(o,e,n+i);return{lo:r.lo,hi:s.hi}}}}return{lo:0,hi:o.length-1}}function nr(t,e,n,r,i){const o=t.getSortedVisibleDatasetMetas(),s=n[e];for(let t=0,n=o.length;t{t[a](i[s],r)&&o.push({element:t,datasetIndex:e,index:n}),t.inRange(i.x,i.y,r)&&(l=!0)})),n.intersect&&!l?[]:o}var ar={modes:{index(t,e,n,r){const i=tr(e,t),o=n.axis||"x",s=n.intersect?rr(t,i,o,r):or(t,i,o,!1,r),a=[];return s.length?(t.getSortedVisibleDatasetMetas().forEach((t=>{const e=s[0].index,n=t.data[e];n&&!n.skip&&a.push({element:n,datasetIndex:t.index,index:e})})),a):[]},dataset(t,e,n,r){const i=tr(e,t),o=n.axis||"xy";let s=n.intersect?rr(t,i,o,r):or(t,i,o,!1,r);if(s.length>0){const e=s[0].datasetIndex,n=t.getDatasetMeta(e).data;s=[];for(let t=0;trr(t,tr(e,t),n.axis||"xy",r),nearest:(t,e,n,r)=>or(t,tr(e,t),n.axis||"xy",n.intersect,r),x:(t,e,n,r)=>sr(t,e,{axis:"x",intersect:n.intersect},r),y:(t,e,n,r)=>sr(t,e,{axis:"y",intersect:n.intersect},r)}};const lr=["left","top","right","bottom"];function cr(t,e){return t.filter((t=>t.pos===e))}function ur(t,e){return t.filter((t=>-1===lr.indexOf(t.pos)&&t.box.axis===e))}function hr(t,e){return t.sort(((t,n)=>{const r=e?n:t,i=e?t:n;return r.weight===i.weight?r.index-i.index:r.weight-i.weight}))}function fr(t,e){const n=function(t){const e={};for(const n of t){const{stack:t,pos:r,stackWeight:i}=n;if(!t||!lr.includes(r))continue;const o=e[t]||(e[t]={count:0,placed:0,weight:0,size:0});o.count++,o.weight+=i}return e}(t),{vBoxMaxWidth:r,hBoxMaxHeight:i}=e;let o,s,a;for(o=0,s=t.length;o{r[t]=Math.max(e[t],n[t])})),r}return r(t?["left","right"]:["top","bottom"])}function vr(t,e,n,r){const i=[];let o,s,a,l,c,u;for(o=0,s=t.length,c=0;ot.box.fullSize)),!0),r=hr(cr(e,"left"),!0),i=hr(cr(e,"right")),o=hr(cr(e,"top"),!0),s=hr(cr(e,"bottom")),a=ur(e,"x"),l=ur(e,"y");return{fullSize:n,leftAndTop:r.concat(o),rightAndBottom:i.concat(l).concat(s).concat(a),chartArea:cr(e,"chartArea"),vertical:r.concat(i).concat(l),horizontal:o.concat(s).concat(a)}}(t.boxes),l=a.vertical,c=a.horizontal;b(t.boxes,(t=>{"function"==typeof t.beforeLayout&&t.beforeLayout()}));const u=l.reduce(((t,e)=>e.box.options&&!1===e.box.options.display?t:t+1),0)||1,h=Object.freeze({outerWidth:e,outerHeight:n,padding:i,availableWidth:o,availableHeight:s,vBoxMaxWidth:o/2/u,hBoxMaxHeight:s/2}),f=Object.assign({},i);pr(f,fe(r));const d=Object.assign({maxPadding:f,w:o,h:s,x:i.left,y:i.top},i),p=fr(l.concat(c),h);vr(a.fullSize,d,h,p),vr(l,d,h,p),vr(c,d,h,p)&&vr(l,d,h,p),function(t){const e=t.maxPadding;function n(n){const r=Math.max(e[n]-t[n],0);return t[n]+=r,r}t.y+=n("top"),t.x+=n("left"),n("right"),n("bottom")}(d),br(a.leftAndTop,d,h,p),d.x+=d.w,d.y+=d.h,br(a.rightAndBottom,d,h,p),t.chartArea={left:d.left,top:d.top,right:d.left+d.w,bottom:d.top+d.h,height:d.h,width:d.w},b(a.chartArea,(e=>{const n=e.box;Object.assign(n,t.chartArea),n.update(d.w,d.h,{left:0,top:0,right:0,bottom:0})}))}};class _r{acquireContext(t,e){}releaseContext(t){return!1}addEventListener(t,e,n){}removeEventListener(t,e,n){}getDevicePixelRatio(){return 1}getMaximumSize(t,e,n,r){return e=Math.max(0,e||t.width),n=n||t.height,{width:e,height:Math.max(0,r?Math.floor(e/r):n)}}isAttached(t){return!0}updateConfig(t){}}class wr extends _r{acquireContext(t){return t&&t.getContext&&t.getContext("2d")||null}updateConfig(t){t.options.animation=!1}}const kr={touchstart:"mousedown",touchmove:"mousemove",touchend:"mouseup",pointerenter:"mouseenter",pointerdown:"mousedown",pointermove:"mousemove",pointerup:"mouseup",pointerleave:"mouseout",pointerout:"mouseout"},Cr=t=>null===t||""===t;const Er=!!Qe&&{passive:!0};function Or(t,e,n){t.canvas.removeEventListener(e,n,Er)}function Ar(t,e){for(const n of t)if(n===e||n.contains(e))return!0}function Sr(t,e,n){const r=t.canvas,i=new MutationObserver((t=>{let e=!1;for(const n of t)e=e||Ar(n.addedNodes,r),e=e&&!Ar(n.removedNodes,r);e&&n()}));return i.observe(document,{childList:!0,subtree:!0}),i}function Tr(t,e,n){const r=t.canvas,i=new MutationObserver((t=>{let e=!1;for(const n of t)e=e||Ar(n.removedNodes,r),e=e&&!Ar(n.addedNodes,r);e&&n()}));return i.observe(document,{childList:!0,subtree:!0}),i}const Mr=new Map;let Dr=0;function Pr(){const t=window.devicePixelRatio;t!==Dr&&(Dr=t,Mr.forEach(((e,n)=>{n.currentDevicePixelRatio!==t&&e()})))}function Rr(t,e,n){const r=t.canvas,i=r&&Ve(r);if(!i)return;const o=s(((t,e)=>{const r=i.clientWidth;n(t,e),r{const e=t[0],n=e.contentRect.width,r=e.contentRect.height;0===n&&0===r||o(n,r)}));return a.observe(i),function(t,e){Mr.size||window.addEventListener("resize",Pr),Mr.set(t,e)}(t,o),a}function Lr(t,e,n){n&&n.disconnect(),"resize"===e&&function(t){Mr.delete(t),Mr.size||window.removeEventListener("resize",Pr)}(t)}function jr(t,e,n){const r=t.canvas,i=s((e=>{null!==t.ctx&&n(function(t,e){const n=kr[t.type]||t.type,{x:r,y:i}=Xe(t,e);return{type:n,chart:e,native:t,x:void 0!==r?r:null,y:void 0!==i?i:null}}(e,t))}),t,(t=>{const e=t[0];return[e,e.offsetX,e.offsetY]}));return function(t,e,n){t.addEventListener(e,n,Er)}(r,e,i),i}class Ir extends _r{acquireContext(t,e){const n=t&&t.getContext&&t.getContext("2d");return n&&n.canvas===t?(function(t,e){const n=t.style,r=t.getAttribute("height"),i=t.getAttribute("width");if(t.$chartjs={initial:{height:r,width:i,style:{display:n.display,height:n.height,width:n.width}}},n.display=n.display||"block",n.boxSizing=n.boxSizing||"border-box",Cr(i)){const e=Je(t,"width");void 0!==e&&(t.width=e)}if(Cr(r))if(""===t.style.height)t.height=t.width/(e||2);else{const e=Je(t,"height");void 0!==e&&(t.height=e)}}(t,e),n):null}releaseContext(t){const e=t.canvas;if(!e.$chartjs)return!1;const n=e.$chartjs.initial;["height","width"].forEach((t=>{const r=n[t];h(r)?e.removeAttribute(t):e.setAttribute(t,r)}));const r=n.style||{};return Object.keys(r).forEach((t=>{e.style[t]=r[t]})),e.width=e.width,delete e.$chartjs,!0}addEventListener(t,e,n){this.removeEventListener(t,e);const r=t.$proxies||(t.$proxies={}),i={attach:Sr,detach:Tr,resize:Rr}[e]||jr;r[e]=i(t,e,n)}removeEventListener(t,e){const n=t.$proxies||(t.$proxies={}),r=n[e];if(!r)return;({attach:Lr,detach:Lr,resize:Lr}[e]||Or)(t,e,r),n[e]=void 0}getDevicePixelRatio(){return window.devicePixelRatio}getMaximumSize(t,e,n,r){return Ke(t,e,n,r)}isAttached(t){const e=Ve(t);return!(!e||!e.isConnected)}}class Nr{constructor(){this.x=void 0,this.y=void 0,this.active=!1,this.options=void 0,this.$animations=void 0}tooltipPosition(t){const{x:e,y:n}=this.getProps(["x","y"],t);return{x:e,y:n}}hasValue(){return q(this.x)&&q(this.y)}getProps(t,e){const n=this.$animations;if(!e||!n)return this;const r={};return t.forEach((t=>{r[t]=n[t]&&n[t].active()?n[t]._to:this[t]})),r}}Nr.defaults={},Nr.defaultRoutes=void 0;const Br={values:t=>f(t)?t:""+t,numeric(t,e,n){if(0===t)return"0";const r=this.chart.options.locale;let i,o=t;if(n.length>1){const e=Math.max(Math.abs(n[0].value),Math.abs(n[n.length-1].value));(e<1e-4||e>1e15)&&(i="scientific"),o=function(t,e){let n=e.length>3?e[2].value-e[1].value:e[1].value-e[0].value;Math.abs(n)>=1&&t!==Math.floor(t)&&(n=t-Math.floor(t));return n}(t,n)}const s=W(Math.abs(o)),a=Math.max(Math.min(-1*Math.floor(s),20),0),l={notation:i,minimumFractionDigits:a,maximumFractionDigits:a};return Object.assign(l,this.options.ticks.format),on(t,r,l)},logarithmic(t,e,n){if(0===t)return"0";const r=t/Math.pow(10,Math.floor(W(t)));return 1===r||2===r||5===r?Br.numeric.call(this,t,e,n):""}};var zr={formatters:Br};function Fr(t,e){const n=t.options.ticks,r=n.maxTicksLimit||function(t){const e=t.options.offset,n=t._tickSize(),r=t._length/n+(e?0:1),i=t._maxLength/n;return Math.floor(Math.min(r,i))}(t),i=n.major.enabled?function(t){const e=[];let n,r;for(n=0,r=t.length;nr)return function(t,e,n,r){let i,o=0,s=n[0];for(r=Math.ceil(r),i=0;it-e)).pop(),e}(r);for(let t=0,e=o.length-1;ti)return e}return Math.max(i,1)}(i,e,r);if(o>0){let t,n;const r=o>1?Math.round((a-s)/(o-1)):null;for(Wr(e,l,c,h(r)?0:s-r,s),t=0,n=o-1;te.lineWidth,tickColor:(t,e)=>e.color,offset:!1,borderDash:[],borderDashOffset:0,borderWidth:1},title:{display:!1,text:"",padding:{top:4,bottom:4}},ticks:{minRotation:0,maxRotation:50,mirror:!1,textStrokeWidth:0,textStrokeColor:"",padding:3,display:!0,autoSkip:!0,autoSkipPadding:3,labelOffset:0,callback:zr.formatters.values,minor:{},major:{},align:"center",crossAlign:"near",showLabelBackdrop:!1,backdropColor:"rgba(255, 255, 255, 0.75)",backdropPadding:2}}),$t.route("scale.ticks","color","","color"),$t.route("scale.grid","color","","borderColor"),$t.route("scale.grid","borderColor","","borderColor"),$t.route("scale.title","color","","color"),$t.describe("scale",{_fallback:!1,_scriptable:t=>!t.startsWith("before")&&!t.startsWith("after")&&"callback"!==t&&"parser"!==t,_indexable:t=>"borderDash"!==t&&"tickBorderDash"!==t}),$t.describe("scales",{_fallback:"scale"}),$t.describe("scale.ticks",{_scriptable:t=>"backdropPadding"!==t&&"callback"!==t,_indexable:t=>"backdropPadding"!==t});const Hr=(t,e,n)=>"top"===e||"left"===e?t[e]+n:t[e]-n;function Vr(t,e){const n=[],r=t.length/e,i=t.length;let o=0;for(;os+a)))return c}function Ur(t){return t.drawTicks?t.tickLength:0}function $r(t,e){if(!t.display)return 0;const n=de(t.font,e),r=fe(t.padding);return(f(t.text)?t.text.length:1)*n.lineHeight+r.height}function Yr(t,e,n){let r=a(t);return(n&&"right"!==e||!n&&"right"===e)&&(r=(t=>"left"===t?"right":"right"===t?"left":t)(r)),r}class Xr extends Nr{constructor(t){super(),this.id=t.id,this.type=t.type,this.options=void 0,this.ctx=t.ctx,this.chart=t.chart,this.top=void 0,this.bottom=void 0,this.left=void 0,this.right=void 0,this.width=void 0,this.height=void 0,this._margins={left:0,right:0,top:0,bottom:0},this.maxWidth=void 0,this.maxHeight=void 0,this.paddingTop=void 0,this.paddingBottom=void 0,this.paddingLeft=void 0,this.paddingRight=void 0,this.axis=void 0,this.labelRotation=void 0,this.min=void 0,this.max=void 0,this._range=void 0,this.ticks=[],this._gridLineItems=null,this._labelItems=null,this._labelSizes=null,this._length=0,this._maxLength=0,this._longestTextCache={},this._startPixel=void 0,this._endPixel=void 0,this._reversePixels=!1,this._userMax=void 0,this._userMin=void 0,this._suggestedMax=void 0,this._suggestedMin=void 0,this._ticksLength=0,this._borderValue=0,this._cache={},this._dataLimitsCached=!1,this.$context=void 0}init(t){this.options=t.setContext(this.getContext()),this.axis=t.axis,this._userMin=this.parse(t.min),this._userMax=this.parse(t.max),this._suggestedMin=this.parse(t.suggestedMin),this._suggestedMax=this.parse(t.suggestedMax)}parse(t,e){return t}getUserBounds(){let{_userMin:t,_userMax:e,_suggestedMin:n,_suggestedMax:r}=this;return t=g(t,Number.POSITIVE_INFINITY),e=g(e,Number.NEGATIVE_INFINITY),n=g(n,Number.POSITIVE_INFINITY),r=g(r,Number.NEGATIVE_INFINITY),{min:g(t,n),max:g(e,r),minDefined:p(t),maxDefined:p(e)}}getMinMax(t){let e,{min:n,max:r,minDefined:i,maxDefined:o}=this.getUserBounds();if(i&&o)return{min:n,max:r};const s=this.getMatchingVisibleMetas();for(let a=0,l=s.length;ar?r:n,r=i&&n>r?n:r,{min:g(n,g(r,n)),max:g(r,g(n,r))}}getPadding(){return{left:this.paddingLeft||0,top:this.paddingTop||0,right:this.paddingRight||0,bottom:this.paddingBottom||0}}getTicks(){return this.ticks}getLabels(){const t=this.chart.data;return this.options.labels||(this.isHorizontal()?t.xLabels:t.yLabels)||t.labels||[]}beforeLayout(){this._cache={},this._dataLimitsCached=!1}beforeUpdate(){y(this.options.beforeUpdate,[this])}update(t,e,n){const{beginAtZero:r,grace:i,ticks:o}=this.options,s=o.sampleSize;this.beforeUpdate(),this.maxWidth=t,this.maxHeight=e,this._margins=n=Object.assign({left:0,right:0,top:0,bottom:0},n),this.ticks=null,this._labelSizes=null,this._gridLineItems=null,this._labelItems=null,this.beforeSetDimensions(),this.setDimensions(),this.afterSetDimensions(),this._maxLength=this.isHorizontal()?this.width+n.left+n.right:this.height+n.top+n.bottom,this._dataLimitsCached||(this.beforeDataLimits(),this.determineDataLimits(),this.afterDataLimits(),this._range=function(t,e,n){const{min:r,max:i}=t,o=v(e,(i-r)/2),s=(t,e)=>n&&0===t?0:t+e;return{min:s(r,-Math.abs(o)),max:s(i,o)}}(this,i,r),this._dataLimitsCached=!0),this.beforeBuildTicks(),this.ticks=this.buildTicks()||[],this.afterBuildTicks();const a=s=i||n<=1||!this.isHorizontal())return void(this.labelRotation=r);const c=this._getLabelSizes(),u=c.widest.width,h=c.highest.height,f=et(this.chart.width-u,0,this.maxWidth);o=t.offset?this.maxWidth/n:f/(n-1),u+6>o&&(o=f/(n-(t.offset?.5:1)),s=this.maxHeight-Ur(t.grid)-e.padding-$r(t.title,this.chart.options.font),a=Math.sqrt(u*u+h*h),l=X(Math.min(Math.asin(et((c.highest.height+6)/o,-1,1)),Math.asin(et(s/a,-1,1))-Math.asin(et(h/a,-1,1)))),l=Math.max(r,Math.min(i,l))),this.labelRotation=l}afterCalculateLabelRotation(){y(this.options.afterCalculateLabelRotation,[this])}beforeFit(){y(this.options.beforeFit,[this])}fit(){const t={width:0,height:0},{chart:e,options:{ticks:n,title:r,grid:i}}=this,o=this._isVisible(),s=this.isHorizontal();if(o){const o=$r(r,e.options.font);if(s?(t.width=this.maxWidth,t.height=Ur(i)+o):(t.height=this.maxHeight,t.width=Ur(i)+o),n.display&&this.ticks.length){const{first:e,last:r,widest:i,highest:o}=this._getLabelSizes(),a=2*n.padding,l=Y(this.labelRotation),c=Math.cos(l),u=Math.sin(l);if(s){const e=n.mirror?0:u*i.width+c*o.height;t.height=Math.min(this.maxHeight,t.height+e+a)}else{const e=n.mirror?0:c*i.width+u*o.height;t.width=Math.min(this.maxWidth,t.width+e+a)}this._calculatePadding(e,r,u,c)}}this._handleMargins(),s?(this.width=this._length=e.width-this._margins.left-this._margins.right,this.height=t.height):(this.width=t.width,this.height=this._length=e.height-this._margins.top-this._margins.bottom)}_calculatePadding(t,e,n,r){const{ticks:{align:i,padding:o},position:s}=this.options,a=0!==this.labelRotation,l="top"!==s&&"x"===this.axis;if(this.isHorizontal()){const s=this.getPixelForTick(0)-this.left,c=this.right-this.getPixelForTick(this.ticks.length-1);let u=0,h=0;a?l?(u=r*t.width,h=n*e.height):(u=n*t.height,h=r*e.width):"start"===i?h=e.width:"end"===i?u=t.width:(u=t.width/2,h=e.width/2),this.paddingLeft=Math.max((u-s+o)*this.width/(this.width-s),0),this.paddingRight=Math.max((h-c+o)*this.width/(this.width-c),0)}else{let n=e.height/2,r=t.height/2;"start"===i?(n=0,r=t.height):"end"===i&&(n=e.height,r=0),this.paddingTop=n+o,this.paddingBottom=r+o}}_handleMargins(){this._margins&&(this._margins.left=Math.max(this.paddingLeft,this._margins.left),this._margins.top=Math.max(this.paddingTop,this._margins.top),this._margins.right=Math.max(this.paddingRight,this._margins.right),this._margins.bottom=Math.max(this.paddingBottom,this._margins.bottom))}afterFit(){y(this.options.afterFit,[this])}isHorizontal(){const{axis:t,position:e}=this.options;return"top"===e||"bottom"===e||"x"===t}isFullSize(){return this.options.fullSize}_convertTicksToLabels(t){let e,n;for(this.beforeTickToLabelConversion(),this.generateTickLabels(t),e=0,n=t.length;e{const n=t.gc,r=n.length/2;let i;if(r>e){for(i=0;i({width:i[t]||0,height:o[t]||0});return{first:C(0),last:C(e-1),widest:C(w),highest:C(k),widths:i,heights:o}}getLabelForValue(t){return t}getPixelForValue(t,e){return NaN}getValueForPixel(t){}getPixelForTick(t){const e=this.ticks;return t<0||t>e.length-1?null:this.getPixelForValue(e[t].value)}getPixelForDecimal(t){this._reversePixels&&(t=1-t);const e=this._startPixel+t*this._length;return et(this._alignToPixels?Gt(this.chart,e,0):e,-32768,32767)}getDecimalForPixel(t){const e=(t-this._startPixel)/this._length;return this._reversePixels?1-e:e}getBasePixel(){return this.getPixelForValue(this.getBaseValue())}getBaseValue(){const{min:t,max:e}=this;return t<0&&e<0?e:t>0&&e>0?t:0}getContext(t){const e=this.ticks||[];if(t>=0&&ts*r?s/n:a/r:a*r0}_computeGridLineItems(t){const e=this.axis,n=this.chart,r=this.options,{grid:i,position:o}=r,s=i.offset,a=this.isHorizontal(),l=this.ticks.length+(s?1:0),c=Ur(i),u=[],h=i.setContext(this.getContext()),f=h.drawBorder?h.borderWidth:0,p=f/2,g=function(t){return Gt(n,t,f)};let v,y,b,x,_,w,k,C,E,O,A,S;if("top"===o)v=g(this.bottom),w=this.bottom-c,C=v-p,O=g(t.top)+p,S=t.bottom;else if("bottom"===o)v=g(this.top),O=t.top,S=g(t.bottom)-p,w=v+p,C=this.top+c;else if("left"===o)v=g(this.right),_=this.right-c,k=v-p,E=g(t.left)+p,A=t.right;else if("right"===o)v=g(this.left),E=t.left,A=g(t.right)-p,_=v+p,k=this.left+c;else if("x"===e){if("center"===o)v=g((t.top+t.bottom)/2+.5);else if(d(o)){const t=Object.keys(o)[0],e=o[t];v=g(this.chart.scales[t].getPixelForValue(e))}O=t.top,S=t.bottom,w=v+p,C=w+c}else if("y"===e){if("center"===o)v=g((t.left+t.right)/2);else if(d(o)){const t=Object.keys(o)[0],e=o[t];v=g(this.chart.scales[t].getPixelForValue(e))}_=v-p,k=_-c,E=t.left,A=t.right}const T=m(r.ticks.maxTicksLimit,l),M=Math.max(1,Math.ceil(l/T));for(y=0;ye.value===t));if(n>=0){return e.setContext(this.getContext(n)).lineWidth}return 0}drawGrid(t){const e=this.options.grid,n=this.ctx,r=this._gridLineItems||(this._gridLineItems=this._computeGridLineItems(t));let i,o;const s=(t,e,r)=>{r.width&&r.color&&(n.save(),n.lineWidth=r.width,n.strokeStyle=r.color,n.setLineDash(r.borderDash||[]),n.lineDashOffset=r.borderDashOffset,n.beginPath(),n.moveTo(t.x,t.y),n.lineTo(e.x,e.y),n.stroke(),n.restore())};if(e.display)for(i=0,o=r.length;i{this.drawBackground(),this.drawGrid(t),this.drawTitle()}},{z:n+1,draw:()=>{this.drawBorder()}},{z:e,draw:t=>{this.drawLabels(t)}}]:[{z:e,draw:t=>{this.draw(t)}}]}getMatchingVisibleMetas(t){const e=this.chart.getSortedVisibleDatasetMetas(),n=this.axis+"AxisID",r=[];let i,o;for(i=0,o=e.length;i{const r=n.split("."),i=r.pop(),o=[t].concat(r).join("."),s=e[n].split("."),a=s.pop(),l=s.join(".");$t.route(o,i,l,a)}))}(e,t.defaultRoutes);t.descriptors&&$t.describe(e,t.descriptors)}(t,o,n),this.override&&$t.override(t.id,t.overrides)),o}get(t){return this.items[t]}unregister(t){const e=this.items,n=t.id,r=this.scope;n in e&&delete e[n],r&&n in $t[r]&&(delete $t[r][n],this.override&&delete Ht[n])}}var Kr=new class{constructor(){this.controllers=new Gr(Rn,"datasets",!0),this.elements=new Gr(Nr,"elements"),this.plugins=new Gr(Object,"plugins"),this.scales=new Gr(Xr,"scales"),this._typedRegistries=[this.controllers,this.scales,this.elements]}add(...t){this._each("register",t)}remove(...t){this._each("unregister",t)}addControllers(...t){this._each("register",t,this.controllers)}addElements(...t){this._each("register",t,this.elements)}addPlugins(...t){this._each("register",t,this.plugins)}addScales(...t){this._each("register",t,this.scales)}getController(t){return this._get(t,this.controllers,"controller")}getElement(t){return this._get(t,this.elements,"element")}getPlugin(t){return this._get(t,this.plugins,"plugin")}getScale(t){return this._get(t,this.scales,"scale")}removeControllers(...t){this._each("unregister",t,this.controllers)}removeElements(...t){this._each("unregister",t,this.elements)}removePlugins(...t){this._each("unregister",t,this.plugins)}removeScales(...t){this._each("unregister",t,this.scales)}_each(t,e,n){[...e].forEach((e=>{const r=n||this._getRegistryForType(e);n||r.isForType(e)||r===this.plugins&&e.id?this._exec(t,r,e):b(e,(e=>{const r=n||this._getRegistryForType(e);this._exec(t,r,e)}))}))}_exec(t,e,n){const r=T(t);y(n["before"+r],[],n),e[t](n),y(n["after"+r],[],n)}_getRegistryForType(t){for(let e=0;et.filter((t=>!e.some((e=>t.plugin.id===e.plugin.id))));this._notify(r(e,n),t,"stop"),this._notify(r(n,e),t,"start")}}function Qr(t,e){return e||!1!==t?!0===t?{}:t:null}function Jr(t,e,n,r){const i=t.pluginScopeKeys(e),o=t.getOptionScopes(n,i);return t.createResolver(o,r,[""],{scriptable:!1,indexable:!1,allKeys:!0})}function ti(t,e){const n=$t.datasets[t]||{};return((e.datasets||{})[t]||{}).indexAxis||e.indexAxis||n.indexAxis||"x"}function ei(t,e){return"x"===t||"y"===t?t:e.axis||("top"===(n=e.position)||"bottom"===n?"x":"left"===n||"right"===n?"y":void 0)||t.charAt(0).toLowerCase();var n}function ni(t){const e=t.options||(t.options={});e.plugins=m(e.plugins,{}),e.scales=function(t,e){const n=Ht[t.type]||{scales:{}},r=e.scales||{},i=ti(t.type,e),o=Object.create(null),s=Object.create(null);return Object.keys(r).forEach((t=>{const e=r[t];if(!d(e))return console.error(`Invalid scale configuration for scale: ${t}`);if(e._proxy)return console.warn(`Ignoring resolver passed as options for scale: ${t}`);const a=ei(t,e),l=function(t,e){return t===e?"_index_":"_value_"}(a,i),c=n.scales||{};o[a]=o[a]||t,s[t]=E(Object.create(null),[{axis:a},e,c[a],c[l]])})),t.data.datasets.forEach((n=>{const i=n.type||t.type,a=n.indexAxis||ti(i,e),l=(Ht[i]||{}).scales||{};Object.keys(l).forEach((t=>{const e=function(t,e){let n=t;return"_index_"===t?n=e:"_value_"===t&&(n="x"===e?"y":"x"),n}(t,a),i=n[e+"AxisID"]||o[e]||e;s[i]=s[i]||Object.create(null),E(s[i],[{axis:e},r[i],l[t]])}))})),Object.keys(s).forEach((t=>{const e=s[t];E(e,[$t.scales[e.type],$t.scale])})),s}(t,e)}function ri(t){return(t=t||{}).datasets=t.datasets||[],t.labels=t.labels||[],t}const ii=new Map,oi=new Set;function si(t,e){let n=ii.get(t);return n||(n=e(),ii.set(t,n),oi.add(n)),n}const ai=(t,e,n)=>{const r=S(e,n);void 0!==r&&t.add(r)};class li{constructor(t){this._config=function(t){return(t=t||{}).data=ri(t.data),ni(t),t}(t),this._scopeCache=new Map,this._resolverCache=new Map}get platform(){return this._config.platform}get type(){return this._config.type}set type(t){this._config.type=t}get data(){return this._config.data}set data(t){this._config.data=ri(t)}get options(){return this._config.options}set options(t){this._config.options=t}get plugins(){return this._config.plugins}update(){const t=this._config;this.clearCache(),ni(t)}clearCache(){this._scopeCache.clear(),this._resolverCache.clear()}datasetScopeKeys(t){return si(t,(()=>[[`datasets.${t}`,""]]))}datasetAnimationScopeKeys(t,e){return si(`${t}.transition.${e}`,(()=>[[`datasets.${t}.transitions.${e}`,`transitions.${e}`],[`datasets.${t}`,""]]))}datasetElementScopeKeys(t,e){return si(`${t}-${e}`,(()=>[[`datasets.${t}.elements.${e}`,`datasets.${t}`,`elements.${e}`,""]]))}pluginScopeKeys(t){const e=t.id;return si(`${this.type}-plugin-${e}`,(()=>[[`plugins.${e}`,...t.additionalOptionScopes||[]]]))}_cachedScopes(t,e){const n=this._scopeCache;let r=n.get(t);return r&&!e||(r=new Map,n.set(t,r)),r}getOptionScopes(t,e,n){const{options:r,type:i}=this,o=this._cachedScopes(t,n),s=o.get(e);if(s)return s;const a=new Set;e.forEach((e=>{t&&(a.add(t),e.forEach((e=>ai(a,t,e)))),e.forEach((t=>ai(a,r,t))),e.forEach((t=>ai(a,Ht[i]||{},t))),e.forEach((t=>ai(a,$t,t))),e.forEach((t=>ai(a,Vt,t)))}));const l=Array.from(a);return 0===l.length&&l.push(Object.create(null)),oi.has(e)&&o.set(e,l),l}chartOptionScopes(){const{options:t,type:e}=this;return[t,Ht[e]||{},$t.datasets[e]||{},{type:e},$t,Vt]}resolveNamedOptions(t,e,n,r=[""]){const i={$shared:!0},{resolver:o,subPrefixes:s}=ci(this._resolverCache,t,r);let a=o;if(function(t,e){const{isScriptable:n,isIndexable:r}=Ce(t);for(const i of e){const e=n(i),o=r(i),s=(o||e)&&t[i];if(e&&(D(s)||ui(s))||o&&f(s))return!0}return!1}(o,e)){i.$shared=!1;a=ke(o,n=D(n)?n():n,this.createResolver(t,n,s))}for(const t of e)i[t]=a[t];return i}createResolver(t,e,n=[""],r){const{resolver:i}=ci(this._resolverCache,t,n);return d(e)?ke(i,e,void 0,r):i}}function ci(t,e,n){let r=t.get(e);r||(r=new Map,t.set(e,r));const i=n.join();let o=r.get(i);if(!o){o={resolver:we(e,n),subPrefixes:n.filter((t=>!t.toLowerCase().includes("hover")))},r.set(i,o)}return o}const ui=t=>d(t)&&Object.getOwnPropertyNames(t).reduce(((e,n)=>e||D(t[n])),!1);const hi=["top","bottom","left","right","chartArea"];function fi(t,e){return"top"===t||"bottom"===t||-1===hi.indexOf(t)&&"x"===e}function di(t,e){return function(n,r){return n[t]===r[t]?n[e]-r[e]:n[t]-r[t]}}function pi(t){const e=t.chart,n=e.options.animation;e.notifyPlugins("afterRender"),y(n&&n.onComplete,[t],e)}function gi(t){const e=t.chart,n=e.options.animation;y(n&&n.onProgress,[t],e)}function mi(t){return He()&&"string"==typeof t?t=document.getElementById(t):t&&t.length&&(t=t[0]),t&&t.canvas&&(t=t.canvas),t}const vi={},yi=t=>{const e=mi(t);return Object.values(vi).filter((t=>t.canvas===e)).pop()};function bi(t,e,n){const r=Object.keys(t);for(const i of r){const r=+i;if(r>=e){const o=t[i];delete t[i],(n>0||r>e)&&(t[r+n]=o)}}}class xi{constructor(t,e){const n=this.config=new li(e),r=mi(t),i=yi(r);if(i)throw new Error("Canvas is already in use. Chart with ID '"+i.id+"' must be destroyed before the canvas can be reused.");const o=n.createResolver(n.chartOptionScopes(),this.getContext());this.platform=new(n.platform||function(t){return!He()||"undefined"!=typeof OffscreenCanvas&&t instanceof OffscreenCanvas?wr:Ir}(r)),this.platform.updateConfig(n);const s=this.platform.acquireContext(r,o.aspectRatio),a=s&&s.canvas,l=a&&a.height,c=a&&a.width;this.id=u(),this.ctx=s,this.canvas=a,this.width=c,this.height=l,this._options=o,this._aspectRatio=this.aspectRatio,this._layers=[],this._metasets=[],this._stacks=void 0,this.boxes=[],this.currentDevicePixelRatio=void 0,this.chartArea=void 0,this._active=[],this._lastEvent=void 0,this._listeners={},this._responsiveListeners=void 0,this._sortedMetasets=[],this.scales={},this._plugins=new Zr,this.$proxies={},this._hiddenIndices={},this.attached=!1,this._animationsDisabled=void 0,this.$context=void 0,this._doResize=function(t,e){let n;return function(...r){return e?(clearTimeout(n),n=setTimeout(t,e,r)):t.apply(this,r),e}}((t=>this.update(t)),o.resizeDelay||0),this._dataChanges=[],vi[this.id]=this,s&&a?(mn.listen(this,"complete",pi),mn.listen(this,"progress",gi),this._initialize(),this.attached&&this.update()):console.error("Failed to create chart: can't acquire context from the given item")}get aspectRatio(){const{options:{aspectRatio:t,maintainAspectRatio:e},width:n,height:r,_aspectRatio:i}=this;return h(t)?e&&i?i:r?n/r:null:t}get data(){return this.config.data}set data(t){this.config.data=t}get options(){return this._options}set options(t){this.config.options=t}_initialize(){return this.notifyPlugins("beforeInit"),this.options.responsive?this.resize():Ze(this,this.options.devicePixelRatio),this.bindEvents(),this.notifyPlugins("afterInit"),this}clear(){return Kt(this.canvas,this.ctx),this}stop(){return mn.stop(this),this}resize(t,e){mn.running(this)?this._resizeBeforeDraw={width:t,height:e}:this._resize(t,e)}_resize(t,e){const n=this.options,r=this.canvas,i=n.maintainAspectRatio&&this.aspectRatio,o=this.platform.getMaximumSize(r,t,e,i),s=n.devicePixelRatio||this.platform.getDevicePixelRatio(),a=this.width?"resize":"attach";this.width=o.width,this.height=o.height,this._aspectRatio=this.aspectRatio,Ze(this,s,!0)&&(this.notifyPlugins("resize",{size:o}),y(n.onResize,[this,o],this),this.attached&&this._doResize(a)&&this.render())}ensureScalesHaveIDs(){b(this.options.scales||{},((t,e)=>{t.id=e}))}buildOrUpdateScales(){const t=this.options,e=t.scales,n=this.scales,r=Object.keys(n).reduce(((t,e)=>(t[e]=!1,t)),{});let i=[];e&&(i=i.concat(Object.keys(e).map((t=>{const n=e[t],r=ei(t,n),i="r"===r,o="x"===r;return{options:n,dposition:i?"chartArea":o?"bottom":"left",dtype:i?"radialLinear":o?"category":"linear"}})))),b(i,(e=>{const i=e.options,o=i.id,s=ei(o,i),a=m(i.type,e.dtype);void 0!==i.position&&fi(i.position,s)===fi(e.dposition)||(i.position=e.dposition),r[o]=!0;let l=null;if(o in n&&n[o].type===a)l=n[o];else{l=new(Kr.getScale(a))({id:o,type:a,ctx:this.ctx,chart:this}),n[l.id]=l}l.init(i,t)})),b(r,((t,e)=>{t||delete n[e]})),b(n,(t=>{xr.configure(this,t,t.options),xr.addBox(this,t)}))}_updateMetasets(){const t=this._metasets,e=this.data.datasets.length,n=t.length;if(t.sort(((t,e)=>t.index-e.index)),n>e){for(let t=e;te.length&&delete this._stacks,t.forEach(((t,n)=>{0===e.filter((e=>e===t._dataset)).length&&this._destroyDatasetMeta(n)}))}buildOrUpdateControllers(){const t=[],e=this.data.datasets;let n,r;for(this._removeUnreferencedMetasets(),n=0,r=e.length;n{this.getDatasetMeta(e).controller.reset()}),this)}reset(){this._resetElements(),this.notifyPlugins("reset")}update(t){const e=this.config;e.update();const n=this._options=e.createResolver(e.chartOptionScopes(),this.getContext()),r=this._animationsDisabled=!n.animation;if(this._updateScales(),this._checkEventBindings(),this._updateHiddenIndices(),this._plugins.invalidate(),!1===this.notifyPlugins("beforeUpdate",{mode:t,cancelable:!0}))return;const i=this.buildOrUpdateControllers();this.notifyPlugins("beforeElementsUpdate");let o=0;for(let t=0,e=this.data.datasets.length;t{t.reset()})),this._updateDatasets(t),this.notifyPlugins("afterUpdate",{mode:t}),this._layers.sort(di("z","_idx"));const{_active:s,_lastEvent:a}=this;a?this._eventHandler(a,!0):s.length&&this._updateHoverStyles(s,s,!0),this.render()}_updateScales(){b(this.scales,(t=>{xr.removeBox(this,t)})),this.ensureScalesHaveIDs(),this.buildOrUpdateScales()}_checkEventBindings(){const t=this.options,e=new Set(Object.keys(this._listeners)),n=new Set(t.events);P(e,n)&&!!this._responsiveListeners===t.responsive||(this.unbindEvents(),this.bindEvents())}_updateHiddenIndices(){const{_hiddenIndices:t}=this,e=this._getUniformDataChanges()||[];for(const{method:n,start:r,count:i}of e){bi(t,r,"_removeElements"===n?-i:i)}}_getUniformDataChanges(){const t=this._dataChanges;if(!t||!t.length)return;this._dataChanges=[];const e=this.data.datasets.length,n=e=>new Set(t.filter((t=>t[0]===e)).map(((t,e)=>e+","+t.splice(1).join(",")))),r=n(0);for(let t=1;tt.split(","))).map((t=>({method:t[1],start:+t[2],count:+t[3]})))}_updateLayout(t){if(!1===this.notifyPlugins("beforeLayout",{cancelable:!0}))return;xr.update(this,this.width,this.height,t);const e=this.chartArea,n=e.width<=0||e.height<=0;this._layers=[],b(this.boxes,(t=>{n&&"chartArea"===t.position||(t.configure&&t.configure(),this._layers.push(...t._layers()))}),this),this._layers.forEach(((t,e)=>{t._idx=e})),this.notifyPlugins("afterLayout")}_updateDatasets(t){if(!1!==this.notifyPlugins("beforeDatasetsUpdate",{mode:t,cancelable:!0})){for(let t=0,e=this.data.datasets.length;t=0;--e)this._drawDataset(t[e]);this.notifyPlugins("afterDatasetsDraw")}_drawDataset(t){const e=this.ctx,n=t._clip,r=!n.disabled,i=this.chartArea,o={meta:t,index:t.index,cancelable:!0};!1!==this.notifyPlugins("beforeDatasetDraw",o)&&(r&&Jt(e,{left:!1===n.left?0:i.left-n.left,right:!1===n.right?this.width:i.right+n.right,top:!1===n.top?0:i.top-n.top,bottom:!1===n.bottom?this.height:i.bottom+n.bottom}),t.controller.draw(),r&&te(e),o.cancelable=!1,this.notifyPlugins("afterDatasetDraw",o))}getElementsAtEventForMode(t,e,n,r){const i=ar.modes[e];return"function"==typeof i?i(this,t,n,r):[]}getDatasetMeta(t){const e=this.data.datasets[t],n=this._metasets;let r=n.filter((t=>t&&t._dataset===e)).pop();return r||(r={type:null,data:[],dataset:null,controller:null,hidden:null,xAxisID:null,yAxisID:null,order:e&&e.order||0,index:t,_dataset:e,_parsed:[],_sorted:!1},n.push(r)),r}getContext(){return this.$context||(this.$context=ge(null,{chart:this,type:"chart"}))}getVisibleDatasetCount(){return this.getSortedVisibleDatasetMetas().length}isDatasetVisible(t){const e=this.data.datasets[t];if(!e)return!1;const n=this.getDatasetMeta(t);return"boolean"==typeof n.hidden?!n.hidden:!e.hidden}setDatasetVisibility(t,e){this.getDatasetMeta(t).hidden=!e}toggleDataVisibility(t){this._hiddenIndices[t]=!this._hiddenIndices[t]}getDataVisibility(t){return!this._hiddenIndices[t]}_updateVisibility(t,e,n){const r=n?"show":"hide",i=this.getDatasetMeta(t),o=i.controller._resolveAnimations(void 0,r);M(e)?(i.data[e].hidden=!n,this.update()):(this.setDatasetVisibility(t,n),o.update(i,{visible:n}),this.update((e=>e.datasetIndex===t?r:void 0)))}hide(t,e){this._updateVisibility(t,e,!1)}show(t,e){this._updateVisibility(t,e,!0)}_destroyDatasetMeta(t){const e=this._metasets[t];e&&e.controller&&e.controller._destroy(),delete this._metasets[t]}_stop(){let t,e;for(this.stop(),mn.remove(this),t=0,e=this.data.datasets.length;t{e.addEventListener(this,n,r),t[n]=r},r=(t,e,n)=>{t.offsetX=e,t.offsetY=n,this._eventHandler(t)};b(this.options.events,(t=>n(t,r)))}bindResponsiveEvents(){this._responsiveListeners||(this._responsiveListeners={});const t=this._responsiveListeners,e=this.platform,n=(n,r)=>{e.addEventListener(this,n,r),t[n]=r},r=(n,r)=>{t[n]&&(e.removeEventListener(this,n,r),delete t[n])},i=(t,e)=>{this.canvas&&this.resize(t,e)};let o;const s=()=>{r("attach",s),this.attached=!0,this.resize(),n("resize",i),n("detach",o)};o=()=>{this.attached=!1,r("resize",i),this._stop(),this._resize(0,0),n("attach",s)},e.isAttached(this.canvas)?s():o()}unbindEvents(){b(this._listeners,((t,e)=>{this.platform.removeEventListener(this,e,t)})),this._listeners={},b(this._responsiveListeners,((t,e)=>{this.platform.removeEventListener(this,e,t)})),this._responsiveListeners=void 0}updateHoverStyle(t,e,n){const r=n?"set":"remove";let i,o,s,a;for("dataset"===e&&(i=this.getDatasetMeta(t[0].datasetIndex),i.controller["_"+r+"DatasetHoverStyle"]()),s=0,a=t.length;s{const n=this.getDatasetMeta(t);if(!n)throw new Error("No dataset found at index "+t);return{datasetIndex:t,element:n.data[e],index:e}}));!x(n,e)&&(this._active=n,this._lastEvent=null,this._updateHoverStyles(n,e))}notifyPlugins(t,e,n){return this._plugins.notify(this,t,e,n)}_updateHoverStyles(t,e,n){const r=this.options.hover,i=(t,e)=>t.filter((t=>!e.some((e=>t.datasetIndex===e.datasetIndex&&t.index===e.index)))),o=i(e,t),s=n?t:i(t,e);o.length&&this.updateHoverStyle(o,r.mode,!1),s.length&&r.mode&&this.updateHoverStyle(s,r.mode,!0)}_eventHandler(t,e){const n={event:t,replay:e,cancelable:!0,inChartArea:Qt(t,this.chartArea,this._minPadding)},r=e=>(e.options.events||this.options.events).includes(t.native.type);if(!1===this.notifyPlugins("beforeEvent",n,r))return;const i=this._handleEvent(t,e,n.inChartArea);return n.cancelable=!1,this.notifyPlugins("afterEvent",n,r),(i||n.changed)&&this.render(),this}_handleEvent(t,e,n){const{_active:r=[],options:i}=this,o=e,s=this._getActiveElements(t,r,n,o),a=function(t){return"mouseup"===t.type||"click"===t.type||"contextmenu"===t.type}(t),l=function(t,e,n,r){return n&&"mouseout"!==t.type?r?e:t:null}(t,this._lastEvent,n,a);n&&(this._lastEvent=null,y(i.onHover,[t,s,this],this),a&&y(i.onClick,[t,s,this],this));const c=!x(s,r);return(c||e)&&(this._active=s,this._updateHoverStyles(s,r,e)),this._lastEvent=l,c}_getActiveElements(t,e,n,r){if("mouseout"===t.type)return[];if(!n)return e;const i=this.options.hover;return this.getElementsAtEventForMode(t,i.mode,i,r)}}const _i=()=>b(xi.instances,(t=>t._plugins.invalidate())),wi=!0;function ki(t,e,n){const{startAngle:r,pixelMargin:i,x:o,y:s,outerRadius:a,innerRadius:l}=e;let c=i/a;t.beginPath(),t.arc(o,s,a,r-c,n+c),l>i?(c=i/l,t.arc(o,s,l,n+c,r-c,!0)):t.arc(o,s,i,n+B,r-B),t.closePath(),t.clip()}function Ci(t,e,n,r){const i=ce(t.options.borderRadius,["outerStart","outerEnd","innerStart","innerEnd"]);const o=(n-e)/2,s=Math.min(o,r*e/2),a=t=>{const e=(n-Math.min(o,t))*r/2;return et(t,0,Math.min(o,e))};return{outerStart:a(i.outerStart),outerEnd:a(i.outerEnd),innerStart:et(i.innerStart,0,s),innerEnd:et(i.innerEnd,0,s)}}function Ei(t,e,n,r){return{x:n+t*Math.cos(e),y:r+t*Math.sin(e)}}function Oi(t,e,n,r,i){const{x:o,y:s,startAngle:a,pixelMargin:l,innerRadius:c}=e,u=Math.max(e.outerRadius+r+n-l,0),h=c>0?c+r+n+l:0;let f=0;const d=i-a;if(r){const t=((c>0?c-r:0)+(u>0?u-r:0))/2;f=(d-(0!==t?d*t/(t+r):d))/2}const p=(d-Math.max(.001,d*u-n/R)/u)/2,g=a+p+f,m=i-p-f,{outerStart:v,outerEnd:y,innerStart:b,innerEnd:x}=Ci(e,h,u,m-g),_=u-v,w=u-y,k=g+v/_,C=m-y/w,E=h+b,O=h+x,A=g+b/E,S=m-x/O;if(t.beginPath(),t.arc(o,s,u,k,C),y>0){const e=Ei(w,C,o,s);t.arc(e.x,e.y,y,C,m+B)}const T=Ei(O,m,o,s);if(t.lineTo(T.x,T.y),x>0){const e=Ei(O,S,o,s);t.arc(e.x,e.y,x,m+B,S+Math.PI)}if(t.arc(o,s,h,m-x/h,g+b/h,!0),b>0){const e=Ei(E,A,o,s);t.arc(e.x,e.y,b,A+Math.PI,g-B)}const M=Ei(_,g,o,s);if(t.lineTo(M.x,M.y),v>0){const e=Ei(_,k,o,s);t.arc(e.x,e.y,v,g-B,k)}t.closePath()}function Ai(t,e,n,r,i){const{options:o}=e,{borderWidth:s,borderJoinStyle:a}=o,l="inner"===o.borderAlign;s&&(l?(t.lineWidth=2*s,t.lineJoin=a||"round"):(t.lineWidth=s,t.lineJoin=a||"bevel"),e.fullCircles&&function(t,e,n){const{x:r,y:i,startAngle:o,pixelMargin:s,fullCircles:a}=e,l=Math.max(e.outerRadius-s,0),c=e.innerRadius+s;let u;for(n&&ki(t,e,o+L),t.beginPath(),t.arc(r,i,c,o+L,o,!0),u=0;u{Kr.add(...t),_i()}},unregister:{enumerable:wi,value:(...t)=>{Kr.remove(...t),_i()}}});class Si extends Nr{constructor(t){super(),this.options=void 0,this.circumference=void 0,this.startAngle=void 0,this.endAngle=void 0,this.innerRadius=void 0,this.outerRadius=void 0,this.pixelMargin=0,this.fullCircles=0,t&&Object.assign(this,t)}inRange(t,e,n){const r=this.getProps(["x","y"],n),{angle:i,distance:o}=K(r,{x:t,y:e}),{startAngle:s,endAngle:a,innerRadius:l,outerRadius:c,circumference:u}=this.getProps(["startAngle","endAngle","innerRadius","outerRadius","circumference"],n),h=this.options.spacing/2,f=m(u,a-s)>=L||tt(i,s,a),d=nt(o,l+h,c+h);return f&&d}getCenterPoint(t){const{x:e,y:n,startAngle:r,endAngle:i,innerRadius:o,outerRadius:s}=this.getProps(["x","y","startAngle","endAngle","innerRadius","outerRadius","circumference"],t),{offset:a,spacing:l}=this.options,c=(r+i)/2,u=(o+s+l+a)/2;return{x:e+Math.cos(c)*u,y:n+Math.sin(c)*u}}tooltipPosition(t){return this.getCenterPoint(t)}draw(t){const{options:e,circumference:n}=this,r=(e.offset||0)/2,i=(e.spacing||0)/2;if(this.pixelMargin="inner"===e.borderAlign?.33:0,this.fullCircles=n>L?Math.floor(n/L):0,0===n||this.innerRadius<0||this.outerRadius<0)return;t.save();let o=0;if(r){o=r/2;const e=(this.startAngle+this.endAngle)/2;t.translate(Math.cos(e)*o,Math.sin(e)*o),this.circumference>=R&&(o=r)}t.fillStyle=e.backgroundColor,t.strokeStyle=e.borderColor;const s=function(t,e,n,r){const{fullCircles:i,startAngle:o,circumference:s}=e;let a=e.endAngle;if(i){Oi(t,e,n,r,o+L);for(let e=0;ea&&o>a;return{count:r,start:l,loop:e.loop,ilen:c(s+(c?a-t:t))%o,b=()=>{d!==p&&(t.lineTo(m,p),t.lineTo(m,d),t.lineTo(m,g))};for(l&&(h=i[y(0)],t.moveTo(h.x,h.y)),u=0;u<=a;++u){if(h=i[y(u)],h.skip)continue;const e=h.x,n=h.y,r=0|e;r===f?(np&&(p=n),m=(v*m+e)/++v):(b(),t.lineTo(e,n),f=r,v=0,d=p=n),g=n}b()}function Li(t){const e=t.options,n=e.borderDash&&e.borderDash.length;return!(t._decimated||t._loop||e.tension||"monotone"===e.cubicInterpolationMode||e.stepped||n)?Ri:Pi}Si.id="arc",Si.defaults={borderAlign:"center",borderColor:"#fff",borderJoinStyle:void 0,borderRadius:0,borderWidth:2,offset:0,spacing:0,angle:void 0},Si.defaultRoutes={backgroundColor:"backgroundColor"};const ji="function"==typeof Path2D;function Ii(t,e,n,r){ji&&!e.options.segment?function(t,e,n,r){let i=e._path;i||(i=e._path=new Path2D,e.path(i,n,r)&&i.closePath()),Ti(t,e.options),t.stroke(i)}(t,e,n,r):function(t,e,n,r){const{segments:i,options:o}=e,s=Li(e);for(const a of i)Ti(t,o,a.style),t.beginPath(),s(t,e,a,{start:n,end:n+r-1})&&t.closePath(),t.stroke()}(t,e,n,r)}class Ni extends Nr{constructor(t){super(),this.animated=!0,this.options=void 0,this._chart=void 0,this._loop=void 0,this._fullLoop=void 0,this._path=void 0,this._points=void 0,this._segments=void 0,this._decimated=!1,this._pointsUpdated=!1,this._datasetIndex=void 0,t&&Object.assign(this,t)}updateControlPoints(t,e){const n=this.options;if((n.tension||"monotone"===n.cubicInterpolationMode)&&!n.stepped&&!this._pointsUpdated){const r=n.spanGaps?this._loop:this._fullLoop;We(this._points,n,t,r,e),this._pointsUpdated=!0}}set points(t){this._points=t,delete this._segments,delete this._path,this._pointsUpdated=!1}get points(){return this._points}get segments(){return this._segments||(this._segments=function(t,e){const n=t.points,r=t.options.spanGaps,i=n.length;if(!i)return[];const o=!!t._loop,{start:s,end:a}=function(t,e,n,r){let i=0,o=e-1;if(n&&!r)for(;ii&&t[o%e].skip;)o--;return o%=e,{start:i,end:o}}(n,i,o,r);return dn(t,!0===r?[{start:s,end:a,loop:o}]:function(t,e,n,r){const i=t.length,o=[];let s,a=e,l=t[e];for(s=e+1;s<=n;++s){const n=t[s%i];n.skip||n.stop?l.skip||(r=!1,o.push({start:e%i,end:(s-1)%i,loop:r}),e=a=n.stop?s:null):(a=s,l.skip&&(e=s)),l=n}return null!==a&&o.push({start:e%i,end:a%i,loop:r}),o}(n,s,a"borderDash"!==t&&"fill"!==t};class zi extends Nr{constructor(t){super(),this.options=void 0,this.parsed=void 0,this.skip=void 0,this.stop=void 0,t&&Object.assign(this,t)}inRange(t,e,n){const r=this.options,{x:i,y:o}=this.getProps(["x","y"],n);return Math.pow(t-i,2)+Math.pow(e-o,2){Xi(t)}))}var Ki={id:"decimation",defaults:{algorithm:"min-max",enabled:!1},beforeElementsUpdate:(t,e,n)=>{if(!n.enabled)return void Gi(t);const r=t.width;t.data.datasets.forEach(((e,i)=>{const{_data:o,indexAxis:s}=e,a=t.getDatasetMeta(i),l=o||e.data;if("y"===pe([s,t.options.indexAxis]))return;if("line"!==a.type)return;const c=t.scales[a.xAxisID];if("linear"!==c.type&&"time"!==c.type)return;if(t.options.parsing)return;let{start:u,count:f}=function(t,e){const n=e.length;let r,i=0;const{iScale:o}=t,{min:s,max:a,minDefined:l,maxDefined:c}=o.getUserBounds();return l&&(i=et(ve(e,o.axis,s).lo,0,n-1)),r=c?et(ve(e,o.axis,a).hi+1,i,n)-i:n-i,{start:i,count:r}}(a,l);if(f<=(n.threshold||4*r))return void Xi(e);let d;switch(h(o)&&(e._data=l,delete e.data,Object.defineProperty(e,"data",{configurable:!0,enumerable:!0,get:function(){return this._decimated},set:function(t){this._data=t}})),n.algorithm){case"lttb":d=function(t,e,n,r,i){const o=i.samples||r;if(o>=n)return t.slice(e,e+n);const s=[],a=(n-2)/(o-2);let l=0;const c=e+n-1;let u,h,f,d,p,g=e;for(s[l++]=t[g],u=0;uf&&(f=d,h=t[r],p=r);s[l++]=h,g=p}return s[l++]=t[c],s}(l,u,f,r,n);break;case"min-max":d=function(t,e,n,r){let i,o,s,a,l,c,u,f,d,p,g=0,m=0;const v=[],y=e+n-1,b=t[e].x,x=t[y].x-b;for(i=e;ip&&(p=a,u=i),g=(m*g+o.x)/++m;else{const n=i-1;if(!h(c)&&!h(u)){const e=Math.min(c,u),r=Math.max(c,u);e!==f&&e!==n&&v.push({...t[e],x:g}),r!==f&&r!==n&&v.push({...t[r],x:g})}i>0&&n!==f&&v.push(t[n]),v.push(o),l=e,m=0,d=p=a,c=u=f=i}}return v}(l,u,f,r);break;default:throw new Error(`Unsupported decimation algorithm '${n.algorithm}'`)}e._decimated=d}))},destroy(t){Gi(t)}};function Zi(t,e,n){const r=function(t){const e=t.options,n=e.fill;let r=m(n&&n.target,n);return void 0===r&&(r=!!e.backgroundColor),!1!==r&&null!==r&&(!0===r?"origin":r)}(t);if(d(r))return!isNaN(r.value)&&r;let i=parseFloat(r);return p(i)&&Math.floor(i)===i?("-"!==r[0]&&"+"!==r[0]||(i=e+i),!(i===e||i<0||i>=n)&&i):["origin","start","end","stack","shape"].indexOf(r)>=0&&r}class Qi{constructor(t){this.x=t.x,this.y=t.y,this.radius=t.radius}pathSegment(t,e,n){const{x:r,y:i,radius:o}=this;return e=e||{start:0,end:L},t.arc(r,i,o,e.end,e.start,!0),!n.bounds}interpolate(t){const{x:e,y:n,radius:r}=this,i=t.angle;return{x:e+Math.cos(i)*r,y:n+Math.sin(i)*r,angle:i}}}function Ji(t){return(t.scale||{}).getPointPositionForValue?function(t){const{scale:e,fill:n}=t,r=e.options,i=e.getLabels().length,o=[],s=r.reverse?e.max:e.min,a=r.reverse?e.min:e.max;let l,c,u;if(u="start"===n?s:"end"===n?a:d(n)?n.value:e.getBaseValue(),r.grid.circular)return c=e.getPointPositionForValue(0,s),new Qi({x:c.x,y:c.y,radius:e.getDistanceFromCenterForValue(u)});for(l=0;lt;e--){const t=n[e];if(!isNaN(t.x)&&!isNaN(t.y))break}return e}function eo(t,e,n){const r=[];for(let i=0;i{e=to(t,e,i);const s=i[t],a=i[e];null!==r?(o.push({x:s.x,y:r}),o.push({x:a.x,y:r})):null!==n&&(o.push({x:n,y:s.y}),o.push({x:n,y:a.y}))})),o}(t,e),n.length?new Ni({points:n,options:{tension:0},_loop:r,_fullLoop:r}):null}function oo(t,e,n){let r=t[e].fill;const i=[e];let o;if(!n)return r;for(;!1!==r&&-1===i.indexOf(r);){if(!p(r))return r;if(o=t[r],!o)return!1;if(o.visible)return r;i.push(r),r=o.fill}return!1}function so(t,e,n){t.beginPath(),e.path(t),t.lineTo(e.last().x,n),t.lineTo(e.first().x,n),t.closePath(),t.clip()}function ao(t,e,n,r){if(r)return;let i=e[t],o=n[t];return"angle"===t&&(i=J(i),o=J(o)),{property:t,start:i,end:o}}function lo(t,e,n,r){return t&&e?r(t[n],e[n]):t?t[n]:e?e[n]:0}function co(t,e,n){const{top:r,bottom:i}=e.chart.chartArea,{property:o,start:s,end:a}=n||{};"x"===o&&(t.beginPath(),t.rect(s,r,a-s,i-r),t.clip())}function uo(t,e,n,r){const i=e.interpolate(n,r);i&&t.lineTo(i.x,i.y)}function ho(t,e){const{line:n,target:r,property:i,color:o,scale:s}=e,a=function(t,e,n){const r=t.segments,i=t.points,o=e.points,s=[];for(const t of r){let{start:r,end:a}=t;a=to(r,a,i);const l=ao(n,i[r],i[a],t.loop);if(!e.segments){s.push({source:t,target:l,start:i[r],end:i[a]});continue}const c=fn(e,l);for(const e of c){const r=ao(n,o[e.start],o[e.end],e.loop),a=hn(t,i,r);for(const t of a)s.push({source:t,target:e,start:{[n]:lo(l,r,"start",Math.max)},end:{[n]:lo(l,r,"end",Math.min)}})}}return s}(n,r,i);for(const{source:e,target:l,start:c,end:u}of a){const{style:{backgroundColor:a=o}={}}=e,h=!0!==r;t.save(),t.fillStyle=a,co(t,s,h&&ao(i,c,u)),t.beginPath();const f=!!n.pathSegment(t,e);let d;if(h){f?t.closePath():uo(t,r,u,i);const e=!!r.pathSegment(t,l,{move:f,reverse:!0});d=f&&e,d||uo(t,r,c,i)}t.closePath(),t.fill(d?"evenodd":"nonzero"),t.restore()}}function fo(t,e,n){const r=ro(e),{line:i,scale:o,axis:s}=e,a=i.options,l=a.fill,c=a.backgroundColor,{above:u=c,below:h=c}=l||{};r&&i.points.length&&(Jt(t,n),function(t,e){const{line:n,target:r,above:i,below:o,area:s,scale:a}=e,l=n._loop?"angle":e.axis;t.save(),"x"===l&&o!==i&&(so(t,r,s.top),ho(t,{line:n,target:r,color:i,scale:a,property:l}),t.restore(),t.save(),so(t,r,s.bottom)),ho(t,{line:n,target:r,color:o,scale:a,property:l}),t.restore()}(t,{line:i,target:r,above:u,below:h,area:n,scale:o,axis:s}),te(t))}var po={id:"filler",afterDatasetsUpdate(t,e,n){const r=(t.data.datasets||[]).length,i=[];let o,s,a,l;for(s=0;s=0;--e){const n=i[e].$filler;n&&(n.line.updateControlPoints(o,n.axis),r&&fo(t.ctx,n,o))}},beforeDatasetsDraw(t,e,n){if("beforeDatasetsDraw"!==n.drawTime)return;const r=t.getSortedVisibleDatasetMetas();for(let e=r.length-1;e>=0;--e){const n=r[e].$filler;n&&fo(t.ctx,n,t.chartArea)}},beforeDatasetDraw(t,e,n){const r=e.meta.$filler;r&&!1!==r.fill&&"beforeDatasetDraw"===n.drawTime&&fo(t.ctx,r,t.chartArea)},defaults:{propagate:!0,drawTime:"beforeDatasetDraw"}};const go=(t,e)=>{let{boxHeight:n=e,boxWidth:r=e}=t;return t.usePointStyle&&(n=Math.min(n,e),r=Math.min(r,e)),{boxWidth:r,boxHeight:n,itemHeight:Math.max(e,n)}};class mo extends Nr{constructor(t){super(),this._added=!1,this.legendHitBoxes=[],this._hoveredItem=null,this.doughnutMode=!1,this.chart=t.chart,this.options=t.options,this.ctx=t.ctx,this.legendItems=void 0,this.columnSizes=void 0,this.lineWidths=void 0,this.maxHeight=void 0,this.maxWidth=void 0,this.top=void 0,this.bottom=void 0,this.left=void 0,this.right=void 0,this.height=void 0,this.width=void 0,this._margins=void 0,this.position=void 0,this.weight=void 0,this.fullSize=void 0}update(t,e,n){this.maxWidth=t,this.maxHeight=e,this._margins=n,this.setDimensions(),this.buildLabels(),this.fit()}setDimensions(){this.isHorizontal()?(this.width=this.maxWidth,this.left=this._margins.left,this.right=this.width):(this.height=this.maxHeight,this.top=this._margins.top,this.bottom=this.height)}buildLabels(){const t=this.options.labels||{};let e=y(t.generateLabels,[this.chart],this)||[];t.filter&&(e=e.filter((e=>t.filter(e,this.chart.data)))),t.sort&&(e=e.sort(((e,n)=>t.sort(e,n,this.chart.data)))),this.options.reverse&&e.reverse(),this.legendItems=e}fit(){const{options:t,ctx:e}=this;if(!t.display)return void(this.width=this.height=0);const n=t.labels,r=de(n.font),i=r.size,o=this._computeTitleHeight(),{boxWidth:s,itemHeight:a}=go(n,i);let l,c;e.font=r.string,this.isHorizontal()?(l=this.maxWidth,c=this._fitRows(o,i,s,a)+10):(c=this.maxHeight,l=this._fitCols(o,i,s,a)+10),this.width=Math.min(l,t.maxWidth||this.maxWidth),this.height=Math.min(c,t.maxHeight||this.maxHeight)}_fitRows(t,e,n,r){const{ctx:i,maxWidth:o,options:{labels:{padding:s}}}=this,a=this.legendHitBoxes=[],l=this.lineWidths=[0],c=r+s;let u=t;i.textAlign="left",i.textBaseline="middle";let h=-1,f=-c;return this.legendItems.forEach(((t,d)=>{const p=n+e/2+i.measureText(t.text).width;(0===d||l[l.length-1]+p+2*s>o)&&(u+=c,l[l.length-(d>0?0:1)]=0,f+=c,h++),a[d]={left:0,top:f,row:h,width:p,height:r},l[l.length-1]+=p+s})),u}_fitCols(t,e,n,r){const{ctx:i,maxHeight:o,options:{labels:{padding:s}}}=this,a=this.legendHitBoxes=[],l=this.columnSizes=[],c=o-t;let u=s,h=0,f=0,d=0,p=0;return this.legendItems.forEach(((t,o)=>{const g=n+e/2+i.measureText(t.text).width;o>0&&f+r+2*s>c&&(u+=h+s,l.push({width:h,height:f}),d+=h+s,p++,h=f=0),a[o]={left:d,top:f,col:p,width:g,height:r},h=Math.max(h,g),f+=r+s})),u+=h,l.push({width:h,height:f}),u}adjustHitBoxes(){if(!this.options.display)return;const t=this._computeTitleHeight(),{legendHitBoxes:e,options:{align:n,labels:{padding:r},rtl:i}}=this,o=sn(i,this.left,this.width);if(this.isHorizontal()){let i=0,s=l(n,this.left+r,this.right-this.lineWidths[i]);for(const a of e)i!==a.row&&(i=a.row,s=l(n,this.left+r,this.right-this.lineWidths[i])),a.top+=this.top+t+r,a.left=o.leftForLtr(o.x(s),a.width),s+=a.width+r}else{let i=0,s=l(n,this.top+t+r,this.bottom-this.columnSizes[i].height);for(const a of e)a.col!==i&&(i=a.col,s=l(n,this.top+t+r,this.bottom-this.columnSizes[i].height)),a.top=s,a.left+=this.left+r,a.left=o.leftForLtr(o.x(a.left),a.width),s+=a.height+r}}isHorizontal(){return"top"===this.options.position||"bottom"===this.options.position}draw(){if(this.options.display){const t=this.ctx;Jt(t,this),this._draw(),te(t)}}_draw(){const{options:t,columnSizes:e,lineWidths:n,ctx:r}=this,{align:i,labels:o}=t,s=$t.color,a=sn(t.rtl,this.left,this.width),c=de(o.font),{color:u,padding:h}=o,f=c.size,d=f/2;let p;this.drawTitle(),r.textAlign=a.textAlign("left"),r.textBaseline="middle",r.lineWidth=.5,r.font=c.string;const{boxWidth:g,boxHeight:v,itemHeight:y}=go(o,f),b=this.isHorizontal(),x=this._computeTitleHeight();p=b?{x:l(i,this.left+h,this.right-n[0]),y:this.top+h+x,line:0}:{x:this.left+h,y:l(i,this.top+x+h,this.bottom-e[0].height),line:0},an(this.ctx,t.textDirection);const _=y+h;this.legendItems.forEach(((w,k)=>{r.strokeStyle=w.fontColor||u,r.fillStyle=w.fontColor||u;const C=r.measureText(w.text).width,E=a.textAlign(w.textAlign||(w.textAlign=o.textAlign)),O=g+d+C;let A=p.x,S=p.y;a.setWidth(this.width),b?k>0&&A+O+h>this.right&&(S=p.y+=_,p.line++,A=p.x=l(i,this.left+h,this.right-n[p.line])):k>0&&S+_>this.bottom&&(A=p.x=A+e[p.line].width+h,p.line++,S=p.y=l(i,this.top+x+h,this.bottom-e[p.line].height));!function(t,e,n){if(isNaN(g)||g<=0||isNaN(v)||v<0)return;r.save();const i=m(n.lineWidth,1);if(r.fillStyle=m(n.fillStyle,s),r.lineCap=m(n.lineCap,"butt"),r.lineDashOffset=m(n.lineDashOffset,0),r.lineJoin=m(n.lineJoin,"miter"),r.lineWidth=i,r.strokeStyle=m(n.strokeStyle,s),r.setLineDash(m(n.lineDash,[])),o.usePointStyle){const o={radius:g*Math.SQRT2/2,pointStyle:n.pointStyle,rotation:n.rotation,borderWidth:i},s=a.xPlus(t,g/2);Zt(r,o,s,e+d)}else{const o=e+Math.max((f-v)/2,0),s=a.leftForLtr(t,g),l=he(n.borderRadius);r.beginPath(),Object.values(l).some((t=>0!==t))?oe(r,{x:s,y:o,w:g,h:v,radius:l}):r.rect(s,o,g,v),r.fill(),0!==i&&r.stroke()}r.restore()}(a.x(A),S,w),A=((t,e,n,r)=>t===(r?"left":"right")?n:"center"===t?(e+n)/2:e)(E,A+g+d,b?A+O:this.right,t.rtl),function(t,e,n){re(r,n.text,t,e+y/2,c,{strikethrough:n.hidden,textAlign:a.textAlign(n.textAlign)})}(a.x(A),S,w),b?p.x+=O+h:p.y+=_})),ln(this.ctx,t.textDirection)}drawTitle(){const t=this.options,e=t.title,n=de(e.font),r=fe(e.padding);if(!e.display)return;const i=sn(t.rtl,this.left,this.width),o=this.ctx,s=e.position,c=n.size/2,u=r.top+c;let h,f=this.left,d=this.width;if(this.isHorizontal())d=Math.max(...this.lineWidths),h=this.top+u,f=l(t.align,f,this.right-d);else{const e=this.columnSizes.reduce(((t,e)=>Math.max(t,e.height)),0);h=u+l(t.align,this.top,this.bottom-e-t.labels.padding-this._computeTitleHeight())}const p=l(s,f,f+d);o.textAlign=i.textAlign(a(s)),o.textBaseline="middle",o.strokeStyle=e.color,o.fillStyle=e.color,o.font=n.string,re(o,e.text,p,h,n)}_computeTitleHeight(){const t=this.options.title,e=de(t.font),n=fe(t.padding);return t.display?e.lineHeight+n.height:0}_getLegendItemAt(t,e){let n,r,i;if(nt(t,this.left,this.right)&&nt(e,this.top,this.bottom))for(i=this.legendHitBoxes,n=0;nt.chart.options.color,boxWidth:40,padding:10,generateLabels(t){const e=t.data.datasets,{labels:{usePointStyle:n,pointStyle:r,textAlign:i,color:o}}=t.legend.options;return t._getSortedDatasetMetas().map((t=>{const s=t.controller.getStyle(n?0:void 0),a=fe(s.borderWidth);return{text:e[t.index].label,fillStyle:s.backgroundColor,fontColor:o,hidden:!t.visible,lineCap:s.borderCapStyle,lineDash:s.borderDash,lineDashOffset:s.borderDashOffset,lineJoin:s.borderJoinStyle,lineWidth:(a.width+a.height)/4,strokeStyle:s.borderColor,pointStyle:r||s.pointStyle,rotation:s.rotation,textAlign:i||s.textAlign,borderRadius:0,datasetIndex:t.index}}),this)}},title:{color:t=>t.chart.options.color,display:!1,position:"center",text:""}},descriptors:{_scriptable:t=>!t.startsWith("on"),labels:{_scriptable:t=>!["generateLabels","filter","sort"].includes(t)}}};class yo extends Nr{constructor(t){super(),this.chart=t.chart,this.options=t.options,this.ctx=t.ctx,this._padding=void 0,this.top=void 0,this.bottom=void 0,this.left=void 0,this.right=void 0,this.width=void 0,this.height=void 0,this.position=void 0,this.weight=void 0,this.fullSize=void 0}update(t,e){const n=this.options;if(this.left=0,this.top=0,!n.display)return void(this.width=this.height=this.right=this.bottom=0);this.width=this.right=t,this.height=this.bottom=e;const r=f(n.text)?n.text.length:1;this._padding=fe(n.padding);const i=r*de(n.font).lineHeight+this._padding.height;this.isHorizontal()?this.height=i:this.width=i}isHorizontal(){const t=this.options.position;return"top"===t||"bottom"===t}_drawArgs(t){const{top:e,left:n,bottom:r,right:i,options:o}=this,s=o.align;let a,c,u,h=0;return this.isHorizontal()?(c=l(s,n,i),u=e+t,a=i-n):("left"===o.position?(c=n+t,u=l(s,r,e),h=-.5*R):(c=i-t,u=l(s,e,r),h=.5*R),a=r-e),{titleX:c,titleY:u,maxWidth:a,rotation:h}}draw(){const t=this.ctx,e=this.options;if(!e.display)return;const n=de(e.font),r=n.lineHeight/2+this._padding.top,{titleX:i,titleY:o,maxWidth:s,rotation:l}=this._drawArgs(r);re(t,e.text,0,0,n,{color:e.color,maxWidth:s,rotation:l,textAlign:a(e.align),textBaseline:"middle",translation:[i,o]})}}var bo={id:"title",_element:yo,start(t,e,n){!function(t,e){const n=new yo({ctx:t.ctx,options:e,chart:t});xr.configure(t,n,e),xr.addBox(t,n),t.titleBlock=n}(t,n)},stop(t){const e=t.titleBlock;xr.removeBox(t,e),delete t.titleBlock},beforeUpdate(t,e,n){const r=t.titleBlock;xr.configure(t,r,n),r.options=n},defaults:{align:"center",display:!1,font:{weight:"bold"},fullSize:!0,padding:10,position:"top",text:"",weight:2e3},defaultRoutes:{color:"color"},descriptors:{_scriptable:!0,_indexable:!1}};const xo=new WeakMap;var _o={id:"subtitle",start(t,e,n){const r=new yo({ctx:t.ctx,options:n,chart:t});xr.configure(t,r,n),xr.addBox(t,r),xo.set(t,r)},stop(t){xr.removeBox(t,xo.get(t)),xo.delete(t)},beforeUpdate(t,e,n){const r=xo.get(t);xr.configure(t,r,n),r.options=n},defaults:{align:"center",display:!1,font:{weight:"normal"},fullSize:!0,padding:0,position:"top",text:"",weight:1500},defaultRoutes:{color:"color"},descriptors:{_scriptable:!0,_indexable:!1}};const wo={average(t){if(!t.length)return!1;let e,n,r=0,i=0,o=0;for(e=0,n=t.length;e-1?t.split("\n"):t}function Eo(t,e){const{element:n,datasetIndex:r,index:i}=e,o=t.getDatasetMeta(r).controller,{label:s,value:a}=o.getLabelAndValue(i);return{chart:t,label:s,parsed:o.getParsed(i),raw:t.data.datasets[r].data[i],formattedValue:a,dataset:o.getDataset(),dataIndex:i,datasetIndex:r,element:n}}function Oo(t,e){const n=t.chart.ctx,{body:r,footer:i,title:o}=t,{boxWidth:s,boxHeight:a}=e,l=de(e.bodyFont),c=de(e.titleFont),u=de(e.footerFont),h=o.length,f=i.length,d=r.length,p=fe(e.padding);let g=p.height,m=0,v=r.reduce(((t,e)=>t+e.before.length+e.lines.length+e.after.length),0);if(v+=t.beforeBody.length+t.afterBody.length,h&&(g+=h*c.lineHeight+(h-1)*e.titleSpacing+e.titleMarginBottom),v){g+=d*(e.displayColors?Math.max(a,l.lineHeight):l.lineHeight)+(v-d)*l.lineHeight+(v-1)*e.bodySpacing}f&&(g+=e.footerMarginTop+f*u.lineHeight+(f-1)*e.footerSpacing);let y=0;const x=function(t){m=Math.max(m,n.measureText(t).width+y)};return n.save(),n.font=c.string,b(t.title,x),n.font=l.string,b(t.beforeBody.concat(t.afterBody),x),y=e.displayColors?s+2+e.boxPadding:0,b(r,(t=>{b(t.before,x),b(t.lines,x),b(t.after,x)})),y=0,n.font=u.string,b(t.footer,x),n.restore(),m+=p.width,{width:m,height:g}}function Ao(t,e,n,r){const{x:i,width:o}=n,{width:s,chartArea:{left:a,right:l}}=t;let c="center";return"center"===r?c=i<=(a+l)/2?"left":"right":i<=o/2?c="left":i>=s-o/2&&(c="right"),function(t,e,n,r){const{x:i,width:o}=r,s=n.caretSize+n.caretPadding;return"left"===t&&i+o+s>e.width||"right"===t&&i-o-s<0||void 0}(c,t,e,n)&&(c="center"),c}function So(t,e,n){const r=n.yAlign||e.yAlign||function(t,e){const{y:n,height:r}=e;return nt.height-r/2?"bottom":"center"}(t,n);return{xAlign:n.xAlign||e.xAlign||Ao(t,e,n,r),yAlign:r}}function To(t,e,n,r){const{caretSize:i,caretPadding:o,cornerRadius:s}=t,{xAlign:a,yAlign:l}=n,c=i+o,{topLeft:u,topRight:h,bottomLeft:f,bottomRight:d}=he(s);let p=function(t,e){let{x:n,width:r}=t;return"right"===e?n-=r:"center"===e&&(n-=r/2),n}(e,a);const g=function(t,e,n){let{y:r,height:i}=t;return"top"===e?r+=n:r-="bottom"===e?i+n:i/2,r}(e,l,c);return"center"===l?"left"===a?p+=c:"right"===a&&(p-=c):"left"===a?p-=Math.max(u,f)+i:"right"===a&&(p+=Math.max(h,d)+i),{x:et(p,0,r.width-e.width),y:et(g,0,r.height-e.height)}}function Mo(t,e,n){const r=fe(n.padding);return"center"===e?t.x+t.width/2:"right"===e?t.x+t.width-r.right:t.x+r.left}function Do(t){return ko([],Co(t))}function Po(t,e){const n=e&&e.dataset&&e.dataset.tooltip&&e.dataset.tooltip.callbacks;return n?t.override(n):t}class Ro extends Nr{constructor(t){super(),this.opacity=0,this._active=[],this._eventPosition=void 0,this._size=void 0,this._cachedAnimations=void 0,this._tooltipItems=[],this.$animations=void 0,this.$context=void 0,this.chart=t.chart||t._chart,this._chart=this.chart,this.options=t.options,this.dataPoints=void 0,this.title=void 0,this.beforeBody=void 0,this.body=void 0,this.afterBody=void 0,this.footer=void 0,this.xAlign=void 0,this.yAlign=void 0,this.x=void 0,this.y=void 0,this.height=void 0,this.width=void 0,this.caretX=void 0,this.caretY=void 0,this.labelColors=void 0,this.labelPointStyles=void 0,this.labelTextColors=void 0}initialize(t){this.options=t,this._cachedAnimations=void 0,this.$context=void 0}_resolveAnimations(){const t=this._cachedAnimations;if(t)return t;const e=this.chart,n=this.options.setContext(this.getContext()),r=n.enabled&&e.options.animation&&n.animations,i=new _n(this.chart,r);return r._cacheable&&(this._cachedAnimations=Object.freeze(i)),i}getContext(){return this.$context||(this.$context=(t=this.chart.getContext(),e=this,n=this._tooltipItems,ge(t,{tooltip:e,tooltipItems:n,type:"tooltip"})));var t,e,n}getTitle(t,e){const{callbacks:n}=e,r=n.beforeTitle.apply(this,[t]),i=n.title.apply(this,[t]),o=n.afterTitle.apply(this,[t]);let s=[];return s=ko(s,Co(r)),s=ko(s,Co(i)),s=ko(s,Co(o)),s}getBeforeBody(t,e){return Do(e.callbacks.beforeBody.apply(this,[t]))}getBody(t,e){const{callbacks:n}=e,r=[];return b(t,(t=>{const e={before:[],lines:[],after:[]},i=Po(n,t);ko(e.before,Co(i.beforeLabel.call(this,t))),ko(e.lines,i.label.call(this,t)),ko(e.after,Co(i.afterLabel.call(this,t))),r.push(e)})),r}getAfterBody(t,e){return Do(e.callbacks.afterBody.apply(this,[t]))}getFooter(t,e){const{callbacks:n}=e,r=n.beforeFooter.apply(this,[t]),i=n.footer.apply(this,[t]),o=n.afterFooter.apply(this,[t]);let s=[];return s=ko(s,Co(r)),s=ko(s,Co(i)),s=ko(s,Co(o)),s}_createItems(t){const e=this._active,n=this.chart.data,r=[],i=[],o=[];let s,a,l=[];for(s=0,a=e.length;st.filter(e,r,i,n)))),t.itemSort&&(l=l.sort(((e,r)=>t.itemSort(e,r,n)))),b(l,(e=>{const n=Po(t.callbacks,e);r.push(n.labelColor.call(this,e)),i.push(n.labelPointStyle.call(this,e)),o.push(n.labelTextColor.call(this,e))})),this.labelColors=r,this.labelPointStyles=i,this.labelTextColors=o,this.dataPoints=l,l}update(t,e){const n=this.options.setContext(this.getContext()),r=this._active;let i,o=[];if(r.length){const t=wo[n.position].call(this,r,this._eventPosition);o=this._createItems(n),this.title=this.getTitle(o,n),this.beforeBody=this.getBeforeBody(o,n),this.body=this.getBody(o,n),this.afterBody=this.getAfterBody(o,n),this.footer=this.getFooter(o,n);const e=this._size=Oo(this,n),s=Object.assign({},t,e),a=So(this.chart,n,s),l=To(n,s,a,this.chart);this.xAlign=a.xAlign,this.yAlign=a.yAlign,i={opacity:1,x:l.x,y:l.y,width:e.width,height:e.height,caretX:t.x,caretY:t.y}}else 0!==this.opacity&&(i={opacity:0});this._tooltipItems=o,this.$context=void 0,i&&this._resolveAnimations().update(this,i),t&&n.external&&n.external.call(this,{chart:this.chart,tooltip:this,replay:e})}drawCaret(t,e,n,r){const i=this.getCaretPosition(t,n,r);e.lineTo(i.x1,i.y1),e.lineTo(i.x2,i.y2),e.lineTo(i.x3,i.y3)}getCaretPosition(t,e,n){const{xAlign:r,yAlign:i}=this,{caretSize:o,cornerRadius:s}=n,{topLeft:a,topRight:l,bottomLeft:c,bottomRight:u}=he(s),{x:h,y:f}=t,{width:d,height:p}=e;let g,m,v,y,b,x;return"center"===i?(b=f+p/2,"left"===r?(g=h,m=g-o,y=b+o,x=b-o):(g=h+d,m=g+o,y=b-o,x=b+o),v=g):(m="left"===r?h+Math.max(a,c)+o:"right"===r?h+d-Math.max(l,u)-o:this.caretX,"top"===i?(y=f,b=y-o,g=m-o,v=m+o):(y=f+p,b=y+o,g=m+o,v=m-o),x=y),{x1:g,x2:m,x3:v,y1:y,y2:b,y3:x}}drawTitle(t,e,n){const r=this.title,i=r.length;let o,s,a;if(i){const l=sn(n.rtl,this.x,this.width);for(t.x=Mo(this,n.titleAlign,n),e.textAlign=l.textAlign(n.titleAlign),e.textBaseline="middle",o=de(n.titleFont),s=n.titleSpacing,e.fillStyle=n.titleColor,e.font=o.string,a=0;a0!==t))?(t.beginPath(),t.fillStyle=i.multiKeyBackground,oe(t,{x:e,y:p,w:l,h:a,radius:s}),t.fill(),t.stroke(),t.fillStyle=o.backgroundColor,t.beginPath(),oe(t,{x:n,y:p+1,w:l-2,h:a-2,radius:s}),t.fill()):(t.fillStyle=i.multiKeyBackground,t.fillRect(e,p,l,a),t.strokeRect(e,p,l,a),t.fillStyle=o.backgroundColor,t.fillRect(n,p+1,l-2,a-2))}t.fillStyle=this.labelTextColors[n]}drawBody(t,e,n){const{body:r}=this,{bodySpacing:i,bodyAlign:o,displayColors:s,boxHeight:a,boxWidth:l,boxPadding:c}=n,u=de(n.bodyFont);let h=u.lineHeight,f=0;const d=sn(n.rtl,this.x,this.width),p=function(n){e.fillText(n,d.x(t.x+f),t.y+h/2),t.y+=h+i},g=d.textAlign(o);let m,v,y,x,_,w,k;for(e.textAlign=o,e.textBaseline="middle",e.font=u.string,t.x=Mo(this,g,n),e.fillStyle=n.bodyColor,b(this.beforeBody,p),f=s&&"right"!==g?"center"===o?l/2+c:l+2+c:0,x=0,w=r.length;x0&&e.stroke()}_updateAnimationTarget(t){const e=this.chart,n=this.$animations,r=n&&n.x,i=n&&n.y;if(r||i){const n=wo[t.position].call(this,this._active,this._eventPosition);if(!n)return;const o=this._size=Oo(this,t),s=Object.assign({},n,this._size),a=So(e,t,s),l=To(t,s,a,e);r._to===l.x&&i._to===l.y||(this.xAlign=a.xAlign,this.yAlign=a.yAlign,this.width=o.width,this.height=o.height,this.caretX=n.x,this.caretY=n.y,this._resolveAnimations().update(this,l))}}draw(t){const e=this.options.setContext(this.getContext());let n=this.opacity;if(!n)return;this._updateAnimationTarget(e);const r={width:this.width,height:this.height},i={x:this.x,y:this.y};n=Math.abs(n)<.001?0:n;const o=fe(e.padding),s=this.title.length||this.beforeBody.length||this.body.length||this.afterBody.length||this.footer.length;e.enabled&&s&&(t.save(),t.globalAlpha=n,this.drawBackground(i,t,r,e),an(t,e.textDirection),i.y+=o.top,this.drawTitle(i,t,e),this.drawBody(i,t,e),this.drawFooter(i,t,e),ln(t,e.textDirection),t.restore())}getActiveElements(){return this._active||[]}setActiveElements(t,e){const n=this._active,r=t.map((({datasetIndex:t,index:e})=>{const n=this.chart.getDatasetMeta(t);if(!n)throw new Error("Cannot find a dataset at index "+t);return{datasetIndex:t,element:n.data[e],index:e}})),i=!x(n,r),o=this._positionChanged(r,e);(i||o)&&(this._active=r,this._eventPosition=e,this._ignoreReplayEvents=!0,this.update(!0))}handleEvent(t,e,n=!0){if(e&&this._ignoreReplayEvents)return!1;this._ignoreReplayEvents=!1;const r=this.options,i=this._active||[],o=this._getActiveElements(t,i,e,n),s=this._positionChanged(o,t),a=e||!x(o,i)||s;return a&&(this._active=o,(r.enabled||r.external)&&(this._eventPosition={x:t.x,y:t.y},this.update(!0,e))),a}_getActiveElements(t,e,n,r){const i=this.options;if("mouseout"===t.type)return[];if(!r)return e;const o=this.chart.getElementsAtEventForMode(t,i.mode,i,n);return i.reverse&&o.reverse(),o}_positionChanged(t,e){const{caretX:n,caretY:r,options:i}=this,o=wo[i.position].call(this,t,e);return!1!==o&&(n!==o.x||r!==o.y)}}Ro.positioners=wo;var Lo={id:"tooltip",_element:Ro,positioners:wo,afterInit(t,e,n){n&&(t.tooltip=new Ro({chart:t,options:n}))},beforeUpdate(t,e,n){t.tooltip&&t.tooltip.initialize(n)},reset(t,e,n){t.tooltip&&t.tooltip.initialize(n)},afterDraw(t){const e=t.tooltip,n={tooltip:e};!1!==t.notifyPlugins("beforeTooltipDraw",n)&&(e&&e.draw(t.ctx),t.notifyPlugins("afterTooltipDraw",n))},afterEvent(t,e){if(t.tooltip){const n=e.replay;t.tooltip.handleEvent(e.event,n,e.inChartArea)&&(e.changed=!0)}},defaults:{enabled:!0,external:null,position:"average",backgroundColor:"rgba(0,0,0,0.8)",titleColor:"#fff",titleFont:{weight:"bold"},titleSpacing:2,titleMarginBottom:6,titleAlign:"left",bodyColor:"#fff",bodySpacing:2,bodyFont:{},bodyAlign:"left",footerColor:"#fff",footerSpacing:2,footerMarginTop:6,footerFont:{weight:"bold"},footerAlign:"left",padding:6,caretPadding:2,caretSize:5,cornerRadius:6,boxHeight:(t,e)=>e.bodyFont.size,boxWidth:(t,e)=>e.bodyFont.size,multiKeyBackground:"#fff",displayColors:!0,boxPadding:0,borderColor:"rgba(0,0,0,0)",borderWidth:0,animation:{duration:400,easing:"easeOutQuart"},animations:{numbers:{type:"number",properties:["x","y","width","height","caretX","caretY"]},opacity:{easing:"linear",duration:200}},callbacks:{beforeTitle:c,title(t){if(t.length>0){const e=t[0],n=e.chart.data.labels,r=n?n.length:0;if(this&&this.options&&"dataset"===this.options.mode)return e.dataset.label||"";if(e.label)return e.label;if(r>0&&e.dataIndex"filter"!==t&&"itemSort"!==t&&"external"!==t,_indexable:!1,callbacks:{_scriptable:!1,_indexable:!1},animation:{_fallback:!1},animations:{_fallback:"animation"}},additionalOptionScopes:["interaction"]},jo=Object.freeze({__proto__:null,Decimation:Ki,Filler:po,Legend:vo,SubTitle:_o,Title:bo,Tooltip:Lo});function Io(t,e,n,r){const i=t.indexOf(e);if(-1===i)return((t,e,n,r)=>("string"==typeof e?(n=t.push(e)-1,r.unshift({index:n,label:e})):isNaN(e)&&(n=null),n))(t,e,n,r);return i!==t.lastIndexOf(e)?n:i}class No extends Xr{constructor(t){super(t),this._startValue=void 0,this._valueRange=0,this._addedLabels=[]}init(t){const e=this._addedLabels;if(e.length){const t=this.getLabels();for(const{index:n,label:r}of e)t[n]===r&&t.splice(n,1);this._addedLabels=[]}super.init(t)}parse(t,e){if(h(t))return null;const n=this.getLabels();return((t,e)=>null===t?null:et(Math.round(t),0,e))(e=isFinite(e)&&n[e]===t?e:Io(n,t,m(e,t),this._addedLabels),n.length-1)}determineDataLimits(){const{minDefined:t,maxDefined:e}=this.getUserBounds();let{min:n,max:r}=this.getMinMax(!0);"ticks"===this.options.bounds&&(t||(n=0),e||(r=this.getLabels().length-1)),this.min=n,this.max=r}buildTicks(){const t=this.min,e=this.max,n=this.options.offset,r=[];let i=this.getLabels();i=0===t&&e===i.length-1?i:i.slice(t,e+1),this._valueRange=Math.max(i.length-(n?0:1),1),this._startValue=this.min-(n?.5:0);for(let n=t;n<=e;n++)r.push({value:n});return r}getLabelForValue(t){const e=this.getLabels();return t>=0&&te.length-1?null:this.getPixelForValue(e[t].value)}getValueForPixel(t){return Math.round(this._startValue+this.getDecimalForPixel(t)*this._valueRange)}getBasePixel(){return this.bottom}}function Bo(t,e){const n=[],{bounds:r,step:i,min:o,max:s,precision:a,count:l,maxTicks:c,maxDigits:u,includeBounds:f}=t,d=i||1,p=c-1,{min:g,max:m}=e,v=!h(o),y=!h(s),b=!h(l),x=(m-g)/(u+1);let _,w,k,C,E=V((m-g)/p/d)*d;if(E<1e-14&&!v&&!y)return[{value:g},{value:m}];C=Math.ceil(m/E)-Math.floor(g/E),C>p&&(E=V(C*E/p/d)*d),h(a)||(_=Math.pow(10,a),E=Math.ceil(E*_)/_),"ticks"===r?(w=Math.floor(g/E)*E,k=Math.ceil(m/E)*E):(w=g,k=m),v&&y&&i&&function(t,e){const n=Math.round(t);return n-e<=t&&n+e>=t}((s-o)/i,E/1e3)?(C=Math.round(Math.min((s-o)/E,c)),E=(s-o)/C,w=o,k=s):b?(w=v?o:w,k=y?s:k,C=l-1,E=(k-w)/C):(C=(k-w)/E,C=U(C,Math.round(C),E/1e3)?Math.round(C):Math.ceil(C));const O=Math.max(G(E),G(w));_=Math.pow(10,h(a)?O:a),w=Math.round(w*_)/_,k=Math.round(k*_)/_;let A=0;for(v&&(f&&w!==o?(n.push({value:o}),wr=e?r:t,s=t=>i=n?i:t;if(t){const t=H(r),e=H(i);t<0&&e<0?s(0):t>0&&e>0&&o(0)}if(r===i){let e=1;(i>=Number.MAX_SAFE_INTEGER||r<=Number.MIN_SAFE_INTEGER)&&(e=Math.abs(.05*i)),s(i+e),t||o(r-e)}this.min=r,this.max=i}getTickLimit(){const t=this.options.ticks;let e,{maxTicksLimit:n,stepSize:r}=t;return r?(e=Math.ceil(this.max/r)-Math.floor(this.min/r)+1,e>1e3&&(console.warn(`scales.${this.id}.ticks.stepSize: ${r} would result generating up to ${e} ticks. Limiting to 1000.`),e=1e3)):(e=this.computeTickLimit(),n=n||11),n&&(e=Math.min(n,e)),e}computeTickLimit(){return Number.POSITIVE_INFINITY}buildTicks(){const t=this.options,e=t.ticks;let n=this.getTickLimit();n=Math.max(2,n);const r=Bo({maxTicks:n,bounds:t.bounds,min:t.min,max:t.max,precision:e.precision,step:e.stepSize,count:e.count,maxDigits:this._maxDigits(),horizontal:this.isHorizontal(),minRotation:e.minRotation||0,includeBounds:!1!==e.includeBounds},this._range||this);return"ticks"===t.bounds&&$(r,this,"value"),t.reverse?(r.reverse(),this.start=this.max,this.end=this.min):(this.start=this.min,this.end=this.max),r}configure(){const t=this.ticks;let e=this.min,n=this.max;if(super.configure(),this.options.offset&&t.length){const r=(n-e)/Math.max(t.length-1,1)/2;e-=r,n+=r}this._startValue=e,this._endValue=n,this._valueRange=n-e}getLabelForValue(t){return on(t,this.chart.options.locale,this.options.ticks.format)}}class Wo extends Fo{determineDataLimits(){const{min:t,max:e}=this.getMinMax(!0);this.min=p(t)?t:0,this.max=p(e)?e:1,this.handleTickRangeOptions()}computeTickLimit(){const t=this.isHorizontal(),e=t?this.width:this.height,n=Y(this.options.ticks.minRotation),r=(t?Math.sin(n):Math.cos(n))||.001,i=this._resolveTickFontOptions(0);return Math.ceil(e/Math.min(40,i.lineHeight/r))}getPixelForValue(t){return null===t?NaN:this.getPixelForDecimal((t-this._startValue)/this._valueRange)}getValueForPixel(t){return this._startValue+this.getDecimalForPixel(t)*this._valueRange}}function Ho(t){return 1===t/Math.pow(10,Math.floor(W(t)))}Wo.id="linear",Wo.defaults={ticks:{callback:zr.formatters.numeric}};class Vo extends Xr{constructor(t){super(t),this.start=void 0,this.end=void 0,this._startValue=void 0,this._valueRange=0}parse(t,e){const n=Fo.prototype.parse.apply(this,[t,e]);if(0!==n)return p(n)&&n>0?n:null;this._zero=!0}determineDataLimits(){const{min:t,max:e}=this.getMinMax(!0);this.min=p(t)?Math.max(0,t):null,this.max=p(e)?Math.max(0,e):null,this.options.beginAtZero&&(this._zero=!0),this.handleTickRangeOptions()}handleTickRangeOptions(){const{minDefined:t,maxDefined:e}=this.getUserBounds();let n=this.min,r=this.max;const i=e=>n=t?n:e,o=t=>r=e?r:t,s=(t,e)=>Math.pow(10,Math.floor(W(t))+e);n===r&&(n<=0?(i(1),o(10)):(i(s(n,-1)),o(s(r,1)))),n<=0&&i(s(r,-1)),r<=0&&o(s(n,1)),this._zero&&this.min!==this._suggestedMin&&n===s(this.min,0)&&i(s(n,-1)),this.min=n,this.max=r}buildTicks(){const t=this.options,e=function(t,e){const n=Math.floor(W(e.max)),r=Math.ceil(e.max/Math.pow(10,n)),i=[];let o=g(t.min,Math.pow(10,Math.floor(W(e.min)))),s=Math.floor(W(o)),a=Math.floor(o/Math.pow(10,s)),l=s<0?Math.pow(10,Math.abs(s)):1;do{i.push({value:o,major:Ho(o)}),++a,10===a&&(a=1,++s,l=s>=0?1:l),o=Math.round(a*Math.pow(10,s)*l)/l}while(si?{start:e-n,end:e}:{start:e,end:e+n}}function $o(t){const e={l:t.left+t._padding.left,r:t.right-t._padding.right,t:t.top+t._padding.top,b:t.bottom-t._padding.bottom},n=Object.assign({},e),r=[],i=[],o=t._pointLabels.length,s=t.options.pointLabels,a=s.centerPointLabels?R/o:0;for(let h=0;he.r&&(a=(r.end-e.r)/o,t.r=Math.max(t.r,e.r+a)),i.starte.b&&(l=(i.end-e.b)/s,t.b=Math.max(t.b,e.b+l))}function Xo(t){return 0===t||180===t?"center":t<180?"left":"right"}function Go(t,e,n){return"right"===n?t-=e:"center"===n&&(t-=e/2),t}function Ko(t,e,n){return 90===n||270===n?t-=e/2:(n>270||n<90)&&(t-=e),t}function Zo(t,e,n,r){const{ctx:i}=t;if(n)i.arc(t.xCenter,t.yCenter,e,0,L);else{let n=t.getPointPosition(0,e);i.moveTo(n.x,n.y);for(let o=1;o{const n=y(this.options.pointLabels.callback,[t,e],this);return n||0===n?n:""})).filter(((t,e)=>this.chart.getDataVisibility(e)))}fit(){const t=this.options;t.display&&t.pointLabels.display?$o(this):this.setCenterPoint(0,0,0,0)}setCenterPoint(t,e,n,r){this.xCenter+=Math.floor((t-e)/2),this.yCenter+=Math.floor((n-r)/2),this.drawingArea-=Math.min(this.drawingArea/2,Math.max(t,e,n,r))}getIndexAngle(t){return J(t*(L/(this._pointLabels.length||1))+Y(this.options.startAngle||0))}getDistanceFromCenterForValue(t){if(h(t))return NaN;const e=this.drawingArea/(this.max-this.min);return this.options.reverse?(this.max-t)*e:(t-this.min)*e}getValueForDistanceFromCenter(t){if(h(t))return NaN;const e=t/(this.drawingArea/(this.max-this.min));return this.options.reverse?this.max-e:this.min+e}getPointLabelContext(t){const e=this._pointLabels||[];if(t>=0&&t=0;i--){const e=r.setContext(t.getPointLabelContext(i)),o=de(e.font),{x:s,y:a,textAlign:l,left:c,top:u,right:f,bottom:d}=t._pointLabelItems[i],{backdropColor:p}=e;if(!h(p)){const t=fe(e.backdropPadding);n.fillStyle=p,n.fillRect(c-t.left,u-t.top,f-c+t.width,d-u+t.height)}re(n,t._pointLabels[i],s,a+o.lineHeight/2,o,{color:e.color,textAlign:l,textBaseline:"middle"})}}(this,i),r.display&&this.ticks.forEach(((t,e)=>{if(0!==e){s=this.getDistanceFromCenterForValue(t.value);!function(t,e,n,r){const i=t.ctx,o=e.circular,{color:s,lineWidth:a}=e;!o&&!r||!s||!a||n<0||(i.save(),i.strokeStyle=s,i.lineWidth=a,i.setLineDash(e.borderDash),i.lineDashOffset=e.borderDashOffset,i.beginPath(),Zo(t,n,o,r),i.closePath(),i.stroke(),i.restore())}(this,r.setContext(this.getContext(e-1)),s,i)}})),n.display){for(t.save(),o=i-1;o>=0;o--){const r=n.setContext(this.getPointLabelContext(o)),{color:i,lineWidth:l}=r;l&&i&&(t.lineWidth=l,t.strokeStyle=i,t.setLineDash(r.borderDash),t.lineDashOffset=r.borderDashOffset,s=this.getDistanceFromCenterForValue(e.ticks.reverse?this.min:this.max),a=this.getPointPosition(o,s),t.beginPath(),t.moveTo(this.xCenter,this.yCenter),t.lineTo(a.x,a.y),t.stroke())}t.restore()}}drawBorder(){}drawLabels(){const t=this.ctx,e=this.options,n=e.ticks;if(!n.display)return;const r=this.getIndexAngle(0);let i,o;t.save(),t.translate(this.xCenter,this.yCenter),t.rotate(r),t.textAlign="center",t.textBaseline="middle",this.ticks.forEach(((r,s)=>{if(0===s&&!e.reverse)return;const a=n.setContext(this.getContext(s)),l=de(a.font);if(i=this.getDistanceFromCenterForValue(this.ticks[s].value),a.showLabelBackdrop){t.font=l.string,o=t.measureText(r.label).width,t.fillStyle=a.backdropColor;const e=fe(a.backdropPadding);t.fillRect(-o/2-e.left,-i-l.size/2-e.top,o+e.width,l.size+e.height)}re(t,r.label,0,-i,l,{color:a.color})})),t.restore()}drawTitle(){}}Qo.id="radialLinear",Qo.defaults={display:!0,animate:!0,position:"chartArea",angleLines:{display:!0,lineWidth:1,borderDash:[],borderDashOffset:0},grid:{circular:!1},startAngle:0,ticks:{showLabelBackdrop:!0,callback:zr.formatters.numeric},pointLabels:{backdropColor:void 0,backdropPadding:2,display:!0,font:{size:10},callback:t=>t,padding:5,centerPointLabels:!1}},Qo.defaultRoutes={"angleLines.color":"borderColor","pointLabels.color":"color","ticks.color":"color"},Qo.descriptors={angleLines:{_fallback:"grid"}};const Jo={millisecond:{common:!0,size:1,steps:1e3},second:{common:!0,size:1e3,steps:60},minute:{common:!0,size:6e4,steps:60},hour:{common:!0,size:36e5,steps:24},day:{common:!0,size:864e5,steps:30},week:{common:!1,size:6048e5,steps:4},month:{common:!0,size:2628e6,steps:12},quarter:{common:!1,size:7884e6,steps:4},year:{common:!0,size:3154e7}},ts=Object.keys(Jo);function es(t,e){return t-e}function ns(t,e){if(h(e))return null;const n=t._adapter,{parser:r,round:i,isoWeekday:o}=t._parseOpts;let s=e;return"function"==typeof r&&(s=r(s)),p(s)||(s="string"==typeof r?n.parse(s,r):n.parse(s)),null===s?null:(i&&(s="week"!==i||!q(o)&&!0!==o?n.startOf(s,i):n.startOf(s,"isoWeek",o)),+s)}function rs(t,e,n,r){const i=ts.length;for(let o=ts.indexOf(t);o=e?n[r]:n[i]]=!0}}else t[e]=!0}function os(t,e,n){const r=[],i={},o=e.length;let s,a;for(s=0;s=0&&(e[l].major=!0);return e}(t,r,i,n):r}class ss extends Xr{constructor(t){super(t),this._cache={data:[],labels:[],all:[]},this._unit="day",this._majorUnit=void 0,this._offsets={},this._normalized=!1,this._parseOpts=void 0}init(t,e){const n=t.time||(t.time={}),r=this._adapter=new Jn._date(t.adapters.date);E(n.displayFormats,r.formats()),this._parseOpts={parser:n.parser,round:n.round,isoWeekday:n.isoWeekday},super.init(t),this._normalized=e.normalized}parse(t,e){return void 0===t?null:ns(this,t)}beforeLayout(){super.beforeLayout(),this._cache={data:[],labels:[],all:[]}}determineDataLimits(){const t=this.options,e=this._adapter,n=t.time.unit||"day";let{min:r,max:i,minDefined:o,maxDefined:s}=this.getUserBounds();function a(t){o||isNaN(t.min)||(r=Math.min(r,t.min)),s||isNaN(t.max)||(i=Math.max(i,t.max))}o&&s||(a(this._getLabelBounds()),"ticks"===t.bounds&&"labels"===t.ticks.source||a(this.getMinMax(!1))),r=p(r)&&!isNaN(r)?r:+e.startOf(Date.now(),n),i=p(i)&&!isNaN(i)?i:+e.endOf(Date.now(),n)+1,this.min=Math.min(r,i-1),this.max=Math.max(r+1,i)}_getLabelBounds(){const t=this.getLabelTimestamps();let e=Number.POSITIVE_INFINITY,n=Number.NEGATIVE_INFINITY;return t.length&&(e=t[0],n=t[t.length-1]),{min:e,max:n}}buildTicks(){const t=this.options,e=t.time,n=t.ticks,r="labels"===n.source?this.getLabelTimestamps():this._generate();"ticks"===t.bounds&&r.length&&(this.min=this._userMin||r[0],this.max=this._userMax||r[r.length-1]);const i=this.min,o=function(t,e,n){let r=0,i=t.length;for(;rr&&t[i-1]>n;)i--;return r>0||i=ts.indexOf(n);o--){const n=ts[o];if(Jo[n].common&&t._adapter.diff(i,r,n)>=e-1)return n}return ts[n?ts.indexOf(n):0]}(this,o.length,e.minUnit,this.min,this.max)),this._majorUnit=n.major.enabled&&"year"!==this._unit?function(t){for(let e=ts.indexOf(t)+1,n=ts.length;e1e5*s)throw new Error(e+" and "+n+" are too far apart with stepSize of "+s+" "+o);const d="data"===r.ticks.source&&this.getDataTimestamps();for(u=f,h=0;ut-e)).map((t=>+t))}getLabelForValue(t){const e=this._adapter,n=this.options.time;return n.tooltipFormat?e.format(t,n.tooltipFormat):e.format(t,n.displayFormats.datetime)}_tickFormatFunction(t,e,n,r){const i=this.options,o=i.time.displayFormats,s=this._unit,a=this._majorUnit,l=s&&o[s],c=a&&o[a],u=n[e],h=a&&c&&u&&u.major,f=this._adapter.format(t,r||(h?c:l)),d=i.ticks.callback;return d?y(d,[f,e,n],this):f}generateTickLabels(t){let e,n,r;for(e=0,n=t.length;e0?s:1}getDataTimestamps(){let t,e,n=this._cache.data||[];if(n.length)return n;const r=this.getMatchingVisibleMetas();if(this._normalized&&r.length)return this._cache.data=r[0].controller.getAllParsedValues(this);for(t=0,e=r.length;t=t[a].pos&&e<=t[l].pos&&({lo:a,hi:l}=ve(t,"pos",e)),({pos:r,time:o}=t[a]),({pos:i,time:s}=t[l])):(e>=t[a].time&&e<=t[l].time&&({lo:a,hi:l}=ve(t,"time",e)),({time:r,pos:o}=t[a]),({time:i,pos:s}=t[l]));const c=i-r;return c?o+(s-o)*(e-r)/c:o}ss.id="time",ss.defaults={bounds:"data",adapters:{},time:{parser:!1,unit:!1,round:!1,isoWeekday:!1,minUnit:"millisecond",displayFormats:{}},ticks:{source:"auto",major:{enabled:!1}}};class ls extends ss{constructor(t){super(t),this._table=[],this._minPos=void 0,this._tableRange=void 0}initOffsets(){const t=this._getTimestampsForTable(),e=this._table=this.buildLookupTable(t);this._minPos=as(e,this.min),this._tableRange=as(e,this.max)-this._minPos,super.initOffsets(t)}buildLookupTable(t){const{min:e,max:n}=this,r=[],i=[];let o,s,a,l,c;for(o=0,s=t.length;o=e&&l<=n&&r.push(l);if(r.length<2)return[{time:e,pos:0},{time:n,pos:1}];for(o=0,s=r.length;o{"use strict";n.r(e),n.d(e,{Alert:()=>be,Button:()=>_e,Carousel:()=>Ne,Collapse:()=>Xe,Dropdown:()=>gn,Modal:()=>qn,Offcanvas:()=>Zn,Popover:()=>kr,ScrollSpy:()=>Rr,Tab:()=>zr,Toast:()=>$r,Tooltip:()=>br});var r={};n.r(r),n.d(r,{afterMain:()=>k,afterRead:()=>x,afterWrite:()=>O,applyStyles:()=>R,arrow:()=>Z,auto:()=>l,basePlacements:()=>c,beforeMain:()=>_,beforeRead:()=>y,beforeWrite:()=>C,bottom:()=>o,clippingParents:()=>f,computeStyles:()=>et,createPopper:()=>Dt,createPopperBase:()=>Mt,createPopperLite:()=>Pt,detectOverflow:()=>vt,end:()=>h,eventListeners:()=>rt,flip:()=>yt,hide:()=>_t,left:()=>a,main:()=>w,modifierPhases:()=>A,offset:()=>wt,placements:()=>v,popper:()=>p,popperGenerator:()=>Tt,popperOffsets:()=>kt,preventOverflow:()=>Ct,read:()=>b,reference:()=>g,right:()=>s,start:()=>u,top:()=>i,variationPlacements:()=>m,viewport:()=>d,write:()=>E});var i="top",o="bottom",s="right",a="left",l="auto",c=[i,o,s,a],u="start",h="end",f="clippingParents",d="viewport",p="popper",g="reference",m=c.reduce((function(t,e){return t.concat([e+"-"+u,e+"-"+h])}),[]),v=[].concat(c,[l]).reduce((function(t,e){return t.concat([e,e+"-"+u,e+"-"+h])}),[]),y="beforeRead",b="read",x="afterRead",_="beforeMain",w="main",k="afterMain",C="beforeWrite",E="write",O="afterWrite",A=[y,b,x,_,w,k,C,E,O];function S(t){return t?(t.nodeName||"").toLowerCase():null}function T(t){if(null==t)return window;if("[object Window]"!==t.toString()){var e=t.ownerDocument;return e&&e.defaultView||window}return t}function M(t){return t instanceof T(t).Element||t instanceof Element}function D(t){return t instanceof T(t).HTMLElement||t instanceof HTMLElement}function P(t){return"undefined"!=typeof ShadowRoot&&(t instanceof T(t).ShadowRoot||t instanceof ShadowRoot)}const R={name:"applyStyles",enabled:!0,phase:"write",fn:function(t){var e=t.state;Object.keys(e.elements).forEach((function(t){var n=e.styles[t]||{},r=e.attributes[t]||{},i=e.elements[t];D(i)&&S(i)&&(Object.assign(i.style,n),Object.keys(r).forEach((function(t){var e=r[t];!1===e?i.removeAttribute(t):i.setAttribute(t,!0===e?"":e)})))}))},effect:function(t){var e=t.state,n={popper:{position:e.options.strategy,left:"0",top:"0",margin:"0"},arrow:{position:"absolute"},reference:{}};return Object.assign(e.elements.popper.style,n.popper),e.styles=n,e.elements.arrow&&Object.assign(e.elements.arrow.style,n.arrow),function(){Object.keys(e.elements).forEach((function(t){var r=e.elements[t],i=e.attributes[t]||{},o=Object.keys(e.styles.hasOwnProperty(t)?e.styles[t]:n[t]).reduce((function(t,e){return t[e]="",t}),{});D(r)&&S(r)&&(Object.assign(r.style,o),Object.keys(i).forEach((function(t){r.removeAttribute(t)})))}))}},requires:["computeStyles"]};function L(t){return t.split("-")[0]}var j=Math.max,I=Math.min,N=Math.round;function B(t,e){void 0===e&&(e=!1);var n=t.getBoundingClientRect(),r=1,i=1;if(D(t)&&e){var o=t.offsetHeight,s=t.offsetWidth;s>0&&(r=N(n.width)/s||1),o>0&&(i=N(n.height)/o||1)}return{width:n.width/r,height:n.height/i,top:n.top/i,right:n.right/r,bottom:n.bottom/i,left:n.left/r,x:n.left/r,y:n.top/i}}function z(t){var e=B(t),n=t.offsetWidth,r=t.offsetHeight;return Math.abs(e.width-n)<=1&&(n=e.width),Math.abs(e.height-r)<=1&&(r=e.height),{x:t.offsetLeft,y:t.offsetTop,width:n,height:r}}function F(t,e){var n=e.getRootNode&&e.getRootNode();if(t.contains(e))return!0;if(n&&P(n)){var r=e;do{if(r&&t.isSameNode(r))return!0;r=r.parentNode||r.host}while(r)}return!1}function W(t){return T(t).getComputedStyle(t)}function H(t){return["table","td","th"].indexOf(S(t))>=0}function V(t){return((M(t)?t.ownerDocument:t.document)||window.document).documentElement}function q(t){return"html"===S(t)?t:t.assignedSlot||t.parentNode||(P(t)?t.host:null)||V(t)}function U(t){return D(t)&&"fixed"!==W(t).position?t.offsetParent:null}function $(t){for(var e=T(t),n=U(t);n&&H(n)&&"static"===W(n).position;)n=U(n);return n&&("html"===S(n)||"body"===S(n)&&"static"===W(n).position)?e:n||function(t){var e=-1!==navigator.userAgent.toLowerCase().indexOf("firefox");if(-1!==navigator.userAgent.indexOf("Trident")&&D(t)&&"fixed"===W(t).position)return null;for(var n=q(t);D(n)&&["html","body"].indexOf(S(n))<0;){var r=W(n);if("none"!==r.transform||"none"!==r.perspective||"paint"===r.contain||-1!==["transform","perspective"].indexOf(r.willChange)||e&&"filter"===r.willChange||e&&r.filter&&"none"!==r.filter)return n;n=n.parentNode}return null}(t)||e}function Y(t){return["top","bottom"].indexOf(t)>=0?"x":"y"}function X(t,e,n){return j(t,I(e,n))}function G(t){return Object.assign({},{top:0,right:0,bottom:0,left:0},t)}function K(t,e){return e.reduce((function(e,n){return e[n]=t,e}),{})}const Z={name:"arrow",enabled:!0,phase:"main",fn:function(t){var e,n=t.state,r=t.name,l=t.options,u=n.elements.arrow,h=n.modifiersData.popperOffsets,f=L(n.placement),d=Y(f),p=[a,s].indexOf(f)>=0?"height":"width";if(u&&h){var g=function(t,e){return G("number"!=typeof(t="function"==typeof t?t(Object.assign({},e.rects,{placement:e.placement})):t)?t:K(t,c))}(l.padding,n),m=z(u),v="y"===d?i:a,y="y"===d?o:s,b=n.rects.reference[p]+n.rects.reference[d]-h[d]-n.rects.popper[p],x=h[d]-n.rects.reference[d],_=$(u),w=_?"y"===d?_.clientHeight||0:_.clientWidth||0:0,k=b/2-x/2,C=g[v],E=w-m[p]-g[y],O=w/2-m[p]/2+k,A=X(C,O,E),S=d;n.modifiersData[r]=((e={})[S]=A,e.centerOffset=A-O,e)}},effect:function(t){var e=t.state,n=t.options.element,r=void 0===n?"[data-popper-arrow]":n;null!=r&&("string"!=typeof r||(r=e.elements.popper.querySelector(r)))&&F(e.elements.popper,r)&&(e.elements.arrow=r)},requires:["popperOffsets"],requiresIfExists:["preventOverflow"]};function Q(t){return t.split("-")[1]}var J={top:"auto",right:"auto",bottom:"auto",left:"auto"};function tt(t){var e,n=t.popper,r=t.popperRect,l=t.placement,c=t.variation,u=t.offsets,f=t.position,d=t.gpuAcceleration,p=t.adaptive,g=t.roundOffsets,m=t.isFixed,v=u.x,y=void 0===v?0:v,b=u.y,x=void 0===b?0:b,_="function"==typeof g?g({x:y,y:x}):{x:y,y:x};y=_.x,x=_.y;var w=u.hasOwnProperty("x"),k=u.hasOwnProperty("y"),C=a,E=i,O=window;if(p){var A=$(n),S="clientHeight",M="clientWidth";if(A===T(n)&&"static"!==W(A=V(n)).position&&"absolute"===f&&(S="scrollHeight",M="scrollWidth"),A=A,l===i||(l===a||l===s)&&c===h)E=o,x-=(m&&O.visualViewport?O.visualViewport.height:A[S])-r.height,x*=d?1:-1;if(l===a||(l===i||l===o)&&c===h)C=s,y-=(m&&O.visualViewport?O.visualViewport.width:A[M])-r.width,y*=d?1:-1}var D,P=Object.assign({position:f},p&&J),R=!0===g?function(t){var e=t.x,n=t.y,r=window.devicePixelRatio||1;return{x:N(e*r)/r||0,y:N(n*r)/r||0}}({x:y,y:x}):{x:y,y:x};return y=R.x,x=R.y,d?Object.assign({},P,((D={})[E]=k?"0":"",D[C]=w?"0":"",D.transform=(O.devicePixelRatio||1)<=1?"translate("+y+"px, "+x+"px)":"translate3d("+y+"px, "+x+"px, 0)",D)):Object.assign({},P,((e={})[E]=k?x+"px":"",e[C]=w?y+"px":"",e.transform="",e))}const et={name:"computeStyles",enabled:!0,phase:"beforeWrite",fn:function(t){var e=t.state,n=t.options,r=n.gpuAcceleration,i=void 0===r||r,o=n.adaptive,s=void 0===o||o,a=n.roundOffsets,l=void 0===a||a,c={placement:L(e.placement),variation:Q(e.placement),popper:e.elements.popper,popperRect:e.rects.popper,gpuAcceleration:i,isFixed:"fixed"===e.options.strategy};null!=e.modifiersData.popperOffsets&&(e.styles.popper=Object.assign({},e.styles.popper,tt(Object.assign({},c,{offsets:e.modifiersData.popperOffsets,position:e.options.strategy,adaptive:s,roundOffsets:l})))),null!=e.modifiersData.arrow&&(e.styles.arrow=Object.assign({},e.styles.arrow,tt(Object.assign({},c,{offsets:e.modifiersData.arrow,position:"absolute",adaptive:!1,roundOffsets:l})))),e.attributes.popper=Object.assign({},e.attributes.popper,{"data-popper-placement":e.placement})},data:{}};var nt={passive:!0};const rt={name:"eventListeners",enabled:!0,phase:"write",fn:function(){},effect:function(t){var e=t.state,n=t.instance,r=t.options,i=r.scroll,o=void 0===i||i,s=r.resize,a=void 0===s||s,l=T(e.elements.popper),c=[].concat(e.scrollParents.reference,e.scrollParents.popper);return o&&c.forEach((function(t){t.addEventListener("scroll",n.update,nt)})),a&&l.addEventListener("resize",n.update,nt),function(){o&&c.forEach((function(t){t.removeEventListener("scroll",n.update,nt)})),a&&l.removeEventListener("resize",n.update,nt)}},data:{}};var it={left:"right",right:"left",bottom:"top",top:"bottom"};function ot(t){return t.replace(/left|right|bottom|top/g,(function(t){return it[t]}))}var st={start:"end",end:"start"};function at(t){return t.replace(/start|end/g,(function(t){return st[t]}))}function lt(t){var e=T(t);return{scrollLeft:e.pageXOffset,scrollTop:e.pageYOffset}}function ct(t){return B(V(t)).left+lt(t).scrollLeft}function ut(t){var e=W(t),n=e.overflow,r=e.overflowX,i=e.overflowY;return/auto|scroll|overlay|hidden/.test(n+i+r)}function ht(t){return["html","body","#document"].indexOf(S(t))>=0?t.ownerDocument.body:D(t)&&ut(t)?t:ht(q(t))}function ft(t,e){var n;void 0===e&&(e=[]);var r=ht(t),i=r===(null==(n=t.ownerDocument)?void 0:n.body),o=T(r),s=i?[o].concat(o.visualViewport||[],ut(r)?r:[]):r,a=e.concat(s);return i?a:a.concat(ft(q(s)))}function dt(t){return Object.assign({},t,{left:t.x,top:t.y,right:t.x+t.width,bottom:t.y+t.height})}function pt(t,e){return e===d?dt(function(t){var e=T(t),n=V(t),r=e.visualViewport,i=n.clientWidth,o=n.clientHeight,s=0,a=0;return r&&(i=r.width,o=r.height,/^((?!chrome|android).)*safari/i.test(navigator.userAgent)||(s=r.offsetLeft,a=r.offsetTop)),{width:i,height:o,x:s+ct(t),y:a}}(t)):M(e)?function(t){var e=B(t);return e.top=e.top+t.clientTop,e.left=e.left+t.clientLeft,e.bottom=e.top+t.clientHeight,e.right=e.left+t.clientWidth,e.width=t.clientWidth,e.height=t.clientHeight,e.x=e.left,e.y=e.top,e}(e):dt(function(t){var e,n=V(t),r=lt(t),i=null==(e=t.ownerDocument)?void 0:e.body,o=j(n.scrollWidth,n.clientWidth,i?i.scrollWidth:0,i?i.clientWidth:0),s=j(n.scrollHeight,n.clientHeight,i?i.scrollHeight:0,i?i.clientHeight:0),a=-r.scrollLeft+ct(t),l=-r.scrollTop;return"rtl"===W(i||n).direction&&(a+=j(n.clientWidth,i?i.clientWidth:0)-o),{width:o,height:s,x:a,y:l}}(V(t)))}function gt(t,e,n){var r="clippingParents"===e?function(t){var e=ft(q(t)),n=["absolute","fixed"].indexOf(W(t).position)>=0&&D(t)?$(t):t;return M(n)?e.filter((function(t){return M(t)&&F(t,n)&&"body"!==S(t)})):[]}(t):[].concat(e),i=[].concat(r,[n]),o=i[0],s=i.reduce((function(e,n){var r=pt(t,n);return e.top=j(r.top,e.top),e.right=I(r.right,e.right),e.bottom=I(r.bottom,e.bottom),e.left=j(r.left,e.left),e}),pt(t,o));return s.width=s.right-s.left,s.height=s.bottom-s.top,s.x=s.left,s.y=s.top,s}function mt(t){var e,n=t.reference,r=t.element,l=t.placement,c=l?L(l):null,f=l?Q(l):null,d=n.x+n.width/2-r.width/2,p=n.y+n.height/2-r.height/2;switch(c){case i:e={x:d,y:n.y-r.height};break;case o:e={x:d,y:n.y+n.height};break;case s:e={x:n.x+n.width,y:p};break;case a:e={x:n.x-r.width,y:p};break;default:e={x:n.x,y:n.y}}var g=c?Y(c):null;if(null!=g){var m="y"===g?"height":"width";switch(f){case u:e[g]=e[g]-(n[m]/2-r[m]/2);break;case h:e[g]=e[g]+(n[m]/2-r[m]/2)}}return e}function vt(t,e){void 0===e&&(e={});var n=e,r=n.placement,a=void 0===r?t.placement:r,l=n.boundary,u=void 0===l?f:l,h=n.rootBoundary,m=void 0===h?d:h,v=n.elementContext,y=void 0===v?p:v,b=n.altBoundary,x=void 0!==b&&b,_=n.padding,w=void 0===_?0:_,k=G("number"!=typeof w?w:K(w,c)),C=y===p?g:p,E=t.rects.popper,O=t.elements[x?C:y],A=gt(M(O)?O:O.contextElement||V(t.elements.popper),u,m),S=B(t.elements.reference),T=mt({reference:S,element:E,strategy:"absolute",placement:a}),D=dt(Object.assign({},E,T)),P=y===p?D:S,R={top:A.top-P.top+k.top,bottom:P.bottom-A.bottom+k.bottom,left:A.left-P.left+k.left,right:P.right-A.right+k.right},L=t.modifiersData.offset;if(y===p&&L){var j=L[a];Object.keys(R).forEach((function(t){var e=[s,o].indexOf(t)>=0?1:-1,n=[i,o].indexOf(t)>=0?"y":"x";R[t]+=j[n]*e}))}return R}const yt={name:"flip",enabled:!0,phase:"main",fn:function(t){var e=t.state,n=t.options,r=t.name;if(!e.modifiersData[r]._skip){for(var h=n.mainAxis,f=void 0===h||h,d=n.altAxis,p=void 0===d||d,g=n.fallbackPlacements,y=n.padding,b=n.boundary,x=n.rootBoundary,_=n.altBoundary,w=n.flipVariations,k=void 0===w||w,C=n.allowedAutoPlacements,E=e.options.placement,O=L(E),A=g||(O===E||!k?[ot(E)]:function(t){if(L(t)===l)return[];var e=ot(t);return[at(t),e,at(e)]}(E)),S=[E].concat(A).reduce((function(t,n){return t.concat(L(n)===l?function(t,e){void 0===e&&(e={});var n=e,r=n.placement,i=n.boundary,o=n.rootBoundary,s=n.padding,a=n.flipVariations,l=n.allowedAutoPlacements,u=void 0===l?v:l,h=Q(r),f=h?a?m:m.filter((function(t){return Q(t)===h})):c,d=f.filter((function(t){return u.indexOf(t)>=0}));0===d.length&&(d=f);var p=d.reduce((function(e,n){return e[n]=vt(t,{placement:n,boundary:i,rootBoundary:o,padding:s})[L(n)],e}),{});return Object.keys(p).sort((function(t,e){return p[t]-p[e]}))}(e,{placement:n,boundary:b,rootBoundary:x,padding:y,flipVariations:k,allowedAutoPlacements:C}):n)}),[]),T=e.rects.reference,M=e.rects.popper,D=new Map,P=!0,R=S[0],j=0;j=0,F=z?"width":"height",W=vt(e,{placement:I,boundary:b,rootBoundary:x,altBoundary:_,padding:y}),H=z?B?s:a:B?o:i;T[F]>M[F]&&(H=ot(H));var V=ot(H),q=[];if(f&&q.push(W[N]<=0),p&&q.push(W[H]<=0,W[V]<=0),q.every((function(t){return t}))){R=I,P=!1;break}D.set(I,q)}if(P)for(var U=function(t){var e=S.find((function(e){var n=D.get(e);if(n)return n.slice(0,t).every((function(t){return t}))}));if(e)return R=e,"break"},$=k?3:1;$>0;$--){if("break"===U($))break}e.placement!==R&&(e.modifiersData[r]._skip=!0,e.placement=R,e.reset=!0)}},requiresIfExists:["offset"],data:{_skip:!1}};function bt(t,e,n){return void 0===n&&(n={x:0,y:0}),{top:t.top-e.height-n.y,right:t.right-e.width+n.x,bottom:t.bottom-e.height+n.y,left:t.left-e.width-n.x}}function xt(t){return[i,s,o,a].some((function(e){return t[e]>=0}))}const _t={name:"hide",enabled:!0,phase:"main",requiresIfExists:["preventOverflow"],fn:function(t){var e=t.state,n=t.name,r=e.rects.reference,i=e.rects.popper,o=e.modifiersData.preventOverflow,s=vt(e,{elementContext:"reference"}),a=vt(e,{altBoundary:!0}),l=bt(s,r),c=bt(a,i,o),u=xt(l),h=xt(c);e.modifiersData[n]={referenceClippingOffsets:l,popperEscapeOffsets:c,isReferenceHidden:u,hasPopperEscaped:h},e.attributes.popper=Object.assign({},e.attributes.popper,{"data-popper-reference-hidden":u,"data-popper-escaped":h})}};const wt={name:"offset",enabled:!0,phase:"main",requires:["popperOffsets"],fn:function(t){var e=t.state,n=t.options,r=t.name,o=n.offset,l=void 0===o?[0,0]:o,c=v.reduce((function(t,n){return t[n]=function(t,e,n){var r=L(t),o=[a,i].indexOf(r)>=0?-1:1,l="function"==typeof n?n(Object.assign({},e,{placement:t})):n,c=l[0],u=l[1];return c=c||0,u=(u||0)*o,[a,s].indexOf(r)>=0?{x:u,y:c}:{x:c,y:u}}(n,e.rects,l),t}),{}),u=c[e.placement],h=u.x,f=u.y;null!=e.modifiersData.popperOffsets&&(e.modifiersData.popperOffsets.x+=h,e.modifiersData.popperOffsets.y+=f),e.modifiersData[r]=c}};const kt={name:"popperOffsets",enabled:!0,phase:"read",fn:function(t){var e=t.state,n=t.name;e.modifiersData[n]=mt({reference:e.rects.reference,element:e.rects.popper,strategy:"absolute",placement:e.placement})},data:{}};const Ct={name:"preventOverflow",enabled:!0,phase:"main",fn:function(t){var e=t.state,n=t.options,r=t.name,l=n.mainAxis,c=void 0===l||l,h=n.altAxis,f=void 0!==h&&h,d=n.boundary,p=n.rootBoundary,g=n.altBoundary,m=n.padding,v=n.tether,y=void 0===v||v,b=n.tetherOffset,x=void 0===b?0:b,_=vt(e,{boundary:d,rootBoundary:p,padding:m,altBoundary:g}),w=L(e.placement),k=Q(e.placement),C=!k,E=Y(w),O="x"===E?"y":"x",A=e.modifiersData.popperOffsets,S=e.rects.reference,T=e.rects.popper,M="function"==typeof x?x(Object.assign({},e.rects,{placement:e.placement})):x,D="number"==typeof M?{mainAxis:M,altAxis:M}:Object.assign({mainAxis:0,altAxis:0},M),P=e.modifiersData.offset?e.modifiersData.offset[e.placement]:null,R={x:0,y:0};if(A){if(c){var N,B="y"===E?i:a,F="y"===E?o:s,W="y"===E?"height":"width",H=A[E],V=H+_[B],q=H-_[F],U=y?-T[W]/2:0,G=k===u?S[W]:T[W],K=k===u?-T[W]:-S[W],Z=e.elements.arrow,J=y&&Z?z(Z):{width:0,height:0},tt=e.modifiersData["arrow#persistent"]?e.modifiersData["arrow#persistent"].padding:{top:0,right:0,bottom:0,left:0},et=tt[B],nt=tt[F],rt=X(0,S[W],J[W]),it=C?S[W]/2-U-rt-et-D.mainAxis:G-rt-et-D.mainAxis,ot=C?-S[W]/2+U+rt+nt+D.mainAxis:K+rt+nt+D.mainAxis,st=e.elements.arrow&&$(e.elements.arrow),at=st?"y"===E?st.clientTop||0:st.clientLeft||0:0,lt=null!=(N=null==P?void 0:P[E])?N:0,ct=H+ot-lt,ut=X(y?I(V,H+it-lt-at):V,H,y?j(q,ct):q);A[E]=ut,R[E]=ut-H}if(f){var ht,ft="x"===E?i:a,dt="x"===E?o:s,pt=A[O],gt="y"===O?"height":"width",mt=pt+_[ft],yt=pt-_[dt],bt=-1!==[i,a].indexOf(w),xt=null!=(ht=null==P?void 0:P[O])?ht:0,_t=bt?mt:pt-S[gt]-T[gt]-xt+D.altAxis,wt=bt?pt+S[gt]+T[gt]-xt-D.altAxis:yt,kt=y&&bt?function(t,e,n){var r=X(t,e,n);return r>n?n:r}(_t,pt,wt):X(y?_t:mt,pt,y?wt:yt);A[O]=kt,R[O]=kt-pt}e.modifiersData[r]=R}},requiresIfExists:["offset"]};function Et(t,e,n){void 0===n&&(n=!1);var r,i,o=D(e),s=D(e)&&function(t){var e=t.getBoundingClientRect(),n=N(e.width)/t.offsetWidth||1,r=N(e.height)/t.offsetHeight||1;return 1!==n||1!==r}(e),a=V(e),l=B(t,s),c={scrollLeft:0,scrollTop:0},u={x:0,y:0};return(o||!o&&!n)&&(("body"!==S(e)||ut(a))&&(c=(r=e)!==T(r)&&D(r)?{scrollLeft:(i=r).scrollLeft,scrollTop:i.scrollTop}:lt(r)),D(e)?((u=B(e,!0)).x+=e.clientLeft,u.y+=e.clientTop):a&&(u.x=ct(a))),{x:l.left+c.scrollLeft-u.x,y:l.top+c.scrollTop-u.y,width:l.width,height:l.height}}function Ot(t){var e=new Map,n=new Set,r=[];function i(t){n.add(t.name),[].concat(t.requires||[],t.requiresIfExists||[]).forEach((function(t){if(!n.has(t)){var r=e.get(t);r&&i(r)}})),r.push(t)}return t.forEach((function(t){e.set(t.name,t)})),t.forEach((function(t){n.has(t.name)||i(t)})),r}var At={placement:"bottom",modifiers:[],strategy:"absolute"};function St(){for(var t=arguments.length,e=new Array(t),n=0;n{let e=t.getAttribute("data-bs-target");if(!e||"#"===e){let n=t.getAttribute("href");if(!n||!n.includes("#")&&!n.startsWith("."))return null;n.includes("#")&&!n.startsWith("#")&&(n=`#${n.split("#")[1]}`),e=n&&"#"!==n?n.trim():null}return e},jt=t=>{const e=Lt(t);return e&&document.querySelector(e)?e:null},It=t=>{const e=Lt(t);return e?document.querySelector(e):null},Nt=t=>{t.dispatchEvent(new Event(Rt))},Bt=t=>!(!t||"object"!=typeof t)&&(void 0!==t.jquery&&(t=t[0]),void 0!==t.nodeType),zt=t=>Bt(t)?t.jquery?t[0]:t:"string"==typeof t&&t.length>0?document.querySelector(t):null,Ft=(t,e,n)=>{Object.keys(n).forEach((r=>{const i=n[r],o=e[r],s=o&&Bt(o)?"element":null==(a=o)?`${a}`:{}.toString.call(a).match(/\s([a-z]+)/i)[1].toLowerCase();var a;if(!new RegExp(i).test(s))throw new TypeError(`${t.toUpperCase()}: Option "${r}" provided type "${s}" but expected type "${i}".`)}))},Wt=t=>!(!Bt(t)||0===t.getClientRects().length)&&"visible"===getComputedStyle(t).getPropertyValue("visibility"),Ht=t=>!t||t.nodeType!==Node.ELEMENT_NODE||(!!t.classList.contains("disabled")||(void 0!==t.disabled?t.disabled:t.hasAttribute("disabled")&&"false"!==t.getAttribute("disabled"))),Vt=t=>{if(!document.documentElement.attachShadow)return null;if("function"==typeof t.getRootNode){const e=t.getRootNode();return e instanceof ShadowRoot?e:null}return t instanceof ShadowRoot?t:t.parentNode?Vt(t.parentNode):null},qt=()=>{},Ut=t=>{t.offsetHeight},$t=()=>{const{jQuery:t}=window;return t&&!document.body.hasAttribute("data-bs-no-jquery")?t:null},Yt=[],Xt=()=>"rtl"===document.documentElement.dir,Gt=t=>{var e;e=()=>{const e=$t();if(e){const n=t.NAME,r=e.fn[n];e.fn[n]=t.jQueryInterface,e.fn[n].Constructor=t,e.fn[n].noConflict=()=>(e.fn[n]=r,t.jQueryInterface)}},"loading"===document.readyState?(Yt.length||document.addEventListener("DOMContentLoaded",(()=>{Yt.forEach((t=>t()))})),Yt.push(e)):e()},Kt=t=>{"function"==typeof t&&t()},Zt=(t,e,n=!0)=>{if(!n)return void Kt(t);const r=(t=>{if(!t)return 0;let{transitionDuration:e,transitionDelay:n}=window.getComputedStyle(t);const r=Number.parseFloat(e),i=Number.parseFloat(n);return r||i?(e=e.split(",")[0],n=n.split(",")[0],1e3*(Number.parseFloat(e)+Number.parseFloat(n))):0})(e)+5;let i=!1;const o=({target:n})=>{n===e&&(i=!0,e.removeEventListener(Rt,o),Kt(t))};e.addEventListener(Rt,o),setTimeout((()=>{i||Nt(e)}),r)},Qt=(t,e,n,r)=>{let i=t.indexOf(e);if(-1===i)return t[!n&&r?t.length-1:0];const o=t.length;return i+=n?1:-1,r&&(i=(i+o)%o),t[Math.max(0,Math.min(i,o-1))]},Jt=/[^.]*(?=\..*)\.|.*/,te=/\..*/,ee=/::\d+$/,ne={};let re=1;const ie={mouseenter:"mouseover",mouseleave:"mouseout"},oe=/^(mouseenter|mouseleave)/i,se=new Set(["click","dblclick","mouseup","mousedown","contextmenu","mousewheel","DOMMouseScroll","mouseover","mouseout","mousemove","selectstart","selectend","keydown","keypress","keyup","orientationchange","touchstart","touchmove","touchend","touchcancel","pointerdown","pointermove","pointerup","pointerleave","pointercancel","gesturestart","gesturechange","gestureend","focus","blur","change","reset","select","submit","focusin","focusout","load","unload","beforeunload","resize","move","DOMContentLoaded","readystatechange","error","abort","scroll"]);function ae(t,e){return e&&`${e}::${re++}`||t.uidEvent||re++}function le(t){const e=ae(t);return t.uidEvent=e,ne[e]=ne[e]||{},ne[e]}function ce(t,e,n=null){const r=Object.keys(t);for(let i=0,o=r.length;ifunction(e){if(!e.relatedTarget||e.relatedTarget!==e.delegateTarget&&!e.delegateTarget.contains(e.relatedTarget))return t.call(this,e)};r?r=t(r):n=t(n)}const[o,s,a]=ue(e,n,r),l=le(t),c=l[a]||(l[a]={}),u=ce(c,s,o?n:null);if(u)return void(u.oneOff=u.oneOff&&i);const h=ae(s,e.replace(Jt,"")),f=o?function(t,e,n){return function r(i){const o=t.querySelectorAll(e);for(let{target:s}=i;s&&s!==this;s=s.parentNode)for(let a=o.length;a--;)if(o[a]===s)return i.delegateTarget=s,r.oneOff&&pe.off(t,i.type,e,n),n.apply(s,[i]);return null}}(t,n,r):function(t,e){return function n(r){return r.delegateTarget=t,n.oneOff&&pe.off(t,r.type,e),e.apply(t,[r])}}(t,n);f.delegationSelector=o?n:null,f.originalHandler=s,f.oneOff=i,f.uidEvent=h,c[h]=f,t.addEventListener(a,f,o)}function fe(t,e,n,r,i){const o=ce(e[n],r,i);o&&(t.removeEventListener(n,o,Boolean(i)),delete e[n][o.uidEvent])}function de(t){return t=t.replace(te,""),ie[t]||t}const pe={on(t,e,n,r){he(t,e,n,r,!1)},one(t,e,n,r){he(t,e,n,r,!0)},off(t,e,n,r){if("string"!=typeof e||!t)return;const[i,o,s]=ue(e,n,r),a=s!==e,l=le(t),c=e.startsWith(".");if(void 0!==o){if(!l||!l[s])return;return void fe(t,l,s,o,i?n:null)}c&&Object.keys(l).forEach((n=>{!function(t,e,n,r){const i=e[n]||{};Object.keys(i).forEach((o=>{if(o.includes(r)){const r=i[o];fe(t,e,n,r.originalHandler,r.delegationSelector)}}))}(t,l,n,e.slice(1))}));const u=l[s]||{};Object.keys(u).forEach((n=>{const r=n.replace(ee,"");if(!a||e.includes(r)){const e=u[n];fe(t,l,s,e.originalHandler,e.delegationSelector)}}))},trigger(t,e,n){if("string"!=typeof e||!t)return null;const r=$t(),i=de(e),o=e!==i,s=se.has(i);let a,l=!0,c=!0,u=!1,h=null;return o&&r&&(a=r.Event(e,n),r(t).trigger(a),l=!a.isPropagationStopped(),c=!a.isImmediatePropagationStopped(),u=a.isDefaultPrevented()),s?(h=document.createEvent("HTMLEvents"),h.initEvent(i,l,!0)):h=new CustomEvent(e,{bubbles:l,cancelable:!0}),void 0!==n&&Object.keys(n).forEach((t=>{Object.defineProperty(h,t,{get:()=>n[t]})})),u&&h.preventDefault(),c&&t.dispatchEvent(h),h.defaultPrevented&&void 0!==a&&a.preventDefault(),h}},ge=new Map,me={set(t,e,n){ge.has(t)||ge.set(t,new Map);const r=ge.get(t);r.has(e)||0===r.size?r.set(e,n):console.error(`Bootstrap doesn't allow more than one instance per element. Bound instance: ${Array.from(r.keys())[0]}.`)},get:(t,e)=>ge.has(t)&&ge.get(t).get(e)||null,remove(t,e){if(!ge.has(t))return;const n=ge.get(t);n.delete(e),0===n.size&&ge.delete(t)}};class ve{constructor(t){(t=zt(t))&&(this._element=t,me.set(this._element,this.constructor.DATA_KEY,this))}dispose(){me.remove(this._element,this.constructor.DATA_KEY),pe.off(this._element,this.constructor.EVENT_KEY),Object.getOwnPropertyNames(this).forEach((t=>{this[t]=null}))}_queueCallback(t,e,n=!0){Zt(t,e,n)}static getInstance(t){return me.get(zt(t),this.DATA_KEY)}static getOrCreateInstance(t,e={}){return this.getInstance(t)||new this(t,"object"==typeof e?e:null)}static get VERSION(){return"5.1.3"}static get NAME(){throw new Error('You have to implement the static method "NAME", for each component!')}static get DATA_KEY(){return`bs.${this.NAME}`}static get EVENT_KEY(){return`.${this.DATA_KEY}`}}const ye=(t,e="hide")=>{const n=`click.dismiss${t.EVENT_KEY}`,r=t.NAME;pe.on(document,n,`[data-bs-dismiss="${r}"]`,(function(n){if(["A","AREA"].includes(this.tagName)&&n.preventDefault(),Ht(this))return;const i=It(this)||this.closest(`.${r}`);t.getOrCreateInstance(i)[e]()}))};class be extends ve{static get NAME(){return"alert"}close(){if(pe.trigger(this._element,"close.bs.alert").defaultPrevented)return;this._element.classList.remove("show");const t=this._element.classList.contains("fade");this._queueCallback((()=>this._destroyElement()),this._element,t)}_destroyElement(){this._element.remove(),pe.trigger(this._element,"closed.bs.alert"),this.dispose()}static jQueryInterface(t){return this.each((function(){const e=be.getOrCreateInstance(this);if("string"==typeof t){if(void 0===e[t]||t.startsWith("_")||"constructor"===t)throw new TypeError(`No method named "${t}"`);e[t](this)}}))}}ye(be,"close"),Gt(be);const xe='[data-bs-toggle="button"]';class _e extends ve{static get NAME(){return"button"}toggle(){this._element.setAttribute("aria-pressed",this._element.classList.toggle("active"))}static jQueryInterface(t){return this.each((function(){const e=_e.getOrCreateInstance(this);"toggle"===t&&e[t]()}))}}function we(t){return"true"===t||"false"!==t&&(t===Number(t).toString()?Number(t):""===t||"null"===t?null:t)}function ke(t){return t.replace(/[A-Z]/g,(t=>`-${t.toLowerCase()}`))}pe.on(document,"click.bs.button.data-api",xe,(t=>{t.preventDefault();const e=t.target.closest(xe);_e.getOrCreateInstance(e).toggle()})),Gt(_e);const Ce={setDataAttribute(t,e,n){t.setAttribute(`data-bs-${ke(e)}`,n)},removeDataAttribute(t,e){t.removeAttribute(`data-bs-${ke(e)}`)},getDataAttributes(t){if(!t)return{};const e={};return Object.keys(t.dataset).filter((t=>t.startsWith("bs"))).forEach((n=>{let r=n.replace(/^bs/,"");r=r.charAt(0).toLowerCase()+r.slice(1,r.length),e[r]=we(t.dataset[n])})),e},getDataAttribute:(t,e)=>we(t.getAttribute(`data-bs-${ke(e)}`)),offset(t){const e=t.getBoundingClientRect();return{top:e.top+window.pageYOffset,left:e.left+window.pageXOffset}},position:t=>({top:t.offsetTop,left:t.offsetLeft})},Ee={find:(t,e=document.documentElement)=>[].concat(...Element.prototype.querySelectorAll.call(e,t)),findOne:(t,e=document.documentElement)=>Element.prototype.querySelector.call(e,t),children:(t,e)=>[].concat(...t.children).filter((t=>t.matches(e))),parents(t,e){const n=[];let r=t.parentNode;for(;r&&r.nodeType===Node.ELEMENT_NODE&&3!==r.nodeType;)r.matches(e)&&n.push(r),r=r.parentNode;return n},prev(t,e){let n=t.previousElementSibling;for(;n;){if(n.matches(e))return[n];n=n.previousElementSibling}return[]},next(t,e){let n=t.nextElementSibling;for(;n;){if(n.matches(e))return[n];n=n.nextElementSibling}return[]},focusableChildren(t){const e=["a","button","input","textarea","select","details","[tabindex]",'[contenteditable="true"]'].map((t=>`${t}:not([tabindex^="-"])`)).join(", ");return this.find(e,t).filter((t=>!Ht(t)&&Wt(t)))}},Oe="carousel",Ae={interval:5e3,keyboard:!0,slide:!1,pause:"hover",wrap:!0,touch:!0},Se={interval:"(number|boolean)",keyboard:"boolean",slide:"(boolean|string)",pause:"(string|boolean)",wrap:"boolean",touch:"boolean"},Te="next",Me="prev",De="left",Pe="right",Re={ArrowLeft:Pe,ArrowRight:De},Le="slid.bs.carousel",je="active",Ie=".active.carousel-item";class Ne extends ve{constructor(t,e){super(t),this._items=null,this._interval=null,this._activeElement=null,this._isPaused=!1,this._isSliding=!1,this.touchTimeout=null,this.touchStartX=0,this.touchDeltaX=0,this._config=this._getConfig(e),this._indicatorsElement=Ee.findOne(".carousel-indicators",this._element),this._touchSupported="ontouchstart"in document.documentElement||navigator.maxTouchPoints>0,this._pointerEvent=Boolean(window.PointerEvent),this._addEventListeners()}static get Default(){return Ae}static get NAME(){return Oe}next(){this._slide(Te)}nextWhenVisible(){!document.hidden&&Wt(this._element)&&this.next()}prev(){this._slide(Me)}pause(t){t||(this._isPaused=!0),Ee.findOne(".carousel-item-next, .carousel-item-prev",this._element)&&(Nt(this._element),this.cycle(!0)),clearInterval(this._interval),this._interval=null}cycle(t){t||(this._isPaused=!1),this._interval&&(clearInterval(this._interval),this._interval=null),this._config&&this._config.interval&&!this._isPaused&&(this._updateInterval(),this._interval=setInterval((document.visibilityState?this.nextWhenVisible:this.next).bind(this),this._config.interval))}to(t){this._activeElement=Ee.findOne(Ie,this._element);const e=this._getItemIndex(this._activeElement);if(t>this._items.length-1||t<0)return;if(this._isSliding)return void pe.one(this._element,Le,(()=>this.to(t)));if(e===t)return this.pause(),void this.cycle();const n=t>e?Te:Me;this._slide(n,this._items[t])}_getConfig(t){return t={...Ae,...Ce.getDataAttributes(this._element),..."object"==typeof t?t:{}},Ft(Oe,t,Se),t}_handleSwipe(){const t=Math.abs(this.touchDeltaX);if(t<=40)return;const e=t/this.touchDeltaX;this.touchDeltaX=0,e&&this._slide(e>0?Pe:De)}_addEventListeners(){this._config.keyboard&&pe.on(this._element,"keydown.bs.carousel",(t=>this._keydown(t))),"hover"===this._config.pause&&(pe.on(this._element,"mouseenter.bs.carousel",(t=>this.pause(t))),pe.on(this._element,"mouseleave.bs.carousel",(t=>this.cycle(t)))),this._config.touch&&this._touchSupported&&this._addTouchEventListeners()}_addTouchEventListeners(){const t=t=>this._pointerEvent&&("pen"===t.pointerType||"touch"===t.pointerType),e=e=>{t(e)?this.touchStartX=e.clientX:this._pointerEvent||(this.touchStartX=e.touches[0].clientX)},n=t=>{this.touchDeltaX=t.touches&&t.touches.length>1?0:t.touches[0].clientX-this.touchStartX},r=e=>{t(e)&&(this.touchDeltaX=e.clientX-this.touchStartX),this._handleSwipe(),"hover"===this._config.pause&&(this.pause(),this.touchTimeout&&clearTimeout(this.touchTimeout),this.touchTimeout=setTimeout((t=>this.cycle(t)),500+this._config.interval))};Ee.find(".carousel-item img",this._element).forEach((t=>{pe.on(t,"dragstart.bs.carousel",(t=>t.preventDefault()))})),this._pointerEvent?(pe.on(this._element,"pointerdown.bs.carousel",(t=>e(t))),pe.on(this._element,"pointerup.bs.carousel",(t=>r(t))),this._element.classList.add("pointer-event")):(pe.on(this._element,"touchstart.bs.carousel",(t=>e(t))),pe.on(this._element,"touchmove.bs.carousel",(t=>n(t))),pe.on(this._element,"touchend.bs.carousel",(t=>r(t))))}_keydown(t){if(/input|textarea/i.test(t.target.tagName))return;const e=Re[t.key];e&&(t.preventDefault(),this._slide(e))}_getItemIndex(t){return this._items=t&&t.parentNode?Ee.find(".carousel-item",t.parentNode):[],this._items.indexOf(t)}_getItemByOrder(t,e){const n=t===Te;return Qt(this._items,e,n,this._config.wrap)}_triggerSlideEvent(t,e){const n=this._getItemIndex(t),r=this._getItemIndex(Ee.findOne(Ie,this._element));return pe.trigger(this._element,"slide.bs.carousel",{relatedTarget:t,direction:e,from:r,to:n})}_setActiveIndicatorElement(t){if(this._indicatorsElement){const e=Ee.findOne(".active",this._indicatorsElement);e.classList.remove(je),e.removeAttribute("aria-current");const n=Ee.find("[data-bs-target]",this._indicatorsElement);for(let e=0;e{pe.trigger(this._element,Le,{relatedTarget:o,direction:h,from:i,to:s})};if(this._element.classList.contains("slide")){o.classList.add(u),Ut(o),r.classList.add(c),o.classList.add(c);const t=()=>{o.classList.remove(c,u),o.classList.add(je),r.classList.remove(je,u,c),this._isSliding=!1,setTimeout(f,0)};this._queueCallback(t,r,!0)}else r.classList.remove(je),o.classList.add(je),this._isSliding=!1,f();a&&this.cycle()}_directionToOrder(t){return[Pe,De].includes(t)?Xt()?t===De?Me:Te:t===De?Te:Me:t}_orderToDirection(t){return[Te,Me].includes(t)?Xt()?t===Me?De:Pe:t===Me?Pe:De:t}static carouselInterface(t,e){const n=Ne.getOrCreateInstance(t,e);let{_config:r}=n;"object"==typeof e&&(r={...r,...e});const i="string"==typeof e?e:r.slide;if("number"==typeof e)n.to(e);else if("string"==typeof i){if(void 0===n[i])throw new TypeError(`No method named "${i}"`);n[i]()}else r.interval&&r.ride&&(n.pause(),n.cycle())}static jQueryInterface(t){return this.each((function(){Ne.carouselInterface(this,t)}))}static dataApiClickHandler(t){const e=It(this);if(!e||!e.classList.contains("carousel"))return;const n={...Ce.getDataAttributes(e),...Ce.getDataAttributes(this)},r=this.getAttribute("data-bs-slide-to");r&&(n.interval=!1),Ne.carouselInterface(e,n),r&&Ne.getInstance(e).to(r),t.preventDefault()}}pe.on(document,"click.bs.carousel.data-api","[data-bs-slide], [data-bs-slide-to]",Ne.dataApiClickHandler),pe.on(window,"load.bs.carousel.data-api",(()=>{const t=Ee.find('[data-bs-ride="carousel"]');for(let e=0,n=t.length;et===this._element));null!==r&&i.length&&(this._selector=r,this._triggerArray.push(e))}this._initializeChildren(),this._config.parent||this._addAriaAndCollapsedClass(this._triggerArray,this._isShown()),this._config.toggle&&this.toggle()}static get Default(){return Fe}static get NAME(){return Be}toggle(){this._isShown()?this.hide():this.show()}show(){if(this._isTransitioning||this._isShown())return;let t,e=[];if(this._config.parent){const t=Ee.find($e,this._config.parent);e=Ee.find(".collapse.show, .collapse.collapsing",this._config.parent).filter((e=>!t.includes(e)))}const n=Ee.findOne(this._selector);if(e.length){const r=e.find((t=>n!==t));if(t=r?Xe.getInstance(r):null,t&&t._isTransitioning)return}if(pe.trigger(this._element,"show.bs.collapse").defaultPrevented)return;e.forEach((e=>{n!==e&&Xe.getOrCreateInstance(e,{toggle:!1}).hide(),t||me.set(e,ze,null)}));const r=this._getDimension();this._element.classList.remove(Ve),this._element.classList.add(qe),this._element.style[r]=0,this._addAriaAndCollapsedClass(this._triggerArray,!0),this._isTransitioning=!0;const i=`scroll${r[0].toUpperCase()+r.slice(1)}`;this._queueCallback((()=>{this._isTransitioning=!1,this._element.classList.remove(qe),this._element.classList.add(Ve,He),this._element.style[r]="",pe.trigger(this._element,"shown.bs.collapse")}),this._element,!0),this._element.style[r]=`${this._element[i]}px`}hide(){if(this._isTransitioning||!this._isShown())return;if(pe.trigger(this._element,"hide.bs.collapse").defaultPrevented)return;const t=this._getDimension();this._element.style[t]=`${this._element.getBoundingClientRect()[t]}px`,Ut(this._element),this._element.classList.add(qe),this._element.classList.remove(Ve,He);const e=this._triggerArray.length;for(let t=0;t{this._isTransitioning=!1,this._element.classList.remove(qe),this._element.classList.add(Ve),pe.trigger(this._element,"hidden.bs.collapse")}),this._element,!0)}_isShown(t=this._element){return t.classList.contains(He)}_getConfig(t){return(t={...Fe,...Ce.getDataAttributes(this._element),...t}).toggle=Boolean(t.toggle),t.parent=zt(t.parent),Ft(Be,t,We),t}_getDimension(){return this._element.classList.contains("collapse-horizontal")?"width":"height"}_initializeChildren(){if(!this._config.parent)return;const t=Ee.find($e,this._config.parent);Ee.find(Ye,this._config.parent).filter((e=>!t.includes(e))).forEach((t=>{const e=It(t);e&&this._addAriaAndCollapsedClass([t],this._isShown(e))}))}_addAriaAndCollapsedClass(t,e){t.length&&t.forEach((t=>{e?t.classList.remove(Ue):t.classList.add(Ue),t.setAttribute("aria-expanded",e)}))}static jQueryInterface(t){return this.each((function(){const e={};"string"==typeof t&&/show|hide/.test(t)&&(e.toggle=!1);const n=Xe.getOrCreateInstance(this,e);if("string"==typeof t){if(void 0===n[t])throw new TypeError(`No method named "${t}"`);n[t]()}}))}}pe.on(document,"click.bs.collapse.data-api",Ye,(function(t){("A"===t.target.tagName||t.delegateTarget&&"A"===t.delegateTarget.tagName)&&t.preventDefault();const e=jt(this);Ee.find(e).forEach((t=>{Xe.getOrCreateInstance(t,{toggle:!1}).toggle()}))})),Gt(Xe);const Ge="dropdown",Ke="Escape",Ze="Space",Qe="ArrowUp",Je="ArrowDown",tn=new RegExp("ArrowUp|ArrowDown|Escape"),en="click.bs.dropdown.data-api",nn="keydown.bs.dropdown.data-api",rn="show",on='[data-bs-toggle="dropdown"]',sn=".dropdown-menu",an=Xt()?"top-end":"top-start",ln=Xt()?"top-start":"top-end",cn=Xt()?"bottom-end":"bottom-start",un=Xt()?"bottom-start":"bottom-end",hn=Xt()?"left-start":"right-start",fn=Xt()?"right-start":"left-start",dn={offset:[0,2],boundary:"clippingParents",reference:"toggle",display:"dynamic",popperConfig:null,autoClose:!0},pn={offset:"(array|string|function)",boundary:"(string|element)",reference:"(string|element|object)",display:"string",popperConfig:"(null|object|function)",autoClose:"(boolean|string)"};class gn extends ve{constructor(t,e){super(t),this._popper=null,this._config=this._getConfig(e),this._menu=this._getMenuElement(),this._inNavbar=this._detectNavbar()}static get Default(){return dn}static get DefaultType(){return pn}static get NAME(){return Ge}toggle(){return this._isShown()?this.hide():this.show()}show(){if(Ht(this._element)||this._isShown(this._menu))return;const t={relatedTarget:this._element};if(pe.trigger(this._element,"show.bs.dropdown",t).defaultPrevented)return;const e=gn.getParentFromElement(this._element);this._inNavbar?Ce.setDataAttribute(this._menu,"popper","none"):this._createPopper(e),"ontouchstart"in document.documentElement&&!e.closest(".navbar-nav")&&[].concat(...document.body.children).forEach((t=>pe.on(t,"mouseover",qt))),this._element.focus(),this._element.setAttribute("aria-expanded",!0),this._menu.classList.add(rn),this._element.classList.add(rn),pe.trigger(this._element,"shown.bs.dropdown",t)}hide(){if(Ht(this._element)||!this._isShown(this._menu))return;const t={relatedTarget:this._element};this._completeHide(t)}dispose(){this._popper&&this._popper.destroy(),super.dispose()}update(){this._inNavbar=this._detectNavbar(),this._popper&&this._popper.update()}_completeHide(t){pe.trigger(this._element,"hide.bs.dropdown",t).defaultPrevented||("ontouchstart"in document.documentElement&&[].concat(...document.body.children).forEach((t=>pe.off(t,"mouseover",qt))),this._popper&&this._popper.destroy(),this._menu.classList.remove(rn),this._element.classList.remove(rn),this._element.setAttribute("aria-expanded","false"),Ce.removeDataAttribute(this._menu,"popper"),pe.trigger(this._element,"hidden.bs.dropdown",t))}_getConfig(t){if(t={...this.constructor.Default,...Ce.getDataAttributes(this._element),...t},Ft(Ge,t,this.constructor.DefaultType),"object"==typeof t.reference&&!Bt(t.reference)&&"function"!=typeof t.reference.getBoundingClientRect)throw new TypeError(`${Ge.toUpperCase()}: Option "reference" provided type "object" without a required "getBoundingClientRect" method.`);return t}_createPopper(t){if(void 0===r)throw new TypeError("Bootstrap's dropdowns require Popper (https://popper.js.org)");let e=this._element;"parent"===this._config.reference?e=t:Bt(this._config.reference)?e=zt(this._config.reference):"object"==typeof this._config.reference&&(e=this._config.reference);const n=this._getPopperConfig(),i=n.modifiers.find((t=>"applyStyles"===t.name&&!1===t.enabled));this._popper=Dt(e,this._menu,n),i&&Ce.setDataAttribute(this._menu,"popper","static")}_isShown(t=this._element){return t.classList.contains(rn)}_getMenuElement(){return Ee.next(this._element,sn)[0]}_getPlacement(){const t=this._element.parentNode;if(t.classList.contains("dropend"))return hn;if(t.classList.contains("dropstart"))return fn;const e="end"===getComputedStyle(this._menu).getPropertyValue("--bs-position").trim();return t.classList.contains("dropup")?e?ln:an:e?un:cn}_detectNavbar(){return null!==this._element.closest(".navbar")}_getOffset(){const{offset:t}=this._config;return"string"==typeof t?t.split(",").map((t=>Number.parseInt(t,10))):"function"==typeof t?e=>t(e,this._element):t}_getPopperConfig(){const t={placement:this._getPlacement(),modifiers:[{name:"preventOverflow",options:{boundary:this._config.boundary}},{name:"offset",options:{offset:this._getOffset()}}]};return"static"===this._config.display&&(t.modifiers=[{name:"applyStyles",enabled:!1}]),{...t,..."function"==typeof this._config.popperConfig?this._config.popperConfig(t):this._config.popperConfig}}_selectMenuItem({key:t,target:e}){const n=Ee.find(".dropdown-menu .dropdown-item:not(.disabled):not(:disabled)",this._menu).filter(Wt);n.length&&Qt(n,e,t===Je,!n.includes(e)).focus()}static jQueryInterface(t){return this.each((function(){const e=gn.getOrCreateInstance(this,t);if("string"==typeof t){if(void 0===e[t])throw new TypeError(`No method named "${t}"`);e[t]()}}))}static clearMenus(t){if(t&&(2===t.button||"keyup"===t.type&&"Tab"!==t.key))return;const e=Ee.find(on);for(let n=0,r=e.length;ne+t)),this._setElementAttributes(mn,"paddingRight",(e=>e+t)),this._setElementAttributes(vn,"marginRight",(e=>e-t))}_disableOverFlow(){this._saveInitialAttribute(this._element,"overflow"),this._element.style.overflow="hidden"}_setElementAttributes(t,e,n){const r=this.getWidth();this._applyManipulationCallback(t,(t=>{if(t!==this._element&&window.innerWidth>t.clientWidth+r)return;this._saveInitialAttribute(t,e);const i=window.getComputedStyle(t)[e];t.style[e]=`${n(Number.parseFloat(i))}px`}))}reset(){this._resetElementAttributes(this._element,"overflow"),this._resetElementAttributes(this._element,"paddingRight"),this._resetElementAttributes(mn,"paddingRight"),this._resetElementAttributes(vn,"marginRight")}_saveInitialAttribute(t,e){const n=t.style[e];n&&Ce.setDataAttribute(t,e,n)}_resetElementAttributes(t,e){this._applyManipulationCallback(t,(t=>{const n=Ce.getDataAttribute(t,e);void 0===n?t.style.removeProperty(e):(Ce.removeDataAttribute(t,e),t.style[e]=n)}))}_applyManipulationCallback(t,e){Bt(t)?e(t):Ee.find(t,this._element).forEach(e)}isOverflowing(){return this.getWidth()>0}}const bn={className:"modal-backdrop",isVisible:!0,isAnimated:!1,rootElement:"body",clickCallback:null},xn={className:"string",isVisible:"boolean",isAnimated:"boolean",rootElement:"(element|string)",clickCallback:"(function|null)"},_n="backdrop",wn="show",kn="mousedown.bs.backdrop";class Cn{constructor(t){this._config=this._getConfig(t),this._isAppended=!1,this._element=null}show(t){this._config.isVisible?(this._append(),this._config.isAnimated&&Ut(this._getElement()),this._getElement().classList.add(wn),this._emulateAnimation((()=>{Kt(t)}))):Kt(t)}hide(t){this._config.isVisible?(this._getElement().classList.remove(wn),this._emulateAnimation((()=>{this.dispose(),Kt(t)}))):Kt(t)}_getElement(){if(!this._element){const t=document.createElement("div");t.className=this._config.className,this._config.isAnimated&&t.classList.add("fade"),this._element=t}return this._element}_getConfig(t){return(t={...bn,..."object"==typeof t?t:{}}).rootElement=zt(t.rootElement),Ft(_n,t,xn),t}_append(){this._isAppended||(this._config.rootElement.append(this._getElement()),pe.on(this._getElement(),kn,(()=>{Kt(this._config.clickCallback)})),this._isAppended=!0)}dispose(){this._isAppended&&(pe.off(this._element,kn),this._element.remove(),this._isAppended=!1)}_emulateAnimation(t){Zt(t,this._getElement(),this._config.isAnimated)}}const En={trapElement:null,autofocus:!0},On={trapElement:"element",autofocus:"boolean"},An=".bs.focustrap",Sn="backward";class Tn{constructor(t){this._config=this._getConfig(t),this._isActive=!1,this._lastTabNavDirection=null}activate(){const{trapElement:t,autofocus:e}=this._config;this._isActive||(e&&t.focus(),pe.off(document,An),pe.on(document,"focusin.bs.focustrap",(t=>this._handleFocusin(t))),pe.on(document,"keydown.tab.bs.focustrap",(t=>this._handleKeydown(t))),this._isActive=!0)}deactivate(){this._isActive&&(this._isActive=!1,pe.off(document,An))}_handleFocusin(t){const{target:e}=t,{trapElement:n}=this._config;if(e===document||e===n||n.contains(e))return;const r=Ee.focusableChildren(n);0===r.length?n.focus():this._lastTabNavDirection===Sn?r[r.length-1].focus():r[0].focus()}_handleKeydown(t){"Tab"===t.key&&(this._lastTabNavDirection=t.shiftKey?Sn:"forward")}_getConfig(t){return t={...En,..."object"==typeof t?t:{}},Ft("focustrap",t,On),t}}const Mn="modal",Dn=".bs.modal",Pn="Escape",Rn={backdrop:!0,keyboard:!0,focus:!0},Ln={backdrop:"(boolean|string)",keyboard:"boolean",focus:"boolean"},jn="hidden.bs.modal",In="show.bs.modal",Nn="resize.bs.modal",Bn="click.dismiss.bs.modal",zn="keydown.dismiss.bs.modal",Fn="mousedown.dismiss.bs.modal",Wn="modal-open",Hn="show",Vn="modal-static";class qn extends ve{constructor(t,e){super(t),this._config=this._getConfig(e),this._dialog=Ee.findOne(".modal-dialog",this._element),this._backdrop=this._initializeBackDrop(),this._focustrap=this._initializeFocusTrap(),this._isShown=!1,this._ignoreBackdropClick=!1,this._isTransitioning=!1,this._scrollBar=new yn}static get Default(){return Rn}static get NAME(){return Mn}toggle(t){return this._isShown?this.hide():this.show(t)}show(t){if(this._isShown||this._isTransitioning)return;pe.trigger(this._element,In,{relatedTarget:t}).defaultPrevented||(this._isShown=!0,this._isAnimated()&&(this._isTransitioning=!0),this._scrollBar.hide(),document.body.classList.add(Wn),this._adjustDialog(),this._setEscapeEvent(),this._setResizeEvent(),pe.on(this._dialog,Fn,(()=>{pe.one(this._element,"mouseup.dismiss.bs.modal",(t=>{t.target===this._element&&(this._ignoreBackdropClick=!0)}))})),this._showBackdrop((()=>this._showElement(t))))}hide(){if(!this._isShown||this._isTransitioning)return;if(pe.trigger(this._element,"hide.bs.modal").defaultPrevented)return;this._isShown=!1;const t=this._isAnimated();t&&(this._isTransitioning=!0),this._setEscapeEvent(),this._setResizeEvent(),this._focustrap.deactivate(),this._element.classList.remove(Hn),pe.off(this._element,Bn),pe.off(this._dialog,Fn),this._queueCallback((()=>this._hideModal()),this._element,t)}dispose(){[window,this._dialog].forEach((t=>pe.off(t,Dn))),this._backdrop.dispose(),this._focustrap.deactivate(),super.dispose()}handleUpdate(){this._adjustDialog()}_initializeBackDrop(){return new Cn({isVisible:Boolean(this._config.backdrop),isAnimated:this._isAnimated()})}_initializeFocusTrap(){return new Tn({trapElement:this._element})}_getConfig(t){return t={...Rn,...Ce.getDataAttributes(this._element),..."object"==typeof t?t:{}},Ft(Mn,t,Ln),t}_showElement(t){const e=this._isAnimated(),n=Ee.findOne(".modal-body",this._dialog);this._element.parentNode&&this._element.parentNode.nodeType===Node.ELEMENT_NODE||document.body.append(this._element),this._element.style.display="block",this._element.removeAttribute("aria-hidden"),this._element.setAttribute("aria-modal",!0),this._element.setAttribute("role","dialog"),this._element.scrollTop=0,n&&(n.scrollTop=0),e&&Ut(this._element),this._element.classList.add(Hn);this._queueCallback((()=>{this._config.focus&&this._focustrap.activate(),this._isTransitioning=!1,pe.trigger(this._element,"shown.bs.modal",{relatedTarget:t})}),this._dialog,e)}_setEscapeEvent(){this._isShown?pe.on(this._element,zn,(t=>{this._config.keyboard&&t.key===Pn?(t.preventDefault(),this.hide()):this._config.keyboard||t.key!==Pn||this._triggerBackdropTransition()})):pe.off(this._element,zn)}_setResizeEvent(){this._isShown?pe.on(window,Nn,(()=>this._adjustDialog())):pe.off(window,Nn)}_hideModal(){this._element.style.display="none",this._element.setAttribute("aria-hidden",!0),this._element.removeAttribute("aria-modal"),this._element.removeAttribute("role"),this._isTransitioning=!1,this._backdrop.hide((()=>{document.body.classList.remove(Wn),this._resetAdjustments(),this._scrollBar.reset(),pe.trigger(this._element,jn)}))}_showBackdrop(t){pe.on(this._element,Bn,(t=>{this._ignoreBackdropClick?this._ignoreBackdropClick=!1:t.target===t.currentTarget&&(!0===this._config.backdrop?this.hide():"static"===this._config.backdrop&&this._triggerBackdropTransition())})),this._backdrop.show(t)}_isAnimated(){return this._element.classList.contains("fade")}_triggerBackdropTransition(){if(pe.trigger(this._element,"hidePrevented.bs.modal").defaultPrevented)return;const{classList:t,scrollHeight:e,style:n}=this._element,r=e>document.documentElement.clientHeight;!r&&"hidden"===n.overflowY||t.contains(Vn)||(r||(n.overflowY="hidden"),t.add(Vn),this._queueCallback((()=>{t.remove(Vn),r||this._queueCallback((()=>{n.overflowY=""}),this._dialog)}),this._dialog),this._element.focus())}_adjustDialog(){const t=this._element.scrollHeight>document.documentElement.clientHeight,e=this._scrollBar.getWidth(),n=e>0;(!n&&t&&!Xt()||n&&!t&&Xt())&&(this._element.style.paddingLeft=`${e}px`),(n&&!t&&!Xt()||!n&&t&&Xt())&&(this._element.style.paddingRight=`${e}px`)}_resetAdjustments(){this._element.style.paddingLeft="",this._element.style.paddingRight=""}static jQueryInterface(t,e){return this.each((function(){const n=qn.getOrCreateInstance(this,t);if("string"==typeof t){if(void 0===n[t])throw new TypeError(`No method named "${t}"`);n[t](e)}}))}}pe.on(document,"click.bs.modal.data-api",'[data-bs-toggle="modal"]',(function(t){const e=It(this);["A","AREA"].includes(this.tagName)&&t.preventDefault(),pe.one(e,In,(t=>{t.defaultPrevented||pe.one(e,jn,(()=>{Wt(this)&&this.focus()}))}));const n=Ee.findOne(".modal.show");n&&qn.getInstance(n).hide();qn.getOrCreateInstance(e).toggle(this)})),ye(qn),Gt(qn);const Un="offcanvas",$n={backdrop:!0,keyboard:!0,scroll:!1},Yn={backdrop:"boolean",keyboard:"boolean",scroll:"boolean"},Xn="show",Gn=".offcanvas.show",Kn="hidden.bs.offcanvas";class Zn extends ve{constructor(t,e){super(t),this._config=this._getConfig(e),this._isShown=!1,this._backdrop=this._initializeBackDrop(),this._focustrap=this._initializeFocusTrap(),this._addEventListeners()}static get NAME(){return Un}static get Default(){return $n}toggle(t){return this._isShown?this.hide():this.show(t)}show(t){if(this._isShown)return;if(pe.trigger(this._element,"show.bs.offcanvas",{relatedTarget:t}).defaultPrevented)return;this._isShown=!0,this._element.style.visibility="visible",this._backdrop.show(),this._config.scroll||(new yn).hide(),this._element.removeAttribute("aria-hidden"),this._element.setAttribute("aria-modal",!0),this._element.setAttribute("role","dialog"),this._element.classList.add(Xn);this._queueCallback((()=>{this._config.scroll||this._focustrap.activate(),pe.trigger(this._element,"shown.bs.offcanvas",{relatedTarget:t})}),this._element,!0)}hide(){if(!this._isShown)return;if(pe.trigger(this._element,"hide.bs.offcanvas").defaultPrevented)return;this._focustrap.deactivate(),this._element.blur(),this._isShown=!1,this._element.classList.remove(Xn),this._backdrop.hide();this._queueCallback((()=>{this._element.setAttribute("aria-hidden",!0),this._element.removeAttribute("aria-modal"),this._element.removeAttribute("role"),this._element.style.visibility="hidden",this._config.scroll||(new yn).reset(),pe.trigger(this._element,Kn)}),this._element,!0)}dispose(){this._backdrop.dispose(),this._focustrap.deactivate(),super.dispose()}_getConfig(t){return t={...$n,...Ce.getDataAttributes(this._element),..."object"==typeof t?t:{}},Ft(Un,t,Yn),t}_initializeBackDrop(){return new Cn({className:"offcanvas-backdrop",isVisible:this._config.backdrop,isAnimated:!0,rootElement:this._element.parentNode,clickCallback:()=>this.hide()})}_initializeFocusTrap(){return new Tn({trapElement:this._element})}_addEventListeners(){pe.on(this._element,"keydown.dismiss.bs.offcanvas",(t=>{this._config.keyboard&&"Escape"===t.key&&this.hide()}))}static jQueryInterface(t){return this.each((function(){const e=Zn.getOrCreateInstance(this,t);if("string"==typeof t){if(void 0===e[t]||t.startsWith("_")||"constructor"===t)throw new TypeError(`No method named "${t}"`);e[t](this)}}))}}pe.on(document,"click.bs.offcanvas.data-api",'[data-bs-toggle="offcanvas"]',(function(t){const e=It(this);if(["A","AREA"].includes(this.tagName)&&t.preventDefault(),Ht(this))return;pe.one(e,Kn,(()=>{Wt(this)&&this.focus()}));const n=Ee.findOne(Gn);n&&n!==e&&Zn.getInstance(n).hide();Zn.getOrCreateInstance(e).toggle(this)})),pe.on(window,"load.bs.offcanvas.data-api",(()=>Ee.find(Gn).forEach((t=>Zn.getOrCreateInstance(t).show())))),ye(Zn),Gt(Zn);const Qn=new Set(["background","cite","href","itemtype","longdesc","poster","src","xlink:href"]),Jn=/^(?:(?:https?|mailto|ftp|tel|file|sms):|[^#&/:?]*(?:[#/?]|$))/i,tr=/^data:(?:image\/(?:bmp|gif|jpeg|jpg|png|tiff|webp)|video\/(?:mpeg|mp4|ogg|webm)|audio\/(?:mp3|oga|ogg|opus));base64,[\d+/a-z]+=*$/i,er=(t,e)=>{const n=t.nodeName.toLowerCase();if(e.includes(n))return!Qn.has(n)||Boolean(Jn.test(t.nodeValue)||tr.test(t.nodeValue));const r=e.filter((t=>t instanceof RegExp));for(let t=0,e=r.length;t{er(t,s)||n.removeAttribute(t.nodeName)}))}return r.body.innerHTML}const ir="tooltip",or=new Set(["sanitize","allowList","sanitizeFn"]),sr={animation:"boolean",template:"string",title:"(string|element|function)",trigger:"string",delay:"(number|object)",html:"boolean",selector:"(string|boolean)",placement:"(string|function)",offset:"(array|string|function)",container:"(string|element|boolean)",fallbackPlacements:"array",boundary:"(string|element)",customClass:"(string|function)",sanitize:"boolean",sanitizeFn:"(null|function)",allowList:"object",popperConfig:"(null|object|function)"},ar={AUTO:"auto",TOP:"top",RIGHT:Xt()?"left":"right",BOTTOM:"bottom",LEFT:Xt()?"right":"left"},lr={animation:!0,template:'',trigger:"hover focus",title:"",delay:0,html:!1,selector:!1,placement:"top",offset:[0,0],container:!1,fallbackPlacements:["top","right","bottom","left"],boundary:"clippingParents",customClass:"",sanitize:!0,sanitizeFn:null,allowList:nr,popperConfig:null},cr={HIDE:"hide.bs.tooltip",HIDDEN:"hidden.bs.tooltip",SHOW:"show.bs.tooltip",SHOWN:"shown.bs.tooltip",INSERTED:"inserted.bs.tooltip",CLICK:"click.bs.tooltip",FOCUSIN:"focusin.bs.tooltip",FOCUSOUT:"focusout.bs.tooltip",MOUSEENTER:"mouseenter.bs.tooltip",MOUSELEAVE:"mouseleave.bs.tooltip"},ur="fade",hr="show",fr="show",dr="out",pr=".tooltip-inner",gr=".modal",mr="hide.bs.modal",vr="hover",yr="focus";class br extends ve{constructor(t,e){if(void 0===r)throw new TypeError("Bootstrap's tooltips require Popper (https://popper.js.org)");super(t),this._isEnabled=!0,this._timeout=0,this._hoverState="",this._activeTrigger={},this._popper=null,this._config=this._getConfig(e),this.tip=null,this._setListeners()}static get Default(){return lr}static get NAME(){return ir}static get Event(){return cr}static get DefaultType(){return sr}enable(){this._isEnabled=!0}disable(){this._isEnabled=!1}toggleEnabled(){this._isEnabled=!this._isEnabled}toggle(t){if(this._isEnabled)if(t){const e=this._initializeOnDelegatedTarget(t);e._activeTrigger.click=!e._activeTrigger.click,e._isWithActiveTrigger()?e._enter(null,e):e._leave(null,e)}else{if(this.getTipElement().classList.contains(hr))return void this._leave(null,this);this._enter(null,this)}}dispose(){clearTimeout(this._timeout),pe.off(this._element.closest(gr),mr,this._hideModalHandler),this.tip&&this.tip.remove(),this._disposePopper(),super.dispose()}show(){if("none"===this._element.style.display)throw new Error("Please use show on visible elements");if(!this.isWithContent()||!this._isEnabled)return;const t=pe.trigger(this._element,this.constructor.Event.SHOW),e=Vt(this._element),n=null===e?this._element.ownerDocument.documentElement.contains(this._element):e.contains(this._element);if(t.defaultPrevented||!n)return;"tooltip"===this.constructor.NAME&&this.tip&&this.getTitle()!==this.tip.querySelector(pr).innerHTML&&(this._disposePopper(),this.tip.remove(),this.tip=null);const r=this.getTipElement(),i=(t=>{do{t+=Math.floor(1e6*Math.random())}while(document.getElementById(t));return t})(this.constructor.NAME);r.setAttribute("id",i),this._element.setAttribute("aria-describedby",i),this._config.animation&&r.classList.add(ur);const o="function"==typeof this._config.placement?this._config.placement.call(this,r,this._element):this._config.placement,s=this._getAttachment(o);this._addAttachmentClass(s);const{container:a}=this._config;me.set(r,this.constructor.DATA_KEY,this),this._element.ownerDocument.documentElement.contains(this.tip)||(a.append(r),pe.trigger(this._element,this.constructor.Event.INSERTED)),this._popper?this._popper.update():this._popper=Dt(this._element,r,this._getPopperConfig(s)),r.classList.add(hr);const l=this._resolvePossibleFunction(this._config.customClass);l&&r.classList.add(...l.split(" ")),"ontouchstart"in document.documentElement&&[].concat(...document.body.children).forEach((t=>{pe.on(t,"mouseover",qt)}));const c=this.tip.classList.contains(ur);this._queueCallback((()=>{const t=this._hoverState;this._hoverState=null,pe.trigger(this._element,this.constructor.Event.SHOWN),t===dr&&this._leave(null,this)}),this.tip,c)}hide(){if(!this._popper)return;const t=this.getTipElement();if(pe.trigger(this._element,this.constructor.Event.HIDE).defaultPrevented)return;t.classList.remove(hr),"ontouchstart"in document.documentElement&&[].concat(...document.body.children).forEach((t=>pe.off(t,"mouseover",qt))),this._activeTrigger.click=!1,this._activeTrigger.focus=!1,this._activeTrigger.hover=!1;const e=this.tip.classList.contains(ur);this._queueCallback((()=>{this._isWithActiveTrigger()||(this._hoverState!==fr&&t.remove(),this._cleanTipClass(),this._element.removeAttribute("aria-describedby"),pe.trigger(this._element,this.constructor.Event.HIDDEN),this._disposePopper())}),this.tip,e),this._hoverState=""}update(){null!==this._popper&&this._popper.update()}isWithContent(){return Boolean(this.getTitle())}getTipElement(){if(this.tip)return this.tip;const t=document.createElement("div");t.innerHTML=this._config.template;const e=t.children[0];return this.setContent(e),e.classList.remove(ur,hr),this.tip=e,this.tip}setContent(t){this._sanitizeAndSetContent(t,this.getTitle(),pr)}_sanitizeAndSetContent(t,e,n){const r=Ee.findOne(n,t);e||!r?this.setElementContent(r,e):r.remove()}setElementContent(t,e){if(null!==t)return Bt(e)?(e=zt(e),void(this._config.html?e.parentNode!==t&&(t.innerHTML="",t.append(e)):t.textContent=e.textContent)):void(this._config.html?(this._config.sanitize&&(e=rr(e,this._config.allowList,this._config.sanitizeFn)),t.innerHTML=e):t.textContent=e)}getTitle(){const t=this._element.getAttribute("data-bs-original-title")||this._config.title;return this._resolvePossibleFunction(t)}updateAttachment(t){return"right"===t?"end":"left"===t?"start":t}_initializeOnDelegatedTarget(t,e){return e||this.constructor.getOrCreateInstance(t.delegateTarget,this._getDelegateConfig())}_getOffset(){const{offset:t}=this._config;return"string"==typeof t?t.split(",").map((t=>Number.parseInt(t,10))):"function"==typeof t?e=>t(e,this._element):t}_resolvePossibleFunction(t){return"function"==typeof t?t.call(this._element):t}_getPopperConfig(t){const e={placement:t,modifiers:[{name:"flip",options:{fallbackPlacements:this._config.fallbackPlacements}},{name:"offset",options:{offset:this._getOffset()}},{name:"preventOverflow",options:{boundary:this._config.boundary}},{name:"arrow",options:{element:`.${this.constructor.NAME}-arrow`}},{name:"onChange",enabled:!0,phase:"afterWrite",fn:t=>this._handlePopperPlacementChange(t)}],onFirstUpdate:t=>{t.options.placement!==t.placement&&this._handlePopperPlacementChange(t)}};return{...e,..."function"==typeof this._config.popperConfig?this._config.popperConfig(e):this._config.popperConfig}}_addAttachmentClass(t){this.getTipElement().classList.add(`${this._getBasicClassPrefix()}-${this.updateAttachment(t)}`)}_getAttachment(t){return ar[t.toUpperCase()]}_setListeners(){this._config.trigger.split(" ").forEach((t=>{if("click"===t)pe.on(this._element,this.constructor.Event.CLICK,this._config.selector,(t=>this.toggle(t)));else if("manual"!==t){const e=t===vr?this.constructor.Event.MOUSEENTER:this.constructor.Event.FOCUSIN,n=t===vr?this.constructor.Event.MOUSELEAVE:this.constructor.Event.FOCUSOUT;pe.on(this._element,e,this._config.selector,(t=>this._enter(t))),pe.on(this._element,n,this._config.selector,(t=>this._leave(t)))}})),this._hideModalHandler=()=>{this._element&&this.hide()},pe.on(this._element.closest(gr),mr,this._hideModalHandler),this._config.selector?this._config={...this._config,trigger:"manual",selector:""}:this._fixTitle()}_fixTitle(){const t=this._element.getAttribute("title"),e=typeof this._element.getAttribute("data-bs-original-title");(t||"string"!==e)&&(this._element.setAttribute("data-bs-original-title",t||""),!t||this._element.getAttribute("aria-label")||this._element.textContent||this._element.setAttribute("aria-label",t),this._element.setAttribute("title",""))}_enter(t,e){e=this._initializeOnDelegatedTarget(t,e),t&&(e._activeTrigger["focusin"===t.type?yr:vr]=!0),e.getTipElement().classList.contains(hr)||e._hoverState===fr?e._hoverState=fr:(clearTimeout(e._timeout),e._hoverState=fr,e._config.delay&&e._config.delay.show?e._timeout=setTimeout((()=>{e._hoverState===fr&&e.show()}),e._config.delay.show):e.show())}_leave(t,e){e=this._initializeOnDelegatedTarget(t,e),t&&(e._activeTrigger["focusout"===t.type?yr:vr]=e._element.contains(t.relatedTarget)),e._isWithActiveTrigger()||(clearTimeout(e._timeout),e._hoverState=dr,e._config.delay&&e._config.delay.hide?e._timeout=setTimeout((()=>{e._hoverState===dr&&e.hide()}),e._config.delay.hide):e.hide())}_isWithActiveTrigger(){for(const t in this._activeTrigger)if(this._activeTrigger[t])return!0;return!1}_getConfig(t){const e=Ce.getDataAttributes(this._element);return Object.keys(e).forEach((t=>{or.has(t)&&delete e[t]})),(t={...this.constructor.Default,...e,..."object"==typeof t&&t?t:{}}).container=!1===t.container?document.body:zt(t.container),"number"==typeof t.delay&&(t.delay={show:t.delay,hide:t.delay}),"number"==typeof t.title&&(t.title=t.title.toString()),"number"==typeof t.content&&(t.content=t.content.toString()),Ft(ir,t,this.constructor.DefaultType),t.sanitize&&(t.template=rr(t.template,t.allowList,t.sanitizeFn)),t}_getDelegateConfig(){const t={};for(const e in this._config)this.constructor.Default[e]!==this._config[e]&&(t[e]=this._config[e]);return t}_cleanTipClass(){const t=this.getTipElement(),e=new RegExp(`(^|\\s)${this._getBasicClassPrefix()}\\S+`,"g"),n=t.getAttribute("class").match(e);null!==n&&n.length>0&&n.map((t=>t.trim())).forEach((e=>t.classList.remove(e)))}_getBasicClassPrefix(){return"bs-tooltip"}_handlePopperPlacementChange(t){const{state:e}=t;e&&(this.tip=e.elements.popper,this._cleanTipClass(),this._addAttachmentClass(this._getAttachment(e.placement)))}_disposePopper(){this._popper&&(this._popper.destroy(),this._popper=null)}static jQueryInterface(t){return this.each((function(){const e=br.getOrCreateInstance(this,t);if("string"==typeof t){if(void 0===e[t])throw new TypeError(`No method named "${t}"`);e[t]()}}))}}Gt(br);const xr={...br.Default,placement:"right",offset:[0,8],trigger:"click",content:"",template:''},_r={...br.DefaultType,content:"(string|element|function)"},wr={HIDE:"hide.bs.popover",HIDDEN:"hidden.bs.popover",SHOW:"show.bs.popover",SHOWN:"shown.bs.popover",INSERTED:"inserted.bs.popover",CLICK:"click.bs.popover",FOCUSIN:"focusin.bs.popover",FOCUSOUT:"focusout.bs.popover",MOUSEENTER:"mouseenter.bs.popover",MOUSELEAVE:"mouseleave.bs.popover"};class kr extends br{static get Default(){return xr}static get NAME(){return"popover"}static get Event(){return wr}static get DefaultType(){return _r}isWithContent(){return this.getTitle()||this._getContent()}setContent(t){this._sanitizeAndSetContent(t,this.getTitle(),".popover-header"),this._sanitizeAndSetContent(t,this._getContent(),".popover-body")}_getContent(){return this._resolvePossibleFunction(this._config.content)}_getBasicClassPrefix(){return"bs-popover"}static jQueryInterface(t){return this.each((function(){const e=kr.getOrCreateInstance(this,t);if("string"==typeof t){if(void 0===e[t])throw new TypeError(`No method named "${t}"`);e[t]()}}))}}Gt(kr);const Cr="scrollspy",Er=".bs.scrollspy",Or={offset:10,method:"auto",target:""},Ar={offset:"number",method:"string",target:"(string|element)"},Sr="dropdown-item",Tr="active",Mr=".nav-link",Dr=".nav-link, .list-group-item, .dropdown-item",Pr="position";class Rr extends ve{constructor(t,e){super(t),this._scrollElement="BODY"===this._element.tagName?window:this._element,this._config=this._getConfig(e),this._offsets=[],this._targets=[],this._activeTarget=null,this._scrollHeight=0,pe.on(this._scrollElement,"scroll.bs.scrollspy",(()=>this._process())),this.refresh(),this._process()}static get Default(){return Or}static get NAME(){return Cr}refresh(){const t=this._scrollElement===this._scrollElement.window?"offset":Pr,e="auto"===this._config.method?t:this._config.method,n=e===Pr?this._getScrollTop():0;this._offsets=[],this._targets=[],this._scrollHeight=this._getScrollHeight();Ee.find(Dr,this._config.target).map((t=>{const r=jt(t),i=r?Ee.findOne(r):null;if(i){const t=i.getBoundingClientRect();if(t.width||t.height)return[Ce[e](i).top+n,r]}return null})).filter((t=>t)).sort(((t,e)=>t[0]-e[0])).forEach((t=>{this._offsets.push(t[0]),this._targets.push(t[1])}))}dispose(){pe.off(this._scrollElement,Er),super.dispose()}_getConfig(t){return(t={...Or,...Ce.getDataAttributes(this._element),..."object"==typeof t&&t?t:{}}).target=zt(t.target)||document.documentElement,Ft(Cr,t,Ar),t}_getScrollTop(){return this._scrollElement===window?this._scrollElement.pageYOffset:this._scrollElement.scrollTop}_getScrollHeight(){return this._scrollElement.scrollHeight||Math.max(document.body.scrollHeight,document.documentElement.scrollHeight)}_getOffsetHeight(){return this._scrollElement===window?window.innerHeight:this._scrollElement.getBoundingClientRect().height}_process(){const t=this._getScrollTop()+this._config.offset,e=this._getScrollHeight(),n=this._config.offset+e-this._getOffsetHeight();if(this._scrollHeight!==e&&this.refresh(),t>=n){const t=this._targets[this._targets.length-1];this._activeTarget!==t&&this._activate(t)}else{if(this._activeTarget&&t0)return this._activeTarget=null,void this._clear();for(let e=this._offsets.length;e--;){this._activeTarget!==this._targets[e]&&t>=this._offsets[e]&&(void 0===this._offsets[e+1]||t`${e}[data-bs-target="${t}"],${e}[href="${t}"]`)),n=Ee.findOne(e.join(","),this._config.target);n.classList.add(Tr),n.classList.contains(Sr)?Ee.findOne(".dropdown-toggle",n.closest(".dropdown")).classList.add(Tr):Ee.parents(n,".nav, .list-group").forEach((t=>{Ee.prev(t,".nav-link, .list-group-item").forEach((t=>t.classList.add(Tr))),Ee.prev(t,".nav-item").forEach((t=>{Ee.children(t,Mr).forEach((t=>t.classList.add(Tr)))}))})),pe.trigger(this._scrollElement,"activate.bs.scrollspy",{relatedTarget:t})}_clear(){Ee.find(Dr,this._config.target).filter((t=>t.classList.contains(Tr))).forEach((t=>t.classList.remove(Tr)))}static jQueryInterface(t){return this.each((function(){const e=Rr.getOrCreateInstance(this,t);if("string"==typeof t){if(void 0===e[t])throw new TypeError(`No method named "${t}"`);e[t]()}}))}}pe.on(window,"load.bs.scrollspy.data-api",(()=>{Ee.find('[data-bs-spy="scroll"]').forEach((t=>new Rr(t)))})),Gt(Rr);const Lr="active",jr="fade",Ir="show",Nr=".active",Br=":scope > li > .active";class zr extends ve{static get NAME(){return"tab"}show(){if(this._element.parentNode&&this._element.parentNode.nodeType===Node.ELEMENT_NODE&&this._element.classList.contains(Lr))return;let t;const e=It(this._element),n=this._element.closest(".nav, .list-group");if(n){const e="UL"===n.nodeName||"OL"===n.nodeName?Br:Nr;t=Ee.find(e,n),t=t[t.length-1]}const r=t?pe.trigger(t,"hide.bs.tab",{relatedTarget:this._element}):null;if(pe.trigger(this._element,"show.bs.tab",{relatedTarget:t}).defaultPrevented||null!==r&&r.defaultPrevented)return;this._activate(this._element,n);const i=()=>{pe.trigger(t,"hidden.bs.tab",{relatedTarget:this._element}),pe.trigger(this._element,"shown.bs.tab",{relatedTarget:t})};e?this._activate(e,e.parentNode,i):i()}_activate(t,e,n){const r=(!e||"UL"!==e.nodeName&&"OL"!==e.nodeName?Ee.children(e,Nr):Ee.find(Br,e))[0],i=n&&r&&r.classList.contains(jr),o=()=>this._transitionComplete(t,r,n);r&&i?(r.classList.remove(Ir),this._queueCallback(o,t,!0)):o()}_transitionComplete(t,e,n){if(e){e.classList.remove(Lr);const t=Ee.findOne(":scope > .dropdown-menu .active",e.parentNode);t&&t.classList.remove(Lr),"tab"===e.getAttribute("role")&&e.setAttribute("aria-selected",!1)}t.classList.add(Lr),"tab"===t.getAttribute("role")&&t.setAttribute("aria-selected",!0),Ut(t),t.classList.contains(jr)&&t.classList.add(Ir);let r=t.parentNode;if(r&&"LI"===r.nodeName&&(r=r.parentNode),r&&r.classList.contains("dropdown-menu")){const e=t.closest(".dropdown");e&&Ee.find(".dropdown-toggle",e).forEach((t=>t.classList.add(Lr))),t.setAttribute("aria-expanded",!0)}n&&n()}static jQueryInterface(t){return this.each((function(){const e=zr.getOrCreateInstance(this);if("string"==typeof t){if(void 0===e[t])throw new TypeError(`No method named "${t}"`);e[t]()}}))}}pe.on(document,"click.bs.tab.data-api",'[data-bs-toggle="tab"], [data-bs-toggle="pill"], [data-bs-toggle="list"]',(function(t){if(["A","AREA"].includes(this.tagName)&&t.preventDefault(),Ht(this))return;zr.getOrCreateInstance(this).show()})),Gt(zr);const Fr="toast",Wr="hide",Hr="show",Vr="showing",qr={animation:"boolean",autohide:"boolean",delay:"number"},Ur={animation:!0,autohide:!0,delay:5e3};class $r extends ve{constructor(t,e){super(t),this._config=this._getConfig(e),this._timeout=null,this._hasMouseInteraction=!1,this._hasKeyboardInteraction=!1,this._setListeners()}static get DefaultType(){return qr}static get Default(){return Ur}static get NAME(){return Fr}show(){if(pe.trigger(this._element,"show.bs.toast").defaultPrevented)return;this._clearTimeout(),this._config.animation&&this._element.classList.add("fade");this._element.classList.remove(Wr),Ut(this._element),this._element.classList.add(Hr),this._element.classList.add(Vr),this._queueCallback((()=>{this._element.classList.remove(Vr),pe.trigger(this._element,"shown.bs.toast"),this._maybeScheduleHide()}),this._element,this._config.animation)}hide(){if(!this._element.classList.contains(Hr))return;if(pe.trigger(this._element,"hide.bs.toast").defaultPrevented)return;this._element.classList.add(Vr),this._queueCallback((()=>{this._element.classList.add(Wr),this._element.classList.remove(Vr),this._element.classList.remove(Hr),pe.trigger(this._element,"hidden.bs.toast")}),this._element,this._config.animation)}dispose(){this._clearTimeout(),this._element.classList.contains(Hr)&&this._element.classList.remove(Hr),super.dispose()}_getConfig(t){return t={...Ur,...Ce.getDataAttributes(this._element),..."object"==typeof t&&t?t:{}},Ft(Fr,t,this.constructor.DefaultType),t}_maybeScheduleHide(){this._config.autohide&&(this._hasMouseInteraction||this._hasKeyboardInteraction||(this._timeout=setTimeout((()=>{this.hide()}),this._config.delay)))}_onInteraction(t,e){switch(t.type){case"mouseover":case"mouseout":this._hasMouseInteraction=e;break;case"focusin":case"focusout":this._hasKeyboardInteraction=e}if(e)return void this._clearTimeout();const n=t.relatedTarget;this._element===n||this._element.contains(n)||this._maybeScheduleHide()}_setListeners(){pe.on(this._element,"mouseover.bs.toast",(t=>this._onInteraction(t,!0))),pe.on(this._element,"mouseout.bs.toast",(t=>this._onInteraction(t,!1))),pe.on(this._element,"focusin.bs.toast",(t=>this._onInteraction(t,!0))),pe.on(this._element,"focusout.bs.toast",(t=>this._onInteraction(t,!1)))}_clearTimeout(){clearTimeout(this._timeout),this._timeout=null}static jQueryInterface(t){return this.each((function(){const e=$r.getOrCreateInstance(this,t);if("string"==typeof t){if(void 0===e[t])throw new TypeError(`No method named "${t}"`);e[t](this)}}))}}ye($r),Gt($r)},755:function(t,e){var n;!function(e,n){"use strict";"object"==typeof t.exports?t.exports=e.document?n(e,!0):function(t){if(!t.document)throw new Error("jQuery requires a window with a document");return n(t)}:n(e)}("undefined"!=typeof window?window:this,(function(r,i){"use strict";var o=[],s=Object.getPrototypeOf,a=o.slice,l=o.flat?function(t){return o.flat.call(t)}:function(t){return o.concat.apply([],t)},c=o.push,u=o.indexOf,h={},f=h.toString,d=h.hasOwnProperty,p=d.toString,g=p.call(Object),m={},v=function(t){return"function"==typeof t&&"number"!=typeof t.nodeType&&"function"!=typeof t.item},y=function(t){return null!=t&&t===t.window},b=r.document,x={type:!0,src:!0,nonce:!0,noModule:!0};function _(t,e,n){var r,i,o=(n=n||b).createElement("script");if(o.text=t,e)for(r in x)(i=e[r]||e.getAttribute&&e.getAttribute(r))&&o.setAttribute(r,i);n.head.appendChild(o).parentNode.removeChild(o)}function w(t){return null==t?t+"":"object"==typeof t||"function"==typeof t?h[f.call(t)]||"object":typeof t}var k="3.6.0",C=function(t,e){return new C.fn.init(t,e)};function E(t){var e=!!t&&"length"in t&&t.length,n=w(t);return!v(t)&&!y(t)&&("array"===n||0===e||"number"==typeof e&&e>0&&e-1 in t)}C.fn=C.prototype={jquery:k,constructor:C,length:0,toArray:function(){return a.call(this)},get:function(t){return null==t?a.call(this):t<0?this[t+this.length]:this[t]},pushStack:function(t){var e=C.merge(this.constructor(),t);return e.prevObject=this,e},each:function(t){return C.each(this,t)},map:function(t){return this.pushStack(C.map(this,(function(e,n){return t.call(e,n,e)})))},slice:function(){return this.pushStack(a.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},even:function(){return this.pushStack(C.grep(this,(function(t,e){return(e+1)%2})))},odd:function(){return this.pushStack(C.grep(this,(function(t,e){return e%2})))},eq:function(t){var e=this.length,n=+t+(t<0?e:0);return this.pushStack(n>=0&&n+~]|[\\x20\\t\\r\\n\\f])[\\x20\\t\\r\\n\\f]*"),U=new RegExp(N+"|>"),$=new RegExp(F),Y=new RegExp("^"+B+"$"),X={ID:new RegExp("^#("+B+")"),CLASS:new RegExp("^\\.("+B+")"),TAG:new RegExp("^("+B+"|[*])"),ATTR:new RegExp("^"+z),PSEUDO:new RegExp("^"+F),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\([\\x20\\t\\r\\n\\f]*(even|odd|(([+-]|)(\\d*)n|)[\\x20\\t\\r\\n\\f]*(?:([+-]|)[\\x20\\t\\r\\n\\f]*(\\d+)|))[\\x20\\t\\r\\n\\f]*\\)|)","i"),bool:new RegExp("^(?:"+I+")$","i"),needsContext:new RegExp("^[\\x20\\t\\r\\n\\f]*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\([\\x20\\t\\r\\n\\f]*((?:-\\d)?\\d*)[\\x20\\t\\r\\n\\f]*\\)|)(?=[^-]|$)","i")},G=/HTML$/i,K=/^(?:input|select|textarea|button)$/i,Z=/^h\d$/i,Q=/^[^{]+\{\s*\[native \w/,J=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,tt=/[+~]/,et=new RegExp("\\\\[\\da-fA-F]{1,6}[\\x20\\t\\r\\n\\f]?|\\\\([^\\r\\n\\f])","g"),nt=function(t,e){var n="0x"+t.slice(1)-65536;return e||(n<0?String.fromCharCode(n+65536):String.fromCharCode(n>>10|55296,1023&n|56320))},rt=/([\0-\x1f\x7f]|^-?\d)|^-$|[^\0-\x1f\x7f-\uFFFF\w-]/g,it=function(t,e){return e?"\0"===t?"�":t.slice(0,-1)+"\\"+t.charCodeAt(t.length-1).toString(16)+" ":"\\"+t},ot=function(){f()},st=xt((function(t){return!0===t.disabled&&"fieldset"===t.nodeName.toLowerCase()}),{dir:"parentNode",next:"legend"});try{R.apply(M=L.call(_.childNodes),_.childNodes),M[_.childNodes.length].nodeType}catch(t){R={apply:M.length?function(t,e){P.apply(t,L.call(e))}:function(t,e){for(var n=t.length,r=0;t[n++]=e[r++];);t.length=n-1}}}function at(t,e,r,i){var o,a,c,u,h,p,v,y=e&&e.ownerDocument,_=e?e.nodeType:9;if(r=r||[],"string"!=typeof t||!t||1!==_&&9!==_&&11!==_)return r;if(!i&&(f(e),e=e||d,g)){if(11!==_&&(h=J.exec(t)))if(o=h[1]){if(9===_){if(!(c=e.getElementById(o)))return r;if(c.id===o)return r.push(c),r}else if(y&&(c=y.getElementById(o))&&b(e,c)&&c.id===o)return r.push(c),r}else{if(h[2])return R.apply(r,e.getElementsByTagName(t)),r;if((o=h[3])&&n.getElementsByClassName&&e.getElementsByClassName)return R.apply(r,e.getElementsByClassName(o)),r}if(n.qsa&&!A[t+" "]&&(!m||!m.test(t))&&(1!==_||"object"!==e.nodeName.toLowerCase())){if(v=t,y=e,1===_&&(U.test(t)||q.test(t))){for((y=tt.test(t)&&vt(e.parentNode)||e)===e&&n.scope||((u=e.getAttribute("id"))?u=u.replace(rt,it):e.setAttribute("id",u=x)),a=(p=s(t)).length;a--;)p[a]=(u?"#"+u:":scope")+" "+bt(p[a]);v=p.join(",")}try{return R.apply(r,y.querySelectorAll(v)),r}catch(e){A(t,!0)}finally{u===x&&e.removeAttribute("id")}}}return l(t.replace(H,"$1"),e,r,i)}function lt(){var t=[];return function e(n,i){return t.push(n+" ")>r.cacheLength&&delete e[t.shift()],e[n+" "]=i}}function ct(t){return t[x]=!0,t}function ut(t){var e=d.createElement("fieldset");try{return!!t(e)}catch(t){return!1}finally{e.parentNode&&e.parentNode.removeChild(e),e=null}}function ht(t,e){for(var n=t.split("|"),i=n.length;i--;)r.attrHandle[n[i]]=e}function ft(t,e){var n=e&&t,r=n&&1===t.nodeType&&1===e.nodeType&&t.sourceIndex-e.sourceIndex;if(r)return r;if(n)for(;n=n.nextSibling;)if(n===e)return-1;return t?1:-1}function dt(t){return function(e){return"input"===e.nodeName.toLowerCase()&&e.type===t}}function pt(t){return function(e){var n=e.nodeName.toLowerCase();return("input"===n||"button"===n)&&e.type===t}}function gt(t){return function(e){return"form"in e?e.parentNode&&!1===e.disabled?"label"in e?"label"in e.parentNode?e.parentNode.disabled===t:e.disabled===t:e.isDisabled===t||e.isDisabled!==!t&&st(e)===t:e.disabled===t:"label"in e&&e.disabled===t}}function mt(t){return ct((function(e){return e=+e,ct((function(n,r){for(var i,o=t([],n.length,e),s=o.length;s--;)n[i=o[s]]&&(n[i]=!(r[i]=n[i]))}))}))}function vt(t){return t&&void 0!==t.getElementsByTagName&&t}for(e in n=at.support={},o=at.isXML=function(t){var e=t&&t.namespaceURI,n=t&&(t.ownerDocument||t).documentElement;return!G.test(e||n&&n.nodeName||"HTML")},f=at.setDocument=function(t){var e,i,s=t?t.ownerDocument||t:_;return s!=d&&9===s.nodeType&&s.documentElement?(p=(d=s).documentElement,g=!o(d),_!=d&&(i=d.defaultView)&&i.top!==i&&(i.addEventListener?i.addEventListener("unload",ot,!1):i.attachEvent&&i.attachEvent("onunload",ot)),n.scope=ut((function(t){return p.appendChild(t).appendChild(d.createElement("div")),void 0!==t.querySelectorAll&&!t.querySelectorAll(":scope fieldset div").length})),n.attributes=ut((function(t){return t.className="i",!t.getAttribute("className")})),n.getElementsByTagName=ut((function(t){return t.appendChild(d.createComment("")),!t.getElementsByTagName("*").length})),n.getElementsByClassName=Q.test(d.getElementsByClassName),n.getById=ut((function(t){return p.appendChild(t).id=x,!d.getElementsByName||!d.getElementsByName(x).length})),n.getById?(r.filter.ID=function(t){var e=t.replace(et,nt);return function(t){return t.getAttribute("id")===e}},r.find.ID=function(t,e){if(void 0!==e.getElementById&&g){var n=e.getElementById(t);return n?[n]:[]}}):(r.filter.ID=function(t){var e=t.replace(et,nt);return function(t){var n=void 0!==t.getAttributeNode&&t.getAttributeNode("id");return n&&n.value===e}},r.find.ID=function(t,e){if(void 0!==e.getElementById&&g){var n,r,i,o=e.getElementById(t);if(o){if((n=o.getAttributeNode("id"))&&n.value===t)return[o];for(i=e.getElementsByName(t),r=0;o=i[r++];)if((n=o.getAttributeNode("id"))&&n.value===t)return[o]}return[]}}),r.find.TAG=n.getElementsByTagName?function(t,e){return void 0!==e.getElementsByTagName?e.getElementsByTagName(t):n.qsa?e.querySelectorAll(t):void 0}:function(t,e){var n,r=[],i=0,o=e.getElementsByTagName(t);if("*"===t){for(;n=o[i++];)1===n.nodeType&&r.push(n);return r}return o},r.find.CLASS=n.getElementsByClassName&&function(t,e){if(void 0!==e.getElementsByClassName&&g)return e.getElementsByClassName(t)},v=[],m=[],(n.qsa=Q.test(d.querySelectorAll))&&(ut((function(t){var e;p.appendChild(t).innerHTML="",t.querySelectorAll("[msallowcapture^='']").length&&m.push("[*^$]=[\\x20\\t\\r\\n\\f]*(?:''|\"\")"),t.querySelectorAll("[selected]").length||m.push("\\[[\\x20\\t\\r\\n\\f]*(?:value|"+I+")"),t.querySelectorAll("[id~="+x+"-]").length||m.push("~="),(e=d.createElement("input")).setAttribute("name",""),t.appendChild(e),t.querySelectorAll("[name='']").length||m.push("\\[[\\x20\\t\\r\\n\\f]*name[\\x20\\t\\r\\n\\f]*=[\\x20\\t\\r\\n\\f]*(?:''|\"\")"),t.querySelectorAll(":checked").length||m.push(":checked"),t.querySelectorAll("a#"+x+"+*").length||m.push(".#.+[+~]"),t.querySelectorAll("\\\f"),m.push("[\\r\\n\\f]")})),ut((function(t){t.innerHTML="";var e=d.createElement("input");e.setAttribute("type","hidden"),t.appendChild(e).setAttribute("name","D"),t.querySelectorAll("[name=d]").length&&m.push("name[\\x20\\t\\r\\n\\f]*[*^$|!~]?="),2!==t.querySelectorAll(":enabled").length&&m.push(":enabled",":disabled"),p.appendChild(t).disabled=!0,2!==t.querySelectorAll(":disabled").length&&m.push(":enabled",":disabled"),t.querySelectorAll("*,:x"),m.push(",.*:")}))),(n.matchesSelector=Q.test(y=p.matches||p.webkitMatchesSelector||p.mozMatchesSelector||p.oMatchesSelector||p.msMatchesSelector))&&ut((function(t){n.disconnectedMatch=y.call(t,"*"),y.call(t,"[s!='']:x"),v.push("!=",F)})),m=m.length&&new RegExp(m.join("|")),v=v.length&&new RegExp(v.join("|")),e=Q.test(p.compareDocumentPosition),b=e||Q.test(p.contains)?function(t,e){var n=9===t.nodeType?t.documentElement:t,r=e&&e.parentNode;return t===r||!(!r||1!==r.nodeType||!(n.contains?n.contains(r):t.compareDocumentPosition&&16&t.compareDocumentPosition(r)))}:function(t,e){if(e)for(;e=e.parentNode;)if(e===t)return!0;return!1},S=e?function(t,e){if(t===e)return h=!0,0;var r=!t.compareDocumentPosition-!e.compareDocumentPosition;return r||(1&(r=(t.ownerDocument||t)==(e.ownerDocument||e)?t.compareDocumentPosition(e):1)||!n.sortDetached&&e.compareDocumentPosition(t)===r?t==d||t.ownerDocument==_&&b(_,t)?-1:e==d||e.ownerDocument==_&&b(_,e)?1:u?j(u,t)-j(u,e):0:4&r?-1:1)}:function(t,e){if(t===e)return h=!0,0;var n,r=0,i=t.parentNode,o=e.parentNode,s=[t],a=[e];if(!i||!o)return t==d?-1:e==d?1:i?-1:o?1:u?j(u,t)-j(u,e):0;if(i===o)return ft(t,e);for(n=t;n=n.parentNode;)s.unshift(n);for(n=e;n=n.parentNode;)a.unshift(n);for(;s[r]===a[r];)r++;return r?ft(s[r],a[r]):s[r]==_?-1:a[r]==_?1:0},d):d},at.matches=function(t,e){return at(t,null,null,e)},at.matchesSelector=function(t,e){if(f(t),n.matchesSelector&&g&&!A[e+" "]&&(!v||!v.test(e))&&(!m||!m.test(e)))try{var r=y.call(t,e);if(r||n.disconnectedMatch||t.document&&11!==t.document.nodeType)return r}catch(t){A(e,!0)}return at(e,d,null,[t]).length>0},at.contains=function(t,e){return(t.ownerDocument||t)!=d&&f(t),b(t,e)},at.attr=function(t,e){(t.ownerDocument||t)!=d&&f(t);var i=r.attrHandle[e.toLowerCase()],o=i&&T.call(r.attrHandle,e.toLowerCase())?i(t,e,!g):void 0;return void 0!==o?o:n.attributes||!g?t.getAttribute(e):(o=t.getAttributeNode(e))&&o.specified?o.value:null},at.escape=function(t){return(t+"").replace(rt,it)},at.error=function(t){throw new Error("Syntax error, unrecognized expression: "+t)},at.uniqueSort=function(t){var e,r=[],i=0,o=0;if(h=!n.detectDuplicates,u=!n.sortStable&&t.slice(0),t.sort(S),h){for(;e=t[o++];)e===t[o]&&(i=r.push(o));for(;i--;)t.splice(r[i],1)}return u=null,t},i=at.getText=function(t){var e,n="",r=0,o=t.nodeType;if(o){if(1===o||9===o||11===o){if("string"==typeof t.textContent)return t.textContent;for(t=t.firstChild;t;t=t.nextSibling)n+=i(t)}else if(3===o||4===o)return t.nodeValue}else for(;e=t[r++];)n+=i(e);return n},r=at.selectors={cacheLength:50,createPseudo:ct,match:X,attrHandle:{},find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(t){return t[1]=t[1].replace(et,nt),t[3]=(t[3]||t[4]||t[5]||"").replace(et,nt),"~="===t[2]&&(t[3]=" "+t[3]+" "),t.slice(0,4)},CHILD:function(t){return t[1]=t[1].toLowerCase(),"nth"===t[1].slice(0,3)?(t[3]||at.error(t[0]),t[4]=+(t[4]?t[5]+(t[6]||1):2*("even"===t[3]||"odd"===t[3])),t[5]=+(t[7]+t[8]||"odd"===t[3])):t[3]&&at.error(t[0]),t},PSEUDO:function(t){var e,n=!t[6]&&t[2];return X.CHILD.test(t[0])?null:(t[3]?t[2]=t[4]||t[5]||"":n&&$.test(n)&&(e=s(n,!0))&&(e=n.indexOf(")",n.length-e)-n.length)&&(t[0]=t[0].slice(0,e),t[2]=n.slice(0,e)),t.slice(0,3))}},filter:{TAG:function(t){var e=t.replace(et,nt).toLowerCase();return"*"===t?function(){return!0}:function(t){return t.nodeName&&t.nodeName.toLowerCase()===e}},CLASS:function(t){var e=C[t+" "];return e||(e=new RegExp("(^|[\\x20\\t\\r\\n\\f])"+t+"("+N+"|$)"))&&C(t,(function(t){return e.test("string"==typeof t.className&&t.className||void 0!==t.getAttribute&&t.getAttribute("class")||"")}))},ATTR:function(t,e,n){return function(r){var i=at.attr(r,t);return null==i?"!="===e:!e||(i+="","="===e?i===n:"!="===e?i!==n:"^="===e?n&&0===i.indexOf(n):"*="===e?n&&i.indexOf(n)>-1:"$="===e?n&&i.slice(-n.length)===n:"~="===e?(" "+i.replace(W," ")+" ").indexOf(n)>-1:"|="===e&&(i===n||i.slice(0,n.length+1)===n+"-"))}},CHILD:function(t,e,n,r,i){var o="nth"!==t.slice(0,3),s="last"!==t.slice(-4),a="of-type"===e;return 1===r&&0===i?function(t){return!!t.parentNode}:function(e,n,l){var c,u,h,f,d,p,g=o!==s?"nextSibling":"previousSibling",m=e.parentNode,v=a&&e.nodeName.toLowerCase(),y=!l&&!a,b=!1;if(m){if(o){for(;g;){for(f=e;f=f[g];)if(a?f.nodeName.toLowerCase()===v:1===f.nodeType)return!1;p=g="only"===t&&!p&&"nextSibling"}return!0}if(p=[s?m.firstChild:m.lastChild],s&&y){for(b=(d=(c=(u=(h=(f=m)[x]||(f[x]={}))[f.uniqueID]||(h[f.uniqueID]={}))[t]||[])[0]===w&&c[1])&&c[2],f=d&&m.childNodes[d];f=++d&&f&&f[g]||(b=d=0)||p.pop();)if(1===f.nodeType&&++b&&f===e){u[t]=[w,d,b];break}}else if(y&&(b=d=(c=(u=(h=(f=e)[x]||(f[x]={}))[f.uniqueID]||(h[f.uniqueID]={}))[t]||[])[0]===w&&c[1]),!1===b)for(;(f=++d&&f&&f[g]||(b=d=0)||p.pop())&&((a?f.nodeName.toLowerCase()!==v:1!==f.nodeType)||!++b||(y&&((u=(h=f[x]||(f[x]={}))[f.uniqueID]||(h[f.uniqueID]={}))[t]=[w,b]),f!==e)););return(b-=i)===r||b%r==0&&b/r>=0}}},PSEUDO:function(t,e){var n,i=r.pseudos[t]||r.setFilters[t.toLowerCase()]||at.error("unsupported pseudo: "+t);return i[x]?i(e):i.length>1?(n=[t,t,"",e],r.setFilters.hasOwnProperty(t.toLowerCase())?ct((function(t,n){for(var r,o=i(t,e),s=o.length;s--;)t[r=j(t,o[s])]=!(n[r]=o[s])})):function(t){return i(t,0,n)}):i}},pseudos:{not:ct((function(t){var e=[],n=[],r=a(t.replace(H,"$1"));return r[x]?ct((function(t,e,n,i){for(var o,s=r(t,null,i,[]),a=t.length;a--;)(o=s[a])&&(t[a]=!(e[a]=o))})):function(t,i,o){return e[0]=t,r(e,null,o,n),e[0]=null,!n.pop()}})),has:ct((function(t){return function(e){return at(t,e).length>0}})),contains:ct((function(t){return t=t.replace(et,nt),function(e){return(e.textContent||i(e)).indexOf(t)>-1}})),lang:ct((function(t){return Y.test(t||"")||at.error("unsupported lang: "+t),t=t.replace(et,nt).toLowerCase(),function(e){var n;do{if(n=g?e.lang:e.getAttribute("xml:lang")||e.getAttribute("lang"))return(n=n.toLowerCase())===t||0===n.indexOf(t+"-")}while((e=e.parentNode)&&1===e.nodeType);return!1}})),target:function(e){var n=t.location&&t.location.hash;return n&&n.slice(1)===e.id},root:function(t){return t===p},focus:function(t){return t===d.activeElement&&(!d.hasFocus||d.hasFocus())&&!!(t.type||t.href||~t.tabIndex)},enabled:gt(!1),disabled:gt(!0),checked:function(t){var e=t.nodeName.toLowerCase();return"input"===e&&!!t.checked||"option"===e&&!!t.selected},selected:function(t){return t.parentNode&&t.parentNode.selectedIndex,!0===t.selected},empty:function(t){for(t=t.firstChild;t;t=t.nextSibling)if(t.nodeType<6)return!1;return!0},parent:function(t){return!r.pseudos.empty(t)},header:function(t){return Z.test(t.nodeName)},input:function(t){return K.test(t.nodeName)},button:function(t){var e=t.nodeName.toLowerCase();return"input"===e&&"button"===t.type||"button"===e},text:function(t){var e;return"input"===t.nodeName.toLowerCase()&&"text"===t.type&&(null==(e=t.getAttribute("type"))||"text"===e.toLowerCase())},first:mt((function(){return[0]})),last:mt((function(t,e){return[e-1]})),eq:mt((function(t,e,n){return[n<0?n+e:n]})),even:mt((function(t,e){for(var n=0;ne?e:n;--r>=0;)t.push(r);return t})),gt:mt((function(t,e,n){for(var r=n<0?n+e:n;++r1?function(e,n,r){for(var i=t.length;i--;)if(!t[i](e,n,r))return!1;return!0}:t[0]}function wt(t,e,n,r,i){for(var o,s=[],a=0,l=t.length,c=null!=e;a-1&&(o[c]=!(s[c]=h))}}else v=wt(v===s?v.splice(p,v.length):v),i?i(null,s,v,l):R.apply(s,v)}))}function Ct(t){for(var e,n,i,o=t.length,s=r.relative[t[0].type],a=s||r.relative[" "],l=s?1:0,u=xt((function(t){return t===e}),a,!0),h=xt((function(t){return j(e,t)>-1}),a,!0),f=[function(t,n,r){var i=!s&&(r||n!==c)||((e=n).nodeType?u(t,n,r):h(t,n,r));return e=null,i}];l1&&_t(f),l>1&&bt(t.slice(0,l-1).concat({value:" "===t[l-2].type?"*":""})).replace(H,"$1"),n,l0,i=t.length>0,o=function(o,s,a,l,u){var h,p,m,v=0,y="0",b=o&&[],x=[],_=c,k=o||i&&r.find.TAG("*",u),C=w+=null==_?1:Math.random()||.1,E=k.length;for(u&&(c=s==d||s||u);y!==E&&null!=(h=k[y]);y++){if(i&&h){for(p=0,s||h.ownerDocument==d||(f(h),a=!g);m=t[p++];)if(m(h,s||d,a)){l.push(h);break}u&&(w=C)}n&&((h=!m&&h)&&v--,o&&b.push(h))}if(v+=y,n&&y!==v){for(p=0;m=e[p++];)m(b,x,s,a);if(o){if(v>0)for(;y--;)b[y]||x[y]||(x[y]=D.call(l));x=wt(x)}R.apply(l,x),u&&!o&&x.length>0&&v+e.length>1&&at.uniqueSort(l)}return u&&(w=C,c=_),b};return n?ct(o):o}(o,i)),a.selector=t}return a},l=at.select=function(t,e,n,i){var o,l,c,u,h,f="function"==typeof t&&t,d=!i&&s(t=f.selector||t);if(n=n||[],1===d.length){if((l=d[0]=d[0].slice(0)).length>2&&"ID"===(c=l[0]).type&&9===e.nodeType&&g&&r.relative[l[1].type]){if(!(e=(r.find.ID(c.matches[0].replace(et,nt),e)||[])[0]))return n;f&&(e=e.parentNode),t=t.slice(l.shift().value.length)}for(o=X.needsContext.test(t)?0:l.length;o--&&(c=l[o],!r.relative[u=c.type]);)if((h=r.find[u])&&(i=h(c.matches[0].replace(et,nt),tt.test(l[0].type)&&vt(e.parentNode)||e))){if(l.splice(o,1),!(t=i.length&&bt(l)))return R.apply(n,i),n;break}}return(f||a(t,d))(i,e,!g,n,!e||tt.test(t)&&vt(e.parentNode)||e),n},n.sortStable=x.split("").sort(S).join("")===x,n.detectDuplicates=!!h,f(),n.sortDetached=ut((function(t){return 1&t.compareDocumentPosition(d.createElement("fieldset"))})),ut((function(t){return t.innerHTML="","#"===t.firstChild.getAttribute("href")}))||ht("type|href|height|width",(function(t,e,n){if(!n)return t.getAttribute(e,"type"===e.toLowerCase()?1:2)})),n.attributes&&ut((function(t){return t.innerHTML="",t.firstChild.setAttribute("value",""),""===t.firstChild.getAttribute("value")}))||ht("value",(function(t,e,n){if(!n&&"input"===t.nodeName.toLowerCase())return t.defaultValue})),ut((function(t){return null==t.getAttribute("disabled")}))||ht(I,(function(t,e,n){var r;if(!n)return!0===t[e]?e.toLowerCase():(r=t.getAttributeNode(e))&&r.specified?r.value:null})),at}(r);C.find=O,C.expr=O.selectors,C.expr[":"]=C.expr.pseudos,C.uniqueSort=C.unique=O.uniqueSort,C.text=O.getText,C.isXMLDoc=O.isXML,C.contains=O.contains,C.escapeSelector=O.escape;var A=function(t,e,n){for(var r=[],i=void 0!==n;(t=t[e])&&9!==t.nodeType;)if(1===t.nodeType){if(i&&C(t).is(n))break;r.push(t)}return r},S=function(t,e){for(var n=[];t;t=t.nextSibling)1===t.nodeType&&t!==e&&n.push(t);return n},T=C.expr.match.needsContext;function M(t,e){return t.nodeName&&t.nodeName.toLowerCase()===e.toLowerCase()}var D=/^<([a-z][^\/\0>:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i;function P(t,e,n){return v(e)?C.grep(t,(function(t,r){return!!e.call(t,r,t)!==n})):e.nodeType?C.grep(t,(function(t){return t===e!==n})):"string"!=typeof e?C.grep(t,(function(t){return u.call(e,t)>-1!==n})):C.filter(e,t,n)}C.filter=function(t,e,n){var r=e[0];return n&&(t=":not("+t+")"),1===e.length&&1===r.nodeType?C.find.matchesSelector(r,t)?[r]:[]:C.find.matches(t,C.grep(e,(function(t){return 1===t.nodeType})))},C.fn.extend({find:function(t){var e,n,r=this.length,i=this;if("string"!=typeof t)return this.pushStack(C(t).filter((function(){for(e=0;e1?C.uniqueSort(n):n},filter:function(t){return this.pushStack(P(this,t||[],!1))},not:function(t){return this.pushStack(P(this,t||[],!0))},is:function(t){return!!P(this,"string"==typeof t&&T.test(t)?C(t):t||[],!1).length}});var R,L=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]+))$/;(C.fn.init=function(t,e,n){var r,i;if(!t)return this;if(n=n||R,"string"==typeof t){if(!(r="<"===t[0]&&">"===t[t.length-1]&&t.length>=3?[null,t,null]:L.exec(t))||!r[1]&&e)return!e||e.jquery?(e||n).find(t):this.constructor(e).find(t);if(r[1]){if(e=e instanceof C?e[0]:e,C.merge(this,C.parseHTML(r[1],e&&e.nodeType?e.ownerDocument||e:b,!0)),D.test(r[1])&&C.isPlainObject(e))for(r in e)v(this[r])?this[r](e[r]):this.attr(r,e[r]);return this}return(i=b.getElementById(r[2]))&&(this[0]=i,this.length=1),this}return t.nodeType?(this[0]=t,this.length=1,this):v(t)?void 0!==n.ready?n.ready(t):t(C):C.makeArray(t,this)}).prototype=C.fn,R=C(b);var j=/^(?:parents|prev(?:Until|All))/,I={children:!0,contents:!0,next:!0,prev:!0};function N(t,e){for(;(t=t[e])&&1!==t.nodeType;);return t}C.fn.extend({has:function(t){var e=C(t,this),n=e.length;return this.filter((function(){for(var t=0;t-1:1===n.nodeType&&C.find.matchesSelector(n,t))){o.push(n);break}return this.pushStack(o.length>1?C.uniqueSort(o):o)},index:function(t){return t?"string"==typeof t?u.call(C(t),this[0]):u.call(this,t.jquery?t[0]:t):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(t,e){return this.pushStack(C.uniqueSort(C.merge(this.get(),C(t,e))))},addBack:function(t){return this.add(null==t?this.prevObject:this.prevObject.filter(t))}}),C.each({parent:function(t){var e=t.parentNode;return e&&11!==e.nodeType?e:null},parents:function(t){return A(t,"parentNode")},parentsUntil:function(t,e,n){return A(t,"parentNode",n)},next:function(t){return N(t,"nextSibling")},prev:function(t){return N(t,"previousSibling")},nextAll:function(t){return A(t,"nextSibling")},prevAll:function(t){return A(t,"previousSibling")},nextUntil:function(t,e,n){return A(t,"nextSibling",n)},prevUntil:function(t,e,n){return A(t,"previousSibling",n)},siblings:function(t){return S((t.parentNode||{}).firstChild,t)},children:function(t){return S(t.firstChild)},contents:function(t){return null!=t.contentDocument&&s(t.contentDocument)?t.contentDocument:(M(t,"template")&&(t=t.content||t),C.merge([],t.childNodes))}},(function(t,e){C.fn[t]=function(n,r){var i=C.map(this,e,n);return"Until"!==t.slice(-5)&&(r=n),r&&"string"==typeof r&&(i=C.filter(r,i)),this.length>1&&(I[t]||C.uniqueSort(i),j.test(t)&&i.reverse()),this.pushStack(i)}}));var B=/[^\x20\t\r\n\f]+/g;function z(t){return t}function F(t){throw t}function W(t,e,n,r){var i;try{t&&v(i=t.promise)?i.call(t).done(e).fail(n):t&&v(i=t.then)?i.call(t,e,n):e.apply(void 0,[t].slice(r))}catch(t){n.apply(void 0,[t])}}C.Callbacks=function(t){t="string"==typeof t?function(t){var e={};return C.each(t.match(B)||[],(function(t,n){e[n]=!0})),e}(t):C.extend({},t);var e,n,r,i,o=[],s=[],a=-1,l=function(){for(i=i||t.once,r=e=!0;s.length;a=-1)for(n=s.shift();++a-1;)o.splice(n,1),n<=a&&a--})),this},has:function(t){return t?C.inArray(t,o)>-1:o.length>0},empty:function(){return o&&(o=[]),this},disable:function(){return i=s=[],o=n="",this},disabled:function(){return!o},lock:function(){return i=s=[],n||e||(o=n=""),this},locked:function(){return!!i},fireWith:function(t,n){return i||(n=[t,(n=n||[]).slice?n.slice():n],s.push(n),e||l()),this},fire:function(){return c.fireWith(this,arguments),this},fired:function(){return!!r}};return c},C.extend({Deferred:function(t){var e=[["notify","progress",C.Callbacks("memory"),C.Callbacks("memory"),2],["resolve","done",C.Callbacks("once memory"),C.Callbacks("once memory"),0,"resolved"],["reject","fail",C.Callbacks("once memory"),C.Callbacks("once memory"),1,"rejected"]],n="pending",i={state:function(){return n},always:function(){return o.done(arguments).fail(arguments),this},catch:function(t){return i.then(null,t)},pipe:function(){var t=arguments;return C.Deferred((function(n){C.each(e,(function(e,r){var i=v(t[r[4]])&&t[r[4]];o[r[1]]((function(){var t=i&&i.apply(this,arguments);t&&v(t.promise)?t.promise().progress(n.notify).done(n.resolve).fail(n.reject):n[r[0]+"With"](this,i?[t]:arguments)}))})),t=null})).promise()},then:function(t,n,i){var o=0;function s(t,e,n,i){return function(){var a=this,l=arguments,c=function(){var r,c;if(!(t=o&&(n!==F&&(a=void 0,l=[r]),e.rejectWith(a,l))}};t?u():(C.Deferred.getStackHook&&(u.stackTrace=C.Deferred.getStackHook()),r.setTimeout(u))}}return C.Deferred((function(r){e[0][3].add(s(0,r,v(i)?i:z,r.notifyWith)),e[1][3].add(s(0,r,v(t)?t:z)),e[2][3].add(s(0,r,v(n)?n:F))})).promise()},promise:function(t){return null!=t?C.extend(t,i):i}},o={};return C.each(e,(function(t,r){var s=r[2],a=r[5];i[r[1]]=s.add,a&&s.add((function(){n=a}),e[3-t][2].disable,e[3-t][3].disable,e[0][2].lock,e[0][3].lock),s.add(r[3].fire),o[r[0]]=function(){return o[r[0]+"With"](this===o?void 0:this,arguments),this},o[r[0]+"With"]=s.fireWith})),i.promise(o),t&&t.call(o,o),o},when:function(t){var e=arguments.length,n=e,r=Array(n),i=a.call(arguments),o=C.Deferred(),s=function(t){return function(n){r[t]=this,i[t]=arguments.length>1?a.call(arguments):n,--e||o.resolveWith(r,i)}};if(e<=1&&(W(t,o.done(s(n)).resolve,o.reject,!e),"pending"===o.state()||v(i[n]&&i[n].then)))return o.then();for(;n--;)W(i[n],s(n),o.reject);return o.promise()}});var H=/^(Eval|Internal|Range|Reference|Syntax|Type|URI)Error$/;C.Deferred.exceptionHook=function(t,e){r.console&&r.console.warn&&t&&H.test(t.name)&&r.console.warn("jQuery.Deferred exception: "+t.message,t.stack,e)},C.readyException=function(t){r.setTimeout((function(){throw t}))};var V=C.Deferred();function q(){b.removeEventListener("DOMContentLoaded",q),r.removeEventListener("load",q),C.ready()}C.fn.ready=function(t){return V.then(t).catch((function(t){C.readyException(t)})),this},C.extend({isReady:!1,readyWait:1,ready:function(t){(!0===t?--C.readyWait:C.isReady)||(C.isReady=!0,!0!==t&&--C.readyWait>0||V.resolveWith(b,[C]))}}),C.ready.then=V.then,"complete"===b.readyState||"loading"!==b.readyState&&!b.documentElement.doScroll?r.setTimeout(C.ready):(b.addEventListener("DOMContentLoaded",q),r.addEventListener("load",q));var U=function(t,e,n,r,i,o,s){var a=0,l=t.length,c=null==n;if("object"===w(n))for(a in i=!0,n)U(t,e,a,n[a],!0,o,s);else if(void 0!==r&&(i=!0,v(r)||(s=!0),c&&(s?(e.call(t,r),e=null):(c=e,e=function(t,e,n){return c.call(C(t),n)})),e))for(;a1,null,!0)},removeData:function(t){return this.each((function(){J.remove(this,t)}))}}),C.extend({queue:function(t,e,n){var r;if(t)return e=(e||"fx")+"queue",r=Q.get(t,e),n&&(!r||Array.isArray(n)?r=Q.access(t,e,C.makeArray(n)):r.push(n)),r||[]},dequeue:function(t,e){e=e||"fx";var n=C.queue(t,e),r=n.length,i=n.shift(),o=C._queueHooks(t,e);"inprogress"===i&&(i=n.shift(),r--),i&&("fx"===e&&n.unshift("inprogress"),delete o.stop,i.call(t,(function(){C.dequeue(t,e)}),o)),!r&&o&&o.empty.fire()},_queueHooks:function(t,e){var n=e+"queueHooks";return Q.get(t,n)||Q.access(t,n,{empty:C.Callbacks("once memory").add((function(){Q.remove(t,[e+"queue",n])}))})}}),C.fn.extend({queue:function(t,e){var n=2;return"string"!=typeof t&&(e=t,t="fx",n--),arguments.length\x20\t\r\n\f]*)/i,yt=/^$|^module$|\/(?:java|ecma)script/i;pt=b.createDocumentFragment().appendChild(b.createElement("div")),(gt=b.createElement("input")).setAttribute("type","radio"),gt.setAttribute("checked","checked"),gt.setAttribute("name","t"),pt.appendChild(gt),m.checkClone=pt.cloneNode(!0).cloneNode(!0).lastChild.checked,pt.innerHTML="",m.noCloneChecked=!!pt.cloneNode(!0).lastChild.defaultValue,pt.innerHTML="",m.option=!!pt.lastChild;var bt={thead:[1,"","
"],col:[2,"","
"],tr:[2,"","
"],td:[3,"","
"],_default:[0,"",""]};function xt(t,e){var n;return n=void 0!==t.getElementsByTagName?t.getElementsByTagName(e||"*"):void 0!==t.querySelectorAll?t.querySelectorAll(e||"*"):[],void 0===e||e&&M(t,e)?C.merge([t],n):n}function _t(t,e){for(var n=0,r=t.length;n",""]);var wt=/<|&#?\w+;/;function kt(t,e,n,r,i){for(var o,s,a,l,c,u,h=e.createDocumentFragment(),f=[],d=0,p=t.length;d-1)i&&i.push(o);else if(c=at(o),s=xt(h.appendChild(o),"script"),c&&_t(s),n)for(u=0;o=s[u++];)yt.test(o.type||"")&&n.push(o);return h}var Ct=/^([^.]*)(?:\.(.+)|)/;function Et(){return!0}function Ot(){return!1}function At(t,e){return t===function(){try{return b.activeElement}catch(t){}}()==("focus"===e)}function St(t,e,n,r,i,o){var s,a;if("object"==typeof e){for(a in"string"!=typeof n&&(r=r||n,n=void 0),e)St(t,a,n,r,e[a],o);return t}if(null==r&&null==i?(i=n,r=n=void 0):null==i&&("string"==typeof n?(i=r,r=void 0):(i=r,r=n,n=void 0)),!1===i)i=Ot;else if(!i)return t;return 1===o&&(s=i,i=function(t){return C().off(t),s.apply(this,arguments)},i.guid=s.guid||(s.guid=C.guid++)),t.each((function(){C.event.add(this,e,i,r,n)}))}function Tt(t,e,n){n?(Q.set(t,e,!1),C.event.add(t,e,{namespace:!1,handler:function(t){var r,i,o=Q.get(this,e);if(1&t.isTrigger&&this[e]){if(o.length)(C.event.special[e]||{}).delegateType&&t.stopPropagation();else if(o=a.call(arguments),Q.set(this,e,o),r=n(this,e),this[e](),o!==(i=Q.get(this,e))||r?Q.set(this,e,!1):i={},o!==i)return t.stopImmediatePropagation(),t.preventDefault(),i&&i.value}else o.length&&(Q.set(this,e,{value:C.event.trigger(C.extend(o[0],C.Event.prototype),o.slice(1),this)}),t.stopImmediatePropagation())}})):void 0===Q.get(t,e)&&C.event.add(t,e,Et)}C.event={global:{},add:function(t,e,n,r,i){var o,s,a,l,c,u,h,f,d,p,g,m=Q.get(t);if(K(t))for(n.handler&&(n=(o=n).handler,i=o.selector),i&&C.find.matchesSelector(st,i),n.guid||(n.guid=C.guid++),(l=m.events)||(l=m.events=Object.create(null)),(s=m.handle)||(s=m.handle=function(e){return void 0!==C&&C.event.triggered!==e.type?C.event.dispatch.apply(t,arguments):void 0}),c=(e=(e||"").match(B)||[""]).length;c--;)d=g=(a=Ct.exec(e[c])||[])[1],p=(a[2]||"").split(".").sort(),d&&(h=C.event.special[d]||{},d=(i?h.delegateType:h.bindType)||d,h=C.event.special[d]||{},u=C.extend({type:d,origType:g,data:r,handler:n,guid:n.guid,selector:i,needsContext:i&&C.expr.match.needsContext.test(i),namespace:p.join(".")},o),(f=l[d])||((f=l[d]=[]).delegateCount=0,h.setup&&!1!==h.setup.call(t,r,p,s)||t.addEventListener&&t.addEventListener(d,s)),h.add&&(h.add.call(t,u),u.handler.guid||(u.handler.guid=n.guid)),i?f.splice(f.delegateCount++,0,u):f.push(u),C.event.global[d]=!0)},remove:function(t,e,n,r,i){var o,s,a,l,c,u,h,f,d,p,g,m=Q.hasData(t)&&Q.get(t);if(m&&(l=m.events)){for(c=(e=(e||"").match(B)||[""]).length;c--;)if(d=g=(a=Ct.exec(e[c])||[])[1],p=(a[2]||"").split(".").sort(),d){for(h=C.event.special[d]||{},f=l[d=(r?h.delegateType:h.bindType)||d]||[],a=a[2]&&new RegExp("(^|\\.)"+p.join("\\.(?:.*\\.|)")+"(\\.|$)"),s=o=f.length;o--;)u=f[o],!i&&g!==u.origType||n&&n.guid!==u.guid||a&&!a.test(u.namespace)||r&&r!==u.selector&&("**"!==r||!u.selector)||(f.splice(o,1),u.selector&&f.delegateCount--,h.remove&&h.remove.call(t,u));s&&!f.length&&(h.teardown&&!1!==h.teardown.call(t,p,m.handle)||C.removeEvent(t,d,m.handle),delete l[d])}else for(d in l)C.event.remove(t,d+e[c],n,r,!0);C.isEmptyObject(l)&&Q.remove(t,"handle events")}},dispatch:function(t){var e,n,r,i,o,s,a=new Array(arguments.length),l=C.event.fix(t),c=(Q.get(this,"events")||Object.create(null))[l.type]||[],u=C.event.special[l.type]||{};for(a[0]=l,e=1;e=1))for(;c!==this;c=c.parentNode||this)if(1===c.nodeType&&("click"!==t.type||!0!==c.disabled)){for(o=[],s={},n=0;n-1:C.find(i,this,null,[c]).length),s[i]&&o.push(r);o.length&&a.push({elem:c,handlers:o})}return c=this,l\s*$/g;function Rt(t,e){return M(t,"table")&&M(11!==e.nodeType?e:e.firstChild,"tr")&&C(t).children("tbody")[0]||t}function Lt(t){return t.type=(null!==t.getAttribute("type"))+"/"+t.type,t}function jt(t){return"true/"===(t.type||"").slice(0,5)?t.type=t.type.slice(5):t.removeAttribute("type"),t}function It(t,e){var n,r,i,o,s,a;if(1===e.nodeType){if(Q.hasData(t)&&(a=Q.get(t).events))for(i in Q.remove(e,"handle events"),a)for(n=0,r=a[i].length;n1&&"string"==typeof p&&!m.checkClone&&Dt.test(p))return t.each((function(i){var o=t.eq(i);g&&(e[0]=p.call(this,i,o.html())),Bt(o,e,n,r)}));if(f&&(o=(i=kt(e,t[0].ownerDocument,!1,t,r)).firstChild,1===i.childNodes.length&&(i=o),o||r)){for(a=(s=C.map(xt(i,"script"),Lt)).length;h0&&_t(s,!l&&xt(t,"script")),a},cleanData:function(t){for(var e,n,r,i=C.event.special,o=0;void 0!==(n=t[o]);o++)if(K(n)){if(e=n[Q.expando]){if(e.events)for(r in e.events)i[r]?C.event.remove(n,r):C.removeEvent(n,r,e.handle);n[Q.expando]=void 0}n[J.expando]&&(n[J.expando]=void 0)}}}),C.fn.extend({detach:function(t){return zt(this,t,!0)},remove:function(t){return zt(this,t)},text:function(t){return U(this,(function(t){return void 0===t?C.text(this):this.empty().each((function(){1!==this.nodeType&&11!==this.nodeType&&9!==this.nodeType||(this.textContent=t)}))}),null,t,arguments.length)},append:function(){return Bt(this,arguments,(function(t){1!==this.nodeType&&11!==this.nodeType&&9!==this.nodeType||Rt(this,t).appendChild(t)}))},prepend:function(){return Bt(this,arguments,(function(t){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var e=Rt(this,t);e.insertBefore(t,e.firstChild)}}))},before:function(){return Bt(this,arguments,(function(t){this.parentNode&&this.parentNode.insertBefore(t,this)}))},after:function(){return Bt(this,arguments,(function(t){this.parentNode&&this.parentNode.insertBefore(t,this.nextSibling)}))},empty:function(){for(var t,e=0;null!=(t=this[e]);e++)1===t.nodeType&&(C.cleanData(xt(t,!1)),t.textContent="");return this},clone:function(t,e){return t=null!=t&&t,e=null==e?t:e,this.map((function(){return C.clone(this,t,e)}))},html:function(t){return U(this,(function(t){var e=this[0]||{},n=0,r=this.length;if(void 0===t&&1===e.nodeType)return e.innerHTML;if("string"==typeof t&&!Mt.test(t)&&!bt[(vt.exec(t)||["",""])[1].toLowerCase()]){t=C.htmlPrefilter(t);try{for(;n=0&&(l+=Math.max(0,Math.ceil(t["offset"+e[0].toUpperCase()+e.slice(1)]-o-l-a-.5))||0),l}function ne(t,e,n){var r=Wt(t),i=(!m.boxSizingReliable()||n)&&"border-box"===C.css(t,"boxSizing",!1,r),o=i,s=qt(t,e,r),a="offset"+e[0].toUpperCase()+e.slice(1);if(Ft.test(s)){if(!n)return s;s="auto"}return(!m.boxSizingReliable()&&i||!m.reliableTrDimensions()&&M(t,"tr")||"auto"===s||!parseFloat(s)&&"inline"===C.css(t,"display",!1,r))&&t.getClientRects().length&&(i="border-box"===C.css(t,"boxSizing",!1,r),(o=a in t)&&(s=t[a])),(s=parseFloat(s)||0)+ee(t,e,n||(i?"border":"content"),o,r,s)+"px"}function re(t,e,n,r,i){return new re.prototype.init(t,e,n,r,i)}C.extend({cssHooks:{opacity:{get:function(t,e){if(e){var n=qt(t,"opacity");return""===n?"1":n}}}},cssNumber:{animationIterationCount:!0,columnCount:!0,fillOpacity:!0,flexGrow:!0,flexShrink:!0,fontWeight:!0,gridArea:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnStart:!0,gridRow:!0,gridRowEnd:!0,gridRowStart:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{},style:function(t,e,n,r){if(t&&3!==t.nodeType&&8!==t.nodeType&&t.style){var i,o,s,a=G(e),l=Zt.test(e),c=t.style;if(l||(e=Gt(a)),s=C.cssHooks[e]||C.cssHooks[a],void 0===n)return s&&"get"in s&&void 0!==(i=s.get(t,!1,r))?i:c[e];"string"===(o=typeof n)&&(i=it.exec(n))&&i[1]&&(n=ut(t,e,i),o="number"),null!=n&&n==n&&("number"!==o||l||(n+=i&&i[3]||(C.cssNumber[a]?"":"px")),m.clearCloneStyle||""!==n||0!==e.indexOf("background")||(c[e]="inherit"),s&&"set"in s&&void 0===(n=s.set(t,n,r))||(l?c.setProperty(e,n):c[e]=n))}},css:function(t,e,n,r){var i,o,s,a=G(e);return Zt.test(e)||(e=Gt(a)),(s=C.cssHooks[e]||C.cssHooks[a])&&"get"in s&&(i=s.get(t,!0,n)),void 0===i&&(i=qt(t,e,r)),"normal"===i&&e in Jt&&(i=Jt[e]),""===n||n?(o=parseFloat(i),!0===n||isFinite(o)?o||0:i):i}}),C.each(["height","width"],(function(t,e){C.cssHooks[e]={get:function(t,n,r){if(n)return!Kt.test(C.css(t,"display"))||t.getClientRects().length&&t.getBoundingClientRect().width?ne(t,e,r):Ht(t,Qt,(function(){return ne(t,e,r)}))},set:function(t,n,r){var i,o=Wt(t),s=!m.scrollboxSize()&&"absolute"===o.position,a=(s||r)&&"border-box"===C.css(t,"boxSizing",!1,o),l=r?ee(t,e,r,a,o):0;return a&&s&&(l-=Math.ceil(t["offset"+e[0].toUpperCase()+e.slice(1)]-parseFloat(o[e])-ee(t,e,"border",!1,o)-.5)),l&&(i=it.exec(n))&&"px"!==(i[3]||"px")&&(t.style[e]=n,n=C.css(t,e)),te(0,n,l)}}})),C.cssHooks.marginLeft=Ut(m.reliableMarginLeft,(function(t,e){if(e)return(parseFloat(qt(t,"marginLeft"))||t.getBoundingClientRect().left-Ht(t,{marginLeft:0},(function(){return t.getBoundingClientRect().left})))+"px"})),C.each({margin:"",padding:"",border:"Width"},(function(t,e){C.cssHooks[t+e]={expand:function(n){for(var r=0,i={},o="string"==typeof n?n.split(" "):[n];r<4;r++)i[t+ot[r]+e]=o[r]||o[r-2]||o[0];return i}},"margin"!==t&&(C.cssHooks[t+e].set=te)})),C.fn.extend({css:function(t,e){return U(this,(function(t,e,n){var r,i,o={},s=0;if(Array.isArray(e)){for(r=Wt(t),i=e.length;s1)}}),C.Tween=re,re.prototype={constructor:re,init:function(t,e,n,r,i,o){this.elem=t,this.prop=n,this.easing=i||C.easing._default,this.options=e,this.start=this.now=this.cur(),this.end=r,this.unit=o||(C.cssNumber[n]?"":"px")},cur:function(){var t=re.propHooks[this.prop];return t&&t.get?t.get(this):re.propHooks._default.get(this)},run:function(t){var e,n=re.propHooks[this.prop];return this.options.duration?this.pos=e=C.easing[this.easing](t,this.options.duration*t,0,1,this.options.duration):this.pos=e=t,this.now=(this.end-this.start)*e+this.start,this.options.step&&this.options.step.call(this.elem,this.now,this),n&&n.set?n.set(this):re.propHooks._default.set(this),this}},re.prototype.init.prototype=re.prototype,re.propHooks={_default:{get:function(t){var e;return 1!==t.elem.nodeType||null!=t.elem[t.prop]&&null==t.elem.style[t.prop]?t.elem[t.prop]:(e=C.css(t.elem,t.prop,""))&&"auto"!==e?e:0},set:function(t){C.fx.step[t.prop]?C.fx.step[t.prop](t):1!==t.elem.nodeType||!C.cssHooks[t.prop]&&null==t.elem.style[Gt(t.prop)]?t.elem[t.prop]=t.now:C.style(t.elem,t.prop,t.now+t.unit)}}},re.propHooks.scrollTop=re.propHooks.scrollLeft={set:function(t){t.elem.nodeType&&t.elem.parentNode&&(t.elem[t.prop]=t.now)}},C.easing={linear:function(t){return t},swing:function(t){return.5-Math.cos(t*Math.PI)/2},_default:"swing"},C.fx=re.prototype.init,C.fx.step={};var ie,oe,se=/^(?:toggle|show|hide)$/,ae=/queueHooks$/;function le(){oe&&(!1===b.hidden&&r.requestAnimationFrame?r.requestAnimationFrame(le):r.setTimeout(le,C.fx.interval),C.fx.tick())}function ce(){return r.setTimeout((function(){ie=void 0})),ie=Date.now()}function ue(t,e){var n,r=0,i={height:t};for(e=e?1:0;r<4;r+=2-e)i["margin"+(n=ot[r])]=i["padding"+n]=t;return e&&(i.opacity=i.width=t),i}function he(t,e,n){for(var r,i=(fe.tweeners[e]||[]).concat(fe.tweeners["*"]),o=0,s=i.length;o1)},removeAttr:function(t){return this.each((function(){C.removeAttr(this,t)}))}}),C.extend({attr:function(t,e,n){var r,i,o=t.nodeType;if(3!==o&&8!==o&&2!==o)return void 0===t.getAttribute?C.prop(t,e,n):(1===o&&C.isXMLDoc(t)||(i=C.attrHooks[e.toLowerCase()]||(C.expr.match.bool.test(e)?de:void 0)),void 0!==n?null===n?void C.removeAttr(t,e):i&&"set"in i&&void 0!==(r=i.set(t,n,e))?r:(t.setAttribute(e,n+""),n):i&&"get"in i&&null!==(r=i.get(t,e))?r:null==(r=C.find.attr(t,e))?void 0:r)},attrHooks:{type:{set:function(t,e){if(!m.radioValue&&"radio"===e&&M(t,"input")){var n=t.value;return t.setAttribute("type",e),n&&(t.value=n),e}}}},removeAttr:function(t,e){var n,r=0,i=e&&e.match(B);if(i&&1===t.nodeType)for(;n=i[r++];)t.removeAttribute(n)}}),de={set:function(t,e,n){return!1===e?C.removeAttr(t,n):t.setAttribute(n,n),n}},C.each(C.expr.match.bool.source.match(/\w+/g),(function(t,e){var n=pe[e]||C.find.attr;pe[e]=function(t,e,r){var i,o,s=e.toLowerCase();return r||(o=pe[s],pe[s]=i,i=null!=n(t,e,r)?s:null,pe[s]=o),i}}));var ge=/^(?:input|select|textarea|button)$/i,me=/^(?:a|area)$/i;function ve(t){return(t.match(B)||[]).join(" ")}function ye(t){return t.getAttribute&&t.getAttribute("class")||""}function be(t){return Array.isArray(t)?t:"string"==typeof t&&t.match(B)||[]}C.fn.extend({prop:function(t,e){return U(this,C.prop,t,e,arguments.length>1)},removeProp:function(t){return this.each((function(){delete this[C.propFix[t]||t]}))}}),C.extend({prop:function(t,e,n){var r,i,o=t.nodeType;if(3!==o&&8!==o&&2!==o)return 1===o&&C.isXMLDoc(t)||(e=C.propFix[e]||e,i=C.propHooks[e]),void 0!==n?i&&"set"in i&&void 0!==(r=i.set(t,n,e))?r:t[e]=n:i&&"get"in i&&null!==(r=i.get(t,e))?r:t[e]},propHooks:{tabIndex:{get:function(t){var e=C.find.attr(t,"tabindex");return e?parseInt(e,10):ge.test(t.nodeName)||me.test(t.nodeName)&&t.href?0:-1}}},propFix:{for:"htmlFor",class:"className"}}),m.optSelected||(C.propHooks.selected={get:function(t){var e=t.parentNode;return e&&e.parentNode&&e.parentNode.selectedIndex,null},set:function(t){var e=t.parentNode;e&&(e.selectedIndex,e.parentNode&&e.parentNode.selectedIndex)}}),C.each(["tabIndex","readOnly","maxLength","cellSpacing","cellPadding","rowSpan","colSpan","useMap","frameBorder","contentEditable"],(function(){C.propFix[this.toLowerCase()]=this})),C.fn.extend({addClass:function(t){var e,n,r,i,o,s,a,l=0;if(v(t))return this.each((function(e){C(this).addClass(t.call(this,e,ye(this)))}));if((e=be(t)).length)for(;n=this[l++];)if(i=ye(n),r=1===n.nodeType&&" "+ve(i)+" "){for(s=0;o=e[s++];)r.indexOf(" "+o+" ")<0&&(r+=o+" ");i!==(a=ve(r))&&n.setAttribute("class",a)}return this},removeClass:function(t){var e,n,r,i,o,s,a,l=0;if(v(t))return this.each((function(e){C(this).removeClass(t.call(this,e,ye(this)))}));if(!arguments.length)return this.attr("class","");if((e=be(t)).length)for(;n=this[l++];)if(i=ye(n),r=1===n.nodeType&&" "+ve(i)+" "){for(s=0;o=e[s++];)for(;r.indexOf(" "+o+" ")>-1;)r=r.replace(" "+o+" "," ");i!==(a=ve(r))&&n.setAttribute("class",a)}return this},toggleClass:function(t,e){var n=typeof t,r="string"===n||Array.isArray(t);return"boolean"==typeof e&&r?e?this.addClass(t):this.removeClass(t):v(t)?this.each((function(n){C(this).toggleClass(t.call(this,n,ye(this),e),e)})):this.each((function(){var e,i,o,s;if(r)for(i=0,o=C(this),s=be(t);e=s[i++];)o.hasClass(e)?o.removeClass(e):o.addClass(e);else void 0!==t&&"boolean"!==n||((e=ye(this))&&Q.set(this,"__className__",e),this.setAttribute&&this.setAttribute("class",e||!1===t?"":Q.get(this,"__className__")||""))}))},hasClass:function(t){var e,n,r=0;for(e=" "+t+" ";n=this[r++];)if(1===n.nodeType&&(" "+ve(ye(n))+" ").indexOf(e)>-1)return!0;return!1}});var xe=/\r/g;C.fn.extend({val:function(t){var e,n,r,i=this[0];return arguments.length?(r=v(t),this.each((function(n){var i;1===this.nodeType&&(null==(i=r?t.call(this,n,C(this).val()):t)?i="":"number"==typeof i?i+="":Array.isArray(i)&&(i=C.map(i,(function(t){return null==t?"":t+""}))),(e=C.valHooks[this.type]||C.valHooks[this.nodeName.toLowerCase()])&&"set"in e&&void 0!==e.set(this,i,"value")||(this.value=i))}))):i?(e=C.valHooks[i.type]||C.valHooks[i.nodeName.toLowerCase()])&&"get"in e&&void 0!==(n=e.get(i,"value"))?n:"string"==typeof(n=i.value)?n.replace(xe,""):null==n?"":n:void 0}}),C.extend({valHooks:{option:{get:function(t){var e=C.find.attr(t,"value");return null!=e?e:ve(C.text(t))}},select:{get:function(t){var e,n,r,i=t.options,o=t.selectedIndex,s="select-one"===t.type,a=s?null:[],l=s?o+1:i.length;for(r=o<0?l:s?o:0;r-1)&&(n=!0);return n||(t.selectedIndex=-1),o}}}}),C.each(["radio","checkbox"],(function(){C.valHooks[this]={set:function(t,e){if(Array.isArray(e))return t.checked=C.inArray(C(t).val(),e)>-1}},m.checkOn||(C.valHooks[this].get=function(t){return null===t.getAttribute("value")?"on":t.value})})),m.focusin="onfocusin"in r;var _e=/^(?:focusinfocus|focusoutblur)$/,we=function(t){t.stopPropagation()};C.extend(C.event,{trigger:function(t,e,n,i){var o,s,a,l,c,u,h,f,p=[n||b],g=d.call(t,"type")?t.type:t,m=d.call(t,"namespace")?t.namespace.split("."):[];if(s=f=a=n=n||b,3!==n.nodeType&&8!==n.nodeType&&!_e.test(g+C.event.triggered)&&(g.indexOf(".")>-1&&(m=g.split("."),g=m.shift(),m.sort()),c=g.indexOf(":")<0&&"on"+g,(t=t[C.expando]?t:new C.Event(g,"object"==typeof t&&t)).isTrigger=i?2:3,t.namespace=m.join("."),t.rnamespace=t.namespace?new RegExp("(^|\\.)"+m.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,t.result=void 0,t.target||(t.target=n),e=null==e?[t]:C.makeArray(e,[t]),h=C.event.special[g]||{},i||!h.trigger||!1!==h.trigger.apply(n,e))){if(!i&&!h.noBubble&&!y(n)){for(l=h.delegateType||g,_e.test(l+g)||(s=s.parentNode);s;s=s.parentNode)p.push(s),a=s;a===(n.ownerDocument||b)&&p.push(a.defaultView||a.parentWindow||r)}for(o=0;(s=p[o++])&&!t.isPropagationStopped();)f=s,t.type=o>1?l:h.bindType||g,(u=(Q.get(s,"events")||Object.create(null))[t.type]&&Q.get(s,"handle"))&&u.apply(s,e),(u=c&&s[c])&&u.apply&&K(s)&&(t.result=u.apply(s,e),!1===t.result&&t.preventDefault());return t.type=g,i||t.isDefaultPrevented()||h._default&&!1!==h._default.apply(p.pop(),e)||!K(n)||c&&v(n[g])&&!y(n)&&((a=n[c])&&(n[c]=null),C.event.triggered=g,t.isPropagationStopped()&&f.addEventListener(g,we),n[g](),t.isPropagationStopped()&&f.removeEventListener(g,we),C.event.triggered=void 0,a&&(n[c]=a)),t.result}},simulate:function(t,e,n){var r=C.extend(new C.Event,n,{type:t,isSimulated:!0});C.event.trigger(r,null,e)}}),C.fn.extend({trigger:function(t,e){return this.each((function(){C.event.trigger(t,e,this)}))},triggerHandler:function(t,e){var n=this[0];if(n)return C.event.trigger(t,e,n,!0)}}),m.focusin||C.each({focus:"focusin",blur:"focusout"},(function(t,e){var n=function(t){C.event.simulate(e,t.target,C.event.fix(t))};C.event.special[e]={setup:function(){var r=this.ownerDocument||this.document||this,i=Q.access(r,e);i||r.addEventListener(t,n,!0),Q.access(r,e,(i||0)+1)},teardown:function(){var r=this.ownerDocument||this.document||this,i=Q.access(r,e)-1;i?Q.access(r,e,i):(r.removeEventListener(t,n,!0),Q.remove(r,e))}}}));var ke=r.location,Ce={guid:Date.now()},Ee=/\?/;C.parseXML=function(t){var e,n;if(!t||"string"!=typeof t)return null;try{e=(new r.DOMParser).parseFromString(t,"text/xml")}catch(t){}return n=e&&e.getElementsByTagName("parsererror")[0],e&&!n||C.error("Invalid XML: "+(n?C.map(n.childNodes,(function(t){return t.textContent})).join("\n"):t)),e};var Oe=/\[\]$/,Ae=/\r?\n/g,Se=/^(?:submit|button|image|reset|file)$/i,Te=/^(?:input|select|textarea|keygen)/i;function Me(t,e,n,r){var i;if(Array.isArray(e))C.each(e,(function(e,i){n||Oe.test(t)?r(t,i):Me(t+"["+("object"==typeof i&&null!=i?e:"")+"]",i,n,r)}));else if(n||"object"!==w(e))r(t,e);else for(i in e)Me(t+"["+i+"]",e[i],n,r)}C.param=function(t,e){var n,r=[],i=function(t,e){var n=v(e)?e():e;r[r.length]=encodeURIComponent(t)+"="+encodeURIComponent(null==n?"":n)};if(null==t)return"";if(Array.isArray(t)||t.jquery&&!C.isPlainObject(t))C.each(t,(function(){i(this.name,this.value)}));else for(n in t)Me(n,t[n],e,i);return r.join("&")},C.fn.extend({serialize:function(){return C.param(this.serializeArray())},serializeArray:function(){return this.map((function(){var t=C.prop(this,"elements");return t?C.makeArray(t):this})).filter((function(){var t=this.type;return this.name&&!C(this).is(":disabled")&&Te.test(this.nodeName)&&!Se.test(t)&&(this.checked||!mt.test(t))})).map((function(t,e){var n=C(this).val();return null==n?null:Array.isArray(n)?C.map(n,(function(t){return{name:e.name,value:t.replace(Ae,"\r\n")}})):{name:e.name,value:n.replace(Ae,"\r\n")}})).get()}});var De=/%20/g,Pe=/#.*$/,Re=/([?&])_=[^&]*/,Le=/^(.*?):[ \t]*([^\r\n]*)$/gm,je=/^(?:GET|HEAD)$/,Ie=/^\/\//,Ne={},Be={},ze="*/".concat("*"),Fe=b.createElement("a");function We(t){return function(e,n){"string"!=typeof e&&(n=e,e="*");var r,i=0,o=e.toLowerCase().match(B)||[];if(v(n))for(;r=o[i++];)"+"===r[0]?(r=r.slice(1)||"*",(t[r]=t[r]||[]).unshift(n)):(t[r]=t[r]||[]).push(n)}}function He(t,e,n,r){var i={},o=t===Be;function s(a){var l;return i[a]=!0,C.each(t[a]||[],(function(t,a){var c=a(e,n,r);return"string"!=typeof c||o||i[c]?o?!(l=c):void 0:(e.dataTypes.unshift(c),s(c),!1)})),l}return s(e.dataTypes[0])||!i["*"]&&s("*")}function Ve(t,e){var n,r,i=C.ajaxSettings.flatOptions||{};for(n in e)void 0!==e[n]&&((i[n]?t:r||(r={}))[n]=e[n]);return r&&C.extend(!0,t,r),t}Fe.href=ke.href,C.extend({active:0,lastModified:{},etag:{},ajaxSettings:{url:ke.href,type:"GET",isLocal:/^(?:about|app|app-storage|.+-extension|file|res|widget):$/.test(ke.protocol),global:!0,processData:!0,async:!0,contentType:"application/x-www-form-urlencoded; charset=UTF-8",accepts:{"*":ze,text:"text/plain",html:"text/html",xml:"application/xml, text/xml",json:"application/json, text/javascript"},contents:{xml:/\bxml\b/,html:/\bhtml/,json:/\bjson\b/},responseFields:{xml:"responseXML",text:"responseText",json:"responseJSON"},converters:{"* text":String,"text html":!0,"text json":JSON.parse,"text xml":C.parseXML},flatOptions:{url:!0,context:!0}},ajaxSetup:function(t,e){return e?Ve(Ve(t,C.ajaxSettings),e):Ve(C.ajaxSettings,t)},ajaxPrefilter:We(Ne),ajaxTransport:We(Be),ajax:function(t,e){"object"==typeof t&&(e=t,t=void 0),e=e||{};var n,i,o,s,a,l,c,u,h,f,d=C.ajaxSetup({},e),p=d.context||d,g=d.context&&(p.nodeType||p.jquery)?C(p):C.event,m=C.Deferred(),v=C.Callbacks("once memory"),y=d.statusCode||{},x={},_={},w="canceled",k={readyState:0,getResponseHeader:function(t){var e;if(c){if(!s)for(s={};e=Le.exec(o);)s[e[1].toLowerCase()+" "]=(s[e[1].toLowerCase()+" "]||[]).concat(e[2]);e=s[t.toLowerCase()+" "]}return null==e?null:e.join(", ")},getAllResponseHeaders:function(){return c?o:null},setRequestHeader:function(t,e){return null==c&&(t=_[t.toLowerCase()]=_[t.toLowerCase()]||t,x[t]=e),this},overrideMimeType:function(t){return null==c&&(d.mimeType=t),this},statusCode:function(t){var e;if(t)if(c)k.always(t[k.status]);else for(e in t)y[e]=[y[e],t[e]];return this},abort:function(t){var e=t||w;return n&&n.abort(e),E(0,e),this}};if(m.promise(k),d.url=((t||d.url||ke.href)+"").replace(Ie,ke.protocol+"//"),d.type=e.method||e.type||d.method||d.type,d.dataTypes=(d.dataType||"*").toLowerCase().match(B)||[""],null==d.crossDomain){l=b.createElement("a");try{l.href=d.url,l.href=l.href,d.crossDomain=Fe.protocol+"//"+Fe.host!=l.protocol+"//"+l.host}catch(t){d.crossDomain=!0}}if(d.data&&d.processData&&"string"!=typeof d.data&&(d.data=C.param(d.data,d.traditional)),He(Ne,d,e,k),c)return k;for(h in(u=C.event&&d.global)&&0==C.active++&&C.event.trigger("ajaxStart"),d.type=d.type.toUpperCase(),d.hasContent=!je.test(d.type),i=d.url.replace(Pe,""),d.hasContent?d.data&&d.processData&&0===(d.contentType||"").indexOf("application/x-www-form-urlencoded")&&(d.data=d.data.replace(De,"+")):(f=d.url.slice(i.length),d.data&&(d.processData||"string"==typeof d.data)&&(i+=(Ee.test(i)?"&":"?")+d.data,delete d.data),!1===d.cache&&(i=i.replace(Re,"$1"),f=(Ee.test(i)?"&":"?")+"_="+Ce.guid+++f),d.url=i+f),d.ifModified&&(C.lastModified[i]&&k.setRequestHeader("If-Modified-Since",C.lastModified[i]),C.etag[i]&&k.setRequestHeader("If-None-Match",C.etag[i])),(d.data&&d.hasContent&&!1!==d.contentType||e.contentType)&&k.setRequestHeader("Content-Type",d.contentType),k.setRequestHeader("Accept",d.dataTypes[0]&&d.accepts[d.dataTypes[0]]?d.accepts[d.dataTypes[0]]+("*"!==d.dataTypes[0]?", "+ze+"; q=0.01":""):d.accepts["*"]),d.headers)k.setRequestHeader(h,d.headers[h]);if(d.beforeSend&&(!1===d.beforeSend.call(p,k,d)||c))return k.abort();if(w="abort",v.add(d.complete),k.done(d.success),k.fail(d.error),n=He(Be,d,e,k)){if(k.readyState=1,u&&g.trigger("ajaxSend",[k,d]),c)return k;d.async&&d.timeout>0&&(a=r.setTimeout((function(){k.abort("timeout")}),d.timeout));try{c=!1,n.send(x,E)}catch(t){if(c)throw t;E(-1,t)}}else E(-1,"No Transport");function E(t,e,s,l){var h,f,b,x,_,w=e;c||(c=!0,a&&r.clearTimeout(a),n=void 0,o=l||"",k.readyState=t>0?4:0,h=t>=200&&t<300||304===t,s&&(x=function(t,e,n){for(var r,i,o,s,a=t.contents,l=t.dataTypes;"*"===l[0];)l.shift(),void 0===r&&(r=t.mimeType||e.getResponseHeader("Content-Type"));if(r)for(i in a)if(a[i]&&a[i].test(r)){l.unshift(i);break}if(l[0]in n)o=l[0];else{for(i in n){if(!l[0]||t.converters[i+" "+l[0]]){o=i;break}s||(s=i)}o=o||s}if(o)return o!==l[0]&&l.unshift(o),n[o]}(d,k,s)),!h&&C.inArray("script",d.dataTypes)>-1&&C.inArray("json",d.dataTypes)<0&&(d.converters["text script"]=function(){}),x=function(t,e,n,r){var i,o,s,a,l,c={},u=t.dataTypes.slice();if(u[1])for(s in t.converters)c[s.toLowerCase()]=t.converters[s];for(o=u.shift();o;)if(t.responseFields[o]&&(n[t.responseFields[o]]=e),!l&&r&&t.dataFilter&&(e=t.dataFilter(e,t.dataType)),l=o,o=u.shift())if("*"===o)o=l;else if("*"!==l&&l!==o){if(!(s=c[l+" "+o]||c["* "+o]))for(i in c)if((a=i.split(" "))[1]===o&&(s=c[l+" "+a[0]]||c["* "+a[0]])){!0===s?s=c[i]:!0!==c[i]&&(o=a[0],u.unshift(a[1]));break}if(!0!==s)if(s&&t.throws)e=s(e);else try{e=s(e)}catch(t){return{state:"parsererror",error:s?t:"No conversion from "+l+" to "+o}}}return{state:"success",data:e}}(d,x,k,h),h?(d.ifModified&&((_=k.getResponseHeader("Last-Modified"))&&(C.lastModified[i]=_),(_=k.getResponseHeader("etag"))&&(C.etag[i]=_)),204===t||"HEAD"===d.type?w="nocontent":304===t?w="notmodified":(w=x.state,f=x.data,h=!(b=x.error))):(b=w,!t&&w||(w="error",t<0&&(t=0))),k.status=t,k.statusText=(e||w)+"",h?m.resolveWith(p,[f,w,k]):m.rejectWith(p,[k,w,b]),k.statusCode(y),y=void 0,u&&g.trigger(h?"ajaxSuccess":"ajaxError",[k,d,h?f:b]),v.fireWith(p,[k,w]),u&&(g.trigger("ajaxComplete",[k,d]),--C.active||C.event.trigger("ajaxStop")))}return k},getJSON:function(t,e,n){return C.get(t,e,n,"json")},getScript:function(t,e){return C.get(t,void 0,e,"script")}}),C.each(["get","post"],(function(t,e){C[e]=function(t,n,r,i){return v(n)&&(i=i||r,r=n,n=void 0),C.ajax(C.extend({url:t,type:e,dataType:i,data:n,success:r},C.isPlainObject(t)&&t))}})),C.ajaxPrefilter((function(t){var e;for(e in t.headers)"content-type"===e.toLowerCase()&&(t.contentType=t.headers[e]||"")})),C._evalUrl=function(t,e,n){return C.ajax({url:t,type:"GET",dataType:"script",cache:!0,async:!1,global:!1,converters:{"text script":function(){}},dataFilter:function(t){C.globalEval(t,e,n)}})},C.fn.extend({wrapAll:function(t){var e;return this[0]&&(v(t)&&(t=t.call(this[0])),e=C(t,this[0].ownerDocument).eq(0).clone(!0),this[0].parentNode&&e.insertBefore(this[0]),e.map((function(){for(var t=this;t.firstElementChild;)t=t.firstElementChild;return t})).append(this)),this},wrapInner:function(t){return v(t)?this.each((function(e){C(this).wrapInner(t.call(this,e))})):this.each((function(){var e=C(this),n=e.contents();n.length?n.wrapAll(t):e.append(t)}))},wrap:function(t){var e=v(t);return this.each((function(n){C(this).wrapAll(e?t.call(this,n):t)}))},unwrap:function(t){return this.parent(t).not("body").each((function(){C(this).replaceWith(this.childNodes)})),this}}),C.expr.pseudos.hidden=function(t){return!C.expr.pseudos.visible(t)},C.expr.pseudos.visible=function(t){return!!(t.offsetWidth||t.offsetHeight||t.getClientRects().length)},C.ajaxSettings.xhr=function(){try{return new r.XMLHttpRequest}catch(t){}};var qe={0:200,1223:204},Ue=C.ajaxSettings.xhr();m.cors=!!Ue&&"withCredentials"in Ue,m.ajax=Ue=!!Ue,C.ajaxTransport((function(t){var e,n;if(m.cors||Ue&&!t.crossDomain)return{send:function(i,o){var s,a=t.xhr();if(a.open(t.type,t.url,t.async,t.username,t.password),t.xhrFields)for(s in t.xhrFields)a[s]=t.xhrFields[s];for(s in t.mimeType&&a.overrideMimeType&&a.overrideMimeType(t.mimeType),t.crossDomain||i["X-Requested-With"]||(i["X-Requested-With"]="XMLHttpRequest"),i)a.setRequestHeader(s,i[s]);e=function(t){return function(){e&&(e=n=a.onload=a.onerror=a.onabort=a.ontimeout=a.onreadystatechange=null,"abort"===t?a.abort():"error"===t?"number"!=typeof a.status?o(0,"error"):o(a.status,a.statusText):o(qe[a.status]||a.status,a.statusText,"text"!==(a.responseType||"text")||"string"!=typeof a.responseText?{binary:a.response}:{text:a.responseText},a.getAllResponseHeaders()))}},a.onload=e(),n=a.onerror=a.ontimeout=e("error"),void 0!==a.onabort?a.onabort=n:a.onreadystatechange=function(){4===a.readyState&&r.setTimeout((function(){e&&n()}))},e=e("abort");try{a.send(t.hasContent&&t.data||null)}catch(t){if(e)throw t}},abort:function(){e&&e()}}})),C.ajaxPrefilter((function(t){t.crossDomain&&(t.contents.script=!1)})),C.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/\b(?:java|ecma)script\b/},converters:{"text script":function(t){return C.globalEval(t),t}}}),C.ajaxPrefilter("script",(function(t){void 0===t.cache&&(t.cache=!1),t.crossDomain&&(t.type="GET")})),C.ajaxTransport("script",(function(t){var e,n;if(t.crossDomain||t.scriptAttrs)return{send:function(r,i){e=C("