From e0e2fbda052c4054c7aaa6985e940a08e65f7a7f Mon Sep 17 00:00:00 2001 From: Maxime Leclercq Date: Thu, 14 Mar 2024 13:54:15 +0100 Subject: [PATCH 01/12] feat: allow multiple shipping slot by method by saving the chosen --- src/Entity/Slot.php | 12 ++++++ src/Entity/SlotInterface.php | 4 ++ src/Generator/SlotGenerator.php | 1 + src/Migrations/Version20240314124625.php | 44 ++++++++++++++++++++++ src/Resources/config/doctrine/Slot.orm.xml | 3 ++ 5 files changed, 64 insertions(+) create mode 100644 src/Migrations/Version20240314124625.php diff --git a/src/Entity/Slot.php b/src/Entity/Slot.php index 75d2d6d..9460ec9 100644 --- a/src/Entity/Slot.php +++ b/src/Entity/Slot.php @@ -35,6 +35,8 @@ class Slot implements SlotInterface private ?ShipmentInterface $shipment = null; + private ?ShippingSlotConfigInterface $shippingSlotConfig = null; + public function getId(): ?int { return $this->id; @@ -126,4 +128,14 @@ public function getTimezone(): string return 'UTC'; } + + public function getShippingSlotConfig(): ?ShippingSlotConfigInterface + { + return $this->shippingSlotConfig; + } + + public function setShippingSlotConfig(?ShippingSlotConfigInterface $shippingSlotConfig): void + { + $this->shippingSlotConfig = $shippingSlotConfig; + } } diff --git a/src/Entity/SlotInterface.php b/src/Entity/SlotInterface.php index 51b9415..86b74a5 100644 --- a/src/Entity/SlotInterface.php +++ b/src/Entity/SlotInterface.php @@ -47,4 +47,8 @@ public function getSlotDelay(): int; public function isValid(): bool; public function getTimezone(): string; + + public function getShippingSlotConfig(): ?ShippingSlotConfigInterface; + + public function setShippingSlotConfig(?ShippingSlotConfigInterface $shippingSlotConfig): void; } diff --git a/src/Generator/SlotGenerator.php b/src/Generator/SlotGenerator.php index cbbb7de..f594b92 100644 --- a/src/Generator/SlotGenerator.php +++ b/src/Generator/SlotGenerator.php @@ -106,6 +106,7 @@ public function createFromCheckout( $slot->setDurationRange($shippingSlotConfig->getDurationRange()); $slot->setPickupDelay($shippingSlotConfig->getPickupDelay()); $slot->setPreparationDelay($shippingSlotConfig->getPreparationDelay()); + $slot->setShippingSlotConfig($shippingSlotConfig); $this->slotManager->persist($slot); $this->slotManager->flush(); diff --git a/src/Migrations/Version20240314124625.php b/src/Migrations/Version20240314124625.php new file mode 100644 index 0000000..dee6ac7 --- /dev/null +++ b/src/Migrations/Version20240314124625.php @@ -0,0 +1,44 @@ + + * + * For the full copyright and license information, please view the LICENSE.txt + * file that was distributed with this source code. + */ + +declare(strict_types=1); + +namespace MonsieurBiz\SyliusShippingSlotPlugin\Migrations; + +use Doctrine\DBAL\Schema\Schema; +use Doctrine\Migrations\AbstractMigration; + +/** + * Auto-generated Migration: Please modify to your needs! + */ +final class Version20240314124625 extends AbstractMigration +{ + public function getDescription(): string + { + return ''; + } + + public function up(Schema $schema): void + { + // this up() migration is auto-generated, please modify it to your needs + $this->addSql('ALTER TABLE monsieurbiz_shipping_slot_slot ADD shipping_slot_config_id INT DEFAULT NULL'); + $this->addSql('ALTER TABLE monsieurbiz_shipping_slot_slot ADD CONSTRAINT FK_3BD6F1F63890C4F5 FOREIGN KEY (shipping_slot_config_id) REFERENCES monsieurbiz_shipping_slot_config (id) ON DELETE SET NULL'); + $this->addSql('CREATE INDEX IDX_3BD6F1F63890C4F5 ON monsieurbiz_shipping_slot_slot (shipping_slot_config_id)'); + } + + public function down(Schema $schema): void + { + // this down() migration is auto-generated, please modify it to your needs + $this->addSql('ALTER TABLE monsieurbiz_shipping_slot_slot DROP FOREIGN KEY FK_3BD6F1F63890C4F5'); + $this->addSql('DROP INDEX IDX_3BD6F1F63890C4F5 ON monsieurbiz_shipping_slot_slot'); + $this->addSql('ALTER TABLE monsieurbiz_shipping_slot_slot DROP shipping_slot_config_id'); + } +} diff --git a/src/Resources/config/doctrine/Slot.orm.xml b/src/Resources/config/doctrine/Slot.orm.xml index a7b9b5f..04fb42a 100644 --- a/src/Resources/config/doctrine/Slot.orm.xml +++ b/src/Resources/config/doctrine/Slot.orm.xml @@ -18,5 +18,8 @@ + + + From 7f48014717ad0123acd9d4becf4e923e4e9d02a0 Mon Sep 17 00:00:00 2001 From: Maxime Leclercq Date: Thu, 14 Mar 2024 14:13:25 +0100 Subject: [PATCH 02/12] feat: return the shipping slot config for slot and use it in timezone --- src/Entity/Slot.php | 20 ++++++++++++++++---- 1 file changed, 16 insertions(+), 4 deletions(-) diff --git a/src/Entity/Slot.php b/src/Entity/Slot.php index 9460ec9..2c0fcc0 100644 --- a/src/Entity/Slot.php +++ b/src/Entity/Slot.php @@ -116,11 +116,9 @@ public function isValid(): bool */ public function getTimezone(): string { + $shippingSlotConfig = $this->getShippingSlotConfig(); if ( - null !== ($shipment = $this->getShipment()) - && null !== ($shippingMethod = $shipment->getMethod()) - && $shippingMethod instanceof ShippingMethodInterface - && null !== ($shippingSlotConfig = $shippingMethod->getShippingSlotConfig()) + null !== $shippingSlotConfig && null !== ($timezone = $shippingSlotConfig->getTimezone()) ) { return $timezone; @@ -129,8 +127,22 @@ public function getTimezone(): string return 'UTC'; } + /** + * @SuppressWarnings(PHPMD.CyclomaticComplexity) + */ public function getShippingSlotConfig(): ?ShippingSlotConfigInterface { + if (null === $this->shippingSlotConfig) { + if ( + null !== ($shipment = $this->getShipment()) + && null !== ($shippingMethod = $shipment->getMethod()) + && $shippingMethod instanceof ShippingMethodInterface + && null !== ($shippingSlotConfig = $shippingMethod->getShippingSlotConfig()) + ) { + $this->shippingSlotConfig = $shippingSlotConfig; + } + } + return $this->shippingSlotConfig; } From 96251e90706d1d9acb0047d31a988596c5ec3988 Mon Sep 17 00:00:00 2001 From: Maxime Leclercq Date: Thu, 14 Mar 2024 14:33:11 +0100 Subject: [PATCH 03/12] refactor: use getShippingSlotConfig method in templates --- src/Resources/views/Admin/Order/Show/_slot.html.twig | 5 +++-- .../Account/Order/Grid/Field/shippingInformation.html.twig | 2 +- src/Resources/views/Shop/Order/Common/_slot.html.twig | 2 +- 3 files changed, 5 insertions(+), 4 deletions(-) diff --git a/src/Resources/views/Admin/Order/Show/_slot.html.twig b/src/Resources/views/Admin/Order/Show/_slot.html.twig index fba88f5..492cb1f 100644 --- a/src/Resources/views/Admin/Order/Show/_slot.html.twig +++ b/src/Resources/views/Admin/Order/Show/_slot.html.twig @@ -1,11 +1,12 @@
- {% if slot.shipment.method.shippingSlotConfig is defined %} + {% set shipping_slot = slot.shippingSlotConfig|default(null) %} + {% if shipping_slot %}
- {{ slot.shipment.method.shippingSlotConfig.name }} + {{ shipping_slot.name }}
diff --git a/src/Resources/views/Shop/Account/Order/Grid/Field/shippingInformation.html.twig b/src/Resources/views/Shop/Account/Order/Grid/Field/shippingInformation.html.twig index 25251e7..c136dbe 100644 --- a/src/Resources/views/Shop/Account/Order/Grid/Field/shippingInformation.html.twig +++ b/src/Resources/views/Shop/Account/Order/Grid/Field/shippingInformation.html.twig @@ -3,7 +3,7 @@ {% include '@SyliusShop/Account/Order/Grid/Field/address.html.twig' with {'data': data.shippingAddress} %} {% else %} {% for slot in slots %} - {% set shipping_slot = slot.shipment.method.shippingSlotConfig|default(null) %} + {% set shipping_slot = slot.shippingSlotConfig|default(null) %} {% if shipping_slot is not null %} {{ shipping_slot.name }} {% endif %} diff --git a/src/Resources/views/Shop/Order/Common/_slot.html.twig b/src/Resources/views/Shop/Order/Common/_slot.html.twig index 4b07124..870f35f 100644 --- a/src/Resources/views/Shop/Order/Common/_slot.html.twig +++ b/src/Resources/views/Shop/Order/Common/_slot.html.twig @@ -1,5 +1,5 @@
- {% set shipping_slot = slot.shipment.method.shippingSlotConfig|default(null) %} + {% set shipping_slot = slot.shippingSlotConfig|default(null) %} {% if shipping_slot %} {{ shipping_slot.name }} {% endif %} From 065989dc79711856042a42566d83d668694ea8cf Mon Sep 17 00:00:00 2001 From: Maxime Leclercq Date: Thu, 14 Mar 2024 15:23:26 +0100 Subject: [PATCH 04/12] feat: add multiple slot config on the shipping methods --- dist/src/Entity/Shipping/ShippingMethod.php | 10 ++++- dist/src/Migrations/Version20240314135057.php | 44 +++++++++++++++++++ src/Entity/ShippingMethodInterface.php | 17 +++++++ src/Entity/ShippingMethodTrait.php | 36 +++++++++++++++ 4 files changed, 106 insertions(+), 1 deletion(-) create mode 100644 dist/src/Migrations/Version20240314135057.php diff --git a/dist/src/Entity/Shipping/ShippingMethod.php b/dist/src/Entity/Shipping/ShippingMethod.php index 07ece61..c2a4c0a 100644 --- a/dist/src/Entity/Shipping/ShippingMethod.php +++ b/dist/src/Entity/Shipping/ShippingMethod.php @@ -26,7 +26,15 @@ */ class ShippingMethod extends SyliusShippingMethod implements ShippingMethodInterface, MonsieurBizShippingMethodInterface { - use ShippingMethodTrait; + use ShippingMethodTrait { + ShippingMethodTrait::__construct as private shippingMethodTraitConstruct; + } + + public function __construct() + { + parent::__construct(); + $this->shippingMethodTraitConstruct(); + } protected function createTranslation(): ShippingMethodTranslationInterface { diff --git a/dist/src/Migrations/Version20240314135057.php b/dist/src/Migrations/Version20240314135057.php new file mode 100644 index 0000000..df8e11c --- /dev/null +++ b/dist/src/Migrations/Version20240314135057.php @@ -0,0 +1,44 @@ + + * + * For the full copyright and license information, please view the LICENSE.txt + * file that was distributed with this source code. + */ + +declare(strict_types=1); + +namespace App\Migrations; + +use Doctrine\DBAL\Schema\Schema; +use Doctrine\Migrations\AbstractMigration; + +/** + * Auto-generated Migration: Please modify to your needs! + */ +final class Version20240314135057 extends AbstractMigration +{ + public function getDescription(): string + { + return ''; + } + + public function up(Schema $schema): void + { + // this up() migration is auto-generated, please modify it to your needs + $this->addSql('CREATE TABLE monsieurbiz_shipping_slot_shipping_method (shipping_method_id INT NOT NULL, shipping_slot_config_id INT NOT NULL, INDEX IDX_57D36B055F7D6850 (shipping_method_id), INDEX IDX_57D36B053890C4F5 (shipping_slot_config_id), PRIMARY KEY(shipping_method_id, shipping_slot_config_id)) DEFAULT CHARACTER SET utf8mb4 COLLATE `utf8mb4_unicode_ci` ENGINE = InnoDB'); + $this->addSql('ALTER TABLE monsieurbiz_shipping_slot_shipping_method ADD CONSTRAINT FK_57D36B055F7D6850 FOREIGN KEY (shipping_method_id) REFERENCES sylius_shipping_method (id) ON DELETE CASCADE'); + $this->addSql('ALTER TABLE monsieurbiz_shipping_slot_shipping_method ADD CONSTRAINT FK_57D36B053890C4F5 FOREIGN KEY (shipping_slot_config_id) REFERENCES monsieurbiz_shipping_slot_config (id) ON DELETE CASCADE'); + } + + public function down(Schema $schema): void + { + // this down() migration is auto-generated, please modify it to your needs + $this->addSql('ALTER TABLE monsieurbiz_shipping_slot_shipping_method DROP FOREIGN KEY FK_57D36B055F7D6850'); + $this->addSql('ALTER TABLE monsieurbiz_shipping_slot_shipping_method DROP FOREIGN KEY FK_57D36B053890C4F5'); + $this->addSql('DROP TABLE monsieurbiz_shipping_slot_shipping_method'); + } +} diff --git a/src/Entity/ShippingMethodInterface.php b/src/Entity/ShippingMethodInterface.php index dffcf9b..ce25437 100644 --- a/src/Entity/ShippingMethodInterface.php +++ b/src/Entity/ShippingMethodInterface.php @@ -13,11 +13,28 @@ namespace MonsieurBiz\SyliusShippingSlotPlugin\Entity; +use Doctrine\Common\Collections\Collection; use Sylius\Component\Core\Model\ShippingMethodInterface as SyliusShippingMethodInterface; interface ShippingMethodInterface extends SyliusShippingMethodInterface { + /** + * @deprecated Use getShippingSlotConfigs instead + */ public function getShippingSlotConfig(): ?ShippingSlotConfigInterface; + /** + * @deprecated Use setShippingSlotConfigs instead + */ public function setShippingSlotConfig(ShippingSlotConfigInterface $shippingSlotConfig): void; + + /** + * @return Collection + */ + public function getShippingSlotConfigs(): Collection; + + /** + * @param Collection $shippingSlotConfigs + */ + public function setShippingSlotConfigs(Collection $shippingSlotConfigs): void; } diff --git a/src/Entity/ShippingMethodTrait.php b/src/Entity/ShippingMethodTrait.php index 6c04e76..903b511 100644 --- a/src/Entity/ShippingMethodTrait.php +++ b/src/Entity/ShippingMethodTrait.php @@ -13,23 +13,59 @@ namespace MonsieurBiz\SyliusShippingSlotPlugin\Entity; +use Doctrine\Common\Collections\ArrayCollection; +use Doctrine\Common\Collections\Collection; use Doctrine\ORM\Mapping as ORM; trait ShippingMethodTrait { /** + * @deprecated Use shippingSlotConfigs instead + * * @ORM\ManyToOne(targetEntity="\MonsieurBiz\SyliusShippingSlotPlugin\Entity\ShippingSlotConfigInterface") * @ORM\JoinColumn(name="shipping_slot_config_id", nullable=true, referencedColumnName="id", onDelete="SET NULL") */ private ?ShippingSlotConfigInterface $shippingSlotConfig = null; + /** + * @ORM\ManyToMany(targetEntity="\MonsieurBiz\SyliusShippingSlotPlugin\Entity\ShippingSlotConfigInterface") + * @ORM\JoinTable( + * name="monsieurbiz_shipping_slot_shipping_method", + * joinColumns={@ORM\JoinColumn(name="shipping_method_id", referencedColumnName="id", onDelete="CASCADE")}, + * inverseJoinColumns={@ORM\JoinColumn(name="shipping_slot_config_id", referencedColumnName="id", onDelete="CASCADE")} + * ) + */ + #[ORM\ManyToMany(targetEntity: ShippingSlotConfigInterface::class)] + #[ORM\JoinTable(name: 'monsieurbiz_shipping_slot_shipping_method')] + #[ORM\JoinColumn(name: 'shipping_method_id', referencedColumnName: 'id', onDelete: 'CASCADE')] + #[ORM\InverseJoinColumn(name: 'shipping_slot_config_id', referencedColumnName: 'id', onDelete: 'CASCADE')] + private Collection $shippingSlotConfigs; + + public function __construct() + { + $this->shippingSlotConfigs = new ArrayCollection(); + } + public function getShippingSlotConfig(): ?ShippingSlotConfigInterface { return $this->shippingSlotConfig; } + /** + * @deprecated Use setShippingSlotConfigs instead + */ public function setShippingSlotConfig(?ShippingSlotConfigInterface $shippingSlotConfig): void { $this->shippingSlotConfig = $shippingSlotConfig; } + + public function getShippingSlotConfigs(): Collection + { + return $this->shippingSlotConfigs; + } + + public function setShippingSlotConfigs(Collection $shippingSlotConfigs): void + { + $this->shippingSlotConfigs = $shippingSlotConfigs; + } } From c1038f45e954bb024d0c44ad7d760978e3fa4f66 Mon Sep 17 00:00:00 2001 From: Maxime Leclercq Date: Thu, 14 Mar 2024 15:24:36 +0100 Subject: [PATCH 05/12] feat: display multiple shipping slot in shipping method form --- src/Form/Extension/ShippingMethodTypeExtension.php | 6 ++++-- src/Resources/translations/messages.en.yaml | 2 +- src/Resources/translations/messages.fr.yaml | 2 +- .../ShippingMethod/shipping_slot_configuration.html.twig | 2 +- 4 files changed, 7 insertions(+), 5 deletions(-) diff --git a/src/Form/Extension/ShippingMethodTypeExtension.php b/src/Form/Extension/ShippingMethodTypeExtension.php index 409c4e2..458a399 100644 --- a/src/Form/Extension/ShippingMethodTypeExtension.php +++ b/src/Form/Extension/ShippingMethodTypeExtension.php @@ -16,6 +16,7 @@ use MonsieurBiz\SyliusShippingSlotPlugin\Form\Type\ShippingSlotConfigChoiceType; use Sylius\Bundle\ShippingBundle\Form\Type\ShippingMethodType; use Symfony\Component\Form\AbstractTypeExtension; +use Symfony\Component\Form\Extension\Core\Type\HiddenType; use Symfony\Component\Form\FormBuilderInterface; use Symfony\Component\Validator\Constraints as Assert; @@ -32,10 +33,11 @@ public static function getExtendedTypes(): iterable public function buildForm(FormBuilderInterface $builder, array $options): void { $builder - ->add('shippingSlotConfig', ShippingSlotConfigChoiceType::class, [ + ->add('shippingSlotConfigs', ShippingSlotConfigChoiceType::class, [ 'required' => false, - 'placeholder' => 'monsieurbiz_shipping_slot.ui.no_shipping_slot_config', 'label' => 'monsieurbiz_shipping_slot.ui.form.shipping_slot_config', + 'multiple' => true, + 'expanded' => true, 'constraints' => [ new Assert\Valid(), ], diff --git a/src/Resources/translations/messages.en.yaml b/src/Resources/translations/messages.en.yaml index 9de6c4c..c38a167 100644 --- a/src/Resources/translations/messages.en.yaml +++ b/src/Resources/translations/messages.en.yaml @@ -28,7 +28,7 @@ monsieurbiz_shipping_slot: duration_range: 'Duration range of the slot (in minutes)' available_spots: 'Available spots in a slot' color: 'Color' - shipping_slot_config: 'Slot configuration for shipping method' + shipping_slot_config: 'Slot configurations for shipping method' sylius: ui: partially_refunded: 'Partially refunded' diff --git a/src/Resources/translations/messages.fr.yaml b/src/Resources/translations/messages.fr.yaml index d91d0eb..4c212a8 100644 --- a/src/Resources/translations/messages.fr.yaml +++ b/src/Resources/translations/messages.fr.yaml @@ -28,7 +28,7 @@ monsieurbiz_shipping_slot: duration_range: 'Durée du créneau (en minutes)' available_spots: 'Nombre de places par créneaux' color: 'Couleur' - shipping_slot_config: 'Configuration de crénaux pour ce mode de livraison' + shipping_slot_config: 'Configurations de crénaux pour ce mode de livraison' sylius: ui: diff --git a/src/Resources/views/Admin/Form/ShippingMethod/shipping_slot_configuration.html.twig b/src/Resources/views/Admin/Form/ShippingMethod/shipping_slot_configuration.html.twig index 6c2bbf4..87de9a7 100644 --- a/src/Resources/views/Admin/Form/ShippingMethod/shipping_slot_configuration.html.twig +++ b/src/Resources/views/Admin/Form/ShippingMethod/shipping_slot_configuration.html.twig @@ -6,5 +6,5 @@ {{ 'monsieurbiz_shipping_slot.ui.use_shipping_slot_configuration' | trans }}
- {{ form_row(form.shippingSlotConfig) }} + {{ form_row(form.shippingSlotConfigs) }} From 7c71b00452473f6a367c8948099ef95b4fa5b0a2 Mon Sep 17 00:00:00 2001 From: Maxime Leclercq Date: Thu, 14 Mar 2024 15:26:17 +0100 Subject: [PATCH 06/12] feat: use the first shipping slot to keep working --- src/Controller/SlotController.php | 14 +++++++++++--- src/Generator/SlotGenerator.php | 2 +- .../views/Shop/ShippingMethod/calendar.html.twig | 2 +- 3 files changed, 13 insertions(+), 5 deletions(-) diff --git a/src/Controller/SlotController.php b/src/Controller/SlotController.php index 9d40530..edf103b 100644 --- a/src/Controller/SlotController.php +++ b/src/Controller/SlotController.php @@ -16,6 +16,7 @@ use DateTime; use Exception; use MonsieurBiz\SyliusShippingSlotPlugin\Entity\ShippingMethodInterface; +use MonsieurBiz\SyliusShippingSlotPlugin\Entity\ShippingSlotConfigInterface; use MonsieurBiz\SyliusShippingSlotPlugin\Generator\SlotGeneratorInterface; use Sylius\Component\Core\Repository\ShippingMethodRepositoryInterface; use Symfony\Bundle\FrameworkBundle\Controller\AbstractController; @@ -47,14 +48,14 @@ public function initAction(string $code): Response } // No need to load calendar if shipping method has no slot configuration - if (!($shipingSlotConfig = $shippingMethod->getShippingSlotConfig())) { + if (!($shippingSlotConfig = $this->getShippingSlotConfig($shippingMethod))) { return new JsonResponse(['code' => $code]); } return new JsonResponse([ 'code' => $code, 'events' => [], // Events are loaded dynamically when full calendar ask it - 'timezone' => $shipingSlotConfig->getTimezone() ?? 'UTC', + 'timezone' => $shippingSlotConfig->getTimezone() ?? 'UTC', ]); } @@ -68,7 +69,7 @@ public function listAction(string $code, string $fromDate, string $toDate): Resp } // Shipping method not compatible with shipping slots - if (null === $shippingMethod->getShippingSlotConfig()) { + if (null === $this->getShippingSlotConfig($shippingMethod)) { throw $this->createNotFoundException(sprintf('Shipping method "%s" is not compatible with shipping slots', $code)); } @@ -124,4 +125,11 @@ public function resetAction(Request $request): Response return new JsonResponse([]); } + + private function getShippingSlotConfig(ShippingMethodInterface $shippingMethod): ?ShippingSlotConfigInterface + { + $shippingSlotConfig = $shippingMethod->getShippingSlotConfigs()->first(); + + return $shippingSlotConfig ?: $shippingMethod->getShippingSlotConfig(); + } } diff --git a/src/Generator/SlotGenerator.php b/src/Generator/SlotGenerator.php index f594b92..35544c3 100644 --- a/src/Generator/SlotGenerator.php +++ b/src/Generator/SlotGenerator.php @@ -222,7 +222,7 @@ public function generateCalendarEvents( DateTimeInterface $startDate, DateTimeInterface $endDate ): array { - $shippingSlotConfig = $shippingMethod->getShippingSlotConfig(); + $shippingSlotConfig = $shippingMethod->getShippingSlotConfigs()->first() ?: $shippingMethod->getShippingSlotConfig(); if (null === $shippingSlotConfig) { return []; } diff --git a/src/Resources/views/Shop/ShippingMethod/calendar.html.twig b/src/Resources/views/Shop/ShippingMethod/calendar.html.twig index 24b8aad..74d68f9 100644 --- a/src/Resources/views/Shop/ShippingMethod/calendar.html.twig +++ b/src/Resources/views/Shop/ShippingMethod/calendar.html.twig @@ -1,4 +1,4 @@ -{% if (method.shippingSlotConfig) %} +{% if method.shippingSlotConfigs|length or method.shippingSlotConfig %} {% endif %} From 2a461a102dc5b894ccd0aa350104a1979fe8a8e4 Mon Sep 17 00:00:00 2001 From: Maxime Leclercq Date: Thu, 14 Mar 2024 15:28:37 +0100 Subject: [PATCH 07/12] doc: update installation guide for multiple slot config --- README.md | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index ae26f21..7b959f8 100644 --- a/README.md +++ b/README.md @@ -148,7 +148,15 @@ use Sylius\Component\Shipping\Model\ShippingMethodTranslationInterface; -class ShippingMethod extends BaseShippingMethod +class ShippingMethod extends BaseShippingMethod implements MonsieurBizShippingMethodInterface { -+ use ShippingMethodTrait; ++ use ShippingMethodTrait { ++ ShippingMethodTrait::__construct as private shippingMethodTraitConstruct; ++ } ++ ++ public function __construct() ++ { ++ parent::__construct(); ++ $this->shippingMethodTraitConstruct(); ++ } + protected function createTranslation(): ShippingMethodTranslationInterface { @@ -163,6 +171,13 @@ use Sylius\Component\Shipping\Model\ShippingMethodTranslationInterface; bin/console doctrine:migrations:migrate ``` +6. Generate the migration and update your database schema: + +```bash +bin/console doctrine:migrations:diff +bin/console doctrine:migrations:migrate +``` + ## Sponsors From 9f5ab3da26266b75896427237143c2193b259442 Mon Sep 17 00:00:00 2001 From: Maxime Leclercq Date: Fri, 15 Mar 2024 15:23:42 +0100 Subject: [PATCH 08/12] feat: display multiple shipping slot config in checkout to choose one --- assets/js/app.js | 76 ++++++++++++--- .../Checkout/SelectShipping/_choice.html.twig | 4 +- src/Controller/SlotController.php | 24 +++-- src/Form/Extension/ShipmentTypeExtension.php | 47 ++++++++++ .../Extension/ShippingMethodTypeExtension.php | 20 +++- src/Form/Type/ShippingSlotConfigsByMethod.php | 92 +++++++++++++++++++ src/Generator/SlotGenerator.php | 20 +++- src/Generator/SlotGeneratorInterface.php | 6 +- src/Resolver/ShippingSlotConfigResolver.php | 30 ++++++ .../ShippingSlotConfigResolverInterface.php | 22 +++++ src/Resources/config/routing/shop.yaml | 6 +- src/Resources/config/services.yaml | 6 ++ src/Resources/public/js/shipping-slot-js.js | 20 ++-- .../ShippingSlot/_slotConfig.html.twig | 1 + .../Shop/ShippingMethod/calendar.html.twig | 4 + src/Resources/views/Shop/app.html.twig | 8 +- .../Checkout/SelectShipping/_choice.html.twig | 4 +- 17 files changed, 343 insertions(+), 47 deletions(-) create mode 100644 src/Form/Extension/ShipmentTypeExtension.php create mode 100644 src/Form/Type/ShippingSlotConfigsByMethod.php create mode 100644 src/Resolver/ShippingSlotConfigResolver.php create mode 100644 src/Resolver/ShippingSlotConfigResolverInterface.php create mode 100644 src/Resources/views/Shop/ShippingMethod/ShippingSlot/_slotConfig.html.twig diff --git a/assets/js/app.js b/assets/js/app.js index 28ea545..3188750 100644 --- a/assets/js/app.js +++ b/assets/js/app.js @@ -18,7 +18,8 @@ global.MonsieurBizShippingSlotManager = class { listSlotsUrl, saveSlotUrl, resetSlotUrl, - slotSelectError + slotSelectError, + shippingSlotConfigSelects, ) { this.shippingMethodInputs = shippingMethodInputs; this.nextStepButtons = nextStepButtons; @@ -33,6 +34,7 @@ global.MonsieurBizShippingSlotManager = class { this.saveSlotUrl = saveSlotUrl; this.resetSlotUrl = resetSlotUrl; this.slotSelectError = slotSelectError; + this.shippingSlotConfigSelects = shippingSlotConfigSelects; this.previousSlot = null; this.initShippingMethodInputs(); } @@ -41,10 +43,25 @@ global.MonsieurBizShippingSlotManager = class { for (let shippingMethodInput of this.shippingMethodInputs) { // On the page load, display load slots for selected method if (shippingMethodInput.checked) { - this.displayInputSlots(shippingMethodInput, true); + let shippingSlotConfigSelect = this.getShippingSlotConfigSelect(shippingMethodInput.value); + this.displayInputSlots(shippingMethodInput, true, shippingSlotConfigSelect); } this.initShippingMethodInput(shippingMethodInput); } + + this.shippingSlotConfigSelects.forEach(shippingSlotConfigSelect => { + shippingSlotConfigSelect.addEventListener("change", function () { + let checkedShippingMethodInput = Array.from(this.shippingMethodInputs).find(shippingMethodInput => shippingMethodInput.checked); + if (checkedShippingMethodInput !== null) { + this.displayInputSlots(checkedShippingMethodInput, false, shippingSlotConfigSelect); + } + const event = new CustomEvent('mbiz:shipping-slot:slot-config-selected', { + element: shippingSlotConfigSelect, + shippingMethodInput: checkedShippingMethodInput + }); + document.dispatchEvent(event); + }.bind(this)); + }, this); } initShippingMethodInput(shippingMethodInput) { @@ -56,17 +73,20 @@ global.MonsieurBizShippingSlotManager = class { changeShippingMethod(shippingMethodInput) { let shippingSlotManager = this; + // Find selected shipping slot config select + let shippingSlotConfigSelect = this.getShippingSlotConfigSelect(shippingMethodInput.value); + // Reset existing slot if needed this.resetSlot(shippingMethodInput, function () { // Display load slots for selected method - shippingSlotManager.displayInputSlots(shippingMethodInput, false); + shippingSlotManager.displayInputSlots(shippingMethodInput, false, shippingSlotConfigSelect); }); } - displayInputSlots(shippingMethodInput, resetSlot) { + displayInputSlots(shippingMethodInput, resetSlot, shippingSlotConfigSelect = null) { this.disableButtons(); let shippingSlotManager = this; - this.initCalendarForAMethod(shippingMethodInput.value, function () { + this.initCalendarForAMethod(shippingMethodInput.value, shippingSlotConfigSelect, function () { if (this.status !== 200) { shippingSlotManager.enableButtons(); return; @@ -74,8 +94,9 @@ global.MonsieurBizShippingSlotManager = class { let data = JSON.parse(this.responseText); - // Hide calendars + // Hide calendars and shipping slot config selects shippingSlotManager.hideCalendars(); + shippingSlotManager.hideShippingSlotConfigSelects(); // Authorize user to go to next step if no slot needed if (typeof data.events === "undefined") { @@ -96,7 +117,8 @@ global.MonsieurBizShippingSlotManager = class { calendarContainer, data.events, data.timezone, - shippingMethodInput.value + shippingMethodInput.value, + shippingSlotConfigSelect ); } } @@ -119,22 +141,26 @@ global.MonsieurBizShippingSlotManager = class { } } - initCalendarForAMethod(shippingMethodCode, callback) { + initCalendarForAMethod(shippingMethodCode, shippingSlotConfigSelect, callback) { let req = new XMLHttpRequest(); req.onload = callback; - let url = this.initUrl; - req.open("get", url.replace("__CODE__", shippingMethodCode), true); + let url = this.initUrl + .replace("__CODE__", shippingMethodCode) + .replace("__CONFIG__", shippingSlotConfigSelect !== null ? shippingSlotConfigSelect.value : "") + ; + req.open("get", url, true); req.setRequestHeader("X-Requested-With", "XMLHttpRequest"); req.send(); } - listSlots(shippingMethodCode, from, to, callback) { + listSlots(shippingMethodCode, from, to, shippingSlotConfigSelect, callback) { let req = new XMLHttpRequest(); req.onload = callback; let url = this.listSlotsUrl .replace("__CODE__", shippingMethodCode) .replace("__FROM__", from) .replace("__TO__", to) + .replace("__CONFIG__", shippingSlotConfigSelect !== null ? shippingSlotConfigSelect.value : "") ; req.open("get", url, true); req.setRequestHeader("X-Requested-With", "XMLHttpRequest"); @@ -142,6 +168,7 @@ global.MonsieurBizShippingSlotManager = class { } saveSlot(slot, shippingMethodInput, callback) { + let shippingSlotConfigSelect = this.getShippingSlotConfigSelect(shippingMethodInput.value); let req = new XMLHttpRequest(); req.onload = callback; req.open("post", this.saveSlotUrl, true); @@ -150,6 +177,7 @@ global.MonsieurBizShippingSlotManager = class { data.append("event", JSON.stringify(slot.event)); data.append("shippingMethod", shippingMethodInput.value); data.append("shipmentIndex", shippingMethodInput.getAttribute("tabIndex")); + data.append("shippingSlotConfig", shippingSlotConfigSelect !== null ? shippingSlotConfigSelect.value : ''); req.send(data); } @@ -166,12 +194,14 @@ global.MonsieurBizShippingSlotManager = class { disableButtons() { for (let button of this.nextStepButtons) { button.disabled = true; + button.form.classList.add('loading'); } } enableButtons() { for (let button of this.nextStepButtons) { button.disabled = false; + button.form.classList.remove('loading'); } } @@ -181,6 +211,12 @@ global.MonsieurBizShippingSlotManager = class { } } + hideShippingSlotConfigSelects() { + for (let shippingSlotConfigSelect of this.shippingSlotConfigSelects) { + shippingSlotConfigSelect.style.display = "none"; + } + } + applySlotStyle(slot) { if (slot.el.querySelector(".fc-event-main") !== null) { // Timegrid view @@ -217,8 +253,11 @@ global.MonsieurBizShippingSlotManager = class { slot.el.style.display = 'none'; } - initCalendar(calendarContainer, events, timezone, shippingMethodCode) { + initCalendar(calendarContainer, events, timezone, shippingMethodCode, shippingSlotConfigSelect) { calendarContainer.style.display = "block"; + if (shippingSlotConfigSelect) { + shippingSlotConfigSelect.style.display = "block"; + } let shippingSlotManager = this; let calendar = new Calendar( calendarContainer, @@ -275,12 +314,17 @@ global.MonsieurBizShippingSlotManager = class { datesSet(dateInfo) { let calendar = this; shippingSlotManager.disableButtons(); - shippingSlotManager.listSlots(shippingMethodCode, dateInfo.startStr, dateInfo.endStr, function () { + shippingSlotManager.listSlots(shippingMethodCode, dateInfo.startStr, dateInfo.endStr, shippingSlotConfigSelect, function () { if (this.status !== 200) { console.error('Error during slot list'); return; } + // Remove loading class on the form + for (let button of shippingSlotManager.nextStepButtons) { + button.form.classList.remove('loading'); + } + let events = JSON.parse(this.responseText); // Use batch rendering to improve events loading calendar.batchRendering(function() { @@ -299,4 +343,10 @@ global.MonsieurBizShippingSlotManager = class { ); calendar.render(); } + + getShippingSlotConfigSelect(shippingMethodCode) { + return Array.from(this.shippingSlotConfigSelects).find( + shippingSlotConfigSelect => shippingSlotConfigSelect.name.includes(shippingMethodCode) + ) ?? null; + } }; diff --git a/dist/templates/bundles/SyliusShopBundle/Checkout/SelectShipping/_choice.html.twig b/dist/templates/bundles/SyliusShopBundle/Checkout/SelectShipping/_choice.html.twig index d034c97..1063b67 100644 --- a/dist/templates/bundles/SyliusShopBundle/Checkout/SelectShipping/_choice.html.twig +++ b/dist/templates/bundles/SyliusShopBundle/Checkout/SelectShipping/_choice.html.twig @@ -1,6 +1,6 @@ {% import '@SyliusShop/Common/Macro/money.html.twig' as money %} -{{ sylius_template_event('sylius.shop.checkout.select_shipping.before_method', {'method': method}) }} +{{ sylius_template_event('sylius.shop.checkout.select_shipping.before_method', {'method': method, 'form': form}) }}
@@ -21,4 +21,4 @@
-{{ sylius_template_event('sylius.shop.checkout.select_shipping.after_method', {'method': method}) }} +{{ sylius_template_event('sylius.shop.checkout.select_shipping.after_method', {'method': method, 'form': form}) }} diff --git a/src/Controller/SlotController.php b/src/Controller/SlotController.php index edf103b..e2c7d0b 100644 --- a/src/Controller/SlotController.php +++ b/src/Controller/SlotController.php @@ -38,7 +38,7 @@ public function __construct( $this->slotGenerator = $slotGenerator; } - public function initAction(string $code): Response + public function initAction(string $code, ?int $shippingSlotConfig): Response { // Find shipping method from code /** @var ShippingMethodInterface|null $shippingMethod */ @@ -48,7 +48,7 @@ public function initAction(string $code): Response } // No need to load calendar if shipping method has no slot configuration - if (!($shippingSlotConfig = $this->getShippingSlotConfig($shippingMethod))) { + if (!($shippingSlotConfig = $this->getShippingSlotConfig($shippingMethod, $shippingSlotConfig))) { return new JsonResponse(['code' => $code]); } @@ -59,7 +59,7 @@ public function initAction(string $code): Response ]); } - public function listAction(string $code, string $fromDate, string $toDate): Response + public function listAction(string $code, string $fromDate, string $toDate, ?int $shippingSlotConfig): Response { // Find shipping method from code /** @var ShippingMethodInterface|null $shippingMethod */ @@ -69,14 +69,15 @@ public function listAction(string $code, string $fromDate, string $toDate): Resp } // Shipping method not compatible with shipping slots - if (null === $this->getShippingSlotConfig($shippingMethod)) { + if (null === ($shippingSlotConfig = $this->getShippingSlotConfig($shippingMethod, $shippingSlotConfig))) { throw $this->createNotFoundException(sprintf('Shipping method "%s" is not compatible with shipping slots', $code)); } return new JsonResponse($this->slotGenerator->generateCalendarEvents( $shippingMethod, new DateTime($fromDate), - new DateTime($toDate) + new DateTime($toDate), + $shippingSlotConfig )); } @@ -93,6 +94,10 @@ public function saveAction(Request $request): Response throw $this->createNotFoundException('Shipment index not defined'); } + if (null === ($shippingSlotConfig = $request->get('shippingSlotConfig'))) { + throw $this->createNotFoundException('Shipping slot config not defined'); + } + $event = json_decode($request->get('event', '{}'), true); if (!($startDate = $event['start'] ?? false)) { throw $this->createNotFoundException('Start date not defined'); @@ -102,7 +107,8 @@ public function saveAction(Request $request): Response $this->slotGenerator->createFromCheckout( $shippingMethod, (int) $shipmentIndex, - new DateTime($startDate) + new DateTime($startDate), + !empty($shippingSlotConfig) ? (int) $shippingSlotConfig : null ); } catch (Exception $e) { throw $this->createNotFoundException($e->getMessage()); @@ -126,9 +132,11 @@ public function resetAction(Request $request): Response return new JsonResponse([]); } - private function getShippingSlotConfig(ShippingMethodInterface $shippingMethod): ?ShippingSlotConfigInterface + private function getShippingSlotConfig(ShippingMethodInterface $shippingMethod, ?int $shippingSlotConfig): ?ShippingSlotConfigInterface { - $shippingSlotConfig = $shippingMethod->getShippingSlotConfigs()->first(); + $shippingSlotConfig = null !== $shippingSlotConfig ? $shippingMethod->getShippingSlotConfigs()->filter( + fn (ShippingSlotConfigInterface $config) => $config->getId() === $shippingSlotConfig + )->first() : $shippingMethod->getShippingSlotConfigs()->first(); return $shippingSlotConfig ?: $shippingMethod->getShippingSlotConfig(); } diff --git a/src/Form/Extension/ShipmentTypeExtension.php b/src/Form/Extension/ShipmentTypeExtension.php new file mode 100644 index 0000000..21963c0 --- /dev/null +++ b/src/Form/Extension/ShipmentTypeExtension.php @@ -0,0 +1,47 @@ + + * + * For the full copyright and license information, please view the LICENSE.txt + * file that was distributed with this source code. + */ + +declare(strict_types=1); + +namespace MonsieurBiz\SyliusShippingSlotPlugin\Form\Extension; + +use MonsieurBiz\SyliusShippingSlotPlugin\Form\Type\ShippingSlotConfigsByMethod; +use Sylius\Bundle\CoreBundle\Form\Type\Checkout\ShipmentType; +use Symfony\Component\Form\AbstractTypeExtension; +use Symfony\Component\Form\FormBuilderInterface; +use Symfony\Component\Form\FormEvent; +use Symfony\Component\Form\FormEvents; + +final class ShipmentTypeExtension extends AbstractTypeExtension +{ + /** + * @SuppressWarnings(PHPMD.UnusedFormalParameter) + */ + public function buildForm(FormBuilderInterface $builder, array $options): void + { + $builder + ->addEventListener(FormEvents::PRE_SET_DATA, function (FormEvent $event): void { + $form = $event->getForm(); + $shipment = $event->getData(); + + $form->add('shippingSlotConfigs', ShippingSlotConfigsByMethod::class, [ + 'subject' => $shipment, + 'mapped' => false, // This field is not mapped to the object, it's just for choice the shipping slot config to use + ]); + }) + ; + } + + public static function getExtendedTypes(): iterable + { + return [ShipmentType::class]; + } +} diff --git a/src/Form/Extension/ShippingMethodTypeExtension.php b/src/Form/Extension/ShippingMethodTypeExtension.php index 458a399..39709bb 100644 --- a/src/Form/Extension/ShippingMethodTypeExtension.php +++ b/src/Form/Extension/ShippingMethodTypeExtension.php @@ -13,11 +13,14 @@ namespace MonsieurBiz\SyliusShippingSlotPlugin\Form\Extension; +use Doctrine\Common\Collections\ArrayCollection; +use MonsieurBiz\SyliusShippingSlotPlugin\Entity\ShippingMethodInterface; use MonsieurBiz\SyliusShippingSlotPlugin\Form\Type\ShippingSlotConfigChoiceType; use Sylius\Bundle\ShippingBundle\Form\Type\ShippingMethodType; use Symfony\Component\Form\AbstractTypeExtension; -use Symfony\Component\Form\Extension\Core\Type\HiddenType; use Symfony\Component\Form\FormBuilderInterface; +use Symfony\Component\Form\FormEvent; +use Symfony\Component\Form\FormEvents; use Symfony\Component\Validator\Constraints as Assert; class ShippingMethodTypeExtension extends AbstractTypeExtension @@ -38,10 +41,25 @@ public function buildForm(FormBuilderInterface $builder, array $options): void 'label' => 'monsieurbiz_shipping_slot.ui.form.shipping_slot_config', 'multiple' => true, 'expanded' => true, + 'empty_data' => [], 'constraints' => [ new Assert\Valid(), ], ]) + // Add the shipping slot config from the old attribute to the shipping method if it's not already set + ->addEventListener(FormEvents::PRE_SET_DATA, function (FormEvent $event): void { + $shippingMethod = $event->getData(); + if (!$shippingMethod instanceof ShippingMethodInterface) { + return; + } + + $oldShippingSlotConfig = $shippingMethod->getShippingSlotConfig(); + if (!$shippingMethod->getShippingSlotConfigs()->isEmpty() || null === $oldShippingSlotConfig) { + return; + } + + $shippingMethod->setShippingSlotConfigs(new ArrayCollection([$oldShippingSlotConfig])); + }) ; } } diff --git a/src/Form/Type/ShippingSlotConfigsByMethod.php b/src/Form/Type/ShippingSlotConfigsByMethod.php new file mode 100644 index 0000000..b59e346 --- /dev/null +++ b/src/Form/Type/ShippingSlotConfigsByMethod.php @@ -0,0 +1,92 @@ + + * + * For the full copyright and license information, please view the LICENSE.txt + * file that was distributed with this source code. + */ + +declare(strict_types=1); + +namespace MonsieurBiz\SyliusShippingSlotPlugin\Form\Type; + +use MonsieurBiz\SyliusShippingSlotPlugin\Entity\ShipmentInterface; +use MonsieurBiz\SyliusShippingSlotPlugin\Resolver\ShippingSlotConfigResolverInterface; +use Sylius\Component\Resource\Repository\RepositoryInterface; +use Sylius\Component\Shipping\Model\ShippingMethodInterface; +use Sylius\Component\Shipping\Model\ShippingSubjectInterface; +use Sylius\Component\Shipping\Resolver\ShippingMethodsResolverInterface; +use Symfony\Component\Form\AbstractType; +use Symfony\Component\Form\Extension\Core\Type\ChoiceType; +use Symfony\Component\Form\FormBuilderInterface; +use Symfony\Component\OptionsResolver\OptionsResolver; + +final class ShippingSlotConfigsByMethod extends AbstractType +{ + private ShippingMethodsResolverInterface $shippingMethodsResolver; + + private RepositoryInterface $repository; + + private ShippingSlotConfigResolverInterface $shippingSlotConfigResolver; + + public function __construct( + ShippingMethodsResolverInterface $shippingMethodsResolver, + RepositoryInterface $repository, + ShippingSlotConfigResolverInterface $shippingSlotConfigResolver + ) { + $this->shippingMethodsResolver = $shippingMethodsResolver; + $this->repository = $repository; + $this->shippingSlotConfigResolver = $shippingSlotConfigResolver; + } + + /** + * @SuppressWarnings(PHPMD.UnusedFormalParameter) + */ + public function buildForm(FormBuilderInterface $builder, array $options): void + { + $subject = $options['subject'] ?? null; + $currentShippingSlotConfig = $this->shippingSlotConfigResolver->getShippingSlotConfig($subject); + $currentShippingMethod = $this->getCurrentShippingMethod($subject); + foreach ($this->getShippingMethods($subject) as $shippingMethod) { + $builder->add($shippingMethod->getCode(), ChoiceType::class, [ + 'choices' => $shippingMethod->getShippingSlotConfigs(), + 'choice_label' => 'name', + 'choice_value' => 'id', + 'label' => false, + 'data' => $currentShippingMethod === $shippingMethod ? $currentShippingSlotConfig : null, + ]); + } + } + + public function configureOptions(OptionsResolver $resolver): void + { + parent::configureOptions($resolver); + $resolver + ->setDefined([ + 'subject', + ]) + ->setAllowedTypes('subject', ShippingSubjectInterface::class) + ; + } + + private function getShippingMethods(?ShippingSubjectInterface $subject): array + { + if (null !== $subject && $this->shippingMethodsResolver->supports($subject)) { + return $this->shippingMethodsResolver->getSupportedMethods($subject); + } + + return $this->repository->findAll(); + } + + private function getCurrentShippingMethod(?ShippingSubjectInterface $subject): ?ShippingMethodInterface + { + if (!$subject instanceof ShipmentInterface) { + return null; + } + + return $subject->getMethod(); + } +} diff --git a/src/Generator/SlotGenerator.php b/src/Generator/SlotGenerator.php index 35544c3..edd13ee 100644 --- a/src/Generator/SlotGenerator.php +++ b/src/Generator/SlotGenerator.php @@ -21,6 +21,7 @@ use MonsieurBiz\SyliusShippingSlotPlugin\Entity\ProductVariantInterface; use MonsieurBiz\SyliusShippingSlotPlugin\Entity\ShipmentInterface; use MonsieurBiz\SyliusShippingSlotPlugin\Entity\ShippingMethodInterface; +use MonsieurBiz\SyliusShippingSlotPlugin\Entity\ShippingSlotConfigInterface; use MonsieurBiz\SyliusShippingSlotPlugin\Entity\SlotInterface; use MonsieurBiz\SyliusShippingSlotPlugin\Event\RecurrenceGenerationEvent; use MonsieurBiz\SyliusShippingSlotPlugin\Repository\SlotRepositoryInterface; @@ -72,7 +73,8 @@ public function __construct( public function createFromCheckout( string $shippingMethod, int $shipmentIndex, - DateTimeInterface $startDate + DateTimeInterface $startDate, + ?int $shippingSlotConfig = null ): SlotInterface { /** @var OrderInterface $order */ $order = $this->cartContext->getCart(); @@ -90,7 +92,7 @@ public function createFromCheckout( throw new Exception(sprintf('Cannot find shipping method "%s"', $shippingMethod)); } - $shippingSlotConfig = $shippingMethod->getShippingSlotConfig(); + $shippingSlotConfig = $this->getShippingSlotConfig($shippingMethod, $shippingSlotConfig); if (null === $shippingSlotConfig) { throw new Exception(sprintf('Cannot find slot configuration for shipping method "%s"', $shippingMethod->getName())); } @@ -220,9 +222,10 @@ public function isFull(SlotInterface $slot): bool public function generateCalendarEvents( ShippingMethodInterface $shippingMethod, DateTimeInterface $startDate, - DateTimeInterface $endDate + DateTimeInterface $endDate, + ?ShippingSlotConfigInterface $shippingSlotConfig = null ): array { - $shippingSlotConfig = $shippingMethod->getShippingSlotConfigs()->first() ?: $shippingMethod->getShippingSlotConfig(); + $shippingSlotConfig = $shippingSlotConfig ?: ($shippingMethod->getShippingSlotConfigs()->first() ?: $shippingMethod->getShippingSlotConfig()); if (null === $shippingSlotConfig) { return []; } @@ -287,4 +290,13 @@ private function getCartPreparationDelay(): ?int return $maxPreparationDelay; } + + private function getShippingSlotConfig(ShippingMethodInterface $shippingMethod, ?int $shippingSlotConfig): ?ShippingSlotConfigInterface + { + $shippingSlotConfig = null !== $shippingSlotConfig ? $shippingMethod->getShippingSlotConfigs()->filter( + fn (ShippingSlotConfigInterface $config) => $config->getId() === $shippingSlotConfig + )->first() : $shippingMethod->getShippingSlotConfigs()->first(); + + return $shippingSlotConfig ?: $shippingMethod->getShippingSlotConfig(); + } } diff --git a/src/Generator/SlotGeneratorInterface.php b/src/Generator/SlotGeneratorInterface.php index e56d852..032629f 100644 --- a/src/Generator/SlotGeneratorInterface.php +++ b/src/Generator/SlotGeneratorInterface.php @@ -15,11 +15,12 @@ use DateTimeInterface; use MonsieurBiz\SyliusShippingSlotPlugin\Entity\ShippingMethodInterface; +use MonsieurBiz\SyliusShippingSlotPlugin\Entity\ShippingSlotConfigInterface; use MonsieurBiz\SyliusShippingSlotPlugin\Entity\SlotInterface; interface SlotGeneratorInterface { - public function createFromCheckout(string $shippingMethod, int $shipmentIndex, DateTimeInterface $startDate): SlotInterface; + public function createFromCheckout(string $shippingMethod, int $shipmentIndex, DateTimeInterface $startDate, ?int $shippingSlotConfig = null): SlotInterface; public function resetSlot(int $shipmentIndex): void; @@ -32,6 +33,7 @@ public function isFull(SlotInterface $slot): bool; public function generateCalendarEvents( ShippingMethodInterface $shippingMethod, DateTimeInterface $startDate, - DateTimeInterface $endDate + DateTimeInterface $endDate, + ?ShippingSlotConfigInterface $shippingSlotConfig = null ): array; } diff --git a/src/Resolver/ShippingSlotConfigResolver.php b/src/Resolver/ShippingSlotConfigResolver.php new file mode 100644 index 0000000..caf0f8f --- /dev/null +++ b/src/Resolver/ShippingSlotConfigResolver.php @@ -0,0 +1,30 @@ + + * + * For the full copyright and license information, please view the LICENSE.txt + * file that was distributed with this source code. + */ + +declare(strict_types=1); + +namespace MonsieurBiz\SyliusShippingSlotPlugin\Resolver; + +use MonsieurBiz\SyliusShippingSlotPlugin\Entity\ShipmentInterface as MonsieurBizShipmentInterface; +use MonsieurBiz\SyliusShippingSlotPlugin\Entity\ShippingSlotConfigInterface; +use Sylius\Component\Core\Model\ShipmentInterface; + +final class ShippingSlotConfigResolver implements ShippingSlotConfigResolverInterface +{ + public function getShippingSlotConfig(?ShipmentInterface $shipment): ?ShippingSlotConfigInterface + { + if (!$shipment instanceof MonsieurBizShipmentInterface) { + return null; + } + + return null !== $shipment->getSlot() ? $shipment->getSlot()->getShippingSlotConfig() : null; + } +} diff --git a/src/Resolver/ShippingSlotConfigResolverInterface.php b/src/Resolver/ShippingSlotConfigResolverInterface.php new file mode 100644 index 0000000..2d064d2 --- /dev/null +++ b/src/Resolver/ShippingSlotConfigResolverInterface.php @@ -0,0 +1,22 @@ + + * + * For the full copyright and license information, please view the LICENSE.txt + * file that was distributed with this source code. + */ + +declare(strict_types=1); + +namespace MonsieurBiz\SyliusShippingSlotPlugin\Resolver; + +use MonsieurBiz\SyliusShippingSlotPlugin\Entity\ShippingSlotConfigInterface; +use Sylius\Component\Core\Model\ShipmentInterface; + +interface ShippingSlotConfigResolverInterface +{ + public function getShippingSlotConfig(?ShipmentInterface $shipment): ?ShippingSlotConfigInterface; +} diff --git a/src/Resources/config/routing/shop.yaml b/src/Resources/config/routing/shop.yaml index 3339e91..03f022a 100644 --- a/src/Resources/config/routing/shop.yaml +++ b/src/Resources/config/routing/shop.yaml @@ -1,14 +1,16 @@ monsieurbiz_shippingslot_checkout_init: - path: /monsieurbiz_shippingslots/init/{code} + path: /monsieurbiz_shippingslots/init/{code}/{shippingSlotConfig} methods: [GET] defaults: _controller: MonsieurBiz\SyliusShippingSlotPlugin\Controller\SlotController::initAction + shippingSlotConfig: null monsieurbiz_shippingslot_checkout_listslots: - path: /monsieurbiz_shippingslots/list/{code}/{fromDate}/{toDate} + path: /monsieurbiz_shippingslots/list/{code}/{fromDate}/{toDate}/{shippingSlotConfig} methods: [GET] defaults: _controller: MonsieurBiz\SyliusShippingSlotPlugin\Controller\SlotController::listAction + shippingSlotConfig: null monsieurbiz_shippingslot_checkout_saveslot: path: /monsieurbiz_shippingslots/save/ diff --git a/src/Resources/config/services.yaml b/src/Resources/config/services.yaml index 01759ec..af712c8 100644 --- a/src/Resources/config/services.yaml +++ b/src/Resources/config/services.yaml @@ -37,3 +37,9 @@ services: MonsieurBiz\SyliusShippingSlotPlugin\Listener\OrderPreCompleteListener: tags: - { name: kernel.event_listener, event: sylius.order.pre_complete, method: checkSlot } + + # Form type for shipping slot configs by shipping method in checkout + MonsieurBiz\SyliusShippingSlotPlugin\Form\Type\ShippingSlotConfigsByMethod: + arguments: + $shippingMethodsResolver: '@sylius.shipping_methods_resolver' + $repository: '@sylius.repository.shipping_method' diff --git a/src/Resources/public/js/shipping-slot-js.js b/src/Resources/public/js/shipping-slot-js.js index fa8d9e2..3e18e71 100644 --- a/src/Resources/public/js/shipping-slot-js.js +++ b/src/Resources/public/js/shipping-slot-js.js @@ -14,7 +14,7 @@ function t(e,t,n,a){var r=e+" ";switch(n){case"s":return t||a?"nekaj sekund":"ne //! moment.js locale configuration e.defineLocale("th",{months:"มกราคม_กุมภาพันธ์_มีนาคม_เมษายน_พฤษภาคม_มิถุนายน_กรกฎาคม_สิงหาคม_กันยายน_ตุลาคม_พฤศจิกายน_ธันวาคม".split("_"),monthsShort:"ม.ค._ก.พ._มี.ค._เม.ย._พ.ค._มิ.ย._ก.ค._ส.ค._ก.ย._ต.ค._พ.ย._ธ.ค.".split("_"),monthsParseExact:!0,weekdays:"อาทิตย์_จันทร์_อังคาร_พุธ_พฤหัสบดี_ศุกร์_เสาร์".split("_"),weekdaysShort:"อาทิตย์_จันทร์_อังคาร_พุธ_พฤหัส_ศุกร์_เสาร์".split("_"),weekdaysMin:"อา._จ._อ._พ._พฤ._ศ._ส.".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY เวลา H:mm",LLLL:"วันddddที่ D MMMM YYYY เวลา H:mm"},meridiemParse:/ก่อนเที่ยง|หลังเที่ยง/,isPM:function(e){return"หลังเที่ยง"===e},meridiem:function(e,t,n){return e<12?"ก่อนเที่ยง":"หลังเที่ยง"},calendar:{sameDay:"[วันนี้ เวลา] LT",nextDay:"[พรุ่งนี้ เวลา] LT",nextWeek:"dddd[หน้า เวลา] LT",lastDay:"[เมื่อวานนี้ เวลา] LT",lastWeek:"[วัน]dddd[ที่แล้ว เวลา] LT",sameElse:"L"},relativeTime:{future:"อีก %s",past:"%sที่แล้ว",s:"ไม่กี่วินาที",ss:"%d วินาที",m:"1 นาที",mm:"%d นาที",h:"1 ชั่วโมง",hh:"%d ชั่วโมง",d:"1 วัน",dd:"%d วัน",w:"1 สัปดาห์",ww:"%d สัปดาห์",M:"1 เดือน",MM:"%d เดือน",y:"1 ปี",yy:"%d ปี"}})}(n("qW9H"))},"11ZM":function(e,t,n){!function(e){"use strict"; //! moment.js locale configuration -var t={1:"'inci",5:"'inci",8:"'inci",70:"'inci",80:"'inci",2:"'nci",7:"'nci",20:"'nci",50:"'nci",3:"'üncü",4:"'üncü",100:"'üncü",6:"'ncı",9:"'uncu",10:"'uncu",30:"'uncu",60:"'ıncı",90:"'ıncı"};e.defineLocale("tr",{months:"Ocak_Şubat_Mart_Nisan_Mayıs_Haziran_Temmuz_Ağustos_Eylül_Ekim_Kasım_Aralık".split("_"),monthsShort:"Oca_Şub_Mar_Nis_May_Haz_Tem_Ağu_Eyl_Eki_Kas_Ara".split("_"),weekdays:"Pazar_Pazartesi_Salı_Çarşamba_Perşembe_Cuma_Cumartesi".split("_"),weekdaysShort:"Paz_Pzt_Sal_Çar_Per_Cum_Cmt".split("_"),weekdaysMin:"Pz_Pt_Sa_Ça_Pe_Cu_Ct".split("_"),meridiem:function(e,t,n){return e<12?n?"öö":"ÖÖ":n?"ös":"ÖS"},meridiemParse:/öö|ÖÖ|ös|ÖS/,isPM:function(e){return"ös"===e||"ÖS"===e},longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[bugün saat] LT",nextDay:"[yarın saat] LT",nextWeek:"[gelecek] dddd [saat] LT",lastDay:"[dün] LT",lastWeek:"[geçen] dddd [saat] LT",sameElse:"L"},relativeTime:{future:"%s sonra",past:"%s önce",s:"birkaç saniye",ss:"%d saniye",m:"bir dakika",mm:"%d dakika",h:"bir saat",hh:"%d saat",d:"bir gün",dd:"%d gün",w:"bir hafta",ww:"%d hafta",M:"bir ay",MM:"%d ay",y:"bir yıl",yy:"%d yıl"},ordinal:function(e,n){switch(n){case"d":case"D":case"Do":case"DD":return e;default:if(0===e)return e+"'ıncı";var a=e%10;return e+(t[a]||t[e%100-a]||t[e>=100?100:null])}},week:{dow:1,doy:7}})}(n("qW9H"))},"1H0A":function(e,t,n){!function(e){"use strict"; +var t={1:"'inci",5:"'inci",8:"'inci",70:"'inci",80:"'inci",2:"'nci",7:"'nci",20:"'nci",50:"'nci",3:"'üncü",4:"'üncü",100:"'üncü",6:"'ncı",9:"'uncu",10:"'uncu",30:"'uncu",60:"'ıncı",90:"'ıncı"};e.defineLocale("tr",{months:"Ocak_Şubat_Mart_Nisan_Mayıs_Haziran_Temmuz_Ağustos_Eylül_Ekim_Kasım_Aralık".split("_"),monthsShort:"Oca_Şub_Mar_Nis_May_Haz_Tem_Ağu_Eyl_Eki_Kas_Ara".split("_"),weekdays:"Pazar_Pazartesi_Salı_Çarşamba_Perşembe_Cuma_Cumartesi".split("_"),weekdaysShort:"Paz_Pts_Sal_Çar_Per_Cum_Cts".split("_"),weekdaysMin:"Pz_Pt_Sa_Ça_Pe_Cu_Ct".split("_"),meridiem:function(e,t,n){return e<12?n?"öö":"ÖÖ":n?"ös":"ÖS"},meridiemParse:/öö|ÖÖ|ös|ÖS/,isPM:function(e){return"ös"===e||"ÖS"===e},longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[bugün saat] LT",nextDay:"[yarın saat] LT",nextWeek:"[gelecek] dddd [saat] LT",lastDay:"[dün] LT",lastWeek:"[geçen] dddd [saat] LT",sameElse:"L"},relativeTime:{future:"%s sonra",past:"%s önce",s:"birkaç saniye",ss:"%d saniye",m:"bir dakika",mm:"%d dakika",h:"bir saat",hh:"%d saat",d:"bir gün",dd:"%d gün",w:"bir hafta",ww:"%d hafta",M:"bir ay",MM:"%d ay",y:"bir yıl",yy:"%d yıl"},ordinal:function(e,n){switch(n){case"d":case"D":case"Do":case"DD":return e;default:if(0===e)return e+"'ıncı";var a=e%10;return e+(t[a]||t[e%100-a]||t[e>=100?100:null])}},week:{dow:1,doy:7}})}(n("qW9H"))},"1H0A":function(e,t,n){!function(e){"use strict"; //! moment.js locale configuration e.defineLocale("bg",{months:"януари_февруари_март_април_май_юни_юли_август_септември_октомври_ноември_декември".split("_"),monthsShort:"яну_фев_мар_апр_май_юни_юли_авг_сеп_окт_ное_дек".split("_"),weekdays:"неделя_понеделник_вторник_сряда_четвъртък_петък_събота".split("_"),weekdaysShort:"нед_пон_вто_сря_чет_пет_съб".split("_"),weekdaysMin:"нд_пн_вт_ср_чт_пт_сб".split("_"),longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"D.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY H:mm",LLLL:"dddd, D MMMM YYYY H:mm"},calendar:{sameDay:"[Днес в] LT",nextDay:"[Утре в] LT",nextWeek:"dddd [в] LT",lastDay:"[Вчера в] LT",lastWeek:function(){switch(this.day()){case 0:case 3:case 6:return"[Миналата] dddd [в] LT";case 1:case 2:case 4:case 5:return"[Миналия] dddd [в] LT"}},sameElse:"L"},relativeTime:{future:"след %s",past:"преди %s",s:"няколко секунди",ss:"%d секунди",m:"минута",mm:"%d минути",h:"час",hh:"%d часа",d:"ден",dd:"%d дена",w:"седмица",ww:"%d седмици",M:"месец",MM:"%d месеца",y:"година",yy:"%d години"},dayOfMonthOrdinalParse:/\d{1,2}-(ев|ен|ти|ви|ри|ми)/,ordinal:function(e){var t=e%10,n=e%100;return 0===e?e+"-ев":0===n?e+"-ен":n>10&&n<20?e+"-ти":1===t?e+"-ви":2===t?e+"-ри":7===t||8===t?e+"-ми":e+"-ти"},week:{dow:1,doy:7}})}(n("qW9H"))},"2mad":function(e,t){var n;n=function(){return this}();try{n=n||new Function("return this")()}catch(e){"object"==typeof window&&(n=window)}e.exports=n},"3U8g":function(e,t,n){!function(e){"use strict"; //! moment.js locale configuration @@ -40,7 +40,7 @@ var t={1:"১",2:"২",3:"৩",4:"৪",5:"৫",6:"৬",7:"৭",8:"৮",9:"৯",0 //! moment.js locale configuration e.defineLocale("oc-lnc",{months:{standalone:"genièr_febrièr_març_abril_mai_junh_julhet_agost_setembre_octòbre_novembre_decembre".split("_"),format:"de genièr_de febrièr_de març_d'abril_de mai_de junh_de julhet_d'agost_de setembre_d'octòbre_de novembre_de decembre".split("_"),isFormat:/D[oD]?(\s)+MMMM/},monthsShort:"gen._febr._març_abr._mai_junh_julh._ago._set._oct._nov._dec.".split("_"),monthsParseExact:!0,weekdays:"dimenge_diluns_dimars_dimècres_dijòus_divendres_dissabte".split("_"),weekdaysShort:"dg._dl._dm._dc._dj._dv._ds.".split("_"),weekdaysMin:"dg_dl_dm_dc_dj_dv_ds".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM [de] YYYY",ll:"D MMM YYYY",LLL:"D MMMM [de] YYYY [a] H:mm",lll:"D MMM YYYY, H:mm",LLLL:"dddd D MMMM [de] YYYY [a] H:mm",llll:"ddd D MMM YYYY, H:mm"},calendar:{sameDay:"[uèi a] LT",nextDay:"[deman a] LT",nextWeek:"dddd [a] LT",lastDay:"[ièr a] LT",lastWeek:"dddd [passat a] LT",sameElse:"L"},relativeTime:{future:"d'aquí %s",past:"fa %s",s:"unas segondas",ss:"%d segondas",m:"una minuta",mm:"%d minutas",h:"una ora",hh:"%d oras",d:"un jorn",dd:"%d jorns",M:"un mes",MM:"%d meses",y:"un an",yy:"%d ans"},dayOfMonthOrdinalParse:/\d{1,2}(r|n|t|è|a)/,ordinal:function(e,t){var n=1===e?"r":2===e?"n":3===e?"r":4===e?"t":"è";return"w"!==t&&"W"!==t||(n="a"),e+n},week:{dow:1,doy:4}})}(n("qW9H"))},BZqS:function(e,t,n){!function(e){"use strict"; //! moment.js locale configuration -e.defineLocale("sq",{months:"Janar_Shkurt_Mars_Prill_Maj_Qershor_Korrik_Gusht_Shtator_Tetor_Nëntor_Dhjetor".split("_"),monthsShort:"Jan_Shk_Mar_Pri_Maj_Qer_Kor_Gus_Sht_Tet_Nën_Dhj".split("_"),weekdays:"E Diel_E Hënë_E Martë_E Mërkurë_E Enjte_E Premte_E Shtunë".split("_"),weekdaysShort:"Die_Hën_Mar_Mër_Enj_Pre_Sht".split("_"),weekdaysMin:"D_H_Ma_Më_E_P_Sh".split("_"),weekdaysParseExact:!0,meridiemParse:/PD|MD/,isPM:function(e){return"M"===e.charAt(0)},meridiem:function(e,t,n){return e<12?"PD":"MD"},longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[Sot në] LT",nextDay:"[Nesër në] LT",nextWeek:"dddd [në] LT",lastDay:"[Dje në] LT",lastWeek:"dddd [e kaluar në] LT",sameElse:"L"},relativeTime:{future:"në %s",past:"%s më parë",s:"disa sekonda",ss:"%d sekonda",m:"një minutë",mm:"%d minuta",h:"një orë",hh:"%d orë",d:"një ditë",dd:"%d ditë",M:"një muaj",MM:"%d muaj",y:"një vit",yy:"%d vite"},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}})}(n("qW9H"))},CtUX:function(e,t,n){"use strict";n.d(t,"q",(function(){return c})),n.d(t,"V",(function(){return o})),n.d(t,"Y",(function(){return s})),n.d(t,"bb",(function(){return l})),n.d(t,"xb",(function(){return i})),n.d(t,"Eb",(function(){return M})),n.d(t,"a",(function(){return Hn})),n.d(t,"b",(function(){return Ir})),n.d(t,"c",(function(){return Zt})),n.d(t,"d",(function(){return or})),n.d(t,"e",(function(){return Na})),n.d(t,"f",(function(){return cr})),n.d(t,"g",(function(){return Vn})),n.d(t,"h",(function(){return Bn})),n.d(t,"i",(function(){return oa})),n.d(t,"j",(function(){return Rr})),n.d(t,"k",(function(){return Xr})),n.d(t,"l",(function(){return fr})),n.d(t,"m",(function(){return br})),n.d(t,"n",(function(){return yr})),n.d(t,"o",(function(){return wa})),n.d(t,"p",(function(){return Er})),n.d(t,"r",(function(){return Kr})),n.d(t,"s",(function(){return Pa})),n.d(t,"t",(function(){return jr})),n.d(t,"u",(function(){return mr})),n.d(t,"v",(function(){return Yn})),n.d(t,"w",(function(){return zr})),n.d(t,"x",(function(){return Un})),n.d(t,"y",(function(){return gr})),n.d(t,"z",(function(){return Ia})),n.d(t,"A",(function(){return qr})),n.d(t,"B",(function(){return Lr})),n.d(t,"C",(function(){return bn})),n.d(t,"D",(function(){return xr})),n.d(t,"E",(function(){return qn})),n.d(t,"F",(function(){return ea})),n.d(t,"G",(function(){return Ur})),n.d(t,"H",(function(){return E})),n.d(t,"I",(function(){return Me})),n.d(t,"J",(function(){return q})),n.d(t,"K",(function(){return y})),n.d(t,"L",(function(){return _e})),n.d(t,"M",(function(){return Ka})),n.d(t,"N",(function(){return Ua})),n.d(t,"O",(function(){return Et})),n.d(t,"P",(function(){return be})),n.d(t,"Q",(function(){return zn})),n.d(t,"R",(function(){return Wt})),n.d(t,"S",(function(){return $r})),n.d(t,"T",(function(){return z})),n.d(t,"U",(function(){return ue})),n.d(t,"W",(function(){return je})),n.d(t,"X",(function(){return Xn})),n.d(t,"Z",(function(){return j})),n.d(t,"ab",(function(){return H})),n.d(t,"cb",(function(){return ye})),n.d(t,"db",(function(){return Le})),n.d(t,"eb",(function(){return Ln})),n.d(t,"fb",(function(){return An})),n.d(t,"gb",(function(){return Fa})),n.d(t,"hb",(function(){return xt})),n.d(t,"ib",(function(){return qt})),n.d(t,"jb",(function(){return Wr})),n.d(t,"kb",(function(){return Nr})),n.d(t,"lb",(function(){return v})),n.d(t,"mb",(function(){return Va})),n.d(t,"nb",(function(){return gt})),n.d(t,"ob",(function(){return Ge})),n.d(t,"pb",(function(){return yt})),n.d(t,"qb",(function(){return Ga})),n.d(t,"rb",(function(){return ve})),n.d(t,"sb",(function(){return _t})),n.d(t,"tb",(function(){return ne})),n.d(t,"ub",(function(){return ge})),n.d(t,"vb",(function(){return pe})),n.d(t,"wb",(function(){return At})),n.d(t,"yb",(function(){return Pr})),n.d(t,"zb",(function(){return Sr})),n.d(t,"Ab",(function(){return Rn})),n.d(t,"Bb",(function(){return vt})),n.d(t,"Cb",(function(){return Dt})),n.d(t,"Db",(function(){return R})),n.d(t,"Fb",(function(){return fe}));n("lDjA");var a=n("Rpw/");if("undefined"==typeof FullCalendarVDom)throw new Error("Please import the top-level fullcalendar lib before attempting to import a plugin.");var r=FullCalendarVDom.Component,o=FullCalendarVDom.createElement,i=FullCalendarVDom.render,s=FullCalendarVDom.createRef,c=FullCalendarVDom.Fragment,d=FullCalendarVDom.createContext,u=FullCalendarVDom.createPortal,l=FullCalendarVDom.flushToDom,M=FullCalendarVDom.unmountComponentAtNode,p=function(){function e(e,t){this.context=e,this.internalEventSource=t}return e.prototype.remove=function(){this.context.dispatch({type:"REMOVE_EVENT_SOURCE",sourceId:this.internalEventSource.sourceId})},e.prototype.refetch=function(){this.context.dispatch({type:"FETCH_EVENT_SOURCES",sourceIds:[this.internalEventSource.sourceId],isRefetch:!0})},Object.defineProperty(e.prototype,"id",{get:function(){return this.internalEventSource.publicId},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"url",{get:function(){return this.internalEventSource.meta.url},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"format",{get:function(){return this.internalEventSource.meta.format},enumerable:!1,configurable:!0}),e}();function m(e){e.parentNode&&e.parentNode.removeChild(e)}function _(e,t){if(e.closest)return e.closest(t);if(!document.documentElement.contains(e))return null;do{if(f(e,t))return e;e=e.parentElement||e.parentNode}while(null!==e&&1===e.nodeType);return null}function f(e,t){return(e.matches||e.matchesSelector||e.msMatchesSelector).call(e,t)}var h=/(top|left|right|bottom|width|height)$/i;function b(e,t){for(var n in t)y(e,n,t[n])}function y(e,t,n){null==n?e.style[t]="":"number"==typeof n&&h.test(t)?e.style[t]=n+"px":e.style[t]=n}function L(e){var t,n;return null!==(n=null===(t=e.composedPath)||void 0===t?void 0:t.call(e)[0])&&void 0!==n?n:e.target}var A=0;function v(){return"fc-dom-"+(A+=1)}function g(e,t,n,a){var r=function(e,t){return function(n){var a=_(n.target,e);a&&t.call(a,n,a)}}(n,a);return e.addEventListener(t,r),function(){e.removeEventListener(t,r)}}function z(e){return Object(a.a)({onClick:e},T(e))}function T(e){return{tabIndex:0,onKeyDown:function(t){"Enter"!==t.key&&" "!==t.key||(e(t),t.preventDefault())}}}var O=0;function k(){return String(O+=1)}function D(e,t,n){return n.func?n.func(e,t):function(e,t){if(!e&&!t)return 0;if(null==t)return-1;if(null==e)return 1;if("string"==typeof e||"string"==typeof t)return String(e).localeCompare(String(t));return e-t}(e[n.field],t[n.field])*(n.order||1)}function w(e,t){var n=String(e);return"000".substr(0,t-n.length)+n}function Y(e,t,n){return"function"==typeof e?e.apply(void 0,t):"string"==typeof e?t.reduce((function(e,t,n){return e.replace("$"+n,t||"")}),e):n}function S(e){return e%1==0}function N(e){var t=e.querySelector(".fc-scrollgrid-shrink-frame"),n=e.querySelector(".fc-scrollgrid-shrink-cushion");if(!t)throw new Error("needs fc-scrollgrid-shrink-frame className");if(!n)throw new Error("needs fc-scrollgrid-shrink-cushion className");return e.getBoundingClientRect().width-t.getBoundingClientRect().width+n.getBoundingClientRect().width}var W=["sun","mon","tue","wed","thu","fri","sat"];function q(e,t){var n=F(e);return n[2]+=7*t,U(n)}function E(e,t){var n=F(e);return n[2]+=t,U(n)}function x(e,t){var n=F(e);return n[6]+=t,U(n)}function H(e,t){return j(e,t)/7}function j(e,t){return(t.valueOf()-e.valueOf())/864e5}function C(e,t){return G(e)===G(t)?Math.round(j(e,t)):null}function R(e){return U([e.getUTCFullYear(),e.getUTCMonth(),e.getUTCDate()])}function B(e,t,n,a){var r=U([t,0,1+X(t,n,a)]),o=R(e),i=Math.round(j(r,o));return Math.floor(i/7)+1}function X(e,t,n){var a=7+t-n;return-((7+U([e,0,a]).getUTCDay()-t)%7)+a-1}function P(e){return[e.getFullYear(),e.getMonth(),e.getDate(),e.getHours(),e.getMinutes(),e.getSeconds(),e.getMilliseconds()]}function I(e){return new Date(e[0],e[1]||0,null==e[2]?1:e[2],e[3]||0,e[4]||0,e[5]||0)}function F(e){return[e.getUTCFullYear(),e.getUTCMonth(),e.getUTCDate(),e.getUTCHours(),e.getUTCMinutes(),e.getUTCSeconds(),e.getUTCMilliseconds()]}function U(e){return 1===e.length&&(e=e.concat([0])),new Date(Date.UTC.apply(Date,e))}function V(e){return!isNaN(e.valueOf())}function G(e){return 1e3*e.getUTCHours()*60*60+1e3*e.getUTCMinutes()*60+1e3*e.getUTCSeconds()+e.getUTCMilliseconds()}function J(e,t,n,a){return{instanceId:k(),defId:e,range:t,forcedStartTzo:null==n?null:n,forcedEndTzo:null==a?null:a}}var K=Object.prototype.hasOwnProperty;function Z(e,t){var n={};if(t)for(var a in t){for(var r=[],o=e.length-1;o>=0;o-=1){var i=e[o][a];if("object"==typeof i&&i)r.unshift(i);else if(void 0!==i){n[a]=i;break}}r.length&&(n[a]=Z(r))}for(o=e.length-1;o>=0;o-=1){var s=e[o];for(var c in s)c in n||(n[c]=s[c])}return n}function Q(e,t){var n={};for(var a in e)t(e[a],a)&&(n[a]=e[a]);return n}function $(e,t){var n={};for(var a in e)n[a]=t(e[a],a);return n}function ee(e){for(var t={},n=0,a=e;n10&&(null==t?a=a.replace("Z",""):0!==t&&(a=a.replace("Z",Ae(t,!0)))),a}function ye(e){return e.toISOString().replace(/T.*$/,"")}function Le(e){return w(e.getUTCHours(),2)+":"+w(e.getUTCMinutes(),2)+":"+w(e.getUTCSeconds(),2)}function Ae(e,t){void 0===t&&(t=!1);var n=e<0?"-":"+",a=Math.abs(e),r=Math.floor(a/60),o=Math.round(a%60);return t?n+w(r,2)+":"+w(o,2):"GMT"+n+r+(o?":"+w(o,2):"")}function ve(e,t,n){if(e===t)return!0;var a,r=e.length;if(r!==t.length)return!1;for(a=0;a1)||"numeric"!==r.year&&"2-digit"!==r.year||"numeric"!==r.month&&"2-digit"!==r.month||"numeric"!==r.day&&"2-digit"!==r.day||(s=1);var c=this.format(e,n),d=this.format(t,n);if(c===d)return c;var u=We(function(e,t){var n={};for(var a in e)(!(a in Oe)||Oe[a]<=t)&&(n[a]=e[a]);return n}(r,s),o,n),l=u(e),M=u(t),p=function(e,t,n,a){var r=0;for(;r=_e(t)&&(a=E(a,1))}return e.start&&(n=R(e.start),a&&a<=n&&(a=E(n,1))),{start:n,end:a}}function _t(e){var t=mt(e);return j(t.start,t.end)>1}function ft(e,t,n,a){return"year"===a?ue(n.diffWholeYears(e,t),"year"):"month"===a?ue(n.diffWholeMonths(e,t),"month"):(o=t,i=R(r=e),s=R(o),{years:0,months:0,days:Math.round(j(i,s)),milliseconds:o.valueOf()-s.valueOf()-(r.valueOf()-i.valueOf())});var r,o,i,s}function ht(e,t){var n,a,r=[],o=t.start;for(e.sort(bt),n=0;no&&r.push({start:o,end:a.start}),a.end>o&&(o=a.end);return ot.start)&&(null===e.start||null===t.end||e.start=e.start)&&(null===e.end||t=(n||t.end),isToday:t&&At(t,a.start)}}function Et(e){return e.instance?e.instance.instanceId:e.def.defId+":"+e.range.start.toISOString()}function xt(e,t){var n=e.eventRange,a=n.def,r=n.instance,o=a.url;if(o)return{href:o};var i=t.emitter,s=t.options.eventInteractive;return null==s&&null==(s=a.interactive)&&(s=Boolean(i.hasHandlers("eventClick"))),s?T((function(e){i.trigger("eventClick",{el:e.target,event:new Qt(t,a,r),jsEvent:e,view:t.viewApi})})):{}}var Ht={start:Ge,end:Ge,allDay:Boolean};function jt(e,t,n){var r=function(e,t){var n=Ve(e,Ht),r=n.refined,o=n.extra,i=r.start?t.createMarkerMeta(r.start):null,s=r.end?t.createMarkerMeta(r.end):null,c=r.allDay;null==c&&(c=i&&i.isTimeUnspecified&&(!s||s.isTimeUnspecified));return Object(a.a)({range:{start:i?i.marker:null,end:s?s.marker:null},allDay:c},o)}(e,t),o=r.range;if(!o.start)return null;if(!o.end){if(null==n)return null;o.end=t.add(o.start,n)}return r}function Ct(e,t,n){return Object(a.a)(Object(a.a)({},Rt(e,t,n)),{timeZone:t.timeZone})}function Rt(e,t,n){return{start:t.toDate(e.start),end:t.toDate(e.end),startStr:t.formatIso(e.start,{omitTime:n}),endStr:t.formatIso(e.end,{omitTime:n})}}function Bt(e,t,n){var a=ut({editable:!1},n),r=Mt(a.refined,a.extra,"",e.allDay,!0,n);return{def:r,ui:kt(r,t),instance:J(r.defId,e.range),range:e.range,isStart:!0,isEnd:!0}}function Xt(e,t){for(var n,r,o={},i=0,s=t.pluginHooks.dateSpanTransforms;i=0;a-=1){var r=n[a].parseMeta(e);if(r)return{sourceDefId:a,meta:r}}return null}(o,t);if(s)return{_raw:e,isFetching:!1,latestFetchId:"",fetchRange:null,defaultAllDay:o.defaultAllDay,eventDataTransform:o.eventDataTransform,success:o.success,failure:o.failure,publicId:o.id||"",sourceId:k(),sourceDefId:s.sourceDefId,meta:s.meta,ui:at(o,t),extendedProps:i}}return null}function Jt(e){return Object(a.a)(Object(a.a)(Object(a.a)({},tt),Vt),e.pluginHooks.eventSourceRefiners)}function Kt(e,t){return"function"==typeof e&&(e=e()),null==e?t.createNowMarker():t.createMarker(e)}var Zt=function(){function e(){}return e.prototype.getCurrentData=function(){return this.currentDataManager.getCurrentData()},e.prototype.dispatch=function(e){return this.currentDataManager.dispatch(e)},Object.defineProperty(e.prototype,"view",{get:function(){return this.getCurrentData().viewApi},enumerable:!1,configurable:!0}),e.prototype.batchRendering=function(e){e()},e.prototype.updateSize=function(){this.trigger("_resize",!0)},e.prototype.setOption=function(e,t){this.dispatch({type:"SET_OPTION",optionName:e,rawOptionValue:t})},e.prototype.getOption=function(e){return this.currentDataManager.currentCalendarOptionsInput[e]},e.prototype.getAvailableLocaleCodes=function(){return Object.keys(this.getCurrentData().availableRawLocales)},e.prototype.on=function(e,t){var n=this.currentDataManager;n.currentCalendarOptionsRefiners[e]?n.emitter.on(e,t):console.warn("Unknown listener name '"+e+"'")},e.prototype.off=function(e,t){this.currentDataManager.emitter.off(e,t)},e.prototype.trigger=function(e){for(var t,n=[],r=1;r=1?Math.min(r,o):r}(e,this.weekDow,this.weekDoy)},e.prototype.format=function(e,t,n){return void 0===n&&(n={}),t.format({marker:e,timeZoneOffset:null!=n.forcedTzo?n.forcedTzo:this.offsetForMarker(e)},this)},e.prototype.formatRange=function(e,t,n,a){return void 0===a&&(a={}),a.isEndExclusive&&(t=x(t,-1)),n.formatRange({marker:e,timeZoneOffset:null!=a.forcedStartTzo?a.forcedStartTzo:this.offsetForMarker(e)},{marker:t,timeZoneOffset:null!=a.forcedEndTzo?a.forcedEndTzo:this.offsetForMarker(t)},this,a.defaultSeparator)},e.prototype.formatIso=function(e,t){void 0===t&&(t={});var n=null;return t.omitTimeZoneOffset||(n=null!=t.forcedTzo?t.forcedTzo:this.offsetForMarker(e)),be(e,n,t.omitTime)},e.prototype.timestampToMarker=function(e){return"local"===this.timeZone?U(P(new Date(e))):"UTC"!==this.timeZone&&this.namedTimeZoneImpl?U(this.namedTimeZoneImpl.timestampToArray(e)):new Date(e)},e.prototype.offsetForMarker=function(e){return"local"===this.timeZone?-I(F(e)).getTimezoneOffset():"UTC"===this.timeZone?0:this.namedTimeZoneImpl?this.namedTimeZoneImpl.offsetForArray(F(e)):null},e.prototype.toDate=function(e,t){return"local"===this.timeZone?I(F(e)):"UTC"===this.timeZone?new Date(e.valueOf()):this.namedTimeZoneImpl?new Date(e.valueOf()-1e3*this.namedTimeZoneImpl.offsetForArray(F(e))*60):new Date(e.valueOf()-(t||0))},e}(),sn=[],cn={code:"en",week:{dow:0,doy:4},direction:"ltr",buttonText:{prev:"prev",next:"next",prevYear:"prev year",nextYear:"next year",year:"year",today:"today",month:"month",week:"week",day:"day",list:"list"},weekText:"W",weekTextLong:"Week",closeHint:"Close",timeHint:"Time",eventHint:"Event",allDayText:"all-day",moreLinkText:"more",noEventsText:"No events to display"},dn=Object(a.a)(Object(a.a)({},cn),{buttonHints:{prev:"Previous $0",next:"Next $0",today:function(e,t){return"day"===t?"Today":"This "+e}},viewHint:"$0 view",navLinkHint:"Go to $0",moreLinkHint:function(e){return"Show "+e+" more event"+(1===e?"":"s")}});function un(e){for(var t=e.length>0?e[0].code:"en",n=sn.concat(e),a={en:dn},r=0,o=n;r0;r-=1){var o=a.slice(0,r).join("-");if(t[o])return t[o]}return null}(n,t)||dn;return Mn(e,n,a)}(e,t):Mn(e.code,[e.code],e)}function Mn(e,t,n){var a=Z([cn,n],["buttonText"]);delete a.code;var r=a.week;return delete a.week,{codeArg:e,codes:t,week:r,simpleNumberFormat:new Intl.NumberFormat(e),options:a}}var pn,mn={startTime:"09:00",endTime:"17:00",daysOfWeek:[1,2,3,4,5],display:"inverse-background",classNames:"fc-non-business",groupId:"_businessHours"};function _n(e,t){return Je(function(e){var t;t=!0===e?[{}]:Array.isArray(e)?e.filter((function(e){return e.daysOfWeek})):"object"==typeof e&&e?[e]:[];return t=t.map((function(e){return Object(a.a)(Object(a.a)({},mn),e)}))}(e),null,t)}function fn(){return null==pn&&(pn=function(){if("undefined"==typeof document)return!0;var e=document.createElement("div");e.style.position="absolute",e.style.top="0px",e.style.left="0px",e.innerHTML="
",e.querySelector("table").style.height="100px",e.querySelector("div").style.height="100%",document.body.appendChild(e);var t=e.querySelector("div").offsetHeight>0;return document.body.removeChild(e),t}()),pn}var hn={defs:{},instances:{}},bn=function(){function e(){this.getKeysForEventDefs=ge(this._getKeysForEventDefs),this.splitDateSelection=ge(this._splitDateSpan),this.splitEventStore=ge(this._splitEventStore),this.splitIndividualUi=ge(this._splitIndividualUi),this.splitEventDrag=ge(this._splitInteraction),this.splitEventResize=ge(this._splitInteraction),this.eventUiBuilders={}}return e.prototype.splitProps=function(e){var t=this,n=this.getKeyInfo(e),a=this.getKeysForEventDefs(e.eventStore),r=this.splitDateSelection(e.dateSelection),o=this.splitIndividualUi(e.eventUiBases,a),i=this.splitEventStore(e.eventStore,a),s=this.splitEventDrag(e.eventDrag),c=this.splitEventResize(e.eventResize),d={};for(var u in this.eventUiBuilders=$(n,(function(e,n){return t.eventUiBuilders[n]||ge(yn)})),n){var l=n[u],M=i[u]||hn,p=this.eventUiBuilders[u];d[u]={businessHours:l.businessHours||e.businessHours,dateSelection:r[u]||null,eventStore:M,eventUiBases:p(e.eventUiBases[""],l.ui,o[u]),eventSelection:M.instances[e.eventSelection]?e.eventSelection:"",eventDrag:s[u]||null,eventResize:c[u]||null}}return d},e.prototype._splitDateSpan=function(e){var t={};if(e)for(var n=0,a=this.getKeysForDateSpan(e);nn:!!t&&e>=t.end)}}function An(e,t){var n=["fc-day","fc-day-"+W[e.dow]];return e.isDisabled?n.push("fc-day-disabled"):(e.isToday&&(n.push("fc-day-today"),n.push(t.getClass("today"))),e.isPast&&n.push("fc-day-past"),e.isFuture&&n.push("fc-day-future"),e.isOther&&n.push("fc-day-other")),n}var vn=je({year:"numeric",month:"long",day:"numeric"}),gn=je({week:"long"});function zn(e,t,n,r){void 0===n&&(n="day"),void 0===r&&(r=!0);var o=e.dateEnv,i=e.options,s=e.calendarApi,c=o.format(t,"week"===n?gn:vn);if(i.navLinks){var d=o.toDate(t),u=function(e){var a="day"===n?i.navLinkDayClick:"week"===n?i.navLinkWeekClick:null;"function"==typeof a?a.call(s,o.toDate(t),e):("string"==typeof a&&(n=a),s.zoomTo(t,n))};return Object(a.a)({title:Y(i.navLinkHint,[c,d],c),"data-navlink":""},r?z(u):{onClick:u})}return{"aria-label":c}}var Tn;function On(){return Tn||(Tn=function(){var e=document.createElement("div");e.style.overflow="scroll",e.style.position="absolute",e.style.top="-9999px",e.style.left="-9999px",document.body.appendChild(e);var t=kn(e);return document.body.removeChild(e),t}()),Tn}function kn(e){return{x:e.offsetHeight-e.clientHeight,y:e.offsetWidth-e.clientWidth}}function Dn(e){for(var t,n,a,r=function(e){var t=[];for(;e instanceof HTMLElement;){var n=window.getComputedStyle(e);if("fixed"===n.position)break;/(auto|scroll)/.test(n.overflow+n.overflowY+n.overflowX)&&t.push(e),e=e.parentNode}return t}(e),o=e.getBoundingClientRect(),i=0,s=r;i=n[t]&&e=n[t]&&e0},e.prototype.canScrollHorizontally=function(){return this.getMaxScrollLeft()>0},e.prototype.canScrollUp=function(){return this.getScrollTop()>0},e.prototype.canScrollDown=function(){return this.getScrollTop()0},e.prototype.canScrollRight=function(){return this.getScrollLeft()=u.end?new Date(u.end.valueOf()-1):d),r=this.buildCurrentRangeInfo(e,t),o=/^(year|month|week|day)$/.test(r.unit),i=this.buildRenderRange(this.trimHiddenDays(r.range),r.unit,o),s=i=this.trimHiddenDays(i),l.showNonCurrentDates||(s=yt(s,r.range)),s=yt(s=this.adjustActiveRange(s),a),c=Lt(r.range,a),{validRange:a,currentRange:r.range,currentRangeUnit:r.unit,isRangeAllDay:o,activeRange:s,renderRange:i,slotMinTime:l.slotMinTime,slotMaxTime:l.slotMaxTime,isValid:c,dateIncrement:this.buildDateIncrement(r.duration)}},e.prototype.buildValidRange=function(){var e=this.props.validRangeInput,t="function"==typeof e?e.call(this.props.calendarApi,this.nowDate):e;return this.refineRange(t)||{start:null,end:null}},e.prototype.buildCurrentRangeInfo=function(e,t){var n,a=this.props,r=null,o=null,i=null;return a.duration?(r=a.duration,o=a.durationUnit,i=this.buildRangeFromDuration(e,t,r,o)):(n=this.props.dayCount)?(o="day",i=this.buildRangeFromDayCount(e,t,n)):(i=this.buildCustomVisibleRange(e))?o=a.dateEnv.greatestWholeUnit(i.start,i.end).unit:(o=he(r=this.getFallbackDuration()).unit,i=this.buildRangeFromDuration(e,t,r,o)),{duration:r,unit:o,range:i}},e.prototype.getFallbackDuration=function(){return ue({day:1})},e.prototype.adjustActiveRange=function(e){var t=this.props,n=t.dateEnv,a=t.usesMinMaxTime,r=t.slotMinTime,o=t.slotMaxTime,i=e.start,s=e.end;return a&&(me(r)<0&&(i=R(i),i=n.add(i,r)),me(o)>1&&(s=E(s=R(s),-1),s=n.add(s,o))),{start:i,end:s}},e.prototype.buildRangeFromDuration=function(e,t,n,a){var r,o,i,s=this.props,c=s.dateEnv,d=s.dateAlignment;if(!d){var u=this.props.dateIncrement;d=u&&_e(u)<_e(n)?he(u).unit:a}function l(){r=c.startOf(e,d),o=c.add(r,n),i={start:r,end:o}}return me(n)<=1&&this.isHiddenDay(r)&&(r=R(r=this.skipHiddenDays(r,t))),l(),this.trimHiddenDays(i)||(e=this.skipHiddenDays(e,t),l()),i},e.prototype.buildRangeFromDayCount=function(e,t,n){var a,r=this.props,o=r.dateEnv,i=r.dateAlignment,s=0,c=e;i&&(c=o.startOf(c,i)),c=R(c),a=c=this.skipHiddenDays(c,t);do{a=E(a,1),this.isHiddenDay(a)||(s+=1)}while(se.fetchRange.end}(e,t,n)})),t,!1,n)}function la(e,t,n,a,r){var o={};for(var i in e){var s=e[i];t[i]?o[i]=Ma(s,n,a,r):o[i]=s}return o}function Ma(e,t,n,r){var o=r.options,i=r.calendarApi,s=r.pluginHooks.eventSourceDefs[e.sourceDefId],c=k();return s.fetch({eventSource:e,range:t,isRefetch:n,context:r},(function(n){var a=n.rawEvents;o.eventSourceSuccess&&(a=o.eventSourceSuccess.call(i,a,n.xhr)||a),e.success&&(a=e.success.call(i,a,n.xhr)||a),r.dispatch({type:"RECEIVE_EVENTS",sourceId:e.sourceId,fetchId:c,fetchRange:t,rawEvents:a})}),(function(n){console.warn(n.message,n),o.eventSourceFailure&&o.eventSourceFailure.call(i,n),e.failure&&e.failure(n),r.dispatch({type:"RECEIVE_EVENT_ERROR",sourceId:e.sourceId,fetchId:c,fetchRange:t,error:n})})),Object(a.a)(Object(a.a)({},e),{isFetching:!0,latestFetchId:c})}function pa(e,t){return Q(e,(function(e){return ma(e,t)}))}function ma(e,t){return!t.pluginHooks.eventSourceDefs[e.sourceDefId].ignoreRange}function _a(e,t,n,a,r){switch(t.type){case"RECEIVE_EVENTS":return function(e,t,n,a,r,o){if(t&&n===t.latestFetchId){var i=Je(function(e,t,n){var a=n.options.eventDataTransform,r=t?t.eventDataTransform:null;r&&(e=fa(e,r));a&&(e=fa(e,a));return e}(r,t,o),t,o);return a&&(i=ie(i,a,o)),Qe(ha(e,t.sourceId),i)}return e}(e,n[t.sourceId],t.fetchId,t.fetchRange,t.rawEvents,r);case"ADD_EVENTS":return function(e,t,n,a){n&&(t=ie(t,n,a));return Qe(e,t)}(e,t.eventStore,a?a.activeRange:null,r);case"RESET_EVENTS":return t.eventStore;case"MERGE_EVENTS":return Qe(e,t.eventStore);case"PREV":case"NEXT":case"CHANGE_DATE":case"CHANGE_VIEW_TYPE":return a?ie(e,a.activeRange,r):e;case"REMOVE_EVENTS":return function(e,t){var n=e.defs,a=e.instances,r={},o={};for(var i in n)t.defs[i]||(r[i]=n[i]);for(var s in a)!t.instances[s]&&r[a[s].defId]&&(o[s]=a[s]);return{defs:r,instances:o}}(e,t.eventStore);case"REMOVE_EVENT_SOURCE":return ha(e,t.sourceId);case"REMOVE_ALL_EVENT_SOURCES":return $e(e,(function(e){return!e.sourceId}));case"REMOVE_ALL_EVENTS":return{defs:{},instances:{}};default:return e}}function fa(e,t){var n;if(t){n=[];for(var a=0,r=e;a=200&&i.status<400){var e=!1,t=void 0;try{t=JSON.parse(i.responseText),e=!0}catch(e){}e?a(t,i):r("Failure parsing JSON",i)}else r("Request failed",i)},i.onerror=function(){r("Request failed",i)},i.send(o)}function Oa(e){var t=[];for(var n in e)t.push(encodeURIComponent(n)+"="+encodeURIComponent(e[n]));return t.join("&")}function ka(e,t){for(var n=te(t.getCurrentData().eventSources),a=[],r=0,o=e;r1)return{year:"numeric",month:"short",day:"numeric"};return{year:"numeric",month:"long",day:"numeric"}}(e)),{isEndExclusive:e.isRangeAllDay,defaultSeparator:t.titleRangeSeparator})}var Na=function(){function e(e){var t=this;this.computeOptionsData=ge(this._computeOptionsData),this.computeCurrentViewData=ge(this._computeCurrentViewData),this.organizeRawLocales=ge(un),this.buildLocale=ge(ln),this.buildPluginHooks=Pn(),this.buildDateEnv=ge(Wa),this.buildTheme=ge(qa),this.parseToolbars=ge(va),this.buildViewSpecs=ge(aa),this.buildDateProfileGenerator=ze(Ea),this.buildViewApi=ge(xa),this.buildViewUiProps=ze(Ca),this.buildEventUiBySource=ge(Ha,ne),this.buildEventUiBases=ge(ja),this.parseContextBusinessHours=ze(Ba),this.buildTitle=ge(Sa),this.emitter=new wn,this.actionRunner=new Ya(this._handleAction.bind(this),this.updateData.bind(this)),this.currentCalendarOptionsInput={},this.currentCalendarOptionsRefined={},this.currentViewOptionsInput={},this.currentViewOptionsRefined={},this.currentCalendarOptionsRefiners={},this.getCurrentData=function(){return t.data},this.dispatch=function(e){t.actionRunner.request(e)},this.props=e,this.actionRunner.pause();var n={},r=this.computeOptionsData(e.optionOverrides,n,e.calendarApi),o=r.calendarOptions.initialView||r.pluginHooks.initialView,i=this.computeCurrentViewData(o,r,e.optionOverrides,n);e.calendarApi.currentDataManager=this,this.emitter.setThisContext(e.calendarApi),this.emitter.setOptions(i.options);var s,c,d,u=(s=r.calendarOptions,c=r.dateEnv,null!=(d=s.initialDate)?c.createMarker(d):Kt(s.now,c)),l=i.dateProfileGenerator.build(u);At(l.activeRange,u)||(u=l.currentRange.start);for(var M={dateEnv:r.dateEnv,options:r.calendarOptions,pluginHooks:r.pluginHooks,calendarApi:e.calendarApi,dispatch:this.dispatch,emitter:this.emitter,getCurrentData:this.getCurrentData},p=0,m=r.pluginHooks.contextInit;ps.end&&(r+=this.insertEntry({index:e.index,thickness:e.thickness,span:{start:s.end,end:i.end}},o)),r?(n.push.apply(n,Object(a.c)([{index:e.index,thickness:e.thickness,span:Ga(s,i)}],o)),r):(n.push(e),0)},e.prototype.insertEntryAt=function(e,t){var n=this.entriesByLevel,a=this.levelCoords;-1===t.lateral?(Ja(a,t.level,t.levelCoord),Ja(n,t.level,[e])):Ja(n[t.level],t.lateral,e),this.stackCnts[Ua(e)]=t.stackCnt},e.prototype.findInsertion=function(e){for(var t=this.levelCoords,n=this.entriesByLevel,a=this.strictOrder,r=this.stackCnts,o=t.length,i=0,s=-1,c=-1,d=null,u=0,l=0;l=i+e.thickness)break;for(var p=n[l],m=void 0,_=Ka(p,e.span.start,Fa),f=_[0]+_[1];(m=p[f])&&m.span.starti&&(i=h,d=m,s=l,c=f),h===i&&(u=Math.max(u,r[Ua(m)]+1)),f+=1}}var b=0;if(d)for(b=s+1;bn(e[r-1]))return[r,0];for(;ai))return[o,1];a=o+1}}return[a,0]}var Za=function(){function e(e){this.component=e.component,this.isHitComboAllowed=e.isHitComboAllowed||null}return e.prototype.destroy=function(){},e}();function Qa(e,t){return{component:e,el:t.el,useEventCenter:null==t.useEventCenter||t.useEventCenter,isHitComboAllowed:t.isHitComboAllowed||null}}var $a={};(function(){function e(e,t){this.emitter=new wn}e.prototype.destroy=function(){},e.prototype.setMirrorIsVisible=function(e){},e.prototype.setMirrorNeedsRevert=function(e){},e.prototype.setAutoScrollEnabled=function(e){}})(),Boolean;var er=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return Object(a.b)(t,e),t.prototype.render=function(){var e=this,t=this.props.widgetGroups.map((function(t){return e.renderWidgetGroup(t)}));return o.apply(void 0,Object(a.c)(["div",{className:"fc-toolbar-chunk"}],t))},t.prototype.renderWidgetGroup=function(e){for(var t=this.props,n=this.context.theme,r=[],i=!0,s=0,c=e;s1){var b=i&&n.getClass("buttonGroup")||"";return o.apply(void 0,Object(a.c)(["div",{className:b}],r))}return r[0]},t}(Hn),tr=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return Object(a.b)(t,e),t.prototype.render=function(){var e,t,n=this.props,a=n.model,r=n.extraClassName,i=!1,s=a.sectionWidgets,c=s.center;return s.left?(i=!0,e=s.left):e=s.start,s.right?(i=!0,t=s.right):t=s.end,o("div",{className:[r||"","fc-toolbar",i?"fc-toolbar-ltr":""].join(" ")},this.renderSection("start",e||[]),this.renderSection("center",c||[]),this.renderSection("end",t||[]))},t.prototype.renderSection=function(e,t){var n=this.props;return o(er,{key:e,widgetGroups:t,title:n.title,navUnit:n.navUnit,activeButton:n.activeButton,isTodayEnabled:n.isTodayEnabled,isPrevEnabled:n.isPrevEnabled,isNextEnabled:n.isNextEnabled,titleId:n.titleId})},t}(Hn),nr=function(e){function t(){var t=null!==e&&e.apply(this,arguments)||this;return t.state={availableWidth:null},t.handleEl=function(e){t.el=e,Rn(t.props.elRef,e),t.updateAvailableWidth()},t.handleResize=function(){t.updateAvailableWidth()},t}return Object(a.b)(t,e),t.prototype.render=function(){var e=this.props,t=this.state,n=e.aspectRatio,a=["fc-view-harness",n||e.liquid||e.height?"fc-view-harness-active":"fc-view-harness-passive"],r="",i="";return n?null!==t.availableWidth?r=t.availableWidth/n:i=1/n*100+"%":r=e.height||"",o("div",{"aria-labelledby":e.labeledById,ref:this.handleEl,className:a.join(" "),style:{height:r,paddingBottom:i}},e.children)},t.prototype.componentDidMount=function(){this.context.addResizeHandler(this.handleResize)},t.prototype.componentWillUnmount=function(){this.context.removeResizeHandler(this.handleResize)},t.prototype.updateAvailableWidth=function(){this.el&&this.props.aspectRatio&&this.setState({availableWidth:this.el.offsetWidth})},t}(Hn),ar=function(e){function t(t){var n=e.call(this,t)||this;return n.handleSegClick=function(e,t){var a=n.component,r=a.context,o=Tt(t);if(o&&a.isValidSegDownEl(e.target)){var i=_(e.target,".fc-event-forced-url"),s=i?i.querySelector("a[href]").href:"";r.emitter.trigger("eventClick",{el:t,event:new Qt(a.context,o.eventRange.def,o.eventRange.instance),jsEvent:e,view:r.viewApi}),s&&!e.defaultPrevented&&(window.location.href=s)}},n.destroy=g(t.el,"click",".fc-event",n.handleSegClick),n}return Object(a.b)(t,e),t}(Za),rr=function(e){function t(t){var n,a,r,o,i,s=e.call(this,t)||this;return s.handleEventElRemove=function(e){e===s.currentSegEl&&s.handleSegLeave(null,s.currentSegEl)},s.handleSegEnter=function(e,t){Tt(t)&&(s.currentSegEl=t,s.triggerEvent("eventMouseEnter",e,t))},s.handleSegLeave=function(e,t){s.currentSegEl&&(s.currentSegEl=null,s.triggerEvent("eventMouseLeave",e,t))},s.removeHoverListeners=(n=t.el,a=".fc-event",r=s.handleSegEnter,o=s.handleSegLeave,g(n,"mouseover",a,(function(e,t){if(t!==i){i=t,r(e,t);var n=function(e){i=null,o(e,t),t.removeEventListener("mouseleave",n)};t.addEventListener("mouseleave",n)}}))),s}return Object(a.b)(t,e),t.prototype.destroy=function(){this.removeHoverListeners()},t.prototype.triggerEvent=function(e,t,n){var a=this.component,r=a.context,o=Tt(n);t&&!a.isValidSegDownEl(t.target)||r.emitter.trigger(e,{el:n,event:new Qt(r,o.eventRange.def,o.eventRange.instance),jsEvent:t,view:r.viewApi})},t}(Za),or=function(e){function t(){var t=null!==e&&e.apply(this,arguments)||this;return t.buildViewContext=ge(En),t.buildViewPropTransformers=ge(sr),t.buildToolbarProps=ge(ir),t.headerRef=s(),t.footerRef=s(),t.interactionsStore={},t.state={viewLabelId:v()},t.registerInteractiveComponent=function(e,n){var a=Qa(e,n),r=[ar,rr].concat(t.props.pluginHooks.componentInteractions).map((function(e){return new e(a)}));t.interactionsStore[e.uid]=r,$a[e.uid]=a},t.unregisterInteractiveComponent=function(e){for(var n=0,a=t.interactionsStore[e.uid];n1?zn(this.context,c):{},m=Object(a.a)(Object(a.a)(Object(a.a)({date:t.toDate(c),view:i},s.extraHookProps),{text:M}),u);return o(Un,{hookProps:m,classNames:n.dayHeaderClassNames,content:n.dayHeaderContent,defaultContent:ur,didMount:n.dayHeaderDidMount,willUnmount:n.dayHeaderWillUnmount},(function(e,t,n,r){return o("th",Object(a.a)({ref:e,role:"columnheader",className:l.concat(t).join(" "),"data-date":u.isDisabled?void 0:ye(c),colSpan:s.colSpan},s.extraDataAttrs),o("div",{className:"fc-scrollgrid-sync-inner"},!u.isDisabled&&o("a",Object(a.a)({ref:n,className:["fc-col-header-cell-cushion",s.isSticky?"fc-sticky":""].join(" ")},p),r)))}))},t}(Hn),Mr=je({weekday:"long"}),pr=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return Object(a.b)(t,e),t.prototype.render=function(){var e=this.props,t=this.context,n=t.dateEnv,r=t.theme,i=t.viewApi,s=t.options,c=E(new Date(2592e5),e.dow),d={dow:e.dow,isDisabled:!1,isFuture:!1,isPast:!1,isToday:!1,isOther:!1},u=[dr].concat(An(d,r),e.extraClassNames||[]),l=n.format(c,e.dayHeaderFormat),M=Object(a.a)(Object(a.a)(Object(a.a)(Object(a.a)({date:c},d),{view:i}),e.extraHookProps),{text:l});return o(Un,{hookProps:M,classNames:s.dayHeaderClassNames,content:s.dayHeaderContent,defaultContent:ur,didMount:s.dayHeaderDidMount,willUnmount:s.dayHeaderWillUnmount},(function(t,r,i,s){return o("th",Object(a.a)({ref:t,role:"columnheader",className:u.concat(r).join(" "),colSpan:e.colSpan},e.extraDataAttrs),o("div",{className:"fc-scrollgrid-sync-inner"},o("a",{"aria-label":n.format(c,Mr),className:["fc-col-header-cell-cushion",e.isSticky?"fc-sticky":""].join(" "),ref:i},s)))}))},t}(Hn),mr=function(e){function t(t,n){var a=e.call(this,t,n)||this;return a.initialNowDate=Kt(n.options.now,n.dateEnv),a.initialNowQueriedMs=(new Date).valueOf(),a.state=a.computeTiming().currentState,a}return Object(a.b)(t,e),t.prototype.render=function(){var e=this.props,t=this.state;return e.children(t.nowDate,t.todayRange)},t.prototype.componentDidMount=function(){this.setTimeout()},t.prototype.componentDidUpdate=function(e){e.unit!==this.props.unit&&(this.clearTimeout(),this.setTimeout())},t.prototype.componentWillUnmount=function(){this.clearTimeout()},t.prototype.computeTiming=function(){var e=this.props,t=this.context,n=x(this.initialNowDate,(new Date).valueOf()-this.initialNowQueriedMs),a=t.dateEnv.startOf(n,e.unit),r=t.dateEnv.add(a,ue(1,e.unit)),o=r.valueOf()-n.valueOf();return o=Math.min(864e5,o),{currentState:{nowDate:a,todayRange:_r(a)},nextState:{nowDate:r,todayRange:_r(r)},waitMs:o}},t.prototype.setTimeout=function(){var e=this,t=this.computeTiming(),n=t.nextState,a=t.waitMs;this.timeoutId=setTimeout((function(){e.setState(n,(function(){e.setTimeout()}))}),a)},t.prototype.clearTimeout=function(){this.timeoutId&&clearTimeout(this.timeoutId)},t.contextType=qn,t}(r);function _r(e){var t=R(e);return{start:t,end:E(t,1)}}var fr=function(e){function t(){var t=null!==e&&e.apply(this,arguments)||this;return t.createDayHeaderFormatter=ge(hr),t}return Object(a.b)(t,e),t.prototype.render=function(){var e=this.context,t=this.props,n=t.dates,a=t.dateProfile,r=t.datesRepDistinctDays,i=t.renderIntro,s=this.createDayHeaderFormatter(e.options.dayHeaderFormat,r,n.length);return o(mr,{unit:"day"},(function(e,t){return o("tr",{role:"row"},i&&i("day"),n.map((function(e){return r?o(lr,{key:e.toISOString(),date:e,dateProfile:a,todayRange:t,colCnt:n.length,dayHeaderFormat:s}):o(pr,{key:e.getUTCDay(),dow:e.getUTCDay(),dayHeaderFormat:s})})))}))},t}(Hn);function hr(e,t,n){return e||function(e,t){return je(!e||t>10?{weekday:"short"}:t>1?{weekday:"short",month:"numeric",day:"numeric",omitCommas:!0}:{weekday:"long"})}(t,n)}var br=function(){function e(e,t){for(var n=e.start,a=e.end,r=[],o=[],i=-1;n=t.length?t[t.length-1]+1:t[n]},e}(),yr=function(){function e(e,t){var n,a,r,o=e.dates;if(t){for(a=o[0].getUTCDay(),n=1;nt)return!0}return!1},t.prototype.needsYScrolling=function(){if(vr.test(this.props.overflowY))return!1;for(var e=this.el,t=this.el.getBoundingClientRect().height-this.getXScrollbarWidth(),n=e.children,a=0;at)return!0}return!1},t.prototype.getXScrollbarWidth=function(){return vr.test(this.props.overflowX)?0:this.el.offsetHeight-this.el.clientHeight},t.prototype.getYScrollbarWidth=function(){return vr.test(this.props.overflowY)?0:this.el.offsetWidth-this.el.clientWidth},t}(Hn),zr=function(){function e(e){var t=this;this.masterCallback=e,this.currentMap={},this.depths={},this.callbackMap={},this.handleValue=function(e,n){var a=t,r=a.depths,o=a.currentMap,i=!1,s=!1;null!==e?(i=n in o,o[n]=e,r[n]=(r[n]||0)+1,s=!0):(r[n]-=1,r[n]||(delete o[n],delete t.callbackMap[n],i=!0)),t.masterCallback&&(i&&t.masterCallback(null,String(n)),s&&t.masterCallback(e,String(n)))}}return e.prototype.createRef=function(e){var t=this,n=this.callbackMap[e];return n||(n=this.callbackMap[e]=function(n){t.handleValue(n,String(e))}),n},e.prototype.collect=function(e,t,n){return function(e,t,n,a){void 0===t&&(t=0),void 0===a&&(a=1);var r=[];null==n&&(n=Object.keys(e).length);for(var o=t;o=0&&e=0&&tt.eventRange.range.end?e:t}},CyLz:function(e,t,n){!function(e){"use strict"; +e.defineLocale("sq",{months:"Janar_Shkurt_Mars_Prill_Maj_Qershor_Korrik_Gusht_Shtator_Tetor_Nëntor_Dhjetor".split("_"),monthsShort:"Jan_Shk_Mar_Pri_Maj_Qer_Kor_Gus_Sht_Tet_Nën_Dhj".split("_"),weekdays:"E Diel_E Hënë_E Martë_E Mërkurë_E Enjte_E Premte_E Shtunë".split("_"),weekdaysShort:"Die_Hën_Mar_Mër_Enj_Pre_Sht".split("_"),weekdaysMin:"D_H_Ma_Më_E_P_Sh".split("_"),weekdaysParseExact:!0,meridiemParse:/PD|MD/,isPM:function(e){return"M"===e.charAt(0)},meridiem:function(e,t,n){return e<12?"PD":"MD"},longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[Sot në] LT",nextDay:"[Nesër në] LT",nextWeek:"dddd [në] LT",lastDay:"[Dje në] LT",lastWeek:"dddd [e kaluar në] LT",sameElse:"L"},relativeTime:{future:"në %s",past:"%s më parë",s:"disa sekonda",ss:"%d sekonda",m:"një minutë",mm:"%d minuta",h:"një orë",hh:"%d orë",d:"një ditë",dd:"%d ditë",M:"një muaj",MM:"%d muaj",y:"një vit",yy:"%d vite"},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}})}(n("qW9H"))},CtUX:function(e,t,n){"use strict";n.d(t,"q",(function(){return c})),n.d(t,"V",(function(){return o})),n.d(t,"Y",(function(){return s})),n.d(t,"bb",(function(){return l})),n.d(t,"xb",(function(){return i})),n.d(t,"Eb",(function(){return M})),n.d(t,"a",(function(){return Hn})),n.d(t,"b",(function(){return Ir})),n.d(t,"c",(function(){return Zt})),n.d(t,"d",(function(){return or})),n.d(t,"e",(function(){return Na})),n.d(t,"f",(function(){return cr})),n.d(t,"g",(function(){return Vn})),n.d(t,"h",(function(){return Bn})),n.d(t,"i",(function(){return oa})),n.d(t,"j",(function(){return Rr})),n.d(t,"k",(function(){return Xr})),n.d(t,"l",(function(){return fr})),n.d(t,"m",(function(){return br})),n.d(t,"n",(function(){return yr})),n.d(t,"o",(function(){return wa})),n.d(t,"p",(function(){return Er})),n.d(t,"r",(function(){return Kr})),n.d(t,"s",(function(){return Pa})),n.d(t,"t",(function(){return Cr})),n.d(t,"u",(function(){return mr})),n.d(t,"v",(function(){return Yn})),n.d(t,"w",(function(){return zr})),n.d(t,"x",(function(){return Un})),n.d(t,"y",(function(){return gr})),n.d(t,"z",(function(){return Ia})),n.d(t,"A",(function(){return qr})),n.d(t,"B",(function(){return Lr})),n.d(t,"C",(function(){return bn})),n.d(t,"D",(function(){return xr})),n.d(t,"E",(function(){return qn})),n.d(t,"F",(function(){return ea})),n.d(t,"G",(function(){return Ur})),n.d(t,"H",(function(){return E})),n.d(t,"I",(function(){return Me})),n.d(t,"J",(function(){return q})),n.d(t,"K",(function(){return y})),n.d(t,"L",(function(){return _e})),n.d(t,"M",(function(){return Ka})),n.d(t,"N",(function(){return Ua})),n.d(t,"O",(function(){return Et})),n.d(t,"P",(function(){return be})),n.d(t,"Q",(function(){return zn})),n.d(t,"R",(function(){return Wt})),n.d(t,"S",(function(){return $r})),n.d(t,"T",(function(){return z})),n.d(t,"U",(function(){return ue})),n.d(t,"W",(function(){return Ce})),n.d(t,"X",(function(){return Xn})),n.d(t,"Z",(function(){return C})),n.d(t,"ab",(function(){return H})),n.d(t,"cb",(function(){return ye})),n.d(t,"db",(function(){return Le})),n.d(t,"eb",(function(){return Ln})),n.d(t,"fb",(function(){return An})),n.d(t,"gb",(function(){return Fa})),n.d(t,"hb",(function(){return xt})),n.d(t,"ib",(function(){return qt})),n.d(t,"jb",(function(){return Wr})),n.d(t,"kb",(function(){return Nr})),n.d(t,"lb",(function(){return v})),n.d(t,"mb",(function(){return Va})),n.d(t,"nb",(function(){return gt})),n.d(t,"ob",(function(){return Ge})),n.d(t,"pb",(function(){return yt})),n.d(t,"qb",(function(){return Ga})),n.d(t,"rb",(function(){return ve})),n.d(t,"sb",(function(){return _t})),n.d(t,"tb",(function(){return ne})),n.d(t,"ub",(function(){return ge})),n.d(t,"vb",(function(){return pe})),n.d(t,"wb",(function(){return At})),n.d(t,"yb",(function(){return Pr})),n.d(t,"zb",(function(){return Sr})),n.d(t,"Ab",(function(){return Rn})),n.d(t,"Bb",(function(){return vt})),n.d(t,"Cb",(function(){return Dt})),n.d(t,"Db",(function(){return R})),n.d(t,"Fb",(function(){return fe}));n("lDjA");var a=n("Rpw/");if("undefined"==typeof FullCalendarVDom)throw new Error("Please import the top-level fullcalendar lib before attempting to import a plugin.");var r=FullCalendarVDom.Component,o=FullCalendarVDom.createElement,i=FullCalendarVDom.render,s=FullCalendarVDom.createRef,c=FullCalendarVDom.Fragment,d=FullCalendarVDom.createContext,u=FullCalendarVDom.createPortal,l=FullCalendarVDom.flushToDom,M=FullCalendarVDom.unmountComponentAtNode,p=function(){function e(e,t){this.context=e,this.internalEventSource=t}return e.prototype.remove=function(){this.context.dispatch({type:"REMOVE_EVENT_SOURCE",sourceId:this.internalEventSource.sourceId})},e.prototype.refetch=function(){this.context.dispatch({type:"FETCH_EVENT_SOURCES",sourceIds:[this.internalEventSource.sourceId],isRefetch:!0})},Object.defineProperty(e.prototype,"id",{get:function(){return this.internalEventSource.publicId},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"url",{get:function(){return this.internalEventSource.meta.url},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"format",{get:function(){return this.internalEventSource.meta.format},enumerable:!1,configurable:!0}),e}();function m(e){e.parentNode&&e.parentNode.removeChild(e)}function _(e,t){if(e.closest)return e.closest(t);if(!document.documentElement.contains(e))return null;do{if(f(e,t))return e;e=e.parentElement||e.parentNode}while(null!==e&&1===e.nodeType);return null}function f(e,t){return(e.matches||e.matchesSelector||e.msMatchesSelector).call(e,t)}var h=/(top|left|right|bottom|width|height)$/i;function b(e,t){for(var n in t)y(e,n,t[n])}function y(e,t,n){null==n?e.style[t]="":"number"==typeof n&&h.test(t)?e.style[t]=n+"px":e.style[t]=n}function L(e){var t,n;return null!==(n=null===(t=e.composedPath)||void 0===t?void 0:t.call(e)[0])&&void 0!==n?n:e.target}var A=0;function v(){return"fc-dom-"+(A+=1)}function g(e,t,n,a){var r=function(e,t){return function(n){var a=_(n.target,e);a&&t.call(a,n,a)}}(n,a);return e.addEventListener(t,r),function(){e.removeEventListener(t,r)}}function z(e){return Object(a.a)({onClick:e},T(e))}function T(e){return{tabIndex:0,onKeyDown:function(t){"Enter"!==t.key&&" "!==t.key||(e(t),t.preventDefault())}}}var O=0;function k(){return String(O+=1)}function D(e,t,n){return n.func?n.func(e,t):function(e,t){if(!e&&!t)return 0;if(null==t)return-1;if(null==e)return 1;if("string"==typeof e||"string"==typeof t)return String(e).localeCompare(String(t));return e-t}(e[n.field],t[n.field])*(n.order||1)}function w(e,t){var n=String(e);return"000".substr(0,t-n.length)+n}function Y(e,t,n){return"function"==typeof e?e.apply(void 0,t):"string"==typeof e?t.reduce((function(e,t,n){return e.replace("$"+n,t||"")}),e):n}function S(e){return e%1==0}function N(e){var t=e.querySelector(".fc-scrollgrid-shrink-frame"),n=e.querySelector(".fc-scrollgrid-shrink-cushion");if(!t)throw new Error("needs fc-scrollgrid-shrink-frame className");if(!n)throw new Error("needs fc-scrollgrid-shrink-cushion className");return e.getBoundingClientRect().width-t.getBoundingClientRect().width+n.getBoundingClientRect().width}var W=["sun","mon","tue","wed","thu","fri","sat"];function q(e,t){var n=F(e);return n[2]+=7*t,U(n)}function E(e,t){var n=F(e);return n[2]+=t,U(n)}function x(e,t){var n=F(e);return n[6]+=t,U(n)}function H(e,t){return C(e,t)/7}function C(e,t){return(t.valueOf()-e.valueOf())/864e5}function j(e,t){return G(e)===G(t)?Math.round(C(e,t)):null}function R(e){return U([e.getUTCFullYear(),e.getUTCMonth(),e.getUTCDate()])}function B(e,t,n,a){var r=U([t,0,1+X(t,n,a)]),o=R(e),i=Math.round(C(r,o));return Math.floor(i/7)+1}function X(e,t,n){var a=7+t-n;return-((7+U([e,0,a]).getUTCDay()-t)%7)+a-1}function P(e){return[e.getFullYear(),e.getMonth(),e.getDate(),e.getHours(),e.getMinutes(),e.getSeconds(),e.getMilliseconds()]}function I(e){return new Date(e[0],e[1]||0,null==e[2]?1:e[2],e[3]||0,e[4]||0,e[5]||0)}function F(e){return[e.getUTCFullYear(),e.getUTCMonth(),e.getUTCDate(),e.getUTCHours(),e.getUTCMinutes(),e.getUTCSeconds(),e.getUTCMilliseconds()]}function U(e){return 1===e.length&&(e=e.concat([0])),new Date(Date.UTC.apply(Date,e))}function V(e){return!isNaN(e.valueOf())}function G(e){return 1e3*e.getUTCHours()*60*60+1e3*e.getUTCMinutes()*60+1e3*e.getUTCSeconds()+e.getUTCMilliseconds()}function J(e,t,n,a){return{instanceId:k(),defId:e,range:t,forcedStartTzo:null==n?null:n,forcedEndTzo:null==a?null:a}}var K=Object.prototype.hasOwnProperty;function Z(e,t){var n={};if(t)for(var a in t){for(var r=[],o=e.length-1;o>=0;o-=1){var i=e[o][a];if("object"==typeof i&&i)r.unshift(i);else if(void 0!==i){n[a]=i;break}}r.length&&(n[a]=Z(r))}for(o=e.length-1;o>=0;o-=1){var s=e[o];for(var c in s)c in n||(n[c]=s[c])}return n}function Q(e,t){var n={};for(var a in e)t(e[a],a)&&(n[a]=e[a]);return n}function $(e,t){var n={};for(var a in e)n[a]=t(e[a],a);return n}function ee(e){for(var t={},n=0,a=e;n10&&(null==t?a=a.replace("Z",""):0!==t&&(a=a.replace("Z",Ae(t,!0)))),a}function ye(e){return e.toISOString().replace(/T.*$/,"")}function Le(e){return w(e.getUTCHours(),2)+":"+w(e.getUTCMinutes(),2)+":"+w(e.getUTCSeconds(),2)}function Ae(e,t){void 0===t&&(t=!1);var n=e<0?"-":"+",a=Math.abs(e),r=Math.floor(a/60),o=Math.round(a%60);return t?n+w(r,2)+":"+w(o,2):"GMT"+n+r+(o?":"+w(o,2):"")}function ve(e,t,n){if(e===t)return!0;var a,r=e.length;if(r!==t.length)return!1;for(a=0;a1)||"numeric"!==r.year&&"2-digit"!==r.year||"numeric"!==r.month&&"2-digit"!==r.month||"numeric"!==r.day&&"2-digit"!==r.day||(s=1);var c=this.format(e,n),d=this.format(t,n);if(c===d)return c;var u=We(function(e,t){var n={};for(var a in e)(!(a in Oe)||Oe[a]<=t)&&(n[a]=e[a]);return n}(r,s),o,n),l=u(e),M=u(t),p=function(e,t,n,a){var r=0;for(;r=_e(t)&&(a=E(a,1))}return e.start&&(n=R(e.start),a&&a<=n&&(a=E(n,1))),{start:n,end:a}}function _t(e){var t=mt(e);return C(t.start,t.end)>1}function ft(e,t,n,a){return"year"===a?ue(n.diffWholeYears(e,t),"year"):"month"===a?ue(n.diffWholeMonths(e,t),"month"):(o=t,i=R(r=e),s=R(o),{years:0,months:0,days:Math.round(C(i,s)),milliseconds:o.valueOf()-s.valueOf()-(r.valueOf()-i.valueOf())});var r,o,i,s}function ht(e,t){var n,a,r=[],o=t.start;for(e.sort(bt),n=0;no&&r.push({start:o,end:a.start}),a.end>o&&(o=a.end);return ot.start)&&(null===e.start||null===t.end||e.start=e.start)&&(null===e.end||t=(n||t.end),isToday:t&&At(t,a.start)}}function Et(e){return e.instance?e.instance.instanceId:e.def.defId+":"+e.range.start.toISOString()}function xt(e,t){var n=e.eventRange,a=n.def,r=n.instance,o=a.url;if(o)return{href:o};var i=t.emitter,s=t.options.eventInteractive;return null==s&&null==(s=a.interactive)&&(s=Boolean(i.hasHandlers("eventClick"))),s?T((function(e){i.trigger("eventClick",{el:e.target,event:new Qt(t,a,r),jsEvent:e,view:t.viewApi})})):{}}var Ht={start:Ge,end:Ge,allDay:Boolean};function Ct(e,t,n){var r=function(e,t){var n=Ve(e,Ht),r=n.refined,o=n.extra,i=r.start?t.createMarkerMeta(r.start):null,s=r.end?t.createMarkerMeta(r.end):null,c=r.allDay;null==c&&(c=i&&i.isTimeUnspecified&&(!s||s.isTimeUnspecified));return Object(a.a)({range:{start:i?i.marker:null,end:s?s.marker:null},allDay:c},o)}(e,t),o=r.range;if(!o.start)return null;if(!o.end){if(null==n)return null;o.end=t.add(o.start,n)}return r}function jt(e,t,n){return Object(a.a)(Object(a.a)({},Rt(e,t,n)),{timeZone:t.timeZone})}function Rt(e,t,n){return{start:t.toDate(e.start),end:t.toDate(e.end),startStr:t.formatIso(e.start,{omitTime:n}),endStr:t.formatIso(e.end,{omitTime:n})}}function Bt(e,t,n){var a=ut({editable:!1},n),r=Mt(a.refined,a.extra,"",e.allDay,!0,n);return{def:r,ui:kt(r,t),instance:J(r.defId,e.range),range:e.range,isStart:!0,isEnd:!0}}function Xt(e,t){for(var n,r,o={},i=0,s=t.pluginHooks.dateSpanTransforms;i=0;a-=1){var r=n[a].parseMeta(e);if(r)return{sourceDefId:a,meta:r}}return null}(o,t);if(s)return{_raw:e,isFetching:!1,latestFetchId:"",fetchRange:null,defaultAllDay:o.defaultAllDay,eventDataTransform:o.eventDataTransform,success:o.success,failure:o.failure,publicId:o.id||"",sourceId:k(),sourceDefId:s.sourceDefId,meta:s.meta,ui:at(o,t),extendedProps:i}}return null}function Jt(e){return Object(a.a)(Object(a.a)(Object(a.a)({},tt),Vt),e.pluginHooks.eventSourceRefiners)}function Kt(e,t){return"function"==typeof e&&(e=e()),null==e?t.createNowMarker():t.createMarker(e)}var Zt=function(){function e(){}return e.prototype.getCurrentData=function(){return this.currentDataManager.getCurrentData()},e.prototype.dispatch=function(e){return this.currentDataManager.dispatch(e)},Object.defineProperty(e.prototype,"view",{get:function(){return this.getCurrentData().viewApi},enumerable:!1,configurable:!0}),e.prototype.batchRendering=function(e){e()},e.prototype.updateSize=function(){this.trigger("_resize",!0)},e.prototype.setOption=function(e,t){this.dispatch({type:"SET_OPTION",optionName:e,rawOptionValue:t})},e.prototype.getOption=function(e){return this.currentDataManager.currentCalendarOptionsInput[e]},e.prototype.getAvailableLocaleCodes=function(){return Object.keys(this.getCurrentData().availableRawLocales)},e.prototype.on=function(e,t){var n=this.currentDataManager;n.currentCalendarOptionsRefiners[e]?n.emitter.on(e,t):console.warn("Unknown listener name '"+e+"'")},e.prototype.off=function(e,t){this.currentDataManager.emitter.off(e,t)},e.prototype.trigger=function(e){for(var t,n=[],r=1;r=1?Math.min(r,o):r}(e,this.weekDow,this.weekDoy)},e.prototype.format=function(e,t,n){return void 0===n&&(n={}),t.format({marker:e,timeZoneOffset:null!=n.forcedTzo?n.forcedTzo:this.offsetForMarker(e)},this)},e.prototype.formatRange=function(e,t,n,a){return void 0===a&&(a={}),a.isEndExclusive&&(t=x(t,-1)),n.formatRange({marker:e,timeZoneOffset:null!=a.forcedStartTzo?a.forcedStartTzo:this.offsetForMarker(e)},{marker:t,timeZoneOffset:null!=a.forcedEndTzo?a.forcedEndTzo:this.offsetForMarker(t)},this,a.defaultSeparator)},e.prototype.formatIso=function(e,t){void 0===t&&(t={});var n=null;return t.omitTimeZoneOffset||(n=null!=t.forcedTzo?t.forcedTzo:this.offsetForMarker(e)),be(e,n,t.omitTime)},e.prototype.timestampToMarker=function(e){return"local"===this.timeZone?U(P(new Date(e))):"UTC"!==this.timeZone&&this.namedTimeZoneImpl?U(this.namedTimeZoneImpl.timestampToArray(e)):new Date(e)},e.prototype.offsetForMarker=function(e){return"local"===this.timeZone?-I(F(e)).getTimezoneOffset():"UTC"===this.timeZone?0:this.namedTimeZoneImpl?this.namedTimeZoneImpl.offsetForArray(F(e)):null},e.prototype.toDate=function(e,t){return"local"===this.timeZone?I(F(e)):"UTC"===this.timeZone?new Date(e.valueOf()):this.namedTimeZoneImpl?new Date(e.valueOf()-1e3*this.namedTimeZoneImpl.offsetForArray(F(e))*60):new Date(e.valueOf()-(t||0))},e}(),sn=[],cn={code:"en",week:{dow:0,doy:4},direction:"ltr",buttonText:{prev:"prev",next:"next",prevYear:"prev year",nextYear:"next year",year:"year",today:"today",month:"month",week:"week",day:"day",list:"list"},weekText:"W",weekTextLong:"Week",closeHint:"Close",timeHint:"Time",eventHint:"Event",allDayText:"all-day",moreLinkText:"more",noEventsText:"No events to display"},dn=Object(a.a)(Object(a.a)({},cn),{buttonHints:{prev:"Previous $0",next:"Next $0",today:function(e,t){return"day"===t?"Today":"This "+e}},viewHint:"$0 view",navLinkHint:"Go to $0",moreLinkHint:function(e){return"Show "+e+" more event"+(1===e?"":"s")}});function un(e){for(var t=e.length>0?e[0].code:"en",n=sn.concat(e),a={en:dn},r=0,o=n;r0;r-=1){var o=a.slice(0,r).join("-");if(t[o])return t[o]}return null}(n,t)||dn;return Mn(e,n,a)}(e,t):Mn(e.code,[e.code],e)}function Mn(e,t,n){var a=Z([cn,n],["buttonText"]);delete a.code;var r=a.week;return delete a.week,{codeArg:e,codes:t,week:r,simpleNumberFormat:new Intl.NumberFormat(e),options:a}}var pn,mn={startTime:"09:00",endTime:"17:00",daysOfWeek:[1,2,3,4,5],display:"inverse-background",classNames:"fc-non-business",groupId:"_businessHours"};function _n(e,t){return Je(function(e){var t;t=!0===e?[{}]:Array.isArray(e)?e.filter((function(e){return e.daysOfWeek})):"object"==typeof e&&e?[e]:[];return t=t.map((function(e){return Object(a.a)(Object(a.a)({},mn),e)}))}(e),null,t)}function fn(){return null==pn&&(pn=function(){if("undefined"==typeof document)return!0;var e=document.createElement("div");e.style.position="absolute",e.style.top="0px",e.style.left="0px",e.innerHTML="
",e.querySelector("table").style.height="100px",e.querySelector("div").style.height="100%",document.body.appendChild(e);var t=e.querySelector("div").offsetHeight>0;return document.body.removeChild(e),t}()),pn}var hn={defs:{},instances:{}},bn=function(){function e(){this.getKeysForEventDefs=ge(this._getKeysForEventDefs),this.splitDateSelection=ge(this._splitDateSpan),this.splitEventStore=ge(this._splitEventStore),this.splitIndividualUi=ge(this._splitIndividualUi),this.splitEventDrag=ge(this._splitInteraction),this.splitEventResize=ge(this._splitInteraction),this.eventUiBuilders={}}return e.prototype.splitProps=function(e){var t=this,n=this.getKeyInfo(e),a=this.getKeysForEventDefs(e.eventStore),r=this.splitDateSelection(e.dateSelection),o=this.splitIndividualUi(e.eventUiBases,a),i=this.splitEventStore(e.eventStore,a),s=this.splitEventDrag(e.eventDrag),c=this.splitEventResize(e.eventResize),d={};for(var u in this.eventUiBuilders=$(n,(function(e,n){return t.eventUiBuilders[n]||ge(yn)})),n){var l=n[u],M=i[u]||hn,p=this.eventUiBuilders[u];d[u]={businessHours:l.businessHours||e.businessHours,dateSelection:r[u]||null,eventStore:M,eventUiBases:p(e.eventUiBases[""],l.ui,o[u]),eventSelection:M.instances[e.eventSelection]?e.eventSelection:"",eventDrag:s[u]||null,eventResize:c[u]||null}}return d},e.prototype._splitDateSpan=function(e){var t={};if(e)for(var n=0,a=this.getKeysForDateSpan(e);nn:!!t&&e>=t.end)}}function An(e,t){var n=["fc-day","fc-day-"+W[e.dow]];return e.isDisabled?n.push("fc-day-disabled"):(e.isToday&&(n.push("fc-day-today"),n.push(t.getClass("today"))),e.isPast&&n.push("fc-day-past"),e.isFuture&&n.push("fc-day-future"),e.isOther&&n.push("fc-day-other")),n}var vn=Ce({year:"numeric",month:"long",day:"numeric"}),gn=Ce({week:"long"});function zn(e,t,n,r){void 0===n&&(n="day"),void 0===r&&(r=!0);var o=e.dateEnv,i=e.options,s=e.calendarApi,c=o.format(t,"week"===n?gn:vn);if(i.navLinks){var d=o.toDate(t),u=function(e){var a="day"===n?i.navLinkDayClick:"week"===n?i.navLinkWeekClick:null;"function"==typeof a?a.call(s,o.toDate(t),e):("string"==typeof a&&(n=a),s.zoomTo(t,n))};return Object(a.a)({title:Y(i.navLinkHint,[c,d],c),"data-navlink":""},r?z(u):{onClick:u})}return{"aria-label":c}}var Tn;function On(){return Tn||(Tn=function(){var e=document.createElement("div");e.style.overflow="scroll",e.style.position="absolute",e.style.top="-9999px",e.style.left="-9999px",document.body.appendChild(e);var t=kn(e);return document.body.removeChild(e),t}()),Tn}function kn(e){return{x:e.offsetHeight-e.clientHeight,y:e.offsetWidth-e.clientWidth}}function Dn(e){for(var t,n,a,r=function(e){var t=[];for(;e instanceof HTMLElement;){var n=window.getComputedStyle(e);if("fixed"===n.position)break;/(auto|scroll)/.test(n.overflow+n.overflowY+n.overflowX)&&t.push(e),e=e.parentNode}return t}(e),o=e.getBoundingClientRect(),i=0,s=r;i=n[t]&&e=n[t]&&e0},e.prototype.canScrollHorizontally=function(){return this.getMaxScrollLeft()>0},e.prototype.canScrollUp=function(){return this.getScrollTop()>0},e.prototype.canScrollDown=function(){return this.getScrollTop()0},e.prototype.canScrollRight=function(){return this.getScrollLeft()=u.end?new Date(u.end.valueOf()-1):d),r=this.buildCurrentRangeInfo(e,t),o=/^(year|month|week|day)$/.test(r.unit),i=this.buildRenderRange(this.trimHiddenDays(r.range),r.unit,o),s=i=this.trimHiddenDays(i),l.showNonCurrentDates||(s=yt(s,r.range)),s=yt(s=this.adjustActiveRange(s),a),c=Lt(r.range,a),{validRange:a,currentRange:r.range,currentRangeUnit:r.unit,isRangeAllDay:o,activeRange:s,renderRange:i,slotMinTime:l.slotMinTime,slotMaxTime:l.slotMaxTime,isValid:c,dateIncrement:this.buildDateIncrement(r.duration)}},e.prototype.buildValidRange=function(){var e=this.props.validRangeInput,t="function"==typeof e?e.call(this.props.calendarApi,this.nowDate):e;return this.refineRange(t)||{start:null,end:null}},e.prototype.buildCurrentRangeInfo=function(e,t){var n,a=this.props,r=null,o=null,i=null;return a.duration?(r=a.duration,o=a.durationUnit,i=this.buildRangeFromDuration(e,t,r,o)):(n=this.props.dayCount)?(o="day",i=this.buildRangeFromDayCount(e,t,n)):(i=this.buildCustomVisibleRange(e))?o=a.dateEnv.greatestWholeUnit(i.start,i.end).unit:(o=he(r=this.getFallbackDuration()).unit,i=this.buildRangeFromDuration(e,t,r,o)),{duration:r,unit:o,range:i}},e.prototype.getFallbackDuration=function(){return ue({day:1})},e.prototype.adjustActiveRange=function(e){var t=this.props,n=t.dateEnv,a=t.usesMinMaxTime,r=t.slotMinTime,o=t.slotMaxTime,i=e.start,s=e.end;return a&&(me(r)<0&&(i=R(i),i=n.add(i,r)),me(o)>1&&(s=E(s=R(s),-1),s=n.add(s,o))),{start:i,end:s}},e.prototype.buildRangeFromDuration=function(e,t,n,a){var r,o,i,s=this.props,c=s.dateEnv,d=s.dateAlignment;if(!d){var u=this.props.dateIncrement;d=u&&_e(u)<_e(n)?he(u).unit:a}function l(){r=c.startOf(e,d),o=c.add(r,n),i={start:r,end:o}}return me(n)<=1&&this.isHiddenDay(r)&&(r=R(r=this.skipHiddenDays(r,t))),l(),this.trimHiddenDays(i)||(e=this.skipHiddenDays(e,t),l()),i},e.prototype.buildRangeFromDayCount=function(e,t,n){var a,r=this.props,o=r.dateEnv,i=r.dateAlignment,s=0,c=e;i&&(c=o.startOf(c,i)),c=R(c),a=c=this.skipHiddenDays(c,t);do{a=E(a,1),this.isHiddenDay(a)||(s+=1)}while(se.fetchRange.end}(e,t,n)})),t,!1,n)}function la(e,t,n,a,r){var o={};for(var i in e){var s=e[i];t[i]?o[i]=Ma(s,n,a,r):o[i]=s}return o}function Ma(e,t,n,r){var o=r.options,i=r.calendarApi,s=r.pluginHooks.eventSourceDefs[e.sourceDefId],c=k();return s.fetch({eventSource:e,range:t,isRefetch:n,context:r},(function(n){var a=n.rawEvents;o.eventSourceSuccess&&(a=o.eventSourceSuccess.call(i,a,n.xhr)||a),e.success&&(a=e.success.call(i,a,n.xhr)||a),r.dispatch({type:"RECEIVE_EVENTS",sourceId:e.sourceId,fetchId:c,fetchRange:t,rawEvents:a})}),(function(n){console.warn(n.message,n),o.eventSourceFailure&&o.eventSourceFailure.call(i,n),e.failure&&e.failure(n),r.dispatch({type:"RECEIVE_EVENT_ERROR",sourceId:e.sourceId,fetchId:c,fetchRange:t,error:n})})),Object(a.a)(Object(a.a)({},e),{isFetching:!0,latestFetchId:c})}function pa(e,t){return Q(e,(function(e){return ma(e,t)}))}function ma(e,t){return!t.pluginHooks.eventSourceDefs[e.sourceDefId].ignoreRange}function _a(e,t,n,a,r){switch(t.type){case"RECEIVE_EVENTS":return function(e,t,n,a,r,o){if(t&&n===t.latestFetchId){var i=Je(function(e,t,n){var a=n.options.eventDataTransform,r=t?t.eventDataTransform:null;r&&(e=fa(e,r));a&&(e=fa(e,a));return e}(r,t,o),t,o);return a&&(i=ie(i,a,o)),Qe(ha(e,t.sourceId),i)}return e}(e,n[t.sourceId],t.fetchId,t.fetchRange,t.rawEvents,r);case"ADD_EVENTS":return function(e,t,n,a){n&&(t=ie(t,n,a));return Qe(e,t)}(e,t.eventStore,a?a.activeRange:null,r);case"RESET_EVENTS":return t.eventStore;case"MERGE_EVENTS":return Qe(e,t.eventStore);case"PREV":case"NEXT":case"CHANGE_DATE":case"CHANGE_VIEW_TYPE":return a?ie(e,a.activeRange,r):e;case"REMOVE_EVENTS":return function(e,t){var n=e.defs,a=e.instances,r={},o={};for(var i in n)t.defs[i]||(r[i]=n[i]);for(var s in a)!t.instances[s]&&r[a[s].defId]&&(o[s]=a[s]);return{defs:r,instances:o}}(e,t.eventStore);case"REMOVE_EVENT_SOURCE":return ha(e,t.sourceId);case"REMOVE_ALL_EVENT_SOURCES":return $e(e,(function(e){return!e.sourceId}));case"REMOVE_ALL_EVENTS":return{defs:{},instances:{}};default:return e}}function fa(e,t){var n;if(t){n=[];for(var a=0,r=e;a=200&&i.status<400){var e=!1,t=void 0;try{t=JSON.parse(i.responseText),e=!0}catch(e){}e?a(t,i):r("Failure parsing JSON",i)}else r("Request failed",i)},i.onerror=function(){r("Request failed",i)},i.send(o)}function Oa(e){var t=[];for(var n in e)t.push(encodeURIComponent(n)+"="+encodeURIComponent(e[n]));return t.join("&")}function ka(e,t){for(var n=te(t.getCurrentData().eventSources),a=[],r=0,o=e;r1)return{year:"numeric",month:"short",day:"numeric"};return{year:"numeric",month:"long",day:"numeric"}}(e)),{isEndExclusive:e.isRangeAllDay,defaultSeparator:t.titleRangeSeparator})}var Na=function(){function e(e){var t=this;this.computeOptionsData=ge(this._computeOptionsData),this.computeCurrentViewData=ge(this._computeCurrentViewData),this.organizeRawLocales=ge(un),this.buildLocale=ge(ln),this.buildPluginHooks=Pn(),this.buildDateEnv=ge(Wa),this.buildTheme=ge(qa),this.parseToolbars=ge(va),this.buildViewSpecs=ge(aa),this.buildDateProfileGenerator=ze(Ea),this.buildViewApi=ge(xa),this.buildViewUiProps=ze(ja),this.buildEventUiBySource=ge(Ha,ne),this.buildEventUiBases=ge(Ca),this.parseContextBusinessHours=ze(Ba),this.buildTitle=ge(Sa),this.emitter=new wn,this.actionRunner=new Ya(this._handleAction.bind(this),this.updateData.bind(this)),this.currentCalendarOptionsInput={},this.currentCalendarOptionsRefined={},this.currentViewOptionsInput={},this.currentViewOptionsRefined={},this.currentCalendarOptionsRefiners={},this.getCurrentData=function(){return t.data},this.dispatch=function(e){t.actionRunner.request(e)},this.props=e,this.actionRunner.pause();var n={},r=this.computeOptionsData(e.optionOverrides,n,e.calendarApi),o=r.calendarOptions.initialView||r.pluginHooks.initialView,i=this.computeCurrentViewData(o,r,e.optionOverrides,n);e.calendarApi.currentDataManager=this,this.emitter.setThisContext(e.calendarApi),this.emitter.setOptions(i.options);var s,c,d,u=(s=r.calendarOptions,c=r.dateEnv,null!=(d=s.initialDate)?c.createMarker(d):Kt(s.now,c)),l=i.dateProfileGenerator.build(u);At(l.activeRange,u)||(u=l.currentRange.start);for(var M={dateEnv:r.dateEnv,options:r.calendarOptions,pluginHooks:r.pluginHooks,calendarApi:e.calendarApi,dispatch:this.dispatch,emitter:this.emitter,getCurrentData:this.getCurrentData},p=0,m=r.pluginHooks.contextInit;ps.end&&(r+=this.insertEntry({index:e.index,thickness:e.thickness,span:{start:s.end,end:i.end}},o)),r?(n.push.apply(n,Object(a.c)([{index:e.index,thickness:e.thickness,span:Ga(s,i)}],o)),r):(n.push(e),0)},e.prototype.insertEntryAt=function(e,t){var n=this.entriesByLevel,a=this.levelCoords;-1===t.lateral?(Ja(a,t.level,t.levelCoord),Ja(n,t.level,[e])):Ja(n[t.level],t.lateral,e),this.stackCnts[Ua(e)]=t.stackCnt},e.prototype.findInsertion=function(e){for(var t=this.levelCoords,n=this.entriesByLevel,a=this.strictOrder,r=this.stackCnts,o=t.length,i=0,s=-1,c=-1,d=null,u=0,l=0;l=i+e.thickness)break;for(var p=n[l],m=void 0,_=Ka(p,e.span.start,Fa),f=_[0]+_[1];(m=p[f])&&m.span.starti&&(i=h,d=m,s=l,c=f),h===i&&(u=Math.max(u,r[Ua(m)]+1)),f+=1}}var b=0;if(d)for(b=s+1;bn(e[r-1]))return[r,0];for(;ai))return[o,1];a=o+1}}return[a,0]}var Za=function(){function e(e){this.component=e.component,this.isHitComboAllowed=e.isHitComboAllowed||null}return e.prototype.destroy=function(){},e}();function Qa(e,t){return{component:e,el:t.el,useEventCenter:null==t.useEventCenter||t.useEventCenter,isHitComboAllowed:t.isHitComboAllowed||null}}var $a={};(function(){function e(e,t){this.emitter=new wn}e.prototype.destroy=function(){},e.prototype.setMirrorIsVisible=function(e){},e.prototype.setMirrorNeedsRevert=function(e){},e.prototype.setAutoScrollEnabled=function(e){}})(),Boolean;var er=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return Object(a.b)(t,e),t.prototype.render=function(){var e=this,t=this.props.widgetGroups.map((function(t){return e.renderWidgetGroup(t)}));return o.apply(void 0,Object(a.c)(["div",{className:"fc-toolbar-chunk"}],t))},t.prototype.renderWidgetGroup=function(e){for(var t=this.props,n=this.context.theme,r=[],i=!0,s=0,c=e;s1){var b=i&&n.getClass("buttonGroup")||"";return o.apply(void 0,Object(a.c)(["div",{className:b}],r))}return r[0]},t}(Hn),tr=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return Object(a.b)(t,e),t.prototype.render=function(){var e,t,n=this.props,a=n.model,r=n.extraClassName,i=!1,s=a.sectionWidgets,c=s.center;return s.left?(i=!0,e=s.left):e=s.start,s.right?(i=!0,t=s.right):t=s.end,o("div",{className:[r||"","fc-toolbar",i?"fc-toolbar-ltr":""].join(" ")},this.renderSection("start",e||[]),this.renderSection("center",c||[]),this.renderSection("end",t||[]))},t.prototype.renderSection=function(e,t){var n=this.props;return o(er,{key:e,widgetGroups:t,title:n.title,navUnit:n.navUnit,activeButton:n.activeButton,isTodayEnabled:n.isTodayEnabled,isPrevEnabled:n.isPrevEnabled,isNextEnabled:n.isNextEnabled,titleId:n.titleId})},t}(Hn),nr=function(e){function t(){var t=null!==e&&e.apply(this,arguments)||this;return t.state={availableWidth:null},t.handleEl=function(e){t.el=e,Rn(t.props.elRef,e),t.updateAvailableWidth()},t.handleResize=function(){t.updateAvailableWidth()},t}return Object(a.b)(t,e),t.prototype.render=function(){var e=this.props,t=this.state,n=e.aspectRatio,a=["fc-view-harness",n||e.liquid||e.height?"fc-view-harness-active":"fc-view-harness-passive"],r="",i="";return n?null!==t.availableWidth?r=t.availableWidth/n:i=1/n*100+"%":r=e.height||"",o("div",{"aria-labelledby":e.labeledById,ref:this.handleEl,className:a.join(" "),style:{height:r,paddingBottom:i}},e.children)},t.prototype.componentDidMount=function(){this.context.addResizeHandler(this.handleResize)},t.prototype.componentWillUnmount=function(){this.context.removeResizeHandler(this.handleResize)},t.prototype.updateAvailableWidth=function(){this.el&&this.props.aspectRatio&&this.setState({availableWidth:this.el.offsetWidth})},t}(Hn),ar=function(e){function t(t){var n=e.call(this,t)||this;return n.handleSegClick=function(e,t){var a=n.component,r=a.context,o=Tt(t);if(o&&a.isValidSegDownEl(e.target)){var i=_(e.target,".fc-event-forced-url"),s=i?i.querySelector("a[href]").href:"";r.emitter.trigger("eventClick",{el:t,event:new Qt(a.context,o.eventRange.def,o.eventRange.instance),jsEvent:e,view:r.viewApi}),s&&!e.defaultPrevented&&(window.location.href=s)}},n.destroy=g(t.el,"click",".fc-event",n.handleSegClick),n}return Object(a.b)(t,e),t}(Za),rr=function(e){function t(t){var n,a,r,o,i,s=e.call(this,t)||this;return s.handleEventElRemove=function(e){e===s.currentSegEl&&s.handleSegLeave(null,s.currentSegEl)},s.handleSegEnter=function(e,t){Tt(t)&&(s.currentSegEl=t,s.triggerEvent("eventMouseEnter",e,t))},s.handleSegLeave=function(e,t){s.currentSegEl&&(s.currentSegEl=null,s.triggerEvent("eventMouseLeave",e,t))},s.removeHoverListeners=(n=t.el,a=".fc-event",r=s.handleSegEnter,o=s.handleSegLeave,g(n,"mouseover",a,(function(e,t){if(t!==i){i=t,r(e,t);var n=function(e){i=null,o(e,t),t.removeEventListener("mouseleave",n)};t.addEventListener("mouseleave",n)}}))),s}return Object(a.b)(t,e),t.prototype.destroy=function(){this.removeHoverListeners()},t.prototype.triggerEvent=function(e,t,n){var a=this.component,r=a.context,o=Tt(n);t&&!a.isValidSegDownEl(t.target)||r.emitter.trigger(e,{el:n,event:new Qt(r,o.eventRange.def,o.eventRange.instance),jsEvent:t,view:r.viewApi})},t}(Za),or=function(e){function t(){var t=null!==e&&e.apply(this,arguments)||this;return t.buildViewContext=ge(En),t.buildViewPropTransformers=ge(sr),t.buildToolbarProps=ge(ir),t.headerRef=s(),t.footerRef=s(),t.interactionsStore={},t.state={viewLabelId:v()},t.registerInteractiveComponent=function(e,n){var a=Qa(e,n),r=[ar,rr].concat(t.props.pluginHooks.componentInteractions).map((function(e){return new e(a)}));t.interactionsStore[e.uid]=r,$a[e.uid]=a},t.unregisterInteractiveComponent=function(e){for(var n=0,a=t.interactionsStore[e.uid];n1?zn(this.context,c):{},m=Object(a.a)(Object(a.a)(Object(a.a)({date:t.toDate(c),view:i},s.extraHookProps),{text:M}),u);return o(Un,{hookProps:m,classNames:n.dayHeaderClassNames,content:n.dayHeaderContent,defaultContent:ur,didMount:n.dayHeaderDidMount,willUnmount:n.dayHeaderWillUnmount},(function(e,t,n,r){return o("th",Object(a.a)({ref:e,role:"columnheader",className:l.concat(t).join(" "),"data-date":u.isDisabled?void 0:ye(c),colSpan:s.colSpan},s.extraDataAttrs),o("div",{className:"fc-scrollgrid-sync-inner"},!u.isDisabled&&o("a",Object(a.a)({ref:n,className:["fc-col-header-cell-cushion",s.isSticky?"fc-sticky":""].join(" ")},p),r)))}))},t}(Hn),Mr=Ce({weekday:"long"}),pr=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return Object(a.b)(t,e),t.prototype.render=function(){var e=this.props,t=this.context,n=t.dateEnv,r=t.theme,i=t.viewApi,s=t.options,c=E(new Date(2592e5),e.dow),d={dow:e.dow,isDisabled:!1,isFuture:!1,isPast:!1,isToday:!1,isOther:!1},u=[dr].concat(An(d,r),e.extraClassNames||[]),l=n.format(c,e.dayHeaderFormat),M=Object(a.a)(Object(a.a)(Object(a.a)(Object(a.a)({date:c},d),{view:i}),e.extraHookProps),{text:l});return o(Un,{hookProps:M,classNames:s.dayHeaderClassNames,content:s.dayHeaderContent,defaultContent:ur,didMount:s.dayHeaderDidMount,willUnmount:s.dayHeaderWillUnmount},(function(t,r,i,s){return o("th",Object(a.a)({ref:t,role:"columnheader",className:u.concat(r).join(" "),colSpan:e.colSpan},e.extraDataAttrs),o("div",{className:"fc-scrollgrid-sync-inner"},o("a",{"aria-label":n.format(c,Mr),className:["fc-col-header-cell-cushion",e.isSticky?"fc-sticky":""].join(" "),ref:i},s)))}))},t}(Hn),mr=function(e){function t(t,n){var a=e.call(this,t,n)||this;return a.initialNowDate=Kt(n.options.now,n.dateEnv),a.initialNowQueriedMs=(new Date).valueOf(),a.state=a.computeTiming().currentState,a}return Object(a.b)(t,e),t.prototype.render=function(){var e=this.props,t=this.state;return e.children(t.nowDate,t.todayRange)},t.prototype.componentDidMount=function(){this.setTimeout()},t.prototype.componentDidUpdate=function(e){e.unit!==this.props.unit&&(this.clearTimeout(),this.setTimeout())},t.prototype.componentWillUnmount=function(){this.clearTimeout()},t.prototype.computeTiming=function(){var e=this.props,t=this.context,n=x(this.initialNowDate,(new Date).valueOf()-this.initialNowQueriedMs),a=t.dateEnv.startOf(n,e.unit),r=t.dateEnv.add(a,ue(1,e.unit)),o=r.valueOf()-n.valueOf();return o=Math.min(864e5,o),{currentState:{nowDate:a,todayRange:_r(a)},nextState:{nowDate:r,todayRange:_r(r)},waitMs:o}},t.prototype.setTimeout=function(){var e=this,t=this.computeTiming(),n=t.nextState,a=t.waitMs;this.timeoutId=setTimeout((function(){e.setState(n,(function(){e.setTimeout()}))}),a)},t.prototype.clearTimeout=function(){this.timeoutId&&clearTimeout(this.timeoutId)},t.contextType=qn,t}(r);function _r(e){var t=R(e);return{start:t,end:E(t,1)}}var fr=function(e){function t(){var t=null!==e&&e.apply(this,arguments)||this;return t.createDayHeaderFormatter=ge(hr),t}return Object(a.b)(t,e),t.prototype.render=function(){var e=this.context,t=this.props,n=t.dates,a=t.dateProfile,r=t.datesRepDistinctDays,i=t.renderIntro,s=this.createDayHeaderFormatter(e.options.dayHeaderFormat,r,n.length);return o(mr,{unit:"day"},(function(e,t){return o("tr",{role:"row"},i&&i("day"),n.map((function(e){return r?o(lr,{key:e.toISOString(),date:e,dateProfile:a,todayRange:t,colCnt:n.length,dayHeaderFormat:s}):o(pr,{key:e.getUTCDay(),dow:e.getUTCDay(),dayHeaderFormat:s})})))}))},t}(Hn);function hr(e,t,n){return e||function(e,t){return Ce(!e||t>10?{weekday:"short"}:t>1?{weekday:"short",month:"numeric",day:"numeric",omitCommas:!0}:{weekday:"long"})}(t,n)}var br=function(){function e(e,t){for(var n=e.start,a=e.end,r=[],o=[],i=-1;n=t.length?t[t.length-1]+1:t[n]},e}(),yr=function(){function e(e,t){var n,a,r,o=e.dates;if(t){for(a=o[0].getUTCDay(),n=1;nt)return!0}return!1},t.prototype.needsYScrolling=function(){if(vr.test(this.props.overflowY))return!1;for(var e=this.el,t=this.el.getBoundingClientRect().height-this.getXScrollbarWidth(),n=e.children,a=0;at)return!0}return!1},t.prototype.getXScrollbarWidth=function(){return vr.test(this.props.overflowX)?0:this.el.offsetHeight-this.el.clientHeight},t.prototype.getYScrollbarWidth=function(){return vr.test(this.props.overflowY)?0:this.el.offsetWidth-this.el.clientWidth},t}(Hn),zr=function(){function e(e){var t=this;this.masterCallback=e,this.currentMap={},this.depths={},this.callbackMap={},this.handleValue=function(e,n){var a=t,r=a.depths,o=a.currentMap,i=!1,s=!1;null!==e?(i=n in o,o[n]=e,r[n]=(r[n]||0)+1,s=!0):(r[n]-=1,r[n]||(delete o[n],delete t.callbackMap[n],i=!0)),t.masterCallback&&(i&&t.masterCallback(null,String(n)),s&&t.masterCallback(e,String(n)))}}return e.prototype.createRef=function(e){var t=this,n=this.callbackMap[e];return n||(n=this.callbackMap[e]=function(n){t.handleValue(n,String(e))}),n},e.prototype.collect=function(e,t,n){return function(e,t,n,a){void 0===t&&(t=0),void 0===a&&(a=1);var r=[];null==n&&(n=Object.keys(e).length);for(var o=t;o=0&&e=0&&tt.eventRange.range.end?e:t}},CyLz:function(e,t,n){!function(e){"use strict"; //! moment.js locale configuration function t(e,t,n,a){var r={m:["eine Minute","einer Minute"],h:["eine Stunde","einer Stunde"],d:["ein Tag","einem Tag"],dd:[e+" Tage",e+" Tagen"],w:["eine Woche","einer Woche"],M:["ein Monat","einem Monat"],MM:[e+" Monate",e+" Monaten"],y:["ein Jahr","einem Jahr"],yy:[e+" Jahre",e+" Jahren"]};return t?r[n][0]:r[n][1]}e.defineLocale("de-ch",{months:"Januar_Februar_März_April_Mai_Juni_Juli_August_September_Oktober_November_Dezember".split("_"),monthsShort:"Jan._Feb._März_Apr._Mai_Juni_Juli_Aug._Sep._Okt._Nov._Dez.".split("_"),monthsParseExact:!0,weekdays:"Sonntag_Montag_Dienstag_Mittwoch_Donnerstag_Freitag_Samstag".split("_"),weekdaysShort:"So_Mo_Di_Mi_Do_Fr_Sa".split("_"),weekdaysMin:"So_Mo_Di_Mi_Do_Fr_Sa".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY HH:mm",LLLL:"dddd, D. MMMM YYYY HH:mm"},calendar:{sameDay:"[heute um] LT [Uhr]",sameElse:"L",nextDay:"[morgen um] LT [Uhr]",nextWeek:"dddd [um] LT [Uhr]",lastDay:"[gestern um] LT [Uhr]",lastWeek:"[letzten] dddd [um] LT [Uhr]"},relativeTime:{future:"in %s",past:"vor %s",s:"ein paar Sekunden",ss:"%d Sekunden",m:t,mm:"%d Minuten",h:t,hh:"%d Stunden",d:t,dd:t,w:t,ww:"%d Wochen",M:t,MM:t,y:t,yy:t},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}})}(n("qW9H"))},DGOb:function(e,t,n){!function(e){"use strict"; //! moment.js locale configuration @@ -106,7 +106,7 @@ PERFORMANCE OF THIS SOFTWARE. ***************************************************************************** */ var a=function(e,t){return(a=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n])})(e,t)};function r(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");function n(){this.constructor=e}a(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}var o=function(){return(o=Object.assign||function(e){for(var t,n=1,a=arguments.length;n1&&e<5&&1!=~~(e/10)}function i(e,t,n,a){var r=e+" ";switch(n){case"s":return t||a?"pár sekund":"pár sekundami";case"ss":return t||a?r+(o(e)?"sekundy":"sekund"):r+"sekundami";case"m":return t?"minuta":a?"minutu":"minutou";case"mm":return t||a?r+(o(e)?"minuty":"minut"):r+"minutami";case"h":return t?"hodina":a?"hodinu":"hodinou";case"hh":return t||a?r+(o(e)?"hodiny":"hodin"):r+"hodinami";case"d":return t||a?"den":"dnem";case"dd":return t||a?r+(o(e)?"dny":"dní"):r+"dny";case"M":return t||a?"měsíc":"měsícem";case"MM":return t||a?r+(o(e)?"měsíce":"měsíců"):r+"měsíci";case"y":return t||a?"rok":"rokem";case"yy":return t||a?r+(o(e)?"roky":"let"):r+"lety"}}e.defineLocale("cs",{months:t,monthsShort:n,monthsRegex:r,monthsShortRegex:r,monthsStrictRegex:/^(leden|ledna|února|únor|březen|března|duben|dubna|květen|května|červenec|července|červen|června|srpen|srpna|září|říjen|října|listopadu|listopad|prosinec|prosince)/i,monthsShortStrictRegex:/^(led|úno|bře|dub|kvě|čvn|čvc|srp|zář|říj|lis|pro)/i,monthsParse:a,longMonthsParse:a,shortMonthsParse:a,weekdays:"neděle_pondělí_úterý_středa_čtvrtek_pátek_sobota".split("_"),weekdaysShort:"ne_po_út_st_čt_pá_so".split("_"),weekdaysMin:"ne_po_út_st_čt_pá_so".split("_"),longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY H:mm",LLLL:"dddd D. MMMM YYYY H:mm",l:"D. M. YYYY"},calendar:{sameDay:"[dnes v] LT",nextDay:"[zítra v] LT",nextWeek:function(){switch(this.day()){case 0:return"[v neděli v] LT";case 1:case 2:return"[v] dddd [v] LT";case 3:return"[ve středu v] LT";case 4:return"[ve čtvrtek v] LT";case 5:return"[v pátek v] LT";case 6:return"[v sobotu v] LT"}},lastDay:"[včera v] LT",lastWeek:function(){switch(this.day()){case 0:return"[minulou neděli v] LT";case 1:case 2:return"[minulé] dddd [v] LT";case 3:return"[minulou středu v] LT";case 4:case 5:return"[minulý] dddd [v] LT";case 6:return"[minulou sobotu v] LT"}},sameElse:"L"},relativeTime:{future:"za %s",past:"před %s",s:i,ss:i,m:i,mm:i,h:i,hh:i,d:i,dd:i,M:i,MM:i,y:i,yy:i},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}})}(n("qW9H"))},SDMJ:function(e,t,n){!function(e){"use strict"; +var t="leden_únor_březen_duben_květen_červen_červenec_srpen_září_říjen_listopad_prosinec".split("_"),n="led_úno_bře_dub_kvě_čvn_čvc_srp_zář_říj_lis_pro".split("_"),a=[/^led/i,/^úno/i,/^bře/i,/^dub/i,/^kvě/i,/^(čvn|červen$|června)/i,/^(čvc|červenec|července)/i,/^srp/i,/^zář/i,/^říj/i,/^lis/i,/^pro/i],r=/^(leden|únor|březen|duben|květen|červenec|července|červen|června|srpen|září|říjen|listopad|prosinec|led|úno|bře|dub|kvě|čvn|čvc|srp|zář|říj|lis|pro)/i;function o(e){return e>1&&e<5&&1!=~~(e/10)}function i(e,t,n,a){var r=e+" ";switch(n){case"s":return t||a?"pár sekund":"pár sekundami";case"ss":return t||a?r+(o(e)?"sekundy":"sekund"):r+"sekundami";case"m":return t?"minuta":a?"minutu":"minutou";case"mm":return t||a?r+(o(e)?"minuty":"minut"):r+"minutami";case"h":return t?"hodina":a?"hodinu":"hodinou";case"hh":return t||a?r+(o(e)?"hodiny":"hodin"):r+"hodinami";case"d":return t||a?"den":"dnem";case"dd":return t||a?r+(o(e)?"dny":"dní"):r+"dny";case"M":return t||a?"měsíc":"měsícem";case"MM":return t||a?r+(o(e)?"měsíce":"měsíců"):r+"měsíci";case"y":return t||a?"rok":"rokem";case"yy":return t||a?r+(o(e)?"roky":"let"):r+"lety"}}e.defineLocale("cs",{months:t,monthsShort:n,monthsRegex:r,monthsShortRegex:r,monthsStrictRegex:/^(leden|ledna|února|únor|březen|března|duben|dubna|květen|května|červenec|července|červen|června|srpen|srpna|září|říjen|října|listopadu|listopad|prosinec|prosince)/i,monthsShortStrictRegex:/^(led|úno|bře|dub|kvě|čvn|čvc|srp|zář|říj|lis|pro)/i,monthsParse:a,longMonthsParse:a,shortMonthsParse:a,weekdays:"neděle_pondělí_úterý_středa_čtvrtek_pátek_sobota".split("_"),weekdaysShort:"ne_po_út_st_čt_pá_so".split("_"),weekdaysMin:"ne_po_út_st_čt_pá_so".split("_"),longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY H:mm",LLLL:"dddd D. MMMM YYYY H:mm",l:"D. M. YYYY"},calendar:{sameDay:"[dnes v] LT",nextDay:"[zítra v] LT",nextWeek:function(){switch(this.day()){case 0:return"[v neděli v] LT";case 1:case 2:return"[v] dddd [v] LT";case 3:return"[ve středu v] LT";case 4:return"[ve čtvrtek v] LT";case 5:return"[v pátek v] LT";case 6:return"[v sobotu v] LT"}},lastDay:"[včera v] LT",lastWeek:function(){switch(this.day()){case 0:return"[minulou neděli v] LT";case 1:case 2:return"[minulé] dddd [v] LT";case 3:return"[minulou středu v] LT";case 4:case 5:return"[minulý] dddd [v] LT";case 6:return"[minulou sobotu v] LT"}},sameElse:"L"},relativeTime:{future:"za %s",past:"před %s",s:i,ss:i,m:i,mm:i,h:i,hh:i,d:i,dd:i,M:i,MM:i,y:i,yy:i},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}})}(n("qW9H"))},SDMJ:function(e,t,n){!function(e){"use strict"; //! moment.js locale configuration var t={1:"১",2:"২",3:"৩",4:"৪",5:"৫",6:"৬",7:"৭",8:"৮",9:"৯",0:"০"},n={"১":"1","২":"2","৩":"3","৪":"4","৫":"5","৬":"6","৭":"7","৮":"8","৯":"9","০":"0"};e.defineLocale("bn",{months:"জানুয়ারি_ফেব্রুয়ারি_মার্চ_এপ্রিল_মে_জুন_জুলাই_আগস্ট_সেপ্টেম্বর_অক্টোবর_নভেম্বর_ডিসেম্বর".split("_"),monthsShort:"জানু_ফেব্রু_মার্চ_এপ্রিল_মে_জুন_জুলাই_আগস্ট_সেপ্ট_অক্টো_নভে_ডিসে".split("_"),weekdays:"রবিবার_সোমবার_মঙ্গলবার_বুধবার_বৃহস্পতিবার_শুক্রবার_শনিবার".split("_"),weekdaysShort:"রবি_সোম_মঙ্গল_বুধ_বৃহস্পতি_শুক্র_শনি".split("_"),weekdaysMin:"রবি_সোম_মঙ্গল_বুধ_বৃহ_শুক্র_শনি".split("_"),longDateFormat:{LT:"A h:mm সময়",LTS:"A h:mm:ss সময়",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY, A h:mm সময়",LLLL:"dddd, D MMMM YYYY, A h:mm সময়"},calendar:{sameDay:"[আজ] LT",nextDay:"[আগামীকাল] LT",nextWeek:"dddd, LT",lastDay:"[গতকাল] LT",lastWeek:"[গত] dddd, LT",sameElse:"L"},relativeTime:{future:"%s পরে",past:"%s আগে",s:"কয়েক সেকেন্ড",ss:"%d সেকেন্ড",m:"এক মিনিট",mm:"%d মিনিট",h:"এক ঘন্টা",hh:"%d ঘন্টা",d:"এক দিন",dd:"%d দিন",M:"এক মাস",MM:"%d মাস",y:"এক বছর",yy:"%d বছর"},preparse:function(e){return e.replace(/[১২৩৪৫৬৭৮৯০]/g,(function(e){return n[e]}))},postformat:function(e){return e.replace(/\d/g,(function(e){return t[e]}))},meridiemParse:/রাত|সকাল|দুপুর|বিকাল|রাত/,meridiemHour:function(e,t){return 12===e&&(e=0),"রাত"===t&&e>=4||"দুপুর"===t&&e<5||"বিকাল"===t?e+12:e},meridiem:function(e,t,n){return e<4?"রাত":e<10?"সকাল":e<17?"দুপুর":e<20?"বিকাল":"রাত"},week:{dow:0,doy:6}})}(n("qW9H"))},SURw:function(e,t,n){!function(e){"use strict"; //! moment.js locale configuration @@ -190,7 +190,7 @@ var t={0:"-ші",1:"-ші",2:"-ші",3:"-ші",4:"-ші",5:"-ші",6:"-шы",7:" //! moment.js locale configuration var t={1:"௧",2:"௨",3:"௩",4:"௪",5:"௫",6:"௬",7:"௭",8:"௮",9:"௯",0:"௦"},n={"௧":"1","௨":"2","௩":"3","௪":"4","௫":"5","௬":"6","௭":"7","௮":"8","௯":"9","௦":"0"};e.defineLocale("ta",{months:"ஜனவரி_பிப்ரவரி_மார்ச்_ஏப்ரல்_மே_ஜூன்_ஜூலை_ஆகஸ்ட்_செப்டெம்பர்_அக்டோபர்_நவம்பர்_டிசம்பர்".split("_"),monthsShort:"ஜனவரி_பிப்ரவரி_மார்ச்_ஏப்ரல்_மே_ஜூன்_ஜூலை_ஆகஸ்ட்_செப்டெம்பர்_அக்டோபர்_நவம்பர்_டிசம்பர்".split("_"),weekdays:"ஞாயிற்றுக்கிழமை_திங்கட்கிழமை_செவ்வாய்கிழமை_புதன்கிழமை_வியாழக்கிழமை_வெள்ளிக்கிழமை_சனிக்கிழமை".split("_"),weekdaysShort:"ஞாயிறு_திங்கள்_செவ்வாய்_புதன்_வியாழன்_வெள்ளி_சனி".split("_"),weekdaysMin:"ஞா_தி_செ_பு_வி_வெ_ச".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY, HH:mm",LLLL:"dddd, D MMMM YYYY, HH:mm"},calendar:{sameDay:"[இன்று] LT",nextDay:"[நாளை] LT",nextWeek:"dddd, LT",lastDay:"[நேற்று] LT",lastWeek:"[கடந்த வாரம்] dddd, LT",sameElse:"L"},relativeTime:{future:"%s இல்",past:"%s முன்",s:"ஒரு சில விநாடிகள்",ss:"%d விநாடிகள்",m:"ஒரு நிமிடம்",mm:"%d நிமிடங்கள்",h:"ஒரு மணி நேரம்",hh:"%d மணி நேரம்",d:"ஒரு நாள்",dd:"%d நாட்கள்",M:"ஒரு மாதம்",MM:"%d மாதங்கள்",y:"ஒரு வருடம்",yy:"%d ஆண்டுகள்"},dayOfMonthOrdinalParse:/\d{1,2}வது/,ordinal:function(e){return e+"வது"},preparse:function(e){return e.replace(/[௧௨௩௪௫௬௭௮௯௦]/g,(function(e){return n[e]}))},postformat:function(e){return e.replace(/\d/g,(function(e){return t[e]}))},meridiemParse:/யாமம்|வைகறை|காலை|நண்பகல்|எற்பாடு|மாலை/,meridiem:function(e,t,n){return e<2?" யாமம்":e<6?" வைகறை":e<10?" காலை":e<14?" நண்பகல்":e<18?" எற்பாடு":e<22?" மாலை":" யாமம்"},meridiemHour:function(e,t){return 12===e&&(e=0),"யாமம்"===t?e<2?e:e+12:"வைகறை"===t||"காலை"===t||"நண்பகல்"===t&&e>=10?e:e+12},week:{dow:0,doy:6}})}(n("qW9H"))},jkVd:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});function a(e){return"Tag"===e||"Monat"===e?"r":"Jahr"===e?"s":""}function r(e){return"Tag"===e||"Monat"===e?"r":"Jahr"===e?"s":""}var o=[{code:"af",week:{dow:1,doy:4},buttonText:{prev:"Vorige",next:"Volgende",today:"Vandag",year:"Jaar",month:"Maand",week:"Week",day:"Dag",list:"Agenda"},allDayText:"Heeldag",moreLinkText:"Addisionele",noEventsText:"Daar is geen gebeurtenisse nie"},{code:"ar-dz",week:{dow:0,doy:4},direction:"rtl",buttonText:{prev:"السابق",next:"التالي",today:"اليوم",month:"شهر",week:"أسبوع",day:"يوم",list:"أجندة"},weekText:"أسبوع",allDayText:"اليوم كله",moreLinkText:"أخرى",noEventsText:"أي أحداث لعرض"},{code:"ar-kw",week:{dow:0,doy:12},direction:"rtl",buttonText:{prev:"السابق",next:"التالي",today:"اليوم",month:"شهر",week:"أسبوع",day:"يوم",list:"أجندة"},weekText:"أسبوع",allDayText:"اليوم كله",moreLinkText:"أخرى",noEventsText:"أي أحداث لعرض"},{code:"ar-ly",week:{dow:6,doy:12},direction:"rtl",buttonText:{prev:"السابق",next:"التالي",today:"اليوم",month:"شهر",week:"أسبوع",day:"يوم",list:"أجندة"},weekText:"أسبوع",allDayText:"اليوم كله",moreLinkText:"أخرى",noEventsText:"أي أحداث لعرض"},{code:"ar-ma",week:{dow:6,doy:12},direction:"rtl",buttonText:{prev:"السابق",next:"التالي",today:"اليوم",month:"شهر",week:"أسبوع",day:"يوم",list:"أجندة"},weekText:"أسبوع",allDayText:"اليوم كله",moreLinkText:"أخرى",noEventsText:"أي أحداث لعرض"},{code:"ar-sa",week:{dow:0,doy:6},direction:"rtl",buttonText:{prev:"السابق",next:"التالي",today:"اليوم",month:"شهر",week:"أسبوع",day:"يوم",list:"أجندة"},weekText:"أسبوع",allDayText:"اليوم كله",moreLinkText:"أخرى",noEventsText:"أي أحداث لعرض"},{code:"ar-tn",week:{dow:1,doy:4},direction:"rtl",buttonText:{prev:"السابق",next:"التالي",today:"اليوم",month:"شهر",week:"أسبوع",day:"يوم",list:"أجندة"},weekText:"أسبوع",allDayText:"اليوم كله",moreLinkText:"أخرى",noEventsText:"أي أحداث لعرض"},{code:"ar",week:{dow:6,doy:12},direction:"rtl",buttonText:{prev:"السابق",next:"التالي",today:"اليوم",month:"شهر",week:"أسبوع",day:"يوم",list:"أجندة"},weekText:"أسبوع",allDayText:"اليوم كله",moreLinkText:"أخرى",noEventsText:"أي أحداث لعرض"},{code:"az",week:{dow:1,doy:4},buttonText:{prev:"Əvvəl",next:"Sonra",today:"Bu Gün",month:"Ay",week:"Həftə",day:"Gün",list:"Gündəm"},weekText:"Həftə",allDayText:"Bütün Gün",moreLinkText:function(e){return"+ daha çox "+e},noEventsText:"Göstərmək üçün hadisə yoxdur"},{code:"bg",week:{dow:1,doy:7},buttonText:{prev:"назад",next:"напред",today:"днес",month:"Месец",week:"Седмица",day:"Ден",list:"График"},allDayText:"Цял ден",moreLinkText:function(e){return"+още "+e},noEventsText:"Няма събития за показване"},{code:"bn",week:{dow:0,doy:6},buttonText:{prev:"পেছনে",next:"সামনে",today:"আজ",month:"মাস",week:"সপ্তাহ",day:"দিন",list:"তালিকা"},weekText:"সপ্তাহ",allDayText:"সারাদিন",moreLinkText:function(e){return"+অন্যান্য "+e},noEventsText:"কোনো ইভেন্ট নেই"},{code:"bs",week:{dow:1,doy:7},buttonText:{prev:"Prošli",next:"Sljedeći",today:"Danas",month:"Mjesec",week:"Sedmica",day:"Dan",list:"Raspored"},weekText:"Sed",allDayText:"Cijeli dan",moreLinkText:function(e){return"+ još "+e},noEventsText:"Nema događaja za prikazivanje"},{code:"ca",week:{dow:1,doy:4},buttonText:{prev:"Anterior",next:"Següent",today:"Avui",month:"Mes",week:"Setmana",day:"Dia",list:"Agenda"},weekText:"Set",allDayText:"Tot el dia",moreLinkText:"més",noEventsText:"No hi ha esdeveniments per mostrar"},{code:"cs",week:{dow:1,doy:4},buttonText:{prev:"Dříve",next:"Později",today:"Nyní",month:"Měsíc",week:"Týden",day:"Den",list:"Agenda"},weekText:"Týd",allDayText:"Celý den",moreLinkText:function(e){return"+další: "+e},noEventsText:"Žádné akce k zobrazení"},{code:"cy",week:{dow:1,doy:4},buttonText:{prev:"Blaenorol",next:"Nesaf",today:"Heddiw",year:"Blwyddyn",month:"Mis",week:"Wythnos",day:"Dydd",list:"Rhestr"},weekText:"Wythnos",allDayText:"Trwy'r dydd",moreLinkText:"Mwy",noEventsText:"Dim digwyddiadau"},{code:"da",week:{dow:1,doy:4},buttonText:{prev:"Forrige",next:"Næste",today:"I dag",month:"Måned",week:"Uge",day:"Dag",list:"Agenda"},weekText:"Uge",allDayText:"Hele dagen",moreLinkText:"flere",noEventsText:"Ingen arrangementer at vise"},{code:"de-at",week:{dow:1,doy:4},buttonText:{prev:"Zurück",next:"Vor",today:"Heute",year:"Jahr",month:"Monat",week:"Woche",day:"Tag",list:"Terminübersicht"},weekText:"KW",weekTextLong:"Woche",allDayText:"Ganztägig",moreLinkText:function(e){return"+ weitere "+e},noEventsText:"Keine Ereignisse anzuzeigen",buttonHints:{prev:e=>`Vorherige${a(e)} ${e}`,next:e=>`Nächste${a(e)} ${e}`,today:e=>"Tag"===e?"Heute":`Diese${a(e)} ${e}`},viewHint:e=>e+("Woche"===e?"n":"Monat"===e?"s":"es")+"ansicht",navLinkHint:"Gehe zu $0",moreLinkHint:e=>"Zeige "+(1===e?"ein weiteres Ereignis":e+" weitere Ereignisse"),closeHint:"Schließen",timeHint:"Uhrzeit",eventHint:"Ereignis"},{code:"de",week:{dow:1,doy:4},buttonText:{prev:"Zurück",next:"Vor",today:"Heute",year:"Jahr",month:"Monat",week:"Woche",day:"Tag",list:"Terminübersicht"},weekText:"KW",weekTextLong:"Woche",allDayText:"Ganztägig",moreLinkText:function(e){return"+ weitere "+e},noEventsText:"Keine Ereignisse anzuzeigen",buttonHints:{prev:e=>`Vorherige${r(e)} ${e}`,next:e=>`Nächste${r(e)} ${e}`,today:e=>"Tag"===e?"Heute":`Diese${r(e)} ${e}`},viewHint:e=>e+("Woche"===e?"n":"Monat"===e?"s":"es")+"ansicht",navLinkHint:"Gehe zu $0",moreLinkHint:e=>"Zeige "+(1===e?"ein weiteres Ereignis":e+" weitere Ereignisse"),closeHint:"Schließen",timeHint:"Uhrzeit",eventHint:"Ereignis"},{code:"el",week:{dow:1,doy:4},buttonText:{prev:"Προηγούμενος",next:"Επόμενος",today:"Σήμερα",month:"Μήνας",week:"Εβδομάδα",day:"Ημέρα",list:"Ατζέντα"},weekText:"Εβδ",allDayText:"Ολοήμερο",moreLinkText:"περισσότερα",noEventsText:"Δεν υπάρχουν γεγονότα προς εμφάνιση"},{code:"en-au",week:{dow:1,doy:4},buttonHints:{prev:"Previous $0",next:"Next $0",today:"This $0"},viewHint:"$0 view",navLinkHint:"Go to $0",moreLinkHint:e=>`Show ${e} more event${1===e?"":"s"}`},{code:"en-gb",week:{dow:1,doy:4},buttonHints:{prev:"Previous $0",next:"Next $0",today:"This $0"},viewHint:"$0 view",navLinkHint:"Go to $0",moreLinkHint:e=>`Show ${e} more event${1===e?"":"s"}`},{code:"en-nz",week:{dow:1,doy:4},buttonHints:{prev:"Previous $0",next:"Next $0",today:"This $0"},viewHint:"$0 view",navLinkHint:"Go to $0",moreLinkHint:e=>`Show ${e} more event${1===e?"":"s"}`},{code:"eo",week:{dow:1,doy:4},buttonText:{prev:"Antaŭa",next:"Sekva",today:"Hodiaŭ",month:"Monato",week:"Semajno",day:"Tago",list:"Tagordo"},weekText:"Sm",allDayText:"Tuta tago",moreLinkText:"pli",noEventsText:"Neniuj eventoj por montri"},{code:"es",week:{dow:0,doy:6},buttonText:{prev:"Ant",next:"Sig",today:"Hoy",month:"Mes",week:"Semana",day:"Día",list:"Agenda"},weekText:"Sm",allDayText:"Todo el día",moreLinkText:"más",noEventsText:"No hay eventos para mostrar"},{code:"es",week:{dow:1,doy:4},buttonText:{prev:"Ant",next:"Sig",today:"Hoy",month:"Mes",week:"Semana",day:"Día",list:"Agenda"},buttonHints:{prev:"$0 antes",next:"$0 siguiente",today:e=>"Día"===e?"Hoy":("Semana"===e?"Esta":"Este")+" "+e.toLocaleLowerCase()},viewHint:e=>"Vista "+("Semana"===e?"de la":"del")+" "+e.toLocaleLowerCase(),weekText:"Sm",weekTextLong:"Semana",allDayText:"Todo el día",moreLinkText:"más",moreLinkHint:e=>`Mostrar ${e} eventos más`,noEventsText:"No hay eventos para mostrar",navLinkHint:"Ir al $0",closeHint:"Cerrar",timeHint:"La hora",eventHint:"Evento"},{code:"et",week:{dow:1,doy:4},buttonText:{prev:"Eelnev",next:"Järgnev",today:"Täna",month:"Kuu",week:"Nädal",day:"Päev",list:"Päevakord"},weekText:"näd",allDayText:"Kogu päev",moreLinkText:function(e){return"+ veel "+e},noEventsText:"Kuvamiseks puuduvad sündmused"},{code:"eu",week:{dow:1,doy:7},buttonText:{prev:"Aur",next:"Hur",today:"Gaur",month:"Hilabetea",week:"Astea",day:"Eguna",list:"Agenda"},weekText:"As",allDayText:"Egun osoa",moreLinkText:"gehiago",noEventsText:"Ez dago ekitaldirik erakusteko"},{code:"fa",week:{dow:6,doy:12},direction:"rtl",buttonText:{prev:"قبلی",next:"بعدی",today:"امروز",month:"ماه",week:"هفته",day:"روز",list:"برنامه"},weekText:"هف",allDayText:"تمام روز",moreLinkText:function(e){return"بیش از "+e},noEventsText:"هیچ رویدادی به نمایش"},{code:"fi",week:{dow:1,doy:4},buttonText:{prev:"Edellinen",next:"Seuraava",today:"Tänään",month:"Kuukausi",week:"Viikko",day:"Päivä",list:"Tapahtumat"},weekText:"Vk",allDayText:"Koko päivä",moreLinkText:"lisää",noEventsText:"Ei näytettäviä tapahtumia"},{code:"fr",buttonText:{prev:"Précédent",next:"Suivant",today:"Aujourd'hui",year:"Année",month:"Mois",week:"Semaine",day:"Jour",list:"Mon planning"},weekText:"Sem.",allDayText:"Toute la journée",moreLinkText:"en plus",noEventsText:"Aucun événement à afficher"},{code:"fr-ch",week:{dow:1,doy:4},buttonText:{prev:"Précédent",next:"Suivant",today:"Courant",year:"Année",month:"Mois",week:"Semaine",day:"Jour",list:"Mon planning"},weekText:"Sm",allDayText:"Toute la journée",moreLinkText:"en plus",noEventsText:"Aucun événement à afficher"},{code:"fr",week:{dow:1,doy:4},buttonText:{prev:"Précédent",next:"Suivant",today:"Aujourd'hui",year:"Année",month:"Mois",week:"Semaine",day:"Jour",list:"Planning"},weekText:"Sem.",allDayText:"Toute la journée",moreLinkText:"en plus",noEventsText:"Aucun événement à afficher"},{code:"gl",week:{dow:1,doy:4},buttonText:{prev:"Ant",next:"Seg",today:"Hoxe",month:"Mes",week:"Semana",day:"Día",list:"Axenda"},weekText:"Sm",allDayText:"Todo o día",moreLinkText:"máis",noEventsText:"Non hai eventos para amosar"},{code:"he",direction:"rtl",buttonText:{prev:"הקודם",next:"הבא",today:"היום",month:"חודש",week:"שבוע",day:"יום",list:"סדר יום"},allDayText:"כל היום",moreLinkText:"אחר",noEventsText:"אין אירועים להצגה",weekText:"שבוע"},{code:"hi",week:{dow:0,doy:6},buttonText:{prev:"पिछला",next:"अगला",today:"आज",month:"महीना",week:"सप्ताह",day:"दिन",list:"कार्यसूची"},weekText:"हफ्ता",allDayText:"सभी दिन",moreLinkText:function(e){return"+अधिक "+e},noEventsText:"कोई घटनाओं को प्रदर्शित करने के लिए"},{code:"hr",week:{dow:1,doy:7},buttonText:{prev:"Prijašnji",next:"Sljedeći",today:"Danas",month:"Mjesec",week:"Tjedan",day:"Dan",list:"Raspored"},weekText:"Tje",allDayText:"Cijeli dan",moreLinkText:function(e){return"+ još "+e},noEventsText:"Nema događaja za prikaz"},{code:"hu",week:{dow:1,doy:4},buttonText:{prev:"vissza",next:"előre",today:"ma",month:"Hónap",week:"Hét",day:"Nap",list:"Lista"},weekText:"Hét",allDayText:"Egész nap",moreLinkText:"további",noEventsText:"Nincs megjeleníthető esemény"},{code:"hy-am",week:{dow:1,doy:4},buttonText:{prev:"Նախորդ",next:"Հաջորդ",today:"Այսօր",month:"Ամիս",week:"Շաբաթ",day:"Օր",list:"Օրվա ցուցակ"},weekText:"Շաբ",allDayText:"Ամբողջ օր",moreLinkText:function(e){return"+ ևս "+e},noEventsText:"Բացակայում է իրադարձությունը ցուցադրելու"},{code:"id",week:{dow:1,doy:7},buttonText:{prev:"mundur",next:"maju",today:"hari ini",month:"Bulan",week:"Minggu",day:"Hari",list:"Agenda"},weekText:"Mg",allDayText:"Sehari penuh",moreLinkText:"lebih",noEventsText:"Tidak ada acara untuk ditampilkan"},{code:"is",week:{dow:1,doy:4},buttonText:{prev:"Fyrri",next:"Næsti",today:"Í dag",month:"Mánuður",week:"Vika",day:"Dagur",list:"Dagskrá"},weekText:"Vika",allDayText:"Allan daginn",moreLinkText:"meira",noEventsText:"Engir viðburðir til að sýna"},{code:"it",week:{dow:1,doy:4},buttonText:{prev:"Prec",next:"Succ",today:"Oggi",month:"Mese",week:"Settimana",day:"Giorno",list:"Agenda"},weekText:"Sm",allDayText:"Tutto il giorno",moreLinkText:function(e){return"+altri "+e},noEventsText:"Non ci sono eventi da visualizzare"},{code:"ja",buttonText:{prev:"前",next:"次",today:"今日",month:"月",week:"週",day:"日",list:"予定リスト"},weekText:"週",allDayText:"終日",moreLinkText:function(e){return"他 "+e+" 件"},noEventsText:"表示する予定はありません"},{code:"ka",week:{dow:1,doy:7},buttonText:{prev:"წინა",next:"შემდეგი",today:"დღეს",month:"თვე",week:"კვირა",day:"დღე",list:"დღის წესრიგი"},weekText:"კვ",allDayText:"მთელი დღე",moreLinkText:function(e){return"+ კიდევ "+e},noEventsText:"ღონისძიებები არ არის"},{code:"kk",week:{dow:1,doy:7},buttonText:{prev:"Алдыңғы",next:"Келесі",today:"Бүгін",month:"Ай",week:"Апта",day:"Күн",list:"Күн тәртібі"},weekText:"Не",allDayText:"Күні бойы",moreLinkText:function(e){return"+ тағы "+e},noEventsText:"Көрсету үшін оқиғалар жоқ"},{code:"km",week:{dow:1,doy:4},buttonText:{prev:"មុន",next:"បន្ទាប់",today:"ថ្ងៃនេះ",year:"ឆ្នាំ",month:"ខែ",week:"សប្តាហ៍",day:"ថ្ងៃ",list:"បញ្ជី"},weekText:"សប្តាហ៍",allDayText:"ពេញមួយថ្ងៃ",moreLinkText:"ច្រើនទៀត",noEventsText:"គ្មានព្រឹត្តិការណ៍ត្រូវបង្ហាញ"},{code:"ko",buttonText:{prev:"이전달",next:"다음달",today:"오늘",month:"월",week:"주",day:"일",list:"일정목록"},weekText:"주",allDayText:"종일",moreLinkText:"개",noEventsText:"일정이 없습니다"},{code:"ku",week:{dow:6,doy:12},direction:"rtl",buttonText:{prev:"پێشتر",next:"دواتر",today:"ئەمڕو",month:"مانگ",week:"هەفتە",day:"ڕۆژ",list:"بەرنامە"},weekText:"هەفتە",allDayText:"هەموو ڕۆژەکە",moreLinkText:"زیاتر",noEventsText:"هیچ ڕووداوێك نیە"},{code:"lb",week:{dow:1,doy:4},buttonText:{prev:"Zréck",next:"Weider",today:"Haut",month:"Mount",week:"Woch",day:"Dag",list:"Terminiwwersiicht"},weekText:"W",allDayText:"Ganzen Dag",moreLinkText:"méi",noEventsText:"Nee Evenementer ze affichéieren"},{code:"lt",week:{dow:1,doy:4},buttonText:{prev:"Atgal",next:"Pirmyn",today:"Šiandien",month:"Mėnuo",week:"Savaitė",day:"Diena",list:"Darbotvarkė"},weekText:"SAV",allDayText:"Visą dieną",moreLinkText:"daugiau",noEventsText:"Nėra įvykių rodyti"},{code:"lv",week:{dow:1,doy:4},buttonText:{prev:"Iepr.",next:"Nāk.",today:"Šodien",month:"Mēnesis",week:"Nedēļa",day:"Diena",list:"Dienas kārtība"},weekText:"Ned.",allDayText:"Visu dienu",moreLinkText:function(e){return"+vēl "+e},noEventsText:"Nav notikumu"},{code:"mk",buttonText:{prev:"претходно",next:"следно",today:"Денес",month:"Месец",week:"Недела",day:"Ден",list:"График"},weekText:"Сед",allDayText:"Цел ден",moreLinkText:function(e){return"+повеќе "+e},noEventsText:"Нема настани за прикажување"},{code:"ms",week:{dow:1,doy:7},buttonText:{prev:"Sebelum",next:"Selepas",today:"hari ini",month:"Bulan",week:"Minggu",day:"Hari",list:"Agenda"},weekText:"Mg",allDayText:"Sepanjang hari",moreLinkText:function(e){return"masih ada "+e+" acara"},noEventsText:"Tiada peristiwa untuk dipaparkan"},{code:"nb",week:{dow:1,doy:4},buttonText:{prev:"Forrige",next:"Neste",today:"I dag",month:"Måned",week:"Uke",day:"Dag",list:"Agenda"},weekText:"Uke",weekTextLong:"Uke",allDayText:"Hele dagen",moreLinkText:"til",noEventsText:"Ingen hendelser å vise",buttonHints:{prev:"Forrige $0",next:"Neste $0",today:"Nåværende $0"},viewHint:"$0 visning",navLinkHint:"Gå til $0",moreLinkHint:e=>`Vis ${e} flere hendelse${1===e?"":"r"}`},{code:"ne",week:{dow:7,doy:1},buttonText:{prev:"अघिल्लो",next:"अर्को",today:"आज",month:"महिना",week:"हप्ता",day:"दिन",list:"सूची"},weekText:"हप्ता",allDayText:"दिनभरि",moreLinkText:"थप लिंक",noEventsText:"देखाउनको लागि कुनै घटनाहरू छैनन्"},{code:"nl",week:{dow:1,doy:4},buttonText:{prev:"Vorige",next:"Volgende",today:"Vandaag",year:"Jaar",month:"Maand",week:"Week",day:"Dag",list:"Agenda"},allDayText:"Hele dag",moreLinkText:"extra",noEventsText:"Geen evenementen om te laten zien"},{code:"nn",week:{dow:1,doy:4},buttonText:{prev:"Førre",next:"Neste",today:"I dag",month:"Månad",week:"Veke",day:"Dag",list:"Agenda"},weekText:"Veke",allDayText:"Heile dagen",moreLinkText:"til",noEventsText:"Ingen hendelser å vise"},{code:"pl",week:{dow:1,doy:4},buttonText:{prev:"Poprzedni",next:"Następny",today:"Dziś",month:"Miesiąc",week:"Tydzień",day:"Dzień",list:"Plan dnia"},weekText:"Tydz",allDayText:"Cały dzień",moreLinkText:"więcej",noEventsText:"Brak wydarzeń do wyświetlenia"},{code:"pt-br",buttonText:{prev:"Anterior",next:"Próximo",today:"Hoje",month:"Mês",week:"Semana",day:"Dia",list:"Lista"},weekText:"Sm",allDayText:"dia inteiro",moreLinkText:function(e){return"mais +"+e},noEventsText:"Não há eventos para mostrar"},{code:"pt",week:{dow:1,doy:4},buttonText:{prev:"Anterior",next:"Seguinte",today:"Hoje",month:"Mês",week:"Semana",day:"Dia",list:"Agenda"},weekText:"Sem",allDayText:"Todo o dia",moreLinkText:"mais",noEventsText:"Não há eventos para mostrar"},{code:"ro",week:{dow:1,doy:7},buttonText:{prev:"precedentă",next:"următoare",today:"Azi",month:"Lună",week:"Săptămână",day:"Zi",list:"Agendă"},weekText:"Săpt",allDayText:"Toată ziua",moreLinkText:function(e){return"+alte "+e},noEventsText:"Nu există evenimente de afișat"},{code:"ru",week:{dow:1,doy:4},buttonText:{prev:"Пред",next:"След",today:"Сегодня",month:"Месяц",week:"Неделя",day:"День",list:"Повестка дня"},weekText:"Нед",allDayText:"Весь день",moreLinkText:function(e){return"+ ещё "+e},noEventsText:"Нет событий для отображения"},{code:"si-lk",week:{dow:1,doy:4},buttonText:{prev:"පෙර",next:"පසු",today:"අද",month:"මාසය",week:"සතිය",day:"දවස",list:"ලැයිස්තුව"},weekText:"සති",allDayText:"සියලු",moreLinkText:"තවත්",noEventsText:"මුකුත් නැත"},{code:"sk",week:{dow:1,doy:4},buttonText:{prev:"Predchádzajúci",next:"Nasledujúci",today:"Dnes",month:"Mesiac",week:"Týždeň",day:"Deň",list:"Rozvrh"},weekText:"Ty",allDayText:"Celý deň",moreLinkText:function(e){return"+ďalšie: "+e},noEventsText:"Žiadne akcie na zobrazenie"},{code:"sl",week:{dow:1,doy:7},buttonText:{prev:"Prejšnji",next:"Naslednji",today:"Trenutni",month:"Mesec",week:"Teden",day:"Dan",list:"Dnevni red"},weekText:"Teden",allDayText:"Ves dan",moreLinkText:"več",noEventsText:"Ni dogodkov za prikaz"},{code:"sm",buttonText:{prev:"Talu ai",next:"Mulimuli atu",today:"Aso nei",month:"Masina",week:"Vaiaso",day:"Aso",list:"Faasologa"},weekText:"Vaiaso",allDayText:"Aso atoa",moreLinkText:"sili atu",noEventsText:"Leai ni mea na tutupu"},{code:"sq",week:{dow:1,doy:4},buttonText:{prev:"mbrapa",next:"Përpara",today:"sot",month:"Muaj",week:"Javë",day:"Ditë",list:"Listë"},weekText:"Ja",allDayText:"Gjithë ditën",moreLinkText:function(e){return"+më tepër "+e},noEventsText:"Nuk ka evente për të shfaqur"},{code:"sr-cyrl",week:{dow:1,doy:7},buttonText:{prev:"Претходна",next:"следећи",today:"Данас",month:"Месец",week:"Недеља",day:"Дан",list:"Планер"},weekText:"Сед",allDayText:"Цео дан",moreLinkText:function(e){return"+ још "+e},noEventsText:"Нема догађаја за приказ"},{code:"sr",week:{dow:1,doy:7},buttonText:{prev:"Prethodna",next:"Sledeći",today:"Danas",month:"Mеsеc",week:"Nеdеlja",day:"Dan",list:"Planеr"},weekText:"Sed",allDayText:"Cеo dan",moreLinkText:function(e){return"+ još "+e},noEventsText:"Nеma događaja za prikaz"},{code:"sv",week:{dow:1,doy:4},buttonText:{prev:"Förra",next:"Nästa",today:"Idag",month:"Månad",week:"Vecka",day:"Dag",list:"Program"},buttonHints:{prev:e=>"Föregående "+e.toLocaleLowerCase(),next:e=>"Nästa "+e.toLocaleLowerCase(),today:e=>("Program"===e?"Detta":"Denna")+" "+e.toLocaleLowerCase()},viewHint:"$0 vy",navLinkHint:"Gå till $0",moreLinkHint:e=>`Visa ytterligare ${e} händelse${1===e?"":"r"}`,weekText:"v.",weekTextLong:"Vecka",allDayText:"Heldag",moreLinkText:"till",noEventsText:"Inga händelser att visa",closeHint:"Stäng",timeHint:"Klockan",eventHint:"Händelse"},{code:"ta-in",week:{dow:1,doy:4},buttonText:{prev:"முந்தைய",next:"அடுத்தது",today:"இன்று",month:"மாதம்",week:"வாரம்",day:"நாள்",list:"தினசரி அட்டவணை"},weekText:"வாரம்",allDayText:"நாள் முழுவதும்",moreLinkText:function(e){return"+ மேலும் "+e},noEventsText:"காண்பிக்க நிகழ்வுகள் இல்லை"},{code:"th",week:{dow:1,doy:4},buttonText:{prev:"ก่อนหน้า",next:"ถัดไป",prevYear:"ปีก่อนหน้า",nextYear:"ปีถัดไป",year:"ปี",today:"วันนี้",month:"เดือน",week:"สัปดาห์",day:"วัน",list:"กำหนดการ"},weekText:"สัปดาห์",allDayText:"ตลอดวัน",moreLinkText:"เพิ่มเติม",noEventsText:"ไม่มีกิจกรรมที่จะแสดง"},{code:"tr",week:{dow:1,doy:7},buttonText:{prev:"geri",next:"ileri",today:"bugün",month:"Ay",week:"Hafta",day:"Gün",list:"Ajanda"},weekText:"Hf",allDayText:"Tüm gün",moreLinkText:"daha fazla",noEventsText:"Gösterilecek etkinlik yok"},{code:"ug",buttonText:{month:"ئاي",week:"ھەپتە",day:"كۈن",list:"كۈنتەرتىپ"},allDayText:"پۈتۈن كۈن"},{code:"uk",week:{dow:1,doy:7},buttonText:{prev:"Попередній",next:"далі",today:"Сьогодні",month:"Місяць",week:"Тиждень",day:"День",list:"Порядок денний"},weekText:"Тиж",allDayText:"Увесь день",moreLinkText:function(e){return"+ще "+e+"..."},noEventsText:"Немає подій для відображення"},{code:"uz",buttonText:{month:"Oy",week:"Xafta",day:"Kun",list:"Kun tartibi"},allDayText:"Kun bo'yi",moreLinkText:function(e){return"+ yana "+e},noEventsText:"Ko'rsatish uchun voqealar yo'q"},{code:"vi",week:{dow:1,doy:4},buttonText:{prev:"Trước",next:"Tiếp",today:"Hôm nay",month:"Tháng",week:"Tuần",day:"Ngày",list:"Lịch biểu"},weekText:"Tu",allDayText:"Cả ngày",moreLinkText:function(e){return"+ thêm "+e},noEventsText:"Không có sự kiện để hiển thị"},{code:"zh-cn",week:{dow:1,doy:4},buttonText:{prev:"上月",next:"下月",today:"今天",month:"月",week:"周",day:"日",list:"日程"},weekText:"周",allDayText:"全天",moreLinkText:function(e){return"另外 "+e+" 个"},noEventsText:"没有事件显示"},{code:"zh-tw",buttonText:{prev:"上月",next:"下月",today:"今天",month:"月",week:"週",day:"天",list:"活動列表"},weekText:"周",allDayText:"整天",moreLinkText:"顯示更多",noEventsText:"没有任何活動"}];t.default=o},jmSm:function(e,t,n){!function(e){"use strict"; //! moment.js locale configuration -var t={words:{ss:["sekund","sekunda","sekundi"],m:["jedan minut","jednog minuta"],mm:["minut","minuta","minuta"],h:["jedan sat","jednog sata"],hh:["sat","sata","sati"],dd:["dan","dana","dana"],MM:["mjesec","mjeseca","mjeseci"],yy:["godina","godine","godina"]},correctGrammaticalCase:function(e,t){return 1===e?t[0]:e>=2&&e<=4?t[1]:t[2]},translate:function(e,n,a){var r=t.words[a];return 1===a.length?n?r[0]:r[1]:e+" "+t.correctGrammaticalCase(e,r)}};e.defineLocale("me",{months:"januar_februar_mart_april_maj_jun_jul_avgust_septembar_oktobar_novembar_decembar".split("_"),monthsShort:"jan._feb._mar._apr._maj_jun_jul_avg._sep._okt._nov._dec.".split("_"),monthsParseExact:!0,weekdays:"nedjelja_ponedjeljak_utorak_srijeda_četvrtak_petak_subota".split("_"),weekdaysShort:"ned._pon._uto._sri._čet._pet._sub.".split("_"),weekdaysMin:"ne_po_ut_sr_če_pe_su".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY H:mm",LLLL:"dddd, D. MMMM YYYY H:mm"},calendar:{sameDay:"[danas u] LT",nextDay:"[sjutra u] LT",nextWeek:function(){switch(this.day()){case 0:return"[u] [nedjelju] [u] LT";case 3:return"[u] [srijedu] [u] LT";case 6:return"[u] [subotu] [u] LT";case 1:case 2:case 4:case 5:return"[u] dddd [u] LT"}},lastDay:"[juče u] LT",lastWeek:function(){return["[prošle] [nedjelje] [u] LT","[prošlog] [ponedjeljka] [u] LT","[prošlog] [utorka] [u] LT","[prošle] [srijede] [u] LT","[prošlog] [četvrtka] [u] LT","[prošlog] [petka] [u] LT","[prošle] [subote] [u] LT"][this.day()]},sameElse:"L"},relativeTime:{future:"za %s",past:"prije %s",s:"nekoliko sekundi",ss:t.translate,m:t.translate,mm:t.translate,h:t.translate,hh:t.translate,d:"dan",dd:t.translate,M:"mjesec",MM:t.translate,y:"godinu",yy:t.translate},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:7}})}(n("qW9H"))},kEfb:function(e,t,n){"use strict";n("63n+");var a=n("CtUX"),r=n("Rpw/"),o=(n("XoSK"),function(e){function t(){var t=null!==e&&e.apply(this,arguments)||this;return t.headerElRef=Object(a.Y)(),t}return Object(r.b)(t,e),t.prototype.renderSimpleLayout=function(e,t){var n=this.props,r=this.context,o=[],i=Object(a.kb)(r.options);return e&&o.push({type:"header",key:"header",isSticky:i,chunk:{elRef:this.headerElRef,tableClassName:"fc-col-header",rowContent:e}}),o.push({type:"body",key:"body",liquid:!0,chunk:{content:t}}),Object(a.V)(a.F,{viewSpec:r.viewSpec},(function(e,t){return Object(a.V)("div",{ref:e,className:["fc-daygrid"].concat(t).join(" ")},Object(a.V)(a.A,{liquid:!n.isHeightAuto&&!n.forPrint,collapsibleWidth:n.forPrint,cols:[],sections:o}))}))},t.prototype.renderHScrollLayout=function(e,t,n,r){var o=this.context.pluginHooks.scrollGridImpl;if(!o)throw new Error("No ScrollGrid implementation");var i=this.props,s=this.context,c=!i.forPrint&&Object(a.kb)(s.options),d=!i.forPrint&&Object(a.jb)(s.options),u=[];return e&&u.push({type:"header",key:"header",isSticky:c,chunks:[{key:"main",elRef:this.headerElRef,tableClassName:"fc-col-header",rowContent:e}]}),u.push({type:"body",key:"body",liquid:!0,chunks:[{key:"main",content:t}]}),d&&u.push({type:"footer",key:"footer",isSticky:!0,chunks:[{key:"main",content:a.zb}]}),Object(a.V)(a.F,{viewSpec:s.viewSpec},(function(e,t){return Object(a.V)("div",{ref:e,className:["fc-daygrid"].concat(t).join(" ")},Object(a.V)(o,{liquid:!i.isHeightAuto&&!i.forPrint,collapsibleWidth:i.forPrint,colGroups:[{cols:[{span:n,minWidth:r}]}],sections:u}))}))},t}(a.h));function i(e,t){for(var n=[],a=0;a1,L=m.span.start===s;l+=m.levelCoord-u,u=m.levelCoord+m.thickness,y?(l+=m.thickness,L&&f.push({seg:A(_,m.span.start,m.span.end,n),isVisible:!0,isAbsolute:!0,absoluteTop:m.levelCoord,marginTop:0})):L&&(f.push({seg:A(_,m.span.start,m.span.end,n),isVisible:!0,isAbsolute:!1,absoluteTop:m.levelCoord,marginTop:l}),l=0)}r.push(d),o.push(f),i.push(l)}return{singleColPlacements:r,multiColPlacements:o,leftoverMargins:i}}(s.toRects(),e,i),m=p.singleColPlacements,_=p.multiColPlacements,f=p.leftoverMargins,h=[],b=[],y=0,L=d;y1,showWeekNumbers:t.showWeekNumbers,todayRange:_,dateProfile:n,cells:i,renderIntro:t.renderRowIntro,businessHourSegs:c[m],eventSelection:t.eventSelection,bgEventSegs:d[m].filter(T),fgEventSegs:u[m],dateSelectionSegs:l[m],eventDrag:M[m],eventResize:p[m],dayMaxEvents:o,dayMaxEventRows:r,clientWidth:t.clientWidth,clientHeight:t.clientHeight,forPrint:t.forPrint})})))))})))},t.prototype.prepareHits=function(){this.rowPositions=new a.v(this.rootEl,this.rowRefs.collect().map((function(e){return e.getCellEls()[0]})),!1,!0),this.colPositions=new a.v(this.rootEl,this.rowRefs.currentMap[0].getCellEls(),!0,!1)},t.prototype.queryHit=function(e,t){var n=this.colPositions,a=this.rowPositions,o=n.leftToIndex(e),i=a.topToIndex(t);if(null!=i&&null!=o){var s=this.props.cells[i][o];return{dateProfile:this.props.dateProfile,dateSpan:Object(r.a)({range:this.getCellRange(i,o),allDay:!0},s.extraDateSpan),dayEl:this.getCellEl(i,o),rect:{left:n.lefts[o],right:n.rights[o],top:a.tops[i],bottom:a.bottoms[i]},layer:0}}return null},t.prototype.getCellEl=function(e,t){return this.rowRefs.currentMap[e].getCellEls()[t]},t.prototype.getCellRange=function(e,t){var n=this.props.cells[e][t].date;return{start:n,end:Object(a.H)(n,1)}},t}(a.h);function T(e){return e.eventRange.def.allDay}var O=function(e){function t(){var t=null!==e&&e.apply(this,arguments)||this;return t.forceDayIfListItem=!0,t}return Object(r.b)(t,e),t.prototype.sliceRange=function(e,t){return t.sliceRange(e)},t}(a.B),k=function(e){function t(){var t=null!==e&&e.apply(this,arguments)||this;return t.slicer=new O,t.tableRef=Object(a.Y)(),t}return Object(r.b)(t,e),t.prototype.render=function(){var e=this.props,t=this.context;return Object(a.V)(z,Object(r.a)({ref:this.tableRef},this.slicer.sliceProps(e,e.dateProfile,e.nextDayThreshold,t,e.dayTableModel),{dateProfile:e.dateProfile,cells:e.dayTableModel.cells,colGroupNode:e.colGroupNode,tableMinWidth:e.tableMinWidth,renderRowIntro:e.renderRowIntro,dayMaxEvents:e.dayMaxEvents,dayMaxEventRows:e.dayMaxEventRows,showWeekNumbers:e.showWeekNumbers,expandRows:e.expandRows,headerAlignElRef:e.headerAlignElRef,clientWidth:e.clientWidth,clientHeight:e.clientHeight,forPrint:e.forPrint}))},t}(a.h),D=function(e){function t(){var t=null!==e&&e.apply(this,arguments)||this;return t.buildDayTableModel=Object(a.ub)(w),t.headerRef=Object(a.Y)(),t.tableRef=Object(a.Y)(),t}return Object(r.b)(t,e),t.prototype.render=function(){var e=this,t=this.context,n=t.options,r=t.dateProfileGenerator,o=this.props,i=this.buildDayTableModel(o.dateProfile,r),s=n.dayHeaders&&Object(a.V)(a.l,{ref:this.headerRef,dateProfile:o.dateProfile,dates:i.headerDates,datesRepDistinctDays:1===i.rowCnt}),c=function(t){return Object(a.V)(k,{ref:e.tableRef,dateProfile:o.dateProfile,dayTableModel:i,businessHours:o.businessHours,dateSelection:o.dateSelection,eventStore:o.eventStore,eventUiBases:o.eventUiBases,eventSelection:o.eventSelection,eventDrag:o.eventDrag,eventResize:o.eventResize,nextDayThreshold:n.nextDayThreshold,colGroupNode:t.tableColGroupNode,tableMinWidth:t.tableMinWidth,dayMaxEvents:n.dayMaxEvents,dayMaxEventRows:n.dayMaxEventRows,showWeekNumbers:n.weekNumbers,expandRows:!o.isHeightAuto,headerAlignElRef:e.headerElRef,clientWidth:t.clientWidth,clientHeight:t.clientHeight,forPrint:o.forPrint})};return n.dayMinWidth?this.renderHScrollLayout(s,c,i.colCnt,n.dayMinWidth):this.renderSimpleLayout(s,c)},t}(o);function w(e,t){var n=new a.m(e.renderRange,t);return new a.n(n,/year|month|week/.test(e.currentRangeUnit))}var Y=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return Object(r.b)(t,e),t.prototype.buildRenderRange=function(t,n,r){var o,i=this.props.dateEnv,s=e.prototype.buildRenderRange.call(this,t,n,r),c=s.start,d=s.end;if(/^(year|month)$/.test(n)&&(c=i.startOfWeek(c),(o=i.startOfWeek(d)).valueOf()!==d.valueOf()&&(d=Object(a.J)(o,1))),this.props.monthMode&&this.props.fixedWeekCount){var u=Math.ceil(Object(a.ab)(c,d));d=Object(a.J)(d,6-u)}return{start:c,end:d}},t}(a.i),S=(Object(a.X)({initialView:"dayGridMonth",views:{dayGrid:{component:D,dateProfileGeneratorClass:Y},dayGridDay:{type:"dayGrid",duration:{days:1}},dayGridWeek:{type:"dayGrid",duration:{weeks:1}},dayGridMonth:{type:"dayGrid",duration:{months:1},monthMode:!0,fixedWeekCount:!0}}}),function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return Object(r.b)(t,e),t.prototype.getKeyInfo=function(){return{allDay:{},timed:{}}},t.prototype.getKeysForDateSpan=function(e){return e.allDay?["allDay"]:["timed"]},t.prototype.getKeysForEventDef=function(e){return e.allDay?Object(a.nb)(e)?["timed","allDay"]:["allDay"]:["timed"]},t}(a.C)),N=Object(a.W)({hour:"numeric",minute:"2-digit",omitZeroMinute:!0,meridiem:"short"});function W(e){var t=["fc-timegrid-slot","fc-timegrid-slot-label",e.isLabeled?"fc-scrollgrid-shrink":"fc-timegrid-slot-minor"];return Object(a.V)(a.E.Consumer,null,(function(n){if(!e.isLabeled)return Object(a.V)("td",{className:t.join(" "),"data-time":e.isoTimeStr});var r=n.dateEnv,o=n.options,i=n.viewApi,s=null==o.slotLabelFormat?N:Array.isArray(o.slotLabelFormat)?Object(a.W)(o.slotLabelFormat[0]):Object(a.W)(o.slotLabelFormat),c={level:0,time:e.time,date:r.toDate(e.date),view:i,text:r.format(e.date,s)};return Object(a.V)(a.x,{hookProps:c,classNames:o.slotLabelClassNames,content:o.slotLabelContent,defaultContent:q,didMount:o.slotLabelDidMount,willUnmount:o.slotLabelWillUnmount},(function(n,r,o,i){return Object(a.V)("td",{ref:n,className:t.concat(r).join(" "),"data-time":e.isoTimeStr},Object(a.V)("div",{className:"fc-timegrid-slot-label-frame fc-scrollgrid-shrink-frame"},Object(a.V)("div",{className:"fc-timegrid-slot-label-cushion fc-scrollgrid-shrink-cushion",ref:o},i)))}))}))}function q(e){return e.text}var E=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return Object(r.b)(t,e),t.prototype.render=function(){return this.props.slatMetas.map((function(e){return Object(a.V)("tr",{key:e.key},Object(a.V)(W,Object(r.a)({},e)))}))},t}(a.a),x=Object(a.W)({week:"short"}),H=function(e){function t(){var t=null!==e&&e.apply(this,arguments)||this;return t.allDaySplitter=new S,t.headerElRef=Object(a.Y)(),t.rootElRef=Object(a.Y)(),t.scrollerElRef=Object(a.Y)(),t.state={slatCoords:null},t.handleScrollTopRequest=function(e){var n=t.scrollerElRef.current;n&&(n.scrollTop=e)},t.renderHeadAxis=function(e,n){void 0===n&&(n="");var o=t.context.options,i=t.props.dateProfile.renderRange,s=1===Object(a.Z)(i.start,i.end)?Object(a.Q)(t.context,i.start,"week"):{};return o.weekNumbers&&"day"===e?Object(a.V)(a.G,{date:i.start,defaultFormat:x},(function(e,t,o,i){return Object(a.V)("th",{ref:e,"aria-hidden":!0,className:["fc-timegrid-axis","fc-scrollgrid-shrink"].concat(t).join(" ")},Object(a.V)("div",{className:"fc-timegrid-axis-frame fc-scrollgrid-shrink-frame fc-timegrid-axis-frame-liquid",style:{height:n}},Object(a.V)("a",Object(r.a)({ref:o,className:"fc-timegrid-axis-cushion fc-scrollgrid-shrink-cushion fc-scrollgrid-sync-inner"},s),i)))})):Object(a.V)("th",{"aria-hidden":!0,className:"fc-timegrid-axis"},Object(a.V)("div",{className:"fc-timegrid-axis-frame",style:{height:n}}))},t.renderTableRowAxis=function(e){var n=t.context,r=n.options,o=n.viewApi,i={text:r.allDayText,view:o};return Object(a.V)(a.x,{hookProps:i,classNames:r.allDayClassNames,content:r.allDayContent,defaultContent:j,didMount:r.allDayDidMount,willUnmount:r.allDayWillUnmount},(function(t,n,r,o){return Object(a.V)("td",{ref:t,"aria-hidden":!0,className:["fc-timegrid-axis","fc-scrollgrid-shrink"].concat(n).join(" ")},Object(a.V)("div",{className:"fc-timegrid-axis-frame fc-scrollgrid-shrink-frame"+(null==e?" fc-timegrid-axis-frame-liquid":""),style:{height:e}},Object(a.V)("span",{className:"fc-timegrid-axis-cushion fc-scrollgrid-shrink-cushion fc-scrollgrid-sync-inner",ref:r},o)))}))},t.handleSlatCoords=function(e){t.setState({slatCoords:e})},t}return Object(r.b)(t,e),t.prototype.renderSimpleLayout=function(e,t,n){var r=this.context,o=this.props,i=[],s=Object(a.kb)(r.options);return e&&i.push({type:"header",key:"header",isSticky:s,chunk:{elRef:this.headerElRef,tableClassName:"fc-col-header",rowContent:e}}),t&&(i.push({type:"body",key:"all-day",chunk:{content:t}}),i.push({type:"body",key:"all-day-divider",outerContent:Object(a.V)("tr",{role:"presentation",className:"fc-scrollgrid-section"},Object(a.V)("td",{className:"fc-timegrid-divider "+r.theme.getClass("tableCellShaded")}))})),i.push({type:"body",key:"body",liquid:!0,expandRows:Boolean(r.options.expandRows),chunk:{scrollerElRef:this.scrollerElRef,content:n}}),Object(a.V)(a.F,{viewSpec:r.viewSpec,elRef:this.rootElRef},(function(e,t){return Object(a.V)("div",{className:["fc-timegrid"].concat(t).join(" "),ref:e},Object(a.V)(a.A,{liquid:!o.isHeightAuto&&!o.forPrint,collapsibleWidth:o.forPrint,cols:[{width:"shrink"}],sections:i}))}))},t.prototype.renderHScrollLayout=function(e,t,n,r,o,i,s){var c=this,d=this.context.pluginHooks.scrollGridImpl;if(!d)throw new Error("No ScrollGrid implementation");var u=this.context,l=this.props,M=!l.forPrint&&Object(a.kb)(u.options),p=!l.forPrint&&Object(a.jb)(u.options),m=[];e&&m.push({type:"header",key:"header",isSticky:M,syncRowHeights:!0,chunks:[{key:"axis",rowContent:function(e){return Object(a.V)("tr",{role:"presentation"},c.renderHeadAxis("day",e.rowSyncHeights[0]))}},{key:"cols",elRef:this.headerElRef,tableClassName:"fc-col-header",rowContent:e}]}),t&&(m.push({type:"body",key:"all-day",syncRowHeights:!0,chunks:[{key:"axis",rowContent:function(e){return Object(a.V)("tr",{role:"presentation"},c.renderTableRowAxis(e.rowSyncHeights[0]))}},{key:"cols",content:t}]}),m.push({key:"all-day-divider",type:"body",outerContent:Object(a.V)("tr",{role:"presentation",className:"fc-scrollgrid-section"},Object(a.V)("td",{colSpan:2,className:"fc-timegrid-divider "+u.theme.getClass("tableCellShaded")}))}));var _=u.options.nowIndicator;return m.push({type:"body",key:"body",liquid:!0,expandRows:Boolean(u.options.expandRows),chunks:[{key:"axis",content:function(e){return Object(a.V)("div",{className:"fc-timegrid-axis-chunk"},Object(a.V)("table",{"aria-hidden":!0,style:{height:e.expandRows?e.clientHeight:""}},e.tableColGroupNode,Object(a.V)("tbody",null,Object(a.V)(E,{slatMetas:i}))),Object(a.V)("div",{className:"fc-timegrid-now-indicator-container"},Object(a.V)(a.u,{unit:_?"minute":"day"},(function(e){var t=_&&s&&s.safeComputeTop(e);return"number"==typeof t?Object(a.V)(a.t,{isAxis:!0,date:e},(function(e,n,r,o){return Object(a.V)("div",{ref:e,className:["fc-timegrid-now-indicator-arrow"].concat(n).join(" "),style:{top:t}},o)})):null}))))}},{key:"cols",scrollerElRef:this.scrollerElRef,content:n}]}),p&&m.push({key:"footer",type:"footer",isSticky:!0,chunks:[{key:"axis",content:a.zb},{key:"cols",content:a.zb}]}),Object(a.V)(a.F,{viewSpec:u.viewSpec,elRef:this.rootElRef},(function(e,t){return Object(a.V)("div",{className:["fc-timegrid"].concat(t).join(" "),ref:e},Object(a.V)(d,{liquid:!l.isHeightAuto&&!l.forPrint,collapsibleWidth:!1,colGroups:[{width:"shrink",cols:[{width:"shrink"}]},{cols:[{span:r,minWidth:o}]}],sections:m}))}))},t.prototype.getAllDayMaxEventProps=function(){var e=this.context.options,t=e.dayMaxEvents,n=e.dayMaxEventRows;return!0!==t&&!0!==n||(t=void 0,n=5),{dayMaxEvents:t,dayMaxEventRows:n}},t}(a.h);function j(e){return e.text}var C=function(){function e(e,t,n){this.positions=e,this.dateProfile=t,this.slotDuration=n}return e.prototype.safeComputeTop=function(e){var t=this.dateProfile;if(Object(a.wb)(t.currentRange,e)){var n=Object(a.Db)(e),r=e.valueOf()-n.valueOf();if(r>=Object(a.L)(t.slotMinTime)&&r0,L=Boolean(d)&&d.span.end-d.span.start=0;t-=1)if(n=Object(a.U)(ue[t]),null!==(r=Object(a.Fb)(n,e))&&r>1)return n;return e}(r),u=[];Object(a.L)(s)=2&&e<=4?t[1]:t[2]},translate:function(e,n,a){var r=t.words[a];return 1===a.length?n?r[0]:r[1]:e+" "+t.correctGrammaticalCase(e,r)}};e.defineLocale("me",{months:"januar_februar_mart_april_maj_jun_jul_avgust_septembar_oktobar_novembar_decembar".split("_"),monthsShort:"jan._feb._mar._apr._maj_jun_jul_avg._sep._okt._nov._dec.".split("_"),monthsParseExact:!0,weekdays:"nedjelja_ponedjeljak_utorak_srijeda_četvrtak_petak_subota".split("_"),weekdaysShort:"ned._pon._uto._sri._čet._pet._sub.".split("_"),weekdaysMin:"ne_po_ut_sr_če_pe_su".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY H:mm",LLLL:"dddd, D. MMMM YYYY H:mm"},calendar:{sameDay:"[danas u] LT",nextDay:"[sjutra u] LT",nextWeek:function(){switch(this.day()){case 0:return"[u] [nedjelju] [u] LT";case 3:return"[u] [srijedu] [u] LT";case 6:return"[u] [subotu] [u] LT";case 1:case 2:case 4:case 5:return"[u] dddd [u] LT"}},lastDay:"[juče u] LT",lastWeek:function(){return["[prošle] [nedjelje] [u] LT","[prošlog] [ponedjeljka] [u] LT","[prošlog] [utorka] [u] LT","[prošle] [srijede] [u] LT","[prošlog] [četvrtka] [u] LT","[prošlog] [petka] [u] LT","[prošle] [subote] [u] LT"][this.day()]},sameElse:"L"},relativeTime:{future:"za %s",past:"prije %s",s:"nekoliko sekundi",ss:t.translate,m:t.translate,mm:t.translate,h:t.translate,hh:t.translate,d:"dan",dd:t.translate,M:"mjesec",MM:t.translate,y:"godinu",yy:t.translate},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:7}})}(n("qW9H"))},kEfb:function(e,t,n){"use strict";n("63n+");var a=n("CtUX"),r=n("Rpw/"),o=(n("XoSK"),function(e){function t(){var t=null!==e&&e.apply(this,arguments)||this;return t.headerElRef=Object(a.Y)(),t}return Object(r.b)(t,e),t.prototype.renderSimpleLayout=function(e,t){var n=this.props,r=this.context,o=[],i=Object(a.kb)(r.options);return e&&o.push({type:"header",key:"header",isSticky:i,chunk:{elRef:this.headerElRef,tableClassName:"fc-col-header",rowContent:e}}),o.push({type:"body",key:"body",liquid:!0,chunk:{content:t}}),Object(a.V)(a.F,{viewSpec:r.viewSpec},(function(e,t){return Object(a.V)("div",{ref:e,className:["fc-daygrid"].concat(t).join(" ")},Object(a.V)(a.A,{liquid:!n.isHeightAuto&&!n.forPrint,collapsibleWidth:n.forPrint,cols:[],sections:o}))}))},t.prototype.renderHScrollLayout=function(e,t,n,r){var o=this.context.pluginHooks.scrollGridImpl;if(!o)throw new Error("No ScrollGrid implementation");var i=this.props,s=this.context,c=!i.forPrint&&Object(a.kb)(s.options),d=!i.forPrint&&Object(a.jb)(s.options),u=[];return e&&u.push({type:"header",key:"header",isSticky:c,chunks:[{key:"main",elRef:this.headerElRef,tableClassName:"fc-col-header",rowContent:e}]}),u.push({type:"body",key:"body",liquid:!0,chunks:[{key:"main",content:t}]}),d&&u.push({type:"footer",key:"footer",isSticky:!0,chunks:[{key:"main",content:a.zb}]}),Object(a.V)(a.F,{viewSpec:s.viewSpec},(function(e,t){return Object(a.V)("div",{ref:e,className:["fc-daygrid"].concat(t).join(" ")},Object(a.V)(o,{liquid:!i.isHeightAuto&&!i.forPrint,collapsibleWidth:i.forPrint,colGroups:[{cols:[{span:n,minWidth:r}]}],sections:u}))}))},t}(a.h));function i(e,t){for(var n=[],a=0;a1,L=m.span.start===s;l+=m.levelCoord-u,u=m.levelCoord+m.thickness,y?(l+=m.thickness,L&&f.push({seg:A(_,m.span.start,m.span.end,n),isVisible:!0,isAbsolute:!0,absoluteTop:m.levelCoord,marginTop:0})):L&&(f.push({seg:A(_,m.span.start,m.span.end,n),isVisible:!0,isAbsolute:!1,absoluteTop:m.levelCoord,marginTop:l}),l=0)}r.push(d),o.push(f),i.push(l)}return{singleColPlacements:r,multiColPlacements:o,leftoverMargins:i}}(s.toRects(),e,i),m=p.singleColPlacements,_=p.multiColPlacements,f=p.leftoverMargins,h=[],b=[],y=0,L=d;y1,showWeekNumbers:t.showWeekNumbers,todayRange:_,dateProfile:n,cells:i,renderIntro:t.renderRowIntro,businessHourSegs:c[m],eventSelection:t.eventSelection,bgEventSegs:d[m].filter(T),fgEventSegs:u[m],dateSelectionSegs:l[m],eventDrag:M[m],eventResize:p[m],dayMaxEvents:o,dayMaxEventRows:r,clientWidth:t.clientWidth,clientHeight:t.clientHeight,forPrint:t.forPrint})})))))})))},t.prototype.prepareHits=function(){this.rowPositions=new a.v(this.rootEl,this.rowRefs.collect().map((function(e){return e.getCellEls()[0]})),!1,!0),this.colPositions=new a.v(this.rootEl,this.rowRefs.currentMap[0].getCellEls(),!0,!1)},t.prototype.queryHit=function(e,t){var n=this.colPositions,a=this.rowPositions,o=n.leftToIndex(e),i=a.topToIndex(t);if(null!=i&&null!=o){var s=this.props.cells[i][o];return{dateProfile:this.props.dateProfile,dateSpan:Object(r.a)({range:this.getCellRange(i,o),allDay:!0},s.extraDateSpan),dayEl:this.getCellEl(i,o),rect:{left:n.lefts[o],right:n.rights[o],top:a.tops[i],bottom:a.bottoms[i]},layer:0}}return null},t.prototype.getCellEl=function(e,t){return this.rowRefs.currentMap[e].getCellEls()[t]},t.prototype.getCellRange=function(e,t){var n=this.props.cells[e][t].date;return{start:n,end:Object(a.H)(n,1)}},t}(a.h);function T(e){return e.eventRange.def.allDay}var O=function(e){function t(){var t=null!==e&&e.apply(this,arguments)||this;return t.forceDayIfListItem=!0,t}return Object(r.b)(t,e),t.prototype.sliceRange=function(e,t){return t.sliceRange(e)},t}(a.B),k=function(e){function t(){var t=null!==e&&e.apply(this,arguments)||this;return t.slicer=new O,t.tableRef=Object(a.Y)(),t}return Object(r.b)(t,e),t.prototype.render=function(){var e=this.props,t=this.context;return Object(a.V)(z,Object(r.a)({ref:this.tableRef},this.slicer.sliceProps(e,e.dateProfile,e.nextDayThreshold,t,e.dayTableModel),{dateProfile:e.dateProfile,cells:e.dayTableModel.cells,colGroupNode:e.colGroupNode,tableMinWidth:e.tableMinWidth,renderRowIntro:e.renderRowIntro,dayMaxEvents:e.dayMaxEvents,dayMaxEventRows:e.dayMaxEventRows,showWeekNumbers:e.showWeekNumbers,expandRows:e.expandRows,headerAlignElRef:e.headerAlignElRef,clientWidth:e.clientWidth,clientHeight:e.clientHeight,forPrint:e.forPrint}))},t}(a.h),D=function(e){function t(){var t=null!==e&&e.apply(this,arguments)||this;return t.buildDayTableModel=Object(a.ub)(w),t.headerRef=Object(a.Y)(),t.tableRef=Object(a.Y)(),t}return Object(r.b)(t,e),t.prototype.render=function(){var e=this,t=this.context,n=t.options,r=t.dateProfileGenerator,o=this.props,i=this.buildDayTableModel(o.dateProfile,r),s=n.dayHeaders&&Object(a.V)(a.l,{ref:this.headerRef,dateProfile:o.dateProfile,dates:i.headerDates,datesRepDistinctDays:1===i.rowCnt}),c=function(t){return Object(a.V)(k,{ref:e.tableRef,dateProfile:o.dateProfile,dayTableModel:i,businessHours:o.businessHours,dateSelection:o.dateSelection,eventStore:o.eventStore,eventUiBases:o.eventUiBases,eventSelection:o.eventSelection,eventDrag:o.eventDrag,eventResize:o.eventResize,nextDayThreshold:n.nextDayThreshold,colGroupNode:t.tableColGroupNode,tableMinWidth:t.tableMinWidth,dayMaxEvents:n.dayMaxEvents,dayMaxEventRows:n.dayMaxEventRows,showWeekNumbers:n.weekNumbers,expandRows:!o.isHeightAuto,headerAlignElRef:e.headerElRef,clientWidth:t.clientWidth,clientHeight:t.clientHeight,forPrint:o.forPrint})};return n.dayMinWidth?this.renderHScrollLayout(s,c,i.colCnt,n.dayMinWidth):this.renderSimpleLayout(s,c)},t}(o);function w(e,t){var n=new a.m(e.renderRange,t);return new a.n(n,/year|month|week/.test(e.currentRangeUnit))}var Y=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return Object(r.b)(t,e),t.prototype.buildRenderRange=function(t,n,r){var o,i=this.props.dateEnv,s=e.prototype.buildRenderRange.call(this,t,n,r),c=s.start,d=s.end;if(/^(year|month)$/.test(n)&&(c=i.startOfWeek(c),(o=i.startOfWeek(d)).valueOf()!==d.valueOf()&&(d=Object(a.J)(o,1))),this.props.monthMode&&this.props.fixedWeekCount){var u=Math.ceil(Object(a.ab)(c,d));d=Object(a.J)(d,6-u)}return{start:c,end:d}},t}(a.i),S=(Object(a.X)({initialView:"dayGridMonth",views:{dayGrid:{component:D,dateProfileGeneratorClass:Y},dayGridDay:{type:"dayGrid",duration:{days:1}},dayGridWeek:{type:"dayGrid",duration:{weeks:1}},dayGridMonth:{type:"dayGrid",duration:{months:1},monthMode:!0,fixedWeekCount:!0}}}),function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return Object(r.b)(t,e),t.prototype.getKeyInfo=function(){return{allDay:{},timed:{}}},t.prototype.getKeysForDateSpan=function(e){return e.allDay?["allDay"]:["timed"]},t.prototype.getKeysForEventDef=function(e){return e.allDay?Object(a.nb)(e)?["timed","allDay"]:["allDay"]:["timed"]},t}(a.C)),N=Object(a.W)({hour:"numeric",minute:"2-digit",omitZeroMinute:!0,meridiem:"short"});function W(e){var t=["fc-timegrid-slot","fc-timegrid-slot-label",e.isLabeled?"fc-scrollgrid-shrink":"fc-timegrid-slot-minor"];return Object(a.V)(a.E.Consumer,null,(function(n){if(!e.isLabeled)return Object(a.V)("td",{className:t.join(" "),"data-time":e.isoTimeStr});var r=n.dateEnv,o=n.options,i=n.viewApi,s=null==o.slotLabelFormat?N:Array.isArray(o.slotLabelFormat)?Object(a.W)(o.slotLabelFormat[0]):Object(a.W)(o.slotLabelFormat),c={level:0,time:e.time,date:r.toDate(e.date),view:i,text:r.format(e.date,s)};return Object(a.V)(a.x,{hookProps:c,classNames:o.slotLabelClassNames,content:o.slotLabelContent,defaultContent:q,didMount:o.slotLabelDidMount,willUnmount:o.slotLabelWillUnmount},(function(n,r,o,i){return Object(a.V)("td",{ref:n,className:t.concat(r).join(" "),"data-time":e.isoTimeStr},Object(a.V)("div",{className:"fc-timegrid-slot-label-frame fc-scrollgrid-shrink-frame"},Object(a.V)("div",{className:"fc-timegrid-slot-label-cushion fc-scrollgrid-shrink-cushion",ref:o},i)))}))}))}function q(e){return e.text}var E=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return Object(r.b)(t,e),t.prototype.render=function(){return this.props.slatMetas.map((function(e){return Object(a.V)("tr",{key:e.key},Object(a.V)(W,Object(r.a)({},e)))}))},t}(a.a),x=Object(a.W)({week:"short"}),H=function(e){function t(){var t=null!==e&&e.apply(this,arguments)||this;return t.allDaySplitter=new S,t.headerElRef=Object(a.Y)(),t.rootElRef=Object(a.Y)(),t.scrollerElRef=Object(a.Y)(),t.state={slatCoords:null},t.handleScrollTopRequest=function(e){var n=t.scrollerElRef.current;n&&(n.scrollTop=e)},t.renderHeadAxis=function(e,n){void 0===n&&(n="");var o=t.context.options,i=t.props.dateProfile.renderRange,s=1===Object(a.Z)(i.start,i.end)?Object(a.Q)(t.context,i.start,"week"):{};return o.weekNumbers&&"day"===e?Object(a.V)(a.G,{date:i.start,defaultFormat:x},(function(e,t,o,i){return Object(a.V)("th",{ref:e,"aria-hidden":!0,className:["fc-timegrid-axis","fc-scrollgrid-shrink"].concat(t).join(" ")},Object(a.V)("div",{className:"fc-timegrid-axis-frame fc-scrollgrid-shrink-frame fc-timegrid-axis-frame-liquid",style:{height:n}},Object(a.V)("a",Object(r.a)({ref:o,className:"fc-timegrid-axis-cushion fc-scrollgrid-shrink-cushion fc-scrollgrid-sync-inner"},s),i)))})):Object(a.V)("th",{"aria-hidden":!0,className:"fc-timegrid-axis"},Object(a.V)("div",{className:"fc-timegrid-axis-frame",style:{height:n}}))},t.renderTableRowAxis=function(e){var n=t.context,r=n.options,o=n.viewApi,i={text:r.allDayText,view:o};return Object(a.V)(a.x,{hookProps:i,classNames:r.allDayClassNames,content:r.allDayContent,defaultContent:C,didMount:r.allDayDidMount,willUnmount:r.allDayWillUnmount},(function(t,n,r,o){return Object(a.V)("td",{ref:t,"aria-hidden":!0,className:["fc-timegrid-axis","fc-scrollgrid-shrink"].concat(n).join(" ")},Object(a.V)("div",{className:"fc-timegrid-axis-frame fc-scrollgrid-shrink-frame"+(null==e?" fc-timegrid-axis-frame-liquid":""),style:{height:e}},Object(a.V)("span",{className:"fc-timegrid-axis-cushion fc-scrollgrid-shrink-cushion fc-scrollgrid-sync-inner",ref:r},o)))}))},t.handleSlatCoords=function(e){t.setState({slatCoords:e})},t}return Object(r.b)(t,e),t.prototype.renderSimpleLayout=function(e,t,n){var r=this.context,o=this.props,i=[],s=Object(a.kb)(r.options);return e&&i.push({type:"header",key:"header",isSticky:s,chunk:{elRef:this.headerElRef,tableClassName:"fc-col-header",rowContent:e}}),t&&(i.push({type:"body",key:"all-day",chunk:{content:t}}),i.push({type:"body",key:"all-day-divider",outerContent:Object(a.V)("tr",{role:"presentation",className:"fc-scrollgrid-section"},Object(a.V)("td",{className:"fc-timegrid-divider "+r.theme.getClass("tableCellShaded")}))})),i.push({type:"body",key:"body",liquid:!0,expandRows:Boolean(r.options.expandRows),chunk:{scrollerElRef:this.scrollerElRef,content:n}}),Object(a.V)(a.F,{viewSpec:r.viewSpec,elRef:this.rootElRef},(function(e,t){return Object(a.V)("div",{className:["fc-timegrid"].concat(t).join(" "),ref:e},Object(a.V)(a.A,{liquid:!o.isHeightAuto&&!o.forPrint,collapsibleWidth:o.forPrint,cols:[{width:"shrink"}],sections:i}))}))},t.prototype.renderHScrollLayout=function(e,t,n,r,o,i,s){var c=this,d=this.context.pluginHooks.scrollGridImpl;if(!d)throw new Error("No ScrollGrid implementation");var u=this.context,l=this.props,M=!l.forPrint&&Object(a.kb)(u.options),p=!l.forPrint&&Object(a.jb)(u.options),m=[];e&&m.push({type:"header",key:"header",isSticky:M,syncRowHeights:!0,chunks:[{key:"axis",rowContent:function(e){return Object(a.V)("tr",{role:"presentation"},c.renderHeadAxis("day",e.rowSyncHeights[0]))}},{key:"cols",elRef:this.headerElRef,tableClassName:"fc-col-header",rowContent:e}]}),t&&(m.push({type:"body",key:"all-day",syncRowHeights:!0,chunks:[{key:"axis",rowContent:function(e){return Object(a.V)("tr",{role:"presentation"},c.renderTableRowAxis(e.rowSyncHeights[0]))}},{key:"cols",content:t}]}),m.push({key:"all-day-divider",type:"body",outerContent:Object(a.V)("tr",{role:"presentation",className:"fc-scrollgrid-section"},Object(a.V)("td",{colSpan:2,className:"fc-timegrid-divider "+u.theme.getClass("tableCellShaded")}))}));var _=u.options.nowIndicator;return m.push({type:"body",key:"body",liquid:!0,expandRows:Boolean(u.options.expandRows),chunks:[{key:"axis",content:function(e){return Object(a.V)("div",{className:"fc-timegrid-axis-chunk"},Object(a.V)("table",{"aria-hidden":!0,style:{height:e.expandRows?e.clientHeight:""}},e.tableColGroupNode,Object(a.V)("tbody",null,Object(a.V)(E,{slatMetas:i}))),Object(a.V)("div",{className:"fc-timegrid-now-indicator-container"},Object(a.V)(a.u,{unit:_?"minute":"day"},(function(e){var t=_&&s&&s.safeComputeTop(e);return"number"==typeof t?Object(a.V)(a.t,{isAxis:!0,date:e},(function(e,n,r,o){return Object(a.V)("div",{ref:e,className:["fc-timegrid-now-indicator-arrow"].concat(n).join(" "),style:{top:t}},o)})):null}))))}},{key:"cols",scrollerElRef:this.scrollerElRef,content:n}]}),p&&m.push({key:"footer",type:"footer",isSticky:!0,chunks:[{key:"axis",content:a.zb},{key:"cols",content:a.zb}]}),Object(a.V)(a.F,{viewSpec:u.viewSpec,elRef:this.rootElRef},(function(e,t){return Object(a.V)("div",{className:["fc-timegrid"].concat(t).join(" "),ref:e},Object(a.V)(d,{liquid:!l.isHeightAuto&&!l.forPrint,collapsibleWidth:!1,colGroups:[{width:"shrink",cols:[{width:"shrink"}]},{cols:[{span:r,minWidth:o}]}],sections:m}))}))},t.prototype.getAllDayMaxEventProps=function(){var e=this.context.options,t=e.dayMaxEvents,n=e.dayMaxEventRows;return!0!==t&&!0!==n||(t=void 0,n=5),{dayMaxEvents:t,dayMaxEventRows:n}},t}(a.h);function C(e){return e.text}var j=function(){function e(e,t,n){this.positions=e,this.dateProfile=t,this.slotDuration=n}return e.prototype.safeComputeTop=function(e){var t=this.dateProfile;if(Object(a.wb)(t.currentRange,e)){var n=Object(a.Db)(e),r=e.valueOf()-n.valueOf();if(r>=Object(a.L)(t.slotMinTime)&&r0,L=Boolean(d)&&d.span.end-d.span.start=0;t-=1)if(n=Object(a.U)(ue[t]),null!==(r=Object(a.Fb)(n,e))&&r>1)return n;return e}(r),u=[];Object(a.L)(s)=11?e:e+12:"бегоҳ"===t?e+12:void 0},meridiem:function(e,t,n){return e<4?"шаб":e<11?"субҳ":e<16?"рӯз":e<19?"бегоҳ":"шаб"},dayOfMonthOrdinalParse:/\d{1,2}-(ум|юм)/,ordinal:function(e){return e+(t[e]||t[e%10]||t[e>=100?100:null])},week:{dow:1,doy:7}})}(n("qW9H"))},m050:function(e,t,n){!function(e){"use strict"; //! moment.js locale configuration -var t={words:{ss:["секунда","секунде","секунди"],m:["један минут","једног минута"],mm:["минут","минута","минута"],h:["један сат","једног сата"],hh:["сат","сата","сати"],d:["један дан","једног дана"],dd:["дан","дана","дана"],M:["један месец","једног месеца"],MM:["месец","месеца","месеци"],y:["једну годину","једне године"],yy:["годину","године","година"]},correctGrammaticalCase:function(e,t){return e%10>=1&&e%10<=4&&(e%100<10||e%100>=20)?e%10==1?t[0]:t[1]:t[2]},translate:function(e,n,a,r){var o=t.words[a];if(1===a.length)return"y"===a&&n?"једна година":r||n?o[0]:o[1];const i=t.correctGrammaticalCase(e,o);return"yy"===a&&n&&"годину"===i?e+" година":e+" "+i}};e.defineLocale("sr-cyrl",{months:"јануар_фебруар_март_април_мај_јун_јул_август_септембар_октобар_новембар_децембар".split("_"),monthsShort:"јан._феб._мар._апр._мај_јун_јул_авг._сеп._окт._нов._дец.".split("_"),monthsParseExact:!0,weekdays:"недеља_понедељак_уторак_среда_четвртак_петак_субота".split("_"),weekdaysShort:"нед._пон._уто._сре._чет._пет._суб.".split("_"),weekdaysMin:"не_по_ут_ср_че_пе_су".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"D. M. YYYY.",LL:"D. MMMM YYYY.",LLL:"D. MMMM YYYY. H:mm",LLLL:"dddd, D. MMMM YYYY. H:mm"},calendar:{sameDay:"[данас у] LT",nextDay:"[сутра у] LT",nextWeek:function(){switch(this.day()){case 0:return"[у] [недељу] [у] LT";case 3:return"[у] [среду] [у] LT";case 6:return"[у] [суботу] [у] LT";case 1:case 2:case 4:case 5:return"[у] dddd [у] LT"}},lastDay:"[јуче у] LT",lastWeek:function(){return["[прошле] [недеље] [у] LT","[прошлог] [понедељка] [у] LT","[прошлог] [уторка] [у] LT","[прошле] [среде] [у] LT","[прошлог] [четвртка] [у] LT","[прошлог] [петка] [у] LT","[прошле] [суботе] [у] LT"][this.day()]},sameElse:"L"},relativeTime:{future:"за %s",past:"пре %s",s:"неколико секунди",ss:t.translate,m:t.translate,mm:t.translate,h:t.translate,hh:t.translate,d:t.translate,dd:t.translate,M:t.translate,MM:t.translate,y:t.translate,yy:t.translate},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:7}})}(n("qW9H"))},mUuK:function(e,t,n){!function(e){"use strict"; +var t={words:{ss:["секунда","секунде","секунди"],m:["један минут","једне минуте"],mm:["минут","минуте","минута"],h:["један сат","једног сата"],hh:["сат","сата","сати"],dd:["дан","дана","дана"],MM:["месец","месеца","месеци"],yy:["година","године","година"]},correctGrammaticalCase:function(e,t){return 1===e?t[0]:e>=2&&e<=4?t[1]:t[2]},translate:function(e,n,a){var r=t.words[a];return 1===a.length?n?r[0]:r[1]:e+" "+t.correctGrammaticalCase(e,r)}};e.defineLocale("sr-cyrl",{months:"јануар_фебруар_март_април_мај_јун_јул_август_септембар_октобар_новембар_децембар".split("_"),monthsShort:"јан._феб._мар._апр._мај_јун_јул_авг._сеп._окт._нов._дец.".split("_"),monthsParseExact:!0,weekdays:"недеља_понедељак_уторак_среда_четвртак_петак_субота".split("_"),weekdaysShort:"нед._пон._уто._сре._чет._пет._суб.".split("_"),weekdaysMin:"не_по_ут_ср_че_пе_су".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"D. M. YYYY.",LL:"D. MMMM YYYY.",LLL:"D. MMMM YYYY. H:mm",LLLL:"dddd, D. MMMM YYYY. H:mm"},calendar:{sameDay:"[данас у] LT",nextDay:"[сутра у] LT",nextWeek:function(){switch(this.day()){case 0:return"[у] [недељу] [у] LT";case 3:return"[у] [среду] [у] LT";case 6:return"[у] [суботу] [у] LT";case 1:case 2:case 4:case 5:return"[у] dddd [у] LT"}},lastDay:"[јуче у] LT",lastWeek:function(){return["[прошле] [недеље] [у] LT","[прошлог] [понедељка] [у] LT","[прошлог] [уторка] [у] LT","[прошле] [среде] [у] LT","[прошлог] [четвртка] [у] LT","[прошлог] [петка] [у] LT","[прошле] [суботе] [у] LT"][this.day()]},sameElse:"L"},relativeTime:{future:"за %s",past:"пре %s",s:"неколико секунди",ss:t.translate,m:t.translate,mm:t.translate,h:t.translate,hh:t.translate,d:"дан",dd:t.translate,M:"месец",MM:t.translate,y:"годину",yy:t.translate},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:7}})}(n("qW9H"))},mUuK:function(e,t,n){!function(e){"use strict"; //! moment.js locale configuration var t={1:"੧",2:"੨",3:"੩",4:"੪",5:"੫",6:"੬",7:"੭",8:"੮",9:"੯",0:"੦"},n={"੧":"1","੨":"2","੩":"3","੪":"4","੫":"5","੬":"6","੭":"7","੮":"8","੯":"9","੦":"0"};e.defineLocale("pa-in",{months:"ਜਨਵਰੀ_ਫ਼ਰਵਰੀ_ਮਾਰਚ_ਅਪ੍ਰੈਲ_ਮਈ_ਜੂਨ_ਜੁਲਾਈ_ਅਗਸਤ_ਸਤੰਬਰ_ਅਕਤੂਬਰ_ਨਵੰਬਰ_ਦਸੰਬਰ".split("_"),monthsShort:"ਜਨਵਰੀ_ਫ਼ਰਵਰੀ_ਮਾਰਚ_ਅਪ੍ਰੈਲ_ਮਈ_ਜੂਨ_ਜੁਲਾਈ_ਅਗਸਤ_ਸਤੰਬਰ_ਅਕਤੂਬਰ_ਨਵੰਬਰ_ਦਸੰਬਰ".split("_"),weekdays:"ਐਤਵਾਰ_ਸੋਮਵਾਰ_ਮੰਗਲਵਾਰ_ਬੁਧਵਾਰ_ਵੀਰਵਾਰ_ਸ਼ੁੱਕਰਵਾਰ_ਸ਼ਨੀਚਰਵਾਰ".split("_"),weekdaysShort:"ਐਤ_ਸੋਮ_ਮੰਗਲ_ਬੁਧ_ਵੀਰ_ਸ਼ੁਕਰ_ਸ਼ਨੀ".split("_"),weekdaysMin:"ਐਤ_ਸੋਮ_ਮੰਗਲ_ਬੁਧ_ਵੀਰ_ਸ਼ੁਕਰ_ਸ਼ਨੀ".split("_"),longDateFormat:{LT:"A h:mm ਵਜੇ",LTS:"A h:mm:ss ਵਜੇ",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY, A h:mm ਵਜੇ",LLLL:"dddd, D MMMM YYYY, A h:mm ਵਜੇ"},calendar:{sameDay:"[ਅਜ] LT",nextDay:"[ਕਲ] LT",nextWeek:"[ਅਗਲਾ] dddd, LT",lastDay:"[ਕਲ] LT",lastWeek:"[ਪਿਛਲੇ] dddd, LT",sameElse:"L"},relativeTime:{future:"%s ਵਿੱਚ",past:"%s ਪਿਛਲੇ",s:"ਕੁਝ ਸਕਿੰਟ",ss:"%d ਸਕਿੰਟ",m:"ਇਕ ਮਿੰਟ",mm:"%d ਮਿੰਟ",h:"ਇੱਕ ਘੰਟਾ",hh:"%d ਘੰਟੇ",d:"ਇੱਕ ਦਿਨ",dd:"%d ਦਿਨ",M:"ਇੱਕ ਮਹੀਨਾ",MM:"%d ਮਹੀਨੇ",y:"ਇੱਕ ਸਾਲ",yy:"%d ਸਾਲ"},preparse:function(e){return e.replace(/[੧੨੩੪੫੬੭੮੯੦]/g,(function(e){return n[e]}))},postformat:function(e){return e.replace(/\d/g,(function(e){return t[e]}))},meridiemParse:/ਰਾਤ|ਸਵੇਰ|ਦੁਪਹਿਰ|ਸ਼ਾਮ/,meridiemHour:function(e,t){return 12===e&&(e=0),"ਰਾਤ"===t?e<4?e:e+12:"ਸਵੇਰ"===t?e:"ਦੁਪਹਿਰ"===t?e>=10?e:e+12:"ਸ਼ਾਮ"===t?e+12:void 0},meridiem:function(e,t,n){return e<4?"ਰਾਤ":e<10?"ਸਵੇਰ":e<17?"ਦੁਪਹਿਰ":e<20?"ਸ਼ਾਮ":"ਰਾਤ"},week:{dow:0,doy:6}})}(n("qW9H"))},"md+Q":function(e,t,n){!function(e){"use strict"; //! moment.js locale configuration @@ -210,7 +210,7 @@ var t={0:"-чү",1:"-чи",2:"-чи",3:"-чү",4:"-чү",5:"-чи",6:"-чы",7:" //! moment.js locale configuration e.defineLocale("cv",{months:"кӑрлач_нарӑс_пуш_ака_май_ҫӗртме_утӑ_ҫурла_авӑн_юпа_чӳк_раштав".split("_"),monthsShort:"кӑр_нар_пуш_ака_май_ҫӗр_утӑ_ҫур_авн_юпа_чӳк_раш".split("_"),weekdays:"вырсарникун_тунтикун_ытларикун_юнкун_кӗҫнерникун_эрнекун_шӑматкун".split("_"),weekdaysShort:"выр_тун_ытл_юн_кӗҫ_эрн_шӑм".split("_"),weekdaysMin:"вр_тн_ыт_юн_кҫ_эр_шм".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD-MM-YYYY",LL:"YYYY [ҫулхи] MMMM [уйӑхӗн] D[-мӗшӗ]",LLL:"YYYY [ҫулхи] MMMM [уйӑхӗн] D[-мӗшӗ], HH:mm",LLLL:"dddd, YYYY [ҫулхи] MMMM [уйӑхӗн] D[-мӗшӗ], HH:mm"},calendar:{sameDay:"[Паян] LT [сехетре]",nextDay:"[Ыран] LT [сехетре]",lastDay:"[Ӗнер] LT [сехетре]",nextWeek:"[Ҫитес] dddd LT [сехетре]",lastWeek:"[Иртнӗ] dddd LT [сехетре]",sameElse:"L"},relativeTime:{future:function(e){return e+(/сехет$/i.exec(e)?"рен":/ҫул$/i.exec(e)?"тан":"ран")},past:"%s каялла",s:"пӗр-ик ҫеккунт",ss:"%d ҫеккунт",m:"пӗр минут",mm:"%d минут",h:"пӗр сехет",hh:"%d сехет",d:"пӗр кун",dd:"%d кун",M:"пӗр уйӑх",MM:"%d уйӑх",y:"пӗр ҫул",yy:"%d ҫул"},dayOfMonthOrdinalParse:/\d{1,2}-мӗш/,ordinal:"%d-мӗш",week:{dow:1,doy:7}})}(n("qW9H"))},nTVo:function(e,t,n){!function(e){"use strict"; //! moment.js locale configuration -e.defineLocale("mk",{months:"јануари_февруари_март_април_мај_јуни_јули_август_септември_октомври_ноември_декември".split("_"),monthsShort:"јан_фев_мар_апр_мај_јун_јул_авг_сеп_окт_ное_дек".split("_"),weekdays:"недела_понеделник_вторник_среда_четврток_петок_сабота".split("_"),weekdaysShort:"нед_пон_вто_сре_чет_пет_саб".split("_"),weekdaysMin:"нe_пo_вт_ср_че_пе_сa".split("_"),longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"D.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY H:mm",LLLL:"dddd, D MMMM YYYY H:mm"},calendar:{sameDay:"[Денес во] LT",nextDay:"[Утре во] LT",nextWeek:"[Во] dddd [во] LT",lastDay:"[Вчера во] LT",lastWeek:function(){switch(this.day()){case 0:case 3:case 6:return"[Изминатата] dddd [во] LT";case 1:case 2:case 4:case 5:return"[Изминатиот] dddd [во] LT"}},sameElse:"L"},relativeTime:{future:"за %s",past:"пред %s",s:"неколку секунди",ss:"%d секунди",m:"една минута",mm:"%d минути",h:"еден час",hh:"%d часа",d:"еден ден",dd:"%d дена",M:"еден месец",MM:"%d месеци",y:"една година",yy:"%d години"},dayOfMonthOrdinalParse:/\d{1,2}-(ев|ен|ти|ви|ри|ми)/,ordinal:function(e){var t=e%10,n=e%100;return 0===e?e+"-ев":0===n?e+"-ен":n>10&&n<20?e+"-ти":1===t?e+"-ви":2===t?e+"-ри":7===t||8===t?e+"-ми":e+"-ти"},week:{dow:1,doy:7}})}(n("qW9H"))},nYYG:function(e,t,n){"use strict";var a=n("Rpw/"),r=n("qW9H"),o=n.n(r),i=(n("/mDZ"),n("CtUX")),s=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return Object(a.b)(t,e),t.prototype.offsetForArray=function(e){return o.a.tz(e,this.timeZoneName).utcOffset()},t.prototype.timestampToArray=function(e){return o.a.tz(e,this.timeZoneName).toArray()},t}(i.s),c=Object(i.X)({namedTimeZonedImpl:s});t.a=c},ng4s:function(e,t,n){"use strict";n.r(t),function(e){var t=n("xG4u"),a=n("kEfb"),r=n("iJY3"),o=n("jkVd"),i=n.n(o),s=n("nYYG");function c(e,t){var n="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!n){if(Array.isArray(e)||(n=function(e,t){if(!e)return;if("string"==typeof e)return d(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);"Object"===n&&e.constructor&&(n=e.constructor.name);if("Map"===n||"Set"===n)return Array.from(e);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return d(e,t)}(e))||t&&e&&"number"==typeof e.length){n&&(e=n);var a=0,r=function(){};return{s:r,n:function(){return a>=e.length?{done:!0}:{done:!1,value:e[a++]}},e:function(e){throw e},f:r}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,i=!0,s=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return i=e.done,e},e:function(e){s=!0,o=e},f:function(){try{i||null==n.return||n.return()}finally{if(s)throw o}}}}function d(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,a=new Array(t);n10&&n<20?e+"-ти":1===t?e+"-ви":2===t?e+"-ри":7===t||8===t?e+"-ми":e+"-ти"},week:{dow:1,doy:7}})}(n("qW9H"))},nYYG:function(e,t,n){"use strict";var a=n("Rpw/"),r=n("qW9H"),o=n.n(r),i=(n("/mDZ"),n("CtUX")),s=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return Object(a.b)(t,e),t.prototype.offsetForArray=function(e){return o.a.tz(e,this.timeZoneName).utcOffset()},t.prototype.timestampToArray=function(e){return o.a.tz(e,this.timeZoneName).toArray()},t}(i.s),c=Object(i.X)({namedTimeZonedImpl:s});t.a=c},ng4s:function(e,t,n){"use strict";n.r(t),function(e){var t=n("xG4u"),a=n("kEfb"),r=n("iJY3"),o=n("jkVd"),i=n.n(o),s=n("nYYG");function c(e,t){var n="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!n){if(Array.isArray(e)||(n=function(e,t){if(!e)return;if("string"==typeof e)return d(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);"Object"===n&&e.constructor&&(n=e.constructor.name);if("Map"===n||"Set"===n)return Array.from(e);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return d(e,t)}(e))||t&&e&&"number"==typeof e.length){n&&(e=n);var a=0,r=function(){};return{s:r,n:function(){return a>=e.length?{done:!0}:{done:!1,value:e[a++]}},e:function(e){throw e},f:r}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,i=!0,s=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return i=e.done,e},e:function(e){s=!0,o=e},f:function(){try{i||null==n.return||n.return()}finally{if(s)throw o}}}}function d(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,a=new Array(t);n2&&void 0!==arguments[2]?arguments[2]:null;this.disableButtons();var a=this;this.initCalendarForAMethod(e.value,n,(function(){if(200===this.status){var r=JSON.parse(this.responseText);if(a.hideCalendars(),a.hideShippingSlotConfigSelects(),void 0!==r.events){var o,i=c(a.calendarContainers);try{for(i.s();!(o=i.n()).done;){var s=o.value;s.classList.contains(e.value)&&a.initCalendar(s,r.events,r.timezone,e.value,n)}}catch(e){i.e(e)}finally{i.f()}}else t?a.resetSlot(e,(function(){a.enableButtons()})):a.enableButtons()}else a.enableButtons()}))}},{key:"selectSlot",value:function(e){this.disableButtons();var t,n=this,a=c(this.shippingMethodInputs);try{for(a.s();!(t=a.n()).done;){var r=t.value;r.checked&&this.saveSlot(e,r,(function(){200===this.status?n.enableButtons():alert(n.slotSelectError)}))}}catch(e){a.e(e)}finally{a.f()}}},{key:"initCalendarForAMethod",value:function(e,t,n){var a=new XMLHttpRequest;a.onload=n;var r=this.initUrl.replace("__CODE__",e).replace("__CONFIG__",null!==t?t.value:"");a.open("get",r,!0),a.setRequestHeader("X-Requested-With","XMLHttpRequest"),a.send()}},{key:"listSlots",value:function(e,t,n,a,r){var o=new XMLHttpRequest;o.onload=r;var i=this.listSlotsUrl.replace("__CODE__",e).replace("__FROM__",t).replace("__TO__",n).replace("__CONFIG__",null!==a?a.value:"");o.open("get",i,!0),o.setRequestHeader("X-Requested-With","XMLHttpRequest"),o.send()}},{key:"saveSlot",value:function(e,t,n){var a=this.getShippingSlotConfigSelect(t.value),r=new XMLHttpRequest;r.onload=n,r.open("post",this.saveSlotUrl,!0),r.setRequestHeader("X-Requested-With","XMLHttpRequest");var o=new FormData;o.append("event",JSON.stringify(e.event)),o.append("shippingMethod",t.value),o.append("shipmentIndex",t.getAttribute("tabIndex")),o.append("shippingSlotConfig",null!==a?a.value:""),r.send(o)}},{key:"resetSlot",value:function(e,t){var n=new XMLHttpRequest;n.onload=t,n.open("post",this.resetSlotUrl,!0),n.setRequestHeader("X-Requested-With","XMLHttpRequest");var a=new FormData;a.append("shipmentIndex",e.getAttribute("tabIndex")),n.send(a)}},{key:"disableButtons",value:function(){var e,t=c(this.nextStepButtons);try{for(t.s();!(e=t.n()).done;){var n=e.value;n.disabled=!0,n.form.classList.add("loading")}}catch(e){t.e(e)}finally{t.f()}}},{key:"enableButtons",value:function(){var e,t=c(this.nextStepButtons);try{for(t.s();!(e=t.n()).done;){var n=e.value;n.disabled=!1,n.form.classList.remove("loading")}}catch(e){t.e(e)}finally{t.f()}}},{key:"hideCalendars",value:function(){var e,t=c(this.calendarContainers);try{for(t.s();!(e=t.n()).done;)e.value.style.display="none"}catch(e){t.e(e)}finally{t.f()}}},{key:"hideShippingSlotConfigSelects",value:function(){var e,t=c(this.shippingSlotConfigSelects);try{for(t.s();!(e=t.n()).done;)e.value.style.display="none"}catch(e){t.e(e)}finally{t.f()}}},{key:"applySlotStyle",value:function(e){null!==e.el.querySelector(".fc-event-main")?(e.el.querySelector(".fc-event-main").style.color=this.gridSlotStyle.textColor,e.el.style.borderColor=this.gridSlotStyle.borderColor,e.el.style.backgroundColor=this.gridSlotStyle.backgroundColor):null!==e.el.querySelector(".fc-list-event-time")&&(e.el.querySelector(".fc-list-event-time").style.color=this.listSlotStyle.textColor,e.el.style.borderColor=this.listSlotStyle.borderColor,e.el.style.backgroundColor=this.listSlotStyle.backgroundColor)}},{key:"applySelectedSlotStyle",value:function(e){null!==e.el.querySelector(".fc-event-main")?(e.el.querySelector(".fc-event-main").style.color=this.selectedGridSlotStyle.textColor,e.el.style.borderColor=this.selectedGridSlotStyle.borderColor,e.el.style.backgroundColor=this.selectedGridSlotStyle.backgroundColor):null!==e.el.querySelector(".fc-list-event-time")&&(e.el.querySelector(".fc-list-event-time").style.color=this.selectedListSlotStyle.textColor,e.el.style.borderColor=this.selectedListSlotStyle.borderColor,e.el.style.backgroundColor=this.selectedListSlotStyle.backgroundColor)}},{key:"hideSlot",value:function(e){e.el.style.display="none"}},{key:"initCalendar",value:function(e,n,o,d,u){e.style.display="block",u&&(u.style.display="block");var l=this;new t.a(e,Object.assign({timeZone:o,plugins:[a.a,r.a,s.a],locales:i.a,initialView:"timeGridWeek",contentHeight:"auto",allDaySlot:!1,headerToolbar:{left:"today prev,next",center:"title",right:"timeGridWeek,timeGridDay"},events:n,eventTextColor:this.gridSlotStyle.textColor,eventBackgroundColor:this.gridSlotStyle.backgroundColor,eventBorderColor:this.gridSlotStyle.borderColor,eventClick:function(e){l.applySelectedSlotStyle(e),null!==l.previousSlot&&null!==l.previousSlot.event&&l.previousSlot.event.start.valueOf()!==e.event.start.valueOf()&&l.applySlotStyle(l.previousSlot),l.previousSlot=e,l.selectSlot(e)},eventDidMount:function(e){null!==e.event&&!0===e.event.extendedProps.isCurrent?(l.applySelectedSlotStyle(e),l.previousSlot=e,l.enableButtons()):l.applySlotStyle(e)},datesSet:function(e){var t=this;l.disableButtons(),l.listSlots(d,e.startStr,e.endStr,u,(function(){if(200===this.status){var e,n=c(l.nextStepButtons);try{for(n.s();!(e=n.n()).done;)e.value.form.classList.remove("loading")}catch(e){n.e(e)}finally{n.f()}var a=JSON.parse(this.responseText);t.batchRendering((function(){var e,n=c(t.getEvents());try{for(n.s();!(e=n.n()).done;)e.value.remove()}catch(e){n.e(e)}finally{n.f()}var r,o=c(a);try{for(o.s();!(r=o.n()).done;){var i=r.value;t.addEvent(i)}}catch(e){o.e(e)}finally{o.f()}}))}else console.error("Error during slot list")}))}},this.fullCalendarConfig)).render()}},{key:"getShippingSlotConfigSelect",value:function(e){var t;return null!==(t=Array.from(this.shippingSlotConfigSelects).find((function(t){return t.name.includes(e)})))&&void 0!==t?t:null}}])&&u(n.prototype,o),d&&u(n,d),e}()}.call(this,n("2mad"))},nkld:function(e,t,n){!function(e){"use strict"; //! moment.js locale configuration e.defineLocale("ms-my",{months:"Januari_Februari_Mac_April_Mei_Jun_Julai_Ogos_September_Oktober_November_Disember".split("_"),monthsShort:"Jan_Feb_Mac_Apr_Mei_Jun_Jul_Ogs_Sep_Okt_Nov_Dis".split("_"),weekdays:"Ahad_Isnin_Selasa_Rabu_Khamis_Jumaat_Sabtu".split("_"),weekdaysShort:"Ahd_Isn_Sel_Rab_Kha_Jum_Sab".split("_"),weekdaysMin:"Ah_Is_Sl_Rb_Km_Jm_Sb".split("_"),longDateFormat:{LT:"HH.mm",LTS:"HH.mm.ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY [pukul] HH.mm",LLLL:"dddd, D MMMM YYYY [pukul] HH.mm"},meridiemParse:/pagi|tengahari|petang|malam/,meridiemHour:function(e,t){return 12===e&&(e=0),"pagi"===t?e:"tengahari"===t?e>=11?e:e+12:"petang"===t||"malam"===t?e+12:void 0},meridiem:function(e,t,n){return e<11?"pagi":e<15?"tengahari":e<19?"petang":"malam"},calendar:{sameDay:"[Hari ini pukul] LT",nextDay:"[Esok pukul] LT",nextWeek:"dddd [pukul] LT",lastDay:"[Kelmarin pukul] LT",lastWeek:"dddd [lepas pukul] LT",sameElse:"L"},relativeTime:{future:"dalam %s",past:"%s yang lepas",s:"beberapa saat",ss:"%d saat",m:"seminit",mm:"%d minit",h:"sejam",hh:"%d jam",d:"sehari",dd:"%d hari",M:"sebulan",MM:"%d bulan",y:"setahun",yy:"%d tahun"},week:{dow:1,doy:7}})}(n("qW9H"))},nmio:function(e,t,n){!function(e){"use strict"; //! moment.js locale configuration @@ -232,9 +232,9 @@ e.defineLocale("tzm",{months:"ⵉⵏⵏⴰⵢⵔ_ⴱⵕⴰⵢⵕ_ⵎⴰⵕⵚ_ //! moment.js locale configuration var t=["ޖެނުއަރީ","ފެބްރުއަރީ","މާރިޗު","އޭޕްރީލު","މޭ","ޖޫން","ޖުލައި","އޯގަސްޓު","ސެޕްޓެމްބަރު","އޮކްޓޯބަރު","ނޮވެމްބަރު","ޑިސެމްބަރު"],n=["އާދިއްތަ","ހޯމަ","އަންގާރަ","ބުދަ","ބުރާސްފަތި","ހުކުރު","ހޮނިހިރު"];e.defineLocale("dv",{months:t,monthsShort:t,weekdays:n,weekdaysShort:n,weekdaysMin:"އާދި_ހޯމަ_އަން_ބުދަ_ބުރާ_ހުކު_ހޮނި".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"D/M/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},meridiemParse:/މކ|މފ/,isPM:function(e){return"މފ"===e},meridiem:function(e,t,n){return e<12?"މކ":"މފ"},calendar:{sameDay:"[މިއަދު] LT",nextDay:"[މާދަމާ] LT",nextWeek:"dddd LT",lastDay:"[އިއްޔެ] LT",lastWeek:"[ފާއިތުވި] dddd LT",sameElse:"L"},relativeTime:{future:"ތެރޭގައި %s",past:"ކުރިން %s",s:"ސިކުންތުކޮޅެއް",ss:"d% ސިކުންތު",m:"މިނިޓެއް",mm:"މިނިޓު %d",h:"ގަޑިއިރެއް",hh:"ގަޑިއިރު %d",d:"ދުވަހެއް",dd:"ދުވަސް %d",M:"މަހެއް",MM:"މަސް %d",y:"އަހަރެއް",yy:"އަހަރު %d"},preparse:function(e){return e.replace(/،/g,",")},postformat:function(e){return e.replace(/,/g,"،")},week:{dow:7,doy:12}})}(n("qW9H"))},phIr:function(e,t,n){!function(e){"use strict"; //! moment.js locale configuration -e.defineLocale("pt",{months:"janeiro_fevereiro_março_abril_maio_junho_julho_agosto_setembro_outubro_novembro_dezembro".split("_"),monthsShort:"jan_fev_mar_abr_mai_jun_jul_ago_set_out_nov_dez".split("_"),weekdays:"Domingo_Segunda-feira_Terça-feira_Quarta-feira_Quinta-feira_Sexta-feira_Sábado".split("_"),weekdaysShort:"Dom_Seg_Ter_Qua_Qui_Sex_Sáb".split("_"),weekdaysMin:"Do_2ª_3ª_4ª_5ª_6ª_Sá".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D [de] MMMM [de] YYYY",LLL:"D [de] MMMM [de] YYYY HH:mm",LLLL:"dddd, D [de] MMMM [de] YYYY HH:mm"},calendar:{sameDay:"[Hoje às] LT",nextDay:"[Amanhã às] LT",nextWeek:"dddd [às] LT",lastDay:"[Ontem às] LT",lastWeek:function(){return 0===this.day()||6===this.day()?"[Último] dddd [às] LT":"[Última] dddd [às] LT"},sameElse:"L"},relativeTime:{future:"em %s",past:"há %s",s:"segundos",ss:"%d segundos",m:"um minuto",mm:"%d minutos",h:"uma hora",hh:"%d horas",d:"um dia",dd:"%d dias",w:"uma semana",ww:"%d semanas",M:"um mês",MM:"%d meses",y:"um ano",yy:"%d anos"},dayOfMonthOrdinalParse:/\d{1,2}º/,ordinal:"%dº",week:{dow:1,doy:4}})}(n("qW9H"))},qW9H:function(e,t,n){(function(e){e.exports=function(){"use strict";var t,a;function r(){return t.apply(null,arguments)}function o(e){return e instanceof Array||"[object Array]"===Object.prototype.toString.call(e)}function i(e){return null!=e&&"[object Object]"===Object.prototype.toString.call(e)}function s(e,t){return Object.prototype.hasOwnProperty.call(e,t)}function c(e){if(Object.getOwnPropertyNames)return 0===Object.getOwnPropertyNames(e).length;var t;for(t in e)if(s(e,t))return!1;return!0}function d(e){return void 0===e}function u(e){return"number"==typeof e||"[object Number]"===Object.prototype.toString.call(e)}function l(e){return e instanceof Date||"[object Date]"===Object.prototype.toString.call(e)}function M(e,t){var n,a=[],r=e.length;for(n=0;n>>0;for(t=0;t0)for(n=0;n=0?n?"+":"":"-")+Math.pow(10,Math.max(0,r)).toString().substr(1)+a}r.suppressDeprecationWarnings=!1,r.deprecationHandler=null,T=Object.keys?Object.keys:function(e){var t,n=[];for(t in e)s(e,t)&&n.push(t);return n};var N=/(\[[^\[]*\])|(\\)?([Hh]mm(ss)?|Mo|MM?M?M?|Do|DDDo|DD?D?D?|ddd?d?|do?|w[o|w]?|W[o|W]?|Qo?|N{1,5}|YYYYYY|YYYYY|YYYY|YY|y{2,4}|yo?|gg(ggg?)?|GG(GGG?)?|e|E|a|A|hh?|HH?|kk?|mm?|ss?|S{1,9}|x|X|zz?|ZZ?|.)/g,W=/(\[[^\[]*\])|(\\)?(LTS|LT|LL?L?L?|l{1,4})/g,q={},E={};function x(e,t,n,a){var r=a;"string"==typeof a&&(r=function(){return this[a]()}),e&&(E[e]=r),t&&(E[t[0]]=function(){return S(r.apply(this,arguments),t[1],t[2])}),n&&(E[n]=function(){return this.localeData().ordinal(r.apply(this,arguments),e)})}function H(e,t){return e.isValid()?(t=j(t,e.localeData()),q[t]=q[t]||function(e){var t,n,a,r=e.match(N);for(t=0,n=r.length;t=0&&W.test(e);)e=e.replace(W,a),W.lastIndex=0,n-=1;return e}var C={};function R(e,t){var n=e.toLowerCase();C[n]=C[n+"s"]=C[t]=e}function B(e){return"string"==typeof e?C[e]||C[e.toLowerCase()]:void 0}function X(e){var t,n,a={};for(n in e)s(e,n)&&(t=B(n))&&(a[t]=e[n]);return a}var P={};function I(e,t){P[e]=t}function F(e){return e%4==0&&e%100!=0||e%400==0}function U(e){return e<0?Math.ceil(e)||0:Math.floor(e)}function V(e){var t=+e,n=0;return 0!==t&&isFinite(t)&&(n=U(t)),n}function G(e,t){return function(n){return null!=n?(K(this,e,n),r.updateOffset(this,t),this):J(this,e)}}function J(e,t){return e.isValid()?e._d["get"+(e._isUTC?"UTC":"")+t]():NaN}function K(e,t,n){e.isValid()&&!isNaN(n)&&("FullYear"===t&&F(e.year())&&1===e.month()&&29===e.date()?(n=V(n),e._d["set"+(e._isUTC?"UTC":"")+t](n,e.month(),ve(n,e.month()))):e._d["set"+(e._isUTC?"UTC":"")+t](n))}var Z,Q=/\d/,$=/\d\d/,ee=/\d{3}/,te=/\d{4}/,ne=/[+-]?\d{6}/,ae=/\d\d?/,re=/\d\d\d\d?/,oe=/\d\d\d\d\d\d?/,ie=/\d{1,3}/,se=/\d{1,4}/,ce=/[+-]?\d{1,6}/,de=/\d+/,ue=/[+-]?\d+/,le=/Z|[+-]\d\d:?\d\d/gi,Me=/Z|[+-]\d\d(?::?\d\d)?/gi,pe=/[0-9]{0,256}['a-z\u00A0-\u05FF\u0700-\uD7FF\uF900-\uFDCF\uFDF0-\uFF07\uFF10-\uFFEF]{1,256}|[\u0600-\u06FF\/]{1,256}(\s*?[\u0600-\u06FF]{1,256}){1,2}/i;function me(e,t,n){Z[e]=D(t)?t:function(e,a){return e&&n?n:t}}function _e(e,t){return s(Z,e)?Z[e](t._strict,t._locale):new RegExp(fe(e.replace("\\","").replace(/\\(\[)|\\(\])|\[([^\]\[]*)\]|\\(.)/g,(function(e,t,n,a,r){return t||n||a||r}))))}function fe(e){return e.replace(/[-\/\\^$*+?.()|[\]{}]/g,"\\$&")}Z={};var he,be={};function ye(e,t){var n,a,r=t;for("string"==typeof e&&(e=[e]),u(t)&&(r=function(e,n){n[t]=V(e)}),a=e.length,n=0;n68?1900:2e3)};var We=G("FullYear",!0);function qe(e,t,n,a,r,o,i){var s;return e<100&&e>=0?(s=new Date(e+400,t,n,a,r,o,i),isFinite(s.getFullYear())&&s.setFullYear(e)):s=new Date(e,t,n,a,r,o,i),s}function Ee(e){var t,n;return e<100&&e>=0?((n=Array.prototype.slice.call(arguments))[0]=e+400,t=new Date(Date.UTC.apply(null,n)),isFinite(t.getUTCFullYear())&&t.setUTCFullYear(e)):t=new Date(Date.UTC.apply(null,arguments)),t}function xe(e,t,n){var a=7+t-n;return-(7+Ee(e,0,a).getUTCDay()-t)%7+a-1}function He(e,t,n,a,r){var o,i,s=1+7*(t-1)+(7+n-a)%7+xe(e,a,r);return s<=0?i=Ne(o=e-1)+s:s>Ne(e)?(o=e+1,i=s-Ne(e)):(o=e,i=s),{year:o,dayOfYear:i}}function je(e,t,n){var a,r,o=xe(e.year(),t,n),i=Math.floor((e.dayOfYear()-o-1)/7)+1;return i<1?a=i+Ce(r=e.year()-1,t,n):i>Ce(e.year(),t,n)?(a=i-Ce(e.year(),t,n),r=e.year()+1):(r=e.year(),a=i),{week:a,year:r}}function Ce(e,t,n){var a=xe(e,t,n),r=xe(e+1,t,n);return(Ne(e)-a+r)/7}function Re(e,t){return e.slice(t,7).concat(e.slice(0,t))}x("w",["ww",2],"wo","week"),x("W",["WW",2],"Wo","isoWeek"),R("week","w"),R("isoWeek","W"),I("week",5),I("isoWeek",5),me("w",ae),me("ww",ae,$),me("W",ae),me("WW",ae,$),Le(["w","ww","W","WW"],(function(e,t,n,a){t[a.substr(0,1)]=V(e)})),x("d",0,"do","day"),x("dd",0,0,(function(e){return this.localeData().weekdaysMin(this,e)})),x("ddd",0,0,(function(e){return this.localeData().weekdaysShort(this,e)})),x("dddd",0,0,(function(e){return this.localeData().weekdays(this,e)})),x("e",0,0,"weekday"),x("E",0,0,"isoWeekday"),R("day","d"),R("weekday","e"),R("isoWeekday","E"),I("day",11),I("weekday",11),I("isoWeekday",11),me("d",ae),me("e",ae),me("E",ae),me("dd",(function(e,t){return t.weekdaysMinRegex(e)})),me("ddd",(function(e,t){return t.weekdaysShortRegex(e)})),me("dddd",(function(e,t){return t.weekdaysRegex(e)})),Le(["dd","ddd","dddd"],(function(e,t,n,a){var r=n._locale.weekdaysParse(e,a,n._strict);null!=r?t.d=r:_(n).invalidWeekday=e})),Le(["d","e","E"],(function(e,t,n,a){t[a]=V(e)}));var Be="Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),Xe="Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),Pe="Su_Mo_Tu_We_Th_Fr_Sa".split("_"),Ie=pe,Fe=pe,Ue=pe;function Ve(e,t,n){var a,r,o,i=e.toLocaleLowerCase();if(!this._weekdaysParse)for(this._weekdaysParse=[],this._shortWeekdaysParse=[],this._minWeekdaysParse=[],a=0;a<7;++a)o=m([2e3,1]).day(a),this._minWeekdaysParse[a]=this.weekdaysMin(o,"").toLocaleLowerCase(),this._shortWeekdaysParse[a]=this.weekdaysShort(o,"").toLocaleLowerCase(),this._weekdaysParse[a]=this.weekdays(o,"").toLocaleLowerCase();return n?"dddd"===t?-1!==(r=he.call(this._weekdaysParse,i))?r:null:"ddd"===t?-1!==(r=he.call(this._shortWeekdaysParse,i))?r:null:-1!==(r=he.call(this._minWeekdaysParse,i))?r:null:"dddd"===t?-1!==(r=he.call(this._weekdaysParse,i))||-1!==(r=he.call(this._shortWeekdaysParse,i))||-1!==(r=he.call(this._minWeekdaysParse,i))?r:null:"ddd"===t?-1!==(r=he.call(this._shortWeekdaysParse,i))||-1!==(r=he.call(this._weekdaysParse,i))||-1!==(r=he.call(this._minWeekdaysParse,i))?r:null:-1!==(r=he.call(this._minWeekdaysParse,i))||-1!==(r=he.call(this._weekdaysParse,i))||-1!==(r=he.call(this._shortWeekdaysParse,i))?r:null}function Ge(){function e(e,t){return t.length-e.length}var t,n,a,r,o,i=[],s=[],c=[],d=[];for(t=0;t<7;t++)n=m([2e3,1]).day(t),a=fe(this.weekdaysMin(n,"")),r=fe(this.weekdaysShort(n,"")),o=fe(this.weekdays(n,"")),i.push(a),s.push(r),c.push(o),d.push(a),d.push(r),d.push(o);i.sort(e),s.sort(e),c.sort(e),d.sort(e),this._weekdaysRegex=new RegExp("^("+d.join("|")+")","i"),this._weekdaysShortRegex=this._weekdaysRegex,this._weekdaysMinRegex=this._weekdaysRegex,this._weekdaysStrictRegex=new RegExp("^("+c.join("|")+")","i"),this._weekdaysShortStrictRegex=new RegExp("^("+s.join("|")+")","i"),this._weekdaysMinStrictRegex=new RegExp("^("+i.join("|")+")","i")}function Je(){return this.hours()%12||12}function Ke(e,t){x(e,0,0,(function(){return this.localeData().meridiem(this.hours(),this.minutes(),t)}))}function Ze(e,t){return t._meridiemParse}x("H",["HH",2],0,"hour"),x("h",["hh",2],0,Je),x("k",["kk",2],0,(function(){return this.hours()||24})),x("hmm",0,0,(function(){return""+Je.apply(this)+S(this.minutes(),2)})),x("hmmss",0,0,(function(){return""+Je.apply(this)+S(this.minutes(),2)+S(this.seconds(),2)})),x("Hmm",0,0,(function(){return""+this.hours()+S(this.minutes(),2)})),x("Hmmss",0,0,(function(){return""+this.hours()+S(this.minutes(),2)+S(this.seconds(),2)})),Ke("a",!0),Ke("A",!1),R("hour","h"),I("hour",13),me("a",Ze),me("A",Ze),me("H",ae),me("h",ae),me("k",ae),me("HH",ae,$),me("hh",ae,$),me("kk",ae,$),me("hmm",re),me("hmmss",oe),me("Hmm",re),me("Hmmss",oe),ye(["H","HH"],3),ye(["k","kk"],(function(e,t,n){var a=V(e);t[3]=24===a?0:a})),ye(["a","A"],(function(e,t,n){n._isPm=n._locale.isPM(e),n._meridiem=e})),ye(["h","hh"],(function(e,t,n){t[3]=V(e),_(n).bigHour=!0})),ye("hmm",(function(e,t,n){var a=e.length-2;t[3]=V(e.substr(0,a)),t[4]=V(e.substr(a)),_(n).bigHour=!0})),ye("hmmss",(function(e,t,n){var a=e.length-4,r=e.length-2;t[3]=V(e.substr(0,a)),t[4]=V(e.substr(a,2)),t[5]=V(e.substr(r)),_(n).bigHour=!0})),ye("Hmm",(function(e,t,n){var a=e.length-2;t[3]=V(e.substr(0,a)),t[4]=V(e.substr(a))})),ye("Hmmss",(function(e,t,n){var a=e.length-4,r=e.length-2;t[3]=V(e.substr(0,a)),t[4]=V(e.substr(a,2)),t[5]=V(e.substr(r))}));var Qe,$e=G("Hours",!0),et={calendar:{sameDay:"[Today at] LT",nextDay:"[Tomorrow at] LT",nextWeek:"dddd [at] LT",lastDay:"[Yesterday at] LT",lastWeek:"[Last] dddd [at] LT",sameElse:"L"},longDateFormat:{LTS:"h:mm:ss A",LT:"h:mm A",L:"MM/DD/YYYY",LL:"MMMM D, YYYY",LLL:"MMMM D, YYYY h:mm A",LLLL:"dddd, MMMM D, YYYY h:mm A"},invalidDate:"Invalid date",ordinal:"%d",dayOfMonthOrdinalParse:/\d{1,2}/,relativeTime:{future:"in %s",past:"%s ago",s:"a few seconds",ss:"%d seconds",m:"a minute",mm:"%d minutes",h:"an hour",hh:"%d hours",d:"a day",dd:"%d days",w:"a week",ww:"%d weeks",M:"a month",MM:"%d months",y:"a year",yy:"%d years"},months:ge,monthsShort:ze,week:{dow:0,doy:6},weekdays:Be,weekdaysMin:Pe,weekdaysShort:Xe,meridiemParse:/[ap]\.?m?\.?/i},tt={},nt={};function at(e,t){var n,a=Math.min(e.length,t.length);for(n=0;n0;){if(a=ot(r.slice(0,t).join("-")))return a;if(n&&n.length>=t&&at(r,n)>=t-1)break;t--}o++}return Qe}(e)}function dt(e){var t,n=e._a;return n&&-2===_(e).overflow&&(t=n[1]<0||n[1]>11?1:n[2]<1||n[2]>ve(n[0],n[1])?2:n[3]<0||n[3]>24||24===n[3]&&(0!==n[4]||0!==n[5]||0!==n[6])?3:n[4]<0||n[4]>59?4:n[5]<0||n[5]>59?5:n[6]<0||n[6]>999?6:-1,_(e)._overflowDayOfYear&&(t<0||t>2)&&(t=2),_(e)._overflowWeeks&&-1===t&&(t=7),_(e)._overflowWeekday&&-1===t&&(t=8),_(e).overflow=t),e}var ut=/^\s*((?:[+-]\d{6}|\d{4})-(?:\d\d-\d\d|W\d\d-\d|W\d\d|\d\d\d|\d\d))(?:(T| )(\d\d(?::\d\d(?::\d\d(?:[.,]\d+)?)?)?)([+-]\d\d(?::?\d\d)?|\s*Z)?)?$/,lt=/^\s*((?:[+-]\d{6}|\d{4})(?:\d\d\d\d|W\d\d\d|W\d\d|\d\d\d|\d\d|))(?:(T| )(\d\d(?:\d\d(?:\d\d(?:[.,]\d+)?)?)?)([+-]\d\d(?::?\d\d)?|\s*Z)?)?$/,Mt=/Z|[+-]\d\d(?::?\d\d)?/,pt=[["YYYYYY-MM-DD",/[+-]\d{6}-\d\d-\d\d/],["YYYY-MM-DD",/\d{4}-\d\d-\d\d/],["GGGG-[W]WW-E",/\d{4}-W\d\d-\d/],["GGGG-[W]WW",/\d{4}-W\d\d/,!1],["YYYY-DDD",/\d{4}-\d{3}/],["YYYY-MM",/\d{4}-\d\d/,!1],["YYYYYYMMDD",/[+-]\d{10}/],["YYYYMMDD",/\d{8}/],["GGGG[W]WWE",/\d{4}W\d{3}/],["GGGG[W]WW",/\d{4}W\d{2}/,!1],["YYYYDDD",/\d{7}/],["YYYYMM",/\d{6}/,!1],["YYYY",/\d{4}/,!1]],mt=[["HH:mm:ss.SSSS",/\d\d:\d\d:\d\d\.\d+/],["HH:mm:ss,SSSS",/\d\d:\d\d:\d\d,\d+/],["HH:mm:ss",/\d\d:\d\d:\d\d/],["HH:mm",/\d\d:\d\d/],["HHmmss.SSSS",/\d\d\d\d\d\d\.\d+/],["HHmmss,SSSS",/\d\d\d\d\d\d,\d+/],["HHmmss",/\d\d\d\d\d\d/],["HHmm",/\d\d\d\d/],["HH",/\d\d/]],_t=/^\/?Date\((-?\d+)/i,ft=/^(?:(Mon|Tue|Wed|Thu|Fri|Sat|Sun),?\s)?(\d{1,2})\s(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)\s(\d{2,4})\s(\d\d):(\d\d)(?::(\d\d))?\s(?:(UT|GMT|[ECMP][SD]T)|([Zz])|([+-]\d{4}))$/,ht={UT:0,GMT:0,EDT:-240,EST:-300,CDT:-300,CST:-360,MDT:-360,MST:-420,PDT:-420,PST:-480};function bt(e){var t,n,a,r,o,i,s=e._i,c=ut.exec(s)||lt.exec(s),d=pt.length,u=mt.length;if(c){for(_(e).iso=!0,t=0,n=d;t7)&&(c=!0)):(o=e._locale._week.dow,i=e._locale._week.doy,d=je(Ot(),o,i),n=At(t.gg,e._a[0],d.year),a=At(t.w,d.week),null!=t.d?((r=t.d)<0||r>6)&&(c=!0):null!=t.e?(r=t.e+o,(t.e<0||t.e>6)&&(c=!0)):r=o),a<1||a>Ce(n,o,i)?_(e)._overflowWeeks=!0:null!=c?_(e)._overflowWeekday=!0:(s=He(n,a,r,o,i),e._a[0]=s.year,e._dayOfYear=s.dayOfYear)}(e),null!=e._dayOfYear&&(i=At(e._a[0],a[0]),(e._dayOfYear>Ne(i)||0===e._dayOfYear)&&(_(e)._overflowDayOfYear=!0),n=Ee(i,0,e._dayOfYear),e._a[1]=n.getUTCMonth(),e._a[2]=n.getUTCDate()),t=0;t<3&&null==e._a[t];++t)e._a[t]=s[t]=a[t];for(;t<7;t++)e._a[t]=s[t]=null==e._a[t]?2===t?1:0:e._a[t];24===e._a[3]&&0===e._a[4]&&0===e._a[5]&&0===e._a[6]&&(e._nextDay=!0,e._a[3]=0),e._d=(e._useUTC?Ee:qe).apply(null,s),o=e._useUTC?e._d.getUTCDay():e._d.getDay(),null!=e._tzm&&e._d.setUTCMinutes(e._d.getUTCMinutes()-e._tzm),e._nextDay&&(e._a[3]=24),e._w&&void 0!==e._w.d&&e._w.d!==o&&(_(e).weekdayMismatch=!0)}}function gt(e){if(e._f!==r.ISO_8601)if(e._f!==r.RFC_2822){e._a=[],_(e).empty=!0;var t,n,a,o,i,s,c,d=""+e._i,u=d.length,l=0;for(c=(a=j(e._f,e._locale).match(N)||[]).length,t=0;t0&&_(e).unusedInput.push(i),d=d.slice(d.indexOf(n)+n.length),l+=n.length),E[o]?(n?_(e).empty=!1:_(e).unusedTokens.push(o),Ae(o,n,e)):e._strict&&!n&&_(e).unusedTokens.push(o);_(e).charsLeftOver=u-l,d.length>0&&_(e).unusedInput.push(d),e._a[3]<=12&&!0===_(e).bigHour&&e._a[3]>0&&(_(e).bigHour=void 0),_(e).parsedDateParts=e._a.slice(0),_(e).meridiem=e._meridiem,e._a[3]=function(e,t,n){var a;return null==n?t:null!=e.meridiemHour?e.meridiemHour(t,n):null!=e.isPM?((a=e.isPM(n))&&t<12&&(t+=12),a||12!==t||(t=0),t):t}(e._locale,e._a[3],e._meridiem),null!==(s=_(e).era)&&(e._a[0]=e._locale.erasConvertYear(s,e._a[0])),vt(e),dt(e)}else Lt(e);else bt(e)}function zt(e){var t=e._i,n=e._f;return e._locale=e._locale||ct(e._l),null===t||void 0===n&&""===t?h({nullInput:!0}):("string"==typeof t&&(e._i=t=e._locale.preparse(t)),v(t)?new A(dt(t)):(l(t)?e._d=t:o(n)?function(e){var t,n,a,r,o,i,s=!1,c=e._f.length;if(0===c)return _(e).invalidFormat=!0,void(e._d=new Date(NaN));for(r=0;rthis?this:e:h()}));function wt(e,t){var n,a;if(1===t.length&&o(t[0])&&(t=t[0]),!t.length)return Ot();for(n=t[0],a=1;a=0?new Date(e+400,t,n)-126227808e5:new Date(e,t,n).valueOf()}function rn(e,t,n){return e<100&&e>=0?Date.UTC(e+400,t,n)-126227808e5:Date.UTC(e,t,n)}function on(e,t){return t.erasAbbrRegex(e)}function sn(){var e,t,n=[],a=[],r=[],o=[],i=this.eras();for(e=0,t=i.length;e(o=Ce(e,a,r))&&(t=o),un.call(this,e,t,n,a,r))}function un(e,t,n,a,r){var o=He(e,t,n,a,r),i=Ee(o.year,0,o.dayOfYear);return this.year(i.getUTCFullYear()),this.month(i.getUTCMonth()),this.date(i.getUTCDate()),this}x("N",0,0,"eraAbbr"),x("NN",0,0,"eraAbbr"),x("NNN",0,0,"eraAbbr"),x("NNNN",0,0,"eraName"),x("NNNNN",0,0,"eraNarrow"),x("y",["y",1],"yo","eraYear"),x("y",["yy",2],0,"eraYear"),x("y",["yyy",3],0,"eraYear"),x("y",["yyyy",4],0,"eraYear"),me("N",on),me("NN",on),me("NNN",on),me("NNNN",(function(e,t){return t.erasNameRegex(e)})),me("NNNNN",(function(e,t){return t.erasNarrowRegex(e)})),ye(["N","NN","NNN","NNNN","NNNNN"],(function(e,t,n,a){var r=n._locale.erasParse(e,a,n._strict);r?_(n).era=r:_(n).invalidEra=e})),me("y",de),me("yy",de),me("yyy",de),me("yyyy",de),me("yo",(function(e,t){return t._eraYearOrdinalRegex||de})),ye(["y","yy","yyy","yyyy"],0),ye(["yo"],(function(e,t,n,a){var r;n._locale._eraYearOrdinalRegex&&(r=e.match(n._locale._eraYearOrdinalRegex)),n._locale.eraYearOrdinalParse?t[0]=n._locale.eraYearOrdinalParse(e,r):t[0]=parseInt(e,10)})),x(0,["gg",2],0,(function(){return this.weekYear()%100})),x(0,["GG",2],0,(function(){return this.isoWeekYear()%100})),cn("gggg","weekYear"),cn("ggggg","weekYear"),cn("GGGG","isoWeekYear"),cn("GGGGG","isoWeekYear"),R("weekYear","gg"),R("isoWeekYear","GG"),I("weekYear",1),I("isoWeekYear",1),me("G",ue),me("g",ue),me("GG",ae,$),me("gg",ae,$),me("GGGG",se,te),me("gggg",se,te),me("GGGGG",ce,ne),me("ggggg",ce,ne),Le(["gggg","ggggg","GGGG","GGGGG"],(function(e,t,n,a){t[a.substr(0,2)]=V(e)})),Le(["gg","GG"],(function(e,t,n,a){t[a]=r.parseTwoDigitYear(e)})),x("Q",0,"Qo","quarter"),R("quarter","Q"),I("quarter",7),me("Q",Q),ye("Q",(function(e,t){t[1]=3*(V(e)-1)})),x("D",["DD",2],"Do","date"),R("date","D"),I("date",9),me("D",ae),me("DD",ae,$),me("Do",(function(e,t){return e?t._dayOfMonthOrdinalParse||t._ordinalParse:t._dayOfMonthOrdinalParseLenient})),ye(["D","DD"],2),ye("Do",(function(e,t){t[2]=V(e.match(ae)[0])}));var ln=G("Date",!0);x("DDD",["DDDD",3],"DDDo","dayOfYear"),R("dayOfYear","DDD"),I("dayOfYear",4),me("DDD",ie),me("DDDD",ee),ye(["DDD","DDDD"],(function(e,t,n){n._dayOfYear=V(e)})),x("m",["mm",2],0,"minute"),R("minute","m"),I("minute",14),me("m",ae),me("mm",ae,$),ye(["m","mm"],4);var Mn=G("Minutes",!1);x("s",["ss",2],0,"second"),R("second","s"),I("second",15),me("s",ae),me("ss",ae,$),ye(["s","ss"],5);var pn,mn,_n=G("Seconds",!1);for(x("S",0,0,(function(){return~~(this.millisecond()/100)})),x(0,["SS",2],0,(function(){return~~(this.millisecond()/10)})),x(0,["SSS",3],0,"millisecond"),x(0,["SSSS",4],0,(function(){return 10*this.millisecond()})),x(0,["SSSSS",5],0,(function(){return 100*this.millisecond()})),x(0,["SSSSSS",6],0,(function(){return 1e3*this.millisecond()})),x(0,["SSSSSSS",7],0,(function(){return 1e4*this.millisecond()})),x(0,["SSSSSSSS",8],0,(function(){return 1e5*this.millisecond()})),x(0,["SSSSSSSSS",9],0,(function(){return 1e6*this.millisecond()})),R("millisecond","ms"),I("millisecond",16),me("S",ie,Q),me("SS",ie,$),me("SSS",ie,ee),pn="SSSS";pn.length<=9;pn+="S")me(pn,de);function fn(e,t){t[6]=V(1e3*("0."+e))}for(pn="S";pn.length<=9;pn+="S")ye(pn,fn);mn=G("Milliseconds",!1),x("z",0,0,"zoneAbbr"),x("zz",0,0,"zoneName");var hn=A.prototype;function bn(e){return e}hn.add=Vt,hn.calendar=function(e,t){1===arguments.length&&(arguments[0]?Kt(arguments[0])?(e=arguments[0],t=void 0):Zt(arguments[0])&&(t=arguments[0],e=void 0):(e=void 0,t=void 0));var n=e||Ot(),a=Ht(n,this).startOf("day"),o=r.calendarFormat(this,a)||"sameElse",i=t&&(D(t[o])?t[o].call(this,n):t[o]);return this.format(i||this.localeData().calendar(o,this,Ot(n)))},hn.clone=function(){return new A(this)},hn.diff=function(e,t,n){var a,r,o;if(!this.isValid())return NaN;if(!(a=Ht(e,this)).isValid())return NaN;switch(r=6e4*(a.utcOffset()-this.utcOffset()),t=B(t)){case"year":o=Qt(this,a)/12;break;case"month":o=Qt(this,a);break;case"quarter":o=Qt(this,a)/3;break;case"second":o=(this-a)/1e3;break;case"minute":o=(this-a)/6e4;break;case"hour":o=(this-a)/36e5;break;case"day":o=(this-a-r)/864e5;break;case"week":o=(this-a-r)/6048e5;break;default:o=this-a}return n?o:U(o)},hn.endOf=function(e){var t,n;if(void 0===(e=B(e))||"millisecond"===e||!this.isValid())return this;switch(n=this._isUTC?rn:an,e){case"year":t=n(this.year()+1,0,1)-1;break;case"quarter":t=n(this.year(),this.month()-this.month()%3+3,1)-1;break;case"month":t=n(this.year(),this.month()+1,1)-1;break;case"week":t=n(this.year(),this.month(),this.date()-this.weekday()+7)-1;break;case"isoWeek":t=n(this.year(),this.month(),this.date()-(this.isoWeekday()-1)+7)-1;break;case"day":case"date":t=n(this.year(),this.month(),this.date()+1)-1;break;case"hour":t=this._d.valueOf(),t+=36e5-nn(t+(this._isUTC?0:6e4*this.utcOffset()),36e5)-1;break;case"minute":t=this._d.valueOf(),t+=6e4-nn(t,6e4)-1;break;case"second":t=this._d.valueOf(),t+=1e3-nn(t,1e3)-1}return this._d.setTime(t),r.updateOffset(this,!0),this},hn.format=function(e){e||(e=this.isUtc()?r.defaultFormatUtc:r.defaultFormat);var t=H(this,e);return this.localeData().postformat(t)},hn.from=function(e,t){return this.isValid()&&(v(e)&&e.isValid()||Ot(e).isValid())?Xt({to:this,from:e}).locale(this.locale()).humanize(!t):this.localeData().invalidDate()},hn.fromNow=function(e){return this.from(Ot(),e)},hn.to=function(e,t){return this.isValid()&&(v(e)&&e.isValid()||Ot(e).isValid())?Xt({from:this,to:e}).locale(this.locale()).humanize(!t):this.localeData().invalidDate()},hn.toNow=function(e){return this.to(Ot(),e)},hn.get=function(e){return D(this[e=B(e)])?this[e]():this},hn.invalidAt=function(){return _(this).overflow},hn.isAfter=function(e,t){var n=v(e)?e:Ot(e);return!(!this.isValid()||!n.isValid())&&("millisecond"===(t=B(t)||"millisecond")?this.valueOf()>n.valueOf():n.valueOf()9999?H(n,t?"YYYYYY-MM-DD[T]HH:mm:ss.SSS[Z]":"YYYYYY-MM-DD[T]HH:mm:ss.SSSZ"):D(Date.prototype.toISOString)?t?this.toDate().toISOString():new Date(this.valueOf()+60*this.utcOffset()*1e3).toISOString().replace("Z",H(n,"Z")):H(n,t?"YYYY-MM-DD[T]HH:mm:ss.SSS[Z]":"YYYY-MM-DD[T]HH:mm:ss.SSSZ")},hn.inspect=function(){if(!this.isValid())return"moment.invalid(/* "+this._i+" */)";var e,t,n,a="moment",r="";return this.isLocal()||(a=0===this.utcOffset()?"moment.utc":"moment.parseZone",r="Z"),e="["+a+'("]',t=0<=this.year()&&this.year()<=9999?"YYYY":"YYYYYY",n=r+'[")]',this.format(e+t+"-MM-DD[T]HH:mm:ss.SSS"+n)},"undefined"!=typeof Symbol&&null!=Symbol.for&&(hn[Symbol.for("nodejs.util.inspect.custom")]=function(){return"Moment<"+this.format()+">"}),hn.toJSON=function(){return this.isValid()?this.toISOString():null},hn.toString=function(){return this.clone().locale("en").format("ddd MMM DD YYYY HH:mm:ss [GMT]ZZ")},hn.unix=function(){return Math.floor(this.valueOf()/1e3)},hn.valueOf=function(){return this._d.valueOf()-6e4*(this._offset||0)},hn.creationData=function(){return{input:this._i,format:this._f,locale:this._locale,isUTC:this._isUTC,strict:this._strict}},hn.eraName=function(){var e,t,n,a=this.localeData().eras();for(e=0,t=a.length;ethis.clone().month(0).utcOffset()||this.utcOffset()>this.clone().month(5).utcOffset()},hn.isLocal=function(){return!!this.isValid()&&!this._isUTC},hn.isUtcOffset=function(){return!!this.isValid()&&this._isUTC},hn.isUtc=Ct,hn.isUTC=Ct,hn.zoneAbbr=function(){return this._isUTC?"UTC":""},hn.zoneName=function(){return this._isUTC?"Coordinated Universal Time":""},hn.dates=z("dates accessor is deprecated. Use date instead.",ln),hn.months=z("months accessor is deprecated. Use month instead",Ye),hn.years=z("years accessor is deprecated. Use year instead",We),hn.zone=z("moment().zone is deprecated, use moment().utcOffset instead. http://momentjs.com/guides/#/warnings/zone/",(function(e,t){return null!=e?("string"!=typeof e&&(e=-e),this.utcOffset(e,t),this):-this.utcOffset()})),hn.isDSTShifted=z("isDSTShifted is deprecated. See http://momentjs.com/guides/#/warnings/dst-shifted/ for more information",(function(){if(!d(this._isDSTShifted))return this._isDSTShifted;var e,t={};return L(t,this),(t=zt(t))._a?(e=t._isUTC?m(t._a):Ot(t._a),this._isDSTShifted=this.isValid()&&function(e,t,n){var a,r=Math.min(e.length,t.length),o=Math.abs(e.length-t.length),i=0;for(a=0;a0):this._isDSTShifted=!1,this._isDSTShifted}));var yn=Y.prototype;function Ln(e,t,n,a){var r=ct(),o=m().set(a,t);return r[n](o,e)}function An(e,t,n){if(u(e)&&(t=e,e=void 0),e=e||"",null!=t)return Ln(e,t,n,"month");var a,r=[];for(a=0;a<12;a++)r[a]=Ln(e,a,n,"month");return r}function vn(e,t,n,a){"boolean"==typeof e?(u(t)&&(n=t,t=void 0),t=t||""):(n=t=e,e=!1,u(t)&&(n=t,t=void 0),t=t||"");var r,o=ct(),i=e?o._week.dow:0,s=[];if(null!=n)return Ln(t,(n+i)%7,a,"day");for(r=0;r<7;r++)s[r]=Ln(t,(r+i)%7,a,"day");return s}yn.calendar=function(e,t,n){var a=this._calendar[e]||this._calendar.sameElse;return D(a)?a.call(t,n):a},yn.longDateFormat=function(e){var t=this._longDateFormat[e],n=this._longDateFormat[e.toUpperCase()];return t||!n?t:(this._longDateFormat[e]=n.match(N).map((function(e){return"MMMM"===e||"MM"===e||"DD"===e||"dddd"===e?e.slice(1):e})).join(""),this._longDateFormat[e])},yn.invalidDate=function(){return this._invalidDate},yn.ordinal=function(e){return this._ordinal.replace("%d",e)},yn.preparse=bn,yn.postformat=bn,yn.relativeTime=function(e,t,n,a){var r=this._relativeTime[n];return D(r)?r(e,t,n,a):r.replace(/%d/i,e)},yn.pastFuture=function(e,t){var n=this._relativeTime[e>0?"future":"past"];return D(n)?n(t):n.replace(/%s/i,t)},yn.set=function(e){var t,n;for(n in e)s(e,n)&&(D(t=e[n])?this[n]=t:this["_"+n]=t);this._config=e,this._dayOfMonthOrdinalParseLenient=new RegExp((this._dayOfMonthOrdinalParse.source||this._ordinalParse.source)+"|"+/\d{1,2}/.source)},yn.eras=function(e,t){var n,a,o,i=this._eras||ct("en")._eras;for(n=0,a=i.length;n=0)return c[a]},yn.erasConvertYear=function(e,t){var n=e.since<=e.until?1:-1;return void 0===t?r(e.since).year():r(e.since).year()+(t-e.offset)*n},yn.erasAbbrRegex=function(e){return s(this,"_erasAbbrRegex")||sn.call(this),e?this._erasAbbrRegex:this._erasRegex},yn.erasNameRegex=function(e){return s(this,"_erasNameRegex")||sn.call(this),e?this._erasNameRegex:this._erasRegex},yn.erasNarrowRegex=function(e){return s(this,"_erasNarrowRegex")||sn.call(this),e?this._erasNarrowRegex:this._erasRegex},yn.months=function(e,t){return e?o(this._months)?this._months[e.month()]:this._months[(this._months.isFormat||Te).test(t)?"format":"standalone"][e.month()]:o(this._months)?this._months:this._months.standalone},yn.monthsShort=function(e,t){return e?o(this._monthsShort)?this._monthsShort[e.month()]:this._monthsShort[Te.test(t)?"format":"standalone"][e.month()]:o(this._monthsShort)?this._monthsShort:this._monthsShort.standalone},yn.monthsParse=function(e,t,n){var a,r,o;if(this._monthsParseExact)return De.call(this,e,t,n);for(this._monthsParse||(this._monthsParse=[],this._longMonthsParse=[],this._shortMonthsParse=[]),a=0;a<12;a++){if(r=m([2e3,a]),n&&!this._longMonthsParse[a]&&(this._longMonthsParse[a]=new RegExp("^"+this.months(r,"").replace(".","")+"$","i"),this._shortMonthsParse[a]=new RegExp("^"+this.monthsShort(r,"").replace(".","")+"$","i")),n||this._monthsParse[a]||(o="^"+this.months(r,"")+"|^"+this.monthsShort(r,""),this._monthsParse[a]=new RegExp(o.replace(".",""),"i")),n&&"MMMM"===t&&this._longMonthsParse[a].test(e))return a;if(n&&"MMM"===t&&this._shortMonthsParse[a].test(e))return a;if(!n&&this._monthsParse[a].test(e))return a}},yn.monthsRegex=function(e){return this._monthsParseExact?(s(this,"_monthsRegex")||Se.call(this),e?this._monthsStrictRegex:this._monthsRegex):(s(this,"_monthsRegex")||(this._monthsRegex=ke),this._monthsStrictRegex&&e?this._monthsStrictRegex:this._monthsRegex)},yn.monthsShortRegex=function(e){return this._monthsParseExact?(s(this,"_monthsRegex")||Se.call(this),e?this._monthsShortStrictRegex:this._monthsShortRegex):(s(this,"_monthsShortRegex")||(this._monthsShortRegex=Oe),this._monthsShortStrictRegex&&e?this._monthsShortStrictRegex:this._monthsShortRegex)},yn.week=function(e){return je(e,this._week.dow,this._week.doy).week},yn.firstDayOfYear=function(){return this._week.doy},yn.firstDayOfWeek=function(){return this._week.dow},yn.weekdays=function(e,t){var n=o(this._weekdays)?this._weekdays:this._weekdays[e&&!0!==e&&this._weekdays.isFormat.test(t)?"format":"standalone"];return!0===e?Re(n,this._week.dow):e?n[e.day()]:n},yn.weekdaysMin=function(e){return!0===e?Re(this._weekdaysMin,this._week.dow):e?this._weekdaysMin[e.day()]:this._weekdaysMin},yn.weekdaysShort=function(e){return!0===e?Re(this._weekdaysShort,this._week.dow):e?this._weekdaysShort[e.day()]:this._weekdaysShort},yn.weekdaysParse=function(e,t,n){var a,r,o;if(this._weekdaysParseExact)return Ve.call(this,e,t,n);for(this._weekdaysParse||(this._weekdaysParse=[],this._minWeekdaysParse=[],this._shortWeekdaysParse=[],this._fullWeekdaysParse=[]),a=0;a<7;a++){if(r=m([2e3,1]).day(a),n&&!this._fullWeekdaysParse[a]&&(this._fullWeekdaysParse[a]=new RegExp("^"+this.weekdays(r,"").replace(".","\\.?")+"$","i"),this._shortWeekdaysParse[a]=new RegExp("^"+this.weekdaysShort(r,"").replace(".","\\.?")+"$","i"),this._minWeekdaysParse[a]=new RegExp("^"+this.weekdaysMin(r,"").replace(".","\\.?")+"$","i")),this._weekdaysParse[a]||(o="^"+this.weekdays(r,"")+"|^"+this.weekdaysShort(r,"")+"|^"+this.weekdaysMin(r,""),this._weekdaysParse[a]=new RegExp(o.replace(".",""),"i")),n&&"dddd"===t&&this._fullWeekdaysParse[a].test(e))return a;if(n&&"ddd"===t&&this._shortWeekdaysParse[a].test(e))return a;if(n&&"dd"===t&&this._minWeekdaysParse[a].test(e))return a;if(!n&&this._weekdaysParse[a].test(e))return a}},yn.weekdaysRegex=function(e){return this._weekdaysParseExact?(s(this,"_weekdaysRegex")||Ge.call(this),e?this._weekdaysStrictRegex:this._weekdaysRegex):(s(this,"_weekdaysRegex")||(this._weekdaysRegex=Ie),this._weekdaysStrictRegex&&e?this._weekdaysStrictRegex:this._weekdaysRegex)},yn.weekdaysShortRegex=function(e){return this._weekdaysParseExact?(s(this,"_weekdaysRegex")||Ge.call(this),e?this._weekdaysShortStrictRegex:this._weekdaysShortRegex):(s(this,"_weekdaysShortRegex")||(this._weekdaysShortRegex=Fe),this._weekdaysShortStrictRegex&&e?this._weekdaysShortStrictRegex:this._weekdaysShortRegex)},yn.weekdaysMinRegex=function(e){return this._weekdaysParseExact?(s(this,"_weekdaysRegex")||Ge.call(this),e?this._weekdaysMinStrictRegex:this._weekdaysMinRegex):(s(this,"_weekdaysMinRegex")||(this._weekdaysMinRegex=Ue),this._weekdaysMinStrictRegex&&e?this._weekdaysMinStrictRegex:this._weekdaysMinRegex)},yn.isPM=function(e){return"p"===(e+"").toLowerCase().charAt(0)},yn.meridiem=function(e,t,n){return e>11?n?"pm":"PM":n?"am":"AM"},it("en",{eras:[{since:"0001-01-01",until:1/0,offset:1,name:"Anno Domini",narrow:"AD",abbr:"AD"},{since:"0000-12-31",until:-1/0,offset:1,name:"Before Christ",narrow:"BC",abbr:"BC"}],dayOfMonthOrdinalParse:/\d{1,2}(th|st|nd|rd)/,ordinal:function(e){var t=e%10;return e+(1===V(e%100/10)?"th":1===t?"st":2===t?"nd":3===t?"rd":"th")}}),r.lang=z("moment.lang is deprecated. Use moment.locale instead.",it),r.langData=z("moment.langData is deprecated. Use moment.localeData instead.",ct);var gn=Math.abs;function zn(e,t,n,a){var r=Xt(t,n);return e._milliseconds+=a*r._milliseconds,e._days+=a*r._days,e._months+=a*r._months,e._bubble()}function Tn(e){return e<0?Math.floor(e):Math.ceil(e)}function On(e){return 4800*e/146097}function kn(e){return 146097*e/4800}function Dn(e){return function(){return this.as(e)}}var wn=Dn("ms"),Yn=Dn("s"),Sn=Dn("m"),Nn=Dn("h"),Wn=Dn("d"),qn=Dn("w"),En=Dn("M"),xn=Dn("Q"),Hn=Dn("y");function jn(e){return function(){return this.isValid()?this._data[e]:NaN}}var Cn=jn("milliseconds"),Rn=jn("seconds"),Bn=jn("minutes"),Xn=jn("hours"),Pn=jn("days"),In=jn("months"),Fn=jn("years"),Un=Math.round,Vn={ss:44,s:45,m:45,h:22,d:26,w:null,M:11};function Gn(e,t,n,a,r){return r.relativeTime(t||1,!!n,e,a)}var Jn=Math.abs;function Kn(e){return(e>0)-(e<0)||+e}function Zn(){if(!this.isValid())return this.localeData().invalidDate();var e,t,n,a,r,o,i,s,c=Jn(this._milliseconds)/1e3,d=Jn(this._days),u=Jn(this._months),l=this.asSeconds();return l?(e=U(c/60),t=U(e/60),c%=60,e%=60,n=U(u/12),u%=12,a=c?c.toFixed(3).replace(/\.?0+$/,""):"",r=l<0?"-":"",o=Kn(this._months)!==Kn(l)?"-":"",i=Kn(this._days)!==Kn(l)?"-":"",s=Kn(this._milliseconds)!==Kn(l)?"-":"",r+"P"+(n?o+n+"Y":"")+(u?o+u+"M":"")+(d?i+d+"D":"")+(t||e||c?"T":"")+(t?s+t+"H":"")+(e?s+e+"M":"")+(c?s+a+"S":"")):"P0D"}var Qn=St.prototype;return Qn.isValid=function(){return this._isValid},Qn.abs=function(){var e=this._data;return this._milliseconds=gn(this._milliseconds),this._days=gn(this._days),this._months=gn(this._months),e.milliseconds=gn(e.milliseconds),e.seconds=gn(e.seconds),e.minutes=gn(e.minutes),e.hours=gn(e.hours),e.months=gn(e.months),e.years=gn(e.years),this},Qn.add=function(e,t){return zn(this,e,t,1)},Qn.subtract=function(e,t){return zn(this,e,t,-1)},Qn.as=function(e){if(!this.isValid())return NaN;var t,n,a=this._milliseconds;if("month"===(e=B(e))||"quarter"===e||"year"===e)switch(t=this._days+a/864e5,n=this._months+On(t),e){case"month":return n;case"quarter":return n/3;case"year":return n/12}else switch(t=this._days+Math.round(kn(this._months)),e){case"week":return t/7+a/6048e5;case"day":return t+a/864e5;case"hour":return 24*t+a/36e5;case"minute":return 1440*t+a/6e4;case"second":return 86400*t+a/1e3;case"millisecond":return Math.floor(864e5*t)+a;default:throw new Error("Unknown unit "+e)}},Qn.asMilliseconds=wn,Qn.asSeconds=Yn,Qn.asMinutes=Sn,Qn.asHours=Nn,Qn.asDays=Wn,Qn.asWeeks=qn,Qn.asMonths=En,Qn.asQuarters=xn,Qn.asYears=Hn,Qn.valueOf=function(){return this.isValid()?this._milliseconds+864e5*this._days+this._months%12*2592e6+31536e6*V(this._months/12):NaN},Qn._bubble=function(){var e,t,n,a,r,o=this._milliseconds,i=this._days,s=this._months,c=this._data;return o>=0&&i>=0&&s>=0||o<=0&&i<=0&&s<=0||(o+=864e5*Tn(kn(s)+i),i=0,s=0),c.milliseconds=o%1e3,e=U(o/1e3),c.seconds=e%60,t=U(e/60),c.minutes=t%60,n=U(t/60),c.hours=n%24,i+=U(n/24),r=U(On(i)),s+=r,i-=Tn(kn(r)),a=U(s/12),s%=12,c.days=i,c.months=s,c.years=a,this},Qn.clone=function(){return Xt(this)},Qn.get=function(e){return e=B(e),this.isValid()?this[e+"s"]():NaN},Qn.milliseconds=Cn,Qn.seconds=Rn,Qn.minutes=Bn,Qn.hours=Xn,Qn.days=Pn,Qn.weeks=function(){return U(this.days()/7)},Qn.months=In,Qn.years=Fn,Qn.humanize=function(e,t){if(!this.isValid())return this.localeData().invalidDate();var n,a,r=!1,o=Vn;return"object"==typeof e&&(t=e,e=!1),"boolean"==typeof e&&(r=e),"object"==typeof t&&(o=Object.assign({},Vn,t),null!=t.s&&null==t.ss&&(o.ss=t.s-1)),n=this.localeData(),a=function(e,t,n,a){var r=Xt(e).abs(),o=Un(r.as("s")),i=Un(r.as("m")),s=Un(r.as("h")),c=Un(r.as("d")),d=Un(r.as("M")),u=Un(r.as("w")),l=Un(r.as("y")),M=o<=n.ss&&["s",o]||o0,M[4]=a,Gn.apply(null,M)}(this,!r,o,n),r&&(a=n.pastFuture(+this,a)),n.postformat(a)},Qn.toISOString=Zn,Qn.toString=Zn,Qn.toJSON=Zn,Qn.locale=$t,Qn.localeData=tn,Qn.toIsoString=z("toIsoString() is deprecated. Please use toISOString() instead (notice the capitals)",Zn),Qn.lang=en,x("X",0,0,"unix"),x("x",0,0,"valueOf"),me("x",ue),me("X",/[+-]?\d+(\.\d{1,3})?/),ye("X",(function(e,t,n){n._d=new Date(1e3*parseFloat(e))})),ye("x",(function(e,t,n){n._d=new Date(V(e))})), +e.defineLocale("pt",{months:"janeiro_fevereiro_março_abril_maio_junho_julho_agosto_setembro_outubro_novembro_dezembro".split("_"),monthsShort:"jan_fev_mar_abr_mai_jun_jul_ago_set_out_nov_dez".split("_"),weekdays:"Domingo_Segunda-feira_Terça-feira_Quarta-feira_Quinta-feira_Sexta-feira_Sábado".split("_"),weekdaysShort:"Dom_Seg_Ter_Qua_Qui_Sex_Sáb".split("_"),weekdaysMin:"Do_2ª_3ª_4ª_5ª_6ª_Sá".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D [de] MMMM [de] YYYY",LLL:"D [de] MMMM [de] YYYY HH:mm",LLLL:"dddd, D [de] MMMM [de] YYYY HH:mm"},calendar:{sameDay:"[Hoje às] LT",nextDay:"[Amanhã às] LT",nextWeek:"dddd [às] LT",lastDay:"[Ontem às] LT",lastWeek:function(){return 0===this.day()||6===this.day()?"[Último] dddd [às] LT":"[Última] dddd [às] LT"},sameElse:"L"},relativeTime:{future:"em %s",past:"há %s",s:"segundos",ss:"%d segundos",m:"um minuto",mm:"%d minutos",h:"uma hora",hh:"%d horas",d:"um dia",dd:"%d dias",w:"uma semana",ww:"%d semanas",M:"um mês",MM:"%d meses",y:"um ano",yy:"%d anos"},dayOfMonthOrdinalParse:/\d{1,2}º/,ordinal:"%dº",week:{dow:1,doy:4}})}(n("qW9H"))},qW9H:function(e,t,n){(function(e){e.exports=function(){"use strict";var t,a;function r(){return t.apply(null,arguments)}function o(e){return e instanceof Array||"[object Array]"===Object.prototype.toString.call(e)}function i(e){return null!=e&&"[object Object]"===Object.prototype.toString.call(e)}function s(e,t){return Object.prototype.hasOwnProperty.call(e,t)}function c(e){if(Object.getOwnPropertyNames)return 0===Object.getOwnPropertyNames(e).length;var t;for(t in e)if(s(e,t))return!1;return!0}function d(e){return void 0===e}function u(e){return"number"==typeof e||"[object Number]"===Object.prototype.toString.call(e)}function l(e){return e instanceof Date||"[object Date]"===Object.prototype.toString.call(e)}function M(e,t){var n,a=[];for(n=0;n>>0;for(t=0;t0)for(n=0;n=0?n?"+":"":"-")+Math.pow(10,Math.max(0,r)).toString().substr(1)+a}r.suppressDeprecationWarnings=!1,r.deprecationHandler=null,T=Object.keys?Object.keys:function(e){var t,n=[];for(t in e)s(e,t)&&n.push(t);return n};var N=/(\[[^\[]*\])|(\\)?([Hh]mm(ss)?|Mo|MM?M?M?|Do|DDDo|DD?D?D?|ddd?d?|do?|w[o|w]?|W[o|W]?|Qo?|N{1,5}|YYYYYY|YYYYY|YYYY|YY|y{2,4}|yo?|gg(ggg?)?|GG(GGG?)?|e|E|a|A|hh?|HH?|kk?|mm?|ss?|S{1,9}|x|X|zz?|ZZ?|.)/g,W=/(\[[^\[]*\])|(\\)?(LTS|LT|LL?L?L?|l{1,4})/g,q={},E={};function x(e,t,n,a){var r=a;"string"==typeof a&&(r=function(){return this[a]()}),e&&(E[e]=r),t&&(E[t[0]]=function(){return S(r.apply(this,arguments),t[1],t[2])}),n&&(E[n]=function(){return this.localeData().ordinal(r.apply(this,arguments),e)})}function H(e,t){return e.isValid()?(t=C(t,e.localeData()),q[t]=q[t]||function(e){var t,n,a,r=e.match(N);for(t=0,n=r.length;t=0&&W.test(e);)e=e.replace(W,a),W.lastIndex=0,n-=1;return e}var j={};function R(e,t){var n=e.toLowerCase();j[n]=j[n+"s"]=j[t]=e}function B(e){return"string"==typeof e?j[e]||j[e.toLowerCase()]:void 0}function X(e){var t,n,a={};for(n in e)s(e,n)&&(t=B(n))&&(a[t]=e[n]);return a}var P={};function I(e,t){P[e]=t}function F(e){return e%4==0&&e%100!=0||e%400==0}function U(e){return e<0?Math.ceil(e)||0:Math.floor(e)}function V(e){var t=+e,n=0;return 0!==t&&isFinite(t)&&(n=U(t)),n}function G(e,t){return function(n){return null!=n?(K(this,e,n),r.updateOffset(this,t),this):J(this,e)}}function J(e,t){return e.isValid()?e._d["get"+(e._isUTC?"UTC":"")+t]():NaN}function K(e,t,n){e.isValid()&&!isNaN(n)&&("FullYear"===t&&F(e.year())&&1===e.month()&&29===e.date()?(n=V(n),e._d["set"+(e._isUTC?"UTC":"")+t](n,e.month(),ve(n,e.month()))):e._d["set"+(e._isUTC?"UTC":"")+t](n))}var Z,Q=/\d/,$=/\d\d/,ee=/\d{3}/,te=/\d{4}/,ne=/[+-]?\d{6}/,ae=/\d\d?/,re=/\d\d\d\d?/,oe=/\d\d\d\d\d\d?/,ie=/\d{1,3}/,se=/\d{1,4}/,ce=/[+-]?\d{1,6}/,de=/\d+/,ue=/[+-]?\d+/,le=/Z|[+-]\d\d:?\d\d/gi,Me=/Z|[+-]\d\d(?::?\d\d)?/gi,pe=/[0-9]{0,256}['a-z\u00A0-\u05FF\u0700-\uD7FF\uF900-\uFDCF\uFDF0-\uFF07\uFF10-\uFFEF]{1,256}|[\u0600-\u06FF\/]{1,256}(\s*?[\u0600-\u06FF]{1,256}){1,2}/i;function me(e,t,n){Z[e]=D(t)?t:function(e,a){return e&&n?n:t}}function _e(e,t){return s(Z,e)?Z[e](t._strict,t._locale):new RegExp(fe(e.replace("\\","").replace(/\\(\[)|\\(\])|\[([^\]\[]*)\]|\\(.)/g,(function(e,t,n,a,r){return t||n||a||r}))))}function fe(e){return e.replace(/[-\/\\^$*+?.()|[\]{}]/g,"\\$&")}Z={};var he,be={};function ye(e,t){var n,a=t;for("string"==typeof e&&(e=[e]),u(t)&&(a=function(e,n){n[t]=V(e)}),n=0;n68?1900:2e3)};var We=G("FullYear",!0);function qe(e,t,n,a,r,o,i){var s;return e<100&&e>=0?(s=new Date(e+400,t,n,a,r,o,i),isFinite(s.getFullYear())&&s.setFullYear(e)):s=new Date(e,t,n,a,r,o,i),s}function Ee(e){var t,n;return e<100&&e>=0?((n=Array.prototype.slice.call(arguments))[0]=e+400,t=new Date(Date.UTC.apply(null,n)),isFinite(t.getUTCFullYear())&&t.setUTCFullYear(e)):t=new Date(Date.UTC.apply(null,arguments)),t}function xe(e,t,n){var a=7+t-n;return-(7+Ee(e,0,a).getUTCDay()-t)%7+a-1}function He(e,t,n,a,r){var o,i,s=1+7*(t-1)+(7+n-a)%7+xe(e,a,r);return s<=0?i=Ne(o=e-1)+s:s>Ne(e)?(o=e+1,i=s-Ne(e)):(o=e,i=s),{year:o,dayOfYear:i}}function Ce(e,t,n){var a,r,o=xe(e.year(),t,n),i=Math.floor((e.dayOfYear()-o-1)/7)+1;return i<1?a=i+je(r=e.year()-1,t,n):i>je(e.year(),t,n)?(a=i-je(e.year(),t,n),r=e.year()+1):(r=e.year(),a=i),{week:a,year:r}}function je(e,t,n){var a=xe(e,t,n),r=xe(e+1,t,n);return(Ne(e)-a+r)/7}function Re(e,t){return e.slice(t,7).concat(e.slice(0,t))}x("w",["ww",2],"wo","week"),x("W",["WW",2],"Wo","isoWeek"),R("week","w"),R("isoWeek","W"),I("week",5),I("isoWeek",5),me("w",ae),me("ww",ae,$),me("W",ae),me("WW",ae,$),Le(["w","ww","W","WW"],(function(e,t,n,a){t[a.substr(0,1)]=V(e)})),x("d",0,"do","day"),x("dd",0,0,(function(e){return this.localeData().weekdaysMin(this,e)})),x("ddd",0,0,(function(e){return this.localeData().weekdaysShort(this,e)})),x("dddd",0,0,(function(e){return this.localeData().weekdays(this,e)})),x("e",0,0,"weekday"),x("E",0,0,"isoWeekday"),R("day","d"),R("weekday","e"),R("isoWeekday","E"),I("day",11),I("weekday",11),I("isoWeekday",11),me("d",ae),me("e",ae),me("E",ae),me("dd",(function(e,t){return t.weekdaysMinRegex(e)})),me("ddd",(function(e,t){return t.weekdaysShortRegex(e)})),me("dddd",(function(e,t){return t.weekdaysRegex(e)})),Le(["dd","ddd","dddd"],(function(e,t,n,a){var r=n._locale.weekdaysParse(e,a,n._strict);null!=r?t.d=r:_(n).invalidWeekday=e})),Le(["d","e","E"],(function(e,t,n,a){t[a]=V(e)}));var Be="Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),Xe="Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),Pe="Su_Mo_Tu_We_Th_Fr_Sa".split("_"),Ie=pe,Fe=pe,Ue=pe;function Ve(e,t,n){var a,r,o,i=e.toLocaleLowerCase();if(!this._weekdaysParse)for(this._weekdaysParse=[],this._shortWeekdaysParse=[],this._minWeekdaysParse=[],a=0;a<7;++a)o=m([2e3,1]).day(a),this._minWeekdaysParse[a]=this.weekdaysMin(o,"").toLocaleLowerCase(),this._shortWeekdaysParse[a]=this.weekdaysShort(o,"").toLocaleLowerCase(),this._weekdaysParse[a]=this.weekdays(o,"").toLocaleLowerCase();return n?"dddd"===t?-1!==(r=he.call(this._weekdaysParse,i))?r:null:"ddd"===t?-1!==(r=he.call(this._shortWeekdaysParse,i))?r:null:-1!==(r=he.call(this._minWeekdaysParse,i))?r:null:"dddd"===t?-1!==(r=he.call(this._weekdaysParse,i))||-1!==(r=he.call(this._shortWeekdaysParse,i))||-1!==(r=he.call(this._minWeekdaysParse,i))?r:null:"ddd"===t?-1!==(r=he.call(this._shortWeekdaysParse,i))||-1!==(r=he.call(this._weekdaysParse,i))||-1!==(r=he.call(this._minWeekdaysParse,i))?r:null:-1!==(r=he.call(this._minWeekdaysParse,i))||-1!==(r=he.call(this._weekdaysParse,i))||-1!==(r=he.call(this._shortWeekdaysParse,i))?r:null}function Ge(){function e(e,t){return t.length-e.length}var t,n,a,r,o,i=[],s=[],c=[],d=[];for(t=0;t<7;t++)n=m([2e3,1]).day(t),a=fe(this.weekdaysMin(n,"")),r=fe(this.weekdaysShort(n,"")),o=fe(this.weekdays(n,"")),i.push(a),s.push(r),c.push(o),d.push(a),d.push(r),d.push(o);i.sort(e),s.sort(e),c.sort(e),d.sort(e),this._weekdaysRegex=new RegExp("^("+d.join("|")+")","i"),this._weekdaysShortRegex=this._weekdaysRegex,this._weekdaysMinRegex=this._weekdaysRegex,this._weekdaysStrictRegex=new RegExp("^("+c.join("|")+")","i"),this._weekdaysShortStrictRegex=new RegExp("^("+s.join("|")+")","i"),this._weekdaysMinStrictRegex=new RegExp("^("+i.join("|")+")","i")}function Je(){return this.hours()%12||12}function Ke(e,t){x(e,0,0,(function(){return this.localeData().meridiem(this.hours(),this.minutes(),t)}))}function Ze(e,t){return t._meridiemParse}x("H",["HH",2],0,"hour"),x("h",["hh",2],0,Je),x("k",["kk",2],0,(function(){return this.hours()||24})),x("hmm",0,0,(function(){return""+Je.apply(this)+S(this.minutes(),2)})),x("hmmss",0,0,(function(){return""+Je.apply(this)+S(this.minutes(),2)+S(this.seconds(),2)})),x("Hmm",0,0,(function(){return""+this.hours()+S(this.minutes(),2)})),x("Hmmss",0,0,(function(){return""+this.hours()+S(this.minutes(),2)+S(this.seconds(),2)})),Ke("a",!0),Ke("A",!1),R("hour","h"),I("hour",13),me("a",Ze),me("A",Ze),me("H",ae),me("h",ae),me("k",ae),me("HH",ae,$),me("hh",ae,$),me("kk",ae,$),me("hmm",re),me("hmmss",oe),me("Hmm",re),me("Hmmss",oe),ye(["H","HH"],3),ye(["k","kk"],(function(e,t,n){var a=V(e);t[3]=24===a?0:a})),ye(["a","A"],(function(e,t,n){n._isPm=n._locale.isPM(e),n._meridiem=e})),ye(["h","hh"],(function(e,t,n){t[3]=V(e),_(n).bigHour=!0})),ye("hmm",(function(e,t,n){var a=e.length-2;t[3]=V(e.substr(0,a)),t[4]=V(e.substr(a)),_(n).bigHour=!0})),ye("hmmss",(function(e,t,n){var a=e.length-4,r=e.length-2;t[3]=V(e.substr(0,a)),t[4]=V(e.substr(a,2)),t[5]=V(e.substr(r)),_(n).bigHour=!0})),ye("Hmm",(function(e,t,n){var a=e.length-2;t[3]=V(e.substr(0,a)),t[4]=V(e.substr(a))})),ye("Hmmss",(function(e,t,n){var a=e.length-4,r=e.length-2;t[3]=V(e.substr(0,a)),t[4]=V(e.substr(a,2)),t[5]=V(e.substr(r))}));var Qe,$e=G("Hours",!0),et={calendar:{sameDay:"[Today at] LT",nextDay:"[Tomorrow at] LT",nextWeek:"dddd [at] LT",lastDay:"[Yesterday at] LT",lastWeek:"[Last] dddd [at] LT",sameElse:"L"},longDateFormat:{LTS:"h:mm:ss A",LT:"h:mm A",L:"MM/DD/YYYY",LL:"MMMM D, YYYY",LLL:"MMMM D, YYYY h:mm A",LLLL:"dddd, MMMM D, YYYY h:mm A"},invalidDate:"Invalid date",ordinal:"%d",dayOfMonthOrdinalParse:/\d{1,2}/,relativeTime:{future:"in %s",past:"%s ago",s:"a few seconds",ss:"%d seconds",m:"a minute",mm:"%d minutes",h:"an hour",hh:"%d hours",d:"a day",dd:"%d days",w:"a week",ww:"%d weeks",M:"a month",MM:"%d months",y:"a year",yy:"%d years"},months:ge,monthsShort:ze,week:{dow:0,doy:6},weekdays:Be,weekdaysMin:Pe,weekdaysShort:Xe,meridiemParse:/[ap]\.?m?\.?/i},tt={},nt={};function at(e,t){var n,a=Math.min(e.length,t.length);for(n=0;n0;){if(a=ot(r.slice(0,t).join("-")))return a;if(n&&n.length>=t&&at(r,n)>=t-1)break;t--}o++}return Qe}(e)}function dt(e){var t,n=e._a;return n&&-2===_(e).overflow&&(t=n[1]<0||n[1]>11?1:n[2]<1||n[2]>ve(n[0],n[1])?2:n[3]<0||n[3]>24||24===n[3]&&(0!==n[4]||0!==n[5]||0!==n[6])?3:n[4]<0||n[4]>59?4:n[5]<0||n[5]>59?5:n[6]<0||n[6]>999?6:-1,_(e)._overflowDayOfYear&&(t<0||t>2)&&(t=2),_(e)._overflowWeeks&&-1===t&&(t=7),_(e)._overflowWeekday&&-1===t&&(t=8),_(e).overflow=t),e}var ut=/^\s*((?:[+-]\d{6}|\d{4})-(?:\d\d-\d\d|W\d\d-\d|W\d\d|\d\d\d|\d\d))(?:(T| )(\d\d(?::\d\d(?::\d\d(?:[.,]\d+)?)?)?)([+-]\d\d(?::?\d\d)?|\s*Z)?)?$/,lt=/^\s*((?:[+-]\d{6}|\d{4})(?:\d\d\d\d|W\d\d\d|W\d\d|\d\d\d|\d\d|))(?:(T| )(\d\d(?:\d\d(?:\d\d(?:[.,]\d+)?)?)?)([+-]\d\d(?::?\d\d)?|\s*Z)?)?$/,Mt=/Z|[+-]\d\d(?::?\d\d)?/,pt=[["YYYYYY-MM-DD",/[+-]\d{6}-\d\d-\d\d/],["YYYY-MM-DD",/\d{4}-\d\d-\d\d/],["GGGG-[W]WW-E",/\d{4}-W\d\d-\d/],["GGGG-[W]WW",/\d{4}-W\d\d/,!1],["YYYY-DDD",/\d{4}-\d{3}/],["YYYY-MM",/\d{4}-\d\d/,!1],["YYYYYYMMDD",/[+-]\d{10}/],["YYYYMMDD",/\d{8}/],["GGGG[W]WWE",/\d{4}W\d{3}/],["GGGG[W]WW",/\d{4}W\d{2}/,!1],["YYYYDDD",/\d{7}/],["YYYYMM",/\d{6}/,!1],["YYYY",/\d{4}/,!1]],mt=[["HH:mm:ss.SSSS",/\d\d:\d\d:\d\d\.\d+/],["HH:mm:ss,SSSS",/\d\d:\d\d:\d\d,\d+/],["HH:mm:ss",/\d\d:\d\d:\d\d/],["HH:mm",/\d\d:\d\d/],["HHmmss.SSSS",/\d\d\d\d\d\d\.\d+/],["HHmmss,SSSS",/\d\d\d\d\d\d,\d+/],["HHmmss",/\d\d\d\d\d\d/],["HHmm",/\d\d\d\d/],["HH",/\d\d/]],_t=/^\/?Date\((-?\d+)/i,ft=/^(?:(Mon|Tue|Wed|Thu|Fri|Sat|Sun),?\s)?(\d{1,2})\s(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)\s(\d{2,4})\s(\d\d):(\d\d)(?::(\d\d))?\s(?:(UT|GMT|[ECMP][SD]T)|([Zz])|([+-]\d{4}))$/,ht={UT:0,GMT:0,EDT:-240,EST:-300,CDT:-300,CST:-360,MDT:-360,MST:-420,PDT:-420,PST:-480};function bt(e){var t,n,a,r,o,i,s=e._i,c=ut.exec(s)||lt.exec(s);if(c){for(_(e).iso=!0,t=0,n=pt.length;t7)&&(c=!0)):(o=e._locale._week.dow,i=e._locale._week.doy,d=Ce(Ot(),o,i),n=At(t.gg,e._a[0],d.year),a=At(t.w,d.week),null!=t.d?((r=t.d)<0||r>6)&&(c=!0):null!=t.e?(r=t.e+o,(t.e<0||t.e>6)&&(c=!0)):r=o),a<1||a>je(n,o,i)?_(e)._overflowWeeks=!0:null!=c?_(e)._overflowWeekday=!0:(s=He(n,a,r,o,i),e._a[0]=s.year,e._dayOfYear=s.dayOfYear)}(e),null!=e._dayOfYear&&(i=At(e._a[0],a[0]),(e._dayOfYear>Ne(i)||0===e._dayOfYear)&&(_(e)._overflowDayOfYear=!0),n=Ee(i,0,e._dayOfYear),e._a[1]=n.getUTCMonth(),e._a[2]=n.getUTCDate()),t=0;t<3&&null==e._a[t];++t)e._a[t]=s[t]=a[t];for(;t<7;t++)e._a[t]=s[t]=null==e._a[t]?2===t?1:0:e._a[t];24===e._a[3]&&0===e._a[4]&&0===e._a[5]&&0===e._a[6]&&(e._nextDay=!0,e._a[3]=0),e._d=(e._useUTC?Ee:qe).apply(null,s),o=e._useUTC?e._d.getUTCDay():e._d.getDay(),null!=e._tzm&&e._d.setUTCMinutes(e._d.getUTCMinutes()-e._tzm),e._nextDay&&(e._a[3]=24),e._w&&void 0!==e._w.d&&e._w.d!==o&&(_(e).weekdayMismatch=!0)}}function gt(e){if(e._f!==r.ISO_8601)if(e._f!==r.RFC_2822){e._a=[],_(e).empty=!0;var t,n,a,o,i,s,c=""+e._i,d=c.length,u=0;for(a=C(e._f,e._locale).match(N)||[],t=0;t0&&_(e).unusedInput.push(i),c=c.slice(c.indexOf(n)+n.length),u+=n.length),E[o]?(n?_(e).empty=!1:_(e).unusedTokens.push(o),Ae(o,n,e)):e._strict&&!n&&_(e).unusedTokens.push(o);_(e).charsLeftOver=d-u,c.length>0&&_(e).unusedInput.push(c),e._a[3]<=12&&!0===_(e).bigHour&&e._a[3]>0&&(_(e).bigHour=void 0),_(e).parsedDateParts=e._a.slice(0),_(e).meridiem=e._meridiem,e._a[3]=function(e,t,n){var a;return null==n?t:null!=e.meridiemHour?e.meridiemHour(t,n):null!=e.isPM?((a=e.isPM(n))&&t<12&&(t+=12),a||12!==t||(t=0),t):t}(e._locale,e._a[3],e._meridiem),null!==(s=_(e).era)&&(e._a[0]=e._locale.erasConvertYear(s,e._a[0])),vt(e),dt(e)}else Lt(e);else bt(e)}function zt(e){var t=e._i,n=e._f;return e._locale=e._locale||ct(e._l),null===t||void 0===n&&""===t?h({nullInput:!0}):("string"==typeof t&&(e._i=t=e._locale.preparse(t)),v(t)?new A(dt(t)):(l(t)?e._d=t:o(n)?function(e){var t,n,a,r,o,i,s=!1;if(0===e._f.length)return _(e).invalidFormat=!0,void(e._d=new Date(NaN));for(r=0;rthis?this:e:h()}));function wt(e,t){var n,a;if(1===t.length&&o(t[0])&&(t=t[0]),!t.length)return Ot();for(n=t[0],a=1;a=0?new Date(e+400,t,n)-126227808e5:new Date(e,t,n).valueOf()}function rn(e,t,n){return e<100&&e>=0?Date.UTC(e+400,t,n)-126227808e5:Date.UTC(e,t,n)}function on(e,t){return t.erasAbbrRegex(e)}function sn(){var e,t,n=[],a=[],r=[],o=[],i=this.eras();for(e=0,t=i.length;e(o=je(e,a,r))&&(t=o),un.call(this,e,t,n,a,r))}function un(e,t,n,a,r){var o=He(e,t,n,a,r),i=Ee(o.year,0,o.dayOfYear);return this.year(i.getUTCFullYear()),this.month(i.getUTCMonth()),this.date(i.getUTCDate()),this}x("N",0,0,"eraAbbr"),x("NN",0,0,"eraAbbr"),x("NNN",0,0,"eraAbbr"),x("NNNN",0,0,"eraName"),x("NNNNN",0,0,"eraNarrow"),x("y",["y",1],"yo","eraYear"),x("y",["yy",2],0,"eraYear"),x("y",["yyy",3],0,"eraYear"),x("y",["yyyy",4],0,"eraYear"),me("N",on),me("NN",on),me("NNN",on),me("NNNN",(function(e,t){return t.erasNameRegex(e)})),me("NNNNN",(function(e,t){return t.erasNarrowRegex(e)})),ye(["N","NN","NNN","NNNN","NNNNN"],(function(e,t,n,a){var r=n._locale.erasParse(e,a,n._strict);r?_(n).era=r:_(n).invalidEra=e})),me("y",de),me("yy",de),me("yyy",de),me("yyyy",de),me("yo",(function(e,t){return t._eraYearOrdinalRegex||de})),ye(["y","yy","yyy","yyyy"],0),ye(["yo"],(function(e,t,n,a){var r;n._locale._eraYearOrdinalRegex&&(r=e.match(n._locale._eraYearOrdinalRegex)),n._locale.eraYearOrdinalParse?t[0]=n._locale.eraYearOrdinalParse(e,r):t[0]=parseInt(e,10)})),x(0,["gg",2],0,(function(){return this.weekYear()%100})),x(0,["GG",2],0,(function(){return this.isoWeekYear()%100})),cn("gggg","weekYear"),cn("ggggg","weekYear"),cn("GGGG","isoWeekYear"),cn("GGGGG","isoWeekYear"),R("weekYear","gg"),R("isoWeekYear","GG"),I("weekYear",1),I("isoWeekYear",1),me("G",ue),me("g",ue),me("GG",ae,$),me("gg",ae,$),me("GGGG",se,te),me("gggg",se,te),me("GGGGG",ce,ne),me("ggggg",ce,ne),Le(["gggg","ggggg","GGGG","GGGGG"],(function(e,t,n,a){t[a.substr(0,2)]=V(e)})),Le(["gg","GG"],(function(e,t,n,a){t[a]=r.parseTwoDigitYear(e)})),x("Q",0,"Qo","quarter"),R("quarter","Q"),I("quarter",7),me("Q",Q),ye("Q",(function(e,t){t[1]=3*(V(e)-1)})),x("D",["DD",2],"Do","date"),R("date","D"),I("date",9),me("D",ae),me("DD",ae,$),me("Do",(function(e,t){return e?t._dayOfMonthOrdinalParse||t._ordinalParse:t._dayOfMonthOrdinalParseLenient})),ye(["D","DD"],2),ye("Do",(function(e,t){t[2]=V(e.match(ae)[0])}));var ln=G("Date",!0);x("DDD",["DDDD",3],"DDDo","dayOfYear"),R("dayOfYear","DDD"),I("dayOfYear",4),me("DDD",ie),me("DDDD",ee),ye(["DDD","DDDD"],(function(e,t,n){n._dayOfYear=V(e)})),x("m",["mm",2],0,"minute"),R("minute","m"),I("minute",14),me("m",ae),me("mm",ae,$),ye(["m","mm"],4);var Mn=G("Minutes",!1);x("s",["ss",2],0,"second"),R("second","s"),I("second",15),me("s",ae),me("ss",ae,$),ye(["s","ss"],5);var pn,mn,_n=G("Seconds",!1);for(x("S",0,0,(function(){return~~(this.millisecond()/100)})),x(0,["SS",2],0,(function(){return~~(this.millisecond()/10)})),x(0,["SSS",3],0,"millisecond"),x(0,["SSSS",4],0,(function(){return 10*this.millisecond()})),x(0,["SSSSS",5],0,(function(){return 100*this.millisecond()})),x(0,["SSSSSS",6],0,(function(){return 1e3*this.millisecond()})),x(0,["SSSSSSS",7],0,(function(){return 1e4*this.millisecond()})),x(0,["SSSSSSSS",8],0,(function(){return 1e5*this.millisecond()})),x(0,["SSSSSSSSS",9],0,(function(){return 1e6*this.millisecond()})),R("millisecond","ms"),I("millisecond",16),me("S",ie,Q),me("SS",ie,$),me("SSS",ie,ee),pn="SSSS";pn.length<=9;pn+="S")me(pn,de);function fn(e,t){t[6]=V(1e3*("0."+e))}for(pn="S";pn.length<=9;pn+="S")ye(pn,fn);mn=G("Milliseconds",!1),x("z",0,0,"zoneAbbr"),x("zz",0,0,"zoneName");var hn=A.prototype;function bn(e){return e}hn.add=Vt,hn.calendar=function(e,t){1===arguments.length&&(arguments[0]?Kt(arguments[0])?(e=arguments[0],t=void 0):Zt(arguments[0])&&(t=arguments[0],e=void 0):(e=void 0,t=void 0));var n=e||Ot(),a=Ht(n,this).startOf("day"),o=r.calendarFormat(this,a)||"sameElse",i=t&&(D(t[o])?t[o].call(this,n):t[o]);return this.format(i||this.localeData().calendar(o,this,Ot(n)))},hn.clone=function(){return new A(this)},hn.diff=function(e,t,n){var a,r,o;if(!this.isValid())return NaN;if(!(a=Ht(e,this)).isValid())return NaN;switch(r=6e4*(a.utcOffset()-this.utcOffset()),t=B(t)){case"year":o=Qt(this,a)/12;break;case"month":o=Qt(this,a);break;case"quarter":o=Qt(this,a)/3;break;case"second":o=(this-a)/1e3;break;case"minute":o=(this-a)/6e4;break;case"hour":o=(this-a)/36e5;break;case"day":o=(this-a-r)/864e5;break;case"week":o=(this-a-r)/6048e5;break;default:o=this-a}return n?o:U(o)},hn.endOf=function(e){var t,n;if(void 0===(e=B(e))||"millisecond"===e||!this.isValid())return this;switch(n=this._isUTC?rn:an,e){case"year":t=n(this.year()+1,0,1)-1;break;case"quarter":t=n(this.year(),this.month()-this.month()%3+3,1)-1;break;case"month":t=n(this.year(),this.month()+1,1)-1;break;case"week":t=n(this.year(),this.month(),this.date()-this.weekday()+7)-1;break;case"isoWeek":t=n(this.year(),this.month(),this.date()-(this.isoWeekday()-1)+7)-1;break;case"day":case"date":t=n(this.year(),this.month(),this.date()+1)-1;break;case"hour":t=this._d.valueOf(),t+=36e5-nn(t+(this._isUTC?0:6e4*this.utcOffset()),36e5)-1;break;case"minute":t=this._d.valueOf(),t+=6e4-nn(t,6e4)-1;break;case"second":t=this._d.valueOf(),t+=1e3-nn(t,1e3)-1}return this._d.setTime(t),r.updateOffset(this,!0),this},hn.format=function(e){e||(e=this.isUtc()?r.defaultFormatUtc:r.defaultFormat);var t=H(this,e);return this.localeData().postformat(t)},hn.from=function(e,t){return this.isValid()&&(v(e)&&e.isValid()||Ot(e).isValid())?Xt({to:this,from:e}).locale(this.locale()).humanize(!t):this.localeData().invalidDate()},hn.fromNow=function(e){return this.from(Ot(),e)},hn.to=function(e,t){return this.isValid()&&(v(e)&&e.isValid()||Ot(e).isValid())?Xt({from:this,to:e}).locale(this.locale()).humanize(!t):this.localeData().invalidDate()},hn.toNow=function(e){return this.to(Ot(),e)},hn.get=function(e){return D(this[e=B(e)])?this[e]():this},hn.invalidAt=function(){return _(this).overflow},hn.isAfter=function(e,t){var n=v(e)?e:Ot(e);return!(!this.isValid()||!n.isValid())&&("millisecond"===(t=B(t)||"millisecond")?this.valueOf()>n.valueOf():n.valueOf()9999?H(n,t?"YYYYYY-MM-DD[T]HH:mm:ss.SSS[Z]":"YYYYYY-MM-DD[T]HH:mm:ss.SSSZ"):D(Date.prototype.toISOString)?t?this.toDate().toISOString():new Date(this.valueOf()+60*this.utcOffset()*1e3).toISOString().replace("Z",H(n,"Z")):H(n,t?"YYYY-MM-DD[T]HH:mm:ss.SSS[Z]":"YYYY-MM-DD[T]HH:mm:ss.SSSZ")},hn.inspect=function(){if(!this.isValid())return"moment.invalid(/* "+this._i+" */)";var e,t,n,a="moment",r="";return this.isLocal()||(a=0===this.utcOffset()?"moment.utc":"moment.parseZone",r="Z"),e="["+a+'("]',t=0<=this.year()&&this.year()<=9999?"YYYY":"YYYYYY",n=r+'[")]',this.format(e+t+"-MM-DD[T]HH:mm:ss.SSS"+n)},"undefined"!=typeof Symbol&&null!=Symbol.for&&(hn[Symbol.for("nodejs.util.inspect.custom")]=function(){return"Moment<"+this.format()+">"}),hn.toJSON=function(){return this.isValid()?this.toISOString():null},hn.toString=function(){return this.clone().locale("en").format("ddd MMM DD YYYY HH:mm:ss [GMT]ZZ")},hn.unix=function(){return Math.floor(this.valueOf()/1e3)},hn.valueOf=function(){return this._d.valueOf()-6e4*(this._offset||0)},hn.creationData=function(){return{input:this._i,format:this._f,locale:this._locale,isUTC:this._isUTC,strict:this._strict}},hn.eraName=function(){var e,t,n,a=this.localeData().eras();for(e=0,t=a.length;ethis.clone().month(0).utcOffset()||this.utcOffset()>this.clone().month(5).utcOffset()},hn.isLocal=function(){return!!this.isValid()&&!this._isUTC},hn.isUtcOffset=function(){return!!this.isValid()&&this._isUTC},hn.isUtc=jt,hn.isUTC=jt,hn.zoneAbbr=function(){return this._isUTC?"UTC":""},hn.zoneName=function(){return this._isUTC?"Coordinated Universal Time":""},hn.dates=z("dates accessor is deprecated. Use date instead.",ln),hn.months=z("months accessor is deprecated. Use month instead",Ye),hn.years=z("years accessor is deprecated. Use year instead",We),hn.zone=z("moment().zone is deprecated, use moment().utcOffset instead. http://momentjs.com/guides/#/warnings/zone/",(function(e,t){return null!=e?("string"!=typeof e&&(e=-e),this.utcOffset(e,t),this):-this.utcOffset()})),hn.isDSTShifted=z("isDSTShifted is deprecated. See http://momentjs.com/guides/#/warnings/dst-shifted/ for more information",(function(){if(!d(this._isDSTShifted))return this._isDSTShifted;var e,t={};return L(t,this),(t=zt(t))._a?(e=t._isUTC?m(t._a):Ot(t._a),this._isDSTShifted=this.isValid()&&function(e,t,n){var a,r=Math.min(e.length,t.length),o=Math.abs(e.length-t.length),i=0;for(a=0;a0):this._isDSTShifted=!1,this._isDSTShifted}));var yn=Y.prototype;function Ln(e,t,n,a){var r=ct(),o=m().set(a,t);return r[n](o,e)}function An(e,t,n){if(u(e)&&(t=e,e=void 0),e=e||"",null!=t)return Ln(e,t,n,"month");var a,r=[];for(a=0;a<12;a++)r[a]=Ln(e,a,n,"month");return r}function vn(e,t,n,a){"boolean"==typeof e?(u(t)&&(n=t,t=void 0),t=t||""):(n=t=e,e=!1,u(t)&&(n=t,t=void 0),t=t||"");var r,o=ct(),i=e?o._week.dow:0,s=[];if(null!=n)return Ln(t,(n+i)%7,a,"day");for(r=0;r<7;r++)s[r]=Ln(t,(r+i)%7,a,"day");return s}yn.calendar=function(e,t,n){var a=this._calendar[e]||this._calendar.sameElse;return D(a)?a.call(t,n):a},yn.longDateFormat=function(e){var t=this._longDateFormat[e],n=this._longDateFormat[e.toUpperCase()];return t||!n?t:(this._longDateFormat[e]=n.match(N).map((function(e){return"MMMM"===e||"MM"===e||"DD"===e||"dddd"===e?e.slice(1):e})).join(""),this._longDateFormat[e])},yn.invalidDate=function(){return this._invalidDate},yn.ordinal=function(e){return this._ordinal.replace("%d",e)},yn.preparse=bn,yn.postformat=bn,yn.relativeTime=function(e,t,n,a){var r=this._relativeTime[n];return D(r)?r(e,t,n,a):r.replace(/%d/i,e)},yn.pastFuture=function(e,t){var n=this._relativeTime[e>0?"future":"past"];return D(n)?n(t):n.replace(/%s/i,t)},yn.set=function(e){var t,n;for(n in e)s(e,n)&&(D(t=e[n])?this[n]=t:this["_"+n]=t);this._config=e,this._dayOfMonthOrdinalParseLenient=new RegExp((this._dayOfMonthOrdinalParse.source||this._ordinalParse.source)+"|"+/\d{1,2}/.source)},yn.eras=function(e,t){var n,a,o,i=this._eras||ct("en")._eras;for(n=0,a=i.length;n=0)return c[a]},yn.erasConvertYear=function(e,t){var n=e.since<=e.until?1:-1;return void 0===t?r(e.since).year():r(e.since).year()+(t-e.offset)*n},yn.erasAbbrRegex=function(e){return s(this,"_erasAbbrRegex")||sn.call(this),e?this._erasAbbrRegex:this._erasRegex},yn.erasNameRegex=function(e){return s(this,"_erasNameRegex")||sn.call(this),e?this._erasNameRegex:this._erasRegex},yn.erasNarrowRegex=function(e){return s(this,"_erasNarrowRegex")||sn.call(this),e?this._erasNarrowRegex:this._erasRegex},yn.months=function(e,t){return e?o(this._months)?this._months[e.month()]:this._months[(this._months.isFormat||Te).test(t)?"format":"standalone"][e.month()]:o(this._months)?this._months:this._months.standalone},yn.monthsShort=function(e,t){return e?o(this._monthsShort)?this._monthsShort[e.month()]:this._monthsShort[Te.test(t)?"format":"standalone"][e.month()]:o(this._monthsShort)?this._monthsShort:this._monthsShort.standalone},yn.monthsParse=function(e,t,n){var a,r,o;if(this._monthsParseExact)return De.call(this,e,t,n);for(this._monthsParse||(this._monthsParse=[],this._longMonthsParse=[],this._shortMonthsParse=[]),a=0;a<12;a++){if(r=m([2e3,a]),n&&!this._longMonthsParse[a]&&(this._longMonthsParse[a]=new RegExp("^"+this.months(r,"").replace(".","")+"$","i"),this._shortMonthsParse[a]=new RegExp("^"+this.monthsShort(r,"").replace(".","")+"$","i")),n||this._monthsParse[a]||(o="^"+this.months(r,"")+"|^"+this.monthsShort(r,""),this._monthsParse[a]=new RegExp(o.replace(".",""),"i")),n&&"MMMM"===t&&this._longMonthsParse[a].test(e))return a;if(n&&"MMM"===t&&this._shortMonthsParse[a].test(e))return a;if(!n&&this._monthsParse[a].test(e))return a}},yn.monthsRegex=function(e){return this._monthsParseExact?(s(this,"_monthsRegex")||Se.call(this),e?this._monthsStrictRegex:this._monthsRegex):(s(this,"_monthsRegex")||(this._monthsRegex=ke),this._monthsStrictRegex&&e?this._monthsStrictRegex:this._monthsRegex)},yn.monthsShortRegex=function(e){return this._monthsParseExact?(s(this,"_monthsRegex")||Se.call(this),e?this._monthsShortStrictRegex:this._monthsShortRegex):(s(this,"_monthsShortRegex")||(this._monthsShortRegex=Oe),this._monthsShortStrictRegex&&e?this._monthsShortStrictRegex:this._monthsShortRegex)},yn.week=function(e){return Ce(e,this._week.dow,this._week.doy).week},yn.firstDayOfYear=function(){return this._week.doy},yn.firstDayOfWeek=function(){return this._week.dow},yn.weekdays=function(e,t){var n=o(this._weekdays)?this._weekdays:this._weekdays[e&&!0!==e&&this._weekdays.isFormat.test(t)?"format":"standalone"];return!0===e?Re(n,this._week.dow):e?n[e.day()]:n},yn.weekdaysMin=function(e){return!0===e?Re(this._weekdaysMin,this._week.dow):e?this._weekdaysMin[e.day()]:this._weekdaysMin},yn.weekdaysShort=function(e){return!0===e?Re(this._weekdaysShort,this._week.dow):e?this._weekdaysShort[e.day()]:this._weekdaysShort},yn.weekdaysParse=function(e,t,n){var a,r,o;if(this._weekdaysParseExact)return Ve.call(this,e,t,n);for(this._weekdaysParse||(this._weekdaysParse=[],this._minWeekdaysParse=[],this._shortWeekdaysParse=[],this._fullWeekdaysParse=[]),a=0;a<7;a++){if(r=m([2e3,1]).day(a),n&&!this._fullWeekdaysParse[a]&&(this._fullWeekdaysParse[a]=new RegExp("^"+this.weekdays(r,"").replace(".","\\.?")+"$","i"),this._shortWeekdaysParse[a]=new RegExp("^"+this.weekdaysShort(r,"").replace(".","\\.?")+"$","i"),this._minWeekdaysParse[a]=new RegExp("^"+this.weekdaysMin(r,"").replace(".","\\.?")+"$","i")),this._weekdaysParse[a]||(o="^"+this.weekdays(r,"")+"|^"+this.weekdaysShort(r,"")+"|^"+this.weekdaysMin(r,""),this._weekdaysParse[a]=new RegExp(o.replace(".",""),"i")),n&&"dddd"===t&&this._fullWeekdaysParse[a].test(e))return a;if(n&&"ddd"===t&&this._shortWeekdaysParse[a].test(e))return a;if(n&&"dd"===t&&this._minWeekdaysParse[a].test(e))return a;if(!n&&this._weekdaysParse[a].test(e))return a}},yn.weekdaysRegex=function(e){return this._weekdaysParseExact?(s(this,"_weekdaysRegex")||Ge.call(this),e?this._weekdaysStrictRegex:this._weekdaysRegex):(s(this,"_weekdaysRegex")||(this._weekdaysRegex=Ie),this._weekdaysStrictRegex&&e?this._weekdaysStrictRegex:this._weekdaysRegex)},yn.weekdaysShortRegex=function(e){return this._weekdaysParseExact?(s(this,"_weekdaysRegex")||Ge.call(this),e?this._weekdaysShortStrictRegex:this._weekdaysShortRegex):(s(this,"_weekdaysShortRegex")||(this._weekdaysShortRegex=Fe),this._weekdaysShortStrictRegex&&e?this._weekdaysShortStrictRegex:this._weekdaysShortRegex)},yn.weekdaysMinRegex=function(e){return this._weekdaysParseExact?(s(this,"_weekdaysRegex")||Ge.call(this),e?this._weekdaysMinStrictRegex:this._weekdaysMinRegex):(s(this,"_weekdaysMinRegex")||(this._weekdaysMinRegex=Ue),this._weekdaysMinStrictRegex&&e?this._weekdaysMinStrictRegex:this._weekdaysMinRegex)},yn.isPM=function(e){return"p"===(e+"").toLowerCase().charAt(0)},yn.meridiem=function(e,t,n){return e>11?n?"pm":"PM":n?"am":"AM"},it("en",{eras:[{since:"0001-01-01",until:1/0,offset:1,name:"Anno Domini",narrow:"AD",abbr:"AD"},{since:"0000-12-31",until:-1/0,offset:1,name:"Before Christ",narrow:"BC",abbr:"BC"}],dayOfMonthOrdinalParse:/\d{1,2}(th|st|nd|rd)/,ordinal:function(e){var t=e%10;return e+(1===V(e%100/10)?"th":1===t?"st":2===t?"nd":3===t?"rd":"th")}}),r.lang=z("moment.lang is deprecated. Use moment.locale instead.",it),r.langData=z("moment.langData is deprecated. Use moment.localeData instead.",ct);var gn=Math.abs;function zn(e,t,n,a){var r=Xt(t,n);return e._milliseconds+=a*r._milliseconds,e._days+=a*r._days,e._months+=a*r._months,e._bubble()}function Tn(e){return e<0?Math.floor(e):Math.ceil(e)}function On(e){return 4800*e/146097}function kn(e){return 146097*e/4800}function Dn(e){return function(){return this.as(e)}}var wn=Dn("ms"),Yn=Dn("s"),Sn=Dn("m"),Nn=Dn("h"),Wn=Dn("d"),qn=Dn("w"),En=Dn("M"),xn=Dn("Q"),Hn=Dn("y");function Cn(e){return function(){return this.isValid()?this._data[e]:NaN}}var jn=Cn("milliseconds"),Rn=Cn("seconds"),Bn=Cn("minutes"),Xn=Cn("hours"),Pn=Cn("days"),In=Cn("months"),Fn=Cn("years"),Un=Math.round,Vn={ss:44,s:45,m:45,h:22,d:26,w:null,M:11};function Gn(e,t,n,a,r){return r.relativeTime(t||1,!!n,e,a)}var Jn=Math.abs;function Kn(e){return(e>0)-(e<0)||+e}function Zn(){if(!this.isValid())return this.localeData().invalidDate();var e,t,n,a,r,o,i,s,c=Jn(this._milliseconds)/1e3,d=Jn(this._days),u=Jn(this._months),l=this.asSeconds();return l?(e=U(c/60),t=U(e/60),c%=60,e%=60,n=U(u/12),u%=12,a=c?c.toFixed(3).replace(/\.?0+$/,""):"",r=l<0?"-":"",o=Kn(this._months)!==Kn(l)?"-":"",i=Kn(this._days)!==Kn(l)?"-":"",s=Kn(this._milliseconds)!==Kn(l)?"-":"",r+"P"+(n?o+n+"Y":"")+(u?o+u+"M":"")+(d?i+d+"D":"")+(t||e||c?"T":"")+(t?s+t+"H":"")+(e?s+e+"M":"")+(c?s+a+"S":"")):"P0D"}var Qn=St.prototype;return Qn.isValid=function(){return this._isValid},Qn.abs=function(){var e=this._data;return this._milliseconds=gn(this._milliseconds),this._days=gn(this._days),this._months=gn(this._months),e.milliseconds=gn(e.milliseconds),e.seconds=gn(e.seconds),e.minutes=gn(e.minutes),e.hours=gn(e.hours),e.months=gn(e.months),e.years=gn(e.years),this},Qn.add=function(e,t){return zn(this,e,t,1)},Qn.subtract=function(e,t){return zn(this,e,t,-1)},Qn.as=function(e){if(!this.isValid())return NaN;var t,n,a=this._milliseconds;if("month"===(e=B(e))||"quarter"===e||"year"===e)switch(t=this._days+a/864e5,n=this._months+On(t),e){case"month":return n;case"quarter":return n/3;case"year":return n/12}else switch(t=this._days+Math.round(kn(this._months)),e){case"week":return t/7+a/6048e5;case"day":return t+a/864e5;case"hour":return 24*t+a/36e5;case"minute":return 1440*t+a/6e4;case"second":return 86400*t+a/1e3;case"millisecond":return Math.floor(864e5*t)+a;default:throw new Error("Unknown unit "+e)}},Qn.asMilliseconds=wn,Qn.asSeconds=Yn,Qn.asMinutes=Sn,Qn.asHours=Nn,Qn.asDays=Wn,Qn.asWeeks=qn,Qn.asMonths=En,Qn.asQuarters=xn,Qn.asYears=Hn,Qn.valueOf=function(){return this.isValid()?this._milliseconds+864e5*this._days+this._months%12*2592e6+31536e6*V(this._months/12):NaN},Qn._bubble=function(){var e,t,n,a,r,o=this._milliseconds,i=this._days,s=this._months,c=this._data;return o>=0&&i>=0&&s>=0||o<=0&&i<=0&&s<=0||(o+=864e5*Tn(kn(s)+i),i=0,s=0),c.milliseconds=o%1e3,e=U(o/1e3),c.seconds=e%60,t=U(e/60),c.minutes=t%60,n=U(t/60),c.hours=n%24,i+=U(n/24),r=U(On(i)),s+=r,i-=Tn(kn(r)),a=U(s/12),s%=12,c.days=i,c.months=s,c.years=a,this},Qn.clone=function(){return Xt(this)},Qn.get=function(e){return e=B(e),this.isValid()?this[e+"s"]():NaN},Qn.milliseconds=jn,Qn.seconds=Rn,Qn.minutes=Bn,Qn.hours=Xn,Qn.days=Pn,Qn.weeks=function(){return U(this.days()/7)},Qn.months=In,Qn.years=Fn,Qn.humanize=function(e,t){if(!this.isValid())return this.localeData().invalidDate();var n,a,r=!1,o=Vn;return"object"==typeof e&&(t=e,e=!1),"boolean"==typeof e&&(r=e),"object"==typeof t&&(o=Object.assign({},Vn,t),null!=t.s&&null==t.ss&&(o.ss=t.s-1)),n=this.localeData(),a=function(e,t,n,a){var r=Xt(e).abs(),o=Un(r.as("s")),i=Un(r.as("m")),s=Un(r.as("h")),c=Un(r.as("d")),d=Un(r.as("M")),u=Un(r.as("w")),l=Un(r.as("y")),M=o<=n.ss&&["s",o]||o0,M[4]=a,Gn.apply(null,M)}(this,!r,o,n),r&&(a=n.pastFuture(+this,a)),n.postformat(a)},Qn.toISOString=Zn,Qn.toString=Zn,Qn.toJSON=Zn,Qn.locale=$t,Qn.localeData=tn,Qn.toIsoString=z("toIsoString() is deprecated. Please use toISOString() instead (notice the capitals)",Zn),Qn.lang=en,x("X",0,0,"unix"),x("x",0,0,"valueOf"),me("x",ue),me("X",/[+-]?\d+(\.\d{1,3})?/),ye("X",(function(e,t,n){n._d=new Date(1e3*parseFloat(e))})),ye("x",(function(e,t,n){n._d=new Date(V(e))})), //! moment.js -r.version="2.29.2",t=Ot,r.fn=hn,r.min=function(){var e=[].slice.call(arguments,0);return wt("isBefore",e)},r.max=function(){var e=[].slice.call(arguments,0);return wt("isAfter",e)},r.now=function(){return Date.now?Date.now():+new Date},r.utc=m,r.unix=function(e){return Ot(1e3*e)},r.months=function(e,t){return An(e,t,"months")},r.isDate=l,r.locale=it,r.invalid=h,r.duration=Xt,r.isMoment=v,r.weekdays=function(e,t,n){return vn(e,t,n,"weekdays")},r.parseZone=function(){return Ot.apply(null,arguments).parseZone()},r.localeData=ct,r.isDuration=Nt,r.monthsShort=function(e,t){return An(e,t,"monthsShort")},r.weekdaysMin=function(e,t,n){return vn(e,t,n,"weekdaysMin")},r.defineLocale=st,r.updateLocale=function(e,t){if(null!=t){var n,a,r=et;null!=tt[e]&&null!=tt[e].parentLocale?tt[e].set(w(tt[e]._config,t)):(null!=(a=ot(e))&&(r=a._config),t=w(r,t),null==a&&(t.abbr=e),(n=new Y(t)).parentLocale=tt[e],tt[e]=n),it(e)}else null!=tt[e]&&(null!=tt[e].parentLocale?(tt[e]=tt[e].parentLocale,e===it()&&it(e)):null!=tt[e]&&delete tt[e]);return tt[e]},r.locales=function(){return T(tt)},r.weekdaysShort=function(e,t,n){return vn(e,t,n,"weekdaysShort")},r.normalizeUnits=B,r.relativeTimeRounding=function(e){return void 0===e?Un:"function"==typeof e&&(Un=e,!0)},r.relativeTimeThreshold=function(e,t){return void 0!==Vn[e]&&(void 0===t?Vn[e]:(Vn[e]=t,"s"===e&&(Vn.ss=t-1),!0))},r.calendarFormat=function(e,t){var n=e.diff(t,"days",!0);return n<-6?"sameElse":n<-1?"lastWeek":n<0?"lastDay":n<1?"sameDay":n<2?"nextDay":n<7?"nextWeek":"sameElse"},r.prototype=hn,r.HTML5_FMT={DATETIME_LOCAL:"YYYY-MM-DDTHH:mm",DATETIME_LOCAL_SECONDS:"YYYY-MM-DDTHH:mm:ss",DATETIME_LOCAL_MS:"YYYY-MM-DDTHH:mm:ss.SSS",DATE:"YYYY-MM-DD",TIME:"HH:mm",TIME_SECONDS:"HH:mm:ss",TIME_MS:"HH:mm:ss.SSS",WEEK:"GGGG-[W]WW",MONTH:"YYYY-MM"},r}()}).call(this,n("guR3")(e))},qZkY:function(e,t,n){!function(e){"use strict"; +r.version="2.29.1",t=Ot,r.fn=hn,r.min=function(){var e=[].slice.call(arguments,0);return wt("isBefore",e)},r.max=function(){var e=[].slice.call(arguments,0);return wt("isAfter",e)},r.now=function(){return Date.now?Date.now():+new Date},r.utc=m,r.unix=function(e){return Ot(1e3*e)},r.months=function(e,t){return An(e,t,"months")},r.isDate=l,r.locale=it,r.invalid=h,r.duration=Xt,r.isMoment=v,r.weekdays=function(e,t,n){return vn(e,t,n,"weekdays")},r.parseZone=function(){return Ot.apply(null,arguments).parseZone()},r.localeData=ct,r.isDuration=Nt,r.monthsShort=function(e,t){return An(e,t,"monthsShort")},r.weekdaysMin=function(e,t,n){return vn(e,t,n,"weekdaysMin")},r.defineLocale=st,r.updateLocale=function(e,t){if(null!=t){var n,a,r=et;null!=tt[e]&&null!=tt[e].parentLocale?tt[e].set(w(tt[e]._config,t)):(null!=(a=ot(e))&&(r=a._config),t=w(r,t),null==a&&(t.abbr=e),(n=new Y(t)).parentLocale=tt[e],tt[e]=n),it(e)}else null!=tt[e]&&(null!=tt[e].parentLocale?(tt[e]=tt[e].parentLocale,e===it()&&it(e)):null!=tt[e]&&delete tt[e]);return tt[e]},r.locales=function(){return T(tt)},r.weekdaysShort=function(e,t,n){return vn(e,t,n,"weekdaysShort")},r.normalizeUnits=B,r.relativeTimeRounding=function(e){return void 0===e?Un:"function"==typeof e&&(Un=e,!0)},r.relativeTimeThreshold=function(e,t){return void 0!==Vn[e]&&(void 0===t?Vn[e]:(Vn[e]=t,"s"===e&&(Vn.ss=t-1),!0))},r.calendarFormat=function(e,t){var n=e.diff(t,"days",!0);return n<-6?"sameElse":n<-1?"lastWeek":n<0?"lastDay":n<1?"sameDay":n<2?"nextDay":n<7?"nextWeek":"sameElse"},r.prototype=hn,r.HTML5_FMT={DATETIME_LOCAL:"YYYY-MM-DDTHH:mm",DATETIME_LOCAL_SECONDS:"YYYY-MM-DDTHH:mm:ss",DATETIME_LOCAL_MS:"YYYY-MM-DDTHH:mm:ss.SSS",DATE:"YYYY-MM-DD",TIME:"HH:mm",TIME_SECONDS:"HH:mm:ss",TIME_MS:"HH:mm:ss.SSS",WEEK:"GGGG-[W]WW",MONTH:"YYYY-MM"},r}()}).call(this,n("guR3")(e))},qZkY:function(e,t,n){!function(e){"use strict"; //! moment.js locale configuration e.defineLocale("mt",{months:"Jannar_Frar_Marzu_April_Mejju_Ġunju_Lulju_Awwissu_Settembru_Ottubru_Novembru_Diċembru".split("_"),monthsShort:"Jan_Fra_Mar_Apr_Mej_Ġun_Lul_Aww_Set_Ott_Nov_Diċ".split("_"),weekdays:"Il-Ħadd_It-Tnejn_It-Tlieta_L-Erbgħa_Il-Ħamis_Il-Ġimgħa_Is-Sibt".split("_"),weekdaysShort:"Ħad_Tne_Tli_Erb_Ħam_Ġim_Sib".split("_"),weekdaysMin:"Ħa_Tn_Tl_Er_Ħa_Ġi_Si".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[Illum fil-]LT",nextDay:"[Għada fil-]LT",nextWeek:"dddd [fil-]LT",lastDay:"[Il-bieraħ fil-]LT",lastWeek:"dddd [li għadda] [fil-]LT",sameElse:"L"},relativeTime:{future:"f’ %s",past:"%s ilu",s:"ftit sekondi",ss:"%d sekondi",m:"minuta",mm:"%d minuti",h:"siegħa",hh:"%d siegħat",d:"ġurnata",dd:"%d ġranet",M:"xahar",MM:"%d xhur",y:"sena",yy:"%d sni"},dayOfMonthOrdinalParse:/\d{1,2}º/,ordinal:"%dº",week:{dow:1,doy:4}})}(n("qW9H"))},qZv2:function(e,t,n){!function(e){"use strict"; //! moment.js locale configuration @@ -276,7 +276,7 @@ e.defineLocale("en-il",{months:"January_February_March_April_May_June_July_Augus //! moment.js locale configuration function t(e,t,n){var a,r;return"m"===n?t?"хвіліна":"хвіліну":"h"===n?t?"гадзіна":"гадзіну":e+" "+(a=+e,r={ss:t?"секунда_секунды_секунд":"секунду_секунды_секунд",mm:t?"хвіліна_хвіліны_хвілін":"хвіліну_хвіліны_хвілін",hh:t?"гадзіна_гадзіны_гадзін":"гадзіну_гадзіны_гадзін",dd:"дзень_дні_дзён",MM:"месяц_месяцы_месяцаў",yy:"год_гады_гадоў"}[n].split("_"),a%10==1&&a%100!=11?r[0]:a%10>=2&&a%10<=4&&(a%100<10||a%100>=20)?r[1]:r[2])}e.defineLocale("be",{months:{format:"студзеня_лютага_сакавіка_красавіка_траўня_чэрвеня_ліпеня_жніўня_верасня_кастрычніка_лістапада_снежня".split("_"),standalone:"студзень_люты_сакавік_красавік_травень_чэрвень_ліпень_жнівень_верасень_кастрычнік_лістапад_снежань".split("_")},monthsShort:"студ_лют_сак_крас_трав_чэрв_ліп_жнів_вер_каст_ліст_снеж".split("_"),weekdays:{format:"нядзелю_панядзелак_аўторак_сераду_чацвер_пятніцу_суботу".split("_"),standalone:"нядзеля_панядзелак_аўторак_серада_чацвер_пятніца_субота".split("_"),isFormat:/\[ ?[Ууў] ?(?:мінулую|наступную)? ?\] ?dddd/},weekdaysShort:"нд_пн_ат_ср_чц_пт_сб".split("_"),weekdaysMin:"нд_пн_ат_ср_чц_пт_сб".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY г.",LLL:"D MMMM YYYY г., HH:mm",LLLL:"dddd, D MMMM YYYY г., HH:mm"},calendar:{sameDay:"[Сёння ў] LT",nextDay:"[Заўтра ў] LT",lastDay:"[Учора ў] LT",nextWeek:function(){return"[У] dddd [ў] LT"},lastWeek:function(){switch(this.day()){case 0:case 3:case 5:case 6:return"[У мінулую] dddd [ў] LT";case 1:case 2:case 4:return"[У мінулы] dddd [ў] LT"}},sameElse:"L"},relativeTime:{future:"праз %s",past:"%s таму",s:"некалькі секунд",m:t,mm:t,h:t,hh:t,d:"дзень",dd:t,M:"месяц",MM:t,y:"год",yy:t},meridiemParse:/ночы|раніцы|дня|вечара/,isPM:function(e){return/^(дня|вечара)$/.test(e)},meridiem:function(e,t,n){return e<4?"ночы":e<12?"раніцы":e<17?"дня":"вечара"},dayOfMonthOrdinalParse:/\d{1,2}-(і|ы|га)/,ordinal:function(e,t){switch(t){case"M":case"d":case"DDD":case"w":case"W":return e%10!=2&&e%10!=3||e%100==12||e%100==13?e+"-ы":e+"-і";case"D":return e+"-га";default:return e}},week:{dow:1,doy:7}})}(n("qW9H"))},woaT:function(e,t,n){var a={"./af":"ONZI","./af.js":"ONZI","./ar":"7wMQ","./ar-dz":"YWeR","./ar-dz.js":"YWeR","./ar-kw":"Vx+T","./ar-kw.js":"Vx+T","./ar-ly":"LhBi","./ar-ly.js":"LhBi","./ar-ma":"SURw","./ar-ma.js":"SURw","./ar-sa":"UPIY","./ar-sa.js":"UPIY","./ar-tn":"fho0","./ar-tn.js":"fho0","./ar.js":"7wMQ","./az":"t5AR","./az.js":"t5AR","./be":"wiRk","./be.js":"wiRk","./bg":"1H0A","./bg.js":"1H0A","./bm":"QeJG","./bm.js":"QeJG","./bn":"SDMJ","./bn-bd":"AU+G","./bn-bd.js":"AU+G","./bn.js":"SDMJ","./bo":"urNT","./bo.js":"urNT","./br":"TcfT","./br.js":"TcfT","./bs":"WV5Q","./bs.js":"WV5Q","./ca":"/A4F","./ca.js":"/A4F","./cs":"S9OP","./cs.js":"S9OP","./cv":"nGQU","./cv.js":"nGQU","./cy":"gXrI","./cy.js":"gXrI","./da":"O/XI","./da.js":"O/XI","./de":"4n1T","./de-at":"RaXM","./de-at.js":"RaXM","./de-ch":"CyLz","./de-ch.js":"CyLz","./de.js":"4n1T","./dv":"pGz2","./dv.js":"pGz2","./el":"qp4M","./el.js":"qp4M","./en-au":"rQsw","./en-au.js":"rQsw","./en-ca":"Q+UV","./en-ca.js":"Q+UV","./en-gb":"b8Yt","./en-gb.js":"b8Yt","./en-ie":"TOvf","./en-ie.js":"TOvf","./en-il":"wgQN","./en-il.js":"wgQN","./en-in":"4bPu","./en-in.js":"4bPu","./en-nz":"hN3A","./en-nz.js":"hN3A","./en-sg":"FpWG","./en-sg.js":"FpWG","./eo":"cuKB","./eo.js":"cuKB","./es":"+5wW","./es-do":"r0Ch","./es-do.js":"r0Ch","./es-mx":"wWBT","./es-mx.js":"wWBT","./es-us":"J+CY","./es-us.js":"J+CY","./es.js":"+5wW","./et":"X+/K","./et.js":"X+/K","./eu":"oIEf","./eu.js":"oIEf","./fa":"gytt","./fa.js":"gytt","./fi":"4puI","./fi.js":"4puI","./fil":"OMU7","./fil.js":"OMU7","./fo":"w8Y/","./fo.js":"w8Y/","./fr":"qfKt","./fr-ca":"hi1e","./fr-ca.js":"hi1e","./fr-ch":"y9jn","./fr-ch.js":"y9jn","./fr.js":"qfKt","./fy":"kO+O","./fy.js":"kO+O","./ga":"s5UX","./ga.js":"s5UX","./gd":"x9KG","./gd.js":"x9KG","./gl":"oH1e","./gl.js":"oH1e","./gom-deva":"nmio","./gom-deva.js":"nmio","./gom-latn":"cKVo","./gom-latn.js":"cKVo","./gu":"xJBA","./gu.js":"xJBA","./he":"bP9n","./he.js":"bP9n","./hi":"fnKl","./hi.js":"fnKl","./hr":"beYU","./hr.js":"beYU","./hu":"bh8R","./hu.js":"bh8R","./hy-am":"8MIC","./hy-am.js":"8MIC","./id":"Y35z","./id.js":"Y35z","./is":"Dusa","./is.js":"Dusa","./it":"aUrm","./it-ch":"PHvC","./it-ch.js":"PHvC","./it.js":"aUrm","./ja":"WS5z","./ja.js":"WS5z","./jv":"3rcl","./jv.js":"3rcl","./ka":"skIL","./ka.js":"skIL","./kk":"iJoN","./kk.js":"iJoN","./km":"HBDt","./km.js":"HBDt","./kn":"yGRW","./kn.js":"yGRW","./ko":"MYBb","./ko.js":"MYBb","./ku":"otBn","./ku.js":"otBn","./ky":"md+Q","./ky.js":"md+Q","./lb":"qZv2","./lb.js":"qZv2","./lo":"uDYm","./lo.js":"uDYm","./lt":"cS6Z","./lt.js":"cS6Z","./lv":"GZCy","./lv.js":"GZCy","./me":"jmSm","./me.js":"jmSm","./mi":"cu/R","./mi.js":"cu/R","./mk":"nTVo","./mk.js":"nTVo","./ml":"qfa3","./ml.js":"qfa3","./mn":"kNUV","./mn.js":"kNUV","./mr":"3U8g","./mr.js":"3U8g","./ms":"Pyfh","./ms-my":"nkld","./ms-my.js":"nkld","./ms.js":"Pyfh","./mt":"qZkY","./mt.js":"qZkY","./my":"o12V","./my.js":"o12V","./nb":"rzV8","./nb.js":"rzV8","./ne":"5ilX","./ne.js":"5ilX","./nl":"rhw0","./nl-be":"Z/Sf","./nl-be.js":"Z/Sf","./nl.js":"rhw0","./nn":"by7L","./nn.js":"by7L","./oc-lnc":"AUWK","./oc-lnc.js":"AUWK","./pa-in":"mUuK","./pa-in.js":"mUuK","./pl":"VUOs","./pl.js":"VUOs","./pt":"phIr","./pt-br":"el/s","./pt-br.js":"el/s","./pt.js":"phIr","./ro":"XNRy","./ro.js":"XNRy","./ru":"OIgP","./ru.js":"OIgP","./sd":"VroL","./sd.js":"VroL","./se":"PJYj","./se.js":"PJYj","./si":"+vU2","./si.js":"+vU2","./sk":"kzla","./sk.js":"kzla","./sl":"0Qj1","./sl.js":"0Qj1","./sq":"BZqS","./sq.js":"BZqS","./sr":"zGRm","./sr-cyrl":"m050","./sr-cyrl.js":"m050","./sr.js":"zGRm","./ss":"klze","./ss.js":"klze","./sv":"TPmH","./sv.js":"TPmH","./sw":"g4mW","./sw.js":"g4mW","./ta":"jB3q","./ta.js":"jB3q","./te":"DGOb","./te.js":"DGOb","./tet":"+BP5","./tet.js":"+BP5","./tg":"lqIK","./tg.js":"lqIK","./th":"0iFv","./th.js":"0iFv","./tk":"ommn","./tk.js":"ommn","./tl-ph":"qw7e","./tl-ph.js":"qw7e","./tlh":"bw+2","./tlh.js":"bw+2","./tr":"11ZM","./tr.js":"11ZM","./tzl":"xrDl","./tzl.js":"xrDl","./tzm":"p3cm","./tzm-latn":"dtwZ","./tzm-latn.js":"dtwZ","./tzm.js":"p3cm","./ug-cn":"oBS5","./ug-cn.js":"oBS5","./uk":"TWgZ","./uk.js":"TWgZ","./ur":"PpWh","./ur.js":"PpWh","./uz":"y7BX","./uz-latn":"TBMd","./uz-latn.js":"TBMd","./uz.js":"y7BX","./vi":"xave","./vi.js":"xave","./x-pseudo":"+F0M","./x-pseudo.js":"+F0M","./yo":"fLz6","./yo.js":"fLz6","./zh-cn":"FMFT","./zh-cn.js":"FMFT","./zh-hk":"sDXC","./zh-hk.js":"sDXC","./zh-mo":"K3oU","./zh-mo.js":"K3oU","./zh-tw":"5vPG","./zh-tw.js":"5vPG"};function r(e){var t=o(e);return n(t)}function o(e){if(!n.o(a,e)){var t=new Error("Cannot find module '"+e+"'");throw t.code="MODULE_NOT_FOUND",t}return a[e]}r.keys=function(){return Object.keys(a)},r.resolve=o,e.exports=r,r.id="woaT"},x9KG:function(e,t,n){!function(e){"use strict"; //! moment.js locale configuration -e.defineLocale("gd",{months:["Am Faoilleach","An Gearran","Am Màrt","An Giblean","An Cèitean","An t-Ògmhios","An t-Iuchar","An Lùnastal","An t-Sultain","An Dàmhair","An t-Samhain","An Dùbhlachd"],monthsShort:["Faoi","Gear","Màrt","Gibl","Cèit","Ògmh","Iuch","Lùn","Sult","Dàmh","Samh","Dùbh"],monthsParseExact:!0,weekdays:["Didòmhnaich","Diluain","Dimàirt","Diciadain","Diardaoin","Dihaoine","Disathairne"],weekdaysShort:["Did","Dil","Dim","Dic","Dia","Dih","Dis"],weekdaysMin:["Dò","Lu","Mà","Ci","Ar","Ha","Sa"],longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[An-diugh aig] LT",nextDay:"[A-màireach aig] LT",nextWeek:"dddd [aig] LT",lastDay:"[An-dè aig] LT",lastWeek:"dddd [seo chaidh] [aig] LT",sameElse:"L"},relativeTime:{future:"ann an %s",past:"bho chionn %s",s:"beagan diogan",ss:"%d diogan",m:"mionaid",mm:"%d mionaidean",h:"uair",hh:"%d uairean",d:"latha",dd:"%d latha",M:"mìos",MM:"%d mìosan",y:"bliadhna",yy:"%d bliadhna"},dayOfMonthOrdinalParse:/\d{1,2}(d|na|mh)/,ordinal:function(e){return e+(1===e?"d":e%10==2?"na":"mh")},week:{dow:1,doy:4}})}(n("qW9H"))},xG4u:function(e,t,n){"use strict";n.d(t,"a",(function(){return Oe}));var a,r,o,i,s,c,d,u=n("Rpw/"),l={},M=[],p=/acit|ex(?:s|g|n|p|$)|rph|grid|ows|mnc|ntw|ine[ch]|zoo|^ord|itera/i;function m(e,t){for(var n in t)e[n]=t[n];return e}function _(e){var t=e.parentNode;t&&t.removeChild(e)}function f(e,t,n){var r,o,i,s={};for(i in t)"key"==i?r=t[i]:"ref"==i?o=t[i]:s[i]=t[i];if(arguments.length>2&&(s.children=arguments.length>3?a.call(arguments,2):n),"function"==typeof e&&null!=e.defaultProps)for(i in e.defaultProps)void 0===s[i]&&(s[i]=e.defaultProps[i]);return h(e,s,r,o,null)}function h(e,t,n,a,i){var s={type:e,props:t,key:n,ref:a,__k:null,__:null,__b:0,__e:null,__d:void 0,__c:null,__h:null,constructor:void 0,__v:null==i?++o:i};return null==i&&null!=r.vnode&&r.vnode(s),s}function b(){return{current:null}}function y(e){return e.children}function L(e,t){this.props=e,this.context=t}function A(e,t){if(null==t)return e.__?A(e.__,e.__.__k.indexOf(e)+1):null;for(var n;t0?h(_.type,_.props,_.key,null,_.__v):_)){if(_.__=n,_.__b=n.__b+1,null===(m=v[u])||m&&_.key==m.key&&_.type===m.type)v[u]=void 0;else for(p=0;p3;)n.pop()();if(n[1]>>1,1),t.i.removeChild(e)}}),C(f(de,{context:t.context},e.__v),t.l)):t.l&&t.componentWillUnmount()}function le(e,t){return f(ue,{__v:e,i:t})}(se.prototype=new L).__e=function(e){var t=this,n=ie(t.__v),a=t.o.get(e);return a[0]++,function(r){var o=function(){t.props.revealOrder?(a.push(r),ce(t,e,a)):r()};n?n(o):o()}},se.prototype.render=function(e){this.u=null,this.o=new Map;var t=k(e.children);e.revealOrder&&"b"===e.revealOrder[0]&&t.reverse();for(var n=t.length;n--;)this.o.set(t[n],this.u=[1,0,this.u]);return e.children},se.prototype.componentDidUpdate=se.prototype.componentDidMount=function(){var e=this;this.o.forEach((function(t,n){ce(e,n,t)}))};var Me="undefined"!=typeof Symbol&&Symbol.for&&Symbol.for("react.element")||60103,pe=/^(?:accent|alignment|arabic|baseline|cap|clip(?!PathU)|color|dominant|fill|flood|font|glyph(?!R)|horiz|marker(?!H|W|U)|overline|paint|stop|strikethrough|stroke|text(?!L)|underline|unicode|units|v|vector|vert|word|writing|x(?!C))[A-Z]/,me="undefined"!=typeof document,_e=function(e){return("undefined"!=typeof Symbol&&"symbol"==typeof Symbol()?/fil|che|rad/i:/fil|che|ra/i).test(e)};L.prototype.isReactComponent={},["componentWillMount","componentWillReceiveProps","componentWillUpdate"].forEach((function(e){Object.defineProperty(L.prototype,e,{configurable:!0,get:function(){return this["UNSAFE_"+e]},set:function(t){Object.defineProperty(this,e,{configurable:!0,writable:!0,value:t})}})}));var fe=r.event;function he(){}function be(){return this.cancelBubble}function ye(){return this.defaultPrevented}r.event=function(e){return fe&&(e=fe(e)),e.persist=he,e.isPropagationStopped=be,e.isDefaultPrevented=ye,e.nativeEvent=e};var Le={configurable:!0,get:function(){return this.class}},Ae=r.vnode;r.vnode=function(e){var t=e.type,n=e.props,a=n;if("string"==typeof t){var r=-1===t.indexOf("-");for(var o in a={},n){var i=n[o];me&&"children"===o&&"noscript"===t||"value"===o&&"defaultValue"in n&&null==i||("defaultValue"===o&&"value"in n&&null==n.value?o="value":"download"===o&&!0===i?i="":/ondoubleclick/i.test(o)?o="ondblclick":/^onchange(textarea|input)/i.test(o+t)&&!_e(n.type)?o="oninput":/^onfocus$/i.test(o)?o="onfocusin":/^onblur$/i.test(o)?o="onfocusout":/^on(Ani|Tra|Tou|BeforeInp|Compo)/.test(o)?o=o.toLowerCase():r&&pe.test(o)?o=o.replace(/[A-Z0-9]/,"-$&").toLowerCase():null===i&&(i=void 0),a[o]=i)}"select"==t&&a.multiple&&Array.isArray(a.value)&&(a.value=k(n.children).forEach((function(e){e.props.selected=-1!=a.value.indexOf(e.props.value)}))),"select"==t&&null!=a.defaultValue&&(a.value=k(n.children).forEach((function(e){e.props.selected=a.multiple?-1!=a.defaultValue.indexOf(e.props.value):a.defaultValue==e.props.value}))),e.props=a,n.class!=n.className&&(Le.enumerable="className"in n,null!=n.className&&(a.class=n.className),Object.defineProperty(a,"className",Le))}e.$$typeof=Me,Ae&&Ae(e)};var ve=r.__r;r.__r=function(e){ve&&ve(e),e.__c};var ge="undefined"!=typeof globalThis?globalThis:window;ge.FullCalendarVDom?console.warn("FullCalendar VDOM already loaded"):ge.FullCalendarVDom={Component:L,createElement:f,render:C,createRef:b,Fragment:y,createContext:function(e){var t=R(e),n=t.Provider;return t.Provider=function(){var e=this,t=!this.getChildContext,a=n.apply(this,arguments);if(t){var r=[];this.shouldComponentUpdate=function(t){e.props.value!==t.value&&r.forEach((function(e){e.context=t.value,e.forceUpdate()}))},this.sub=function(e){r.push(e);var t=e.componentWillUnmount;e.componentWillUnmount=function(){r.splice(r.indexOf(e),1),t&&t.call(e)}}}return a},t},createPortal:le,flushToDom:function(){var e=r.debounceRendering,t=[];r.debounceRendering=function(e){t.push(e)},C(f(ze,{}),document.createElement("div"));for(;t.length;)t.shift()();r.debounceRendering=e},unmountComponentAtNode:function(e){C(null,e)}};var ze=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return Object(u.b)(t,e),t.prototype.render=function(){return f("div",{})},t.prototype.componentDidMount=function(){this.setState({})},t}(L);var Te=n("CtUX"),Oe=function(e){function t(t,n){void 0===n&&(n={});var a=e.call(this)||this;return a.isRendering=!1,a.isRendered=!1,a.currentClassNames=[],a.customContentRenderId=0,a.handleAction=function(e){switch(e.type){case"SET_EVENT_DRAG":case"SET_EVENT_RESIZE":a.renderRunner.tryDrain()}},a.handleData=function(e){a.currentData=e,a.renderRunner.request(e.calendarOptions.rerenderDelay)},a.handleRenderRequest=function(){if(a.isRendering){a.isRendered=!0;var e=a.currentData;Object(Te.xb)(Object(Te.V)(Te.f,{options:e.calendarOptions,theme:e.theme,emitter:e.emitter},(function(t,n,r,o){return a.setClassNames(t),a.setHeight(n),Object(Te.V)(Te.g.Provider,{value:a.customContentRenderId},Object(Te.V)(Te.d,Object(u.a)({isHeightAuto:r,forPrint:o},e)))})),a.el)}else a.isRendered&&(a.isRendered=!1,Object(Te.Eb)(a.el),a.setClassNames([]),a.setHeight(""));Object(Te.bb)()},a.el=t,a.renderRunner=new Te.o(a.handleRenderRequest),new Te.e({optionOverrides:n,calendarApi:a,onAction:a.handleAction,onData:a.handleData}),a}return Object(u.b)(t,e),Object.defineProperty(t.prototype,"view",{get:function(){return this.currentData.viewApi},enumerable:!1,configurable:!0}),t.prototype.render=function(){var e=this.isRendering;e?this.customContentRenderId+=1:this.isRendering=!0,this.renderRunner.request(),e&&this.updateSize()},t.prototype.destroy=function(){this.isRendering&&(this.isRendering=!1,this.renderRunner.request())},t.prototype.updateSize=function(){e.prototype.updateSize.call(this),Object(Te.bb)()},t.prototype.batchRendering=function(e){this.renderRunner.pause("batchRendering"),e(),this.renderRunner.resume("batchRendering")},t.prototype.pauseRendering=function(){this.renderRunner.pause("pauseRendering")},t.prototype.resumeRendering=function(){this.renderRunner.resume("pauseRendering",!0)},t.prototype.resetOptions=function(e,t){this.currentDataManager.resetOptions(e,t)},t.prototype.setClassNames=function(e){if(!Object(Te.rb)(e,this.currentClassNames)){for(var t=this.el.classList,n=0,a=this.currentClassNames;n2&&(s.children=arguments.length>3?a.call(arguments,2):n),"function"==typeof e&&null!=e.defaultProps)for(i in e.defaultProps)void 0===s[i]&&(s[i]=e.defaultProps[i]);return h(e,s,r,o,null)}function h(e,t,n,a,i){var s={type:e,props:t,key:n,ref:a,__k:null,__:null,__b:0,__e:null,__d:void 0,__c:null,__h:null,constructor:void 0,__v:null==i?++o:i};return null==i&&null!=r.vnode&&r.vnode(s),s}function b(){return{current:null}}function y(e){return e.children}function L(e,t){this.props=e,this.context=t}function A(e,t){if(null==t)return e.__?A(e.__,e.__.__k.indexOf(e)+1):null;for(var n;t0?h(_.type,_.props,_.key,null,_.__v):_)){if(_.__=n,_.__b=n.__b+1,null===(m=v[u])||m&&_.key==m.key&&_.type===m.type)v[u]=void 0;else for(p=0;p3;)n.pop()();if(n[1]>>1,1),t.i.removeChild(e)}}),j(f(de,{context:t.context},e.__v),t.l)):t.l&&t.componentWillUnmount()}function le(e,t){return f(ue,{__v:e,i:t})}(se.prototype=new L).__e=function(e){var t=this,n=ie(t.__v),a=t.o.get(e);return a[0]++,function(r){var o=function(){t.props.revealOrder?(a.push(r),ce(t,e,a)):r()};n?n(o):o()}},se.prototype.render=function(e){this.u=null,this.o=new Map;var t=k(e.children);e.revealOrder&&"b"===e.revealOrder[0]&&t.reverse();for(var n=t.length;n--;)this.o.set(t[n],this.u=[1,0,this.u]);return e.children},se.prototype.componentDidUpdate=se.prototype.componentDidMount=function(){var e=this;this.o.forEach((function(t,n){ce(e,n,t)}))};var Me="undefined"!=typeof Symbol&&Symbol.for&&Symbol.for("react.element")||60103,pe=/^(?:accent|alignment|arabic|baseline|cap|clip(?!PathU)|color|dominant|fill|flood|font|glyph(?!R)|horiz|marker(?!H|W|U)|overline|paint|stop|strikethrough|stroke|text(?!L)|underline|unicode|units|v|vector|vert|word|writing|x(?!C))[A-Z]/,me="undefined"!=typeof document,_e=function(e){return("undefined"!=typeof Symbol&&"symbol"==typeof Symbol()?/fil|che|rad/i:/fil|che|ra/i).test(e)};L.prototype.isReactComponent={},["componentWillMount","componentWillReceiveProps","componentWillUpdate"].forEach((function(e){Object.defineProperty(L.prototype,e,{configurable:!0,get:function(){return this["UNSAFE_"+e]},set:function(t){Object.defineProperty(this,e,{configurable:!0,writable:!0,value:t})}})}));var fe=r.event;function he(){}function be(){return this.cancelBubble}function ye(){return this.defaultPrevented}r.event=function(e){return fe&&(e=fe(e)),e.persist=he,e.isPropagationStopped=be,e.isDefaultPrevented=ye,e.nativeEvent=e};var Le={configurable:!0,get:function(){return this.class}},Ae=r.vnode;r.vnode=function(e){var t=e.type,n=e.props,a=n;if("string"==typeof t){var r=-1===t.indexOf("-");for(var o in a={},n){var i=n[o];me&&"children"===o&&"noscript"===t||"value"===o&&"defaultValue"in n&&null==i||("defaultValue"===o&&"value"in n&&null==n.value?o="value":"download"===o&&!0===i?i="":/ondoubleclick/i.test(o)?o="ondblclick":/^onchange(textarea|input)/i.test(o+t)&&!_e(n.type)?o="oninput":/^on(Ani|Tra|Tou|BeforeInp)/.test(o)?o=o.toLowerCase():r&&pe.test(o)?o=o.replace(/[A-Z0-9]/,"-$&").toLowerCase():null===i&&(i=void 0),a[o]=i)}"select"==t&&a.multiple&&Array.isArray(a.value)&&(a.value=k(n.children).forEach((function(e){e.props.selected=-1!=a.value.indexOf(e.props.value)}))),"select"==t&&null!=a.defaultValue&&(a.value=k(n.children).forEach((function(e){e.props.selected=a.multiple?-1!=a.defaultValue.indexOf(e.props.value):a.defaultValue==e.props.value}))),e.props=a,n.class!=n.className&&(Le.enumerable="className"in n,null!=n.className&&(a.class=n.className),Object.defineProperty(a,"className",Le))}e.$$typeof=Me,Ae&&Ae(e)};var ve=r.__r;r.__r=function(e){ve&&ve(e),e.__c};var ge="undefined"!=typeof globalThis?globalThis:window;ge.FullCalendarVDom?console.warn("FullCalendar VDOM already loaded"):ge.FullCalendarVDom={Component:L,createElement:f,render:j,createRef:b,Fragment:y,createContext:function(e){var t=R(e),n=t.Provider;return t.Provider=function(){var e=this,t=!this.getChildContext,a=n.apply(this,arguments);if(t){var r=[];this.shouldComponentUpdate=function(t){e.props.value!==t.value&&r.forEach((function(e){e.context=t.value,e.forceUpdate()}))},this.sub=function(e){r.push(e);var t=e.componentWillUnmount;e.componentWillUnmount=function(){r.splice(r.indexOf(e),1),t&&t.call(e)}}}return a},t},createPortal:le,flushToDom:function(){var e=r.debounceRendering,t=[];r.debounceRendering=function(e){t.push(e)},j(f(ze,{}),document.createElement("div"));for(;t.length;)t.shift()();r.debounceRendering=e},unmountComponentAtNode:function(e){j(null,e)}};var ze=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return Object(u.b)(t,e),t.prototype.render=function(){return f("div",{})},t.prototype.componentDidMount=function(){this.setState({})},t}(L);var Te=n("CtUX"),Oe=function(e){function t(t,n){void 0===n&&(n={});var a=e.call(this)||this;return a.isRendering=!1,a.isRendered=!1,a.currentClassNames=[],a.customContentRenderId=0,a.handleAction=function(e){switch(e.type){case"SET_EVENT_DRAG":case"SET_EVENT_RESIZE":a.renderRunner.tryDrain()}},a.handleData=function(e){a.currentData=e,a.renderRunner.request(e.calendarOptions.rerenderDelay)},a.handleRenderRequest=function(){if(a.isRendering){a.isRendered=!0;var e=a.currentData;Object(Te.xb)(Object(Te.V)(Te.f,{options:e.calendarOptions,theme:e.theme,emitter:e.emitter},(function(t,n,r,o){return a.setClassNames(t),a.setHeight(n),Object(Te.V)(Te.g.Provider,{value:a.customContentRenderId},Object(Te.V)(Te.d,Object(u.a)({isHeightAuto:r,forPrint:o},e)))})),a.el)}else a.isRendered&&(a.isRendered=!1,Object(Te.Eb)(a.el),a.setClassNames([]),a.setHeight(""));Object(Te.bb)()},a.el=t,a.renderRunner=new Te.o(a.handleRenderRequest),new Te.e({optionOverrides:n,calendarApi:a,onAction:a.handleAction,onData:a.handleData}),a}return Object(u.b)(t,e),Object.defineProperty(t.prototype,"view",{get:function(){return this.currentData.viewApi},enumerable:!1,configurable:!0}),t.prototype.render=function(){var e=this.isRendering;e?this.customContentRenderId+=1:this.isRendering=!0,this.renderRunner.request(),e&&this.updateSize()},t.prototype.destroy=function(){this.isRendering&&(this.isRendering=!1,this.renderRunner.request())},t.prototype.updateSize=function(){e.prototype.updateSize.call(this),Object(Te.bb)()},t.prototype.batchRendering=function(e){this.renderRunner.pause("batchRendering"),e(),this.renderRunner.resume("batchRendering")},t.prototype.pauseRendering=function(){this.renderRunner.pause("pauseRendering")},t.prototype.resumeRendering=function(){this.renderRunner.resume("pauseRendering",!0)},t.prototype.resetOptions=function(e,t){this.currentDataManager.resetOptions(e,t)},t.prototype.setClassNames=function(e){if(!Object(Te.rb)(e,this.currentClassNames)){for(var t=this.el.classList,n=0,a=this.currentClassNames;n=10?e:e+12:"ಸಂಜೆ"===t?e+12:void 0},meridiem:function(e,t,n){return e<4?"ರಾತ್ರಿ":e<10?"ಬೆಳಿಗ್ಗೆ":e<17?"ಮಧ್ಯಾಹ್ನ":e<20?"ಸಂಜೆ":"ರಾತ್ರಿ"},dayOfMonthOrdinalParse:/\d{1,2}(ನೇ)/,ordinal:function(e){return e+"ನೇ"},week:{dow:0,doy:6}})}(n("qW9H"))},zGRm:function(e,t,n){!function(e){"use strict"; //! moment.js locale configuration -var t={words:{ss:["sekunda","sekunde","sekundi"],m:["jedan minut","jednog minuta"],mm:["minut","minuta","minuta"],h:["jedan sat","jednog sata"],hh:["sat","sata","sati"],d:["jedan dan","jednog dana"],dd:["dan","dana","dana"],M:["jedan mesec","jednog meseca"],MM:["mesec","meseca","meseci"],y:["jednu godinu","jedne godine"],yy:["godinu","godine","godina"]},correctGrammaticalCase:function(e,t){return e%10>=1&&e%10<=4&&(e%100<10||e%100>=20)?e%10==1?t[0]:t[1]:t[2]},translate:function(e,n,a,r){var o=t.words[a];if(1===a.length)return"y"===a&&n?"jedna godina":r||n?o[0]:o[1];const i=t.correctGrammaticalCase(e,o);return"yy"===a&&n&&"godinu"===i?e+" godina":e+" "+i}};e.defineLocale("sr",{months:"januar_februar_mart_april_maj_jun_jul_avgust_septembar_oktobar_novembar_decembar".split("_"),monthsShort:"jan._feb._mar._apr._maj_jun_jul_avg._sep._okt._nov._dec.".split("_"),monthsParseExact:!0,weekdays:"nedelja_ponedeljak_utorak_sreda_četvrtak_petak_subota".split("_"),weekdaysShort:"ned._pon._uto._sre._čet._pet._sub.".split("_"),weekdaysMin:"ne_po_ut_sr_če_pe_su".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"D. M. YYYY.",LL:"D. MMMM YYYY.",LLL:"D. MMMM YYYY. H:mm",LLLL:"dddd, D. MMMM YYYY. H:mm"},calendar:{sameDay:"[danas u] LT",nextDay:"[sutra u] LT",nextWeek:function(){switch(this.day()){case 0:return"[u] [nedelju] [u] LT";case 3:return"[u] [sredu] [u] LT";case 6:return"[u] [subotu] [u] LT";case 1:case 2:case 4:case 5:return"[u] dddd [u] LT"}},lastDay:"[juče u] LT",lastWeek:function(){return["[prošle] [nedelje] [u] LT","[prošlog] [ponedeljka] [u] LT","[prošlog] [utorka] [u] LT","[prošle] [srede] [u] LT","[prošlog] [četvrtka] [u] LT","[prošlog] [petka] [u] LT","[prošle] [subote] [u] LT"][this.day()]},sameElse:"L"},relativeTime:{future:"za %s",past:"pre %s",s:"nekoliko sekundi",ss:t.translate,m:t.translate,mm:t.translate,h:t.translate,hh:t.translate,d:t.translate,dd:t.translate,M:t.translate,MM:t.translate,y:t.translate,yy:t.translate},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:7}})}(n("qW9H"))}}); \ No newline at end of file +var t={words:{ss:["sekunda","sekunde","sekundi"],m:["jedan minut","jedne minute"],mm:["minut","minute","minuta"],h:["jedan sat","jednog sata"],hh:["sat","sata","sati"],dd:["dan","dana","dana"],MM:["mesec","meseca","meseci"],yy:["godina","godine","godina"]},correctGrammaticalCase:function(e,t){return 1===e?t[0]:e>=2&&e<=4?t[1]:t[2]},translate:function(e,n,a){var r=t.words[a];return 1===a.length?n?r[0]:r[1]:e+" "+t.correctGrammaticalCase(e,r)}};e.defineLocale("sr",{months:"januar_februar_mart_april_maj_jun_jul_avgust_septembar_oktobar_novembar_decembar".split("_"),monthsShort:"jan._feb._mar._apr._maj_jun_jul_avg._sep._okt._nov._dec.".split("_"),monthsParseExact:!0,weekdays:"nedelja_ponedeljak_utorak_sreda_četvrtak_petak_subota".split("_"),weekdaysShort:"ned._pon._uto._sre._čet._pet._sub.".split("_"),weekdaysMin:"ne_po_ut_sr_če_pe_su".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"D. M. YYYY.",LL:"D. MMMM YYYY.",LLL:"D. MMMM YYYY. H:mm",LLLL:"dddd, D. MMMM YYYY. H:mm"},calendar:{sameDay:"[danas u] LT",nextDay:"[sutra u] LT",nextWeek:function(){switch(this.day()){case 0:return"[u] [nedelju] [u] LT";case 3:return"[u] [sredu] [u] LT";case 6:return"[u] [subotu] [u] LT";case 1:case 2:case 4:case 5:return"[u] dddd [u] LT"}},lastDay:"[juče u] LT",lastWeek:function(){return["[prošle] [nedelje] [u] LT","[prošlog] [ponedeljka] [u] LT","[prošlog] [utorka] [u] LT","[prošle] [srede] [u] LT","[prošlog] [četvrtka] [u] LT","[prošlog] [petka] [u] LT","[prošle] [subote] [u] LT"][this.day()]},sameElse:"L"},relativeTime:{future:"za %s",past:"pre %s",s:"nekoliko sekundi",ss:t.translate,m:t.translate,mm:t.translate,h:t.translate,hh:t.translate,d:"dan",dd:t.translate,M:"mesec",MM:t.translate,y:"godinu",yy:t.translate},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:7}})}(n("qW9H"))}}); \ No newline at end of file diff --git a/src/Resources/views/Shop/ShippingMethod/ShippingSlot/_slotConfig.html.twig b/src/Resources/views/Shop/ShippingMethod/ShippingSlot/_slotConfig.html.twig new file mode 100644 index 0000000..e930cf6 --- /dev/null +++ b/src/Resources/views/Shop/ShippingMethod/ShippingSlot/_slotConfig.html.twig @@ -0,0 +1 @@ +{{ form_row(form_shipping_slot_configurations, {'attr': {'class': 'slot-configs-' ~ method.code, 'style': 'display: none'}}) }} diff --git a/src/Resources/views/Shop/ShippingMethod/calendar.html.twig b/src/Resources/views/Shop/ShippingMethod/calendar.html.twig index 74d68f9..810e9ff 100644 --- a/src/Resources/views/Shop/ShippingMethod/calendar.html.twig +++ b/src/Resources/views/Shop/ShippingMethod/calendar.html.twig @@ -1,4 +1,8 @@ {% if method.shippingSlotConfigs|length or method.shippingSlotConfig %} + {% set form_shipping_slot_configurations = form.parent.parent.shippingSlotConfigs[method.code] ?? null %} + {% if form_shipping_slot_configurations and form_shipping_slot_configurations.vars.choices|length %} + {% include '@MonsieurBizSyliusShippingSlotPlugin/Shop/ShippingMethod/ShippingSlot/_slotConfig.html.twig' with {'form': form_shipping_slot_configurations} %} + {% endif %} {% endif %} diff --git a/src/Resources/views/Shop/app.html.twig b/src/Resources/views/Shop/app.html.twig index 590a26c..756cf08 100644 --- a/src/Resources/views/Shop/app.html.twig +++ b/src/Resources/views/Shop/app.html.twig @@ -5,6 +5,7 @@ let shippingMethodInputs = document.querySelectorAll('input[type="radio"][name*="sylius_checkout_select_shipping"]'); let nextStepButtons = document.querySelectorAll('form[name="sylius_checkout_select_shipping"] button#next-step'); let calendarContainers = document.querySelectorAll('.monsieurbiz_shipping_slot_calendar'); + let shippingSlotConfigSelects = document.querySelectorAll('select[name^="sylius_checkout_select_shipping[shipments]"][name*="[shippingSlotConfigs]"]'); let gridSlotStyle = { textColor: '#ffffff', borderColor: '#3788d8', @@ -43,11 +44,12 @@ selectedGridSlotStyle, listSlotStyle, selectedListSlotStyle, - '{{ url("monsieurbiz_shippingslot_checkout_init", {"code": "__CODE__"})|e('js') }}', - '{{ url("monsieurbiz_shippingslot_checkout_listslots", {"code": "__CODE__", "fromDate": "__FROM__", "toDate": "__TO__"})|e('js') }}', + '{{ url("monsieurbiz_shippingslot_checkout_init", {"code": "__CODE__", "shippingSlotConfig": "__CONFIG__"})|e('js') }}', + '{{ url("monsieurbiz_shippingslot_checkout_listslots", {"code": "__CODE__", "fromDate": "__FROM__", "toDate": "__TO__", "shippingSlotConfig": "__CONFIG__"})|e('js') }}', '{{ url("monsieurbiz_shippingslot_checkout_saveslot")|e('js') }}', '{{ url("monsieurbiz_shippingslot_checkout_resetslot")|e('js') }}', - '{{ 'monsieurbiz_shipping_slot.ui.slot_select_error' | trans | escape('js') }}' + '{{ 'monsieurbiz_shipping_slot.ui.slot_select_error' | trans | escape('js') }}', + shippingSlotConfigSelects ); }); diff --git a/src/Resources/views/SyliusShopBundle/Checkout/SelectShipping/_choice.html.twig b/src/Resources/views/SyliusShopBundle/Checkout/SelectShipping/_choice.html.twig index d034c97..1063b67 100644 --- a/src/Resources/views/SyliusShopBundle/Checkout/SelectShipping/_choice.html.twig +++ b/src/Resources/views/SyliusShopBundle/Checkout/SelectShipping/_choice.html.twig @@ -1,6 +1,6 @@ {% import '@SyliusShop/Common/Macro/money.html.twig' as money %} -{{ sylius_template_event('sylius.shop.checkout.select_shipping.before_method', {'method': method}) }} +{{ sylius_template_event('sylius.shop.checkout.select_shipping.before_method', {'method': method, 'form': form}) }}
@@ -21,4 +21,4 @@
-{{ sylius_template_event('sylius.shop.checkout.select_shipping.after_method', {'method': method}) }} +{{ sylius_template_event('sylius.shop.checkout.select_shipping.after_method', {'method': method, 'form': form}) }} From 2d6ed365edd59fbbbc035b40051ecf2c94516990 Mon Sep 17 00:00:00 2001 From: Maxime Leclercq Date: Fri, 15 Mar 2024 15:41:57 +0100 Subject: [PATCH 09/12] fix: execute plugin migration before sylius core migration --- ...MonsieurBizSyliusShippingSlotExtension.php | 28 ++++++++++++++++++- 1 file changed, 27 insertions(+), 1 deletion(-) diff --git a/src/DependencyInjection/MonsieurBizSyliusShippingSlotExtension.php b/src/DependencyInjection/MonsieurBizSyliusShippingSlotExtension.php index b741f36..bc1c96e 100644 --- a/src/DependencyInjection/MonsieurBizSyliusShippingSlotExtension.php +++ b/src/DependencyInjection/MonsieurBizSyliusShippingSlotExtension.php @@ -13,13 +13,17 @@ namespace MonsieurBiz\SyliusShippingSlotPlugin\DependencyInjection; +use Sylius\Bundle\CoreBundle\DependencyInjection\PrependDoctrineMigrationsTrait; use Symfony\Component\Config\FileLocator; use Symfony\Component\DependencyInjection\ContainerBuilder; use Symfony\Component\DependencyInjection\Extension\Extension; +use Symfony\Component\DependencyInjection\Extension\PrependExtensionInterface; use Symfony\Component\DependencyInjection\Loader\YamlFileLoader; -final class MonsieurBizSyliusShippingSlotExtension extends Extension +final class MonsieurBizSyliusShippingSlotExtension extends Extension implements PrependExtensionInterface { + use PrependDoctrineMigrationsTrait; + public function load(array $config, ContainerBuilder $container): void { $configuration = $this->processConfiguration($this->getConfiguration([], $container), $config); @@ -32,4 +36,26 @@ public function getAlias(): string { return str_replace('monsieur_biz', 'monsieurbiz', parent::getAlias()); } + + public function prepend(ContainerBuilder $container): void + { + $this->prependDoctrineMigrations($container); + } + + protected function getMigrationsNamespace(): string + { + return 'MonsieurBiz\SyliusShippingSlotPlugin\Migrations'; + } + + protected function getMigrationsDirectory(): string + { + return '@MonsieurBizSyliusShippingSlotPlugin/Migrations'; + } + + protected function getNamespacesOfMigrationsExecutedBefore(): array + { + return [ + 'Sylius\Bundle\CoreBundle\Migrations', + ]; + } } From c873bf96afa7a348bf238872d7c8bc05889210f1 Mon Sep 17 00:00:00 2001 From: Maxime Leclercq Date: Fri, 15 Mar 2024 15:43:16 +0100 Subject: [PATCH 10/12] refactor: add method to add and remove slot config easier --- src/Entity/ShippingMethodInterface.php | 6 ++++++ src/Entity/ShippingMethodTrait.php | 19 +++++++++++++++++++ .../Extension/ShippingMethodTypeExtension.php | 3 +-- 3 files changed, 26 insertions(+), 2 deletions(-) diff --git a/src/Entity/ShippingMethodInterface.php b/src/Entity/ShippingMethodInterface.php index ce25437..e0293c5 100644 --- a/src/Entity/ShippingMethodInterface.php +++ b/src/Entity/ShippingMethodInterface.php @@ -37,4 +37,10 @@ public function getShippingSlotConfigs(): Collection; * @param Collection $shippingSlotConfigs */ public function setShippingSlotConfigs(Collection $shippingSlotConfigs): void; + + public function addShippingSlotConfig(ShippingSlotConfigInterface $shippingSlotConfig): void; + + public function removeShippingSlotConfig(ShippingSlotConfigInterface $shippingSlotConfig): void; + + public function hasShippingSlotConfig(ShippingSlotConfigInterface $shippingSlotConfig): bool; } diff --git a/src/Entity/ShippingMethodTrait.php b/src/Entity/ShippingMethodTrait.php index 903b511..5dfe8c6 100644 --- a/src/Entity/ShippingMethodTrait.php +++ b/src/Entity/ShippingMethodTrait.php @@ -68,4 +68,23 @@ public function setShippingSlotConfigs(Collection $shippingSlotConfigs): void { $this->shippingSlotConfigs = $shippingSlotConfigs; } + + public function addShippingSlotConfig(ShippingSlotConfigInterface $shippingSlotConfig): void + { + if (!$this->hasShippingSlotConfig($shippingSlotConfig)) { + $this->shippingSlotConfigs->add($shippingSlotConfig); + } + } + + public function removeShippingSlotConfig(ShippingSlotConfigInterface $shippingSlotConfig): void + { + if ($this->hasShippingSlotConfig($shippingSlotConfig)) { + $this->shippingSlotConfigs->removeElement($shippingSlotConfig); + } + } + + public function hasShippingSlotConfig(ShippingSlotConfigInterface $shippingSlotConfig): bool + { + return $this->shippingSlotConfigs->contains($shippingSlotConfig); + } } diff --git a/src/Form/Extension/ShippingMethodTypeExtension.php b/src/Form/Extension/ShippingMethodTypeExtension.php index 39709bb..f934f6a 100644 --- a/src/Form/Extension/ShippingMethodTypeExtension.php +++ b/src/Form/Extension/ShippingMethodTypeExtension.php @@ -13,7 +13,6 @@ namespace MonsieurBiz\SyliusShippingSlotPlugin\Form\Extension; -use Doctrine\Common\Collections\ArrayCollection; use MonsieurBiz\SyliusShippingSlotPlugin\Entity\ShippingMethodInterface; use MonsieurBiz\SyliusShippingSlotPlugin\Form\Type\ShippingSlotConfigChoiceType; use Sylius\Bundle\ShippingBundle\Form\Type\ShippingMethodType; @@ -58,7 +57,7 @@ public function buildForm(FormBuilderInterface $builder, array $options): void return; } - $shippingMethod->setShippingSlotConfigs(new ArrayCollection([$oldShippingSlotConfig])); + $shippingMethod->addShippingSlotConfig($oldShippingSlotConfig); }) ; } From 5ff380758303149c71b0bea12e55d83fe26089f5 Mon Sep 17 00:00:00 2001 From: Maxime Leclercq Date: Fri, 15 Mar 2024 15:43:49 +0100 Subject: [PATCH 11/12] test: update fixtures to use multiple slots --- .../ShippingSlotConfigFixtureFactory.php | 2 +- src/Resources/config/sylius/fixtures.yaml | 21 +++++++++++++++---- 2 files changed, 18 insertions(+), 5 deletions(-) diff --git a/src/Fixture/Factory/ShippingSlotConfigFixtureFactory.php b/src/Fixture/Factory/ShippingSlotConfigFixtureFactory.php index d79abcb..cf733af 100644 --- a/src/Fixture/Factory/ShippingSlotConfigFixtureFactory.php +++ b/src/Fixture/Factory/ShippingSlotConfigFixtureFactory.php @@ -62,7 +62,7 @@ public function create(array $options = []): ShippingSlotConfigInterface /** @var ShippingMethodInterface $shippingMethod */ foreach ($options['shipping_methods'] as $shippingMethod) { - $shippingMethod->setShippingSlotConfig($shippingSlotConfig); + $shippingMethod->addShippingSlotConfig($shippingSlotConfig); } return $shippingSlotConfig; diff --git a/src/Resources/config/sylius/fixtures.yaml b/src/Resources/config/sylius/fixtures.yaml index 0cd4926..29648d4 100644 --- a/src/Resources/config/sylius/fixtures.yaml +++ b/src/Resources/config/sylius/fixtures.yaml @@ -24,9 +24,9 @@ sylius_fixtures: options: custom: fashion_store: - name: 'Fashion Store hours' + name: 'Fashion Store' timezone: 'Europe/Paris' - rrules: + rrules: - 'RRULE:FREQ=HOURLY;BYDAY=MO,TU,WE,TH,FR;BYHOUR=18;BYMINUTE=0;BYSECOND=0' - 'RRULE:FREQ=HOURLY;BYDAY=MO,TU,WE,TH,FR;BYHOUR=8,9,10,11,12,13,14,15,16,17;BYMINUTE=0,10,20,30,40,50;BYSECOND=0' preparationDelay: 60 @@ -36,10 +36,23 @@ sylius_fixtures: color: '#5D44DC' shipping_methods: - 'slot_delivery' + ultra_fashion_store: + name: 'Ultra Fashion Store' + timezone: 'Europe/Paris' + rrules: + - 'RRULE:FREQ=HOURLY;BYDAY=MO,TU,TH,FR;BYHOUR=19;BYMINUTE=0;BYSECOND=0' + - 'RRULE:FREQ=HOURLY;BYDAY=MO,TU,TH,FR;BYHOUR=7,8,9,10,11,12,13,14,15,16,17,18;BYMINUTE=0,15,30;BYSECOND=0' + preparationDelay: 60 + pickupDelay: 30 + durationRange: 60 + availableSpots: 10 + color: '#FF6F61' + shipping_methods: + - 'slot_delivery' courier: - name: 'Courier hours' + name: 'Courier' timezone: 'Europe/Paris' - rrules: + rrules: - 'RRULE:FREQ=HOURLY;BYDAY=MO,TU,WE,TH,FR;BYHOUR=19;BYMINUTE=0;BYSECOND=0' - 'RRULE:FREQ=HOURLY;BYDAY=MO,TU,WE,TH,FR;BYHOUR=7,8,9,10,11,12,13,14,15,16,17,18;BYMINUTE=0,30;BYSECOND=0' preparationDelay: 60 From 96f1db1f69442d5579688b41d3e35d75c1938634 Mon Sep 17 00:00:00 2001 From: Maxime Leclercq Date: Fri, 15 Mar 2024 15:44:09 +0100 Subject: [PATCH 12/12] doc: add upgrade file for next release --- UPGRADE.md | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) create mode 100644 UPGRADE.md diff --git a/UPGRADE.md b/UPGRADE.md new file mode 100644 index 0000000..ef18d5c --- /dev/null +++ b/UPGRADE.md @@ -0,0 +1,16 @@ +# UPGRADE FROM 1.0.0 TO 1.1.0 + +- Add `form` in the events in the override template of the `/templates/bundles/SyliusShopBundle/Checkout/SelectShipping/_choice.html.twig`: + +```diff +-{{ sylius_template_event('sylius.shop.checkout.select_shipping.before_method', {'method': method}) }} ++{{ sylius_template_event('sylius.shop.checkout.select_shipping.before_method', {'method': method, 'form': form}) }} +``` + +```diff +-{{ sylius_template_event('sylius.shop.checkout.select_shipping.after_method', {'method': method}) }} ++{{ sylius_template_event('sylius.shop.checkout.select_shipping.after_method', {'method': method, 'form': form}) }} +``` + +- The `shippingSlotConfig` class parameter in the `MonsieurBiz\SyliusShippingSlotPlugin\Entity\ShippingMethodTrait` trait is deprecated and will be removed in the next version. Use the `shippingSlotConfigs` class parameter instead to manage multiple shipping slot configs by shipping method. +- The methods `getShippingSlotConfig` and `setShippingSlotConfig` in `MonsieurBiz\SyliusShippingSlotPlugin\Entity\ShippingMethodInterface` interface are deprecated and will be removed in the next version. Use the methods `getShippingSlotConfigs` and `setShippingSlotConfigs` instead.