🇪🇸Spain @eduardo morales alberti

Spain, 🇪🇺
Account created on 26 September 2017, over 7 years ago
#

Merge Requests

More

Recent comments

🇪🇸Spain eduardo morales alberti Spain, 🇪🇺

Currently, the log entities are saved on a file archived_entity-YY-MM-DD.csv, but the date is when the file was created, and then, it does not match with the entity_logs, change the rotating file handler to use the entity logs dates.

🇪🇸Spain eduardo morales alberti Spain, 🇪🇺

Duplicated of https://www.drupal.org/project/log_entity_operations/issues/3520644 Add the hability to recover removed entity log operations Active

🇪🇸Spain eduardo morales alberti Spain, 🇪🇺

@luke.leber We are not sure how to contribute a test for it, as we are removing the attribute id, so we can not test that the id is duplicated, as it does not exist.

Do you refer to creating a test of the current code, testing the ID duplication?

🇪🇸Spain eduardo morales alberti Spain, 🇪🇺

Solved PHPStan and PHPCS warnings, pending CSPell and stylelint

🇪🇸Spain eduardo morales alberti Spain, 🇪🇺

PHPStan Errors:

 ------ --------------------------------------------------------------------------- 
  Line   modules/vlsuite_block/modules/vlsuite_block_cta/vlsuite_block_cta.install  
 ------ --------------------------------------------------------------------------- 
  38     Access to constant BUNDLE_KEY on an unknown class VLSuiteBlockCta.         
         💡 Learn more at https://phpstan.org/user-guide/discovering-symbols        
  38     Class VLSuiteBlockCta not found.                                           
         💡 Learn more at https://phpstan.org/user-guide/discovering-symbols        
 ------ --------------------------------------------------------------------------- 
 ------ ----------------------------------------------------------------------------- 
  Line   modules/vlsuite_block/modules/vlsuite_block_icon/vlsuite_block_icon.install  
 ------ ----------------------------------------------------------------------------- 
  38     Access to constant BUNDLE_KEY on an unknown class VLSuiteBlockIcon.          
         💡 Learn more at https://phpstan.org/user-guide/discovering-symbols          
  38     Class VLSuiteBlockIcon not found.                                            
         💡 Learn more at https://phpstan.org/user-guide/discovering-symbols          
  45     Access to constant BUNDLE_KEY on an unknown class VLSuiteBlockIcon.          
         💡 Learn more at https://phpstan.org/user-guide/discovering-symbols          
  45     Class VLSuiteBlockIcon not found.                                            
         💡 Learn more at https://phpstan.org/user-guide/discovering-symbols          
 ------ ----------------------------------------------------------------------------- 
 ------ ------------------------------------------------------------------------------- 
  Line   modules/vlsuite_block/modules/vlsuite_block_image/vlsuite_block_image.install  
 ------ ------------------------------------------------------------------------------- 
  27     Access to constant BUNDLE_KEY on an unknown class VLSuiteBlockImage.           
         💡 Learn more at https://phpstan.org/user-guide/discovering-symbols            
  27     Class VLSuiteBlockImage not found.                                             
         💡 Learn more at https://phpstan.org/user-guide/discovering-symbols            
 ------ ------------------------------------------------------------------------------- 
 ------ ---------------------------------------------------------------------------- 
  Line   modules/vlsuite_block/src/Controller/VLSuiteBlockChooseBlockController.php  
 ------ ---------------------------------------------------------------------------- 
  20     Class                                                                       
         Drupal\vlsuite_block\Controller\VLSuiteBlockChooseBlockController           
         extends @internal class                                                     
         Drupal\layout_builder_restrictions\Controller\ChooseBlockController.        
 ------ ---------------------------------------------------------------------------- 
 ------ ------------------------------------------------------------------- 
  Line   modules/vlsuite_block/src/Plugin/Block/VLSuiteFieldBlock.php       
 ------ ------------------------------------------------------------------- 
  29     Class Drupal\vlsuite_block\Plugin\Block\VLSuiteFieldBlock extends  
         @internal class Drupal\layout_builder\Plugin\Block\FieldBlock.     
 ------ ------------------------------------------------------------------- 
 ------ -------------------------------------------------------------------- 
  Line   modules/vlsuite_block/src/Plugin/Block/VLSuiteInlineBlock.php       
 ------ -------------------------------------------------------------------- 
  28     Class Drupal\vlsuite_block\Plugin\Block\VLSuiteInlineBlock extends  
         @internal class Drupal\layout_builder\Plugin\Block\InlineBlock.     
 ------ -------------------------------------------------------------------- 
 ------ -------------------------------------------------------------------------- 
  Line   modules/vlsuite_block/src/Plugin/Derivative/VLSuiteFieldBlockDeriver.php  
 ------ -------------------------------------------------------------------------- 
  13     Class Drupal\vlsuite_block\Plugin\Derivative\VLSuiteFieldBlockDeriver     
         extends @internal class                                                   
         Drupal\layout_builder\Plugin\Derivative\FieldBlockDeriver.                
 ------ -------------------------------------------------------------------------- 
 ------ --------------------------------------------------------------------------------- 
  Line   modules/vlsuite_block/src/Plugin/Derivative/VLSuiteMediaBgFieldBlockDeriver.php  
 ------ --------------------------------------------------------------------------------- 
  14     Class                                                                            
         Drupal\vlsuite_block\Plugin\Derivative\VLSuiteMediaBgFieldBlockDeriver           
         extends @internal class                                                          
         Drupal\layout_builder\Plugin\Derivative\FieldBlockDeriver.                       
  27     \Drupal calls should be avoided in classes, use dependency injection             
         instead                                                                          
 ------ --------------------------------------------------------------------------------- 
 ------ ---------------------------------------------------------------- 
  Line   modules/vlsuite_block/vlsuite_block.module                      
 ------ ---------------------------------------------------------------- 
  185    Fetching deprecated class constant EXISTS_REPLACE of interface  
         Drupal\Core\File\FileSystemInterface:                           
         in drupal:10.3.0 and is removed from drupal:12.0.0. Use         
         \Drupal\Core\File\FileExists::Replace instead.                  
 ------ ---------------------------------------------------------------- 
 ------ --------------------------------------------------------------------- 
  Line   modules/vlsuite_collection/src/VLSuiteCollectionHelper.php           
 ------ --------------------------------------------------------------------- 
  96     Call to static method encode() on an unknown class                   
         Drupal\Core\Serialization\Yaml.                                      
         💡 Learn more at https://phpstan.org/user-guide/discovering-symbols  
  120    Call to static method decode() on an unknown class                   
         Drupal\Core\Serialization\Yaml.                                      
         💡 Learn more at https://phpstan.org/user-guide/discovering-symbols  
  193    Fetching deprecated class constant EXISTS_REPLACE of interface       
         Drupal\Core\File\FileSystemInterface:                                
         in drupal:10.3.0 and is removed from drupal:12.0.0. Use              
         \Drupal\Core\File\FileExists::Replace instead.                       
 ------ --------------------------------------------------------------------- 
 ------ --------------------------------------------------------------------- 
  Line   modules/vlsuite_demo/vlsuite_demo.install                            
 ------ --------------------------------------------------------------------- 
  127    Call to static method decode() on an unknown class                   
         Drupal\Core\Serialization\Yaml.                                      
         💡 Learn more at https://phpstan.org/user-guide/discovering-symbols  
 ------ --------------------------------------------------------------------- 
 ------ ------------------------------------------------------------------------------------------ 
  Line   modules/vlsuite_generator/src/Drush/Generators/VLSuiteGeneratorModuleGenerator.php        
 ------ ------------------------------------------------------------------------------------------ 
  136    Parameter $default_content_exporter of method                                             
         Drupal\vlsuite_generator\Drush\Generators\VLSuiteGeneratorModuleGenerator::__construct()  
         has invalid type Drupal\default_content\ExporterInterface.                                
 ------ ------------------------------------------------------------------------------------------ 
 ------ ------------------------------------------------------------------------------------------------ 
  Line   modules/vlsuite_layout/modules/vlsuite_layout_tabs/src/Plugin/Layout/VLSuiteLayoutTabsBase.php  
 ------ ------------------------------------------------------------------------------------------------ 
  167    \Drupal calls should be avoided in classes, use dependency injection                            
         instead                                                                                         
 ------ ------------------------------------------------------------------------------------------------ 
 ------ ----------------------------------------------------------------- 
  Line   modules/vlsuite_modal/src/Form/VLSuiteModalSettingsForm.php      
 ------ ----------------------------------------------------------------- 
  129    Call to deprecated method clearCachedDefinitions() of interface  
         Drupal\Core\Asset\LibraryDiscoveryInterface:                     
         in drupal:11.1.0 and is removed from drupal:12.0.0. Use          
         LibraryDiscoveryCollector::clear() instead.                      
 ------ ----------------------------------------------------------------- 
 ------ ---------------------------------------------------------------------- 
  Line   modules/vlsuite_modal/src/VLSuiteModalConfigOverride.php              
 ------ ---------------------------------------------------------------------- 
  101    \Drupal calls should be avoided in classes, use dependency injection  
         instead                                                               
 ------ ---------------------------------------------------------------------- 
 [ERROR] Found 23 errors                                                    
