Merge branch 'master' into Buerklin-provider

This commit is contained in:
Marc 2026-01-04 19:41:45 +01:00 committed by GitHub
commit 1fb2c050db
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
17 changed files with 2488 additions and 2294 deletions

View file

@ -37,7 +37,7 @@ jobs:
run: | run: |
echo "::set-output name=dir::$(composer config cache-files-dir)" echo "::set-output name=dir::$(composer config cache-files-dir)"
- uses: actions/cache@v4 - uses: actions/cache@v5
with: with:
path: ${{ steps.composer-cache.outputs.dir }} path: ${{ steps.composer-cache.outputs.dir }}
key: ${{ runner.os }}-composer-${{ hashFiles('**/composer.lock') }} key: ${{ runner.os }}-composer-${{ hashFiles('**/composer.lock') }}
@ -51,7 +51,7 @@ jobs:
id: yarn-cache-dir-path id: yarn-cache-dir-path
run: echo "::set-output name=dir::$(yarn cache dir)" run: echo "::set-output name=dir::$(yarn cache dir)"
- uses: actions/cache@v4 - uses: actions/cache@v5
id: yarn-cache # use this to check for `cache-hit` (`steps.yarn-cache.outputs.cache-hit != 'true'`) id: yarn-cache # use this to check for `cache-hit` (`steps.yarn-cache.outputs.cache-hit != 'true'`)
with: with:
path: ${{ steps.yarn-cache-dir-path.outputs.dir }} path: ${{ steps.yarn-cache-dir-path.outputs.dir }}
@ -80,13 +80,13 @@ jobs:
run: zip -r /tmp/partdb_assets.zip public/build/ vendor/ run: zip -r /tmp/partdb_assets.zip public/build/ vendor/
- name: Upload assets artifact - name: Upload assets artifact
uses: actions/upload-artifact@v5 uses: actions/upload-artifact@v6
with: with:
name: Only dependencies and built assets name: Only dependencies and built assets
path: /tmp/partdb_assets.zip path: /tmp/partdb_assets.zip
- name: Upload full artifact - name: Upload full artifact
uses: actions/upload-artifact@v5 uses: actions/upload-artifact@v6
with: with:
name: Full Part-DB including dependencies and built assets name: Full Part-DB including dependencies and built assets
path: /tmp/partdb_with_assets.zip path: /tmp/partdb_with_assets.zip

View file

@ -34,7 +34,7 @@ jobs:
run: | run: |
echo "::set-output name=dir::$(composer config cache-files-dir)" echo "::set-output name=dir::$(composer config cache-files-dir)"
- uses: actions/cache@v4 - uses: actions/cache@v5
with: with:
path: ${{ steps.composer-cache.outputs.dir }} path: ${{ steps.composer-cache.outputs.dir }}
key: ${{ runner.os }}-composer-${{ hashFiles('**/composer.lock') }} key: ${{ runner.os }}-composer-${{ hashFiles('**/composer.lock') }}

View file

@ -81,7 +81,7 @@ jobs:
id: composer-cache id: composer-cache
run: | run: |
echo "::set-output name=dir::$(composer config cache-files-dir)" echo "::set-output name=dir::$(composer config cache-files-dir)"
- uses: actions/cache@v4 - uses: actions/cache@v5
with: with:
path: ${{ steps.composer-cache.outputs.dir }} path: ${{ steps.composer-cache.outputs.dir }}
key: ${{ runner.os }}-composer-${{ hashFiles('**/composer.lock') }} key: ${{ runner.os }}-composer-${{ hashFiles('**/composer.lock') }}
@ -92,7 +92,7 @@ jobs:
id: yarn-cache-dir-path id: yarn-cache-dir-path
run: echo "::set-output name=dir::$(yarn cache dir)" run: echo "::set-output name=dir::$(yarn cache dir)"
- uses: actions/cache@v4 - uses: actions/cache@v5
id: yarn-cache # use this to check for `cache-hit` (`steps.yarn-cache.outputs.cache-hit != 'true'`) id: yarn-cache # use this to check for `cache-hit` (`steps.yarn-cache.outputs.cache-hit != 'true'`)
with: with:
path: ${{ steps.yarn-cache-dir-path.outputs.dir }} path: ${{ steps.yarn-cache-dir-path.outputs.dir }}

View file

@ -79,6 +79,7 @@
"symfony/string": "7.4.*", "symfony/string": "7.4.*",
"symfony/translation": "7.4.*", "symfony/translation": "7.4.*",
"symfony/twig-bundle": "7.4.*", "symfony/twig-bundle": "7.4.*",
"symfony/type-info": "7.4.0",
"symfony/ux-translator": "^2.10", "symfony/ux-translator": "^2.10",
"symfony/ux-turbo": "^2.0", "symfony/ux-turbo": "^2.0",
"symfony/validator": "7.4.*", "symfony/validator": "7.4.*",

1179
composer.lock generated

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

View file

