diff --git a/lib/Connector/XiboExchangeConnector.php b/lib/Connector/XiboExchangeConnector.php index a8d8c60a9d..d7d405bf65 100644 --- a/lib/Connector/XiboExchangeConnector.php +++ b/lib/Connector/XiboExchangeConnector.php @@ -93,7 +93,7 @@ public function onTemplateProvider(TemplateProviderEvent $event) $this->getLogger()->debug('XiboExchangeConnector: onTemplateProvider'); // Get a cache of the layouts.json file, or request one from download. - $uri = 'https://download.xibosignage.com/layouts_v4.json'; + $uri = 'https://download.xibosignage.com/layouts_v4_1.json'; $key = md5($uri); $cache = $this->getPool()->getItem($key); $body = $cache->get(); diff --git a/lib/Controller/DataSet.php b/lib/Controller/DataSet.php index d5d406dde5..960e472171 100644 --- a/lib/Controller/DataSet.php +++ b/lib/Controller/DataSet.php @@ -729,6 +729,9 @@ public function editForm(Request $request, Response $response, $id) // Retrieve data sources from the event $dataConnectorSources = $event->getDataConnectorSources(); + // retrieve the columns of the selected dataset + $dataSet->getColumn(); + // Set the form $this->getState()->template = 'dataset-form-edit'; $this->getState()->setData([ diff --git a/lib/Controller/Developer.php b/lib/Controller/Developer.php index 3601e04717..ba43d13bef 100644 --- a/lib/Controller/Developer.php +++ b/lib/Controller/Developer.php @@ -27,7 +27,6 @@ use Xibo\Factory\ModuleFactory; use Xibo\Factory\ModuleTemplateFactory; use Xibo\Helper\SendFile; -use Xibo\Helper\UploadHandler; use Xibo\Service\MediaService; use Xibo\Service\UploadService; use Xibo\Support\Exception\AccessDeniedException; @@ -335,6 +334,7 @@ public function templateEdit(Request $request, Response $response, $id): Respons ); }]); + $template->dataType = $dataType; $template->isEnabled = $params->getCheckbox('enabled'); // TODO: validate? @@ -530,8 +530,6 @@ public function templateImport(Request $request, Response $response): Response|R $options = [ 'upload_dir' => $libraryFolder . 'temp/', - 'script_url' => $this->urlFor($request, 'developer.templates.import'), - 'upload_url' => $this->urlFor($request, 'developer.templates.import'), 'accept_file_types' => '/\.xml/i', 'libraryQuotaFull' => false, ]; @@ -539,10 +537,10 @@ public function templateImport(Request $request, Response $response): Response|R $this->getLog()->debug('Hand off to Upload Handler with options: ' . json_encode($options)); // Hand off to the Upload Handler provided by jquery-file-upload - $uploadService = new UploadService($options, $this->getLog(), $this->getState()); + $uploadService = new UploadService($libraryFolder . 'temp/', $options, $this->getLog(), $this->getState()); $uploadHandler = $uploadService->createUploadHandler(); - $uploadHandler->setPostProcessor(function ($file, $uploadHandler) { + $uploadHandler->setPostProcessor(function ($file, $uploadHandler) use ($libraryFolder) { // Return right away if the file already has an error. if (!empty($file->error)) { return $file; @@ -550,8 +548,7 @@ public function templateImport(Request $request, Response $response): Response|R $this->getUser()->isQuotaFullByUser(true); - /** @var UploadHandler $uploadHandler */ - $filePath = $uploadHandler->getUploadPath() . $file->fileName; + $filePath = $libraryFolder . 'temp/' . $file->fileName; // load the xml from uploaded file $xml = new \DOMDocument(); diff --git a/lib/Controller/Display.php b/lib/Controller/Display.php index e26fbe94cb..2c6f0911e5 100644 --- a/lib/Controller/Display.php +++ b/lib/Controller/Display.php @@ -1005,33 +1005,36 @@ public function grid(Request $request, Response $response) ); } - if ($this->getUser()->featureEnabled('displays.modify') - && $this->getUser()->checkEditable($display) + // Check if limited view access is allowed + if (($this->getUser()->featureEnabled('displays.modify') && $this->getUser()->checkEditable($display)) + || $this->getUser()->featureEnabled('displays.limitedView') ) { - if ($this->getUser()->featureEnabled('layout.view')) { - $display->buttons[] = [ - 'id' => 'display_button_layouts_jump', - 'linkType' => '_self', - 'external' => true, - 'url' => $this->urlFor($request, 'layout.view') - . '?activeDisplayGroupId=' . $display->displayGroupId, - 'text' => __('Jump to Scheduled Layouts') - ]; - } + if ($this->getUser()->checkEditable($display)) { + if ($this->getUser()->featureEnabled('layout.view')) { + $display->buttons[] = [ + 'id' => 'display_button_layouts_jump', + 'linkType' => '_self', + 'external' => true, + 'url' => $this->urlFor($request, 'layout.view') + . '?activeDisplayGroupId=' . $display->displayGroupId, + 'text' => __('Jump to Scheduled Layouts') + ]; + } - // File Associations - $display->buttons[] = array( - 'id' => 'displaygroup_button_fileassociations', - 'url' => $this->urlFor($request, 'displayGroup.media.form', ['id' => $display->displayGroupId]), - 'text' => __('Assign Files') - ); + // File Associations + $display->buttons[] = array( + 'id' => 'displaygroup_button_fileassociations', + 'url' => $this->urlFor($request, 'displayGroup.media.form', ['id' => $display->displayGroupId]), + 'text' => __('Assign Files') + ); - // Layout Assignments - $display->buttons[] = array( - 'id' => 'displaygroup_button_layout_associations', - 'url' => $this->urlFor($request, 'displayGroup.layout.form', ['id' => $display->displayGroupId]), - 'text' => __('Assign Layouts') - ); + // Layout Assignments + $display->buttons[] = array( + 'id' => 'displaygroup_button_layout_associations', + 'url' => $this->urlFor($request, 'displayGroup.layout.form', ['id' => $display->displayGroupId]), + 'text' => __('Assign Layouts') + ); + } // Screen Shot $display->buttons[] = [ @@ -1085,43 +1088,45 @@ public function grid(Request $request, Response $response) ] ]; - // Trigger webhook - $display->buttons[] = [ - 'id' => 'display_button_trigger_webhook', - 'url' => $this->urlFor( - $request, - 'displayGroup.trigger.webhook.form', - ['id' => $display->displayGroupId] - ), - 'text' => __('Trigger a web hook'), - 'multi-select' => true, - 'dataAttributes' => [ - [ - 'name' => 'commit-url', - 'value' => $this->urlFor( - $request, - 'displayGroup.action.trigger.webhook', - ['id' => $display->displayGroupId] - ) - ], - ['name' => 'commit-method', 'value' => 'post'], - ['name' => 'id', 'value' => 'display_button_trigger_webhook'], - ['name' => 'sort-group', 'value' => 3], - ['name' => 'text', 'value' => __('Trigger a web hook')], - ['name' => 'rowtitle', 'value' => $display->display], - ['name' => 'form-callback', 'value' => 'triggerWebhookMultiSelectFormOpen'] - ] - ]; - - if ($this->getUser()->isSuperAdmin()) { + if ($this->getUser()->checkEditable($display)) { + // Trigger webhook $display->buttons[] = [ - 'id' => 'display_button_purgeAll', - 'url' => $this->urlFor($request, 'display.purge.all.form', ['id' => $display->displayId]), - 'text' => __('Purge All') + 'id' => 'display_button_trigger_webhook', + 'url' => $this->urlFor( + $request, + 'displayGroup.trigger.webhook.form', + ['id' => $display->displayGroupId] + ), + 'text' => __('Trigger a web hook'), + 'multi-select' => true, + 'dataAttributes' => [ + [ + 'name' => 'commit-url', + 'value' => $this->urlFor( + $request, + 'displayGroup.action.trigger.webhook', + ['id' => $display->displayGroupId] + ) + ], + ['name' => 'commit-method', 'value' => 'post'], + ['name' => 'id', 'value' => 'display_button_trigger_webhook'], + ['name' => 'sort-group', 'value' => 3], + ['name' => 'text', 'value' => __('Trigger a web hook')], + ['name' => 'rowtitle', 'value' => $display->display], + ['name' => 'form-callback', 'value' => 'triggerWebhookMultiSelectFormOpen'] + ] ]; - } - $display->buttons[] = ['divider' => true]; + if ($this->getUser()->isSuperAdmin()) { + $display->buttons[] = [ + 'id' => 'display_button_purgeAll', + 'url' => $this->urlFor($request, 'display.purge.all.form', ['id' => $display->displayId]), + 'text' => __('Purge All') + ]; + } + + $display->buttons[] = ['divider' => true]; + } } if ($this->getUser()->featureEnabled('displays.modify') @@ -2187,7 +2192,8 @@ public function screenShot(Request $request, Response $response, $id) { $display = $this->displayFactory->getById($id); - if (!$this->getUser()->checkViewable($display)) { + // Allow limited view access + if (!$this->getUser()->checkViewable($display) && !$this->getUser()->featureEnabled('displays.limitedView')) { throw new AccessDeniedException(); } @@ -2247,7 +2253,8 @@ public function requestScreenShotForm(Request $request, Response $response, $id) { $display = $this->displayFactory->getById($id); - if (!$this->getUser()->checkViewable($display)) { + // Allow limited view access + if (!$this->getUser()->checkViewable($display) && !$this->getUser()->featureEnabled('displays.limitedView')) { throw new AccessDeniedException(); } @@ -2305,7 +2312,8 @@ public function requestScreenShot(Request $request, Response $response, $id) { $display = $this->displayFactory->getById($id); - if (!$this->getUser()->checkViewable($display)) { + // Allow limited view access + if (!$this->getUser()->checkViewable($display) && !$this->getUser()->featureEnabled('displays.limitedView')) { throw new AccessDeniedException(); } diff --git a/lib/Controller/DisplayGroup.php b/lib/Controller/DisplayGroup.php index ab201537db..7de67df679 100644 --- a/lib/Controller/DisplayGroup.php +++ b/lib/Controller/DisplayGroup.php @@ -21,6 +21,7 @@ */ namespace Xibo\Controller; +use Psr\Http\Message\ResponseInterface; use Slim\Http\Response as Response; use Slim\Http\ServerRequest as Request; use Xibo\Entity\Display; @@ -36,6 +37,7 @@ use Xibo\Factory\TagFactory; use Xibo\Service\PlayerActionServiceInterface; use Xibo\Support\Exception\AccessDeniedException; +use Xibo\Support\Exception\ControllerNotImplemented; use Xibo\Support\Exception\GeneralException; use Xibo\Support\Exception\InvalidArgumentException; use Xibo\Support\Exception\NotFoundException; @@ -43,7 +45,9 @@ use Xibo\XMR\CollectNowAction; use Xibo\XMR\CommandAction; use Xibo\XMR\OverlayLayoutAction; +use Xibo\XMR\PlayerActionException; use Xibo\XMR\RevertToSchedule; +use Xibo\XMR\ScheduleCriteriaUpdateAction; use Xibo\XMR\TriggerWebhookAction; /** @@ -395,11 +399,11 @@ public function grid(Request $request, Response $response) ]; } - $group->buttons[] = ['divider' => true]; - if ($this->getUser()->featureEnabled('displaygroup.modify') && $this->getUser()->checkEditable($group) ) { + $group->buttons[] = ['divider' => true]; + // File Associations $group->buttons[] = [ 'id' => 'displaygroup_button_fileassociations', @@ -456,11 +460,16 @@ public function grid(Request $request, Response $response) ]; } - if ($this->getUser()->featureEnabled('displaygroup.modify') - && $this->getUser()->checkEditable($group) + // Check if limited view access is allowed + if (($this->getUser()->featureEnabled('displaygroup.modify') && $this->getUser()->checkEditable($group)) + || $this->getUser()->featureEnabled('displaygroup.limitedView') ) { - $group->buttons[] = ['divider' => true]; + if ($this->getUser()->checkEditable($group)) { + $group->buttons[] = ['divider' => true]; + } + + // Send command $group->buttons[] = [ 'id' => 'displaygroup_button_command', 'url' => $this->urlFor($request, 'displayGroup.command.form', ['id' => $group->displayGroupId]), @@ -484,6 +493,7 @@ public function grid(Request $request, Response $response) ] ]; + // Collect Now $group->buttons[] = [ 'id' => 'displaygroup_button_collectNow', 'url' => $this->urlFor($request, 'displayGroup.collectNow.form', ['id' => $group->displayGroupId]), @@ -501,32 +511,34 @@ public function grid(Request $request, Response $response) ] ]; - // Trigger webhook - $group->buttons[] = [ - 'id' => 'displaygroup_button_trigger_webhook', - 'url' => $this->urlFor( - $request, - 'displayGroup.trigger.webhook.form', - ['id' => $group->displayGroupId] - ), - 'text' => __('Trigger a web hook'), - 'multi-select' => true, - 'dataAttributes' => [ - [ - 'name' => 'commit-url', - 'value' => $this->urlFor( - $request, - 'displayGroup.action.trigger.webhook', - ['id' => $group->displayGroupId] - ) - ], - ['name' => 'commit-method', 'value' => 'post'], - ['name' => 'id', 'value' => 'displaygroup_button_trigger_webhook'], - ['name' => 'text', 'value' => __('Trigger a web hook')], - ['name' => 'rowtitle', 'value' => $group->displayGroup], - ['name' => 'form-callback', 'value' => 'triggerWebhookMultiSelectFormOpen'] - ] - ]; + if ($this->getUser()->checkEditable($group)) { + // Trigger webhook + $group->buttons[] = [ + 'id' => 'displaygroup_button_trigger_webhook', + 'url' => $this->urlFor( + $request, + 'displayGroup.trigger.webhook.form', + ['id' => $group->displayGroupId] + ), + 'text' => __('Trigger a web hook'), + 'multi-select' => true, + 'dataAttributes' => [ + [ + 'name' => 'commit-url', + 'value' => $this->urlFor( + $request, + 'displayGroup.action.trigger.webhook', + ['id' => $group->displayGroupId] + ) + ], + ['name' => 'commit-method', 'value' => 'post'], + ['name' => 'id', 'value' => 'displaygroup_button_trigger_webhook'], + ['name' => 'text', 'value' => __('Trigger a web hook')], + ['name' => 'rowtitle', 'value' => $group->displayGroup], + ['name' => 'form-callback', 'value' => 'triggerWebhookMultiSelectFormOpen'] + ] + ]; + } } } @@ -1945,7 +1957,12 @@ public function collectNowForm(Request $request, Response $response, $id) { $displayGroup = $this->displayGroupFactory->getById($id); - if (!$this->getUser()->checkEditable($displayGroup)) { + // Non-destructive edit-only feature; allow limited view access + if ( + !$this->getUser()->checkEditable($displayGroup) + && !$this->getUser()->featureEnabled('displays.limitedView') + && !$this->getUser()->featureEnabled('displaygroup.limitedView') + ) { throw new AccessDeniedException(); } @@ -1991,7 +2008,12 @@ public function collectNow(Request $request, Response $response, $id) { $displayGroup = $this->displayGroupFactory->getById($id); - if (!$this->getUser()->checkEditable($displayGroup)) { + // Non-destructive edit-only feature; allow limited view access + if ( + !$this->getUser()->checkEditable($displayGroup) + && !$this->getUser()->featureEnabled('displays.limitedView') + && !$this->getUser()->featureEnabled('displaygroup.limitedView') + ) { throw new AccessDeniedException(); } @@ -2419,7 +2441,11 @@ public function commandForm(Request $request, Response $response, $id) { $displayGroup = $this->displayGroupFactory->getById($id); - if (!$this->getUser()->checkEditable($displayGroup)) { + // Non-destructive edit-only feature; allow limited view access + if ( + !$this->getUser()->checkEditable($displayGroup) + && !$this->getUser()->featureEnabled('displaygroup.limitedView') + ) { throw new AccessDeniedException(); } @@ -2480,7 +2506,11 @@ public function command(Request $request, Response $response, $id) $displayGroup = $this->displayGroupFactory->getById($id); $sanitizedParams = $this->getSanitizer($request->getParams()); - if (!$this->getUser()->checkEditable($displayGroup)) { + // Non-destructive edit-only feature; allow limited view access + if ( + !$this->getUser()->checkEditable($displayGroup) + && !$this->getUser()->featureEnabled('displaygroup.limitedView') + ) { throw new AccessDeniedException(); } @@ -2871,4 +2901,109 @@ public function triggerWebhook(Request $request, Response $response, $id) return $this->render($request, $response); } + + /** + * @SWG\Post( + * path="/displaygroup/criteria[/{displayGroupId}]", + * operationId="ScheduleCriteriaUpdate", + * tags={"displayGroup"}, + * summary="Action: Push Criteria Update", + * description="Send criteria updates to the specified DisplayGroup or to all displays if displayGroupId is not + * provided.", + * @SWG\Parameter( + * name="displayGroupId", + * in="path", + * description="The display group id", + * type="integer", + * required=true + * ), + * @SWG\Parameter( + * name="criteriaUpdates", + * in="body", + * description="The criteria updates to send to the Player", + * required=true, + * @SWG\Schema( + * type="array", + * @SWG\Items( + * type="object", + * @SWG\Property(property="metric", type="string"), + * @SWG\Property(property="value", type="string"), + * @SWG\Property(property="ttl", type="integer") + * ) + * ) + * ), + * @SWG\Response( + * response=204, + * description="Successful operation" + * ), + * @SWG\Response( + * response=400, + * description="Invalid criteria format" + * ) + * ) + * + * @param Request $request + * @param Response $response + * @param int $displayGroupId + * @return ResponseInterface|Response + * @throws ControllerNotImplemented + * @throws GeneralException + * @throws NotFoundException + * @throws PlayerActionException + */ + public function pushCriteriaUpdate(Request $request, Response $response, int $displayGroupId): Response|ResponseInterface + { + $sanitizedParams = $this->getSanitizer($request->getParams()); + + // Get criteria updates + $criteriaUpdates = $sanitizedParams->getArray('criteriaUpdates'); + + // ensure criteria updates exists + if (empty($criteriaUpdates)) { + throw new InvalidArgumentException(__('No criteria found.'), 'criteriaUpdates'); + } + + // Initialize array to hold sanitized criteria updates + $sanitizedCriteriaUpdates = []; + + // Loop through each criterion and sanitize the input + foreach ($criteriaUpdates as $criteria) { + $criteriaSanitizer = $this->getSanitizer($criteria); + + // Sanitize and retrieve the metric, value, and ttl + $metric = $criteriaSanitizer->getString('metric'); + $value = $criteriaSanitizer->getString('value'); + $ttl = $criteriaSanitizer->getInt('ttl'); + + // Ensure each criterion has metric, value, and ttl + if (empty($metric) || empty($value) || !isset($ttl)) { + // Throw an exception if any of the required fields are missing or empty + throw new PlayerActionException( + __('Invalid criteria format. Metric, value, and ttl must all be present and not empty.') + ); + } + + // Add sanitized criteria + $sanitizedCriteriaUpdates[] = [ + 'metric' => $metric, + 'value' => $value, + 'ttl' => abs($ttl) + ]; + } + + // Create and send the player action to displays under the display group + $this->playerAction->sendAction( + $this->displayFactory->getByDisplayGroupId($displayGroupId), + (new ScheduleCriteriaUpdateAction())->setCriteriaUpdates($sanitizedCriteriaUpdates) + ); + + // Return + $this->getState()->hydrate([ + 'httpStatus' => 204, + 'message' => __('Schedule criteria updates sent to players.'), + 'id' => $displayGroupId + ]); + + return $this->render($request, $response); + } } diff --git a/lib/Controller/Layout.php b/lib/Controller/Layout.php index dd73cdea71..f6f627b50f 100644 --- a/lib/Controller/Layout.php +++ b/lib/Controller/Layout.php @@ -879,7 +879,8 @@ public function applyTemplate(Request $request, Response $response, $id): Respon $this->getDataSetFactory(), '', $this->mediaService, - $layout->folderId + $layout->folderId, + false, ); $template->managePlaylistClosureTable(); diff --git a/lib/Controller/Library.php b/lib/Controller/Library.php index 0a2bb9edb6..ff07ee7ff4 100644 --- a/lib/Controller/Library.php +++ b/lib/Controller/Library.php @@ -1168,6 +1168,14 @@ public function add(Request $request, Response $response) $folderId = $this->getUser()->homeFolderId; } + if ($parsedBody->getInt('playlistId') !== null) { + $playlist = $this->playlistFactory->getById($parsedBody->getInt('playlistId')); + + if ($playlist->isDynamic === 1) { + throw new InvalidArgumentException(__('This Playlist is dynamically managed so cannot accept manual assignments.'), 'isDynamic'); + } + } + $options = array_merge([ 'oldMediaId' => null, 'updateInLayouts' => 0, @@ -1635,7 +1643,9 @@ public function download(Request $request, Response $response, $id) $downloader->useLogger($this->getLog()->getLoggerInterface()); $params = $this->getSanitizer($request->getParams()); - if ($params->getCheckbox('preview') == 1) { + + // Check if preview is allowed for the module + if ($params->getCheckbox('preview') == 1 && $module->allowPreview === 1) { $this->getLog()->debug('download: preview mode, seeing if we can output an image/video'); // Output a 1px image if we're not allowed to see the media. diff --git a/lib/Controller/Module.php b/lib/Controller/Module.php index 7e63afef56..4955466bc4 100644 --- a/lib/Controller/Module.php +++ b/lib/Controller/Module.php @@ -256,6 +256,11 @@ public function settings(Request $request, Response $response, $id) $setting->setValueByType($sanitizedParams, null, true); } + // Preview is not allowed for generic file type + if ($module->allowPreview === 0 && $sanitizedParams->getCheckbox('previewEnabled') == 1) { + throw new InvalidArgumentException(__('Preview is disabled')); + } + // Save $module->save(); diff --git a/lib/Controller/Schedule.php b/lib/Controller/Schedule.php index 655b448996..f59b3fe64e 100644 --- a/lib/Controller/Schedule.php +++ b/lib/Controller/Schedule.php @@ -1747,21 +1747,21 @@ public function edit(Request $request, Response $response, $id) if ($schedule->eventTypeId === \Xibo\Entity\Schedule::$ACTION_EVENT) { $schedule->actionType = $sanitizedParams->getString('actionType'); $schedule->actionTriggerCode = $sanitizedParams->getString('actionTriggerCode'); + $schedule->commandId = $sanitizedParams->getInt('commandId'); $schedule->actionLayoutCode = $sanitizedParams->getString('actionLayoutCode'); $schedule->campaignId = null; } else { $schedule->actionType = null; $schedule->actionTriggerCode = null; + $schedule->commandId = null; $schedule->actionLayoutCode = null; } - // collect commandId only on Command event - // null commandId otherwise + // collect commandId on Command event + // Retain existing commandId value otherwise if ($schedule->eventTypeId === \Xibo\Entity\Schedule::$COMMAND_EVENT) { $schedule->commandId = $sanitizedParams->getInt('commandId'); $schedule->campaignId = null; - } else { - $schedule->commandId = null; } // Set the parentCampaignId for campaign events diff --git a/lib/Controller/Widget.php b/lib/Controller/Widget.php index bb1f0ded8e..abc8940a15 100644 --- a/lib/Controller/Widget.php +++ b/lib/Controller/Widget.php @@ -193,6 +193,10 @@ public function addWidget(Request $request, Response $response, $type, $id) throw new InvalidArgumentException(__('This Layout is not a Draft, please checkout.'), 'layoutId'); } + if ($playlist->isDynamic === 1) { + throw new InvalidArgumentException(__('This Playlist is dynamically managed so cannot accept manual assignments.'), 'isDynamic'); + } + // Load some information about this playlist // loadWidgets = true to keep the ordering correct $playlist->load([ @@ -466,6 +470,10 @@ public function editWidget(Request $request, Response $response, $id) throw new InvalidArgumentException(__('This Layout is not a Draft, please checkout.'), 'layoutId'); } + if ($playlist->isDynamic === 1) { + throw new InvalidArgumentException(__('This Playlist is dynamically managed so cannot accept manual assignments.'), 'isDynamic'); + } + $module = $this->moduleFactory->getByType($widget->type); // Handle common parameters. @@ -679,6 +687,10 @@ public function deleteWidget(Request $request, Response $response, $id) throw new InvalidArgumentException(__('This Layout is not a Draft, please checkout.'), 'layoutId'); } + if ($playlist->isDynamic === 1) { + throw new InvalidArgumentException(__('This Playlist is dynamically managed so cannot accept manual assignments.'), 'isDynamic'); + } + // Delete clears these, so cache them. $widgetMedia = $widget->mediaIds; @@ -837,6 +849,10 @@ public function editWidgetTransition(Request $request, Response $response, $type throw new InvalidArgumentException(__('This Layout is not a Draft, please checkout.'), 'layoutId'); } + if ($playlist->isDynamic === 1) { + throw new InvalidArgumentException(__('This Playlist is dynamically managed so cannot accept manual assignments.'), 'isDynamic'); + } + $widget->load(); $sanitizedParams = $this->getSanitizer($request->getParams()); @@ -1002,6 +1018,10 @@ public function widgetAudio(Request $request, Response $response, $id) throw new InvalidArgumentException(__('This Layout is not a Draft, please checkout.'), 'layoutId'); } + if ($playlist->isDynamic === 1) { + throw new InvalidArgumentException(__('This Playlist is dynamically managed so cannot accept manual assignments.'), 'isDynamic'); + } + // Are we allowed to do this? if ($widget->type === 'subplaylist') { throw new InvalidArgumentException( @@ -1091,6 +1111,10 @@ public function widgetAudioDelete(Request $request, Response $response, $id) throw new InvalidArgumentException(__('This Layout is not a Draft, please checkout.'), 'layoutId'); } + if ($playlist->isDynamic === 1) { + throw new InvalidArgumentException(__('This Playlist is dynamically managed so cannot accept manual assignments.'), 'isDynamic'); + } + $widget->load(); foreach ($widget->audio as $audio) { @@ -1529,6 +1553,10 @@ public function widgetExpiry(Request $request, Response $response, $id) throw new InvalidArgumentException(__('This Layout is not a Draft, please checkout.'), 'layoutId'); } + if ($playlist->isDynamic === 1) { + throw new InvalidArgumentException(__('This Playlist is dynamically managed so cannot accept manual assignments.'), 'isDynamic'); + } + $widget->load(); // Pull in the parameters we are expecting from the form. diff --git a/lib/Dependencies/Factories.php b/lib/Dependencies/Factories.php index 25b36296f7..5f8ba457aa 100644 --- a/lib/Dependencies/Factories.php +++ b/lib/Dependencies/Factories.php @@ -43,6 +43,11 @@ public static function registerFactoriesWithDi() $repository->useBaseDependenciesService($c->get('RepositoryBaseDependenciesService')); return $repository; }, + 'apiRequestsFactory' => function (ContainerInterface $c) { + $repository = new \Xibo\Factory\ApplicationRequestsFactory(); + $repository->useBaseDependenciesService($c->get('RepositoryBaseDependenciesService')); + return $repository; + }, 'applicationFactory' => function (ContainerInterface $c) { $repository = new \Xibo\Factory\ApplicationFactory( $c->get('user'), diff --git a/lib/Entity/ApplicationRequest.php b/lib/Entity/ApplicationRequest.php new file mode 100644 index 0000000000..4406fa74be --- /dev/null +++ b/lib/Entity/ApplicationRequest.php @@ -0,0 +1,94 @@ +. + */ + +namespace Xibo\Entity; + +use Symfony\Component\EventDispatcher\EventDispatcherInterface; +use Xibo\Service\LogServiceInterface; +use Xibo\Storage\StorageServiceInterface; + +class ApplicationRequest implements \JsonSerializable +{ + use EntityTrait; + + /** + * @SWG\Property(description="The request ID") + * @var int + */ + public $requestId; + + /** + * @SWG\Property(description="The user ID") + * @var int + */ + public $userId; + + /** + * @SWG\Property(description="The application ID") + * @var string + */ + public $applicationId; + + /** + * @SWG\Property(description="The request route") + * @var string + */ + public $url; + + /** + * @SWG\Property(description="The request method") + * @var string + */ + public $method; + + /** + * @SWG\Property(description="The request start time") + * @var string + */ + public $startTime; + + /** + * @SWG\Property(description="The request end time") + * @var string + */ + public $endTime; + + /** + * @SWG\Property(description="The request duration") + * @var int + */ + public $duration; + + /** + * Entity constructor. + * @param StorageServiceInterface $store + * @param LogServiceInterface $log + * @param EventDispatcherInterface $dispatcher + */ + public function __construct( + StorageServiceInterface $store, + LogServiceInterface $log, + EventDispatcherInterface $dispatcher + ) { + $this->setCommonDependencies($store, $log, $dispatcher); + } +} diff --git a/lib/Entity/DataSet.php b/lib/Entity/DataSet.php index 7d435cb656..674f90e7e8 100644 --- a/lib/Entity/DataSet.php +++ b/lib/Entity/DataSet.php @@ -119,7 +119,8 @@ class DataSet implements \JsonSerializable public $isRealTime = 0; /** - * @SWG\Property(description="Indicates the source of the data connector. Requires the Real time flag. Can be null, user-defined, or a connector.") + * @SWG\Property(description="Indicates the source of the data connector. Requires the Real time flag. Can be null, + * user-defined, or a connector.") * @var string */ public $dataConnectorSource; @@ -499,9 +500,11 @@ public function getData($filterBy = [], $options = [], $extraParams = []) 'connection' => 'default' ], $options); + // Params (start from extraParams supplied) + $params = $extraParams; + // Fetch display tag value/s if ($filter != '' && $displayId != 0) { - // Define the regular expression to match [Tag:...] $pattern = '/\[Tag:[^]]+\]/'; @@ -529,6 +532,8 @@ public function getData($filterBy = [], $options = [], $extraParams = []) ]; } + $tagCount = 1; + // Loop through each tag and get the actual tag value from the database foreach ($displayTags as $tag) { $tagSanitizer = $this->getSanitizer($tag); @@ -539,21 +544,23 @@ public function getData($filterBy = [], $options = [], $extraParams = []) $query = 'SELECT `lktagdisplaygroup`.`value` AS tagValue FROM `lkdisplaydg` - INNER JOIN `displaygroup` ON `displaygroup`.displayGroupId = `lkdisplaydg`.displayGroupId + INNER JOIN `displaygroup` + ON `displaygroup`.displayGroupId = `lkdisplaydg`.displayGroupId AND `displaygroup`.isDisplaySpecific = 1 - INNER JOIN `lktagdisplaygroup` ON `lktagdisplaygroup`.displayGroupId = `lkdisplaydg`.displayGroupId + INNER JOIN `lktagdisplaygroup` + ON `lktagdisplaygroup`.displayGroupId = `lkdisplaydg`.displayGroupId INNER JOIN `tag` ON `lktagdisplaygroup`.tagId = `tag`.tagId WHERE `lkdisplaydg`.displayId = :displayId AND `tag`.`tag` = :tagName LIMIT 1'; - $params = [ + $tagParams = [ 'displayId' => $displayId, 'tagName' => $tagName ]; // Execute the query - $results = $this->getStore()->select($query, $params); + $results = $this->getStore()->select($query, $tagParams); // Determine the tag value if (!empty($results)) { @@ -564,14 +571,14 @@ public function getData($filterBy = [], $options = [], $extraParams = []) } // Replace the tag string in the filter with the actual tag value or default value - $filter = str_replace($tagString, $tagValue, $filter); + $filter = str_replace($tagString, ':tagValue_'.$tagCount, $filter); + $params['tagValue_'.$tagCount] = $tagValue; + + $tagCount++; } } } - // Params (start from extraParams supplied) - $params = $extraParams; - // Sanitize the filter options provided // Get the Latitude and Longitude ( might be used in a formula ) if ($displayId == 0) { @@ -1094,8 +1101,8 @@ public function deleteData() */ private function add() { - $columns = 'DataSet, Description, UserID, `code`, `isLookup`, `isRemote`,'; - $columns .= '`lastDataEdit`, `lastClear`, `folderId`, `permissionsFolderId`, `isRealTime`, `dataConnectorSource`'; + $columns = 'DataSet, Description, UserID, `code`, `isLookup`, `isRemote`, `lastDataEdit`,'; + $columns .= '`lastClear`, `folderId`, `permissionsFolderId`, `isRealTime`, `dataConnectorSource`'; $values = ':dataSet, :description, :userId, :code, :isLookup, :isRemote,'; $values .= ':lastDataEdit, :lastClear, :folderId, :permissionsFolderId, :isRealTime, :dataConnectorSource'; diff --git a/lib/Entity/DataSetColumn.php b/lib/Entity/DataSetColumn.php index 837f00cb19..b153f3b43a 100644 --- a/lib/Entity/DataSetColumn.php +++ b/lib/Entity/DataSetColumn.php @@ -466,7 +466,7 @@ private function sqlDataType() switch ($this->dataTypeId) { case 2: - $dataType = 'FLOAT'; + $dataType = 'DOUBLE'; break; case 3: diff --git a/lib/Entity/DisplayEvent.php b/lib/Entity/DisplayEvent.php index 094bfc60dd..2c29000200 100644 --- a/lib/Entity/DisplayEvent.php +++ b/lib/Entity/DisplayEvent.php @@ -123,7 +123,7 @@ private function edit(): void * @param int $eventTypeId * @return void */ - public function eventEnd(int $displayId, int $eventTypeId = 1, ?int $date = null): void + public function eventEnd(int $displayId, int $eventTypeId = 1, string $detail = null, ?int $date = null): void { $this->getLog()->debug( sprintf( @@ -134,14 +134,15 @@ public function eventEnd(int $displayId, int $eventTypeId = 1, ?int $date = null ); $this->getStore()->update( - 'UPDATE `displayevent` SET `end` = :toDt + "UPDATE `displayevent` SET `end` = :toDt, `detail` = CONCAT_WS('. ', NULLIF(`detail`, ''), :detail) WHERE displayId = :displayId AND `end` IS NULL - AND eventTypeId = :eventTypeId', + AND eventTypeId = :eventTypeId", [ 'toDt' => $date ?? Carbon::now()->format('U'), 'displayId' => $displayId, 'eventTypeId' => $eventTypeId, + 'detail' => $detail, ] ); } @@ -154,7 +155,7 @@ public function eventEnd(int $displayId, int $eventTypeId = 1, ?int $date = null * @param int|null $date * @return void */ - public function eventEndByReference(int $displayId, int $eventTypeId, int $refId, ?int $date = null): void + public function eventEndByReference(int $displayId, int $eventTypeId, int $refId, string $detail = null, ?int $date = null): void { $this->getLog()->debug( sprintf( @@ -165,17 +166,21 @@ public function eventEndByReference(int $displayId, int $eventTypeId, int $refId ) ); + // When updating the event end, concatenate the end message to the current message $this->getStore()->update( - 'UPDATE `displayevent` SET `end` = :toDt + "UPDATE `displayevent` SET + `end` = :toDt, + `detail` = CONCAT_WS('. ', NULLIF(`detail`, ''), :detail) WHERE displayId = :displayId AND `end` IS NULL AND eventTypeId = :eventTypeId - AND refId = :refId', + AND refId = :refId", [ 'toDt' => $date ?? Carbon::now()->format('U'), 'displayId' => $displayId, 'eventTypeId' => $eventTypeId, 'refId' => $refId, + 'detail' => $detail, ] ); } diff --git a/lib/Entity/Module.php b/lib/Entity/Module.php index ef48af81a5..10c9c84fc5 100644 --- a/lib/Entity/Module.php +++ b/lib/Entity/Module.php @@ -290,6 +290,7 @@ class Module implements \JsonSerializable public $errors; // + public $allowPreview; /** @var ModuleFactory */ private $moduleFactory; diff --git a/lib/Factory/ApplicationRequestsFactory.php b/lib/Factory/ApplicationRequestsFactory.php new file mode 100644 index 0000000000..2054168d7f --- /dev/null +++ b/lib/Factory/ApplicationRequestsFactory.php @@ -0,0 +1,40 @@ +. + */ + +namespace Xibo\Factory; + +use Xibo\Entity\ApplicationRequest; + +/** + * Class ApplicationRequestsFactory + * @package Xibo\Factory + */ +class ApplicationRequestsFactory extends BaseFactory +{ + /** + * @return ApplicationRequest + */ + public function createEmpty(): ApplicationRequest + { + return new ApplicationRequest($this->getStore(), $this->getLog(), $this->getDispatcher()); + } +} diff --git a/lib/Factory/DataSetFactory.php b/lib/Factory/DataSetFactory.php index 2dca372d0b..5b702aaa6e 100644 --- a/lib/Factory/DataSetFactory.php +++ b/lib/Factory/DataSetFactory.php @@ -541,6 +541,14 @@ function ($v) use ($dataSet) { array_shift($array); } + // Filter out rows that are entirely empty + $array = array_filter($array, function($row) { + // Check if the row is empty (all elements are empty or null) + return array_filter($row, function($value) { + return !empty($value); + }); + }); + $result->entries = $array; $result->number = count($array); } diff --git a/lib/Factory/LayoutFactory.php b/lib/Factory/LayoutFactory.php index c8ae292c5d..9e96f71b54 100644 --- a/lib/Factory/LayoutFactory.php +++ b/lib/Factory/LayoutFactory.php @@ -36,7 +36,6 @@ use Xibo\Helper\DateFormatHelper; use Xibo\Service\ConfigServiceInterface; use Xibo\Service\MediaServiceInterface; -use Xibo\Support\Exception\ConfigurationException; use Xibo\Support\Exception\DuplicateEntityException; use Xibo\Support\Exception\GeneralException; use Xibo\Support\Exception\InvalidArgumentException; @@ -1252,7 +1251,7 @@ public function loadByJson($layoutJson, $playlistJson, $nestedPlaylistJson, Fold * @param string $zipFile * @param string $layoutName * @param int $userId - * @param int $template + * @param int $template Are we importing a layout to be used as a template? * @param int $replaceExisting * @param int $importTags * @param bool $useExistingDataSets @@ -1261,12 +1260,10 @@ public function loadByJson($layoutJson, $playlistJson, $nestedPlaylistJson, Fold * @param string $tags * @param MediaServiceInterface $mediaService * @param int $folderId + * @param bool $isSystemTags Should we add the system tags (currently the "imported" tag) * @return Layout - * @throws DuplicateEntityException - * @throws GeneralException - * @throws InvalidArgumentException - * @throws NotFoundException - * @throws ConfigurationException + * @throws \FontLib\Exception\FontNotFoundException + * @throws \Xibo\Support\Exception\GeneralException */ public function createFromZip( $zipFile, @@ -1280,7 +1277,8 @@ public function createFromZip( $dataSetFactory, $tags, MediaServiceInterface $mediaService, - int $folderId + int $folderId, + bool $isSystemTags = true, ) { $this->getLog()->debug(sprintf( 'Create Layout from ZIP File: %s, imported name will be %s.', @@ -1433,8 +1431,11 @@ public function createFromZip( $layout->assignTag($this->tagFactory->tagFromString('template')); } - // Tag as imported - $layout->assignTag($this->tagFactory->tagFromString('imported')); + // Add system tags? + if ($isSystemTags) { + // Tag as imported + $layout->assignTag($this->tagFactory->tagFromString('imported')); + } // Tag from the upload form $tagsFromForm = (($tags != '') ? $this->tagFactory->tagsFromString($tags) : []); diff --git a/lib/Factory/ModuleFactory.php b/lib/Factory/ModuleFactory.php index 59273df0d6..46637e1f71 100644 --- a/lib/Factory/ModuleFactory.php +++ b/lib/Factory/ModuleFactory.php @@ -754,6 +754,7 @@ private function createFromXml(string $file, array $modulesWithSettings): Module $module->renderAs = $this->getFirstValueOrDefaultFromXmlNode($xml, 'renderAs'); $module->defaultDuration = intval($this->getFirstValueOrDefaultFromXmlNode($xml, 'defaultDuration')); $module->hasThumbnail = intval($this->getFirstValueOrDefaultFromXmlNode($xml, 'hasThumbnail', 0)); + $module->allowPreview = intval($this->getFirstValueOrDefaultFromXmlNode($xml, 'allowPreview', 1)); // Validator classes foreach ($xml->getElementsByTagName('validatorClass') as $node) { diff --git a/lib/Factory/UserGroupFactory.php b/lib/Factory/UserGroupFactory.php index 1cb7dd8d2b..8151560095 100644 --- a/lib/Factory/UserGroupFactory.php +++ b/lib/Factory/UserGroupFactory.php @@ -760,6 +760,11 @@ public function getFeatures() 'group' => 'displays', 'title' => __('Allow edits including deletion for all added Displays') ], + 'displays.limitedView' => [ + 'feature' => 'displays.limitedView', + 'group' => 'displays', + 'title' => __('Allow access to non-destructive edit-only features') + ], 'displaygroup.view' => [ 'feature' => 'displaygroup.view', 'group' => 'displays', @@ -775,6 +780,11 @@ public function getFeatures() 'group' => 'displays', 'title' => __('Allow edits including deletion for all created Display Groups') ], + 'displaygroup.limitedView' => [ + 'feature' => 'displaygroup.limitedView', + 'group' => 'displays', + 'title' => __('Allow access to non-destructive edit-only features in a Display Group') + ], 'displayprofile.view' => [ 'feature' => 'displayprofile.view', 'group' => 'displays', diff --git a/lib/Helper/AccessibleMonologWriter.php b/lib/Helper/AccessibleMonologWriter.php deleted file mode 100644 index aa9786e8f2..0000000000 --- a/lib/Helper/AccessibleMonologWriter.php +++ /dev/null @@ -1,39 +0,0 @@ -resource; - } - - public function addHandler($handler) { - if (!$this->resource) - $this->settings['handlers'][] = $handler; - else - $this->getWriter()->pushHandler($handler); - } - - public function addProcessor($processor) { - if (!$this->resource) - $this->settings['processors'][] = $processor; - else - $this->getWriter()->pushProcessor($processor); - } -} \ No newline at end of file diff --git a/lib/Helper/DataSetUploadHandler.php b/lib/Helper/DataSetUploadHandler.php index 0b5a2c8dfc..7f1eec68c8 100644 --- a/lib/Helper/DataSetUploadHandler.php +++ b/lib/Helper/DataSetUploadHandler.php @@ -62,6 +62,20 @@ protected function handleFormData($file, $index) throw new AccessDeniedException(); } + // Get all columns + $columns = $dataSet->getColumn(); + + // Filter columns where dataSetColumnType is "Value" + $filteredColumns = array_filter($columns, function ($column) { + return $column->dataSetColumnTypeId == '1'; + }); + + // Check if there are any value columns defined in the dataset + if (count($filteredColumns) === 0) { + $controller->getLog()->error('Import failed: No value columns defined in the dataset.'); + throw new InvalidArgumentException(__('Import failed: No value columns defined in the dataset.')); + } + // We are allowed to edit - pull all required parameters from the request object $overwrite = $sanitizer->getCheckbox('overwrite'); $ignoreFirstRow = $sanitizer->getCheckbox('ignorefirstrow'); @@ -90,16 +104,22 @@ protected function handleFormData($file, $index) if ($overwrite == 1) $dataSet->deleteData(); - // Load the file - ini_set('auto_detect_line_endings', true); - $firstRow = true; $i = 0; - $handle = fopen($controller->getConfig()->getSetting('LIBRARY_LOCATION') . 'temp/' . $fileName, 'r'); while (($data = fgetcsv($handle)) !== FALSE ) { $i++; + // remove any elements that doesn't contain any value from the array + $filteredData = array_filter($data, function($value) { + return !empty($value); + }); + + // Skip empty lines without any delimiters or data + if (empty($filteredData)) { + continue; + } + $row = []; // The CSV file might have headings, so ignore the first row. @@ -137,9 +157,6 @@ protected function handleFormData($file, $index) // Close the file fclose($handle); - // Change the auto detect setting back - ini_set('auto_detect_line_endings', false); - // TODO: update list content definitions // Save the dataSet diff --git a/lib/Helper/Environment.php b/lib/Helper/Environment.php index e3e52fffd3..d342e40b05 100644 --- a/lib/Helper/Environment.php +++ b/lib/Helper/Environment.php @@ -30,7 +30,7 @@ */ class Environment { - public static $WEBSITE_VERSION_NAME = '4.1.0-rc1'; + public static $WEBSITE_VERSION_NAME = '4.1.0'; public static $XMDS_VERSION = '7'; public static $XLF_VERSION = 4; public static $VERSION_REQUIRED = '8.1.0'; diff --git a/lib/Helper/RouteLogProcessor.php b/lib/Helper/RouteLogProcessor.php new file mode 100644 index 0000000000..cf2aeeea2a --- /dev/null +++ b/lib/Helper/RouteLogProcessor.php @@ -0,0 +1,54 @@ +. + */ + + +namespace Xibo\Helper; + +/** + * Class RouteLogProcessor + * a process to add route/method information to the log record + * @package Xibo\Helper + */ +class RouteLogProcessor +{ + /** + * Log Processor + * @param string $route + * @param string $method + */ + public function __construct( + private readonly string $route, + private readonly string $method + ) { + } + + /** + * @param array $record + * @return array + */ + public function __invoke(array $record): array + { + $record['extra']['method'] = $this->method; + $record['extra']['route'] = $this->route; + return $record; + } +} diff --git a/lib/Helper/LogProcessor.php b/lib/Helper/UserLogProcessor.php similarity index 75% rename from lib/Helper/LogProcessor.php rename to lib/Helper/UserLogProcessor.php index 97b3b3cf99..dee8b66b52 100644 --- a/lib/Helper/LogProcessor.php +++ b/lib/Helper/UserLogProcessor.php @@ -24,23 +24,19 @@ namespace Xibo\Helper; /** - * Class LogProcessor + * Class UserLogProcessor * @package Xibo\Helper */ -class LogProcessor +class UserLogProcessor { /** - * Log Processor - * @param string $route - * @param string $method - * @param int|null $userId + * UserLogProcessor + * @param int $userId * @param int|null $sessionHistoryId * @param int|null $requestId */ public function __construct( - private readonly string $route, - private readonly string $method, - private readonly ?int $userId, + private readonly int $userId, private readonly ?int $sessionHistoryId, private readonly ?int $requestId ) { @@ -52,12 +48,7 @@ public function __construct( */ public function __invoke(array $record): array { - $record['extra']['method'] = $this->method; - $record['extra']['route'] = $this->route; - - if ($this->userId != null) { - $record['extra']['userId'] = $this->userId; - } + $record['extra']['userId'] = $this->userId; if ($this->sessionHistoryId != null) { $record['extra']['sessionHistoryId'] = $this->sessionHistoryId; @@ -69,4 +60,4 @@ public function __invoke(array $record): array return $record; } -} \ No newline at end of file +} diff --git a/lib/Middleware/ApiAuthorization.php b/lib/Middleware/ApiAuthorization.php index b322116c1e..0e9fd98607 100644 --- a/lib/Middleware/ApiAuthorization.php +++ b/lib/Middleware/ApiAuthorization.php @@ -32,6 +32,7 @@ use Slim\App as App; use Slim\Routing\RouteContext; use Xibo\Factory\ApplicationScopeFactory; +use Xibo\Helper\UserLogProcessor; use Xibo\OAuth\AccessTokenRepository; use Xibo\Support\Exception\AccessDeniedException; @@ -192,16 +193,26 @@ public function process(Request $request, RequestHandler $handler): Response ', [ 'userId' => $user->userId, 'applicationId' => $validatedRequest->getAttribute('oauth_client_id'), - 'url' => $resource, + 'url' => htmlspecialchars($request->getUri()->getPath()), 'method' => $request->getMethod(), 'startTime' => Carbon::now(), 'endTime' => Carbon::now(), 'duration' => 0 - ]); + ], 'api_requests_history'); + + $this->app->getContainer()->get('store')->commitIfNecessary('api_requests_history'); $logger->setUserId($user->userId); $this->app->getContainer()->set('user', $user); $logger->setRequestId($requestId); + + // Add this request information to the logger. + $logger->getLoggerInterface()->pushProcessor(new UserLogProcessor( + $user->userId, + null, + $requestId, + )); + return $handler->handle($validatedRequest->withAttribute('name', 'API')); } } diff --git a/lib/Middleware/AuthenticationTrait.php b/lib/Middleware/AuthenticationTrait.php index dd3ac24c4f..72d2d1972c 100644 --- a/lib/Middleware/AuthenticationTrait.php +++ b/lib/Middleware/AuthenticationTrait.php @@ -29,6 +29,7 @@ use Slim\Routing\RouteContext; use Xibo\Entity\User; use Xibo\Helper\HttpsDetect; +use Xibo\Helper\UserLogProcessor; /** * Trait AuthenticationTrait @@ -143,7 +144,15 @@ protected function getUser($userId, $ip, $sessionHistoryId): User */ protected function setUserForRequest($user) { - $this->app->getContainer()->set('user', $user); + $container = $this->app->getContainer(); + $container->set('user', $user); + + // Add this users information to the logger + $this->getLog()->getLoggerInterface()->pushProcessor(new UserLogProcessor( + $user->userId, + $this->getLog()->getSessionHistoryId(), + null, + )); } /** diff --git a/lib/Middleware/Log.php b/lib/Middleware/Log.php index 5760260bc8..8c2462b586 100644 --- a/lib/Middleware/Log.php +++ b/lib/Middleware/Log.php @@ -28,13 +28,18 @@ use Psr\Http\Server\RequestHandlerInterface as RequestHandler; use Psr\Log\LoggerInterface; use Slim\App as App; -use Xibo\Helper\LogProcessor; +use Xibo\Helper\RouteLogProcessor; +/** + * Log Middleware + */ class Log implements Middleware { - /* @var App $app */ - private $app; + private App $app; + /** + * @param $app + */ public function __construct($app) { $this->app = $app; @@ -44,18 +49,14 @@ public function __construct($app) * @param Request $request * @param RequestHandler $handler * @return Response + * @throws \Psr\Container\ContainerExceptionInterface + * @throws \Psr\Container\NotFoundExceptionInterface */ public function process(Request $request, RequestHandler $handler): Response { $container = $this->app->getContainer(); - self::addLogProcessorToLogger( - $container->get('logger'), - $request, - $container->get('logService')->getUserId(), - $container->get('logService')->getSessionHistoryId(), - $container->get('logService')->getRequestId(), - ); + self::addLogProcessorToLogger($container->get('logger'), $request); return $handler->handle($request); } @@ -63,23 +64,14 @@ public function process(Request $request, RequestHandler $handler): Response /** * @param LoggerInterface $logger * @param \Psr\Http\Message\ServerRequestInterface $request - * @param ?int $userId - * @param ?int $sessionHistoryId */ public static function addLogProcessorToLogger( LoggerInterface $logger, Request $request, - ?int $userId = null, - ?int $sessionHistoryId = null, - ?int $requestId = null - ) { - $logHelper = new LogProcessor( + ): void { + $logger->pushProcessor(new RouteLogProcessor( $request->getUri()->getPath(), $request->getMethod(), - $userId, - $sessionHistoryId, - $requestId - ); - $logger->pushProcessor($logHelper); + )); } } diff --git a/lib/Report/ApiRequests.php b/lib/Report/ApiRequests.php index 2ca9bd7a07..085bb8df2b 100644 --- a/lib/Report/ApiRequests.php +++ b/lib/Report/ApiRequests.php @@ -28,6 +28,7 @@ use Xibo\Entity\ReportForm; use Xibo\Entity\ReportResult; use Xibo\Entity\ReportSchedule; +use Xibo\Factory\ApplicationRequestsFactory; use Xibo\Factory\AuditLogFactory; use Xibo\Factory\LogFactory; use Xibo\Helper\DateFormatHelper; @@ -45,11 +46,15 @@ class ApiRequests implements ReportInterface /** @var AuditLogFactory */ private $auditLogFactory; + /** @var ApplicationRequestsFactory */ + private $apiRequestsFactory; + /** @inheritdoc */ public function setFactories(ContainerInterface $container) { $this->logFactory = $container->get('logFactory'); $this->auditLogFactory = $container->get('auditLogFactory'); + $this->apiRequestsFactory = $container->get('apiRequestsFactory'); return $this; } @@ -319,7 +324,7 @@ public function getResults(SanitizerInterface $sanitizedParams) $rows, count($rows), ); - } else { + } else if ($type === 'debug') { $params = [ 'fromDt' => $fromDt->format(DateFormatHelper::getSystemFormat()), 'toDt' => $toDt->format(DateFormatHelper::getSystemFormat()), @@ -395,6 +400,64 @@ public function getResults(SanitizerInterface $sanitizedParams) $rows[] = $logRecord; } + return new ReportResult( + $metadata, + $rows, + count($rows), + ); + } else { + $params = [ + 'fromDt' => $fromDt->format(DateFormatHelper::getSystemFormat()), + 'toDt' => $toDt->format(DateFormatHelper::getSystemFormat()), + ]; + + $sql = 'SELECT + `application_requests_history`.applicationId, + `application_requests_history`.requestId, + `application_requests_history`.userId, + `application_requests_history`.url, + `application_requests_history`.method, + `application_requests_history`.startTime, + `oauth_clients`.name AS applicationName, + `user`.`userName` + FROM `application_requests_history` + INNER JOIN `user` + ON `user`.`userId` = `application_requests_history`.`userId` + INNER JOIN `oauth_clients` + ON `oauth_clients`.id = `application_requests_history`.applicationId + WHERE `application_requests_history`.startTime BETWEEN :fromDt AND :toDt + '; + + if ($sanitizedParams->getInt('userId') !== null) { + $sql .= ' AND `application_requests_history`.`userId` = :userId'; + $params['userId'] = $sanitizedParams->getInt('userId'); + } + + // Sorting? + $sortOrder = $this->gridRenderSort($sanitizedParams); + + if (is_array($sortOrder)) { + $sql .= ' ORDER BY ' . implode(',', $sortOrder); + } + + $rows = []; + + foreach ($this->store->select($sql, $params) as $row) { + $apiRequestRecord = $this->apiRequestsFactory->createEmpty()->hydrate($row); + + $apiRequestRecord->setUnmatchedProperty( + 'userName', + $row['userName'] + ); + + $apiRequestRecord->setUnmatchedProperty( + 'applicationName', + $row['applicationName'] + ); + + $rows[] = $apiRequestRecord; + } + return new ReportResult( $metadata, $rows, diff --git a/lib/Report/Bandwidth.php b/lib/Report/Bandwidth.php index 3fb2bc333f..2d18f37f46 100644 --- a/lib/Report/Bandwidth.php +++ b/lib/Report/Bandwidth.php @@ -255,7 +255,7 @@ public function getResults(SanitizerInterface $sanitizedParams) $params['displayid'] = $displayId; } - $SQL .= 'GROUP BY display.display '; + $SQL .= 'GROUP BY display.displayId, display.display '; if ($displayId != 0) { $SQL .= ' , bandwidthtype.name '; diff --git a/lib/Report/TimeDisconnectedSummary.php b/lib/Report/TimeDisconnectedSummary.php index ef3fe494a5..78d6ce0c6f 100644 --- a/lib/Report/TimeDisconnectedSummary.php +++ b/lib/Report/TimeDisconnectedSummary.php @@ -198,6 +198,7 @@ public function getResults(SanitizerInterface $sanitizedParams) $tags = $sanitizedParams->getString('tags'); $onlyLoggedIn = $sanitizedParams->getCheckbox('onlyLoggedIn') == 1; + $groupBy = $sanitizedParams->getString('groupBy'); $currentDate = Carbon::now()->startOfDay(); @@ -340,6 +341,10 @@ public function getResults(SanitizerInterface $sanitizedParams) $displayBody = 'FROM `display` '; + if ($groupBy === 'displayGroup') { + $displaySelect .= ', displaydg.displayGroup, displaydg.displayGroupId '; + } + if ($tags != '') { $displayBody .= 'INNER JOIN `lkdisplaydg` ON lkdisplaydg.DisplayID = display.displayid @@ -347,12 +352,24 @@ public function getResults(SanitizerInterface $sanitizedParams) ON displaygroup.displaygroupId = lkdisplaydg.displaygroupId AND `displaygroup`.isDisplaySpecific = 1 '; } + + // Grouping Option + if ($groupBy === 'displayGroup') { + $displayBody .= 'INNER JOIN `lkdisplaydg` AS linkdg + ON linkdg.DisplayID = display.displayid + INNER JOIN `displaygroup` AS displaydg + ON displaydg.displaygroupId = linkdg.displaygroupId + AND `displaydg`.isDisplaySpecific = 0 '; + } + $displayBody .= 'WHERE 1 = 1 '; if (count($displayIds) > 0) { $displayBody .= 'AND display.displayId IN (' . implode(',', $displayIds) . ') '; } + $tagParams = []; + if ($tags != '') { if (trim($tags) === '--no-tag') { $displayBody .= ' AND `displaygroup`.displaygroupId NOT IN ( @@ -383,9 +400,9 @@ public function getResults(SanitizerInterface $sanitizedParams) } if ($operator === '=') { - $params['tags' . $i] = $tag; + $tagParams['tags' . $i] = $tag; } else { - $params['tags' . $i] = '%' . $tag . '%'; + $tagParams['tags' . $i] = '%' . $tag . '%'; } } @@ -401,6 +418,14 @@ public function getResults(SanitizerInterface $sanitizedParams) GROUP BY display.display, display.displayId '; + if ($tags != '') { + $displayBody .= ', displaygroup.displayGroupId '; + } + + if ($groupBy === 'displayGroup') { + $displayBody .= ', displaydg.displayGroupId '; + } + // Sorting? $sortOrder = $this->gridRenderSort($sanitizedParams); @@ -414,7 +439,7 @@ public function getResults(SanitizerInterface $sanitizedParams) $rows = []; // Retrieve the disconnected/connected time from the $disconnectedDisplays array into displays - foreach ($this->store->select($displaySql, []) as $displayRow) { + foreach ($this->store->select($displaySql, $tagParams) as $displayRow) { $sanitizedDisplayRow = $this->sanitizer->getSanitizer($displayRow); $entry = []; $displayId = $sanitizedDisplayRow->getInt(('displayId')); @@ -423,6 +448,15 @@ public function getResults(SanitizerInterface $sanitizedParams) $entry['timeDisconnected'] = $disconnectedDisplays[$displayId]['timeDisconnected'] ?? 0 ; $entry['timeConnected'] = $disconnectedDisplays[$displayId]['timeConnected'] ?? round(($toDt->format('U') - $fromDt->format('U')) / $divisor, 2); $entry['postUnits'] = $postUnits; + $entry['displayGroupId'] = $sanitizedDisplayRow->getInt(('displayGroupId')); + $entry['displayGroup'] = $sanitizedDisplayRow->getString(('displayGroup')); + $entry['avgTimeDisconnected'] = 0; + $entry['avgTimeConnected'] = 0; + $entry['availabilityPercentage'] = $this->getAvailabilityPercentage( + $entry['timeConnected'], + $entry['timeDisconnected'] + ) . '%'; + $rows[] = $entry; } @@ -435,10 +469,16 @@ public function getResults(SanitizerInterface $sanitizedParams) $availabilityLabels = []; $postUnits = ''; + if ($groupBy === 'displayGroup') { + $rows = $this->getByDisplayGroup($rows, $sanitizedParams->getIntArray('displayGroupId', ['default' => []])); + } + foreach ($rows as $row) { $availabilityData[] = $row['timeDisconnected']; $availabilityDataConnected[] = $row['timeConnected']; - $availabilityLabels[] = $row['display']; + $availabilityLabels[] = ($groupBy === 'displayGroup') + ? $row['displayGroup'] + : $row['display']; $postUnits = $row['postUnits']; } @@ -500,4 +540,63 @@ public function getResults(SanitizerInterface $sanitizedParams) $chart ); } + + /** + * Get the Availability Percentage + * @param float $connectedTime + * @param float $disconnectedTime + * @return float + */ + private function getAvailabilityPercentage(float $connectedTime, float $disconnectedTime) : float + { + $connectedPercentage = $connectedTime/($connectedTime + $disconnectedTime ?: 1); + + return abs(round($connectedPercentage * 100, 2)); + } + + /** + * Get the accumulated value by display groups + * @param array $rows + * @param array $displayGroupIds + * @return array + */ + private function getByDisplayGroup(array $rows, array $displayGroupIds = []) : array + { + $data = []; + $displayGroups = []; + + // Get the accumulated values by displayGroupId + foreach ($rows as $row) { + $displayGroupId = $row['displayGroupId']; + + if (isset($displayGroups[$displayGroupId])) { + $displayGroups[$displayGroupId]['timeDisconnected'] += $row['timeDisconnected']; + $displayGroups[$displayGroupId]['timeConnected'] += $row['timeConnected']; + $displayGroups[$displayGroupId]['count'] += 1; + } else { + $row['count'] = 1; + $displayGroups[$displayGroupId] = $row; + } + } + + // Get all display groups or selected display groups only + foreach ($displayGroups as $displayGroup) { + if (!$displayGroupIds || in_array($displayGroup['displayGroupId'], $displayGroupIds)) { + $displayGroup['timeConnected'] = round($displayGroup['timeConnected'], 2); + $displayGroup['timeDisconnected'] = round($displayGroup['timeDisconnected'], 2); + $displayGroup['availabilityPercentage'] = $this->getAvailabilityPercentage( + $displayGroup['timeConnected'], + $displayGroup['timeDisconnected'] + ) . '%'; + + // Calculate the average values + $displayGroup['avgTimeConnected'] = round($displayGroup['timeConnected'] / $displayGroup['count'], 2); + $displayGroup['avgTimeDisconnected'] = round($displayGroup['timeDisconnected'] / $displayGroup['count'], 2); + + $data[] = $displayGroup; + } + } + + return $data; + } } diff --git a/lib/Service/LogService.php b/lib/Service/LogService.php index 4715edebaa..f11386900c 100644 --- a/lib/Service/LogService.php +++ b/lib/Service/LogService.php @@ -117,17 +117,17 @@ public function setRequestId($requestId) $this->requestId = $requestId; } - public function getUserId(): int + public function getUserId(): ?int { return $this->userId; } - public function getSessionHistoryId() + public function getSessionHistoryId(): ?int { return $this->sessionHistoryId; } - public function getRequestId() + public function getRequestId(): ?int { return $this->requestId; } diff --git a/lib/Service/LogServiceInterface.php b/lib/Service/LogServiceInterface.php index fc4143766b..6ecd6badd7 100644 --- a/lib/Service/LogServiceInterface.php +++ b/lib/Service/LogServiceInterface.php @@ -45,6 +45,10 @@ public function __construct($logger, $mode = 'production'); */ public function getLoggerInterface(): LoggerInterface; + public function getUserId(): ?int; + public function getSessionHistoryId(): ?int; + public function getRequestId(): ?int; + /** * Set the user Id * @param int $userId @@ -155,4 +159,4 @@ public static function resolveLogLevel($level); * @param $level */ public function setLevel($level); -} \ No newline at end of file +} diff --git a/lib/Widget/Definition/Property.php b/lib/Widget/Definition/Property.php index ec6d701ba9..db953d6d8e 100644 --- a/lib/Widget/Definition/Property.php +++ b/lib/Widget/Definition/Property.php @@ -279,6 +279,23 @@ public function validate(array $properties, string $stage): Property } break; + case 'windowsPath': + // Ensure the path is a valid Windows file path ending in a file, not a directory + $windowsPathRegex = '/^(?P[A-Za-z]:)(?P(?:\\\\[^<>:"\/\\\\|?*\r\n]+)+)(?P\\\\[^<>:"\/\\\\|?*\r\n]+)$/'; + + // Check if the test value is not empty and does not match the regular expression + if (!empty($testValue) + && !preg_match($windowsPathRegex, $testValue) + ) { + // Throw an InvalidArgumentException if the test value is not a valid Windows path + throw new InvalidArgumentException( + $message ?? sprintf(__('%s must be a valid Windows path'), $this->title), + $this->id + ); + } + + break; + case 'interval': if (!empty($testValue)) { // Try to create a date interval from it diff --git a/lib/XMR/ScheduleCriteriaUpdateAction.php b/lib/XMR/ScheduleCriteriaUpdateAction.php new file mode 100644 index 0000000000..5b703fff7e --- /dev/null +++ b/lib/XMR/ScheduleCriteriaUpdateAction.php @@ -0,0 +1,67 @@ +. + */ + +namespace Xibo\XMR; + +/** + * Class ScheduleCriteriaUpdateAction + * @package Xibo\XMR + */ +class ScheduleCriteriaUpdateAction extends PlayerAction +{ + /** + * @var array + */ + public $criteriaUpdates = []; + + public function __construct() + { + $this->setQos(10); + } + + /** + * Set criteria updates + * @param array $criteriaUpdates an array of criteria updates + * @return $this + */ + public function setCriteriaUpdates(array $criteriaUpdates) + { + $this->criteriaUpdates = $criteriaUpdates; + return $this; + } + + /** + * @inheritdoc + */ + public function getMessage(): string + { + $this->action = 'criteriaUpdate'; + + // Ensure criteriaUpdates array is not empty + if (empty($this->criteriaUpdates)) { + // Throw an exception if criteriaUpdates is not provided + throw new PlayerActionException(__('Criteria updates not provided.')); + } + + return $this->serializeToJson(['criteriaUpdates']); + } +} diff --git a/lib/XTR/RemoteDataSetFetchTask.php b/lib/XTR/RemoteDataSetFetchTask.php index 816fbaa309..0bdd16e585 100644 --- a/lib/XTR/RemoteDataSetFetchTask.php +++ b/lib/XTR/RemoteDataSetFetchTask.php @@ -99,6 +99,20 @@ public function run() continue; } + // Get all columns + $columns = $dataSet->getColumn(); + + // Filter columns where dataSetColumnType is "Remote" + $filteredColumns = array_filter($columns, function ($column) { + return $column->dataSetColumnTypeId == '3'; + }); + + // Check if there are any remote columns defined in the dataset + if (count($filteredColumns) === 0) { + $this->log->info('Skipping dataSet ' . $dataSet->dataSetId . ': No remote columns defined in the dataset.'); + continue; + } + $this->log->debug('Comparing run time ' . $runTime . ' to next sync time ' . $dataSet->getNextSyncTime()); if ($runTime >= $dataSet->getNextSyncTime()) { diff --git a/lib/Xmds/Soap.php b/lib/Xmds/Soap.php index 539cc80479..8c1f843abe 100644 --- a/lib/Xmds/Soap.php +++ b/lib/Xmds/Soap.php @@ -594,7 +594,8 @@ protected function doRequiredFiles( if ($dataSet->dataConnectorSource != 'user_defined') { // Dispatch an event to save the data connector javascript from the connector $dataConnectorScriptRequestEvent = new DataConnectorScriptRequestEvent($dataSet); - $this->getDispatcher()->dispatch($dataConnectorScriptRequestEvent, DataConnectorScriptRequestEvent::$NAME); + $this->getDispatcher() + ->dispatch($dataConnectorScriptRequestEvent, DataConnectorScriptRequestEvent::$NAME); } $this->addDependency( @@ -3200,8 +3201,8 @@ private function createDisplayAlert(\DomElement $alertNode) $displayEvent = $this->displayEventFactory->createEmpty(); $eventTypeId = $displayEvent->getEventIdFromString($eventType); empty($refId) - ? $displayEvent->eventEnd($this->display->displayId, $eventTypeId, $date) - : $displayEvent->eventEndByReference($this->display->displayId, $eventTypeId, $refId); + ? $displayEvent->eventEnd($this->display->displayId, $eventTypeId, $detail, $date) + : $displayEvent->eventEndByReference($this->display->displayId, $eventTypeId, $refId, $detail); } } } diff --git a/lib/routes.php b/lib/routes.php index bc419848a8..d8318337b6 100644 --- a/lib/routes.php +++ b/lib/routes.php @@ -423,6 +423,7 @@ $app->post('/displaygroup', ['\Xibo\Controller\DisplayGroup','add']) ->addMiddleware(new \Xibo\Middleware\FeatureAuth($app->getContainer(), ['displaygroup.add'])) ->setName('displayGroup.add'); +$app->post('/displaygroup/criteria/{displayGroupId}', ['\Xibo\Controller\DisplayGroup','pushCriteriaUpdate'])->setName('displayGroup.criteria.push'); $app->post('/displaygroup/{id}/action/collectNow', ['\Xibo\Controller\DisplayGroup','collectNow']) ->addMiddleware(new \Xibo\Middleware\FeatureAuth($app->getContainer(), ['displaygroup.view'])) diff --git a/locale/af.mo b/locale/af.mo index 30f6b3e8cf..c6939dab57 100755 Binary files a/locale/af.mo and b/locale/af.mo differ diff --git a/locale/ar.mo b/locale/ar.mo index fbb6777c73..18f1d3e554 100755 Binary files a/locale/ar.mo and b/locale/ar.mo differ diff --git a/locale/bg.mo b/locale/bg.mo index 85045c245e..c114fb8d66 100755 Binary files a/locale/bg.mo and b/locale/bg.mo differ diff --git a/locale/ca.mo b/locale/ca.mo index d4ac42a844..3bfd2998f8 100755 Binary files a/locale/ca.mo and b/locale/ca.mo differ diff --git a/locale/cs.mo b/locale/cs.mo index 81915859c1..f55b68e424 100755 Binary files a/locale/cs.mo and b/locale/cs.mo differ diff --git a/locale/da.mo b/locale/da.mo index cf38ce73c6..5e366d45ee 100755 Binary files a/locale/da.mo and b/locale/da.mo differ diff --git a/locale/de.mo b/locale/de.mo index dd38edb581..c3a10f2805 100755 Binary files a/locale/de.mo and b/locale/de.mo differ diff --git a/locale/default.pot b/locale/default.pot index 089b501cb6..be00d2708e 100755 --- a/locale/default.pot +++ b/locale/default.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-07-24 10:13+0100\n" +"POT-Creation-Date: 2024-08-29 08:35+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -20,7 +20,7 @@ msgstr "" #: locale/moduletranslate.php:3 locale/dbtranslate.php:73 #: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:1996 #: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:2230 -#: cache/1b/1b4d10b8bb67ce8b30ada153b15daf6e.php:510 +#: cache/1b/1b4d10b8bb67ce8b30ada153b15daf6e.php:512 msgid "Audio" msgstr "" @@ -382,7 +382,7 @@ msgstr "" #: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:1220 #: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:1489 #: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:1629 -#: cache/4c/4c1de7ab59196b70ffa9f9da4d4e3b9c.php:409 +#: cache/4c/4c1de7ab59196b70ffa9f9da4d4e3b9c.php:413 msgid "Left" msgstr "" @@ -476,7 +476,7 @@ msgstr "" #: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:1216 #: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:1485 #: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:1621 -#: cache/4c/4c1de7ab59196b70ffa9f9da4d4e3b9c.php:413 +#: cache/4c/4c1de7ab59196b70ffa9f9da4d4e3b9c.php:409 msgid "Top" msgstr "" @@ -1140,7 +1140,7 @@ msgstr "" #: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:1767 #: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:1876 #: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:2260 -#: cache/1b/1b54f8dd2f1a33488bb30d63484f87f7.php:146 +#: cache/1b/1b54f8dd2f1a33488bb30d63484f87f7.php:157 #: cache/23/2360e54d15ebe919cd8f4305d3819359.php:412 #: cache/05/05600263dc8230138bb0f89338bbef69.php:137 #: cache/c5/c5ca1344d07a74a91c5de3a21d4c2de4.php:139 @@ -1164,8 +1164,8 @@ msgstr "" #: locale/moduletranslate.php:917 #: cache/4f/4f86b68b499f4cd831a26849e7ca7d16.php:117 #: cache/fb/fb4bc86a9035b6ec146f3221bdb0c2c1.php:118 -#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:2866 -#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:3018 +#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:2870 +#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:3022 #: cache/71/7116c27ed9d9118b32072e096012ea7b.php:118 #: lib/Widget/DataType/Article.php:74 msgid "Link" @@ -1415,7 +1415,7 @@ msgid "Upload SWF files to assign to Layouts" msgstr "" #: locale/moduletranslate.php:385 locale/dbtranslate.php:99 -#: lib/Connector/OpenWeatherMapConnector.php:652 +#: lib/Connector/OpenWeatherMapConnector.php:667 msgid "Weather" msgstr "" @@ -1606,8 +1606,8 @@ msgstr "" #: locale/moduletranslate.php:2497 locale/dbtranslate.php:52 #: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:1988 #: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:2222 -#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:2878 -#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:3030 +#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:2882 +#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:3034 #: lib/Widget/DataType/Product.php:52 lib/Widget/DataType/Article.php:77 #: lib/Widget/DataType/ProductCategory.php:43 msgid "Image" @@ -1792,9 +1792,9 @@ msgid "Leave empty to use the one from settings." msgstr "" #: locale/moduletranslate.php:501 locale/moduletranslate.php:2646 -#: cache/86/86d9a0599e765017f2e6f2e4a7025625.php:375 +#: cache/86/86d9a0599e765017f2e6f2e4a7025625.php:427 #: cache/0a/0ae358955c92f467744fc6cf0f8f5624.php:130 -#: cache/41/413dbe6a803c413d6ff11377888e1e0d.php:354 +#: cache/41/413dbe6a803c413d6ff11377888e1e0d.php:371 #: cache/58/582bf6a35fd9661de4021ae6aad02414.php:198 #: cache/cd/cdf12d9a1fc3b5db7965cfa8f9bb8d13.php:132 #: cache/53/53221a3cb3187e41cde32cfa796d45a7.php:123 @@ -1807,8 +1807,8 @@ msgid "Provide Mastodon username to get public statuses from the account." msgstr "" #: locale/moduletranslate.php:503 -#: cache/86/86d9a0599e765017f2e6f2e4a7025625.php:581 -#: cache/41/413dbe6a803c413d6ff11377888e1e0d.php:560 +#: cache/86/86d9a0599e765017f2e6f2e4a7025625.php:633 +#: cache/41/413dbe6a803c413d6ff11377888e1e0d.php:577 #: lib/Report/DistributionReport.php:490 #: lib/Report/SummaryDistributionCommonTrait.php:89 #: lib/Report/SummaryReport.php:482 @@ -1988,7 +1988,8 @@ msgstr "" #: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:2256 #: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:2288 #: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:2402 -#: cache/1b/1b54f8dd2f1a33488bb30d63484f87f7.php:142 +#: cache/1b/1b54f8dd2f1a33488bb30d63484f87f7.php:131 +#: cache/1b/1b54f8dd2f1a33488bb30d63484f87f7.php:153 #: cache/23/235acc51022bf578b604ce47dd2743a4.php:145 #: cache/23/23114ff234f79ee13968407a57f6252d.php:100 #: cache/23/238f0b98d7f96aca9a850e8b230fe1fb.php:118 @@ -2326,8 +2327,8 @@ msgid "" msgstr "" #: locale/moduletranslate.php:602 -#: cache/86/86d9a0599e765017f2e6f2e4a7025625.php:420 -#: cache/41/413dbe6a803c413d6ff11377888e1e0d.php:399 +#: cache/86/86d9a0599e765017f2e6f2e4a7025625.php:472 +#: cache/41/413dbe6a803c413d6ff11377888e1e0d.php:416 msgid "User Agent" msgstr "" @@ -2537,6 +2538,7 @@ msgstr "" #: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:2185 #: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:2374 #: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:2426 +#: cache/1b/1b4d10b8bb67ce8b30ada153b15daf6e.php:493 #: cache/34/3453edc522f8d2c6d1d154ad55500693.php:66 #: lib/Entity/Schedule.php:2089 msgid "Playlist" @@ -3255,8 +3257,8 @@ msgstr "" #: cache/f6/f60761fa1e2b5ad016f9d13f094f9488.php:56 #: cache/97/97f2c018825ccdd326aad4a0b160725e.php:122 #: cache/97/97f2c018825ccdd326aad4a0b160725e.php:167 -#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:2846 -#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:2998 +#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:2850 +#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:3002 #: cache/26/26272b78e1f020a579ccf676c2d83a39.php:115 #: cache/cd/cdfcf24fb200643d729a7d42581ab314.php:204 #: cache/fa/faa7a864be7733d5d543f560dd13d215.php:204 @@ -3266,8 +3268,8 @@ msgstr "" #: locale/moduletranslate.php:909 locale/moduletranslate.php:1411 #: locale/moduletranslate.php:1790 -#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:2850 -#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:3002 +#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:2854 +#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:3006 #: lib/Widget/DataType/Article.php:70 lib/Widget/DataType/Event.php:61 msgid "Summary" msgstr "" @@ -3275,8 +3277,8 @@ msgstr "" #: locale/moduletranslate.php:910 #: cache/6e/6e8678de8ffffc5ed3b935eb9c3f6eb0.php:165 #: cache/64/6468accf3a0fea12fced661d430c769f.php:269 -#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:2854 -#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:3006 +#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:2858 +#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:3010 #: cache/8e/8e4c9c1886827e5f797c4436d4051e48.php:106 #: lib/Widget/DataType/Article.php:71 msgid "Content" @@ -3292,8 +3294,8 @@ msgstr "" #: locale/moduletranslate.php:913 #: cache/ae/ae039a69e1615431d4752f5fb2b147d3.php:124 -#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:2858 -#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:3010 +#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:2862 +#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:3014 #: cache/cd/cdfcf24fb200643d729a7d42581ab314.php:219 #: cache/fa/faa7a864be7733d5d543f560dd13d215.php:219 #: lib/Widget/DataType/Article.php:72 @@ -3306,8 +3308,8 @@ msgstr "" #: locale/moduletranslate.php:2587 locale/moduletranslate.php:2647 #: locale/dbtranslate.php:33 cache/04/04b11bf7b7a8190d66899471a8930ffd.php:353 #: cache/66/661d79c5da6d14a0db85cd0980868ff7.php:166 -#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:2870 -#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:3022 +#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:2874 +#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:3026 #: cache/0e/0ed8020e97c517a55ad881cfc5dd0b4c.php:182 #: cache/c5/c5ca1344d07a74a91c5de3a21d4c2de4.php:151 #: cache/c5/c5ca1344d07a74a91c5de3a21d4c2de4.php:174 @@ -3317,15 +3319,15 @@ msgid "Date" msgstr "" #: locale/moduletranslate.php:915 -#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:2874 -#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:3026 +#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:2878 +#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:3030 #: lib/Widget/DataType/Article.php:76 msgid "Published Date" msgstr "" #: locale/moduletranslate.php:918 -#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:2862 -#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:3014 +#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:2866 +#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:3018 #: lib/Widget/DataType/Article.php:73 msgid "Permalink" msgstr "" @@ -3381,8 +3383,8 @@ msgstr "" #: cache/3c/3cff55fb510343a28bcab4eebabcb98a.php:283 #: cache/68/683636238aff529d5a7b7478118dede4.php:2925 #: cache/ee/ee0c1651752b1209943673ee1794a659.php:283 -#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:2907 -#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:3059 +#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:2911 +#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:3063 msgid "Date Format" msgstr "" @@ -3537,7 +3539,7 @@ msgstr "" #: locale/moduletranslate.php:952 locale/moduletranslate.php:974 #: locale/moduletranslate.php:995 locale/moduletranslate.php:1808 #: locale/moduletranslate.php:2504 -#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:2756 +#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:2760 msgid "Fill" msgstr "" @@ -3633,8 +3635,8 @@ msgstr "" #: locale/moduletranslate.php:2409 locale/moduletranslate.php:2435 #: locale/moduletranslate.php:2471 locale/moduletranslate.php:2611 #: locale/moduletranslate.php:2625 -#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:2891 -#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:3043 +#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:2895 +#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:3047 msgid "Font Size" msgstr "" @@ -3711,8 +3713,8 @@ msgstr "" #: locale/moduletranslate.php:1069 locale/moduletranslate.php:1403 #: locale/moduletranslate.php:2437 locale/moduletranslate.php:2473 -#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:2895 -#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:3047 +#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:2899 +#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:3051 msgid "Bold" msgstr "" @@ -3722,8 +3724,8 @@ msgstr "" #: locale/moduletranslate.php:1071 locale/moduletranslate.php:1405 #: locale/moduletranslate.php:2439 locale/moduletranslate.php:2475 -#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:2899 -#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:3051 +#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:2903 +#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:3055 msgid "Italics" msgstr "" @@ -3733,8 +3735,8 @@ msgstr "" #: locale/moduletranslate.php:1073 locale/moduletranslate.php:1407 #: locale/moduletranslate.php:2441 locale/moduletranslate.php:2477 -#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:2903 -#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:3055 +#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:2907 +#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:3059 msgid "Underline" msgstr "" @@ -3968,8 +3970,8 @@ msgstr "" #: locale/moduletranslate.php:1796 locale/moduletranslate.php:2434 #: locale/moduletranslate.php:2470 locale/moduletranslate.php:2612 #: locale/moduletranslate.php:2626 -#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:2887 -#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:3039 +#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:2891 +#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:3043 msgid "Font Colour" msgstr "" @@ -4373,12 +4375,12 @@ msgid "Icon" msgstr "" #: locale/moduletranslate.php:1798 -#: lib/Connector/OpenWeatherMapConnector.php:675 +#: lib/Connector/OpenWeatherMapConnector.php:690 msgid "Wind Direction" msgstr "" #: locale/moduletranslate.php:1799 -#: lib/Connector/OpenWeatherMapConnector.php:673 +#: lib/Connector/OpenWeatherMapConnector.php:688 msgid "Wind Speed" msgstr "" @@ -4614,13 +4616,13 @@ msgstr "" #: locale/moduletranslate.php:2358 locale/moduletranslate.php:2382 #: locale/moduletranslate.php:2414 #: cache/c8/c81aa074ed0c595eefef0776b8c89639.php:624 -#: cache/86/86d9a0599e765017f2e6f2e4a7025625.php:337 -#: cache/86/86d9a0599e765017f2e6f2e4a7025625.php:571 +#: cache/86/86d9a0599e765017f2e6f2e4a7025625.php:389 +#: cache/86/86d9a0599e765017f2e6f2e4a7025625.php:623 #: cache/80/8016dad6634116cf39ffaf1bbf646931.php:681 -#: cache/41/413dbe6a803c413d6ff11377888e1e0d.php:316 -#: cache/41/413dbe6a803c413d6ff11377888e1e0d.php:550 +#: cache/41/413dbe6a803c413d6ff11377888e1e0d.php:333 +#: cache/41/413dbe6a803c413d6ff11377888e1e0d.php:567 #: cache/bf/bfa04d76ea96a772caeedcfdf9d70e40.php:231 -#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:3153 +#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:3157 #: cache/38/38e5186bcfa9917c4ec02d8c626e2552.php:361 #: cache/0e/0e02100c0f3615b819bb09d3e2a17b8a.php:408 #: cache/26/26272b78e1f020a579ccf676c2d83a39.php:175 @@ -4891,8 +4893,8 @@ msgid "The colour of the container background" msgstr "" #: locale/moduletranslate.php:2432 locale/moduletranslate.php:2468 -#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:2883 -#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:3035 +#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:2887 +#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:3039 msgid "Font Family" msgstr "" @@ -4969,8 +4971,8 @@ msgid "Enter the URL of the image you want to use." msgstr "" #: locale/moduletranslate.php:2500 -#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:2911 -#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:3063 +#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:2915 +#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:3067 msgid "Opacity" msgstr "" @@ -5001,8 +5003,8 @@ msgstr "" #: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:1493 #: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:1637 #: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:1918 -#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:2915 -#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:3067 +#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:2919 +#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:3071 #: cache/4c/4c1de7ab59196b70ffa9f9da4d4e3b9c.php:417 msgid "Width" msgstr "" @@ -5013,7 +5015,7 @@ msgstr "" #: locale/moduletranslate.php:2524 #: cache/bf/bfa04d76ea96a772caeedcfdf9d70e40.php:134 -#: cache/bf/bfa04d76ea96a772caeedcfdf9d70e40.php:343 +#: cache/bf/bfa04d76ea96a772caeedcfdf9d70e40.php:342 msgid "Style" msgstr "" @@ -5630,7 +5632,7 @@ msgstr "" msgid "Fade In" msgstr "" -#: locale/dbtranslate.php:27 cache/74/744308e2456d1f83f205ef9ab9fe3022.php:3181 +#: locale/dbtranslate.php:27 cache/74/744308e2456d1f83f205ef9ab9fe3022.php:3185 msgid "Fade Out" msgstr "" @@ -5644,7 +5646,7 @@ msgstr "" #: locale/dbtranslate.php:37 cache/c8/c81aa074ed0c595eefef0776b8c89639.php:856 #: cache/80/8016dad6634116cf39ffaf1bbf646931.php:912 -#: cache/66/664c6c931a53dbf67110ec2cb80223cf.php:238 +#: cache/66/664c6c931a53dbf67110ec2cb80223cf.php:243 #: cache/0e/0ed8020e97c517a55ad881cfc5dd0b4c.php:306 #: cache/cb/cb1c15ce617fd7e7648d38bb0b2b48f5.php:616 #: cache/cb/cb1c15ce617fd7e7648d38bb0b2b48f5.php:758 @@ -6002,11 +6004,11 @@ msgstr "" msgid "Right now" msgstr "" -#: locale/dbtranslate.php:167 lib/Connector/OpenWeatherMapConnector.php:698 +#: locale/dbtranslate.php:167 lib/Connector/OpenWeatherMapConnector.php:713 msgid "Pressure" msgstr "" -#: locale/dbtranslate.php:168 lib/Connector/OpenWeatherMapConnector.php:700 +#: locale/dbtranslate.php:168 lib/Connector/OpenWeatherMapConnector.php:715 msgid "Visibility" msgstr "" @@ -6323,7 +6325,7 @@ msgstr "" #: cache/d4/d41eb57456e7d0ead8c455e4652b975c.php:80 #: cache/41/416015b714a3d4ce25c4f5a60b5e0869.php:72 #: cache/41/413dbe6a803c413d6ff11377888e1e0d.php:70 -#: cache/bf/bfa04d76ea96a772caeedcfdf9d70e40.php:419 +#: cache/bf/bfa04d76ea96a772caeedcfdf9d70e40.php:418 #: cache/ae/ae925f8de1afddaa54d77aba65ebb00b.php:69 #: cache/a9/a9e5683d775fba4115fbe1530a299060.php:72 #: cache/ea/ea83fd6b5caea08dc04b78466d82213e.php:72 @@ -6332,7 +6334,7 @@ msgstr "" #: cache/5e/5ec96adf0346509994d4c975eac80689.php:69 #: cache/fb/fb4bc86a9035b6ec146f3221bdb0c2c1.php:69 #: cache/7f/7fc756b1f76699c2b9e7d2bfb64e9999.php:69 -#: cache/66/664c6c931a53dbf67110ec2cb80223cf.php:134 +#: cache/66/664c6c931a53dbf67110ec2cb80223cf.php:139 #: cache/81/811403ea85a4f89fb6575e4ffc9988d8.php:72 #: cache/d7/d7326d049226360861decd025d796004.php:72 #: cache/d7/d7ce5b1f05d3a691d8332e778a077544.php:75 @@ -6342,9 +6344,9 @@ msgstr "" #: cache/33/33968a0a5a1ed14133e2cd23ec95b9a9.php:69 #: cache/74/746ec3a82f78da39c0d83b4d24c675b3.php:75 #: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:1367 -#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:2935 +#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:2939 #: cache/1b/1b54f8dd2f1a33488bb30d63484f87f7.php:72 -#: cache/1b/1b4d10b8bb67ce8b30ada153b15daf6e.php:396 +#: cache/1b/1b4d10b8bb67ce8b30ada153b15daf6e.php:400 #: cache/23/235acc51022bf578b604ce47dd2743a4.php:72 #: cache/23/23114ff234f79ee13968407a57f6252d.php:69 #: cache/23/2360e54d15ebe919cd8f4305d3819359.php:71 @@ -6758,7 +6760,7 @@ msgstr "" #: cache/5e/5ec96adf0346509994d4c975eac80689.php:102 #: cache/8a/8acc5a2af63338673a6de3f58764bb95.php:175 #: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:1030 -#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:2461 +#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:2465 #: cache/23/2360e54d15ebe919cd8f4305d3819359.php:166 #: cache/63/63a123f42a16165e90cd9f604b2de4bd.php:122 #: cache/0b/0bf1ec6ab33ef0ba5938df774146f8dc.php:141 @@ -6771,10 +6773,10 @@ msgstr "" #: cache/cb/cb1c15ce617fd7e7648d38bb0b2b48f5.php:912 #: cache/10/10b7f3b85c460e6ccc00e28eed2bf591.php:656 #: cache/70/70af2bbd82243291558c9b83caec5b48.php:161 -#: lib/Controller/Template.php:233 lib/Controller/DisplayGroup.php:348 -#: lib/Controller/DataSet.php:280 lib/Controller/Campaign.php:348 +#: lib/Controller/Template.php:233 lib/Controller/DisplayGroup.php:352 +#: lib/Controller/DataSet.php:282 lib/Controller/Campaign.php:348 #: lib/Controller/MenuBoard.php:170 lib/Controller/Playlist.php:411 -#: lib/Controller/Library.php:667 lib/Controller/Layout.php:1810 +#: lib/Controller/Library.php:667 lib/Controller/Layout.php:1811 #: lib/Controller/Display.php:943 msgid "Select Folder" msgstr "" @@ -6810,7 +6812,7 @@ msgstr "" #: cache/e3/e3e074211e42eadb55ae8cb6ceeaa722.php:55 #: cache/e3/e3e074211e42eadb55ae8cb6ceeaa722.php:89 #: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:2264 -#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:2830 +#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:2834 #: cache/23/238f0b98d7f96aca9a850e8b230fe1fb.php:174 #: cache/23/238f0b98d7f96aca9a850e8b230fe1fb.php:271 #: cache/23/2360e54d15ebe919cd8f4305d3819359.php:200 @@ -7085,7 +7087,7 @@ msgstr "" #: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:1326 #: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:1338 #: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:2201 -#: cache/1b/1b4d10b8bb67ce8b30ada153b15daf6e.php:477 +#: cache/1b/1b4d10b8bb67ce8b30ada153b15daf6e.php:481 #: cache/38/38e5186bcfa9917c4ec02d8c626e2552.php:188 #: cache/0e/0e02100c0f3615b819bb09d3e2a17b8a.php:212 #: cache/c5/c5ca1344d07a74a91c5de3a21d4c2de4.php:135 @@ -7097,8 +7099,7 @@ msgstr "" #: cache/3d/3d685e4b4f0f4e045b5cc2697b26574d.php:88 #: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:2358 -#: cache/1b/1b4d10b8bb67ce8b30ada153b15daf6e.php:481 -#: cache/1b/1b4d10b8bb67ce8b30ada153b15daf6e.php:500 +#: cache/1b/1b4d10b8bb67ce8b30ada153b15daf6e.php:485 msgid "Region" msgstr "" @@ -7123,22 +7124,22 @@ msgstr "" #: cache/3d/3d685e4b4f0f4e045b5cc2697b26574d.php:192 #: cache/e7/e7012f849ea8937cd0edbed2b7de4de8.php:986 #: cache/88/880da8bf57750f4e35ce30624c0c6d79.php:168 -#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:2939 +#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:2943 #: cache/fe/fe92f223f863fb1896ced5bd33b8c256.php:560 #: cache/11/1107af5e0742401bd7bdcb180ef3991e.php:177 #: lib/Controller/Task.php:136 lib/Controller/Template.php:225 -#: lib/Controller/DisplayGroup.php:330 lib/Controller/DataSet.php:272 +#: lib/Controller/DisplayGroup.php:334 lib/Controller/DataSet.php:274 #: lib/Controller/ScheduleReport.php:216 lib/Controller/Notification.php:270 #: lib/Controller/Campaign.php:327 lib/Controller/Campaign.php:335 #: lib/Controller/MenuBoard.php:162 lib/Controller/Playlist.php:396 #: lib/Controller/Transition.php:94 lib/Controller/Library.php:652 #: lib/Controller/SyncGroup.php:170 lib/Controller/DataSetColumn.php:173 -#: lib/Controller/Tag.php:231 lib/Controller/Layout.php:1802 +#: lib/Controller/Tag.php:231 lib/Controller/Layout.php:1803 #: lib/Controller/MenuBoardCategory.php:191 #: lib/Controller/DisplayProfile.php:202 lib/Controller/User.php:337 #: lib/Controller/Applications.php:178 lib/Controller/Resolution.php:161 #: lib/Controller/Display.php:839 lib/Controller/MenuBoardProduct.php:191 -#: lib/Controller/Developer.php:103 lib/Controller/PlayerSoftware.php:157 +#: lib/Controller/Developer.php:102 lib/Controller/PlayerSoftware.php:157 #: lib/Controller/Command.php:178 lib/Controller/DataSetRss.php:163 #: lib/Controller/Schedule.php:2462 lib/Controller/UserGroup.php:157 #: lib/Controller/DayPart.php:154 @@ -7151,7 +7152,7 @@ msgstr "" #: cache/68/6890d35803a665b9db578df45f0f60f0.php:57 #: cache/f9/f92fcbc3e5aadf70527c18c1877f9814.php:56 #: cache/88/880da8bf57750f4e35ce30624c0c6d79.php:172 -#: cache/bf/bfa04d76ea96a772caeedcfdf9d70e40.php:449 +#: cache/bf/bfa04d76ea96a772caeedcfdf9d70e40.php:448 #: cache/17/17a063cd6b023f6b3259fc5bb6f3383f.php:68 #: cache/25/257d7652c0b04ca6e480ad5c9beaa3c2.php:247 #: cache/74/746ec3a82f78da39c0d83b4d24c675b3.php:65 @@ -7159,15 +7160,15 @@ msgstr "" #: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:888 #: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:906 #: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:1125 -#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:2943 +#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:2947 #: cache/1b/1b4d10b8bb67ce8b30ada153b15daf6e.php:171 #: cache/34/3453edc522f8d2c6d1d154ad55500693.php:330 #: cache/fe/fe92f223f863fb1896ced5bd33b8c256.php:564 #: cache/11/1107af5e0742401bd7bdcb180ef3991e.php:181 #: lib/Controller/Task.php:143 lib/Controller/Template.php:268 -#: lib/Controller/Template.php:281 lib/Controller/DisplayGroup.php:376 -#: lib/Controller/DisplayGroup.php:389 lib/Controller/DataSet.php:326 -#: lib/Controller/DataSet.php:332 lib/Controller/ScheduleReport.php:236 +#: lib/Controller/Template.php:281 lib/Controller/DisplayGroup.php:380 +#: lib/Controller/DisplayGroup.php:393 lib/Controller/DataSet.php:328 +#: lib/Controller/DataSet.php:334 lib/Controller/ScheduleReport.php:236 #: lib/Controller/ScheduleReport.php:242 lib/Controller/Notification.php:287 #: lib/Controller/Campaign.php:393 lib/Controller/Campaign.php:406 #: lib/Controller/SavedReport.php:177 lib/Controller/SavedReport.php:183 @@ -7175,15 +7176,15 @@ msgstr "" #: lib/Controller/Playlist.php:472 lib/Controller/Library.php:692 #: lib/Controller/Library.php:698 lib/Controller/SyncGroup.php:184 #: lib/Controller/DataSetColumn.php:181 lib/Controller/Tag.php:238 -#: lib/Controller/Tag.php:244 lib/Controller/Layout.php:1860 -#: lib/Controller/Layout.php:1866 lib/Controller/MenuBoardCategory.php:201 +#: lib/Controller/Tag.php:244 lib/Controller/Layout.php:1861 +#: lib/Controller/Layout.php:1867 lib/Controller/MenuBoardCategory.php:201 #: lib/Controller/Font.php:172 lib/Controller/Font.php:181 #: lib/Controller/DisplayProfile.php:223 lib/Controller/User.php:351 #: lib/Controller/Applications.php:185 lib/Controller/Resolution.php:172 #: lib/Controller/Display.php:850 lib/Controller/Display.php:869 #: lib/Controller/MenuBoardProduct.php:201 -#: lib/Controller/MenuBoardProduct.php:207 lib/Controller/Developer.php:171 -#: lib/Controller/Developer.php:184 lib/Controller/PlayerSoftware.php:164 +#: lib/Controller/MenuBoardProduct.php:207 lib/Controller/Developer.php:170 +#: lib/Controller/Developer.php:183 lib/Controller/PlayerSoftware.php:164 #: lib/Controller/PlayerSoftware.php:173 lib/Controller/Command.php:187 #: lib/Controller/Command.php:196 lib/Controller/DataSetRss.php:171 #: lib/Controller/Schedule.php:2468 lib/Controller/Schedule.php:2477 @@ -7332,8 +7333,8 @@ msgstr "" #: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:1497 #: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:1645 #: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:1922 -#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:2919 -#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:3071 +#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:2923 +#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:3075 #: cache/4c/4c1de7ab59196b70ffa9f9da4d4e3b9c.php:421 msgid "Height" msgstr "" @@ -7425,7 +7426,7 @@ msgstr "" #: cache/c5/c52b8109558dd3acc604e183177113c8.php:262 #: cache/cb/cb1c15ce617fd7e7648d38bb0b2b48f5.php:474 #: cache/10/10b7f3b85c460e6ccc00e28eed2bf591.php:933 -#: lib/Controller/Layout.php:1272 +#: lib/Controller/Layout.php:1273 msgid "Off" msgstr "" @@ -7446,7 +7447,7 @@ msgstr "" #: cache/23/2360e54d15ebe919cd8f4305d3819359.php:296 #: cache/c5/c52b8109558dd3acc604e183177113c8.php:267 #: cache/10/10b7f3b85c460e6ccc00e28eed2bf591.php:937 -#: lib/Controller/Layout.php:1272 +#: lib/Controller/Layout.php:1273 msgid "On" msgstr "" @@ -7473,7 +7474,7 @@ msgstr "" #: cache/91/91982ff1ff9899125ec30731f264a8f4.php:73 #: cache/e5/e5310108493cd13aa490732e70fdb013.php:60 #: cache/9e/9e2a80ecdd8879e59308a644c1f6721f.php:73 -#: cache/1b/1b4d10b8bb67ce8b30ada153b15daf6e.php:388 +#: cache/1b/1b4d10b8bb67ce8b30ada153b15daf6e.php:392 #: cache/73/73ac35c5bb699e096000941498cdfdc9.php:66 #: cache/4e/4ecfb080a1b970aaf8c60b2a16c13a4f.php:67 #: cache/67/671e1a0d15cf6622a031b0a7a49f5956.php:73 @@ -7627,7 +7628,7 @@ msgstr "" #: cache/80/8016dad6634116cf39ffaf1bbf646931.php:361 #: cache/7d/7d93daaf181fe08e96e60d7e241a1d1c.php:99 #: cache/88/880da8bf57750f4e35ce30624c0c6d79.php:647 -#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:2656 +#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:2660 #: cache/38/38e5186bcfa9917c4ec02d8c626e2552.php:258 #: cache/51/5183626e7e19083fdf9708e7d778f66f.php:150 #: cache/0e/0e02100c0f3615b819bb09d3e2a17b8a.php:282 @@ -7642,7 +7643,7 @@ msgstr "" #: cache/80/8016dad6634116cf39ffaf1bbf646931.php:376 #: cache/7d/7d93daaf181fe08e96e60d7e241a1d1c.php:114 #: cache/88/880da8bf57750f4e35ce30624c0c6d79.php:662 -#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:2660 +#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:2664 #: cache/38/38e5186bcfa9917c4ec02d8c626e2552.php:273 #: cache/51/5183626e7e19083fdf9708e7d778f66f.php:165 #: cache/0e/0e02100c0f3615b819bb09d3e2a17b8a.php:297 @@ -7726,7 +7727,7 @@ msgstr "" #: cache/c8/c81aa074ed0c595eefef0776b8c89639.php:406 #: cache/80/8016dad6634116cf39ffaf1bbf646931.php:490 -#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:3100 +#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:3104 msgid "Action Type" msgstr "" @@ -7754,14 +7755,14 @@ msgstr "" #: cache/cb/cb1c15ce617fd7e7648d38bb0b2b48f5.php:1270 #: cache/d3/d3aa1431a8c1ca36890facca4eb9503f.php:135 #: cache/10/1090c5665a57f49e6b968318ca49de82.php:113 -#: lib/Entity/Schedule.php:2083 lib/Entity/DisplayEvent.php:216 +#: lib/Entity/Schedule.php:2083 lib/Entity/DisplayEvent.php:221 msgid "Command" msgstr "" #: cache/c8/c81aa074ed0c595eefef0776b8c89639.php:436 #: cache/80/8016dad6634116cf39ffaf1bbf646931.php:520 #: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:1423 -#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:3096 +#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:3100 #: cache/fa/fa66e594804204b7397616a42725bee8.php:87 #: cache/cb/cb1c15ce617fd7e7648d38bb0b2b48f5.php:1242 msgid "Trigger Code" @@ -7776,7 +7777,7 @@ msgstr "" #: cache/80/8016dad6634116cf39ffaf1bbf646931.php:535 #: cache/77/774dde73b0eb7965a680b8a52776fa6b.php:249 #: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:1439 -#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:3116 +#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:3120 msgid "Layout Code" msgstr "" @@ -7892,14 +7893,14 @@ msgid "Per Minute" msgstr "" #: cache/c8/c81aa074ed0c595eefef0776b8c89639.php:634 -#: cache/86/86d9a0599e765017f2e6f2e4a7025625.php:643 -#: cache/86/86d9a0599e765017f2e6f2e4a7025625.php:716 +#: cache/86/86d9a0599e765017f2e6f2e4a7025625.php:695 +#: cache/86/86d9a0599e765017f2e6f2e4a7025625.php:768 #: cache/3c/3c7bd12ad2faa21d9e80b1c4ee69d3b4.php:139 #: cache/68/683636238aff529d5a7b7478118dede4.php:1076 #: cache/80/8016dad6634116cf39ffaf1bbf646931.php:691 #: cache/09/09ce3b6a0541b31d12645b44531faf96.php:139 -#: cache/41/413dbe6a803c413d6ff11377888e1e0d.php:619 -#: cache/41/413dbe6a803c413d6ff11377888e1e0d.php:692 +#: cache/41/413dbe6a803c413d6ff11377888e1e0d.php:636 +#: cache/41/413dbe6a803c413d6ff11377888e1e0d.php:709 #: cache/49/49b3c02c876e8a464a75e1682c064115.php:150 #: cache/74/74cac03bd6d6bdd54edcfd79c1c2a2fb.php:161 #: cache/38/38e5186bcfa9917c4ec02d8c626e2552.php:371 @@ -7908,14 +7909,14 @@ msgid "Hourly" msgstr "" #: cache/c8/c81aa074ed0c595eefef0776b8c89639.php:639 -#: cache/86/86d9a0599e765017f2e6f2e4a7025625.php:648 -#: cache/86/86d9a0599e765017f2e6f2e4a7025625.php:721 +#: cache/86/86d9a0599e765017f2e6f2e4a7025625.php:700 +#: cache/86/86d9a0599e765017f2e6f2e4a7025625.php:773 #: cache/3c/3c7bd12ad2faa21d9e80b1c4ee69d3b4.php:139 #: cache/68/683636238aff529d5a7b7478118dede4.php:1081 #: cache/80/8016dad6634116cf39ffaf1bbf646931.php:696 #: cache/09/09ce3b6a0541b31d12645b44531faf96.php:139 -#: cache/41/413dbe6a803c413d6ff11377888e1e0d.php:624 -#: cache/41/413dbe6a803c413d6ff11377888e1e0d.php:697 +#: cache/41/413dbe6a803c413d6ff11377888e1e0d.php:641 +#: cache/41/413dbe6a803c413d6ff11377888e1e0d.php:714 #: cache/49/49b3c02c876e8a464a75e1682c064115.php:150 #: cache/74/74cac03bd6d6bdd54edcfd79c1c2a2fb.php:161 #: cache/38/38e5186bcfa9917c4ec02d8c626e2552.php:376 @@ -7924,33 +7925,33 @@ msgid "Daily" msgstr "" #: cache/c8/c81aa074ed0c595eefef0776b8c89639.php:644 -#: cache/86/86d9a0599e765017f2e6f2e4a7025625.php:653 -#: cache/86/86d9a0599e765017f2e6f2e4a7025625.php:726 +#: cache/86/86d9a0599e765017f2e6f2e4a7025625.php:705 +#: cache/86/86d9a0599e765017f2e6f2e4a7025625.php:778 #: cache/80/8016dad6634116cf39ffaf1bbf646931.php:701 -#: cache/41/413dbe6a803c413d6ff11377888e1e0d.php:629 -#: cache/41/413dbe6a803c413d6ff11377888e1e0d.php:702 +#: cache/41/413dbe6a803c413d6ff11377888e1e0d.php:646 +#: cache/41/413dbe6a803c413d6ff11377888e1e0d.php:719 #: cache/38/38e5186bcfa9917c4ec02d8c626e2552.php:381 #: cache/0e/0e02100c0f3615b819bb09d3e2a17b8a.php:428 msgid "Weekly" msgstr "" #: cache/c8/c81aa074ed0c595eefef0776b8c89639.php:649 -#: cache/86/86d9a0599e765017f2e6f2e4a7025625.php:663 -#: cache/86/86d9a0599e765017f2e6f2e4a7025625.php:736 +#: cache/86/86d9a0599e765017f2e6f2e4a7025625.php:715 +#: cache/86/86d9a0599e765017f2e6f2e4a7025625.php:788 #: cache/80/8016dad6634116cf39ffaf1bbf646931.php:706 -#: cache/41/413dbe6a803c413d6ff11377888e1e0d.php:639 -#: cache/41/413dbe6a803c413d6ff11377888e1e0d.php:712 +#: cache/41/413dbe6a803c413d6ff11377888e1e0d.php:656 +#: cache/41/413dbe6a803c413d6ff11377888e1e0d.php:729 #: cache/38/38e5186bcfa9917c4ec02d8c626e2552.php:386 #: cache/0e/0e02100c0f3615b819bb09d3e2a17b8a.php:433 msgid "Monthly" msgstr "" #: cache/c8/c81aa074ed0c595eefef0776b8c89639.php:654 -#: cache/86/86d9a0599e765017f2e6f2e4a7025625.php:673 -#: cache/86/86d9a0599e765017f2e6f2e4a7025625.php:746 +#: cache/86/86d9a0599e765017f2e6f2e4a7025625.php:725 +#: cache/86/86d9a0599e765017f2e6f2e4a7025625.php:798 #: cache/80/8016dad6634116cf39ffaf1bbf646931.php:711 -#: cache/41/413dbe6a803c413d6ff11377888e1e0d.php:649 -#: cache/41/413dbe6a803c413d6ff11377888e1e0d.php:722 +#: cache/41/413dbe6a803c413d6ff11377888e1e0d.php:666 +#: cache/41/413dbe6a803c413d6ff11377888e1e0d.php:739 #: cache/38/38e5186bcfa9917c4ec02d8c626e2552.php:391 #: cache/0e/0e02100c0f3615b819bb09d3e2a17b8a.php:438 msgid "Yearly" @@ -8148,13 +8149,13 @@ msgstr "" #: cache/c8/c81aa074ed0c595eefef0776b8c89639.php:848 #: cache/80/8016dad6634116cf39ffaf1bbf646931.php:904 -#: cache/66/664c6c931a53dbf67110ec2cb80223cf.php:234 +#: cache/66/664c6c931a53dbf67110ec2cb80223cf.php:239 msgid "Metric" msgstr "" #: cache/c8/c81aa074ed0c595eefef0776b8c89639.php:852 #: cache/80/8016dad6634116cf39ffaf1bbf646931.php:908 -#: cache/bf/bfa04d76ea96a772caeedcfdf9d70e40.php:671 +#: cache/bf/bfa04d76ea96a772caeedcfdf9d70e40.php:670 msgid "Condition" msgstr "" @@ -8189,7 +8190,7 @@ msgstr "" #: cache/a4/a4b5f52b1992bb349e8a30b19ff24645.php:154 #: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:884 #: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:2044 -#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:2780 +#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:2784 msgid "Playlists" msgstr "" @@ -8408,7 +8409,7 @@ msgstr "" #: cache/64/6468accf3a0fea12fced661d430c769f.php:97 #: cache/df/dfa8c9877043c738d127ce9a84cd99fa.php:146 #: cache/97/97f2c018825ccdd326aad4a0b160725e.php:175 -#: cache/1b/1b4d10b8bb67ce8b30ada153b15daf6e.php:550 +#: cache/1b/1b4d10b8bb67ce8b30ada153b15daf6e.php:542 #: cache/23/238f0b98d7f96aca9a850e8b230fe1fb.php:277 #: cache/8d/8de7dd9661211f3ba39933b564d76990.php:100 #: cache/cb/cbed339b261aade59b9d7cdbdfb46dcc.php:461 @@ -8464,11 +8465,11 @@ msgstr "" #: cache/dc/dc31159d960349451e03fc348c75e315.php:72 #: cache/73/736be9c5f96ff30502beba0ab9149fd4.php:72 #: cache/31/31805080e1e51d4a56cb67fa60bdcb2f.php:72 -#: lib/Controller/Template.php:257 lib/Controller/DisplayGroup.php:336 -#: lib/Controller/DataSet.php:262 lib/Controller/Campaign.php:376 +#: lib/Controller/Template.php:257 lib/Controller/DisplayGroup.php:340 +#: lib/Controller/DataSet.php:264 lib/Controller/Campaign.php:376 #: lib/Controller/Playlist.php:403 lib/Controller/Library.php:659 -#: lib/Controller/Layout.php:1827 lib/Controller/DisplayProfile.php:212 -#: lib/Controller/Developer.php:117 lib/Controller/UserGroup.php:174 +#: lib/Controller/Layout.php:1828 lib/Controller/DisplayProfile.php:212 +#: lib/Controller/Developer.php:116 lib/Controller/UserGroup.php:174 msgid "Copy" msgstr "" @@ -8751,9 +8752,9 @@ msgid "Remote" msgstr "" #: cache/86/86d9a0599e765017f2e6f2e4a7025625.php:100 -#: cache/86/86d9a0599e765017f2e6f2e4a7025625.php:327 +#: cache/86/86d9a0599e765017f2e6f2e4a7025625.php:379 #: cache/41/413dbe6a803c413d6ff11377888e1e0d.php:100 -#: cache/41/413dbe6a803c413d6ff11377888e1e0d.php:306 +#: cache/41/413dbe6a803c413d6ff11377888e1e0d.php:323 msgid "Authentication" msgstr "" @@ -8804,167 +8805,189 @@ msgstr "" msgid "Is this DataSet connected to a real time data source?" msgstr "" -#: cache/86/86d9a0599e765017f2e6f2e4a7025625.php:237 +#: cache/86/86d9a0599e765017f2e6f2e4a7025625.php:236 +#: cache/41/413dbe6a803c413d6ff11377888e1e0d.php:228 +msgid "Data Connector Source" +msgstr "" + +#: cache/86/86d9a0599e765017f2e6f2e4a7025625.php:241 +#: cache/41/413dbe6a803c413d6ff11377888e1e0d.php:233 +msgid "Select data connector source." +msgstr "" + +#: cache/86/86d9a0599e765017f2e6f2e4a7025625.php:260 +msgid "" +"No remote columns have been configured for this dataset. Please configure " +"your columns accordingly." +msgstr "" + +#: cache/86/86d9a0599e765017f2e6f2e4a7025625.php:275 +msgid "" +"No value columns have been configured for this dataset. Please configure " +"your columns accordingly." +msgstr "" + +#: cache/86/86d9a0599e765017f2e6f2e4a7025625.php:289 msgid "" "This DataSet has been accessed or updated recently, which means the CMS will " "keep it active." msgstr "" -#: cache/86/86d9a0599e765017f2e6f2e4a7025625.php:247 -#: cache/41/413dbe6a803c413d6ff11377888e1e0d.php:229 +#: cache/86/86d9a0599e765017f2e6f2e4a7025625.php:299 +#: cache/41/413dbe6a803c413d6ff11377888e1e0d.php:246 msgid "Method" msgstr "" -#: cache/86/86d9a0599e765017f2e6f2e4a7025625.php:252 -#: cache/41/413dbe6a803c413d6ff11377888e1e0d.php:234 +#: cache/86/86d9a0599e765017f2e6f2e4a7025625.php:304 +#: cache/41/413dbe6a803c413d6ff11377888e1e0d.php:251 msgid "What type of request needs to be made to get the remote data?" msgstr "" -#: cache/86/86d9a0599e765017f2e6f2e4a7025625.php:257 +#: cache/86/86d9a0599e765017f2e6f2e4a7025625.php:309 #: cache/04/04b11bf7b7a8190d66899471a8930ffd.php:228 -#: cache/41/413dbe6a803c413d6ff11377888e1e0d.php:239 +#: cache/41/413dbe6a803c413d6ff11377888e1e0d.php:256 msgid "GET" msgstr "" -#: cache/86/86d9a0599e765017f2e6f2e4a7025625.php:262 +#: cache/86/86d9a0599e765017f2e6f2e4a7025625.php:314 #: cache/04/04b11bf7b7a8190d66899471a8930ffd.php:233 -#: cache/41/413dbe6a803c413d6ff11377888e1e0d.php:244 +#: cache/41/413dbe6a803c413d6ff11377888e1e0d.php:261 msgid "POST" msgstr "" -#: cache/86/86d9a0599e765017f2e6f2e4a7025625.php:277 -#: cache/41/413dbe6a803c413d6ff11377888e1e0d.php:259 +#: cache/86/86d9a0599e765017f2e6f2e4a7025625.php:329 +#: cache/41/413dbe6a803c413d6ff11377888e1e0d.php:276 msgid "URI" msgstr "" -#: cache/86/86d9a0599e765017f2e6f2e4a7025625.php:282 -#: cache/41/413dbe6a803c413d6ff11377888e1e0d.php:264 +#: cache/86/86d9a0599e765017f2e6f2e4a7025625.php:334 +#: cache/41/413dbe6a803c413d6ff11377888e1e0d.php:281 msgid "URL to the Remote DataSet for GET and POST." msgstr "" -#: cache/86/86d9a0599e765017f2e6f2e4a7025625.php:294 -#: cache/41/413dbe6a803c413d6ff11377888e1e0d.php:276 +#: cache/86/86d9a0599e765017f2e6f2e4a7025625.php:346 +#: cache/41/413dbe6a803c413d6ff11377888e1e0d.php:293 msgid "Replacements" msgstr "" -#: cache/86/86d9a0599e765017f2e6f2e4a7025625.php:298 -#: cache/41/413dbe6a803c413d6ff11377888e1e0d.php:280 +#: cache/86/86d9a0599e765017f2e6f2e4a7025625.php:350 +#: cache/41/413dbe6a803c413d6ff11377888e1e0d.php:297 msgid "Request date: {{DATE}}" msgstr "" -#: cache/86/86d9a0599e765017f2e6f2e4a7025625.php:302 -#: cache/41/413dbe6a803c413d6ff11377888e1e0d.php:284 +#: cache/86/86d9a0599e765017f2e6f2e4a7025625.php:354 +#: cache/41/413dbe6a803c413d6ff11377888e1e0d.php:301 msgid "Request time: {{TIME}}" msgstr "" -#: cache/86/86d9a0599e765017f2e6f2e4a7025625.php:306 -#: cache/41/413dbe6a803c413d6ff11377888e1e0d.php:288 +#: cache/86/86d9a0599e765017f2e6f2e4a7025625.php:358 +#: cache/41/413dbe6a803c413d6ff11377888e1e0d.php:305 msgid "" "Dependant fields: {{COL.NAME}} where NAME is a FieldName from the dependant " "DataSet" msgstr "" -#: cache/86/86d9a0599e765017f2e6f2e4a7025625.php:312 -#: cache/41/413dbe6a803c413d6ff11377888e1e0d.php:294 +#: cache/86/86d9a0599e765017f2e6f2e4a7025625.php:364 +#: cache/41/413dbe6a803c413d6ff11377888e1e0d.php:311 msgid "" "Data to add to this request. This should be URL encoded, e.g. paramA=1&" "paramB=2." msgstr "" -#: cache/86/86d9a0599e765017f2e6f2e4a7025625.php:332 -#: cache/41/413dbe6a803c413d6ff11377888e1e0d.php:311 +#: cache/86/86d9a0599e765017f2e6f2e4a7025625.php:384 +#: cache/41/413dbe6a803c413d6ff11377888e1e0d.php:328 msgid "" "Select the authentication requirements for the remote data source. These " "will be added to the request." msgstr "" -#: cache/86/86d9a0599e765017f2e6f2e4a7025625.php:342 -#: cache/41/413dbe6a803c413d6ff11377888e1e0d.php:321 +#: cache/86/86d9a0599e765017f2e6f2e4a7025625.php:394 +#: cache/41/413dbe6a803c413d6ff11377888e1e0d.php:338 msgid "Basic" msgstr "" -#: cache/86/86d9a0599e765017f2e6f2e4a7025625.php:347 -#: cache/41/413dbe6a803c413d6ff11377888e1e0d.php:326 +#: cache/86/86d9a0599e765017f2e6f2e4a7025625.php:399 +#: cache/41/413dbe6a803c413d6ff11377888e1e0d.php:343 msgid "Digest" msgstr "" -#: cache/86/86d9a0599e765017f2e6f2e4a7025625.php:352 -#: cache/41/413dbe6a803c413d6ff11377888e1e0d.php:331 +#: cache/86/86d9a0599e765017f2e6f2e4a7025625.php:404 +#: cache/41/413dbe6a803c413d6ff11377888e1e0d.php:348 msgid "NTLM" msgstr "" -#: cache/86/86d9a0599e765017f2e6f2e4a7025625.php:357 -#: cache/41/413dbe6a803c413d6ff11377888e1e0d.php:336 +#: cache/86/86d9a0599e765017f2e6f2e4a7025625.php:409 +#: cache/41/413dbe6a803c413d6ff11377888e1e0d.php:353 msgid "Bearer" msgstr "" -#: cache/86/86d9a0599e765017f2e6f2e4a7025625.php:380 -#: cache/41/413dbe6a803c413d6ff11377888e1e0d.php:359 +#: cache/86/86d9a0599e765017f2e6f2e4a7025625.php:432 +#: cache/41/413dbe6a803c413d6ff11377888e1e0d.php:376 msgid "Enter the authentication Username" msgstr "" -#: cache/86/86d9a0599e765017f2e6f2e4a7025625.php:390 +#: cache/86/86d9a0599e765017f2e6f2e4a7025625.php:442 #: cache/9f/9fdba8e23ed4ab1fa30c86aed8306cba.php:219 #: cache/0a/0ae358955c92f467744fc6cf0f8f5624.php:145 -#: cache/41/413dbe6a803c413d6ff11377888e1e0d.php:369 +#: cache/41/413dbe6a803c413d6ff11377888e1e0d.php:386 #: cache/64/6468accf3a0fea12fced661d430c769f.php:236 #: cache/58/582bf6a35fd9661de4021ae6aad02414.php:213 #: cache/37/377ff96eb23f94563370a45d1c41993f.php:114 msgid "Password" msgstr "" -#: cache/86/86d9a0599e765017f2e6f2e4a7025625.php:395 -#: cache/41/413dbe6a803c413d6ff11377888e1e0d.php:374 +#: cache/86/86d9a0599e765017f2e6f2e4a7025625.php:447 +#: cache/41/413dbe6a803c413d6ff11377888e1e0d.php:391 msgid "Corresponding Password" msgstr "" -#: cache/86/86d9a0599e765017f2e6f2e4a7025625.php:405 -#: cache/41/413dbe6a803c413d6ff11377888e1e0d.php:384 +#: cache/86/86d9a0599e765017f2e6f2e4a7025625.php:457 +#: cache/41/413dbe6a803c413d6ff11377888e1e0d.php:401 msgid "Custom Headers" msgstr "" -#: cache/86/86d9a0599e765017f2e6f2e4a7025625.php:410 -#: cache/41/413dbe6a803c413d6ff11377888e1e0d.php:389 +#: cache/86/86d9a0599e765017f2e6f2e4a7025625.php:462 +#: cache/41/413dbe6a803c413d6ff11377888e1e0d.php:406 msgid "" "Comma separated string of custom HTTP headers in headerName:headerValue " "format" msgstr "" -#: cache/86/86d9a0599e765017f2e6f2e4a7025625.php:425 -#: cache/41/413dbe6a803c413d6ff11377888e1e0d.php:404 +#: cache/86/86d9a0599e765017f2e6f2e4a7025625.php:477 +#: cache/41/413dbe6a803c413d6ff11377888e1e0d.php:421 msgid "" "Optionally set specific User Agent for this request, provide only the value, " "relevant header will be added automatically" msgstr "" -#: cache/86/86d9a0599e765017f2e6f2e4a7025625.php:437 +#: cache/86/86d9a0599e765017f2e6f2e4a7025625.php:489 #: cache/9f/9fdba8e23ed4ab1fa30c86aed8306cba.php:322 -#: cache/41/413dbe6a803c413d6ff11377888e1e0d.php:416 +#: cache/41/413dbe6a803c413d6ff11377888e1e0d.php:433 msgid "Source" msgstr "" -#: cache/86/86d9a0599e765017f2e6f2e4a7025625.php:442 -#: cache/41/413dbe6a803c413d6ff11377888e1e0d.php:421 +#: cache/86/86d9a0599e765017f2e6f2e4a7025625.php:494 +#: cache/41/413dbe6a803c413d6ff11377888e1e0d.php:438 msgid "Select source type of the provided remote Dataset URL" msgstr "" -#: cache/86/86d9a0599e765017f2e6f2e4a7025625.php:447 -#: cache/41/413dbe6a803c413d6ff11377888e1e0d.php:426 +#: cache/86/86d9a0599e765017f2e6f2e4a7025625.php:499 +#: cache/41/413dbe6a803c413d6ff11377888e1e0d.php:443 msgid "JSON" msgstr "" -#: cache/86/86d9a0599e765017f2e6f2e4a7025625.php:452 -#: cache/41/413dbe6a803c413d6ff11377888e1e0d.php:431 +#: cache/86/86d9a0599e765017f2e6f2e4a7025625.php:504 +#: cache/41/413dbe6a803c413d6ff11377888e1e0d.php:448 msgid "CSV" msgstr "" -#: cache/86/86d9a0599e765017f2e6f2e4a7025625.php:467 -#: cache/41/413dbe6a803c413d6ff11377888e1e0d.php:446 +#: cache/86/86d9a0599e765017f2e6f2e4a7025625.php:519 +#: cache/41/413dbe6a803c413d6ff11377888e1e0d.php:463 msgid "Data root" msgstr "" -#: cache/86/86d9a0599e765017f2e6f2e4a7025625.php:472 -#: cache/41/413dbe6a803c413d6ff11377888e1e0d.php:451 +#: cache/86/86d9a0599e765017f2e6f2e4a7025625.php:524 +#: cache/41/413dbe6a803c413d6ff11377888e1e0d.php:468 msgid "" "Please enter the element in your remote data which we should use as the " "starting point when we match the remote Columns. This should be an array or " @@ -8972,221 +8995,221 @@ msgid "" "returned." msgstr "" -#: cache/86/86d9a0599e765017f2e6f2e4a7025625.php:482 -#: cache/41/413dbe6a803c413d6ff11377888e1e0d.php:461 +#: cache/86/86d9a0599e765017f2e6f2e4a7025625.php:534 +#: cache/41/413dbe6a803c413d6ff11377888e1e0d.php:478 msgid "CSV separator" msgstr "" -#: cache/86/86d9a0599e765017f2e6f2e4a7025625.php:487 -#: cache/41/413dbe6a803c413d6ff11377888e1e0d.php:466 +#: cache/86/86d9a0599e765017f2e6f2e4a7025625.php:539 +#: cache/41/413dbe6a803c413d6ff11377888e1e0d.php:483 msgid "What separator should be used for CSV source?" msgstr "" -#: cache/86/86d9a0599e765017f2e6f2e4a7025625.php:492 -#: cache/41/413dbe6a803c413d6ff11377888e1e0d.php:471 +#: cache/86/86d9a0599e765017f2e6f2e4a7025625.php:544 +#: cache/41/413dbe6a803c413d6ff11377888e1e0d.php:488 msgid "Comma" msgstr "" -#: cache/86/86d9a0599e765017f2e6f2e4a7025625.php:498 -#: cache/41/413dbe6a803c413d6ff11377888e1e0d.php:477 +#: cache/86/86d9a0599e765017f2e6f2e4a7025625.php:550 +#: cache/41/413dbe6a803c413d6ff11377888e1e0d.php:494 msgid "Semicolon" msgstr "" -#: cache/86/86d9a0599e765017f2e6f2e4a7025625.php:504 -#: cache/41/413dbe6a803c413d6ff11377888e1e0d.php:483 +#: cache/86/86d9a0599e765017f2e6f2e4a7025625.php:556 +#: cache/41/413dbe6a803c413d6ff11377888e1e0d.php:500 msgid "Space" msgstr "" -#: cache/86/86d9a0599e765017f2e6f2e4a7025625.php:510 -#: cache/41/413dbe6a803c413d6ff11377888e1e0d.php:489 +#: cache/86/86d9a0599e765017f2e6f2e4a7025625.php:562 +#: cache/41/413dbe6a803c413d6ff11377888e1e0d.php:506 msgid "Tab" msgstr "" -#: cache/86/86d9a0599e765017f2e6f2e4a7025625.php:516 -#: cache/41/413dbe6a803c413d6ff11377888e1e0d.php:495 +#: cache/86/86d9a0599e765017f2e6f2e4a7025625.php:568 +#: cache/41/413dbe6a803c413d6ff11377888e1e0d.php:512 msgid "Pipe" msgstr "" -#: cache/86/86d9a0599e765017f2e6f2e4a7025625.php:535 -#: cache/41/413dbe6a803c413d6ff11377888e1e0d.php:514 -#: cache/b2/b21687508ff5b0bb637fdbd3f8c0d3c6.php:665 +#: cache/86/86d9a0599e765017f2e6f2e4a7025625.php:587 +#: cache/41/413dbe6a803c413d6ff11377888e1e0d.php:531 +#: cache/b2/b21687508ff5b0bb637fdbd3f8c0d3c6.php:688 msgid "Ignore first row?" msgstr "" -#: cache/86/86d9a0599e765017f2e6f2e4a7025625.php:540 -#: cache/41/413dbe6a803c413d6ff11377888e1e0d.php:519 +#: cache/86/86d9a0599e765017f2e6f2e4a7025625.php:592 +#: cache/41/413dbe6a803c413d6ff11377888e1e0d.php:536 msgid "For CSV source, should the first row be ignored?" msgstr "" -#: cache/86/86d9a0599e765017f2e6f2e4a7025625.php:552 -#: cache/41/413dbe6a803c413d6ff11377888e1e0d.php:531 +#: cache/86/86d9a0599e765017f2e6f2e4a7025625.php:604 +#: cache/41/413dbe6a803c413d6ff11377888e1e0d.php:548 msgid "Test data URL" msgstr "" -#: cache/86/86d9a0599e765017f2e6f2e4a7025625.php:561 -#: cache/41/413dbe6a803c413d6ff11377888e1e0d.php:540 +#: cache/86/86d9a0599e765017f2e6f2e4a7025625.php:613 +#: cache/41/413dbe6a803c413d6ff11377888e1e0d.php:557 msgid "Aggregation" msgstr "" -#: cache/86/86d9a0599e765017f2e6f2e4a7025625.php:566 -#: cache/41/413dbe6a803c413d6ff11377888e1e0d.php:545 +#: cache/86/86d9a0599e765017f2e6f2e4a7025625.php:618 +#: cache/41/413dbe6a803c413d6ff11377888e1e0d.php:562 msgid "Aggregate received data by the given method" msgstr "" -#: cache/86/86d9a0599e765017f2e6f2e4a7025625.php:576 -#: cache/41/413dbe6a803c413d6ff11377888e1e0d.php:555 +#: cache/86/86d9a0599e765017f2e6f2e4a7025625.php:628 +#: cache/41/413dbe6a803c413d6ff11377888e1e0d.php:572 msgid "Summarize" msgstr "" -#: cache/86/86d9a0599e765017f2e6f2e4a7025625.php:597 -#: cache/41/413dbe6a803c413d6ff11377888e1e0d.php:576 +#: cache/86/86d9a0599e765017f2e6f2e4a7025625.php:649 +#: cache/41/413dbe6a803c413d6ff11377888e1e0d.php:593 msgid "By Field" msgstr "" -#: cache/86/86d9a0599e765017f2e6f2e4a7025625.php:607 -#: cache/41/413dbe6a803c413d6ff11377888e1e0d.php:583 +#: cache/86/86d9a0599e765017f2e6f2e4a7025625.php:659 +#: cache/41/413dbe6a803c413d6ff11377888e1e0d.php:600 msgid "" "Using JSON syntax enter the path below the Data root by which the above " "aggregation should be applied." msgstr "" -#: cache/86/86d9a0599e765017f2e6f2e4a7025625.php:611 -#: cache/41/413dbe6a803c413d6ff11377888e1e0d.php:587 +#: cache/86/86d9a0599e765017f2e6f2e4a7025625.php:663 +#: cache/41/413dbe6a803c413d6ff11377888e1e0d.php:604 msgid "" "Summarize: Values in this field will be summarized and stored in one column." msgstr "" -#: cache/86/86d9a0599e765017f2e6f2e4a7025625.php:615 -#: cache/41/413dbe6a803c413d6ff11377888e1e0d.php:591 +#: cache/86/86d9a0599e765017f2e6f2e4a7025625.php:667 +#: cache/41/413dbe6a803c413d6ff11377888e1e0d.php:608 msgid "" "Count: All individual values in this field will be counted and stored in one " "Column for each value" msgstr "" -#: cache/86/86d9a0599e765017f2e6f2e4a7025625.php:626 +#: cache/86/86d9a0599e765017f2e6f2e4a7025625.php:678 #: cache/04/04b11bf7b7a8190d66899471a8930ffd.php:79 -#: cache/41/413dbe6a803c413d6ff11377888e1e0d.php:602 +#: cache/41/413dbe6a803c413d6ff11377888e1e0d.php:619 msgid "Refresh" msgstr "" -#: cache/86/86d9a0599e765017f2e6f2e4a7025625.php:631 -#: cache/41/413dbe6a803c413d6ff11377888e1e0d.php:607 +#: cache/86/86d9a0599e765017f2e6f2e4a7025625.php:683 +#: cache/41/413dbe6a803c413d6ff11377888e1e0d.php:624 msgid "How often should this remote data be fetched and imported?" msgstr "" -#: cache/86/86d9a0599e765017f2e6f2e4a7025625.php:638 -#: cache/41/413dbe6a803c413d6ff11377888e1e0d.php:614 +#: cache/86/86d9a0599e765017f2e6f2e4a7025625.php:690 +#: cache/41/413dbe6a803c413d6ff11377888e1e0d.php:631 msgid "Constantly" msgstr "" -#: cache/86/86d9a0599e765017f2e6f2e4a7025625.php:658 -#: cache/86/86d9a0599e765017f2e6f2e4a7025625.php:731 -#: cache/41/413dbe6a803c413d6ff11377888e1e0d.php:634 -#: cache/41/413dbe6a803c413d6ff11377888e1e0d.php:707 +#: cache/86/86d9a0599e765017f2e6f2e4a7025625.php:710 +#: cache/86/86d9a0599e765017f2e6f2e4a7025625.php:783 +#: cache/41/413dbe6a803c413d6ff11377888e1e0d.php:651 +#: cache/41/413dbe6a803c413d6ff11377888e1e0d.php:724 msgid "Every two Weeks" msgstr "" -#: cache/86/86d9a0599e765017f2e6f2e4a7025625.php:668 -#: cache/86/86d9a0599e765017f2e6f2e4a7025625.php:741 -#: cache/41/413dbe6a803c413d6ff11377888e1e0d.php:644 -#: cache/41/413dbe6a803c413d6ff11377888e1e0d.php:717 +#: cache/86/86d9a0599e765017f2e6f2e4a7025625.php:720 +#: cache/86/86d9a0599e765017f2e6f2e4a7025625.php:793 +#: cache/41/413dbe6a803c413d6ff11377888e1e0d.php:661 +#: cache/41/413dbe6a803c413d6ff11377888e1e0d.php:734 msgid "Quaterly" msgstr "" -#: cache/86/86d9a0599e765017f2e6f2e4a7025625.php:694 -#: cache/41/413dbe6a803c413d6ff11377888e1e0d.php:670 +#: cache/86/86d9a0599e765017f2e6f2e4a7025625.php:746 +#: cache/41/413dbe6a803c413d6ff11377888e1e0d.php:687 msgid "Truncate DataSet" msgstr "" -#: cache/86/86d9a0599e765017f2e6f2e4a7025625.php:699 -#: cache/41/413dbe6a803c413d6ff11377888e1e0d.php:675 +#: cache/86/86d9a0599e765017f2e6f2e4a7025625.php:751 +#: cache/41/413dbe6a803c413d6ff11377888e1e0d.php:692 msgid "" "Select when you would like the Data to be truncated out of this DataSet. The " "criteria is assessed when synchronisation occurs and is truncated before " "adding new data." msgstr "" -#: cache/86/86d9a0599e765017f2e6f2e4a7025625.php:706 -#: cache/41/413dbe6a803c413d6ff11377888e1e0d.php:682 -#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:2955 +#: cache/86/86d9a0599e765017f2e6f2e4a7025625.php:758 +#: cache/41/413dbe6a803c413d6ff11377888e1e0d.php:699 +#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:2959 #: lib/Controller/Library.php:581 msgid "Never" msgstr "" -#: cache/86/86d9a0599e765017f2e6f2e4a7025625.php:711 -#: cache/41/413dbe6a803c413d6ff11377888e1e0d.php:687 -#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:2959 +#: cache/86/86d9a0599e765017f2e6f2e4a7025625.php:763 +#: cache/41/413dbe6a803c413d6ff11377888e1e0d.php:704 +#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:2963 #: cache/a7/a7a26926ec2b52230c8037d640a807ea.php:1464 #: cache/a7/a7a26926ec2b52230c8037d640a807ea.php:1932 #: cache/a7/a7a26926ec2b52230c8037d640a807ea.php:1947 msgid "Always" msgstr "" -#: cache/86/86d9a0599e765017f2e6f2e4a7025625.php:751 -#: cache/41/413dbe6a803c413d6ff11377888e1e0d.php:727 +#: cache/86/86d9a0599e765017f2e6f2e4a7025625.php:803 +#: cache/41/413dbe6a803c413d6ff11377888e1e0d.php:744 msgid "Every second Year" msgstr "" -#: cache/86/86d9a0599e765017f2e6f2e4a7025625.php:774 -#: cache/41/413dbe6a803c413d6ff11377888e1e0d.php:750 +#: cache/86/86d9a0599e765017f2e6f2e4a7025625.php:826 +#: cache/41/413dbe6a803c413d6ff11377888e1e0d.php:767 msgid "Truncate with no new data?" msgstr "" -#: cache/86/86d9a0599e765017f2e6f2e4a7025625.php:779 -#: cache/41/413dbe6a803c413d6ff11377888e1e0d.php:755 +#: cache/86/86d9a0599e765017f2e6f2e4a7025625.php:831 +#: cache/41/413dbe6a803c413d6ff11377888e1e0d.php:772 msgid "" "Should the DataSet data be truncated even if no new data is pulled from the " "source?" msgstr "" -#: cache/86/86d9a0599e765017f2e6f2e4a7025625.php:789 -#: cache/41/413dbe6a803c413d6ff11377888e1e0d.php:765 +#: cache/86/86d9a0599e765017f2e6f2e4a7025625.php:841 +#: cache/41/413dbe6a803c413d6ff11377888e1e0d.php:782 msgid "Depends on DataSet" msgstr "" -#: cache/86/86d9a0599e765017f2e6f2e4a7025625.php:797 -#: cache/41/413dbe6a803c413d6ff11377888e1e0d.php:773 +#: cache/86/86d9a0599e765017f2e6f2e4a7025625.php:849 +#: cache/41/413dbe6a803c413d6ff11377888e1e0d.php:790 msgid "" "The DataSet you select here will be processed in advance and have its values " "available for subsitution in the data to add to this request on the Remote " "tab." msgstr "" -#: cache/86/86d9a0599e765017f2e6f2e4a7025625.php:807 -#: cache/41/413dbe6a803c413d6ff11377888e1e0d.php:783 +#: cache/86/86d9a0599e765017f2e6f2e4a7025625.php:859 +#: cache/41/413dbe6a803c413d6ff11377888e1e0d.php:800 msgid "Row Limit" msgstr "" -#: cache/86/86d9a0599e765017f2e6f2e4a7025625.php:812 -#: cache/41/413dbe6a803c413d6ff11377888e1e0d.php:788 +#: cache/86/86d9a0599e765017f2e6f2e4a7025625.php:864 +#: cache/41/413dbe6a803c413d6ff11377888e1e0d.php:805 msgid "" "Optionally provide a row limit for this DataSet. When left empty the DataSet " "row limit from CMS Settings will be used." msgstr "" -#: cache/86/86d9a0599e765017f2e6f2e4a7025625.php:822 -#: cache/41/413dbe6a803c413d6ff11377888e1e0d.php:798 +#: cache/86/86d9a0599e765017f2e6f2e4a7025625.php:874 +#: cache/41/413dbe6a803c413d6ff11377888e1e0d.php:815 msgid "Limit Policy" msgstr "" -#: cache/86/86d9a0599e765017f2e6f2e4a7025625.php:827 -#: cache/41/413dbe6a803c413d6ff11377888e1e0d.php:803 +#: cache/86/86d9a0599e765017f2e6f2e4a7025625.php:879 +#: cache/41/413dbe6a803c413d6ff11377888e1e0d.php:820 msgid "What should happen when this Dataset reaches the row limit?" msgstr "" -#: cache/86/86d9a0599e765017f2e6f2e4a7025625.php:832 -#: cache/41/413dbe6a803c413d6ff11377888e1e0d.php:808 +#: cache/86/86d9a0599e765017f2e6f2e4a7025625.php:884 +#: cache/41/413dbe6a803c413d6ff11377888e1e0d.php:825 msgid "Stop Syncing" msgstr "" -#: cache/86/86d9a0599e765017f2e6f2e4a7025625.php:837 -#: cache/41/413dbe6a803c413d6ff11377888e1e0d.php:813 +#: cache/86/86d9a0599e765017f2e6f2e4a7025625.php:889 +#: cache/41/413dbe6a803c413d6ff11377888e1e0d.php:830 msgid "First In First Out" msgstr "" -#: cache/86/86d9a0599e765017f2e6f2e4a7025625.php:842 +#: cache/86/86d9a0599e765017f2e6f2e4a7025625.php:894 #: cache/04/04b11bf7b7a8190d66899471a8930ffd.php:73 -#: cache/41/413dbe6a803c413d6ff11377888e1e0d.php:818 +#: cache/41/413dbe6a803c413d6ff11377888e1e0d.php:835 #: cache/dc/dc491f32668885ef8be3c5ae4c7dc6e5.php:56 msgid "Truncate" msgstr "" @@ -9271,7 +9294,7 @@ msgstr "" #: cache/a7/a7a26926ec2b52230c8037d640a807ea.php:117 #: cache/a7/a7a26926ec2b52230c8037d640a807ea.php:1617 #: lib/Controller/Campaign.php:297 lib/Controller/Playlist.php:541 -#: lib/Controller/Library.php:784 lib/Controller/Layout.php:1750 +#: lib/Controller/Library.php:784 lib/Controller/Layout.php:1751 #: lib/Controller/Display.php:1004 msgid "Schedule" msgstr "" @@ -9372,7 +9395,7 @@ msgstr "" #: cache/0e/0ed8020e97c517a55ad881cfc5dd0b4c.php:71 #: cache/fa/faae83213ac48b5ddd10aa2f75cd5121.php:56 #: cache/fa/faae83213ac48b5ddd10aa2f75cd5121.php:69 -#: lib/Controller/Template.php:340 lib/Controller/Layout.php:1905 +#: lib/Controller/Template.php:340 lib/Controller/Layout.php:1906 msgid "Export" msgstr "" @@ -11152,7 +11175,7 @@ msgid "Production" msgstr "" #: cache/68/683636238aff529d5a7b7478118dede4.php:3245 -#: cache/bf/bfa04d76ea96a772caeedcfdf9d70e40.php:628 +#: cache/bf/bfa04d76ea96a772caeedcfdf9d70e40.php:627 msgid "Test" msgstr "" @@ -11325,7 +11348,7 @@ msgid "Delete Rows" msgstr "" #: cache/14/14220f2427744b387c8a9518e0bf00d2.php:91 -#: lib/Controller/DataSet.php:224 +#: lib/Controller/DataSet.php:226 msgid "View Columns" msgstr "" @@ -11624,7 +11647,7 @@ msgstr "" #: cache/f5/f5c7640aa7fbb9ab7e2caec1a409d7c2.php:274 #: cache/89/8945ceeea3df1eea58421905bdc6dd5e.php:304 -#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:3104 +#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:3108 #: cache/fe/fe92f223f863fb1896ced5bd33b8c256.php:186 msgid "Target Type" msgstr "" @@ -11662,7 +11685,7 @@ msgstr "" #: cache/77/774dde73b0eb7965a680b8a52776fa6b.php:253 #: cache/89/8945ceeea3df1eea58421905bdc6dd5e.php:308 #: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:1351 -#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:3108 +#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:3112 #: cache/fe/fe92f223f863fb1896ced5bd33b8c256.php:204 msgid "Target" msgstr "" @@ -11708,7 +11731,7 @@ msgid "" msgstr "" #: cache/eb/eb722a59dac7c3fddd70255e2c4c5f1d.php:56 -#: lib/Controller/DataSet.php:307 lib/Controller/Module.php:129 +#: lib/Controller/DataSet.php:309 lib/Controller/Module.php:129 msgid "Clear Cache" msgstr "" @@ -11740,7 +11763,7 @@ msgstr "" #: cache/80/8016dad6634116cf39ffaf1bbf646931.php:299 #: cache/04/04b11bf7b7a8190d66899471a8930ffd.php:143 -#: lib/Report/TimeDisconnectedSummary.php:310 +#: lib/Report/TimeDisconnectedSummary.php:311 msgid "Hours" msgstr "" @@ -11750,7 +11773,7 @@ msgstr "" #: cache/80/8016dad6634116cf39ffaf1bbf646931.php:314 #: cache/04/04b11bf7b7a8190d66899471a8930ffd.php:138 -#: lib/Report/TimeDisconnectedSummary.php:313 +#: lib/Report/TimeDisconnectedSummary.php:314 msgid "Minutes" msgstr "" @@ -11815,8 +11838,8 @@ msgstr "" #: cache/9f/9f9a142004ca4a1c914a4395fe586017.php:125 #: cache/a4/a4b5f52b1992bb349e8a30b19ff24645.php:80 -#: lib/Controller/Playlist.php:1706 lib/Controller/Library.php:2142 -#: lib/Controller/Layout.php:1680 +#: lib/Controller/Playlist.php:1706 lib/Controller/Library.php:2152 +#: lib/Controller/Layout.php:1681 msgid "Design" msgstr "" @@ -12756,7 +12779,7 @@ msgstr "" #: cache/04/04b11bf7b7a8190d66899471a8930ffd.php:55 #: cache/04/04b11bf7b7a8190d66899471a8930ffd.php:93 -#: cache/66/664c6c931a53dbf67110ec2cb80223cf.php:154 +#: cache/66/664c6c931a53dbf67110ec2cb80223cf.php:159 msgid "Logs" msgstr "" @@ -13056,7 +13079,7 @@ msgstr "" #: cache/88/88e10283780c820d9196a2e88b3b8e39.php:77 #: cache/88/88e10283780c820d9196a2e88b3b8e39.php:81 -#: lib/Controller/DataSet.php:213 +#: lib/Controller/DataSet.php:215 msgid "View Data" msgstr "" @@ -13207,7 +13230,7 @@ msgid "" msgstr "" #: cache/d5/d548e4848346b34fa2915d684010817b.php:56 -#: cache/1b/1b4d10b8bb67ce8b30ada153b15daf6e.php:424 +#: cache/1b/1b4d10b8bb67ce8b30ada153b15daf6e.php:428 #: cache/fe/fe92f223f863fb1896ced5bd33b8c256.php:556 #: cache/0c/0cc104a3d7987780eed7a70657ece580.php:57 msgid "Edit Layout" @@ -13598,41 +13621,29 @@ msgstr "" #: cache/6e/6e8678de8ffffc5ed3b935eb9c3f6eb0.php:316 msgid "" -"Self-paced online training courses designed to get you up and running with " +"Self-paced online training videos designed to get you up and running with " "Xibo in no time." msgstr "" #: cache/6e/6e8678de8ffffc5ed3b935eb9c3f6eb0.php:320 -msgid "Enrol on new user training or admin essentials for free." -msgstr "" - -#: cache/6e/6e8678de8ffffc5ed3b935eb9c3f6eb0.php:324 msgid "New User Training" msgstr "" -#: cache/6e/6e8678de8ffffc5ed3b935eb9c3f6eb0.php:328 -msgid "Admin Essentials" -msgstr "" - -#: cache/6e/6e8678de8ffffc5ed3b935eb9c3f6eb0.php:332 -msgid "Training School" -msgstr "" - -#: cache/6e/6e8678de8ffffc5ed3b935eb9c3f6eb0.php:345 +#: cache/6e/6e8678de8ffffc5ed3b935eb9c3f6eb0.php:333 #: cache/cb/cb1c15ce617fd7e7648d38bb0b2b48f5.php:250 msgid "Help" msgstr "" -#: cache/6e/6e8678de8ffffc5ed3b935eb9c3f6eb0.php:349 +#: cache/6e/6e8678de8ffffc5ed3b935eb9c3f6eb0.php:337 msgid "" "We are here to help! All the support you’re looking for, at your fingertips." msgstr "" -#: cache/6e/6e8678de8ffffc5ed3b935eb9c3f6eb0.php:356 +#: cache/6e/6e8678de8ffffc5ed3b935eb9c3f6eb0.php:344 msgid "Help Center" msgstr "" -#: cache/6e/6e8678de8ffffc5ed3b935eb9c3f6eb0.php:363 +#: cache/6e/6e8678de8ffffc5ed3b935eb9c3f6eb0.php:351 msgid "Contact your service provider for assistance." msgstr "" @@ -13830,27 +13841,27 @@ msgid "Properties" msgstr "" #: cache/bf/bfa04d76ea96a772caeedcfdf9d70e40.php:118 -#: cache/bf/bfa04d76ea96a772caeedcfdf9d70e40.php:307 +#: cache/bf/bfa04d76ea96a772caeedcfdf9d70e40.php:306 msgid "Twig" msgstr "" #: cache/bf/bfa04d76ea96a772caeedcfdf9d70e40.php:126 -#: cache/bf/bfa04d76ea96a772caeedcfdf9d70e40.php:325 +#: cache/bf/bfa04d76ea96a772caeedcfdf9d70e40.php:324 msgid "HBS" msgstr "" #: cache/bf/bfa04d76ea96a772caeedcfdf9d70e40.php:142 -#: cache/bf/bfa04d76ea96a772caeedcfdf9d70e40.php:361 +#: cache/bf/bfa04d76ea96a772caeedcfdf9d70e40.php:360 msgid "Head" msgstr "" #: cache/bf/bfa04d76ea96a772caeedcfdf9d70e40.php:150 -#: cache/bf/bfa04d76ea96a772caeedcfdf9d70e40.php:379 +#: cache/bf/bfa04d76ea96a772caeedcfdf9d70e40.php:378 msgid "onTemplateRender" msgstr "" #: cache/bf/bfa04d76ea96a772caeedcfdf9d70e40.php:158 -#: cache/bf/bfa04d76ea96a772caeedcfdf9d70e40.php:397 +#: cache/bf/bfa04d76ea96a772caeedcfdf9d70e40.php:396 msgid "onTemplateVisible" msgstr "" @@ -13920,7 +13931,7 @@ msgstr "" #: cache/bf/bfa04d76ea96a772caeedcfdf9d70e40.php:277 #: cache/25/257d7652c0b04ca6e480ad5c9beaa3c2.php:330 -#: cache/1b/1b4d10b8bb67ce8b30ada153b15daf6e.php:368 +#: cache/1b/1b4d10b8bb67ce8b30ada153b15daf6e.php:372 msgid "Add" msgstr "" @@ -13928,48 +13939,48 @@ msgstr "" msgid "Go to end" msgstr "" -#: cache/bf/bfa04d76ea96a772caeedcfdf9d70e40.php:414 +#: cache/bf/bfa04d76ea96a772caeedcfdf9d70e40.php:413 msgid "Invalidate any widgets using this template" msgstr "" -#: cache/bf/bfa04d76ea96a772caeedcfdf9d70e40.php:443 +#: cache/bf/bfa04d76ea96a772caeedcfdf9d70e40.php:442 msgid "Move" msgstr "" -#: cache/bf/bfa04d76ea96a772caeedcfdf9d70e40.php:462 +#: cache/bf/bfa04d76ea96a772caeedcfdf9d70e40.php:461 msgid "No properties, click Add to create one!" msgstr "" -#: cache/bf/bfa04d76ea96a772caeedcfdf9d70e40.php:490 +#: cache/bf/bfa04d76ea96a772caeedcfdf9d70e40.php:489 msgid "Add option" msgstr "" -#: cache/bf/bfa04d76ea96a772caeedcfdf9d70e40.php:507 +#: cache/bf/bfa04d76ea96a772caeedcfdf9d70e40.php:506 msgid "Delete option" msgstr "" -#: cache/bf/bfa04d76ea96a772caeedcfdf9d70e40.php:576 -#: cache/bf/bfa04d76ea96a772caeedcfdf9d70e40.php:617 +#: cache/bf/bfa04d76ea96a772caeedcfdf9d70e40.php:575 +#: cache/bf/bfa04d76ea96a772caeedcfdf9d70e40.php:616 msgid "Add test" msgstr "" -#: cache/bf/bfa04d76ea96a772caeedcfdf9d70e40.php:634 +#: cache/bf/bfa04d76ea96a772caeedcfdf9d70e40.php:633 msgid "Delete test" msgstr "" -#: cache/bf/bfa04d76ea96a772caeedcfdf9d70e40.php:659 +#: cache/bf/bfa04d76ea96a772caeedcfdf9d70e40.php:658 msgid "Add condition" msgstr "" -#: cache/bf/bfa04d76ea96a772caeedcfdf9d70e40.php:677 +#: cache/bf/bfa04d76ea96a772caeedcfdf9d70e40.php:676 msgid "Delete condition" msgstr "" -#: cache/bf/bfa04d76ea96a772caeedcfdf9d70e40.php:732 +#: cache/bf/bfa04d76ea96a772caeedcfdf9d70e40.php:731 msgid "Default value" msgstr "" -#: cache/bf/bfa04d76ea96a772caeedcfdf9d70e40.php:783 +#: cache/bf/bfa04d76ea96a772caeedcfdf9d70e40.php:782 msgid "Options for the dropdown control" msgstr "" @@ -14052,7 +14063,7 @@ msgstr "" #: cache/17/1730b41c1b94639a7bb894f0f6bbe405.php:68 #: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:807 -#: lib/Controller/Layout.php:1835 lib/Controller/Layout.php:1841 +#: lib/Controller/Layout.php:1836 lib/Controller/Layout.php:1842 msgid "Retire" msgstr "" @@ -14077,7 +14088,7 @@ msgid "Are you sure you want to retire this item?" msgstr "" #: cache/ae/ae925f8de1afddaa54d77aba65ebb00b.php:56 -#: lib/Controller/DisplayGroup.php:467 lib/Controller/DisplayGroup.php:480 +#: lib/Controller/DisplayGroup.php:471 lib/Controller/DisplayGroup.php:484 #: lib/Controller/Display.php:1192 lib/Controller/Display.php:1205 msgid "Send Command" msgstr "" @@ -14117,62 +14128,62 @@ msgid "Add RSS" msgstr "" #: cache/ae/ae039a69e1615431d4752f5fb2b147d3.php:221 -#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:2667 +#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:2671 msgid "Ascending" msgstr "" #: cache/ae/ae039a69e1615431d4752f5fb2b147d3.php:225 -#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:2671 +#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:2675 msgid "Descending" msgstr "" #: cache/ae/ae039a69e1615431d4752f5fb2b147d3.php:270 -#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:2678 +#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:2682 msgid "starts with" msgstr "" #: cache/ae/ae039a69e1615431d4752f5fb2b147d3.php:276 -#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:2684 +#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:2688 msgid "ends with" msgstr "" #: cache/ae/ae039a69e1615431d4752f5fb2b147d3.php:282 -#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:2690 +#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:2694 msgid "contains" msgstr "" #: cache/ae/ae039a69e1615431d4752f5fb2b147d3.php:288 -#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:2696 +#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:2700 msgid "equals" msgstr "" #: cache/ae/ae039a69e1615431d4752f5fb2b147d3.php:294 -#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:2702 +#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:2706 msgid "does not start with" msgstr "" #: cache/ae/ae039a69e1615431d4752f5fb2b147d3.php:300 -#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:2708 +#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:2712 msgid "does not end with" msgstr "" #: cache/ae/ae039a69e1615431d4752f5fb2b147d3.php:306 -#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:2714 +#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:2718 msgid "does not contain" msgstr "" #: cache/ae/ae039a69e1615431d4752f5fb2b147d3.php:312 -#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:2720 +#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:2724 msgid "does not equal" msgstr "" #: cache/ae/ae039a69e1615431d4752f5fb2b147d3.php:318 -#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:2726 +#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:2730 msgid "greater than" msgstr "" #: cache/ae/ae039a69e1615431d4752f5fb2b147d3.php:324 -#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:2732 +#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:2736 msgid "less than" msgstr "" @@ -14185,12 +14196,12 @@ msgid "is not empty" msgstr "" #: cache/ae/ae039a69e1615431d4752f5fb2b147d3.php:345 -#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:2741 +#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:2745 msgid "Or" msgstr "" #: cache/ae/ae039a69e1615431d4752f5fb2b147d3.php:351 -#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:2747 +#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:2751 msgid "And" msgstr "" @@ -14526,33 +14537,33 @@ msgstr "" msgid "%dataSetName% - Data Connector" msgstr "" -#: cache/66/664c6c931a53dbf67110ec2cb80223cf.php:112 +#: cache/66/664c6c931a53dbf67110ec2cb80223cf.php:117 msgid "Data Connector JavaScript" msgstr "" -#: cache/66/664c6c931a53dbf67110ec2cb80223cf.php:146 +#: cache/66/664c6c931a53dbf67110ec2cb80223cf.php:151 msgid "Test Params" msgstr "" -#: cache/66/664c6c931a53dbf67110ec2cb80223cf.php:162 +#: cache/66/664c6c931a53dbf67110ec2cb80223cf.php:167 msgid "DataSet Data" msgstr "" -#: cache/66/664c6c931a53dbf67110ec2cb80223cf.php:170 +#: cache/66/664c6c931a53dbf67110ec2cb80223cf.php:175 msgid "Other Data" msgstr "" -#: cache/66/664c6c931a53dbf67110ec2cb80223cf.php:178 +#: cache/66/664c6c931a53dbf67110ec2cb80223cf.php:183 msgid "Schedule Criteria" msgstr "" -#: cache/66/664c6c931a53dbf67110ec2cb80223cf.php:187 +#: cache/66/664c6c931a53dbf67110ec2cb80223cf.php:192 msgid "" "You can test passing parameters that would otherwise be set when this Data " "Connector is scheduled." msgstr "" -#: cache/66/664c6c931a53dbf67110ec2cb80223cf.php:192 +#: cache/66/664c6c931a53dbf67110ec2cb80223cf.php:197 msgid "Test Parameters" msgstr "" @@ -14628,7 +14639,7 @@ msgid "Region ID" msgstr "" #: cache/66/661d79c5da6d14a0db85cd0980868ff7.php:190 -#: cache/1b/1b4d10b8bb67ce8b30ada153b15daf6e.php:460 +#: cache/1b/1b4d10b8bb67ce8b30ada153b15daf6e.php:464 msgid "Media ID" msgstr "" @@ -14758,7 +14769,7 @@ msgid "" msgstr "" #: cache/25/257d7652c0b04ca6e480ad5c9beaa3c2.php:79 -#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:2788 +#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:2792 msgid "Spots" msgstr "" @@ -14780,7 +14791,7 @@ msgstr "" #: cache/40/4029f5db3a11dd01464e9160f8b6cf6f.php:72 #: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:815 -#: lib/Controller/Template.php:192 lib/Controller/Layout.php:1696 +#: lib/Controller/Template.php:192 lib/Controller/Layout.php:1697 msgid "Discard" msgstr "" @@ -15250,8 +15261,8 @@ msgid "Template ID" msgstr "" #: cache/97/97f2c018825ccdd326aad4a0b160725e.php:266 -#: cache/1b/1b4d10b8bb67ce8b30ada153b15daf6e.php:734 -#: cache/c5/c5ca1344d07a74a91c5de3a21d4c2de4.php:366 +#: cache/1b/1b4d10b8bb67ce8b30ada153b15daf6e.php:726 +#: cache/c5/c5ca1344d07a74a91c5de3a21d4c2de4.php:377 #: cache/08/08aee2625ba2279e6a2c6465471b11e8.php:248 #: cache/37/37f12704cf17017038d73d9ee1907d04.php:408 #: cache/cb/cbed339b261aade59b9d7cdbdfb46dcc.php:779 @@ -15262,7 +15273,7 @@ msgstr "" #: cache/b2/b21687508ff5b0bb637fdbd3f8c0d3c6.php:398 #: lib/XTR/MaintenanceDailyTask.php:157 lib/XTR/NotificationTidyTask.php:115 #: lib/XTR/MaintenanceRegularTask.php:150 lib/XTR/StatsArchiveTask.php:134 -#: lib/XTR/AuditLogArchiveTask.php:125 lib/XTR/RemoteDataSetFetchTask.php:214 +#: lib/XTR/AuditLogArchiveTask.php:125 lib/XTR/RemoteDataSetFetchTask.php:228 msgid "Done" msgstr "" @@ -15472,7 +15483,7 @@ msgstr "" #: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:811 #: cache/1b/1b4d10b8bb67ce8b30ada153b15daf6e.php:163 #: cache/8d/8d27a7617bf5bf7e7c28a56a7b503514.php:74 -#: lib/Controller/Template.php:186 lib/Controller/Layout.php:1690 +#: lib/Controller/Template.php:186 lib/Controller/Layout.php:1691 msgid "Publish" msgstr "" @@ -15501,12 +15512,12 @@ msgid "Scale to height" msgstr "" #: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:847 -#: cache/1b/1b4d10b8bb67ce8b30ada153b15daf6e.php:289 +#: cache/1b/1b4d10b8bb67ce8b30ada153b15daf6e.php:293 msgid "Zoom in" msgstr "" #: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:851 -#: cache/1b/1b4d10b8bb67ce8b30ada153b15daf6e.php:293 +#: cache/1b/1b4d10b8bb67ce8b30ada153b15daf6e.php:297 msgid "Zoom out" msgstr "" @@ -15543,7 +15554,7 @@ msgid "Are you sure you want to replace your Layout with a template?" msgstr "" #: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:927 -#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:2445 +#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:2449 #: cache/10/10b7f3b85c460e6ccc00e28eed2bf591.php:720 msgid "Replace" msgstr "" @@ -15579,7 +15590,7 @@ msgid "Upload media" msgstr "" #: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:986 -#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:2469 +#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:2473 #: cache/37/37f12704cf17017038d73d9ee1907d04.php:650 #: cache/cb/cb0f801b3d2ddd3d1f61f47414d32047.php:301 #: cache/b2/b21687508ff5b0bb637fdbd3f8c0d3c6.php:366 @@ -15587,12 +15598,12 @@ msgid "Processing..." msgstr "" #: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:998 -#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:2493 +#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:2497 msgid "Set Expiry Dates" msgstr "" #: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:1002 -#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:2497 +#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:2501 msgid "" "Use the check box to set Start and End dates/times for media files and use " "the Start Upload button to apply to all files or the row upload button to " @@ -15600,24 +15611,24 @@ msgid "" msgstr "" #: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:1006 -#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:2501 +#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:2505 #: cache/72/72bfb52fd80e06544d4442d19663906a.php:97 msgid "Select the start time for this widget" msgstr "" #: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:1010 -#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:2505 +#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:2509 #: cache/72/72bfb52fd80e06544d4442d19663906a.php:112 msgid "Select the end time for this widget" msgstr "" #: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:1014 -#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:2509 +#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:2513 msgid "Delete on Expiry" msgstr "" #: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:1018 -#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:2513 +#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:2517 #: cache/72/72bfb52fd80e06544d4442d19663906a.php:127 msgid "" "When the End Time for this Widget passes should the Widget be removed from " @@ -15633,7 +15644,7 @@ msgid "Remove file from the Media Library" msgstr "" #: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:1034 -#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:2465 +#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:2469 #: cache/cb/cbed339b261aade59b9d7cdbdfb46dcc.php:845 #: cache/10/10b7f3b85c460e6ccc00e28eed2bf591.php:660 msgid "Change Current Folder location" @@ -15748,6 +15759,7 @@ msgstr "" #: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:2205 #: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:2370 #: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:2430 +#: cache/1b/1b4d10b8bb67ce8b30ada153b15daf6e.php:489 msgid "Zone" msgstr "" @@ -15755,8 +15767,8 @@ msgstr "" #: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:1334 #: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:1719 #: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:2354 -#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:3112 -#: cache/1b/1b4d10b8bb67ce8b30ada153b15daf6e.php:485 +#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:3116 +#: cache/1b/1b4d10b8bb67ce8b30ada153b15daf6e.php:497 msgid "Widget" msgstr "" @@ -15926,7 +15938,7 @@ msgid "Select or create a Widget to be loaded" msgstr "" #: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:1415 -#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:3092 +#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:3096 msgid "Trigger Type" msgstr "" @@ -15999,7 +16011,7 @@ msgstr "" #: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:1527 #: cache/0c/0cc104a3d7987780eed7a70657ece580.php:131 -msgid "No Image set, add from Toolbar or Upload!" +msgid "No Image set, add from Toolbox or Upload!" msgstr "" #: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:1531 @@ -16157,12 +16169,12 @@ msgid "Transfer the currently selected elements into a new widget!" msgstr "" #: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:1737 -#: cache/1b/1b4d10b8bb67ce8b30ada153b15daf6e.php:440 +#: cache/1b/1b4d10b8bb67ce8b30ada153b15daf6e.php:444 msgid "Widget Name" msgstr "" #: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:1742 -#: cache/1b/1b4d10b8bb67ce8b30ada153b15daf6e.php:452 +#: cache/1b/1b4d10b8bb67ce8b30ada153b15daf6e.php:456 msgid "Element Name" msgstr "" @@ -16171,7 +16183,7 @@ msgid "An optional name for this element" msgstr "" #: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:1750 -#: cache/1b/1b4d10b8bb67ce8b30ada153b15daf6e.php:464 +#: cache/1b/1b4d10b8bb67ce8b30ada153b15daf6e.php:468 msgid "Element Group Name" msgstr "" @@ -16238,6 +16250,7 @@ msgid "Deselect" msgstr "" #: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:1835 +#: cache/1b/1b4d10b8bb67ce8b30ada153b15daf6e.php:286 msgid "Dynamic Playlist" msgstr "" @@ -16281,7 +16294,7 @@ msgstr "" #: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:1944 #: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:1958 -#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:3141 +#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:3145 #: cache/c5/c5ca1344d07a74a91c5de3a21d4c2de4.php:115 #: cache/cb/cbed339b261aade59b9d7cdbdfb46dcc.php:257 #: cache/cb/cbed339b261aade59b9d7cdbdfb46dcc.php:305 @@ -16319,7 +16332,7 @@ msgid "Library video search" msgstr "" #: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:2012 -#: lib/Entity/DisplayEvent.php:217 +#: lib/Entity/DisplayEvent.php:222 msgid "Other" msgstr "" @@ -16329,7 +16342,7 @@ msgstr "" #: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:2020 #: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:2111 -#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:3080 +#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:3084 #: cache/1b/1b4d10b8bb67ce8b30ada153b15daf6e.php:223 msgid "Actions" msgstr "" @@ -16450,12 +16463,12 @@ msgid "Dimensions" msgstr "" #: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:2193 -#: cache/1b/1b4d10b8bb67ce8b30ada153b15daf6e.php:489 +#: cache/1b/1b4d10b8bb67ce8b30ada153b15daf6e.php:501 msgid "Element" msgstr "" #: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:2197 -#: cache/1b/1b4d10b8bb67ce8b30ada153b15daf6e.php:493 +#: cache/1b/1b4d10b8bb67ce8b30ada153b15daf6e.php:505 msgid "Element Group" msgstr "" @@ -16480,17 +16493,17 @@ msgid "Use this item to be used as a placeholder to add images." msgstr "" #: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:2292 -#: cache/1b/1b4d10b8bb67ce8b30ada153b15daf6e.php:325 +#: cache/1b/1b4d10b8bb67ce8b30ada153b15daf6e.php:329 msgid "Layout name" msgstr "" #: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:2300 -#: cache/1b/1b4d10b8bb67ce8b30ada153b15daf6e.php:329 +#: cache/1b/1b4d10b8bb67ce8b30ada153b15daf6e.php:333 msgid "Layout duration" msgstr "" #: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:2308 -#: cache/1b/1b4d10b8bb67ce8b30ada153b15daf6e.php:333 +#: cache/1b/1b4d10b8bb67ce8b30ada153b15daf6e.php:337 msgid "Layout dimensions" msgstr "" @@ -16540,7 +16553,7 @@ msgid "In %groupId%" msgstr "" #: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:2406 -#: cache/1b/1b4d10b8bb67ce8b30ada153b15daf6e.php:472 +#: cache/1b/1b4d10b8bb67ce8b30ada153b15daf6e.php:476 #: cache/26/26272b78e1f020a579ccf676c2d83a39.php:151 #: cache/bc/bc965084fd482159596791d6371a0f77.php:137 #: lib/Controller/Template.php:300 @@ -16560,267 +16573,271 @@ msgid "Shrink" msgstr "" #: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:2434 +msgid "Layout Background" +msgstr "" + +#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:2438 #: cache/1b/1b4d10b8bb67ce8b30ada153b15daf6e.php:278 msgid "Invalid Region" msgstr "" -#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:2438 -#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:2625 +#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:2442 +#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:2629 msgid "Region is invalid: Please delete it to validate the Layout!" msgstr "" -#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:2449 +#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:2453 #: cache/10/10b7f3b85c460e6ccc00e28eed2bf591.php:771 msgid "Add Replacement" msgstr "" -#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:2453 +#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:2457 #: cache/10/10b7f3b85c460e6ccc00e28eed2bf591.php:775 msgid "Start Replace" msgstr "" -#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:2457 +#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:2461 #: cache/10/10b7f3b85c460e6ccc00e28eed2bf591.php:779 msgid "Cancel Replace" msgstr "" -#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:2474 +#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:2478 #: cache/c5/c52b8109558dd3acc604e183177113c8.php:312 #: cache/10/10b7f3b85c460e6ccc00e28eed2bf591.php:784 msgid "Update this media in all layouts it is assigned to?" msgstr "" -#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:2478 +#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:2482 #: cache/c5/c52b8109558dd3acc604e183177113c8.php:317 #: cache/10/10b7f3b85c460e6ccc00e28eed2bf591.php:788 msgid "Note: It will only be updated in layouts you have permission to edit." msgstr "" -#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:2484 +#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:2488 #: cache/10/10b7f3b85c460e6ccc00e28eed2bf591.php:794 msgid "Delete the old version?" msgstr "" -#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:2488 +#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:2492 #: cache/10/10b7f3b85c460e6ccc00e28eed2bf591.php:798 msgid "" "Completely remove the old version of this media item if a new file is being " "uploaded." msgstr "" -#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:2521 +#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:2525 msgid "ERROR" msgstr "" -#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:2525 +#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:2529 msgid "There was a problem loading the Layout!" msgstr "" -#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:2529 +#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:2533 msgid "There was a problem loading the Playlist!" msgstr "" -#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:2533 +#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:2537 msgid "User save preferences failed!" msgstr "" -#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:2537 +#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:2541 msgid "User load preferences failed!" msgstr "" -#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:2541 +#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:2545 msgid "Library load failed!" msgstr "" -#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:2545 +#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:2549 msgid "Form load failed!" msgstr "" -#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:2549 +#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:2553 msgid "Convert playlist failed!" msgstr "" -#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:2553 +#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:2557 msgid "Playlist needs a name to be converted!" msgstr "" -#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:2557 +#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:2561 msgid "Revert failed: %error%" msgstr "" -#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:2561 +#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:2565 msgid "Save order failed: %error%" msgstr "" -#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:2565 +#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:2569 msgid "Delete failed: %error%" msgstr "" -#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:2569 +#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:2573 msgid "Save all changes failed!" msgstr "" -#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:2573 +#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:2577 msgid "Remove all changes failed!!" msgstr "" -#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:2577 +#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:2581 msgid "Importing media failed!!" msgstr "" -#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:2581 +#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:2585 msgid "Add media failed: %error%" msgstr "" -#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:2585 +#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:2589 msgid "Add module failed: %error%" msgstr "" -#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:2589 +#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:2593 msgid "Create region failed: %error%" msgstr "" -#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:2593 +#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:2597 msgid "List order not Changed!" msgstr "" -#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:2597 +#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:2601 msgid "Playlist save order failed!" msgstr "" -#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:2601 +#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:2605 msgid "Get form failed!" msgstr "" -#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:2605 +#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:2609 msgid "Transform zone failed!" msgstr "" -#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:2609 +#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:2613 msgid "Preview failed!" msgstr "" -#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:2613 +#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:2617 msgid "No widgets need saving!" msgstr "" -#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:2617 +#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:2621 msgid "Missing required property %property%" msgstr "" -#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:2621 +#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:2625 #: cache/cb/cbed339b261aade59b9d7cdbdfb46dcc.php:748 #: lib/Connector/XiboAudienceReportingConnector.php:899 #: lib/Connector/XiboAudienceReportingConnector.php:974 msgid "Unknown Error" msgstr "" -#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:2629 +#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:2633 msgid "Failed to import media!" msgstr "" -#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:2633 +#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:2637 msgid "This Canvas is not shared with you with edit permission!" msgstr "" -#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:2637 +#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:2641 msgid "Failed to load media providers!" msgstr "" -#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:2644 +#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:2648 msgid "Set to start" msgstr "" -#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:2648 +#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:2652 msgid "Set to expire" msgstr "" -#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:2652 +#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:2656 #: cache/05/05600263dc8230138bb0f89338bbef69.php:152 web/xmds.php:136 msgid "Expired" msgstr "" -#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:2760 +#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:2764 msgid "Fill - use the first Playlist to fill any remaining Spots" msgstr "" -#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:2764 +#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:2768 msgid "Pad" msgstr "" -#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:2768 +#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:2772 msgid "Pad - use the first Playlist to pad any remaining Spots" msgstr "" -#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:2772 +#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:2776 msgid "Repeat" msgstr "" -#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:2776 +#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:2780 msgid "" "Repeat - repeat the Widgets in this Playlist until the number of Spots have " "been filled" msgstr "" -#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:2784 +#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:2788 msgid "" "How many spots would you like on this Sub-Playlist? This is used before " "ordering to expand or shrink the list to the specified size. Leave empty to " "use the count of Widgets." msgstr "" -#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:2792 +#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:2796 msgid "" "Set the duration of all Widgets in the Playlist to a specific value in " "seconds. Leave empty to use each Widget duration." msgstr "" -#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:2796 +#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:2800 msgid "Spot Length" msgstr "" -#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:2800 +#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:2804 msgid "" "If there are not enough Widgets fill all spots, how should the remaining " "spots be filled?" msgstr "" -#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:2804 +#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:2808 msgid "Spot Fill" msgstr "" -#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:2808 +#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:2812 msgid "You do not have access to this playlist" msgstr "" -#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:2812 +#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:2816 msgid "Playlist Id" msgstr "" -#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:2819 -#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:2990 +#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:2823 +#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:2994 msgid "Columns Available" msgstr "" -#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:2823 -#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:2994 +#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:2827 +#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:2998 msgid "Columns Selected" msgstr "" -#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:2834 +#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:2838 msgid "Drag tags to the right column so thy can be displayed on the marquee." msgstr "" -#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:2838 +#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:2842 #: lib/Controller/StatusDashboard.php:231 msgid "Available" msgstr "" -#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:2842 +#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:2846 msgid "Selected" msgstr "" -#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:2927 +#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:2931 msgid "" "Fallback data for this Data Widget can be provided below and included " "according to the property \"Show fallback data\". Fallback data will be " @@ -16828,771 +16845,771 @@ msgid "" "edited using the form below." msgstr "" -#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:2931 +#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:2935 msgid "Add New" msgstr "" -#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:2947 +#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:2951 msgid "Show fallback data" msgstr "" -#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:2951 +#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:2955 msgid "If provided, when should we show fallback data for this Widget?" msgstr "" -#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:2963 +#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:2967 msgid "When no data is returned" msgstr "" -#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:2967 +#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:2971 msgid "When there is an error" msgstr "" -#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:2971 +#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:2975 msgid "Undefined" msgstr "" -#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:2975 +#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:2979 msgid "Please fill out all least one field!" msgstr "" -#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:2979 +#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:2983 msgid "Please fill out all the required fields!" msgstr "" -#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:2983 +#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:2987 msgid "Required Field!" msgstr "" -#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:3084 +#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:3088 msgid "Id" msgstr "" -#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:3088 +#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:3092 msgid "Owner Id" msgstr "" -#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:3122 +#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:3126 msgid "Add Action" msgstr "" -#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:3126 +#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:3130 msgid "Click to Add a new Action" msgstr "" -#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:3134 +#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:3138 msgid "There can only be one category per zone!" msgstr "" -#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:3145 +#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:3149 msgid "Show All" msgstr "" -#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:3149 +#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:3153 msgid "Show Paged" msgstr "" -#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:3157 +#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:3161 msgid "No Transition" msgstr "" -#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:3161 +#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:3165 msgid "Marquee Left" msgstr "" -#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:3165 +#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:3169 msgid "Marquee Right" msgstr "" -#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:3169 +#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:3173 msgid "Marquee Up" msgstr "" -#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:3173 +#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:3177 msgid "Marquee Down" msgstr "" -#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:3177 +#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:3181 msgid "Fade" msgstr "" -#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:3185 +#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:3189 msgid "Scroll Horizontal" msgstr "" -#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:3189 +#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:3193 msgid "Scroll Vertical" msgstr "" -#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:3193 +#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:3197 msgid "Flip Horizontal" msgstr "" -#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:3197 +#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:3201 msgid "Flip Vertical" msgstr "" -#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:3201 +#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:3205 msgid "Shuffle" msgstr "" -#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:3205 +#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:3209 msgid "Tile Slide" msgstr "" -#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:3209 +#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:3213 msgid "Tile Blind" msgstr "" -#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:3217 +#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:3221 msgid "Edit Playlist - %playlistName% - " msgstr "" -#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:3221 +#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:3225 msgid "Widgets count" msgstr "" -#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:3225 +#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:3229 msgid "Editing source playlist %playlistName% " msgstr "" -#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:3230 +#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:3234 msgid "Zoom In" msgstr "" -#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:3234 +#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:3238 msgid "Zoom Out" msgstr "" -#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:3238 +#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:3242 msgid "Default zoom" msgstr "" -#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:3242 +#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:3246 msgid "Change scale mode" msgstr "" -#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:3247 +#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:3251 msgid "Your changes will apply anywhere this Playlist is used." msgstr "" -#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:3255 +#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:3259 msgid "Delete Playlist" msgstr "" -#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:3259 +#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:3263 msgid "Are you sure you want to delete a non-empty Playlist?" msgstr "" -#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:3265 +#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:3269 #: cache/2b/2b32343e2d811827739ee3c637757fe7.php:56 #: cache/8d/8d762416eec05c4841be70e1b937f167.php:57 msgid "Delete Widget" msgstr "" -#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:3269 +#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:3273 msgid "Are you sure you want to delete this widget?" msgstr "" -#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:3275 +#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:3279 msgid "Delete Element" msgstr "" -#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:3279 +#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:3283 msgid "" "Are you sure you want to delete this element? Widget will also be deleted " "and configuration will be lost." msgstr "" -#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:3285 +#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:3289 msgid "Delete Element Group" msgstr "" -#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:3289 +#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:3293 msgid "" "Are you sure you want to delete this element group? Widget will also be " "deleted and configuration will be lost." msgstr "" -#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:3295 +#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:3299 msgid "Delete all selected objects?" msgstr "" -#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:3299 +#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:3303 msgid "" "Are you sure you want to delete all selected objects? Widgets might also be " "deleted and configuration will be lost." msgstr "" -#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:3307 -#: lib/Connector/OpenWeatherMapConnector.php:504 +#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:3311 +#: lib/Connector/OpenWeatherMapConnector.php:519 msgid "Afrikaans" msgstr "" -#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:3311 +#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:3315 msgid "Arabic (Algeria)" msgstr "" -#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:3315 +#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:3319 msgid "Arabic (Kuwait)" msgstr "" -#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:3319 +#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:3323 msgid "Arabic (Libya)" msgstr "" -#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:3323 +#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:3327 msgid "Arabic (Morocco)" msgstr "" -#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:3327 +#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:3331 msgid "Arabic (Saudi Arabia)" msgstr "" -#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:3331 +#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:3335 msgid "Arabic (Tunisia)" msgstr "" -#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:3335 -#: lib/Connector/OpenWeatherMapConnector.php:505 +#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:3339 +#: lib/Connector/OpenWeatherMapConnector.php:520 msgid "Arabic" msgstr "" -#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:3339 -#: lib/Connector/OpenWeatherMapConnector.php:506 +#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:3343 +#: lib/Connector/OpenWeatherMapConnector.php:521 msgid "Azerbaijani" msgstr "" -#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:3343 +#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:3347 msgid "Belarusian" msgstr "" -#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:3347 -#: lib/Connector/OpenWeatherMapConnector.php:507 +#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:3351 +#: lib/Connector/OpenWeatherMapConnector.php:522 msgid "Bulgarian" msgstr "" -#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:3351 +#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:3355 msgid "Bambara" msgstr "" -#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:3355 +#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:3359 msgid "Bengali (Bangladesh)" msgstr "" -#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:3359 +#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:3363 msgid "Bengali" msgstr "" -#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:3363 +#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:3367 msgid "Tibetan" msgstr "" -#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:3367 +#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:3371 msgid "Breton" msgstr "" -#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:3371 +#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:3375 msgid "Bosnian" msgstr "" -#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:3375 -#: lib/Connector/OpenWeatherMapConnector.php:508 +#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:3379 +#: lib/Connector/OpenWeatherMapConnector.php:523 msgid "Catalan" msgstr "" -#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:3379 -#: lib/Connector/OpenWeatherMapConnector.php:511 +#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:3383 +#: lib/Connector/OpenWeatherMapConnector.php:526 msgid "Czech" msgstr "" -#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:3383 +#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:3387 msgid "Chuvash" msgstr "" -#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:3387 +#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:3391 msgid "Welsh" msgstr "" -#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:3391 -#: lib/Connector/OpenWeatherMapConnector.php:512 +#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:3395 +#: lib/Connector/OpenWeatherMapConnector.php:527 msgid "Danish" msgstr "" -#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:3395 +#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:3399 msgid "German (Austria)" msgstr "" -#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:3399 +#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:3403 msgid "German (Switzerland)" msgstr "" -#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:3403 -#: lib/Connector/OpenWeatherMapConnector.php:513 +#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:3407 +#: lib/Connector/OpenWeatherMapConnector.php:528 msgid "German" msgstr "" -#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:3407 +#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:3411 msgid "Divehi" msgstr "" -#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:3411 -#: lib/Connector/OpenWeatherMapConnector.php:514 +#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:3415 +#: lib/Connector/OpenWeatherMapConnector.php:529 msgid "Greek" msgstr "" -#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:3415 -#: lib/Connector/OpenWeatherMapConnector.php:515 +#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:3419 +#: lib/Connector/OpenWeatherMapConnector.php:530 msgid "English" msgstr "" -#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:3419 +#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:3423 msgid "English (Australia)" msgstr "" -#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:3423 +#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:3427 msgid "English (Canada)" msgstr "" -#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:3427 #: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:3431 +#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:3435 msgid "English (United Kingdom)" msgstr "" -#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:3435 +#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:3439 msgid "English (Ireland)" msgstr "" -#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:3439 +#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:3443 msgid "English (Israel)" msgstr "" -#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:3443 +#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:3447 msgid "English (India)" msgstr "" -#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:3447 +#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:3451 msgid "English (New Zealand)" msgstr "" -#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:3451 +#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:3455 msgid "English (Singapore)" msgstr "" -#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:3455 +#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:3459 msgid "Esperanto" msgstr "" -#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:3459 +#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:3463 msgid "Spanish (Dominican Republic)" msgstr "" -#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:3463 +#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:3467 msgid "Spanish (Mexico)" msgstr "" -#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:3467 +#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:3471 msgid "Spanish (United States)" msgstr "" -#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:3471 -#: lib/Connector/OpenWeatherMapConnector.php:542 +#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:3475 +#: lib/Connector/OpenWeatherMapConnector.php:557 msgid "Spanish" msgstr "" -#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:3475 +#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:3479 msgid "Estonian" msgstr "" -#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:3479 -#: lib/Connector/OpenWeatherMapConnector.php:516 +#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:3483 +#: lib/Connector/OpenWeatherMapConnector.php:531 msgid "Basque" msgstr "" -#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:3483 +#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:3487 msgid "Persian" msgstr "" -#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:3487 -#: lib/Connector/OpenWeatherMapConnector.php:518 +#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:3491 +#: lib/Connector/OpenWeatherMapConnector.php:533 msgid "Finnish" msgstr "" -#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:3491 +#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:3495 msgid "Filipino" msgstr "" -#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:3495 +#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:3499 msgid "Faroese" msgstr "" -#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:3499 +#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:3503 msgid "French (Canada)" msgstr "" -#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:3503 +#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:3507 msgid "French (Switzerland)" msgstr "" -#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:3507 -#: lib/Connector/OpenWeatherMapConnector.php:519 +#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:3511 +#: lib/Connector/OpenWeatherMapConnector.php:534 msgid "French" msgstr "" -#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:3511 +#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:3515 msgid "Western Frisian" msgstr "" -#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:3515 +#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:3519 msgid "Scottish Gaelic" msgstr "" -#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:3519 -#: lib/Connector/OpenWeatherMapConnector.php:520 +#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:3523 +#: lib/Connector/OpenWeatherMapConnector.php:535 msgid "Galician" msgstr "" -#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:3523 +#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:3527 msgid "gom (Latin)" msgstr "" -#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:3527 +#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:3531 msgid "Gujarati" msgstr "" -#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:3531 -#: lib/Connector/OpenWeatherMapConnector.php:521 +#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:3535 +#: lib/Connector/OpenWeatherMapConnector.php:536 msgid "Hebrew" msgstr "" -#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:3535 -#: lib/Connector/OpenWeatherMapConnector.php:522 +#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:3539 +#: lib/Connector/OpenWeatherMapConnector.php:537 msgid "Hindi" msgstr "" -#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:3539 -#: lib/Connector/OpenWeatherMapConnector.php:523 +#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:3543 +#: lib/Connector/OpenWeatherMapConnector.php:538 msgid "Croatian" msgstr "" -#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:3543 -#: lib/Connector/OpenWeatherMapConnector.php:524 +#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:3547 +#: lib/Connector/OpenWeatherMapConnector.php:539 msgid "Hungarian" msgstr "" -#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:3547 +#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:3551 msgid "Armenian (Armenia)" msgstr "" -#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:3551 -#: lib/Connector/OpenWeatherMapConnector.php:525 +#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:3555 +#: lib/Connector/OpenWeatherMapConnector.php:540 msgid "Indonesian" msgstr "" -#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:3555 +#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:3559 msgid "Icelandic" msgstr "" -#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:3559 +#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:3563 msgid "Italian (Switzerland)" msgstr "" -#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:3563 -#: lib/Connector/OpenWeatherMapConnector.php:526 +#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:3567 +#: lib/Connector/OpenWeatherMapConnector.php:541 msgid "Italian" msgstr "" -#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:3567 -#: lib/Connector/OpenWeatherMapConnector.php:527 +#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:3571 +#: lib/Connector/OpenWeatherMapConnector.php:542 msgid "Japanese" msgstr "" -#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:3571 +#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:3575 msgid "Javanese" msgstr "" -#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:3575 +#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:3579 msgid "Georgian" msgstr "" -#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:3579 +#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:3583 msgid "Kazakh" msgstr "" -#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:3583 +#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:3587 msgid "Khmer" msgstr "" -#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:3587 +#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:3591 msgid "Kannada" msgstr "" -#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:3591 -#: lib/Connector/OpenWeatherMapConnector.php:528 +#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:3595 +#: lib/Connector/OpenWeatherMapConnector.php:543 msgid "Korean" msgstr "" -#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:3595 +#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:3599 msgid "Kurdish" msgstr "" -#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:3599 +#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:3603 msgid "Kirghiz" msgstr "" -#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:3603 +#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:3607 msgid "Luxembourgish" msgstr "" -#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:3607 +#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:3611 msgid "Lao" msgstr "" -#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:3611 -#: lib/Connector/OpenWeatherMapConnector.php:530 +#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:3615 +#: lib/Connector/OpenWeatherMapConnector.php:545 msgid "Lithuanian" msgstr "" -#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:3615 -#: lib/Connector/OpenWeatherMapConnector.php:529 +#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:3619 +#: lib/Connector/OpenWeatherMapConnector.php:544 msgid "Latvian" msgstr "" -#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:3619 +#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:3623 msgid "Montenegrin" msgstr "" -#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:3623 +#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:3627 msgid "Maori" msgstr "" -#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:3627 -#: lib/Connector/OpenWeatherMapConnector.php:531 +#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:3631 +#: lib/Connector/OpenWeatherMapConnector.php:546 msgid "Macedonian" msgstr "" -#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:3631 +#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:3635 msgid "Malayalam" msgstr "" -#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:3635 +#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:3639 msgid "Mongolian" msgstr "" -#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:3639 +#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:3643 msgid "Marathi" msgstr "" -#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:3643 +#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:3647 msgid "Malay (Malaysia)" msgstr "" -#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:3647 +#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:3651 msgid "Malay" msgstr "" -#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:3651 +#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:3655 msgid "Maltese" msgstr "" -#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:3655 +#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:3659 msgid "Burmese" msgstr "" -#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:3659 +#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:3663 msgid "Norwegian Bokmål" msgstr "" -#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:3663 +#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:3667 msgid "Nepali" msgstr "" -#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:3667 +#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:3671 msgid "Dutch (Belgium)" msgstr "" -#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:3671 -#: lib/Connector/OpenWeatherMapConnector.php:533 +#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:3675 +#: lib/Connector/OpenWeatherMapConnector.php:548 msgid "Dutch" msgstr "" -#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:3675 +#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:3679 msgid "Norwegian Nynorsk" msgstr "" -#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:3679 +#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:3683 msgid "Punjabi (India)" msgstr "" -#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:3683 -#: lib/Connector/OpenWeatherMapConnector.php:534 +#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:3687 +#: lib/Connector/OpenWeatherMapConnector.php:549 msgid "Polish" msgstr "" -#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:3687 +#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:3691 msgid "Portuguese (Brazil)" msgstr "" -#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:3691 -#: lib/Connector/OpenWeatherMapConnector.php:535 +#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:3695 +#: lib/Connector/OpenWeatherMapConnector.php:550 msgid "Portuguese" msgstr "" -#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:3695 -#: lib/Connector/OpenWeatherMapConnector.php:537 +#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:3699 +#: lib/Connector/OpenWeatherMapConnector.php:552 msgid "Romanian" msgstr "" -#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:3699 -#: lib/Connector/OpenWeatherMapConnector.php:538 +#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:3703 +#: lib/Connector/OpenWeatherMapConnector.php:553 msgid "Russian" msgstr "" -#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:3703 +#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:3707 msgid "Sindhi" msgstr "" -#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:3707 +#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:3711 msgid "Northern Sami" msgstr "" -#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:3711 +#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:3715 msgid "Sinhala" msgstr "" -#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:3715 -#: lib/Connector/OpenWeatherMapConnector.php:540 +#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:3719 +#: lib/Connector/OpenWeatherMapConnector.php:555 msgid "Slovak" msgstr "" -#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:3719 -#: lib/Connector/OpenWeatherMapConnector.php:541 +#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:3723 +#: lib/Connector/OpenWeatherMapConnector.php:556 msgid "Slovenian" msgstr "" -#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:3723 +#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:3727 msgid "Albanian" msgstr "" -#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:3727 +#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:3731 msgid "Serbian (Cyrillic)" msgstr "" -#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:3731 -#: lib/Connector/OpenWeatherMapConnector.php:543 +#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:3735 +#: lib/Connector/OpenWeatherMapConnector.php:558 msgid "Serbian" msgstr "" -#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:3735 +#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:3739 msgid "Swati" msgstr "" -#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:3739 -#: lib/Connector/OpenWeatherMapConnector.php:539 +#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:3743 +#: lib/Connector/OpenWeatherMapConnector.php:554 msgid "Swedish" msgstr "" -#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:3743 +#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:3747 msgid "Swahili" msgstr "" -#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:3747 +#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:3751 msgid "Tamil" msgstr "" -#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:3751 +#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:3755 msgid "Telugu" msgstr "" -#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:3755 +#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:3759 msgid "Tetum" msgstr "" -#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:3759 +#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:3763 msgid "Tajik" msgstr "" -#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:3763 -#: lib/Connector/OpenWeatherMapConnector.php:544 +#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:3767 +#: lib/Connector/OpenWeatherMapConnector.php:559 msgid "Thai" msgstr "" -#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:3767 +#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:3771 msgid "Turkmen" msgstr "" -#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:3771 +#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:3775 msgid "Tagalog (Philippines)" msgstr "" -#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:3775 +#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:3779 msgid "Klingon" msgstr "" -#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:3779 -#: lib/Connector/OpenWeatherMapConnector.php:545 +#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:3783 +#: lib/Connector/OpenWeatherMapConnector.php:560 msgid "Turkish" msgstr "" -#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:3783 +#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:3787 msgid "Talossan" msgstr "" -#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:3787 +#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:3791 msgid "Central Atlas Tamazight (Latin)" msgstr "" -#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:3791 +#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:3795 msgid "Central Atlas Tamazight" msgstr "" -#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:3795 +#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:3799 msgid "Uyghur (China)" msgstr "" -#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:3799 -#: lib/Connector/OpenWeatherMapConnector.php:546 +#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:3803 +#: lib/Connector/OpenWeatherMapConnector.php:561 msgid "Ukrainian" msgstr "" -#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:3803 +#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:3807 msgid "Urdu" msgstr "" -#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:3807 +#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:3811 msgid "Uzbek (Latin)" msgstr "" -#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:3811 +#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:3815 msgid "Uzbek" msgstr "" -#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:3815 -#: lib/Connector/OpenWeatherMapConnector.php:547 +#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:3819 +#: lib/Connector/OpenWeatherMapConnector.php:562 msgid "Vietnamese" msgstr "" -#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:3819 +#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:3823 msgid "Pseudo" msgstr "" -#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:3823 +#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:3827 msgid "Yoruba (Nigeria)" msgstr "" -#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:3827 +#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:3831 msgid "Chinese (China)" msgstr "" -#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:3831 +#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:3835 msgid "Chinese (Hong Kong)" msgstr "" -#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:3835 +#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:3839 msgid "Chinese (Macau)" msgstr "" -#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:3839 +#: cache/74/744308e2456d1f83f205ef9ab9fe3022.php:3843 msgid "Chinese (Taiwan)" msgstr "" @@ -17634,7 +17651,7 @@ msgstr "" msgid "" "Set dimensions to be used for the Player window ensuring that they do not " "exceed the actual screen size. Enter the following values representing the " -"pixel sizings for; Left,Top,Width,Height. This requires a Player Restart to " +"pixel sizings for; Top,Left,Width,Height. This requires a Player Restart to " "action." msgstr "" @@ -17893,7 +17910,7 @@ msgstr "" #: cache/1b/1b4d10b8bb67ce8b30ada153b15daf6e.php:179 #: cache/ca/ca2dd0b2142f7bc07fc5e4b9d6a35375.php:72 -#: lib/Controller/Template.php:203 lib/Controller/Layout.php:1707 +#: lib/Controller/Template.php:203 lib/Controller/Layout.php:1708 msgid "Checkout" msgstr "" @@ -17902,7 +17919,7 @@ msgid "Unlock" msgstr "" #: cache/1b/1b4d10b8bb67ce8b30ada153b15daf6e.php:191 -#: lib/Controller/Layout.php:1896 +#: lib/Controller/Layout.php:1897 msgid "Save Template" msgstr "" @@ -17949,12 +17966,12 @@ msgid "Inline Editor" msgstr "" #: cache/1b/1b4d10b8bb67ce8b30ada153b15daf6e.php:246 -#: cache/1b/1b4d10b8bb67ce8b30ada153b15daf6e.php:432 +#: cache/1b/1b4d10b8bb67ce8b30ada153b15daf6e.php:436 msgid "Next widget" msgstr "" #: cache/1b/1b4d10b8bb67ce8b30ada153b15daf6e.php:250 -#: cache/1b/1b4d10b8bb67ce8b30ada153b15daf6e.php:436 +#: cache/1b/1b4d10b8bb67ce8b30ada153b15daf6e.php:440 msgid "Previous widget" msgstr "" @@ -17971,179 +17988,167 @@ msgstr "" msgid "Empty Playlist" msgstr "" -#: cache/1b/1b4d10b8bb67ce8b30ada153b15daf6e.php:297 +#: cache/1b/1b4d10b8bb67ce8b30ada153b15daf6e.php:301 msgid "Reset zoom" msgstr "" -#: cache/1b/1b4d10b8bb67ce8b30ada153b15daf6e.php:301 +#: cache/1b/1b4d10b8bb67ce8b30ada153b15daf6e.php:305 msgid "Visible area time span" msgstr "" -#: cache/1b/1b4d10b8bb67ce8b30ada153b15daf6e.php:305 +#: cache/1b/1b4d10b8bb67ce8b30ada153b15daf6e.php:309 msgid "Zoom out to see timeruler!" msgstr "" -#: cache/1b/1b4d10b8bb67ce8b30ada153b15daf6e.php:309 +#: cache/1b/1b4d10b8bb67ce8b30ada153b15daf6e.php:313 msgid "" "No Regions: Add a Region to start creating content by clicking here or the " "Edit Layout icon below!" msgstr "" -#: cache/1b/1b4d10b8bb67ce8b30ada153b15daf6e.php:313 +#: cache/1b/1b4d10b8bb67ce8b30ada153b15daf6e.php:317 msgid "Scroll to selected widget" msgstr "" -#: cache/1b/1b4d10b8bb67ce8b30ada153b15daf6e.php:317 +#: cache/1b/1b4d10b8bb67ce8b30ada153b15daf6e.php:321 msgid "Visible area start time" msgstr "" -#: cache/1b/1b4d10b8bb67ce8b30ada153b15daf6e.php:321 +#: cache/1b/1b4d10b8bb67ce8b30ada153b15daf6e.php:325 msgid "Visible area end time" msgstr "" -#: cache/1b/1b4d10b8bb67ce8b30ada153b15daf6e.php:337 +#: cache/1b/1b4d10b8bb67ce8b30ada153b15daf6e.php:341 msgid "Add to this position" msgstr "" -#: cache/1b/1b4d10b8bb67ce8b30ada153b15daf6e.php:341 +#: cache/1b/1b4d10b8bb67ce8b30ada153b15daf6e.php:345 msgid "Zoom in to see more details!" msgstr "" -#: cache/1b/1b4d10b8bb67ce8b30ada153b15daf6e.php:345 +#: cache/1b/1b4d10b8bb67ce8b30ada153b15daf6e.php:349 msgid "Edit region" msgstr "" -#: cache/1b/1b4d10b8bb67ce8b30ada153b15daf6e.php:349 +#: cache/1b/1b4d10b8bb67ce8b30ada153b15daf6e.php:353 msgid "Open as playlist" msgstr "" -#: cache/1b/1b4d10b8bb67ce8b30ada153b15daf6e.php:353 +#: cache/1b/1b4d10b8bb67ce8b30ada153b15daf6e.php:357 msgid "Widget Actions:" msgstr "" -#: cache/1b/1b4d10b8bb67ce8b30ada153b15daf6e.php:357 +#: cache/1b/1b4d10b8bb67ce8b30ada153b15daf6e.php:361 msgid "Region Actions:" msgstr "" -#: cache/1b/1b4d10b8bb67ce8b30ada153b15daf6e.php:364 +#: cache/1b/1b4d10b8bb67ce8b30ada153b15daf6e.php:368 msgid "Edit layout regions" msgstr "" -#: cache/1b/1b4d10b8bb67ce8b30ada153b15daf6e.php:372 +#: cache/1b/1b4d10b8bb67ce8b30ada153b15daf6e.php:376 msgid "Add a new region" msgstr "" -#: cache/1b/1b4d10b8bb67ce8b30ada153b15daf6e.php:376 +#: cache/1b/1b4d10b8bb67ce8b30ada153b15daf6e.php:380 msgid "Delete region" msgstr "" -#: cache/1b/1b4d10b8bb67ce8b30ada153b15daf6e.php:380 +#: cache/1b/1b4d10b8bb67ce8b30ada153b15daf6e.php:384 msgid "Undo" msgstr "" -#: cache/1b/1b4d10b8bb67ce8b30ada153b15daf6e.php:384 +#: cache/1b/1b4d10b8bb67ce8b30ada153b15daf6e.php:388 msgid "Revert last change" msgstr "" -#: cache/1b/1b4d10b8bb67ce8b30ada153b15daf6e.php:392 +#: cache/1b/1b4d10b8bb67ce8b30ada153b15daf6e.php:396 msgid "Return to Layout View" msgstr "" -#: cache/1b/1b4d10b8bb67ce8b30ada153b15daf6e.php:400 +#: cache/1b/1b4d10b8bb67ce8b30ada153b15daf6e.php:404 msgid "Save changes" msgstr "" -#: cache/1b/1b4d10b8bb67ce8b30ada153b15daf6e.php:404 +#: cache/1b/1b4d10b8bb67ce8b30ada153b15daf6e.php:408 msgid "Go back to Layout view" msgstr "" -#: cache/1b/1b4d10b8bb67ce8b30ada153b15daf6e.php:408 +#: cache/1b/1b4d10b8bb67ce8b30ada153b15daf6e.php:412 msgid "Save editor changes" msgstr "" -#: cache/1b/1b4d10b8bb67ce8b30ada153b15daf6e.php:412 +#: cache/1b/1b4d10b8bb67ce8b30ada153b15daf6e.php:416 msgid "Play Layout preview" msgstr "" -#: cache/1b/1b4d10b8bb67ce8b30ada153b15daf6e.php:416 +#: cache/1b/1b4d10b8bb67ce8b30ada153b15daf6e.php:420 msgid "Preview stopped!" msgstr "" -#: cache/1b/1b4d10b8bb67ce8b30ada153b15daf6e.php:420 +#: cache/1b/1b4d10b8bb67ce8b30ada153b15daf6e.php:424 msgid "Click to Play again" msgstr "" -#: cache/1b/1b4d10b8bb67ce8b30ada153b15daf6e.php:428 +#: cache/1b/1b4d10b8bb67ce8b30ada153b15daf6e.php:432 msgid "Stop Layout preview" msgstr "" -#: cache/1b/1b4d10b8bb67ce8b30ada153b15daf6e.php:444 +#: cache/1b/1b4d10b8bb67ce8b30ada153b15daf6e.php:448 msgid "Widget Type" msgstr "" -#: cache/1b/1b4d10b8bb67ce8b30ada153b15daf6e.php:448 +#: cache/1b/1b4d10b8bb67ce8b30ada153b15daf6e.php:452 msgid "Widget Template Name" msgstr "" -#: cache/1b/1b4d10b8bb67ce8b30ada153b15daf6e.php:456 +#: cache/1b/1b4d10b8bb67ce8b30ada153b15daf6e.php:460 msgid "Media Name" msgstr "" -#: cache/1b/1b4d10b8bb67ce8b30ada153b15daf6e.php:468 +#: cache/1b/1b4d10b8bb67ce8b30ada153b15daf6e.php:472 msgid "Region Name" msgstr "" -#: cache/1b/1b4d10b8bb67ce8b30ada153b15daf6e.php:504 -msgid "Add a Region" -msgstr "" - -#: cache/1b/1b4d10b8bb67ce8b30ada153b15daf6e.php:514 +#: cache/1b/1b4d10b8bb67ce8b30ada153b15daf6e.php:516 msgid "Upload Audio files to assign to Widgets" msgstr "" -#: cache/1b/1b4d10b8bb67ce8b30ada153b15daf6e.php:520 -msgid "Expiry Dates" -msgstr "" - -#: cache/1b/1b4d10b8bb67ce8b30ada153b15daf6e.php:524 -msgid "Enter start and end times for Widgets" -msgstr "" - -#: cache/1b/1b4d10b8bb67ce8b30ada153b15daf6e.php:530 +#: cache/1b/1b4d10b8bb67ce8b30ada153b15daf6e.php:522 msgid "Transition In" msgstr "" -#: cache/1b/1b4d10b8bb67ce8b30ada153b15daf6e.php:534 +#: cache/1b/1b4d10b8bb67ce8b30ada153b15daf6e.php:526 msgid "Apply a Transition type for the start of a media item" msgstr "" -#: cache/1b/1b4d10b8bb67ce8b30ada153b15daf6e.php:540 +#: cache/1b/1b4d10b8bb67ce8b30ada153b15daf6e.php:532 msgid "Transition Out" msgstr "" -#: cache/1b/1b4d10b8bb67ce8b30ada153b15daf6e.php:544 +#: cache/1b/1b4d10b8bb67ce8b30ada153b15daf6e.php:536 msgid "Apply a Transition type for the end of a media item" msgstr "" -#: cache/1b/1b4d10b8bb67ce8b30ada153b15daf6e.php:554 +#: cache/1b/1b4d10b8bb67ce8b30ada153b15daf6e.php:546 msgid "Set View, Edit and Delete Sharing for Widgets and Playlists" msgstr "" -#: cache/1b/1b4d10b8bb67ce8b30ada153b15daf6e.php:727 +#: cache/1b/1b4d10b8bb67ce8b30ada153b15daf6e.php:719 msgid "Add Background Image" msgstr "" -#: cache/1b/1b4d10b8bb67ce8b30ada153b15daf6e.php:747 +#: cache/1b/1b4d10b8bb67ce8b30ada153b15daf6e.php:739 msgid "Browse/Add Image" msgstr "" -#: cache/1b/1b4d10b8bb67ce8b30ada153b15daf6e.php:751 -#: cache/c5/c5ca1344d07a74a91c5de3a21d4c2de4.php:383 +#: cache/1b/1b4d10b8bb67ce8b30ada153b15daf6e.php:743 +#: cache/c5/c5ca1344d07a74a91c5de3a21d4c2de4.php:394 msgid "Start Upload" msgstr "" -#: cache/1b/1b4d10b8bb67ce8b30ada153b15daf6e.php:755 -#: cache/c5/c5ca1344d07a74a91c5de3a21d4c2de4.php:387 +#: cache/1b/1b4d10b8bb67ce8b30ada153b15daf6e.php:747 +#: cache/c5/c5ca1344d07a74a91c5de3a21d4c2de4.php:398 msgid "Cancel Upload" msgstr "" @@ -18988,7 +18993,7 @@ msgid "" msgstr "" #: cache/c5/c52b8109558dd3acc604e183177113c8.php:342 -#: lib/Controller/Library.php:1370 +#: lib/Controller/Library.php:1378 msgid "Sorry, Fonts do not have any editable properties." msgstr "" @@ -19009,11 +19014,11 @@ msgstr "" msgid "Report" msgstr "" -#: cache/c5/c5ca1344d07a74a91c5de3a21d4c2de4.php:357 +#: cache/c5/c5ca1344d07a74a91c5de3a21d4c2de4.php:368 msgid "Browse/Add attachment" msgstr "" -#: cache/c5/c5ca1344d07a74a91c5de3a21d4c2de4.php:379 +#: cache/c5/c5ca1344d07a74a91c5de3a21d4c2de4.php:390 msgid "Browse/Add Attachment" msgstr "" @@ -19039,7 +19044,7 @@ msgid "Select an Image" msgstr "" #: cache/2c/2c55cdb5429a136a535a9cd9b127d575.php:56 -#: lib/Controller/DisplayGroup.php:490 lib/Controller/Display.php:1068 +#: lib/Controller/DisplayGroup.php:494 lib/Controller/Display.php:1068 #: lib/Controller/Display.php:1083 msgid "Collect Now" msgstr "" @@ -20110,15 +20115,15 @@ msgstr "" #: cache/37/37f12704cf17017038d73d9ee1907d04.php:444 #: lib/Controller/Template.php:301 lib/Controller/Template.php:314 -#: lib/Controller/DisplayGroup.php:429 lib/Controller/DisplayGroup.php:442 -#: lib/Controller/DataSet.php:348 lib/Controller/DataSet.php:354 +#: lib/Controller/DisplayGroup.php:433 lib/Controller/DisplayGroup.php:446 +#: lib/Controller/DataSet.php:350 lib/Controller/DataSet.php:356 #: lib/Controller/Campaign.php:422 lib/Controller/Campaign.php:428 #: lib/Controller/MenuBoard.php:194 lib/Controller/MenuBoard.php:202 #: lib/Controller/Playlist.php:492 lib/Controller/Playlist.php:504 #: lib/Controller/Library.php:713 lib/Controller/Library.php:719 -#: lib/Controller/Layout.php:1915 lib/Controller/Layout.php:1921 +#: lib/Controller/Layout.php:1916 lib/Controller/Layout.php:1922 #: lib/Controller/Display.php:1145 lib/Controller/Display.php:1158 -#: lib/Controller/Developer.php:133 lib/Controller/Developer.php:146 +#: lib/Controller/Developer.php:132 lib/Controller/Developer.php:145 #: lib/Controller/Command.php:213 lib/Controller/Command.php:226 #: lib/Controller/DayPart.php:185 lib/Controller/DayPart.php:191 msgid "Share" @@ -20341,7 +20346,7 @@ msgid "Change the name of the downloaded file if desired." msgstr "" #: cache/fa/fa66e594804204b7397616a42725bee8.php:56 -#: lib/Controller/DisplayGroup.php:512 lib/Controller/DisplayGroup.php:525 +#: lib/Controller/DisplayGroup.php:516 lib/Controller/DisplayGroup.php:529 #: lib/Controller/Display.php:1096 lib/Controller/Display.php:1110 msgid "Trigger a web hook" msgstr "" @@ -21575,21 +21580,21 @@ msgstr "" msgid "CSV Import" msgstr "" -#: cache/b2/b21687508ff5b0bb637fdbd3f8c0d3c6.php:650 +#: cache/b2/b21687508ff5b0bb637fdbd3f8c0d3c6.php:673 msgid "Overwrite existing data?" msgstr "" -#: cache/b2/b21687508ff5b0bb637fdbd3f8c0d3c6.php:655 +#: cache/b2/b21687508ff5b0bb637fdbd3f8c0d3c6.php:678 msgid "" "Erase all content in this DataSet and overwrite it with the new content in " "this import." msgstr "" -#: cache/b2/b21687508ff5b0bb637fdbd3f8c0d3c6.php:670 +#: cache/b2/b21687508ff5b0bb637fdbd3f8c0d3c6.php:693 msgid "Ignore the first row? Useful if the CSV has headings." msgstr "" -#: cache/b2/b21687508ff5b0bb637fdbd3f8c0d3c6.php:680 +#: cache/b2/b21687508ff5b0bb637fdbd3f8c0d3c6.php:703 msgid "" "In the fields below please enter the column number in the CSV file that " "corresponds to the Column Heading listed. This should be done before Adding " @@ -21647,9 +21652,9 @@ msgstr "" msgid "Sorry we could not find that page." msgstr "" -#: lib/Controller/Task.php:215 lib/Controller/Widget.php:300 -#: lib/Controller/Template.php:586 lib/Controller/DisplayGroup.php:797 -#: lib/Controller/DisplayGroup.php:2665 lib/Controller/DataSet.php:679 +#: lib/Controller/Task.php:215 lib/Controller/Widget.php:304 +#: lib/Controller/Template.php:586 lib/Controller/DisplayGroup.php:801 +#: lib/Controller/DisplayGroup.php:2669 lib/Controller/DataSet.php:698 #: lib/Controller/Notification.php:639 lib/Controller/Campaign.php:649 #: lib/Controller/Campaign.php:1385 lib/Controller/Folder.php:263 #: lib/Controller/Playlist.php:791 lib/Controller/SyncGroup.php:293 @@ -21664,16 +21669,16 @@ msgstr "" msgid "Added %s" msgstr "" -#: lib/Controller/Task.php:284 lib/Controller/Widget.php:587 -#: lib/Controller/DisplayGroup.php:1026 lib/Controller/DataSet.php:991 -#: lib/Controller/DataSet.php:1053 lib/Controller/ScheduleReport.php:426 +#: lib/Controller/Task.php:284 lib/Controller/Widget.php:595 +#: lib/Controller/DisplayGroup.php:1030 lib/Controller/DataSet.php:1029 +#: lib/Controller/DataSet.php:1091 lib/Controller/ScheduleReport.php:426 #: lib/Controller/Notification.php:761 lib/Controller/Campaign.php:959 #: lib/Controller/MenuBoard.php:446 lib/Controller/Folder.php:331 #: lib/Controller/Playlist.php:982 lib/Controller/Transition.php:158 -#: lib/Controller/Library.php:1425 lib/Controller/SyncGroup.php:575 +#: lib/Controller/Library.php:1433 lib/Controller/SyncGroup.php:575 #: lib/Controller/DataSetColumn.php:596 lib/Controller/Tag.php:545 #: lib/Controller/Connector.php:205 lib/Controller/Layout.php:669 -#: lib/Controller/Layout.php:791 lib/Controller/Layout.php:935 +#: lib/Controller/Layout.php:791 lib/Controller/Layout.php:936 #: lib/Controller/MenuBoardCategory.php:437 #: lib/Controller/DisplayProfile.php:485 lib/Controller/User.php:922 #: lib/Controller/User.php:2549 lib/Controller/Applications.php:560 @@ -21687,19 +21692,19 @@ msgstr "" msgid "Edited %s" msgstr "" -#: lib/Controller/Task.php:331 lib/Controller/Widget.php:706 -#: lib/Controller/DisplayGroup.php:1082 lib/Controller/DataSet.php:1143 +#: lib/Controller/Task.php:331 lib/Controller/Widget.php:718 +#: lib/Controller/DisplayGroup.php:1086 lib/Controller/DataSet.php:1181 #: lib/Controller/ScheduleReport.php:464 lib/Controller/Notification.php:820 #: lib/Controller/Campaign.php:1038 lib/Controller/SavedReport.php:283 #: lib/Controller/MenuBoard.php:523 lib/Controller/Folder.php:413 #: lib/Controller/Playlist.php:1063 lib/Controller/Library.php:1035 #: lib/Controller/SyncGroup.php:653 lib/Controller/DataSetColumn.php:685 -#: lib/Controller/Tag.php:630 lib/Controller/Layout.php:1049 +#: lib/Controller/Tag.php:630 lib/Controller/Layout.php:1050 #: lib/Controller/MenuBoardCategory.php:517 #: lib/Controller/DisplayProfile.php:564 lib/Controller/User.php:1039 #: lib/Controller/Applications.php:593 lib/Controller/Resolution.php:442 #: lib/Controller/Region.php:469 lib/Controller/Display.php:1975 -#: lib/Controller/MenuBoardProduct.php:722 lib/Controller/Developer.php:696 +#: lib/Controller/MenuBoardProduct.php:722 lib/Controller/Developer.php:693 #: lib/Controller/PlayerSoftware.php:278 lib/Controller/Command.php:580 #: lib/Controller/DataSetRss.php:656 lib/Controller/UserGroup.php:672 #: lib/Controller/DayPart.php:615 @@ -21726,11 +21731,11 @@ msgid "" "Sorry there is an error with this request, cannot set inherited permissions" msgstr "" -#: lib/Controller/Widget.php:193 lib/Controller/Widget.php:466 -#: lib/Controller/Widget.php:679 lib/Controller/Widget.php:837 -#: lib/Controller/Widget.php:1002 lib/Controller/Widget.php:1091 -#: lib/Controller/Widget.php:1529 lib/Controller/Widget.php:1638 -#: lib/Controller/Widget.php:1720 lib/Controller/Playlist.php:1314 +#: lib/Controller/Widget.php:193 lib/Controller/Widget.php:470 +#: lib/Controller/Widget.php:687 lib/Controller/Widget.php:849 +#: lib/Controller/Widget.php:1018 lib/Controller/Widget.php:1111 +#: lib/Controller/Widget.php:1553 lib/Controller/Widget.php:1666 +#: lib/Controller/Widget.php:1748 lib/Controller/Playlist.php:1314 #: lib/Controller/Playlist.php:1479 lib/Controller/Playlist.php:2010 #: lib/Controller/Layout.php:743 lib/Controller/Layout.php:846 #: lib/Controller/Region.php:229 lib/Controller/Region.php:376 @@ -21740,179 +21745,188 @@ msgstr "" msgid "This Layout is not a Draft, please checkout." msgstr "" -#: lib/Controller/Widget.php:207 +#: lib/Controller/Widget.php:197 lib/Controller/Widget.php:474 +#: lib/Controller/Widget.php:691 lib/Controller/Widget.php:853 +#: lib/Controller/Widget.php:1022 lib/Controller/Widget.php:1115 +#: lib/Controller/Widget.php:1557 lib/Controller/Playlist.php:1317 +#: lib/Controller/Library.php:1175 +msgid "" +"This Playlist is dynamically managed so cannot accept manual assignments." +msgstr "" + +#: lib/Controller/Widget.php:211 msgid "No module enabled of that type." msgstr "" -#: lib/Controller/Widget.php:213 +#: lib/Controller/Widget.php:217 msgid "Sorry but a file based Widget must be assigned not created" msgstr "" -#: lib/Controller/Widget.php:221 +#: lib/Controller/Widget.php:225 msgid "Canvas Widgets can only be added to a Zone" msgstr "" -#: lib/Controller/Widget.php:226 +#: lib/Controller/Widget.php:230 msgid "Only one Canvas Widget allowed per Playlist" msgstr "" -#: lib/Controller/Widget.php:251 +#: lib/Controller/Widget.php:255 msgid "Please select a template" msgstr "" -#: lib/Controller/Widget.php:261 +#: lib/Controller/Widget.php:265 msgid "Expecting a static template" msgstr "" -#: lib/Controller/Widget.php:323 lib/Controller/Widget.php:458 -#: lib/Controller/Widget.php:734 lib/Controller/Widget.php:829 -#: lib/Controller/Widget.php:898 lib/Controller/Widget.php:994 -#: lib/Controller/Widget.php:1083 lib/Controller/Widget.php:1435 -#: lib/Controller/Widget.php:1521 lib/Controller/Widget.php:1630 -#: lib/Controller/Widget.php:1712 lib/Controller/WidgetData.php:76 +#: lib/Controller/Widget.php:327 lib/Controller/Widget.php:462 +#: lib/Controller/Widget.php:746 lib/Controller/Widget.php:841 +#: lib/Controller/Widget.php:914 lib/Controller/Widget.php:1010 +#: lib/Controller/Widget.php:1103 lib/Controller/Widget.php:1459 +#: lib/Controller/Widget.php:1545 lib/Controller/Widget.php:1658 +#: lib/Controller/Widget.php:1740 lib/Controller/WidgetData.php:76 #: lib/Controller/WidgetData.php:129 lib/Controller/WidgetData.php:205 #: lib/Controller/WidgetData.php:267 lib/Controller/WidgetData.php:345 msgid "This Widget is not shared with you with edit permission" msgstr "" -#: lib/Controller/Widget.php:489 +#: lib/Controller/Widget.php:497 msgid "Duration needs to be a positive value" msgstr "" -#: lib/Controller/Widget.php:494 +#: lib/Controller/Widget.php:502 msgid "Duration must be lower than 526000" msgstr "" -#: lib/Controller/Widget.php:505 +#: lib/Controller/Widget.php:513 msgid "This widget uses elements and can not be changed to a static template" msgstr "" -#: lib/Controller/Widget.php:516 +#: lib/Controller/Widget.php:524 msgid "You can only change to another template of the same type" msgstr "" -#: lib/Controller/Widget.php:569 +#: lib/Controller/Widget.php:577 #, php-format msgid "Your library reference %d does not exist." msgstr "" -#: lib/Controller/Widget.php:611 lib/Controller/Widget.php:669 +#: lib/Controller/Widget.php:619 lib/Controller/Widget.php:677 msgid "This Widget is not shared with you with delete permission" msgstr "" -#: lib/Controller/Widget.php:708 +#: lib/Controller/Widget.php:720 msgid "Deleted Widget" msgstr "" -#: lib/Controller/Widget.php:747 lib/Controller/Region.php:690 -#: lib/Connector/OpenWeatherMapConnector.php:677 +#: lib/Controller/Widget.php:759 lib/Controller/Region.php:690 +#: lib/Connector/OpenWeatherMapConnector.php:692 msgid "North" msgstr "" -#: lib/Controller/Widget.php:748 lib/Controller/Region.php:691 +#: lib/Controller/Widget.php:760 lib/Controller/Region.php:691 msgid "North East" msgstr "" -#: lib/Controller/Widget.php:749 lib/Controller/Region.php:692 -#: lib/Connector/OpenWeatherMapConnector.php:681 +#: lib/Controller/Widget.php:761 lib/Controller/Region.php:692 +#: lib/Connector/OpenWeatherMapConnector.php:696 msgid "East" msgstr "" -#: lib/Controller/Widget.php:750 lib/Controller/Region.php:693 +#: lib/Controller/Widget.php:762 lib/Controller/Region.php:693 msgid "South East" msgstr "" -#: lib/Controller/Widget.php:751 lib/Controller/Region.php:694 -#: lib/Connector/OpenWeatherMapConnector.php:685 +#: lib/Controller/Widget.php:763 lib/Controller/Region.php:694 +#: lib/Connector/OpenWeatherMapConnector.php:700 msgid "South" msgstr "" -#: lib/Controller/Widget.php:752 lib/Controller/Region.php:695 +#: lib/Controller/Widget.php:764 lib/Controller/Region.php:695 msgid "South West" msgstr "" -#: lib/Controller/Widget.php:753 lib/Controller/Region.php:696 -#: lib/Connector/OpenWeatherMapConnector.php:689 +#: lib/Controller/Widget.php:765 lib/Controller/Region.php:696 +#: lib/Connector/OpenWeatherMapConnector.php:704 msgid "West" msgstr "" -#: lib/Controller/Widget.php:754 lib/Controller/Region.php:697 +#: lib/Controller/Widget.php:766 lib/Controller/Region.php:697 msgid "North West" msgstr "" -#: lib/Controller/Widget.php:867 +#: lib/Controller/Widget.php:883 msgid "Unknown transition type" msgstr "" -#: lib/Controller/Widget.php:874 +#: lib/Controller/Widget.php:890 msgid "Edited Transition" msgstr "" -#: lib/Controller/Widget.php:904 lib/Controller/Widget.php:1008 +#: lib/Controller/Widget.php:920 lib/Controller/Widget.php:1028 msgid "" "Audio cannot be attached to a Sub-Playlist Widget. Please attach it to the " "Widgets inside the Playlist" msgstr "" -#: lib/Controller/Widget.php:1039 +#: lib/Controller/Widget.php:1059 msgid "Edited Audio" msgstr "" -#: lib/Controller/Widget.php:1104 +#: lib/Controller/Widget.php:1128 msgid "Removed Audio" msgstr "" -#: lib/Controller/Widget.php:1125 lib/Controller/Widget.php:1344 +#: lib/Controller/Widget.php:1149 lib/Controller/Widget.php:1368 msgid "This Region is not shared with you" msgstr "" -#: lib/Controller/Widget.php:1130 lib/Controller/Widget.php:1349 +#: lib/Controller/Widget.php:1154 lib/Controller/Widget.php:1373 msgid "This Widget is not shared with you" msgstr "" -#: lib/Controller/Widget.php:1290 +#: lib/Controller/Widget.php:1314 msgid "No data providers configured" msgstr "" -#: lib/Controller/Widget.php:1417 +#: lib/Controller/Widget.php:1441 msgid "Problem rendering widget" msgstr "" -#: lib/Controller/Widget.php:1581 +#: lib/Controller/Widget.php:1609 msgid "Edited Expiry" msgstr "" -#: lib/Controller/Widget.php:1645 +#: lib/Controller/Widget.php:1673 msgid "You can only set a target region on a Widget in the drawer." msgstr "" -#: lib/Controller/Widget.php:1669 +#: lib/Controller/Widget.php:1697 msgid "Target region set" msgstr "" -#: lib/Controller/Widget.php:1743 +#: lib/Controller/Widget.php:1771 msgid "Invalid element JSON" msgstr "" -#: lib/Controller/Widget.php:1749 +#: lib/Controller/Widget.php:1777 msgid "" "At least one element is required for this Widget. Please delete it if you no " "longer need it." msgstr "" -#: lib/Controller/Widget.php:1818 +#: lib/Controller/Widget.php:1846 msgid "Saved elements" msgstr "" -#: lib/Controller/Widget.php:1843 +#: lib/Controller/Widget.php:1871 msgid "Please supply a propertyId" msgstr "" -#: lib/Controller/Widget.php:1897 +#: lib/Controller/Widget.php:1925 msgid "Please provide a widgetId" msgstr "" -#: lib/Controller/Widget.php:1916 +#: lib/Controller/Widget.php:1944 msgid "Widget does not have a data type" msgstr "" @@ -21920,10 +21934,10 @@ msgstr "" msgid "Alter Template" msgstr "" -#: lib/Controller/Template.php:246 lib/Controller/DisplayGroup.php:361 -#: lib/Controller/DataSet.php:289 lib/Controller/Campaign.php:361 +#: lib/Controller/Template.php:246 lib/Controller/DisplayGroup.php:365 +#: lib/Controller/DataSet.php:291 lib/Controller/Campaign.php:361 #: lib/Controller/MenuBoard.php:179 lib/Controller/Playlist.php:422 -#: lib/Controller/Library.php:677 lib/Controller/Layout.php:1816 +#: lib/Controller/Library.php:677 lib/Controller/Layout.php:1817 #: lib/Controller/Display.php:957 msgid "Move to Folder" msgstr "" @@ -21937,217 +21951,231 @@ msgstr "" msgid "Saved %s" msgstr "" -#: lib/Controller/DisplayGroup.php:320 lib/Controller/SyncGroup.php:176 +#: lib/Controller/DisplayGroup.php:324 lib/Controller/SyncGroup.php:176 #: lib/Controller/UserGroup.php:184 msgid "Members" msgstr "" -#: lib/Controller/DisplayGroup.php:407 lib/Controller/Display.php:1026 +#: lib/Controller/DisplayGroup.php:411 lib/Controller/Display.php:1026 msgid "Assign Files" msgstr "" -#: lib/Controller/DisplayGroup.php:414 lib/Controller/Display.php:1033 +#: lib/Controller/DisplayGroup.php:418 lib/Controller/Display.php:1033 msgid "Assign Layouts" msgstr "" -#: lib/Controller/DisplayGroup.php:1073 +#: lib/Controller/DisplayGroup.php:1077 msgid "Displays should be deleted using the Display delete operation" msgstr "" -#: lib/Controller/DisplayGroup.php:1143 lib/Controller/DisplayGroup.php:1279 -#: lib/Controller/DisplayGroup.php:1379 lib/Controller/DisplayGroup.php:1483 +#: lib/Controller/DisplayGroup.php:1147 lib/Controller/DisplayGroup.php:1283 +#: lib/Controller/DisplayGroup.php:1383 lib/Controller/DisplayGroup.php:1487 msgid "" "This is a Display specific Display Group and its assignments cannot be " "modified." msgstr "" -#: lib/Controller/DisplayGroup.php:1154 +#: lib/Controller/DisplayGroup.php:1158 msgid "Displays cannot be manually assigned to a Dynamic Group" msgstr "" -#: lib/Controller/DisplayGroup.php:1179 lib/Controller/DisplayGroup.php:1202 -#: lib/Controller/DisplayGroup.php:1304 +#: lib/Controller/DisplayGroup.php:1183 lib/Controller/DisplayGroup.php:1206 +#: lib/Controller/DisplayGroup.php:1308 msgid "Access Denied to Display" msgstr "" -#: lib/Controller/DisplayGroup.php:1225 lib/Controller/SyncGroup.php:422 +#: lib/Controller/DisplayGroup.php:1229 lib/Controller/SyncGroup.php:422 #, php-format msgid "Displays assigned to %s" msgstr "" -#: lib/Controller/DisplayGroup.php:1293 +#: lib/Controller/DisplayGroup.php:1297 msgid "Displays cannot be manually unassigned to a Dynamic Group" msgstr "" -#: lib/Controller/DisplayGroup.php:1317 +#: lib/Controller/DisplayGroup.php:1321 #, php-format msgid "Displays unassigned from %s" msgstr "" -#: lib/Controller/DisplayGroup.php:1393 +#: lib/Controller/DisplayGroup.php:1397 msgid "DisplayGroups cannot be manually assigned to a Dynamic Group" msgstr "" -#: lib/Controller/DisplayGroup.php:1404 lib/Controller/DisplayGroup.php:1417 +#: lib/Controller/DisplayGroup.php:1408 lib/Controller/DisplayGroup.php:1421 #: lib/Controller/Display.php:2144 lib/Controller/Display.php:2158 msgid "Access Denied to DisplayGroup" msgstr "" -#: lib/Controller/DisplayGroup.php:1429 +#: lib/Controller/DisplayGroup.php:1433 #, php-format msgid "DisplayGroups assigned to %s" msgstr "" -#: lib/Controller/DisplayGroup.php:1497 +#: lib/Controller/DisplayGroup.php:1501 msgid "DisplayGroups cannot be manually unassigned to a Dynamic Group" msgstr "" -#: lib/Controller/DisplayGroup.php:1513 +#: lib/Controller/DisplayGroup.php:1517 #, php-format msgid "DisplayGroups unassigned from %s" msgstr "" -#: lib/Controller/DisplayGroup.php:1623 lib/Controller/DisplayGroup.php:1637 +#: lib/Controller/DisplayGroup.php:1627 lib/Controller/DisplayGroup.php:1641 msgid "" "You have selected media that you no longer have permission to use. Please " "reload the form." msgstr "" -#: lib/Controller/DisplayGroup.php:1649 +#: lib/Controller/DisplayGroup.php:1653 #, php-format msgid "Files assigned to %s" msgstr "" -#: lib/Controller/DisplayGroup.php:1721 +#: lib/Controller/DisplayGroup.php:1725 #, php-format msgid "Files unassigned from %s" msgstr "" -#: lib/Controller/DisplayGroup.php:1830 lib/Controller/DisplayGroup.php:1842 +#: lib/Controller/DisplayGroup.php:1834 lib/Controller/DisplayGroup.php:1846 msgid "" "You have selected a layout that you no longer have permission to use. Please " "reload the form." msgstr "" -#: lib/Controller/DisplayGroup.php:1854 +#: lib/Controller/DisplayGroup.php:1858 #, php-format msgid "Layouts assigned to %s" msgstr "" -#: lib/Controller/DisplayGroup.php:1927 +#: lib/Controller/DisplayGroup.php:1931 #, php-format msgid "Layouts unassigned from %s" msgstr "" -#: lib/Controller/DisplayGroup.php:2003 lib/Controller/DisplayGroup.php:2052 -#: lib/Controller/DisplayGroup.php:2207 lib/Controller/DisplayGroup.php:2257 -#: lib/Controller/DisplayGroup.php:2400 lib/Controller/DisplayGroup.php:2502 -#: lib/Controller/DisplayGroup.php:2868 +#: lib/Controller/DisplayGroup.php:2007 lib/Controller/DisplayGroup.php:2056 +#: lib/Controller/DisplayGroup.php:2211 lib/Controller/DisplayGroup.php:2261 +#: lib/Controller/DisplayGroup.php:2404 lib/Controller/DisplayGroup.php:2506 +#: lib/Controller/DisplayGroup.php:2872 #, php-format msgid "Command Sent to %s" msgstr "" -#: lib/Controller/DisplayGroup.php:2139 lib/Controller/DisplayGroup.php:2337 +#: lib/Controller/DisplayGroup.php:2143 lib/Controller/DisplayGroup.php:2341 msgid "Please provide a Layout ID or Campaign ID" msgstr "" -#: lib/Controller/DisplayGroup.php:2149 lib/Controller/DisplayGroup.php:2347 +#: lib/Controller/DisplayGroup.php:2153 lib/Controller/DisplayGroup.php:2351 msgid "Please provide Layout specific campaign ID" msgstr "" -#: lib/Controller/DisplayGroup.php:2155 lib/Controller/DisplayGroup.php:2353 +#: lib/Controller/DisplayGroup.php:2159 lib/Controller/DisplayGroup.php:2357 msgid "Cannot find layout by campaignId" msgstr "" -#: lib/Controller/DisplayGroup.php:2160 lib/Controller/DisplayGroup.php:2358 +#: lib/Controller/DisplayGroup.php:2164 lib/Controller/DisplayGroup.php:2362 msgid "Please provide Layout id or Campaign id" msgstr "" -#: lib/Controller/DisplayGroup.php:2525 lib/Controller/DisplayProfile.php:556 +#: lib/Controller/DisplayGroup.php:2529 lib/Controller/DisplayProfile.php:556 #: lib/Controller/DisplayProfile.php:586 lib/Controller/DisplayProfile.php:645 msgid "You do not have permission to delete this profile" msgstr "" -#: lib/Controller/DisplayGroup.php:2777 +#: lib/Controller/DisplayGroup.php:2781 #, php-format msgid "Display %s moved to Folder %s" msgstr "" -#: lib/Controller/DisplayGroup.php:2857 +#: lib/Controller/DisplayGroup.php:2861 msgid "Please provide a Trigger Code" msgstr "" -#: lib/Controller/DataSet.php:232 +#: lib/Controller/DisplayGroup.php:2937 +msgid "No criteria found." +msgstr "" + +#: lib/Controller/DisplayGroup.php:2956 +msgid "" +"Invalid criteria format. Metric, value, and ttl must all be present and not " +"empty." +msgstr "" + +#: lib/Controller/DisplayGroup.php:2977 +msgid "Schedule criteria updates sent to players." +msgstr "" + +#: lib/Controller/DataSet.php:234 msgid "View RSS" msgstr "" -#: lib/Controller/DataSet.php:242 +#: lib/Controller/DataSet.php:244 msgid "View Data Connector" msgstr "" -#: lib/Controller/DataSet.php:254 +#: lib/Controller/DataSet.php:256 msgid "Import CSV" msgstr "" -#: lib/Controller/DataSet.php:300 +#: lib/Controller/DataSet.php:302 msgid "Export (CSV)" msgstr "" -#: lib/Controller/DataSet.php:1048 +#: lib/Controller/DataSet.php:1086 msgid "This DataSet does not have a data connector" msgstr "" -#: lib/Controller/DataSet.php:1081 lib/Entity/DataSet.php:1019 +#: lib/Controller/DataSet.php:1119 lib/Entity/DataSet.php:1032 msgid "Lookup Tables cannot be deleted" msgstr "" -#: lib/Controller/DataSet.php:1135 +#: lib/Controller/DataSet.php:1173 msgid "There is data assigned to this data set, cannot delete." msgstr "" -#: lib/Controller/DataSet.php:1244 +#: lib/Controller/DataSet.php:1282 #, php-format msgid "DataSet %s moved to Folder %s" msgstr "" -#: lib/Controller/DataSet.php:1368 +#: lib/Controller/DataSet.php:1406 #, php-format msgid "Copied %s as %s" msgstr "" -#: lib/Controller/DataSet.php:1526 +#: lib/Controller/DataSet.php:1564 msgid "Missing JSON Body" msgstr "" -#: lib/Controller/DataSet.php:1533 +#: lib/Controller/DataSet.php:1571 msgid "Malformed JSON body, rows and uniqueKeys are required" msgstr "" -#: lib/Controller/DataSet.php:1573 +#: lib/Controller/DataSet.php:1611 #, php-format msgid "Incorrect date provided %s, expected date format Y-m-d H:i:s " msgstr "" -#: lib/Controller/DataSet.php:1627 +#: lib/Controller/DataSet.php:1665 msgid "No data found in request body" msgstr "" -#: lib/Controller/DataSet.php:1631 +#: lib/Controller/DataSet.php:1669 #, php-format msgid "Imported JSON into %s" msgstr "" -#: lib/Controller/DataSet.php:1695 +#: lib/Controller/DataSet.php:1733 #, php-format msgid "Run Test-Request for %s" msgstr "" -#: lib/Controller/DataSet.php:1810 +#: lib/Controller/DataSet.php:1848 #, php-format msgid "Cache cleared for %s" msgstr "" -#: lib/Controller/DataSet.php:1897 +#: lib/Controller/DataSet.php:1945 msgid "URL not found in data connector script" msgstr "" @@ -22398,7 +22426,7 @@ msgid "Please provide LayoutId" msgstr "" #: lib/Controller/Action.php:348 lib/Controller/Action.php:498 -#: lib/Controller/Action.php:562 lib/Controller/Layout.php:2991 +#: lib/Controller/Action.php:562 lib/Controller/Layout.php:2992 msgid "Layout is not checked out" msgstr "" @@ -22422,20 +22450,24 @@ msgstr "" msgid "Provided source is invalid. " msgstr "" -#: lib/Controller/Module.php:264 +#: lib/Controller/Module.php:261 +msgid "Preview is disabled" +msgstr "" + +#: lib/Controller/Module.php:269 #, php-format msgid "Configured %s" msgstr "" -#: lib/Controller/Module.php:313 +#: lib/Controller/Module.php:318 msgid "Cleared the Cache" msgstr "" -#: lib/Controller/Module.php:355 +#: lib/Controller/Module.php:360 msgid "Please provide a datatype" msgstr "" -#: lib/Controller/Module.php:443 +#: lib/Controller/Module.php:448 msgid "Please provide an assetId" msgstr "" @@ -22549,7 +22581,7 @@ msgstr "" #: lib/Controller/Playlist.php:433 lib/Controller/Playlist.php:444 #: lib/Controller/Library.php:748 lib/Controller/Library.php:754 -#: lib/Controller/Layout.php:1877 lib/Controller/Layout.php:1883 +#: lib/Controller/Layout.php:1878 lib/Controller/Layout.php:1884 msgid "Enable stats collection?" msgstr "" @@ -22567,17 +22599,12 @@ msgid "" "tab to define" msgstr "" -#: lib/Controller/Playlist.php:1204 lib/Controller/Library.php:2294 -#: lib/Controller/Layout.php:2207 lib/Controller/Developer.php:635 +#: lib/Controller/Playlist.php:1204 lib/Controller/Library.php:2304 +#: lib/Controller/Layout.php:2208 lib/Controller/Developer.php:632 #, php-format msgid "Copied as %s" msgstr "" -#: lib/Controller/Playlist.php:1317 -msgid "" -"This Playlist is dynamically managed so cannot accept manual assignments." -msgstr "" - #: lib/Controller/Playlist.php:1323 msgid "Please provide Media to Assign" msgstr "" @@ -22607,8 +22634,8 @@ msgstr "" msgid "Specified Playlist item is not in use." msgstr "" -#: lib/Controller/Playlist.php:1717 lib/Controller/Library.php:2153 -#: lib/Controller/Layout.php:1727 +#: lib/Controller/Playlist.php:1717 lib/Controller/Library.php:2163 +#: lib/Controller/Layout.php:1728 msgid "Preview Layout" msgstr "" @@ -22688,97 +22715,97 @@ msgstr "" msgid "This library item is in use." msgstr "" -#: lib/Controller/Library.php:1193 lib/Controller/Library.php:1405 -#: lib/Controller/Library.php:2483 +#: lib/Controller/Library.php:1201 lib/Controller/Library.php:1413 +#: lib/Controller/Library.php:2493 msgid "Cannot set Expiry date in the past" msgstr "" -#: lib/Controller/Library.php:1446 lib/Controller/Library.php:1511 +#: lib/Controller/Library.php:1454 lib/Controller/Library.php:1519 #: lib/Controller/Maintenance.php:97 msgid "Sorry this function is disabled." msgstr "" -#: lib/Controller/Library.php:1543 lib/Controller/Maintenance.php:269 +#: lib/Controller/Library.php:1551 lib/Controller/Maintenance.php:269 msgid "Library Tidy Complete" msgstr "" -#: lib/Controller/Library.php:1626 +#: lib/Controller/Library.php:1634 msgid "Cannot download region specific module" msgstr "" -#: lib/Controller/Library.php:1774 +#: lib/Controller/Library.php:1784 msgid "Route is available through the API" msgstr "" -#: lib/Controller/Library.php:1843 lib/Controller/Layout.php:2272 +#: lib/Controller/Library.php:1853 lib/Controller/Layout.php:2273 msgid "No tags to assign" msgstr "" -#: lib/Controller/Library.php:1854 lib/Controller/Layout.php:2283 +#: lib/Controller/Library.php:1864 lib/Controller/Layout.php:2284 #, php-format msgid "Tagged %s" msgstr "" -#: lib/Controller/Library.php:1917 lib/Controller/Layout.php:2348 +#: lib/Controller/Library.php:1927 lib/Controller/Layout.php:2349 msgid "No tags to unassign" msgstr "" -#: lib/Controller/Library.php:1928 lib/Controller/Layout.php:2358 +#: lib/Controller/Library.php:1938 lib/Controller/Layout.php:2359 #, php-format msgid "Untagged %s" msgstr "" -#: lib/Controller/Library.php:2075 lib/Controller/Library.php:2160 +#: lib/Controller/Library.php:2085 lib/Controller/Library.php:2170 msgid "Specified Media item is not in use." msgstr "" -#: lib/Controller/Library.php:2367 lib/Middleware/Theme.php:143 +#: lib/Controller/Library.php:2377 lib/Middleware/Theme.php:143 #, php-format msgid "This form accepts files up to a maximum size of %s" msgstr "" -#: lib/Controller/Library.php:2491 +#: lib/Controller/Library.php:2501 msgid "Provided URL is invalid" msgstr "" -#: lib/Controller/Library.php:2527 +#: lib/Controller/Library.php:2537 #, php-format msgid "" "Invalid Module type or extension. Module type %s does not allow for %s " "extension" msgstr "" -#: lib/Controller/Library.php:2560 +#: lib/Controller/Library.php:2570 msgid "Download rejected for an unknown reason." msgstr "" -#: lib/Controller/Library.php:2564 +#: lib/Controller/Library.php:2574 #, php-format msgid "Download rejected due to %s" msgstr "" -#: lib/Controller/Library.php:2571 +#: lib/Controller/Library.php:2581 msgid "Media upload from URL was successful" msgstr "" -#: lib/Controller/Library.php:2616 +#: lib/Controller/Library.php:2626 msgid "Invalid image data" msgstr "" -#: lib/Controller/Library.php:2722 +#: lib/Controller/Library.php:2732 #, php-format msgid "Media %s moved to Folder %s" msgstr "" -#: lib/Controller/Library.php:2813 +#: lib/Controller/Library.php:2823 msgid "Not configured by any active connector." msgstr "" -#: lib/Controller/Library.php:2863 +#: lib/Controller/Library.php:2873 msgid "Download failed" msgstr "" -#: lib/Controller/Library.php:2872 +#: lib/Controller/Library.php:2882 msgid "Imported" msgstr "" @@ -22834,167 +22861,167 @@ msgid "" "Template button instead." msgstr "" -#: lib/Controller/Layout.php:959 lib/Controller/Layout.php:1036 +#: lib/Controller/Layout.php:960 lib/Controller/Layout.php:1037 msgid "You do not have permissions to delete this layout" msgstr "" -#: lib/Controller/Layout.php:988 lib/Controller/Layout.php:1090 -#: lib/Controller/Layout.php:1138 lib/Controller/Layout.php:1187 -#: lib/Controller/Layout.php:1256 lib/Controller/Layout.php:1295 -#: lib/Controller/Layout.php:2717 lib/Controller/Layout.php:2768 -#: lib/Controller/Layout.php:2807 lib/Controller/Layout.php:2876 -#: lib/Controller/Layout.php:2936 lib/Controller/Layout.php:2986 +#: lib/Controller/Layout.php:989 lib/Controller/Layout.php:1091 +#: lib/Controller/Layout.php:1139 lib/Controller/Layout.php:1188 +#: lib/Controller/Layout.php:1257 lib/Controller/Layout.php:1296 +#: lib/Controller/Layout.php:2718 lib/Controller/Layout.php:2769 +#: lib/Controller/Layout.php:2808 lib/Controller/Layout.php:2877 +#: lib/Controller/Layout.php:2937 lib/Controller/Layout.php:2987 msgid "You do not have permissions to edit this layout" msgstr "" -#: lib/Controller/Layout.php:1041 +#: lib/Controller/Layout.php:1042 msgid "Cannot delete Layout from its Draft, delete the parent" msgstr "" -#: lib/Controller/Layout.php:1095 lib/Controller/Layout.php:1192 -#: lib/Controller/Layout.php:1261 +#: lib/Controller/Layout.php:1096 lib/Controller/Layout.php:1193 +#: lib/Controller/Layout.php:1262 msgid "Cannot modify Layout from its Draft" msgstr "" -#: lib/Controller/Layout.php:1100 +#: lib/Controller/Layout.php:1101 msgid "This Layout is used as the global default and cannot be retired" msgstr "" -#: lib/Controller/Layout.php:1115 +#: lib/Controller/Layout.php:1116 #, php-format msgid "Retired %s" msgstr "" -#: lib/Controller/Layout.php:1207 +#: lib/Controller/Layout.php:1208 #, php-format msgid "Unretired %s" msgstr "" -#: lib/Controller/Layout.php:1272 +#: lib/Controller/Layout.php:1273 #, php-format msgid "For Layout %s Enable Stats Collection is set to %s" msgstr "" -#: lib/Controller/Layout.php:1510 lib/Controller/Layout.php:1511 +#: lib/Controller/Layout.php:1511 lib/Controller/Layout.php:1512 msgid "Invalid Module" msgstr "" -#: lib/Controller/Layout.php:1653 lib/Controller/Layout.php:2410 +#: lib/Controller/Layout.php:1654 lib/Controller/Layout.php:2411 msgid "This Layout is ready to play" msgstr "" -#: lib/Controller/Layout.php:1654 lib/Controller/Layout.php:2414 +#: lib/Controller/Layout.php:1655 lib/Controller/Layout.php:2415 msgid "There are items on this Layout that can only be assessed by the Display" msgstr "" -#: lib/Controller/Layout.php:1655 lib/Controller/Layout.php:2418 +#: lib/Controller/Layout.php:1656 lib/Controller/Layout.php:2419 msgid "This Layout has not been built yet" msgstr "" -#: lib/Controller/Layout.php:1656 lib/Controller/Layout.php:2422 +#: lib/Controller/Layout.php:1657 lib/Controller/Layout.php:2423 msgid "This Layout is invalid and should not be scheduled" msgstr "" -#: lib/Controller/Layout.php:1660 +#: lib/Controller/Layout.php:1661 msgid "This Layout has enable stat collection set to ON" msgstr "" -#: lib/Controller/Layout.php:1661 +#: lib/Controller/Layout.php:1662 msgid "This Layout has enable stat collection set to OFF" msgstr "" -#: lib/Controller/Layout.php:1738 +#: lib/Controller/Layout.php:1739 msgid "Preview Draft Layout" msgstr "" -#: lib/Controller/Layout.php:1759 +#: lib/Controller/Layout.php:1760 msgid "Assign to Campaign" msgstr "" -#: lib/Controller/Layout.php:1770 +#: lib/Controller/Layout.php:1771 msgid "Jump to Playlists included on this Layout" msgstr "" -#: lib/Controller/Layout.php:1779 +#: lib/Controller/Layout.php:1780 msgid "Jump to Campaigns containing this Layout" msgstr "" -#: lib/Controller/Layout.php:1788 +#: lib/Controller/Layout.php:1789 msgid "Jump to Media included on this Layout" msgstr "" -#: lib/Controller/Layout.php:1850 +#: lib/Controller/Layout.php:1851 msgid "Unretire" msgstr "" -#: lib/Controller/Layout.php:2121 +#: lib/Controller/Layout.php:2122 msgid "Cannot copy a Draft Layout" msgstr "" -#: lib/Controller/Layout.php:2267 lib/Controller/Layout.php:2343 +#: lib/Controller/Layout.php:2268 lib/Controller/Layout.php:2344 msgid "Cannot manage tags on a Draft Layout" msgstr "" -#: lib/Controller/Layout.php:2472 lib/Controller/Layout.php:2510 +#: lib/Controller/Layout.php:2473 lib/Controller/Layout.php:2511 msgid "Cannot export Draft Layout" msgstr "" -#: lib/Controller/Layout.php:2646 +#: lib/Controller/Layout.php:2647 msgid "Layout background must be an image" msgstr "" -#: lib/Controller/Layout.php:2773 +#: lib/Controller/Layout.php:2774 msgid "Layout is already checked out" msgstr "" -#: lib/Controller/Layout.php:2782 +#: lib/Controller/Layout.php:2783 #, php-format msgid "Checked out %s" msgstr "" -#: lib/Controller/Layout.php:2898 +#: lib/Controller/Layout.php:2899 #, php-format msgid "Published %s" msgstr "" -#: lib/Controller/Layout.php:2905 +#: lib/Controller/Layout.php:2906 #, php-format msgid "Layout will be published on %s" msgstr "" -#: lib/Controller/Layout.php:3003 +#: lib/Controller/Layout.php:3004 #, php-format msgid "Discarded %s" msgstr "" -#: lib/Controller/Layout.php:3054 +#: lib/Controller/Layout.php:3055 msgid "" "This function is available only to User who originally locked this Layout." msgstr "" -#: lib/Controller/Layout.php:3143 lib/Entity/Layout.php:2277 +#: lib/Controller/Layout.php:3144 lib/Entity/Layout.php:2277 msgid "Empty Region" msgstr "" -#: lib/Controller/Layout.php:3247 +#: lib/Controller/Layout.php:3248 msgid "Incorrect image data" msgstr "" -#: lib/Controller/Layout.php:3272 +#: lib/Controller/Layout.php:3273 msgid "Thumbnail not found for Layout" msgstr "" -#: lib/Controller/Layout.php:3364 +#: lib/Controller/Layout.php:3365 #, php-format msgid "Please select %s" msgstr "" -#: lib/Controller/Layout.php:3382 +#: lib/Controller/Layout.php:3383 #, php-format msgid "Fetched %s" msgstr "" -#: lib/Controller/Layout.php:3505 +#: lib/Controller/Layout.php:3506 #, php-format msgid "Created %s" msgstr "" @@ -23583,27 +23610,27 @@ msgstr "" msgid "Added Menu Board Product" msgstr "" -#: lib/Controller/Developer.php:111 +#: lib/Controller/Developer.php:110 msgid "Export XML" msgstr "" -#: lib/Controller/Developer.php:249 lib/Controller/Developer.php:323 +#: lib/Controller/Developer.php:248 lib/Controller/Developer.php:322 msgid "Please supply a unique template ID" msgstr "" -#: lib/Controller/Developer.php:252 lib/Controller/Developer.php:326 +#: lib/Controller/Developer.php:251 lib/Controller/Developer.php:325 msgid "Please supply a title" msgstr "" -#: lib/Controller/Developer.php:255 lib/Controller/Developer.php:329 +#: lib/Controller/Developer.php:254 lib/Controller/Developer.php:328 msgid "Please supply a data type" msgstr "" -#: lib/Controller/Developer.php:259 lib/Controller/Developer.php:333 +#: lib/Controller/Developer.php:258 lib/Controller/Developer.php:332 msgid "Please select relevant editor which should show this Template" msgstr "" -#: lib/Controller/Developer.php:302 +#: lib/Controller/Developer.php:301 msgid "Added" msgstr "" @@ -23735,6 +23762,10 @@ msgstr "" msgid "Saving into root folder is disabled, please select a different folder" msgstr "" +#: lib/XMR/ScheduleCriteriaUpdateAction.php:62 +msgid "Criteria updates not provided." +msgstr "" + #: lib/XMR/OverlayLayoutAction.php:65 msgid "Layout Details not provided" msgstr "" @@ -23808,14 +23839,18 @@ msgid "" "Time provisioning is disabled" msgstr "" -#: lib/Middleware/ApiAuthorization.php:109 +#: lib/Middleware/ApiAuthorization.php:110 msgid "Sorry this account does not exist or cannot be authenticated." msgstr "" -#: lib/Middleware/ApiAuthorization.php:161 +#: lib/Middleware/ApiAuthorization.php:162 msgid "Access to this route is denied for this scope" msgstr "" +#: lib/Event/DataConnectorSourceRequestEvent.php:49 +msgid "User-Defined JavaScript" +msgstr "" + #: lib/Event/ScheduleCriteriaRequestEvent.php:72 #: lib/Event/ScheduleCriteriaRequestEvent.php:110 msgid "Current type is not set." @@ -23853,7 +23888,7 @@ msgstr "" msgid "Please enter a display group name" msgstr "" -#: lib/Entity/DisplayGroup.php:589 lib/Entity/DataSet.php:865 +#: lib/Entity/DisplayGroup.php:589 lib/Entity/DataSet.php:878 #: lib/Entity/Layout.php:1095 msgid "Description can not be longer than 254 characters" msgstr "" @@ -23872,43 +23907,43 @@ msgstr "" msgid "This assignment creates a circular reference" msgstr "" -#: lib/Entity/DataSet.php:406 lib/Entity/DataSet.php:429 +#: lib/Entity/DataSet.php:413 lib/Entity/DataSet.php:436 #, php-format msgid "Column %s not found" msgstr "" -#: lib/Entity/DataSet.php:463 +#: lib/Entity/DataSet.php:470 msgid "Unknown Column " msgstr "" -#: lib/Entity/DataSet.php:861 +#: lib/Entity/DataSet.php:874 msgid "Name must be between 1 and 50 characters" msgstr "" -#: lib/Entity/DataSet.php:871 +#: lib/Entity/DataSet.php:884 msgid "A remote DataSet must have a URI." msgstr "" -#: lib/Entity/DataSet.php:875 +#: lib/Entity/DataSet.php:888 msgid "DataSet row limit cannot be larger than the CMS dataSet row limit" msgstr "" -#: lib/Entity/DataSet.php:883 +#: lib/Entity/DataSet.php:896 #, php-format msgid "There is already dataSet called %s. Please choose another name." msgstr "" -#: lib/Entity/DataSet.php:1029 +#: lib/Entity/DataSet.php:1042 msgid "" "Cannot delete because this DataSet is set as dependent DataSet for another " "DataSet" msgstr "" -#: lib/Entity/DataSet.php:1040 +#: lib/Entity/DataSet.php:1053 msgid "Cannot delete because DataSet is in use on one or more Layouts." msgstr "" -#: lib/Entity/DataSet.php:1049 +#: lib/Entity/DataSet.php:1062 msgid "" "Cannot delete because DataSet is in use on one or more Data Connector " "schedules." @@ -24016,7 +24051,7 @@ msgstr "" msgid "Please enter a valid condition" msgstr "" -#: lib/Entity/Module.php:540 +#: lib/Entity/Module.php:541 msgid "Default Duration is a required field." msgstr "" @@ -24099,36 +24134,36 @@ msgid "" "provide Tag value in the dedicated field." msgstr "" -#: lib/Entity/Media.php:291 +#: lib/Entity/Media.php:292 #, php-format msgid "Copy of %s on %s" msgstr "" -#: lib/Entity/Media.php:378 +#: lib/Entity/Media.php:379 msgid "Unknown Media Type" msgstr "" -#: lib/Entity/Media.php:382 +#: lib/Entity/Media.php:383 msgid "The name must be between 1 and 100 characters" msgstr "" -#: lib/Entity/Media.php:407 +#: lib/Entity/Media.php:408 msgid "Media you own already has this name. Please choose another." msgstr "" -#: lib/Entity/Media.php:724 +#: lib/Entity/Media.php:753 msgid "Problem copying file in the Library Folder" msgstr "" -#: lib/Entity/Media.php:730 +#: lib/Entity/Media.php:759 msgid "Problem moving uploaded file into the Library Folder" msgstr "" -#: lib/Entity/Media.php:748 +#: lib/Entity/Media.php:777 msgid "Problem moving downloaded file into the Library Folder" msgstr "" -#: lib/Entity/Media.php:755 +#: lib/Entity/Media.php:784 msgid "Problem copying provided file into the Library Folder" msgstr "" @@ -24582,27 +24617,27 @@ msgstr "" msgid "Exception Start/End time for %s are empty or in an incorrect format" msgstr "" -#: lib/Entity/DisplayEvent.php:210 +#: lib/Entity/DisplayEvent.php:215 msgid "Display Up/down" msgstr "" -#: lib/Entity/DisplayEvent.php:211 +#: lib/Entity/DisplayEvent.php:216 msgid "App Start" msgstr "" -#: lib/Entity/DisplayEvent.php:212 +#: lib/Entity/DisplayEvent.php:217 msgid "Power Cycle" msgstr "" -#: lib/Entity/DisplayEvent.php:213 +#: lib/Entity/DisplayEvent.php:218 msgid "Network Cycle" msgstr "" -#: lib/Entity/DisplayEvent.php:214 +#: lib/Entity/DisplayEvent.php:219 msgid "TV Monitoring" msgstr "" -#: lib/Entity/DisplayEvent.php:215 +#: lib/Entity/DisplayEvent.php:220 msgid "Player Fault" msgstr "" @@ -24624,12 +24659,12 @@ msgid "Class %s not found" msgstr "" #: lib/Service/ReportService.php:299 lib/Service/ReportService.php:336 -#: lib/Factory/LayoutFactory.php:1296 +#: lib/Factory/LayoutFactory.php:1294 msgid "File does not exist" msgstr "" #: lib/Service/ReportService.php:305 lib/Service/ReportService.php:342 -#: lib/Factory/LayoutFactory.php:1302 +#: lib/Factory/LayoutFactory.php:1300 msgid "Unable to open ZIP" msgstr "" @@ -24928,60 +24963,60 @@ msgstr "" msgid "Cannot find Player Version" msgstr "" -#: lib/Factory/LayoutFactory.php:322 +#: lib/Factory/LayoutFactory.php:321 msgid "LayoutId is 0" msgstr "" -#: lib/Factory/LayoutFactory.php:328 lib/Factory/LayoutFactory.php:370 -#: lib/Factory/LayoutFactory.php:415 lib/Factory/LayoutFactory.php:436 -#: lib/Factory/LayoutFactory.php:491 lib/Factory/LayoutFactory.php:545 +#: lib/Factory/LayoutFactory.php:327 lib/Factory/LayoutFactory.php:369 +#: lib/Factory/LayoutFactory.php:414 lib/Factory/LayoutFactory.php:435 +#: lib/Factory/LayoutFactory.php:490 lib/Factory/LayoutFactory.php:544 msgid "Layout not found" msgstr "" -#: lib/Factory/LayoutFactory.php:345 lib/Factory/LayoutFactory.php:387 +#: lib/Factory/LayoutFactory.php:344 lib/Factory/LayoutFactory.php:386 msgid "Invalid Input" msgstr "" -#: lib/Factory/LayoutFactory.php:351 lib/Factory/LayoutFactory.php:393 +#: lib/Factory/LayoutFactory.php:350 lib/Factory/LayoutFactory.php:392 msgid "Layout does not exist" msgstr "" -#: lib/Factory/LayoutFactory.php:663 +#: lib/Factory/LayoutFactory.php:662 msgid "Layout import failed, invalid xlf supplied" msgstr "" -#: lib/Factory/LayoutFactory.php:1308 +#: lib/Factory/LayoutFactory.php:1306 msgid "Unable to read layout details from ZIP" msgstr "" -#: lib/Factory/LayoutFactory.php:1360 +#: lib/Factory/LayoutFactory.php:1358 msgid "" "Unsupported format. Missing Layout definitions from layout.json file in the " "archive." msgstr "" -#: lib/Factory/LayoutFactory.php:1484 +#: lib/Factory/LayoutFactory.php:1485 msgid "Empty file in ZIP" msgstr "" -#: lib/Factory/LayoutFactory.php:1490 +#: lib/Factory/LayoutFactory.php:1491 msgid "Cannot save media file from ZIP file" msgstr "" -#: lib/Factory/LayoutFactory.php:1851 +#: lib/Factory/LayoutFactory.php:1852 #, php-format msgid "DataSets have different number of columns imported = %d, existing = %d" msgstr "" -#: lib/Factory/LayoutFactory.php:1868 +#: lib/Factory/LayoutFactory.php:1869 msgid "DataSets have different column names" msgstr "" -#: lib/Factory/LayoutFactory.php:2761 lib/Factory/LayoutFactory.php:2774 +#: lib/Factory/LayoutFactory.php:2762 lib/Factory/LayoutFactory.php:2775 msgid "Draft" msgstr "" -#: lib/Factory/LayoutFactory.php:3097 +#: lib/Factory/LayoutFactory.php:3098 msgid "Module not found" msgstr "" @@ -25049,27 +25084,27 @@ msgstr "" msgid "Asset not found" msgstr "" -#: lib/Factory/ModuleFactory.php:803 +#: lib/Factory/ModuleFactory.php:804 msgid "Invalid legacyType" msgstr "" -#: lib/Factory/ModuleFactory.php:822 lib/Factory/ModuleTemplateFactory.php:484 +#: lib/Factory/ModuleFactory.php:823 lib/Factory/ModuleTemplateFactory.php:484 msgid "Invalid assets" msgstr "" -#: lib/Factory/ModuleFactory.php:838 +#: lib/Factory/ModuleFactory.php:839 msgid "Invalid settings" msgstr "" -#: lib/Factory/ModuleFactory.php:882 lib/Factory/ModuleTemplateFactory.php:457 +#: lib/Factory/ModuleFactory.php:883 lib/Factory/ModuleTemplateFactory.php:457 msgid "Invalid properties" msgstr "" -#: lib/Factory/ModuleFactory.php:890 lib/Factory/ModuleTemplateFactory.php:466 +#: lib/Factory/ModuleFactory.php:891 lib/Factory/ModuleTemplateFactory.php:466 msgid "Invalid property groups" msgstr "" -#: lib/Factory/ModuleFactory.php:906 lib/Factory/ModuleTemplateFactory.php:475 +#: lib/Factory/ModuleFactory.php:907 lib/Factory/ModuleTemplateFactory.php:475 msgid "Invalid stencils" msgstr "" @@ -25118,50 +25153,50 @@ msgstr "" msgid "Menu Board not found" msgstr "" -#: lib/Factory/DataSetFactory.php:447 +#: lib/Factory/DataSetFactory.php:448 #, php-format msgid "" "The request %d is too large to fit inside the configured memory limit. %d" msgstr "" -#: lib/Factory/DataSetFactory.php:517 +#: lib/Factory/DataSetFactory.php:518 #, php-format msgid "Unable to get Data for %s because the response was not valid JSON." msgstr "" -#: lib/Factory/DataSetFactory.php:551 +#: lib/Factory/DataSetFactory.php:560 #, php-format msgid "Unable to get Data for %s because %s." msgstr "" -#: lib/Factory/DataSetFactory.php:599 +#: lib/Factory/DataSetFactory.php:608 #, php-format msgid "Processing %d results into %d potential columns" msgstr "" -#: lib/Factory/DataSetFactory.php:602 +#: lib/Factory/DataSetFactory.php:611 #, php-format msgid "Processing Result with Data Root %s" msgstr "" -#: lib/Factory/DataSetFactory.php:645 +#: lib/Factory/DataSetFactory.php:654 msgid "Processing as a Single Row" msgstr "" -#: lib/Factory/DataSetFactory.php:650 +#: lib/Factory/DataSetFactory.php:659 msgid "Processing as Multiple Rows" msgstr "" -#: lib/Factory/DataSetFactory.php:660 +#: lib/Factory/DataSetFactory.php:669 #, php-format msgid "No data found at the DataRoot %s" msgstr "" -#: lib/Factory/DataSetFactory.php:663 +#: lib/Factory/DataSetFactory.php:672 msgid "Consolidating entries" msgstr "" -#: lib/Factory/DataSetFactory.php:668 +#: lib/Factory/DataSetFactory.php:677 #, php-format msgid "There are %d entries in total" msgstr "" @@ -25692,7 +25727,7 @@ msgstr "" msgid "Entity not found: " msgstr "" -#: lib/Factory/PermissionFactory.php:180 +#: lib/Factory/PermissionFactory.php:176 msgid "Entity not found" msgstr "" @@ -25757,53 +25792,58 @@ msgstr "" msgid "%s must be a valid URI" msgstr "" -#: lib/Widget/Definition/Property.php:289 -#: lib/Widget/Definition/Property.php:301 +#: lib/Widget/Definition/Property.php:292 +#, php-format +msgid "%s must be a valid Windows path" +msgstr "" + +#: lib/Widget/Definition/Property.php:306 +#: lib/Widget/Definition/Property.php:318 msgid "" "That is not a valid date interval, please use natural language such as 1 week" msgstr "" -#: lib/Widget/Definition/Property.php:311 +#: lib/Widget/Definition/Property.php:328 #, php-format msgid "%s must equal %s" msgstr "" -#: lib/Widget/Definition/Property.php:320 +#: lib/Widget/Definition/Property.php:337 #, php-format msgid "%s must not equal %s" msgstr "" -#: lib/Widget/Definition/Property.php:329 +#: lib/Widget/Definition/Property.php:346 #, php-format msgid "%s must contain %s" msgstr "" -#: lib/Widget/Definition/Property.php:339 +#: lib/Widget/Definition/Property.php:356 #, php-format msgid "%s must not contain %s" msgstr "" -#: lib/Widget/Definition/Property.php:350 +#: lib/Widget/Definition/Property.php:367 #, php-format msgid "%s must be less than %s" msgstr "" -#: lib/Widget/Definition/Property.php:361 +#: lib/Widget/Definition/Property.php:378 #, php-format msgid "%s must be less than or equal to %s" msgstr "" -#: lib/Widget/Definition/Property.php:372 +#: lib/Widget/Definition/Property.php:389 #, php-format msgid "%s must be greater than or equal to %s" msgstr "" -#: lib/Widget/Definition/Property.php:383 +#: lib/Widget/Definition/Property.php:400 #, php-format msgid "%s must be greater than %s" msgstr "" -#: lib/Widget/Definition/Property.php:455 +#: lib/Widget/Definition/Property.php:472 #, php-format msgid "%s is not a valid option" msgstr "" @@ -25886,24 +25926,24 @@ msgstr "" msgid "Data Connector %s not found" msgstr "" -#: lib/Xmds/Soap.php:585 +#: lib/Xmds/Soap.php:586 #, php-format msgid "" "Scheduled Action Event ID %d contains an invalid Layout linked to it by the " "Layout code." msgstr "" -#: lib/Xmds/Soap.php:2664 +#: lib/Xmds/Soap.php:2683 #, php-format msgid "Recovery for Display %s" msgstr "" -#: lib/Xmds/Soap.php:2666 +#: lib/Xmds/Soap.php:2685 #, php-format msgid "Display ID %d is now back online %s" msgstr "" -#: lib/Xmds/Soap.php:2806 +#: lib/Xmds/Soap.php:2825 msgid "Bandwidth allowance exceeded" msgstr "" @@ -25964,7 +26004,11 @@ msgstr "" msgid "Wake On Lan Failed as there are no functions available to transmit it" msgstr "" -#: lib/Helper/DataSetUploadHandler.php:133 +#: lib/Helper/DataSetUploadHandler.php:76 +msgid "Import failed: No value columns defined in the dataset." +msgstr "" + +#: lib/Helper/DataSetUploadHandler.php:153 #, php-format msgid "Unable to import row %d" msgstr "" @@ -26289,139 +26333,139 @@ msgstr "" msgid "Unable to get weather results." msgstr "" -#: lib/Connector/OpenWeatherMapConnector.php:509 +#: lib/Connector/OpenWeatherMapConnector.php:524 msgid "Chinese Simplified" msgstr "" -#: lib/Connector/OpenWeatherMapConnector.php:510 +#: lib/Connector/OpenWeatherMapConnector.php:525 msgid "Chinese Traditional" msgstr "" -#: lib/Connector/OpenWeatherMapConnector.php:517 +#: lib/Connector/OpenWeatherMapConnector.php:532 msgid "Persian (Farsi)" msgstr "" -#: lib/Connector/OpenWeatherMapConnector.php:532 +#: lib/Connector/OpenWeatherMapConnector.php:547 msgid "Norwegian" msgstr "" -#: lib/Connector/OpenWeatherMapConnector.php:536 +#: lib/Connector/OpenWeatherMapConnector.php:551 msgid "Português Brasil" msgstr "" -#: lib/Connector/OpenWeatherMapConnector.php:548 +#: lib/Connector/OpenWeatherMapConnector.php:563 msgid "Zulu" msgstr "" -#: lib/Connector/OpenWeatherMapConnector.php:653 +#: lib/Connector/OpenWeatherMapConnector.php:668 msgid "Weather Condition" msgstr "" -#: lib/Connector/OpenWeatherMapConnector.php:655 +#: lib/Connector/OpenWeatherMapConnector.php:670 msgid "Clear Sky" msgstr "" -#: lib/Connector/OpenWeatherMapConnector.php:656 +#: lib/Connector/OpenWeatherMapConnector.php:671 msgid "Few Clouds" msgstr "" -#: lib/Connector/OpenWeatherMapConnector.php:657 +#: lib/Connector/OpenWeatherMapConnector.php:672 msgid "Scattered Clouds" msgstr "" -#: lib/Connector/OpenWeatherMapConnector.php:658 +#: lib/Connector/OpenWeatherMapConnector.php:673 msgid "Broken Clouds" msgstr "" -#: lib/Connector/OpenWeatherMapConnector.php:659 +#: lib/Connector/OpenWeatherMapConnector.php:674 msgid "Shower Rain" msgstr "" -#: lib/Connector/OpenWeatherMapConnector.php:660 +#: lib/Connector/OpenWeatherMapConnector.php:675 msgid "Rain" msgstr "" -#: lib/Connector/OpenWeatherMapConnector.php:661 +#: lib/Connector/OpenWeatherMapConnector.php:676 msgid "Thunderstorm" msgstr "" -#: lib/Connector/OpenWeatherMapConnector.php:662 +#: lib/Connector/OpenWeatherMapConnector.php:677 msgid "Snow" msgstr "" -#: lib/Connector/OpenWeatherMapConnector.php:663 +#: lib/Connector/OpenWeatherMapConnector.php:678 msgid "Mist" msgstr "" -#: lib/Connector/OpenWeatherMapConnector.php:665 +#: lib/Connector/OpenWeatherMapConnector.php:680 msgid "Temperature (Imperial)" msgstr "" -#: lib/Connector/OpenWeatherMapConnector.php:667 +#: lib/Connector/OpenWeatherMapConnector.php:682 msgid "Temperature (Metric)" msgstr "" -#: lib/Connector/OpenWeatherMapConnector.php:669 +#: lib/Connector/OpenWeatherMapConnector.php:684 msgid "Apparent Temperature (Imperial)" msgstr "" -#: lib/Connector/OpenWeatherMapConnector.php:671 +#: lib/Connector/OpenWeatherMapConnector.php:686 msgid "Apparent Temperature (Metric)" msgstr "" -#: lib/Connector/OpenWeatherMapConnector.php:678 +#: lib/Connector/OpenWeatherMapConnector.php:693 msgid "North-Northeast" msgstr "" -#: lib/Connector/OpenWeatherMapConnector.php:679 +#: lib/Connector/OpenWeatherMapConnector.php:694 msgid "Northeast" msgstr "" -#: lib/Connector/OpenWeatherMapConnector.php:680 +#: lib/Connector/OpenWeatherMapConnector.php:695 msgid "East-Northeast" msgstr "" -#: lib/Connector/OpenWeatherMapConnector.php:682 +#: lib/Connector/OpenWeatherMapConnector.php:697 msgid "East-Southeast" msgstr "" -#: lib/Connector/OpenWeatherMapConnector.php:683 +#: lib/Connector/OpenWeatherMapConnector.php:698 msgid "Southeast" msgstr "" -#: lib/Connector/OpenWeatherMapConnector.php:684 +#: lib/Connector/OpenWeatherMapConnector.php:699 msgid "South-Southeast" msgstr "" -#: lib/Connector/OpenWeatherMapConnector.php:686 +#: lib/Connector/OpenWeatherMapConnector.php:701 msgid "South-Southwest" msgstr "" -#: lib/Connector/OpenWeatherMapConnector.php:687 +#: lib/Connector/OpenWeatherMapConnector.php:702 msgid "Southwest" msgstr "" -#: lib/Connector/OpenWeatherMapConnector.php:688 +#: lib/Connector/OpenWeatherMapConnector.php:703 msgid "West-Southwest" msgstr "" -#: lib/Connector/OpenWeatherMapConnector.php:690 +#: lib/Connector/OpenWeatherMapConnector.php:705 msgid "West-Northwest" msgstr "" -#: lib/Connector/OpenWeatherMapConnector.php:691 +#: lib/Connector/OpenWeatherMapConnector.php:706 msgid "Northwest" msgstr "" -#: lib/Connector/OpenWeatherMapConnector.php:692 +#: lib/Connector/OpenWeatherMapConnector.php:707 msgid "North-Northwest" msgstr "" -#: lib/Connector/OpenWeatherMapConnector.php:694 +#: lib/Connector/OpenWeatherMapConnector.php:709 msgid "Wind Bearing" msgstr "" -#: lib/Connector/OpenWeatherMapConnector.php:696 +#: lib/Connector/OpenWeatherMapConnector.php:711 msgid "Humidity (Percent)" msgstr "" @@ -26680,22 +26724,22 @@ msgstr "" msgid "Fetching Remote-DataSets" msgstr "" -#: lib/XTR/RemoteDataSetFetchTask.php:176 +#: lib/XTR/RemoteDataSetFetchTask.php:190 #, php-format msgid "No results for %s, truncate with no new data enabled" msgstr "" -#: lib/XTR/RemoteDataSetFetchTask.php:178 +#: lib/XTR/RemoteDataSetFetchTask.php:192 #, php-format msgid "No results for %s" msgstr "" -#: lib/XTR/RemoteDataSetFetchTask.php:186 +#: lib/XTR/RemoteDataSetFetchTask.php:200 #, php-format msgid "Error syncing DataSet %s" msgstr "" -#: lib/XTR/RemoteDataSetFetchTask.php:192 +#: lib/XTR/RemoteDataSetFetchTask.php:206 #, php-format msgid "Remote DataSet %s failed to synchronise" msgstr "" @@ -26775,20 +26819,20 @@ msgstr "" msgid "%s time disconnected summary report" msgstr "" -#: lib/Report/TimeDisconnectedSummary.php:265 +#: lib/Report/TimeDisconnectedSummary.php:266 #: lib/Report/DistributionReport.php:303 msgid "No display groups with View permissions" msgstr "" -#: lib/Report/TimeDisconnectedSummary.php:307 +#: lib/Report/TimeDisconnectedSummary.php:308 msgid "Days" msgstr "" -#: lib/Report/TimeDisconnectedSummary.php:454 +#: lib/Report/TimeDisconnectedSummary.php:494 msgid "Downtime" msgstr "" -#: lib/Report/TimeDisconnectedSummary.php:459 +#: lib/Report/TimeDisconnectedSummary.php:499 msgid "Uptime" msgstr "" @@ -26797,7 +26841,7 @@ msgstr "" msgid "%s bandwidth report" msgstr "" -#: lib/Report/ApiRequests.php:133 +#: lib/Report/ApiRequests.php:138 #, php-format msgid "%s API requests %s log report for User" msgstr "" diff --git a/locale/el.mo b/locale/el.mo index ce6bb8b6d6..a6e9efa240 100755 Binary files a/locale/el.mo and b/locale/el.mo differ diff --git a/locale/en_GB.mo b/locale/en_GB.mo index 9c1a748ab4..c9d99d8041 100755 Binary files a/locale/en_GB.mo and b/locale/en_GB.mo differ diff --git a/locale/es.mo b/locale/es.mo index a3af0c91af..6ea04a6004 100755 Binary files a/locale/es.mo and b/locale/es.mo differ diff --git a/locale/et.mo b/locale/et.mo index 874ed5b112..fdc555efa8 100755 Binary files a/locale/et.mo and b/locale/et.mo differ diff --git a/locale/eu.mo b/locale/eu.mo index b6cfd139bf..6fa487a1ca 100755 Binary files a/locale/eu.mo and b/locale/eu.mo differ diff --git a/locale/fa.mo b/locale/fa.mo index daa7c3c72a..5cf2b891a9 100755 Binary files a/locale/fa.mo and b/locale/fa.mo differ diff --git a/locale/fi.mo b/locale/fi.mo index 624d8cb7ad..47b2200990 100755 Binary files a/locale/fi.mo and b/locale/fi.mo differ diff --git a/locale/fr.mo b/locale/fr.mo index 0a88214368..0c4827fbdb 100755 Binary files a/locale/fr.mo and b/locale/fr.mo differ diff --git a/locale/fr_CA.mo b/locale/fr_CA.mo index d7f8e58351..de25d91cb9 100644 Binary files a/locale/fr_CA.mo and b/locale/fr_CA.mo differ diff --git a/locale/he.mo b/locale/he.mo index ed3e92bfe4..56abd8eb0e 100755 Binary files a/locale/he.mo and b/locale/he.mo differ diff --git a/locale/hi.mo b/locale/hi.mo index 0c83504ab7..03b34f225a 100755 Binary files a/locale/hi.mo and b/locale/hi.mo differ diff --git a/locale/hr.mo b/locale/hr.mo index 71e33c9d63..63fd4f3100 100755 Binary files a/locale/hr.mo and b/locale/hr.mo differ diff --git a/locale/hu.mo b/locale/hu.mo index e8b59c2241..5eb3498c1c 100755 Binary files a/locale/hu.mo and b/locale/hu.mo differ diff --git a/locale/id.mo b/locale/id.mo index 7f9bb29ff7..e30c6897e8 100755 Binary files a/locale/id.mo and b/locale/id.mo differ diff --git a/locale/it.mo b/locale/it.mo index bb235c078e..a963fabf66 100755 Binary files a/locale/it.mo and b/locale/it.mo differ diff --git a/locale/ja.mo b/locale/ja.mo index dd2681175d..4885c27539 100755 Binary files a/locale/ja.mo and b/locale/ja.mo differ diff --git a/locale/ko.mo b/locale/ko.mo index 2633f9aed6..8fd9853672 100755 Binary files a/locale/ko.mo and b/locale/ko.mo differ diff --git a/locale/ku.mo b/locale/ku.mo index 0e4de8c11e..ead3dc2ab7 100755 Binary files a/locale/ku.mo and b/locale/ku.mo differ diff --git a/locale/lb.mo b/locale/lb.mo index cddddc6a28..f8317f0ddd 100755 Binary files a/locale/lb.mo and b/locale/lb.mo differ diff --git a/locale/lo.mo b/locale/lo.mo index 8f283ab1ab..3db428bc6d 100755 Binary files a/locale/lo.mo and b/locale/lo.mo differ diff --git a/locale/lt.mo b/locale/lt.mo index 5b5784f8f6..10b04a4671 100755 Binary files a/locale/lt.mo and b/locale/lt.mo differ diff --git a/locale/nb.mo b/locale/nb.mo index fbe39a34a7..aef3429985 100755 Binary files a/locale/nb.mo and b/locale/nb.mo differ diff --git a/locale/nl.mo b/locale/nl.mo index 36b38f5660..d933aa91af 100755 Binary files a/locale/nl.mo and b/locale/nl.mo differ diff --git a/locale/nl_NL.mo b/locale/nl_NL.mo index 7ce50272ac..eb249fdf8b 100755 Binary files a/locale/nl_NL.mo and b/locale/nl_NL.mo differ diff --git a/locale/pl.mo b/locale/pl.mo index b7c83e28c9..9e41b8bb9b 100755 Binary files a/locale/pl.mo and b/locale/pl.mo differ diff --git a/locale/pt.mo b/locale/pt.mo index 5ed3001a0c..092e9003cb 100755 Binary files a/locale/pt.mo and b/locale/pt.mo differ diff --git a/locale/pt_BR.mo b/locale/pt_BR.mo index 25afaa5b02..2d05012e30 100755 Binary files a/locale/pt_BR.mo and b/locale/pt_BR.mo differ diff --git a/locale/ro.mo b/locale/ro.mo index 1f93788524..8f7a8b2d40 100755 Binary files a/locale/ro.mo and b/locale/ro.mo differ diff --git a/locale/ru.mo b/locale/ru.mo index 261186f399..4c202b10f2 100755 Binary files a/locale/ru.mo and b/locale/ru.mo differ diff --git a/locale/sk.mo b/locale/sk.mo index 79f3defa8b..6ac0580a82 100755 Binary files a/locale/sk.mo and b/locale/sk.mo differ diff --git a/locale/sl.mo b/locale/sl.mo index 09b842ba9f..3b9f293c79 100755 Binary files a/locale/sl.mo and b/locale/sl.mo differ diff --git a/locale/sr@latin.mo b/locale/sr@latin.mo index e890efada8..ef6060a9bd 100755 Binary files a/locale/sr@latin.mo and b/locale/sr@latin.mo differ diff --git a/locale/sv.mo b/locale/sv.mo index 6463ee6bcf..4741f3b512 100755 Binary files a/locale/sv.mo and b/locale/sv.mo differ diff --git a/locale/th.mo b/locale/th.mo index 12e1e40fa2..b2b4ab35e6 100755 Binary files a/locale/th.mo and b/locale/th.mo differ diff --git a/locale/tr.mo b/locale/tr.mo index 08160af788..984e4323d8 100755 Binary files a/locale/tr.mo and b/locale/tr.mo differ diff --git a/locale/vi.mo b/locale/vi.mo index e2d7a4f823..073b8d50a5 100755 Binary files a/locale/vi.mo and b/locale/vi.mo differ diff --git a/locale/zh_CN.mo b/locale/zh_CN.mo index 5604b2e632..68442d83a5 100755 Binary files a/locale/zh_CN.mo and b/locale/zh_CN.mo differ diff --git a/locale/zh_TW.mo b/locale/zh_TW.mo index 87e77cde60..66386fc00d 100755 Binary files a/locale/zh_TW.mo and b/locale/zh_TW.mo differ diff --git a/modules/genericfile.xml b/modules/genericfile.xml index 91f0ebe489..f9e8e841fc 100644 --- a/modules/genericfile.xml +++ b/modules/genericfile.xml @@ -38,6 +38,7 @@ apk,ipk,js,html,htm + 0 diff --git a/modules/layout-renderer.twig b/modules/layout-renderer.twig index 4491d73dc5..63a0f98751 100644 --- a/modules/layout-renderer.twig +++ b/modules/layout-renderer.twig @@ -31,14 +31,10 @@ - - - {% include 'layout-preview-partial.twig' with {'layout': layout, 'previewOptions': previewOptions} %} {# Import JS bundle from dist #} - - + diff --git a/modules/localvideo.xml b/modules/localvideo.xml index fa322fb0c7..0a8449f0bd 100644 --- a/modules/localvideo.xml +++ b/modules/localvideo.xml @@ -46,7 +46,10 @@ + + + diff --git a/modules/src/xibo-player.js b/modules/src/xibo-player.js index f55ea63b6c..0b9efaf10c 100644 --- a/modules/src/xibo-player.js +++ b/modules/src/xibo-player.js @@ -1283,7 +1283,6 @@ XiboPlayer.prototype.postRenderDataElements = function( position: 'absolute', top: slotObjItem.top, left: slotObjItem.left, - overflow: 'hidden', zIndex: slotObjItem.layer, }); @@ -1388,14 +1387,13 @@ XiboPlayer.prototype.renderGlobalElements = function(currentWidget) { const itemID = groupItem.uniqueID || groupItem.templateData?.uniqueID; - const $itemContainer = $(`
`); // Call onTemplateRender // Handle the rendering of the template (groupItem.onTemplateRender() !== undefined) && groupItem.onTemplateRender()( groupItem.elementId, - $itemContainer.find(`.${itemID}--item`), + $content.find(`#${itemID}`), $content.find(`.${itemID}--item`), {groupItem, ...groupItem.templateData, data: {}}, meta, @@ -1417,14 +1415,13 @@ XiboPlayer.prototype.renderGlobalElements = function(currentWidget) { const itemID = elemObj.uniqueID || elemObj.templateData?.uniqueID; - const $itemContainer = $(`
`); // Call onTemplateRender // Handle the rendering of the template (elemObj.onTemplateRender() !== undefined) && elemObj.onTemplateRender()( elemObj.elementId, - $itemContainer.find(`.${itemID}--item`), + $content.find(`#${itemID}`), $content.find(`.${itemID}--item`), {elemObj, ...elemObj.templateData, data: {}}, meta, diff --git a/modules/src/xibo-text-render.js b/modules/src/xibo-text-render.js index 14cead02c6..be70f08da3 100644 --- a/modules/src/xibo-text-render.js +++ b/modules/src/xibo-text-render.js @@ -130,7 +130,6 @@ jQuery.fn.extend({ } const isAndroid = navigator.userAgent.indexOf('Android') > -1; - const isEditor = xiboIC.checkIsEditor(); // For each matched element this.each(function(_key, element) { @@ -203,7 +202,7 @@ jQuery.fn.extend({ // hide the original and show the clone let $newItem; let $oldItem; - if (isEditor && $.contains(element, items[i])) { + if ($.contains(element, items[i])) { $oldItem = $(items[i]); $newItem = $oldItem.clone(); } else { diff --git a/modules/templates/global-elements.xml b/modules/templates/global-elements.xml index ca9d07e5bb..06ca3ea4aa 100644 --- a/modules/templates/global-elements.xml +++ b/modules/templates/global-elements.xml @@ -251,8 +251,11 @@ if(properties.fitToArea) { // Set target for the text properties.fitTarget = 'div'; + var $selector = $(target).is('.global-elements-text') ? + $(target) : $(target).find('.global-elements-text'); + // Scale text to container - $(target).find('.global-elements-text').xiboTextScaler(properties); + $selector.xiboTextScaler(properties); } ]]>
@@ -497,8 +500,11 @@ $(target).find('.date').each(function(_idx, dateEl){ // Set target for the text properties.fitTarget = '.date'; + var $selector = $(target).is('.global-elements-date') ? + $(target) : $(target).find('.global-elements-date'); + // Scale text to container - $(target).find('.global-elements-date').xiboTextScaler(properties); + $selector.xiboTextScaler(properties); } }); ]]> @@ -767,6 +773,9 @@ if (useCurrentDate) { // Set target for the text properties.fitTarget = '.date-advanced'; + var $selector = $(target).is('.global-elements-date-advanced') ? + $(target) : $(target).find('.global-elements-date-advanced'); + // Scale text to container $(target).find('.global-elements-date-advanced').xiboTextScaler(properties); @@ -799,8 +808,11 @@ if (useCurrentDate) { // Set target for the text properties.fitTarget = '.date-advanced'; + var $selector = $(target).is('.global-elements-date-advanced') ? + $(target) : $(target).find('.global-elements-date-advanced'); + // Scale text to container - $(target).find('.global-elements-date-advanced').xiboTextScaler(properties); + $selector.xiboTextScaler(properties); } } ]]> @@ -967,7 +979,7 @@ $(target).find('img').xiboImageRender(properties); Replace Image - Add an image from the Toolbar to replace this element. + Select an image from the Toolbox and drop here to replace this element. @@ -1340,10 +1352,11 @@ $(target).find('img').xiboImageRender(properties); ]]> diff --git a/package-lock.json b/package-lock.json index 17812facc7..37398d304b 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,1651 +1,1026 @@ { "name": "xibo-cms", "version": "1.0.0", - "lockfileVersion": 3, + "lockfileVersion": 1, "requires": true, - "packages": { - "": { - "name": "xibo-cms", - "version": "1.0.0", - "license": "AGPL-3.0", - "dependencies": { - "@fortawesome/fontawesome-free": "^6.6.0", - "@mapbox/leaflet-pip": "^1.1.0", - "@popperjs/core": "^2.11.8", - "ajax-bootstrap-select": "^1.4.5", - "blueimp-file-upload": "^10.32.0", - "blueimp-load-image": "~5.16.0", - "bootbox": "^6.0.0", - "bootstrap": "^4.6.2", - "bootstrap-calendar": "~0.2.4", - "bootstrap-colorpicker": "~2.5.2", - "bootstrap-select": ">=1.13.18", - "bootstrap-slider": "^11.0.2", - "bootstrap-switch": "^3.4.0", - "bootstrap-tagsinput": "^0.7.1", - "chart.js": "^2.9.4", - "chartjs-plugin-datalabels": "1.0.0", - "colors.js": "~1.2.4", - "corejs-typeahead": "^1.3.3", - "datatables.net": "^1.11.3", - "datatables.net-buttons": "^1.6.5", - "datatables.net-buttons-bs4": "^1.6.5", - "datatables.net-buttons-dt": "^1.6.1", - "datatables.net-dt": "^1.11.4", - "datatables.net-responsive": "^2.2.6", - "datatables.net-responsive-bs4": "^2.2.9", - "datatables.net-select-bs4": "^1.3.1", - "ekko-lightbox": "~5.3.0", - "flatpickr": "^4.6.13", - "font-awesome": "^4.7.0", - "form-serializer": "~2.5.0", - "globalthis": "^1.0.4", - "handlebars": "^4.7.8", - "hls.js": "^1.5.13", - "html-to-image": "^1.11.11", - "imagesloaded": "^5.0.0", - "jquery": "^3.7.1", - "jquery-ui": "~1.13.3", - "jquery-validation": "~1.21.0", - "jstree": "^3.3.16", - "leaflet": "^1.9.4", - "leaflet-draw": "^1.0.4", - "leaflet-easyprint": "^2.1.9", - "leaflet-fullscreen": "^1.0.2", - "leaflet-search": "^4.0.0", - "leaflet.markercluster": "^1.5.3", - "masonry-layout": "^4.2.2", - "moment": "~2.30.1", - "moment-jalaali": "~0.10.1", - "moment-timezone": "^0.5.45", - "monaco-editor": "^0.50.0", - "moveable": "^0.53.0", - "pdfjs-dist": "2.4.456", - "persian-date": "^1.1.0", - "persian-datepicker": "^1.2.0", - "select2": "4.1.0-rc.0", - "select2-bootstrap-theme": "0.1.0-beta.10", - "selecto": "^1.26.3", - "toastr": "~2.1.4", - "underscore": "^1.13.7", - "xibo-interactive-control": "git+https://github.com/xibosignage/xibo-interactive-control.git#44ad744a5a2a0af9e7fcdb828dbdbeff45cc40f0", - "xibo-layout-renderer": "git+https://github.com/xibosignage/xibo-layout-renderer.git#fceefc707ea917479eabac21da4c000a28bfbf79" - }, - "devDependencies": { - "@babel/core": "^7.24.9", - "@babel/preset-env": "^7.25.0", - "@babel/traverse": "^7.25.1", - "@eslint/eslintrc": "^3.1.0", - "@eslint/js": "^9.8.0", - "autoprefixer": "^10.4.19", - "babel-loader": "^9.1.3", - "babel-plugin-polyfill-corejs3": "^0.10.4", - "babel-polyfill": "^6.26.0", - "clean-webpack-plugin": "^4.0.0", - "copy-webpack-plugin": "^12.0.2", - "core-js": "^3.37.1", - "css-loader": "^7.1.2", - "cypress": "^13.13.1", - "eslint": "^9.8.0", - "eslint-config-google": "^0.14.0", - "file-loader": "^6.2.0", - "globals": "^15.9.0", - "handlebars-loader": "^1.7.3", - "imports-loader": "^5.0.0", - "less": "^4.2.0", - "less-loader": "^12.2.0", - "monaco-editor-webpack-plugin": "^7.1.0", - "postcss-loader": "^8.1.1", - "sass": "^1.77.8", - "sass-loader": "^16.0.0", - "script-loader": "^0.7.2", - "style-loader": "^4.0.0", - "url-loader": "^4.1.1", - "webpack": "^5.93.0", - "webpack-cli": "^5.1.4" - } - }, - "node_modules/@ampproject/remapping": { + "dependencies": { + "@ampproject/remapping": { "version": "2.3.0", "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.3.0.tgz", "integrity": "sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==", "dev": true, - "dependencies": { + "requires": { "@jridgewell/gen-mapping": "^0.3.5", "@jridgewell/trace-mapping": "^0.3.24" - }, - "engines": { - "node": ">=6.0.0" } }, - "node_modules/@babel/code-frame": { + "@babel/code-frame": { "version": "7.24.7", "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.24.7.tgz", "integrity": "sha512-BcYH1CVJBO9tvyIZ2jVeXgSIMvGZ2FDRvDdOIVQyuklNKSsx+eppDEBq/g47Ayw+RqNFE+URvOShmf+f/qwAlA==", "dev": true, - "dependencies": { + "requires": { "@babel/highlight": "^7.24.7", "picocolors": "^1.0.0" - }, - "engines": { - "node": ">=6.9.0" } }, - "node_modules/@babel/compat-data": { - "version": "7.25.2", - "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.25.2.tgz", - "integrity": "sha512-bYcppcpKBvX4znYaPEeFau03bp89ShqNMLs+rmdptMw+heSZh9+z84d2YG+K7cYLbWwzdjtDoW/uqZmPjulClQ==", - "dev": true, - "engines": { - "node": ">=6.9.0" - } + "@babel/compat-data": { + "version": "7.25.4", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.25.4.tgz", + "integrity": "sha512-+LGRog6RAsCJrrrg/IO6LGmpphNe5DiK30dGjCoxxeGv49B10/3XYGxPsAwrDlMFcFEvdAUavDT8r9k/hSyQqQ==", + "dev": true }, - "node_modules/@babel/core": { - "version": "7.24.9", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.24.9.tgz", - "integrity": "sha512-5e3FI4Q3M3Pbr21+5xJwCv6ZT6KmGkI0vw3Tozy5ODAQFTIWe37iT8Cr7Ice2Ntb+M3iSKCEWMB1MBgKrW3whg==", + "@babel/core": { + "version": "7.25.2", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.25.2.tgz", + "integrity": "sha512-BBt3opiCOxUr9euZ5/ro/Xv8/V7yJ5bjYMqG/C1YAo8MIKAnumZalCN+msbci3Pigy4lIQfPUpfMM27HMGaYEA==", "dev": true, - "dependencies": { + "requires": { "@ampproject/remapping": "^2.2.0", "@babel/code-frame": "^7.24.7", - "@babel/generator": "^7.24.9", - "@babel/helper-compilation-targets": "^7.24.8", - "@babel/helper-module-transforms": "^7.24.9", - "@babel/helpers": "^7.24.8", - "@babel/parser": "^7.24.8", - "@babel/template": "^7.24.7", - "@babel/traverse": "^7.24.8", - "@babel/types": "^7.24.9", + "@babel/generator": "^7.25.0", + "@babel/helper-compilation-targets": "^7.25.2", + "@babel/helper-module-transforms": "^7.25.2", + "@babel/helpers": "^7.25.0", + "@babel/parser": "^7.25.0", + "@babel/template": "^7.25.0", + "@babel/traverse": "^7.25.2", + "@babel/types": "^7.25.2", "convert-source-map": "^2.0.0", "debug": "^4.1.0", "gensync": "^1.0.0-beta.2", "json5": "^2.2.3", "semver": "^6.3.1" }, - "engines": { - "node": ">=6.9.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/babel" + "dependencies": { + "json5": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", + "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", + "dev": true + } } }, - "node_modules/@babel/generator": { - "version": "7.25.0", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.25.0.tgz", - "integrity": "sha512-3LEEcj3PVW8pW2R1SR1M89g/qrYk/m/mB/tLqn7dn4sbBUQyTqnlod+II2U4dqiGtUmkcnAmkMDralTFZttRiw==", + "@babel/generator": { + "version": "7.25.6", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.25.6.tgz", + "integrity": "sha512-VPC82gr1seXOpkjAAKoLhP50vx4vGNlF4msF64dSFq1P8RfB+QAuJWGHPXXPc8QyfVWwwB/TNNU4+ayZmHNbZw==", "dev": true, - "dependencies": { - "@babel/types": "^7.25.0", + "requires": { + "@babel/types": "^7.25.6", "@jridgewell/gen-mapping": "^0.3.5", "@jridgewell/trace-mapping": "^0.3.25", "jsesc": "^2.5.1" - }, - "engines": { - "node": ">=6.9.0" } }, - "node_modules/@babel/helper-annotate-as-pure": { + "@babel/helper-annotate-as-pure": { "version": "7.24.7", "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.24.7.tgz", "integrity": "sha512-BaDeOonYvhdKw+JoMVkAixAAJzG2jVPIwWoKBPdYuY9b452e2rPuI9QPYh3KpofZ3pW2akOmwZLOiOsHMiqRAg==", "dev": true, - "dependencies": { + "requires": { "@babel/types": "^7.24.7" - }, - "engines": { - "node": ">=6.9.0" } }, - "node_modules/@babel/helper-builder-binary-assignment-operator-visitor": { + "@babel/helper-builder-binary-assignment-operator-visitor": { "version": "7.24.7", "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.24.7.tgz", "integrity": "sha512-xZeCVVdwb4MsDBkkyZ64tReWYrLRHlMN72vP7Bdm3OUOuyFZExhsHUUnuWnm2/XOlAJzR0LfPpB56WXZn0X/lA==", "dev": true, - "dependencies": { + "requires": { "@babel/traverse": "^7.24.7", "@babel/types": "^7.24.7" - }, - "engines": { - "node": ">=6.9.0" } }, - "node_modules/@babel/helper-compilation-targets": { + "@babel/helper-compilation-targets": { "version": "7.25.2", "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.25.2.tgz", "integrity": "sha512-U2U5LsSaZ7TAt3cfaymQ8WHh0pxvdHoEk6HVpaexxixjyEquMh0L0YNJNM6CTGKMXV1iksi0iZkGw4AcFkPaaw==", "dev": true, - "dependencies": { + "requires": { "@babel/compat-data": "^7.25.2", "@babel/helper-validator-option": "^7.24.8", "browserslist": "^4.23.1", "lru-cache": "^5.1.1", "semver": "^6.3.1" - }, - "engines": { - "node": ">=6.9.0" } }, - "node_modules/@babel/helper-create-class-features-plugin": { - "version": "7.25.0", - "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.25.0.tgz", - "integrity": "sha512-GYM6BxeQsETc9mnct+nIIpf63SAyzvyYN7UB/IlTyd+MBg06afFGp0mIeUqGyWgS2mxad6vqbMrHVlaL3m70sQ==", + "@babel/helper-create-class-features-plugin": { + "version": "7.25.4", + "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.25.4.tgz", + "integrity": "sha512-ro/bFs3/84MDgDmMwbcHgDa8/E6J3QKNTk4xJJnVeFtGE+tL0K26E3pNxhYz2b67fJpt7Aphw5XcploKXuCvCQ==", "dev": true, - "dependencies": { + "requires": { "@babel/helper-annotate-as-pure": "^7.24.7", "@babel/helper-member-expression-to-functions": "^7.24.8", "@babel/helper-optimise-call-expression": "^7.24.7", "@babel/helper-replace-supers": "^7.25.0", "@babel/helper-skip-transparent-expression-wrappers": "^7.24.7", - "@babel/traverse": "^7.25.0", + "@babel/traverse": "^7.25.4", "semver": "^6.3.1" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" } }, - "node_modules/@babel/helper-create-regexp-features-plugin": { + "@babel/helper-create-regexp-features-plugin": { "version": "7.25.2", "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.25.2.tgz", "integrity": "sha512-+wqVGP+DFmqwFD3EH6TMTfUNeqDehV3E/dl+Sd54eaXqm17tEUNbEIn4sVivVowbvUpOtIGxdo3GoXyDH9N/9g==", "dev": true, - "dependencies": { + "requires": { "@babel/helper-annotate-as-pure": "^7.24.7", "regexpu-core": "^5.3.1", "semver": "^6.3.1" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" } }, - "node_modules/@babel/helper-define-polyfill-provider": { + "@babel/helper-define-polyfill-provider": { "version": "0.6.2", "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.6.2.tgz", "integrity": "sha512-LV76g+C502biUK6AyZ3LK10vDpDyCzZnhZFXkH1L75zHPj68+qc8Zfpx2th+gzwA2MzyK+1g/3EPl62yFnVttQ==", "dev": true, - "dependencies": { + "requires": { "@babel/helper-compilation-targets": "^7.22.6", "@babel/helper-plugin-utils": "^7.22.5", "debug": "^4.1.1", "lodash.debounce": "^4.0.8", "resolve": "^1.14.2" - }, - "peerDependencies": { - "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" } }, - "node_modules/@babel/helper-member-expression-to-functions": { + "@babel/helper-member-expression-to-functions": { "version": "7.24.8", "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.24.8.tgz", "integrity": "sha512-LABppdt+Lp/RlBxqrh4qgf1oEH/WxdzQNDJIu5gC/W1GyvPVrOBiItmmM8wan2fm4oYqFuFfkXmlGpLQhPY8CA==", "dev": true, - "dependencies": { + "requires": { "@babel/traverse": "^7.24.8", "@babel/types": "^7.24.8" - }, - "engines": { - "node": ">=6.9.0" } }, - "node_modules/@babel/helper-module-imports": { + "@babel/helper-module-imports": { "version": "7.24.7", "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.24.7.tgz", "integrity": "sha512-8AyH3C+74cgCVVXow/myrynrAGv+nTVg5vKu2nZph9x7RcRwzmh0VFallJuFTZ9mx6u4eSdXZfcOzSqTUm0HCA==", "dev": true, - "dependencies": { + "requires": { "@babel/traverse": "^7.24.7", "@babel/types": "^7.24.7" - }, - "engines": { - "node": ">=6.9.0" } }, - "node_modules/@babel/helper-module-transforms": { + "@babel/helper-module-transforms": { "version": "7.25.2", "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.25.2.tgz", "integrity": "sha512-BjyRAbix6j/wv83ftcVJmBt72QtHI56C7JXZoG2xATiLpmoC7dpd8WnkikExHDVPpi/3qCmO6WY1EaXOluiecQ==", "dev": true, - "dependencies": { + "requires": { "@babel/helper-module-imports": "^7.24.7", "@babel/helper-simple-access": "^7.24.7", "@babel/helper-validator-identifier": "^7.24.7", "@babel/traverse": "^7.25.2" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" - } - }, - "node_modules/@babel/helper-module-transforms/node_modules/@babel/traverse": { - "version": "7.25.2", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.25.2.tgz", - "integrity": "sha512-s4/r+a7xTnny2O6FcZzqgT6nE4/GHEdcqj4qAeglbUOh0TeglEfmNJFAd/OLoVtGd6ZhAO8GCVvCNUO5t/VJVQ==", - "dev": true, - "dependencies": { - "@babel/code-frame": "^7.24.7", - "@babel/generator": "^7.25.0", - "@babel/parser": "^7.25.0", - "@babel/template": "^7.25.0", - "@babel/types": "^7.25.2", - "debug": "^4.3.1", - "globals": "^11.1.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-module-transforms/node_modules/globals": { - "version": "11.12.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", - "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=4" } }, - "node_modules/@babel/helper-optimise-call-expression": { + "@babel/helper-optimise-call-expression": { "version": "7.24.7", "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.24.7.tgz", "integrity": "sha512-jKiTsW2xmWwxT1ixIdfXUZp+P5yURx2suzLZr5Hi64rURpDYdMW0pv+Uf17EYk2Rd428Lx4tLsnjGJzYKDM/6A==", "dev": true, - "dependencies": { + "requires": { "@babel/types": "^7.24.7" - }, - "engines": { - "node": ">=6.9.0" } }, - "node_modules/@babel/helper-plugin-utils": { + "@babel/helper-plugin-utils": { "version": "7.24.8", "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.24.8.tgz", "integrity": "sha512-FFWx5142D8h2Mgr/iPVGH5G7w6jDn4jUSpZTyDnQO0Yn7Ks2Kuz6Pci8H6MPCoUJegd/UZQ3tAvfLCxQSnWWwg==", - "dev": true, - "engines": { - "node": ">=6.9.0" - } + "dev": true }, - "node_modules/@babel/helper-remap-async-to-generator": { + "@babel/helper-remap-async-to-generator": { "version": "7.25.0", "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.25.0.tgz", "integrity": "sha512-NhavI2eWEIz/H9dbrG0TuOicDhNexze43i5z7lEqwYm0WEZVTwnPpA0EafUTP7+6/W79HWIP2cTe3Z5NiSTVpw==", "dev": true, - "dependencies": { + "requires": { "@babel/helper-annotate-as-pure": "^7.24.7", "@babel/helper-wrap-function": "^7.25.0", "@babel/traverse": "^7.25.0" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" } }, - "node_modules/@babel/helper-replace-supers": { + "@babel/helper-replace-supers": { "version": "7.25.0", "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.25.0.tgz", "integrity": "sha512-q688zIvQVYtZu+i2PsdIu/uWGRpfxzr5WESsfpShfZECkO+d2o+WROWezCi/Q6kJ0tfPa5+pUGUlfx2HhrA3Bg==", "dev": true, - "dependencies": { + "requires": { "@babel/helper-member-expression-to-functions": "^7.24.8", "@babel/helper-optimise-call-expression": "^7.24.7", "@babel/traverse": "^7.25.0" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" } }, - "node_modules/@babel/helper-simple-access": { + "@babel/helper-simple-access": { "version": "7.24.7", "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.24.7.tgz", "integrity": "sha512-zBAIvbCMh5Ts+b86r/CjU+4XGYIs+R1j951gxI3KmmxBMhCg4oQMsv6ZXQ64XOm/cvzfU1FmoCyt6+owc5QMYg==", "dev": true, - "dependencies": { + "requires": { "@babel/traverse": "^7.24.7", "@babel/types": "^7.24.7" - }, - "engines": { - "node": ">=6.9.0" } }, - "node_modules/@babel/helper-skip-transparent-expression-wrappers": { + "@babel/helper-skip-transparent-expression-wrappers": { "version": "7.24.7", "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.24.7.tgz", "integrity": "sha512-IO+DLT3LQUElMbpzlatRASEyQtfhSE0+m465v++3jyyXeBTBUjtVZg28/gHeV5mrTJqvEKhKroBGAvhW+qPHiQ==", "dev": true, - "dependencies": { + "requires": { "@babel/traverse": "^7.24.7", "@babel/types": "^7.24.7" - }, - "engines": { - "node": ">=6.9.0" } }, - "node_modules/@babel/helper-string-parser": { + "@babel/helper-string-parser": { "version": "7.24.8", "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.24.8.tgz", "integrity": "sha512-pO9KhhRcuUyGnJWwyEgnRJTSIZHiT+vMD0kPeD+so0l7mxkMT19g3pjY9GTnHySck/hDzq+dtW/4VgnMkippsQ==", - "dev": true, - "engines": { - "node": ">=6.9.0" - } + "dev": true }, - "node_modules/@babel/helper-validator-identifier": { + "@babel/helper-validator-identifier": { "version": "7.24.7", "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.24.7.tgz", "integrity": "sha512-rR+PBcQ1SMQDDyF6X0wxtG8QyLCgUB0eRAGguqRLfkCA87l7yAP7ehq8SNj96OOGTO8OBV70KhuFYcIkHXOg0w==", - "dev": true, - "engines": { - "node": ">=6.9.0" - } + "dev": true }, - "node_modules/@babel/helper-validator-option": { + "@babel/helper-validator-option": { "version": "7.24.8", "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.24.8.tgz", "integrity": "sha512-xb8t9tD1MHLungh/AIoWYN+gVHaB9kwlu8gffXGSt3FFEIT7RjS+xWbc2vUD1UTZdIpKj/ab3rdqJ7ufngyi2Q==", - "dev": true, - "engines": { - "node": ">=6.9.0" - } + "dev": true }, - "node_modules/@babel/helper-wrap-function": { + "@babel/helper-wrap-function": { "version": "7.25.0", "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.25.0.tgz", "integrity": "sha512-s6Q1ebqutSiZnEjaofc/UKDyC4SbzV5n5SrA2Gq8UawLycr3i04f1dX4OzoQVnexm6aOCh37SQNYlJ/8Ku+PMQ==", "dev": true, - "dependencies": { + "requires": { "@babel/template": "^7.25.0", "@babel/traverse": "^7.25.0", "@babel/types": "^7.25.0" - }, - "engines": { - "node": ">=6.9.0" } }, - "node_modules/@babel/helpers": { - "version": "7.25.0", - "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.25.0.tgz", - "integrity": "sha512-MjgLZ42aCm0oGjJj8CtSM3DB8NOOf8h2l7DCTePJs29u+v7yO/RBX9nShlKMgFnRks/Q4tBAe7Hxnov9VkGwLw==", + "@babel/helpers": { + "version": "7.25.6", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.25.6.tgz", + "integrity": "sha512-Xg0tn4HcfTijTwfDwYlvVCl43V6h4KyVVX2aEm4qdO/PC6L2YvzLHFdmxhoeSA3eslcE6+ZVXHgWwopXYLNq4Q==", "dev": true, - "dependencies": { + "requires": { "@babel/template": "^7.25.0", - "@babel/types": "^7.25.0" - }, - "engines": { - "node": ">=6.9.0" + "@babel/types": "^7.25.6" } }, - "node_modules/@babel/highlight": { + "@babel/highlight": { "version": "7.24.7", "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.24.7.tgz", "integrity": "sha512-EStJpq4OuY8xYfhGVXngigBJRWxftKX9ksiGDnmlY3o7B/V7KIAc9X4oiK87uPJSc/vs5L869bem5fhZa8caZw==", "dev": true, - "dependencies": { + "requires": { "@babel/helper-validator-identifier": "^7.24.7", "chalk": "^2.4.2", "js-tokens": "^4.0.0", "picocolors": "^1.0.0" - }, - "engines": { - "node": ">=6.9.0" } }, - "node_modules/@babel/parser": { - "version": "7.25.0", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.25.0.tgz", - "integrity": "sha512-CzdIU9jdP0dg7HdyB+bHvDJGagUv+qtzZt5rYCWwW6tITNqV9odjp6Qu41gkG0ca5UfdDUWrKkiAnHHdGRnOrA==", + "@babel/parser": { + "version": "7.25.6", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.25.6.tgz", + "integrity": "sha512-trGdfBdbD0l1ZPmcJ83eNxB9rbEax4ALFTF7fN386TMYbeCQbyme5cOEXQhbGXKebwGaB/J52w1mrklMcbgy6Q==", "dev": true, - "bin": { - "parser": "bin/babel-parser.js" - }, - "engines": { - "node": ">=6.0.0" + "requires": { + "@babel/types": "^7.25.6" } }, - "node_modules/@babel/plugin-bugfix-firefox-class-in-computed-class-key": { - "version": "7.25.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-firefox-class-in-computed-class-key/-/plugin-bugfix-firefox-class-in-computed-class-key-7.25.0.tgz", - "integrity": "sha512-dG0aApncVQwAUJa8tP1VHTnmU67BeIQvKafd3raEx315H54FfkZSz3B/TT+33ZQAjatGJA79gZqTtqL5QZUKXw==", + "@babel/plugin-bugfix-firefox-class-in-computed-class-key": { + "version": "7.25.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-firefox-class-in-computed-class-key/-/plugin-bugfix-firefox-class-in-computed-class-key-7.25.3.tgz", + "integrity": "sha512-wUrcsxZg6rqBXG05HG1FPYgsP6EvwF4WpBbxIpWIIYnH8wG0gzx3yZY3dtEHas4sTAOGkbTsc9EGPxwff8lRoA==", "dev": true, - "dependencies": { + "requires": { "@babel/helper-plugin-utils": "^7.24.8", - "@babel/traverse": "^7.25.0" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" + "@babel/traverse": "^7.25.3" } }, - "node_modules/@babel/plugin-bugfix-safari-class-field-initializer-scope": { + "@babel/plugin-bugfix-safari-class-field-initializer-scope": { "version": "7.25.0", "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-safari-class-field-initializer-scope/-/plugin-bugfix-safari-class-field-initializer-scope-7.25.0.tgz", "integrity": "sha512-Bm4bH2qsX880b/3ziJ8KD711LT7z4u8CFudmjqle65AZj/HNUFhEf90dqYv6O86buWvSBmeQDjv0Tn2aF/bIBA==", "dev": true, - "dependencies": { + "requires": { "@babel/helper-plugin-utils": "^7.24.8" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" } }, - "node_modules/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": { + "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": { "version": "7.25.0", "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.25.0.tgz", "integrity": "sha512-lXwdNZtTmeVOOFtwM/WDe7yg1PL8sYhRk/XH0FzbR2HDQ0xC+EnQ/JHeoMYSavtU115tnUk0q9CDyq8si+LMAA==", "dev": true, - "dependencies": { + "requires": { "@babel/helper-plugin-utils": "^7.24.8" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" } }, - "node_modules/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": { + "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": { "version": "7.24.7", "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.24.7.tgz", "integrity": "sha512-+izXIbke1T33mY4MSNnrqhPXDz01WYhEf3yF5NbnUtkiNnm+XBZJl3kNfoK6NKmYlz/D07+l2GWVK/QfDkNCuQ==", "dev": true, - "dependencies": { + "requires": { "@babel/helper-plugin-utils": "^7.24.7", "@babel/helper-skip-transparent-expression-wrappers": "^7.24.7", "@babel/plugin-transform-optional-chaining": "^7.24.7" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.13.0" } }, - "node_modules/@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly": { + "@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly": { "version": "7.25.0", "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly/-/plugin-bugfix-v8-static-class-fields-redefine-readonly-7.25.0.tgz", "integrity": "sha512-tggFrk1AIShG/RUQbEwt2Tr/E+ObkfwrPjR6BjbRvsx24+PSjK8zrq0GWPNCjo8qpRx4DuJzlcvWJqlm+0h3kw==", "dev": true, - "dependencies": { + "requires": { "@babel/helper-plugin-utils": "^7.24.8", "@babel/traverse": "^7.25.0" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" } }, - "node_modules/@babel/plugin-proposal-private-property-in-object": { + "@babel/plugin-proposal-private-property-in-object": { "version": "7.21.0-placeholder-for-preset-env.2", "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.21.0-placeholder-for-preset-env.2.tgz", "integrity": "sha512-SOSkfJDddaM7mak6cPEpswyTRnuRltl429hMraQEglW+OkovnCzsiszTmsrlY//qLFjCpQDFRvjdm2wA5pPm9w==", - "dev": true, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } + "dev": true }, - "node_modules/@babel/plugin-syntax-async-generators": { + "@babel/plugin-syntax-async-generators": { "version": "7.8.4", "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz", "integrity": "sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==", "dev": true, - "dependencies": { + "requires": { "@babel/helper-plugin-utils": "^7.8.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-syntax-class-properties": { + "@babel/plugin-syntax-class-properties": { "version": "7.12.13", "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz", "integrity": "sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==", "dev": true, - "dependencies": { + "requires": { "@babel/helper-plugin-utils": "^7.12.13" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-syntax-class-static-block": { + "@babel/plugin-syntax-class-static-block": { "version": "7.14.5", "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-static-block/-/plugin-syntax-class-static-block-7.14.5.tgz", "integrity": "sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw==", "dev": true, - "dependencies": { + "requires": { "@babel/helper-plugin-utils": "^7.14.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-syntax-dynamic-import": { + "@babel/plugin-syntax-dynamic-import": { "version": "7.8.3", "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.8.3.tgz", "integrity": "sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==", "dev": true, - "dependencies": { + "requires": { "@babel/helper-plugin-utils": "^7.8.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-syntax-export-namespace-from": { + "@babel/plugin-syntax-export-namespace-from": { "version": "7.8.3", "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-export-namespace-from/-/plugin-syntax-export-namespace-from-7.8.3.tgz", "integrity": "sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q==", "dev": true, - "dependencies": { + "requires": { "@babel/helper-plugin-utils": "^7.8.3" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-syntax-import-assertions": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.24.7.tgz", - "integrity": "sha512-Ec3NRUMoi8gskrkBe3fNmEQfxDvY8bgfQpz6jlk/41kX9eUjvpyqWU7PBP/pLAvMaSQjbMNKJmvX57jP+M6bPg==", + "@babel/plugin-syntax-import-assertions": { + "version": "7.25.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.25.6.tgz", + "integrity": "sha512-aABl0jHw9bZ2karQ/uUD6XP4u0SG22SJrOHFoL6XB1R7dTovOP4TzTlsxOYC5yQ1pdscVK2JTUnF6QL3ARoAiQ==", "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.24.7" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "requires": { + "@babel/helper-plugin-utils": "^7.24.8" } }, - "node_modules/@babel/plugin-syntax-import-attributes": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-attributes/-/plugin-syntax-import-attributes-7.24.7.tgz", - "integrity": "sha512-hbX+lKKeUMGihnK8nvKqmXBInriT3GVjzXKFriV3YC6APGxMbP8RZNFwy91+hocLXq90Mta+HshoB31802bb8A==", + "@babel/plugin-syntax-import-attributes": { + "version": "7.25.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-attributes/-/plugin-syntax-import-attributes-7.25.6.tgz", + "integrity": "sha512-sXaDXaJN9SNLymBdlWFA+bjzBhFD617ZaFiY13dGt7TVslVvVgA6fkZOP7Ki3IGElC45lwHdOTrCtKZGVAWeLQ==", "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.24.7" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "requires": { + "@babel/helper-plugin-utils": "^7.24.8" } }, - "node_modules/@babel/plugin-syntax-import-meta": { + "@babel/plugin-syntax-import-meta": { "version": "7.10.4", "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.10.4.tgz", "integrity": "sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==", "dev": true, - "dependencies": { + "requires": { "@babel/helper-plugin-utils": "^7.10.4" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-syntax-json-strings": { + "@babel/plugin-syntax-json-strings": { "version": "7.8.3", "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz", "integrity": "sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==", "dev": true, - "dependencies": { + "requires": { "@babel/helper-plugin-utils": "^7.8.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-syntax-logical-assignment-operators": { + "@babel/plugin-syntax-logical-assignment-operators": { "version": "7.10.4", "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz", "integrity": "sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==", "dev": true, - "dependencies": { + "requires": { "@babel/helper-plugin-utils": "^7.10.4" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-syntax-nullish-coalescing-operator": { + "@babel/plugin-syntax-nullish-coalescing-operator": { "version": "7.8.3", "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz", "integrity": "sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==", "dev": true, - "dependencies": { + "requires": { "@babel/helper-plugin-utils": "^7.8.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-syntax-numeric-separator": { + "@babel/plugin-syntax-numeric-separator": { "version": "7.10.4", "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz", "integrity": "sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==", "dev": true, - "dependencies": { + "requires": { "@babel/helper-plugin-utils": "^7.10.4" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-syntax-object-rest-spread": { + "@babel/plugin-syntax-object-rest-spread": { "version": "7.8.3", "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz", "integrity": "sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==", "dev": true, - "dependencies": { + "requires": { "@babel/helper-plugin-utils": "^7.8.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-syntax-optional-catch-binding": { + "@babel/plugin-syntax-optional-catch-binding": { "version": "7.8.3", "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz", "integrity": "sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==", "dev": true, - "dependencies": { + "requires": { "@babel/helper-plugin-utils": "^7.8.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-syntax-optional-chaining": { + "@babel/plugin-syntax-optional-chaining": { "version": "7.8.3", "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz", "integrity": "sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==", "dev": true, - "dependencies": { + "requires": { "@babel/helper-plugin-utils": "^7.8.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-syntax-private-property-in-object": { + "@babel/plugin-syntax-private-property-in-object": { "version": "7.14.5", "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-private-property-in-object/-/plugin-syntax-private-property-in-object-7.14.5.tgz", "integrity": "sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg==", "dev": true, - "dependencies": { + "requires": { "@babel/helper-plugin-utils": "^7.14.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-syntax-top-level-await": { + "@babel/plugin-syntax-top-level-await": { "version": "7.14.5", "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz", "integrity": "sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==", "dev": true, - "dependencies": { + "requires": { "@babel/helper-plugin-utils": "^7.14.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-syntax-unicode-sets-regex": { + "@babel/plugin-syntax-unicode-sets-regex": { "version": "7.18.6", "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-unicode-sets-regex/-/plugin-syntax-unicode-sets-regex-7.18.6.tgz", "integrity": "sha512-727YkEAPwSIQTv5im8QHz3upqp92JTWhidIC81Tdx4VJYIte/VndKf1qKrfnnhPLiPghStWfvC/iFaMCQu7Nqg==", "dev": true, - "dependencies": { + "requires": { "@babel/helper-create-regexp-features-plugin": "^7.18.6", "@babel/helper-plugin-utils": "^7.18.6" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" } }, - "node_modules/@babel/plugin-transform-arrow-functions": { + "@babel/plugin-transform-arrow-functions": { "version": "7.24.7", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.24.7.tgz", "integrity": "sha512-Dt9LQs6iEY++gXUwY03DNFat5C2NbO48jj+j/bSAz6b3HgPs39qcPiYt77fDObIcFwj3/C2ICX9YMwGflUoSHQ==", "dev": true, - "dependencies": { + "requires": { "@babel/helper-plugin-utils": "^7.24.7" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-transform-async-generator-functions": { - "version": "7.25.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-generator-functions/-/plugin-transform-async-generator-functions-7.25.0.tgz", - "integrity": "sha512-uaIi2FdqzjpAMvVqvB51S42oC2JEVgh0LDsGfZVDysWE8LrJtQC2jvKmOqEYThKyB7bDEb7BP1GYWDm7tABA0Q==", + "@babel/plugin-transform-async-generator-functions": { + "version": "7.25.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-generator-functions/-/plugin-transform-async-generator-functions-7.25.4.tgz", + "integrity": "sha512-jz8cV2XDDTqjKPwVPJBIjORVEmSGYhdRa8e5k5+vN+uwcjSrSxUaebBRa4ko1jqNF2uxyg8G6XYk30Jv285xzg==", "dev": true, - "dependencies": { + "requires": { "@babel/helper-plugin-utils": "^7.24.8", "@babel/helper-remap-async-to-generator": "^7.25.0", "@babel/plugin-syntax-async-generators": "^7.8.4", - "@babel/traverse": "^7.25.0" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "@babel/traverse": "^7.25.4" } }, - "node_modules/@babel/plugin-transform-async-to-generator": { + "@babel/plugin-transform-async-to-generator": { "version": "7.24.7", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.24.7.tgz", "integrity": "sha512-SQY01PcJfmQ+4Ash7NE+rpbLFbmqA2GPIgqzxfFTL4t1FKRq4zTms/7htKpoCUI9OcFYgzqfmCdH53s6/jn5fA==", "dev": true, - "dependencies": { + "requires": { "@babel/helper-module-imports": "^7.24.7", "@babel/helper-plugin-utils": "^7.24.7", "@babel/helper-remap-async-to-generator": "^7.24.7" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-transform-block-scoped-functions": { + "@babel/plugin-transform-block-scoped-functions": { "version": "7.24.7", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.24.7.tgz", "integrity": "sha512-yO7RAz6EsVQDaBH18IDJcMB1HnrUn2FJ/Jslc/WtPPWcjhpUJXU/rjbwmluzp7v/ZzWcEhTMXELnnsz8djWDwQ==", "dev": true, - "dependencies": { + "requires": { "@babel/helper-plugin-utils": "^7.24.7" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-transform-block-scoping": { + "@babel/plugin-transform-block-scoping": { "version": "7.25.0", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.25.0.tgz", "integrity": "sha512-yBQjYoOjXlFv9nlXb3f1casSHOZkWr29NX+zChVanLg5Nc157CrbEX9D7hxxtTpuFy7Q0YzmmWfJxzvps4kXrQ==", "dev": true, - "dependencies": { + "requires": { "@babel/helper-plugin-utils": "^7.24.8" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-transform-class-properties": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-properties/-/plugin-transform-class-properties-7.24.7.tgz", - "integrity": "sha512-vKbfawVYayKcSeSR5YYzzyXvsDFWU2mD8U5TFeXtbCPLFUqe7GyCgvO6XDHzje862ODrOwy6WCPmKeWHbCFJ4w==", + "@babel/plugin-transform-class-properties": { + "version": "7.25.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-properties/-/plugin-transform-class-properties-7.25.4.tgz", + "integrity": "sha512-nZeZHyCWPfjkdU5pA/uHiTaDAFUEqkpzf1YoQT2NeSynCGYq9rxfyI3XpQbfx/a0hSnFH6TGlEXvae5Vi7GD8g==", "dev": true, - "dependencies": { - "@babel/helper-create-class-features-plugin": "^7.24.7", - "@babel/helper-plugin-utils": "^7.24.7" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "requires": { + "@babel/helper-create-class-features-plugin": "^7.25.4", + "@babel/helper-plugin-utils": "^7.24.8" } }, - "node_modules/@babel/plugin-transform-class-static-block": { + "@babel/plugin-transform-class-static-block": { "version": "7.24.7", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-static-block/-/plugin-transform-class-static-block-7.24.7.tgz", "integrity": "sha512-HMXK3WbBPpZQufbMG4B46A90PkuuhN9vBCb5T8+VAHqvAqvcLi+2cKoukcpmUYkszLhScU3l1iudhrks3DggRQ==", "dev": true, - "dependencies": { + "requires": { "@babel/helper-create-class-features-plugin": "^7.24.7", "@babel/helper-plugin-utils": "^7.24.7", "@babel/plugin-syntax-class-static-block": "^7.14.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.12.0" } }, - "node_modules/@babel/plugin-transform-classes": { - "version": "7.25.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.25.0.tgz", - "integrity": "sha512-xyi6qjr/fYU304fiRwFbekzkqVJZ6A7hOjWZd+89FVcBqPV3S9Wuozz82xdpLspckeaafntbzglaW4pqpzvtSw==", + "@babel/plugin-transform-classes": { + "version": "7.25.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.25.4.tgz", + "integrity": "sha512-oexUfaQle2pF/b6E0dwsxQtAol9TLSO88kQvym6HHBWFliV2lGdrPieX+WgMRLSJDVzdYywk7jXbLPuO2KLTLg==", "dev": true, - "dependencies": { + "requires": { "@babel/helper-annotate-as-pure": "^7.24.7", - "@babel/helper-compilation-targets": "^7.24.8", + "@babel/helper-compilation-targets": "^7.25.2", "@babel/helper-plugin-utils": "^7.24.8", "@babel/helper-replace-supers": "^7.25.0", - "@babel/traverse": "^7.25.0", + "@babel/traverse": "^7.25.4", "globals": "^11.1.0" }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-classes/node_modules/globals": { - "version": "11.12.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", - "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=4" + "dependencies": { + "globals": { + "version": "11.12.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", + "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", + "dev": true + } } }, - "node_modules/@babel/plugin-transform-computed-properties": { + "@babel/plugin-transform-computed-properties": { "version": "7.24.7", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.24.7.tgz", "integrity": "sha512-25cS7v+707Gu6Ds2oY6tCkUwsJ9YIDbggd9+cu9jzzDgiNq7hR/8dkzxWfKWnTic26vsI3EsCXNd4iEB6e8esQ==", "dev": true, - "dependencies": { + "requires": { "@babel/helper-plugin-utils": "^7.24.7", "@babel/template": "^7.24.7" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-transform-destructuring": { + "@babel/plugin-transform-destructuring": { "version": "7.24.8", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.24.8.tgz", "integrity": "sha512-36e87mfY8TnRxc7yc6M9g9gOB7rKgSahqkIKwLpz4Ppk2+zC2Cy1is0uwtuSG6AE4zlTOUa+7JGz9jCJGLqQFQ==", "dev": true, - "dependencies": { + "requires": { "@babel/helper-plugin-utils": "^7.24.8" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-transform-dotall-regex": { + "@babel/plugin-transform-dotall-regex": { "version": "7.24.7", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.24.7.tgz", "integrity": "sha512-ZOA3W+1RRTSWvyqcMJDLqbchh7U4NRGqwRfFSVbOLS/ePIP4vHB5e8T8eXcuqyN1QkgKyj5wuW0lcS85v4CrSw==", "dev": true, - "dependencies": { + "requires": { "@babel/helper-create-regexp-features-plugin": "^7.24.7", "@babel/helper-plugin-utils": "^7.24.7" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-transform-duplicate-keys": { + "@babel/plugin-transform-duplicate-keys": { "version": "7.24.7", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.24.7.tgz", "integrity": "sha512-JdYfXyCRihAe46jUIliuL2/s0x0wObgwwiGxw/UbgJBr20gQBThrokO4nYKgWkD7uBaqM7+9x5TU7NkExZJyzw==", "dev": true, - "dependencies": { + "requires": { "@babel/helper-plugin-utils": "^7.24.7" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-transform-duplicate-named-capturing-groups-regex": { + "@babel/plugin-transform-duplicate-named-capturing-groups-regex": { "version": "7.25.0", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-named-capturing-groups-regex/-/plugin-transform-duplicate-named-capturing-groups-regex-7.25.0.tgz", "integrity": "sha512-YLpb4LlYSc3sCUa35un84poXoraOiQucUTTu8X1j18JV+gNa8E0nyUf/CjZ171IRGr4jEguF+vzJU66QZhn29g==", "dev": true, - "dependencies": { + "requires": { "@babel/helper-create-regexp-features-plugin": "^7.25.0", "@babel/helper-plugin-utils": "^7.24.8" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" } }, - "node_modules/@babel/plugin-transform-dynamic-import": { + "@babel/plugin-transform-dynamic-import": { "version": "7.24.7", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dynamic-import/-/plugin-transform-dynamic-import-7.24.7.tgz", "integrity": "sha512-sc3X26PhZQDb3JhORmakcbvkeInvxz+A8oda99lj7J60QRuPZvNAk9wQlTBS1ZynelDrDmTU4pw1tyc5d5ZMUg==", "dev": true, - "dependencies": { + "requires": { "@babel/helper-plugin-utils": "^7.24.7", "@babel/plugin-syntax-dynamic-import": "^7.8.3" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-transform-exponentiation-operator": { + "@babel/plugin-transform-exponentiation-operator": { "version": "7.24.7", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.24.7.tgz", "integrity": "sha512-Rqe/vSc9OYgDajNIK35u7ot+KeCoetqQYFXM4Epf7M7ez3lWlOjrDjrwMei6caCVhfdw+mIKD4cgdGNy5JQotQ==", "dev": true, - "dependencies": { + "requires": { "@babel/helper-builder-binary-assignment-operator-visitor": "^7.24.7", "@babel/helper-plugin-utils": "^7.24.7" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-transform-export-namespace-from": { + "@babel/plugin-transform-export-namespace-from": { "version": "7.24.7", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-export-namespace-from/-/plugin-transform-export-namespace-from-7.24.7.tgz", "integrity": "sha512-v0K9uNYsPL3oXZ/7F9NNIbAj2jv1whUEtyA6aujhekLs56R++JDQuzRcP2/z4WX5Vg/c5lE9uWZA0/iUoFhLTA==", "dev": true, - "dependencies": { + "requires": { "@babel/helper-plugin-utils": "^7.24.7", "@babel/plugin-syntax-export-namespace-from": "^7.8.3" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-transform-for-of": { + "@babel/plugin-transform-for-of": { "version": "7.24.7", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.24.7.tgz", "integrity": "sha512-wo9ogrDG1ITTTBsy46oGiN1dS9A7MROBTcYsfS8DtsImMkHk9JXJ3EWQM6X2SUw4x80uGPlwj0o00Uoc6nEE3g==", "dev": true, - "dependencies": { + "requires": { "@babel/helper-plugin-utils": "^7.24.7", "@babel/helper-skip-transparent-expression-wrappers": "^7.24.7" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-transform-function-name": { + "@babel/plugin-transform-function-name": { "version": "7.25.1", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.25.1.tgz", "integrity": "sha512-TVVJVdW9RKMNgJJlLtHsKDTydjZAbwIsn6ySBPQaEAUU5+gVvlJt/9nRmqVbsV/IBanRjzWoaAQKLoamWVOUuA==", "dev": true, - "dependencies": { + "requires": { "@babel/helper-compilation-targets": "^7.24.8", "@babel/helper-plugin-utils": "^7.24.8", "@babel/traverse": "^7.25.1" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-transform-json-strings": { + "@babel/plugin-transform-json-strings": { "version": "7.24.7", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-json-strings/-/plugin-transform-json-strings-7.24.7.tgz", "integrity": "sha512-2yFnBGDvRuxAaE/f0vfBKvtnvvqU8tGpMHqMNpTN2oWMKIR3NqFkjaAgGwawhqK/pIN2T3XdjGPdaG0vDhOBGw==", "dev": true, - "dependencies": { + "requires": { "@babel/helper-plugin-utils": "^7.24.7", "@babel/plugin-syntax-json-strings": "^7.8.3" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-transform-literals": { + "@babel/plugin-transform-literals": { "version": "7.25.2", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.25.2.tgz", "integrity": "sha512-HQI+HcTbm9ur3Z2DkO+jgESMAMcYLuN/A7NRw9juzxAezN9AvqvUTnpKP/9kkYANz6u7dFlAyOu44ejuGySlfw==", "dev": true, - "dependencies": { + "requires": { "@babel/helper-plugin-utils": "^7.24.8" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-transform-logical-assignment-operators": { + "@babel/plugin-transform-logical-assignment-operators": { "version": "7.24.7", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-logical-assignment-operators/-/plugin-transform-logical-assignment-operators-7.24.7.tgz", "integrity": "sha512-4D2tpwlQ1odXmTEIFWy9ELJcZHqrStlzK/dAOWYyxX3zT0iXQB6banjgeOJQXzEc4S0E0a5A+hahxPaEFYftsw==", "dev": true, - "dependencies": { + "requires": { "@babel/helper-plugin-utils": "^7.24.7", "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-transform-member-expression-literals": { + "@babel/plugin-transform-member-expression-literals": { "version": "7.24.7", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.24.7.tgz", "integrity": "sha512-T/hRC1uqrzXMKLQ6UCwMT85S3EvqaBXDGf0FaMf4446Qx9vKwlghvee0+uuZcDUCZU5RuNi4781UQ7R308zzBw==", "dev": true, - "dependencies": { + "requires": { "@babel/helper-plugin-utils": "^7.24.7" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-transform-modules-amd": { + "@babel/plugin-transform-modules-amd": { "version": "7.24.7", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.24.7.tgz", "integrity": "sha512-9+pB1qxV3vs/8Hdmz/CulFB8w2tuu6EB94JZFsjdqxQokwGa9Unap7Bo2gGBGIvPmDIVvQrom7r5m/TCDMURhg==", "dev": true, - "dependencies": { + "requires": { "@babel/helper-module-transforms": "^7.24.7", "@babel/helper-plugin-utils": "^7.24.7" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-transform-modules-commonjs": { + "@babel/plugin-transform-modules-commonjs": { "version": "7.24.8", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.24.8.tgz", "integrity": "sha512-WHsk9H8XxRs3JXKWFiqtQebdh9b/pTk4EgueygFzYlTKAg0Ud985mSevdNjdXdFBATSKVJGQXP1tv6aGbssLKA==", "dev": true, - "dependencies": { + "requires": { "@babel/helper-module-transforms": "^7.24.8", "@babel/helper-plugin-utils": "^7.24.8", "@babel/helper-simple-access": "^7.24.7" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-transform-modules-systemjs": { + "@babel/plugin-transform-modules-systemjs": { "version": "7.25.0", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.25.0.tgz", "integrity": "sha512-YPJfjQPDXxyQWg/0+jHKj1llnY5f/R6a0p/vP4lPymxLu7Lvl4k2WMitqi08yxwQcCVUUdG9LCUj4TNEgAp3Jw==", "dev": true, - "dependencies": { + "requires": { "@babel/helper-module-transforms": "^7.25.0", "@babel/helper-plugin-utils": "^7.24.8", "@babel/helper-validator-identifier": "^7.24.7", "@babel/traverse": "^7.25.0" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-transform-modules-umd": { + "@babel/plugin-transform-modules-umd": { "version": "7.24.7", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.24.7.tgz", "integrity": "sha512-3aytQvqJ/h9z4g8AsKPLvD4Zqi2qT+L3j7XoFFu1XBlZWEl2/1kWnhmAbxpLgPrHSY0M6UA02jyTiwUVtiKR6A==", "dev": true, - "dependencies": { + "requires": { "@babel/helper-module-transforms": "^7.24.7", "@babel/helper-plugin-utils": "^7.24.7" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-transform-named-capturing-groups-regex": { + "@babel/plugin-transform-named-capturing-groups-regex": { "version": "7.24.7", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.24.7.tgz", "integrity": "sha512-/jr7h/EWeJtk1U/uz2jlsCioHkZk1JJZVcc8oQsJ1dUlaJD83f4/6Zeh2aHt9BIFokHIsSeDfhUmju0+1GPd6g==", "dev": true, - "dependencies": { + "requires": { "@babel/helper-create-regexp-features-plugin": "^7.24.7", "@babel/helper-plugin-utils": "^7.24.7" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" } }, - "node_modules/@babel/plugin-transform-new-target": { + "@babel/plugin-transform-new-target": { "version": "7.24.7", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.24.7.tgz", "integrity": "sha512-RNKwfRIXg4Ls/8mMTza5oPF5RkOW8Wy/WgMAp1/F1yZ8mMbtwXW+HDoJiOsagWrAhI5f57Vncrmr9XeT4CVapA==", "dev": true, - "dependencies": { + "requires": { "@babel/helper-plugin-utils": "^7.24.7" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-transform-nullish-coalescing-operator": { + "@babel/plugin-transform-nullish-coalescing-operator": { "version": "7.24.7", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-nullish-coalescing-operator/-/plugin-transform-nullish-coalescing-operator-7.24.7.tgz", "integrity": "sha512-Ts7xQVk1OEocqzm8rHMXHlxvsfZ0cEF2yomUqpKENHWMF4zKk175Y4q8H5knJes6PgYad50uuRmt3UJuhBw8pQ==", "dev": true, - "dependencies": { + "requires": { "@babel/helper-plugin-utils": "^7.24.7", "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-transform-numeric-separator": { + "@babel/plugin-transform-numeric-separator": { "version": "7.24.7", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-numeric-separator/-/plugin-transform-numeric-separator-7.24.7.tgz", "integrity": "sha512-e6q1TiVUzvH9KRvicuxdBTUj4AdKSRwzIyFFnfnezpCfP2/7Qmbb8qbU2j7GODbl4JMkblitCQjKYUaX/qkkwA==", "dev": true, - "dependencies": { + "requires": { "@babel/helper-plugin-utils": "^7.24.7", "@babel/plugin-syntax-numeric-separator": "^7.10.4" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-transform-object-rest-spread": { + "@babel/plugin-transform-object-rest-spread": { "version": "7.24.7", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-rest-spread/-/plugin-transform-object-rest-spread-7.24.7.tgz", "integrity": "sha512-4QrHAr0aXQCEFni2q4DqKLD31n2DL+RxcwnNjDFkSG0eNQ/xCavnRkfCUjsyqGC2OviNJvZOF/mQqZBw7i2C5Q==", "dev": true, - "dependencies": { + "requires": { "@babel/helper-compilation-targets": "^7.24.7", "@babel/helper-plugin-utils": "^7.24.7", "@babel/plugin-syntax-object-rest-spread": "^7.8.3", "@babel/plugin-transform-parameters": "^7.24.7" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-transform-object-super": { + "@babel/plugin-transform-object-super": { "version": "7.24.7", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.24.7.tgz", "integrity": "sha512-A/vVLwN6lBrMFmMDmPPz0jnE6ZGx7Jq7d6sT/Ev4H65RER6pZ+kczlf1DthF5N0qaPHBsI7UXiE8Zy66nmAovg==", "dev": true, - "dependencies": { + "requires": { "@babel/helper-plugin-utils": "^7.24.7", "@babel/helper-replace-supers": "^7.24.7" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-transform-optional-catch-binding": { + "@babel/plugin-transform-optional-catch-binding": { "version": "7.24.7", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-catch-binding/-/plugin-transform-optional-catch-binding-7.24.7.tgz", "integrity": "sha512-uLEndKqP5BfBbC/5jTwPxLh9kqPWWgzN/f8w6UwAIirAEqiIVJWWY312X72Eub09g5KF9+Zn7+hT7sDxmhRuKA==", "dev": true, - "dependencies": { + "requires": { "@babel/helper-plugin-utils": "^7.24.7", "@babel/plugin-syntax-optional-catch-binding": "^7.8.3" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-transform-optional-chaining": { + "@babel/plugin-transform-optional-chaining": { "version": "7.24.8", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-chaining/-/plugin-transform-optional-chaining-7.24.8.tgz", "integrity": "sha512-5cTOLSMs9eypEy8JUVvIKOu6NgvbJMnpG62VpIHrTmROdQ+L5mDAaI40g25k5vXti55JWNX5jCkq3HZxXBQANw==", "dev": true, - "dependencies": { + "requires": { "@babel/helper-plugin-utils": "^7.24.8", "@babel/helper-skip-transparent-expression-wrappers": "^7.24.7", "@babel/plugin-syntax-optional-chaining": "^7.8.3" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-transform-parameters": { + "@babel/plugin-transform-parameters": { "version": "7.24.7", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.24.7.tgz", "integrity": "sha512-yGWW5Rr+sQOhK0Ot8hjDJuxU3XLRQGflvT4lhlSY0DFvdb3TwKaY26CJzHtYllU0vT9j58hc37ndFPsqT1SrzA==", "dev": true, - "dependencies": { + "requires": { "@babel/helper-plugin-utils": "^7.24.7" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-transform-private-methods": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-methods/-/plugin-transform-private-methods-7.24.7.tgz", - "integrity": "sha512-COTCOkG2hn4JKGEKBADkA8WNb35TGkkRbI5iT845dB+NyqgO8Hn+ajPbSnIQznneJTa3d30scb6iz/DhH8GsJQ==", + "@babel/plugin-transform-private-methods": { + "version": "7.25.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-methods/-/plugin-transform-private-methods-7.25.4.tgz", + "integrity": "sha512-ao8BG7E2b/URaUQGqN3Tlsg+M3KlHY6rJ1O1gXAEUnZoyNQnvKyH87Kfg+FoxSeyWUB8ISZZsC91C44ZuBFytw==", "dev": true, - "dependencies": { - "@babel/helper-create-class-features-plugin": "^7.24.7", - "@babel/helper-plugin-utils": "^7.24.7" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "requires": { + "@babel/helper-create-class-features-plugin": "^7.25.4", + "@babel/helper-plugin-utils": "^7.24.8" } }, - "node_modules/@babel/plugin-transform-private-property-in-object": { + "@babel/plugin-transform-private-property-in-object": { "version": "7.24.7", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-property-in-object/-/plugin-transform-private-property-in-object-7.24.7.tgz", "integrity": "sha512-9z76mxwnwFxMyxZWEgdgECQglF2Q7cFLm0kMf8pGwt+GSJsY0cONKj/UuO4bOH0w/uAel3ekS4ra5CEAyJRmDA==", "dev": true, - "dependencies": { + "requires": { "@babel/helper-annotate-as-pure": "^7.24.7", "@babel/helper-create-class-features-plugin": "^7.24.7", "@babel/helper-plugin-utils": "^7.24.7", "@babel/plugin-syntax-private-property-in-object": "^7.14.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-transform-property-literals": { + "@babel/plugin-transform-property-literals": { "version": "7.24.7", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.24.7.tgz", "integrity": "sha512-EMi4MLQSHfd2nrCqQEWxFdha2gBCqU4ZcCng4WBGZ5CJL4bBRW0ptdqqDdeirGZcpALazVVNJqRmsO8/+oNCBA==", "dev": true, - "dependencies": { + "requires": { "@babel/helper-plugin-utils": "^7.24.7" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-transform-regenerator": { + "@babel/plugin-transform-regenerator": { "version": "7.24.7", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.24.7.tgz", "integrity": "sha512-lq3fvXPdimDrlg6LWBoqj+r/DEWgONuwjuOuQCSYgRroXDH/IdM1C0IZf59fL5cHLpjEH/O6opIRBbqv7ELnuA==", "dev": true, - "dependencies": { + "requires": { "@babel/helper-plugin-utils": "^7.24.7", "regenerator-transform": "^0.15.2" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-transform-reserved-words": { + "@babel/plugin-transform-reserved-words": { "version": "7.24.7", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.24.7.tgz", "integrity": "sha512-0DUq0pHcPKbjFZCfTss/pGkYMfy3vFWydkUBd9r0GHpIyfs2eCDENvqadMycRS9wZCXR41wucAfJHJmwA0UmoQ==", "dev": true, - "dependencies": { + "requires": { "@babel/helper-plugin-utils": "^7.24.7" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-transform-shorthand-properties": { + "@babel/plugin-transform-shorthand-properties": { "version": "7.24.7", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.24.7.tgz", "integrity": "sha512-KsDsevZMDsigzbA09+vacnLpmPH4aWjcZjXdyFKGzpplxhbeB4wYtury3vglQkg6KM/xEPKt73eCjPPf1PgXBA==", "dev": true, - "dependencies": { + "requires": { "@babel/helper-plugin-utils": "^7.24.7" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-transform-spread": { + "@babel/plugin-transform-spread": { "version": "7.24.7", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.24.7.tgz", "integrity": "sha512-x96oO0I09dgMDxJaANcRyD4ellXFLLiWhuwDxKZX5g2rWP1bTPkBSwCYv96VDXVT1bD9aPj8tppr5ITIh8hBng==", "dev": true, - "dependencies": { + "requires": { "@babel/helper-plugin-utils": "^7.24.7", "@babel/helper-skip-transparent-expression-wrappers": "^7.24.7" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-transform-sticky-regex": { + "@babel/plugin-transform-sticky-regex": { "version": "7.24.7", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.24.7.tgz", "integrity": "sha512-kHPSIJc9v24zEml5geKg9Mjx5ULpfncj0wRpYtxbvKyTtHCYDkVE3aHQ03FrpEo4gEe2vrJJS1Y9CJTaThA52g==", "dev": true, - "dependencies": { + "requires": { "@babel/helper-plugin-utils": "^7.24.7" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-transform-template-literals": { + "@babel/plugin-transform-template-literals": { "version": "7.24.7", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.24.7.tgz", "integrity": "sha512-AfDTQmClklHCOLxtGoP7HkeMw56k1/bTQjwsfhL6pppo/M4TOBSq+jjBUBLmV/4oeFg4GWMavIl44ZeCtmmZTw==", "dev": true, - "dependencies": { + "requires": { "@babel/helper-plugin-utils": "^7.24.7" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-transform-typeof-symbol": { + "@babel/plugin-transform-typeof-symbol": { "version": "7.24.8", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.24.8.tgz", "integrity": "sha512-adNTUpDCVnmAE58VEqKlAA6ZBlNkMnWD0ZcW76lyNFN3MJniyGFZfNwERVk8Ap56MCnXztmDr19T4mPTztcuaw==", "dev": true, - "dependencies": { + "requires": { "@babel/helper-plugin-utils": "^7.24.8" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-transform-unicode-escapes": { + "@babel/plugin-transform-unicode-escapes": { "version": "7.24.7", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.24.7.tgz", "integrity": "sha512-U3ap1gm5+4edc2Q/P+9VrBNhGkfnf+8ZqppY71Bo/pzZmXhhLdqgaUl6cuB07O1+AQJtCLfaOmswiNbSQ9ivhw==", "dev": true, - "dependencies": { + "requires": { "@babel/helper-plugin-utils": "^7.24.7" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-transform-unicode-property-regex": { + "@babel/plugin-transform-unicode-property-regex": { "version": "7.24.7", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-property-regex/-/plugin-transform-unicode-property-regex-7.24.7.tgz", "integrity": "sha512-uH2O4OV5M9FZYQrwc7NdVmMxQJOCCzFeYudlZSzUAHRFeOujQefa92E74TQDVskNHCzOXoigEuoyzHDhaEaK5w==", "dev": true, - "dependencies": { + "requires": { "@babel/helper-create-regexp-features-plugin": "^7.24.7", "@babel/helper-plugin-utils": "^7.24.7" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-transform-unicode-regex": { + "@babel/plugin-transform-unicode-regex": { "version": "7.24.7", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.24.7.tgz", "integrity": "sha512-hlQ96MBZSAXUq7ltkjtu3FJCCSMx/j629ns3hA3pXnBXjanNP0LHi+JpPeA81zaWgVK1VGH95Xuy7u0RyQ8kMg==", "dev": true, - "dependencies": { + "requires": { "@babel/helper-create-regexp-features-plugin": "^7.24.7", "@babel/helper-plugin-utils": "^7.24.7" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-transform-unicode-sets-regex": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-sets-regex/-/plugin-transform-unicode-sets-regex-7.24.7.tgz", - "integrity": "sha512-2G8aAvF4wy1w/AGZkemprdGMRg5o6zPNhbHVImRz3lss55TYCBd6xStN19rt8XJHq20sqV0JbyWjOWwQRwV/wg==", + "@babel/plugin-transform-unicode-sets-regex": { + "version": "7.25.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-sets-regex/-/plugin-transform-unicode-sets-regex-7.25.4.tgz", + "integrity": "sha512-qesBxiWkgN1Q+31xUE9RcMk79eOXXDCv6tfyGMRSs4RGlioSg2WVyQAm07k726cSE56pa+Kb0y9epX2qaXzTvA==", "dev": true, - "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.24.7", - "@babel/helper-plugin-utils": "^7.24.7" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" + "requires": { + "@babel/helper-create-regexp-features-plugin": "^7.25.2", + "@babel/helper-plugin-utils": "^7.24.8" } }, - "node_modules/@babel/preset-env": { - "version": "7.25.0", - "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.25.0.tgz", - "integrity": "sha512-vYAA8PrCOeZfG4D87hmw1KJ1BPubghXP1e2MacRFwECGNKL76dkA38JEwYllbvQCpf/kLxsTtir0b8MtxKoVCw==", + "@babel/preset-env": { + "version": "7.25.4", + "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.25.4.tgz", + "integrity": "sha512-W9Gyo+KmcxjGahtt3t9fb14vFRWvPpu5pT6GBlovAK6BTBcxgjfVMSQCfJl4oi35ODrxP6xx2Wr8LNST57Mraw==", "dev": true, - "dependencies": { - "@babel/compat-data": "^7.25.0", - "@babel/helper-compilation-targets": "^7.24.8", + "requires": { + "@babel/compat-data": "^7.25.4", + "@babel/helper-compilation-targets": "^7.25.2", "@babel/helper-plugin-utils": "^7.24.8", "@babel/helper-validator-option": "^7.24.8", - "@babel/plugin-bugfix-firefox-class-in-computed-class-key": "^7.25.0", + "@babel/plugin-bugfix-firefox-class-in-computed-class-key": "^7.25.3", "@babel/plugin-bugfix-safari-class-field-initializer-scope": "^7.25.0", "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "^7.25.0", "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.24.7", @@ -1670,13 +1045,13 @@ "@babel/plugin-syntax-top-level-await": "^7.14.5", "@babel/plugin-syntax-unicode-sets-regex": "^7.18.6", "@babel/plugin-transform-arrow-functions": "^7.24.7", - "@babel/plugin-transform-async-generator-functions": "^7.25.0", + "@babel/plugin-transform-async-generator-functions": "^7.25.4", "@babel/plugin-transform-async-to-generator": "^7.24.7", "@babel/plugin-transform-block-scoped-functions": "^7.24.7", "@babel/plugin-transform-block-scoping": "^7.25.0", - "@babel/plugin-transform-class-properties": "^7.24.7", + "@babel/plugin-transform-class-properties": "^7.25.4", "@babel/plugin-transform-class-static-block": "^7.24.7", - "@babel/plugin-transform-classes": "^7.25.0", + "@babel/plugin-transform-classes": "^7.25.4", "@babel/plugin-transform-computed-properties": "^7.24.7", "@babel/plugin-transform-destructuring": "^7.24.8", "@babel/plugin-transform-dotall-regex": "^7.24.7", @@ -1686,9 +1061,9 @@ "@babel/plugin-transform-exponentiation-operator": "^7.24.7", "@babel/plugin-transform-export-namespace-from": "^7.24.7", "@babel/plugin-transform-for-of": "^7.24.7", - "@babel/plugin-transform-function-name": "^7.25.0", + "@babel/plugin-transform-function-name": "^7.25.1", "@babel/plugin-transform-json-strings": "^7.24.7", - "@babel/plugin-transform-literals": "^7.24.7", + "@babel/plugin-transform-literals": "^7.25.2", "@babel/plugin-transform-logical-assignment-operators": "^7.24.7", "@babel/plugin-transform-member-expression-literals": "^7.24.7", "@babel/plugin-transform-modules-amd": "^7.24.7", @@ -1704,7 +1079,7 @@ "@babel/plugin-transform-optional-catch-binding": "^7.24.7", "@babel/plugin-transform-optional-chaining": "^7.24.8", "@babel/plugin-transform-parameters": "^7.24.7", - "@babel/plugin-transform-private-methods": "^7.24.7", + "@babel/plugin-transform-private-methods": "^7.25.4", "@babel/plugin-transform-private-property-in-object": "^7.24.7", "@babel/plugin-transform-property-literals": "^7.24.7", "@babel/plugin-transform-regenerator": "^7.24.7", @@ -1717,133 +1092,107 @@ "@babel/plugin-transform-unicode-escapes": "^7.24.7", "@babel/plugin-transform-unicode-property-regex": "^7.24.7", "@babel/plugin-transform-unicode-regex": "^7.24.7", - "@babel/plugin-transform-unicode-sets-regex": "^7.24.7", + "@babel/plugin-transform-unicode-sets-regex": "^7.25.4", "@babel/preset-modules": "0.1.6-no-external-plugins", "babel-plugin-polyfill-corejs2": "^0.4.10", - "babel-plugin-polyfill-corejs3": "^0.10.4", + "babel-plugin-polyfill-corejs3": "^0.10.6", "babel-plugin-polyfill-regenerator": "^0.6.1", "core-js-compat": "^3.37.1", "semver": "^6.3.1" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/preset-modules": { + "@babel/preset-modules": { "version": "0.1.6-no-external-plugins", "resolved": "https://registry.npmjs.org/@babel/preset-modules/-/preset-modules-0.1.6-no-external-plugins.tgz", "integrity": "sha512-HrcgcIESLm9aIR842yhJ5RWan/gebQUJ6E/E5+rf0y9o6oj7w0Br+sWuL6kEQ/o/AdfvR1Je9jG18/gnpwjEyA==", "dev": true, - "dependencies": { + "requires": { "@babel/helper-plugin-utils": "^7.0.0", "@babel/types": "^7.4.4", "esutils": "^2.0.2" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0 || ^8.0.0-0 <8.0.0" } }, - "node_modules/@babel/regjsgen": { + "@babel/regjsgen": { "version": "0.8.0", "resolved": "https://registry.npmjs.org/@babel/regjsgen/-/regjsgen-0.8.0.tgz", "integrity": "sha512-x/rqGMdzj+fWZvCOYForTghzbtqPDZ5gPwaoNGHdgDfF2QA/XZbCBp4Moo5scrkAMPhB7z26XM/AaHuIJdgauA==", "dev": true }, - "node_modules/@babel/runtime": { - "version": "7.25.0", - "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.25.0.tgz", - "integrity": "sha512-7dRy4DwXwtzBrPbZflqxnvfxLF8kdZXPkhymtDeFoFqE6ldzjQFgYTtYIFARcLEYDrqfBfYcZt1WqFxRoyC9Rw==", + "@babel/runtime": { + "version": "7.25.6", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.25.6.tgz", + "integrity": "sha512-VBj9MYyDb9tuLq7yzqjgzt6Q+IBQLrGZfdjOekyEirZPHxXWoTSGUTMrpsfi58Up73d13NfYLv8HT9vmznjzhQ==", "dev": true, - "dependencies": { + "requires": { "regenerator-runtime": "^0.14.0" - }, - "engines": { - "node": ">=6.9.0" } }, - "node_modules/@babel/template": { + "@babel/template": { "version": "7.25.0", "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.25.0.tgz", "integrity": "sha512-aOOgh1/5XzKvg1jvVz7AVrx2piJ2XBi227DHmbY6y+bM9H2FlN+IfecYu4Xl0cNiiVejlsCri89LUsbj8vJD9Q==", "dev": true, - "dependencies": { + "requires": { "@babel/code-frame": "^7.24.7", "@babel/parser": "^7.25.0", "@babel/types": "^7.25.0" - }, - "engines": { - "node": ">=6.9.0" } }, - "node_modules/@babel/traverse": { - "version": "7.25.1", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.25.1.tgz", - "integrity": "sha512-LrHHoWq08ZpmmFqBAzN+hUdWwy5zt7FGa/hVwMcOqW6OVtwqaoD5utfuGYU87JYxdZgLUvktAsn37j/sYR9siA==", + "@babel/traverse": { + "version": "7.25.6", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.25.6.tgz", + "integrity": "sha512-9Vrcx5ZW6UwK5tvqsj0nGpp/XzqthkT0dqIc9g1AdtygFToNtTF67XzYS//dm+SAK9cp3B9R4ZO/46p63SCjlQ==", "dev": true, - "dependencies": { + "requires": { "@babel/code-frame": "^7.24.7", - "@babel/generator": "^7.25.0", - "@babel/parser": "^7.25.0", + "@babel/generator": "^7.25.6", + "@babel/parser": "^7.25.6", "@babel/template": "^7.25.0", - "@babel/types": "^7.25.0", + "@babel/types": "^7.25.6", "debug": "^4.3.1", "globals": "^11.1.0" }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/traverse/node_modules/globals": { - "version": "11.12.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", - "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=4" + "dependencies": { + "globals": { + "version": "11.12.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", + "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", + "dev": true + } } }, - "node_modules/@babel/types": { - "version": "7.25.2", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.25.2.tgz", - "integrity": "sha512-YTnYtra7W9e6/oAZEHj0bJehPRUlLH9/fbpT5LfB0NhQXyALCRkRs3zH9v07IYhkgpqX6Z78FnuccZr/l4Fs4Q==", + "@babel/types": { + "version": "7.25.6", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.25.6.tgz", + "integrity": "sha512-/l42B1qxpG6RdfYf343Uw1vmDjeNhneUXtzhojE7pDgfpEypmRhI6j1kr17XCVv4Cgl9HdAiQY2x0GwKm7rWCw==", "dev": true, - "dependencies": { + "requires": { "@babel/helper-string-parser": "^7.24.8", "@babel/helper-validator-identifier": "^7.24.7", "to-fast-properties": "^2.0.0" - }, - "engines": { - "node": ">=6.9.0" } }, - "node_modules/@cfcs/core": { + "@cfcs/core": { "version": "0.0.6", "resolved": "https://registry.npmjs.org/@cfcs/core/-/core-0.0.6.tgz", "integrity": "sha512-FxfJMwoLB8MEMConeXUCqtMGqxdtePQxRBOiGip9ULcYYam3WfCgoY6xdnMaSkYvRvmosp5iuG+TiPofm65+Pw==", - "dependencies": { + "requires": { "@egjs/component": "^3.0.2" } }, - "node_modules/@colors/colors": { + "@colors/colors": { "version": "1.5.0", "resolved": "https://registry.npmjs.org/@colors/colors/-/colors-1.5.0.tgz", "integrity": "sha512-ooWCrlZP11i8GImSjTHYHLkvFDP48nS4+204nGb1RiX/WXYHmJA2III9/e2DWVabCESdW7hBAEzHRqUn9OUVvQ==", "dev": true, - "optional": true, - "engines": { - "node": ">=0.1.90" - } + "optional": true }, - "node_modules/@cypress/request": { + "@cypress/request": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/@cypress/request/-/request-3.0.1.tgz", "integrity": "sha512-TWivJlJi8ZDx2wGOw1dbLuHJKUYX7bWySw377nlnGOW3hP9/MUKIsEdXT/YngWxVdgNCHRBmFlBipE+5/2ZZlQ==", "dev": true, - "dependencies": { + "requires": { "aws-sign2": "~0.7.0", "aws4": "^1.8.0", "caseless": "~0.12.0", @@ -1862,124 +1211,103 @@ "tough-cookie": "^4.1.3", "tunnel-agent": "^0.6.0", "uuid": "^8.3.2" - }, - "engines": { - "node": ">= 6" } }, - "node_modules/@cypress/xvfb": { + "@cypress/xvfb": { "version": "1.2.4", "resolved": "https://registry.npmjs.org/@cypress/xvfb/-/xvfb-1.2.4.tgz", "integrity": "sha512-skbBzPggOVYCbnGgV+0dmBdW/s77ZkAOXIC1knS8NagwDjBrNC1LuXtQJeiN6l+m7lzmHtaoUw/ctJKdqkG57Q==", "dev": true, - "dependencies": { + "requires": { "debug": "^3.1.0", "lodash.once": "^4.1.1" - } - }, - "node_modules/@cypress/xvfb/node_modules/debug": { - "version": "3.2.7", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", - "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", - "dev": true, + }, "dependencies": { - "ms": "^2.1.1" + "debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "dev": true, + "requires": { + "ms": "^2.1.1" + } + } } }, - "node_modules/@daybrush/utils": { + "@daybrush/utils": { "version": "1.13.0", "resolved": "https://registry.npmjs.org/@daybrush/utils/-/utils-1.13.0.tgz", "integrity": "sha512-ALK12C6SQNNHw1enXK+UO8bdyQ+jaWNQ1Af7Z3FNxeAwjYhQT7do+TRE4RASAJ3ObaS2+TJ7TXR3oz2Gzbw0PQ==" }, - "node_modules/@discoveryjs/json-ext": { + "@discoveryjs/json-ext": { "version": "0.5.7", "resolved": "https://registry.npmjs.org/@discoveryjs/json-ext/-/json-ext-0.5.7.tgz", "integrity": "sha512-dBVuXR082gk3jsFp7Rd/JI4kytwGHecnCoTtXFb7DB6CNHp4rg5k1bhg0nWdLGLnOV71lmDzGQaLMy8iPLY0pw==", - "dev": true, - "engines": { - "node": ">=10.0.0" - } + "dev": true }, - "node_modules/@egjs/agent": { - "version": "2.4.3", - "resolved": "https://registry.npmjs.org/@egjs/agent/-/agent-2.4.3.tgz", - "integrity": "sha512-XvksSENe8wPeFlEVouvrOhKdx8HMniJ3by7sro2uPF3M6QqWwjzVcmvwoPtdjiX8O1lfRoLhQMp1a7NGlVTdIA==" + "@egjs/agent": { + "version": "2.4.4", + "resolved": "https://registry.npmjs.org/@egjs/agent/-/agent-2.4.4.tgz", + "integrity": "sha512-cvAPSlUILhBBOakn2krdPnOGv5hAZq92f1YHxYcfu0p7uarix2C6Ia3AVizpS1SGRZGiEkIS5E+IVTLg1I2Iog==" }, - "node_modules/@egjs/children-differ": { + "@egjs/children-differ": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/@egjs/children-differ/-/children-differ-1.0.1.tgz", "integrity": "sha512-DRvyqMf+CPCOzAopQKHtW+X8iN6Hy6SFol+/7zCUiE5y4P/OB8JP8FtU4NxtZwtafvSL4faD5KoQYPj3JHzPFQ==", - "dependencies": { + "requires": { "@egjs/list-differ": "^1.0.0" } }, - "node_modules/@egjs/component": { + "@egjs/component": { "version": "3.0.5", "resolved": "https://registry.npmjs.org/@egjs/component/-/component-3.0.5.tgz", "integrity": "sha512-cLcGizTrrUNA2EYE3MBmEDt2tQv1joVP1Q3oDisZ5nw0MZDx2kcgEXM+/kZpfa/PAkFvYVhRUZwytIQWoN3V/w==" }, - "node_modules/@egjs/list-differ": { + "@egjs/list-differ": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/@egjs/list-differ/-/list-differ-1.0.1.tgz", "integrity": "sha512-OTFTDQcWS+1ZREOdCWuk5hCBgYO4OsD30lXcOCyVOAjXMhgL5rBRDnt/otb6Nz8CzU0L/igdcaQBDLWc4t9gvg==" }, - "node_modules/@eslint-community/eslint-utils": { + "@eslint-community/eslint-utils": { "version": "4.4.0", "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz", "integrity": "sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==", "dev": true, - "dependencies": { + "requires": { "eslint-visitor-keys": "^3.3.0" }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "peerDependencies": { - "eslint": "^6.0.0 || ^7.0.0 || >=8.0.0" - } - }, - "node_modules/@eslint-community/eslint-utils/node_modules/eslint-visitor-keys": { - "version": "3.4.3", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz", - "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==", - "dev": true, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" + "dependencies": { + "eslint-visitor-keys": { + "version": "3.4.3", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz", + "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==", + "dev": true + } } }, - "node_modules/@eslint-community/regexpp": { + "@eslint-community/regexpp": { "version": "4.11.0", "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.11.0.tgz", "integrity": "sha512-G/M/tIiMrTAxEWRfLfQJMmGNX28IxBg4PBz8XqQhqUHLFI6TL2htpIB1iQCj144V5ee/JaKyT9/WZ0MGZWfA7A==", - "dev": true, - "engines": { - "node": "^12.0.0 || ^14.0.0 || >=16.0.0" - } + "dev": true }, - "node_modules/@eslint/config-array": { - "version": "0.17.1", - "resolved": "https://registry.npmjs.org/@eslint/config-array/-/config-array-0.17.1.tgz", - "integrity": "sha512-BlYOpej8AQ8Ev9xVqroV7a02JK3SkBAaN9GfMMH9W6Ch8FlQlkjGw4Ir7+FgYwfirivAf4t+GtzuAxqfukmISA==", + "@eslint/config-array": { + "version": "0.18.0", + "resolved": "https://registry.npmjs.org/@eslint/config-array/-/config-array-0.18.0.tgz", + "integrity": "sha512-fTxvnS1sRMu3+JjXwJG0j/i4RT9u4qJ+lqS/yCGap4lH4zZGzQ7tu+xZqQmcMZq5OBZDL4QRxQzRjkWcGt8IVw==", "dev": true, - "dependencies": { + "requires": { "@eslint/object-schema": "^2.1.4", "debug": "^4.3.1", "minimatch": "^3.1.2" - }, - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" } }, - "node_modules/@eslint/eslintrc": { + "@eslint/eslintrc": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-3.1.0.tgz", "integrity": "sha512-4Bfj15dVJdoy3RfZmmo86RK1Fwzn6SstsvK9JS+BaVKqC6QQQQyXekNaC+g+LKNgkQ+2VhGAzm6hO40AhMR3zQ==", "dev": true, - "license": "MIT", - "dependencies": { + "requires": { "ajv": "^6.12.4", "debug": "^4.3.2", "espree": "^10.0.1", @@ -1990,415 +1318,310 @@ "minimatch": "^3.1.2", "strip-json-comments": "^3.1.1" }, - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/@eslint/eslintrc/node_modules/ajv": { - "version": "6.12.6", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", - "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", - "dev": true, "dependencies": { - "fast-deep-equal": "^3.1.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" - } - }, - "node_modules/@eslint/eslintrc/node_modules/globals": { - "version": "14.0.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-14.0.0.tgz", - "integrity": "sha512-oahGvuMGQlPw/ivIYBjVSrWAfWLBeku5tpPE2fOPLi+WHffIWbuh2tCjhyQhTBPMf5E9jDEH4FOmTYgYwbKwtQ==", - "dev": true, - "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "globals": { + "version": "14.0.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-14.0.0.tgz", + "integrity": "sha512-oahGvuMGQlPw/ivIYBjVSrWAfWLBeku5tpPE2fOPLi+WHffIWbuh2tCjhyQhTBPMf5E9jDEH4FOmTYgYwbKwtQ==", + "dev": true + } } }, - "node_modules/@eslint/eslintrc/node_modules/json-schema-traverse": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", - "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", + "@eslint/js": { + "version": "9.9.1", + "resolved": "https://registry.npmjs.org/@eslint/js/-/js-9.9.1.tgz", + "integrity": "sha512-xIDQRsfg5hNBqHz04H1R3scSVwmI+KUbqjsQKHKQ1DAUSaUjYPReZZmS/5PNiKu1fUvzDd6H7DEDKACSEhu+TQ==", "dev": true }, - "node_modules/@eslint/js": { - "version": "9.8.0", - "resolved": "https://registry.npmjs.org/@eslint/js/-/js-9.8.0.tgz", - "integrity": "sha512-MfluB7EUfxXtv3i/++oh89uzAr4PDI4nn201hsp+qaXqsjAWzinlZEHEfPgAX4doIlKvPG/i0A9dpKxOLII8yA==", - "dev": true, - "license": "MIT", - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - } - }, - "node_modules/@eslint/object-schema": { + "@eslint/object-schema": { "version": "2.1.4", "resolved": "https://registry.npmjs.org/@eslint/object-schema/-/object-schema-2.1.4.tgz", "integrity": "sha512-BsWiH1yFGjXXS2yvrf5LyuoSIIbPrGUWob917o+BTKuZ7qJdxX8aJLRxs1fS9n6r7vESrq1OUqb68dANcFXuQQ==", - "dev": true, - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - } + "dev": true }, - "node_modules/@fortawesome/fontawesome-free": { + "@fortawesome/fontawesome-free": { "version": "6.6.0", "resolved": "https://registry.npmjs.org/@fortawesome/fontawesome-free/-/fontawesome-free-6.6.0.tgz", - "integrity": "sha512-60G28ke/sXdtS9KZCpZSHHkCbdsOGEhIUGlwq6yhY74UpTiToIh8np7A8yphhM4BWsvNFtIvLpi4co+h9Mr9Ow==", - "engines": { - "node": ">=6" - } + "integrity": "sha512-60G28ke/sXdtS9KZCpZSHHkCbdsOGEhIUGlwq6yhY74UpTiToIh8np7A8yphhM4BWsvNFtIvLpi4co+h9Mr9Ow==" }, - "node_modules/@humanwhocodes/module-importer": { + "@humanwhocodes/module-importer": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz", "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==", - "dev": true, - "engines": { - "node": ">=12.22" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/nzakas" - } + "dev": true }, - "node_modules/@humanwhocodes/retry": { + "@humanwhocodes/retry": { "version": "0.3.0", "resolved": "https://registry.npmjs.org/@humanwhocodes/retry/-/retry-0.3.0.tgz", "integrity": "sha512-d2CGZR2o7fS6sWB7DG/3a95bGKQyHMACZ5aW8qGkkqQpUoZV6C0X7Pc7l4ZNMZkfNBf4VWNe9E1jRsf0G146Ew==", - "dev": true, - "engines": { - "node": ">=18.18" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/nzakas" - } + "dev": true }, - "node_modules/@jridgewell/gen-mapping": { + "@jridgewell/gen-mapping": { "version": "0.3.5", "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.5.tgz", "integrity": "sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==", "dev": true, - "dependencies": { + "requires": { "@jridgewell/set-array": "^1.2.1", "@jridgewell/sourcemap-codec": "^1.4.10", "@jridgewell/trace-mapping": "^0.3.24" - }, - "engines": { - "node": ">=6.0.0" } }, - "node_modules/@jridgewell/resolve-uri": { + "@jridgewell/resolve-uri": { "version": "3.1.2", "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz", "integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==", - "dev": true, - "engines": { - "node": ">=6.0.0" - } + "dev": true }, - "node_modules/@jridgewell/set-array": { + "@jridgewell/set-array": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.2.1.tgz", "integrity": "sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==", - "dev": true, - "engines": { - "node": ">=6.0.0" - } + "dev": true }, - "node_modules/@jridgewell/source-map": { + "@jridgewell/source-map": { "version": "0.3.6", "resolved": "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.6.tgz", "integrity": "sha512-1ZJTZebgqllO79ue2bm3rIGud/bOe0pP5BjSRCRxxYkEZS8STV7zN84UBbiYu7jy+eCKSnVIUgoWWE/tt+shMQ==", "dev": true, - "dependencies": { + "requires": { "@jridgewell/gen-mapping": "^0.3.5", "@jridgewell/trace-mapping": "^0.3.25" } }, - "node_modules/@jridgewell/sourcemap-codec": { + "@jridgewell/sourcemap-codec": { "version": "1.5.0", "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.0.tgz", "integrity": "sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==", "dev": true }, - "node_modules/@jridgewell/trace-mapping": { + "@jridgewell/trace-mapping": { "version": "0.3.25", "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz", "integrity": "sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==", "dev": true, - "dependencies": { + "requires": { "@jridgewell/resolve-uri": "^3.1.0", "@jridgewell/sourcemap-codec": "^1.4.14" } }, - "node_modules/@mapbox/leaflet-pip": { + "@mapbox/leaflet-pip": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/@mapbox/leaflet-pip/-/leaflet-pip-1.1.0.tgz", "integrity": "sha512-uySBUgl8Mxv4YTTf2SKcCA0XdGL9iBJOrgMUwDk6nHdKsg840X56OTJlMnlVj+8Yz8pIDRUc0BRFnRW9TD24VA==", - "dependencies": { + "requires": { "geojson-utils": "~1.1.0", "uglify-js": "2.7.4" } }, - "node_modules/@nodelib/fs.scandir": { + "@nodelib/fs.scandir": { "version": "2.1.5", "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", "dev": true, - "dependencies": { + "requires": { "@nodelib/fs.stat": "2.0.5", "run-parallel": "^1.1.9" - }, - "engines": { - "node": ">= 8" } }, - "node_modules/@nodelib/fs.stat": { + "@nodelib/fs.stat": { "version": "2.0.5", "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", - "dev": true, - "engines": { - "node": ">= 8" - } + "dev": true }, - "node_modules/@nodelib/fs.walk": { + "@nodelib/fs.walk": { "version": "1.2.8", "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", "dev": true, - "dependencies": { + "requires": { "@nodelib/fs.scandir": "2.1.5", "fastq": "^1.6.0" - }, - "engines": { - "node": ">= 8" } }, - "node_modules/@popperjs/core": { + "@popperjs/core": { "version": "2.11.8", "resolved": "https://registry.npmjs.org/@popperjs/core/-/core-2.11.8.tgz", - "integrity": "sha512-P1st0aksCrn9sGZhp8GMYwBnQsbvAWsZAX44oXNNvLHGqAOcoVxmjZiohstwQ7SqKnbR47akdNi+uleWD8+g6A==", - "license": "MIT", - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/popperjs" - } + "integrity": "sha512-P1st0aksCrn9sGZhp8GMYwBnQsbvAWsZAX44oXNNvLHGqAOcoVxmjZiohstwQ7SqKnbR47akdNi+uleWD8+g6A==" }, - "node_modules/@scena/dragscroll": { + "@scena/dragscroll": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/@scena/dragscroll/-/dragscroll-1.4.0.tgz", "integrity": "sha512-3O8daaZD9VXA9CP3dra6xcgt/qrm0mg0xJCwiX6druCteQ9FFsXffkF8PrqxY4Z4VJ58fFKEa0RlKqbsi/XnRA==", - "dependencies": { + "requires": { "@daybrush/utils": "^1.6.0", "@scena/event-emitter": "^1.0.2" } }, - "node_modules/@scena/event-emitter": { + "@scena/event-emitter": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/@scena/event-emitter/-/event-emitter-1.0.5.tgz", "integrity": "sha512-AzY4OTb0+7ynefmWFQ6hxDdk0CySAq/D4efljfhtRHCOP7MBF9zUfhKG3TJiroVjASqVgkRJFdenS8ArZo6Olg==", - "dependencies": { + "requires": { "@daybrush/utils": "^1.1.1" } }, - "node_modules/@scena/matrix": { + "@scena/matrix": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/@scena/matrix/-/matrix-1.1.1.tgz", "integrity": "sha512-JVKBhN0tm2Srl+Yt+Ywqu0oLgLcdemDQlD1OxmN9jaCTwaFPZ7tY8n6dhVgMEaR9qcR7r+kAlMXnSfNyYdE+Vg==", - "dependencies": { + "requires": { "@daybrush/utils": "^1.4.0" } }, - "node_modules/@sindresorhus/merge-streams": { + "@sindresorhus/merge-streams": { "version": "2.3.0", "resolved": "https://registry.npmjs.org/@sindresorhus/merge-streams/-/merge-streams-2.3.0.tgz", "integrity": "sha512-LtoMMhxAlorcGhmFYI+LhPgbPZCkgP6ra1YL604EeF6U98pLlQ3iWIGMdWSC+vWmPBWBNgmDBAhnAobLROJmwg==", - "dev": true, - "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/@types/eslint": { - "version": "9.6.0", - "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-9.6.0.tgz", - "integrity": "sha512-gi6WQJ7cHRgZxtkQEoyHMppPjq9Kxo5Tjn2prSKDSmZrCz8TZ3jSRCeTJm+WoM+oB0WG37bRqLzaaU3q7JypGg==", - "dev": true, - "dependencies": { - "@types/estree": "*", - "@types/json-schema": "*" - } - }, - "node_modules/@types/eslint-scope": { - "version": "3.7.7", - "resolved": "https://registry.npmjs.org/@types/eslint-scope/-/eslint-scope-3.7.7.tgz", - "integrity": "sha512-MzMFlSLBqNF2gcHWO0G1vP/YQyfvrxZ0bF+u7mzUdZ1/xK4A4sru+nraZz5i3iEIk1l1uyicaDVTB4QbbEkAYg==", - "dev": true, - "dependencies": { - "@types/eslint": "*", - "@types/estree": "*" - } + "dev": true }, - "node_modules/@types/estree": { + "@types/estree": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.5.tgz", "integrity": "sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==", "dev": true }, - "node_modules/@types/glob": { + "@types/glob": { "version": "7.2.0", "resolved": "https://registry.npmjs.org/@types/glob/-/glob-7.2.0.tgz", "integrity": "sha512-ZUxbzKl0IfJILTS6t7ip5fQQM/J3TJYubDm3nMbgubNNYS62eXeUpoLUC8/7fJNiFYHTrGPQn7hspDUzIHX3UA==", "dev": true, - "dependencies": { + "requires": { "@types/minimatch": "*", "@types/node": "*" } }, - "node_modules/@types/json-schema": { + "@types/json-schema": { "version": "7.0.15", "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.15.tgz", "integrity": "sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==", "dev": true }, - "node_modules/@types/minimatch": { + "@types/minimatch": { "version": "5.1.2", "resolved": "https://registry.npmjs.org/@types/minimatch/-/minimatch-5.1.2.tgz", "integrity": "sha512-K0VQKziLUWkVKiRVrx4a40iPaxTUefQmjtkQofBkYRcoaaL/8rhwDWww9qWbrgicNOgnpIsMxyNIUM4+n6dUIA==", "dev": true }, - "node_modules/@types/node": { - "version": "22.0.0", - "resolved": "https://registry.npmjs.org/@types/node/-/node-22.0.0.tgz", - "integrity": "sha512-VT7KSYudcPOzP5Q0wfbowyNLaVR8QWUdw+088uFWwfvpY6uCWaXpqV6ieLAu9WBcnTa7H4Z5RLK8I5t2FuOcqw==", + "@types/node": { + "version": "22.5.1", + "resolved": "https://registry.npmjs.org/@types/node/-/node-22.5.1.tgz", + "integrity": "sha512-KkHsxej0j9IW1KKOOAA/XBA0z08UFSrRQHErzEfA3Vgq57eXIMYboIlHJuYIfd+lwCQjtKqUu3UnmKbtUc9yRw==", "dev": true, - "dependencies": { - "undici-types": "~6.11.1" + "requires": { + "undici-types": "~6.19.2" } }, - "node_modules/@types/sinonjs__fake-timers": { + "@types/sinonjs__fake-timers": { "version": "8.1.1", "resolved": "https://registry.npmjs.org/@types/sinonjs__fake-timers/-/sinonjs__fake-timers-8.1.1.tgz", "integrity": "sha512-0kSuKjAS0TrGLJ0M/+8MaFkGsQhZpB6pxOmvS3K8FYI72K//YmdfoW9X2qPsAKh1mkwxGD5zib9s1FIFed6E8g==", "dev": true }, - "node_modules/@types/sizzle": { + "@types/sizzle": { "version": "2.3.8", "resolved": "https://registry.npmjs.org/@types/sizzle/-/sizzle-2.3.8.tgz", "integrity": "sha512-0vWLNK2D5MT9dg0iOo8GlKguPAU02QjmZitPEsXRuJXU/OGIOt9vT9Fc26wtYuavLxtO45v9PGleoL9Z0k1LHg==", "dev": true }, - "node_modules/@types/yauzl": { + "@types/yauzl": { "version": "2.10.3", "resolved": "https://registry.npmjs.org/@types/yauzl/-/yauzl-2.10.3.tgz", "integrity": "sha512-oJoftv0LSuaDZE3Le4DbKX+KS9G36NzOeSap90UIK0yMA/NhKJhqlSGtNDORNRaIbQfzjXDrQa0ytJ6mNRGz/Q==", "dev": true, "optional": true, - "dependencies": { + "requires": { "@types/node": "*" } }, - "node_modules/@webassemblyjs/ast": { + "@webassemblyjs/ast": { "version": "1.12.1", "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.12.1.tgz", "integrity": "sha512-EKfMUOPRRUTy5UII4qJDGPpqfwjOmZ5jeGFwid9mnoqIFK+e0vqoi1qH56JpmZSzEL53jKnNzScdmftJyG5xWg==", "dev": true, - "dependencies": { + "requires": { "@webassemblyjs/helper-numbers": "1.11.6", "@webassemblyjs/helper-wasm-bytecode": "1.11.6" } }, - "node_modules/@webassemblyjs/floating-point-hex-parser": { + "@webassemblyjs/floating-point-hex-parser": { "version": "1.11.6", "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.11.6.tgz", "integrity": "sha512-ejAj9hfRJ2XMsNHk/v6Fu2dGS+i4UaXBXGemOfQ/JfQ6mdQg/WXtwleQRLLS4OvfDhv8rYnVwH27YJLMyYsxhw==", "dev": true }, - "node_modules/@webassemblyjs/helper-api-error": { + "@webassemblyjs/helper-api-error": { "version": "1.11.6", "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.11.6.tgz", "integrity": "sha512-o0YkoP4pVu4rN8aTJgAyj9hC2Sv5UlkzCHhxqWj8butaLvnpdc2jOwh4ewE6CX0txSfLn/UYaV/pheS2Txg//Q==", "dev": true }, - "node_modules/@webassemblyjs/helper-buffer": { + "@webassemblyjs/helper-buffer": { "version": "1.12.1", "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.12.1.tgz", "integrity": "sha512-nzJwQw99DNDKr9BVCOZcLuJJUlqkJh+kVzVl6Fmq/tI5ZtEyWT1KZMyOXltXLZJmDtvLCDgwsyrkohEtopTXCw==", "dev": true }, - "node_modules/@webassemblyjs/helper-numbers": { + "@webassemblyjs/helper-numbers": { "version": "1.11.6", "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-numbers/-/helper-numbers-1.11.6.tgz", "integrity": "sha512-vUIhZ8LZoIWHBohiEObxVm6hwP034jwmc9kuq5GdHZH0wiLVLIPcMCdpJzG4C11cHoQ25TFIQj9kaVADVX7N3g==", "dev": true, - "dependencies": { + "requires": { "@webassemblyjs/floating-point-hex-parser": "1.11.6", "@webassemblyjs/helper-api-error": "1.11.6", "@xtuc/long": "4.2.2" } }, - "node_modules/@webassemblyjs/helper-wasm-bytecode": { + "@webassemblyjs/helper-wasm-bytecode": { "version": "1.11.6", "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.11.6.tgz", "integrity": "sha512-sFFHKwcmBprO9e7Icf0+gddyWYDViL8bpPjJJl0WHxCdETktXdmtWLGVzoHbqUcY4Be1LkNfwTmXOJUFZYSJdA==", "dev": true }, - "node_modules/@webassemblyjs/helper-wasm-section": { + "@webassemblyjs/helper-wasm-section": { "version": "1.12.1", "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.12.1.tgz", "integrity": "sha512-Jif4vfB6FJlUlSbgEMHUyk1j234GTNG9dBJ4XJdOySoj518Xj0oGsNi59cUQF4RRMS9ouBUxDDdyBVfPTypa5g==", "dev": true, - "dependencies": { + "requires": { "@webassemblyjs/ast": "1.12.1", "@webassemblyjs/helper-buffer": "1.12.1", "@webassemblyjs/helper-wasm-bytecode": "1.11.6", "@webassemblyjs/wasm-gen": "1.12.1" } }, - "node_modules/@webassemblyjs/ieee754": { + "@webassemblyjs/ieee754": { "version": "1.11.6", "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.11.6.tgz", "integrity": "sha512-LM4p2csPNvbij6U1f19v6WR56QZ8JcHg3QIJTlSwzFcmx6WSORicYj6I63f9yU1kEUtrpG+kjkiIAkevHpDXrg==", "dev": true, - "dependencies": { + "requires": { "@xtuc/ieee754": "^1.2.0" } }, - "node_modules/@webassemblyjs/leb128": { + "@webassemblyjs/leb128": { "version": "1.11.6", "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.11.6.tgz", "integrity": "sha512-m7a0FhE67DQXgouf1tbN5XQcdWoNgaAuoULHIfGFIEVKA6tu/edls6XnIlkmS6FrXAquJRPni3ZZKjw6FSPjPQ==", "dev": true, - "dependencies": { + "requires": { "@xtuc/long": "4.2.2" } }, - "node_modules/@webassemblyjs/utf8": { + "@webassemblyjs/utf8": { "version": "1.11.6", "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.11.6.tgz", "integrity": "sha512-vtXf2wTQ3+up9Zsg8sa2yWiQpzSsMyXj0qViVP6xKGCUT8p8YJ6HqI7l5eCnWx1T/FYdsv07HQs2wTFbbof/RA==", "dev": true }, - "node_modules/@webassemblyjs/wasm-edit": { + "@webassemblyjs/wasm-edit": { "version": "1.12.1", "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.12.1.tgz", "integrity": "sha512-1DuwbVvADvS5mGnXbE+c9NfA8QRcZ6iKquqjjmR10k6o+zzsRVesil54DKexiowcFCPdr/Q0qaMgB01+SQ1u6g==", "dev": true, - "dependencies": { + "requires": { "@webassemblyjs/ast": "1.12.1", "@webassemblyjs/helper-buffer": "1.12.1", "@webassemblyjs/helper-wasm-bytecode": "1.11.6", @@ -2409,12 +1632,12 @@ "@webassemblyjs/wast-printer": "1.12.1" } }, - "node_modules/@webassemblyjs/wasm-gen": { + "@webassemblyjs/wasm-gen": { "version": "1.12.1", "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.12.1.tgz", "integrity": "sha512-TDq4Ojh9fcohAw6OIMXqiIcTq5KUXTGRkVxbSo1hQnSy6lAM5GSdfwWeSxpAo0YzgsgF182E/U0mDNhuA0tW7w==", "dev": true, - "dependencies": { + "requires": { "@webassemblyjs/ast": "1.12.1", "@webassemblyjs/helper-wasm-bytecode": "1.11.6", "@webassemblyjs/ieee754": "1.11.6", @@ -2422,24 +1645,24 @@ "@webassemblyjs/utf8": "1.11.6" } }, - "node_modules/@webassemblyjs/wasm-opt": { + "@webassemblyjs/wasm-opt": { "version": "1.12.1", "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.12.1.tgz", "integrity": "sha512-Jg99j/2gG2iaz3hijw857AVYekZe2SAskcqlWIZXjji5WStnOpVoat3gQfT/Q5tb2djnCjBtMocY/Su1GfxPBg==", "dev": true, - "dependencies": { + "requires": { "@webassemblyjs/ast": "1.12.1", "@webassemblyjs/helper-buffer": "1.12.1", "@webassemblyjs/wasm-gen": "1.12.1", "@webassemblyjs/wasm-parser": "1.12.1" } }, - "node_modules/@webassemblyjs/wasm-parser": { + "@webassemblyjs/wasm-parser": { "version": "1.12.1", "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.12.1.tgz", "integrity": "sha512-xikIi7c2FHXysxXe3COrVUPSheuBtpcfhbpFj4gmu7KRLYOzANztwUU0IbsqvMqzuNK2+glRGWCEqZo1WCLyAQ==", "dev": true, - "dependencies": { + "requires": { "@webassemblyjs/ast": "1.12.1", "@webassemblyjs/helper-api-error": "1.11.6", "@webassemblyjs/helper-wasm-bytecode": "1.11.6", @@ -2448,1147 +1671,820 @@ "@webassemblyjs/utf8": "1.11.6" } }, - "node_modules/@webassemblyjs/wast-printer": { + "@webassemblyjs/wast-printer": { "version": "1.12.1", "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.12.1.tgz", "integrity": "sha512-+X4WAlOisVWQMikjbcvY2e0rwPsKQ9F688lksZhBcPycBBuii3O7m8FACbDMWDojpAqvjIncrG8J0XHKyQfVeA==", "dev": true, - "dependencies": { + "requires": { "@webassemblyjs/ast": "1.12.1", "@xtuc/long": "4.2.2" } }, - "node_modules/@webpack-cli/configtest": { + "@webpack-cli/configtest": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/@webpack-cli/configtest/-/configtest-2.1.1.tgz", "integrity": "sha512-wy0mglZpDSiSS0XHrVR+BAdId2+yxPSoJW8fsna3ZpYSlufjvxnP4YbKTCBZnNIcGN4r6ZPXV55X4mYExOfLmw==", - "dev": true, - "engines": { - "node": ">=14.15.0" - }, - "peerDependencies": { - "webpack": "5.x.x", - "webpack-cli": "5.x.x" - } + "dev": true }, - "node_modules/@webpack-cli/info": { + "@webpack-cli/info": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/@webpack-cli/info/-/info-2.0.2.tgz", "integrity": "sha512-zLHQdI/Qs1UyT5UBdWNqsARasIA+AaF8t+4u2aS2nEpBQh2mWIVb8qAklq0eUENnC5mOItrIB4LiS9xMtph18A==", - "dev": true, - "engines": { - "node": ">=14.15.0" - }, - "peerDependencies": { - "webpack": "5.x.x", - "webpack-cli": "5.x.x" - } + "dev": true }, - "node_modules/@webpack-cli/serve": { + "@webpack-cli/serve": { "version": "2.0.5", "resolved": "https://registry.npmjs.org/@webpack-cli/serve/-/serve-2.0.5.tgz", "integrity": "sha512-lqaoKnRYBdo1UgDX8uF24AfGMifWK19TxPmM5FHc2vAGxrJ/qtyUyFBWoY1tISZdelsQ5fBcOusifo5o5wSJxQ==", - "dev": true, - "engines": { - "node": ">=14.15.0" - }, - "peerDependencies": { - "webpack": "5.x.x", - "webpack-cli": "5.x.x" - }, - "peerDependenciesMeta": { - "webpack-dev-server": { - "optional": true - } - } + "dev": true }, - "node_modules/@xtuc/ieee754": { + "@xtuc/ieee754": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/@xtuc/ieee754/-/ieee754-1.2.0.tgz", "integrity": "sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==", "dev": true }, - "node_modules/@xtuc/long": { + "@xtuc/long": { "version": "4.2.2", "resolved": "https://registry.npmjs.org/@xtuc/long/-/long-4.2.2.tgz", "integrity": "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==", "dev": true }, - "node_modules/acorn": { + "acorn": { "version": "8.12.1", "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.12.1.tgz", "integrity": "sha512-tcpGyI9zbizT9JbV6oYE477V6mTlXvvi0T0G3SNIYE2apm/G5huBa1+K89VGeovbg+jycCrfhl3ADxErOuO6Jg==", - "dev": true, - "bin": { - "acorn": "bin/acorn" - }, - "engines": { - "node": ">=0.4.0" - } + "dev": true }, - "node_modules/acorn-import-attributes": { + "acorn-import-attributes": { "version": "1.9.5", "resolved": "https://registry.npmjs.org/acorn-import-attributes/-/acorn-import-attributes-1.9.5.tgz", "integrity": "sha512-n02Vykv5uA3eHGM/Z2dQrcD56kL8TyDb2p1+0P83PClMnC/nc+anbQRhIOWnSq4Ke/KvDPrY3C9hDtC/A3eHnQ==", - "dev": true, - "peerDependencies": { - "acorn": "^8" - } + "dev": true }, - "node_modules/acorn-jsx": { + "acorn-jsx": { "version": "5.3.2", "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", - "dev": true, - "peerDependencies": { - "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" - } + "dev": true }, - "node_modules/aggregate-error": { + "aggregate-error": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.1.0.tgz", "integrity": "sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==", "dev": true, - "dependencies": { + "requires": { "clean-stack": "^2.0.0", "indent-string": "^4.0.0" - }, - "engines": { - "node": ">=8" } }, - "node_modules/ajax-bootstrap-select": { + "ajax-bootstrap-select": { "version": "1.4.5", "resolved": "https://registry.npmjs.org/ajax-bootstrap-select/-/ajax-bootstrap-select-1.4.5.tgz", - "integrity": "sha512-xDnoD1xq3bekqEVJsye1LcsxQ4jpdnyMJrTdsZqZySA7hc6R02D/23uVaE3P/2POyam1eRkC+c+ph59m9IJLgg==", - "engines": { - "node": ">=6" - } + "integrity": "sha512-xDnoD1xq3bekqEVJsye1LcsxQ4jpdnyMJrTdsZqZySA7hc6R02D/23uVaE3P/2POyam1eRkC+c+ph59m9IJLgg==" }, - "node_modules/ajv": { - "version": "8.17.1", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.17.1.tgz", - "integrity": "sha512-B/gBuNg5SiMTrPkC+A2+cW0RszwxYmn6VYxB/inlBStS5nx6xHIt/ehKRhIMhqusl7a8LjQoZnjCs5vhwxOQ1g==", + "ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", "dev": true, - "dependencies": { - "fast-deep-equal": "^3.1.3", - "fast-uri": "^3.0.1", - "json-schema-traverse": "^1.0.0", - "require-from-string": "^2.0.2" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" + "requires": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" } }, - "node_modules/ajv-formats": { + "ajv-formats": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/ajv-formats/-/ajv-formats-2.1.1.tgz", "integrity": "sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==", "dev": true, - "dependencies": { + "requires": { "ajv": "^8.0.0" }, - "peerDependencies": { - "ajv": "^8.0.0" - }, - "peerDependenciesMeta": { + "dependencies": { "ajv": { - "optional": true + "version": "8.17.1", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.17.1.tgz", + "integrity": "sha512-B/gBuNg5SiMTrPkC+A2+cW0RszwxYmn6VYxB/inlBStS5nx6xHIt/ehKRhIMhqusl7a8LjQoZnjCs5vhwxOQ1g==", + "dev": true, + "requires": { + "fast-deep-equal": "^3.1.3", + "fast-uri": "^3.0.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2" + } + }, + "json-schema-traverse": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", + "dev": true } } }, - "node_modules/ajv-keywords": { + "ajv-keywords": { "version": "5.1.0", "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-5.1.0.tgz", "integrity": "sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==", "dev": true, - "dependencies": { + "requires": { "fast-deep-equal": "^3.1.3" - }, - "peerDependencies": { - "ajv": "^8.8.2" } }, - "node_modules/align-text": { + "align-text": { "version": "0.1.4", "resolved": "https://registry.npmjs.org/align-text/-/align-text-0.1.4.tgz", "integrity": "sha512-GrTZLRpmp6wIC2ztrWW9MjjTgSKccffgFagbNDOX95/dcjEcYZibYTeaOntySQLcdw1ztBoFkviiUvTMbb9MYg==", - "dependencies": { + "requires": { "kind-of": "^3.0.2", "longest": "^1.0.1", "repeat-string": "^1.5.2" - }, - "engines": { - "node": ">=0.10.0" } }, - "node_modules/ansi-colors": { + "ansi-colors": { "version": "4.1.3", "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.3.tgz", "integrity": "sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw==", - "dev": true, - "engines": { - "node": ">=6" - } + "dev": true }, - "node_modules/ansi-escapes": { + "ansi-escapes": { "version": "4.3.2", "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz", "integrity": "sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==", "dev": true, - "dependencies": { + "requires": { "type-fest": "^0.21.3" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/ansi-regex": { + "ansi-regex": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", - "dev": true, - "engines": { - "node": ">=8" - } + "dev": true }, - "node_modules/ansi-styles": { + "ansi-styles": { "version": "3.2.1", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", "dev": true, - "dependencies": { + "requires": { "color-convert": "^1.9.0" - }, - "engines": { - "node": ">=4" } }, - "node_modules/anymatch": { + "anymatch": { "version": "3.1.3", "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", "dev": true, - "dependencies": { + "requires": { "normalize-path": "^3.0.0", "picomatch": "^2.0.4" - }, - "engines": { - "node": ">= 8" } }, - "node_modules/arch": { + "arch": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/arch/-/arch-2.2.0.tgz", "integrity": "sha512-Of/R0wqp83cgHozfIYLbBMnej79U/SVGOOyuB3VVFv1NRM/PSFMK12x9KVtiYzJqmnU5WR2qp0Z5rHb7sWGnFQ==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ] + "dev": true }, - "node_modules/argparse": { + "argparse": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", "dev": true }, - "node_modules/array-union": { + "array-union": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/array-union/-/array-union-1.0.2.tgz", "integrity": "sha512-Dxr6QJj/RdU/hCaBjOfxW+q6lyuVE6JFWIrAUpuOOhoJJoQ99cUn3igRaHVB5P9WrgFVN0FfArM3x0cueOU8ng==", "dev": true, - "dependencies": { + "requires": { "array-uniq": "^1.0.1" - }, - "engines": { - "node": ">=0.10.0" } }, - "node_modules/array-uniq": { + "array-uniq": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/array-uniq/-/array-uniq-1.0.3.tgz", "integrity": "sha512-MNha4BWQ6JbwhFhj03YK552f7cb3AzoE8SzeljgChvL1dl3IcvggXVz1DilzySZkCja+CXuZbdW7yATchWn8/Q==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } + "dev": true }, - "node_modules/asn1": { + "asn1": { "version": "0.2.6", "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.6.tgz", "integrity": "sha512-ix/FxPn0MDjeyJ7i/yoHGFt/EX6LyNbxSEhPPXODPL+KB0VPk86UYfL0lMdy+KCnv+fmvIzySwaK5COwqVbWTQ==", "dev": true, - "dependencies": { + "requires": { "safer-buffer": "~2.1.0" } }, - "node_modules/assert-plus": { + "assert-plus": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", "integrity": "sha512-NfJ4UzBCcQGLDlQq7nHxH+tv3kyZ0hHQqF5BO6J7tNJeP5do1llPr8dZ8zHonfhAu0PHAdMkSo+8o0wxg9lZWw==", - "dev": true, - "engines": { - "node": ">=0.8" - } + "dev": true }, - "node_modules/astral-regex": { + "astral-regex": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-2.0.0.tgz", "integrity": "sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==", - "dev": true, - "engines": { - "node": ">=8" - } + "dev": true }, - "node_modules/async": { + "async": { "version": "0.2.10", "resolved": "https://registry.npmjs.org/async/-/async-0.2.10.tgz", "integrity": "sha512-eAkdoKxU6/LkKDBzLpT+t6Ff5EtfSF4wx1WfJiPEEV7WNLnDaRXk0oVysiEPm262roaachGexwUv94WhSgN5TQ==" }, - "node_modules/asynckit": { + "asynckit": { "version": "0.4.0", "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==", "dev": true }, - "node_modules/at-least-node": { + "at-least-node": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/at-least-node/-/at-least-node-1.0.0.tgz", "integrity": "sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==", - "dev": true, - "engines": { - "node": ">= 4.0.0" - } + "dev": true }, - "node_modules/autoprefixer": { - "version": "10.4.19", - "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.19.tgz", - "integrity": "sha512-BaENR2+zBZ8xXhM4pUaKUxlVdxZ0EZhjvbopwnXmxRUfqDmwSpC2lAi/QXvx7NRdPCo1WKEcEF6mV64si1z4Ew==", + "autoprefixer": { + "version": "10.4.20", + "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.20.tgz", + "integrity": "sha512-XY25y5xSv/wEoqzDyXXME4AFfkZI0P23z6Fs3YgymDnKJkCGOnkL0iTxCa85UTqaSgfcqyf3UA6+c7wUvx/16g==", "dev": true, - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/autoprefixer" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "dependencies": { - "browserslist": "^4.23.0", - "caniuse-lite": "^1.0.30001599", + "requires": { + "browserslist": "^4.23.3", + "caniuse-lite": "^1.0.30001646", "fraction.js": "^4.3.7", "normalize-range": "^0.1.2", - "picocolors": "^1.0.0", + "picocolors": "^1.0.1", "postcss-value-parser": "^4.2.0" - }, - "bin": { - "autoprefixer": "bin/autoprefixer" - }, - "engines": { - "node": "^10 || ^12 || >=14" - }, - "peerDependencies": { - "postcss": "^8.1.0" } }, - "node_modules/aws-sign2": { + "aws-sign2": { "version": "0.7.0", "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz", "integrity": "sha512-08kcGqnYf/YmjoRhfxyu+CLxBjUtHLXLXX/vUfx9l2LYzG3c1m61nrpyFUZI6zeS+Li/wWMMidD9KgrqtGq3mA==", - "dev": true, - "engines": { - "node": "*" - } + "dev": true }, - "node_modules/aws4": { - "version": "1.13.0", - "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.13.0.tgz", - "integrity": "sha512-3AungXC4I8kKsS9PuS4JH2nc+0bVY/mjgrephHTIi8fpEeGsTHBUJeosp0Wc1myYMElmD0B3Oc4XL/HVJ4PV2g==", + "aws4": { + "version": "1.13.2", + "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.13.2.tgz", + "integrity": "sha512-lHe62zvbTB5eEABUVi/AwVh0ZKY9rMMDhmm+eeyuuUQbQ3+J+fONVQOZyj+DdrvD4BY33uYniyRJ4UJIaSKAfw==", "dev": true }, - "node_modules/babel-loader": { + "babel-loader": { "version": "9.1.3", "resolved": "https://registry.npmjs.org/babel-loader/-/babel-loader-9.1.3.tgz", "integrity": "sha512-xG3ST4DglodGf8qSwv0MdeWLhrDsw/32QMdTO5T1ZIp9gQur0HkCyFs7Awskr10JKXFXwpAhiCuYX5oGXnRGbw==", "dev": true, - "dependencies": { + "requires": { "find-cache-dir": "^4.0.0", "schema-utils": "^4.0.0" - }, - "engines": { - "node": ">= 14.15.0" - }, - "peerDependencies": { - "@babel/core": "^7.12.0", - "webpack": ">=5" } }, - "node_modules/babel-plugin-polyfill-corejs2": { + "babel-plugin-polyfill-corejs2": { "version": "0.4.11", "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.4.11.tgz", "integrity": "sha512-sMEJ27L0gRHShOh5G54uAAPaiCOygY/5ratXuiyb2G46FmlSpc9eFCzYVyDiPxfNbwzA7mYahmjQc5q+CZQ09Q==", "dev": true, - "dependencies": { + "requires": { "@babel/compat-data": "^7.22.6", "@babel/helper-define-polyfill-provider": "^0.6.2", "semver": "^6.3.1" - }, - "peerDependencies": { - "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" } }, - "node_modules/babel-plugin-polyfill-corejs3": { - "version": "0.10.4", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.10.4.tgz", - "integrity": "sha512-25J6I8NGfa5YkCDogHRID3fVCadIR8/pGl1/spvCkzb6lVn6SR3ojpx9nOn9iEBcUsjY24AmdKm5khcfKdylcg==", + "babel-plugin-polyfill-corejs3": { + "version": "0.10.6", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.10.6.tgz", + "integrity": "sha512-b37+KR2i/khY5sKmWNVQAnitvquQbNdWy6lJdsr0kmquCKEEUgMKK4SboVM3HtfnZilfjr4MMQ7vY58FVWDtIA==", "dev": true, - "dependencies": { - "@babel/helper-define-polyfill-provider": "^0.6.1", - "core-js-compat": "^3.36.1" - }, - "peerDependencies": { - "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" + "requires": { + "@babel/helper-define-polyfill-provider": "^0.6.2", + "core-js-compat": "^3.38.0" } }, - "node_modules/babel-plugin-polyfill-regenerator": { + "babel-plugin-polyfill-regenerator": { "version": "0.6.2", "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.6.2.tgz", "integrity": "sha512-2R25rQZWP63nGwaAswvDazbPXfrM3HwVoBXK6HcqeKrSrL/JqcC/rDcf95l4r7LXLyxDXc8uQDa064GubtCABg==", "dev": true, - "dependencies": { + "requires": { "@babel/helper-define-polyfill-provider": "^0.6.2" - }, - "peerDependencies": { - "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" } }, - "node_modules/babel-polyfill": { + "babel-polyfill": { "version": "6.26.0", "resolved": "https://registry.npmjs.org/babel-polyfill/-/babel-polyfill-6.26.0.tgz", "integrity": "sha512-F2rZGQnAdaHWQ8YAoeRbukc7HS9QgdgeyJ0rQDd485v9opwuPvjpPFcOOT/WmkKTdgy9ESgSPXDcTNpzrGr6iQ==", "dev": true, - "dependencies": { + "requires": { "babel-runtime": "^6.26.0", "core-js": "^2.5.0", "regenerator-runtime": "^0.10.5" + }, + "dependencies": { + "core-js": { + "version": "2.6.12", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.6.12.tgz", + "integrity": "sha512-Kb2wC0fvsWfQrgk8HU5lW6U/Lcs8+9aaYcy4ZFc6DDlo4nZ7n70dEgE5rtR0oG6ufKDUnrwfWL1mXR5ljDatrQ==", + "dev": true + }, + "regenerator-runtime": { + "version": "0.10.5", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.10.5.tgz", + "integrity": "sha512-02YopEIhAgiBHWeoTiA8aitHDt8z6w+rQqNuIftlM+ZtvSl/brTouaU7DW6GO/cHtvxJvS4Hwv2ibKdxIRi24w==", + "dev": true + } } }, - "node_modules/babel-polyfill/node_modules/core-js": { - "version": "2.6.12", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.6.12.tgz", - "integrity": "sha512-Kb2wC0fvsWfQrgk8HU5lW6U/Lcs8+9aaYcy4ZFc6DDlo4nZ7n70dEgE5rtR0oG6ufKDUnrwfWL1mXR5ljDatrQ==", - "deprecated": "core-js@<3.23.3 is no longer maintained and not recommended for usage due to the number of issues. Because of the V8 engine whims, feature detection in old core-js versions could cause a slowdown up to 100x even if nothing is polyfilled. Some versions have web compatibility issues. Please, upgrade your dependencies to the actual version of core-js.", - "dev": true, - "hasInstallScript": true - }, - "node_modules/babel-polyfill/node_modules/regenerator-runtime": { - "version": "0.10.5", - "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.10.5.tgz", - "integrity": "sha512-02YopEIhAgiBHWeoTiA8aitHDt8z6w+rQqNuIftlM+ZtvSl/brTouaU7DW6GO/cHtvxJvS4Hwv2ibKdxIRi24w==", - "dev": true - }, - "node_modules/babel-runtime": { + "babel-runtime": { "version": "6.26.0", "resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz", "integrity": "sha512-ITKNuq2wKlW1fJg9sSW52eepoYgZBggvOAHC0u/CYu/qxQ9EVzThCgR69BnSXLHjy2f7SY5zaQ4yt7H9ZVxY2g==", "dev": true, - "dependencies": { + "requires": { "core-js": "^2.4.0", "regenerator-runtime": "^0.11.0" + }, + "dependencies": { + "core-js": { + "version": "2.6.12", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.6.12.tgz", + "integrity": "sha512-Kb2wC0fvsWfQrgk8HU5lW6U/Lcs8+9aaYcy4ZFc6DDlo4nZ7n70dEgE5rtR0oG6ufKDUnrwfWL1mXR5ljDatrQ==", + "dev": true + }, + "regenerator-runtime": { + "version": "0.11.1", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz", + "integrity": "sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg==", + "dev": true + } } }, - "node_modules/babel-runtime/node_modules/core-js": { - "version": "2.6.12", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.6.12.tgz", - "integrity": "sha512-Kb2wC0fvsWfQrgk8HU5lW6U/Lcs8+9aaYcy4ZFc6DDlo4nZ7n70dEgE5rtR0oG6ufKDUnrwfWL1mXR5ljDatrQ==", - "deprecated": "core-js@<3.23.3 is no longer maintained and not recommended for usage due to the number of issues. Because of the V8 engine whims, feature detection in old core-js versions could cause a slowdown up to 100x even if nothing is polyfilled. Some versions have web compatibility issues. Please, upgrade your dependencies to the actual version of core-js.", - "dev": true, - "hasInstallScript": true - }, - "node_modules/babel-runtime/node_modules/regenerator-runtime": { - "version": "0.11.1", - "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz", - "integrity": "sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg==", - "dev": true - }, - "node_modules/balanced-match": { + "balanced-match": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==" }, - "node_modules/base64-js": { + "base64-js": { "version": "1.5.1", "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ] + "dev": true }, - "node_modules/bcrypt-pbkdf": { + "bcrypt-pbkdf": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz", "integrity": "sha512-qeFIXtP4MSoi6NLqO12WfqARWWuCKi2Rn/9hJLEmtB5yTNr9DqFWkJRCf2qShWzPeAMRnOgCrq0sg/KLv5ES9w==", "dev": true, - "dependencies": { + "requires": { "tweetnacl": "^0.14.3" } }, - "node_modules/big.js": { + "big.js": { "version": "5.2.2", "resolved": "https://registry.npmjs.org/big.js/-/big.js-5.2.2.tgz", "integrity": "sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==", - "dev": true, - "engines": { - "node": "*" - } + "dev": true }, - "node_modules/binary-extensions": { + "binary-extensions": { "version": "2.3.0", "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.3.0.tgz", "integrity": "sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==", - "dev": true, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } + "dev": true }, - "node_modules/blob-util": { + "blob-util": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/blob-util/-/blob-util-2.0.2.tgz", "integrity": "sha512-T7JQa+zsXXEa6/8ZhHcQEW1UFfVM49Ts65uBkFL6fz2QmrElqmbajIDJvuA0tEhRe5eIjpV9ZF+0RfZR9voJFQ==", "dev": true }, - "node_modules/bluebird": { + "bluebird": { "version": "3.7.2", "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz", "integrity": "sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==", "dev": true }, - "node_modules/blueimp-canvas-to-blob": { + "blueimp-canvas-to-blob": { "version": "3.29.0", "resolved": "https://registry.npmjs.org/blueimp-canvas-to-blob/-/blueimp-canvas-to-blob-3.29.0.tgz", "integrity": "sha512-0pcSSGxC0QxT+yVkivxIqW0Y4VlO2XSDPofBAqoJ1qJxgH9eiUDLv50Rixij2cDuEfx4M6DpD9UGZpRhT5Q8qg==", "optional": true }, - "node_modules/blueimp-file-upload": { + "blueimp-file-upload": { "version": "10.32.0", "resolved": "https://registry.npmjs.org/blueimp-file-upload/-/blueimp-file-upload-10.32.0.tgz", "integrity": "sha512-3WMJw5Cbfz94Adl1OeyH+rRpGwHiNHzja+CR6aRWPoAtwrUwvP5gXKo0XdX+sdPE+iCU63Xmba88hoHQmzY8RQ==", - "optionalDependencies": { + "requires": { "blueimp-canvas-to-blob": "3", "blueimp-load-image": "5", "blueimp-tmpl": "3" - }, - "peerDependencies": { - "jquery": ">=1.7" } }, - "node_modules/blueimp-load-image": { + "blueimp-load-image": { "version": "5.16.0", "resolved": "https://registry.npmjs.org/blueimp-load-image/-/blueimp-load-image-5.16.0.tgz", "integrity": "sha512-3DUSVdOtlfNRk7moRZuTwDmA3NnG8KIJuLcq3c0J7/BIr6X3Vb/EpX3kUH1joxUhmoVF4uCpDfz7wHkz8pQajA==" }, - "node_modules/blueimp-tmpl": { + "blueimp-tmpl": { "version": "3.20.0", "resolved": "https://registry.npmjs.org/blueimp-tmpl/-/blueimp-tmpl-3.20.0.tgz", "integrity": "sha512-g6ln9L+VX8ZA4WA8mgKMethYH+5teroJ2uOkCvcthy9Y9d9LrQ42OAMn+r3ECKu9CB+xe9GOChlIUJBSxwkI6g==", - "optional": true, - "bin": { - "tmpl.js": "js/compile.js" - } + "optional": true }, - "node_modules/bootbox": { + "bootbox": { "version": "6.0.0", "resolved": "https://registry.npmjs.org/bootbox/-/bootbox-6.0.0.tgz", - "integrity": "sha512-+Calbj1v5UvxAXXDAHfoBlsx63Hcz1JqHaZdJ5EjIcOlkyAbZLCreVScx0Em6ZUvsMCqynuz/3nGDyd9FtFrNQ==", - "peerDependencies": { - "@popperjs/core": "^2.0.0", - "bootstrap": "^4.4.0 || ^5.0.0", - "jquery": "^3.5.1" - } + "integrity": "sha512-+Calbj1v5UvxAXXDAHfoBlsx63Hcz1JqHaZdJ5EjIcOlkyAbZLCreVScx0Em6ZUvsMCqynuz/3nGDyd9FtFrNQ==" }, - "node_modules/bootstrap": { + "bootstrap": { "version": "4.6.2", "resolved": "https://registry.npmjs.org/bootstrap/-/bootstrap-4.6.2.tgz", - "integrity": "sha512-51Bbp/Uxr9aTuy6ca/8FbFloBUJZLHwnhTcnjIeRn2suQWsWzcuJhGjKDB5eppVte/8oCdOL3VuwxvZDUggwGQ==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/twbs" - }, - { - "type": "opencollective", - "url": "https://opencollective.com/bootstrap" - } - ], - "peerDependencies": { - "jquery": "1.9.1 - 3", - "popper.js": "^1.16.1" - } + "integrity": "sha512-51Bbp/Uxr9aTuy6ca/8FbFloBUJZLHwnhTcnjIeRn2suQWsWzcuJhGjKDB5eppVte/8oCdOL3VuwxvZDUggwGQ==" }, - "node_modules/bootstrap-calendar": { + "bootstrap-calendar": { "version": "0.2.4", "resolved": "https://registry.npmjs.org/bootstrap-calendar/-/bootstrap-calendar-0.2.4.tgz", "integrity": "sha512-rI2LOtq+bY79rbquQuD9LqAYYjvqS7nWmXmslUCO1f5Av4V33kNrv8pZn+peQH2WFM6TwvL7r3qeSLhsA4PWHA==" }, - "node_modules/bootstrap-colorpicker": { + "bootstrap-colorpicker": { "version": "2.5.3", "resolved": "https://registry.npmjs.org/bootstrap-colorpicker/-/bootstrap-colorpicker-2.5.3.tgz", "integrity": "sha512-xdllX8LSMvKULs3b8JrgRXTvyvjkSMHHHVuHjjN5FNMqr6kRe5NPiMHFmeAFjlgDF73MspikudLuEwR28LbzLw==", - "deprecated": "Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.", - "dependencies": { + "requires": { "jquery": ">=1.10" } }, - "node_modules/bootstrap-select": { + "bootstrap-select": { "version": "1.13.18", "resolved": "https://registry.npmjs.org/bootstrap-select/-/bootstrap-select-1.13.18.tgz", - "integrity": "sha512-V1IzK4rxBq5FrJtkzSH6RmFLFBsjx50byFbfAf8jYyXROWs7ZpprGjdHeoyq2HSsHyjJhMMwjsQhRoYAfxCGow==", - "peerDependencies": { - "bootstrap": ">=3.0.0", - "jquery": "1.9.1 - 3" - } + "integrity": "sha512-V1IzK4rxBq5FrJtkzSH6RmFLFBsjx50byFbfAf8jYyXROWs7ZpprGjdHeoyq2HSsHyjJhMMwjsQhRoYAfxCGow==" }, - "node_modules/bootstrap-slider": { + "bootstrap-slider": { "version": "11.0.2", "resolved": "https://registry.npmjs.org/bootstrap-slider/-/bootstrap-slider-11.0.2.tgz", "integrity": "sha512-CdwS+Z6X79OkLes9RfDgPB9UIY/+81wTkm6ktdSB6hdyiRbjJLFQIjZdnEr55tDyXZfgC7U6yeSXkNN9ZdGqjA==" }, - "node_modules/bootstrap-switch": { + "bootstrap-switch": { "version": "3.4.0", "resolved": "https://registry.npmjs.org/bootstrap-switch/-/bootstrap-switch-3.4.0.tgz", - "integrity": "sha512-P4Qdx7mLjqgilKQeeuDCf8AHWeO7992+NFfh0doAA/ExaJqr02QFHhq18GL8EYd2XRviJ16pUUyMRsfOVaPEVg==", - "peerDependencies": { - "bootstrap": "^4.3.1", - "jquery": ">=1.12.4" - } + "integrity": "sha512-P4Qdx7mLjqgilKQeeuDCf8AHWeO7992+NFfh0doAA/ExaJqr02QFHhq18GL8EYd2XRviJ16pUUyMRsfOVaPEVg==" }, - "node_modules/bootstrap-tagsinput": { + "bootstrap-tagsinput": { "version": "0.7.1", "resolved": "https://registry.npmjs.org/bootstrap-tagsinput/-/bootstrap-tagsinput-0.7.1.tgz", "integrity": "sha512-xSks67GWgXLnmO5gqp788vhh7WoXd9mHj5uKE5zg8rvw3sNYYSCjrSlrPRlPdpYKwmuxeuf2jsNjBSWEucyB1w==" }, - "node_modules/brace-expansion": { + "brace-expansion": { "version": "1.1.11", "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", - "dependencies": { + "requires": { "balanced-match": "^1.0.0", "concat-map": "0.0.1" } }, - "node_modules/braces": { + "braces": { "version": "3.0.3", "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz", "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==", "dev": true, - "dependencies": { + "requires": { "fill-range": "^7.1.1" - }, - "engines": { - "node": ">=8" } }, - "node_modules/browserslist": { - "version": "4.23.2", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.23.2.tgz", - "integrity": "sha512-qkqSyistMYdxAcw+CzbZwlBy8AGmS/eEWs+sEV5TnLRGDOL+C5M2EnH6tlZyg0YoAxGJAFKh61En9BR941GnHA==", + "browserslist": { + "version": "4.23.3", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.23.3.tgz", + "integrity": "sha512-btwCFJVjI4YWDNfau8RhZ+B1Q/VLoUITrm3RlP6y1tYGWIOa+InuYiRGXUBXo8nA1qKmHMyLB/iVQg5TT4eFoA==", "dev": true, - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/browserslist" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/browserslist" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "dependencies": { - "caniuse-lite": "^1.0.30001640", - "electron-to-chromium": "^1.4.820", - "node-releases": "^2.0.14", + "requires": { + "caniuse-lite": "^1.0.30001646", + "electron-to-chromium": "^1.5.4", + "node-releases": "^2.0.18", "update-browserslist-db": "^1.1.0" - }, - "bin": { - "browserslist": "cli.js" - }, - "engines": { - "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" } }, - "node_modules/buffer": { + "buffer": { "version": "5.7.1", "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "dependencies": { + "requires": { "base64-js": "^1.3.1", "ieee754": "^1.1.13" } }, - "node_modules/buffer-crc32": { + "buffer-crc32": { "version": "0.2.13", "resolved": "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.13.tgz", "integrity": "sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ==", - "dev": true, - "engines": { - "node": "*" - } + "dev": true }, - "node_modules/buffer-from": { + "buffer-from": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==", "dev": true }, - "node_modules/cachedir": { + "cachedir": { "version": "2.4.0", "resolved": "https://registry.npmjs.org/cachedir/-/cachedir-2.4.0.tgz", "integrity": "sha512-9EtFOZR8g22CL7BWjJ9BUx1+A/djkofnyW3aOXZORNW2kxoUpx2h+uN2cOqwPmFhnpVmxg+KW2OjOSgChTEvsQ==", - "dev": true, - "engines": { - "node": ">=6" - } + "dev": true }, - "node_modules/call-bind": { + "call-bind": { "version": "1.0.7", "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.7.tgz", "integrity": "sha512-GHTSNSYICQ7scH7sZ+M2rFopRoLh8t2bLSW6BbgrtLsahOIB5iyAVJf9GjWK3cYTDaMj4XdBpM1cA6pIS0Kv2w==", "dev": true, - "dependencies": { + "requires": { "es-define-property": "^1.0.0", "es-errors": "^1.3.0", "function-bind": "^1.1.2", "get-intrinsic": "^1.2.4", "set-function-length": "^1.2.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/callsites": { + "callsites": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", - "dev": true, - "engines": { - "node": ">=6" - } + "dev": true }, - "node_modules/camelcase": { + "camelcase": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-1.2.1.tgz", - "integrity": "sha512-wzLkDa4K/mzI1OSITC+DUyjgIl/ETNHE9QvYgy6J6Jvqyyz4C0Xfd+lQhb19sX2jMpZV4IssUn0VDVmglV+s4g==", - "engines": { - "node": ">=0.10.0" - } + "integrity": "sha512-wzLkDa4K/mzI1OSITC+DUyjgIl/ETNHE9QvYgy6J6Jvqyyz4C0Xfd+lQhb19sX2jMpZV4IssUn0VDVmglV+s4g==" }, - "node_modules/caniuse-lite": { - "version": "1.0.30001645", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001645.tgz", - "integrity": "sha512-GFtY2+qt91kzyMk6j48dJcwJVq5uTkk71XxE3RtScx7XWRLsO7bU44LOFkOZYR8w9YMS0UhPSYpN/6rAMImmLw==", - "dev": true, - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/browserslist" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/caniuse-lite" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ] + "caniuse-lite": { + "version": "1.0.30001655", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001655.tgz", + "integrity": "sha512-jRGVy3iSGO5Uutn2owlb5gR6qsGngTw9ZTb4ali9f3glshcNmJ2noam4Mo9zia5P9Dk3jNNydy7vQjuE5dQmfg==", + "dev": true }, - "node_modules/caseless": { + "caseless": { "version": "0.12.0", "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", "integrity": "sha512-4tYFyifaFfGacoiObjJegolkwSU4xQNGbVgUiNYVUxbQ2x2lUsFvY4hVgVzGiIe6WLOPqycWXA40l+PWsxthUw==", "dev": true }, - "node_modules/center-align": { + "center-align": { "version": "0.1.3", "resolved": "https://registry.npmjs.org/center-align/-/center-align-0.1.3.tgz", "integrity": "sha512-Baz3aNe2gd2LP2qk5U+sDk/m4oSuwSDcBfayTCTBoWpfIGO5XFxPmjILQII4NGiZjD6DoDI6kf7gKaxkf7s3VQ==", - "dependencies": { + "requires": { "align-text": "^0.1.3", "lazy-cache": "^1.0.3" - }, - "engines": { - "node": ">=0.10.0" } }, - "node_modules/chalk": { + "chalk": { "version": "2.4.2", "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", "dev": true, - "dependencies": { + "requires": { "ansi-styles": "^3.2.1", "escape-string-regexp": "^1.0.5", "supports-color": "^5.3.0" - }, - "engines": { - "node": ">=4" } }, - "node_modules/chart.js": { + "chart.js": { "version": "2.9.4", "resolved": "https://registry.npmjs.org/chart.js/-/chart.js-2.9.4.tgz", "integrity": "sha512-B07aAzxcrikjAPyV+01j7BmOpxtQETxTSlQ26BEYJ+3iUkbNKaOJ/nDbT6JjyqYxseM0ON12COHYdU2cTIjC7A==", - "dependencies": { + "requires": { "chartjs-color": "^2.1.0", "moment": "^2.10.2" } }, - "node_modules/chartjs-color": { + "chartjs-color": { "version": "2.4.1", "resolved": "https://registry.npmjs.org/chartjs-color/-/chartjs-color-2.4.1.tgz", "integrity": "sha512-haqOg1+Yebys/Ts/9bLo/BqUcONQOdr/hoEr2LLTRl6C5LXctUdHxsCYfvQVg5JIxITrfCNUDr4ntqmQk9+/0w==", - "dependencies": { + "requires": { "chartjs-color-string": "^0.6.0", "color-convert": "^1.9.3" } }, - "node_modules/chartjs-color-string": { + "chartjs-color-string": { "version": "0.6.0", "resolved": "https://registry.npmjs.org/chartjs-color-string/-/chartjs-color-string-0.6.0.tgz", "integrity": "sha512-TIB5OKn1hPJvO7JcteW4WY/63v6KwEdt6udfnDE9iCAZgy+V4SrbSxoIbTw/xkUIapjEI4ExGtD0+6D3KyFd7A==", - "dependencies": { + "requires": { "color-name": "^1.0.0" } }, - "node_modules/chartjs-plugin-datalabels": { + "chartjs-plugin-datalabels": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/chartjs-plugin-datalabels/-/chartjs-plugin-datalabels-1.0.0.tgz", - "integrity": "sha512-rqaAFrZT++7OoCJgRCPjugTR4kYpdmrTeX7qHTAZoNQaOaMdx4g6o0Eo9J7n3qLRQrhWjh9l731JsrbkJxL7Vg==", - "peerDependencies": { - "chart.js": ">= 2.7.0 < 3" - } + "integrity": "sha512-rqaAFrZT++7OoCJgRCPjugTR4kYpdmrTeX7qHTAZoNQaOaMdx4g6o0Eo9J7n3qLRQrhWjh9l731JsrbkJxL7Vg==" }, - "node_modules/check-more-types": { + "check-more-types": { "version": "2.24.0", "resolved": "https://registry.npmjs.org/check-more-types/-/check-more-types-2.24.0.tgz", "integrity": "sha512-Pj779qHxV2tuapviy1bSZNEL1maXr13bPYpsvSDB68HlYcYuhlDrmGd63i0JHMCLKzc7rUSNIrpdJlhVlNwrxA==", - "dev": true, - "engines": { - "node": ">= 0.8.0" - } + "dev": true }, - "node_modules/chokidar": { + "chokidar": { "version": "3.6.0", "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.6.0.tgz", "integrity": "sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==", "dev": true, - "dependencies": { + "requires": { "anymatch": "~3.1.2", "braces": "~3.0.2", + "fsevents": "~2.3.2", "glob-parent": "~5.1.2", "is-binary-path": "~2.1.0", "is-glob": "~4.0.1", "normalize-path": "~3.0.0", "readdirp": "~3.6.0" }, - "engines": { - "node": ">= 8.10.0" - }, - "funding": { - "url": "https://paulmillr.com/funding/" - }, - "optionalDependencies": { - "fsevents": "~2.3.2" - } - }, - "node_modules/chokidar/node_modules/glob-parent": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", - "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", - "dev": true, "dependencies": { - "is-glob": "^4.0.1" - }, - "engines": { - "node": ">= 6" + "glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dev": true, + "requires": { + "is-glob": "^4.0.1" + } + } } }, - "node_modules/chrome-trace-event": { + "chrome-trace-event": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.4.tgz", "integrity": "sha512-rNjApaLzuwaOTjCiT8lSDdGN1APCiqkChLMJxJPWLunPAt5fy8xgU9/jNOchV84wfIxrA0lRQB7oCT8jrn/wrQ==", - "dev": true, - "engines": { - "node": ">=6.0" - } + "dev": true }, - "node_modules/ci-info": { + "ci-info": { "version": "3.9.0", "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.9.0.tgz", "integrity": "sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/sibiraj-s" - } - ], - "engines": { - "node": ">=8" - } + "dev": true }, - "node_modules/clean-stack": { + "clean-stack": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz", "integrity": "sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==", - "dev": true, - "engines": { - "node": ">=6" - } + "dev": true }, - "node_modules/clean-webpack-plugin": { + "clean-webpack-plugin": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/clean-webpack-plugin/-/clean-webpack-plugin-4.0.0.tgz", "integrity": "sha512-WuWE1nyTNAyW5T7oNyys2EN0cfP2fdRxhxnIQWiAp0bMabPdHhoGxM8A6YL2GhqwgrPnnaemVE7nv5XJ2Fhh2w==", "dev": true, - "dependencies": { + "requires": { "del": "^4.1.1" - }, - "engines": { - "node": ">=10.0.0" - }, - "peerDependencies": { - "webpack": ">=4.0.0 <6.0.0" } }, - "node_modules/cli-cursor": { + "cli-cursor": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz", "integrity": "sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==", "dev": true, - "dependencies": { + "requires": { "restore-cursor": "^3.1.0" - }, - "engines": { - "node": ">=8" } }, - "node_modules/cli-table3": { + "cli-table3": { "version": "0.6.5", "resolved": "https://registry.npmjs.org/cli-table3/-/cli-table3-0.6.5.tgz", "integrity": "sha512-+W/5efTR7y5HRD7gACw9yQjqMVvEMLBHmboM/kPWam+H+Hmyrgjh6YncVKK122YZkXrLudzTuAukUw9FnMf7IQ==", "dev": true, - "dependencies": { + "requires": { + "@colors/colors": "1.5.0", "string-width": "^4.2.0" - }, - "engines": { - "node": "10.* || >= 12.*" - }, - "optionalDependencies": { - "@colors/colors": "1.5.0" } }, - "node_modules/cli-truncate": { + "cli-truncate": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/cli-truncate/-/cli-truncate-2.1.0.tgz", "integrity": "sha512-n8fOixwDD6b/ObinzTrp1ZKFzbgvKZvuz/TvejnLn1aQfC6r52XEx85FmuC+3HI+JM7coBRXUvNqEU2PHVrHpg==", "dev": true, - "dependencies": { + "requires": { "slice-ansi": "^3.0.0", "string-width": "^4.2.0" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/cliui": { + "cliui": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/cliui/-/cliui-2.1.0.tgz", "integrity": "sha512-GIOYRizG+TGoc7Wgc1LiOTLare95R3mzKgoln+Q/lE4ceiYH19gUpl0l0Ffq4lJDEf3FxujMe6IBfOCs7pfqNA==", - "dependencies": { + "requires": { "center-align": "^0.1.1", "right-align": "^0.1.1", "wordwrap": "0.0.2" } }, - "node_modules/clone-deep": { + "clone-deep": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/clone-deep/-/clone-deep-4.0.1.tgz", "integrity": "sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ==", "dev": true, - "dependencies": { + "requires": { "is-plain-object": "^2.0.4", "kind-of": "^6.0.2", "shallow-clone": "^3.0.0" }, - "engines": { - "node": ">=6" - } - }, - "node_modules/clone-deep/node_modules/kind-of": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", - "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", - "dev": true, - "engines": { - "node": ">=0.10.0" + "dependencies": { + "kind-of": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", + "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", + "dev": true + } } }, - "node_modules/color-convert": { + "color-convert": { "version": "1.9.3", "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", - "dependencies": { + "requires": { "color-name": "1.1.3" + }, + "dependencies": { + "color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==" + } } }, - "node_modules/color-convert/node_modules/color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==" - }, - "node_modules/color-name": { + "color-name": { "version": "1.1.4", "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" }, - "node_modules/colorette": { + "colorette": { "version": "2.0.20", "resolved": "https://registry.npmjs.org/colorette/-/colorette-2.0.20.tgz", "integrity": "sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==", "dev": true }, - "node_modules/colors.js": { + "colors.js": { "version": "1.2.4", "resolved": "https://registry.npmjs.org/colors.js/-/colors.js-1.2.4.tgz", "integrity": "sha512-L0WwXcT55bCbziygKNCYRBfCpSqoDSFTFJ+8PlDBrDB3cyMd9QmAXGNkvNR9ptd5tUXpkHzjBYI7u2I9beW6Cg==" }, - "node_modules/combined-stream": { + "combined-stream": { "version": "1.0.8", "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", "dev": true, - "dependencies": { + "requires": { "delayed-stream": "~1.0.0" - }, - "engines": { - "node": ">= 0.8" } }, - "node_modules/commander": { + "commander": { "version": "6.2.1", "resolved": "https://registry.npmjs.org/commander/-/commander-6.2.1.tgz", "integrity": "sha512-U7VdrJFnJgo4xjrHpTzu0yrHPGImdsmD95ZlgYSEajAn2JKzDhDTPG9kBTefmObL2w/ngeZnilk+OV9CG3d7UA==", - "dev": true, - "engines": { - "node": ">= 6" - } + "dev": true }, - "node_modules/common-path-prefix": { + "common-path-prefix": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/common-path-prefix/-/common-path-prefix-3.0.0.tgz", "integrity": "sha512-QE33hToZseCH3jS0qN96O/bSh3kaw/h+Tq7ngyY9eWDUnTlTNUyqfqvCXioLe5Na5jFsL78ra/wuBU4iuEgd4w==", "dev": true }, - "node_modules/common-tags": { + "common-tags": { "version": "1.8.2", "resolved": "https://registry.npmjs.org/common-tags/-/common-tags-1.8.2.tgz", "integrity": "sha512-gk/Z852D2Wtb//0I+kRFNKKE9dIIVirjoqPoA1wJU+XePVXZfGeBpk45+A1rKO4Q43prqWBNY/MiIeRLbPWUaA==", - "dev": true, - "engines": { - "node": ">=4.0.0" - } + "dev": true }, - "node_modules/concat-map": { + "concat-map": { "version": "0.0.1", "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==" }, - "node_modules/convert-source-map": { + "convert-source-map": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz", "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==", "dev": true }, - "node_modules/copy-anything": { + "copy-anything": { "version": "2.0.6", "resolved": "https://registry.npmjs.org/copy-anything/-/copy-anything-2.0.6.tgz", "integrity": "sha512-1j20GZTsvKNkc4BY3NpMOM8tt///wY3FpIzozTOFO2ffuZcV61nojHXVKIy3WM+7ADCy5FVhdZYHYDdgTU0yJw==", "dev": true, - "dependencies": { + "requires": { "is-what": "^3.14.1" - }, - "funding": { - "url": "https://github.com/sponsors/mesqueeb" } }, - "node_modules/copy-webpack-plugin": { + "copy-webpack-plugin": { "version": "12.0.2", "resolved": "https://registry.npmjs.org/copy-webpack-plugin/-/copy-webpack-plugin-12.0.2.tgz", "integrity": "sha512-SNwdBeHyII+rWvee/bTnAYyO8vfVdcSTud4EIb6jcZ8inLeWucJE0DnxXQBjlQ5zlteuuvooGQy3LIyGxhvlOA==", "dev": true, - "dependencies": { + "requires": { "fast-glob": "^3.3.2", "glob-parent": "^6.0.1", "globby": "^14.0.0", @@ -3596,125 +2492,103 @@ "schema-utils": "^4.2.0", "serialize-javascript": "^6.0.2" }, - "engines": { - "node": ">= 18.12.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependencies": { - "webpack": "^5.1.0" - } - }, - "node_modules/copy-webpack-plugin/node_modules/globby": { - "version": "14.0.2", - "resolved": "https://registry.npmjs.org/globby/-/globby-14.0.2.tgz", - "integrity": "sha512-s3Fq41ZVh7vbbe2PN3nrW7yC7U7MFVc5c98/iTl9c2GawNMKx/J648KQRW6WKkuU8GIbbh2IXfIRQjOZnXcTnw==", - "dev": true, "dependencies": { - "@sindresorhus/merge-streams": "^2.1.0", - "fast-glob": "^3.3.2", - "ignore": "^5.2.4", - "path-type": "^5.0.0", - "slash": "^5.1.0", - "unicorn-magic": "^0.1.0" - }, - "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "globby": { + "version": "14.0.2", + "resolved": "https://registry.npmjs.org/globby/-/globby-14.0.2.tgz", + "integrity": "sha512-s3Fq41ZVh7vbbe2PN3nrW7yC7U7MFVc5c98/iTl9c2GawNMKx/J648KQRW6WKkuU8GIbbh2IXfIRQjOZnXcTnw==", + "dev": true, + "requires": { + "@sindresorhus/merge-streams": "^2.1.0", + "fast-glob": "^3.3.2", + "ignore": "^5.2.4", + "path-type": "^5.0.0", + "slash": "^5.1.0", + "unicorn-magic": "^0.1.0" + } + }, + "serialize-javascript": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.2.tgz", + "integrity": "sha512-Saa1xPByTTq2gdeFZYLLo+RFE35NHZkAbqZeWNd3BpzppeVisAqpDjcp8dyf6uIvEqJRd46jemmyA4iFIeVk8g==", + "dev": true, + "requires": { + "randombytes": "^2.1.0" + } + }, + "slash": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-5.1.0.tgz", + "integrity": "sha512-ZA6oR3T/pEyuqwMgAKT0/hAv8oAXckzbkmR0UkUosQ+Mc4RxGoJkRmwHgHufaenlyAgE1Mxgpdcrf75y6XcnDg==", + "dev": true + } } }, - "node_modules/core-js": { - "version": "3.37.1", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.37.1.tgz", - "integrity": "sha512-Xn6qmxrQZyB0FFY8E3bgRXei3lWDJHhvI+u0q9TKIYM49G8pAr0FgnnrFRAmsbptZL1yxRADVXn+x5AGsbBfyw==", - "dev": true, - "hasInstallScript": true, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/core-js" - } + "core-js": { + "version": "3.38.1", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.38.1.tgz", + "integrity": "sha512-OP35aUorbU3Zvlx7pjsFdu1rGNnD4pgw/CWoYzRY3t2EzoVT7shKHY1dlAy3f41cGIO7ZDPQimhGFTlEYkG/Hw==", + "dev": true }, - "node_modules/core-js-compat": { - "version": "3.37.1", - "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.37.1.tgz", - "integrity": "sha512-9TNiImhKvQqSUkOvk/mMRZzOANTiEVC7WaBNhHcKM7x+/5E1l5NvsysR19zuDQScE8k+kfQXWRN3AtS/eOSHpg==", + "core-js-compat": { + "version": "3.38.1", + "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.38.1.tgz", + "integrity": "sha512-JRH6gfXxGmrzF3tZ57lFx97YARxCXPaMzPo6jELZhv88pBH5VXpQ+y0znKGlFnzuaihqhLbefxSJxWJMPtfDzw==", "dev": true, - "dependencies": { - "browserslist": "^4.23.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/core-js" + "requires": { + "browserslist": "^4.23.3" } }, - "node_modules/core-util-is": { + "core-util-is": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", "integrity": "sha512-3lqz5YjWTYnW6dlDa5TLaTCcShfar1e40rmcJVwCBJC6mWlFuj0eCHIElmG1g5kyuJ/GD+8Wn4FFCcz4gJPfaQ==", "dev": true }, - "node_modules/corejs-typeahead": { - "version": "1.3.4", - "resolved": "https://registry.npmjs.org/corejs-typeahead/-/corejs-typeahead-1.3.4.tgz", - "integrity": "sha512-4SAc1UWszc05IyG9te1JHSeLas5WUWKmKAB8m9E6AAmHCpYhdSaySkblVSIUwQG2FR5uAsaeHbKM+pkEP7SiNw==", - "dependencies": { + "corejs-typeahead": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/corejs-typeahead/-/corejs-typeahead-1.3.3.tgz", + "integrity": "sha512-i+WiSdYiB4QiWTlx9kbn/Nk3zvG/FT/cj8EgBlSkEvQB1doJKb61ix0i6jxe4Y8znvfM8g2nkSGglhsF/cWFAA==", + "requires": { "jquery": ">=1.11" } }, - "node_modules/cosmiconfig": { + "cosmiconfig": { "version": "9.0.0", "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-9.0.0.tgz", "integrity": "sha512-itvL5h8RETACmOTFc4UfIyB2RfEHi71Ax6E/PivVxq9NseKbOWpeyHEOIbmAw1rs8Ak0VursQNww7lf7YtUwzg==", "dev": true, - "dependencies": { + "requires": { "env-paths": "^2.2.1", "import-fresh": "^3.3.0", "js-yaml": "^4.1.0", "parse-json": "^5.2.0" - }, - "engines": { - "node": ">=14" - }, - "funding": { - "url": "https://github.com/sponsors/d-fischer" - }, - "peerDependencies": { - "typescript": ">=4.9.5" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } } }, - "node_modules/croact": { + "croact": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/croact/-/croact-1.0.4.tgz", "integrity": "sha512-9GhvyzTY/IVUrMQ2iz/mzgZ8+NcjczmIo/t4FkC1CU0CEcau6v6VsEih4jkTa4ZmRgYTF0qXEZLObCzdDFplpw==", - "dependencies": { + "requires": { "@daybrush/utils": "^1.13.0", "@egjs/list-differ": "^1.0.0" } }, - "node_modules/croact-css-styled": { + "croact-css-styled": { "version": "1.1.9", "resolved": "https://registry.npmjs.org/croact-css-styled/-/croact-css-styled-1.1.9.tgz", "integrity": "sha512-G7yvRiVJ3Eoj0ov2h2xR4312hpOzATay2dGS9clK8yJQothjH1sBXIyvOeRP5wBKD9mPcKcoUXPCPsl0tQog4w==", - "dependencies": { + "requires": { "@daybrush/utils": "^1.13.0", "css-styled": "~1.0.8", "framework-utils": "^1.1.0" } }, - "node_modules/croact-moveable": { + "croact-moveable": { "version": "0.9.0", "resolved": "https://registry.npmjs.org/croact-moveable/-/croact-moveable-0.9.0.tgz", "integrity": "sha512-fc3bieV6CdqqZFtzsSLi9KmvUMFW3oakUfhPCls1BxKjOfUfn8rktteGED2341A/Qghy8tI3Hm6SdocIc68IKg==", - "dependencies": { + "requires": { "@daybrush/utils": "^1.13.0", "@egjs/agent": "^2.2.1", "@egjs/children-differ": "^1.0.1", @@ -3729,31 +2603,25 @@ "overlap-area": "^1.1.0", "react-css-styled": "^1.1.9", "react-moveable": "~0.56.0" - }, - "peerDependencies": { - "croact": "^1.0.4" } }, - "node_modules/cross-spawn": { + "cross-spawn": { "version": "7.0.3", "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", "dev": true, - "dependencies": { + "requires": { "path-key": "^3.1.0", "shebang-command": "^2.0.0", "which": "^2.0.1" - }, - "engines": { - "node": ">= 8" } }, - "node_modules/css-loader": { + "css-loader": { "version": "7.1.2", "resolved": "https://registry.npmjs.org/css-loader/-/css-loader-7.1.2.tgz", "integrity": "sha512-6WvYYn7l/XEGN8Xu2vWFt9nVzrCn39vKyTEFf/ExEyoksJjjSZV/0/35XPlMbpnr6VGhZIUg5yJrL8tGfes/FA==", "dev": true, - "dependencies": { + "requires": { "icss-utils": "^5.1.0", "postcss": "^8.4.33", "postcss-modules-extract-imports": "^3.1.0", @@ -3763,75 +2631,45 @@ "postcss-value-parser": "^4.2.0", "semver": "^7.5.4" }, - "engines": { - "node": ">= 18.12.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependencies": { - "@rspack/core": "0.x || 1.x", - "webpack": "^5.27.0" - }, - "peerDependenciesMeta": { - "@rspack/core": { - "optional": true - }, - "webpack": { - "optional": true + "dependencies": { + "semver": { + "version": "7.6.3", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz", + "integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==", + "dev": true } } }, - "node_modules/css-loader/node_modules/semver": { - "version": "7.6.3", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz", - "integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==", - "dev": true, - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/css-styled": { + "css-styled": { "version": "1.0.8", "resolved": "https://registry.npmjs.org/css-styled/-/css-styled-1.0.8.tgz", "integrity": "sha512-tCpP7kLRI8dI95rCh3Syl7I+v7PP+2JYOzWkl0bUEoSbJM+u8ITbutjlQVf0NC2/g4ULROJPi16sfwDIO8/84g==", - "dependencies": { + "requires": { "@daybrush/utils": "^1.13.0" } }, - "node_modules/css-to-mat": { + "css-to-mat": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/css-to-mat/-/css-to-mat-1.1.1.tgz", "integrity": "sha512-kvpxFYZb27jRd2vium35G7q5XZ2WJ9rWjDUMNT36M3Hc41qCrLXFM5iEKMGXcrPsKfXEN+8l/riB4QzwwwiEyQ==", - "dependencies": { + "requires": { "@daybrush/utils": "^1.13.0", "@scena/matrix": "^1.0.0" } }, - "node_modules/cssesc": { + "cssesc": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz", "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==", - "dev": true, - "bin": { - "cssesc": "bin/cssesc" - }, - "engines": { - "node": ">=4" - } + "dev": true }, - "node_modules/cypress": { - "version": "13.13.1", - "resolved": "https://registry.npmjs.org/cypress/-/cypress-13.13.1.tgz", - "integrity": "sha512-8F9UjL5MDUdgC/S5hr8CGLHbS5gGht5UOV184qc2pFny43fnkoaKxlzH/U6//zmGu/xRTaKimNfjknLT8+UDFg==", + "cypress": { + "version": "13.14.1", + "resolved": "https://registry.npmjs.org/cypress/-/cypress-13.14.1.tgz", + "integrity": "sha512-Wo+byPmjps66hACEH5udhXINEiN3qS3jWNGRzJOjrRJF3D0+YrcP2LVB1T7oYaVQM/S+eanqEvBWYc8cf7Vcbg==", "dev": true, - "hasInstallScript": true, - "dependencies": { - "@cypress/request": "^3.0.0", + "requires": { + "@cypress/request": "^3.0.1", "@cypress/xvfb": "^1.2.4", "@types/sinonjs__fake-timers": "8.1.1", "@types/sizzle": "^2.3.2", @@ -3874,293 +2712,229 @@ "untildify": "^4.0.0", "yauzl": "^2.10.0" }, - "bin": { - "cypress": "bin/cypress" - }, - "engines": { - "node": "^16.0.0 || ^18.0.0 || >=20.0.0" - } - }, - "node_modules/cypress/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/cypress/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/cypress/node_modules/chalk/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/cypress/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/cypress/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/cypress/node_modules/minimist": { - "version": "1.2.8", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz", - "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==", - "dev": true, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/cypress/node_modules/semver": { - "version": "7.6.3", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz", - "integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==", - "dev": true, - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/cypress/node_modules/supports-color": { - "version": "8.1.1", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", - "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", - "dev": true, - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/supports-color?sponsor=1" + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "dependencies": { + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, + "minimist": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz", + "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==", + "dev": true + }, + "semver": { + "version": "7.6.3", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz", + "integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==", + "dev": true + }, + "supports-color": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", + "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + } } }, - "node_modules/dashdash": { + "dashdash": { "version": "1.14.1", "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", "integrity": "sha512-jRFi8UDGo6j+odZiEpjazZaWqEal3w/basFjQHQEwVtZJGDpxbH1MeYluwCS8Xq5wmLJooDlMgvVarmWfGM44g==", "dev": true, - "dependencies": { + "requires": { "assert-plus": "^1.0.0" - }, - "engines": { - "node": ">=0.10" } }, - "node_modules/datatables.net": { - "version": "1.13.11", - "resolved": "https://registry.npmjs.org/datatables.net/-/datatables.net-1.13.11.tgz", - "integrity": "sha512-AE6RkMXziRaqzPcu/pl3SJXeRa6fmXQG/fVjuRESujvkzqDCYEeKTTpPMuVJSGYJpPi32WGSphVNNY1G4nSN/g==", - "dependencies": { - "jquery": "1.8 - 4" + "datatables.net": { + "version": "1.12.1", + "resolved": "https://registry.npmjs.org/datatables.net/-/datatables.net-1.12.1.tgz", + "integrity": "sha512-e6XAMUoV41JdQPS/r9YRfRcmTPcCVvyZbWI+xog1Zg+kjVliMQbEkvWK5XFItmi64Cvwg+IqsZbTUJ1KSY3umA==", + "requires": { + "jquery": ">=1.7" } }, - "node_modules/datatables.net-bs4": { - "version": "1.13.11", - "resolved": "https://registry.npmjs.org/datatables.net-bs4/-/datatables.net-bs4-1.13.11.tgz", - "integrity": "sha512-1LnxzQDFKpwvBETc8wtUtQ+pUXhs6NJomNST5pRzzHAccckkj9rZeOp3mevKDnDJKuNhBM1Y0rIeZGylJnqh9A==", - "dependencies": { - "datatables.net": "1.13.11", - "jquery": "1.8 - 4" + "datatables.net-bs4": { + "version": "1.12.1", + "resolved": "https://registry.npmjs.org/datatables.net-bs4/-/datatables.net-bs4-1.12.1.tgz", + "integrity": "sha512-LBeC8zUNVYyQT7ytC2lYqyXDn+k2kYpqvijC83oOjlcnEtb/8Tduzgquox5FrNKUJPcUrj9r+h5B0TDBbob/Gg==", + "requires": { + "datatables.net": ">=1.11.3", + "jquery": ">=1.7" } }, - "node_modules/datatables.net-buttons": { + "datatables.net-buttons": { "version": "1.7.1", "resolved": "https://registry.npmjs.org/datatables.net-buttons/-/datatables.net-buttons-1.7.1.tgz", "integrity": "sha512-D2OxZeR18jhSx+l0xcfAJzfUH7l3LHCu0e606fV7+v3hMhphOfljjZYLaiRmGiR9lqO/f5xE/w2a+OtG/QMavw==", - "dependencies": { + "requires": { "datatables.net": "^1.10.15", "jquery": ">=1.7" } }, - "node_modules/datatables.net-buttons-bs4": { + "datatables.net-buttons-bs4": { "version": "1.7.1", "resolved": "https://registry.npmjs.org/datatables.net-buttons-bs4/-/datatables.net-buttons-bs4-1.7.1.tgz", "integrity": "sha512-s+fwsgAAWp7mOKwuztPH06kaw2JNAJ71VNTw/TqGQTL6BK9FshweDKZSRIB/ePcc/Psiy8fhNEj3XHxx4OO6BA==", - "dependencies": { + "requires": { "datatables.net-bs4": "^1.10.15", "datatables.net-buttons": "1.7.1", "jquery": ">=1.7" } }, - "node_modules/datatables.net-buttons-dt": { + "datatables.net-buttons-dt": { "version": "1.7.1", "resolved": "https://registry.npmjs.org/datatables.net-buttons-dt/-/datatables.net-buttons-dt-1.7.1.tgz", "integrity": "sha512-mdHWKHff9cR2KsyQvCmJcC4/S0NZaEzIo83Rqa1ncaQjtSoe989d3bDMyGg0jCEahqNVrZPDjuKWZw0FCR4Xsg==", - "dependencies": { + "requires": { "datatables.net-buttons": "1.7.1", "datatables.net-dt": "^1.10.15", "jquery": ">=1.7" } }, - "node_modules/datatables.net-dt": { - "version": "1.13.11", - "resolved": "https://registry.npmjs.org/datatables.net-dt/-/datatables.net-dt-1.13.11.tgz", - "integrity": "sha512-4GpS4OFLwIMfhb5UdJh6bEnh0E52jIJOlx7KLKs1pSce/xpHjvcmucbUWNaEndQIpHXtIxmVPoqcDB0ZbiVB+A==", - "dependencies": { - "datatables.net": "1.13.11", - "jquery": "1.8 - 4" + "datatables.net-dt": { + "version": "1.12.1", + "resolved": "https://registry.npmjs.org/datatables.net-dt/-/datatables.net-dt-1.12.1.tgz", + "integrity": "sha512-HYsHbSYqOqlgsgjKMH/kkCB5455t51GmmtXRxgnDMRbjPLEIKo5CZmAlUe5mdD/RVPRtAUaj5K3SDlkEZ1bUmw==", + "requires": { + "datatables.net": ">=1.11.3", + "jquery": ">=1.7" } }, - "node_modules/datatables.net-responsive": { - "version": "2.5.1", - "resolved": "https://registry.npmjs.org/datatables.net-responsive/-/datatables.net-responsive-2.5.1.tgz", - "integrity": "sha512-hyJb2faIzEWUX5Yn4HOSq/6NNB9SXDVbI4OU9ny+XU/2ghZEz4676spOgzpDHTdWvCfM+t1mbUsT70fDiTTr9w==", - "dependencies": { - "datatables.net": "^1.13.0", + "datatables.net-responsive": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/datatables.net-responsive/-/datatables.net-responsive-2.3.0.tgz", + "integrity": "sha512-QA5QsD1sJQRQ7/IFi3rSd33O84f/Augz2KnaehjfuEANtK4KeC9Lbkut5tPuuMcK4jOpQPOOPYTbmfrt+tfh9w==", + "requires": { + "datatables.net": ">=1.11.3", "jquery": ">=1.7" } }, - "node_modules/datatables.net-responsive-bs4": { - "version": "2.5.1", - "resolved": "https://registry.npmjs.org/datatables.net-responsive-bs4/-/datatables.net-responsive-bs4-2.5.1.tgz", - "integrity": "sha512-cOVCG9zRioqJiqZUPXel5/vxKGt8EFhxgzVafDNy2hY3ZO+UMMuRKcs2br/QMoojbXzpKNf2rL/lM7NoXKVKZA==", - "dependencies": { - "datatables.net-bs4": "^1.13.0", - "datatables.net-responsive": "2.5.1", + "datatables.net-responsive-bs4": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/datatables.net-responsive-bs4/-/datatables.net-responsive-bs4-2.3.0.tgz", + "integrity": "sha512-6ZeFeM6PHh3A5BodxUvHU1ipIrMYMbBcOgB3BfXMHxr4maS96RIQdTmXK3owJ5sy88dF68V8fjkquvybS7kwvw==", + "requires": { + "datatables.net-bs4": ">=1.11.3", + "datatables.net-responsive": ">=2.2.9", "jquery": ">=1.7" } }, - "node_modules/datatables.net-select": { - "version": "1.7.1", - "resolved": "https://registry.npmjs.org/datatables.net-select/-/datatables.net-select-1.7.1.tgz", - "integrity": "sha512-yC+GoBDVsnbaFTYKmZ2v5Bftc66zSZCYHbPYZb/ccdvxytEEudjc9R3wn6fgkOrVx3C2X/8keQc4a7EJvdOErg==", - "dependencies": { - "datatables.net": "^1.13.0", + "datatables.net-select": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/datatables.net-select/-/datatables.net-select-1.4.0.tgz", + "integrity": "sha512-CWEIpODzKXupZOx5KdPUnX5pDPO0xLrCxezE1MNktolFSz0duMw1w3ae25cEynP+w8wkaXbRfCiyGeBXx1YIvw==", + "requires": { + "datatables.net": ">=1.11.3", "jquery": ">=1.7" } }, - "node_modules/datatables.net-select-bs4": { - "version": "1.7.1", - "resolved": "https://registry.npmjs.org/datatables.net-select-bs4/-/datatables.net-select-bs4-1.7.1.tgz", - "integrity": "sha512-iHG4C8RdJIpsGIGDCXofUflHN1fa2N0E83MZPuqQXh1ZBkeJzd700rnru2mJXbvFc+wM9vf0Xxr6C5YsYFprgA==", - "dependencies": { - "datatables.net-bs4": "^1.13.0", - "datatables.net-select": "1.7.1", + "datatables.net-select-bs4": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/datatables.net-select-bs4/-/datatables.net-select-bs4-1.4.0.tgz", + "integrity": "sha512-5DWRyKo+YwX+J8CHbvexbipam/7tqZXp0R/1Ayrk7e1YP3jPE0X0XybguxBspifgjD49uu3fDLYyjKFVwpif9Q==", + "requires": { + "datatables.net-bs4": ">=1.11.3", + "datatables.net-select": ">=1.3.3", "jquery": ">=1.7" } }, - "node_modules/dayjs": { - "version": "1.11.12", - "resolved": "https://registry.npmjs.org/dayjs/-/dayjs-1.11.12.tgz", - "integrity": "sha512-Rt2g+nTbLlDWZTwwrIXjy9MeiZmSDI375FvZs72ngxx8PDC6YXOeR3q5LAuPzjZQxhiWdRKac7RKV+YyQYfYIg==", + "dayjs": { + "version": "1.11.13", + "resolved": "https://registry.npmjs.org/dayjs/-/dayjs-1.11.13.tgz", + "integrity": "sha512-oaMBel6gjolK862uaPQOVTA7q3TZhuSvuMQAAglQDOWYO9A91IrAOUJEyKVlqJlHE0vq5p5UXxzdPfMH/x6xNg==", "dev": true }, - "node_modules/debug": { + "debug": { "version": "4.3.6", "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.6.tgz", "integrity": "sha512-O/09Bd4Z1fBrU4VzkhFqVgpPzaGbw6Sm9FEkBT1A/YBXQFGuuSxa1dN2nxgxS34JmKXqYx8CZAwEVoJFImUXIg==", "dev": true, - "dependencies": { + "requires": { "ms": "2.1.2" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } } }, - "node_modules/decamelize": { + "decamelize": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", - "integrity": "sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==", - "engines": { - "node": ">=0.10.0" - } + "integrity": "sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==" }, - "node_modules/deep-is": { + "deep-is": { "version": "0.1.4", "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==", "dev": true }, - "node_modules/define-data-property": { + "define-data-property": { "version": "1.1.4", "resolved": "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.4.tgz", "integrity": "sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==", - "dependencies": { + "requires": { "es-define-property": "^1.0.0", "es-errors": "^1.3.0", "gopd": "^1.0.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/define-properties": { + "define-properties": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.2.1.tgz", "integrity": "sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==", - "dependencies": { + "requires": { "define-data-property": "^1.0.1", "has-property-descriptors": "^1.0.0", "object-keys": "^1.1.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/del": { + "del": { "version": "4.1.1", "resolved": "https://registry.npmjs.org/del/-/del-4.1.1.tgz", "integrity": "sha512-QwGuEUouP2kVwQenAsOof5Fv8K9t3D8Ca8NxcXKrIpEHjTXK5J2nXLdP+ALI1cgv8wj7KuwBhTwBkOZSJKM5XQ==", "dev": true, - "dependencies": { + "requires": { "@types/glob": "^7.1.1", "globby": "^6.1.0", "is-path-cwd": "^2.0.0", @@ -4169,197 +2943,169 @@ "pify": "^4.0.1", "rimraf": "^2.6.3" }, - "engines": { - "node": ">=6" + "dependencies": { + "rimraf": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", + "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", + "dev": true, + "requires": { + "glob": "^7.1.3" + } + } } }, - "node_modules/delayed-stream": { + "delayed-stream": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==", - "dev": true, - "engines": { - "node": ">=0.4.0" - } + "dev": true }, - "node_modules/desandro-matches-selector": { + "desandro-matches-selector": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/desandro-matches-selector/-/desandro-matches-selector-2.0.2.tgz", "integrity": "sha512-+1q0nXhdzg1IpIJdMKalUwvvskeKnYyEe3shPRwedNcWtnhEKT3ZxvFjzywHDeGcKViIxTCAoOYQWP1qD7VNyg==" }, - "node_modules/dom-to-image": { + "dom-to-image": { "version": "2.6.0", "resolved": "https://registry.npmjs.org/dom-to-image/-/dom-to-image-2.6.0.tgz", "integrity": "sha512-Dt0QdaHmLpjURjU7Tnu3AgYSF2LuOmksSGsUcE6ItvJoCWTBEmiMXcqBdNSAm9+QbbwD7JMoVsuuKX6ZVQv1qA==" }, - "node_modules/ecc-jsbn": { + "ecc-jsbn": { "version": "0.1.2", "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz", "integrity": "sha512-eh9O+hwRHNbG4BLTjEl3nw044CkGm5X6LoaCf7LPp7UU8Qrt47JYNi6nPX8xjW97TKGKm1ouctg0QSpZe9qrnw==", "dev": true, - "dependencies": { + "requires": { "jsbn": "~0.1.0", "safer-buffer": "^2.1.0" } }, - "node_modules/ekko-lightbox": { + "ekko-lightbox": { "version": "5.3.0", "resolved": "https://registry.npmjs.org/ekko-lightbox/-/ekko-lightbox-5.3.0.tgz", "integrity": "sha512-mbacwySuVD3Ad6F2hTkjSTvJt59bcVv2l/TmBerp4xZnLak8tPtA4AScUn4DL42c1ksTiAO6sGhJZ52P/1Qgew==" }, - "node_modules/electron-to-chromium": { - "version": "1.5.4", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.4.tgz", - "integrity": "sha512-orzA81VqLyIGUEA77YkVA1D+N+nNfl2isJVjjmOyrlxuooZ19ynb+dOlaDTqd/idKRS9lDCSBmtzM+kyCsMnkA==", + "electron-to-chromium": { + "version": "1.5.13", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.13.tgz", + "integrity": "sha512-lbBcvtIJ4J6sS4tb5TLp1b4LyfCdMkwStzXPyAgVgTRAsep4bvrAGaBOP7ZJtQMNJpSQ9SqG4brWOroNaQtm7Q==", "dev": true }, - "node_modules/emoji-regex": { + "emoji-regex": { "version": "8.0.0", "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", "dev": true }, - "node_modules/emojis-list": { + "emojis-list": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-3.0.0.tgz", "integrity": "sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==", - "dev": true, - "engines": { - "node": ">= 4" - } + "dev": true }, - "node_modules/end-of-stream": { + "end-of-stream": { "version": "1.4.4", "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==", "dev": true, - "dependencies": { + "requires": { "once": "^1.4.0" } }, - "node_modules/enhanced-resolve": { + "enhanced-resolve": { "version": "5.17.1", "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.17.1.tgz", "integrity": "sha512-LMHl3dXhTcfv8gM4kEzIUeTQ+7fpdA0l2tUf34BddXPkz2A5xJ5L/Pchd5BL6rdccM9QGvu0sWZzK1Z1t4wwyg==", "dev": true, - "dependencies": { + "requires": { "graceful-fs": "^4.2.4", "tapable": "^2.2.0" - }, - "engines": { - "node": ">=10.13.0" } }, - "node_modules/enquirer": { + "enquirer": { "version": "2.4.1", "resolved": "https://registry.npmjs.org/enquirer/-/enquirer-2.4.1.tgz", "integrity": "sha512-rRqJg/6gd538VHvR3PSrdRBb/1Vy2YfzHqzvbhGIQpDRKIa4FgV/54b5Q1xYSxOOwKvjXweS26E0Q+nAMwp2pQ==", "dev": true, - "dependencies": { + "requires": { "ansi-colors": "^4.1.1", "strip-ansi": "^6.0.1" - }, - "engines": { - "node": ">=8.6" } }, - "node_modules/env-paths": { + "env-paths": { "version": "2.2.1", "resolved": "https://registry.npmjs.org/env-paths/-/env-paths-2.2.1.tgz", "integrity": "sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A==", - "dev": true, - "engines": { - "node": ">=6" - } + "dev": true }, - "node_modules/envinfo": { + "envinfo": { "version": "7.13.0", "resolved": "https://registry.npmjs.org/envinfo/-/envinfo-7.13.0.tgz", "integrity": "sha512-cvcaMr7KqXVh4nyzGTVqTum+gAiL265x5jUWQIDLq//zOGbW+gSW/C+OWLleY/rs9Qole6AZLMXPbtIFQbqu+Q==", - "dev": true, - "bin": { - "envinfo": "dist/cli.js" - }, - "engines": { - "node": ">=4" - } + "dev": true }, - "node_modules/errno": { + "errno": { "version": "0.1.8", "resolved": "https://registry.npmjs.org/errno/-/errno-0.1.8.tgz", "integrity": "sha512-dJ6oBr5SQ1VSd9qkk7ByRgb/1SH4JZjCHSW/mr63/QcXO9zLVxvJ6Oy13nio03rxpSnVDDjFor75SjVeZWPW/A==", "dev": true, "optional": true, - "dependencies": { + "requires": { "prr": "~1.0.1" - }, - "bin": { - "errno": "cli.js" } }, - "node_modules/error-ex": { + "error-ex": { "version": "1.3.2", "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", "dev": true, - "dependencies": { + "requires": { "is-arrayish": "^0.2.1" } }, - "node_modules/es-define-property": { + "es-define-property": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.0.tgz", "integrity": "sha512-jxayLKShrEqqzJ0eumQbVhTYQM27CfT1T35+gCgDFoL82JLsXqTJ76zv6A0YLOgEnLUMvLzsDsGIrl8NFpT2gQ==", - "dependencies": { + "requires": { "get-intrinsic": "^1.2.4" - }, - "engines": { - "node": ">= 0.4" } }, - "node_modules/es-errors": { + "es-errors": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz", - "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==", - "engines": { - "node": ">= 0.4" - } + "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==" }, - "node_modules/es-module-lexer": { + "es-module-lexer": { "version": "1.5.4", "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-1.5.4.tgz", "integrity": "sha512-MVNK56NiMrOwitFB7cqDwq0CQutbw+0BvLshJSse0MUNU+y1FC3bUS/AQg7oUng+/wKrrki7JfmwtVHkVfPLlw==", "dev": true }, - "node_modules/escalade": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.2.tgz", - "integrity": "sha512-ErCHMCae19vR8vQGe50xIsVomy19rg6gFu3+r3jkEO46suLMWBksvVyoGgQV+jOfl84ZSOSlmv6Gxa89PmTGmA==", - "dev": true, - "engines": { - "node": ">=6" - } + "escalade": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.2.0.tgz", + "integrity": "sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==", + "dev": true }, - "node_modules/escape-string-regexp": { + "escape-string-regexp": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", - "dev": true, - "engines": { - "node": ">=0.8.0" - } + "dev": true }, - "node_modules/eslint": { - "version": "9.8.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-9.8.0.tgz", - "integrity": "sha512-K8qnZ/QJzT2dLKdZJVX6W4XOwBzutMYmt0lqUS+JdXgd+HTYFlonFgkJ8s44d/zMPPCnOOk0kMWCApCPhiOy9A==", + "eslint": { + "version": "9.9.1", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-9.9.1.tgz", + "integrity": "sha512-dHvhrbfr4xFQ9/dq+jcVneZMyRYLjggWjk6RVsIiHsP8Rz6yZ8LvZ//iU4TrZF+SXWG+JkNF2OyiZRvzgRDqMg==", "dev": true, - "dependencies": { + "requires": { "@eslint-community/eslint-utils": "^4.2.0", "@eslint-community/regexpp": "^4.11.0", - "@eslint/config-array": "^0.17.1", + "@eslint/config-array": "^0.18.0", "@eslint/eslintrc": "^3.1.0", - "@eslint/js": "9.8.0", + "@eslint/js": "9.9.1", "@humanwhocodes/module-importer": "^1.0.1", "@humanwhocodes/retry": "^0.3.0", "@nodelib/fs.walk": "^1.2.8", @@ -4390,330 +3136,199 @@ "strip-ansi": "^6.0.1", "text-table": "^0.2.0" }, - "bin": { - "eslint": "bin/eslint.js" - }, - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, - "funding": { - "url": "https://eslint.org/donate" + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "escape-string-regexp": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", + "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", + "dev": true + }, + "find-up": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", + "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", + "dev": true, + "requires": { + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" + } + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, + "is-path-inside": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz", + "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==", + "dev": true + }, + "locate-path": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", + "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", + "dev": true, + "requires": { + "p-locate": "^5.0.0" + } + }, + "p-limit": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", + "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", + "dev": true, + "requires": { + "yocto-queue": "^0.1.0" + } + }, + "p-locate": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", + "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", + "dev": true, + "requires": { + "p-limit": "^3.0.2" + } + }, + "path-exists": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", + "dev": true + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + }, + "yocto-queue": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", + "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", + "dev": true + } } }, - "node_modules/eslint-config-google": { + "eslint-config-google": { "version": "0.14.0", "resolved": "https://registry.npmjs.org/eslint-config-google/-/eslint-config-google-0.14.0.tgz", "integrity": "sha512-WsbX4WbjuMvTdeVL6+J3rK1RGhCTqjsFjX7UMSMgZiyxxaNLkoJENbrGExzERFeoTpGw3F3FypTiWAP9ZXzkEw==", - "dev": true, - "engines": { - "node": ">=0.10.0" - }, - "peerDependencies": { - "eslint": ">=5.16.0" - } + "dev": true }, - "node_modules/eslint-scope": { + "eslint-scope": { "version": "8.0.2", "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-8.0.2.tgz", "integrity": "sha512-6E4xmrTw5wtxnLA5wYL3WDfhZ/1bUBGOXV0zQvVRDOtrR8D0p6W7fs3JweNYhwRYeGvd/1CKX2se0/2s7Q/nJA==", "dev": true, - "dependencies": { + "requires": { "esrecurse": "^4.3.0", "estraverse": "^5.2.0" - }, - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" } }, - "node_modules/eslint-visitor-keys": { + "eslint-visitor-keys": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-4.0.0.tgz", "integrity": "sha512-OtIRv/2GyiF6o/d8K7MYKKbXrOUBIK6SfkIRM4Z0dY3w+LiQ0vy3F57m0Z71bjbyeiWFiHJ8brqnmE6H6/jEuw==", - "dev": true, - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/eslint/node_modules/ajv": { - "version": "6.12.6", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", - "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", - "dev": true, - "dependencies": { - "fast-deep-equal": "^3.1.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" - } - }, - "node_modules/eslint/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/eslint/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/eslint/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/eslint/node_modules/escape-string-regexp": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", - "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", - "dev": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/eslint/node_modules/find-up": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", - "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", - "dev": true, - "dependencies": { - "locate-path": "^6.0.0", - "path-exists": "^4.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/eslint/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/eslint/node_modules/is-path-inside": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz", - "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/eslint/node_modules/json-schema-traverse": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", - "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", "dev": true }, - "node_modules/eslint/node_modules/locate-path": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", - "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", - "dev": true, - "dependencies": { - "p-locate": "^5.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/eslint/node_modules/p-limit": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", - "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", - "dev": true, - "dependencies": { - "yocto-queue": "^0.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/eslint/node_modules/p-locate": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", - "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", - "dev": true, - "dependencies": { - "p-limit": "^3.0.2" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/eslint/node_modules/path-exists": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", - "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/eslint/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/eslint/node_modules/yocto-queue": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", - "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", - "dev": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/espree": { + "espree": { "version": "10.1.0", "resolved": "https://registry.npmjs.org/espree/-/espree-10.1.0.tgz", "integrity": "sha512-M1M6CpiE6ffoigIOWYO9UDP8TMUw9kqb21tf+08IgDYjCsOvCuDt4jQcZmoYxx+w7zlKw9/N0KXfto+I8/FrXA==", "dev": true, - "dependencies": { + "requires": { "acorn": "^8.12.0", "acorn-jsx": "^5.3.2", "eslint-visitor-keys": "^4.0.0" - }, - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" } }, - "node_modules/esquery": { + "esquery": { "version": "1.6.0", "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.6.0.tgz", "integrity": "sha512-ca9pw9fomFcKPvFLXhBKUK90ZvGibiGOvRJNbjljY7s7uq/5YO4BOzcYtJqExdx99rF6aAcnRxHmcUHcz6sQsg==", "dev": true, - "dependencies": { + "requires": { "estraverse": "^5.1.0" - }, - "engines": { - "node": ">=0.10" } }, - "node_modules/esrecurse": { + "esrecurse": { "version": "4.3.0", "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", "dev": true, - "dependencies": { + "requires": { "estraverse": "^5.2.0" - }, - "engines": { - "node": ">=4.0" } }, - "node_modules/estraverse": { + "estraverse": { "version": "5.3.0", "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", - "dev": true, - "engines": { - "node": ">=4.0" - } + "dev": true }, - "node_modules/esutils": { + "esutils": { "version": "2.0.3", "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } + "dev": true }, - "node_modules/ev-emitter": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ev-emitter/-/ev-emitter-2.1.2.tgz", - "integrity": "sha512-jQ5Ql18hdCQ4qS+RCrbLfz1n+Pags27q5TwMKvZyhp5hh2UULUYZUy1keqj6k6SYsdqIYjnmz7xyyEY0V67B8Q==" + "ev-emitter": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/ev-emitter/-/ev-emitter-1.1.1.tgz", + "integrity": "sha512-ipiDYhdQSCZ4hSbX4rMW+XzNKMD1prg/sTvoVmSLkuQ1MVlwjJQQA+sW8tMYR3BLUr9KjodFV4pvzunvRhd33Q==" }, - "node_modules/eventemitter2": { + "eventemitter2": { "version": "6.4.7", "resolved": "https://registry.npmjs.org/eventemitter2/-/eventemitter2-6.4.7.tgz", "integrity": "sha512-tYUSVOGeQPKt/eC1ABfhHy5Xd96N3oIijJvN3O9+TsC28T5V9yX9oEfEK5faP0EFSNVOG97qtAS68GBrQB2hDg==", "dev": true }, - "node_modules/events": { + "events": { "version": "3.3.0", "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz", "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==", - "dev": true, - "engines": { - "node": ">=0.8.x" - } + "dev": true }, - "node_modules/execa": { + "execa": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/execa/-/execa-4.1.0.tgz", "integrity": "sha512-j5W0//W7f8UxAn8hXVnwG8tLwdiUy4FJLcSupCg6maBYZDpyBvTApK7KyuI4bKj8KOh1r2YH+6ucuYtJv1bTZA==", "dev": true, - "dependencies": { + "requires": { "cross-spawn": "^7.0.0", "get-stream": "^5.0.0", "human-signals": "^1.1.1", @@ -4723,1713 +3338,1242 @@ "onetime": "^5.1.0", "signal-exit": "^3.0.2", "strip-final-newline": "^2.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sindresorhus/execa?sponsor=1" } }, - "node_modules/executable": { + "executable": { "version": "4.1.1", "resolved": "https://registry.npmjs.org/executable/-/executable-4.1.1.tgz", "integrity": "sha512-8iA79xD3uAch729dUG8xaaBBFGaEa0wdD2VkYLFHwlqosEj/jT66AzcreRDSgV7ehnNLBW2WR5jIXwGKjVdTLg==", "dev": true, - "dependencies": { + "requires": { "pify": "^2.2.0" }, - "engines": { - "node": ">=4" - } - }, - "node_modules/executable/node_modules/pify": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", - "integrity": "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==", - "dev": true, - "engines": { - "node": ">=0.10.0" + "dependencies": { + "pify": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==", + "dev": true + } } }, - "node_modules/extend": { + "extend": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==", "dev": true }, - "node_modules/extract-zip": { + "extract-zip": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/extract-zip/-/extract-zip-2.0.1.tgz", "integrity": "sha512-GDhU9ntwuKyGXdZBUgTIe+vXnWj0fppUEtMDL0+idd5Sta8TGpHssn/eusA9mrPr9qNDym6SxAYZjNvCn/9RBg==", "dev": true, - "dependencies": { + "requires": { + "@types/yauzl": "^2.9.1", "debug": "^4.1.1", "get-stream": "^5.1.0", "yauzl": "^2.10.0" - }, - "bin": { - "extract-zip": "cli.js" - }, - "engines": { - "node": ">= 10.17.0" - }, - "optionalDependencies": { - "@types/yauzl": "^2.9.1" } }, - "node_modules/extsprintf": { + "extsprintf": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz", "integrity": "sha512-11Ndz7Nv+mvAC1j0ktTa7fAb0vLyGGX+rMHNBYQviQDGU0Hw7lhctJANqbPhu9nV9/izT/IntTgZ7Im/9LJs9g==", - "dev": true, - "engines": [ - "node >=0.6.0" - ] + "dev": true }, - "node_modules/fast-deep-equal": { + "fast-deep-equal": { "version": "3.1.3", "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", "dev": true }, - "node_modules/fast-glob": { + "fast-glob": { "version": "3.3.2", "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.2.tgz", "integrity": "sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==", "dev": true, - "dependencies": { + "requires": { "@nodelib/fs.stat": "^2.0.2", "@nodelib/fs.walk": "^1.2.3", "glob-parent": "^5.1.2", "merge2": "^1.3.0", "micromatch": "^4.0.4" }, - "engines": { - "node": ">=8.6.0" - } - }, - "node_modules/fast-glob/node_modules/glob-parent": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", - "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", - "dev": true, "dependencies": { - "is-glob": "^4.0.1" - }, - "engines": { - "node": ">= 6" + "glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dev": true, + "requires": { + "is-glob": "^4.0.1" + } + } } }, - "node_modules/fast-json-stable-stringify": { + "fast-json-stable-stringify": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", "dev": true }, - "node_modules/fast-levenshtein": { + "fast-levenshtein": { "version": "2.0.6", "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==", "dev": true }, - "node_modules/fast-uri": { + "fast-uri": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/fast-uri/-/fast-uri-3.0.1.tgz", "integrity": "sha512-MWipKbbYiYI0UC7cl8m/i/IWTqfC8YXsqjzybjddLsFjStroQzsHXkc73JutMvBiXmOvapk+axIl79ig5t55Bw==", "dev": true }, - "node_modules/fastest-levenshtein": { + "fastest-levenshtein": { "version": "1.0.16", "resolved": "https://registry.npmjs.org/fastest-levenshtein/-/fastest-levenshtein-1.0.16.tgz", "integrity": "sha512-eRnCtTTtGZFpQCwhJiUOuxPQWRXVKYDn0b2PeHfXL6/Zi53SLAzAHfVhVWK2AryC/WH05kGfxhFIPvTF0SXQzg==", - "dev": true, - "engines": { - "node": ">= 4.9.1" - } + "dev": true }, - "node_modules/fastparse": { + "fastparse": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/fastparse/-/fastparse-1.1.2.tgz", "integrity": "sha512-483XLLxTVIwWK3QTrMGRqUfUpoOs/0hbQrl2oz4J0pAcm3A3bu84wxTFqGqkJzewCLdME38xJLJAxBABfQT8sQ==", "dev": true }, - "node_modules/fastq": { + "fastq": { "version": "1.17.1", "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.17.1.tgz", "integrity": "sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==", "dev": true, - "dependencies": { + "requires": { "reusify": "^1.0.4" } }, - "node_modules/fd-slicer": { + "fd-slicer": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/fd-slicer/-/fd-slicer-1.1.0.tgz", "integrity": "sha512-cE1qsB/VwyQozZ+q1dGxR8LBYNZeofhEdUNGSMbQD3Gw2lAzX9Zb3uIU6Ebc/Fmyjo9AWWfnn0AUCHqtevs/8g==", "dev": true, - "dependencies": { + "requires": { "pend": "~1.2.0" } }, - "node_modules/figures": { + "figures": { "version": "3.2.0", "resolved": "https://registry.npmjs.org/figures/-/figures-3.2.0.tgz", "integrity": "sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==", "dev": true, - "dependencies": { + "requires": { "escape-string-regexp": "^1.0.5" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/file-entry-cache": { + "file-entry-cache": { "version": "8.0.0", "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-8.0.0.tgz", "integrity": "sha512-XXTUwCvisa5oacNGRP9SfNtYBNAMi+RPwBFmblZEF7N7swHYQS6/Zfk7SRwx4D5j3CH211YNRco1DEMNVfZCnQ==", "dev": true, - "dependencies": { + "requires": { "flat-cache": "^4.0.0" - }, - "engines": { - "node": ">=16.0.0" } }, - "node_modules/file-loader": { + "file-loader": { "version": "6.2.0", "resolved": "https://registry.npmjs.org/file-loader/-/file-loader-6.2.0.tgz", "integrity": "sha512-qo3glqyTa61Ytg4u73GultjHGjdRyig3tG6lPtyX/jOEJvHif9uB0/OCI2Kif6ctF3caQTW2G5gym21oAsI4pw==", "dev": true, - "dependencies": { + "requires": { "loader-utils": "^2.0.0", "schema-utils": "^3.0.0" }, - "engines": { - "node": ">= 10.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependencies": { - "webpack": "^4.0.0 || ^5.0.0" - } - }, - "node_modules/file-loader/node_modules/ajv": { - "version": "6.12.6", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", - "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", - "dev": true, - "dependencies": { - "fast-deep-equal": "^3.1.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" - } - }, - "node_modules/file-loader/node_modules/ajv-keywords": { - "version": "3.5.2", - "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", - "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", - "dev": true, - "peerDependencies": { - "ajv": "^6.9.1" - } - }, - "node_modules/file-loader/node_modules/json-schema-traverse": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", - "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", - "dev": true - }, - "node_modules/file-loader/node_modules/schema-utils": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.3.0.tgz", - "integrity": "sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==", - "dev": true, "dependencies": { - "@types/json-schema": "^7.0.8", - "ajv": "^6.12.5", - "ajv-keywords": "^3.5.2" - }, - "engines": { - "node": ">= 10.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" + "ajv-keywords": { + "version": "3.5.2", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", + "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", + "dev": true + }, + "schema-utils": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.3.0.tgz", + "integrity": "sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==", + "dev": true, + "requires": { + "@types/json-schema": "^7.0.8", + "ajv": "^6.12.5", + "ajv-keywords": "^3.5.2" + } + } } }, - "node_modules/file-saver": { + "file-saver": { "version": "1.3.8", "resolved": "https://registry.npmjs.org/file-saver/-/file-saver-1.3.8.tgz", "integrity": "sha512-spKHSBQIxxS81N/O21WmuXA2F6wppUCsutpzenOeZzOCCJ5gEfcbqJP983IrpLXzYmXnMUa6J03SubcNPdKrlg==" }, - "node_modules/fill-range": { + "fill-range": { "version": "7.1.1", "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz", "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==", "dev": true, - "dependencies": { + "requires": { "to-regex-range": "^5.0.1" - }, - "engines": { - "node": ">=8" } }, - "node_modules/find-cache-dir": { + "find-cache-dir": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-4.0.0.tgz", "integrity": "sha512-9ZonPT4ZAK4a+1pUPVPZJapbi7O5qbbJPdYw/NOQWZZbVLdDTYM3A4R9z/DpAM08IDaFGsvPgiGZ82WEwUDWjg==", "dev": true, - "dependencies": { + "requires": { "common-path-prefix": "^3.0.0", "pkg-dir": "^7.0.0" - }, - "engines": { - "node": ">=14.16" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/find-up": { + "find-up": { "version": "6.3.0", "resolved": "https://registry.npmjs.org/find-up/-/find-up-6.3.0.tgz", "integrity": "sha512-v2ZsoEuVHYy8ZIlYqwPe/39Cy+cFDzp4dXPaxNvkEuouymu+2Jbz0PxpKarJHYJTmv2HWT3O382qY8l4jMWthw==", "dev": true, - "dependencies": { + "requires": { "locate-path": "^7.1.0", "path-exists": "^5.0.0" - }, - "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/fizzy-ui-utils": { + "fizzy-ui-utils": { "version": "2.0.7", "resolved": "https://registry.npmjs.org/fizzy-ui-utils/-/fizzy-ui-utils-2.0.7.tgz", "integrity": "sha512-CZXDVXQ1If3/r8s0T+v+qVeMshhfcuq0rqIFgJnrtd+Bu8GmDmqMjntjUePypVtjHXKJ6V4sw9zeyox34n9aCg==", - "dependencies": { + "requires": { "desandro-matches-selector": "^2.0.0" } }, - "node_modules/flat": { + "flat": { "version": "5.0.2", "resolved": "https://registry.npmjs.org/flat/-/flat-5.0.2.tgz", "integrity": "sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ==", - "dev": true, - "bin": { - "flat": "cli.js" - } + "dev": true }, - "node_modules/flat-cache": { + "flat-cache": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-4.0.1.tgz", "integrity": "sha512-f7ccFPK3SXFHpx15UIGyRJ/FJQctuKZ0zVuN3frBo4HnK3cay9VEW0R6yPYFHC0AgqhukPzKjq22t5DmAyqGyw==", "dev": true, - "dependencies": { + "requires": { "flatted": "^3.2.9", "keyv": "^4.5.4" - }, - "engines": { - "node": ">=16" } }, - "node_modules/flatpickr": { + "flatpickr": { "version": "4.6.13", "resolved": "https://registry.npmjs.org/flatpickr/-/flatpickr-4.6.13.tgz", "integrity": "sha512-97PMG/aywoYpB4IvbvUJi0RQi8vearvU0oov1WW3k0WZPBMrTQVqekSX5CjSG/M4Q3i6A/0FKXC7RyAoAUUSPw==" }, - "node_modules/flatted": { + "flatted": { "version": "3.3.1", "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.3.1.tgz", "integrity": "sha512-X8cqMLLie7KsNUDSdzeN8FYK9rEt4Dt67OsG/DNGnYTSDBG4uFAJFBnUeiV+zCVAvwFy56IjM9sH51jVaEhNxw==", "dev": true }, - "node_modules/font-awesome": { + "font-awesome": { "version": "4.7.0", "resolved": "https://registry.npmjs.org/font-awesome/-/font-awesome-4.7.0.tgz", - "integrity": "sha512-U6kGnykA/6bFmg1M/oT9EkFeIYv7JlX3bozwQJWiiLz6L0w3F5vBVPxHlwyX/vtNq1ckcpRKOB9f2Qal/VtFpg==", - "engines": { - "node": ">=0.10.3" - } + "integrity": "sha512-U6kGnykA/6bFmg1M/oT9EkFeIYv7JlX3bozwQJWiiLz6L0w3F5vBVPxHlwyX/vtNq1ckcpRKOB9f2Qal/VtFpg==" }, - "node_modules/forever-agent": { + "forever-agent": { "version": "0.6.1", "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", "integrity": "sha512-j0KLYPhm6zeac4lz3oJ3o65qvgQCcPubiyotZrXqEaG4hNagNYO8qdlUrX5vwqv9ohqeT/Z3j6+yW067yWWdUw==", - "dev": true, - "engines": { - "node": "*" - } + "dev": true }, - "node_modules/form-data": { + "form-data": { "version": "2.3.3", "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz", "integrity": "sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==", "dev": true, - "dependencies": { + "requires": { "asynckit": "^0.4.0", "combined-stream": "^1.0.6", "mime-types": "^2.1.12" - }, - "engines": { - "node": ">= 0.12" } }, - "node_modules/form-serializer": { + "form-serializer": { "version": "2.5.0", "resolved": "https://registry.npmjs.org/form-serializer/-/form-serializer-2.5.0.tgz", "integrity": "sha512-/ywBrSMOWrbpVYJFuin0OuOnqTas7gER1Eimi43D1iqQvNF6z1vY8KcWkC/YGt8zPE9k8KmyDVwIth6e5C1nxg==" }, - "node_modules/fraction.js": { + "fraction.js": { "version": "4.3.7", "resolved": "https://registry.npmjs.org/fraction.js/-/fraction.js-4.3.7.tgz", "integrity": "sha512-ZsDfxO51wGAXREY55a7la9LScWpwv9RxIrYABrlvOFBlH/ShPnrtsXeuUIfXKKOVicNxQ+o8JTbJvjS4M89yew==", - "dev": true, - "engines": { - "node": "*" - }, - "funding": { - "type": "patreon", - "url": "https://github.com/sponsors/rawify" - } + "dev": true }, - "node_modules/framework-utils": { + "framework-utils": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/framework-utils/-/framework-utils-1.1.0.tgz", "integrity": "sha512-KAfqli5PwpFJ8o3psRNs8svpMGyCSAe8nmGcjQ0zZBWN2H6dZDnq+ABp3N3hdUmFeMrLtjOCTXD4yplUJIWceg==" }, - "node_modules/fs-extra": { + "fs-extra": { "version": "9.1.0", "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz", "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==", "dev": true, - "dependencies": { + "requires": { "at-least-node": "^1.0.0", "graceful-fs": "^4.2.0", "jsonfile": "^6.0.1", "universalify": "^2.0.0" }, - "engines": { - "node": ">=10" - } - }, - "node_modules/fs-extra/node_modules/universalify": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.1.tgz", - "integrity": "sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==", - "dev": true, - "engines": { - "node": ">= 10.0.0" + "dependencies": { + "universalify": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.1.tgz", + "integrity": "sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==", + "dev": true + } } }, - "node_modules/fs.realpath": { + "fs.realpath": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==" }, - "node_modules/fsevents": { + "fsevents": { "version": "2.3.3", "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", "dev": true, - "hasInstallScript": true, - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": "^8.16.0 || ^10.6.0 || >=11.0.0" - } + "optional": true }, - "node_modules/function-bind": { + "function-bind": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", - "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", - "funding": { - "url": "https://github.com/sponsors/ljharb" - } + "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==" }, - "node_modules/gensync": { + "gensync": { "version": "1.0.0-beta.2", "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", - "dev": true, - "engines": { - "node": ">=6.9.0" - } + "dev": true }, - "node_modules/geojson-utils": { + "geojson-utils": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/geojson-utils/-/geojson-utils-1.1.0.tgz", "integrity": "sha512-9irmjugYFrMvGjMw+qW5BQpghJO4ClFMDdPzVe2oDgtH2DhoKMaXqjIYPS5VpfrcnV0kOSrXcj8D9Izmr0AM9Q==" }, - "node_modules/gesto": { + "gesto": { "version": "1.19.4", "resolved": "https://registry.npmjs.org/gesto/-/gesto-1.19.4.tgz", "integrity": "sha512-hfr/0dWwh0Bnbb88s3QVJd1ZRJeOWcgHPPwmiH6NnafDYvhTsxg+SLYu+q/oPNh9JS3V+nlr6fNs8kvPAtcRDQ==", - "dependencies": { + "requires": { "@daybrush/utils": "^1.13.0", "@scena/event-emitter": "^1.0.2" } }, - "node_modules/get-intrinsic": { + "get-intrinsic": { "version": "1.2.4", "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.4.tgz", "integrity": "sha512-5uYhsJH8VJBTv7oslg4BznJYhDoRI6waYCxMmCdnTrcCrHA/fCFKoTFz2JKKE0HdDFUF7/oQuhzumXJK7paBRQ==", - "dependencies": { + "requires": { "es-errors": "^1.3.0", "function-bind": "^1.1.2", "has-proto": "^1.0.1", "has-symbols": "^1.0.3", "hasown": "^2.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/get-size": { + "get-size": { "version": "2.0.3", "resolved": "https://registry.npmjs.org/get-size/-/get-size-2.0.3.tgz", "integrity": "sha512-lXNzT/h/dTjTxRbm9BXb+SGxxzkm97h/PCIKtlN/CBCxxmkkIVV21udumMS93MuVTDX583gqc94v3RjuHmI+2Q==" }, - "node_modules/get-stream": { + "get-stream": { "version": "5.2.0", "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz", "integrity": "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==", "dev": true, - "dependencies": { + "requires": { "pump": "^3.0.0" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/getos": { + "getos": { "version": "3.2.1", "resolved": "https://registry.npmjs.org/getos/-/getos-3.2.1.tgz", "integrity": "sha512-U56CfOK17OKgTVqozZjUKNdkfEv6jk5WISBJ8SHoagjE6L69zOwl3Z+O8myjY9MEW3i2HPWQBt/LTbCgcC973Q==", "dev": true, - "dependencies": { + "requires": { "async": "^3.2.0" + }, + "dependencies": { + "async": { + "version": "3.2.6", + "resolved": "https://registry.npmjs.org/async/-/async-3.2.6.tgz", + "integrity": "sha512-htCUDlxyyCLMgaM3xXg0C0LW2xqfuQ6p05pCEIsXuyQ+a1koYKTuBMzRNwmybfLgvJDMd0r1LTn4+E0Ti6C2AA==", + "dev": true + } } }, - "node_modules/getos/node_modules/async": { - "version": "3.2.5", - "resolved": "https://registry.npmjs.org/async/-/async-3.2.5.tgz", - "integrity": "sha512-baNZyqaaLhyLVKm/DlvdW051MSgO6b8eVfIezl9E5PqWxFgzLm/wQntEW4zOytVburDEr0JlALEpdOFwvErLsg==", - "dev": true - }, - "node_modules/getpass": { + "getpass": { "version": "0.1.7", "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", "integrity": "sha512-0fzj9JxOLfJ+XGLhR8ze3unN0KZCgZwiSSDz168VERjK8Wl8kVSdcu2kspd4s4wtAa1y/qrVRiAA0WclVsu0ng==", "dev": true, - "dependencies": { + "requires": { "assert-plus": "^1.0.0" } }, - "node_modules/glob": { + "glob": { "version": "7.2.3", "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", - "deprecated": "Glob versions prior to v9 are no longer supported", - "dependencies": { + "requires": { "fs.realpath": "^1.0.0", "inflight": "^1.0.4", "inherits": "2", "minimatch": "^3.1.1", "once": "^1.3.0", "path-is-absolute": "^1.0.0" - }, - "engines": { - "node": "*" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/glob-parent": { + "glob-parent": { "version": "6.0.2", "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", "dev": true, - "dependencies": { + "requires": { "is-glob": "^4.0.3" - }, - "engines": { - "node": ">=10.13.0" } }, - "node_modules/glob-to-regexp": { + "glob-to-regexp": { "version": "0.4.1", "resolved": "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz", "integrity": "sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==", "dev": true }, - "node_modules/global-dirs": { + "global-dirs": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/global-dirs/-/global-dirs-3.0.1.tgz", "integrity": "sha512-NBcGGFbBA9s1VzD41QXDG+3++t9Mn5t1FpLdhESY6oKY4gYTFpX4wO3sqGUa0Srjtbfj3szX0RnemmrVRUdULA==", "dev": true, - "dependencies": { + "requires": { "ini": "2.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/globals": { + "globals": { "version": "15.9.0", "resolved": "https://registry.npmjs.org/globals/-/globals-15.9.0.tgz", "integrity": "sha512-SmSKyLLKFbSr6rptvP8izbyxJL4ILwqO9Jg23UA0sDlGlu58V59D1//I3vlc0KJphVdUR7vMjHIplYnzBxorQA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } + "dev": true }, - "node_modules/globalthis": { + "globalthis": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/globalthis/-/globalthis-1.0.4.tgz", "integrity": "sha512-DpLKbNU4WylpxJykQujfCcwYWiV/Jhm50Goo0wrVILAv5jOr9d+H+UR3PhSCD2rCCEIg0uc+G+muBTwD54JhDQ==", - "dependencies": { + "requires": { "define-properties": "^1.2.1", "gopd": "^1.0.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/globby": { + "globby": { "version": "6.1.0", "resolved": "https://registry.npmjs.org/globby/-/globby-6.1.0.tgz", "integrity": "sha512-KVbFv2TQtbzCoxAnfD6JcHZTYCzyliEaaeM/gH8qQdkKr5s0OP9scEgvdcngyk7AVdY6YVW/TJHd+lQ/Df3Daw==", "dev": true, - "dependencies": { + "requires": { "array-union": "^1.0.1", "glob": "^7.0.3", "object-assign": "^4.0.1", "pify": "^2.0.0", "pinkie-promise": "^2.0.0" }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/globby/node_modules/pify": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", - "integrity": "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==", - "dev": true, - "engines": { - "node": ">=0.10.0" + "dependencies": { + "pify": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==", + "dev": true + } } }, - "node_modules/gopd": { + "gopd": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz", "integrity": "sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==", - "dependencies": { + "requires": { "get-intrinsic": "^1.1.3" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/graceful-fs": { + "graceful-fs": { "version": "4.2.11", "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==", "dev": true }, - "node_modules/handlebars": { + "handlebars": { "version": "4.7.8", "resolved": "https://registry.npmjs.org/handlebars/-/handlebars-4.7.8.tgz", "integrity": "sha512-vafaFqs8MZkRrSX7sFVUdo3ap/eNiLnb4IakshzvP56X5Nr1iGKAIqdX6tMlm6HcNRIkr6AxO5jFEoJzzpT8aQ==", - "dependencies": { + "requires": { "minimist": "^1.2.5", "neo-async": "^2.6.2", "source-map": "^0.6.1", + "uglify-js": "^3.1.4", "wordwrap": "^1.0.0" }, - "bin": { - "handlebars": "bin/handlebars" - }, - "engines": { - "node": ">=0.4.7" - }, - "optionalDependencies": { - "uglify-js": "^3.1.4" + "dependencies": { + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" + }, + "uglify-js": { + "version": "3.19.3", + "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.19.3.tgz", + "integrity": "sha512-v3Xu+yuwBXisp6QYTcH4UbH+xYJXqnq2m/LtQVWKWzYc1iehYnLixoQDN9FH6/j9/oybfd6W9Ghwkl8+UMKTKQ==", + "optional": true + }, + "wordwrap": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-1.0.0.tgz", + "integrity": "sha512-gvVzJFlPycKc5dZN4yPkP8w7Dc37BtP1yczEneOb4uq34pXZcvrtRTmWV8W+Ume+XCxKgbjM+nevkyFPMybd4Q==" + } } }, - "node_modules/handlebars-loader": { + "handlebars-loader": { "version": "1.7.3", "resolved": "https://registry.npmjs.org/handlebars-loader/-/handlebars-loader-1.7.3.tgz", "integrity": "sha512-dDb+8D51vE3OTSE2wuGPWRAegtsEuw8Mk8hCjtRu/pNcBfN5q+M8ZG3kVJxBuOeBrVElpFStipGmaxSBTRR1mQ==", "dev": true, - "dependencies": { + "requires": { "async": "^3.2.2", "fastparse": "^1.0.0", "loader-utils": "1.4.x", "object-assign": "^4.1.0" }, - "peerDependencies": { - "handlebars": ">= 1.3.0 < 5" - } - }, - "node_modules/handlebars-loader/node_modules/async": { - "version": "3.2.5", - "resolved": "https://registry.npmjs.org/async/-/async-3.2.5.tgz", - "integrity": "sha512-baNZyqaaLhyLVKm/DlvdW051MSgO6b8eVfIezl9E5PqWxFgzLm/wQntEW4zOytVburDEr0JlALEpdOFwvErLsg==", - "dev": true - }, - "node_modules/handlebars-loader/node_modules/json5": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.2.tgz", - "integrity": "sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==", - "dev": true, - "dependencies": { - "minimist": "^1.2.0" - }, - "bin": { - "json5": "lib/cli.js" - } - }, - "node_modules/handlebars-loader/node_modules/loader-utils": { - "version": "1.4.2", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.2.tgz", - "integrity": "sha512-I5d00Pd/jwMD2QCduo657+YM/6L3KZu++pmX9VFncxaxvHcru9jx1lBaFft+r4Mt2jK0Yhp41XlRAihzPxHNCg==", - "dev": true, "dependencies": { - "big.js": "^5.2.2", - "emojis-list": "^3.0.0", - "json5": "^1.0.1" - }, - "engines": { - "node": ">=4.0.0" - } - }, - "node_modules/handlebars/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/handlebars/node_modules/uglify-js": { - "version": "3.19.1", - "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.19.1.tgz", - "integrity": "sha512-y/2wiW+ceTYR2TSSptAhfnEtpLaQ4Ups5zrjB2d3kuVxHj16j/QJwPl5PvuGy9uARb39J0+iKxcRPvtpsx4A4A==", - "optional": true, - "bin": { - "uglifyjs": "bin/uglifyjs" - }, - "engines": { - "node": ">=0.8.0" + "async": { + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/async/-/async-3.2.4.tgz", + "integrity": "sha512-iAB+JbDEGXhyIUavoDl9WP/Jj106Kz9DEn1DPgYw5ruDn0e3Wgi3sKFm55sASdGBNOQB8F59d9qQ7deqrHA8wQ==", + "dev": true + }, + "json5": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.2.tgz", + "integrity": "sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==", + "dev": true, + "requires": { + "minimist": "^1.2.0" + } + }, + "loader-utils": { + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.2.tgz", + "integrity": "sha512-I5d00Pd/jwMD2QCduo657+YM/6L3KZu++pmX9VFncxaxvHcru9jx1lBaFft+r4Mt2jK0Yhp41XlRAihzPxHNCg==", + "dev": true, + "requires": { + "big.js": "^5.2.2", + "emojis-list": "^3.0.0", + "json5": "^1.0.1" + } + } } }, - "node_modules/handlebars/node_modules/wordwrap": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-1.0.0.tgz", - "integrity": "sha512-gvVzJFlPycKc5dZN4yPkP8w7Dc37BtP1yczEneOb4uq34pXZcvrtRTmWV8W+Ume+XCxKgbjM+nevkyFPMybd4Q==" - }, - "node_modules/has-flag": { + "has-flag": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", - "dev": true, - "engines": { - "node": ">=4" - } + "dev": true }, - "node_modules/has-property-descriptors": { + "has-property-descriptors": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.2.tgz", "integrity": "sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==", - "dependencies": { + "requires": { "es-define-property": "^1.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/has-proto": { + "has-proto": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.0.3.tgz", - "integrity": "sha512-SJ1amZAJUiZS+PhsVLf5tGydlaVB8EdFpaSO4gmiUKUOxk8qzn5AIy4ZeJUmh22znIdk/uMAUT2pl3FxzVUH+Q==", - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } + "integrity": "sha512-SJ1amZAJUiZS+PhsVLf5tGydlaVB8EdFpaSO4gmiUKUOxk8qzn5AIy4ZeJUmh22znIdk/uMAUT2pl3FxzVUH+Q==" }, - "node_modules/has-symbols": { + "has-symbols": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", - "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==", - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } + "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==" }, - "node_modules/hasown": { + "hasown": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz", "integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==", - "dependencies": { + "requires": { "function-bind": "^1.1.2" - }, - "engines": { - "node": ">= 0.4" } }, - "node_modules/hls.js": { - "version": "1.5.13", - "resolved": "https://registry.npmjs.org/hls.js/-/hls.js-1.5.13.tgz", - "integrity": "sha512-xRgKo84nsC7clEvSfIdgn/Tc0NOT+d7vdiL/wvkLO+0k0juc26NRBPPG1SfB8pd5bHXIjMW/F5VM8VYYkOYYdw==" + "hls.js": { + "version": "1.5.15", + "resolved": "https://registry.npmjs.org/hls.js/-/hls.js-1.5.15.tgz", + "integrity": "sha512-6cD7xN6bycBHaXz2WyPIaHn/iXFizE5au2yvY5q9aC4wfihxAr16C9fUy4nxh2a3wOw0fEgLRa9dN6wsYjlpNg==" }, - "node_modules/html-to-image": { + "html-to-image": { "version": "1.11.11", "resolved": "https://registry.npmjs.org/html-to-image/-/html-to-image-1.11.11.tgz", "integrity": "sha512-9gux8QhvjRO/erSnDPv28noDZcPZmYE7e1vFsBLKLlRlKDSqNJYebj6Qz1TGd5lsRV+X+xYyjCKjuZdABinWjA==" }, - "node_modules/http-signature": { + "http-signature": { "version": "1.3.6", "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.3.6.tgz", "integrity": "sha512-3adrsD6zqo4GsTqtO7FyrejHNv+NgiIfAfv68+jVlFmSr9OGy7zrxONceFRLKvnnZA5jbxQBX1u9PpB6Wi32Gw==", "dev": true, - "dependencies": { + "requires": { "assert-plus": "^1.0.0", "jsprim": "^2.0.2", "sshpk": "^1.14.1" - }, - "engines": { - "node": ">=0.10" } }, - "node_modules/human-signals": { + "human-signals": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-1.1.1.tgz", "integrity": "sha512-SEQu7vl8KjNL2eoGBLF3+wAjpsNfA9XMlXAYj/3EdaNfAlxKthD1xjEQfGOUhllCGGJVNY34bRr6lPINhNjyZw==", - "dev": true, - "engines": { - "node": ">=8.12.0" - } + "dev": true }, - "node_modules/iconv-lite": { + "iconv-lite": { "version": "0.6.3", "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", "dev": true, "optional": true, - "dependencies": { + "requires": { "safer-buffer": ">= 2.1.2 < 3.0.0" - }, - "engines": { - "node": ">=0.10.0" } }, - "node_modules/icss-utils": { + "icss-utils": { "version": "5.1.0", "resolved": "https://registry.npmjs.org/icss-utils/-/icss-utils-5.1.0.tgz", "integrity": "sha512-soFhflCVWLfRNOPU3iv5Z9VUdT44xFRbzjLsEzSr5AQmgqPMTHdU3PMT1Cf1ssx8fLNJDA1juftYl+PUcv3MqA==", - "dev": true, - "engines": { - "node": "^10 || ^12 || >= 14" - }, - "peerDependencies": { - "postcss": "^8.1.0" - } + "dev": true }, - "node_modules/ieee754": { + "ieee754": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ] + "dev": true }, - "node_modules/ignore": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.1.tgz", - "integrity": "sha512-5Fytz/IraMjqpwfd34ke28PTVMjZjJG2MPn5t7OE4eUCUNf8BAa7b5WUS9/Qvr6mwOQS7Mk6vdsMno5he+T8Xw==", - "dev": true, - "engines": { - "node": ">= 4" - } + "ignore": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.2.tgz", + "integrity": "sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==", + "dev": true }, - "node_modules/image-size": { + "image-size": { "version": "0.5.5", "resolved": "https://registry.npmjs.org/image-size/-/image-size-0.5.5.tgz", "integrity": "sha512-6TDAlDPZxUFCv+fuOkIoXT/V/f3Qbq8e37p+YOiYrUv3v9cc3/6x78VdfPgFVaB9dZYeLUfKgHRebpkm/oP2VQ==", "dev": true, - "optional": true, - "bin": { - "image-size": "bin/image-size.js" - }, - "engines": { - "node": ">=0.10.0" - } + "optional": true }, - "node_modules/imagesloaded": { + "imagesloaded": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/imagesloaded/-/imagesloaded-5.0.0.tgz", "integrity": "sha512-/0JGSubc1MTCoDKVmonLHgbifBWHdyLkun+R/151E1c5n79hiSxcd7cB7mPXFgojYu8xnRZv7GYxzKoxW8BetQ==", - "dependencies": { + "requires": { "ev-emitter": "^2.1.2" + }, + "dependencies": { + "ev-emitter": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ev-emitter/-/ev-emitter-2.1.2.tgz", + "integrity": "sha512-jQ5Ql18hdCQ4qS+RCrbLfz1n+Pags27q5TwMKvZyhp5hh2UULUYZUy1keqj6k6SYsdqIYjnmz7xyyEY0V67B8Q==" + } } }, - "node_modules/immutable": { + "immutable": { "version": "4.3.7", "resolved": "https://registry.npmjs.org/immutable/-/immutable-4.3.7.tgz", "integrity": "sha512-1hqclzwYwjRDFLjcFxOM5AYkkG0rpFPpr1RLPMEuGczoS7YA8gLhy8SWXYRAA/XwfEHpfo3cw5JGioS32fnMRw==", "dev": true }, - "node_modules/import-fresh": { + "import-fresh": { "version": "3.3.0", "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", "dev": true, - "dependencies": { + "requires": { "parent-module": "^1.0.0", "resolve-from": "^4.0.0" - }, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/import-local": { + "import-local": { "version": "3.2.0", "resolved": "https://registry.npmjs.org/import-local/-/import-local-3.2.0.tgz", "integrity": "sha512-2SPlun1JUPWoM6t3F0dw0FkCF/jWY8kttcY4f599GLTSjh2OCuuhdTkJQsEcZzBqbXZGKMK2OqW1oZsjtf/gQA==", "dev": true, - "dependencies": { + "requires": { "pkg-dir": "^4.2.0", "resolve-cwd": "^3.0.0" }, - "bin": { - "import-local-fixture": "fixtures/cli.js" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/import-local/node_modules/find-up": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", - "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", - "dev": true, - "dependencies": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/import-local/node_modules/locate-path": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", - "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", - "dev": true, - "dependencies": { - "p-locate": "^4.1.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/import-local/node_modules/p-limit": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", - "dev": true, - "dependencies": { - "p-try": "^2.0.0" - }, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/import-local/node_modules/p-locate": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", - "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", - "dev": true, - "dependencies": { - "p-limit": "^2.2.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/import-local/node_modules/path-exists": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", - "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/import-local/node_modules/pkg-dir": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz", - "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==", - "dev": true, "dependencies": { - "find-up": "^4.0.0" - }, - "engines": { - "node": ">=8" + "find-up": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", + "dev": true, + "requires": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + } + }, + "locate-path": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", + "dev": true, + "requires": { + "p-locate": "^4.1.0" + } + }, + "p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "dev": true, + "requires": { + "p-try": "^2.0.0" + } + }, + "p-locate": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", + "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", + "dev": true, + "requires": { + "p-limit": "^2.2.0" + } + }, + "path-exists": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", + "dev": true + }, + "pkg-dir": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz", + "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==", + "dev": true, + "requires": { + "find-up": "^4.0.0" + } + } } }, - "node_modules/imports-loader": { + "imports-loader": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/imports-loader/-/imports-loader-5.0.0.tgz", "integrity": "sha512-tXgL8xxZFjOjQLLiE7my00UUQfktg4G8fdpXcZphL0bJWbk9eCxKKFaCwmFRcwyRJQl95GXBL1DoE1rCS/tcPw==", "dev": true, - "dependencies": { + "requires": { "source-map-js": "^1.0.2", "strip-comments": "^2.0.1" - }, - "engines": { - "node": ">= 18.12.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependencies": { - "webpack": "^5.0.0" } }, - "node_modules/imurmurhash": { + "imurmurhash": { "version": "0.1.4", "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", - "dev": true, - "engines": { - "node": ">=0.8.19" - } + "dev": true }, - "node_modules/indent-string": { + "indent-string": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz", "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==", - "dev": true, - "engines": { - "node": ">=8" - } + "dev": true }, - "node_modules/inflight": { + "inflight": { "version": "1.0.6", "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", - "deprecated": "This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful.", - "dependencies": { + "requires": { "once": "^1.3.0", "wrappy": "1" } }, - "node_modules/inherits": { + "inherits": { "version": "2.0.4", "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" }, - "node_modules/ini": { + "ini": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/ini/-/ini-2.0.0.tgz", "integrity": "sha512-7PnF4oN3CvZF23ADhA5wRaYEQpJ8qygSkbtTXWBeXWXmEVRXK+1ITciHWwHhsjv1TmW0MgacIv6hEi5pX5NQdA==", - "dev": true, - "engines": { - "node": ">=10" - } + "dev": true }, - "node_modules/interpret": { + "interpret": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/interpret/-/interpret-3.1.1.tgz", "integrity": "sha512-6xwYfHbajpoF0xLW+iwLkhwgvLoZDfjYfoFNu8ftMoXINzwuymNLd9u/KmwtdT2GbR+/Cz66otEGEVVUHX9QLQ==", - "dev": true, - "engines": { - "node": ">=10.13.0" - } + "dev": true }, - "node_modules/is-arrayish": { + "is-arrayish": { "version": "0.2.1", "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", "integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==", "dev": true }, - "node_modules/is-binary-path": { + "is-binary-path": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", "dev": true, - "dependencies": { + "requires": { "binary-extensions": "^2.0.0" - }, - "engines": { - "node": ">=8" } }, - "node_modules/is-buffer": { + "is-buffer": { "version": "1.1.6", "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==" }, - "node_modules/is-ci": { + "is-ci": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/is-ci/-/is-ci-3.0.1.tgz", "integrity": "sha512-ZYvCgrefwqoQ6yTyYUbQu64HsITZ3NfKX1lzaEYdkTDcfKzzCI/wthRRYKkdjHKFVgNiXKAKm65Zo1pk2as/QQ==", "dev": true, - "dependencies": { + "requires": { "ci-info": "^3.2.0" - }, - "bin": { - "is-ci": "bin.js" } }, - "node_modules/is-core-module": { - "version": "2.15.0", - "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.15.0.tgz", - "integrity": "sha512-Dd+Lb2/zvk9SKy1TGCt1wFJFo/MWBPMX5x7KcvLajWTGuomczdQX61PvY5yK6SVACwpoexWo81IfFyoKY2QnTA==", + "is-core-module": { + "version": "2.15.1", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.15.1.tgz", + "integrity": "sha512-z0vtXSwucUJtANQWldhbtbt7BnL0vxiFjIdDLAatwhDYty2bad6s+rijD6Ri4YuYJubLzIJLUidCh09e1djEVQ==", "dev": true, - "dependencies": { + "requires": { "hasown": "^2.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/is-extglob": { + "is-extglob": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } + "dev": true }, - "node_modules/is-fullwidth-code-point": { + "is-fullwidth-code-point": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", - "dev": true, - "engines": { - "node": ">=8" - } + "dev": true }, - "node_modules/is-glob": { + "is-glob": { "version": "4.0.3", "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", "dev": true, - "dependencies": { + "requires": { "is-extglob": "^2.1.1" - }, - "engines": { - "node": ">=0.10.0" } }, - "node_modules/is-installed-globally": { + "is-installed-globally": { "version": "0.4.0", "resolved": "https://registry.npmjs.org/is-installed-globally/-/is-installed-globally-0.4.0.tgz", "integrity": "sha512-iwGqO3J21aaSkC7jWnHP/difazwS7SFeIqxv6wEtLU8Y5KlzFTjyqcSIT0d8s4+dDhKytsk9PJZ2BkS5eZwQRQ==", "dev": true, - "dependencies": { + "requires": { "global-dirs": "^3.0.0", "is-path-inside": "^3.0.2" }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/is-installed-globally/node_modules/is-path-inside": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz", - "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==", - "dev": true, - "engines": { - "node": ">=8" + "dependencies": { + "is-path-inside": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz", + "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==", + "dev": true + } } }, - "node_modules/is-number": { + "is-number": { "version": "7.0.0", "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", - "dev": true, - "engines": { - "node": ">=0.12.0" - } + "dev": true }, - "node_modules/is-path-cwd": { + "is-path-cwd": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/is-path-cwd/-/is-path-cwd-2.2.0.tgz", "integrity": "sha512-w942bTcih8fdJPJmQHFzkS76NEP8Kzzvmw92cXsazb8intwLqPibPPdXf4ANdKV3rYMuuQYGIWtvz9JilB3NFQ==", - "dev": true, - "engines": { - "node": ">=6" - } + "dev": true }, - "node_modules/is-path-in-cwd": { + "is-path-in-cwd": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/is-path-in-cwd/-/is-path-in-cwd-2.1.0.tgz", "integrity": "sha512-rNocXHgipO+rvnP6dk3zI20RpOtrAM/kzbB258Uw5BWr3TpXi861yzjo16Dn4hUox07iw5AyeMLHWsujkjzvRQ==", "dev": true, - "dependencies": { + "requires": { "is-path-inside": "^2.1.0" - }, - "engines": { - "node": ">=6" } }, - "node_modules/is-path-inside": { + "is-path-inside": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-2.1.0.tgz", "integrity": "sha512-wiyhTzfDWsvwAW53OBWF5zuvaOGlZ6PwYxAbPVDhpm+gM09xKQGjBq/8uYN12aDvMxnAnq3dxTyoSoRNmg5YFg==", "dev": true, - "dependencies": { + "requires": { "path-is-inside": "^1.0.2" - }, - "engines": { - "node": ">=6" } }, - "node_modules/is-plain-object": { + "is-plain-object": { "version": "2.0.4", "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", "dev": true, - "dependencies": { + "requires": { "isobject": "^3.0.1" - }, - "engines": { - "node": ">=0.10.0" } }, - "node_modules/is-stream": { + "is-stream": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", - "dev": true, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } + "dev": true }, - "node_modules/is-typedarray": { + "is-typedarray": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", "integrity": "sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA==", "dev": true }, - "node_modules/is-unicode-supported": { + "is-unicode-supported": { "version": "0.1.0", "resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz", "integrity": "sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==", - "dev": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } + "dev": true }, - "node_modules/is-what": { + "is-what": { "version": "3.14.1", "resolved": "https://registry.npmjs.org/is-what/-/is-what-3.14.1.tgz", "integrity": "sha512-sNxgpk9793nzSs7bA6JQJGeIuRBQhAaNGG77kzYQgMkrID+lS6SlK07K5LaptscDlSaIgH+GPFzf+d75FVxozA==", "dev": true }, - "node_modules/isexe": { + "isexe": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", "dev": true }, - "node_modules/isobject": { + "isobject": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", "integrity": "sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } + "dev": true }, - "node_modules/isstream": { + "isstream": { "version": "0.1.2", "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", "integrity": "sha512-Yljz7ffyPbrLpLngrMtZ7NduUgVvi6wG9RJ9IUcyCd59YQ911PBJphODUcbOVbqYfxe1wuYf/LJ8PauMRwsM/g==", "dev": true }, - "node_modules/jalaali-js": { + "jalaali-js": { "version": "1.2.7", "resolved": "https://registry.npmjs.org/jalaali-js/-/jalaali-js-1.2.7.tgz", "integrity": "sha512-gE+YHWSbygYAoJa+Xg8LWxGILqFOxZSBQQw39ghel01fVFUxV7bjL0x1JFsHcLQ3uPjvn81HQMa+kxwyPWnxGQ==" }, - "node_modules/jest-worker": { + "jest-worker": { "version": "27.5.1", "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-27.5.1.tgz", "integrity": "sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==", "dev": true, - "dependencies": { + "requires": { "@types/node": "*", "merge-stream": "^2.0.0", "supports-color": "^8.0.0" }, - "engines": { - "node": ">= 10.13.0" - } - }, - "node_modules/jest-worker/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-worker/node_modules/supports-color": { - "version": "8.1.1", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", - "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", - "dev": true, "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/supports-color?sponsor=1" + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, + "supports-color": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", + "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + } } }, - "node_modules/jiti": { + "jiti": { "version": "1.21.6", "resolved": "https://registry.npmjs.org/jiti/-/jiti-1.21.6.tgz", "integrity": "sha512-2yTgeWTWzMWkHu6Jp9NKgePDaYHbntiwvYuuJLbbN9vl7DC9DvXKOB2BC3ZZ92D3cvV/aflH0osDfwpHepQ53w==", - "dev": true, - "bin": { - "jiti": "bin/jiti.js" - } + "dev": true }, - "node_modules/jquery": { + "jquery": { "version": "3.7.1", "resolved": "https://registry.npmjs.org/jquery/-/jquery-3.7.1.tgz", "integrity": "sha512-m4avr8yL8kmFN8psrbFFFmB/If14iN5o9nw/NgnnM+kybDJpRsAynV2BsfpTYrTRysYUdADVD7CkUUizgkpLfg==" }, - "node_modules/jquery-ui": { + "jquery-ui": { "version": "1.13.3", "resolved": "https://registry.npmjs.org/jquery-ui/-/jquery-ui-1.13.3.tgz", "integrity": "sha512-D2YJfswSJRh/B8M/zCowDpNFfwsDmtfnMPwjJTyvl+CBqzpYwQ+gFYIbUUlzijy/Qvoy30H1YhoSui4MNYpRwA==", - "dependencies": { + "requires": { "jquery": ">=1.8.0 <4.0.0" } }, - "node_modules/jquery-validation": { + "jquery-validation": { "version": "1.21.0", "resolved": "https://registry.npmjs.org/jquery-validation/-/jquery-validation-1.21.0.tgz", - "integrity": "sha512-xNot0rlUIgu7duMcQ5qb6MGkGL/Z1PQaRJQoZAURW9+a/2PGOUxY36o/WyNeP2T9R6jvWB8Z9lUVvvQWI/Zs5w==", - "peerDependencies": { - "jquery": "^1.7 || ^2.0 || ^3.1" - } + "integrity": "sha512-xNot0rlUIgu7duMcQ5qb6MGkGL/Z1PQaRJQoZAURW9+a/2PGOUxY36o/WyNeP2T9R6jvWB8Z9lUVvvQWI/Zs5w==" }, - "node_modules/js-tokens": { + "js-tokens": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", "dev": true }, - "node_modules/js-yaml": { + "js-yaml": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", "dev": true, - "dependencies": { + "requires": { "argparse": "^2.0.1" - }, - "bin": { - "js-yaml": "bin/js-yaml.js" } }, - "node_modules/jsbn": { + "jsbn": { "version": "0.1.1", "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz", "integrity": "sha512-UVU9dibq2JcFWxQPA6KCqj5O42VOmAY3zQUfEKxU0KpTGXwNoCjkX1e13eHNvw/xPynt6pU0rZ1htjWTNTSXsg==", "dev": true }, - "node_modules/jsesc": { + "jsesc": { "version": "2.5.2", "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", - "dev": true, - "bin": { - "jsesc": "bin/jsesc" - }, - "engines": { - "node": ">=4" - } + "dev": true }, - "node_modules/json-buffer": { + "json-buffer": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz", "integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==", "dev": true }, - "node_modules/json-parse-even-better-errors": { + "json-parse-even-better-errors": { "version": "2.3.1", "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==", "dev": true }, - "node_modules/json-schema": { + "json-schema": { "version": "0.4.0", "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.4.0.tgz", "integrity": "sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA==", "dev": true }, - "node_modules/json-schema-traverse": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", - "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", + "json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", "dev": true }, - "node_modules/json-stable-stringify-without-jsonify": { + "json-stable-stringify-without-jsonify": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==", "dev": true }, - "node_modules/json-stringify-safe": { + "json-stringify-safe": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", "integrity": "sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA==", "dev": true }, - "node_modules/json5": { - "version": "2.2.3", - "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", - "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", - "dev": true, - "bin": { - "json5": "lib/cli.js" - }, - "engines": { - "node": ">=6" - } + "json5": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.1.tgz", + "integrity": "sha512-1hqLFMSrGHRHxav9q9gNjJ5EXznIxGVO09xQRrwplcS8qs28pZ8s8hupZAmqDwZUmVZ2Qb2jnyPOWcDH8m8dlA==", + "dev": true }, - "node_modules/jsonfile": { + "jsonfile": { "version": "6.1.0", "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", "dev": true, - "dependencies": { + "requires": { + "graceful-fs": "^4.1.6", "universalify": "^2.0.0" }, - "optionalDependencies": { - "graceful-fs": "^4.1.6" - } - }, - "node_modules/jsonfile/node_modules/universalify": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.1.tgz", - "integrity": "sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==", - "dev": true, - "engines": { - "node": ">= 10.0.0" + "dependencies": { + "universalify": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.1.tgz", + "integrity": "sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==", + "dev": true + } } }, - "node_modules/jsprim": { + "jsprim": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-2.0.2.tgz", "integrity": "sha512-gqXddjPqQ6G40VdnI6T6yObEC+pDNvyP95wdQhkWkg7crHH3km5qP1FsOXEkzEQwnz6gz5qGTn1c2Y52wP3OyQ==", "dev": true, - "engines": [ - "node >=0.6.0" - ], - "dependencies": { + "requires": { "assert-plus": "1.0.0", "extsprintf": "1.3.0", "json-schema": "0.4.0", "verror": "1.10.0" } }, - "node_modules/jstree": { + "jstree": { "version": "3.3.16", "resolved": "https://registry.npmjs.org/jstree/-/jstree-3.3.16.tgz", "integrity": "sha512-yeeIJffi2WAqyMeHufXj/Ozy7GqgKdDkxfN8L8lwbG0h1cw/TgDafWmyhroH4AKgDSk9yW1W6jiJZu4zXAqzXw==", - "dependencies": { + "requires": { "jquery": "^3.5.0" } }, - "node_modules/keycode": { + "keycode": { "version": "2.2.1", "resolved": "https://registry.npmjs.org/keycode/-/keycode-2.2.1.tgz", "integrity": "sha512-Rdgz9Hl9Iv4QKi8b0OlCRQEzp4AgVxyCtz5S/+VIHezDmrDhkp2N2TqBWOLz0/gbeREXOOiI9/4b8BY9uw2vFg==" }, - "node_modules/keycon": { + "keycon": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/keycon/-/keycon-1.4.0.tgz", "integrity": "sha512-p1NAIxiRMH3jYfTeXRs2uWbVJ1WpEjpi8ktzUyBJsX7/wn2qu2VRXktneBLNtKNxJmlUYxRi9gOJt1DuthXR7A==", - "dependencies": { + "requires": { "@cfcs/core": "^0.0.6", "@daybrush/utils": "^1.7.1", "@scena/event-emitter": "^1.0.2", "keycode": "^2.2.0" } }, - "node_modules/keyv": { + "keyv": { "version": "4.5.4", "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.4.tgz", "integrity": "sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==", "dev": true, - "dependencies": { + "requires": { "json-buffer": "3.0.1" } }, - "node_modules/kind-of": { + "kind-of": { "version": "3.2.2", "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", - "dependencies": { + "requires": { "is-buffer": "^1.1.5" - }, - "engines": { - "node": ">=0.10.0" } }, - "node_modules/lazy-ass": { + "lazy-ass": { "version": "1.6.0", "resolved": "https://registry.npmjs.org/lazy-ass/-/lazy-ass-1.6.0.tgz", - "integrity": "sha512-cc8oEVoctTvsFZ/Oje/kGnHbpWHYBe8IAJe4C0QNc3t8uM/0Y8+erSz/7Y1ALuXTEZTMvxXwO6YbX1ey3ujiZw==", - "dev": true, - "engines": { - "node": "> 0.8" - } + "integrity": "sha512-cc8oEVoctTvsFZ/Oje/kGnHbpWHYBe8IAJe4C0QNc3t8uM/0Y8+erSz/7Y1ALuXTEZTMvxXwO6YbX1ey3ujiZw==", + "dev": true }, - "node_modules/lazy-cache": { + "lazy-cache": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/lazy-cache/-/lazy-cache-1.0.4.tgz", - "integrity": "sha512-RE2g0b5VGZsOCFOCgP7omTRYFqydmZkBwl5oNnQ1lDYC57uyO9KqNnNVxT7COSHTxrRCWVcAVOcbjk+tvh/rgQ==", - "engines": { - "node": ">=0.10.0" - } + "integrity": "sha512-RE2g0b5VGZsOCFOCgP7omTRYFqydmZkBwl5oNnQ1lDYC57uyO9KqNnNVxT7COSHTxrRCWVcAVOcbjk+tvh/rgQ==" }, - "node_modules/leaflet": { + "leaflet": { "version": "1.9.4", "resolved": "https://registry.npmjs.org/leaflet/-/leaflet-1.9.4.tgz", "integrity": "sha512-nxS1ynzJOmOlHp+iL3FyWqK89GtNL8U8rvlMOsQdTTssxZwCXh8N2NB3GDQOL+YR3XnWyZAxwQixURb+FA74PA==" }, - "node_modules/leaflet-draw": { + "leaflet-draw": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/leaflet-draw/-/leaflet-draw-1.0.4.tgz", "integrity": "sha512-rsQ6saQO5ST5Aj6XRFylr5zvarWgzWnrg46zQ1MEOEIHsppdC/8hnN8qMoFvACsPvTioAuysya/TVtog15tyAQ==" }, - "node_modules/leaflet-easyprint": { + "leaflet-easyprint": { "version": "2.1.9", "resolved": "https://registry.npmjs.org/leaflet-easyprint/-/leaflet-easyprint-2.1.9.tgz", "integrity": "sha512-xf2o7yS7M9H66boQ1/PwGT40+LdGgnszOJY29GMHARqolO47BNjX+jGak4DwJyAHTkYn1jDhYi+W+St/Nu+AMQ==", - "dependencies": { + "requires": { "dom-to-image": "^2.5.2", "file-saver": "^1.3.3" } }, - "node_modules/leaflet-fullscreen": { + "leaflet-fullscreen": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/leaflet-fullscreen/-/leaflet-fullscreen-1.0.2.tgz", "integrity": "sha512-1Yxm8RZg6KlKX25+hbP2H/wnOAphH7hFcvuADJFb4QZTN7uOSN9Hsci5EZpow8vtNej9OGzu59Jxmn+0qKOO9Q==" }, - "node_modules/leaflet-search": { + "leaflet-search": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/leaflet-search/-/leaflet-search-4.0.0.tgz", "integrity": "sha512-V+Y7DURVoy6Y9ZGywfyorDRMYDbLwpWPA0yec+g2aW+iNZySdwv936jDZJtRfYxvkPRMEb8jDjH+Zf3nSFTPEw==", - "dependencies": { + "requires": { "leaflet": "*" } }, - "node_modules/leaflet.markercluster": { + "leaflet.markercluster": { "version": "1.5.3", "resolved": "https://registry.npmjs.org/leaflet.markercluster/-/leaflet.markercluster-1.5.3.tgz", - "integrity": "sha512-vPTw/Bndq7eQHjLBVlWpnGeLa3t+3zGiuM7fJwCkiMFq+nmRuG3RI3f7f4N4TDX7T4NpbAXpR2+NTRSEGfCSeA==", - "peerDependencies": { - "leaflet": "^1.3.1" - } + "integrity": "sha512-vPTw/Bndq7eQHjLBVlWpnGeLa3t+3zGiuM7fJwCkiMFq+nmRuG3RI3f7f4N4TDX7T4NpbAXpR2+NTRSEGfCSeA==" }, - "node_modules/less": { + "less": { "version": "4.2.0", "resolved": "https://registry.npmjs.org/less/-/less-4.2.0.tgz", "integrity": "sha512-P3b3HJDBtSzsXUl0im2L7gTO5Ubg8mEN6G8qoTS77iXxXX4Hvu4Qj540PZDvQ8V6DmX6iXo98k7Md0Cm1PrLaA==", "dev": true, - "dependencies": { + "requires": { "copy-anything": "^2.0.1", - "parse-node-version": "^1.0.1", - "tslib": "^2.3.0" - }, - "bin": { - "lessc": "bin/lessc" - }, - "engines": { - "node": ">=6" - }, - "optionalDependencies": { "errno": "^0.1.1", "graceful-fs": "^4.1.2", "image-size": "~0.5.0", "make-dir": "^2.1.0", "mime": "^1.4.1", "needle": "^3.1.0", - "source-map": "~0.6.0" - } - }, - "node_modules/less-loader": { - "version": "12.2.0", - "resolved": "https://registry.npmjs.org/less-loader/-/less-loader-12.2.0.tgz", - "integrity": "sha512-MYUxjSQSBUQmowc0l5nPieOYwMzGPUaTzB6inNW/bdPEG9zOL3eAAD1Qw5ZxSPk7we5dMojHwNODYMV1hq4EVg==", - "dev": true, - "engines": { - "node": ">= 18.12.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependencies": { - "@rspack/core": "0.x || 1.x", - "less": "^3.5.0 || ^4.0.0", - "webpack": "^5.0.0" + "parse-node-version": "^1.0.1", + "source-map": "~0.6.0", + "tslib": "^2.3.0" }, - "peerDependenciesMeta": { - "@rspack/core": { - "optional": true - }, - "webpack": { + "dependencies": { + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true, "optional": true } } }, - "node_modules/less/node_modules/make-dir": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-2.1.0.tgz", - "integrity": "sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==", - "dev": true, - "optional": true, - "dependencies": { - "pify": "^4.0.1", - "semver": "^5.6.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/less/node_modules/semver": { - "version": "5.7.2", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", - "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", - "dev": true, - "optional": true, - "bin": { - "semver": "bin/semver" - } - }, - "node_modules/less/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true, - "optional": true, - "engines": { - "node": ">=0.10.0" - } + "less-loader": { + "version": "12.2.0", + "resolved": "https://registry.npmjs.org/less-loader/-/less-loader-12.2.0.tgz", + "integrity": "sha512-MYUxjSQSBUQmowc0l5nPieOYwMzGPUaTzB6inNW/bdPEG9zOL3eAAD1Qw5ZxSPk7we5dMojHwNODYMV1hq4EVg==", + "dev": true }, - "node_modules/levn": { + "levn": { "version": "0.4.1", "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", "dev": true, - "dependencies": { + "requires": { "prelude-ls": "^1.2.1", "type-check": "~0.4.0" - }, - "engines": { - "node": ">= 0.8.0" } }, - "node_modules/lines-and-columns": { + "lines-and-columns": { "version": "1.2.4", "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz", "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==", "dev": true }, - "node_modules/listr2": { + "listr2": { "version": "3.14.0", "resolved": "https://registry.npmjs.org/listr2/-/listr2-3.14.0.tgz", "integrity": "sha512-TyWI8G99GX9GjE54cJ+RrNMcIFBfwMPxc3XTFiAYGN4s10hWROGtOg7+O6u6LE3mNkyld7RSLE6nrKBvTfcs3g==", "dev": true, - "dependencies": { + "requires": { "cli-truncate": "^2.1.0", "colorette": "^2.0.16", "log-update": "^4.0.0", @@ -6439,438 +4583,326 @@ "through": "^2.3.8", "wrap-ansi": "^7.0.0" }, - "engines": { - "node": ">=10.0.0" - }, - "peerDependencies": { - "enquirer": ">= 2.3.0 < 3" - }, - "peerDependenciesMeta": { - "enquirer": { - "optional": true - } - } - }, - "node_modules/listr2/node_modules/p-map": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/p-map/-/p-map-4.0.0.tgz", - "integrity": "sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==", - "dev": true, "dependencies": { - "aggregate-error": "^3.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "p-map": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/p-map/-/p-map-4.0.0.tgz", + "integrity": "sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==", + "dev": true, + "requires": { + "aggregate-error": "^3.0.0" + } + } } }, - "node_modules/loader-runner": { + "loader-runner": { "version": "4.3.0", "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-4.3.0.tgz", "integrity": "sha512-3R/1M+yS3j5ou80Me59j7F9IMs4PXs3VqRrm0TU3AbKPxlmpoY1TNscJV/oGJXo8qCatFGTfDbY6W6ipGOYXfg==", - "dev": true, - "engines": { - "node": ">=6.11.5" - } + "dev": true }, - "node_modules/loader-utils": { + "loader-utils": { "version": "2.0.4", "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.4.tgz", "integrity": "sha512-xXqpXoINfFhgua9xiqD8fPFHgkoq1mmmpE92WlDbm9rNRd/EbRb+Gqf908T2DMfuHjjJlksiK2RbHVOdD/MqSw==", "dev": true, - "dependencies": { + "requires": { "big.js": "^5.2.2", "emojis-list": "^3.0.0", "json5": "^2.1.2" - }, - "engines": { - "node": ">=8.9.0" } }, - "node_modules/locate-path": { + "locate-path": { "version": "7.2.0", "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-7.2.0.tgz", "integrity": "sha512-gvVijfZvn7R+2qyPX8mAuKcFGDf6Nc61GdvGafQsHL0sBIxfKzA+usWn4GFC/bk+QdwPUD4kWFJLhElipq+0VA==", "dev": true, - "dependencies": { + "requires": { "p-locate": "^6.0.0" - }, - "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/lodash": { + "lodash": { "version": "4.17.21", "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", "dev": true }, - "node_modules/lodash.debounce": { + "lodash.debounce": { "version": "4.0.8", "resolved": "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz", "integrity": "sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==", "dev": true }, - "node_modules/lodash.merge": { + "lodash.merge": { "version": "4.6.2", "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", "dev": true }, - "node_modules/lodash.once": { + "lodash.once": { "version": "4.1.1", "resolved": "https://registry.npmjs.org/lodash.once/-/lodash.once-4.1.1.tgz", "integrity": "sha512-Sb487aTOCr9drQVL8pIxOzVhafOjZN9UU54hiN8PU3uAiSV7lx1yYNpbNmex2PK6dSJoNTSJUUswT651yww3Mg==", "dev": true }, - "node_modules/log-symbols": { + "log-symbols": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-4.1.0.tgz", "integrity": "sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==", "dev": true, - "dependencies": { + "requires": { "chalk": "^4.1.0", "is-unicode-supported": "^0.1.0" }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/log-symbols/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/log-symbols/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/log-symbols/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/log-symbols/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/log-symbols/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + } } }, - "node_modules/log-update": { + "log-update": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/log-update/-/log-update-4.0.0.tgz", "integrity": "sha512-9fkkDevMefjg0mmzWFBW8YkFP91OrizzkW3diF7CpG+S2EYdy4+TVfGwz1zeF8x7hCx1ovSPTOE9Ngib74qqUg==", "dev": true, - "dependencies": { + "requires": { "ansi-escapes": "^4.3.0", "cli-cursor": "^3.1.0", "slice-ansi": "^4.0.0", "wrap-ansi": "^6.2.0" }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/log-update/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/log-update/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/log-update/node_modules/slice-ansi": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-4.0.0.tgz", - "integrity": "sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==", - "dev": true, - "dependencies": { - "ansi-styles": "^4.0.0", - "astral-regex": "^2.0.0", - "is-fullwidth-code-point": "^3.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/slice-ansi?sponsor=1" - } - }, - "node_modules/log-update/node_modules/wrap-ansi": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz", - "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==", - "dev": true, "dependencies": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" - }, - "engines": { - "node": ">=8" + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "slice-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-4.0.0.tgz", + "integrity": "sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==", + "dev": true, + "requires": { + "ansi-styles": "^4.0.0", + "astral-regex": "^2.0.0", + "is-fullwidth-code-point": "^3.0.0" + } + }, + "wrap-ansi": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz", + "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==", + "dev": true, + "requires": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + } + } } }, - "node_modules/longest": { + "longest": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/longest/-/longest-1.0.1.tgz", - "integrity": "sha512-k+yt5n3l48JU4k8ftnKG6V7u32wyH2NfKzeMto9F/QRE0amxy/LayxwlvjjkZEIzqR+19IrtFO8p5kB9QaYUFg==", - "engines": { - "node": ">=0.10.0" - } + "integrity": "sha512-k+yt5n3l48JU4k8ftnKG6V7u32wyH2NfKzeMto9F/QRE0amxy/LayxwlvjjkZEIzqR+19IrtFO8p5kB9QaYUFg==" }, - "node_modules/lru-cache": { + "lru-cache": { "version": "5.1.1", "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", "dev": true, - "dependencies": { + "requires": { "yallist": "^3.0.2" } }, - "node_modules/lru-cache/node_modules/yallist": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", - "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", - "dev": true + "make-dir": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-2.1.0.tgz", + "integrity": "sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==", + "dev": true, + "optional": true, + "requires": { + "pify": "^4.0.1", + "semver": "^5.6.0" + }, + "dependencies": { + "semver": { + "version": "5.7.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", + "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", + "dev": true, + "optional": true + } + } }, - "node_modules/masonry-layout": { + "masonry-layout": { "version": "4.2.2", "resolved": "https://registry.npmjs.org/masonry-layout/-/masonry-layout-4.2.2.tgz", "integrity": "sha512-iGtAlrpHNyxaR19CvKC3npnEcAwszXoyJiI8ARV2ePi7fmYhIud25MHK8Zx4P0LCC4d3TNO9+rFa1KoK1OEOaA==", - "dependencies": { + "requires": { "get-size": "^2.0.2", "outlayer": "^2.1.0" } }, - "node_modules/merge-stream": { + "merge-stream": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==", "dev": true }, - "node_modules/merge2": { + "merge2": { "version": "1.4.1", "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", - "dev": true, - "engines": { - "node": ">= 8" - } + "dev": true }, - "node_modules/micromatch": { - "version": "4.0.7", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.7.tgz", - "integrity": "sha512-LPP/3KorzCwBxfeUuZmaR6bG2kdeHSbe0P2tY3FLRU4vYrjYz5hI4QZwV0njUx3jeuKe67YukQ1LSPZBKDqO/Q==", + "micromatch": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.8.tgz", + "integrity": "sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==", "dev": true, - "dependencies": { + "requires": { "braces": "^3.0.3", "picomatch": "^2.3.1" - }, - "engines": { - "node": ">=8.6" } }, - "node_modules/mime": { + "mime": { "version": "1.6.0", "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==", "dev": true, - "optional": true, - "bin": { - "mime": "cli.js" - }, - "engines": { - "node": ">=4" - } + "optional": true }, - "node_modules/mime-db": { + "mime-db": { "version": "1.52.0", "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", - "dev": true, - "engines": { - "node": ">= 0.6" - } + "dev": true }, - "node_modules/mime-types": { + "mime-types": { "version": "2.1.35", "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", "dev": true, - "dependencies": { + "requires": { "mime-db": "1.52.0" - }, - "engines": { - "node": ">= 0.6" } }, - "node_modules/mimic-fn": { + "mimic-fn": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", - "dev": true, - "engines": { - "node": ">=6" - } + "dev": true }, - "node_modules/minimatch": { + "minimatch": { "version": "3.1.2", "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", - "dependencies": { + "requires": { "brace-expansion": "^1.1.7" - }, - "engines": { - "node": "*" } }, - "node_modules/minimist": { + "minimist": { "version": "1.2.6", "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.6.tgz", "integrity": "sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q==" }, - "node_modules/moment": { + "moment": { "version": "2.30.1", "resolved": "https://registry.npmjs.org/moment/-/moment-2.30.1.tgz", - "integrity": "sha512-uEmtNhbDOrWPFS+hdjFCBfy9f2YoyzRpwcl+DqpC6taX21FzsTLQVbMV/W7PzNSX6x/bhC1zA3c2UQ5NzH6how==", - "engines": { - "node": "*" - } + "integrity": "sha512-uEmtNhbDOrWPFS+hdjFCBfy9f2YoyzRpwcl+DqpC6taX21FzsTLQVbMV/W7PzNSX6x/bhC1zA3c2UQ5NzH6how==" }, - "node_modules/moment-jalaali": { + "moment-jalaali": { "version": "0.10.1", "resolved": "https://registry.npmjs.org/moment-jalaali/-/moment-jalaali-0.10.1.tgz", "integrity": "sha512-/iwLtt3onvI6wFydUSTj10nFeNkD9sZ0fSY1gmqC2dwt1yGYJun6agI7E7SiBYi8uzGlt3P4KuPYCMLiv43E+g==", - "dependencies": { + "requires": { "jalaali-js": "^1.1.0", "moment": "^2.22.2", "moment-timezone": "^0.5.21", "rimraf": "^3.0.2" } }, - "node_modules/moment-jalaali/node_modules/rimraf": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", - "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", - "deprecated": "Rimraf versions prior to v4 are no longer supported", - "dependencies": { - "glob": "^7.1.3" - }, - "bin": { - "rimraf": "bin.js" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/moment-timezone": { + "moment-timezone": { "version": "0.5.45", "resolved": "https://registry.npmjs.org/moment-timezone/-/moment-timezone-0.5.45.tgz", "integrity": "sha512-HIWmqA86KcmCAhnMAN0wuDOARV/525R2+lOLotuGFzn4HO+FH+/645z2wx0Dt3iDv6/p61SIvKnDstISainhLQ==", - "dependencies": { + "requires": { "moment": "^2.29.4" - }, - "engines": { - "node": "*" } }, - "node_modules/monaco-editor": { + "monaco-editor": { "version": "0.50.0", "resolved": "https://registry.npmjs.org/monaco-editor/-/monaco-editor-0.50.0.tgz", "integrity": "sha512-8CclLCmrRRh+sul7C08BmPBP3P8wVWfBHomsTcndxg5NRCEPfu/mc2AGU8k37ajjDVXcXFc12ORAMUkmk+lkFA==" }, - "node_modules/monaco-editor-webpack-plugin": { + "monaco-editor-webpack-plugin": { "version": "7.1.0", "resolved": "https://registry.npmjs.org/monaco-editor-webpack-plugin/-/monaco-editor-webpack-plugin-7.1.0.tgz", "integrity": "sha512-ZjnGINHN963JQkFqjjcBtn1XBtUATDZBMgNQhDQwd78w2ukRhFXAPNgWuacaQiDZsUr4h1rWv5Mv6eriKuOSzA==", "dev": true, - "dependencies": { + "requires": { "loader-utils": "^2.0.2" - }, - "peerDependencies": { - "monaco-editor": ">= 0.31.0", - "webpack": "^4.5.0 || 5.x" } }, - "node_modules/moveable": { + "moveable": { "version": "0.53.0", "resolved": "https://registry.npmjs.org/moveable/-/moveable-0.53.0.tgz", "integrity": "sha512-71jS9zIoQzMhnNvduhg4tUEdm23+fO/40FN7muVMbZvVwbTku2MIxxLhnU4qFvxI4oVxn75l79SbtgjuA+s7Pw==", - "dependencies": { + "requires": { "@daybrush/utils": "^1.13.0", "@scena/event-emitter": "^1.0.5", "croact": "^1.0.4", @@ -6878,728 +4910,495 @@ "react-moveable": "~0.56.0" } }, - "node_modules/ms": { + "ms": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", "dev": true }, - "node_modules/nanoid": { + "nanoid": { "version": "3.3.7", "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.7.tgz", "integrity": "sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "bin": { - "nanoid": "bin/nanoid.cjs" - }, - "engines": { - "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" - } + "dev": true }, - "node_modules/natural-compare": { + "natural-compare": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==", "dev": true }, - "node_modules/needle": { + "needle": { "version": "3.3.1", "resolved": "https://registry.npmjs.org/needle/-/needle-3.3.1.tgz", "integrity": "sha512-6k0YULvhpw+RoLNiQCRKOl09Rv1dPLr8hHnVjHqdolKwDrdNyk+Hmrthi4lIGPPz3r39dLx0hsF5s40sZ3Us4Q==", "dev": true, "optional": true, - "dependencies": { + "requires": { "iconv-lite": "^0.6.3", "sax": "^1.2.4" - }, - "bin": { - "needle": "bin/needle" - }, - "engines": { - "node": ">= 4.4.x" } }, - "node_modules/neo-async": { + "neo-async": { "version": "2.6.2", "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz", "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==" }, - "node_modules/node-releases": { + "node-releases": { "version": "2.0.18", "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.18.tgz", "integrity": "sha512-d9VeXT4SJ7ZeOqGX6R5EM022wpL+eWPooLI+5UpWn2jCT1aosUQEhQP214x33Wkwx3JQMvIm+tIoVOdodFS40g==", "dev": true }, - "node_modules/normalize-path": { + "normalize-path": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } + "dev": true }, - "node_modules/normalize-range": { + "normalize-range": { "version": "0.1.2", "resolved": "https://registry.npmjs.org/normalize-range/-/normalize-range-0.1.2.tgz", "integrity": "sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } + "dev": true }, - "node_modules/npm-run-path": { + "npm-run-path": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz", "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==", "dev": true, - "dependencies": { + "requires": { "path-key": "^3.0.0" - }, - "engines": { - "node": ">=8" } }, - "node_modules/object-assign": { + "object-assign": { "version": "4.1.1", "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } + "dev": true }, - "node_modules/object-inspect": { + "object-inspect": { "version": "1.13.2", "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.2.tgz", "integrity": "sha512-IRZSRuzJiynemAXPYtPe5BoI/RESNYR7TYm50MC5Mqbd3Jmw5y790sErYw3V6SryFJD64b74qQQs9wn5Bg/k3g==", - "dev": true, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } + "dev": true }, - "node_modules/object-keys": { + "object-keys": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", - "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", - "engines": { - "node": ">= 0.4" - } + "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==" }, - "node_modules/once": { + "once": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", - "dependencies": { + "requires": { "wrappy": "1" } }, - "node_modules/onetime": { + "onetime": { "version": "5.1.2", "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", "dev": true, - "dependencies": { + "requires": { "mimic-fn": "^2.1.0" - }, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/optionator": { + "optionator": { "version": "0.9.4", "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.4.tgz", "integrity": "sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==", "dev": true, - "dependencies": { + "requires": { "deep-is": "^0.1.3", "fast-levenshtein": "^2.0.6", "levn": "^0.4.1", "prelude-ls": "^1.2.1", "type-check": "^0.4.0", "word-wrap": "^1.2.5" - }, - "engines": { - "node": ">= 0.8.0" } }, - "node_modules/ospath": { + "ospath": { "version": "1.2.2", "resolved": "https://registry.npmjs.org/ospath/-/ospath-1.2.2.tgz", "integrity": "sha512-o6E5qJV5zkAbIDNhGSIlyOhScKXgQrSRMilfph0clDfM0nEnBOlKlH4sWDmG95BW/CvwNz0vmm7dJVtU2KlMiA==", "dev": true }, - "node_modules/outlayer": { + "outlayer": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/outlayer/-/outlayer-2.1.1.tgz", "integrity": "sha512-+GplXsCQ3VrbGujAeHEzP9SXsBmJxzn/YdDSQZL0xqBmAWBmortu2Y9Gwdp9J0bgDQ8/YNIPMoBM13nTwZfAhw==", - "dependencies": { + "requires": { "ev-emitter": "^1.0.0", "fizzy-ui-utils": "^2.0.0", "get-size": "^2.0.2" } }, - "node_modules/outlayer/node_modules/ev-emitter": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/ev-emitter/-/ev-emitter-1.1.1.tgz", - "integrity": "sha512-ipiDYhdQSCZ4hSbX4rMW+XzNKMD1prg/sTvoVmSLkuQ1MVlwjJQQA+sW8tMYR3BLUr9KjodFV4pvzunvRhd33Q==" - }, - "node_modules/overlap-area": { + "overlap-area": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/overlap-area/-/overlap-area-1.1.0.tgz", "integrity": "sha512-3dlJgJCaVeXH0/eZjYVJvQiLVVrPO4U1ZGqlATtx6QGO3b5eNM6+JgUKa7oStBTdYuGTk7gVoABCW6Tp+dhRdw==", - "dependencies": { + "requires": { "@daybrush/utils": "^1.7.1" } }, - "node_modules/p-limit": { + "p-limit": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-4.0.0.tgz", "integrity": "sha512-5b0R4txpzjPWVw/cXXUResoD4hb6U/x9BH08L7nw+GN1sezDzPdxeRvpc9c433fZhBan/wusjbCsqwqm4EIBIQ==", "dev": true, - "dependencies": { + "requires": { "yocto-queue": "^1.0.0" - }, - "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/p-locate": { + "p-locate": { "version": "6.0.0", "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-6.0.0.tgz", "integrity": "sha512-wPrq66Llhl7/4AGC6I+cqxT07LhXvWL08LNXz1fENOw0Ap4sRZZ/gZpTTJ5jpurzzzfS2W/Ge9BY3LgLjCShcw==", "dev": true, - "dependencies": { + "requires": { "p-limit": "^4.0.0" - }, - "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/p-map": { + "p-map": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/p-map/-/p-map-2.1.0.tgz", "integrity": "sha512-y3b8Kpd8OAN444hxfBbFfj1FY/RjtTd8tzYwhUqNYXx0fXx2iX4maP4Qr6qhIKbQXI02wTLAda4fYUbDagTUFw==", - "dev": true, - "engines": { - "node": ">=6" - } + "dev": true }, - "node_modules/p-try": { + "p-try": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", - "dev": true, - "engines": { - "node": ">=6" - } + "dev": true }, - "node_modules/parent-module": { + "parent-module": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", "dev": true, - "dependencies": { + "requires": { "callsites": "^3.0.0" - }, - "engines": { - "node": ">=6" } }, - "node_modules/parse-json": { + "parse-json": { "version": "5.2.0", "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", "dev": true, - "dependencies": { + "requires": { "@babel/code-frame": "^7.0.0", "error-ex": "^1.3.1", "json-parse-even-better-errors": "^2.3.0", "lines-and-columns": "^1.1.6" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/parse-node-version": { + "parse-node-version": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/parse-node-version/-/parse-node-version-1.0.1.tgz", "integrity": "sha512-3YHlOa/JgH6Mnpr05jP9eDG254US9ek25LyIxZlDItp2iJtwyaXQb57lBYLdT3MowkUFYEV2XXNAYIPlESvJlA==", - "dev": true, - "engines": { - "node": ">= 0.10" - } + "dev": true }, - "node_modules/path-exists": { + "path-exists": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-5.0.0.tgz", "integrity": "sha512-RjhtfwJOxzcFmNOi6ltcbcu4Iu+FL3zEj83dk4kAS+fVpTxXLO1b38RvJgT/0QwvV/L3aY9TAnyv0EOqW4GoMQ==", - "dev": true, - "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - } + "dev": true }, - "node_modules/path-is-absolute": { + "path-is-absolute": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", - "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", - "engines": { - "node": ">=0.10.0" - } + "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==" }, - "node_modules/path-is-inside": { + "path-is-inside": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/path-is-inside/-/path-is-inside-1.0.2.tgz", "integrity": "sha512-DUWJr3+ULp4zXmol/SZkFf3JGsS9/SIv+Y3Rt93/UjPpDpklB5f1er4O3POIbUuUJ3FXgqte2Q7SrU6zAqwk8w==", "dev": true }, - "node_modules/path-key": { + "path-key": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", - "dev": true, - "engines": { - "node": ">=8" - } + "dev": true }, - "node_modules/path-parse": { + "path-parse": { "version": "1.0.7", "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", "dev": true }, - "node_modules/path-type": { + "path-type": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/path-type/-/path-type-5.0.0.tgz", "integrity": "sha512-5HviZNaZcfqP95rwpv+1HDgUamezbqdSYTyzjTvwtJSnIH+3vnbmWsItli8OFEndS984VT55M3jduxZbX351gg==", - "dev": true, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } + "dev": true }, - "node_modules/pdfjs-dist": { + "pdfjs-dist": { "version": "2.4.456", "resolved": "https://registry.npmjs.org/pdfjs-dist/-/pdfjs-dist-2.4.456.tgz", - "integrity": "sha512-yckJEHq3F48hcp6wStEpbN9McOj328Ib09UrBlGAKxvN2k+qYPN5iq6TH6jD1C0pso7zTep+g/CKsYgdrQd5QA==", - "license": "Apache-2.0" + "integrity": "sha512-yckJEHq3F48hcp6wStEpbN9McOj328Ib09UrBlGAKxvN2k+qYPN5iq6TH6jD1C0pso7zTep+g/CKsYgdrQd5QA==" }, - "node_modules/pend": { + "pend": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/pend/-/pend-1.2.0.tgz", "integrity": "sha512-F3asv42UuXchdzt+xXqfW1OGlVBe+mxa2mqI0pg5yAHZPvFmY3Y6drSf/GQ1A86WgWEN9Kzh/WrgKa6iGcHXLg==", "dev": true }, - "node_modules/performance-now": { + "performance-now": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", "integrity": "sha512-7EAHlyLHI56VEIdK57uwHdHKIaAGbnXPiw0yWbarQZOKaKpvUIgW0jWRVLiatnM+XXlSwsanIBH/hzGMJulMow==", "dev": true }, - "node_modules/persian-date": { + "persian-date": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/persian-date/-/persian-date-1.1.0.tgz", "integrity": "sha512-YwV3703jLTTJFFQfP3RvMfvKZc5Z1yE++Deywox+hkVLuVN81VsTaZFma9k5P9SgfSUvXjiylbQVuf4YYLGOow==" }, - "node_modules/persian-datepicker": { + "persian-datepicker": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/persian-datepicker/-/persian-datepicker-1.2.0.tgz", "integrity": "sha512-o0krgZQsLDxaADui8rVL7G4P1MXXi2IWFseFhgE7RahdaTqAcBj6C5fhwePMqOTJazl1PwB6dAQnKZ9VGKhItA==", - "dependencies": { + "requires": { "jquery": "^3.3.1", - "persian-date": "next" + "persian-date": "^1.1.0-rc2" + }, + "dependencies": { + "persian-date": { + "version": "1.1.0-rc2", + "resolved": "https://registry.npmjs.org/persian-date/-/persian-date-1.1.0-rc2.tgz", + "integrity": "sha512-qWkCzNn01wsNFJUcMOgatK8WJ2w+wLZXIFGvP2GYwN9nJ713NehDW02J2+yNPMmHqZRGUIG56MABqWw4MQKS6A==" + } } }, - "node_modules/persian-datepicker/node_modules/persian-date": { - "version": "1.1.0-rc2", - "resolved": "https://registry.npmjs.org/persian-date/-/persian-date-1.1.0-rc2.tgz", - "integrity": "sha512-qWkCzNn01wsNFJUcMOgatK8WJ2w+wLZXIFGvP2GYwN9nJ713NehDW02J2+yNPMmHqZRGUIG56MABqWw4MQKS6A==" - }, - "node_modules/picocolors": { + "picocolors": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.1.tgz", "integrity": "sha512-anP1Z8qwhkbmu7MFP5iTt+wQKXgwzf7zTyGlcdzabySa9vd0Xt392U0rVmz9poOaBj0uHJKyyo9/upk0HrEQew==", "dev": true }, - "node_modules/picomatch": { + "picomatch": { "version": "2.3.1", "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", - "dev": true, - "engines": { - "node": ">=8.6" - }, - "funding": { - "url": "https://github.com/sponsors/jonschlinkert" - } + "dev": true }, - "node_modules/pify": { + "pify": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==", - "dev": true, - "engines": { - "node": ">=6" - } + "dev": true }, - "node_modules/pinkie": { + "pinkie": { "version": "2.0.4", "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz", "integrity": "sha512-MnUuEycAemtSaeFSjXKW/aroV7akBbY+Sv+RkyqFjgAe73F+MR0TBWKBRDkmfWq/HiFmdavfZ1G7h4SPZXaCSg==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } + "dev": true }, - "node_modules/pinkie-promise": { + "pinkie-promise": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz", "integrity": "sha512-0Gni6D4UcLTbv9c57DfxDGdr41XfgUjqWZu492f0cIGr16zDU06BWP/RAEvOuo7CQ0CNjHaLlM59YJJFm3NWlw==", "dev": true, - "dependencies": { + "requires": { "pinkie": "^2.0.0" - }, - "engines": { - "node": ">=0.10.0" } }, - "node_modules/pkg-dir": { + "pkg-dir": { "version": "7.0.0", "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-7.0.0.tgz", "integrity": "sha512-Ie9z/WINcxxLp27BKOCHGde4ITq9UklYKDzVo1nhk5sqGEXU3FpkwP5GM2voTGJkGd9B3Otl+Q4uwSOeSUtOBA==", "dev": true, - "dependencies": { + "requires": { "find-up": "^6.3.0" - }, - "engines": { - "node": ">=14.16" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/popper.js": { - "version": "1.16.1", - "resolved": "https://registry.npmjs.org/popper.js/-/popper.js-1.16.1.tgz", - "integrity": "sha512-Wb4p1J4zyFTbM+u6WuO4XstYx4Ky9Cewe4DWrel7B0w6VVICvPwdOpotjzcf6eD8TsckVnIMNONQyPIUFOUbCQ==", - "deprecated": "You can find the new Popper v2 at @popperjs/core, this package is dedicated to the legacy v1", - "license": "MIT", - "peer": true, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/popperjs" - } - }, - "node_modules/postcss": { - "version": "8.4.40", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.40.tgz", - "integrity": "sha512-YF2kKIUzAofPMpfH6hOi2cGnv/HrUlfucspc7pDyvv7kGdqXrfj8SCl/t8owkEgKEuu8ZcRjSOxFxVLqwChZ2Q==", - "dev": true, - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/postcss" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "dependencies": { + } + }, + "postcss": { + "version": "8.4.41", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.41.tgz", + "integrity": "sha512-TesUflQ0WKZqAvg52PWL6kHgLKP6xB6heTOdoYM0Wt2UHyxNa4K25EZZMgKns3BH1RLVbZCREPpLY0rhnNoHVQ==", + "dev": true, + "requires": { "nanoid": "^3.3.7", "picocolors": "^1.0.1", "source-map-js": "^1.2.0" - }, - "engines": { - "node": "^10 || ^12 || >=14" } }, - "node_modules/postcss-loader": { + "postcss-loader": { "version": "8.1.1", "resolved": "https://registry.npmjs.org/postcss-loader/-/postcss-loader-8.1.1.tgz", "integrity": "sha512-0IeqyAsG6tYiDRCYKQJLAmgQr47DX6N7sFSWvQxt6AcupX8DIdmykuk/o/tx0Lze3ErGHJEp5OSRxrelC6+NdQ==", "dev": true, - "dependencies": { + "requires": { "cosmiconfig": "^9.0.0", "jiti": "^1.20.0", "semver": "^7.5.4" }, - "engines": { - "node": ">= 18.12.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependencies": { - "@rspack/core": "0.x || 1.x", - "postcss": "^7.0.0 || ^8.0.1", - "webpack": "^5.0.0" - }, - "peerDependenciesMeta": { - "@rspack/core": { - "optional": true - }, - "webpack": { - "optional": true + "dependencies": { + "semver": { + "version": "7.6.3", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz", + "integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==", + "dev": true } } }, - "node_modules/postcss-loader/node_modules/semver": { - "version": "7.6.3", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz", - "integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==", - "dev": true, - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/postcss-modules-extract-imports": { + "postcss-modules-extract-imports": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/postcss-modules-extract-imports/-/postcss-modules-extract-imports-3.1.0.tgz", "integrity": "sha512-k3kNe0aNFQDAZGbin48pL2VNidTF0w4/eASDsxlyspobzU3wZQLOGj7L9gfRe0Jo9/4uud09DsjFNH7winGv8Q==", - "dev": true, - "engines": { - "node": "^10 || ^12 || >= 14" - }, - "peerDependencies": { - "postcss": "^8.1.0" - } + "dev": true }, - "node_modules/postcss-modules-local-by-default": { + "postcss-modules-local-by-default": { "version": "4.0.5", "resolved": "https://registry.npmjs.org/postcss-modules-local-by-default/-/postcss-modules-local-by-default-4.0.5.tgz", "integrity": "sha512-6MieY7sIfTK0hYfafw1OMEG+2bg8Q1ocHCpoWLqOKj3JXlKu4G7btkmM/B7lFubYkYWmRSPLZi5chid63ZaZYw==", "dev": true, - "dependencies": { + "requires": { "icss-utils": "^5.0.0", "postcss-selector-parser": "^6.0.2", "postcss-value-parser": "^4.1.0" - }, - "engines": { - "node": "^10 || ^12 || >= 14" - }, - "peerDependencies": { - "postcss": "^8.1.0" } }, - "node_modules/postcss-modules-scope": { + "postcss-modules-scope": { "version": "3.2.0", "resolved": "https://registry.npmjs.org/postcss-modules-scope/-/postcss-modules-scope-3.2.0.tgz", "integrity": "sha512-oq+g1ssrsZOsx9M96c5w8laRmvEu9C3adDSjI8oTcbfkrTE8hx/zfyobUoWIxaKPO8bt6S62kxpw5GqypEw1QQ==", "dev": true, - "dependencies": { + "requires": { "postcss-selector-parser": "^6.0.4" - }, - "engines": { - "node": "^10 || ^12 || >= 14" - }, - "peerDependencies": { - "postcss": "^8.1.0" } }, - "node_modules/postcss-modules-values": { + "postcss-modules-values": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/postcss-modules-values/-/postcss-modules-values-4.0.0.tgz", "integrity": "sha512-RDxHkAiEGI78gS2ofyvCsu7iycRv7oqw5xMWn9iMoR0N/7mf9D50ecQqUo5BZ9Zh2vH4bCUR/ktCqbB9m8vJjQ==", "dev": true, - "dependencies": { + "requires": { "icss-utils": "^5.0.0" - }, - "engines": { - "node": "^10 || ^12 || >= 14" - }, - "peerDependencies": { - "postcss": "^8.1.0" } }, - "node_modules/postcss-selector-parser": { - "version": "6.1.1", - "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.1.1.tgz", - "integrity": "sha512-b4dlw/9V8A71rLIDsSwVmak9z2DuBUB7CA1/wSdelNEzqsjoSPeADTWNO09lpH49Diy3/JIZ2bSPB1dI3LJCHg==", + "postcss-selector-parser": { + "version": "6.1.2", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.1.2.tgz", + "integrity": "sha512-Q8qQfPiZ+THO/3ZrOrO0cJJKfpYCagtMUkXbnEfmgUjwXg6z/WBeOyS9APBBPCTSiDV+s4SwQGu8yFsiMRIudg==", "dev": true, - "dependencies": { + "requires": { "cssesc": "^3.0.0", "util-deprecate": "^1.0.2" - }, - "engines": { - "node": ">=4" } }, - "node_modules/postcss-value-parser": { + "postcss-value-parser": { "version": "4.2.0", "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz", "integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==", "dev": true }, - "node_modules/prelude-ls": { + "prelude-ls": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", - "dev": true, - "engines": { - "node": ">= 0.8.0" - } + "dev": true }, - "node_modules/pretty-bytes": { + "pretty-bytes": { "version": "5.6.0", "resolved": "https://registry.npmjs.org/pretty-bytes/-/pretty-bytes-5.6.0.tgz", "integrity": "sha512-FFw039TmrBqFK8ma/7OL3sDz/VytdtJr044/QUJtH0wK9lb9jLq9tJyIxUwtQJHwar2BqtiA4iCWSwo9JLkzFg==", - "dev": true, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } + "dev": true }, - "node_modules/process": { + "process": { "version": "0.11.10", "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz", "integrity": "sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==", - "dev": true, - "engines": { - "node": ">= 0.6.0" - } + "dev": true }, - "node_modules/proxy-from-env": { + "proxy-from-env": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.0.0.tgz", "integrity": "sha512-F2JHgJQ1iqwnHDcQjVBsq3n/uoaFL+iPW/eAeL7kVxy/2RrWaN4WroKjjvbsoRtv0ftelNyC01bjRhn/bhcf4A==", "dev": true }, - "node_modules/prr": { + "prr": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/prr/-/prr-1.0.1.tgz", "integrity": "sha512-yPw4Sng1gWghHQWj0B3ZggWUm4qVbPwPFcRG8KyxiU7J2OHFSoEHKS+EZ3fv5l1t9CyCiop6l/ZYeWbrgoQejw==", "dev": true, "optional": true }, - "node_modules/psl": { + "psl": { "version": "1.9.0", "resolved": "https://registry.npmjs.org/psl/-/psl-1.9.0.tgz", "integrity": "sha512-E/ZsdU4HLs/68gYzgGTkMicWTLPdAftJLfJFlLUAAKZGkStNU72sZjT66SnMDVOfOWY/YAoiD7Jxa9iHvngcag==", "dev": true }, - "node_modules/pump": { + "pump": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", "dev": true, - "dependencies": { + "requires": { "end-of-stream": "^1.1.0", "once": "^1.3.1" } }, - "node_modules/punycode": { + "punycode": { "version": "2.3.1", "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz", "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==", - "dev": true, - "engines": { - "node": ">=6" - } + "dev": true }, - "node_modules/qs": { + "qs": { "version": "6.10.4", "resolved": "https://registry.npmjs.org/qs/-/qs-6.10.4.tgz", "integrity": "sha512-OQiU+C+Ds5qiH91qh/mg0w+8nwQuLjM4F4M/PbmhDOoYehPh+Fb0bDjtR1sOvy7YKxvj28Y/M0PhP5uVX0kB+g==", "dev": true, - "dependencies": { + "requires": { "side-channel": "^1.0.4" - }, - "engines": { - "node": ">=0.6" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/querystringify": { + "querystringify": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/querystringify/-/querystringify-2.2.0.tgz", "integrity": "sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ==", "dev": true }, - "node_modules/queue-microtask": { + "queue-microtask": { "version": "1.2.3", "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ] + "dev": true }, - "node_modules/randombytes": { + "randombytes": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", "dev": true, - "dependencies": { + "requires": { "safe-buffer": "^5.1.0" } }, - "node_modules/raw-loader": { + "raw-loader": { "version": "0.5.1", "resolved": "https://registry.npmjs.org/raw-loader/-/raw-loader-0.5.1.tgz", "integrity": "sha512-sf7oGoLuaYAScB4VGr0tzetsYlS8EJH6qnTCfQ/WVEa89hALQ4RQfCKt5xCyPQKPDUbVUAIP1QsxAwfAjlDp7Q==", "dev": true }, - "node_modules/react-css-styled": { + "react-css-styled": { "version": "1.1.9", "resolved": "https://registry.npmjs.org/react-css-styled/-/react-css-styled-1.1.9.tgz", "integrity": "sha512-M7fJZ3IWFaIHcZEkoFOnkjdiUFmwd8d+gTh2bpqMOcnxy/0Gsykw4dsL4QBiKsxcGow6tETUa4NAUcmJF+/nfw==", - "dependencies": { + "requires": { "css-styled": "~1.0.8", "framework-utils": "^1.1.0" } }, - "node_modules/react-moveable": { + "react-moveable": { "version": "0.56.0", "resolved": "https://registry.npmjs.org/react-moveable/-/react-moveable-0.56.0.tgz", "integrity": "sha512-FmJNmIOsOA36mdxbrc/huiE4wuXSRlmon/o+/OrfNhSiYYYL0AV5oObtPluEhb2Yr/7EfYWBHTxF5aWAvjg1SA==", - "dependencies": { + "requires": { "@daybrush/utils": "^1.13.0", "@egjs/agent": "^2.2.1", "@egjs/children-differ": "^1.0.1", @@ -7615,406 +5414,304 @@ "react-selecto": "^1.25.0" } }, - "node_modules/react-selecto": { + "react-selecto": { "version": "1.26.3", "resolved": "https://registry.npmjs.org/react-selecto/-/react-selecto-1.26.3.tgz", "integrity": "sha512-Ubik7kWSnZyQEBNro+1k38hZaI1tJarE+5aD/qsqCOA1uUBSjgKVBy3EWRzGIbdmVex7DcxznFZLec/6KZNvwQ==", - "dependencies": { + "requires": { "selecto": "~1.26.3" } }, - "node_modules/readdirp": { + "readdirp": { "version": "3.6.0", "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", "dev": true, - "dependencies": { + "requires": { "picomatch": "^2.2.1" - }, - "engines": { - "node": ">=8.10.0" } }, - "node_modules/rechoir": { + "rechoir": { "version": "0.8.0", "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.8.0.tgz", "integrity": "sha512-/vxpCXddiX8NGfGO/mTafwjq4aFa/71pvamip0++IQk3zG8cbCj0fifNPrjjF1XMXUne91jL9OoxmdykoEtifQ==", "dev": true, - "dependencies": { + "requires": { "resolve": "^1.20.0" - }, - "engines": { - "node": ">= 10.13.0" } }, - "node_modules/regenerate": { + "regenerate": { "version": "1.4.2", "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.4.2.tgz", "integrity": "sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==", "dev": true }, - "node_modules/regenerate-unicode-properties": { + "regenerate-unicode-properties": { "version": "10.1.1", "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-10.1.1.tgz", "integrity": "sha512-X007RyZLsCJVVrjgEFVpLUTZwyOZk3oiL75ZcuYjlIWd6rNJtOjkBwQc5AsRrpbKVkxN6sklw/k/9m2jJYOf8Q==", "dev": true, - "dependencies": { + "requires": { "regenerate": "^1.4.2" - }, - "engines": { - "node": ">=4" } }, - "node_modules/regenerator-runtime": { + "regenerator-runtime": { "version": "0.14.1", "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.14.1.tgz", "integrity": "sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw==", "dev": true }, - "node_modules/regenerator-transform": { + "regenerator-transform": { "version": "0.15.2", "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.15.2.tgz", "integrity": "sha512-hfMp2BoF0qOk3uc5V20ALGDS2ddjQaLrdl7xrGXvAIow7qeWRM2VA2HuCHkUKk9slq3VwEwLNK3DFBqDfPGYtg==", "dev": true, - "dependencies": { + "requires": { "@babel/runtime": "^7.8.4" } }, - "node_modules/regexpu-core": { + "regexpu-core": { "version": "5.3.2", "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-5.3.2.tgz", "integrity": "sha512-RAM5FlZz+Lhmo7db9L298p2vHP5ZywrVXmVXpmAD9GuL5MPH6t9ROw1iA/wfHkQ76Qe7AaPF0nGuim96/IrQMQ==", "dev": true, - "dependencies": { + "requires": { "@babel/regjsgen": "^0.8.0", "regenerate": "^1.4.2", "regenerate-unicode-properties": "^10.1.0", "regjsparser": "^0.9.1", "unicode-match-property-ecmascript": "^2.0.0", "unicode-match-property-value-ecmascript": "^2.1.0" - }, - "engines": { - "node": ">=4" } }, - "node_modules/regjsparser": { + "regjsparser": { "version": "0.9.1", "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.9.1.tgz", "integrity": "sha512-dQUtn90WanSNl+7mQKcXAgZxvUe7Z0SqXlgzv0za4LwiUhyzBC58yQO3liFoUgu8GiJVInAhJjkj1N0EtQ5nkQ==", "dev": true, - "dependencies": { + "requires": { "jsesc": "~0.5.0" }, - "bin": { - "regjsparser": "bin/parser" - } - }, - "node_modules/regjsparser/node_modules/jsesc": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz", - "integrity": "sha512-uZz5UnB7u4T9LvwmFqXii7pZSouaRPorGs5who1Ip7VO0wxanFvBL7GkM6dTHlgX+jhBApRetaWpnDabOeTcnA==", - "dev": true, - "bin": { - "jsesc": "bin/jsesc" + "dependencies": { + "jsesc": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz", + "integrity": "sha512-uZz5UnB7u4T9LvwmFqXii7pZSouaRPorGs5who1Ip7VO0wxanFvBL7GkM6dTHlgX+jhBApRetaWpnDabOeTcnA==", + "dev": true + } } }, - "node_modules/repeat-string": { + "repeat-string": { "version": "1.6.1", "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz", - "integrity": "sha512-PV0dzCYDNfRi1jCDbJzpW7jNNDRuCOG/jI5ctQcGKt/clZD+YcPS3yIlWuTJMmESC8aevCFmWJy5wjAFgNqN6w==", - "engines": { - "node": ">=0.10" - } + "integrity": "sha512-PV0dzCYDNfRi1jCDbJzpW7jNNDRuCOG/jI5ctQcGKt/clZD+YcPS3yIlWuTJMmESC8aevCFmWJy5wjAFgNqN6w==" }, - "node_modules/request-progress": { + "request-progress": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/request-progress/-/request-progress-3.0.0.tgz", "integrity": "sha512-MnWzEHHaxHO2iWiQuHrUPBi/1WeBf5PkxQqNyNvLl9VAYSdXkP8tQ3pBSeCPD+yw0v0Aq1zosWLz0BdeXpWwZg==", "dev": true, - "dependencies": { + "requires": { "throttleit": "^1.0.0" } }, - "node_modules/require-from-string": { + "require-from-string": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz", "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } + "dev": true }, - "node_modules/requires-port": { + "requires-port": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz", "integrity": "sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==", "dev": true }, - "node_modules/resolve": { + "resolve": { "version": "1.22.8", "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.8.tgz", "integrity": "sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==", "dev": true, - "dependencies": { + "requires": { "is-core-module": "^2.13.0", "path-parse": "^1.0.7", "supports-preserve-symlinks-flag": "^1.0.0" - }, - "bin": { - "resolve": "bin/resolve" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/resolve-cwd": { + "resolve-cwd": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-3.0.0.tgz", "integrity": "sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg==", "dev": true, - "dependencies": { + "requires": { "resolve-from": "^5.0.0" }, - "engines": { - "node": ">=8" - } - }, - "node_modules/resolve-cwd/node_modules/resolve-from": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", - "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", - "dev": true, - "engines": { - "node": ">=8" + "dependencies": { + "resolve-from": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", + "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", + "dev": true + } } }, - "node_modules/resolve-from": { + "resolve-from": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", - "dev": true, - "engines": { - "node": ">=4" - } + "dev": true }, - "node_modules/restore-cursor": { + "restore-cursor": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-3.1.0.tgz", "integrity": "sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==", "dev": true, - "dependencies": { + "requires": { "onetime": "^5.1.0", "signal-exit": "^3.0.2" - }, - "engines": { - "node": ">=8" } }, - "node_modules/reusify": { + "reusify": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", - "dev": true, - "engines": { - "iojs": ">=1.0.0", - "node": ">=0.10.0" - } + "dev": true }, - "node_modules/rfdc": { + "rfdc": { "version": "1.4.1", "resolved": "https://registry.npmjs.org/rfdc/-/rfdc-1.4.1.tgz", "integrity": "sha512-q1b3N5QkRUWUl7iyylaaj3kOpIT0N2i9MqIEQXP73GVsN9cw3fdx8X63cEmWhJGi2PPCF23Ijp7ktmd39rawIA==", "dev": true }, - "node_modules/right-align": { + "right-align": { "version": "0.1.3", "resolved": "https://registry.npmjs.org/right-align/-/right-align-0.1.3.tgz", "integrity": "sha512-yqINtL/G7vs2v+dFIZmFUDbnVyFUJFKd6gK22Kgo6R4jfJGFtisKyncWDDULgjfqf4ASQuIQyjJ7XZ+3aWpsAg==", - "dependencies": { + "requires": { "align-text": "^0.1.1" - }, - "engines": { - "node": ">=0.10.0" } }, - "node_modules/rimraf": { - "version": "2.7.1", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", - "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", - "deprecated": "Rimraf versions prior to v4 are no longer supported", - "dev": true, - "dependencies": { + "rimraf": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "requires": { "glob": "^7.1.3" - }, - "bin": { - "rimraf": "bin.js" } }, - "node_modules/run-parallel": { + "run-parallel": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "dependencies": { + "requires": { "queue-microtask": "^1.2.2" } }, - "node_modules/rxjs": { + "rxjs": { "version": "7.8.1", "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-7.8.1.tgz", "integrity": "sha512-AA3TVj+0A2iuIoQkWEK/tqFjBq2j+6PO6Y0zJcvzLAFhEFIO3HL0vls9hWLncZbAAbK0mar7oZ4V079I/qPMxg==", "dev": true, - "dependencies": { + "requires": { "tslib": "^2.1.0" } }, - "node_modules/safe-buffer": { + "safe-buffer": { "version": "5.2.1", "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ] + "dev": true }, - "node_modules/safer-buffer": { + "safer-buffer": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", "dev": true }, - "node_modules/sass": { + "sass": { "version": "1.77.8", "resolved": "https://registry.npmjs.org/sass/-/sass-1.77.8.tgz", "integrity": "sha512-4UHg6prsrycW20fqLGPShtEvo/WyHRVRHwOP4DzkUrObWoWI05QBSfzU71TVB7PFaL104TwNaHpjlWXAZbQiNQ==", "dev": true, - "dependencies": { + "requires": { "chokidar": ">=3.0.0 <4.0.0", "immutable": "^4.0.0", "source-map-js": ">=0.6.2 <2.0.0" - }, - "bin": { - "sass": "sass.js" - }, - "engines": { - "node": ">=14.0.0" } }, - "node_modules/sass-loader": { - "version": "16.0.0", - "resolved": "https://registry.npmjs.org/sass-loader/-/sass-loader-16.0.0.tgz", - "integrity": "sha512-n13Z+3rU9A177dk4888czcVFiC8CL9dii4qpXWUg3YIIgZEvi9TCFKjOQcbK0kJM7DJu9VucrZFddvNfYCPwtw==", + "sass-loader": { + "version": "16.0.1", + "resolved": "https://registry.npmjs.org/sass-loader/-/sass-loader-16.0.1.tgz", + "integrity": "sha512-xACl1ToTsKnL9Ce5yYpRxrLj9QUDCnwZNhzpC7tKiFyA8zXsd3Ap+HGVnbCgkdQcm43E+i6oKAWBsvGA6ZoiMw==", "dev": true, - "dependencies": { + "requires": { "neo-async": "^2.6.2" - }, - "engines": { - "node": ">= 18.12.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependencies": { - "@rspack/core": "0.x || 1.x", - "node-sass": "^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0 || ^9.0.0", - "sass": "^1.3.0", - "sass-embedded": "*", - "webpack": "^5.0.0" - }, - "peerDependenciesMeta": { - "@rspack/core": { - "optional": true - }, - "node-sass": { - "optional": true - }, - "sass": { - "optional": true - }, - "sass-embedded": { - "optional": true - }, - "webpack": { - "optional": true - } } }, - "node_modules/sax": { + "sax": { "version": "1.4.1", "resolved": "https://registry.npmjs.org/sax/-/sax-1.4.1.tgz", "integrity": "sha512-+aWOz7yVScEGoKNd4PA10LZ8sk0A/z5+nXQG5giUO5rprX9jgYsTdov9qCchZiPIZezbZH+jRut8nPodFAX4Jg==", "dev": true, "optional": true }, - "node_modules/schema-utils": { + "schema-utils": { "version": "4.2.0", "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.2.0.tgz", "integrity": "sha512-L0jRsrPpjdckP3oPug3/VxNKt2trR8TcabrM6FOAAlvC/9Phcmm+cuAgTlxBqdBR1WJx7Naj9WHw+aOmheSVbw==", "dev": true, - "dependencies": { + "requires": { "@types/json-schema": "^7.0.9", "ajv": "^8.9.0", "ajv-formats": "^2.1.1", "ajv-keywords": "^5.1.0" }, - "engines": { - "node": ">= 12.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" + "dependencies": { + "ajv": { + "version": "8.17.1", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.17.1.tgz", + "integrity": "sha512-B/gBuNg5SiMTrPkC+A2+cW0RszwxYmn6VYxB/inlBStS5nx6xHIt/ehKRhIMhqusl7a8LjQoZnjCs5vhwxOQ1g==", + "dev": true, + "requires": { + "fast-deep-equal": "^3.1.3", + "fast-uri": "^3.0.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2" + } + }, + "json-schema-traverse": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", + "dev": true + } } }, - "node_modules/script-loader": { + "script-loader": { "version": "0.7.2", "resolved": "https://registry.npmjs.org/script-loader/-/script-loader-0.7.2.tgz", "integrity": "sha512-UMNLEvgOAQuzK8ji8qIscM3GIrRCWN6MmMXGD4SD5l6cSycgGsCo0tX5xRnfQcoghqct0tjHjcykgI1PyBE2aA==", "dev": true, - "dependencies": { + "requires": { "raw-loader": "~0.5.1" } }, - "node_modules/select2": { + "select2": { "version": "4.1.0-rc.0", "resolved": "https://registry.npmjs.org/select2/-/select2-4.1.0-rc.0.tgz", "integrity": "sha512-Hr9TdhyHCZUtwznEH2CBf7967mEM0idtJ5nMtjvk3Up5tPukOLXbHUNmh10oRfeNIhj+3GD3niu+g6sVK+gK0A==" }, - "node_modules/select2-bootstrap-theme": { + "select2-bootstrap-theme": { "version": "0.1.0-beta.10", "resolved": "https://registry.npmjs.org/select2-bootstrap-theme/-/select2-bootstrap-theme-0.1.0-beta.10.tgz", "integrity": "sha512-gc9Y9yNjkGRqeFmI/pAKyL4maMKH9VKAn62E+uF/hxz8FTmfuKH0sDEGhFhk3f8Jp+emtsDdK1c1nb6S51BV0Q==" }, - "node_modules/selecto": { + "selecto": { "version": "1.26.3", "resolved": "https://registry.npmjs.org/selecto/-/selecto-1.26.3.tgz", "integrity": "sha512-gZHgqMy5uyB6/2YDjv3Qqaf7bd2hTDOpPdxXlrez4R3/L0GiEWDCFaUfrflomgqdb3SxHF2IXY0Jw0EamZi7cw==", - "dependencies": { + "requires": { "@daybrush/utils": "^1.13.0", "@egjs/children-differ": "^1.0.1", "@scena/dragscroll": "^1.4.0", @@ -8025,204 +5722,146 @@ "gesto": "^1.19.4", "keycon": "^1.2.0", "overlap-area": "^1.1.0" + }, + "dependencies": { + "css-to-mat": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/css-to-mat/-/css-to-mat-1.1.1.tgz", + "integrity": "sha512-kvpxFYZb27jRd2vium35G7q5XZ2WJ9rWjDUMNT36M3Hc41qCrLXFM5iEKMGXcrPsKfXEN+8l/riB4QzwwwiEyQ==", + "requires": { + "@daybrush/utils": "^1.13.0", + "@scena/matrix": "^1.0.0" + } + }, + "gesto": { + "version": "1.19.4", + "resolved": "https://registry.npmjs.org/gesto/-/gesto-1.19.4.tgz", + "integrity": "sha512-hfr/0dWwh0Bnbb88s3QVJd1ZRJeOWcgHPPwmiH6NnafDYvhTsxg+SLYu+q/oPNh9JS3V+nlr6fNs8kvPAtcRDQ==", + "requires": { + "@daybrush/utils": "^1.13.0", + "@scena/event-emitter": "^1.0.2" + } + } } }, - "node_modules/semver": { + "semver": { "version": "6.3.1", "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", - "dev": true, - "bin": { - "semver": "bin/semver.js" - } - }, - "node_modules/serialize-javascript": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.2.tgz", - "integrity": "sha512-Saa1xPByTTq2gdeFZYLLo+RFE35NHZkAbqZeWNd3BpzppeVisAqpDjcp8dyf6uIvEqJRd46jemmyA4iFIeVk8g==", - "dev": true, - "dependencies": { - "randombytes": "^2.1.0" - } + "dev": true }, - "node_modules/set-function-length": { + "set-function-length": { "version": "1.2.2", "resolved": "https://registry.npmjs.org/set-function-length/-/set-function-length-1.2.2.tgz", "integrity": "sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==", "dev": true, - "dependencies": { + "requires": { "define-data-property": "^1.1.4", "es-errors": "^1.3.0", "function-bind": "^1.1.2", "get-intrinsic": "^1.2.4", "gopd": "^1.0.1", "has-property-descriptors": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" } }, - "node_modules/shallow-clone": { + "shallow-clone": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/shallow-clone/-/shallow-clone-3.0.1.tgz", "integrity": "sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA==", "dev": true, - "dependencies": { + "requires": { "kind-of": "^6.0.2" }, - "engines": { - "node": ">=8" - } - }, - "node_modules/shallow-clone/node_modules/kind-of": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", - "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", - "dev": true, - "engines": { - "node": ">=0.10.0" + "dependencies": { + "kind-of": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", + "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", + "dev": true + } } }, - "node_modules/shebang-command": { + "shebang-command": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", "dev": true, - "dependencies": { + "requires": { "shebang-regex": "^3.0.0" - }, - "engines": { - "node": ">=8" } }, - "node_modules/shebang-regex": { + "shebang-regex": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", - "dev": true, - "engines": { - "node": ">=8" - } + "dev": true }, - "node_modules/side-channel": { + "side-channel": { "version": "1.0.6", "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.6.tgz", "integrity": "sha512-fDW/EZ6Q9RiO8eFG8Hj+7u/oW+XrPTIChwCOM2+th2A6OblDtYYIpve9m+KvI9Z4C9qSEXlaGR6bTEYHReuglA==", "dev": true, - "dependencies": { + "requires": { "call-bind": "^1.0.7", "es-errors": "^1.3.0", "get-intrinsic": "^1.2.4", "object-inspect": "^1.13.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/signal-exit": { + "signal-exit": { "version": "3.0.7", "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", "dev": true }, - "node_modules/slash": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-5.1.0.tgz", - "integrity": "sha512-ZA6oR3T/pEyuqwMgAKT0/hAv8oAXckzbkmR0UkUosQ+Mc4RxGoJkRmwHgHufaenlyAgE1Mxgpdcrf75y6XcnDg==", - "dev": true, - "engines": { - "node": ">=14.16" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/slice-ansi": { + "slice-ansi": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-3.0.0.tgz", "integrity": "sha512-pSyv7bSTC7ig9Dcgbw9AuRNUb5k5V6oDudjZoMBSr13qpLBG7tB+zgCkARjq7xIUgdz5P1Qe8u+rSGdouOOIyQ==", "dev": true, - "dependencies": { + "requires": { "ansi-styles": "^4.0.0", "astral-regex": "^2.0.0", "is-fullwidth-code-point": "^3.0.0" }, - "engines": { - "node": ">=8" - } - }, - "node_modules/slice-ansi/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/slice-ansi/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + } } }, - "node_modules/source-map": { + "source-map": { "version": "0.5.7", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==", - "engines": { - "node": ">=0.10.0" - } + "integrity": "sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==" }, - "node_modules/source-map-js": { + "source-map-js": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.0.tgz", "integrity": "sha512-itJW8lvSA0TXEphiRoawsCksnlf8SyvmFzIhltqAHluXd88pkCd+cXJVHTDwdCr0IzwptSm035IHQktUu1QUMg==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/source-map-support": { - "version": "0.5.21", - "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", - "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", - "dev": true, - "dependencies": { - "buffer-from": "^1.0.0", - "source-map": "^0.6.0" - } - }, - "node_modules/source-map-support/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } + "dev": true }, - "node_modules/sshpk": { + "sshpk": { "version": "1.18.0", "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.18.0.tgz", "integrity": "sha512-2p2KJZTSqQ/I3+HX42EpYOa2l3f8Erv8MWKsy2I9uf4wA7yFIkXRffYdsx86y6z4vHtV8u7g+pPlr8/4ouAxsQ==", "dev": true, - "dependencies": { + "requires": { "asn1": "~0.2.3", "assert-plus": "^1.0.0", "bcrypt-pbkdf": "^1.0.0", @@ -8232,627 +5871,416 @@ "jsbn": "~0.1.0", "safer-buffer": "^2.0.2", "tweetnacl": "~0.14.0" - }, - "bin": { - "sshpk-conv": "bin/sshpk-conv", - "sshpk-sign": "bin/sshpk-sign", - "sshpk-verify": "bin/sshpk-verify" - }, - "engines": { - "node": ">=0.10.0" } }, - "node_modules/string-width": { + "string-width": { "version": "4.2.3", "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", "dev": true, - "dependencies": { + "requires": { "emoji-regex": "^8.0.0", "is-fullwidth-code-point": "^3.0.0", "strip-ansi": "^6.0.1" - }, - "engines": { - "node": ">=8" } }, - "node_modules/strip-ansi": { + "strip-ansi": { "version": "6.0.1", "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", "dev": true, - "dependencies": { + "requires": { "ansi-regex": "^5.0.1" - }, - "engines": { - "node": ">=8" } }, - "node_modules/strip-comments": { + "strip-comments": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/strip-comments/-/strip-comments-2.0.1.tgz", "integrity": "sha512-ZprKx+bBLXv067WTCALv8SSz5l2+XhpYCsVtSqlMnkAXMWDq+/ekVbl1ghqP9rUHTzv6sm/DwCOiYutU/yp1fw==", - "dev": true, - "engines": { - "node": ">=10" - } + "dev": true }, - "node_modules/strip-final-newline": { + "strip-final-newline": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz", "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==", - "dev": true, - "engines": { - "node": ">=6" - } + "dev": true }, - "node_modules/strip-json-comments": { + "strip-json-comments": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", - "dev": true, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } + "dev": true }, - "node_modules/style-loader": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/style-loader/-/style-loader-4.0.0.tgz", - "integrity": "sha512-1V4WqhhZZgjVAVJyt7TdDPZoPBPNHbekX4fWnCJL1yQukhCeZhJySUL+gL9y6sNdN95uEOS83Y55SqHcP7MzLA==", - "dev": true, - "engines": { - "node": ">= 18.12.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependencies": { - "webpack": "^5.27.0" - } + "style-loader": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/style-loader/-/style-loader-4.0.0.tgz", + "integrity": "sha512-1V4WqhhZZgjVAVJyt7TdDPZoPBPNHbekX4fWnCJL1yQukhCeZhJySUL+gL9y6sNdN95uEOS83Y55SqHcP7MzLA==", + "dev": true }, - "node_modules/supports-color": { + "supports-color": { "version": "5.5.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", "dev": true, - "dependencies": { + "requires": { "has-flag": "^3.0.0" - }, - "engines": { - "node": ">=4" } }, - "node_modules/supports-preserve-symlinks-flag": { + "supports-preserve-symlinks-flag": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", - "dev": true, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } + "dev": true }, - "node_modules/tapable": { + "tapable": { "version": "2.2.1", "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.1.tgz", "integrity": "sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==", - "dev": true, - "engines": { - "node": ">=6" - } + "dev": true }, - "node_modules/terser": { - "version": "5.31.3", - "resolved": "https://registry.npmjs.org/terser/-/terser-5.31.3.tgz", - "integrity": "sha512-pAfYn3NIZLyZpa83ZKigvj6Rn9c/vd5KfYGX7cN1mnzqgDcxWvrU5ZtAfIKhEXz9nRecw4z3LXkjaq96/qZqAA==", + "terser": { + "version": "5.31.6", + "resolved": "https://registry.npmjs.org/terser/-/terser-5.31.6.tgz", + "integrity": "sha512-PQ4DAriWzKj+qgehQ7LK5bQqCFNMmlhjR2PFFLuqGCpuCAauxemVBWwWOxo3UIwWQx8+Pr61Df++r76wDmkQBg==", "dev": true, - "dependencies": { + "requires": { "@jridgewell/source-map": "^0.3.3", "acorn": "^8.8.2", "commander": "^2.20.0", "source-map-support": "~0.5.20" }, - "bin": { - "terser": "bin/terser" - }, - "engines": { - "node": ">=10" + "dependencies": { + "commander": { + "version": "2.20.3", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", + "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", + "dev": true + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + }, + "source-map-support": { + "version": "0.5.21", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", + "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", + "dev": true, + "requires": { + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" + } + } } }, - "node_modules/terser-webpack-plugin": { + "terser-webpack-plugin": { "version": "5.3.10", "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.3.10.tgz", "integrity": "sha512-BKFPWlPDndPs+NGGCr1U59t0XScL5317Y0UReNrHaw9/FwhPENlq6bfgs+4yPfyP51vqC1bQ4rp1EfXW5ZSH9w==", "dev": true, - "dependencies": { + "requires": { "@jridgewell/trace-mapping": "^0.3.20", "jest-worker": "^27.4.5", "schema-utils": "^3.1.1", "serialize-javascript": "^6.0.1", "terser": "^5.26.0" }, - "engines": { - "node": ">= 10.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependencies": { - "webpack": "^5.1.0" - }, - "peerDependenciesMeta": { - "@swc/core": { - "optional": true + "dependencies": { + "ajv-keywords": { + "version": "3.5.2", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", + "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", + "dev": true }, - "esbuild": { - "optional": true + "schema-utils": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.3.0.tgz", + "integrity": "sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==", + "dev": true, + "requires": { + "@types/json-schema": "^7.0.8", + "ajv": "^6.12.5", + "ajv-keywords": "^3.5.2" + } }, - "uglify-js": { - "optional": true + "serialize-javascript": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.2.tgz", + "integrity": "sha512-Saa1xPByTTq2gdeFZYLLo+RFE35NHZkAbqZeWNd3BpzppeVisAqpDjcp8dyf6uIvEqJRd46jemmyA4iFIeVk8g==", + "dev": true, + "requires": { + "randombytes": "^2.1.0" + } } } }, - "node_modules/terser-webpack-plugin/node_modules/ajv": { - "version": "6.12.6", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", - "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", - "dev": true, - "dependencies": { - "fast-deep-equal": "^3.1.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" - } - }, - "node_modules/terser-webpack-plugin/node_modules/ajv-keywords": { - "version": "3.5.2", - "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", - "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", - "dev": true, - "peerDependencies": { - "ajv": "^6.9.1" - } - }, - "node_modules/terser-webpack-plugin/node_modules/json-schema-traverse": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", - "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", - "dev": true - }, - "node_modules/terser-webpack-plugin/node_modules/schema-utils": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.3.0.tgz", - "integrity": "sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==", - "dev": true, - "dependencies": { - "@types/json-schema": "^7.0.8", - "ajv": "^6.12.5", - "ajv-keywords": "^3.5.2" - }, - "engines": { - "node": ">= 10.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - } - }, - "node_modules/terser/node_modules/commander": { - "version": "2.20.3", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", - "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", - "dev": true - }, - "node_modules/text-table": { + "text-table": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", "integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==", "dev": true }, - "node_modules/throttleit": { + "throttleit": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/throttleit/-/throttleit-1.0.1.tgz", "integrity": "sha512-vDZpf9Chs9mAdfY046mcPt8fg5QSZr37hEH4TXYBnDF+izxgrbRGUAAaBvIk/fJm9aOFCGFd1EsNg5AZCbnQCQ==", - "dev": true, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } + "dev": true }, - "node_modules/through": { + "through": { "version": "2.3.8", "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", "integrity": "sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==", "dev": true }, - "node_modules/tmp": { + "tmp": { "version": "0.2.3", "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.2.3.tgz", "integrity": "sha512-nZD7m9iCPC5g0pYmcaxogYKggSfLsdxl8of3Q/oIbqCqLLIO9IAF0GWjX1z9NZRHPiXv8Wex4yDCaZsgEw0Y8w==", - "dev": true, - "engines": { - "node": ">=14.14" - } + "dev": true }, - "node_modules/to-fast-properties": { + "to-fast-properties": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", "integrity": "sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==", - "dev": true, - "engines": { - "node": ">=4" - } + "dev": true }, - "node_modules/to-regex-range": { + "to-regex-range": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", "dev": true, - "dependencies": { + "requires": { "is-number": "^7.0.0" - }, - "engines": { - "node": ">=8.0" } }, - "node_modules/toastr": { + "toastr": { "version": "2.1.4", "resolved": "https://registry.npmjs.org/toastr/-/toastr-2.1.4.tgz", "integrity": "sha512-LIy77F5n+sz4tefMmFOntcJ6HL0Fv3k1TDnNmFZ0bU/GcvIIfy6eG2v7zQmMiYgaalAiUv75ttFrPn5s0gyqlA==", - "dependencies": { + "requires": { "jquery": ">=1.12.0" } }, - "node_modules/tough-cookie": { + "tough-cookie": { "version": "4.1.4", "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-4.1.4.tgz", "integrity": "sha512-Loo5UUvLD9ScZ6jh8beX1T6sO1w2/MpCRpEP7V280GKMVUQ0Jzar2U3UJPsrdbziLEMMhu3Ujnq//rhiFuIeag==", "dev": true, - "dependencies": { + "requires": { "psl": "^1.1.33", "punycode": "^2.1.1", "universalify": "^0.2.0", "url-parse": "^1.5.3" - }, - "engines": { - "node": ">=6" } }, - "node_modules/tslib": { - "version": "2.6.3", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.3.tgz", - "integrity": "sha512-xNvxJEOUiWPGhUuUdQgAJPKOOJfGnIyKySOc09XkKsgdUV/3E2zvwZYdejjmRgPCgcym1juLH3226yA7sEFJKQ==", + "tslib": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.7.0.tgz", + "integrity": "sha512-gLXCKdN1/j47AiHiOkJN69hJmcbGTHI0ImLmbYLHykhgeN0jVGola9yVjFgzCUklsZQMW55o+dW7IXv3RCXDzA==", "dev": true }, - "node_modules/tunnel-agent": { + "tunnel-agent": { "version": "0.6.0", "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", "integrity": "sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w==", "dev": true, - "dependencies": { + "requires": { "safe-buffer": "^5.0.1" - }, - "engines": { - "node": "*" } }, - "node_modules/tweetnacl": { + "tweetnacl": { "version": "0.14.5", "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", "integrity": "sha512-KXXFFdAbFXY4geFIwoyNK+f5Z1b7swfXABfL7HXCmoIWMKU3dmS26672A4EeQtDzLKy7SXmfBu51JolvEKwtGA==", "dev": true }, - "node_modules/type-check": { + "type-check": { "version": "0.4.0", "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", "dev": true, - "dependencies": { + "requires": { "prelude-ls": "^1.2.1" - }, - "engines": { - "node": ">= 0.8.0" } }, - "node_modules/type-fest": { + "type-fest": { "version": "0.21.3", "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz", "integrity": "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==", - "dev": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } + "dev": true }, - "node_modules/uglify-js": { + "uglify-js": { "version": "2.7.4", "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-2.7.4.tgz", "integrity": "sha512-3fRfvQZzQlvfSO/w3VflUO9TQFd3iH8RoxyuWXI74W1Xo8SXOJB25xQKsY4VHHbdDAtjfBIUo7uH/nppXXP3/A==", - "dependencies": { + "requires": { "async": "~0.2.6", "source-map": "~0.5.1", "uglify-to-browserify": "~1.0.0", "yargs": "~3.10.0" - }, - "bin": { - "uglifyjs": "bin/uglifyjs" - }, - "engines": { - "node": ">=0.8.0" } }, - "node_modules/uglify-to-browserify": { + "uglify-to-browserify": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/uglify-to-browserify/-/uglify-to-browserify-1.0.2.tgz", "integrity": "sha512-vb2s1lYx2xBtUgy+ta+b2J/GLVUR+wmpINwHePmPRhOsIVCG2wDzKJ0n14GslH1BifsqVzSOwQhRaCAsZ/nI4Q==" }, - "node_modules/underscore": { + "underscore": { "version": "1.13.7", "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.13.7.tgz", "integrity": "sha512-GMXzWtsc57XAtguZgaQViUOzs0KTkk8ojr3/xAxXLITqf/3EMwxC0inyETfDFjH/Krbhuep0HNbbjI9i/q3F3g==" }, - "node_modules/undici-types": { - "version": "6.11.1", - "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.11.1.tgz", - "integrity": "sha512-mIDEX2ek50x0OlRgxryxsenE5XaQD4on5U2inY7RApK3SOJpofyw7uW2AyfMKkhAxXIceo2DeWGVGwyvng1GNQ==", + "undici-types": { + "version": "6.19.8", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.19.8.tgz", + "integrity": "sha512-ve2KP6f/JnbPBFyobGHuerC9g1FYGn/F8n1LWTwNxCEzd6IfqTwUQcNXgEtmmQ6DlRrC1hrSrBnCZPokRrDHjw==", "dev": true }, - "node_modules/unicode-canonical-property-names-ecmascript": { + "unicode-canonical-property-names-ecmascript": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-2.0.0.tgz", "integrity": "sha512-yY5PpDlfVIU5+y/BSCxAJRBIS1Zc2dDG3Ujq+sR0U+JjUevW2JhocOF+soROYDSaAezOzOKuyyixhD6mBknSmQ==", - "dev": true, - "engines": { - "node": ">=4" - } + "dev": true }, - "node_modules/unicode-match-property-ecmascript": { + "unicode-match-property-ecmascript": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-2.0.0.tgz", "integrity": "sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q==", "dev": true, - "dependencies": { + "requires": { "unicode-canonical-property-names-ecmascript": "^2.0.0", "unicode-property-aliases-ecmascript": "^2.0.0" - }, - "engines": { - "node": ">=4" } }, - "node_modules/unicode-match-property-value-ecmascript": { + "unicode-match-property-value-ecmascript": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-2.1.0.tgz", "integrity": "sha512-qxkjQt6qjg/mYscYMC0XKRn3Rh0wFPlfxB0xkt9CfyTvpX1Ra0+rAmdX2QyAobptSEvuy4RtpPRui6XkV+8wjA==", - "dev": true, - "engines": { - "node": ">=4" - } + "dev": true }, - "node_modules/unicode-property-aliases-ecmascript": { + "unicode-property-aliases-ecmascript": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-2.1.0.tgz", "integrity": "sha512-6t3foTQI9qne+OZoVQB/8x8rk2k1eVy1gRXhV3oFQ5T6R1dqQ1xtin3XqSlx3+ATBkliTaR/hHyJBm+LVPNM8w==", - "dev": true, - "engines": { - "node": ">=4" - } + "dev": true }, - "node_modules/unicorn-magic": { + "unicorn-magic": { "version": "0.1.0", "resolved": "https://registry.npmjs.org/unicorn-magic/-/unicorn-magic-0.1.0.tgz", "integrity": "sha512-lRfVq8fE8gz6QMBuDM6a+LO3IAzTi05H6gCVaUpir2E1Rwpo4ZUog45KpNXKC/Mn3Yb9UDuHumeFTo9iV/D9FQ==", - "dev": true, - "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } + "dev": true }, - "node_modules/universalify": { + "universalify": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.2.0.tgz", "integrity": "sha512-CJ1QgKmNg3CwvAv/kOFmtnEN05f0D/cn9QntgNOQlQF9dgvVTHj3t+8JPdjqawCHk7V/KA+fbUqzZ9XWhcqPUg==", - "dev": true, - "engines": { - "node": ">= 4.0.0" - } + "dev": true }, - "node_modules/untildify": { + "untildify": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/untildify/-/untildify-4.0.0.tgz", "integrity": "sha512-KK8xQ1mkzZeg9inewmFVDNkg3l5LUhoq9kN6iWYB/CC9YMG8HA+c1Q8HwDe6dEX7kErrEVNVBO3fWsVq5iDgtw==", - "dev": true, - "engines": { - "node": ">=8" - } + "dev": true }, - "node_modules/update-browserslist-db": { + "update-browserslist-db": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.1.0.tgz", "integrity": "sha512-EdRAaAyk2cUE1wOf2DkEhzxqOQvFOoRJFNS6NeyJ01Gp2beMRpBAINjM2iDXE3KCuKhwnvHIQCJm6ThL2Z+HzQ==", "dev": true, - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/browserslist" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/browserslist" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "dependencies": { + "requires": { "escalade": "^3.1.2", "picocolors": "^1.0.1" - }, - "bin": { - "update-browserslist-db": "cli.js" - }, - "peerDependencies": { - "browserslist": ">= 4.21.0" } }, - "node_modules/uri-js": { + "uri-js": { "version": "4.4.1", "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", "dev": true, - "dependencies": { + "requires": { "punycode": "^2.1.0" } }, - "node_modules/url-loader": { + "url-loader": { "version": "4.1.1", "resolved": "https://registry.npmjs.org/url-loader/-/url-loader-4.1.1.tgz", "integrity": "sha512-3BTV812+AVHHOJQO8O5MkWgZ5aosP7GnROJwvzLS9hWDj00lZ6Z0wNak423Lp9PBZN05N+Jk/N5Si8jRAlGyWA==", "dev": true, - "dependencies": { + "requires": { "loader-utils": "^2.0.0", "mime-types": "^2.1.27", "schema-utils": "^3.0.0" }, - "engines": { - "node": ">= 10.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependencies": { - "file-loader": "*", - "webpack": "^4.0.0 || ^5.0.0" - }, - "peerDependenciesMeta": { - "file-loader": { - "optional": true - } - } - }, - "node_modules/url-loader/node_modules/ajv": { - "version": "6.12.6", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", - "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", - "dev": true, - "dependencies": { - "fast-deep-equal": "^3.1.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" - } - }, - "node_modules/url-loader/node_modules/ajv-keywords": { - "version": "3.5.2", - "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", - "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", - "dev": true, - "peerDependencies": { - "ajv": "^6.9.1" - } - }, - "node_modules/url-loader/node_modules/json-schema-traverse": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", - "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", - "dev": true - }, - "node_modules/url-loader/node_modules/schema-utils": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.3.0.tgz", - "integrity": "sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==", - "dev": true, "dependencies": { - "@types/json-schema": "^7.0.8", - "ajv": "^6.12.5", - "ajv-keywords": "^3.5.2" - }, - "engines": { - "node": ">= 10.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" + "ajv-keywords": { + "version": "3.5.2", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", + "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", + "dev": true + }, + "schema-utils": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.3.0.tgz", + "integrity": "sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==", + "dev": true, + "requires": { + "@types/json-schema": "^7.0.8", + "ajv": "^6.12.5", + "ajv-keywords": "^3.5.2" + } + } } }, - "node_modules/url-parse": { + "url-parse": { "version": "1.5.10", "resolved": "https://registry.npmjs.org/url-parse/-/url-parse-1.5.10.tgz", "integrity": "sha512-WypcfiRhfeUP9vvF0j6rw0J3hrWrw6iZv3+22h6iRMJ/8z1Tj6XfLP4DsUix5MhMPnXpiHDoKyoZ/bdCkwBCiQ==", "dev": true, - "dependencies": { + "requires": { "querystringify": "^2.1.1", "requires-port": "^1.0.0" } }, - "node_modules/util-deprecate": { + "util-deprecate": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==", "dev": true }, - "node_modules/uuid": { + "uuid": { "version": "8.3.2", "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==", - "dev": true, - "bin": { - "uuid": "dist/bin/uuid" - } + "dev": true }, - "node_modules/verror": { + "verror": { "version": "1.10.0", "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz", "integrity": "sha512-ZZKSmDAEFOijERBLkmYfJ+vmk3w+7hOLYDNkRCuRuMJGEmqYNCNLyBBFwWKVMhfwaEF3WOd0Zlw86U/WC/+nYw==", "dev": true, - "engines": [ - "node >=0.6.0" - ], - "dependencies": { + "requires": { "assert-plus": "^1.0.0", "core-util-is": "1.0.2", "extsprintf": "^1.2.0" } }, - "node_modules/watchpack": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.4.1.tgz", - "integrity": "sha512-8wrBCMtVhqcXP2Sup1ctSkga6uc2Bx0IIvKyT7yTFier5AXHooSI+QyQQAtTb7+E0IUCCKyTFmXqdqgum2XWGg==", + "watchpack": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.4.2.tgz", + "integrity": "sha512-TnbFSbcOCcDgjZ4piURLCbJ3nJhznVh9kw6F6iokjiFPl8ONxe9A6nMDVXDiNbrSfLILs6vB07F7wLBrwPYzJw==", "dev": true, - "dependencies": { + "requires": { "glob-to-regexp": "^0.4.1", "graceful-fs": "^4.1.2" - }, - "engines": { - "node": ">=10.13.0" } }, - "node_modules/webpack": { - "version": "5.93.0", - "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.93.0.tgz", - "integrity": "sha512-Y0m5oEY1LRuwly578VqluorkXbvXKh7U3rLoQCEO04M97ScRr44afGVkI0FQFsXzysk5OgFAxjZAb9rsGQVihA==", + "webpack": { + "version": "5.94.0", + "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.94.0.tgz", + "integrity": "sha512-KcsGn50VT+06JH/iunZJedYGUJS5FGjow8wb9c0v5n1Om8O1g4L6LjtfxwlXIATopoQu+vOXXa7gYisWxCoPyg==", "dev": true, - "dependencies": { - "@types/eslint-scope": "^3.7.3", + "requires": { "@types/estree": "^1.0.5", "@webassemblyjs/ast": "^1.12.1", "@webassemblyjs/wasm-edit": "^1.12.1", @@ -8861,7 +6289,7 @@ "acorn-import-attributes": "^1.9.5", "browserslist": "^4.21.10", "chrome-trace-event": "^1.0.2", - "enhanced-resolve": "^5.17.0", + "enhanced-resolve": "^5.17.1", "es-module-lexer": "^1.2.1", "eslint-scope": "5.1.1", "events": "^3.2.0", @@ -8877,28 +6305,48 @@ "watchpack": "^2.4.1", "webpack-sources": "^3.2.3" }, - "bin": { - "webpack": "bin/webpack.js" - }, - "engines": { - "node": ">=10.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependenciesMeta": { - "webpack-cli": { - "optional": true + "dependencies": { + "ajv-keywords": { + "version": "3.5.2", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", + "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", + "dev": true + }, + "eslint-scope": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", + "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", + "dev": true, + "requires": { + "esrecurse": "^4.3.0", + "estraverse": "^4.1.1" + } + }, + "estraverse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", + "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", + "dev": true + }, + "schema-utils": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.3.0.tgz", + "integrity": "sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==", + "dev": true, + "requires": { + "@types/json-schema": "^7.0.8", + "ajv": "^6.12.5", + "ajv-keywords": "^3.5.2" + } } } }, - "node_modules/webpack-cli": { + "webpack-cli": { "version": "5.1.4", "resolved": "https://registry.npmjs.org/webpack-cli/-/webpack-cli-5.1.4.tgz", "integrity": "sha512-pIDJHIEI9LR0yxHXQ+Qh95k2EvXpWzZ5l+d+jIo+RdSm9MiHfzazIxwwni/p7+x4eJZuvG1AJwgC4TNQ7NRgsg==", "dev": true, - "dependencies": { + "requires": { "@discoveryjs/json-ext": "^0.5.0", "@webpack-cli/configtest": "^2.1.1", "@webpack-cli/info": "^2.0.2", @@ -8913,273 +6361,139 @@ "rechoir": "^0.8.0", "webpack-merge": "^5.7.3" }, - "bin": { - "webpack-cli": "bin/cli.js" - }, - "engines": { - "node": ">=14.15.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependencies": { - "webpack": "5.x.x" - }, - "peerDependenciesMeta": { - "@webpack-cli/generators": { - "optional": true - }, - "webpack-bundle-analyzer": { - "optional": true + "dependencies": { + "commander": { + "version": "10.0.1", + "resolved": "https://registry.npmjs.org/commander/-/commander-10.0.1.tgz", + "integrity": "sha512-y4Mg2tXshplEbSGzx7amzPwKKOCGuoSRP/CjEdwwk0FOGlUbq6lKuoyDZTNZkmxHdJtp54hdfY/JUrdL7Xfdug==", + "dev": true }, - "webpack-dev-server": { - "optional": true + "webpack-merge": { + "version": "5.10.0", + "resolved": "https://registry.npmjs.org/webpack-merge/-/webpack-merge-5.10.0.tgz", + "integrity": "sha512-+4zXKdx7UnO+1jaN4l2lHVD+mFvnlZQP/6ljaJVb4SZiwIKeUnrT5l0gkT8z+n4hKpC+jpOv6O9R+gLtag7pSA==", + "dev": true, + "requires": { + "clone-deep": "^4.0.1", + "flat": "^5.0.2", + "wildcard": "^2.0.0" + } } } }, - "node_modules/webpack-cli/node_modules/commander": { - "version": "10.0.1", - "resolved": "https://registry.npmjs.org/commander/-/commander-10.0.1.tgz", - "integrity": "sha512-y4Mg2tXshplEbSGzx7amzPwKKOCGuoSRP/CjEdwwk0FOGlUbq6lKuoyDZTNZkmxHdJtp54hdfY/JUrdL7Xfdug==", - "dev": true, - "engines": { - "node": ">=14" - } - }, - "node_modules/webpack-merge": { - "version": "5.10.0", - "resolved": "https://registry.npmjs.org/webpack-merge/-/webpack-merge-5.10.0.tgz", - "integrity": "sha512-+4zXKdx7UnO+1jaN4l2lHVD+mFvnlZQP/6ljaJVb4SZiwIKeUnrT5l0gkT8z+n4hKpC+jpOv6O9R+gLtag7pSA==", - "dev": true, - "dependencies": { - "clone-deep": "^4.0.1", - "flat": "^5.0.2", - "wildcard": "^2.0.0" - }, - "engines": { - "node": ">=10.0.0" - } - }, - "node_modules/webpack-sources": { + "webpack-sources": { "version": "3.2.3", "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-3.2.3.tgz", "integrity": "sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==", - "dev": true, - "engines": { - "node": ">=10.13.0" - } - }, - "node_modules/webpack/node_modules/ajv": { - "version": "6.12.6", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", - "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", - "dev": true, - "dependencies": { - "fast-deep-equal": "^3.1.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" - } - }, - "node_modules/webpack/node_modules/ajv-keywords": { - "version": "3.5.2", - "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", - "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", - "dev": true, - "peerDependencies": { - "ajv": "^6.9.1" - } - }, - "node_modules/webpack/node_modules/eslint-scope": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", - "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", - "dev": true, - "dependencies": { - "esrecurse": "^4.3.0", - "estraverse": "^4.1.1" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/webpack/node_modules/estraverse": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", - "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", - "dev": true, - "engines": { - "node": ">=4.0" - } - }, - "node_modules/webpack/node_modules/json-schema-traverse": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", - "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", "dev": true }, - "node_modules/webpack/node_modules/schema-utils": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.3.0.tgz", - "integrity": "sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==", - "dev": true, - "dependencies": { - "@types/json-schema": "^7.0.8", - "ajv": "^6.12.5", - "ajv-keywords": "^3.5.2" - }, - "engines": { - "node": ">= 10.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - } - }, - "node_modules/which": { + "which": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", "dev": true, - "dependencies": { + "requires": { "isexe": "^2.0.0" - }, - "bin": { - "node-which": "bin/node-which" - }, - "engines": { - "node": ">= 8" } }, - "node_modules/wildcard": { + "wildcard": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/wildcard/-/wildcard-2.0.1.tgz", "integrity": "sha512-CC1bOL87PIWSBhDcTrdeLo6eGT7mCFtrg0uIJtqJUFyK+eJnzl8A1niH56uu7KMa5XFrtiV+AQuHO3n7DsHnLQ==", "dev": true }, - "node_modules/window-size": { + "window-size": { "version": "0.1.0", "resolved": "https://registry.npmjs.org/window-size/-/window-size-0.1.0.tgz", - "integrity": "sha512-1pTPQDKTdd61ozlKGNCjhNRd+KPmgLSGa3mZTHoOliaGcESD8G1PXhh7c1fgiPjVbNVfgy2Faw4BI8/m0cC8Mg==", - "engines": { - "node": ">= 0.8.0" - } + "integrity": "sha512-1pTPQDKTdd61ozlKGNCjhNRd+KPmgLSGa3mZTHoOliaGcESD8G1PXhh7c1fgiPjVbNVfgy2Faw4BI8/m0cC8Mg==" }, - "node_modules/word-wrap": { + "word-wrap": { "version": "1.2.5", "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.5.tgz", "integrity": "sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } + "dev": true }, - "node_modules/wordwrap": { + "wordwrap": { "version": "0.0.2", "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.2.tgz", - "integrity": "sha512-xSBsCeh+g+dinoBv3GAOWM4LcVVO68wLXRanibtBSdUvkGWQRGeE9P7IwU9EmDDi4jA6L44lz15CGMwdw9N5+Q==", - "engines": { - "node": ">=0.4.0" - } + "integrity": "sha512-xSBsCeh+g+dinoBv3GAOWM4LcVVO68wLXRanibtBSdUvkGWQRGeE9P7IwU9EmDDi4jA6L44lz15CGMwdw9N5+Q==" }, - "node_modules/wrap-ansi": { + "wrap-ansi": { "version": "7.0.0", "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", "dev": true, - "dependencies": { + "requires": { "ansi-styles": "^4.0.0", "string-width": "^4.1.0", "strip-ansi": "^6.0.0" }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/wrap-ansi?sponsor=1" - } - }, - "node_modules/wrap-ansi/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/wrap-ansi/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + } } }, - "node_modules/wrappy": { + "wrappy": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==" }, - "node_modules/xibo-interactive-control": { - "version": "1.0.0", - "resolved": "git+ssh://git@github.com/xibosignage/xibo-interactive-control.git#44ad744a5a2a0af9e7fcdb828dbdbeff45cc40f0", - "integrity": "sha512-FHyrngjuc2SFxTmB6gQ/Hp7w5hXtoh0kyDNNltlZ2C9x+q1uX1+VWbEO8P7LEQmx/uf8PNM7QoSi0JwfZeTwkA==", - "license": "AGPL-3.0" + "xibo-interactive-control": { + "version": "git+https://github.com/xibosignage/xibo-interactive-control.git#44ad744a5a2a0af9e7fcdb828dbdbeff45cc40f0", + "from": "git+https://github.com/xibosignage/xibo-interactive-control.git#44ad744a5a2a0af9e7fcdb828dbdbeff45cc40f0" }, - "node_modules/xibo-layout-renderer": { - "version": "1.0.0", - "resolved": "git+ssh://git@github.com/xibosignage/xibo-layout-renderer.git#fceefc707ea917479eabac21da4c000a28bfbf79", - "integrity": "sha512-A0eXI7ekHKL6KnOmtWa46XJjGc67V0Of5yu5sYBQeU16oOiOM4Tz0qIEyuPEuHLIpF1lkUlAoATy2kR9NxM4Ow==", - "license": "LGPL-3.0" + "xibo-layout-renderer": { + "version": "git+https://github.com/xibosignage/xibo-layout-renderer.git#73b357402c5c483befa868889ce710698c34ffb3", + "from": "git+https://github.com/xibosignage/xibo-layout-renderer.git#73b357402c5c483befa868889ce710698c34ffb3" + }, + "yallist": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", + "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", + "dev": true }, - "node_modules/yargs": { + "yargs": { "version": "3.10.0", "resolved": "https://registry.npmjs.org/yargs/-/yargs-3.10.0.tgz", "integrity": "sha512-QFzUah88GAGy9lyDKGBqZdkYApt63rCXYBGYnEP4xDJPXNqXXnBDACnbrXnViV6jRSqAePwrATi2i8mfYm4L1A==", - "dependencies": { + "requires": { "camelcase": "^1.0.2", "cliui": "^2.1.0", "decamelize": "^1.0.0", "window-size": "0.1.0" } }, - "node_modules/yauzl": { + "yauzl": { "version": "2.10.0", "resolved": "https://registry.npmjs.org/yauzl/-/yauzl-2.10.0.tgz", "integrity": "sha512-p4a9I6X6nu6IhoGmBqAcbJy1mlC4j27vEPZX9F4L4/vZT3Lyq1VkFHw/V/PUcB9Buo+DG3iHkT0x3Qya58zc3g==", "dev": true, - "dependencies": { + "requires": { "buffer-crc32": "~0.2.3", "fd-slicer": "~1.1.0" } }, - "node_modules/yocto-queue": { + "yocto-queue": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-1.1.1.tgz", "integrity": "sha512-b4JR1PFR10y1mKjhHY9LaGo6tmrgjit7hxVIeAmyMw3jegXR4dhYqLaQF5zMXZxY7tLpMyJeLjr1C4rLmkVe8g==", - "dev": true, - "engines": { - "node": ">=12.20" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } + "dev": true } } } diff --git a/package.json b/package.json index 2f32920657..a574f82641 100644 --- a/package.json +++ b/package.json @@ -117,6 +117,6 @@ "toastr": "~2.1.4", "underscore": "^1.13.7", "xibo-interactive-control": "git+https://github.com/xibosignage/xibo-interactive-control.git#44ad744a5a2a0af9e7fcdb828dbdbeff45cc40f0", - "xibo-layout-renderer": "git+https://github.com/xibosignage/xibo-layout-renderer.git#fceefc707ea917479eabac21da4c000a28bfbf79" + "xibo-layout-renderer": "git+https://github.com/xibosignage/xibo-layout-renderer.git#73b357402c5c483befa868889ce710698c34ffb3" } } diff --git a/reports/apirequests-email-template.twig b/reports/apirequests-email-template.twig index 3422097c70..d8ef7743db 100644 --- a/reports/apirequests-email-template.twig +++ b/reports/apirequests-email-template.twig @@ -58,7 +58,7 @@ {{ item.objectAfter }} {% endfor %} - {% else %} + {% elseif metadata.logType == 'debug' %} {% trans "Date" %} {% trans "UserName" %} @@ -83,6 +83,27 @@ {{ item.message }} {% endfor %} + {% else %} + + {% trans "Date" %} + {% trans "UserName" %} + {% trans "User ID" %} + {% trans "Application" %} + {% trans "Request ID" %} + {% trans "Method" %} + {% trans "Url" %} + + {% for item in tableData %} + + {{ item.startTime }} + {{ item.userName }} + {{ item.userId }} + {{ item.applicationName }} + {{ item.requestId }} + {{ item.method }} + {{ item.url }} + + {% endfor %} {% endif %}
diff --git a/reports/apirequests-report-form.twig b/reports/apirequests-report-form.twig index b876eb0c4a..8deecf7fb2 100644 --- a/reports/apirequests-report-form.twig +++ b/reports/apirequests-report-form.twig @@ -68,6 +68,7 @@ {% set title = "Report Type"|trans %} {% set options = [ + { id: 'requests', value: "Requests"|trans }, { id: 'audit', value: "Audit"|trans }, { id: 'debug', value: "Debug"|trans }, ] %} @@ -140,6 +141,31 @@ + +
+ +
+ + + + + + + + + + + + + + + +
{% trans "Date" %}{% trans "UserName" %}{% trans "User ID" %}{% trans "Application" %}{% trans "Request ID" %}{% trans "Method" %}{% trans "Url" %}
+
+
@@ -176,12 +202,15 @@ $('[data-toggle="popover"]').popover(); let $report = $('#apiRequestsHistoryFilter'); - let $auditDataTable = $('#apiRequestsHistoryAuditGrid') + let $auditDataTable = $('#apiRequestsHistoryAuditGrid'); let auditTable = createAuditTable($auditDataTable); - let $logDataTable = $('#apiRequestsHistoryLogGrid') - let logTable = createLogTable($logDataTable) + let $logDataTable = $('#apiRequestsHistoryLogGrid'); + let logTable = createLogTable($logDataTable); + let $requestsDataTable = $('#apiRequestsHistoryGrid'); + let requestsTable = createRequestsTable($requestsDataTable); let result; // XHR get data result + let reportType = $report.find('#type').val(); let imageLoader = $("#imageLoader"); let $warning = $("#applyWarning"); @@ -198,14 +227,22 @@ result = data; $applyBtn.removeClass('disabled'); imageLoader.removeClass('fa fa-spinner fa-spin loading-icon'); - if ($report.find('#type').val() === 'audit') { + + if (reportType === 'audit') { $('.api-requests-history-audit').removeClass('d-none'); $('.api-requests-history-log').addClass('d-none'); + $('.api-requests-history').addClass('d-none'); setTabularData(auditTable, result.table); - } else { - $('.api-requests-history-audit').addClass('d-none'); + } else if (reportType === 'debug') { $('.api-requests-history-log').removeClass('d-none'); + $('.api-requests-history-audit').addClass('d-none'); + $('.api-requests-history').addClass('d-none'); setTabularData(logTable, result.table); + } else { + $('.api-requests-history').removeClass('d-none'); + $('.api-requests-history-audit').addClass('d-none'); + $('.api-requests-history-log').addClass('d-none'); + setTabularData(requestsTable, result.table); } }, error: function error(xhr, textStatus, _error) { @@ -233,16 +270,20 @@ // Apply $applyBtn.click(function () { + reportType = $report.find('#type').val(); $(this).addClass('disabled'); imageLoader.addClass('fa fa-spinner fa-spin loading-icon'); getData($auditDataTable.data().url); }); $("#refreshGrid").click(function () { - if ($report.find('#type').val() === 'audit') { + reportType = $report.find('#type').val(); + if (reportType === 'audit') { auditTable.ajax.reload(); - } else { + } else if (reportType === 'debug') { logTable.ajax.reload(); + } else { + requestsTable.ajax.reload(); } }); @@ -322,6 +363,31 @@ ] }) } + + function createRequestsTable($dataTable) { + return $dataTable.DataTable({ + language: dataTablesLanguage, + dom: dataTablesTemplate, + searching: false, + paging: true, + bInfo: false, + stateSave: true, + bDestroy: true, + processing: true, + responsive: true, + order: [[0, 'desc']], + data: {}, + columns: [ + {data: 'startTime'}, + {data: 'userName'}, + {data: 'userId'}, + {data: 'applicationName'}, + {data: 'requestId'}, + {data: 'method'}, + {data: 'url'}, + ] + }) + } }); {% endblock %} \ No newline at end of file diff --git a/reports/apirequests-report-preview.twig b/reports/apirequests-report-preview.twig index 9114b90cb8..4272176f7e 100644 --- a/reports/apirequests-report-preview.twig +++ b/reports/apirequests-report-preview.twig @@ -66,7 +66,7 @@ - {% else %} + {% elseif metadata.logType == 'debug' %}
@@ -84,6 +84,25 @@ + +
+
+ {% else %} +
+ + + + + + + + + + + + + +
{% trans "Date" %}{% trans "UserName" %}{% trans "User ID" %}{% trans "Application" %}{% trans "Request ID" %}{% trans "Method" %}{% trans "Url" %}
@@ -139,7 +158,7 @@ auditTable.on('processing.dt', function(e, settings, processing) { dataTableProcessing(e, settings, processing); }); - } else { + } else if (type === 'debug') { const debugTable = $("#apiRequestsHistoryAuditReportPreview").DataTable({ language: dataTablesLanguage, dom: dataTablesTemplate, @@ -166,6 +185,31 @@ debugTable.on('processing.dt', function(e, settings, processing) { dataTableProcessing(e, settings, processing); }); + } else { + const requestsTable = $("#apiRequestsHistoryReportPreview").DataTable({ + language: dataTablesLanguage, + dom: dataTablesTemplate, + paging: false, + ordering: false, + info: false, + order: [[0, 'desc']], + searching: false, + data: outputData, + columns: [ + {data: 'startTime'}, + {data: 'userName'}, + {data: 'userId'}, + {data: 'applicationName'}, + {data: 'requestId'}, + {data: 'method'}, + {data: 'url'}, + ] + }); + + requestsTable.on('draw', dataTableDraw); + requestsTable.on('processing.dt', function(e, settings, processing) { + dataTableProcessing(e, settings, processing); + }); } }); diff --git a/reports/apirequests-schedule-form-add.twig b/reports/apirequests-schedule-form-add.twig index b4837e2d4b..add3fa0e9d 100644 --- a/reports/apirequests-schedule-form-add.twig +++ b/reports/apirequests-schedule-form-add.twig @@ -72,6 +72,7 @@ {% set title = "Report Type"|trans %} {% set options = [ + { id: 'requests', value: "Requests"|trans }, { id: 'audit', value: "Audit"|trans }, { id: 'debug', value: "Debug"|trans }, ] %} diff --git a/reports/timedisconnectedsummary-report-form.twig b/reports/timedisconnectedsummary-report-form.twig index 0b9510e21d..c667451692 100644 --- a/reports/timedisconnectedsummary-report-form.twig +++ b/reports/timedisconnectedsummary-report-form.twig @@ -50,6 +50,13 @@ {% set title %}{% trans "To Date" %}{% endset %} {{ inline.date("availabilityToDt", title, defaults.toDate, "", "", "", "") }} + {% set title %}{% trans "Group By" %}{% endset %} + {% set options = [ + { id: "display", name: "Display"|trans }, + { id: "displayGroup", name: "Display Group"|trans }, + ] %} + {{ inline.dropdown("groupBy", "single", title, "", options, "id", "name", "") }} + {% set title %}{% trans "Display" %}{% endset %} {% set attributes = [ { name: "data-width", value: "200px" }, @@ -136,10 +143,14 @@ {% trans "Display ID" %} {% trans "Display" %} + {% trans "Display Group ID" %} + {% trans "Display Group" %} {% trans "Time Disconnected" %} {% trans "Time Connected" %} + {% trans "Average Time Disconnected" %} + {% trans "Average Time Connected" %} + {% trans "Availability" %} {% trans "Units" %} - @@ -198,10 +209,26 @@ columns: [ {"data": "displayId"}, {"data": "display"}, + {"data": "displayGroupId"}, + {"data": "displayGroup"}, {"data": "timeDisconnected", "sortable": false}, {"data": "timeConnected", "sortable": false}, - {"data": "postUnits", "sortable": false} - ] + {"data": "avgTimeDisconnected", "sortable": false}, + {"data": "avgTimeConnected", "sortable": false}, + {"data": "availabilityPercentage", "sortable": false}, + {"data": "postUnits", "sortable": false}, + ], + drawCallback: function () { + if ($('select[name="groupBy"]').val() === 'displayGroup') { + // Hide 'Display ID and Display' columns + $(this.api().columns([0, 1]).visible(false)); + $(this.api().columns([2, 3, 6, 7]).visible(true)); + } else { + // Hide 'Display Group ID, Display Group, Avg Time Connected/Disconnected' columns + $(this.api().columns([2, 3, 6, 7]).visible(false)); + $(this.api().columns([0, 1]).visible(true)); + } + }, }); // Get Data @@ -278,9 +305,12 @@ if (displayId) { $('select[name="displayGroupId[]"] option').remove(); $('select[name="displayGroupId[]"]').next(".select2-container").parent().hide(); + $('select[name="groupBy[]"] option').remove(); + $('select[name="groupBy"]').parent().hide(); } else { $('#displayId option').remove(); $('select[name="displayGroupId[]"]').next(".select2-container").parent().show(); + $('select[name="groupBy"]').parent().show(); } }); @@ -298,9 +328,12 @@ if (displayId) { $('select[name="displayGroupId[]"] option').remove(); $('select[name="displayGroupId[]"]').next(".select2-container").parent().parent().hide(); + $('select[name="groupBy[]"] option').remove(); + $('select[name="groupBy"]').parent().hide(); } else { $('#reportScheduleAddForm #displayId option').remove(); $('select[name="displayGroupId[]"]').next(".select2-container").parent().parent().show(); + $('select[name="groupBy"]').parent().show(); } }); } diff --git a/ui/bundle_preview.js b/ui/bundle_preview.js new file mode 100644 index 0000000000..550fdb3abe --- /dev/null +++ b/ui/bundle_preview.js @@ -0,0 +1,29 @@ +/* + * Copyright (C) 2024 Xibo Signage Ltd + * + * Xibo - Digital Signage - https://xibosignage.com + * + * This file is part of Xibo. + * + * Xibo is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * any later version. + * + * Xibo is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with Xibo. If not, see . + */ +// jquery-ui +window.jQuery = window.$ = require('jquery'); + +// XLR +require('xibo-layout-renderer/dist/styles.css'); + +import XiboLayoutRenderer from 'xibo-layout-renderer'; + +window.XiboLayoutRenderer = XiboLayoutRenderer; diff --git a/ui/bundle_vendor.js b/ui/bundle_vendor.js index 2100835496..4751668423 100644 --- a/ui/bundle_vendor.js +++ b/ui/bundle_vendor.js @@ -189,6 +189,3 @@ imagesLoaded.makeJQueryPlugin( window.$ ); // moveable window.Moveable = require('moveable/dist/moveable.min.js'); window.Selecto = require('selecto/dist/selecto.min.js'); - -// XLR -require('xibo-layout-renderer/dist/styles.css'); diff --git a/ui/src/core/forms.js b/ui/src/core/forms.js index 4e5424cfdc..23ad3c10d0 100644 --- a/ui/src/core/forms.js +++ b/ui/src/core/forms.js @@ -248,7 +248,15 @@ window.forms = { if (templates.forms.hasOwnProperty(property.type)) { // New field const $newField = $(templates.forms[property.type]( - Object.assign({}, property, {trans: propertiesPanelTrans}), + Object.assign( + {}, + property, + { + trans: (typeof propertiesPanelTrans === 'undefined') ? + {} : + propertiesPanelTrans, + }, + ), )); // Target to append to diff --git a/ui/src/core/xibo-calendar.js b/ui/src/core/xibo-calendar.js index ef03b8cf1f..30e2bc4387 100644 --- a/ui/src/core/xibo-calendar.js +++ b/ui/src/core/xibo-calendar.js @@ -1264,6 +1264,8 @@ var processScheduleFormElements = function(el) { $('.layout-code-control').css('display', layoutCodeControl); $('.command-control').css('display', commandControlDisplay); + + break; case 'relativeTime' : if (!el.is(":visible")) { return; diff --git a/ui/src/core/xibo-cms.js b/ui/src/core/xibo-cms.js index 2a5452971f..68797ffb50 100644 --- a/ui/src/core/xibo-cms.js +++ b/ui/src/core/xibo-cms.js @@ -276,7 +276,18 @@ function XiboInitialise(scope, options) { // NOTE: The validation plugin does not like binding to multiple forms at once. $(scope + ' .XiboForm').validate({ submitHandler: XiboFormSubmit, + // Ignore the date picker helpers + ignore: '.datePickerHelper', errorElement: "span", + errorPlacement: function(error, element) { + if($(element).hasClass('dateControl')) { + // Places the error label date controller + error.insertAfter(element.parent()); + } else { + // Places the error label after the invalid element + error.insertAfter(element); + } + }, highlight: function(element) { $(element).closest('.form-group').removeClass('has-success').addClass('has-error'); }, @@ -3156,8 +3167,17 @@ function ToggleFilterView(div) { * @param element * @param parent * @param dataFormatter + * @param addRandomId */ -function makePagedSelect(element, parent, dataFormatter) { +function makePagedSelect(element, parent, dataFormatter, addRandomId = false) { + // If we need to append random id + if (addRandomId === true) { + const randomNum = Math.floor(1000000000 + Math.random() * 9000000000); + const previousId = $(element).attr('id'); + const newId = previousId ? previousId + '_' + randomNum : randomNum; + $(element).attr('data-select2-id', newId); + } + element.select2({ dropdownParent: ((parent == null) ? $("body") : $(parent)), minimumResultsForSearch: (element.data('hideSearch')) ? Infinity : 1, @@ -3278,6 +3298,8 @@ function makePagedSelect(element, parent, dataFormatter) { ) { var initialValue = element.data("initialValue"); var initialKey = element.data("initialKey"); + var textProperty = element.data("textProperty"); + var idProperty = element.data("idProperty"); var dataObj = {}; dataObj[initialKey] = initialValue; @@ -3292,23 +3314,37 @@ function makePagedSelect(element, parent, dataFormatter) { type: 'GET', data: dataObj }).then(function(data) { + // Do we need to check if it's selected + var checkSelected = false; + // If we have a custom data formatter if ( dataFormatter && typeof dataFormatter === 'function' ) { data = dataFormatter(data); + checkSelected = true; } // create the option and append to Select2 data.data.forEach(object => { - var option = new Option( - object[element.data("textProperty")], - object[element.data("idProperty")], - true, - true - ); - element.append(option) + var isSelected = true; + + // Check if it's selected if needed + if(checkSelected) { + isSelected = (initialValue == object[idProperty]); + } + + // Only had if the option is selected + if (isSelected) { + var option = new Option( + object[textProperty], + object[idProperty], + isSelected, + isSelected + ); + element.append(option) + } }); // Trigger change but skip auto save @@ -3334,8 +3370,17 @@ function makePagedSelect(element, parent, dataFormatter) { * Make a dropwdown with a search field for option's text and tag datafield (data-tags) * @param element * @param parent + * @param addRandomId */ -function makeLocalSelect(element, parent) { +function makeLocalSelect(element, parent, addRandomId = false) { + // If we need to append random id + if (addRandomId === true) { + const randomNum = Math.floor(1000000000 + Math.random() * 9000000000); + const previousId = $(element).attr('id'); + const newId = previousId ? previousId + '_' + randomNum : randomNum; + $(element).attr('data-select2-id', newId); + } + element.select2({ dropdownParent: ((parent == null) ? $("body") : $(parent)), matcher: function(params, data) { diff --git a/ui/src/core/xibo-forms.js b/ui/src/core/xibo-forms.js index d13452ea66..465f6e8516 100644 --- a/ui/src/core/xibo-forms.js +++ b/ui/src/core/xibo-forms.js @@ -952,8 +952,15 @@ function membersFormSubmit(id) { function mediaDisplayGroupFormCallBack() { var container = $("#FileAssociationsAssign"); - if (container.data().media == undefined) + if (container.data().media == undefined) { container.data().media = {}; + } + + // Get starting items + var includedItems = []; + $('#FileAssociationsSortable').find('[data-media-id]').each((_i, el) => { + includedItems.push($(el).data('mediaId')); + }); var mediaTable = $("#mediaAssignments").DataTable({ "language": dataTablesLanguage, serverSide: true, stateSave: true, @@ -975,8 +982,15 @@ function mediaDisplayGroupFormCallBack() { if (type != "display") return ""; - // Create a click-able span - return ""; + // If media id is already added to the container + // Create span with disabled + if(includedItems.indexOf(data.mediaId) != -1) { + // Create a disabled span + return ""; + } else { + // Create a click-able span + return ""; + } } } ] @@ -986,13 +1000,21 @@ function mediaDisplayGroupFormCallBack() { dataTableDraw(e, settings); // Clicky on the +spans - $(".assignItem", "#mediaAssignments").click(function() { + $(".assignItem:not(.disabled)", "#mediaAssignments").on("click", function() { // Get the row that this is in. var data = mediaTable.row($(this).closest("tr")).data(); // Append to our media list container.data().media[data.mediaId] = 1; + // Add to aux array + includedItems.push(data.mediaId); + + // Disable add button + $(this).parents("tr").addClass('disabled'); + // Hide plus button + $(this).hide(); + // Construct a new list item for the lower list and append it. var newItem = $("
  • ", { "text": data.name, @@ -1004,11 +1026,7 @@ function mediaDisplayGroupFormCallBack() { // Add a span to that new item $("", { - "class": "fa fa-minus", - click: function(){ - container.data().media[$(this).parent().data().mediaId] = 0; - $(this).parent().remove(); - } + "class": "fa fa-minus ml-1", }).appendTo(newItem); }); }); @@ -1018,9 +1036,16 @@ function mediaDisplayGroupFormCallBack() { $("#FileAssociationsSortable").sortable(); // Bind to the existing items in the list - $("#FileAssociationsSortable").find('li span').click(function () { - container.data().media[$(this).parent().data().mediaId] = 0; + $("#FileAssociationsSortable").on("click", "li span", function () { + var mediaId = $(this).parent().data().mediaId; + container.data().media[mediaId] = 0; $(this).parent().remove(); + + // Remove from aux array + includedItems = includedItems.filter(item => item != mediaId); + + // Reload table + mediaTable.ajax.reload(); }); // Bind to the filter diff --git a/ui/src/editor-core/bottombar.js b/ui/src/editor-core/bottombar.js index 61c35b1906..331dbf1d44 100644 --- a/ui/src/editor-core/bottombar.js +++ b/ui/src/editor-core/bottombar.js @@ -131,7 +131,7 @@ Bottombar.prototype.render = function(object, renderMultiple = true) { trans: newBottomBarTrans, readOnlyModeOn: readOnlyModeOn, object: object, - objectTypeName: newBottomBarTrans.objectType.region, + objectTypeName: newBottomBarTrans.objectType[object.subType], undoActive: checkHistory.undoActive, trashActive: trashBinActive, }, diff --git a/ui/src/editor-core/history-manager.js b/ui/src/editor-core/history-manager.js index 540dcd32ef..829b7870b2 100644 --- a/ui/src/editor-core/history-manager.js +++ b/ui/src/editor-core/history-manager.js @@ -323,7 +323,7 @@ HistoryManager.prototype.revertChange = function() { widget.saveElements({ elements: elementsToSave, addToHistory: false, - reload: true, + updateEditor: true, }).then(function() { // Remove change from history self.removeLastChange(); diff --git a/ui/src/editor-core/layer-manager.js b/ui/src/editor-core/layer-manager.js index ba8e3d7dab..483ca78516 100644 --- a/ui/src/editor-core/layer-manager.js +++ b/ui/src/editor-core/layer-manager.js @@ -175,6 +175,18 @@ LayerManager.prototype.createStructure = function() { duration: parseDuration(canvas.duration), layers: canvasObject.subLayers, }); + + // If we have a background image for the layout + // Add it to structure + if ( + self.parent.layout.backgroundImage && + self.parent.layout.backgroundzIndex != null + ) { + addToLayerStructure(self.parent.layout.backgroundzIndex, { + type: 'layoutBackground', + name: 'Layout Background', + }); + } } // Get static widgets and playlists @@ -299,8 +311,11 @@ LayerManager.prototype.render = function(reset) { this.DOMObject .find('.layer-manager-layer-item.selectable:not(.selected)') .off('click').on('click', function(ev) { - const elementId = $(ev.currentTarget).data('item-id'); - const $viewerObject = self.viewerContainer.find('#' + elementId); + const elementData = $(ev.currentTarget).data(); + const elementId = elementData.itemId; + const $viewerObject = (elementData.type === 'layoutBackground') ? + self.viewerContainer : + self.viewerContainer.find('#' + elementId); if ($viewerObject.length) { // Select in editor @@ -584,6 +599,7 @@ LayerManager.prototype.saveSort = function({ if (type === 'main') { const regionToBeSaved = []; + let layoutSaving = null; lD.viewer.layerManager.DOMObject .find('.layer-manager-body > .sortable-main') .each((idx, target) => { @@ -594,7 +610,28 @@ LayerManager.prototype.saveSort = function({ $target.data('itemId'); const newLayer = idx; let updateOnViewer = ''; - if (targetType === 'canvas') { + + if (targetType === 'layoutBackground') { + // Only save layout if we have a new value + if (lD.layout.backgroundzIndex != newLayer) { + lD.layout.backgroundzIndex = newLayer; + + layoutSaving = lD.layout.saveBackgroundLayer(newLayer); + + if (lD.selectedObject.type === 'layout') { + // Change value on form + lD.propertiesPanel.DOMObject + .find('#input_backgroundzIndex').val(newLayer); + + // Update properties panel serialized + // old data to prevent another auto save + lD.propertiesPanel.formSerializedLoadData['layout'] = + lD.propertiesPanel.DOMObject.find('form [name]').serialize(); + } + + updateOnViewer = '.layout-background-image'; + } + } else if (targetType === 'canvas') { // Only save canvas if we have a new value if (lD.layout.canvas.zIndex != newLayer) { const canvas = lD.getObjectByTypeAndId('canvas'); @@ -608,7 +645,7 @@ LayerManager.prototype.saveSort = function({ } // Save id to update on viewer - updateOnViewer = lD.layout.canvas.id; + updateOnViewer = '#' + lD.layout.canvas.id; } } else { // Update regions @@ -640,20 +677,28 @@ LayerManager.prototype.saveSort = function({ } // Save id to update on viewer - updateOnViewer = targetId; + updateOnViewer = '#' + targetId; } } // Update on viewer if needed if (updateOnViewer != '') { - const $container = lD.viewer.DOMObject.find(`#${updateOnViewer}`); + const $container = lD.viewer.DOMObject.find(updateOnViewer); $container.css('z-index', newLayer); } }); // Save regions if needed if (regionToBeSaved.length > 0) { - lD.layout.saveMultipleRegions(regionToBeSaved); + const saveRegions = function() { + lD.layout.saveMultipleRegions(regionToBeSaved); + }; + + if (layoutSaving) { + layoutSaving.then(saveRegions); + } else { + saveRegions(); + } } } else if (type === 'canvas') { const widgetsToSave = {}; diff --git a/ui/src/editor-core/properties-panel.js b/ui/src/editor-core/properties-panel.js index 8400e2a9ae..30d8d43d97 100644 --- a/ui/src/editor-core/properties-panel.js +++ b/ui/src/editor-core/properties-panel.js @@ -185,6 +185,11 @@ PropertiesPanel.prototype.save = function( ) { app.common.showLoadingScreen(); + // If it's a layout, save its resolution + const resolutionId = (target.type === 'layout') ? + formFieldsToSave.filter('[name="resolutionId"]').val() : + null; + // Add a save form change to the history array // with previous form state and the new state app.historyManager.addChange( @@ -294,6 +299,11 @@ PropertiesPanel.prototype.save = function( app.bottombar.render(originalTarget); } + // If target was layout, update resolution id + if (originalTarget.type === 'layout') { + app.layout.resolutionId = resolutionId; + } + // If we're saving a region, update bottom bar // update bottom bar if (originalTarget.type === 'region') { @@ -405,7 +415,9 @@ PropertiesPanel.prototype.saveElement = function( this.toSaveElementCallback = null; // Save elements to the widget - return parentWidget.saveElements().then((_res) => { + return parentWidget.saveElements({ + reloadData: false, + }).then((_res) => { // Update element position if (positionChanged) { app.viewer.updateElement(parentWidget.elements[target.elementId]); @@ -610,6 +622,9 @@ PropertiesPanel.prototype.render = function( dataToRender.orientation = lD.viewer.getLayoutOrientation( dataToRender.resolution.width, dataToRender.resolution.height); dataToRender.bgImageName = dataToRender.backgrounds[0]?.name || ''; + + // Save resolution to layout for later use + target.resolutionId = dataToRender.resolution.resolutionId; } // if region, add subtype name @@ -786,7 +801,9 @@ PropertiesPanel.prototype.render = function( targetAux.updateSlot(slotValue - 1, true); // Save elements - target.saveElements().then((_res) => { + target.saveElements({ + reloadData: false, + }).then((_res) => { // Update group app.viewer.updateElementGroup(app.selectedObject); }); @@ -1228,456 +1245,474 @@ PropertiesPanel.prototype.render = function( isElementGroup ) ) { - // Get position - let positionProperties = {}; - if (isElementGroup) { - positionProperties = { - type: 'element-group', - top: targetAux.top, - left: targetAux.left, - width: targetAux.width, - height: targetAux.height, - zIndex: targetAux.layer, - }; - } else if (targetAux?.type === 'element') { - positionProperties = { - type: 'element', - top: targetAux.top, - left: targetAux.left, - width: targetAux.width, - height: targetAux.height, - zIndex: targetAux.layer, - }; + const renderPositionTab = function() { + // Get position + let positionProperties = {}; + if (isElementGroup) { + positionProperties = { + type: 'element-group', + top: targetAux.top, + left: targetAux.left, + width: targetAux.width, + height: targetAux.height, + zIndex: targetAux.layer, + }; + } else if (targetAux?.type === 'element') { + positionProperties = { + type: 'element', + top: targetAux.top, + left: targetAux.left, + width: targetAux.width, + height: targetAux.height, + zIndex: targetAux.layer, + }; - if (targetAux.canRotate) { - positionProperties.rotation = targetAux.rotation; + if (targetAux.canRotate) { + positionProperties.rotation = targetAux.rotation; + } + } else if (target.subType === 'playlist') { + positionProperties = { + type: 'region', + regionType: target.subType, + regionName: target.name, + top: target.dimensions.top, + left: target.dimensions.left, + width: target.dimensions.width, + height: target.dimensions.height, + zIndex: target.zIndex, + }; + } else { + positionProperties = { + type: 'region', + regionType: target.parent.subType, + regionName: target.parent.name, + top: target.parent.dimensions.top, + left: target.parent.dimensions.left, + width: target.parent.dimensions.width, + height: target.parent.dimensions.height, + zIndex: target.parent.zIndex, + }; } - } else if (target.subType === 'playlist') { - positionProperties = { - type: 'region', - regionType: target.subType, - regionName: target.name, - top: target.dimensions.top, - left: target.dimensions.left, - width: target.dimensions.width, - height: target.dimensions.height, - zIndex: target.zIndex, - }; - } else { - positionProperties = { - type: 'region', - regionType: target.parent.subType, - regionName: target.parent.name, - top: target.parent.dimensions.top, - left: target.parent.dimensions.left, - width: target.parent.dimensions.width, - height: target.parent.dimensions.height, - zIndex: target.parent.zIndex, - }; - } - // Get position template - const positionTemplate = formTemplates.position; - - // Add position tab after advanced tab - self.DOMObject.find('[href="#advancedTab"]').parent() - .after(`
  • `); - - // Add position tab content after advanced tab content - // If element is in a group, adjust position to the group's - if ( - targetAux?.type == 'element' && - targetAux?.group != undefined - ) { - positionProperties.left -= targetAux.group.left; - positionProperties.top -= targetAux.group.top; - } + // Get position template + const positionTemplate = formTemplates.position; + + // Add position tab after advanced tab + self.DOMObject.find('[href="#advancedTab"]').parent() + .after(``); + + // Add position tab content after advanced tab content + // If element is in a group, adjust position to the group's + if ( + targetAux?.type == 'element' && + targetAux?.group != undefined + ) { + positionProperties.left -= targetAux.group.left; + positionProperties.top -= targetAux.group.top; + } - // If it's an element, or element group, show canvas layer - if ( - targetAux?.type == 'element' || - targetAux?.type == 'element-group' - ) { - positionProperties.zIndexCanvas = app.layout.canvas.zIndex; + // If it's an element, or element group, show canvas layer + if ( + targetAux?.type == 'element' || + targetAux?.type == 'element-group' + ) { + positionProperties.zIndexCanvas = app.layout.canvas.zIndex; - (targetAux?.type == 'element') && - (positionProperties.showElementLayer = true); + (targetAux?.type == 'element') && + (positionProperties.showElementLayer = true); - (targetAux?.type == 'element-group') && - (positionProperties.showElementGroupLayer = true); - } + (targetAux?.type == 'element-group') && + (positionProperties.showElementGroupLayer = true); + } - self.DOMObject.find('#advancedTab').after( - positionTemplate( - Object.assign(positionProperties, {trans: propertiesPanelTrans}), - ), - ); + self.DOMObject.find('#advancedTab').after( + positionTemplate( + Object.assign(positionProperties, {trans: propertiesPanelTrans}), + ), + ); - // Hide make fullscreen button for element groups - if (isElementGroup) { - self.DOMObject.find('#positionTab #setFullScreen').hide(); - } + // Hide make fullscreen button for element groups + if (isElementGroup) { + self.DOMObject.find('#positionTab #setFullScreen').hide(); + } - // Check if we should show the bring to view button - const checkBringToView = function(pos) { - const notInView = ( - pos.left > lD.layout.width || - (pos.left + pos.width) < 0 || - pos.top > lD.layout.height || - (pos.top + pos.height) < 0 - ); - self.DOMObject.find('#positionTab #bringToView') - .toggleClass('d-none', !notInView); - }; - checkBringToView(positionProperties); + // Check if we should show the bring to view button + const checkBringToView = function(pos) { + const notInView = ( + pos.left > lD.layout.width || + (pos.left + pos.width) < 0 || + pos.top > lD.layout.height || + (pos.top + pos.height) < 0 + ); + self.DOMObject.find('#positionTab #bringToView') + .toggleClass('d-none', !notInView); + }; + checkBringToView(positionProperties); - // If we change any input, update the target position - self.DOMObject.find('#positionTab [name]').on( - 'change', _.debounce(function(ev) { - const form = $(ev.currentTarget).parents('#positionTab'); + // If we change any input, update the target position + self.DOMObject.find('#positionTab [name]').on( + 'change', _.debounce(function(ev) { + const form = $(ev.currentTarget).parents('#positionTab'); - const preventNegative = function($field) { - // Prevent layer to be negative - let fieldValue = Number($field.val()); - if (fieldValue && fieldValue < 0) { - fieldValue = 0; + const preventNegative = function($field) { + // Prevent layer to be negative + let fieldValue = Number($field.val()); + if (fieldValue && fieldValue < 0) { + fieldValue = 0; - // Set form field back to 0 - $field.val(0); - } + // Set form field back to 0 + $field.val(0); + } - // Return field value - return fieldValue; - }; + // Return field value + return fieldValue; + }; - // If we changed the canvas layer, save only the canvas region - if ( - $(ev.currentTarget).parents('.position-canvas-input').length > 0 - ) { - const canvasZIndexVal = preventNegative( - form.find('[name="zIndexCanvas"]'), - ); + // If we changed the canvas layer, save only the canvas region + if ( + $(ev.currentTarget).parents('.position-canvas-input').length > 0 + ) { + const canvasZIndexVal = preventNegative( + form.find('[name="zIndexCanvas"]'), + ); - // Save canvas region - app.layout.canvas.changeLayer(canvasZIndexVal); + // Save canvas region + app.layout.canvas.changeLayer(canvasZIndexVal); - // Change layer for the viewer object - app.viewer.DOMObject.find('.designer-region-canvas') - .css('zIndex', canvasZIndexVal); + // Change layer for the viewer object + app.viewer.DOMObject.find('.designer-region-canvas') + .css('zIndex', canvasZIndexVal); - // Update layer manager - app.viewer.layerManager.render(); + // Update layer manager + app.viewer.layerManager.render(); - // Don't save the rest of the form - return; - } + // Don't save the rest of the form + return; + } - const viewerScale = lD.viewer.containerObjectDimensions.scale; + const viewerScale = lD.viewer.containerObjectDimensions.scale; - // Prevent layer to be negative - const zIndexVal = preventNegative( - form.find('[name="zIndex"]'), - ); + // Prevent layer to be negative + const zIndexVal = preventNegative( + form.find('[name="zIndex"]'), + ); - if (targetAux == undefined) { - // Widget - const regionId = (target.type === 'region') ? - target.id : - target.parent.id; - const positions = { - width: form.find('[name="width"]').val(), - height: form.find('[name="height"]').val(), - top: form.find('[name="top"]').val(), - left: form.find('[name="left"]').val(), - zIndex: zIndexVal, - }; + if (targetAux == undefined) { + // Widget + const regionId = (target.type === 'region') ? + target.id : + target.parent.id; + const positions = { + width: form.find('[name="width"]').val(), + height: form.find('[name="height"]').val(), + top: form.find('[name="top"]').val(), + left: form.find('[name="left"]').val(), + zIndex: zIndexVal, + }; + + lD.layout.regions[regionId].transform(positions, true); + + // Check bring to view button + checkBringToView(positions); + + lD.viewer.updateRegion(lD.layout.regions[regionId]); + + // Update moveable + lD.viewer.updateMoveable(); + } else if (targetAux?.type == 'element') { + // Element + const $targetElement = $('#' + targetAux.elementId); + + // Move element + $targetElement.css({ + width: form.find('[name="width"]').val() * viewerScale, + height: form.find('[name="height"]').val() * viewerScale, + top: form.find('[name="top"]').val() * viewerScale, + left: form.find('[name="left"]').val() * viewerScale, + zIndex: zIndexVal, + }); - lD.layout.regions[regionId].transform(positions, true); + // Check bring to view button + checkBringToView({ + width: form.find('[name="width"]').val(), + height: form.find('[name="height"]').val(), + top: form.find('[name="top"]').val(), + left: form.find('[name="left"]').val(), + }); - // Check bring to view button - checkBringToView(positions); + // Rotate element + if (form.find('[name="rotation"]').val() != undefined) { + $targetElement.css('transform', 'rotate(' + + form.find('[name="rotation"]').val() + + 'deg)'); + lD.viewer.moveable.updateRect(); + } - lD.viewer.updateRegion(lD.layout.regions[regionId]); + // Save layer + targetAux.layer = zIndexVal; - // Update moveable - lD.viewer.updateMoveable(); - } else if (targetAux?.type == 'element') { - // Element - const $targetElement = $('#' + targetAux.elementId); - - // Move element - $targetElement.css({ - width: form.find('[name="width"]').val() * viewerScale, - height: form.find('[name="height"]').val() * viewerScale, - top: form.find('[name="top"]').val() * viewerScale, - left: form.find('[name="left"]').val() * viewerScale, - zIndex: zIndexVal, - }); + // Recalculate group dimensions + if (targetAux.groupId) { + lD.viewer.saveElementGroupProperties( + lD.viewer.DOMObject.find('#' + targetAux.groupId), + true, + false, + ); + } else { + // Save properties + lD.viewer.saveElementProperties($targetElement, true); + } - // Check bring to view button - checkBringToView({ - width: form.find('[name="width"]').val(), - height: form.find('[name="height"]').val(), - top: form.find('[name="top"]').val(), - left: form.find('[name="left"]').val(), - }); + // Update element + lD.viewer.updateElement(targetAux, true); + + // Update moveable + lD.viewer.updateMoveable(); + } else if (targetAux?.type == 'element-group') { + // Element group + const $targetElementGroup = $('#' + targetAux.id); + + // Move element group + $targetElementGroup.css({ + width: form.find('[name="width"]').val() * viewerScale, + height: form.find('[name="height"]').val() * viewerScale, + top: form.find('[name="top"]').val() * viewerScale, + left: form.find('[name="left"]').val() * viewerScale, + zIndex: zIndexVal, + }); - // Rotate element - if (form.find('[name="rotation"]').val() != undefined) { - $targetElement.css('transform', 'rotate(' + - form.find('[name="rotation"]').val() + - 'deg)'); - lD.viewer.moveable.updateRect(); - } + // Save layer + targetAux.layer = zIndexVal; - // Save layer - targetAux.layer = zIndexVal; + // Check bring to view button + checkBringToView({ + width: form.find('[name="width"]').val(), + height: form.find('[name="height"]').val(), + top: form.find('[name="top"]').val(), + left: form.find('[name="left"]').val(), + }); - // Recalculate group dimensions - if (targetAux.groupId) { + // Scale group + // Update element dimension properties + targetAux.transform({ + width: parseFloat( + form.find('[name="width"]').val(), + ), + height: parseFloat( + form.find('[name="height"]').val(), + ), + }, false); + lD.viewer.updateElementGroup(targetAux); + + // Save properties lD.viewer.saveElementGroupProperties( - lD.viewer.DOMObject.find('#' + targetAux.groupId), + $targetElementGroup, + true, true, - false, ); - } else { - // Save properties - lD.viewer.saveElementProperties($targetElement, true); + + // Update moveable + lD.viewer.updateMoveable(); } - // Update element - lD.viewer.updateElement(targetAux, true); + // Update layer manager + app.viewer.layerManager.render(); + }, 200)); + + // Handle set fullscreen button + self.DOMObject.find('#positionTab #setFullScreen').off().on( + 'click', + function(ev) { + const form = $(ev.currentTarget).parents('#positionTab'); + const viewerScale = lD.viewer.containerObjectDimensions.scale; + + if (targetAux == undefined) { + // Widget + const regionId = target.parent.id; + + lD.layout.regions[regionId].transform({ + width: lD.layout.width, + height: lD.layout.height, + top: 0, + left: 0, + }, true); + + lD.viewer.updateRegion(lD.layout.regions[regionId], true); + } else if (targetAux?.type == 'element') { + // Element + const $targetElement = $('#' + targetAux.elementId); + + // Move element + $targetElement.css({ + width: lD.layout.width * viewerScale, + height: lD.layout.height * viewerScale, + top: 0, + left: 0, + }); - // Update moveable - lD.viewer.updateMoveable(); - } else if (targetAux?.type == 'element-group') { - // Element group - const $targetElementGroup = $('#' + targetAux.id); - - // Move element group - $targetElementGroup.css({ - width: form.find('[name="width"]').val() * viewerScale, - height: form.find('[name="height"]').val() * viewerScale, - top: form.find('[name="top"]').val() * viewerScale, - left: form.find('[name="left"]').val() * viewerScale, - zIndex: zIndexVal, - }); + // Save properties + lD.viewer.saveElementProperties($targetElement, true); + + // Update element + lD.viewer.updateElement(targetAux, true); + } - // Save layer - targetAux.layer = zIndexVal; + // Change position tab values + form.find('[name="width"]').val(lD.layout.width); + form.find('[name="height"]').val(lD.layout.height); + form.find('[name="top"]').val(0); + form.find('[name="left"]').val(0); // Check bring to view button checkBringToView({ - width: form.find('[name="width"]').val(), - height: form.find('[name="height"]').val(), - top: form.find('[name="top"]').val(), - left: form.find('[name="left"]').val(), - }); - - // Scale group - // Update element dimension properties - targetAux.transform({ - width: parseFloat( - form.find('[name="width"]').val(), - ), - height: parseFloat( - form.find('[name="height"]').val(), - ), - }, false); - lD.viewer.updateElementGroup(targetAux); - - // Save properties - lD.viewer.saveElementGroupProperties( - $targetElementGroup, - true, - true, - ); - - // Update moveable - lD.viewer.updateMoveable(); - } - - // Update layer manager - app.viewer.layerManager.render(); - }, 200)); - - // Handle set fullscreen button - self.DOMObject.find('#positionTab #setFullScreen').off().on( - 'click', - function(ev) { - const form = $(ev.currentTarget).parents('#positionTab'); - const viewerScale = lD.viewer.containerObjectDimensions.scale; - - if (targetAux == undefined) { - // Widget - const regionId = target.parent.id; - - lD.layout.regions[regionId].transform({ width: lD.layout.width, height: lD.layout.height, top: 0, left: 0, - }, true); - - lD.viewer.updateRegion(lD.layout.regions[regionId], true); - } else if (targetAux?.type == 'element') { - // Element - const $targetElement = $('#' + targetAux.elementId); - - // Move element - $targetElement.css({ - width: lD.layout.width * viewerScale, - height: lD.layout.height * viewerScale, - top: 0, - left: 0, }); - // Save properties - lD.viewer.saveElementProperties($targetElement, true); - - // Update element - lD.viewer.updateElement(targetAux, true); - } - - // Change position tab values - form.find('[name="width"]').val(lD.layout.width); - form.find('[name="height"]').val(lD.layout.height); - form.find('[name="top"]').val(0); - form.find('[name="left"]').val(0); - - // Check bring to view button - checkBringToView({ - width: lD.layout.width, - height: lD.layout.height, - top: 0, - left: 0, + // Update moveable + lD.viewer.updateMoveable(); }); - // Update moveable - lD.viewer.updateMoveable(); - }); - - // Handle bring to view button - self.DOMObject.find('#positionTab #bringToView').off().on( - 'click', - function(ev) { - const form = $(ev.currentTarget).parents('#positionTab'); - const viewerScale = lD.viewer.containerObjectDimensions.scale; - - // Get position to fix the item being outside of the layout - const calculateNewPosition = function(positions) { - if (Number(positions.left) > app.layout.width) { - positions.left = app.layout.width - positions.width; - } - if (Number(positions.left) + positions.width < 0) { - positions.left = 0; - } - if (Number(positions.top) > app.layout.height) { - positions.top = app.layout.height - positions.height; - } - if (Number(positions.top) + Number(positions.height) < 0) { - positions.top = 0; - } - return positions; - }; + // Handle bring to view button + self.DOMObject.find('#positionTab #bringToView').off().on( + 'click', + function(ev) { + const form = $(ev.currentTarget).parents('#positionTab'); + const viewerScale = lD.viewer.containerObjectDimensions.scale; + + // Get position to fix the item being outside of the layout + const calculateNewPosition = function(positions) { + if (Number(positions.left) > app.layout.width) { + positions.left = app.layout.width - positions.width; + } + if (Number(positions.left) + positions.width < 0) { + positions.left = 0; + } + if (Number(positions.top) > app.layout.height) { + positions.top = app.layout.height - positions.height; + } + if (Number(positions.top) + Number(positions.height) < 0) { + positions.top = 0; + } + return positions; + }; - let newPosition = {}; + let newPosition = {}; - if (targetAux == undefined) { - // Widget - const regionId = target.parent.id; + if (targetAux == undefined) { + // Widget + const regionId = target.parent.id; - newPosition = - calculateNewPosition(lD.layout.regions[regionId].dimensions); + newPosition = + calculateNewPosition(lD.layout.regions[regionId].dimensions); - lD.layout.regions[regionId].transform( - newPosition, - true, - ); + lD.layout.regions[regionId].transform( + newPosition, + true, + ); - lD.viewer.updateRegion(lD.layout.regions[regionId], true); - } else if (targetAux?.type == 'element') { - // Element - const $targetElement = $('#' + targetAux.elementId); - - newPosition = - calculateNewPosition({ - width: targetAux.width, - height: targetAux.height, - top: targetAux.top, - left: targetAux.left, + lD.viewer.updateRegion(lD.layout.regions[regionId], true); + } else if (targetAux?.type == 'element') { + // Element + const $targetElement = $('#' + targetAux.elementId); + + newPosition = + calculateNewPosition({ + width: targetAux.width, + height: targetAux.height, + top: targetAux.top, + left: targetAux.left, + }); + + // Move element + $targetElement.css({ + width: newPosition.width * viewerScale, + height: newPosition.height * viewerScale, + top: newPosition.top * viewerScale, + left: newPosition.left * viewerScale, }); - // Move element - $targetElement.css({ - width: newPosition.width * viewerScale, - height: newPosition.height * viewerScale, - top: newPosition.top * viewerScale, - left: newPosition.left * viewerScale, - }); - - // Save properties - lD.viewer.saveElementProperties($targetElement, true); + // Save properties + lD.viewer.saveElementProperties($targetElement, true); - // Update element - lD.viewer.updateElement(targetAux, true); - } else if (targetAux?.type == 'element-group') { - const $targetElementGroup = $('#' + targetAux.id); + // Update element + lD.viewer.updateElement(targetAux, true); + } else if (targetAux?.type == 'element-group') { + const $targetElementGroup = $('#' + targetAux.id); + + newPosition = + calculateNewPosition({ + width: targetAux.width, + height: targetAux.height, + top: targetAux.top, + left: targetAux.left, + }); + + // Move element group + $targetElementGroup.css({ + width: newPosition.width * viewerScale, + height: newPosition.height * viewerScale, + top: newPosition.top * viewerScale, + left: newPosition.left * viewerScale, + }); - newPosition = - calculateNewPosition({ - width: targetAux.width, - height: targetAux.height, - top: targetAux.top, - left: targetAux.left, + // Scale group + // Update element dimension properties + targetAux.transform({ + width: newPosition.width, + height: newPosition.height, + top: newPosition.top, + left: newPosition.left, }); - // Move element group - $targetElementGroup.css({ - width: newPosition.width * viewerScale, - height: newPosition.height * viewerScale, - top: newPosition.top * viewerScale, - left: newPosition.left * viewerScale, - }); + lD.viewer.updateElementGroup(targetAux); - // Scale group - // Update element dimension properties - targetAux.transform({ - width: newPosition.width, - height: newPosition.height, - top: newPosition.top, - left: newPosition.left, - }); + // Save properties + lD.viewer.saveElementGroupProperties( + $targetElementGroup, + true, + true, + ); - lD.viewer.updateElementGroup(targetAux); + // Update moveable + lD.viewer.updateMoveable(); + } - // Save properties - lD.viewer.saveElementGroupProperties( - $targetElementGroup, - true, - true, - ); + // Change position tab values + form.find('[name="width"]').val(newPosition.width); + form.find('[name="height"]').val(newPosition.height); + form.find('[name="top"]').val(newPosition.top); + form.find('[name="left"]').val(newPosition.left); // Update moveable lD.viewer.updateMoveable(); - } + }); + }; - // Change position tab values - form.find('[name="width"]').val(newPosition.width); - form.find('[name="height"]').val(newPosition.height); - form.find('[name="top"]').val(newPosition.top); - form.find('[name="left"]').val(newPosition.left); + // If it's an element, get properties, first to update it + // and only then call render position tab + if (targetAux?.type === 'element') { + targetAux.getProperties().then(function() { + renderPositionTab(); - // Update moveable - lD.viewer.updateMoveable(); + // Handle replacements for element + const data = { + layout: app.layout, + }; + forms.handleFormReplacements(self.DOMObject.find('form'), data); }); + } else { + renderPositionTab(); + } } // For media widget, add replacement button diff --git a/ui/src/editor-core/toolbar.js b/ui/src/editor-core/toolbar.js index 6a8deeb3ce..59152b572e 100644 --- a/ui/src/editor-core/toolbar.js +++ b/ui/src/editor-core/toolbar.js @@ -1706,6 +1706,11 @@ Toolbar.prototype.mediaContentPopulate = function(menu) { const $mediaContent = self.DOMObject.find('#media-content-' + menu); const $mediaForm = $mediaContainer.find('.media-search-form'); + // If media container isn't still loaded, skip + if ($mediaContainer.length === 0) { + return; + } + // Request elements based on filters const loadData = function(clear = true) { // Remove show more button @@ -2371,11 +2376,11 @@ Toolbar.prototype.mediaContentHandleInputs = function( // Initialize user list input const $userListInput = $mediaForm.find('select[name="ownerId"]'); - makePagedSelect($userListInput); + makePagedSelect($userListInput, $mediaContainer, null, true); // Initialize folder input const $folderInput = $mediaForm.find('select[name="folderId"]'); - makePagedSelect($folderInput, null, function(data) { + makePagedSelect($folderInput, $mediaContainer, function(data) { // Format data const newData = []; @@ -2401,7 +2406,7 @@ Toolbar.prototype.mediaContentHandleInputs = function( return { data: newData, }; - }); + }, true); // Initialize other select inputs $mediaForm @@ -2707,7 +2712,7 @@ Toolbar.prototype.layoutTemplatesContentPopulate = function(menu) { // Initialize folder input const $folderInput = $searchForm.find('select[name="folderId"]'); - makePagedSelect($folderInput, null, function(data) { + makePagedSelect($folderInput, $searchForm, function(data) { // Format data const newData = []; @@ -2733,7 +2738,7 @@ Toolbar.prototype.layoutTemplatesContentPopulate = function(menu) { return { data: newData, }; - }); + }, true); // Initialize other select inputs $container @@ -2962,11 +2967,11 @@ Toolbar.prototype.playlistsContentPopulate = function(menu) { // Initialize user list input const $userListInput = $container .find('.media-search-form select[name="userId"]'); - makePagedSelect($userListInput); + makePagedSelect($userListInput, $container, null, true); // Initialize folder input const $folderInput = $container.find('select[name="folderId"]'); - makePagedSelect($folderInput, null, function(data) { + makePagedSelect($folderInput, $container, function(data) { // Format data const newData = []; @@ -2992,7 +2997,7 @@ Toolbar.prototype.playlistsContentPopulate = function(menu) { return { data: newData, }; - }); + }, true); // Initialize other select inputs $container @@ -3690,4 +3695,15 @@ Toolbar.prototype.loadTemplates = function( }); }; +/** + * Get menu item id from type + * @param {string} type - Menu type + * @return {number} - Menu id + */ +Toolbar.prototype.getMenuIdFromType = function( + type, +) { + return this.menuItems.findIndex((item) => item.name === type); +}; + module.exports = Toolbar; diff --git a/ui/src/editor-core/widget.js b/ui/src/editor-core/widget.js index 045168158b..7de3c2d993 100644 --- a/ui/src/editor-core/widget.js +++ b/ui/src/editor-core/widget.js @@ -786,7 +786,8 @@ Widget.prototype.getNextWidget = function(reverse = false) { /** * Save elements to widget * @param {object} elements - elements to save - * @param {boolean} reload - reload layout + * @param {boolean} updateEditor - update editor + * @param {boolean} reloadData - reload data * @param {boolean} forceRequest * - always make request even another one is happening * @param {boolean} addToHistory @@ -796,7 +797,8 @@ Widget.prototype.getNextWidget = function(reverse = false) { Widget.prototype.saveElements = function( { elements = null, - reload = false, + updateEditor = false, + reloadData = true, forceRequest = false, addToHistory = true, } = {}, @@ -817,10 +819,14 @@ Widget.prototype.saveElements = function( let savePending; - const reloadLayout = function(forceReload = false) { + const reloadLayout = function() { + if (!reloadData) { + return; + } + app.reloadData(app.layout, { - refreshEditor: (reload || forceReload), + refreshEditor: updateEditor, }); }; @@ -1243,7 +1249,7 @@ Widget.prototype.removeElement = function( // Only save if we're not removing the widget // Save changes to widget (save && !savedAlready) && this.saveElements({ - reload: reload, + updateEditor: reload, }); // If object is selected, remove it from selection diff --git a/ui/src/layout-editor/layout.js b/ui/src/layout-editor/layout.js index d07f28a26b..a4ecd75e01 100644 --- a/ui/src/layout-editor/layout.js +++ b/ui/src/layout-editor/layout.js @@ -68,6 +68,8 @@ const Layout = function(id, data) { this.backgroundImage = data.backgroundImageId; this.backgroundColor = data.backgroundColor; + this.backgroundzIndex = data.backgroundzIndex; + this.resolutionId = null; this.code = data.code; this.folderId = data.folderId; @@ -1142,4 +1144,33 @@ Layout.prototype.saveMultipleRegions = function(regions) { }); }; +/** + * Save layout background layer + * @param {number} layer New layer + * @return {Promise} - Promise that resolves when the regions are saved + */ +Layout.prototype.saveBackgroundLayer = function(layer) { + const self = this; + return new Promise(function(resolve, reject) { + const requestPath = + urlsForApi.layout.saveForm.url.replace(':id', self.layoutId); + + $.ajax({ + url: requestPath, + type: urlsForApi.layout.saveForm.type, + data: { + backgroundColor: self.backgroundColor, + backgroundImageId: self.backgroundImage, + resolutionId: self.resolutionId, + backgroundzIndex: self.backgroundzIndex, + }, + }).done(function(data) { + resolve(data); + }).fail(function(jqXHR, textStatus, errorThrown) { + // Reject promise and return an object with all values + reject(new Error({jqXHR, textStatus, errorThrown})); + }); + }); +}; + module.exports = Layout; diff --git a/ui/src/layout-editor/main.js b/ui/src/layout-editor/main.js index 2e7875ad45..e9fb18d7c0 100644 --- a/ui/src/layout-editor/main.js +++ b/ui/src/layout-editor/main.js @@ -1530,11 +1530,11 @@ lD.deleteObject = function( * @param {boolean=} showConfirmationModal */ lD.deleteMultipleObjects = function(showConfirmationModal = true) { - const deleteElementsOrGroupElements = function( + const deleteElements = function( itemsArray, - type = 'elements', ) { let auxWidget = null; + let auxWidgetId = null; itemsArray.each((idx, item) => { const itemId = $(item).attr('id'); const widgetId = $(item).data('widgetId'); @@ -1552,8 +1552,11 @@ lD.deleteMultipleObjects = function(showConfirmationModal = true) { ) ); - // Get parent widget if doesn't exist or we need to save + // Get parent widget if doesn't exist + // if widget is a new one + // or we need to save if ( + widgetFullId != auxWidgetId || !auxWidget || save ) { @@ -1562,26 +1565,18 @@ lD.deleteMultipleObjects = function(showConfirmationModal = true) { widgetFullId, 'canvas', ); - } - // Delete element from widget - if (type === 'elements') { - auxWidget.removeElement( - itemId, - { - save: save, - reload: false, - }, - ); - } else { - auxWidget.removeElementGroup( - itemId, - { - save: save, - reload: false, - }, - ); + auxWidgetId = widgetFullId; } + + // Delete elements from widget + auxWidget.removeElement( + itemId, + { + save: save, + reload: false, + }, + ); }); }; @@ -1616,17 +1611,13 @@ lD.deleteMultipleObjects = function(showConfirmationModal = true) { return; } - // First delete elements if they exist - const $elementsToBeDeleted = + // Get elements to be deleted + let $elementsToBeDeleted = lD.viewer.DOMObject.find('.selected.designer-element').sort((a, b) => { return Number($(b).data('widgetId')) - Number($(a).data('widgetId')); }); - if ($elementsToBeDeleted.length > 0) { - deleteElementsOrGroupElements($elementsToBeDeleted); - } - - // Then delete element groups + // Get groups to be deleted const $elementGroupsToBeDeleted = lD.viewer.DOMObject.find('.selected.designer-element-group') .sort((a, b) => { @@ -1636,13 +1627,22 @@ lD.deleteMultipleObjects = function(showConfirmationModal = true) { ); }); + // Grab elements from the groups if ($elementGroupsToBeDeleted.length > 0) { - deleteElementsOrGroupElements( - $elementGroupsToBeDeleted, - 'elementGroups', + // Add elements from the groups to all elements to be deleted + $elementsToBeDeleted = $elementsToBeDeleted.add( + $elementGroupsToBeDeleted.find('.designer-element').sort((a, b) => { + return Number($(b).data('widgetId')) - Number($(a).data('widgetId')); + }), ); } + // Delete elements (groups will be automatically deleted + // if all elements from a group are also deleted) + if ($elementsToBeDeleted.length > 0) { + deleteElements($elementsToBeDeleted); + } + // Finally, delete regions one by one const $regionsToBeDeleted = lD.viewer.DOMObject.find('.selected.designer-region'); @@ -3604,11 +3604,17 @@ lD.openContextMenu = function(obj, position = {x: 0, y: 0}) { // and has at least one widget layoutObject.playlistCanBeConverted = ( layoutObject.isPlaylist && - !$(obj).find('.playlist-edit-btn') - .hasClass('subplaylist-inline-edit-btn') && + !$(obj).hasClass('playlist-global-editable') && layoutObject.playlists.widgets.length > 0 ); + // Check if it's a dynamic playlist + layoutObject.isDynamicPlaylist = + ( + layoutObject.isPlaylist && + $(obj).hasClass('playlist-dynamic') + ); + // Create menu and append to the designer div // ( using the object extended with translations ) lD.editorContainer.append( @@ -4672,6 +4678,10 @@ lD.importFromProvider = function(items) { } }); + // Get item type, if not image/audio/video, set it as library + const itemType = + ['image', 'audio', 'video'].indexOf(itemsResult[0].type) == -1 ? + 'library' : itemsResult[0].type; const linkToAPI = urlsForApi.library.connectorImport; const requestPath = linkToAPI.url; @@ -4713,6 +4723,11 @@ lD.importFromProvider = function(items) { // Filter null results itemsResult = itemsResult.filter((el) => el); + // Empty toolbar content for this type of media + // so it can be reloaded + const menuId = lD.toolbar.getMenuIdFromType(itemType); + lD.toolbar.DOMObject.find('#content-' + menuId).empty(); + resolve(itemsResult); } else { lD.common.hideLoadingScreen(); diff --git a/ui/src/layout-editor/viewer.js b/ui/src/layout-editor/viewer.js index bbb85bd882..fe53c5c305 100644 --- a/ui/src/layout-editor/viewer.js +++ b/ui/src/layout-editor/viewer.js @@ -338,6 +338,10 @@ Viewer.prototype.render = function(forceReload = false, target = {}) { // Initialise moveable this.initMoveable(); + // Remove background image component if exists + $viewerContainer.find('.layout-live-preview .layout-background-image') + .remove(); + // Render background image or color to the preview if (lD.layout.backgroundImage === null) { $viewerContainer.find('.viewer-object') @@ -348,7 +352,9 @@ Viewer.prototype.render = function(forceReload = false, target = {}) { // Replace ID in the link linkToAPI = linkToAPI.replace(':id', lD.layout.layoutId); - $viewerContainer.find('.viewer-object') + // Append layout background image component + const $layoutBgImage = $('
    '); + $layoutBgImage .css({ background: 'url(\'' + linkToAPI + '?preview=1&width=' + @@ -362,7 +368,9 @@ Viewer.prototype.render = function(forceReload = false, target = {}) { lD.layout.backgroundImage + '\') top center no-repeat', backgroundSize: '100% 100%', backgroundColor: lD.layout.backgroundColor, + zIndex: lD.layout.backgroundzIndex, }); + $layoutBgImage.appendTo($viewerContainer.find('.layout-live-preview')); } // Render viewer regions/widgets @@ -899,6 +907,7 @@ Viewer.prototype.handleInteractions = function() { if ( $target.data('subType') === 'playlist' && + !$target.hasClass('playlist-dynamic') && $target.hasClass('editable') ) { // Edit region if it's a playlist @@ -1298,14 +1307,26 @@ Viewer.prototype.renderRegion = function( isEmpty: res.extra && res.extra.empty, trans: viewerTrans, canEditPlaylist: false, + isDynamicPlaylist: false, }; // Append playlist controls using appendOptions const appendPlaylistControls = function() { + // Mark playlist container as global-editable or dynamic + $container.toggleClass( + 'playlist-global-editable', + appendOptions.canEditPlaylist, + ); + $container.toggleClass( + 'playlist-dynamic', + appendOptions.isDynamicPlaylist, + ); + + // Append playlist controls to container $container.append(viewerPlaylistControlsTemplate(appendOptions)); }; - // If it's playslist with a single subplaylist widget + // If it's playlist with a single subplaylist widget if ( Object.keys(region.widgets).length === 1 && Object.values(region.widgets)[0].subType === 'subplaylist' && @@ -1327,8 +1348,14 @@ Viewer.prototype.renderRegion = function( success: function(_res) { // User has permissions if (_res.data && _res.data.length > 0) { - appendOptions.canEditPlaylist = true; - appendOptions.canEditPlaylistId = subPlaylistId; + // Check if playlist is dynamic + if (_res.data[0].isDynamic === 1) { + appendOptions.isDynamicPlaylist = true; + } else { + // If it's not dynamic, enable editing + appendOptions.canEditPlaylist = true; + appendOptions.canEditPlaylistId = subPlaylistId; + } } // Append playlist controls @@ -1439,22 +1466,30 @@ Viewer.prototype.updateElement = function( ) { const $container = lD.viewer.DOMObject.find(`#${element.elementId}`); + // Get real elements from the structure + const realElement = + lD.getObjectByTypeAndId( + 'element', + element.elementId, + 'widget_' + element.regionId + '_' + element.widgetId, + ); + // Calculate scaled dimensions - element.scaledDimensions = { - height: element.height * lD.viewer.containerObjectDimensions.scale, - left: element.left * lD.viewer.containerObjectDimensions.scale, - top: element.top * lD.viewer.containerObjectDimensions.scale, - width: element.width * lD.viewer.containerObjectDimensions.scale, + realElement.scaledDimensions = { + height: realElement.height * lD.viewer.containerObjectDimensions.scale, + left: realElement.left * lD.viewer.containerObjectDimensions.scale, + top: realElement.top * lD.viewer.containerObjectDimensions.scale, + width: realElement.width * lD.viewer.containerObjectDimensions.scale, }; // Update element index $container.css({ - 'z-index': element.layer, + 'z-index': realElement.layer, }); // Update element content lD.viewer.renderElementContent( - element, + realElement, ); }; @@ -2488,6 +2523,7 @@ Viewer.prototype.initMoveable = function() { // Apply transformation to the element const transformSplit = (target.style.transform).split(/[(),]+/); let hasTranslate = false; + let hasRotate = false; // If the transform has translate if (target.style.transform.search('translate') != -1) { @@ -2506,6 +2542,10 @@ Viewer.prototype.initMoveable = function() { transformSplit[4] : transformSplit[1]; + if (rotateValue != '0deg') { + hasRotate = true; + } + target.style.transform = `rotate(${rotateValue})`; } else { target.style.transform = ''; @@ -2513,7 +2553,8 @@ Viewer.prototype.initMoveable = function() { // If snap to borders is active, prevent negative values // Or snap to border if <1px delta - if (self.moveableOptions.snapToBorders) { + // only works for no rotation + if (self.moveableOptions.snapToBorders && !hasRotate) { let left = Number(target.style.left.split('px')[0]); let top = Number(target.style.top.split('px')[0]); let width = Number(target.style.width.split('px')[0]); diff --git a/ui/src/playlist-editor/main.js b/ui/src/playlist-editor/main.js index 8cb4e795fe..e179729c44 100644 --- a/ui/src/playlist-editor/main.js +++ b/ui/src/playlist-editor/main.js @@ -101,6 +101,9 @@ window.pE = { // inline playlist editor? inline: false, + // is it an external playlist? + externalPlaylist: true, + // Show minimum dimensions message showMinDimensionsMessage: false, }; @@ -138,6 +141,7 @@ pE.loadEditor = function( pE.mainRegion = pE.editorContainer.parents('#editor-container').data('regionObj'); pE.inline = true; + pE.externalPlaylist = showExternalPlaylistMessage; } // Get playlist id @@ -1041,6 +1045,10 @@ pE.importFromProvider = function(items) { } }); + // Get item type, if not image/audio/video, set it as library + const itemType = + ['image', 'audio', 'video'].indexOf(itemsResult[0].type) == -1 ? + 'library' : itemsResult[0].type; const linkToAPI = urlsForApi.library.connectorImport; const requestPath = linkToAPI.url; @@ -1082,6 +1090,11 @@ pE.importFromProvider = function(items) { // Filter null results itemsResult = itemsResult.filter((el) => el); + // Empty toolbar content for this type of media + // so it can be reloaded + const menuId = pE.toolbar.getMenuIdFromType(itemType); + pE.toolbar.DOMObject.find('#content-' + menuId).empty(); + resolve(itemsResult); } else { pE.common.hideLoadingScreen(); diff --git a/ui/src/playlist-editor/playlist-timeline.js b/ui/src/playlist-editor/playlist-timeline.js index 6933cd5dfa..3fa9f444b9 100644 --- a/ui/src/playlist-editor/playlist-timeline.js +++ b/ui/src/playlist-editor/playlist-timeline.js @@ -157,6 +157,14 @@ PlaylistTimeline.prototype.render = function() { // Sortable widgets this.DOMObject.find('#timeline-container').sortable({ + // Disabled if we're inline with a non-external playlist + // and on read only mode + disabled: ( + pE.inline === true && + pE.externalPlaylist === false && + typeof lD != undefined && + lD.readOnlyMode === true + ), axis: 'y', items: '.playlist-widget', start: function(event, ui) { diff --git a/ui/src/style/layout-editor.scss b/ui/src/style/layout-editor.scss index aad2f4e712..76c1b826e7 100644 --- a/ui/src/style/layout-editor.scss +++ b/ui/src/style/layout-editor.scss @@ -459,7 +459,7 @@ body.editor-opened { .designer-region-playlist { background: transparent; - .playlist-edit-btn { + .playlist-edit-btn, .dynamic-playlist-icon { position: absolute; top: 2px; right: 2px; @@ -488,6 +488,12 @@ body.editor-opened { } } + .dynamic-playlist-icon { + background-color: darken($xibo-color-primary, 20%); + opacity: 0.7; + cursor: inherit; + } + &:hover > .playlist-edit-btn { opacity: 0.7; @@ -1530,6 +1536,14 @@ body.editor-opened { } } } + + /* Layout tbackgrouynd */ + .viewer-object .layout-background-image { + position: absolute; + width: 100%; + height: 100%; + pointer-events: none; + } } .viewer-object-select.selected-temp { @@ -1775,6 +1789,7 @@ div#bg_media_name { gap: 6px; padding: 0 4px; height: 34px; + cursor: pointer; .layer { flex-basis: 30px; diff --git a/ui/src/templates/bottombar-viewer.hbs b/ui/src/templates/bottombar-viewer.hbs index e9eb187009..7b06cdf941 100644 --- a/ui/src/templates/bottombar-viewer.hbs +++ b/ui/src/templates/bottombar-viewer.hbs @@ -67,11 +67,6 @@ {{/if}} - -