🇪🇸Spain eduardo morales alberti Spain, 🇪🇺

CSpell

| Original        | Corrected         |
|----------------|-------------------|
| acive          | active            |
| activado       | activated         |
| animatecss     | Animate.css       |
| autocollapse   | auto-collapse     |
| autoresize     | auto-resize       |
| behaviour      | behavior          |
| botom          | bottom            |
| builderlink    | builder link      |
| cardinallity   | cardinality       |
| clasees        | classes           |
| clases         | classes           |
| clientside     | client-side       |
| completly      | completely        |
| contentvlsuite | content VLSuite   |
| cpath          | cPath             |
| crect          | correct           |
| csvg           | CSVG              |
| dependecies    | dependencies      |
| depenencies    | dependencies      |
| deprecatedfield| deprecated field  |
| desactivado    | deactivated       |
| descarted      | discarded         |
| dialogclose    | dialog close      |
| dinamically    | dynamically       |
| dynamize       | dynamize (consider rephrasing) |
| everytning     | everything        |
| fourcols       | four columns      |
| galleryvlsuite | gallery VLSuite   |
| groupelement   | group element     |
| indentifier    | identifier        |
| initiazilation | initialization    |
| laning         | planning          |
| limititations  | limitations       |
| linuxfoundation| Linux Foundation  |
| nagination     | pagination        |
| navlink        | nav link          |
| olumn          | column            |
| opctions       | options           |
| otherwhise     | otherwise         |
| overing        | hovering          |
| palcehold      | placeholder       |
| placehold      | placeholder       |
| preffix        | prefix            |
| proccesed      | processed         |
| procesing      | processing        |
| provinding     | providing         |
| quoute         | quote             |
| reduntant      | redundant         |
| remoto         | remote            |
| resovler       | resolver          |
| scrollpy       | ScrollSpy         |
| scrope         | scope             |
| selecto        | selector          |
| spicific       | specific          |
| swiperjs       | Swiper.js         |
| sysyem         | system            |
| tada           | Tada (animation)  |
| textdirection  | text direction    |
| threecols      | three columns     |
| twocols        | two columns       |
| udate          | update            |
| uidom          | UI DOM            |
| usement        | usage             |
| utilit         | utility           |
| utilitites     | utilities         |
| utilitties     | utilities         |
| utilty         | utility           |
| utitlities     | utilities         |
| vluiste        | VLSuite           |
| vídeo          | video             |
| warantee       | warranty          |
| webforms       | Web Forms         |
| wher           | where             |
| whitout        | without           |