@ -29,6 +29,7 @@ use App\DataTables\Helpers\PartDataTableHelper;
use App\Entity\Attachments\Attachment; use App\Entity\Attachments\Attachment;
use App\Entity\Parts\Part; use App\Entity\Parts\Part;
use App\Entity\ProjectSystem\ProjectBOMEntry; use App\Entity\ProjectSystem\ProjectBOMEntry;
use App\Services\ElementTypeNameGenerator;
use App\Services\EntityURLGenerator; use App\Services\EntityURLGenerator;
use App\Services\Formatters\AmountFormatter; use App\Services\Formatters\AmountFormatter;
use Doctrine\ORM\QueryBuilder; use Doctrine\ORM\QueryBuilder;
@ -41,7 +42,8 @@ use Symfony\Contracts\Translation\TranslatorInterface;
class ProjectBomEntriesDataTable implements DataTableTypeInterface class ProjectBomEntriesDataTable implements DataTableTypeInterface
{ {
public function __construct(protected TranslatorInterface $translator, protected PartDataTableHelper $partDataTableHelper, protected EntityURLGenerator $entityURLGenerator, protected AmountFormatter $amountFormatter) public function __construct(protected TranslatorInterface $translator, protected PartDataTableHelper $partDataTableHelper,
protected EntityURLGenerator $entityURLGenerator, protected AmountFormatter $amountFormatter, private readonly ElementTypeNameGenerator $elementTypeNameGenerator)
{ {
} }
@ -79,7 +81,14 @@ class ProjectBomEntriesDataTable implements DataTableTypeInterface
return htmlspecialchars($this->amountFormatter->format($context->getQuantity(), $context->getPart()->getPartUnit())); return htmlspecialchars($this->amountFormatter->format($context->getQuantity(), $context->getPart()->getPartUnit()));
}, },
]) ])
->add('partId', TextColumn::class, [
'label' => $this->translator->trans('project.bom.part_id'),
'visible' => true,
'orderField' => 'part.id',
'render' => function ($value, ProjectBOMEntry $context) {
return $context->getPart() instanceof Part ? (string) $context->getPart()->getId() : '';
},
])
->add('name', TextColumn::class, [ ->add('name', TextColumn::class, [
'label' => $this->translator->trans('part.table.name'), 'label' => $this->translator->trans('part.table.name'),
'orderField' => 'NATSORT(part.name)', 'orderField' => 'NATSORT(part.name)',

View file

@ -104,7 +104,7 @@ final class FieldHelper
{ {
$db_platform = $qb->getEntityManager()->getConnection()->getDatabasePlatform(); $db_platform = $qb->getEntityManager()->getConnection()->getDatabasePlatform();
$key = 'field2_' . md5($field_expr); $key = 'field2_' . hash('xxh3', $field_expr);
//If we are on MySQL, we can just use the FIELD function //If we are on MySQL, we can just use the FIELD function
if ($db_platform instanceof AbstractMySQLPlatform) { if ($db_platform instanceof AbstractMySQLPlatform) {
@ -121,4 +121,4 @@ final class FieldHelper
return $qb; return $qb;
} }
} }

View file

@ -139,7 +139,7 @@ class FileTypeFilterTools
{ {
$filter = trim($filter); $filter = trim($filter);
return $this->cache->get('filter_exts_'.md5($filter), function (ItemInterface $item) use ($filter) { return $this->cache->get('filter_exts_'.hash('xxh3', $filter), function (ItemInterface $item) use ($filter) {
$elements = explode(',', $filter); $elements = explode(',', $filter);
$extensions = []; $extensions = [];

View file

@ -311,6 +311,14 @@ class DigikeyProvider implements InfoProviderInterface
'auth_bearer' => $this->authTokenManager->getAlwaysValidTokenString(self::OAUTH_APP_NAME) 'auth_bearer' => $this->authTokenManager->getAlwaysValidTokenString(self::OAUTH_APP_NAME)
]); ]);
if ($response->getStatusCode() === 404) {
//No media found
return [
'datasheets' => [],
'images' => [],
];
}
$media_array = $response->toArray(); $media_array = $response->toArray();
foreach ($media_array['MediaLinks'] as $media_link) { foreach ($media_array['MediaLinks'] as $media_link) {

View file

@ -397,13 +397,13 @@ class OEMSecretsProvider implements InfoProviderInterface
* Generates a cache key for storing part details based on the provided provider ID. * Generates a cache key for storing part details based on the provided provider ID.
* *
* This method creates a unique cache key by prefixing the provider ID with 'part_details_' * This method creates a unique cache key by prefixing the provider ID with 'part_details_'
* and hashing the provider ID using MD5 to ensure a consistent and compact key format. * and hashing the provider ID using XXH3 to ensure a consistent and compact key format.
* *
* @param string $provider_id The unique identifier of the provider or part. * @param string $provider_id The unique identifier of the provider or part.
* @return string The generated cache key. * @return string The generated cache key.
*/ */
private function getCacheKey(string $provider_id): string { private function getCacheKey(string $provider_id): string {
return 'oemsecrets_part_' . md5($provider_id); return 'oemsecrets_part_' . hash('xxh3', $provider_id);
} }

View file

@ -31,9 +31,6 @@ enum ProviderCapabilities
/** Basic information about a part, like the name, description, part number, manufacturer etc */ /** Basic information about a part, like the name, description, part number, manufacturer etc */
case BASIC; case BASIC;
/** Information about the footprint of a part */
case FOOTPRINT;
/** Provider can provide a picture for a part */ /** Provider can provide a picture for a part */
case PICTURE; case PICTURE;
@ -43,6 +40,24 @@ enum ProviderCapabilities
/** Provider can provide prices for a part */ /** Provider can provide prices for a part */
case PRICE; case PRICE;
/** Information about the footprint of a part */
case FOOTPRINT;
/**
* Get the order index for displaying capabilities in a stable order.
* @return int
*/
public function getOrderIndex(): int
{
return match($this) {
self::BASIC => 1,
self::PICTURE => 2,
self::DATASHEET => 3,
self::PRICE => 4,
self::FOOTPRINT => 5,
};
}
public function getTranslationKey(): string public function getTranslationKey(): string
{ {
return 'info_providers.capabilities.' . match($this) { return 'info_providers.capabilities.' . match($this) {

View file

@ -27,7 +27,7 @@
title="{% trans %}info_providers.settings.title{% endtrans %}" title="{% trans %}info_providers.settings.title{% endtrans %}"
><i class="fa-solid fa-cog"></i></a> ><i class="fa-solid fa-cog"></i></a>
{% endif %} {% endif %}
{% for capability in provider.capabilities %} {% for capability in provider.capabilities|sort((a, b) => a.orderIndex <=> b.orderIndex) %}
{# @var capability \App\Services\InfoProviderSystem\Providers\ProviderCapabilities #} {# @var capability \App\Services\InfoProviderSystem\Providers\ProviderCapabilities #}
<span class="badge text-bg-secondary"> <span class="badge text-bg-secondary">
<i class="{{ capability.fAIconClass }} fa-fw"></i> <i class="{{ capability.fAIconClass }} fa-fw"></i>

View file

@ -135,8 +135,8 @@
{% block additional_content %} {% block additional_content %}
{% if pdf_data %} {% if pdf_data %}
<div class="card mt-2 p-1 border-secondary" style="resize: vertical; overflow: scroll; height: 250px"> <div class="card mt-2 p-1 border-secondary" style="resize: vertical; overflow: scroll; height: 280px">
<object id="pdf_preview" data="{{ pdf_data | data_uri(mime='application/pdf') }}"style="height: inherit"> <object id="pdf_preview" data="{{ pdf_data | data_uri(mime='application/pdf') }}" style="height: inherit">
</object> </object>
</div> </div>
{% endif %} {% endif %}

View file

@ -14032,128 +14032,128 @@ You can do this in the provider info list.</target>
</segment> </segment>
</unit> </unit>
<unit id="L4nq52R" name="settings.misc.ipn_suggest.useDuplicateDescription.help"> <unit id="L4nq52R" name="settings.misc.ipn_suggest.useDuplicateDescription.help">
<segment> <segment state="translated">
<source>settings.misc.ipn_suggest.useDuplicateDescription.help</source> <source>settings.misc.ipn_suggest.useDuplicateDescription.help</source>
<target>When enabled, the parts description is used to find existing parts with the same description and to determine the next available IPN by incrementing their numeric suffix for the suggestion list.</target> <target>When enabled, the parts description is used to find existing parts with the same description and to determine the next available IPN by incrementing their numeric suffix for the suggestion list.</target>
</segment> </segment>
</unit> </unit>
<unit id="NIw6dtz" name="settings.misc.ipn_suggest.regex.help"> <unit id="NIw6dtz" name="settings.misc.ipn_suggest.regex.help">
<segment> <segment state="translated">
<source>settings.misc.ipn_suggest.regex.help</source> <source>settings.misc.ipn_suggest.regex.help</source>
<target>A PCRE-compatible regular expression every IPN has to fulfill. Leave empty to allow everything as IPN.</target> <target>A PCRE-compatible regular expression every IPN has to fulfill. Leave empty to allow everything as IPN.</target>
</segment> </segment>
</unit> </unit>
<unit id="MoHHSNT" name="user.labelp"> <unit id="MoHHSNT" name="user.labelp">
<segment> <segment state="translated">
<source>user.labelp</source> <source>user.labelp</source>
<target>Users</target> <target>Users</target>
</segment> </segment>
</unit> </unit>
<unit id="5.oI1XD" name="currency.labelp"> <unit id="5.oI1XD" name="currency.labelp">
<segment> <segment state="translated">
<source>currency.labelp</source> <source>currency.labelp</source>
<target>Currencies</target> <target>Currencies</target>
</segment> </segment>
</unit> </unit>
<unit id="8F2EwVK" name="measurement_unit.labelp"> <unit id="8F2EwVK" name="measurement_unit.labelp">
<segment> <segment state="translated">
<source>measurement_unit.labelp</source> <source>measurement_unit.labelp</source>
<target>Measurement units</target> <target>Measurement units</target>
</segment> </segment>
</unit> </unit>
<unit id="hYrcka2" name="attachment_type.labelp"> <unit id="hYrcka2" name="attachment_type.labelp">
<segment> <segment state="translated">
<source>attachment_type.labelp</source> <source>attachment_type.labelp</source>
<target>Attachment types</target> <target>Attachment types</target>
</segment> </segment>
</unit> </unit>
<unit id="p.Sjja3" name="label_profile.labelp"> <unit id="p.Sjja3" name="label_profile.labelp">
<segment> <segment state="translated">
<source>label_profile.labelp</source> <source>label_profile.labelp</source>
<target>Label profiles</target> <target>Label profiles</target>
</segment> </segment>
</unit> </unit>
<unit id="Y_ISV0y" name="part_custom_state.labelp"> <unit id="Y_ISV0y" name="part_custom_state.labelp">
<segment> <segment state="translated">
<source>part_custom_state.labelp</source> <source>part_custom_state.labelp</source>
<target>Custom part states</target> <target>Custom part states</target>
</segment> </segment>
</unit> </unit>
<unit id="aXr7mN." name="group.labelp"> <unit id="aXr7mN." name="group.labelp">
<segment> <segment state="translated">
<source>group.labelp</source> <source>group.labelp</source>
<target>Groups</target> <target>Groups</target>
</segment> </segment>
</unit> </unit>
<unit id="O10voez" name="settings.synonyms.type_synonym.type"> <unit id="O10voez" name="settings.synonyms.type_synonym.type">
<segment> <segment state="translated">
<source>settings.synonyms.type_synonym.type</source> <source>settings.synonyms.type_synonym.type</source>
<target>Type</target> <target>Type</target>
</segment> </segment>
</unit> </unit>
<unit id="1BDQVEp" name="settings.synonyms.type_synonym.language"> <unit id="1BDQVEp" name="settings.synonyms.type_synonym.language">
<segment> <segment state="translated">
<source>settings.synonyms.type_synonym.language</source> <source>settings.synonyms.type_synonym.language</source>
<target>Language</target> <target>Language</target>
</segment> </segment>
</unit> </unit>
<unit id="2.g2ewQ" name="settings.synonyms.type_synonym.translation_singular"> <unit id="2.g2ewQ" name="settings.synonyms.type_synonym.translation_singular">
<segment> <segment state="translated">
<source>settings.synonyms.type_synonym.translation_singular</source> <source>settings.synonyms.type_synonym.translation_singular</source>
<target>Translation Singular</target> <target>Translation Singular</target>
</segment> </segment>
</unit> </unit>
<unit id="Up9ZhvR" name="settings.synonyms.type_synonym.translation_plural"> <unit id="Up9ZhvR" name="settings.synonyms.type_synonym.translation_plural">
<segment> <segment state="translated">
<source>settings.synonyms.type_synonym.translation_plural</source> <source>settings.synonyms.type_synonym.translation_plural</source>
<target>Translation Plural</target> <target>Translation Plural</target>
</segment> </segment>
</unit> </unit>
<unit id="BHoS230" name="settings.synonyms.type_synonym.add_entry"> <unit id="BHoS230" name="settings.synonyms.type_synonym.add_entry">
<segment> <segment state="translated">
<source>settings.synonyms.type_synonym.add_entry</source> <source>settings.synonyms.type_synonym.add_entry</source>
<target>Add entry</target> <target>Add entry</target>
</segment> </segment>
</unit> </unit>
<unit id="wvtOEBn" name="settings.synonyms.type_synonym.remove_entry"> <unit id="wvtOEBn" name="settings.synonyms.type_synonym.remove_entry">
<segment> <segment state="translated">
<source>settings.synonyms.type_synonym.remove_entry</source> <source>settings.synonyms.type_synonym.remove_entry</source>
<target>Remove entry</target> <target>Remove entry</target>
</segment> </segment>
</unit> </unit>
<unit id="mLu.2F2" name="settings.synonyms"> <unit id="mLu.2F2" name="settings.synonyms">
<segment> <segment state="translated">
<source>settings.synonyms</source> <source>settings.synonyms</source>
<target>Synonyms</target> <target>Synonyms</target>
</segment> </segment>
</unit> </unit>
<unit id="SHgc9i." name="settings.synonyms.help"> <unit id="SHgc9i." name="settings.synonyms.help">
<segment> <segment state="translated">
<source>settings.synonyms.help</source> <source>settings.synonyms.help</source>
<target>The synonyms systems allow overriding how Part-DB call certain things. This can be useful, especially if Part-DB is used in a different context than electronics. <target>The synonyms systems allow overriding how Part-DB call certain things. This can be useful, especially if Part-DB is used in a different context than electronics.
Please note that this system is currently experimental, and the synonyms defined here might not show up at all places.</target> Please note that this system is currently experimental, and the synonyms defined here might not show up at all places.</target>
</segment> </segment>
</unit> </unit>
<unit id="piB78W5" name="settings.synonyms.type_synonyms"> <unit id="piB78W5" name="settings.synonyms.type_synonyms">
<segment> <segment state="translated">
<source>settings.synonyms.type_synonyms</source> <source>settings.synonyms.type_synonyms</source>
<target>Type synonyms</target> <target>Type synonyms</target>
</segment> </segment>
</unit> </unit>
<unit id="J8T2HuD" name="settings.synonyms.type_synonyms.help"> <unit id="J8T2HuD" name="settings.synonyms.type_synonyms.help">
<segment> <segment state="translated">
<source>settings.synonyms.type_synonyms.help</source> <source>settings.synonyms.type_synonyms.help</source>
<target>Type synonyms allow you to replace the labels of built-in data types. For example, you can rename "Footprint" to something else.</target> <target>Type synonyms allow you to replace the labels of built-in data types. For example, you can rename "Footprint" to something else.</target>
</segment> </segment>
</unit> </unit>
<unit id="wjcsjzT" name="log.element_edited.changed_fields.part_ipn_prefix"> <unit id="wjcsjzT" name="log.element_edited.changed_fields.part_ipn_prefix">
<segment> <segment state="translated">
<source>log.element_edited.changed_fields.part_ipn_prefix</source> <source>log.element_edited.changed_fields.part_ipn_prefix</source>
<target>IPN prefix</target> <target>IPN prefix</target>
</segment> </segment>
</unit> </unit>
<unit id="R4hoCqe" name="part.labelp"> <unit id="R4hoCqe" name="part.labelp">
<segment> <segment state="translated">
<source>part.labelp</source> <source>part.labelp</source>
<target>Parts</target> <target>Parts</target>
</segment> </segment>
@ -14308,5 +14308,11 @@ Buerklin-API Authentication server:
10 requests/minute per IP address</target> 10 requests/minute per IP address</target>
</segment> </segment>
</unit> </unit>
<unit id="8BkjGyq" name="project.bom.part_id">
<segment>
<source>project.bom.part_id</source>
<target>[Part] ID</target>
</segment>
</unit>
</file> </file>
</xliff> </xliff>

View file

@ -366,7 +366,7 @@
</segment> </segment>
</unit> </unit>
<unit id="I330cr5" name="settings.synonyms.type_synonyms.collection_type.duplicate"> <unit id="I330cr5" name="settings.synonyms.type_synonyms.collection_type.duplicate">
<segment> <segment state="translated">
<source>settings.synonyms.type_synonyms.collection_type.duplicate</source> <source>settings.synonyms.type_synonyms.collection_type.duplicate</source>
<target>There is already a translation defined for this type and language!</target> <target>There is already a translation defined for this type and language!</target>
</segment> </segment>

216
yarn.lock
View file

@ -2018,9 +2018,9 @@
integrity sha512-P1st0aksCrn9sGZhp8GMYwBnQsbvAWsZAX44oXNNvLHGqAOcoVxmjZiohstwQ7SqKnbR47akdNi+uleWD8+g6A== integrity sha512-P1st0aksCrn9sGZhp8GMYwBnQsbvAWsZAX44oXNNvLHGqAOcoVxmjZiohstwQ7SqKnbR47akdNi+uleWD8+g6A==
"@sinclair/typebox@^0.34.0": "@sinclair/typebox@^0.34.0":
version "0.34.41" version "0.34.46"
resolved "https://registry.yarnpkg.com/@sinclair/typebox/-/typebox-0.34.41.tgz#aa51a6c1946df2c5a11494a2cdb9318e026db16c" resolved "https://registry.yarnpkg.com/@sinclair/typebox/-/typebox-0.34.46.tgz#33ea674ef3fbc46733c6d124ae94a6826abaf8cf"
integrity sha512-6gS8pZzSXdyRHTIqoqSVknxolr1kzfy4/CeDnrzsVz8TTIWUbOBr6gnzOmTYJ3eXQNh4IYHIGi5aIL7sOZ2G/g== integrity sha512-kiW7CtS/NkdvTUjkjUJo7d5JsFfbJ14YjdhDk9KoEgK6nFjKNXZPrX0jfLA8ZlET4cFLHxOZ/0vFKOP+bOxIOQ==
"@symfony/stimulus-bridge@^4.0.0": "@symfony/stimulus-bridge@^4.0.0":
version "4.0.1" version "4.0.1"
@ -2169,9 +2169,9 @@
integrity sha512-GsCCIZDE/p3i96vtEqx+7dBUGXrc7zeSK3wwPHIaRThS+9OhWIXRqzs4d6k1SVU8g91DrNRWxWUGhp5KXQb2VA== integrity sha512-GsCCIZDE/p3i96vtEqx+7dBUGXrc7zeSK3wwPHIaRThS+9OhWIXRqzs4d6k1SVU8g91DrNRWxWUGhp5KXQb2VA==
"@types/node@*": "@types/node@*":
version "24.10.1" version "25.0.3"
resolved "https://registry.yarnpkg.com/@types/node/-/node-24.10.1.tgz#91e92182c93db8bd6224fca031e2370cef9a8f01" resolved "https://registry.yarnpkg.com/@types/node/-/node-25.0.3.tgz#79b9ac8318f373fbfaaf6e2784893efa9701f269"
integrity sha512-GNWcUTRBgIRJD5zj+Tq0fKOJ5XZajIiBroOF0yvj2bSU1WvNdYS/dn9UxwsujGW4JX06dnHyjV2y9rRaybH0iQ== integrity sha512-W609buLVRVmeW693xKfzHeIV6nJGGz98uCPfeXI1ELMLXVeKYZ9m15fAMSaUPBHYLGFsVRcMmSCksQOrZV9BYA==
dependencies: dependencies:
undici-types "~7.16.0" undici-types "~7.16.0"
@ -2524,7 +2524,7 @@ array-union@^2.1.0:
resolved "https://registry.yarnpkg.com/array-union/-/array-union-2.1.0.tgz#b798420adbeb1de828d84acd8a2e23d3efe85e8d" resolved "https://registry.yarnpkg.com/array-union/-/array-union-2.1.0.tgz#b798420adbeb1de828d84acd8a2e23d3efe85e8d"
integrity sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw== integrity sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==
array.prototype.reduce@^1.0.6: array.prototype.reduce@^1.0.8:
version "1.0.8" version "1.0.8"
resolved "https://registry.yarnpkg.com/array.prototype.reduce/-/array.prototype.reduce-1.0.8.tgz#42f97f5078daedca687d4463fd3c05cbfd83da57" resolved "https://registry.yarnpkg.com/array.prototype.reduce/-/array.prototype.reduce-1.0.8.tgz#42f97f5078daedca687d4463fd3c05cbfd83da57"
integrity sha512-DwuEqgXFBwbmZSRqt3BpQigWNUoqw9Ml2dTWdF3B2zQlQX4OeUE0zyuzX0fX0IbTvjdkZbcBTU3idgpO78qkTw== integrity sha512-DwuEqgXFBwbmZSRqt3BpQigWNUoqw9Ml2dTWdF3B2zQlQX4OeUE0zyuzX0fX0IbTvjdkZbcBTU3idgpO78qkTw==
@ -2622,9 +2622,9 @@ base64-js@^1.1.2, base64-js@^1.3.0:
integrity sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA== integrity sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==
baseline-browser-mapping@^2.9.0: baseline-browser-mapping@^2.9.0:
version "2.9.4" version "2.9.11"
resolved "https://registry.yarnpkg.com/baseline-browser-mapping/-/baseline-browser-mapping-2.9.4.tgz#a010e50ea6da48fba78179aef9b6e771d00fff42" resolved "https://registry.yarnpkg.com/baseline-browser-mapping/-/baseline-browser-mapping-2.9.11.tgz#53724708c8db5f97206517ecfe362dbe5181deea"
integrity sha512-ZCQ9GEWl73BVm8bu5Fts8nt7MHdbt5vY9bP6WGnUh+r3l8M7CgfyTlwsgCbMC66BNxPr6Xoce3j66Ms5YUQTNA== integrity sha512-Sg0xJUNDU1sJNGdfGWhVHX0kkZ+HWcvmVymJbj6NSgZZmW/8S9Y2HQ5euytnIgakgxN6papOAWiwDo1ctFDcoQ==
big.js@^5.2.2: big.js@^5.2.2:
version "5.2.2" version "5.2.2"
@ -2688,7 +2688,7 @@ browser-stdout@1.3.1:
resolved "https://registry.yarnpkg.com/browser-stdout/-/browser-stdout-1.3.1.tgz#baa559ee14ced73452229bad7326467c61fabd60" resolved "https://registry.yarnpkg.com/browser-stdout/-/browser-stdout-1.3.1.tgz#baa559ee14ced73452229bad7326467c61fabd60"
integrity sha512-qhAVI1+Av2X7qelOfAIYwXONood6XlZE/fXaBSmW/T5SzLAmCgzi+eiWE7fUvbHaeNBQH13UftjpXxsfLkMpgw== integrity sha512-qhAVI1+Av2X7qelOfAIYwXONood6XlZE/fXaBSmW/T5SzLAmCgzi+eiWE7fUvbHaeNBQH13UftjpXxsfLkMpgw==
browserslist@^4.0.0, browserslist@^4.23.0, browserslist@^4.24.0, browserslist@^4.26.3, browserslist@^4.27.0, browserslist@^4.28.0: browserslist@^4.0.0, browserslist@^4.23.0, browserslist@^4.24.0, browserslist@^4.27.0, browserslist@^4.28.0, browserslist@^4.28.1:
version "4.28.1" version "4.28.1"
resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.28.1.tgz#7f534594628c53c63101079e27e40de490456a95" resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.28.1.tgz#7f534594628c53c63101079e27e40de490456a95"
integrity sha512-ZC5Bd0LgJXgwGqUknZY/vkUQ04r8NXnJZ3yYi4vDmSiZmC/pdSN0NbNRPxZpbtO4uAfDUAFffO8IZoM3Gj8IkA== integrity sha512-ZC5Bd0LgJXgwGqUknZY/vkUQ04r8NXnJZ3yYi4vDmSiZmC/pdSN0NbNRPxZpbtO4uAfDUAFffO8IZoM3Gj8IkA==
@ -2785,9 +2785,9 @@ caniuse-api@^3.0.0:
lodash.uniq "^4.5.0" lodash.uniq "^4.5.0"
caniuse-lite@^1.0.0, caniuse-lite@^1.0.30001759: caniuse-lite@^1.0.0, caniuse-lite@^1.0.30001759:
version "1.0.30001759" version "1.0.30001762"
resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001759.tgz#d569e7b010372c6b0ca3946e30dada0a2e9d5006" resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001762.tgz#e4dbfeda63d33258cdde93e53af2023a13ba27d4"
integrity sha512-Pzfx9fOKoKvevQf8oCXoyNRQ5QyxJj+3O0Rqx2V5oxT61KGx8+n6hV/IUyJeifUci2clnmmKVpvtiqRzgiWjSw== integrity sha512-PxZwGNvH7Ak8WX5iXzoK1KPZttBXNPuaOvI2ZYU7NrlM+d9Ov+TUvlLOBNGzVXAntMSMMlJPd+jY6ovrVjSmUw==
ccount@^2.0.0: ccount@^2.0.0:
version "2.0.1" version "2.0.1"
@ -3139,9 +3139,9 @@ crypto-js@^4.2.0:
integrity sha512-KALDyEYgpY+Rlob/iriUtjV6d5Eq+Y191A5g4UqLAi8CyGP9N1+FdVbkc1SxKc2r4YAYqG8JzO2KGL+AizD70Q== integrity sha512-KALDyEYgpY+Rlob/iriUtjV6d5Eq+Y191A5g4UqLAi8CyGP9N1+FdVbkc1SxKc2r4YAYqG8JzO2KGL+AizD70Q==
css-declaration-sorter@^7.2.0: css-declaration-sorter@^7.2.0:
version "7.3.0" version "7.3.1"
resolved "https://registry.yarnpkg.com/css-declaration-sorter/-/css-declaration-sorter-7.3.0.tgz#edc45c36bcdfea0788b1d4452829f142ef1c4a4a" resolved "https://registry.yarnpkg.com/css-declaration-sorter/-/css-declaration-sorter-7.3.1.tgz#acd204976d7ca5240b5579bfe6e73d4d088fd568"
integrity sha512-LQF6N/3vkAMYF4xoHLJfG718HRJh34Z8BnNhd6bosOMIVjMlhuZK5++oZa3uYAgrI5+7x2o27gUqTR2U/KjUOQ== integrity sha512-gz6x+KkgNCjxq3Var03pRYLhyNfwhkKF1g/yoLgDNtFvVu0/fOLV9C8fFEZRjACp/XQLumjAYo7JVjzH3wLbxA==
css-loader@^5.2.7: css-loader@^5.2.7:
version "5.2.7" version "5.2.7"
@ -3174,9 +3174,9 @@ css-loader@^7.1.0:
semver "^7.5.4" semver "^7.5.4"
css-minimizer-webpack-plugin@^7.0.0: css-minimizer-webpack-plugin@^7.0.0:
version "7.0.3" version "7.0.4"
resolved "https://registry.yarnpkg.com/css-minimizer-webpack-plugin/-/css-minimizer-webpack-plugin-7.0.3.tgz#2da02f79ed5af0f81ac67a39a39bc430c75a0d0d" resolved "https://registry.yarnpkg.com/css-minimizer-webpack-plugin/-/css-minimizer-webpack-plugin-7.0.4.tgz#92d2643e3658e3f484a70382a5dba18e51997f2e"
integrity sha512-O99EbZ3P9YqfjWPvaL5Ndr54hP1V1N9IRKDLzKpEm1cw5eYF5KTFvz63Wm/AGDz841ceGmLvU1rdN8LrElMIiQ== integrity sha512-2iACis+P8qdLj1tHcShtztkGhCNIRUajJj7iX0IM9a5FA0wXGwjV8Nf6+HsBjBfb4LO8TTAVoetBbM54V6f3+Q==
dependencies: dependencies:
"@jridgewell/trace-mapping" "^0.3.25" "@jridgewell/trace-mapping" "^0.3.25"
cssnano "^7.0.4" cssnano "^7.0.4"
@ -3374,26 +3374,26 @@ data-view-byte-offset@^1.0.1:
is-data-view "^1.0.1" is-data-view "^1.0.1"
datatables.net-bs5@^2, datatables.net-bs5@^2.0.0: datatables.net-bs5@^2, datatables.net-bs5@^2.0.0:
version "2.3.5" version "2.3.6"
resolved "https://registry.yarnpkg.com/datatables.net-bs5/-/datatables.net-bs5-2.3.5.tgz#96f76dce12b1554664b06bd85f6b3be8d6da509f" resolved "https://registry.yarnpkg.com/datatables.net-bs5/-/datatables.net-bs5-2.3.6.tgz#88e9b015cb3d260f3e874f0f9ad16dc566b997da"
integrity sha512-2JA2WZz1tBxdVpYAspiqI8POdqEoAZZzqp7tISKaof2P5ufBJb+OLaahxwuB0sF9qcQh1azlU+JH1zsLBXVwXg== integrity sha512-oUNGjZrpNC2fY3l/6V4ijTC9kyVKU4Raons+RFmq2J7590rPn0c+5WAYKBx0evgW/CW7WfhStGBrU7+WJig6Og==
dependencies: dependencies:
datatables.net "2.3.5" datatables.net "2.3.6"
jquery ">=1.7" jquery ">=1.7"
datatables.net-buttons-bs5@^3.0.0: datatables.net-buttons-bs5@^3.0.0:
version "3.2.5" version "3.2.6"
resolved "https://registry.yarnpkg.com/datatables.net-buttons-bs5/-/datatables.net-buttons-bs5-3.2.5.tgz#ab8b2d3cc674e7da3bbe44b600e04edd43c7e7f5" resolved "https://registry.yarnpkg.com/datatables.net-buttons-bs5/-/datatables.net-buttons-bs5-3.2.6.tgz#0d2fb80c8adc4823c9052e04f8e27a3f1a665bef"
integrity sha512-3eT/Sd90x7imq9MRcKP9X3j70qg/u+OvtZSNWJEihRf1Mb/Sr8NexQw/Bag/ui6GJHa5dhUeFrOgBSKtEW70iA== integrity sha512-RJfbaxnAys0OtcZcJL58/3aMVVKs2yQDBI8PNA0h/4mdKaJ/dVezZTFy5CYLrO1HjAGosfL0iv4sIs/BafaW7w==
dependencies: dependencies:
datatables.net-bs5 "^2" datatables.net-bs5 "^2"
datatables.net-buttons "3.2.5" datatables.net-buttons "3.2.6"
jquery ">=1.7" jquery ">=1.7"
datatables.net-buttons@3.2.5: datatables.net-buttons@3.2.6:
version "3.2.5" version "3.2.6"
resolved "https://registry.yarnpkg.com/datatables.net-buttons/-/datatables.net-buttons-3.2.5.tgz#e37fc4f06743e057e8e3e4abfda60c988e7c16da" resolved "https://registry.yarnpkg.com/datatables.net-buttons/-/datatables.net-buttons-3.2.6.tgz#dad80c8f28eb18741cec49fb33397073217ca63e"
integrity sha512-OSTl7evbfe0SMee11lyzu5iv/z8Yp05eh3s1QBte/FNqHcoXN8hlAVSSGpYgk5pj8zwHPYIu6fHeMEue4ARUNg== integrity sha512-rLqkB3xLIAYwVLt+lUSxybo/1WqveTAxhQm6wj6yvXlJiWq+oJ8MKW6H1q90QrXbNp0fGngnfD0cmpMZnNnnNw==
dependencies: dependencies:
datatables.net "^2" datatables.net "^2"
jquery ">=1.7" jquery ">=1.7"
@ -3466,10 +3466,10 @@ datatables.net-select@3.1.3:
datatables.net "^2" datatables.net "^2"
jquery ">=1.7" jquery ">=1.7"
datatables.net@2.3.5, datatables.net@^2, datatables.net@^2.0.0: datatables.net@2.3.6, datatables.net@^2, datatables.net@^2.0.0:
version "2.3.5" version "2.3.6"
resolved "https://registry.yarnpkg.com/datatables.net/-/datatables.net-2.3.5.tgz#a35cc1209edb7525ea68ebc3e7d3af6e3f30a758" resolved "https://registry.yarnpkg.com/datatables.net/-/datatables.net-2.3.6.tgz#a11be57a2b50d7231cae2980a8ff1df3c18b7b17"
integrity sha512-Qrwc+vuw8GHo42u1usWTuriNAMW0VvLPSW3j8g3GxvatiD8wS/ZGW32VAYLLfmF4Hz0C/fo2KB3xZBfcpqqVTQ== integrity sha512-xQ/dCxrjfxM0XY70wSIzakkTZ6ghERwlLmAPyCnu8Sk5cyt9YvOVyOsFNOa/BZ/lM63Q3i2YSSvp/o7GXZGsbg==
dependencies: dependencies:
jquery ">=1.7" jquery ">=1.7"
@ -3632,9 +3632,9 @@ domhandler@^5.0.2, domhandler@^5.0.3:
domelementtype "^2.3.0" domelementtype "^2.3.0"
dompurify@^3.0.3: dompurify@^3.0.3:
version "3.3.0" version "3.3.1"
resolved "https://registry.yarnpkg.com/dompurify/-/dompurify-3.3.0.tgz#aaaadbb83d87e1c2fbb066452416359e5b62ec97" resolved "https://registry.yarnpkg.com/dompurify/-/dompurify-3.3.1.tgz#c7e1ddebfe3301eacd6c0c12a4af284936dbbb86"
integrity sha512-r+f6MYR1gGN1eJv0TVQbhA7if/U7P87cdPl3HN5rikqaBSBxLiCb/b9O+2eG0cxz0ghyU+mU1QkbsOwERMYlWQ== integrity sha512-qkdCKzLNtrgPFP1Vo+98FRzJnBRGe4ffyCea9IwHB1fyxPOeNTHpLKYGd4Uk9xvNoH0ZoOjwZxNptyMwqrId1Q==
optionalDependencies: optionalDependencies:
"@types/trusted-types" "^2.0.7" "@types/trusted-types" "^2.0.7"
@ -3671,9 +3671,9 @@ duplexer@^0.1.2:
integrity sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg== integrity sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg==
electron-to-chromium@^1.5.263: electron-to-chromium@^1.5.263:
version "1.5.266" version "1.5.267"
resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.5.266.tgz#41ed029b3cf641c4ee071de42954b36dca8f5f4e" resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.5.267.tgz#5d84f2df8cdb6bfe7e873706bb21bd4bfb574dc7"
integrity sha512-kgWEglXvkEfMH7rxP5OSZZwnaDWT7J9EoZCujhnpLbfi0bbNtRkgdX2E3gt0Uer11c61qCYktB3hwkAS325sJg== integrity sha512-0Drusm6MVRXSOJpGbaSVgcQsuB4hEkMpHXaVstcPmhu5LIedxs1xNK/nIxmQIU/RPC0+1/o0AVZfBTkTNJOdUw==
emoji-regex@^7.0.1: emoji-regex@^7.0.1:
version "7.0.3" version "7.0.3"
@ -3690,10 +3690,10 @@ emojis-list@^3.0.0:
resolved "https://registry.yarnpkg.com/emojis-list/-/emojis-list-3.0.0.tgz#5570662046ad29e2e916e71aae260abdff4f6a78" resolved "https://registry.yarnpkg.com/emojis-list/-/emojis-list-3.0.0.tgz#5570662046ad29e2e916e71aae260abdff4f6a78"
integrity sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q== integrity sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==
enhanced-resolve@^5.0.0, enhanced-resolve@^5.17.3: enhanced-resolve@^5.0.0, enhanced-resolve@^5.17.4:
version "5.18.3" version "5.18.4"
resolved "https://registry.yarnpkg.com/enhanced-resolve/-/enhanced-resolve-5.18.3.tgz#9b5f4c5c076b8787c78fe540392ce76a88855b44" resolved "https://registry.yarnpkg.com/enhanced-resolve/-/enhanced-resolve-5.18.4.tgz#c22d33055f3952035ce6a144ce092447c525f828"
integrity sha512-d4lC8xfavMeBjzGr2vECC3fsGXziXZQyJxD868h2M/mBI3PwAuODxAkLkq5HYuvrPYcUtiLzsTo8U3PgX3Ocww== integrity sha512-LgQMM4WXU3QI+SYgEc2liRgznaD5ojbmY3sb8LxyguVkIg5FxdpTkvk72te2R38/TGKxH634oLxXRGY6d7AP+Q==
dependencies: dependencies:
graceful-fs "^4.2.4" graceful-fs "^4.2.4"
tapable "^2.2.0" tapable "^2.2.0"
@ -3727,10 +3727,10 @@ error-stack-parser@^2.1.4:
dependencies: dependencies:
stackframe "^1.3.4" stackframe "^1.3.4"
es-abstract@^1.23.2, es-abstract@^1.23.5, es-abstract@^1.23.9: es-abstract@^1.23.5, es-abstract@^1.23.9, es-abstract@^1.24.0:
version "1.24.0" version "1.24.1"
resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.24.0.tgz#c44732d2beb0acc1ed60df840869e3106e7af328" resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.24.1.tgz#f0c131ed5ea1bb2411134a8dd94def09c46c7899"
integrity sha512-WSzPgsdLtTcQwm4CROfS5ju2Wa1QQcVeT37jFjYzdFz1r9ahadC8B8/a4qxJxM+09F18iumCdRmlr96ZYkQvEg== integrity sha512-zHXBLhP+QehSSbsS9Pt23Gg964240DPd6QCf8WpkqEXxQ7fhdZzYsocOr5u7apWonsS5EjZDmTF+/slGMyasvw==
dependencies: dependencies:
array-buffer-byte-length "^1.0.2" array-buffer-byte-length "^1.0.2"
arraybuffer.prototype.slice "^1.0.4" arraybuffer.prototype.slice "^1.0.4"
@ -3802,10 +3802,10 @@ es-errors@^1.3.0:
resolved "https://registry.yarnpkg.com/es-errors/-/es-errors-1.3.0.tgz#05f75a25dab98e4fb1dcd5e1472c0546d5057c8f" resolved "https://registry.yarnpkg.com/es-errors/-/es-errors-1.3.0.tgz#05f75a25dab98e4fb1dcd5e1472c0546d5057c8f"
integrity sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw== integrity sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==
es-module-lexer@^1.2.1: es-module-lexer@^2.0.0:
version "1.7.0" version "2.0.0"
resolved "https://registry.yarnpkg.com/es-module-lexer/-/es-module-lexer-1.7.0.tgz#9159601561880a85f2734560a9099b2c31e5372a" resolved "https://registry.yarnpkg.com/es-module-lexer/-/es-module-lexer-2.0.0.tgz#f657cd7a9448dcdda9c070a3cb75e5dc1e85f5b1"
integrity sha512-jEQoCwk8hyb2AZziIOLhDqpm5+2ww5uIE6lkO/6jcOCusfk6LhMHpXXfBLXTZ7Ydyt0j4VoUQv6uGNYbdW+kBA== integrity sha512-5POEcUuZybH7IdmGsD8wlf0AI55wMecM9rVBTI/qEAy2c1kTOm3DjFYjrBdI2K3BaJjJYfYFeRtM0t9ssnRuxw==
es-object-atoms@^1.0.0, es-object-atoms@^1.1.1: es-object-atoms@^1.0.0, es-object-atoms@^1.1.1:
version "1.1.1" version "1.1.1"
@ -3980,9 +3980,9 @@ fastest-levenshtein@1.0.16, fastest-levenshtein@^1.0.12, fastest-levenshtein@^1.
integrity sha512-eRnCtTTtGZFpQCwhJiUOuxPQWRXVKYDn0b2PeHfXL6/Zi53SLAzAHfVhVWK2AryC/WH05kGfxhFIPvTF0SXQzg== integrity sha512-eRnCtTTtGZFpQCwhJiUOuxPQWRXVKYDn0b2PeHfXL6/Zi53SLAzAHfVhVWK2AryC/WH05kGfxhFIPvTF0SXQzg==
fastq@^1.6.0: fastq@^1.6.0:
version "1.19.1" version "1.20.1"
resolved "https://registry.yarnpkg.com/fastq/-/fastq-1.19.1.tgz#d50eaba803c8846a883c16492821ebcd2cda55f5" resolved "https://registry.yarnpkg.com/fastq/-/fastq-1.20.1.tgz#ca750a10dc925bc8b18839fd203e3ef4b3ced675"
integrity sha512-GwLTyxkCXjXbxqIhTsMI2Nui8huMPtnxg7krajPJAjnEG/iiOS7i+zCtWGZR9G0NBKbXKh6X9m9UIsYX/N6vvQ== integrity sha512-GGToxJ/w1x32s/D2EKND7kTil4n8OVk/9mycTc4VDza13lOvpUZTGX3mFSCtV9ksdGBVzvsyAVLM6mHFThxXxw==
dependencies: dependencies:
reusify "^1.0.4" reusify "^1.0.4"
@ -4045,9 +4045,9 @@ for-each@^0.3.3, for-each@^0.3.5:
is-callable "^1.2.7" is-callable "^1.2.7"
fs-extra@^11.2.0: fs-extra@^11.2.0:
version "11.3.2" version "11.3.3"
resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-11.3.2.tgz#c838aeddc6f4a8c74dd15f85e11fe5511bfe02a4" resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-11.3.3.tgz#a27da23b72524e81ac6c3815cc0179b8c74c59ee"
integrity sha512-Xr9F6z6up6Ws+NjzMCZc6WXg2YFRlrLP9NQDO3VQrWrfiojdhS56TzueT88ze0uBdCTwEIhQ3ptnmKeWGFAe0A== integrity sha512-VWSRii4t0AFm6ixFFmLLx1t7wS1gh+ckoa84aOeapGum0h+EZd1EhEumSB+ZdDLnEPuucsVB9oB7cxJHap6Afg==
dependencies: dependencies:
graceful-fs "^4.2.0" graceful-fs "^4.2.0"
jsonfile "^6.0.1" jsonfile "^6.0.1"
@ -4468,10 +4468,10 @@ htmlparser2@^6.1.0:
domutils "^2.5.2" domutils "^2.5.2"
entities "^2.0.0" entities "^2.0.0"
iconv-lite@^0.6.3: iconv-lite@^0.7.1:
version "0.6.3" version "0.7.1"
resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.6.3.tgz#a52f80bf38da1952eb5c681790719871a1a72501" resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.7.1.tgz#d4af1d2092f2bb05aab6296e5e7cd286d2f15432"
integrity sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw== integrity sha512-2Tth85cXwGFHfvRgZWszZSvdo+0Xsqmw8k8ZwxScfcBneNUraK+dxRxRm24nszx80Y0TVio8kKLt5sLE7ZCLlw==
dependencies: dependencies:
safer-buffer ">= 2.1.2 < 3.0.0" safer-buffer ">= 2.1.2 < 3.0.0"
@ -4964,9 +4964,9 @@ jszip@^3.2.0:
setimmediate "^1.0.5" setimmediate "^1.0.5"
katex@^0.16.0: katex@^0.16.0:
version "0.16.26" version "0.16.27"
resolved "https://registry.yarnpkg.com/katex/-/katex-0.16.26.tgz#7bfd7fd2ce10cffdf872a3a6c5a593c26d1bd084" resolved "https://registry.yarnpkg.com/katex/-/katex-0.16.27.tgz#4ecf6f620e0ca1c1a5de722e85fcdcec49086a48"
integrity sha512-LvYwQDwfcFB3rCkxwzqVFxhIB21x1JivrWAs3HT9NsmtgvQrcVCZ6xihnNwXwiQ8UhqRtDJRmwrRz5EgzQ2DuA== integrity sha512-aeQoDkuRWSqQN6nSvVCEFvfXdqo1OQiCmmW1kc9xSdjutPv7BGO7pqY9sQRJpMOGrEdfDgF2TfRXe5eUAD2Waw==
dependencies: dependencies:
commander "^8.3.0" commander "^8.3.0"
@ -5807,17 +5807,17 @@ object.assign@^4.1.7:
object-keys "^1.1.1" object-keys "^1.1.1"
object.getownpropertydescriptors@^2.0.3: object.getownpropertydescriptors@^2.0.3:
version "2.1.8" version "2.1.9"
resolved "https://registry.yarnpkg.com/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.1.8.tgz#2f1fe0606ec1a7658154ccd4f728504f69667923" resolved "https://registry.yarnpkg.com/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.1.9.tgz#bf9e7520f14d50de88dee2b9c9eca841166322dc"
integrity sha512-qkHIGe4q0lSYMv0XI4SsBTJz3WaURhLvd0lKSgtVuOsJ2krg4SgMw3PIRQFMp07yi++UR3se2mkcLqsBNpBb/A== integrity sha512-mt8YM6XwsTTovI+kdZdHSxoyF2DI59up034orlC9NfweclcWOt7CVascNNLp6U+bjFVCVCIh9PwS76tDM/rH8g==
dependencies: dependencies:
array.prototype.reduce "^1.0.6" array.prototype.reduce "^1.0.8"
call-bind "^1.0.7" call-bind "^1.0.8"
define-properties "^1.2.1" define-properties "^1.2.1"
es-abstract "^1.23.2" es-abstract "^1.24.0"
es-object-atoms "^1.0.0" es-object-atoms "^1.1.1"
gopd "^1.0.1" gopd "^1.2.0"
safe-array-concat "^1.1.2" safe-array-concat "^1.1.3"
once@^1.3.0: once@^1.3.0:
version "1.4.0" version "1.4.0"
@ -5959,14 +5959,14 @@ path-type@^4.0.0:
integrity sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw== integrity sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==
pdfmake@^0.2.2: pdfmake@^0.2.2:
version "0.2.20" version "0.2.21"
resolved "https://registry.yarnpkg.com/pdfmake/-/pdfmake-0.2.20.tgz#a2e37114e46247c9a295df2fc1c7184942de567e" resolved "https://registry.yarnpkg.com/pdfmake/-/pdfmake-0.2.21.tgz#dbaadda4567d67c5be7feac54f6e8e23af776be6"
integrity sha512-bGbxbGFP5p8PWNT3Phsu1ZcRLnRfF6jmnuKTkgmt6i5PZzSdX6JaB+NeTz9q+aocfW8SE9GUjL3o/5GroBqGcQ== integrity sha512-kgBj6Bbj57vY/f0zpBz/OLmO4n248RopEEA+IRkfdKZtravqQL6lEkILYsdjiPFYCXImZA+62EtT2zjUVKb8YQ==
dependencies: dependencies:
"@foliojs-fork/linebreak" "^1.1.2" "@foliojs-fork/linebreak" "^1.1.2"
"@foliojs-fork/pdfkit" "^0.15.3" "@foliojs-fork/pdfkit" "^0.15.3"
iconv-lite "^0.6.3" iconv-lite "^0.7.1"
xmldoc "^2.0.1" xmldoc "^2.0.3"
picocolors@^1.0.0, picocolors@^1.1.0, picocolors@^1.1.1: picocolors@^1.0.0, picocolors@^1.1.0, picocolors@^1.1.1:
version "1.1.1" version "1.1.1"
@ -6520,9 +6520,9 @@ postcss@^8.2.14, postcss@^8.2.15, postcss@^8.4.12, postcss@^8.4.33, postcss@^8.4
source-map-js "^1.2.1" source-map-js "^1.2.1"
preact@^10.13.2: preact@^10.13.2:
version "10.28.0" version "10.28.1"
resolved "https://registry.yarnpkg.com/preact/-/preact-10.28.0.tgz#a851300df42842797046545e4172a4128d158755" resolved "https://registry.yarnpkg.com/preact/-/preact-10.28.1.tgz#83325f0141bc8c97977c64d532429d667a26b411"
integrity sha512-rytDAoiXr3+t6OIP3WGlDd0ouCUG1iCWzkcY3++Nreuoi17y6T5i/zRhe6uYfoVcxq6YU+sBtJouuRDsq8vvqA== integrity sha512-u1/ixq/lVQI0CakKNvLDEcW5zfCjUQfZdK9qqWuIJtsezuyG6pk9TWj75GMuI/EzRSZB/VAE43sNWWZfiy8psw==
pretty-error@^4.0.0: pretty-error@^4.0.0:
version "4.0.0" version "4.0.0"
@ -6877,7 +6877,7 @@ run-parallel@^1.1.9:
dependencies: dependencies:
queue-microtask "^1.2.2" queue-microtask "^1.2.2"
safe-array-concat@^1.1.2, safe-array-concat@^1.1.3: safe-array-concat@^1.1.3:
version "1.1.3" version "1.1.3"
resolved "https://registry.yarnpkg.com/safe-array-concat/-/safe-array-concat-1.1.3.tgz#c9e54ec4f603b0bbb8e7e5007a5ee7aecd1538c3" resolved "https://registry.yarnpkg.com/safe-array-concat/-/safe-array-concat-1.1.3.tgz#c9e54ec4f603b0bbb8e7e5007a5ee7aecd1538c3"
integrity sha512-AURm5f0jYEOydBj7VQlVvDrjeFgthDdEF5H1dP+6mNpoXOMo1quQqJ4wvJDyRZ9+pO3kGWoOdmV08cSv2aJV6Q== integrity sha512-AURm5f0jYEOydBj7VQlVvDrjeFgthDdEF5H1dP+6mNpoXOMo1quQqJ4wvJDyRZ9+pO3kGWoOdmV08cSv2aJV6Q==
@ -6920,7 +6920,7 @@ safe-regex-test@^1.1.0:
resolved "https://registry.yarnpkg.com/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a" resolved "https://registry.yarnpkg.com/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a"
integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg== integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==
sax@^1.2.4, sax@^1.4.1: sax@^1.4.1, sax@^1.4.3:
version "1.4.3" version "1.4.3"
resolved "https://registry.yarnpkg.com/sax/-/sax-1.4.3.tgz#fcebae3b756cdc8428321805f4b70f16ec0ab5db" resolved "https://registry.yarnpkg.com/sax/-/sax-1.4.3.tgz#fcebae3b756cdc8428321805f4b70f16ec0ab5db"
integrity sha512-yqYn1JhPczigF94DMS+shiDMjDowYO6y9+wB/4WgO0Y19jWYk0lQ4tuG5KI7kj4FTp1wxPj5IFfcrz/s1c3jjQ== integrity sha512-yqYn1JhPczigF94DMS+shiDMjDowYO6y9+wB/4WgO0Y19jWYk0lQ4tuG5KI7kj4FTp1wxPj5IFfcrz/s1c3jjQ==
@ -7410,10 +7410,10 @@ terser-webpack-plugin@^4.2.3:
terser "^5.3.4" terser "^5.3.4"
webpack-sources "^1.4.3" webpack-sources "^1.4.3"
terser-webpack-plugin@^5.3.0, terser-webpack-plugin@^5.3.11: terser-webpack-plugin@^5.3.0, terser-webpack-plugin@^5.3.16:
version "5.3.15" version "5.3.16"
resolved "https://registry.yarnpkg.com/terser-webpack-plugin/-/terser-webpack-plugin-5.3.15.tgz#0a26860b765eaffa8e840170aabc5b3a3f6f6bb9" resolved "https://registry.yarnpkg.com/terser-webpack-plugin/-/terser-webpack-plugin-5.3.16.tgz#741e448cc3f93d8026ebe4f7ef9e4afacfd56330"
integrity sha512-PGkOdpRFK+rb1TzVz+msVhw4YMRT9txLF4kRqvJhGhCM324xuR3REBSHALN+l+sAhKUmz0aotnjp5D+P83mLhQ== integrity sha512-h9oBFCWrq78NyWWVcSwZarJkZ01c2AyGrzs1crmHZO3QUg9D61Wu4NPjBy69n7JqylFF5y+CsUZYmYEIZ3mR+Q==
dependencies: dependencies:
"@jridgewell/trace-mapping" "^0.3.25" "@jridgewell/trace-mapping" "^0.3.25"
jest-worker "^27.4.5" jest-worker "^27.4.5"
@ -7695,9 +7695,9 @@ universalify@^2.0.0:
integrity sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw== integrity sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==
update-browserslist-db@^1.2.0: update-browserslist-db@^1.2.0:
version "1.2.2" version "1.2.3"
resolved "https://registry.yarnpkg.com/update-browserslist-db/-/update-browserslist-db-1.2.2.tgz#cfb4358afa08b3d5731a2ecd95eebf4ddef8033e" resolved "https://registry.yarnpkg.com/update-browserslist-db/-/update-browserslist-db-1.2.3.tgz#64d76db58713136acbeb4c49114366cc6cc2e80d"
integrity sha512-E85pfNzMQ9jpKkA7+TJAi4TJN+tBCuWh5rUcS/sv6cFi+1q9LYDwDI5dpUL0u/73EElyQ8d3TEaeW4sPedBqYA== integrity sha512-Js0m9cx+qOgDxo0eMiFGEueWztz+d4+M3rGlmKPT+T4IS/jP4ylw3Nwpu6cpTTP8R1MAC1kF4VbdLt3ARf209w==
dependencies: dependencies:
escalade "^3.2.0" escalade "^3.2.0"
picocolors "^1.1.1" picocolors "^1.1.1"
@ -7746,9 +7746,9 @@ vfile@^6.0.0:
vfile-message "^4.0.0" vfile-message "^4.0.0"
watchpack@^2.4.4: watchpack@^2.4.4:
version "2.4.4" version "2.5.0"
resolved "https://registry.yarnpkg.com/watchpack/-/watchpack-2.4.4.tgz#473bda72f0850453da6425081ea46fc0d7602947" resolved "https://registry.yarnpkg.com/watchpack/-/watchpack-2.5.0.tgz#fa115d5ccaa4bf3aa594f586257c0bc4768939fd"
integrity sha512-c5EGNOiyxxV5qmTtAB7rbiXxi1ooX1pQKMLX/MIabJjRA0SJBQOjKF+KSVfHkr9U1cADPon0mRiVe/riyaiDUA== integrity sha512-e6vZvY6xboSwLz2GD36c16+O/2Z6fKvIf4pOXptw2rY9MVwE/TXc6RGqxD3I3x0a28lwBY7DE+76uTPSsBrrCA==
dependencies: dependencies:
glob-to-regexp "^0.4.1" glob-to-regexp "^0.4.1"
graceful-fs "^4.1.2" graceful-fs "^4.1.2"
@ -7842,9 +7842,9 @@ webpack-sources@^3.3.3:
integrity sha512-yd1RBzSGanHkitROoPFd6qsrxt+oFhg/129YzheDGqeustzX0vTZJZsSsQjVQC4yzBQ56K55XU8gaNCtIzOnTg== integrity sha512-yd1RBzSGanHkitROoPFd6qsrxt+oFhg/129YzheDGqeustzX0vTZJZsSsQjVQC4yzBQ56K55XU8gaNCtIzOnTg==
webpack@^5.74.0: webpack@^5.74.0:
version "5.103.0" version "5.104.1"
resolved "https://registry.yarnpkg.com/webpack/-/webpack-5.103.0.tgz#17a7c5a5020d5a3a37c118d002eade5ee2c6f3da" resolved "https://registry.yarnpkg.com/webpack/-/webpack-5.104.1.tgz#94bd41eb5dbf06e93be165ba8be41b8260d4fb1a"
integrity sha512-HU1JOuV1OavsZ+mfigY0j8d1TgQgbZ6M+J75zDkpEAwYeXjWSqrGJtgnPblJjd/mAyTNQ7ygw0MiKOn6etz8yw== integrity sha512-Qphch25abbMNtekmEGJmeRUhLDbe+QfiWTiqpKYkpCOWY64v9eyl+KRRLmqOFA2AvKPpc9DC6+u2n76tQLBoaA==
dependencies: dependencies:
"@types/eslint-scope" "^3.7.7" "@types/eslint-scope" "^3.7.7"
"@types/estree" "^1.0.8" "@types/estree" "^1.0.8"
@ -7854,10 +7854,10 @@ webpack@^5.74.0:
"@webassemblyjs/wasm-parser" "^1.14.1" "@webassemblyjs/wasm-parser" "^1.14.1"
acorn "^8.15.0" acorn "^8.15.0"
acorn-import-phases "^1.0.3" acorn-import-phases "^1.0.3"
browserslist "^4.26.3" browserslist "^4.28.1"
chrome-trace-event "^1.0.2" chrome-trace-event "^1.0.2"
enhanced-resolve "^5.17.3" enhanced-resolve "^5.17.4"
es-module-lexer "^1.2.1" es-module-lexer "^2.0.0"
eslint-scope "5.1.1" eslint-scope "5.1.1"
events "^3.2.0" events "^3.2.0"
glob-to-regexp "^0.4.1" glob-to-regexp "^0.4.1"
@ -7868,7 +7868,7 @@ webpack@^5.74.0:
neo-async "^2.6.2" neo-async "^2.6.2"
schema-utils "^4.3.3" schema-utils "^4.3.3"
tapable "^2.3.0" tapable "^2.3.0"
terser-webpack-plugin "^5.3.11" terser-webpack-plugin "^5.3.16"
watchpack "^2.4.4" watchpack "^2.4.4"
webpack-sources "^3.3.3" webpack-sources "^3.3.3"
@ -7975,12 +7975,12 @@ ws@^7.3.1:
resolved "https://registry.yarnpkg.com/ws/-/ws-7.5.10.tgz#58b5c20dc281633f6c19113f39b349bd8bd558d9" resolved "https://registry.yarnpkg.com/ws/-/ws-7.5.10.tgz#58b5c20dc281633f6c19113f39b349bd8bd558d9"
integrity sha512-+dbF1tHwZpXcbOJdVOkzLDxZP1ailvSxM6ZweXTegylPny803bFhA+vqBYw4s31NSAk4S2Qz+AKXK9a4wkdjcQ== integrity sha512-+dbF1tHwZpXcbOJdVOkzLDxZP1ailvSxM6ZweXTegylPny803bFhA+vqBYw4s31NSAk4S2Qz+AKXK9a4wkdjcQ==
xmldoc@^2.0.1: xmldoc@^2.0.3:
version "2.0.2" version "2.0.3"
resolved "https://registry.yarnpkg.com/xmldoc/-/xmldoc-2.0.2.tgz#1ad89f9054cc8b1c500135e746da2a608b7bca6b" resolved "https://registry.yarnpkg.com/xmldoc/-/xmldoc-2.0.3.tgz#65b4226b753ea6cd4601f3f56d52338941d38380"
integrity sha512-UiRwoSStEXS3R+YE8OqYv3jebza8cBBAI2y8g3B15XFkn3SbEOyyLnmPHjLBPZANrPJKEzxxB7A3XwcLikQVlQ== integrity sha512-6gRk4NY/Jvg67xn7OzJuxLRsGgiXBaPUQplVJ/9l99uIugxh4FTOewYz5ic8WScj7Xx/2WvhENiQKwkK9RpE4w==
dependencies: dependencies:
sax "^1.2.4" sax "^1.4.3"
y18n@^4.0.0: y18n@^4.0.0:
version "4.0.3" version "4.0.3"