diff --git a/.README_images/intro-image.png b/.README_images/intro-image.png
new file mode 100644
index 0000000..ef768b4
Binary files /dev/null and b/.README_images/intro-image.png differ
diff --git a/README.md b/README.md
index 9efb6a2..e186918 100644
--- a/README.md
+++ b/README.md
@@ -1,117 +1,59 @@
-# DMMapp Open Source
+
-## Overview
+# Digitized Medieval Manuscripts app (DMMapp)
-**DMMapp Open Source is a simple-to-implement interactive map & web-application.**
+
+
+
-![DMMapp_GitHub](https://user-images.githubusercontent.com/6100093/74037375-68422280-49be-11ea-851e-0e8593957950.gif)
+
-It does three things:
+
+
+
-- Allows admins to create and fill databases that can interact with Google Maps, creating interactive pins for every entry.
-- Gives the final users a clear and fun way to interact with data.
-- Guides developers in adapting the code for your own needs with a detailed Wiki and comments in the code.
+
-To see it in action, please check out the [DMMapp website](https://digitizedmedievalmanuscripts.org/), and don't forget to check out the [DMMapp Open Source Wiki](https://digitizedmedievalmanuscripts.org/) to know more.
+---
-## Table of Contents
+Welcome to the Digitized Medieval Manuscripts app (DMMapp) repository! This project is designed to simplify access to
+digitized medieval manuscripts: it provides a user-friendly interface for browsing and searching through a vast
+collection of digitized repositories and providing links to the collections.
-- [DMMapp Open Source](#dmmapp-open-source)
- - [Overview](#overview)
- - [Table of Contents](#table-of-contents)
- - [Requirements](#requirements)
- - [Quickstart](#quickstart)
- - [Contributing](#contributing)
- - [Questions and help](#questions-and-help)
- - [Acknowledgements](#acknowledgements)
- - [Copyright and license](#copyright-and-license)
+
-### Requirements
+![DMMapp Landing Page](.README_images/intro-image.png)
-The DMMapp Open Source is based on Laravel 6.x. As a consequence, your server must meet the following requirements:
+
-- PHP >= 7.2.0
-- BCMath PHP Extension
-- Ctype PHP Extension
-- JSON PHP Extension
-- Mbstring PHP Extension
-- OpenSSL PHP Extension
-- PDO PHP Extension
-- Tokenizer PHP Extension
-- XML PHP Extension
+Whether you're a developer looking to contribute to the app or simply want to submit data, or you're simply curious
+about how it all works, you can learn all there is to know about how to use and contribute to the DMMapp by visiting
+[our documentation](https://sexycodicology.github.io/DMMapp-Digitized-Medieval-Manuscripts-app/).
-To use Google Maps:
+
-- A valid Google Maps API key
+
+
+
-### Quickstart
+and
-> **IMPORTANT:** this quickstart guide is meant for local development only. It will create a generic admin user that uses `admin@example.com` and `password`. **Do not use in production environments.**
-Assuming you have [Composer](https://getcomposer.org/) installed on your machine:
+
+
+
-```shell
-git clone DMMappOpenSource https://github.com/SexyCodicology/DMMapp-Open-Source.git
-cd DMMappOpenSource
-composer install
-```
+
-- copy the contents of ".env.example" into ".env". If no ".env" is present, simply rename ".env.example" to ".env"
+---
+
-- (optional) Review the contents of the .env file and enter your Google API where requested.
+## Questions and help
- - Note: The application will still work if you do not enter the Google API key at this stage, but you will not be able to see the map and the pins.
+
-```shell
-php artisan key:generate
-```
-
-- create file "database.sqlite" in "DMMappOpenSource\database"
-
-```php
-php artisan migrate --seed
-php artisan serve
-```
-
-A more detailed guide for setting up the app for both local and production environments is present in the [DMMapp Open Source Wiki](https://digitizedmedievalmanuscripts.org/).
-
-### Contributing
-
-The DMMapp Open Source is for everyone to modify and improve. We welcome contributions and tips! Please check our Contributing page on the wiki. (coming soon)
-
-### Questions and help
-
-Check out the Talk to us page on our wiki, or head to the Sexy Codicology website to find all the channels where you can reach us.
-
-### Acknowledgements
-
-The DMMapp Open Source is based on, or makes use of:
-
-- [Laravel 6.x](https://laravel.com/docs/6.x)
-- [Bootstrap](https://getbootstrap.com/)
-- [jQuery](https://jquery.com/)
-- [FontAwesome](https://fontawesome.com/)
-
-### Copyright and license
-
-DMMapp Open Source is licensed under the MIT License:
-
-> Permission is hereby granted, free of charge, to any person obtaining a copy
-of this software and associated documentation files (the "Software"), to deal
-in the Software without restriction, including without limitation the rights
-to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-copies of the Software, and to permit persons to whom the Software is
-furnished to do so, subject to the following conditions:
->
-> The above copyright notice and this permission notice shall be included in all
-copies or substantial portions of the Software.
->
-> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
-SOFTWARE.
-
-Have fun!
+Check out
+the [Discussions page here on GitHub](https://github.com/SexyCodicology/DMMapp-Digitized-Medieval-Manuscripts-app/discussions)
+if you have technical questions, or head to
+the [Digitized Medieval Manuscripts app website](https://digitizedmedievalmanuscripts.org/) to find all the channels
+where you can reach us.
diff --git a/composer.lock b/composer.lock
index a445dbb..75160cb 100644
--- a/composer.lock
+++ b/composer.lock
@@ -215,16 +215,16 @@
},
{
"name": "dflydev/dot-access-data",
- "version": "v3.0.2",
+ "version": "v3.0.3",
"source": {
"type": "git",
"url": "https://github.com/dflydev/dflydev-dot-access-data.git",
- "reference": "f41715465d65213d644d3141a6a93081be5d3549"
+ "reference": "a23a2bf4f31d3518f3ecb38660c95715dfead60f"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/dflydev/dflydev-dot-access-data/zipball/f41715465d65213d644d3141a6a93081be5d3549",
- "reference": "f41715465d65213d644d3141a6a93081be5d3549",
+ "url": "https://api.github.com/repos/dflydev/dflydev-dot-access-data/zipball/a23a2bf4f31d3518f3ecb38660c95715dfead60f",
+ "reference": "a23a2bf4f31d3518f3ecb38660c95715dfead60f",
"shasum": ""
},
"require": {
@@ -284,9 +284,9 @@
],
"support": {
"issues": "https://github.com/dflydev/dflydev-dot-access-data/issues",
- "source": "https://github.com/dflydev/dflydev-dot-access-data/tree/v3.0.2"
+ "source": "https://github.com/dflydev/dflydev-dot-access-data/tree/v3.0.3"
},
- "time": "2022-10-27T11:44:00+00:00"
+ "time": "2024-07-08T12:26:09+00:00"
},
{
"name": "doctrine/inflector",
@@ -719,22 +719,22 @@
},
{
"name": "guzzlehttp/guzzle",
- "version": "7.8.1",
+ "version": "7.9.0",
"source": {
"type": "git",
"url": "https://github.com/guzzle/guzzle.git",
- "reference": "41042bc7ab002487b876a0683fc8dce04ddce104"
+ "reference": "84ac2b2afc44e40d3e8e658a45d68d6d20437612"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/guzzle/guzzle/zipball/41042bc7ab002487b876a0683fc8dce04ddce104",
- "reference": "41042bc7ab002487b876a0683fc8dce04ddce104",
+ "url": "https://api.github.com/repos/guzzle/guzzle/zipball/84ac2b2afc44e40d3e8e658a45d68d6d20437612",
+ "reference": "84ac2b2afc44e40d3e8e658a45d68d6d20437612",
"shasum": ""
},
"require": {
"ext-json": "*",
- "guzzlehttp/promises": "^1.5.3 || ^2.0.1",
- "guzzlehttp/psr7": "^1.9.1 || ^2.5.1",
+ "guzzlehttp/promises": "^1.5.3 || ^2.0.3",
+ "guzzlehttp/psr7": "^2.7.0",
"php": "^7.2.5 || ^8.0",
"psr/http-client": "^1.0",
"symfony/deprecation-contracts": "^2.2 || ^3.0"
@@ -745,9 +745,9 @@
"require-dev": {
"bamarni/composer-bin-plugin": "^1.8.2",
"ext-curl": "*",
- "php-http/client-integration-tests": "dev-master#2c025848417c1135031fdf9c728ee53d0a7ceaee as 3.0.999",
+ "guzzle/client-integration-tests": "3.0.2",
"php-http/message-factory": "^1.1",
- "phpunit/phpunit": "^8.5.36 || ^9.6.15",
+ "phpunit/phpunit": "^8.5.39 || ^9.6.20",
"psr/log": "^1.1 || ^2.0 || ^3.0"
},
"suggest": {
@@ -825,7 +825,7 @@
],
"support": {
"issues": "https://github.com/guzzle/guzzle/issues",
- "source": "https://github.com/guzzle/guzzle/tree/7.8.1"
+ "source": "https://github.com/guzzle/guzzle/tree/7.9.0"
},
"funding": [
{
@@ -841,20 +841,20 @@
"type": "tidelift"
}
],
- "time": "2023-12-03T20:35:24+00:00"
+ "time": "2024-07-18T11:52:56+00:00"
},
{
"name": "guzzlehttp/promises",
- "version": "2.0.2",
+ "version": "2.0.3",
"source": {
"type": "git",
"url": "https://github.com/guzzle/promises.git",
- "reference": "bbff78d96034045e58e13dedd6ad91b5d1253223"
+ "reference": "6ea8dd08867a2a42619d65c3deb2c0fcbf81c8f8"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/guzzle/promises/zipball/bbff78d96034045e58e13dedd6ad91b5d1253223",
- "reference": "bbff78d96034045e58e13dedd6ad91b5d1253223",
+ "url": "https://api.github.com/repos/guzzle/promises/zipball/6ea8dd08867a2a42619d65c3deb2c0fcbf81c8f8",
+ "reference": "6ea8dd08867a2a42619d65c3deb2c0fcbf81c8f8",
"shasum": ""
},
"require": {
@@ -862,7 +862,7 @@
},
"require-dev": {
"bamarni/composer-bin-plugin": "^1.8.2",
- "phpunit/phpunit": "^8.5.36 || ^9.6.15"
+ "phpunit/phpunit": "^8.5.39 || ^9.6.20"
},
"type": "library",
"extra": {
@@ -908,7 +908,7 @@
],
"support": {
"issues": "https://github.com/guzzle/promises/issues",
- "source": "https://github.com/guzzle/promises/tree/2.0.2"
+ "source": "https://github.com/guzzle/promises/tree/2.0.3"
},
"funding": [
{
@@ -924,20 +924,20 @@
"type": "tidelift"
}
],
- "time": "2023-12-03T20:19:20+00:00"
+ "time": "2024-07-18T10:29:17+00:00"
},
{
"name": "guzzlehttp/psr7",
- "version": "2.6.2",
+ "version": "2.7.0",
"source": {
"type": "git",
"url": "https://github.com/guzzle/psr7.git",
- "reference": "45b30f99ac27b5ca93cb4831afe16285f57b8221"
+ "reference": "a70f5c95fb43bc83f07c9c948baa0dc1829bf201"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/guzzle/psr7/zipball/45b30f99ac27b5ca93cb4831afe16285f57b8221",
- "reference": "45b30f99ac27b5ca93cb4831afe16285f57b8221",
+ "url": "https://api.github.com/repos/guzzle/psr7/zipball/a70f5c95fb43bc83f07c9c948baa0dc1829bf201",
+ "reference": "a70f5c95fb43bc83f07c9c948baa0dc1829bf201",
"shasum": ""
},
"require": {
@@ -952,8 +952,8 @@
},
"require-dev": {
"bamarni/composer-bin-plugin": "^1.8.2",
- "http-interop/http-factory-tests": "^0.9",
- "phpunit/phpunit": "^8.5.36 || ^9.6.15"
+ "http-interop/http-factory-tests": "0.9.0",
+ "phpunit/phpunit": "^8.5.39 || ^9.6.20"
},
"suggest": {
"laminas/laminas-httphandlerrunner": "Emit PSR-7 responses"
@@ -1024,7 +1024,7 @@
],
"support": {
"issues": "https://github.com/guzzle/psr7/issues",
- "source": "https://github.com/guzzle/psr7/tree/2.6.2"
+ "source": "https://github.com/guzzle/psr7/tree/2.7.0"
},
"funding": [
{
@@ -1040,7 +1040,7 @@
"type": "tidelift"
}
],
- "time": "2023-12-03T20:05:35+00:00"
+ "time": "2024-07-18T11:15:46+00:00"
},
{
"name": "guzzlehttp/uri-template",
@@ -1281,16 +1281,16 @@
},
{
"name": "laravel/framework",
- "version": "v10.48.15",
+ "version": "v10.48.16",
"source": {
"type": "git",
"url": "https://github.com/laravel/framework.git",
- "reference": "1723e038c9ec99b434e5bed9c27f044bd50a4ffb"
+ "reference": "f9a3a50fae399d75e125b0eea637dda90c99eae7"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/laravel/framework/zipball/1723e038c9ec99b434e5bed9c27f044bd50a4ffb",
- "reference": "1723e038c9ec99b434e5bed9c27f044bd50a4ffb",
+ "url": "https://api.github.com/repos/laravel/framework/zipball/f9a3a50fae399d75e125b0eea637dda90c99eae7",
+ "reference": "f9a3a50fae399d75e125b0eea637dda90c99eae7",
"shasum": ""
},
"require": {
@@ -1484,7 +1484,7 @@
"issues": "https://github.com/laravel/framework/issues",
"source": "https://github.com/laravel/framework"
},
- "time": "2024-07-02T18:01:24+00:00"
+ "time": "2024-07-09T15:25:22+00:00"
},
{
"name": "laravel/prompts",
@@ -2179,16 +2179,16 @@
},
{
"name": "livewire/livewire",
- "version": "v2.12.7",
+ "version": "v2.12.8",
"source": {
"type": "git",
"url": "https://github.com/livewire/livewire.git",
- "reference": "cd168c6212ea13d13b82b3132485741f82d9fad9"
+ "reference": "7d657d0dd8761a981f7ac3cd8d71c3b724f3e0b8"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/livewire/livewire/zipball/cd168c6212ea13d13b82b3132485741f82d9fad9",
- "reference": "cd168c6212ea13d13b82b3132485741f82d9fad9",
+ "url": "https://api.github.com/repos/livewire/livewire/zipball/7d657d0dd8761a981f7ac3cd8d71c3b724f3e0b8",
+ "reference": "7d657d0dd8761a981f7ac3cd8d71c3b724f3e0b8",
"shasum": ""
},
"require": {
@@ -2240,7 +2240,7 @@
"description": "A front-end framework for Laravel.",
"support": {
"issues": "https://github.com/livewire/livewire/issues",
- "source": "https://github.com/livewire/livewire/tree/v2.12.7"
+ "source": "https://github.com/livewire/livewire/tree/v2.12.8"
},
"funding": [
{
@@ -2248,7 +2248,7 @@
"type": "github"
}
],
- "time": "2024-07-03T15:52:04+00:00"
+ "time": "2024-07-13T19:58:46+00:00"
},
{
"name": "masterminds/html5",
@@ -7969,16 +7969,16 @@
},
{
"name": "laravel/pint",
- "version": "v1.16.1",
+ "version": "v1.16.2",
"source": {
"type": "git",
"url": "https://github.com/laravel/pint.git",
- "reference": "9266a47f1b9231b83e0cfd849009547329d871b1"
+ "reference": "51f1ba679a6afe0315621ad143d788bd7ded0eca"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/laravel/pint/zipball/9266a47f1b9231b83e0cfd849009547329d871b1",
- "reference": "9266a47f1b9231b83e0cfd849009547329d871b1",
+ "url": "https://api.github.com/repos/laravel/pint/zipball/51f1ba679a6afe0315621ad143d788bd7ded0eca",
+ "reference": "51f1ba679a6afe0315621ad143d788bd7ded0eca",
"shasum": ""
},
"require": {
@@ -8031,20 +8031,20 @@
"issues": "https://github.com/laravel/pint/issues",
"source": "https://github.com/laravel/pint"
},
- "time": "2024-06-18T16:50:05+00:00"
+ "time": "2024-07-09T15:58:08+00:00"
},
{
"name": "laravel/sail",
- "version": "v1.30.1",
+ "version": "v1.30.2",
"source": {
"type": "git",
"url": "https://github.com/laravel/sail.git",
- "reference": "8ba049b6c06e0330b6aa1fb7af2746fb4da445e4"
+ "reference": "f5a9699a1001e15de1aa5e7cb5c9f50a3f63f887"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/laravel/sail/zipball/8ba049b6c06e0330b6aa1fb7af2746fb4da445e4",
- "reference": "8ba049b6c06e0330b6aa1fb7af2746fb4da445e4",
+ "url": "https://api.github.com/repos/laravel/sail/zipball/f5a9699a1001e15de1aa5e7cb5c9f50a3f63f887",
+ "reference": "f5a9699a1001e15de1aa5e7cb5c9f50a3f63f887",
"shasum": ""
},
"require": {
@@ -8094,7 +8094,7 @@
"issues": "https://github.com/laravel/sail/issues",
"source": "https://github.com/laravel/sail"
},
- "time": "2024-07-01T20:55:03+00:00"
+ "time": "2024-07-05T16:01:51+00:00"
},
{
"name": "laravel/ui",
@@ -9065,16 +9065,16 @@
},
{
"name": "phpunit/phpunit",
- "version": "10.5.25",
+ "version": "10.5.28",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/phpunit.git",
- "reference": "831bf82312be6037e811833ddbea0b8de60ea314"
+ "reference": "ff7fb85cdf88131b83e721fb2a327b664dbed275"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/831bf82312be6037e811833ddbea0b8de60ea314",
- "reference": "831bf82312be6037e811833ddbea0b8de60ea314",
+ "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/ff7fb85cdf88131b83e721fb2a327b664dbed275",
+ "reference": "ff7fb85cdf88131b83e721fb2a327b664dbed275",
"shasum": ""
},
"require": {
@@ -9084,26 +9084,26 @@
"ext-mbstring": "*",
"ext-xml": "*",
"ext-xmlwriter": "*",
- "myclabs/deep-copy": "^1.10.1",
- "phar-io/manifest": "^2.0.3",
- "phar-io/version": "^3.0.2",
+ "myclabs/deep-copy": "^1.12.0",
+ "phar-io/manifest": "^2.0.4",
+ "phar-io/version": "^3.2.1",
"php": ">=8.1",
- "phpunit/php-code-coverage": "^10.1.5",
- "phpunit/php-file-iterator": "^4.0",
- "phpunit/php-invoker": "^4.0",
- "phpunit/php-text-template": "^3.0",
- "phpunit/php-timer": "^6.0",
- "sebastian/cli-parser": "^2.0",
- "sebastian/code-unit": "^2.0",
- "sebastian/comparator": "^5.0",
- "sebastian/diff": "^5.0",
- "sebastian/environment": "^6.0",
- "sebastian/exporter": "^5.1",
- "sebastian/global-state": "^6.0.1",
- "sebastian/object-enumerator": "^5.0",
- "sebastian/recursion-context": "^5.0",
- "sebastian/type": "^4.0",
- "sebastian/version": "^4.0"
+ "phpunit/php-code-coverage": "^10.1.15",
+ "phpunit/php-file-iterator": "^4.1.0",
+ "phpunit/php-invoker": "^4.0.0",
+ "phpunit/php-text-template": "^3.0.1",
+ "phpunit/php-timer": "^6.0.0",
+ "sebastian/cli-parser": "^2.0.1",
+ "sebastian/code-unit": "^2.0.0",
+ "sebastian/comparator": "^5.0.1",
+ "sebastian/diff": "^5.1.1",
+ "sebastian/environment": "^6.1.0",
+ "sebastian/exporter": "^5.1.2",
+ "sebastian/global-state": "^6.0.2",
+ "sebastian/object-enumerator": "^5.0.0",
+ "sebastian/recursion-context": "^5.0.0",
+ "sebastian/type": "^4.0.0",
+ "sebastian/version": "^4.0.1"
},
"suggest": {
"ext-soap": "To be able to generate mocks based on WSDL files"
@@ -9146,7 +9146,7 @@
"support": {
"issues": "https://github.com/sebastianbergmann/phpunit/issues",
"security": "https://github.com/sebastianbergmann/phpunit/security/policy",
- "source": "https://github.com/sebastianbergmann/phpunit/tree/10.5.25"
+ "source": "https://github.com/sebastianbergmann/phpunit/tree/10.5.28"
},
"funding": [
{
@@ -9162,7 +9162,7 @@
"type": "tidelift"
}
],
- "time": "2024-07-03T05:49:17+00:00"
+ "time": "2024-07-18T14:54:16+00:00"
},
{
"name": "psr/cache",
@@ -10194,16 +10194,16 @@
},
{
"name": "spatie/error-solutions",
- "version": "1.0.4",
+ "version": "1.0.5",
"source": {
"type": "git",
"url": "https://github.com/spatie/error-solutions.git",
- "reference": "264a7eef892aceb2fd65e206127ad3af4f3a2d6b"
+ "reference": "4bb6c734dc992b2db3e26df1ef021c75d2218b13"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/spatie/error-solutions/zipball/264a7eef892aceb2fd65e206127ad3af4f3a2d6b",
- "reference": "264a7eef892aceb2fd65e206127ad3af4f3a2d6b",
+ "url": "https://api.github.com/repos/spatie/error-solutions/zipball/4bb6c734dc992b2db3e26df1ef021c75d2218b13",
+ "reference": "4bb6c734dc992b2db3e26df1ef021c75d2218b13",
"shasum": ""
},
"require": {
@@ -10256,7 +10256,7 @@
],
"support": {
"issues": "https://github.com/spatie/error-solutions/issues",
- "source": "https://github.com/spatie/error-solutions/tree/1.0.4"
+ "source": "https://github.com/spatie/error-solutions/tree/1.0.5"
},
"funding": [
{
@@ -10264,7 +10264,7 @@
"type": "github"
}
],
- "time": "2024-06-28T13:33:04+00:00"
+ "time": "2024-07-09T12:13:32+00:00"
},
{
"name": "spatie/flare-client-php",
@@ -10641,5 +10641,5 @@
"php": "^8.1"
},
"platform-dev": [],
- "plugin-api-version": "2.3.0"
+ "plugin-api-version": "2.6.0"
}
diff --git a/docs/getting-started.md b/docs/getting-started.md
index 9e43c2a..d8cc82d 100644
--- a/docs/getting-started.md
+++ b/docs/getting-started.md
@@ -69,6 +69,13 @@ The DMMapp documentation is written in Markdown and compiled to HTML using [MkDo
This documentation is hosted on GitHub Pages and can be found [here](https://dmmapp.github.io/docs/).
We use the official Material for MkDocs Docker image as it comes with all the required dependencies pre-installed and is the easiest way to get started.
+### Local documentation
+
+1. Clone the repository to your local machine.
+2. Run `docker run --rm -it -p 8000:8000 -v ${PWD}:/docs squidfunk/mkdocs-material` to start the MkDocs server.
+3. Open `http://localhost:8000` in your browser.
+4. Edit the Markdown files in the `docs` folder and see the changes live in your browser.
+5. Press `Ctrl + C` to stop the server.
[^1]: You can also upload `composer.phar` to the server and run it from there. See [here](https://getcomposer.org/doc/00-intro.md#downloading-the-composer-executable) for more information.
diff --git a/docs/index.md b/docs/index.md
index e69de29..146f463 100644
--- a/docs/index.md
+++ b/docs/index.md
@@ -0,0 +1,50 @@
+Welcome to the [Digitized Medieval Manuscripts App (DMMapp)](https://digitizedmedievalmanuscripts.org/) Documentation!
+
+This documentation provides a comprehensive guide to the DMMapp. It is intended for both developers and users.
+
+In this guide, you will find information on how to fully utilize the DMMapp, including how to find institutions and
+manuscripts, export data, and much more. You will also find instructions on how to install the app, should you wish to create your own project, as well as how
+to contribute to the [DMMapp codebase](https://github.com/SexyCodicology/DMMapp-Digitized-Medieval-Manuscripts-app).
+
+## About the DMMapp documentation
+
+The DMMapp documentation is written in Markdown and compiled to HTML
+using [Material for MkDocs](https://squidfunk.github.io/mkdocs-material/).
+This documentation is hosted on GitHub Pages and can be
+found [here](https://sexycodicology.github.io/DMMapp-Digitized-Medieval-Manuscripts-app/).
+We use the official Material for MkDocs Docker image as it comes with all the required dependencies pre-installed and is
+the easiest way to get started.
+
+### Documentation guidelines
+
+The DMMapp documentation follows the [Microsoft Manual of Style](https://docs.microsoft.com/en-us/style-guide/welcome/).
+This style guide is used to ensure consistency across the documentation and to make it easier for users to find the
+information they need.
+Submitted pull requests could be edited to follow this style guide.
+
+### Contributing to this documentation
+
+Spotted a typo or want to add something to the documentation? Feel free to open a pull request or an issue on
+the [DMMapp GitHub repository](https://github.com/SexyCodicology/DMMapp-Digitized-Medieval-Manuscripts-app).
+We are always looking for ways to improve the documentation and welcome any contributions. Hereunder you can find
+instructions on how to run the documentation locally, make changes, and see them live in your browser[^1].
+
+!!! NOTE
+ You do not need to install Docker, Material for MkDocs, or any dependencies on your local machine to contribute to this
+ documentation. You can simply edit the Markdown files in the `docs` folder using your favorite text editor.
+
+### Running the documentation locally
+
+Assuming you have Docker installed on your local machine, follow these steps to run the documentation locally:
+
+1. Clone the DMMapp repository to your local machine.
+2. Run `docker run --rm -it -p 8000:8000 -v ${PWD}:/docs squidfunk/mkdocs-material` to start the MkDocs server.
+3. Open `http://localhost:8000` in your browser.
+4. Edit the Markdown files in the `docs` folder and see the changes live in your browser.
+5. Press `Ctrl + C` to stop the server.
+
+Should you have any issue running the documentation locally, please refer to
+the [official Material for MkDocs documentation](https://squidfunk.github.io/mkdocs-material/).
+
+[^1]: Refer to the [official Material for MkDocs documentation](https://squidfunk.github.io/mkdocs-material/) for more
+detailed information on how to use MkDocs.
diff --git a/docs/pages/developer-guide/monitoring.md b/docs/pages/developer-guide/monitoring.md
new file mode 100644
index 0000000..e6dd153
--- /dev/null
+++ b/docs/pages/developer-guide/monitoring.md
@@ -0,0 +1,51 @@
+# DMMapp Monitoring System
+
+The DMMapp uses two systems to check the status of the application and report it to the users:
+
+1. [Statuspage by Atlassian](https://www.atlassian.com/software/statuspage)
+2. [UptimeRobot](https://uptimerobot.com/)
+
+## Overview
+
+The DMMapp monitoring system is designed to provide users with up-to-date information about the application's status.
+This system comprises a frontend component and a backend component, working together to ensure accurate status
+reporting.
+
+### Statuspage by Atlassian
+
+Statuspage is the frontend of the monitoring system. It is the page that users will see when they want to check the
+status of the application.
+
+- **Functionality**: Displays the current status and historical uptime data of the application.
+- **User Interface**: Provides a user-friendly interface for users to view status updates and subscribe to
+ notifications.
+- **Limitations**: Does not automatically check the status of the added applications.
+
+### UptimeRobot
+
+UptimeRobot is the backend of the monitoring system. It checks the status of the application and reports it to the
+Statuspage.
+
+- **Functionality**: Monitors the application at regular intervals and detects any downtime or issues.
+- **Integration**: Reports the status data to Statuspage, which then displays the information to the users.
+- **Monitoring**: Can be configured to monitor various endpoints and services associated with the application.
+
+## Workflow
+
+1. **Monitoring by UptimeRobot**: UptimeRobot continuously monitors the DMMapp and the Blog.
+ - Checks are performed at predefined intervals.
+ - Any downtime or issues are detected and recorded.
+
+2. **Reporting to Statuspage**: UptimeRobot reports the status to Statuspage.
+ - Status updates are sent to Statuspage.
+ - Statuspage displays the current status and any incidents.
+
+3. **User Notification**: Users access Statuspage to view the application's status.
+ - Users can subscribe to updates and notifications.
+ - Statuspage provides a historical view of the application's uptime and incidents.
+
+## Summary
+
+The combination of Statuspage and UptimeRobot ensures that the DMMapp monitoring system is both robust and
+user-friendly. Statuspage serves as the visible interface for users, while UptimeRobot performs the essential task of
+monitoring the application's health and reporting it accurately.
\ No newline at end of file
diff --git a/mkdocs.yml b/mkdocs.yml
index 9352ca1..eb29b69 100644
--- a/mkdocs.yml
+++ b/mkdocs.yml
@@ -89,7 +89,7 @@ markdown_extensions:
## Plugins
plugins:
- search
- - social
+ # - social
## Extras
extra:
@@ -150,6 +150,7 @@ nav:
- Contributing: pages/developer-guide/contributing.md
- Customizing: pages/developer-guide/customization.md
- API: pages/developer-guide/api.md
+ - Status monitoring: pages/developer-guide/monitoring.md
- More info:
- About us: pages/about.md
- Data privacy: pages/data-privacy.md
diff --git a/package-lock.json b/package-lock.json
index 897696f..c727805 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -1,5 +1,5 @@
{
- "name": "DMMapp-Development-Repo",
+ "name": "DMMapp-Digitized-Medieval-Manuscripts-app",
"lockfileVersion": 3,
"requires": true,
"packages": {
@@ -2575,9 +2575,9 @@
}
},
"node_modules/acorn": {
- "version": "8.12.0",
- "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.12.0.tgz",
- "integrity": "sha512-RTvkC4w+KNXrM39/lWCUaG0IbRkWdCv7W/IOW9oU6SawyxulvkQy5HQPVTKxEjczcUvapcrw3cFx/60VN/NRNw==",
+ "version": "8.12.1",
+ "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.12.1.tgz",
+ "integrity": "sha512-tcpGyI9zbizT9JbV6oYE477V6mTlXvvi0T0G3SNIYE2apm/G5huBa1+K89VGeovbg+jycCrfhl3ADxErOuO6Jg==",
"bin": {
"acorn": "bin/acorn"
},
@@ -3556,9 +3556,9 @@
}
},
"node_modules/caniuse-lite": {
- "version": "1.0.30001638",
- "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001638.tgz",
- "integrity": "sha512-5SuJUJ7cZnhPpeLHaH0c/HPAnAHZvS6ElWyHK9GSIbVOQABLzowiI2pjmpvZ1WEbkyz46iFd4UXlOHR5SqgfMQ==",
+ "version": "1.0.30001640",
+ "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001640.tgz",
+ "integrity": "sha512-lA4VMpW0PSUrFnkmVuEKBUovSWKhj7puyCg8StBChgu298N1AtuF1sKWEvfDuimSEDbhlb/KqPKC3fs1HbuQUA==",
"funding": [
{
"type": "opencollective",
@@ -4306,9 +4306,9 @@
}
},
"node_modules/cypress": {
- "version": "13.12.0",
- "resolved": "https://registry.npmjs.org/cypress/-/cypress-13.12.0.tgz",
- "integrity": "sha512-udzS2JilmI9ApO/UuqurEwOvThclin5ntz7K0BtnHBs+tg2Bl9QShLISXpSEMDv/u8b6mqdoAdyKeZiSqKWL8g==",
+ "version": "13.13.0",
+ "resolved": "https://registry.npmjs.org/cypress/-/cypress-13.13.0.tgz",
+ "integrity": "sha512-ou/MQUDq4tcDJI2FsPaod2FZpex4kpIK43JJlcBgWrX8WX7R/05ZxGTuxedOuZBfxjZxja+fbijZGyxiLP6CFA==",
"dev": true,
"hasInstallScript": true,
"dependencies": {
@@ -4351,7 +4351,7 @@
"request-progress": "^3.0.0",
"semver": "^7.5.3",
"supports-color": "^8.1.1",
- "tmp": "~0.2.1",
+ "tmp": "~0.2.3",
"untildify": "^4.0.0",
"yauzl": "^2.10.0"
},
@@ -4914,9 +4914,9 @@
"integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow=="
},
"node_modules/electron-to-chromium": {
- "version": "1.4.815",
- "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.815.tgz",
- "integrity": "sha512-OvpTT2ItpOXJL7IGcYakRjHCt8L5GrrN/wHCQsRB4PQa1X9fe+X9oen245mIId7s14xvArCGSTIq644yPUKKLg=="
+ "version": "1.4.817",
+ "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.817.tgz",
+ "integrity": "sha512-3znu+lZMIbTe8ZOs360OMJvVroVF2NpNI8T5jfLnDetVvj0uNmIucZzQVYMSJfsu9f47Ssox1Gt46PR+R+1JUg=="
},
"node_modules/elliptic": {
"version": "6.5.5",
@@ -10576,9 +10576,9 @@
}
},
"node_modules/update-browserslist-db": {
- "version": "1.0.16",
- "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.16.tgz",
- "integrity": "sha512-KVbTxlBYlckhF5wgfyZXTWnMn7MMZjMu9XG8bPlliUOP9ThaF4QnhP8qrjrH7DRzHfSk0oQv1wToW+iA5GajEQ==",
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.1.0.tgz",
+ "integrity": "sha512-EdRAaAyk2cUE1wOf2DkEhzxqOQvFOoRJFNS6NeyJ01Gp2beMRpBAINjM2iDXE3KCuKhwnvHIQCJm6ThL2Z+HzQ==",
"funding": [
{
"type": "opencollective",
@@ -10640,9 +10640,9 @@
}
},
"node_modules/url/node_modules/qs": {
- "version": "6.12.1",
- "resolved": "https://registry.npmjs.org/qs/-/qs-6.12.1.tgz",
- "integrity": "sha512-zWmv4RSuB9r2mYQw3zxQuHWeU+42aKi1wWig/j4ele4ygELZ7PEO6MM7rim9oAQH2A5MWfsAVf/jPvTPgCbvUQ==",
+ "version": "6.12.2",
+ "resolved": "https://registry.npmjs.org/qs/-/qs-6.12.2.tgz",
+ "integrity": "sha512-x+NLUpx9SYrcwXtX7ob1gnkSems4i/mGZX5SlYxwIau6RrUSODO89TR/XDGGpn5RPWSYIB+aSfuSlV5+CmbTBg==",
"dependencies": {
"side-channel": "^1.0.6"
},
diff --git a/pint.json b/pint.json
new file mode 100644
index 0000000..93061b6
--- /dev/null
+++ b/pint.json
@@ -0,0 +1,3 @@
+{
+ "preset": "laravel"
+}
diff --git a/public/js/app.js b/public/js/app.js
index 8c44e6d..ef6dc21 100644
--- a/public/js/app.js
+++ b/public/js/app.js
@@ -1,2 +1,2 @@
/*! For license information please see app.js.LICENSE.txt */
-(self.webpackChunk=self.webpackChunk||[]).push([[847],{455:(t,e,n)=>{"use strict";n.d(e,{n4:()=>x,UD:()=>w});var r=n(354),o=n(222),i=n(979),a=n(581);var s=n(604),l=n(793),u=n(760),c=n(134),f=n(906);function d(t,e,n){void 0===n&&(n=!1);var d,p,h=(0,a.sb)(e),v=(0,a.sb)(e)&&function(t){var e=t.getBoundingClientRect(),n=(0,f.LI)(e.width)/t.offsetWidth||1,r=(0,f.LI)(e.height)/t.offsetHeight||1;return 1!==n||1!==r}(e),m=(0,u.A)(e),g=(0,r.A)(t,v,n),y={scrollLeft:0,scrollTop:0},b={x:0,y:0};return(h||!h&&!n)&&(("body"!==(0,s.A)(e)||(0,c.A)(m))&&(y=(d=e)!==(0,i.A)(d)&&(0,a.sb)(d)?{scrollLeft:(p=d).scrollLeft,scrollTop:p.scrollTop}:(0,o.A)(d)),(0,a.sb)(e)?((b=(0,r.A)(e,!0)).x+=e.clientLeft,b.y+=e.clientTop):m&&(b.x=(0,l.A)(m))),{x:g.left+y.scrollLeft-b.x,y:g.top+y.scrollTop-b.y,width:g.width,height:g.height}}var p=n(360),h=n(579),v=n(275),m=n(278);function g(t){var e=new Map,n=new Set,r=[];function o(t){n.add(t.name),[].concat(t.requires||[],t.requiresIfExists||[]).forEach((function(t){if(!n.has(t)){var r=e.get(t);r&&o(r)}})),r.push(t)}return t.forEach((function(t){e.set(t.name,t)})),t.forEach((function(t){n.has(t.name)||o(t)})),r}var y={placement:"bottom",modifiers:[],strategy:"absolute"};function b(){for(var t=arguments.length,e=new Array(t),n=0;n{"use strict";n.d(e,{A:()=>o});var r=n(581);function o(t,e){var n=e.getRootNode&&e.getRootNode();if(t.contains(e))return!0;if(n&&(0,r.Ng)(n)){var o=e;do{if(o&&t.isSameNode(o))return!0;o=o.parentNode||o.host}while(o)}return!1}},354:(t,e,n)=>{"use strict";n.d(e,{A:()=>s});var r=n(581),o=n(906),i=n(979),a=n(283);function s(t,e,n){void 0===e&&(e=!1),void 0===n&&(n=!1);var s=t.getBoundingClientRect(),l=1,u=1;e&&(0,r.sb)(t)&&(l=t.offsetWidth>0&&(0,o.LI)(s.width)/t.offsetWidth||1,u=t.offsetHeight>0&&(0,o.LI)(s.height)/t.offsetHeight||1);var c=((0,r.vq)(t)?(0,i.A)(t):window).visualViewport,f=!(0,a.A)()&&n,d=(s.left+(f&&c?c.offsetLeft:0))/l,p=(s.top+(f&&c?c.offsetTop:0))/u,h=s.width/l,v=s.height/u;return{width:h,height:v,top:p,right:d+h,bottom:p+v,left:d,x:d,y:p}}},271:(t,e,n)=>{"use strict";n.d(e,{A:()=>o});var r=n(979);function o(t){return(0,r.A)(t).getComputedStyle(t)}},760:(t,e,n)=>{"use strict";n.d(e,{A:()=>o});var r=n(581);function o(t){return(((0,r.vq)(t)?t.ownerDocument:t.document)||window.document).documentElement}},360:(t,e,n)=>{"use strict";n.d(e,{A:()=>o});var r=n(354);function o(t){var e=(0,r.A)(t),n=t.offsetWidth,o=t.offsetHeight;return Math.abs(e.width-n)<=1&&(n=e.width),Math.abs(e.height-o)<=1&&(o=e.height),{x:t.offsetLeft,y:t.offsetTop,width:n,height:o}}},604:(t,e,n)=>{"use strict";function r(t){return t?(t.nodeName||"").toLowerCase():null}n.d(e,{A:()=>r})},275:(t,e,n)=>{"use strict";n.d(e,{A:()=>f});var r=n(979),o=n(604),i=n(271),a=n(581);function s(t){return["table","td","th"].indexOf((0,o.A)(t))>=0}var l=n(83),u=n(398);function c(t){return(0,a.sb)(t)&&"fixed"!==(0,i.A)(t).position?t.offsetParent:null}function f(t){for(var e=(0,r.A)(t),n=c(t);n&&s(n)&&"static"===(0,i.A)(n).position;)n=c(n);return n&&("html"===(0,o.A)(n)||"body"===(0,o.A)(n)&&"static"===(0,i.A)(n).position)?e:n||function(t){var e=/firefox/i.test((0,u.A)());if(/Trident/i.test((0,u.A)())&&(0,a.sb)(t)&&"fixed"===(0,i.A)(t).position)return null;var n=(0,l.A)(t);for((0,a.Ng)(n)&&(n=n.host);(0,a.sb)(n)&&["html","body"].indexOf((0,o.A)(n))<0;){var r=(0,i.A)(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}},83:(t,e,n)=>{"use strict";n.d(e,{A:()=>a});var r=n(604),o=n(760),i=n(581);function a(t){return"html"===(0,r.A)(t)?t:t.assignedSlot||t.parentNode||((0,i.Ng)(t)?t.host:null)||(0,o.A)(t)}},979:(t,e,n)=>{"use strict";function r(t){if(null==t)return window;if("[object Window]"!==t.toString()){var e=t.ownerDocument;return e&&e.defaultView||window}return t}n.d(e,{A:()=>r})},222:(t,e,n)=>{"use strict";n.d(e,{A:()=>o});var r=n(979);function o(t){var e=(0,r.A)(t);return{scrollLeft:e.pageXOffset,scrollTop:e.pageYOffset}}},793:(t,e,n)=>{"use strict";n.d(e,{A:()=>a});var r=n(354),o=n(760),i=n(222);function a(t){return(0,r.A)((0,o.A)(t)).left+(0,i.A)(t).scrollLeft}},581:(t,e,n)=>{"use strict";n.d(e,{Ng:()=>a,sb:()=>i,vq:()=>o});var r=n(979);function o(t){return t instanceof(0,r.A)(t).Element||t instanceof Element}function i(t){return t instanceof(0,r.A)(t).HTMLElement||t instanceof HTMLElement}function a(t){return"undefined"!=typeof ShadowRoot&&(t instanceof(0,r.A)(t).ShadowRoot||t instanceof ShadowRoot)}},283:(t,e,n)=>{"use strict";n.d(e,{A:()=>o});var r=n(398);function o(){return!/^((?!chrome|android).)*safari/i.test((0,r.A)())}},134:(t,e,n)=>{"use strict";n.d(e,{A:()=>o});var r=n(271);function o(t){var e=(0,r.A)(t),n=e.overflow,o=e.overflowX,i=e.overflowY;return/auto|scroll|overlay|hidden/.test(n+i+o)}},579:(t,e,n)=>{"use strict";n.d(e,{A:()=>u});var r=n(83),o=n(134),i=n(604),a=n(581);function s(t){return["html","body","#document"].indexOf((0,i.A)(t))>=0?t.ownerDocument.body:(0,a.sb)(t)&&(0,o.A)(t)?t:s((0,r.A)(t))}var l=n(979);function u(t,e){var n;void 0===e&&(e=[]);var i=s(t),a=i===(null==(n=t.ownerDocument)?void 0:n.body),c=(0,l.A)(i),f=a?[c].concat(c.visualViewport||[],(0,o.A)(i)?i:[]):i,d=e.concat(f);return a?d:d.concat(u((0,r.A)(f)))}},278:(t,e,n)=>{"use strict";n.d(e,{DD:()=>m,EP:()=>_,GM:()=>C,LF:()=>y,LG:()=>w,M9:()=>A,Mn:()=>r,OM:()=>l,Ol:()=>v,R9:()=>d,SE:()=>T,WY:()=>f,_N:()=>c,ci:()=>g,iW:()=>x,ir:()=>h,kb:()=>a,ni:()=>u,pA:()=>S,pG:()=>i,qZ:()=>s,sQ:()=>o,v5:()=>b,xf:()=>p});var r="top",o="bottom",i="right",a="left",s="auto",l=[r,o,i,a],u="start",c="end",f="clippingParents",d="viewport",p="popper",h="reference",v=l.reduce((function(t,e){return t.concat([e+"-"+u,e+"-"+c])}),[]),m=[].concat(l,[s]).reduce((function(t,e){return t.concat([e,e+"-"+u,e+"-"+c])}),[]),g="beforeRead",y="read",b="afterRead",w="beforeMain",x="main",_="afterMain",S="beforeWrite",A="write",T="afterWrite",C=[g,y,b,w,x,_,S,A,T]},769:(t,e,n)=>{"use strict";n.r(e),n.d(e,{afterMain:()=>r.EP,afterRead:()=>r.v5,afterWrite:()=>r.SE,applyStyles:()=>o.A,arrow:()=>i.A,auto:()=>r.qZ,basePlacements:()=>r.OM,beforeMain:()=>r.LG,beforeRead:()=>r.ci,beforeWrite:()=>r.pA,bottom:()=>r.sQ,clippingParents:()=>r.WY,computeStyles:()=>a.A,createPopper:()=>v.n4,createPopperBase:()=>p.n4,createPopperLite:()=>g,detectOverflow:()=>h.A,end:()=>r._N,eventListeners:()=>s.A,flip:()=>l.A,hide:()=>u.A,left:()=>r.kb,main:()=>r.iW,modifierPhases:()=>r.GM,offset:()=>c.A,placements:()=>r.DD,popper:()=>r.xf,popperGenerator:()=>p.UD,popperOffsets:()=>f.A,preventOverflow:()=>d.A,read:()=>r.LF,reference:()=>r.ir,right:()=>r.pG,start:()=>r.ni,top:()=>r.Mn,variationPlacements:()=>r.Ol,viewport:()=>r.R9,write:()=>r.M9});var r=n(278),o=n(607),i=n(256),a=n(262),s=n(68),l=n(489),u=n(81),c=n(490),f=n(59),d=n(575),p=n(455),h=n(249),v=n(576),m=[s.A,f.A,a.A,o.A],g=(0,p.UD)({defaultModifiers:m})},607:(t,e,n)=>{"use strict";n.d(e,{A:()=>i});var r=n(604),o=n(581);const i={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]||{},i=e.attributes[t]||{},a=e.elements[t];(0,o.sb)(a)&&(0,r.A)(a)&&(Object.assign(a.style,n),Object.keys(i).forEach((function(t){var e=i[t];!1===e?a.removeAttribute(t):a.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 i=e.elements[t],a=e.attributes[t]||{},s=Object.keys(e.styles.hasOwnProperty(t)?e.styles[t]:n[t]).reduce((function(t,e){return t[e]="",t}),{});(0,o.sb)(i)&&(0,r.A)(i)&&(Object.assign(i.style,s),Object.keys(a).forEach((function(t){i.removeAttribute(t)})))}))}},requires:["computeStyles"]}},256:(t,e,n)=>{"use strict";n.d(e,{A:()=>d});var r=n(632),o=n(360),i=n(446),a=n(275),s=n(703),l=n(523),u=n(318),c=n(7),f=n(278);const d={name:"arrow",enabled:!0,phase:"main",fn:function(t){var e,n=t.state,i=t.name,d=t.options,p=n.elements.arrow,h=n.modifiersData.popperOffsets,v=(0,r.A)(n.placement),m=(0,s.A)(v),g=[f.kb,f.pG].indexOf(v)>=0?"height":"width";if(p&&h){var y=function(t,e){return t="function"==typeof t?t(Object.assign({},e.rects,{placement:e.placement})):t,(0,u.A)("number"!=typeof t?t:(0,c.A)(t,f.OM))}(d.padding,n),b=(0,o.A)(p),w="y"===m?f.Mn:f.kb,x="y"===m?f.sQ:f.pG,_=n.rects.reference[g]+n.rects.reference[m]-h[m]-n.rects.popper[g],S=h[m]-n.rects.reference[m],A=(0,a.A)(p),T=A?"y"===m?A.clientHeight||0:A.clientWidth||0:0,C=_/2-S/2,D=y[w],I=T-b[g]-y[x],k=T/2-b[g]/2+C,E=(0,l.u)(D,k,I),F=m;n.modifiersData[i]=((e={})[F]=E,e.centerOffset=E-k,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)))&&(0,i.A)(e.elements.popper,r)&&(e.elements.arrow=r)},requires:["popperOffsets"],requiresIfExists:["preventOverflow"]}},262:(t,e,n)=>{"use strict";n.d(e,{A:()=>p});var r=n(278),o=n(275),i=n(979),a=n(760),s=n(271),l=n(632),u=n(101),c=n(906),f={top:"auto",right:"auto",bottom:"auto",left:"auto"};function d(t){var e,n=t.popper,l=t.popperRect,u=t.placement,d=t.variation,p=t.offsets,h=t.position,v=t.gpuAcceleration,m=t.adaptive,g=t.roundOffsets,y=t.isFixed,b=p.x,w=void 0===b?0:b,x=p.y,_=void 0===x?0:x,S="function"==typeof g?g({x:w,y:_}):{x:w,y:_};w=S.x,_=S.y;var A=p.hasOwnProperty("x"),T=p.hasOwnProperty("y"),C=r.kb,D=r.Mn,I=window;if(m){var k=(0,o.A)(n),E="clientHeight",F="clientWidth";if(k===(0,i.A)(n)&&(k=(0,a.A)(n),"static"!==(0,s.A)(k).position&&"absolute"===h&&(E="scrollHeight",F="scrollWidth")),u===r.Mn||(u===r.kb||u===r.pG)&&d===r._N)D=r.sQ,_-=(y&&k===I&&I.visualViewport?I.visualViewport.height:k[E])-l.height,_*=v?1:-1;if(u===r.kb||(u===r.Mn||u===r.sQ)&&d===r._N)C=r.pG,w-=(y&&k===I&&I.visualViewport?I.visualViewport.width:k[F])-l.width,w*=v?1:-1}var O,j=Object.assign({position:h},m&&f),N=!0===g?function(t,e){var n=t.x,r=t.y,o=e.devicePixelRatio||1;return{x:(0,c.LI)(n*o)/o||0,y:(0,c.LI)(r*o)/o||0}}({x:w,y:_},(0,i.A)(n)):{x:w,y:_};return w=N.x,_=N.y,v?Object.assign({},j,((O={})[D]=T?"0":"",O[C]=A?"0":"",O.transform=(I.devicePixelRatio||1)<=1?"translate("+w+"px, "+_+"px)":"translate3d("+w+"px, "+_+"px, 0)",O)):Object.assign({},j,((e={})[D]=T?_+"px":"",e[C]=A?w+"px":"",e.transform="",e))}const p={name:"computeStyles",enabled:!0,phase:"beforeWrite",fn:function(t){var e=t.state,n=t.options,r=n.gpuAcceleration,o=void 0===r||r,i=n.adaptive,a=void 0===i||i,s=n.roundOffsets,c=void 0===s||s,f={placement:(0,l.A)(e.placement),variation:(0,u.A)(e.placement),popper:e.elements.popper,popperRect:e.rects.popper,gpuAcceleration:o,isFixed:"fixed"===e.options.strategy};null!=e.modifiersData.popperOffsets&&(e.styles.popper=Object.assign({},e.styles.popper,d(Object.assign({},f,{offsets:e.modifiersData.popperOffsets,position:e.options.strategy,adaptive:a,roundOffsets:c})))),null!=e.modifiersData.arrow&&(e.styles.arrow=Object.assign({},e.styles.arrow,d(Object.assign({},f,{offsets:e.modifiersData.arrow,position:"absolute",adaptive:!1,roundOffsets:c})))),e.attributes.popper=Object.assign({},e.attributes.popper,{"data-popper-placement":e.placement})},data:{}}},68:(t,e,n)=>{"use strict";n.d(e,{A:()=>i});var r=n(979),o={passive:!0};const i={name:"eventListeners",enabled:!0,phase:"write",fn:function(){},effect:function(t){var e=t.state,n=t.instance,i=t.options,a=i.scroll,s=void 0===a||a,l=i.resize,u=void 0===l||l,c=(0,r.A)(e.elements.popper),f=[].concat(e.scrollParents.reference,e.scrollParents.popper);return s&&f.forEach((function(t){t.addEventListener("scroll",n.update,o)})),u&&c.addEventListener("resize",n.update,o),function(){s&&f.forEach((function(t){t.removeEventListener("scroll",n.update,o)})),u&&c.removeEventListener("resize",n.update,o)}},data:{}}},489:(t,e,n)=>{"use strict";n.d(e,{A:()=>f});var r={left:"right",right:"left",bottom:"top",top:"bottom"};function o(t){return t.replace(/left|right|bottom|top/g,(function(t){return r[t]}))}var i=n(632),a={start:"end",end:"start"};function s(t){return t.replace(/start|end/g,(function(t){return a[t]}))}var l=n(249),u=n(101),c=n(278);const f={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 a=n.mainAxis,f=void 0===a||a,d=n.altAxis,p=void 0===d||d,h=n.fallbackPlacements,v=n.padding,m=n.boundary,g=n.rootBoundary,y=n.altBoundary,b=n.flipVariations,w=void 0===b||b,x=n.allowedAutoPlacements,_=e.options.placement,S=(0,i.A)(_),A=h||(S===_||!w?[o(_)]:function(t){if((0,i.A)(t)===c.qZ)return[];var e=o(t);return[s(t),e,s(e)]}(_)),T=[_].concat(A).reduce((function(t,n){return t.concat((0,i.A)(n)===c.qZ?function(t,e){void 0===e&&(e={});var n=e,r=n.placement,o=n.boundary,a=n.rootBoundary,s=n.padding,f=n.flipVariations,d=n.allowedAutoPlacements,p=void 0===d?c.DD:d,h=(0,u.A)(r),v=h?f?c.Ol:c.Ol.filter((function(t){return(0,u.A)(t)===h})):c.OM,m=v.filter((function(t){return p.indexOf(t)>=0}));0===m.length&&(m=v);var g=m.reduce((function(e,n){return e[n]=(0,l.A)(t,{placement:n,boundary:o,rootBoundary:a,padding:s})[(0,i.A)(n)],e}),{});return Object.keys(g).sort((function(t,e){return g[t]-g[e]}))}(e,{placement:n,boundary:m,rootBoundary:g,padding:v,flipVariations:w,allowedAutoPlacements:x}):n)}),[]),C=e.rects.reference,D=e.rects.popper,I=new Map,k=!0,E=T[0],F=0;F=0,L=R?"width":"height",B=(0,l.A)(e,{placement:O,boundary:m,rootBoundary:g,altBoundary:y,padding:v}),P=R?N?c.pG:c.kb:N?c.sQ:c.Mn;C[L]>D[L]&&(P=o(P));var M=o(P),H=[];if(f&&H.push(B[j]<=0),p&&H.push(B[P]<=0,B[M]<=0),H.every((function(t){return t}))){E=O,k=!1;break}I.set(O,H)}if(k)for(var U=function(t){var e=T.find((function(e){var n=I.get(e);if(n)return n.slice(0,t).every((function(t){return t}))}));if(e)return E=e,"break"},W=w?3:1;W>0;W--){if("break"===U(W))break}e.placement!==E&&(e.modifiersData[r]._skip=!0,e.placement=E,e.reset=!0)}},requiresIfExists:["offset"],data:{_skip:!1}}},81:(t,e,n)=>{"use strict";n.d(e,{A:()=>s});var r=n(278),o=n(249);function i(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 a(t){return[r.Mn,r.pG,r.sQ,r.kb].some((function(e){return t[e]>=0}))}const s={name:"hide",enabled:!0,phase:"main",requiresIfExists:["preventOverflow"],fn:function(t){var e=t.state,n=t.name,r=e.rects.reference,s=e.rects.popper,l=e.modifiersData.preventOverflow,u=(0,o.A)(e,{elementContext:"reference"}),c=(0,o.A)(e,{altBoundary:!0}),f=i(u,r),d=i(c,s,l),p=a(f),h=a(d);e.modifiersData[n]={referenceClippingOffsets:f,popperEscapeOffsets:d,isReferenceHidden:p,hasPopperEscaped:h},e.attributes.popper=Object.assign({},e.attributes.popper,{"data-popper-reference-hidden":p,"data-popper-escaped":h})}}},490:(t,e,n)=>{"use strict";n.d(e,{A:()=>i});var r=n(632),o=n(278);const i={name:"offset",enabled:!0,phase:"main",requires:["popperOffsets"],fn:function(t){var e=t.state,n=t.options,i=t.name,a=n.offset,s=void 0===a?[0,0]:a,l=o.DD.reduce((function(t,n){return t[n]=function(t,e,n){var i=(0,r.A)(t),a=[o.kb,o.Mn].indexOf(i)>=0?-1:1,s="function"==typeof n?n(Object.assign({},e,{placement:t})):n,l=s[0],u=s[1];return l=l||0,u=(u||0)*a,[o.kb,o.pG].indexOf(i)>=0?{x:u,y:l}:{x:l,y:u}}(n,e.rects,s),t}),{}),u=l[e.placement],c=u.x,f=u.y;null!=e.modifiersData.popperOffsets&&(e.modifiersData.popperOffsets.x+=c,e.modifiersData.popperOffsets.y+=f),e.modifiersData[i]=l}}},59:(t,e,n)=>{"use strict";n.d(e,{A:()=>o});var r=n(815);const o={name:"popperOffsets",enabled:!0,phase:"read",fn:function(t){var e=t.state,n=t.name;e.modifiersData[n]=(0,r.A)({reference:e.rects.reference,element:e.rects.popper,strategy:"absolute",placement:e.placement})},data:{}}},575:(t,e,n)=>{"use strict";n.d(e,{A:()=>p});var r=n(278),o=n(632),i=n(703);var a=n(523),s=n(360),l=n(275),u=n(249),c=n(101),f=n(364),d=n(906);const p={name:"preventOverflow",enabled:!0,phase:"main",fn:function(t){var e=t.state,n=t.options,p=t.name,h=n.mainAxis,v=void 0===h||h,m=n.altAxis,g=void 0!==m&&m,y=n.boundary,b=n.rootBoundary,w=n.altBoundary,x=n.padding,_=n.tether,S=void 0===_||_,A=n.tetherOffset,T=void 0===A?0:A,C=(0,u.A)(e,{boundary:y,rootBoundary:b,padding:x,altBoundary:w}),D=(0,o.A)(e.placement),I=(0,c.A)(e.placement),k=!I,E=(0,i.A)(D),F="x"===E?"y":"x",O=e.modifiersData.popperOffsets,j=e.rects.reference,N=e.rects.popper,R="function"==typeof T?T(Object.assign({},e.rects,{placement:e.placement})):T,L="number"==typeof R?{mainAxis:R,altAxis:R}:Object.assign({mainAxis:0,altAxis:0},R),B=e.modifiersData.offset?e.modifiersData.offset[e.placement]:null,P={x:0,y:0};if(O){if(v){var M,H="y"===E?r.Mn:r.kb,U="y"===E?r.sQ:r.pG,W="y"===E?"height":"width",q=O[E],z=q+C[H],$=q-C[U],V=S?-N[W]/2:0,X=I===r.ni?j[W]:N[W],J=I===r.ni?-N[W]:-j[W],G=e.elements.arrow,K=S&&G?(0,s.A)(G):{width:0,height:0},Y=e.modifiersData["arrow#persistent"]?e.modifiersData["arrow#persistent"].padding:(0,f.A)(),Z=Y[H],Q=Y[U],tt=(0,a.u)(0,j[W],K[W]),et=k?j[W]/2-V-tt-Z-L.mainAxis:X-tt-Z-L.mainAxis,nt=k?-j[W]/2+V+tt+Q+L.mainAxis:J+tt+Q+L.mainAxis,rt=e.elements.arrow&&(0,l.A)(e.elements.arrow),ot=rt?"y"===E?rt.clientTop||0:rt.clientLeft||0:0,it=null!=(M=null==B?void 0:B[E])?M:0,at=q+et-it-ot,st=q+nt-it,lt=(0,a.u)(S?(0,d.jk)(z,at):z,q,S?(0,d.T9)($,st):$);O[E]=lt,P[E]=lt-q}if(g){var ut,ct="x"===E?r.Mn:r.kb,ft="x"===E?r.sQ:r.pG,dt=O[F],pt="y"===F?"height":"width",ht=dt+C[ct],vt=dt-C[ft],mt=-1!==[r.Mn,r.kb].indexOf(D),gt=null!=(ut=null==B?void 0:B[F])?ut:0,yt=mt?ht:dt-j[pt]-N[pt]-gt+L.altAxis,bt=mt?dt+j[pt]+N[pt]-gt-L.altAxis:vt,wt=S&&mt?(0,a.P)(yt,dt,bt):(0,a.u)(S?yt:ht,dt,S?bt:vt);O[F]=wt,P[F]=wt-dt}e.modifiersData[p]=P}},requiresIfExists:["offset"]}},576:(t,e,n)=>{"use strict";n.d(e,{n4:()=>h});var r=n(455),o=n(68),i=n(59),a=n(262),s=n(607),l=n(490),u=n(489),c=n(575),f=n(256),d=n(81),p=[o.A,i.A,a.A,s.A,l.A,u.A,c.A,f.A,d.A],h=(0,r.UD)({defaultModifiers:p})},815:(t,e,n)=>{"use strict";n.d(e,{A:()=>s});var r=n(632),o=n(101),i=n(703),a=n(278);function s(t){var e,n=t.reference,s=t.element,l=t.placement,u=l?(0,r.A)(l):null,c=l?(0,o.A)(l):null,f=n.x+n.width/2-s.width/2,d=n.y+n.height/2-s.height/2;switch(u){case a.Mn:e={x:f,y:n.y-s.height};break;case a.sQ:e={x:f,y:n.y+n.height};break;case a.pG:e={x:n.x+n.width,y:d};break;case a.kb:e={x:n.x-s.width,y:d};break;default:e={x:n.x,y:n.y}}var p=u?(0,i.A)(u):null;if(null!=p){var h="y"===p?"height":"width";switch(c){case a.ni:e[p]=e[p]-(n[h]/2-s[h]/2);break;case a._N:e[p]=e[p]+(n[h]/2-s[h]/2)}}return e}},249:(t,e,n)=>{"use strict";n.d(e,{A:()=>A});var r=n(278),o=n(979),i=n(760),a=n(793),s=n(283);var l=n(271),u=n(222),c=n(906);var f=n(579),d=n(275),p=n(581),h=n(354),v=n(83),m=n(446),g=n(604);function y(t){return Object.assign({},t,{left:t.x,top:t.y,right:t.x+t.width,bottom:t.y+t.height})}function b(t,e,n){return e===r.R9?y(function(t,e){var n=(0,o.A)(t),r=(0,i.A)(t),l=n.visualViewport,u=r.clientWidth,c=r.clientHeight,f=0,d=0;if(l){u=l.width,c=l.height;var p=(0,s.A)();(p||!p&&"fixed"===e)&&(f=l.offsetLeft,d=l.offsetTop)}return{width:u,height:c,x:f+(0,a.A)(t),y:d}}(t,n)):(0,p.vq)(e)?function(t,e){var n=(0,h.A)(t,!1,"fixed"===e);return n.top=n.top+t.clientTop,n.left=n.left+t.clientLeft,n.bottom=n.top+t.clientHeight,n.right=n.left+t.clientWidth,n.width=t.clientWidth,n.height=t.clientHeight,n.x=n.left,n.y=n.top,n}(e,n):y(function(t){var e,n=(0,i.A)(t),r=(0,u.A)(t),o=null==(e=t.ownerDocument)?void 0:e.body,s=(0,c.T9)(n.scrollWidth,n.clientWidth,o?o.scrollWidth:0,o?o.clientWidth:0),f=(0,c.T9)(n.scrollHeight,n.clientHeight,o?o.scrollHeight:0,o?o.clientHeight:0),d=-r.scrollLeft+(0,a.A)(t),p=-r.scrollTop;return"rtl"===(0,l.A)(o||n).direction&&(d+=(0,c.T9)(n.clientWidth,o?o.clientWidth:0)-s),{width:s,height:f,x:d,y:p}}((0,i.A)(t)))}function w(t,e,n,r){var o="clippingParents"===e?function(t){var e=(0,f.A)((0,v.A)(t)),n=["absolute","fixed"].indexOf((0,l.A)(t).position)>=0&&(0,p.sb)(t)?(0,d.A)(t):t;return(0,p.vq)(n)?e.filter((function(t){return(0,p.vq)(t)&&(0,m.A)(t,n)&&"body"!==(0,g.A)(t)})):[]}(t):[].concat(e),i=[].concat(o,[n]),a=i[0],s=i.reduce((function(e,n){var o=b(t,n,r);return e.top=(0,c.T9)(o.top,e.top),e.right=(0,c.jk)(o.right,e.right),e.bottom=(0,c.jk)(o.bottom,e.bottom),e.left=(0,c.T9)(o.left,e.left),e}),b(t,a,r));return s.width=s.right-s.left,s.height=s.bottom-s.top,s.x=s.left,s.y=s.top,s}var x=n(815),_=n(318),S=n(7);function A(t,e){void 0===e&&(e={});var n=e,o=n.placement,a=void 0===o?t.placement:o,s=n.strategy,l=void 0===s?t.strategy:s,u=n.boundary,c=void 0===u?r.WY:u,f=n.rootBoundary,d=void 0===f?r.R9:f,v=n.elementContext,m=void 0===v?r.xf:v,g=n.altBoundary,b=void 0!==g&&g,A=n.padding,T=void 0===A?0:A,C=(0,_.A)("number"!=typeof T?T:(0,S.A)(T,r.OM)),D=m===r.xf?r.ir:r.xf,I=t.rects.popper,k=t.elements[b?D:m],E=w((0,p.vq)(k)?k:k.contextElement||(0,i.A)(t.elements.popper),c,d,l),F=(0,h.A)(t.elements.reference),O=(0,x.A)({reference:F,element:I,strategy:"absolute",placement:a}),j=y(Object.assign({},I,O)),N=m===r.xf?j:F,R={top:E.top-N.top+C.top,bottom:N.bottom-E.bottom+C.bottom,left:E.left-N.left+C.left,right:N.right-E.right+C.right},L=t.modifiersData.offset;if(m===r.xf&&L){var B=L[a];Object.keys(R).forEach((function(t){var e=[r.pG,r.sQ].indexOf(t)>=0?1:-1,n=[r.Mn,r.sQ].indexOf(t)>=0?"y":"x";R[t]+=B[n]*e}))}return R}},7:(t,e,n)=>{"use strict";function r(t,e){return e.reduce((function(e,n){return e[n]=t,e}),{})}n.d(e,{A:()=>r})},632:(t,e,n)=>{"use strict";function r(t){return t.split("-")[0]}n.d(e,{A:()=>r})},364:(t,e,n)=>{"use strict";function r(){return{top:0,right:0,bottom:0,left:0}}n.d(e,{A:()=>r})},703:(t,e,n)=>{"use strict";function r(t){return["top","bottom"].indexOf(t)>=0?"x":"y"}n.d(e,{A:()=>r})},101:(t,e,n)=>{"use strict";function r(t){return t.split("-")[1]}n.d(e,{A:()=>r})},906:(t,e,n)=>{"use strict";n.d(e,{LI:()=>i,T9:()=>r,jk:()=>o});var r=Math.max,o=Math.min,i=Math.round},318:(t,e,n)=>{"use strict";n.d(e,{A:()=>o});var r=n(364);function o(t){return Object.assign({},(0,r.A)(),t)}},398:(t,e,n)=>{"use strict";function r(){var t=navigator.userAgentData;return null!=t&&t.brands&&Array.isArray(t.brands)?t.brands.map((function(t){return t.brand+"/"+t.version})).join(" "):navigator.userAgent}n.d(e,{A:()=>r})},523:(t,e,n)=>{"use strict";n.d(e,{P:()=>i,u:()=>o});var r=n(906);function o(t,e,n){return(0,r.T9)(t,(0,r.jk)(e,n))}function i(t,e,n){var r=o(t,e,n);return r>n?n:r}},42:function(t){t.exports=function(t){function e(r){if(n[r])return n[r].exports;var o=n[r]={exports:{},id:r,loaded:!1};return t[r].call(o.exports,o,o.exports,e),o.loaded=!0,o.exports}var n={};return e.m=t,e.c=n,e.p="dist/",e(0)}([function(t,e,n){"use strict";function r(t){return t&&t.__esModule?t:{default:t}}var o=Object.assign||function(t){for(var e=1;e0&&void 0!==arguments[0]&&arguments[0]&&(h=!0),h)return p=(0,f.default)(p,v),(0,c.default)(p,v.once),p},g=function(){p=(0,d.default)(),m()},y=function(){p.forEach((function(t,e){t.node.removeAttribute("data-aos"),t.node.removeAttribute("data-aos-easing"),t.node.removeAttribute("data-aos-duration"),t.node.removeAttribute("data-aos-delay")}))},b=function(t){return!0===t||"mobile"===t&&u.default.mobile()||"phone"===t&&u.default.phone()||"tablet"===t&&u.default.tablet()||"function"==typeof t&&!0===t()},w=function(t){v=o(v,t),p=(0,d.default)();var e=document.all&&!window.atob;return b(v.disable)||e?y():(v.disableMutationObserver||l.default.isSupported()||(console.info('\n aos: MutationObserver is not supported on this browser,\n code mutations observing has been disabled.\n You may have to call "refreshHard()" by yourself.\n '),v.disableMutationObserver=!0),document.querySelector("body").setAttribute("data-aos-easing",v.easing),document.querySelector("body").setAttribute("data-aos-duration",v.duration),document.querySelector("body").setAttribute("data-aos-delay",v.delay),"DOMContentLoaded"===v.startEvent&&["complete","interactive"].indexOf(document.readyState)>-1?m(!0):"load"===v.startEvent?window.addEventListener(v.startEvent,(function(){m(!0)})):document.addEventListener(v.startEvent,(function(){m(!0)})),window.addEventListener("resize",(0,s.default)(m,v.debounceDelay,!0)),window.addEventListener("orientationchange",(0,s.default)(m,v.debounceDelay,!0)),window.addEventListener("scroll",(0,a.default)((function(){(0,c.default)(p,v.once)}),v.throttleDelay)),v.disableMutationObserver||l.default.ready("[data-aos]",g),p)};t.exports={init:w,refresh:m,refreshHard:g}},function(t,e){},,,,,function(t,e){(function(e){"use strict";function n(t,e,n){function r(e){var n=v,r=m;return v=m=void 0,A=e,y=t.apply(r,n)}function i(t){return A=t,b=setTimeout(c,e),T?r(t):y}function a(t){var n=e-(t-w);return C?_(n,g-(t-A)):n}function l(t){var n=t-w;return void 0===w||n>=e||n<0||C&&t-A>=g}function c(){var t=S();return l(t)?f(t):void(b=setTimeout(c,a(t)))}function f(t){return b=void 0,D&&v?r(t):(v=m=void 0,y)}function d(){void 0!==b&&clearTimeout(b),A=0,v=w=m=b=void 0}function p(){return void 0===b?y:f(S())}function h(){var t=S(),n=l(t);if(v=arguments,m=this,w=t,n){if(void 0===b)return i(w);if(C)return b=setTimeout(c,e),r(w)}return void 0===b&&(b=setTimeout(c,e)),y}var v,m,g,y,b,w,A=0,T=!1,C=!1,D=!0;if("function"!=typeof t)throw new TypeError(u);return e=s(e)||0,o(n)&&(T=!!n.leading,g=(C="maxWait"in n)?x(s(n.maxWait)||0,e):g,D="trailing"in n?!!n.trailing:D),h.cancel=d,h.flush=p,h}function r(t,e,r){var i=!0,a=!0;if("function"!=typeof t)throw new TypeError(u);return o(r)&&(i="leading"in r?!!r.leading:i,a="trailing"in r?!!r.trailing:a),n(t,e,{leading:i,maxWait:e,trailing:a})}function o(t){var e=void 0===t?"undefined":l(t);return!!t&&("object"==e||"function"==e)}function i(t){return!!t&&"object"==(void 0===t?"undefined":l(t))}function a(t){return"symbol"==(void 0===t?"undefined":l(t))||i(t)&&w.call(t)==f}function s(t){if("number"==typeof t)return t;if(a(t))return c;if(o(t)){var e="function"==typeof t.valueOf?t.valueOf():t;t=o(e)?e+"":e}if("string"!=typeof t)return 0===t?t:+t;t=t.replace(d,"");var n=h.test(t);return n||v.test(t)?m(t.slice(2),n?2:8):p.test(t)?c:+t}var l="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},u="Expected a function",c=NaN,f="[object Symbol]",d=/^\s+|\s+$/g,p=/^[-+]0x[0-9a-f]+$/i,h=/^0b[01]+$/i,v=/^0o[0-7]+$/i,m=parseInt,g="object"==(void 0===e?"undefined":l(e))&&e&&e.Object===Object&&e,y="object"==("undefined"==typeof self?"undefined":l(self))&&self&&self.Object===Object&&self,b=g||y||Function("return this")(),w=Object.prototype.toString,x=Math.max,_=Math.min,S=function(){return b.Date.now()};t.exports=r}).call(e,function(){return this}())},function(t,e){(function(e){"use strict";function n(t,e,n){function o(e){var n=v,r=m;return v=m=void 0,A=e,y=t.apply(r,n)}function i(t){return A=t,b=setTimeout(c,e),T?o(t):y}function s(t){var n=e-(t-S);return C?x(n,g-(t-A)):n}function u(t){var n=t-S;return void 0===S||n>=e||n<0||C&&t-A>=g}function c(){var t=_();return u(t)?f(t):void(b=setTimeout(c,s(t)))}function f(t){return b=void 0,D&&v?o(t):(v=m=void 0,y)}function d(){void 0!==b&&clearTimeout(b),A=0,v=S=m=b=void 0}function p(){return void 0===b?y:f(_())}function h(){var t=_(),n=u(t);if(v=arguments,m=this,S=t,n){if(void 0===b)return i(S);if(C)return b=setTimeout(c,e),o(S)}return void 0===b&&(b=setTimeout(c,e)),y}var v,m,g,y,b,S,A=0,T=!1,C=!1,D=!0;if("function"!=typeof t)throw new TypeError(l);return e=a(e)||0,r(n)&&(T=!!n.leading,g=(C="maxWait"in n)?w(a(n.maxWait)||0,e):g,D="trailing"in n?!!n.trailing:D),h.cancel=d,h.flush=p,h}function r(t){var e=void 0===t?"undefined":s(t);return!!t&&("object"==e||"function"==e)}function o(t){return!!t&&"object"==(void 0===t?"undefined":s(t))}function i(t){return"symbol"==(void 0===t?"undefined":s(t))||o(t)&&b.call(t)==c}function a(t){if("number"==typeof t)return t;if(i(t))return u;if(r(t)){var e="function"==typeof t.valueOf?t.valueOf():t;t=r(e)?e+"":e}if("string"!=typeof t)return 0===t?t:+t;t=t.replace(f,"");var n=p.test(t);return n||h.test(t)?v(t.slice(2),n?2:8):d.test(t)?u:+t}var s="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},l="Expected a function",u=NaN,c="[object Symbol]",f=/^\s+|\s+$/g,d=/^[-+]0x[0-9a-f]+$/i,p=/^0b[01]+$/i,h=/^0o[0-7]+$/i,v=parseInt,m="object"==(void 0===e?"undefined":s(e))&&e&&e.Object===Object&&e,g="object"==("undefined"==typeof self?"undefined":s(self))&&self&&self.Object===Object&&self,y=m||g||Function("return this")(),b=Object.prototype.toString,w=Math.max,x=Math.min,_=function(){return y.Date.now()};t.exports=n}).call(e,function(){return this}())},function(t,e){"use strict";function n(t){var e=void 0,r=void 0;for(e=0;et.position?t.node.classList.add("aos-animate"):void 0!==r&&("false"===r||!n&&"true"!==r)&&t.node.classList.remove("aos-animate")},r=function(t,e){var r=window.pageYOffset,o=window.innerHeight;t.forEach((function(t,i){n(t,o+r,e)}))};e.default=r},function(t,e,n){"use strict";function r(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var o=r(n(12)),i=function(t,e){return t.forEach((function(t,n){t.node.classList.add("aos-init"),t.position=(0,o.default)(t.node,e.offset)})),t};e.default=i},function(t,e,n){"use strict";function r(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var o=r(n(13)),i=function(t,e){var n=0,r=0,i=window.innerHeight,a={offset:t.getAttribute("data-aos-offset"),anchor:t.getAttribute("data-aos-anchor"),anchorPlacement:t.getAttribute("data-aos-anchor-placement")};switch(a.offset&&!isNaN(a.offset)&&(r=parseInt(a.offset)),a.anchor&&document.querySelectorAll(a.anchor)&&(t=document.querySelectorAll(a.anchor)[0]),n=(0,o.default)(t).top,a.anchorPlacement){case"top-bottom":break;case"center-bottom":n+=t.offsetHeight/2;break;case"bottom-bottom":n+=t.offsetHeight;break;case"top-center":n+=i/2;break;case"bottom-center":n+=i/2+t.offsetHeight;break;case"center-center":n+=i/2+t.offsetHeight/2;break;case"top-top":n+=i;break;case"bottom-top":n+=t.offsetHeight+i;break;case"center-top":n+=t.offsetHeight/2+i}return a.anchorPlacement||a.offset||isNaN(e)||(r=e),n+r};e.default=i},function(t,e){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=function(t){for(var e=0,n=0;t&&!isNaN(t.offsetLeft)&&!isNaN(t.offsetTop);)e+=t.offsetLeft-("BODY"!=t.tagName?t.scrollLeft:0),n+=t.offsetTop-("BODY"!=t.tagName?t.scrollTop:0),t=t.offsetParent;return{top:n,left:e}};e.default=n},function(t,e){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=function(t){return t=t||document.querySelectorAll("[data-aos]"),Array.prototype.map.call(t,(function(t){return{node:t}}))};e.default=n}])},419:(t,e,n)=>{"use strict";var r={};function o(t,e){return function(){return t.apply(e,arguments)}}n.r(r),n.d(r,{hasBrowserEnv:()=>ot,hasStandardBrowserEnv:()=>it,hasStandardBrowserWebWorkerEnv:()=>st});const{toString:i}=Object.prototype,{getPrototypeOf:a}=Object,s=(l=Object.create(null),t=>{const e=i.call(t);return l[e]||(l[e]=e.slice(8,-1).toLowerCase())});var l;const u=t=>(t=t.toLowerCase(),e=>s(e)===t),c=t=>e=>typeof e===t,{isArray:f}=Array,d=c("undefined");const p=u("ArrayBuffer");const h=c("string"),v=c("function"),m=c("number"),g=t=>null!==t&&"object"==typeof t,y=t=>{if("object"!==s(t))return!1;const e=a(t);return!(null!==e&&e!==Object.prototype&&null!==Object.getPrototypeOf(e)||Symbol.toStringTag in t||Symbol.iterator in t)},b=u("Date"),w=u("File"),x=u("Blob"),_=u("FileList"),S=u("URLSearchParams");function A(t,e,{allOwnKeys:n=!1}={}){if(null==t)return;let r,o;if("object"!=typeof t&&(t=[t]),f(t))for(r=0,o=t.length;r0;)if(r=n[o],e===r.toLowerCase())return r;return null}const C="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:"undefined"!=typeof window?window:global,D=t=>!d(t)&&t!==C;const I=(k="undefined"!=typeof Uint8Array&&a(Uint8Array),t=>k&&t instanceof k);var k;const E=u("HTMLFormElement"),F=(({hasOwnProperty:t})=>(e,n)=>t.call(e,n))(Object.prototype),O=u("RegExp"),j=(t,e)=>{const n=Object.getOwnPropertyDescriptors(t),r={};A(n,((n,o)=>{let i;!1!==(i=e(n,o,t))&&(r[o]=i||n)})),Object.defineProperties(t,r)},N="abcdefghijklmnopqrstuvwxyz",R="0123456789",L={DIGIT:R,ALPHA:N,ALPHA_DIGIT:N+N.toUpperCase()+R};const B=u("AsyncFunction"),P={isArray:f,isArrayBuffer:p,isBuffer:function(t){return null!==t&&!d(t)&&null!==t.constructor&&!d(t.constructor)&&v(t.constructor.isBuffer)&&t.constructor.isBuffer(t)},isFormData:t=>{let e;return t&&("function"==typeof FormData&&t instanceof FormData||v(t.append)&&("formdata"===(e=s(t))||"object"===e&&v(t.toString)&&"[object FormData]"===t.toString()))},isArrayBufferView:function(t){let e;return e="undefined"!=typeof ArrayBuffer&&ArrayBuffer.isView?ArrayBuffer.isView(t):t&&t.buffer&&p(t.buffer),e},isString:h,isNumber:m,isBoolean:t=>!0===t||!1===t,isObject:g,isPlainObject:y,isUndefined:d,isDate:b,isFile:w,isBlob:x,isRegExp:O,isFunction:v,isStream:t=>g(t)&&v(t.pipe),isURLSearchParams:S,isTypedArray:I,isFileList:_,forEach:A,merge:function t(){const{caseless:e}=D(this)&&this||{},n={},r=(r,o)=>{const i=e&&T(n,o)||o;y(n[i])&&y(r)?n[i]=t(n[i],r):y(r)?n[i]=t({},r):f(r)?n[i]=r.slice():n[i]=r};for(let t=0,e=arguments.length;t(A(e,((e,r)=>{n&&v(e)?t[r]=o(e,n):t[r]=e}),{allOwnKeys:r}),t),trim:t=>t.trim?t.trim():t.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,""),stripBOM:t=>(65279===t.charCodeAt(0)&&(t=t.slice(1)),t),inherits:(t,e,n,r)=>{t.prototype=Object.create(e.prototype,r),t.prototype.constructor=t,Object.defineProperty(t,"super",{value:e.prototype}),n&&Object.assign(t.prototype,n)},toFlatObject:(t,e,n,r)=>{let o,i,s;const l={};if(e=e||{},null==t)return e;do{for(o=Object.getOwnPropertyNames(t),i=o.length;i-- >0;)s=o[i],r&&!r(s,t,e)||l[s]||(e[s]=t[s],l[s]=!0);t=!1!==n&&a(t)}while(t&&(!n||n(t,e))&&t!==Object.prototype);return e},kindOf:s,kindOfTest:u,endsWith:(t,e,n)=>{t=String(t),(void 0===n||n>t.length)&&(n=t.length),n-=e.length;const r=t.indexOf(e,n);return-1!==r&&r===n},toArray:t=>{if(!t)return null;if(f(t))return t;let e=t.length;if(!m(e))return null;const n=new Array(e);for(;e-- >0;)n[e]=t[e];return n},forEachEntry:(t,e)=>{const n=(t&&t[Symbol.iterator]).call(t);let r;for(;(r=n.next())&&!r.done;){const n=r.value;e.call(t,n[0],n[1])}},matchAll:(t,e)=>{let n;const r=[];for(;null!==(n=t.exec(e));)r.push(n);return r},isHTMLForm:E,hasOwnProperty:F,hasOwnProp:F,reduceDescriptors:j,freezeMethods:t=>{j(t,((e,n)=>{if(v(t)&&-1!==["arguments","caller","callee"].indexOf(n))return!1;const r=t[n];v(r)&&(e.enumerable=!1,"writable"in e?e.writable=!1:e.set||(e.set=()=>{throw Error("Can not rewrite read-only method '"+n+"'")}))}))},toObjectSet:(t,e)=>{const n={},r=t=>{t.forEach((t=>{n[t]=!0}))};return f(t)?r(t):r(String(t).split(e)),n},toCamelCase:t=>t.toLowerCase().replace(/[-_\s]([a-z\d])(\w*)/g,(function(t,e,n){return e.toUpperCase()+n})),noop:()=>{},toFiniteNumber:(t,e)=>(t=+t,Number.isFinite(t)?t:e),findKey:T,global:C,isContextDefined:D,ALPHABET:L,generateString:(t=16,e=L.ALPHA_DIGIT)=>{let n="";const{length:r}=e;for(;t--;)n+=e[Math.random()*r|0];return n},isSpecCompliantForm:function(t){return!!(t&&v(t.append)&&"FormData"===t[Symbol.toStringTag]&&t[Symbol.iterator])},toJSONObject:t=>{const e=new Array(10),n=(t,r)=>{if(g(t)){if(e.indexOf(t)>=0)return;if(!("toJSON"in t)){e[r]=t;const o=f(t)?[]:{};return A(t,((t,e)=>{const i=n(t,r+1);!d(i)&&(o[e]=i)})),e[r]=void 0,o}}return t};return n(t,0)},isAsyncFn:B,isThenable:t=>t&&(g(t)||v(t))&&v(t.then)&&v(t.catch)};function M(t,e,n,r,o){Error.call(this),Error.captureStackTrace?Error.captureStackTrace(this,this.constructor):this.stack=(new Error).stack,this.message=t,this.name="AxiosError",e&&(this.code=e),n&&(this.config=n),r&&(this.request=r),o&&(this.response=o)}P.inherits(M,Error,{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:P.toJSONObject(this.config),code:this.code,status:this.response&&this.response.status?this.response.status:null}}});const H=M.prototype,U={};["ERR_BAD_OPTION_VALUE","ERR_BAD_OPTION","ECONNABORTED","ETIMEDOUT","ERR_NETWORK","ERR_FR_TOO_MANY_REDIRECTS","ERR_DEPRECATED","ERR_BAD_RESPONSE","ERR_BAD_REQUEST","ERR_CANCELED","ERR_NOT_SUPPORT","ERR_INVALID_URL"].forEach((t=>{U[t]={value:t}})),Object.defineProperties(M,U),Object.defineProperty(H,"isAxiosError",{value:!0}),M.from=(t,e,n,r,o,i)=>{const a=Object.create(H);return P.toFlatObject(t,a,(function(t){return t!==Error.prototype}),(t=>"isAxiosError"!==t)),M.call(a,t.message,e,n,r,o),a.cause=t,a.name=t.name,i&&Object.assign(a,i),a};const W=M;var q=n(287).hp;function z(t){return P.isPlainObject(t)||P.isArray(t)}function $(t){return P.endsWith(t,"[]")?t.slice(0,-2):t}function V(t,e,n){return t?t.concat(e).map((function(t,e){return t=$(t),!n&&e?"["+t+"]":t})).join(n?".":""):e}const X=P.toFlatObject(P,{},null,(function(t){return/^is[A-Z]/.test(t)}));const J=function(t,e,n){if(!P.isObject(t))throw new TypeError("target must be an object");e=e||new FormData;const r=(n=P.toFlatObject(n,{metaTokens:!0,dots:!1,indexes:!1},!1,(function(t,e){return!P.isUndefined(e[t])}))).metaTokens,o=n.visitor||u,i=n.dots,a=n.indexes,s=(n.Blob||"undefined"!=typeof Blob&&Blob)&&P.isSpecCompliantForm(e);if(!P.isFunction(o))throw new TypeError("visitor must be a function");function l(t){if(null===t)return"";if(P.isDate(t))return t.toISOString();if(!s&&P.isBlob(t))throw new W("Blob is not supported. Use a Buffer instead.");return P.isArrayBuffer(t)||P.isTypedArray(t)?s&&"function"==typeof Blob?new Blob([t]):q.from(t):t}function u(t,n,o){let s=t;if(t&&!o&&"object"==typeof t)if(P.endsWith(n,"{}"))n=r?n:n.slice(0,-2),t=JSON.stringify(t);else if(P.isArray(t)&&function(t){return P.isArray(t)&&!t.some(z)}(t)||(P.isFileList(t)||P.endsWith(n,"[]"))&&(s=P.toArray(t)))return n=$(n),s.forEach((function(t,r){!P.isUndefined(t)&&null!==t&&e.append(!0===a?V([n],r,i):null===a?n:n+"[]",l(t))})),!1;return!!z(t)||(e.append(V(o,n,i),l(t)),!1)}const c=[],f=Object.assign(X,{defaultVisitor:u,convertValue:l,isVisitable:z});if(!P.isObject(t))throw new TypeError("data must be an object");return function t(n,r){if(!P.isUndefined(n)){if(-1!==c.indexOf(n))throw Error("Circular reference detected in "+r.join("."));c.push(n),P.forEach(n,(function(n,i){!0===(!(P.isUndefined(n)||null===n)&&o.call(e,n,P.isString(i)?i.trim():i,r,f))&&t(n,r?r.concat(i):[i])})),c.pop()}}(t),e};function G(t){const e={"!":"%21","'":"%27","(":"%28",")":"%29","~":"%7E","%20":"+","%00":"\0"};return encodeURIComponent(t).replace(/[!'()~]|%20|%00/g,(function(t){return e[t]}))}function K(t,e){this._pairs=[],t&&J(t,this,e)}const Y=K.prototype;Y.append=function(t,e){this._pairs.push([t,e])},Y.toString=function(t){const e=t?function(e){return t.call(this,e,G)}:G;return this._pairs.map((function(t){return e(t[0])+"="+e(t[1])}),"").join("&")};const Z=K;function Q(t){return encodeURIComponent(t).replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%20/g,"+").replace(/%5B/gi,"[").replace(/%5D/gi,"]")}function tt(t,e,n){if(!e)return t;const r=n&&n.encode||Q,o=n&&n.serialize;let i;if(i=o?o(e,n):P.isURLSearchParams(e)?e.toString():new Z(e,n).toString(r),i){const e=t.indexOf("#");-1!==e&&(t=t.slice(0,e)),t+=(-1===t.indexOf("?")?"?":"&")+i}return t}const et=class{constructor(){this.handlers=[]}use(t,e,n){return this.handlers.push({fulfilled:t,rejected:e,synchronous:!!n&&n.synchronous,runWhen:n?n.runWhen:null}),this.handlers.length-1}eject(t){this.handlers[t]&&(this.handlers[t]=null)}clear(){this.handlers&&(this.handlers=[])}forEach(t){P.forEach(this.handlers,(function(e){null!==e&&t(e)}))}},nt={silentJSONParsing:!0,forcedJSONParsing:!0,clarifyTimeoutError:!1},rt={isBrowser:!0,classes:{URLSearchParams:"undefined"!=typeof URLSearchParams?URLSearchParams:Z,FormData:"undefined"!=typeof FormData?FormData:null,Blob:"undefined"!=typeof Blob?Blob:null},protocols:["http","https","file","blob","url","data"]},ot="undefined"!=typeof window&&"undefined"!=typeof document,it=(at="undefined"!=typeof navigator&&navigator.product,ot&&["ReactNative","NativeScript","NS"].indexOf(at)<0);var at;const st="undefined"!=typeof WorkerGlobalScope&&self instanceof WorkerGlobalScope&&"function"==typeof self.importScripts,lt={...r,...rt};const ut=function(t){function e(t,n,r,o){let i=t[o++];if("__proto__"===i)return!0;const a=Number.isFinite(+i),s=o>=t.length;if(i=!i&&P.isArray(r)?r.length:i,s)return P.hasOwnProp(r,i)?r[i]=[r[i],n]:r[i]=n,!a;r[i]&&P.isObject(r[i])||(r[i]=[]);return e(t,n,r[i],o)&&P.isArray(r[i])&&(r[i]=function(t){const e={},n=Object.keys(t);let r;const o=n.length;let i;for(r=0;r{e(function(t){return P.matchAll(/\w+|\[(\w*)]/g,t).map((t=>"[]"===t[0]?"":t[1]||t[0]))}(t),r,n,0)})),n}return null};const ct={transitional:nt,adapter:["xhr","http"],transformRequest:[function(t,e){const n=e.getContentType()||"",r=n.indexOf("application/json")>-1,o=P.isObject(t);o&&P.isHTMLForm(t)&&(t=new FormData(t));if(P.isFormData(t))return r?JSON.stringify(ut(t)):t;if(P.isArrayBuffer(t)||P.isBuffer(t)||P.isStream(t)||P.isFile(t)||P.isBlob(t))return t;if(P.isArrayBufferView(t))return t.buffer;if(P.isURLSearchParams(t))return e.setContentType("application/x-www-form-urlencoded;charset=utf-8",!1),t.toString();let i;if(o){if(n.indexOf("application/x-www-form-urlencoded")>-1)return function(t,e){return J(t,new lt.classes.URLSearchParams,Object.assign({visitor:function(t,e,n,r){return lt.isNode&&P.isBuffer(t)?(this.append(e,t.toString("base64")),!1):r.defaultVisitor.apply(this,arguments)}},e))}(t,this.formSerializer).toString();if((i=P.isFileList(t))||n.indexOf("multipart/form-data")>-1){const e=this.env&&this.env.FormData;return J(i?{"files[]":t}:t,e&&new e,this.formSerializer)}}return o||r?(e.setContentType("application/json",!1),function(t,e,n){if(P.isString(t))try{return(e||JSON.parse)(t),P.trim(t)}catch(t){if("SyntaxError"!==t.name)throw t}return(n||JSON.stringify)(t)}(t)):t}],transformResponse:[function(t){const e=this.transitional||ct.transitional,n=e&&e.forcedJSONParsing,r="json"===this.responseType;if(t&&P.isString(t)&&(n&&!this.responseType||r)){const n=!(e&&e.silentJSONParsing)&&r;try{return JSON.parse(t)}catch(t){if(n){if("SyntaxError"===t.name)throw W.from(t,W.ERR_BAD_RESPONSE,this,null,this.response);throw t}}}return t}],timeout:0,xsrfCookieName:"XSRF-TOKEN",xsrfHeaderName:"X-XSRF-TOKEN",maxContentLength:-1,maxBodyLength:-1,env:{FormData:lt.classes.FormData,Blob:lt.classes.Blob},validateStatus:function(t){return t>=200&&t<300},headers:{common:{Accept:"application/json, text/plain, */*","Content-Type":void 0}}};P.forEach(["delete","get","head","post","put","patch"],(t=>{ct.headers[t]={}}));const ft=ct,dt=P.toObjectSet(["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"]),pt=Symbol("internals");function ht(t){return t&&String(t).trim().toLowerCase()}function vt(t){return!1===t||null==t?t:P.isArray(t)?t.map(vt):String(t)}function mt(t,e,n,r,o){return P.isFunction(r)?r.call(this,e,n):(o&&(e=n),P.isString(e)?P.isString(r)?-1!==e.indexOf(r):P.isRegExp(r)?r.test(e):void 0:void 0)}class gt{constructor(t){t&&this.set(t)}set(t,e,n){const r=this;function o(t,e,n){const o=ht(e);if(!o)throw new Error("header name must be a non-empty string");const i=P.findKey(r,o);(!i||void 0===r[i]||!0===n||void 0===n&&!1!==r[i])&&(r[i||e]=vt(t))}const i=(t,e)=>P.forEach(t,((t,n)=>o(t,n,e)));return P.isPlainObject(t)||t instanceof this.constructor?i(t,e):P.isString(t)&&(t=t.trim())&&!/^[-_a-zA-Z0-9^`|~,!#$%&'*+.]+$/.test(t.trim())?i((t=>{const e={};let n,r,o;return t&&t.split("\n").forEach((function(t){o=t.indexOf(":"),n=t.substring(0,o).trim().toLowerCase(),r=t.substring(o+1).trim(),!n||e[n]&&dt[n]||("set-cookie"===n?e[n]?e[n].push(r):e[n]=[r]:e[n]=e[n]?e[n]+", "+r:r)})),e})(t),e):null!=t&&o(e,t,n),this}get(t,e){if(t=ht(t)){const n=P.findKey(this,t);if(n){const t=this[n];if(!e)return t;if(!0===e)return function(t){const e=Object.create(null),n=/([^\s,;=]+)\s*(?:=\s*([^,;]+))?/g;let r;for(;r=n.exec(t);)e[r[1]]=r[2];return e}(t);if(P.isFunction(e))return e.call(this,t,n);if(P.isRegExp(e))return e.exec(t);throw new TypeError("parser must be boolean|regexp|function")}}}has(t,e){if(t=ht(t)){const n=P.findKey(this,t);return!(!n||void 0===this[n]||e&&!mt(0,this[n],n,e))}return!1}delete(t,e){const n=this;let r=!1;function o(t){if(t=ht(t)){const o=P.findKey(n,t);!o||e&&!mt(0,n[o],o,e)||(delete n[o],r=!0)}}return P.isArray(t)?t.forEach(o):o(t),r}clear(t){const e=Object.keys(this);let n=e.length,r=!1;for(;n--;){const o=e[n];t&&!mt(0,this[o],o,t,!0)||(delete this[o],r=!0)}return r}normalize(t){const e=this,n={};return P.forEach(this,((r,o)=>{const i=P.findKey(n,o);if(i)return e[i]=vt(r),void delete e[o];const a=t?function(t){return t.trim().toLowerCase().replace(/([a-z\d])(\w*)/g,((t,e,n)=>e.toUpperCase()+n))}(o):String(o).trim();a!==o&&delete e[o],e[a]=vt(r),n[a]=!0})),this}concat(...t){return this.constructor.concat(this,...t)}toJSON(t){const e=Object.create(null);return P.forEach(this,((n,r)=>{null!=n&&!1!==n&&(e[r]=t&&P.isArray(n)?n.join(", "):n)})),e}[Symbol.iterator](){return Object.entries(this.toJSON())[Symbol.iterator]()}toString(){return Object.entries(this.toJSON()).map((([t,e])=>t+": "+e)).join("\n")}get[Symbol.toStringTag](){return"AxiosHeaders"}static from(t){return t instanceof this?t:new this(t)}static concat(t,...e){const n=new this(t);return e.forEach((t=>n.set(t))),n}static accessor(t){const e=(this[pt]=this[pt]={accessors:{}}).accessors,n=this.prototype;function r(t){const r=ht(t);e[r]||(!function(t,e){const n=P.toCamelCase(" "+e);["get","set","has"].forEach((r=>{Object.defineProperty(t,r+n,{value:function(t,n,o){return this[r].call(this,e,t,n,o)},configurable:!0})}))}(n,t),e[r]=!0)}return P.isArray(t)?t.forEach(r):r(t),this}}gt.accessor(["Content-Type","Content-Length","Accept","Accept-Encoding","User-Agent","Authorization"]),P.reduceDescriptors(gt.prototype,(({value:t},e)=>{let n=e[0].toUpperCase()+e.slice(1);return{get:()=>t,set(t){this[n]=t}}})),P.freezeMethods(gt);const yt=gt;function bt(t,e){const n=this||ft,r=e||n,o=yt.from(r.headers);let i=r.data;return P.forEach(t,(function(t){i=t.call(n,i,o.normalize(),e?e.status:void 0)})),o.normalize(),i}function wt(t){return!(!t||!t.__CANCEL__)}function xt(t,e,n){W.call(this,null==t?"canceled":t,W.ERR_CANCELED,e,n),this.name="CanceledError"}P.inherits(xt,W,{__CANCEL__:!0});const _t=xt;const St=lt.hasStandardBrowserEnv?{write(t,e,n,r,o,i){const a=[t+"="+encodeURIComponent(e)];P.isNumber(n)&&a.push("expires="+new Date(n).toGMTString()),P.isString(r)&&a.push("path="+r),P.isString(o)&&a.push("domain="+o),!0===i&&a.push("secure"),document.cookie=a.join("; ")},read(t){const e=document.cookie.match(new RegExp("(^|;\\s*)("+t+")=([^;]*)"));return e?decodeURIComponent(e[3]):null},remove(t){this.write(t,"",Date.now()-864e5)}}:{write(){},read:()=>null,remove(){}};function At(t,e){return t&&!/^([a-z][a-z\d+\-.]*:)?\/\//i.test(e)?function(t,e){return e?t.replace(/\/?\/$/,"")+"/"+e.replace(/^\/+/,""):t}(t,e):e}const Tt=lt.hasStandardBrowserEnv?function(){const t=/(msie|trident)/i.test(navigator.userAgent),e=document.createElement("a");let n;function r(n){let r=n;return t&&(e.setAttribute("href",r),r=e.href),e.setAttribute("href",r),{href:e.href,protocol:e.protocol?e.protocol.replace(/:$/,""):"",host:e.host,search:e.search?e.search.replace(/^\?/,""):"",hash:e.hash?e.hash.replace(/^#/,""):"",hostname:e.hostname,port:e.port,pathname:"/"===e.pathname.charAt(0)?e.pathname:"/"+e.pathname}}return n=r(window.location.href),function(t){const e=P.isString(t)?r(t):t;return e.protocol===n.protocol&&e.host===n.host}}():function(){return!0};const Ct=function(t,e){t=t||10;const n=new Array(t),r=new Array(t);let o,i=0,a=0;return e=void 0!==e?e:1e3,function(s){const l=Date.now(),u=r[a];o||(o=l),n[i]=s,r[i]=l;let c=a,f=0;for(;c!==i;)f+=n[c++],c%=t;if(i=(i+1)%t,i===a&&(a=(a+1)%t),l-o{const i=o.loaded,a=o.lengthComputable?o.total:void 0,s=i-n,l=r(s);n=i;const u={loaded:i,total:a,progress:a?i/a:void 0,bytes:s,rate:l||void 0,estimated:l&&a&&i<=a?(a-i)/l:void 0,event:o};u[e?"download":"upload"]=!0,t(u)}}const It={http:null,xhr:"undefined"!=typeof XMLHttpRequest&&function(t){return new Promise((function(e,n){let r=t.data;const o=yt.from(t.headers).normalize();let i,a,{responseType:s,withXSRFToken:l}=t;function u(){t.cancelToken&&t.cancelToken.unsubscribe(i),t.signal&&t.signal.removeEventListener("abort",i)}if(P.isFormData(r))if(lt.hasStandardBrowserEnv||lt.hasStandardBrowserWebWorkerEnv)o.setContentType(!1);else if(!1!==(a=o.getContentType())){const[t,...e]=a?a.split(";").map((t=>t.trim())).filter(Boolean):[];o.setContentType([t||"multipart/form-data",...e].join("; "))}let c=new XMLHttpRequest;if(t.auth){const e=t.auth.username||"",n=t.auth.password?unescape(encodeURIComponent(t.auth.password)):"";o.set("Authorization","Basic "+btoa(e+":"+n))}const f=At(t.baseURL,t.url);function d(){if(!c)return;const r=yt.from("getAllResponseHeaders"in c&&c.getAllResponseHeaders());!function(t,e,n){const r=n.config.validateStatus;n.status&&r&&!r(n.status)?e(new W("Request failed with status code "+n.status,[W.ERR_BAD_REQUEST,W.ERR_BAD_RESPONSE][Math.floor(n.status/100)-4],n.config,n.request,n)):t(n)}((function(t){e(t),u()}),(function(t){n(t),u()}),{data:s&&"text"!==s&&"json"!==s?c.response:c.responseText,status:c.status,statusText:c.statusText,headers:r,config:t,request:c}),c=null}if(c.open(t.method.toUpperCase(),tt(f,t.params,t.paramsSerializer),!0),c.timeout=t.timeout,"onloadend"in c?c.onloadend=d:c.onreadystatechange=function(){c&&4===c.readyState&&(0!==c.status||c.responseURL&&0===c.responseURL.indexOf("file:"))&&setTimeout(d)},c.onabort=function(){c&&(n(new W("Request aborted",W.ECONNABORTED,t,c)),c=null)},c.onerror=function(){n(new W("Network Error",W.ERR_NETWORK,t,c)),c=null},c.ontimeout=function(){let e=t.timeout?"timeout of "+t.timeout+"ms exceeded":"timeout exceeded";const r=t.transitional||nt;t.timeoutErrorMessage&&(e=t.timeoutErrorMessage),n(new W(e,r.clarifyTimeoutError?W.ETIMEDOUT:W.ECONNABORTED,t,c)),c=null},lt.hasStandardBrowserEnv&&(l&&P.isFunction(l)&&(l=l(t)),l||!1!==l&&Tt(f))){const e=t.xsrfHeaderName&&t.xsrfCookieName&&St.read(t.xsrfCookieName);e&&o.set(t.xsrfHeaderName,e)}void 0===r&&o.setContentType(null),"setRequestHeader"in c&&P.forEach(o.toJSON(),(function(t,e){c.setRequestHeader(e,t)})),P.isUndefined(t.withCredentials)||(c.withCredentials=!!t.withCredentials),s&&"json"!==s&&(c.responseType=t.responseType),"function"==typeof t.onDownloadProgress&&c.addEventListener("progress",Dt(t.onDownloadProgress,!0)),"function"==typeof t.onUploadProgress&&c.upload&&c.upload.addEventListener("progress",Dt(t.onUploadProgress)),(t.cancelToken||t.signal)&&(i=e=>{c&&(n(!e||e.type?new _t(null,t,c):e),c.abort(),c=null)},t.cancelToken&&t.cancelToken.subscribe(i),t.signal&&(t.signal.aborted?i():t.signal.addEventListener("abort",i)));const p=function(t){const e=/^([-+\w]{1,25})(:?\/\/|:)/.exec(t);return e&&e[1]||""}(f);p&&-1===lt.protocols.indexOf(p)?n(new W("Unsupported protocol "+p+":",W.ERR_BAD_REQUEST,t)):c.send(r||null)}))}};P.forEach(It,((t,e)=>{if(t){try{Object.defineProperty(t,"name",{value:e})}catch(t){}Object.defineProperty(t,"adapterName",{value:e})}}));const kt=t=>`- ${t}`,Et=t=>P.isFunction(t)||null===t||!1===t,Ft=t=>{t=P.isArray(t)?t:[t];const{length:e}=t;let n,r;const o={};for(let i=0;i`adapter ${t} `+(!1===e?"is not supported by the environment":"is not available in the build")));let n=e?t.length>1?"since :\n"+t.map(kt).join("\n"):" "+kt(t[0]):"as no adapter specified";throw new W("There is no suitable adapter to dispatch the request "+n,"ERR_NOT_SUPPORT")}return r};function Ot(t){if(t.cancelToken&&t.cancelToken.throwIfRequested(),t.signal&&t.signal.aborted)throw new _t(null,t)}function jt(t){Ot(t),t.headers=yt.from(t.headers),t.data=bt.call(t,t.transformRequest),-1!==["post","put","patch"].indexOf(t.method)&&t.headers.setContentType("application/x-www-form-urlencoded",!1);return Ft(t.adapter||ft.adapter)(t).then((function(e){return Ot(t),e.data=bt.call(t,t.transformResponse,e),e.headers=yt.from(e.headers),e}),(function(e){return wt(e)||(Ot(t),e&&e.response&&(e.response.data=bt.call(t,t.transformResponse,e.response),e.response.headers=yt.from(e.response.headers))),Promise.reject(e)}))}const Nt=t=>t instanceof yt?{...t}:t;function Rt(t,e){e=e||{};const n={};function r(t,e,n){return P.isPlainObject(t)&&P.isPlainObject(e)?P.merge.call({caseless:n},t,e):P.isPlainObject(e)?P.merge({},e):P.isArray(e)?e.slice():e}function o(t,e,n){return P.isUndefined(e)?P.isUndefined(t)?void 0:r(void 0,t,n):r(t,e,n)}function i(t,e){if(!P.isUndefined(e))return r(void 0,e)}function a(t,e){return P.isUndefined(e)?P.isUndefined(t)?void 0:r(void 0,t):r(void 0,e)}function s(n,o,i){return i in e?r(n,o):i in t?r(void 0,n):void 0}const l={url:i,method:i,data:i,baseURL:a,transformRequest:a,transformResponse:a,paramsSerializer:a,timeout:a,timeoutMessage:a,withCredentials:a,withXSRFToken:a,adapter:a,responseType:a,xsrfCookieName:a,xsrfHeaderName:a,onUploadProgress:a,onDownloadProgress:a,decompress:a,maxContentLength:a,maxBodyLength:a,beforeRedirect:a,transport:a,httpAgent:a,httpsAgent:a,cancelToken:a,socketPath:a,responseEncoding:a,validateStatus:s,headers:(t,e)=>o(Nt(t),Nt(e),!0)};return P.forEach(Object.keys(Object.assign({},t,e)),(function(r){const i=l[r]||o,a=i(t[r],e[r],r);P.isUndefined(a)&&i!==s||(n[r]=a)})),n}const Lt="1.6.8",Bt={};["object","boolean","number","function","string","symbol"].forEach(((t,e)=>{Bt[t]=function(n){return typeof n===t||"a"+(e<1?"n ":" ")+t}}));const Pt={};Bt.transitional=function(t,e,n){function r(t,e){return"[Axios v1.6.8] Transitional option '"+t+"'"+e+(n?". "+n:"")}return(n,o,i)=>{if(!1===t)throw new W(r(o," has been removed"+(e?" in "+e:"")),W.ERR_DEPRECATED);return e&&!Pt[o]&&(Pt[o]=!0,console.warn(r(o," has been deprecated since v"+e+" and will be removed in the near future"))),!t||t(n,o,i)}};const Mt={assertOptions:function(t,e,n){if("object"!=typeof t)throw new W("options must be an object",W.ERR_BAD_OPTION_VALUE);const r=Object.keys(t);let o=r.length;for(;o-- >0;){const i=r[o],a=e[i];if(a){const e=t[i],n=void 0===e||a(e,i,t);if(!0!==n)throw new W("option "+i+" must be "+n,W.ERR_BAD_OPTION_VALUE)}else if(!0!==n)throw new W("Unknown option "+i,W.ERR_BAD_OPTION)}},validators:Bt},Ht=Mt.validators;class Ut{constructor(t){this.defaults=t,this.interceptors={request:new et,response:new et}}async request(t,e){try{return await this._request(t,e)}catch(t){if(t instanceof Error){let e;Error.captureStackTrace?Error.captureStackTrace(e={}):e=new Error;const n=e.stack?e.stack.replace(/^.+\n/,""):"";t.stack?n&&!String(t.stack).endsWith(n.replace(/^.+\n.+\n/,""))&&(t.stack+="\n"+n):t.stack=n}throw t}}_request(t,e){"string"==typeof t?(e=e||{}).url=t:e=t||{},e=Rt(this.defaults,e);const{transitional:n,paramsSerializer:r,headers:o}=e;void 0!==n&&Mt.assertOptions(n,{silentJSONParsing:Ht.transitional(Ht.boolean),forcedJSONParsing:Ht.transitional(Ht.boolean),clarifyTimeoutError:Ht.transitional(Ht.boolean)},!1),null!=r&&(P.isFunction(r)?e.paramsSerializer={serialize:r}:Mt.assertOptions(r,{encode:Ht.function,serialize:Ht.function},!0)),e.method=(e.method||this.defaults.method||"get").toLowerCase();let i=o&&P.merge(o.common,o[e.method]);o&&P.forEach(["delete","get","head","post","put","patch","common"],(t=>{delete o[t]})),e.headers=yt.concat(i,o);const a=[];let s=!0;this.interceptors.request.forEach((function(t){"function"==typeof t.runWhen&&!1===t.runWhen(e)||(s=s&&t.synchronous,a.unshift(t.fulfilled,t.rejected))}));const l=[];let u;this.interceptors.response.forEach((function(t){l.push(t.fulfilled,t.rejected)}));let c,f=0;if(!s){const t=[jt.bind(this),void 0];for(t.unshift.apply(t,a),t.push.apply(t,l),c=t.length,u=Promise.resolve(e);f{if(!n._listeners)return;let e=n._listeners.length;for(;e-- >0;)n._listeners[e](t);n._listeners=null})),this.promise.then=t=>{let e;const r=new Promise((t=>{n.subscribe(t),e=t})).then(t);return r.cancel=function(){n.unsubscribe(e)},r},t((function(t,r,o){n.reason||(n.reason=new _t(t,r,o),e(n.reason))}))}throwIfRequested(){if(this.reason)throw this.reason}subscribe(t){this.reason?t(this.reason):this._listeners?this._listeners.push(t):this._listeners=[t]}unsubscribe(t){if(!this._listeners)return;const e=this._listeners.indexOf(t);-1!==e&&this._listeners.splice(e,1)}static source(){let t;return{token:new qt((function(e){t=e})),cancel:t}}}const zt=qt;const $t={Continue:100,SwitchingProtocols:101,Processing:102,EarlyHints:103,Ok:200,Created:201,Accepted:202,NonAuthoritativeInformation:203,NoContent:204,ResetContent:205,PartialContent:206,MultiStatus:207,AlreadyReported:208,ImUsed:226,MultipleChoices:300,MovedPermanently:301,Found:302,SeeOther:303,NotModified:304,UseProxy:305,Unused:306,TemporaryRedirect:307,PermanentRedirect:308,BadRequest:400,Unauthorized:401,PaymentRequired:402,Forbidden:403,NotFound:404,MethodNotAllowed:405,NotAcceptable:406,ProxyAuthenticationRequired:407,RequestTimeout:408,Conflict:409,Gone:410,LengthRequired:411,PreconditionFailed:412,PayloadTooLarge:413,UriTooLong:414,UnsupportedMediaType:415,RangeNotSatisfiable:416,ExpectationFailed:417,ImATeapot:418,MisdirectedRequest:421,UnprocessableEntity:422,Locked:423,FailedDependency:424,TooEarly:425,UpgradeRequired:426,PreconditionRequired:428,TooManyRequests:429,RequestHeaderFieldsTooLarge:431,UnavailableForLegalReasons:451,InternalServerError:500,NotImplemented:501,BadGateway:502,ServiceUnavailable:503,GatewayTimeout:504,HttpVersionNotSupported:505,VariantAlsoNegotiates:506,InsufficientStorage:507,LoopDetected:508,NotExtended:510,NetworkAuthenticationRequired:511};Object.entries($t).forEach((([t,e])=>{$t[e]=t}));const Vt=$t;const Xt=function t(e){const n=new Wt(e),r=o(Wt.prototype.request,n);return P.extend(r,Wt.prototype,n,{allOwnKeys:!0}),P.extend(r,n,null,{allOwnKeys:!0}),r.create=function(n){return t(Rt(e,n))},r}(ft);Xt.Axios=Wt,Xt.CanceledError=_t,Xt.CancelToken=zt,Xt.isCancel=wt,Xt.VERSION=Lt,Xt.toFormData=J,Xt.AxiosError=W,Xt.Cancel=Xt.CanceledError,Xt.all=function(t){return Promise.all(t)},Xt.spread=function(t){return function(e){return t.apply(null,e)}},Xt.isAxiosError=function(t){return P.isObject(t)&&!0===t.isAxiosError},Xt.mergeConfig=Rt,Xt.AxiosHeaders=yt,Xt.formToJSON=t=>ut(P.isHTMLForm(t)?new FormData(t):t),Xt.getAdapter=Ft,Xt.HttpStatusCode=Vt,Xt.default=Xt;const Jt=Xt;window._=n(543);try{window.$=window.jQuery=n(692),window.Popper=n(769),window.bootstrap=n(747)}catch(t){}window.axios=Jt,window.axios.defaults.headers.common["X-Requested-With"]="XMLHttpRequest";var Gt,Kt,Yt,Zt,Qt=n(692),te=Qt,ee=function(t,e){if(ee.factory(t,e))return ee;if(this instanceof ee)return te(t).DataTable(e);e=t,this.$=function(t,e){return this.api(!0).$(t,e)},this._=function(t,e){return this.api(!0).rows(t,e).data()},this.api=function(t){return new Kt(t?nr(this[Gt.iApiIndex]):this)},this.fnAddData=function(t,e){var n=this.api(!0),r=Array.isArray(t)&&(Array.isArray(t[0])||te.isPlainObject(t[0]))?n.rows.add(t):n.row.add(t);return(void 0===e||e)&&n.draw(),r.flatten().toArray()},this.fnAdjustColumnSizing=function(t){var e=this.api(!0).columns.adjust(),n=e.settings()[0],r=n.oScroll;void 0===t||t?e.draw(!1):""===r.sX&&""===r.sY||Bn(n)},this.fnClearTable=function(t){var e=this.api(!0).clear();(void 0===t||t)&&e.draw()},this.fnClose=function(t){this.api(!0).row(t).child.hide()},this.fnDeleteRow=function(t,e,n){var r=this.api(!0),o=r.rows(t),i=o.settings()[0],a=i.aoData[o[0][0]];return o.remove(),e&&e.call(this,i,a),(void 0===n||n)&&r.draw(),a},this.fnDestroy=function(t){this.api(!0).destroy(t)},this.fnDraw=function(t){this.api(!0).draw(t)},this.fnFilter=function(t,e,n,r,o,i){var a=this.api(!0);null==e?a.search(t,n,r,i):a.column(e).search(t,n,r,i),a.draw()},this.fnGetData=function(t,e){var n=this.api(!0);if(void 0!==t){var r=t.nodeName?t.nodeName.toLowerCase():"";return void 0!==e||"td"==r||"th"==r?n.cell(t,e).data():n.row(t).data()||null}return n.data().toArray()},this.fnGetNodes=function(t){var e=this.api(!0);return void 0!==t?e.row(t).node():e.rows().nodes().flatten().toArray()},this.fnGetPosition=function(t){var e=this.api(!0),n=t.nodeName.toUpperCase();if("TR"==n)return e.row(t).index();if("TD"==n||"TH"==n){var r=e.cell(t).index();return[r.row,r.columnVisible,r.column]}return null},this.fnIsOpen=function(t){return this.api(!0).row(t).child.isShown()},this.fnOpen=function(t,e,n){return this.api(!0).row(t).child(e,n).show().child()[0]},this.fnPageChange=function(t,e){var n=this.api(!0).page(t);(void 0===e||e)&&n.draw(!1)},this.fnSetColumnVis=function(t,e,n){var r=this.api(!0).column(t).visible(e);(void 0===n||n)&&r.columns.adjust().draw()},this.fnSettings=function(){return nr(this[Gt.iApiIndex])},this.fnSort=function(t){this.api(!0).order(t).draw()},this.fnSortListener=function(t,e,n){this.api(!0).order.listener(t,e,n)},this.fnUpdate=function(t,e,n,r,o){var i=this.api(!0);return null==n?i.row(e).data(t):i.cell(e,n).data(t),(void 0===o||o)&&i.columns.adjust(),(void 0===r||r)&&i.draw(),0},this.fnVersionCheck=Gt.fnVersionCheck;var n=this,r=void 0===e,o=this.length;for(var i in r&&(e={}),this.oApi=this.internal=Gt.internal,ee.ext.internal)i&&(this[i]=Ur(i));return this.each((function(){var t,i=o>1?ir({},e,!0):e,a=0,s=this.getAttribute("id"),l=!1,u=ee.defaults,c=te(this);if("table"==this.nodeName.toLowerCase()){Te(u),Ce(u.column),_e(u,u,!0),_e(u.column,u.column,!0),_e(u,te.extend(i,c.data()),!0);var f=ee.settings;for(a=0,t=f.length;a").appendTo(c)),v.nTHead=r[0];var o=c.children("tbody");0===o.length&&(o=te("").insertAfter(r)),v.nTBody=o[0];var s=c.children("tfoot");if(0===s.length&&n.length>0&&(""!==v.oScroll.sX||""!==v.oScroll.sY)&&(s=te("").appendTo(c)),0===s.length||0===s.children().length?c.addClass(m.sNoFooter):s.length>0&&(v.nTFoot=s[0],an(v.aoFooter,v.nTFoot)),i.aaData)for(a=0;a/g,ie=/^\d{2,4}[\.\/\-]\d{1,2}[\.\/\-]\d{1,2}([T ]{1}\d{1,2}[:\.]\d{2}([\.:]\d{2})?)?$/,ae=new RegExp("(\\"+["/",".","*","+","?","|","(",")","[","]","{","}","\\","$","^","-"].join("|\\")+")","g"),se=/['\u00A0,$£€¥%\u2009\u202F\u20BD\u20a9\u20BArfkɃΞ]/gi,le=function(t){return!t||!0===t||"-"===t},ue=function(t){var e=parseInt(t,10);return!isNaN(e)&&isFinite(t)?e:null},ce=function(t,e){return ne[e]||(ne[e]=new RegExp(bn(e),"g")),"string"==typeof t&&"."!==e?t.replace(/\./g,"").replace(ne[e],"."):t},fe=function(t,e,n){var r=typeof t,o="string"===r;return"number"===r||"bigint"===r||(!!le(t)||(e&&o&&(t=ce(t,e)),n&&o&&(t=t.replace(se,"")),!isNaN(parseFloat(t))&&isFinite(t)))},de=function(t,e,n){if(le(t))return!0;var r=function(t){return le(t)||"string"==typeof t}(t);return r&&!!fe(ge(t),e,n)||null},pe=function(t,e,n){var r=[],o=0,i=t.length;if(void 0!==n)for(;o").css({position:"fixed",top:0,left:-1*te(window).scrollLeft(),height:1,width:1,overflow:"hidden"}).append(te("").css({position:"absolute",top:1,left:1,width:100,overflow:"scroll"}).append(te("").css({width:"100%",height:10}))).appendTo("body"),r=n.children(),o=r.children();e.barWidth=r[0].offsetWidth-r[0].clientWidth,e.bScrollOversize=100===o[0].offsetWidth&&100!==r[0].clientWidth,e.bScrollbarLeft=1!==Math.round(o.offset().left),e.bBounding=!!n[0].getBoundingClientRect().width,n.remove()}te.extend(t.oBrowser,ee.__browser),t.oScroll.iBarWidth=ee.__browser.barWidth}function Ie(t,e,n,r,o,i){var a,s=r,l=!1;for(void 0!==n&&(a=n,l=!0);s!==o;)t.hasOwnProperty(s)&&(a=l?e(a,t[s],s,t):t[s],l=!0,s+=i);return a}function ke(t,e){var n=ee.defaults.column,r=t.aoColumns.length,o=te.extend({},ee.models.oColumn,n,{nTh:e||document.createElement("th"),sTitle:n.sTitle?n.sTitle:e?e.innerHTML:"",aDataSort:n.aDataSort?n.aDataSort:[r],mData:n.mData?n.mData:r,idx:r});t.aoColumns.push(o);var i=t.aoPreSearchCols;i[r]=te.extend({},ee.models.oSearch,i[r]),Ee(t,r,te(e).data())}function Ee(t,e,n){var r=t.aoColumns[e],o=t.oClasses,i=te(r.nTh);if(!r.sWidthOrig){r.sWidthOrig=i.attr("width")||null;var a=(i.attr("style")||"").match(/width:\s*(\d+[pxem%]+)/);a&&(r.sWidthOrig=a[1])}if(null!=n){Ce(n),_e(ee.defaults.column,n,!0),void 0===n.mDataProp||n.mData||(n.mData=n.mDataProp),n.sType&&(r._sManualType=n.sType),n.className&&!n.sClass&&(n.sClass=n.className),n.sClass&&i.addClass(n.sClass);var s=r.sClass;te.extend(r,n),or(r,n,"sWidth","sWidthOrig"),s!==r.sClass&&(r.sClass=s+" "+r.sClass),void 0!==n.iDataSort&&(r.aDataSort=[n.iDataSort]),or(r,n,"aDataSort"),r.ariaTitle||(r.ariaTitle=i.attr("aria-label"))}var l=r.mData,u=$e(l),c=r.mRender?$e(r.mRender):null,f=function(t){return"string"==typeof t&&-1!==t.indexOf("@")};r._bAttrSrc=te.isPlainObject(l)&&(f(l.sort)||f(l.type)||f(l.filter)),r._setter=null,r.fnGetData=function(t,e,n){var r=u(t,e,void 0,n);return c&&e?c(r,e,t,n):r},r.fnSetData=function(t,e,n){return Ve(l)(t,e,n)},"number"==typeof l||r._isArrayHost||(t._rowReadObject=!0),t.oFeatures.bSort||(r.bSortable=!1,i.addClass(o.sSortableNone));var d=-1!==te.inArray("asc",r.asSorting),p=-1!==te.inArray("desc",r.asSorting);r.bSortable&&(d||p)?d&&!p?(r.sSortingClass=o.sSortableAsc,r.sSortingClassJUI=o.sSortJUIAscAllowed):!d&&p?(r.sSortingClass=o.sSortableDesc,r.sSortingClassJUI=o.sSortJUIDescAllowed):(r.sSortingClass=o.sSortable,r.sSortingClassJUI=o.sSortJUI):(r.sSortingClass=o.sSortableNone,r.sSortingClassJUI="")}function Fe(t){if(!1!==t.oFeatures.bAutoWidth){var e=t.aoColumns;Hn(t);for(var n=0,r=e.length;n=0;o--){var d=void 0!==(c=e[o]).target?c.target:void 0!==c.targets?c.targets:c.aTargets;for(Array.isArray(d)||(d=[d]),a=0,s=d.length;a=0){for(;f.length<=d[a];)ke(t);r(d[a],c)}else if("number"==typeof d[a]&&d[a]<0)r(f.length+d[a],c);else if("string"==typeof d[a])for(l=0,u=f.length;le&&t[o]--;-1!=r&&void 0===n&&t.splice(r,1)}function Ke(t,e,n,r){var o,i,a=t.aoData[e],s=function(n,r){for(;n.childNodes.length;)n.removeChild(n.firstChild);n.innerHTML=He(t,e,r,"display")};if("dom"!==n&&(n&&"auto"!==n||"dom"!==a.src)){var l=a.anCells;if(l)if(void 0!==r)s(l[r],r);else for(o=0,i=l.length;o").appendTo(a)),e=0,n=c.length;e=0;i--)t.aoColumns[i].bVisible||n||d[r].splice(i,1);p.push([])}for(r=0,o=d.length;r=t.fnRecordsDisplay()?0:n,t.iInitDisplayStart=-1)}(t);var n=lr(t,"aoPreDrawCallback","preDraw",[t]);if(-1===te.inArray(!1,n)){var r=[],o=0,i=t.asStripeClasses,a=i.length,s=t.oLanguage,l="ssp"==fr(t),u=t.aiDisplay,c=t._iDisplayStart,f=t.fnDisplayEnd();if(t.bDrawing=!0,t.bDeferLoading)t.bDeferLoading=!1,t.iDraw++,Rn(t,!1);else if(l){if(!t.bDestroying&&!e)return void un(t)}else t.iDraw++;if(0!==u.length)for(var d=l?0:c,p=l?t.aoData.length:f,h=d;h