🇪🇸Spain eduardo morales alberti Spain, 🇪🇺

Ready to review:
On a fresh installation:

  • Just access to /admin/config/vlsuite/utility-classes
  • Configure the framework
  • If it selects Bootstrap or Tailwind, it will load default utility classes
  • If it selects Custom, it will load the same utility classes as Bootstrap but empty, so each utility class will need to be filled or removed.
  • If the site already has configuration, the form will set bootstrap5 as the default framework
🇪🇸Spain eduardo morales alberti Spain, 🇪🇺

Ready to review:
On a fresh installation:

  • Just access to /admin/config/vlsuite/utility-classes
  • Configure the framework
  • If it selects Bootstrap or Tailwind, it will load default utility classes
  • If it selects Custom, it will load the same utility classes as Bootstrap but empty, so each utility class will need to be filled or removed.
  • If the site already has configuration, the form will set bootstrap5 as the default framework
🇪🇸Spain eduardo morales alberti Spain, 🇪🇺

All errors were fixed on the main branch using tools like PHPCBF and Stylelint.

🇪🇸Spain eduardo morales alberti Spain, 🇪🇺

Thank you, @omarlopesino, for reconsidering the feature

🇪🇸Spain eduardo morales alberti Spain, 🇪🇺

The problem comes from \Drupal\entity_mesh\Repository::getLabel
As it gets the label from the entity, but not from the translation

  protected function getLabel(?string $entity_type, ?string $entity_id): ?string {
    if (empty($entity_id) || empty($entity_type)) {
      return NULL;
    }

    try {
      $storage = $this->entityTypeManager->getStorage($entity_type);
    }
    catch (PluginNotFoundException $e) {
      return NULL;
    }

    /** @var \Drupal\Core\Entity\EntityInterface $entity */
    $entity = $storage->load($entity_id);
    if (!$entity instanceof EntityInterface) {
      return NULL;
    }

    return $entity->label();
  }
