Deprecated function: explode()

Created on 1 April 2025, 3 months ago

SMTP module gives this warning after upgrading to D11.
Deprecated function: explode(): Passing null to parameter #2 ($string) of type string is deprecated in Drupal\smtp\Plugin\Mail\SMTPMailSystem->mail() (line 341 of modules/contrib/smtp/src/Plugin/Mail/SMTPMailSystem.php).

🐛 Bug report
Status

Active

Version

1.4

Component

Code

Created by

🇮🇳India mdsohaib4242

Live updates comments and jobs are added and updated live.
Sign in to follow issues

Comments & Activities

  • Issue created by @mdsohaib4242
  • 🇮🇳India mdsohaib4242

    <?php

    /**
    * @file
    * Contains module code.
    */
    use Drupal\Core\Form\FormStateInterface;
    use Drupal\register_otp\Includes\UserHelper;
    use Drupal\expire_pass\Includes\PasswordExpiryHelper;
    use Drupal\user\UserInterface;
    use Symfony\Component\HttpFoundation\RedirectResponse;
    use Drupal\expire_reset_pass_link\ResetPasswordHistory;
    use Drupal\Core\Session\AccountInterface;
    use Drupal\Component\Utility\DiffArray;

    module_load_include('inc', 'register_otp', 'register_otp.tokens');

    /**
    * Implements hook_form_alter().

    function register_otp_form_user_pass_reset_alter(&$form, FormStateInterface $form_state, $form_id) {
    $account = $form_state->getBuildInfo()['args'][0];
    $form['uid'] = array('#type' => 'hidden', '#value' => $account->id());
    $form['otp'] = array(
    '#type' => 'textfield',
    '#title' => t('OTP'),
    '#description' => t('Please enter OTP'),
    '#weight' => -20,
    '#required' => true,
    '#prefix' => '

    ',
    '#suffix' => '

    ',
    );

    $form['terms_condition'] = array(
    '#type' =>'checkbox',
    '#title' => 'I accept all Terms and Conditions and Privacy Policy',
    '#weight' => 0,
    '#required' => true,
    '#prefix' => '

    ',
    '#suffix' => '

    ',
    );

    $form['pass'] = array(
    '#type' => 'password_confirm',
    '#title' => t('Set New Password'),
    '#description' => t('Please set a new password so that you can login next time.'),
    '#weight' => -1,
    '#required' => true,
    );

    $form['pass']['#prefix'] = '

    ';
    $form['pass']['#suffix'] = '

    Password creation guidelines

    Password should be of 6-15 letters and should contain following:

    • Atleast 1 numeric digit
    • Atleast 1 uppercase letter
    • Atleast 1 lowercase letter
    • Atleast 1 special character

    ';

    $form['actions']['submit']['#value'] = 'Create password';
    $form['actions']['submit']['#submit'][] = '_register_otp_form_user_pass_reset_submit';
    // array_unshift($form['#submit'], '_register_otp_form_user_pass_reset_submit');
    $form['#validate'][] = 'opt_validation';
    $form['#attributes']['novalidate'] = 'novalidate';
    $form['#attached']['library'][] = 'register_otp/register_otp';

    // $form['#submit'][0] = '_register_otp_form_user_pass_reset_submit';
    }

    /*function opt_validation(&$form, FormStateInterface $form_state) {
    $account = $form_state->getBuildInfo()['args'][0];
    $values = $form_state->getValues();
    $entered_otp = $values['otp'];
    $uid = $account->id();
    $userHelper = new UserHelper();
    if(!$userHelper->isValidOTP($entered_otp, $uid)) {
    $form_state->setErrorByName('otp', t('Please enter valid otp'));
    }
    }
    */
    /**
    * Implements hook_entity_type_build().
    */
    function register_otp_entity_type_build(array &$entity_types) {
    $entity_types['user']->setFormClass('edit_user', 'Drupal\user\ProfileForm');
    }

    /**
    * Implements hook_user_login().
    */
    function register_otp_user_login( UserInterface $account ) {
    global $base_url;
    //echo "

    "; print_R($account); exit;
    	$expiryHelper = new PasswordExpiryHelper();
     $message = $expiryHelper->earlyPasswordExpireNotification($account);
      if($message) {
        \Drupal::messenger()->addError($message);
      }
     // $response = new RedirectResponse($base_url . '/user/profile/'. $account->id());
      $response = new RedirectResponse($base_url);
      $response->send();
    }
    
    /*function _register_otp_form_user_pass_reset_submit(&$form, FormStateInterface $form_state) {
    	\Drupal::logger('register_otp')->notice("My Submit is called");
    	$account = $form_state->getBuildInfo()['args'][0];
    	$uid = $account->id();
    	$userHelper = new UserHelper();
    	$userHelper->clearOTP($uid);
    	\Drupal::messenger()->deleteAll();
      \Drupal::messenger()->addStatus("You have successfully logged in and created your password");
    }
    */
    
    /**
     * Implements hook_module_implements_alter().
     *
     * Asks Drupal to run our form_alter hooks after other modules.
     
    function register_otp_module_implements_alter(&$implementations, $hook) {
      if ($hook == 'form_alter' && isset($implementations['register_otp'])) {
        // Make our form alters come last
        // (so we act after other modules have already altered).
        $group = $implementations['register_otp'];
        unset($implementations['register_otp']);
        $implementations['register_otp'] = $group;
      }
    }*/
    
    
    /**
     * Implements hook_form_[form_id]_alter().
     */
    function register_otp_form_user_login_form_alter(&$form, FormStateInterface $form_state, $form_id) {
    	global $base_url;
    	$form['name']['#title'] = "User-ID";
    	$form['name']['#description'] = "Enter your User-ID";
    	$form['name']['#attributes']['placeholder'] = "Enter your User-ID";
    	$form['pass']['#attributes']['placeholder'] = "Enter your Password";
    	$form['pass']['#description'] = "Enter your Password";
    	$form['actions']['#prefix'] = '
    '; $form['actions']['#suffix'] = '
    '; //$form['#validate'][] = '_register_otp_login_security_validate'; } /*function _register_otp_login_security_validate($form, FormStateInterface $form_state) { $errors = $form_state->getErrors(); // print_R("I A< HERE"); // print_R($errors); if (!empty($errors['name'])) { $string_error = $errors['name']->__tostring(); if (strpos($string_error, 'Unrecognized username or password') !== FALSE) { $name_value = $form_state->getValue('name'); $form_state->clearErrors(); $form_state->setErrorByName('name', t('Unrecognized user-id or password', [ ':password' => $name_value, ])); } /*$name_value = $form_state->getValue('name'); if (strpos(strip_tags($string_error), 'The username ' . $name_value . ' has not been activated or is blocked.') !== FALSE) { $form_state->clearErrors(); $new_error_message = "The user-id " . $name_value . " has not been activated or is blocked."; $form_state->setErrorByName('name', t($new_error_message, [ ':password' => $name_value, ])); } } } */ /** * Implements hook_login_security_display_block_attempts_alter(). */ function register_otp_login_security_display_block_attempts_alter(&$message_raw, &$display_block_attempts, $variables) { $display_block_attempts = true; /* Do not show login count if user does not exists or if user is already blocked */ //if(!$variables['@user_current_count'] || $variables['@user_current_count'] >= 5) { if((is_array($variables) && (!empty($variables['@user_current_count']) || $variables['@user_current_count'] >= 5)) || $variables >= 5) { $display_block_attempts = false; } } /** * Implements hook_theme(). */ function register_otp_theme($existing, $type, $theme, $path) { return [ 'reset_password_error' => [ 'variables' => [ 'type' => NULL, 'isUserLoggedIn' => NULL ], ], ]; } /** * Implements hook_user_update(). * Unblock user if failed login attempt */ function register_otp_user_update(AccountInterface $account) { $entity = $account; $diff = array_keys(DiffArray::diffAssocRecursive($account->toArray(), $account->original->toArray())); $original = $account->original->toArray(); $changedInfo = $account->toArray(); if(in_array('status', $diff)) { $originalStatus = $original['status'][0]['value']; $changedStatus = $changedInfo['status'][0]['value']; if($originalStatus == 0 && $changedStatus == 1) { $userHelper = new UserHelper(); $userHelper->userFloodUnblock($account->id()); } } /*if ($account !== FALSE && $account->isBlocked()) { $txn = \Drupal::database()->startTransaction('flood_unblock_clear'); try { $query = \Drupal::database()->delete('flood') ->condition('event', '%' . $type, 'LIKE'); if (isset($identifier)) { $query->condition('identifier', $identifier); } $success = $query->execute(); if ($success) { \Drupal::messenger()->addMessage($this->t('Flood entries cleared.'), 'status', FALSE); } } catch (\Exception $e) { // Something went wrong somewhere, so roll back now. $txn->rollback(); // Log the exception to watchdog. watchdog_exception('type', $e); \Drupal::messenger()->addMessage($this->t('Error: @error', ['@error' => (string) $e]), 'error'); } }*/ }
  • 🇮🇳India mdsohaib4242
    <?php
    
    /**
     * @file
     * Contains module code.
     */
    use Drupal\Core\Form\FormStateInterface;
    use Drupal\register_otp\Includes\UserHelper;
    use Drupal\expire_pass\Includes\PasswordExpiryHelper;
    use Drupal\user\UserInterface;
    use Symfony\Component\HttpFoundation\RedirectResponse;
    use Drupal\expire_reset_pass_link\ResetPasswordHistory;
    use Drupal\Core\Session\AccountInterface;
    use Drupal\Component\Utility\DiffArray;
    
    module_load_include('inc', 'register_otp', 'register_otp.tokens');
    
    /**
     * Implements hook_form_alter().
     
    function register_otp_form_user_pass_reset_alter(&$form, FormStateInterface $form_state, $form_id) {
      	$account = $form_state->getBuildInfo()['args'][0];
      	$form['uid'] = array('#type' => 'hidden', '#value' => $account->id());
    	$form['otp'] = array(
    	    '#type' => 'textfield',
    	    '#title' => t('OTP'),
    	    '#description' => t('Please enter OTP'),
    	    '#weight' => -20,
    	    '#required' => true,
          '#prefix'      => '<div class="form-group">',
          '#suffix'      => '<div class="error"></div></div>',
    	  );
    
    	$form['terms_condition'] = array(
    		'#type' =>'checkbox',
    		'#title' => 'I accept all <a href="#">Terms and Conditions</a> and <a href="#">Privacy Policy</a>',
    		'#weight' => 0,
    	    '#required' => true,
       		'#prefix'      => '<div class="form-group">',
            '#suffix'      => '<div class="error"></div></div>',
    	);
    
    	$form['pass'] = array(
        '#type' => 'password_confirm',
        '#title' => t('Set New Password'),
        '#description' => t('Please set a new password so that you can login next time.'),
        '#weight' => -1,
        '#required' => true,
      );
    
    	$form['pass']['#prefix'] = '<div class="password-wrapper form-group">';
    	$form['pass']['#suffix'] = '<div class="error"></div><div class="password-guideline"><h3>Password creation guidelines</h3><p>Password should be of 6-15 letters and should contain following:</p>
    		<ul>
    			<li>Atleast 1 numeric digit</li>
    			<li>Atleast 1 uppercase letter</li>
    			<li>Atleast 1 lowercase letter</li>
    			<li>Atleast 1 special character</li>
    		</ul></div></div>';
    
    	$form['actions']['submit']['#value'] = 'Create password';
    	$form['actions']['submit']['#submit'][] = '_register_otp_form_user_pass_reset_submit';
    	// array_unshift($form['#submit'], '_register_otp_form_user_pass_reset_submit');
    	$form['#validate'][] = 'opt_validation';
    	$form['#attributes']['novalidate'] = 'novalidate';
    	$form['#attached']['library'][] = 'register_otp/register_otp';
    
    	// $form['#submit'][0] = '_register_otp_form_user_pass_reset_submit';
    }
    
    /*function opt_validation(&$form, FormStateInterface $form_state) {
    	$account = $form_state->getBuildInfo()['args'][0];
    	$values = $form_state->getValues();
    	$entered_otp = $values['otp'];
    	$uid = $account->id();
    	$userHelper = new UserHelper();
    	if(!$userHelper->isValidOTP($entered_otp, $uid)) {
       	$form_state->setErrorByName('otp', t('Please enter valid otp'));
    	}
    }
    */
    /**
     * Implements hook_entity_type_build().
     */
    function register_otp_entity_type_build(array &$entity_types) {
      $entity_types['user']->setFormClass('edit_user', 'Drupal\user\ProfileForm');
    }
    
    
    /**
     * Implements hook_user_login().
     */
    function register_otp_user_login( UserInterface $account ) {  
    	global $base_url;
    	//echo "<pre>"; print_R($account); exit;
    	$expiryHelper = new PasswordExpiryHelper();
     $message = $expiryHelper->earlyPasswordExpireNotification($account);
      if($message) {
        \Drupal::messenger()->addError($message);
      }
     // $response = new RedirectResponse($base_url . '/user/profile/'. $account->id());
      $response = new RedirectResponse($base_url);
      $response->send();
    }
    
    /*function _register_otp_form_user_pass_reset_submit(&$form, FormStateInterface $form_state) {
    	\Drupal::logger('register_otp')->notice("My Submit is called");
    	$account = $form_state->getBuildInfo()['args'][0];
    	$uid = $account->id();
    	$userHelper = new UserHelper();
    	$userHelper->clearOTP($uid);
    	\Drupal::messenger()->deleteAll();
      \Drupal::messenger()->addStatus("You have successfully logged in and created your password");
    }
    */
    
    /**
     * Implements hook_module_implements_alter().
     *
     * Asks Drupal to run our form_alter hooks after other modules.
     
    function register_otp_module_implements_alter(&$implementations, $hook) {
      if ($hook == 'form_alter' && isset($implementations['register_otp'])) {
        // Make our form alters come last
        // (so we act after other modules have already altered).
        $group = $implementations['register_otp'];
        unset($implementations['register_otp']);
        $implementations['register_otp'] = $group;
      }
    }*/
    
    
    /**
     * Implements hook_form_[form_id]_alter().
     */
    function register_otp_form_user_login_form_alter(&$form, FormStateInterface $form_state, $form_id) {
    	global $base_url;
    	$form['name']['#title'] = "User-ID";
    	$form['name']['#description'] = "Enter your User-ID";
    	$form['name']['#attributes']['placeholder'] = "Enter your User-ID";
    	$form['pass']['#attributes']['placeholder'] = "Enter your Password";
    	$form['pass']['#description'] = "Enter your Password";
    	$form['actions']['#prefix'] = '<div class="sign-in-link-wrapper">
    	<div class="forgot-pass-link pull-left"><a href="'. $base_url. '/user/password" class="pull-left">Forgot password?</a></div><div class="pull-right text-right">';
    	$form['actions']['#suffix'] = '</div></div>';
      //$form['#validate'][] = '_register_otp_login_security_validate';
    }
    
    /*function _register_otp_login_security_validate($form, FormStateInterface $form_state) {
    	$errors = $form_state->getErrors();
        // print_R("I A< HERE");
        // print_R($errors);
        if (!empty($errors['name'])) {
          $string_error = $errors['name']->__tostring();
          if (strpos($string_error, 'Unrecognized username or password') !== FALSE) {
            $name_value = $form_state->getValue('name');
            $form_state->clearErrors();
            $form_state->setErrorByName('name', t('Unrecognized user-id or password', [
              ':password' => $name_value,
            ]));
          }
    
    			/*$name_value = $form_state->getValue('name');
          if (strpos(strip_tags($string_error), 'The username ' . $name_value . ' has not been activated or is blocked.') !== FALSE) {
            $form_state->clearErrors();
            $new_error_message = "The user-id " . $name_value . " has not been activated or is blocked.";
            $form_state->setErrorByName('name', t($new_error_message, [
              ':password' => $name_value,
            ]));
          }
        }
    }
    */
    
    
    /**
     * Implements hook_login_security_display_block_attempts_alter().
     */
    function register_otp_login_security_display_block_attempts_alter(&$message_raw, &$display_block_attempts, $variables) {
    	$display_block_attempts = true;	
    	/* Do not show login count if user does not exists or if user is already blocked  */
    	//if(!$variables['@user_current_count'] || $variables['@user_current_count'] >= 5) {
    	if((is_array($variables) && (!empty($variables['@user_current_count']) || $variables['@user_current_count'] >= 5)) || $variables >= 5) { 
    	$display_block_attempts = false;	
      }
    }
    
    
    /**
     * Implements hook_theme().
     */
     function register_otp_theme($existing, $type, $theme, $path)
    {
      return [
        'reset_password_error' => [
          'variables' => [
            'type' => NULL,
            'isUserLoggedIn' => NULL
          ],
        ],
      ];
    }
    
    /**
     * Implements hook_user_update().
     * Unblock user if failed login attempt
     */
    function register_otp_user_update(AccountInterface $account) {
    	$entity = $account;
    	$diff = array_keys(DiffArray::diffAssocRecursive($account->toArray(), $account->original->toArray()));
    	$original = $account->original->toArray();
    	$changedInfo = $account->toArray();
    	if(in_array('status', $diff)) {
    		$originalStatus =  $original['status'][0]['value'];
    		$changedStatus =  $changedInfo['status'][0]['value'];
    		if($originalStatus == 0 && $changedStatus == 1) {
    			$userHelper = new UserHelper();
    			$userHelper->userFloodUnblock($account->id());
    		}
    	}
      /*if ($account !== FALSE && $account->isBlocked()) {
    	  $txn = \Drupal::database()->startTransaction('flood_unblock_clear');
    	  try {
    	    $query = \Drupal::database()->delete('flood')
    	      ->condition('event', '%' . $type, 'LIKE');
    	    if (isset($identifier)) {
    	      $query->condition('identifier', $identifier);
    	    }
    	    $success = $query->execute();
    	    if ($success) {
    	      \Drupal::messenger()->addMessage($this->t('Flood entries cleared.'), 'status', FALSE);
    	    }
    	  } catch (\Exception $e) {
    	    // Something went wrong somewhere, so roll back now.
    	    $txn->rollback();
    	    // Log the exception to watchdog.
    	    watchdog_exception('type', $e);
    	    \Drupal::messenger()->addMessage($this->t('Error: @error', ['@error' => (string) $e]), 'error');
    	  }
    	}*/
    }
    
  • 🇮🇳India mdsohaib4242
    # All libraries are defined in alphabetical order.
    
    internal.backbone:
      # Internal library. Do not depend on it outside core nor add new core usage.
      # The library will be removed as soon as the following issues are fixed:
      #  - https://www.drupal.org/project/drupal/issues/3203920
      #  - https://www.drupal.org/project/drupal/issues/3204011
      #  - https://www.drupal.org/project/drupal/issues/3204015
      remote: https://github.com/jashkenas/backbone
      version: "1.6.0"
      license:
        name: MIT
        url: https://raw.githubusercontent.com/jashkenas/backbone/1.6.0/LICENSE
        gpl-compatible: true
      js:
        assets/vendor/backbone/backbone-min.js: { weight: -19, minified: true }
      dependencies:
        - core/internal.underscore
    
    ckeditor5:
      remote: https://github.com/ckeditor/ckeditor5
      version: "44.0.0"
      license:
        name: GPL-2.0-or-later
        url: https://raw.githubusercontent.com/ckeditor/ckeditor5/v44.0.0/LICENSE.md
        gpl-compatible: true
      js:
        # This file is not aggregated to force the creation of a new aggregate file
        # containing all files between this one and the next non-aggregated file
        # (if it exists). The files loaded after this one will include CKEditor 5
        # translations, enabled plugins, and the rest of the JavaScript needed on
        # the page.
        assets/vendor/ckeditor5/ckeditor5-dll/ckeditor5-dll.js: { preprocess: false, minified: true }
      dependencies:
        - core/ckeditor5.translations
    
    ckeditor5.editorClassic:
      remote: https://github.com/ckeditor/ckeditor5
      version: "44.0.0"
      license:
        name: GPL-2.0-or-later
        url: https://raw.githubusercontent.com/ckeditor/ckeditor5/v44.0.0/LICENSE.md
        gpl-compatible: true
      js:
        assets/vendor/ckeditor5/editor-classic/editor-classic.js: { minified: true }
      dependencies:
        - core/ckeditor5
    
    ckeditor5.editorDecoupled:
      remote: https://github.com/ckeditor/ckeditor5
      version: "44.0.0"
      license:
        name: GPL-2.0-or-later
        url: https://raw.githubusercontent.com/ckeditor/ckeditor5/v44.0.0/LICENSE.md
        gpl-compatible: true
      js:
        assets/vendor/ckeditor5/editor-decoupled/editor-decoupled.js: { minified: true }
      dependencies:
        - core/ckeditor5
        - core/ckeditor5.htmlSupport
    
    ckeditor5.essentials:
      remote: https://github.com/ckeditor/ckeditor5
      version: "35.1.0"
      license:
        name: GPL-2.0-or-later
        url: https://github.com/ckeditor/ckeditor5/blob/v35.1.0/LICENSE.md
        gpl-compatible: true
      js:
        assets/vendor/ckeditor5/essentials/essentials.js: { minified: true }
      dependencies:
        - core/ckeditor5
        - core/ckeditor5.heading
    
    ckeditor5.heading:
      remote: https://github.com/ckeditor/ckeditor5
      version: "44.0.0"
      license:
        name: GPL-2.0-or-later
        url: https://raw.githubusercontent.com/ckeditor/ckeditor5/v44.0.0/LICENSE.md
        gpl-compatible: true
      js:
        assets/vendor/ckeditor5/heading/heading.js: { minified: true }
      dependencies:
        - core/ckeditor5
        - core/ckeditor5.translations
    
    ckeditor5.basic:
      remote: https://github.com/ckeditor/ckeditor5
      version: "44.0.0"
      license:
        name: GPL-2.0-or-later
        url: https://raw.githubusercontent.com/ckeditor/ckeditor5/v44.0.0/LICENSE.md
        gpl-compatible: true
      js:
        assets/vendor/ckeditor5/basic-styles/basic-styles.js: { minified: true }
      dependencies:
        - core/ckeditor5
        - core/ckeditor5.translations
    
    ckeditor5.specialCharacters:
      remote: https://github.com/ckeditor/ckeditor5
      version: "44.0.0"
      license:
        name: GPL-2.0-or-later
        url: https://raw.githubusercontent.com/ckeditor/ckeditor5/v44.0.0/LICENSE.md
        gpl-compatible: true
      js:
        assets/vendor/ckeditor5/special-characters/special-characters.js: { minified: true }
      dependencies:
        - core/ckeditor5
        - core/ckeditor5.translations
    
    ckeditor5.blockquote:
      remote: https://github.com/ckeditor/ckeditor5
      version: "44.0.0"
      license:
        name: GPL-2.0-or-later
        url: https://raw.githubusercontent.com/ckeditor/ckeditor5/v44.0.0/LICENSE.md
        gpl-compatible: true
      js:
        assets/vendor/ckeditor5/block-quote/block-quote.js: { minified: true }
      dependencies:
        - core/ckeditor5
        - core/ckeditor5.translations
    
    ckeditor5.image:
      remote: https://github.com/ckeditor/ckeditor5
      version: "44.0.0"
      license:
        name: GPL-2.0-or-later
        url: https://raw.githubusercontent.com/ckeditor/ckeditor5/v44.0.0/LICENSE.md
        gpl-compatible: true
      js:
        assets/vendor/ckeditor5/image/image.js: { minified: true }
      dependencies:
        - core/ckeditor5
        - core/ckeditor5.translations
    
    ckeditor5.link:
      remote: https://github.com/ckeditor/ckeditor5
      version: "44.0.0"
      license:
        name: GPL-2.0-or-later
        url: https://raw.githubusercontent.com/ckeditor/ckeditor5/v44.0.0/LICENSE.md
        gpl-compatible: true
      js:
        assets/vendor/ckeditor5/link/link.js: { minified: true }
      dependencies:
        - core/ckeditor5
        - core/ckeditor5.translations
    
    ckeditor5.list:
      remote: https://github.com/ckeditor/ckeditor5
      version: "44.0.0"
      license:
        name: GPL-2.0-or-later
        url: https://raw.githubusercontent.com/ckeditor/ckeditor5/v44.0.0/LICENSE.md
        gpl-compatible: true
      js:
        assets/vendor/ckeditor5/list/list.js: { minified: true }
      dependencies:
        - core/ckeditor5
        - core/ckeditor5.translations
    
    ckeditor5.horizontalLine:
      remote: https://github.com/ckeditor/ckeditor5
      version: "44.0.0"
      license:
        name: GPL-2.0-or-later
        url: https://raw.githubusercontent.com/ckeditor/ckeditor5/v44.0.0/LICENSE.md
        gpl-compatible: true
      js:
        assets/vendor/ckeditor5/horizontal-line/horizontal-line.js: { minified: true }
      dependencies:
        - core/ckeditor5
        - core/ckeditor5.translations
    
    ckeditor5.htmlSupport:
      remote: https://github.com/ckeditor/ckeditor5
      version: "44.0.0"
      license:
        name: GPL-2.0-or-later
        url: https://raw.githubusercontent.com/ckeditor/ckeditor5/v44.0.0/LICENSE.md
        gpl-compatible: true
      js:
        assets/vendor/ckeditor5/html-support/html-support.js: { minified: true }
      dependencies:
        - core/ckeditor5
        - core/ckeditor5.translations
    
    ckeditor5.alignment:
      remote: https://github.com/ckeditor/ckeditor5
      version: "44.0.0"
      license:
        name: GPL-2.0-or-later
        url: https://raw.githubusercontent.com/ckeditor/ckeditor5/v44.0.0/LICENSE.md
        gpl-compatible: true
      js:
        assets/vendor/ckeditor5/alignment/alignment.js: { minified: true }
      dependencies:
        - core/ckeditor5
        - core/ckeditor5.translations
    
    ckeditor5.removeFormat:
      remote: https://github.com/ckeditor/ckeditor5
      version: "44.0.0"
      license:
        name: GPL-2.0-or-later
        url: https://raw.githubusercontent.com/ckeditor/ckeditor5/v44.0.0/LICENSE.md
        gpl-compatible: true
      js:
        assets/vendor/ckeditor5/remove-format/remove-format.js: { minified: true }
      dependencies:
        - core/ckeditor5
        - core/ckeditor5.translations
    
    ckeditor5.pasteFromOffice:
      remote: https://github.com/ckeditor/ckeditor5
      version: "44.0.0"
      license:
        name: GPL-2.0-or-later
        url: https://raw.githubusercontent.com/ckeditor/ckeditor5/v44.0.0/LICENSE.md
        gpl-compatible: true
      js:
        assets/vendor/ckeditor5/paste-from-office/paste-from-office.js: { minified: true }
      dependencies:
        - core/ckeditor5
    
    ckeditor5.indent:
      remote: https://github.com/ckeditor/ckeditor5
      version: "44.0.0"
      license:
        name: GPL-2.0-or-later
        url: https://raw.githubusercontent.com/ckeditor/ckeditor5/v44.0.0/LICENSE.md
        gpl-compatible: true
      js:
        assets/vendor/ckeditor5/indent/indent.js: { minified: true }
      dependencies:
        - core/ckeditor5
        - core/ckeditor5.translations
    
    ckeditor5.sourceEditing:
      remote: https://github.com/ckeditor/ckeditor5
      version: "44.0.0"
      license:
        name: GPL-2.0-or-later
        url: https://raw.githubusercontent.com/ckeditor/ckeditor5/v44.0.0/LICENSE.md
        gpl-compatible: true
      js:
        assets/vendor/ckeditor5/source-editing/source-editing.js: { minified: true }
      dependencies:
        - core/ckeditor5
        - core/ckeditor5.translations
    
    ckeditor5.table:
      remote: https://github.com/ckeditor/ckeditor5
      version: "44.0.0"
      license:
        name: GPL-2.0-or-later
        url: https://raw.githubusercontent.com/ckeditor/ckeditor5/v44.0.0/LICENSE.md
        gpl-compatible: true
      js:
        assets/vendor/ckeditor5/table/table.js: { minified: true }
      dependencies:
        - core/ckeditor5
        - core/ckeditor5.translations
    
    ckeditor5.language:
      remote: https://github.com/ckeditor/ckeditor5
      version: "44.0.0"
      license:
        name: GPL-2.0-or-later
        url: https://raw.githubusercontent.com/ckeditor/ckeditor5/v44.0.0/LICENSE.md
        gpl-compatible: true
      js:
        assets/vendor/ckeditor5/language/language.js: { minified: true }
      dependencies:
        - core/ckeditor5
        - core/ckeditor5.translations
    
    ckeditor5.codeBlock:
      remote: https://github.com/ckeditor/ckeditor5
      version: "44.0.0"
      license:
        name: GPL-2.0-or-later
        url: https://raw.githubusercontent.com/ckeditor/ckeditor5/v44.0.0/LICENSE.md
        gpl-compatible: true
      js:
        assets/vendor/ckeditor5/code-block/code-block.js: { minified: true }
      dependencies:
        - core/ckeditor5
        - core/ckeditor5.translations
    
    ckeditor5.showBlocks:
      remote: https://github.com/ckeditor/ckeditor5
      version: "44.0.0"
      license:
        name: GPL-2.0-or-later
        url: https://raw.githubusercontent.com/ckeditor/ckeditor5/v37.1.0/LICENSE.md
        gpl-compatible: true
      js:
        assets/vendor/ckeditor5/show-blocks/show-blocks.js: { minified: true }
      dependencies:
        - core/ckeditor5
        - core/ckeditor5.translations
    
    ckeditor5.style:
      remote: https://github.com/ckeditor/ckeditor5
      version: "44.0.0"
      license:
        name: GPL-2.0-or-later
        url: https://raw.githubusercontent.com/ckeditor/ckeditor5/v44.0.0/LICENSE.md
        gpl-compatible: true
      js:
        assets/vendor/ckeditor5/style/style.js: { minified: true }
      dependencies:
        - core/ckeditor5
        - core/ckeditor5.translations
    
    ckeditor5.translations:
      # No sensible version can be specified, since the translations may change at
      # any time.
      js:
        # This file does not actually exist; it's a placeholder file that will be
        # overridden by ckeditor5_js_alter(), and is here because empty libraries
        # are not allowed.
        assets/vendor/ckeditor5/translation.js: {}
    
    ckeditor5.autoformat:
      remote: https://github.com/ckeditor/ckeditor5
      version: "44.0.0"
      license:
        name: GPL-2.0-or-later
        url: https://raw.githubusercontent.com/ckeditor/ckeditor5/v44.0.0/LICENSE.md
        gpl-compatible: true
      js:
        assets/vendor/ckeditor5/autoformat/autoformat.js: { minified: true }
      dependencies:
        - core/ckeditor5
    
    css.escape:
      version: VERSION
      drupalSettings: {}
      deprecated: The %library_id% asset library is deprecated in Drupal 10.0.0 and will be removed in Drupal 11.0.0. See https://www.drupal.org/node/3280410
    
    drupal:
      version: VERSION
      js:
        misc/drupal.js: { weight: -18 }
        misc/drupal.init.js: { weight: -17 }
      dependencies:
        - core/drupalSettings
      drupalSettings:
        suppressDeprecationErrors: true
    
    drupalSettings:
      version: VERSION
      js:
        # Need to specify a negative weight like drupal.js until
        # https://www.drupal.org/node/1945262 is resolved.
        misc/drupalSettingsLoader.js: { weight: -18 }
      drupalSettings:
        # These placeholder values will be set by system_js_settings_alter().
        path:
          baseUrl: null
          pathPrefix: null
          currentPath: null
          currentPathIsAdmin: null
          isFront: null
          currentLanguage: null
        pluralDelimiter: null
    
    drupal.active-link:
      version: VERSION
      js:
        misc/active-link.js: {}
      dependencies:
        - core/drupal
        - core/drupalSettings
    
    drupal.ajax:
      version: VERSION
      js:
        misc/ajax.js: {}
      css:
        component:
          misc/components/ajax-progress.module.css: { weight: -10 }
      moved_files:
        system/base:
          deprecation_version: 10.3.0
          removed_version: 11.0.0
          deprecation_link: https://www.drupal.org/node/3432346
          css:
            component:
              css/components/ajax-progress.module.css:
                component: misc/components/ajax-progress.module.css
    
      drupalSettings:
        # These placeholder values will be set by system_js_settings_alter().
        ajaxPageState:
          libraries: null
          theme: null
          theme_token: null
        ajaxTrustedUrl: {}
      dependencies:
        - core/jquery
        - core/drupal
        - core/drupalSettings
        - core/drupal.progress
        - core/once
        - core/tabbable
        - core/loadjs
        - core/drupal.message
    
    drupal.announce:
      version: VERSION
      js:
        misc/announce.js: {}
      dependencies:
        - core/drupal
        - core/drupal.debounce
    
    loadjs:
      remote: https://github.com/muicss/loadjs
      version: "4.3.0"
      license:
        name: MIT
        url: https://raw.githubusercontent.com/muicss/loadjs/4.3.0/LICENSE.txt
        gpl-compatible: true
      js:
        assets/vendor/loadjs/loadjs.min.js: { minified: true }
    
    # Common files for libraries that still rely on jQuery UI components.
    # @todo Remove when no longer required by drupal.autocomplete and drupal.dialog.
    internal.jquery_ui:
      version: VERSION
      js:
        # All weights are based on the requirements defined within each file.
        assets/vendor/jquery.ui/ui/labels-min.js: { weight: -11.7, minified: true }
        assets/vendor/jquery.ui/ui/data-min.js: { weight: -11.8, minified: true }
        assets/vendor/jquery.ui/ui/disable-selection-min.js: { weight: -11.8, minified: true }
        assets/vendor/jquery.ui/ui/jquery-patch-min.js: { weight: -11.8, minified: true }
        assets/vendor/jquery.ui/ui/scroll-parent-min.js: { weight: -11.8, minified: true }
        assets/vendor/jquery.ui/ui/unique-id-min.js: { weight: -11.8, minified: true }
        assets/vendor/jquery.ui/ui/focusable-min.js: { weight: -11.8, minified: true }
        assets/vendor/jquery.ui/ui/keycode-min.js: { weight: -11.8, minified: true }
        assets/vendor/jquery.ui/ui/plugin-min.js: { weight: -11.8, minified: true }
        assets/vendor/jquery.ui/ui/widget-min.js: { weight: -11.8, minified: true }
        assets/vendor/jquery.ui/ui/version-min.js: { weight: -11.9, minified: true }
      css:
        component:
          assets/vendor/jquery.ui/themes/base/core.css: { weight: -11.8 }
        theme:
          assets/vendor/jquery.ui/themes/base/theme.css: { weight: -11.8 }
      dependencies:
        - core/jquery
    
    drupal.autocomplete:
      version: VERSION
      js:
        misc/autocomplete.js: { weight: -1 }
        # The remaining JavaScript assets previously came from core/jquery.ui, a
        # deprecated library.
        # All weights are based on the requirements defined within each file.
        # @todo replace with solution in https://drupal.org/node/3076171
        assets/vendor/jquery.ui/ui/widgets/autocomplete-min.js: { weight: -11.7, minified: true }
        assets/vendor/jquery.ui/ui/widgets/menu-min.js: { weight: -11.7, minified: true }
      # All CSS assets previously came from core/jquery.ui, a deprecated library.
      # @todo replace with solution found in https://drupal.org/node/3076171
      css:
        component:
          assets/vendor/jquery.ui/themes/base/autocomplete.css: { weight: -11.7 }
          assets/vendor/jquery.ui/themes/base/menu.css: { weight: -11.7 }
          misc/components/autocomplete-loading.module.css: { weight: -10 }
      moved_files:
        system/base:
          deprecation_version: 10.3.0
          removed_version: 11.0.0
          deprecation_link: https://www.drupal.org/node/3432346
          css:
            component:
              css/components/autocomplete-loading.module.css:
                component: misc/components/autocomplete-loading.module.css
      dependencies:
        - core/jquery
        - core/internal.jquery_ui
        - core/drupal
        - core/drupalSettings
        - core/drupal.ajax
        - core/tabbable.jquery.shim
        - core/drupal.jquery.position
    
    drupal.array.find:
      version: VERSION
      drupalSettings: {}
      deprecated: The %library_id% asset library is deprecated in Drupal 10.0.0 and will be removed in Drupal 11.0.0. See https://www.drupal.org/node/3280410
    
    drupal.array.includes:
      version: VERSION
      drupalSettings: {}
      deprecated: The %library_id% asset library is deprecated in Drupal 10.0.0 and will be removed in Drupal 11.0.0. See https://www.drupal.org/node/3280410
    
    drupal.batch:
      version: VERSION
      js:
        misc/batch.js: { cache: false }
      dependencies:
        - core/jquery
        - core/drupal
        - core/drupalSettings
        - core/drupal.ajax
        - core/drupal.progress
        - core/once
    
    drupal.checkbox:
      version: VERSION
      js:
        misc/checkbox.js: {}
      dependencies:
        - core/drupal
    
    drupal.collapse:
      version: VERSION
      js:
        misc/details-summarized-content.js: {}
        misc/details-aria.js: {}
        misc/details.js: {}
      dependencies:
        - core/jquery
        - core/drupal
        - core/drupal.form
        - core/once
    
    drupal.customevent:
      version: VERSION
      drupalSettings: {}
      deprecated: The %library_id% asset library is deprecated in Drupal 10.0.0 and will be removed in Drupal 11.0.0. See https://www.drupal.org/node/3280410
    
    drupal.debounce:
      version: VERSION
      js:
        misc/debounce.js: {}
      dependencies:
        # @todo Remove Drupal dependency.
        - core/drupal
    
    drupal.dialog:
      version: VERSION
      js:
        misc/dialog/dialog-deprecation.js: {}
        misc/dialog/dialog.js: {}
        misc/dialog/dialog.position.js: {}
        misc/dialog/dialog.jquery-ui.js: {}
        # The remaining JavaScript assets previously came from core/jquery.ui, a
        # deprecated library.
        # All weights are based on the requirements defined within each file.
        # @todo replace with solution in https://drupal.org/node/2158943
        assets/vendor/jquery.ui/ui/widgets/dialog-min.js: { weight: -11.4, minified: true }
        assets/vendor/jquery.ui/ui/widgets/button-min.js: { weight: -11.5, minified: true }
        assets/vendor/jquery.ui/ui/widgets/checkboxradio-min.js: { weight: -11.6, minified: true }
        assets/vendor/jquery.ui/ui/widgets/draggable-min.js: { weight: -11.6, minified: true }
        assets/vendor/jquery.ui/ui/widgets/resizable-min.js: { weight: -11.6, minified: true }
        assets/vendor/jquery.ui/ui/widgets/controlgroup-min.js: { weight: -11.7, minified: true }
        assets/vendor/jquery.ui/ui/form-reset-mixin-min.js: { weight: -11.7, minified: true }
        assets/vendor/jquery.ui/ui/widgets/mouse-min.js: { weight: -11.7, minified: true }
        assets/vendor/tua-body-scroll-lock/tua-bsl.umd.min.js: { weight: -1,  minified: true }
      # All CSS assets previously came from core/jquery.ui, a deprecated library.
      # @todo replace with solution found in https://drupal.org/node/2158943
      css:
        component:
          assets/vendor/jquery.ui/themes/base/dialog.css: { weight: -11.4 }
          assets/vendor/jquery.ui/themes/base/button.css: { weight: -11.5 }
          assets/vendor/jquery.ui/themes/base/checkboxradio.css: { weight: -11.6 }
          assets/vendor/jquery.ui/themes/base/resizable.css: { weight: -11.6 }
          assets/vendor/jquery.ui/themes/base/controlgroup.css: { weight: -11.7 }
      dependencies:
        - core/jquery
        - core/internal.jquery_ui
        - core/drupal
        - core/drupalSettings
        - core/drupal.debounce
        - core/drupal.displace
        - core/tabbable.jquery.shim
        - core/once
        - core/drupal.jquery.position
    
    drupal.dialog.ajax:
      version: VERSION
      js:
        misc/dialog/dialog.ajax.js: {}
      dependencies:
        - core/jquery
        - core/drupal
        - core/drupalSettings
        - core/drupal.ajax
        - core/drupal.dialog
        - core/tabbable
    
    drupal.displace:
      version: VERSION
      js:
        misc/displace.js: {}
      dependencies:
        - core/jquery
        - core/drupal
        - core/drupal.debounce
    
    drupal.dropbutton:
      version: VERSION
      js:
        misc/dropbutton/dropbutton.js: {}
      css:
        component:
          misc/dropbutton/dropbutton.css: {}
      dependencies:
        - core/jquery
        - core/drupal
        - core/drupalSettings
        - core/once
    
    drupal.element.closest:
      version: VERSION
      drupalSettings: {}
      deprecated: The %library_id% asset library is deprecated in Drupal 10.0.0 and will be removed in Drupal 11.0.0. See https://www.drupal.org/node/3280410
    
    drupal.element.matches:
      version: VERSION
      drupalSettings: {}
      deprecated: The %library_id% asset library is deprecated in Drupal 10.0.0 and will be removed in Drupal 11.0.0. See https://www.drupal.org/node/3280410
    
    drupal.entity-form:
      version: VERSION
      js:
        misc/entity-form.js: {}
      dependencies:
        - core/drupal.form
    
    drupal.form:
      version: VERSION
      js:
        misc/form.js: {}
      dependencies:
        - core/jquery
        - core/drupal
        - core/drupal.debounce
        - core/once
    
    drupal.machine-name:
      version: VERSION
      js:
        misc/machine-name.js: {}
      dependencies:
        - core/jquery
        - core/once
        - core/drupal
        - core/drupalSettings
        - core/drupal.form
        - core/transliteration
    
    drupal.message:
      version: VERSION
      js:
        misc/message.js: {}
      dependencies:
        - core/drupal
        - core/drupal.announce
    
    drupal.nodelist.foreach:
      version: VERSION
      drupalSettings: {}
      deprecated: The %library_id% asset library is deprecated in Drupal 10.0.0 and will be removed in Drupal 11.0.0. See https://www.drupal.org/node/3280410
    
    drupal.object.assign:
      version: VERSION
      drupalSettings: {}
      deprecated: The %library_id% asset library is deprecated in Drupal 10.0.0 and will be removed in Drupal 11.0.0. See https://www.drupal.org/node/3280410
    
    drupal.progress:
      version: VERSION
      js:
        misc/progress.js: {}
      css:
        component:
          misc/components/progress.module.css: { weight: -10 }
      moved_files:
        system/base:
          deprecation_version: 10.3.0
          removed_version: 11.0.0
          deprecation_link: https://www.drupal.org/node/3432346
          css:
            component:
              css/components/progress.module.css:
                component: misc/components/progress.module.css
      dependencies:
        - core/drupal
        - core/jquery
        - core/drupalSettings
    
    drupal.states:
      version: VERSION
      js:
        misc/states.js: {}
      dependencies:
        - core/jquery
        - core/drupal
        - core/drupalSettings
        - core/once
    
    drupal.string.includes:
      version: VERSION
      drupalSettings: {}
      deprecated: The %library_id% asset library is deprecated in Drupal 10.0.0 and will be removed in Drupal 11.0.0. See https://www.drupal.org/node/3280410
    
    drupal.tabbingmanager:
      version: VERSION
      js:
        misc/tabbingmanager.js: {}
      dependencies:
        - core/jquery
        - core/drupal
        - core/tabbable
    
    drupal.tabledrag:
      version: VERSION
      js:
        misc/tabledrag.js: { weight: -1 }
      css:
        component:
          misc/components/tabledrag.module.css: { weight: -10 }
          misc/components/tree-child.module.css: { weight: -10 }
      moved_files:
        system/base:
          deprecation_version: 10.3.0
          removed_version: 11.0.0
          deprecation_link: https://www.drupal.org/node/3432346
          css:
            component:
              css/components/tabledrag.module.css:
                component: misc/components/tabledrag.module.css
              css/components/tree-child.module.css:
                component: misc/components/tree-child.module.css
      dependencies:
        - core/jquery
        - core/drupal
        - core/drupalSettings
        - core/once
        - core/drupal.touchevents-test
    
    drupal.tabledrag.ajax:
      version: VERSION
      js:
        misc/tabledrag-ajax.js: { }
      dependencies:
        - core/ajax
        - core/tabledrag
    
    drupal.tableheader:
      version: VERSION
      css:
        component:
          misc/components/sticky-header.module.css: { weight: -10 }
      moved_files:
        system/base:
          deprecation_version: 10.3.0
          removed_version: 11.0.0
          deprecation_link: https://www.drupal.org/node/3440477
          css:
            component:
              css/components/sticky-header.module.css:
                component: misc/components/sticky-header.module.css
          js:
            misc/tableheader.js: false
    
    drupal.tableresponsive:
      version: VERSION
      js:
        misc/tableresponsive.js: {}
      dependencies:
        - core/jquery
        - core/drupal
        - core/once
    
    drupal.tableselect:
      version: VERSION
      js:
        misc/tableselect.js: {}
      dependencies:
        - core/drupal
        - core/drupal.checkbox
        - core/jquery
        - core/once
    
    drupal.time-diff:
      version: VERSION
      js:
        misc/time-diff.js: {}
      dependencies:
        - core/drupal
        - core/once
    
    drupal.timezone:
      version: VERSION
      js:
        misc/timezone.js: {}
      dependencies:
        - core/jquery
        - core/once
        - core/drupal
    
    drupal.touchevents-test:
      header: true
      version: VERSION
      js:
        # Set weight to -21 so it loads alongside Modernizr, the library previously
        # responsible for this detection.
        misc/touchevents-test.js: { weight: -21 }
    
    drupal.vertical-tabs:
      version: VERSION
      js:
        misc/vertical-tabs.js: {}
      css:
        component:
          misc/vertical-tabs.css: {}
      dependencies:
        - core/jquery
        - core/once
        - core/drupal
        - core/drupalSettings
        - core/drupal.form
    
    es6-promise:
      version: VERSION
      drupalSettings: {}
      deprecated: The %library_id% asset library is deprecated in Drupal 10.0.0 and will be removed in Drupal 11.0.0. See https://www.drupal.org/node/3280410
    
    internal.floating-ui:
      remote: https://github.com/floating-ui/floating-ui
      version: "1.1.1"
      license:
        name: MIT
        url: https://github.com/floating-ui/floating-ui/blob/master/LICENSE
        gpl-compatible: true
      js:
        assets/vendor/floating-ui/floating-ui.core.umd.min.js: { minified: true }
        assets/vendor/floating-ui/floating-ui.dom.umd.min.js: { minified: true }
    
    jquery:
      remote: https://github.com/jquery/jquery
      version: "3.7.1"
      license:
        name: MIT
        url: https://raw.githubusercontent.com/jquery/jquery/3.7.1/LICENSE.txt
        gpl-compatible: true
      js:
        assets/vendor/jquery/jquery.min.js: { minified: true, weight: -20 }
    
    internal.jquery.form:
      # Internal library. Do not depend on it outside core nor add new core usage.
      version: "4.3.0"
      license:
        name: GPL-2.0-or-later
        url: https://raw.githubusercontent.com/jquery-form/form/master/LICENSE
        gpl-compatible: true
      js:
        misc/jquery.form.js: {}
      dependencies:
        - core/jquery
    
    internal.shepherd:
      remote: https://github.com/shipshapecode/shepherd
      version: "10.0.1"
      license:
        name: MIT
        url: https://raw.githubusercontent.com/shipshapecode/shepherd/v10.0.1/LICENSE
        gpl-compatible: true
      js:
        assets/vendor/shepherd/shepherd.min.js: { minified: true }
      deprecated: The %library_id% asset library is deprecated in Drupal 10.3.0 and will be removed in Drupal 11.0.0. See https://www.drupal.org/node/3442299
    
    drupal.jquery.position:
      # This is a modified version of jQuery UI position for that does not require
      # any jQuery UI assets, only jQuery. It is provided by core for use with
      # pre-existing libraries that expect the jQuery UI position API.
      version: VERSION
      js:
        misc/position.js: {}
      dependencies:
        - core/jquery
    
    modernizr:
      # Block the page from being loaded until Modernizr is initialized.
      header: true
      remote: https://github.com/Modernizr/Modernizr
      license:
        name: MIT
        url: https://modernizr.com/license/
        gpl-compatible: true
      version: "3.11.7"
      js:
        assets/vendor/modernizr/modernizr.min.js: { preprocess: 0, weight: -21, minified: true }
      deprecated: The %library_id% asset library is deprecated in Drupal 10.1.0 and will be removed in Drupal 11.0.0. See https://www.drupal.org/node/3333253
    
    normalize:
      remote: https://github.com/necolas/normalize.css
      version: "8.0.1"
      license:
        name: MIT
        url: https://raw.githubusercontent.com/necolas/normalize.css/8.0.1/LICENSE.md
        gpl-compatible: true
      css:
        base:
          assets/vendor/normalize-css/normalize.css: { weight: -20 }
    
    once:
      remote: https://git.drupalcode.org/project/once
      version: "1.0.1"
      license:
        name: GPL-2.0-or-later
        url: https://git.drupalcode.org/project/once/-/raw/v1.0.1/LICENSE.md
        gpl-compatible: true
      js:
        assets/vendor/once/once.min.js: { weight: -19, minified: true }
    
    picturefill:
      version: VERSION
      drupalSettings: {}
      deprecated: The %library_id% asset library is deprecated in Drupal 10.0.0 and will be removed in Drupal 11.0.0. See https://www.drupal.org/node/3280410
    
    sortable:
      remote: https://github.com/SortableJS/Sortable
      version: "1.15.6"
      license:
        name: MIT
        url: https://raw.githubusercontent.com/SortableJS/Sortable/1.15.6/LICENSE
        gpl-compatible: true
      js:
        assets/vendor/sortable/Sortable.min.js: { minified: true }
    
    tabbable:
      remote: https://github.com/focus-trap/tabbable
      version: "6.2.0"
      license:
        name: MIT
        url: https://raw.githubusercontent.com/focus-trap/tabbable/v6.2.0/LICENSE
        gpl-compatible: true
      js:
        assets/vendor/tabbable/index.umd.min.js: { weight: -1, minified: true }
    
    transliteration:
      remote: https://github.com/dzcpy/transliteration
      version: "2.3.5"
      license:
        name: MIT
        url: https://raw.githubusercontent.com/dzcpy/transliteration/1.6.5/LICENSE.txt
        gpl-compatible: true
      js:
        assets/vendor/transliteration/bundle.umd.min.js: { minified: true }
    
    tabbable.jquery.shim:
      version: VERSION
      js:
        misc/jquery.tabbable.shim.js: {}
      dependencies:
        - core/drupal
        - core/tabbable
        - core/jquery
      deprecated: The %library_id% asset library is deprecated in Drupal 10.3.0 and will be removed in Drupal 11.0.0. See https://www.drupal.org/node/3441616
    
    internal.underscore:
      # Internal library. Do not depend on it outside core nor add new core usage.
      # The library will be removed as soon as the following issues are fixed:
      #  - https://www.drupal.org/project/drupal/issues/3270395
      #  - https://www.drupal.org/project/drupal/issues/3203920
      #  - https://www.drupal.org/project/drupal/issues/3204011
      #  - https://www.drupal.org/project/drupal/issues/3204015
      remote: https://github.com/jashkenas/underscore
      version: "1.13.7"
      license:
        name: MIT
        url: https://raw.githubusercontent.com/jashkenas/underscore/1.13.7/LICENSE
        gpl-compatible: true
      js:
        assets/vendor/underscore/underscore-min.js: { weight: -20, minified: true }
    
    
    drupal.dialog.off_canvas:
      version: VERSION
      js:
        misc/dialog/off-canvas/js/off-canvas.js: {}
      css:
        base:
          misc/dialog/off-canvas/css/reset.css: {}
          misc/dialog/off-canvas/css/base.css: {}
          misc/dialog/off-canvas/css/utility.css: {}
        component:
          misc/dialog/off-canvas/css/button.css: {}
          misc/dialog/off-canvas/css/drupal.css: {}
          misc/dialog/off-canvas/css/form.css: {}
          misc/dialog/off-canvas/css/table.css: {}
          misc/dialog/off-canvas/css/details.css: {}
          misc/dialog/off-canvas/css/messages.css: {}
          misc/dialog/off-canvas/css/tabledrag.css: {}
          misc/dialog/off-canvas/css/throbber.css: {}
          misc/dialog/off-canvas/css/dropbutton.css: {}
          misc/dialog/off-canvas/css/titlebar.css: {}
          misc/dialog/off-canvas/css/wrapper.css: {}
      dependencies:
        - core/jquery
        - core/once
        - core/drupal
        - core/drupal.ajax
        - core/drupal.announce
        - core/drupal.dialog
        - core/drupal.dialog.ajax
        - core/drupal.touchevents-test
    
    js-cookie:
      remote: https://github.com/js-cookie/js-cookie
      version: "3.0.5"
      license:
        name: MIT
        url: https://raw.githubusercontent.com/js-cookie/js-cookie/v3.0.5/LICENSE
        gpl-compatible: true
      js:
        assets/vendor/js-cookie/js.cookie.min.js: {}
      deprecated: The %library_id% asset library is deprecated in Drupal 10.1.0 and will be removed in Drupal 11.0.0. There is no replacement. See https://www.drupal.org/node/3322720
    
    drupal.fieldListKeyboardNavigation:
      version: VERSION
      js:
        misc/field-list-keyboard-navigation.js: {}
      dependencies:
        - core/drupal
        - core/tabbable
    
Production build 0.71.5 2024