🇪🇸Spain eduardo morales alberti Spain, 🇪🇺

Pending to review PHPUnit

There were 18 errors:
1) Drupal\Tests\entity_mesh\Kernel\EntityMeshEntityRenderMultilingualTest::testLinks with data set "Internal valid link EN" (2, '/fr/node/1', 'internal', 'link', 'Test Node FR (node - 1)', null, 'node', 'page', 1, 'fr', null, null, null, null)
Error: Call to a member function switchToDefault() on null

🇪🇸Spain eduardo morales alberti Spain, 🇪🇺

Created issue on core to provide service theme switcher

🇪🇸Spain eduardo morales alberti Spain, 🇪🇺

Refactor code to delete also inline entities

🇪🇸Spain eduardo morales alberti Spain, 🇪🇺

Any news of a stable release compatible with Drupal 11?

🇪🇸Spain eduardo morales alberti Spain, 🇪🇺

Ready to review https://git.drupalcode.org/project/xray_audit/-/merge_requests/74#note_4...

The strategy was to create a decorator that registers when a resource gives an exception, it saves on a xray_audit_insight table with the message and the url.

https://git.drupalcode.org/project/xray_audit/-/merge_requests/74/diffs#...

  public function fetchResource($url) {
    try {
      return $this->resourceFetcher->fetchResource($url);
    }
    catch (ResourceException $e) {
      // Log the exception to the xray_audit_insight table.
      $this->insightReport->addInsightData(
        'external_resource',
        $e->getMessage(),
        $url
      );

      throw $e;
    }
  }

We also created a External Resources task on Content Display group.

If the module insight is enabled then it shows the resources that needs to be reviewed.

Also, if there there are resources to be reviewed it shows it on the status report:

🇪🇸Spain eduardo morales alberti Spain, 🇪🇺

After talking with @tunic and @lpeidro we decided that this fits better on the submodule insights.
It will try to extract the error related or hook to the fetcher resource.

🇪🇸Spain eduardo morales alberti Spain, 🇪🇺

The access denied comes from:

\Symfony\Component\HttpKernel\EventListener\RouterListener
 

\Symfony\Component\HttpKernel\EventListener\RouterListener::getSubscribedEvents

public static function getSubscribedEvents(): array
{
    return [
        KernelEvents::REQUEST => [['onKernelRequest', 32]],
        KernelEvents::FINISH_REQUEST => [['onKernelFinishRequest', 0]],
        KernelEvents::EXCEPTION => ['onKernelException', -64],
    ];
} 

\Symfony\Component\HttpKernel\EventListener\RouterListener::onKernelRequest

// matching a request is more powerful than matching a URL path + context, so try that first
if ($this->matcher instanceof RequestMatcherInterface) {
    $parameters = $this->matcher->matchRequest($request); 

\Drupal\Core\Routing\AccessAwareRouter::matchRequest

public function matchRequest(Request $request): array {
  $parameters = $this->router->matchRequest($request);
  $request->attributes->add($parameters);
  $this->checkAccess($request); 

\Drupal\Core\Routing\AccessAwareRouter::checkAccess

if (!$access_result->isAllowed()) {
  if ($access_result instanceof CacheableDependencyInterface && $request->isMethodCacheable()) {
    throw new CacheableAccessDeniedHttpException($access_result, $access_result instanceof AccessResultReasonInterface ? $access_result->getReason() : '');
  }

So we subscribe before it to give the 404.


  /**
   * {@inheritdoc}
   */
  public static function getSubscribedEvents() {
    return [
      // Launch method before RouterListener.
      // @see \Symfony\Component\HttpKernel\EventListener\RouterListener::onKernelRequest().
      KernelEvents::REQUEST => ['onKernelRequest', 33],
    ];
  }
🇪🇸Spain eduardo morales alberti Spain, 🇪🇺

We also avoid fallback language when the translation does not exists.


    // Check if content is on the current language.
    // Access only published content.
    if (($entity->isTranslatable()
        && (!$entity->hasTranslation($current_language) ||
          !($entity->language()->getId() === $current_language))
      ) ||
      (!$this->currentUser->hasPermission('view any unpublished content') && !$entity->isPublished())
    ) {
      $cacheability = CacheableMetadata::createFromObject($entity)->addCacheContexts(['route', 'user.permissions']);
      $reason = 'Content not found or not accessible.';
      throw new CacheableNotFoundHttpException($cacheability, $reason);
    }
🇪🇸Spain eduardo morales alberti Spain, 🇪🇺

We are testing it, and on Drupal 10.4 we are getting 403 and on Drupal 11 it returns the default language.

🇪🇸Spain eduardo morales alberti Spain, 🇪🇺

Tested on Drupal 10.4.x Drupal with imageMagick, ready

🇪🇸Spain eduardo morales alberti Spain, 🇪🇺

We created the module https://www.drupal.org/project/exif_removal to strip the exif information.
We will also support the strip exif information if the imagemagic tool exists Support imagemagic to strip the exif information Active

🇪🇸Spain eduardo morales alberti Spain, 🇪🇺

Using constraint again to avoid the problem of losing the metadata orientation.
Tested on a drupal 11.
Ready to review.

🇪🇸Spain eduardo morales alberti Spain, 🇪🇺

Installing config_inspector we have several errors related to the config from form_mode_control.
Error 'use The form mode default linked to block_content entity( banner_bar )' is not a supported key....
The Mr solves the issue.

🇪🇸Spain eduardo morales alberti Spain, 🇪🇺

Tests stabilized, not need validators. The rotation was applied on the hook presave.

🇪🇸Spain eduardo morales alberti Spain, 🇪🇺

Fixed test.
We are not sure why it is not working with Drupal 11 as the PHPUnit test fails, but it is stable on drupal 10.4.3

🇪🇸Spain eduardo morales alberti Spain, 🇪🇺

Patch #57 working on (2.0.9)
Patches applied:

            "drupal/facets": {
                "Facets with AJAX not working in most of situations - https://www.drupal.org/i/3052574": "patches/facets-ajax-fix-3052574-2.0.9.patch",
                "Disable updating the facets after each facet selection for Apply/Reset facet buttons block - https://www.drupal.org/i/3172373": "patches/facets-disable-auto-refresh-3172373-12_rerroll_206.patch",
                "Ajax facet block seems to lose Views context - https://www.drupal.org/i/2986981": "patches/facets-ajax-views-context-2986981-42.patch",
                "New $request created in FacetBlockAjaxController missing ajax_page_state - https://www.drupal.org/i/3466566": "https://www.drupal.org/files/issues/2024-08-20/facets-add-missing-ajax_page_state-3466566-2.0.8.patch",
                "Robustify how ajax finds the facet block - https://www.drupal.org/i/3013795": "patches/facets-ajax-improvements-3013795-56--ajax-controller-updates-from-3052574-3466566-reroll.patch"
            },

Last error solved:

Uncaught TypeError: Cannot read properties of undefined (reading 'settings')
    at updateFacetsView (js_VxN4_hEWvDkJM9zlGIezKjTLVZVJYA-B7R6DZGFUNt4.js?scope=footer&delta=0&language=en&theme=custom_radix&include=eJxti0EOgCAMBD8E8iTSQKvVBk2LwvNNIN487swsQcJqIet9gSw01iJcDt84r1gd_QUPYzMPO3RnaQPUqJC5h6nd0JELceGK0ZKeImGePuonfQFvgjHg&exclude=eJyNUkFywyAM_BCGX_QD6Z0RWLZJZZSCcOPfByduYqfJTC9i2d0ZoRVwhLMlhhaTgQfWMiR2DpOCKMGxmPXUHadReQoYJYcW7QQUWpDA0R6_C6bZ-EnfkA4d_te6aqh65p7QCvSmr-X5rpdH7slRZT8AJlurmA3WkeGuvXqGWSGn_PAVZzZYey5RUsC7owtI7dLaZpkJzeFKfyzsJ_SHhfu1RvzJhCI12z-MrX2BYK4Rr1qCNpxNT-yA3qkDLtvZcyPG0hBOSE2u4-ALdYQQ9_QpcVu8NA5Sw12XUfZ6RkIvtqvfQULsLYFDerJsR80IyQ_mdmwiVisDp2ChCHseTzUANG94lecsOBoHGdUUalzmWm973xJjHaD2n7lIcWg981fdkuGIkkqWC-WOHrA:4:3185)
    at HTMLUListElement.<anonymous> (js_VxN4_hEWvDkJM9zlGIezKjTLVZVJYA-B7R6DZGFUNt4.js?scope=footer&delta=0&language=en&theme=custom_radix&include=eJxti0EOgCAMBD8E8iTSQKvVBk2LwvNNIN487swsQcJqIet9gSw01iJcDt84r1gd_QUPYzMPO3RnaQPUqJC5h6nd0JELceGK0ZKeImGePuonfQFvgjHg&exclude=eJyNUkFywyAM_BCGX_QD6Z0RWLZJZZSCcOPfByduYqfJTC9i2d0ZoRVwhLMlhhaTgQfWMiR2DpOCKMGxmPXUHadReQoYJYcW7QQUWpDA0R6_C6bZ-EnfkA4d_te6aqh65p7QCvSmr-X5rpdH7slRZT8AJlurmA3WkeGuvXqGWSGn_PAVZzZYey5RUsC7owtI7dLaZpkJzeFKfyzsJ_SHhfu1RvzJhCI12z-MrX2BYK4Rr1qCNpxNT-yA3qkDLtvZcyPG0hBOSE2u4-ALdYQQ9_QpcVu8NA5Sw12XUfZ6RkIvtqvfQULsLYFDerJsR80IyQ_mdmwiVisDp2ChCHseTzUANG94lecsOBoHGdUUalzmWm973xJjHaD2n7lIcWg981fdkuGIkkqWC-WOHrA:4:2844)
    at HTMLUListElement.dispatch (js_v4R1nHEnukJUV1bLoiDZZc0YO5ablXaBNbuEfNdemn4.js?scope=footer&delta=0&language=en&theme=custom_radix&include=eJyNUkFywyAM_JANv-gH0jsjsIxJZZSCcOPfByduYqfJTC_SsrszoBVwhLMhhg6ThgdWMiS2FlMDUYJl0WtXPaexcRQwSg4dmgkodCCBozl-F0yzdpO6IRV6_K911bDxzJ7QCHjta3k-q-WRe3JsshsAk6lV9AaryHDXXj1Dr5BTfviK1RusHJcoKeDd0QekbrnaZJkJ9eFKfyzsJ_jDwv1aI_5kQpGa7R_G1HuBYK4Rr1qCLpy1J7ZA79QBl-3suRFjaQknpDbXcfCFOkKIe_qUuCtOWgup5b7PKHs9I6ET09fvICF6Q2CRnizbUTNCcoO-tU3EzcrAKRgowo7HUw0A9Ru-mUKNSF_rbdczFykWjWP-qmvQHFFSyXIB9ZsSqg:3:40035)
    at v.handle (js_v4R1nHEnukJUV1bLoiDZZc0YO5ablXaBNbuEfNdemn4.js?scope=footer&delta=0&language=en&theme=custom_radix&include=eJyNUkFywyAM_JANv-gH0jsjsIxJZZSCcOPfByduYqfJTC_SsrszoBVwhLMhhg6ThgdWMiS2FlMDUYJl0WtXPaexcRQwSg4dmgkodCCBozl-F0yzdpO6IRV6_K911bDxzJ7QCHjta3k-q-WRe3JsshsAk6lV9AaryHDXXj1Dr5BTfviK1RusHJcoKeDd0QekbrnaZJkJ9eFKfyzsJ_jDwv1aI_5kQpGa7R_G1HuBYK4Rr1qCLpy1J7ZA79QBl-3suRFjaQknpDbXcfCFOkKIe_qUuCtOWgup5b7PKHs9I6ET09fvICF6Q2CRnizbUTNCcoO-tU3EzcrAKRgowo7HUw0A9Ru-mUKNSF_rbdczFykWjWP-qmvQHFFSyXIB9ZsSqg:3:38006)
    at Object.trigger (js_v4R1nHEnukJUV1bLoiDZZc0YO5ablXaBNbuEfNdemn4.js?scope=footer&delta=0&language=en&theme=custom_radix&include=eJyNUkFywyAM_JANv-gH0jsjsIxJZZSCcOPfByduYqfJTC_SsrszoBVwhLMhhg6ThgdWMiS2FlMDUYJl0WtXPaexcRQwSg4dmgkodCCBozl-F0yzdpO6IRV6_K911bDxzJ7QCHjta3k-q-WRe3JsshsAk6lV9AaryHDXXj1Dr5BTfviK1RusHJcoKeDd0QekbrnaZJkJ9eFKfyzsJ_jDwv1aI_5kQpGa7R_G1HuBYK4Rr1qCLpy1J7ZA79QBl-3suRFjaQknpDbXcfCFOkKIe_qUuCtOWgup5b7PKHs9I6ET09fvICF6Q2CRnizbUTNCcoO-tU3EzcrAKRgowo7HUw0A9Ru-mUKNSF_rbdczFykWjWP-qmvQHFFSyXIB9ZsSqg:3:70124)
    at HTMLUListElement.<anonymous> (js_v4R1nHEnukJUV1bLoiDZZc0YO5ablXaBNbuEfNdemn4.js?scope=footer&delta=0&language=en&theme=custom_radix&include=eJyNUkFywyAM_JANv-gH0jsjsIxJZZSCcOPfByduYqfJTC_SsrszoBVwhLMhhg6ThgdWMiS2FlMDUYJl0WtXPaexcRQwSg4dmgkodCCBozl-F0yzdpO6IRV6_K911bDxzJ7QCHjta3k-q-WRe3JsshsAk6lV9AaryHDXXj1Dr5BTfviK1RusHJcoKeDd0QekbrnaZJkJ9eFKfyzsJ_jDwv1aI_5kQpGa7R_G1HuBYK4Rr1qCLpy1J7ZA79QBl-3suRFjaQknpDbXcfCFOkKIe_qUuCtOWgup5b7PKHs9I6ET09fvICF6Q2CRnizbUTNCcoO-tU3EzcrAKRgowo7HUw0A9Ru-mUKNSF_rbdczFykWjWP-qmvQHFFSyXIB9ZsSqg:3:70726)
    at ce.each (js_v4R1nHEnukJUV1bLoiDZZc0YO5ablXaBNbuEfNdemn4.js?scope=footer&delta=0&language=en&theme=custom_radix&include=eJyNUkFywyAM_JANv-gH0jsjsIxJZZSCcOPfByduYqfJTC_SsrszoBVwhLMhhg6ThgdWMiS2FlMDUYJl0WtXPaexcRQwSg4dmgkodCCBozl-F0yzdpO6IRV6_K911bDxzJ7QCHjta3k-q-WRe3JsshsAk6lV9AaryHDXXj1Dr5BTfviK1RusHJcoKeDd0QekbrnaZJkJ9eFKfyzsJ_jDwv1aI_5kQpGa7R_G1HuBYK4Rr1qCLpy1J7ZA79QBl-3suRFjaQknpDbXcfCFOkKIe_qUuCtOWgup5b7PKHs9I6ET09fvICF6Q2CRnizbUTNCcoO-tU3EzcrAKRgowo7HUw0A9Ru-mUKNSF_rbdczFykWjWP-qmvQHFFSyXIB9ZsSqg:3:3129)
    at ce.fn.init.each (js_v4R1nHEnukJUV1bLoiDZZc0YO5ablXaBNbuEfNdemn4.js?scope=footer&delta=0&language=en&theme=custom_radix&include=eJyNUkFywyAM_JANv-gH0jsjsIxJZZSCcOPfByduYqfJTC_SsrszoBVwhLMhhg6ThgdWMiS2FlMDUYJl0WtXPaexcRQwSg4dmgkodCCBozl-F0yzdpO6IRV6_K911bDxzJ7QCHjta3k-q-WRe3JsshsAk6lV9AaryHDXXj1Dr5BTfviK1RusHJcoKeDd0QekbrnaZJkJ9eFKfyzsJ_jDwv1aI_5kQpGa7R_G1HuBYK4Rr1qCLpy1J7ZA79QBl-3suRFjaQknpDbXcfCFOkKIe_qUuCtOWgup5b7PKHs9I6ET09fvICF6Q2CRnizbUTNCcoO-tU3EzcrAKRgowo7HUw0A9Ru-mUKNSF_rbdczFykWjWP-qmvQHFFSyXIB9ZsSqg:3:1594)
    at ce.fn.init.trigger (js_v4R1nHEnukJUV1bLoiDZZc0YO5ablXaBNbuEfNdemn4.js?scope=footer&delta=0&language=en&theme=custom_radix&include=eJyNUkFywyAM_JANv-gH0jsjsIxJZZSCcOPfByduYqfJTC_SsrszoBVwhLMhhg6ThgdWMiS2FlMDUYJl0WtXPaexcRQwSg4dmgkodCCBozl-F0yzdpO6IRV6_K911bDxzJ7QCHjta3k-q-WRe3JsshsAk6lV9AaryHDXXj1Dr5BTfviK1RusHJcoKeDd0QekbrnaZJkJ9eFKfyzsJ_jDwv1aI_5kQpGa7R_G1HuBYK4Rr1qCLpy1J7ZA79QBl-3suRFjaQknpDbXcfCFOkKIe_qUuCtOWgup5b7PKHs9I6ET09fvICF6Q2CRnizbUTNCcoO-tU3EzcrAKRgowo7HUw0A9Ru-mUKNSF_rbdczFykWjWP-qmvQHFFSyXIB9ZsSqg:3:70701)
    at HTMLAnchorElement.clickHandler (js_VxN4_hEWvDkJM9zlGIezKjTLVZVJYA-B7R6DZGFUNt4.js?scope=footer&delta=0&language=en&theme=custom_radix&include=eJxti0EOgCAMBD8E8iTSQKvVBk2LwvNNIN487swsQcJqIet9gSw01iJcDt84r1gd_QUPYzMPO3RnaQPUqJC5h6nd0JELceGK0ZKeImGePuonfQFvgjHg&exclude=eJyNUkFywyAM_BCGX_QD6Z0RWLZJZZSCcOPfByduYqfJTC9i2d0ZoRVwhLMlhhaTgQfWMiR2DpOCKMGxmPXUHadReQoYJYcW7QQUWpDA0R6_C6bZ-EnfkA4d_te6aqh65p7QCvSmr-X5rpdH7slRZT8AJlurmA3WkeGuvXqGWSGn_PAVZzZYey5RUsC7owtI7dLaZpkJzeFKfyzsJ_SHhfu1RvzJhCI12z-MrX2BYK4Rr1qCNpxNT-yA3qkDLtvZcyPG0hBOSE2u4-ALdYQQ9_QpcVu8NA5Sw12XUfZ6RkIvtqvfQULsLYFDerJsR80IyQ_mdmwiVisDp2ChCHseTzUANG94lecsOBoHGdUUalzmWm973xJjHaD2n7lIcWg981fdkuGIkkqWC-WOHrA:3:368)
Production build 0.71.5 2024