From c44d89e37d4df8320216dc8240e7c7b5f3c82f02 Mon Sep 17 00:00:00 2001
From: Kostia Bohach <57198-_shY@users.noreply.drupalcode.org>
Date: Fri, 21 Jul 2023 14:48:24 +0000
Subject: [PATCH] Issue #3364659 by Utkarsh_33, lauriii, sakthi_dev, bnjmnm,
 tim.plunkett, fadilraj, Chris Matthews, longwave, smustgrave, ckrina: Give
 display modes a description

---
 core/config/schema/core.entity.schema.yml     |  6 ++
 .../Core/Entity/Entity/EntityFormMode.php     |  4 +-
 .../Core/Entity/Entity/EntityViewMode.php     |  4 +-
 .../Core/Entity/EntityDisplayModeBase.php     | 14 ++++
 .../Entity/EntityDisplayModeInterface.php     |  8 ++
 ...re.entity_view_mode.block_content.full.yml |  1 +
 .../core.entity_view_mode.node.print.yml      |  1 +
 .../core.entity_view_mode.comment.full.yml    |  1 +
 .../src/EntityDisplayModeListBuilder.php      |  2 +
 .../src/Form/EntityDisplayModeFormBase.php    |  9 +++
 .../src/Functional/EntityFormModeTest.php     |  2 +
 .../src/Functional/EntityViewModeTest.php     |  2 +
 .../core.entity_view_mode.media.full.yml      |  1 +
 ...e.entity_form_mode.media.media_library.yml |  1 +
 ...e.entity_view_mode.media.media_library.yml |  1 +
 .../core.entity_view_mode.node.full.yml       |  1 +
 .../core.entity_view_mode.node.rss.yml        |  1 +
 ...ore.entity_view_mode.node.search_index.yml |  1 +
 ...re.entity_view_mode.node.search_result.yml |  1 +
 .../core.entity_view_mode.node.teaser.yml     |  1 +
 core/modules/system/system.module             | 28 +++++++
 core/modules/system/system.post_update.php    | 28 +++++++
 ...dateDescriptionConfigurationPostUpdate.php | 43 ++++++++++
 ...re.entity_view_mode.taxonomy_term.full.yml |  1 +
 .../core.entity_form_mode.user.register.yml   |  1 +
 .../core.entity_view_mode.user.compact.yml    |  1 +
 .../core.entity_view_mode.user.full.yml       |  1 +
 ...core.entity_view_mode.media.medium_8_7.yml |  1 +
 ....entity_view_mode.media.responsive_3x2.yml |  1 +
 ...y_view_mode.media.scale_crop_7_3_large.yml |  1 +
 .../core.entity_view_mode.media.square.yml    |  1 +
 .../core.entity_view_mode.node.card.yml       |  1 +
 ...core.entity_view_mode.node.card_common.yml |  1 +
 ....entity_view_mode.node.card_common_alt.yml |  1 +
 .../Rest/EntityFormModeResourceTestBase.php   |  2 +
 .../Rest/EntityViewModeResourceTestBase.php   |  2 +
 .../testing_config_install.tar.gz             | 78 ++++++++-----------
 37 files changed, 207 insertions(+), 47 deletions(-)
 create mode 100644 core/modules/system/tests/src/Functional/Update/UpdateDescriptionConfigurationPostUpdate.php

diff --git a/core/config/schema/core.entity.schema.yml b/core/config/schema/core.entity.schema.yml
index d1adfd9fc2ca..9680b701298b 100644
--- a/core/config/schema/core.entity.schema.yml
+++ b/core/config/schema/core.entity.schema.yml
@@ -10,6 +10,9 @@ core.entity_view_mode.*.*:
     label:
       type: label
       label: 'The human-readable name of the view mode'
+    description:
+      type: text
+      label: 'Description'
     targetEntityType:
       type: string
       label: 'Target entity type'
@@ -27,6 +30,9 @@ core.entity_form_mode.*.*:
     label:
       type: label
       label: 'Label'
+    description:
+      type: text
+      label: 'Description'
     targetEntityType:
       type: string
       label: 'Target entity type'
diff --git a/core/lib/Drupal/Core/Entity/Entity/EntityFormMode.php b/core/lib/Drupal/Core/Entity/Entity/EntityFormMode.php
index 26e6782f081e..3a57641d66f0 100644
--- a/core/lib/Drupal/Core/Entity/Entity/EntityFormMode.php
+++ b/core/lib/Drupal/Core/Entity/Entity/EntityFormMode.php
@@ -27,11 +27,13 @@
  *   label = @Translation("Form mode"),
  *   entity_keys = {
  *     "id" = "id",
- *     "label" = "label"
+ *     "label" = "label",
+ *     "description" = "description",
  *   },
  *   config_export = {
  *     "id",
  *     "label",
+ *     "description",
  *     "targetEntityType",
  *     "cache",
  *   }
diff --git a/core/lib/Drupal/Core/Entity/Entity/EntityViewMode.php b/core/lib/Drupal/Core/Entity/Entity/EntityViewMode.php
index 6ec26db183a8..21bcd8888f95 100644
--- a/core/lib/Drupal/Core/Entity/Entity/EntityViewMode.php
+++ b/core/lib/Drupal/Core/Entity/Entity/EntityViewMode.php
@@ -29,11 +29,13 @@
  *   label = @Translation("View mode"),
  *   entity_keys = {
  *     "id" = "id",
- *     "label" = "label"
+ *     "label" = "label",
+ *     "description" = "description",
  *   },
  *   config_export = {
  *     "id",
  *     "label",
+ *     "description",
  *     "targetEntityType",
  *     "cache",
  *   }
diff --git a/core/lib/Drupal/Core/Entity/EntityDisplayModeBase.php b/core/lib/Drupal/Core/Entity/EntityDisplayModeBase.php
index a611487fa1c7..0e21b7f6d49a 100644
--- a/core/lib/Drupal/Core/Entity/EntityDisplayModeBase.php
+++ b/core/lib/Drupal/Core/Entity/EntityDisplayModeBase.php
@@ -24,6 +24,13 @@ abstract class EntityDisplayModeBase extends ConfigEntityBase implements EntityD
    */
   protected $label;
 
+  /**
+   * Description of the form or view mode.
+   *
+   * @var string|null
+   */
+  protected ?string $description;
+
   /**
    * The entity type this form or view mode is used for.
    *
@@ -119,4 +126,11 @@ protected function urlRouteParameters($rel) {
     return $uri_route_parameters;
   }
 
+  /**
+   * {@inheritdoc}
+   */
+  public function getDescription(): string {
+    return $this->description ?? '';
+  }
+
 }
diff --git a/core/lib/Drupal/Core/Entity/EntityDisplayModeInterface.php b/core/lib/Drupal/Core/Entity/EntityDisplayModeInterface.php
index e7a2a52f00e9..6b5cdecfdfa9 100644
--- a/core/lib/Drupal/Core/Entity/EntityDisplayModeInterface.php
+++ b/core/lib/Drupal/Core/Entity/EntityDisplayModeInterface.php
@@ -27,4 +27,12 @@ public function getTargetType();
    */
   public function setTargetType($target_entity_type);
 
+  /**
+   * Gets the display mode description.
+   *
+   * @return string
+   *   The display mode description.
+   */
+  public function getDescription(): string;
+
 }
diff --git a/core/modules/block_content/config/install/core.entity_view_mode.block_content.full.yml b/core/modules/block_content/config/install/core.entity_view_mode.block_content.full.yml
index 30115ee4eb00..a1d5b097cc23 100644
--- a/core/modules/block_content/config/install/core.entity_view_mode.block_content.full.yml
+++ b/core/modules/block_content/config/install/core.entity_view_mode.block_content.full.yml
@@ -5,5 +5,6 @@ dependencies:
     - block_content
 id: block_content.full
 label: Full
+description: ''
 targetEntityType: block_content
 cache: true
diff --git a/core/modules/book/config/optional/core.entity_view_mode.node.print.yml b/core/modules/book/config/optional/core.entity_view_mode.node.print.yml
index d695ac52d74a..fd8587525b09 100644
--- a/core/modules/book/config/optional/core.entity_view_mode.node.print.yml
+++ b/core/modules/book/config/optional/core.entity_view_mode.node.print.yml
@@ -8,5 +8,6 @@ dependencies:
       - book
 id: node.print
 label: Print
+description: ''
 targetEntityType: node
 cache: true
diff --git a/core/modules/comment/config/install/core.entity_view_mode.comment.full.yml b/core/modules/comment/config/install/core.entity_view_mode.comment.full.yml
index b2013dd09123..050a69e8d17d 100644
--- a/core/modules/comment/config/install/core.entity_view_mode.comment.full.yml
+++ b/core/modules/comment/config/install/core.entity_view_mode.comment.full.yml
@@ -5,5 +5,6 @@ dependencies:
     - comment
 id: comment.full
 label: 'Full comment'
+description: ''
 targetEntityType: comment
 cache: true
diff --git a/core/modules/field_ui/src/EntityDisplayModeListBuilder.php b/core/modules/field_ui/src/EntityDisplayModeListBuilder.php
index 1dc361eb4820..db6132b96a5a 100644
--- a/core/modules/field_ui/src/EntityDisplayModeListBuilder.php
+++ b/core/modules/field_ui/src/EntityDisplayModeListBuilder.php
@@ -60,6 +60,7 @@ public static function createInstance(ContainerInterface $container, EntityTypeI
    */
   public function buildHeader() {
     $header['label'] = $this->t('Name');
+    $header['description'] = $this->t('Description');
     return $header + parent::buildHeader();
   }
 
@@ -68,6 +69,7 @@ public function buildHeader() {
    */
   public function buildRow(EntityInterface $entity) {
     $row['label'] = $entity->label();
+    $row['description'] = $entity->getDescription();
     return $row + parent::buildRow($entity);
   }
 
diff --git a/core/modules/field_ui/src/Form/EntityDisplayModeFormBase.php b/core/modules/field_ui/src/Form/EntityDisplayModeFormBase.php
index 4d1538f55db7..69525f0ae2ef 100644
--- a/core/modules/field_ui/src/Form/EntityDisplayModeFormBase.php
+++ b/core/modules/field_ui/src/Form/EntityDisplayModeFormBase.php
@@ -89,6 +89,15 @@ public function form(array $form, FormStateInterface $form_state) {
       '#default_value' => $this->entity->label(),
     ];
 
+    $form['description'] = [
+      '#title' => $this->t('Description'),
+      '#type' => 'textarea',
+      '#default_value' => $this->entity->getDescription(),
+      '#description' => $this->t('This text will be displayed on the @mode_label list page.', [
+        '@mode_label' => $this->entity->getEntityType()->getPluralLabel(),
+      ]),
+    ];
+
     $form['id'] = [
       '#type' => 'machine_name',
       '#description' => $this->t('A unique machine-readable name. Can only contain lowercase letters, numbers, and underscores.'),
diff --git a/core/modules/jsonapi/tests/src/Functional/EntityFormModeTest.php b/core/modules/jsonapi/tests/src/Functional/EntityFormModeTest.php
index 91804ab36490..fb8ac77bbd18 100644
--- a/core/modules/jsonapi/tests/src/Functional/EntityFormModeTest.php
+++ b/core/modules/jsonapi/tests/src/Functional/EntityFormModeTest.php
@@ -55,6 +55,7 @@ protected function createEntity() {
     $entity_form_mode = EntityFormMode::create([
       'id' => 'user.test',
       'label' => 'Test',
+      'description' => '',
       'targetEntityType' => 'user',
     ]);
     $entity_form_mode->save();
@@ -91,6 +92,7 @@ protected function getExpectedDocument() {
               'user',
             ],
           ],
+          'description' => '',
           'label' => 'Test',
           'langcode' => 'en',
           'status' => TRUE,
diff --git a/core/modules/jsonapi/tests/src/Functional/EntityViewModeTest.php b/core/modules/jsonapi/tests/src/Functional/EntityViewModeTest.php
index 27bf64d45c21..8a8cc816ae54 100644
--- a/core/modules/jsonapi/tests/src/Functional/EntityViewModeTest.php
+++ b/core/modules/jsonapi/tests/src/Functional/EntityViewModeTest.php
@@ -55,6 +55,7 @@ protected function createEntity() {
     $entity_view_mode = EntityViewMode::create([
       'id' => 'user.test',
       'label' => 'Test',
+      'description' => '',
       'targetEntityType' => 'user',
     ]);
     $entity_view_mode->save();
@@ -93,6 +94,7 @@ protected function getExpectedDocument() {
           ],
           'label' => 'Test',
           'langcode' => 'en',
+          'description' => '',
           'status' => TRUE,
           'targetEntityType' => 'user',
           'drupal_internal__id' => 'user.test',
diff --git a/core/modules/media/config/install/core.entity_view_mode.media.full.yml b/core/modules/media/config/install/core.entity_view_mode.media.full.yml
index dfdbb3a7d620..252039162b1c 100644
--- a/core/modules/media/config/install/core.entity_view_mode.media.full.yml
+++ b/core/modules/media/config/install/core.entity_view_mode.media.full.yml
@@ -5,5 +5,6 @@ dependencies:
     - media
 id: media.full
 label: 'Full content'
+description: ''
 targetEntityType: media
 cache: true
diff --git a/core/modules/media_library/config/install/core.entity_form_mode.media.media_library.yml b/core/modules/media_library/config/install/core.entity_form_mode.media.media_library.yml
index d96dd313f8b0..ca9b3dacf967 100644
--- a/core/modules/media_library/config/install/core.entity_form_mode.media.media_library.yml
+++ b/core/modules/media_library/config/install/core.entity_form_mode.media.media_library.yml
@@ -8,5 +8,6 @@ dependencies:
       - media_library
 id: media.media_library
 label: 'Media library'
+description: ''
 targetEntityType: media
 cache: true
diff --git a/core/modules/media_library/config/install/core.entity_view_mode.media.media_library.yml b/core/modules/media_library/config/install/core.entity_view_mode.media.media_library.yml
index d96dd313f8b0..ca9b3dacf967 100644
--- a/core/modules/media_library/config/install/core.entity_view_mode.media.media_library.yml
+++ b/core/modules/media_library/config/install/core.entity_view_mode.media.media_library.yml
@@ -8,5 +8,6 @@ dependencies:
       - media_library
 id: media.media_library
 label: 'Media library'
+description: ''
 targetEntityType: media
 cache: true
diff --git a/core/modules/node/config/install/core.entity_view_mode.node.full.yml b/core/modules/node/config/install/core.entity_view_mode.node.full.yml
index f52a51dc3d84..50fcac1c0d25 100644
--- a/core/modules/node/config/install/core.entity_view_mode.node.full.yml
+++ b/core/modules/node/config/install/core.entity_view_mode.node.full.yml
@@ -5,5 +5,6 @@ dependencies:
     - node
 id: node.full
 label: 'Full content'
+description: ''
 targetEntityType: node
 cache: true
diff --git a/core/modules/node/config/install/core.entity_view_mode.node.rss.yml b/core/modules/node/config/install/core.entity_view_mode.node.rss.yml
index 6418e4758e6c..7bbea72f00c2 100644
--- a/core/modules/node/config/install/core.entity_view_mode.node.rss.yml
+++ b/core/modules/node/config/install/core.entity_view_mode.node.rss.yml
@@ -5,5 +5,6 @@ dependencies:
     - node
 id: node.rss
 label: RSS
+description: ''
 targetEntityType: node
 cache: true
diff --git a/core/modules/node/config/install/core.entity_view_mode.node.search_index.yml b/core/modules/node/config/install/core.entity_view_mode.node.search_index.yml
index 7d082be3c3e0..e2a094ed4478 100644
--- a/core/modules/node/config/install/core.entity_view_mode.node.search_index.yml
+++ b/core/modules/node/config/install/core.entity_view_mode.node.search_index.yml
@@ -5,5 +5,6 @@ dependencies:
     - node
 id: node.search_index
 label: 'Search index'
+description: ''
 targetEntityType: node
 cache: true
diff --git a/core/modules/node/config/install/core.entity_view_mode.node.search_result.yml b/core/modules/node/config/install/core.entity_view_mode.node.search_result.yml
index 73252b1369a5..5e034c6f8d74 100644
--- a/core/modules/node/config/install/core.entity_view_mode.node.search_result.yml
+++ b/core/modules/node/config/install/core.entity_view_mode.node.search_result.yml
@@ -5,5 +5,6 @@ dependencies:
     - node
 id: node.search_result
 label: 'Search result highlighting input'
+description: ''
 targetEntityType: node
 cache: true
diff --git a/core/modules/node/config/install/core.entity_view_mode.node.teaser.yml b/core/modules/node/config/install/core.entity_view_mode.node.teaser.yml
index dcde72c4c32d..7772fa778e86 100644
--- a/core/modules/node/config/install/core.entity_view_mode.node.teaser.yml
+++ b/core/modules/node/config/install/core.entity_view_mode.node.teaser.yml
@@ -5,5 +5,6 @@ dependencies:
     - node
 id: node.teaser
 label: Teaser
+description: ''
 targetEntityType: node
 cache: true
diff --git a/core/modules/system/system.module b/core/modules/system/system.module
index aeeee140daf2..44253888c337 100644
--- a/core/modules/system/system.module
+++ b/core/modules/system/system.module
@@ -15,6 +15,8 @@
 use Drupal\Core\Database\Query\AlterableInterface;
 use Drupal\Core\Datetime\TimeZoneFormHelper;
 use Drupal\Core\Entity\ContentEntityTypeInterface;
+use Drupal\Core\Entity\EntityViewModeInterface;
+use Drupal\Core\Entity\EntityFormModeInterface;
 use Drupal\Core\Entity\Display\EntityViewDisplayInterface;
 use Drupal\Core\Extension\Extension;
 use Drupal\Core\Field\Plugin\Field\FieldFormatter\TimestampFormatter;
@@ -1396,3 +1398,29 @@ function system_entity_view_display_presave(EntityViewDisplayInterface $entity_v
     }
   }
 }
+
+/**
+ * Implements hook_ENTITY_TYPE_presave() for view mode entities.
+ *
+ * Sets the description property to an empty string.
+ *
+ * @todo Remove this BC layer in drupal:11.0.0.
+ */
+function system_entity_view_mode_presave(EntityViewModeInterface $entity_view_mode) {
+  if ($entity_view_mode->get('description') === NULL) {
+    $entity_view_mode->set('description', '');
+  }
+}
+
+/**
+ * Implements hook_ENTITY_TYPE_presave() for form mode entities.
+ *
+ * Sets the description property to an empty string.
+ *
+ * @todo Remove this BC layer in drupal:11.0.0.
+ */
+function system_entity_form_mode_presave(EntityFormModeInterface $entity_form_mode) {
+  if ($entity_form_mode->get('description') === NULL) {
+    $entity_form_mode->set('description', '');
+  }
+}
diff --git a/core/modules/system/system.post_update.php b/core/modules/system/system.post_update.php
index bbab4e209866..850def033ed0 100644
--- a/core/modules/system/system.post_update.php
+++ b/core/modules/system/system.post_update.php
@@ -7,6 +7,8 @@
 
 use Drupal\Core\Config\Entity\ConfigEntityUpdater;
 use Drupal\Core\Entity\Display\EntityViewDisplayInterface;
+use Drupal\Core\Entity\EntityViewModeInterface;
+use Drupal\Core\Entity\EntityFormModeInterface;
 use Drupal\Core\Field\Plugin\Field\FieldFormatter\TimestampFormatter;
 
 /**
@@ -118,3 +120,29 @@ function system_post_update_remove_asset_entries() {
 function system_post_update_remove_asset_query_string() {
   \Drupal::state()->delete('system.css_js_query_string');
 }
+
+/**
+ * Update description for view modes.
+ */
+function system_post_update_add_description_to_entity_view_mode(array &$sandbox = NULL): void {
+  $config_entity_updater = \Drupal::classResolver(ConfigEntityUpdater::class);
+
+  $callback = function (EntityViewModeInterface $entity_view_mode) {
+    return $entity_view_mode->get('description') === NULL;
+  };
+
+  $config_entity_updater->update($sandbox, 'entity_view_mode', $callback);
+}
+
+/**
+ * Update description for form modes.
+ */
+function system_post_update_add_description_to_entity_form_mode(array &$sandbox = NULL): void {
+  $config_entity_updater = \Drupal::classResolver(ConfigEntityUpdater::class);
+
+  $callback = function (EntityFormModeInterface $entity_form_mode) {
+    return $entity_form_mode->get('description') === NULL;
+  };
+
+  $config_entity_updater->update($sandbox, 'entity_form_mode', $callback);
+}
diff --git a/core/modules/system/tests/src/Functional/Update/UpdateDescriptionConfigurationPostUpdate.php b/core/modules/system/tests/src/Functional/Update/UpdateDescriptionConfigurationPostUpdate.php
new file mode 100644
index 000000000000..efd5c74a0b91
--- /dev/null
+++ b/core/modules/system/tests/src/Functional/Update/UpdateDescriptionConfigurationPostUpdate.php
@@ -0,0 +1,43 @@
+<?php
+
+namespace Drupal\Tests\system\Functional\Update;
+
+use Drupal\Core\Entity\Entity\EntityViewMode;
+use Drupal\FunctionalTests\Update\UpdatePathTestBase;
+
+/**
+ * @covers system_post_update_add_description_to_entity_view_mode
+ * @covers system_post_update_add_description_to_entity_form_mode
+ *
+ * @group Update
+ */
+class UpdateDescriptionConfigurationPostUpdate extends UpdatePathTestBase {
+
+  /**
+   * {@inheritdoc}
+   */
+  protected $defaultTheme = 'stark';
+
+  /**
+   * {@inheritdoc}
+   */
+  protected function setDatabaseDumpFiles() {
+    $this->databaseDumpFiles = [
+      __DIR__ . '/../../../../../system/tests/fixtures/update/drupal-9.4.0.filled.standard.php.gz',
+    ];
+  }
+
+  /**
+   * Ensure that an empty string is added as a default value for description.
+   */
+  public function testUpdateDescriptionConfigurationPostUpdate(): void {
+    $view_mode = EntityViewMode::load('block_content.full');
+    $this->assertNull($view_mode->get('description'));
+
+    $this->runUpdates();
+
+    $view_mode = EntityViewMode::load('block_content.full');
+    $this->assertSame('', $view_mode->get('description'));
+  }
+
+}
diff --git a/core/modules/taxonomy/config/install/core.entity_view_mode.taxonomy_term.full.yml b/core/modules/taxonomy/config/install/core.entity_view_mode.taxonomy_term.full.yml
index 3a1f31314da0..a0c57a2abec0 100644
--- a/core/modules/taxonomy/config/install/core.entity_view_mode.taxonomy_term.full.yml
+++ b/core/modules/taxonomy/config/install/core.entity_view_mode.taxonomy_term.full.yml
@@ -5,5 +5,6 @@ dependencies:
     - taxonomy
 id: taxonomy_term.full
 label: 'Taxonomy term page'
+description: ''
 targetEntityType: taxonomy_term
 cache: true
diff --git a/core/modules/user/config/install/core.entity_form_mode.user.register.yml b/core/modules/user/config/install/core.entity_form_mode.user.register.yml
index 32c026b99238..7da46dfe9f7a 100644
--- a/core/modules/user/config/install/core.entity_form_mode.user.register.yml
+++ b/core/modules/user/config/install/core.entity_form_mode.user.register.yml
@@ -5,5 +5,6 @@ dependencies:
     - user
 id: user.register
 label: Register
+description: ''
 targetEntityType: user
 cache: true
diff --git a/core/modules/user/config/install/core.entity_view_mode.user.compact.yml b/core/modules/user/config/install/core.entity_view_mode.user.compact.yml
index 0c41655c2027..b5de065ecafc 100644
--- a/core/modules/user/config/install/core.entity_view_mode.user.compact.yml
+++ b/core/modules/user/config/install/core.entity_view_mode.user.compact.yml
@@ -5,5 +5,6 @@ dependencies:
     - user
 id: user.compact
 label: Compact
+description: ''
 targetEntityType: user
 cache: true
diff --git a/core/modules/user/config/install/core.entity_view_mode.user.full.yml b/core/modules/user/config/install/core.entity_view_mode.user.full.yml
index 5574ab95bf47..e98a65036e37 100644
--- a/core/modules/user/config/install/core.entity_view_mode.user.full.yml
+++ b/core/modules/user/config/install/core.entity_view_mode.user.full.yml
@@ -5,5 +5,6 @@ dependencies:
     - user
 id: user.full
 label: 'User account'
+description: ''
 targetEntityType: user
 cache: true
diff --git a/core/profiles/demo_umami/config/install/core.entity_view_mode.media.medium_8_7.yml b/core/profiles/demo_umami/config/install/core.entity_view_mode.media.medium_8_7.yml
index cd2dcb6615bc..3df4b5f3ca41 100644
--- a/core/profiles/demo_umami/config/install/core.entity_view_mode.media.medium_8_7.yml
+++ b/core/profiles/demo_umami/config/install/core.entity_view_mode.media.medium_8_7.yml
@@ -5,5 +5,6 @@ dependencies:
     - media
 id: media.medium_8_7
 label: 'Medium 8:7'
+description: ''
 targetEntityType: media
 cache: true
diff --git a/core/profiles/demo_umami/config/install/core.entity_view_mode.media.responsive_3x2.yml b/core/profiles/demo_umami/config/install/core.entity_view_mode.media.responsive_3x2.yml
index ec295b54f0e8..c8b1b830dd7e 100644
--- a/core/profiles/demo_umami/config/install/core.entity_view_mode.media.responsive_3x2.yml
+++ b/core/profiles/demo_umami/config/install/core.entity_view_mode.media.responsive_3x2.yml
@@ -5,5 +5,6 @@ dependencies:
     - media
 id: media.responsive_3x2
 label: 'Responsive 3x2'
+description: ''
 targetEntityType: media
 cache: true
diff --git a/core/profiles/demo_umami/config/install/core.entity_view_mode.media.scale_crop_7_3_large.yml b/core/profiles/demo_umami/config/install/core.entity_view_mode.media.scale_crop_7_3_large.yml
index 89b4a7c273ba..5e148762e5b7 100644
--- a/core/profiles/demo_umami/config/install/core.entity_view_mode.media.scale_crop_7_3_large.yml
+++ b/core/profiles/demo_umami/config/install/core.entity_view_mode.media.scale_crop_7_3_large.yml
@@ -5,5 +5,6 @@ dependencies:
     - media
 id: media.scale_crop_7_3_large
 label: 'Scale crop 7:3 large'
+description: ''
 targetEntityType: media
 cache: true
diff --git a/core/profiles/demo_umami/config/install/core.entity_view_mode.media.square.yml b/core/profiles/demo_umami/config/install/core.entity_view_mode.media.square.yml
index 029b0a7ed0ed..18974789e9e6 100644
--- a/core/profiles/demo_umami/config/install/core.entity_view_mode.media.square.yml
+++ b/core/profiles/demo_umami/config/install/core.entity_view_mode.media.square.yml
@@ -5,5 +5,6 @@ dependencies:
     - media
 id: media.square
 label: Square
+description: ''
 targetEntityType: media
 cache: true
diff --git a/core/profiles/demo_umami/config/install/core.entity_view_mode.node.card.yml b/core/profiles/demo_umami/config/install/core.entity_view_mode.node.card.yml
index 8ab1bcb9935f..16f3c6db7f52 100644
--- a/core/profiles/demo_umami/config/install/core.entity_view_mode.node.card.yml
+++ b/core/profiles/demo_umami/config/install/core.entity_view_mode.node.card.yml
@@ -5,5 +5,6 @@ dependencies:
     - node
 id: node.card
 label: Card
+description: ''
 targetEntityType: node
 cache: true
diff --git a/core/profiles/demo_umami/config/install/core.entity_view_mode.node.card_common.yml b/core/profiles/demo_umami/config/install/core.entity_view_mode.node.card_common.yml
index b5a57a2d7762..55ddb4d8ed72 100644
--- a/core/profiles/demo_umami/config/install/core.entity_view_mode.node.card_common.yml
+++ b/core/profiles/demo_umami/config/install/core.entity_view_mode.node.card_common.yml
@@ -5,5 +5,6 @@ dependencies:
     - node
 id: node.card_common
 label: 'Card common'
+description: ''
 targetEntityType: node
 cache: true
diff --git a/core/profiles/demo_umami/config/install/core.entity_view_mode.node.card_common_alt.yml b/core/profiles/demo_umami/config/install/core.entity_view_mode.node.card_common_alt.yml
index 534654405577..fd91cc6d4260 100644
--- a/core/profiles/demo_umami/config/install/core.entity_view_mode.node.card_common_alt.yml
+++ b/core/profiles/demo_umami/config/install/core.entity_view_mode.node.card_common_alt.yml
@@ -5,5 +5,6 @@ dependencies:
     - node
 id: node.card_common_alt
 label: 'Card common alt'
+description: ''
 targetEntityType: node
 cache: true
diff --git a/core/tests/Drupal/FunctionalTests/Rest/EntityFormModeResourceTestBase.php b/core/tests/Drupal/FunctionalTests/Rest/EntityFormModeResourceTestBase.php
index 93d734a7d8e1..60a55e92b2d9 100644
--- a/core/tests/Drupal/FunctionalTests/Rest/EntityFormModeResourceTestBase.php
+++ b/core/tests/Drupal/FunctionalTests/Rest/EntityFormModeResourceTestBase.php
@@ -38,6 +38,7 @@ protected function createEntity() {
     $entity_form_mode = EntityFormMode::create([
       'id' => 'user.test',
       'label' => 'Test',
+      'description' => '',
       'targetEntityType' => 'user',
     ]);
     $entity_form_mode->save();
@@ -57,6 +58,7 @@ protected function getExpectedNormalizedEntity() {
       ],
       'id' => 'user.test',
       'label' => 'Test',
+      'description' => '',
       'langcode' => 'en',
       'status' => TRUE,
       'targetEntityType' => 'user',
diff --git a/core/tests/Drupal/FunctionalTests/Rest/EntityViewModeResourceTestBase.php b/core/tests/Drupal/FunctionalTests/Rest/EntityViewModeResourceTestBase.php
index 86876e5b6f4e..fc240a568eb8 100644
--- a/core/tests/Drupal/FunctionalTests/Rest/EntityViewModeResourceTestBase.php
+++ b/core/tests/Drupal/FunctionalTests/Rest/EntityViewModeResourceTestBase.php
@@ -38,6 +38,7 @@ protected function createEntity() {
     $entity_view_mode = EntityViewMode::create([
       'id' => 'user.test',
       'label' => 'Test',
+      'description' => '',
       'targetEntityType' => 'user',
     ]);
     $entity_view_mode->save();
@@ -55,6 +56,7 @@ protected function getExpectedNormalizedEntity() {
           'user',
         ],
       ],
+      'description' => '',
       'id' => 'user.test',
       'label' => 'Test',
       'langcode' => 'en',
diff --git a/core/tests/fixtures/config_install/testing_config_install.tar.gz b/core/tests/fixtures/config_install/testing_config_install.tar.gz
index 38fc20382c7b..3905e7beb171 100644
--- a/core/tests/fixtures/config_install/testing_config_install.tar.gz
+++ b/core/tests/fixtures/config_install/testing_config_install.tar.gz
@@ -1,45 +1,33 @@
-‹������ì]W꼶€×µ¿‚»u³³Þ6MšÖ;>DQAAPqì1:’4…B[°-_îqþûI[ÖzY¬wŸÓéZBlK™Ïœ33Í,óF|øƒ¥¿£˜†C‹Ú¾üXøÞ·C‰"EG(ù«¬¼ý›ˆ*¾©HUU]W‰
-¿)*FDýVPv_È$ùÔ…Â7‡2—Ÿ÷Ûõþ©L&®}Z ºÆ‘¡1 ³„�!ªJ©A Fñ=>²ÅiÁ	OäU‹'Ñi!'âÄcØ"ஈNO
->
-·—l
- -¢Xø?|L~¤Ê%Ûý‘=ñÄûòEÜþº5QÇ‹Â´Éx±•íÜêÓ¨Z¨<K䂝⥋þ¢m”àПç.Ÿ˜r˯îÇ•€â'É}£â'ÙÁ–‡	EÏò•kFCËqÃ(>™	·×OêÉ8Må[ái!˜xÞÉØ›ô\Ùý{vêVòᬔ¢ÓtçßO"ÇnÐK¯GräÏ{
-eÂ;-“×n‡4–ç²j·l7{tqZ˜º‘Ë<!ßXŸÍë¥óÄ4Ù‡š^©q,¯"7Å|LÛ¢žg¹²ŸüÂêEâ$Ý•ë¹±Üí
-…ÿ9ùÓz˜ËŸ¶eÿY(5Fjîá\Àû¯¬mØ*0·ÿǐÌþs[تÊ104…Ä)†nê@eX‡*EµñOØÿCYw§uõØ(™jg^™žÕ‡/å–ñTŠèÌ)ëÕgæØ‹GL¸Zo‚ÞX÷•làû‚JÃùjÙ•Ï,ûÒ\¯v–™ì-«þq¯W‹þýNZÝÂêÝïÛ&ý»òýcs>‰„ɶ¼Qo´¼ÌoZš|²ÍÖHv¦Á²}?¿Í¿Ü¤žEy⃢ƒ]üëÜàŸÈà#çÿ’ñÏ¢:†i�ˆ±äé0!à6£QUÁ†ùüÿ4è·Žã7A±t÷‚ãêàÁ¿Z¤!¢IP	ÎÜét4.ƒÒÀ3®go@§©Ó.‹`ÈõSàßííÜ?곆ý6t}.
-i\WXöÚúäÒü©ˆì3þc
Cÿü£-ÿOT-çÿ’ñ1Š†`b…DPÌ0°È‘ƒ~'ÿ(:cg^«‹£+¿ç
	{íS;‹8»¬.nç©ÎŒËîÿ©¦îI?ÜAº¯/ÙÛã•ü6eÑž˜'
©•xõÞ‘§i¯[Žk>â¿wÜü¢cu3ÿƒaÎÿQ$ãß0lÓ10Œ Ì4`R¦.Ö
Ê›¿ÿËð4ü£€šÞ]ðPâóùU½VmՍˆM¬úànÈÇZcpÞîC¼Eм¨½3
-½ŸËí|j’óÎv÷‰EØê°Ê£ syÔÂ$–,G4“ðƒPࣔNz½Že¶ù÷EÑž8”óÿ¶ÿúÖø’œÿcHÆ?e›XÃ2à—F�A‡S`¨ëq
-±FÿÀø×öPsÆõ«¹5Ÿ—Úü¶UµrÏ:ê¾ë]xF)êÚÕ¨øƬø“ñ¿¤ÞKÈöÞI€Õ¿Nlôz“H¯Uaõþþi€#mþÇò­Ø=q(°“uÓÿë8ÿG–ñ?$\¥¶
-06¥ÿGÔ« Ü1UªHäwÆÿÆbWý!|œ‹…˜v^Pp‹§NHJñ¼ù\.Õ7èßÃÚ¥Ú{úZS÷ÿµOA_ïêÆ·:¬ñn»q(äçJûüÇû[²Í<ytþßö˜ÿU¶æ1Rrþ!Ëü?Ó‘"4‚M€®S˜hXŽ°‘&ÍÃAæSå:`„0/߸ƒk»¤‚NïqÞ4©RQ­±mL獳¾SæOÜtûƒèáÈÎâc„fuӝï5ÿ»ìùjIn’±Â‰„ß9ï›\ݶžXÎ(ôiüCöó•Öàp`—ÿ×tòMÕ4¨Ê_*Iù'$ÿ"Ëû?hRƒ@פëGDÕ€arCš†5…ëAÚ¾ügzõ5¶dèÝáÚÃc8{¹§·ãîSµé3>7:°ZU‰vã„q;šN¦Y¾¥”'+Ÿ[M•5qº‰î&C1öÜï'	XÂ^ž×˜Æ±L+ÿ*øÙu¥Y¹8•ÝþôeÿÇÈÿýØ—¦G6Ä® ÀnþÕ
þ‰‚óùÿ£HÆ¿pTMeÅ! ¡S`2N€ BM1çìüæNÙ›=ÕZ5›Oëá�Cþ4¯œwîG7µ3í·Ö“Wdü¿SÊW#pÑ®_*ËÖOÑïØÿnKìO£›œü
ùœÿãåÿ4mÓÿËq€žóYŽÿ”#Uò¯@€LGTÓ¤ÿw„‰ Â°ü’ÉÿÙMÓ‹;Í[¿ÇõN†ü=º–'Êg—<q•v¨ÐžÜöð=ÿÛìÆ}Š}Nû.ù˜Äýƒ€_à)9ÿG‘ŒG×4Ç–CGèÒÿéþå/…Pæ†ÉðÞ÷ïÃÿ¹š”;³ºõ`·Ók>òâÉ£f6ˆ€Q}¶úU¯1«*¢¾æ?UÊ÷ ž4}arþwÉÇü.öOd'ÿh3þסšÇÿG‘eþë6Ñ59ôW™™ø0Ý`@7mÛ&Bã„ì=ÿ·ÿu²xvywØÑô~kÇ¦éy©äöûŠz³˜ª²¡ijOoâÿíØ¿ýUÜŸüy¼¿C>æ&Ä€¿àÿ¡šÏÿE–óÿ
-Öf°q’ÿ×T&u€Iäx@@CÅÊAÇÿ³«
-zˆF÷Ö¬Ú›Âi¯†|^,Vïj/áB¨d1|±gaPîšÿD)ßóÿ [>÷þÿ~xÈéß%ó¿4ôD&°“¼Á?TT%ÏÿE2þ5Ý4¡`60uʲ¡)Céÿ±iتbp:{¯ÿÙ‡|?¦³zxu{v[ŽnPw|K•v¥zíž[»pÚ/îe<óüÎœ¯ù§”ï
AwùV:ð™EÈóÈçüÓÿãmÿŸóÉøW#œr(5%ÿš#·lL4
-ŽCu¦pa’ÿ›ºÍÉ£Ùb÷Mhƒ›‹Òµ‰Z½îµ¸}~$³±Ó8ïñæK8|Ïÿ6öŸçýóØÙâßréo*?íÿUœçÿ$Ëü?gˆ„ª:@˜Hþ±Ð¦ÂÔ¡Ab4þõŒèá±_š\°ëúL+ÜÒÙÓ ÷|·èWKUŸ³Îƒ5»æNƒN²µ7AïýJ¶Ç´qÃág7¹¬m€÷¯Bµ0øW!Ÿ÷ÿL¶ø÷…íNü£®ÿÑt¸É?Î×ÿG–÷ÿ ]Ã66�P�Dl
Hld
-¦0h8ì ñðrm¢Æà±öhm¯­OªÅ‰I4Ïw†þÅл,èša1ËÿeJ¹e²æ6 ¿õç+Ùâ?êÂø°Ànÿ¿ÿcäù¿£Èrü/‡ÿŽ¢Ú€êÄH&ˆý¡
-(dFŠ£ëöÞ÷ÿïÃÑ{‹E\4jA©7¯›°S¹ìFZùÜ4žú¢U®|=Í–{¥ÜÂ?mÝAŽþ×’ò/‚؍©°|ù
ÿH– þHn‰Žäeüýù¿Íû¡¢æãÿãÈrþ_S1O³þD˜�Éؘ` lÝQ©‚¦îÿ¼þwG¡ï±ßæcŒ×|± O×7ýÛó«ó§{j^ÚÃbõþá^»Ž„;É–ú¾ÓÏ•]h­^Ë/´'â³T©Û‹±X.©å”÷WEsþôeÿÇÈ[þ§®˜eüÉ/gâyG©ÿ£‘ÍøŸÀ<ÿYúÇæ@,ý¿.ã“SÀ´d% s8Ó˜­¡Ïæÿ3ûµH´i×
^ׂùùàÉ&甎/ñ€IÏ…ýsX›WÝiÜ”øâ&Ê‚¯
-º^ _¬Vü}ÿÀ¤'‘›€Mù‚ÿ0:Ð2ÀÝñ¿¾}ÿžÿ;Š,ùGšã ®è8f’ÿ“ñ?Ót€„cMq¸?ÿˆÿ©×}	A8†ŽÙ¨AÓQTxÏ­g`*>IËä\7Îgå°³æ_*è«ï¿»Ë™ÿù‚ÿHА÷-W~±ó¿evñ¸ÿë$ÏÿE2þU¬©:(¹áW•ÔKKÀ45ÛVy29øÉøÿ@ü;÷Uçrj¿”Zg`6n]0§‚©v?úììæñ\÷¦-[›Pλkþß*èkp—6ÒÆ<Ø)»ùE$¿®¿c�vò7Çÿª”œÿcÈÒÿC‡™)ú4¹ÿ_Ó4`êº
lâPƒëŽü^ÿ¯Ÿ—oš`p[ÌfEÜ}hê¬m”sö–ºW7we뱋δ§úÿ™‚n€¬u]îÇ
zÒ(Œ'ùàà|Á,ht€ìß>ù?m3þÇZ^ÿã(²äŸÓ†�†bj�9jhIþ_(ªI´½×ÿý
-þõóù!T‡î•âZÅóJâÇ;ýv?A$‹vÆ‹Öøgú¹â¾½ÊÙþ9ù˜ÿ4¿ÊGþ˜òÌîæsþ˜ÿ"Ëõÿª®rj€Š’ÜÿO�#ÐQlBLÂÅߨÿ¿GþŸ¨å»bh]7nyo¢WôA
ÕžzUliß‹NµtÖ.>,¨Ñ[çÿ—ú¹2�ååË<ûÿ3òÿGËÿ£¤þ×Fþ?÷ÿÇ‘Œ¤º¢@˜‰u€ €©"ÕP®0ýøà7kUËu~pšõ1¯ r›^žYÕñZ\Tl«
_âó~}m�Þåÿücñ¾Ünn
-vJÆÿ<AäŽ[öûUvñ¼QÿO#zîÿ"_cÙBµ*({•‹Ç9ó®ù¹rMê½èzê”jõâÔµ¢áÄoT›³ae£<ÀÚ�d¥îÒ¢t¶Üî-7õ]ž•ð\ò˜´;®ðìÕ¦÷ÚèÅIÍ;%-ô&òŸ–¯’šüËí =v²µ¹Ó1ûõ\e¯³ÚyÙv,u?ÛJLC¶•<…ͧIQ=©œ'¯5	ÓBËZ€ÙÉ-;þ7‘”ÿ´4cbÑå7’Ö'ôÜ`h¦"]ûïWßÅ¿ºYÿ*Z^ÿ÷8²£N—Ý%ÅŽw@3øîÍL{0¦³q·Î@i€U¿«öØóU§Ý­¿ç_îM²‘>�'Àà?YR›ücU¬ôÏø‘-ÿóù¿£È×üÃÐèyÆê¬FÛëv°nŸnå;§µP*ñðɼz¹`xãñ áh&ˆïÆK'ú§?f.ŸHpýiþ1ÚâáœÿcÈŽu:—C¥]l–^¼ÆCÑw/j„ÕÎn¯Ï]¥Ô}~šÞÚg)÷‰òžÿñDŽ¼-FcÞ·"÷E6âÜüeÉ<
-å )›÷c#{qÜçÁÍù?ŒòüÿqdYÿÇV˜€ÉüŸ¢SS0P4Îm+È€?óü¿æÿ²Íd´½ëNàRgDžož©ûD›V«lF×]\U®Æý;
M	¹¯]ÜËþý›;•=IUyùdÜ´a™ÖŽ×Ó€ÙfrÖ̍¥išøɳøÖÅú³±Êòü³Ó}¿²ˆÓÐvšUÐWO␑GcʼUF1½óèuÔX„‘-Œ¬ô$W׍KåùÖ’¾Õ!Žúý'‰Œßìþ÷¨ÿ±ùü_
çõÿ#_èÐúpôØ
è[ñEÍ,›/¸BÆÕ¥~EðíE\1ç@	XoküñÐ'	€ô@¯Ü¥úŸ>¶"è%«P¡qâò¬—톂KÙ3rþÊ0ŒþJtô¯¤StâÓ¡°&Á$¶åÓ@Rc[ÉÛ‘,1Jþù`ô_+YnõÇrñïØ£n`%ßÓ!MÁþUUÙ¬ÿ‰‰–×ÿ<Š,ý?F¦€È+*@6¡Àº˜Ct®êŒ#tÐú?ÚU)Ö‡3krÛoÔ”ç¸+AË!þÝM¯Ø´ç¤i¢»«úà‘5O2‡þ½LRX˜ÜÀ—iëia­®¯OêQ•“L¥Ó@$Û´ÒòAÒ"Ññ2(I×<n½—¾µ~ÄNÖ!m|÷i“†·ÏO;¼ ^<	½­#ʶ_8ÒÆqÒWoc­,*ëÃÓI<o@Úú÷O!Ïëþ¥ýÿ­à®øÂÍç¿¢$%œÛÿ#È×vºêÞêÚƒ]²¬pR-’’Þ¾ž®ÕáOÌC|Ž´çÍZ</¾w«6Y˜jêÍè"²¢þhf½öãý‘ËÿÌèÿµ¬æÓ—÷€ýpX÷q%»ùGñÂ0_ÿqÉâ?)XÇIÁ—ÿeïJ—Ç‘ôü®§ÐLl‡§#–eÞGEEOë°d[÷eI¡�A€¢ÄË<t…hçÿ¾A¿Ø$%ëpYž[®m38$„(_‰Ìü’9ŠWd•’Q
-Ï!0ˆãð¿Yÿ!Þnlƒ³Ë^tqò)1ðâ:‹fàíTWÜ?cyïßä#É!þC[{upòüG8Œÿä%:‹ÿ<‹¤üo4f�Gc
- ’&Bž’™§�‹¬`Ì‘cšW´ÿPc(šµbµF2gë–®¯(ŠZÑ\U5Êæ\¦ÙRµXtçi¼·­m=ŽóÝ?þ
lüñ¯‹ï)vŸö½çŸUñ¿^þg¹ÞOɏàŸÏâ?Î"	þUAâx,ÒÆ*Cø $Z¡ ¦Y#Y’Ñ«ò?rBáj¯±
- Îˆ–Ëõ¸Ò›‡‹›éHëAËêPÁ0á‹fåþëš$N—ïâŸËðÿÙâߊ~Ó7:8‰éÐÿÃólÿq9ጭ4
-ù¶€JT£a;?¨æ£~ã[ëÆ°×ÁUÐlt-ÿ(þÄÇŽ¶sñ%g«$›”D¯×ÑÐë	5¶¿£‚Ŧ!¹LMf
–sÐ�	È÷[ìƒQ}ý NüÇ–÷þåÙâßFº xƒ,ÓþßÃó?a³ó¿³Èóø¯Pë¦w£wâà~mù=UªãVÑV­Á°»Ì7˜%ªÁQ¹­ø}äû©ï×°PœÀ±™lŸR·ˆï„9ô‹4\acInˆ_ Ôǁ£û..È:0ìýV™Ñڏ´ñã‡ûF€Æé—É0~R¶ø'.úwŠÿŒã¿ã¿3ÿïYäyük÷NX¾¿óQã¶1¿šúΨºT
»Ü¼é…Ååhbð+¶Ùk´[ãƒã`Æ�§¶v¤p´ÑßoN÷‰‡4yŽÐ‹#«¾7Ô΢õe'9l3j¢+MÆÐ6.ÓM'j;Ì~fÙ£Ïö{7’©3t¿•Ú¸3HhXî‰~Ѹgýÿ'tïêÿchö0ÿ“ÏøŸÏ$Ïãvµº¢ÆùöU¯Øøf›r¡^î*”gu·Înj3·Uè®ÿqöåؼ$R 6Á7±’hŒlÝ4bÚ·ø¼
-æ 	;ˆÛ ÃßÞ›=ô£ÁÓ̓‡,'ØÑ.€LæïB"ÃÒð‘_\Ï™FãR¿ÌIDf´Éýe»ô¹ÎÅÎM>ò¢.ãG
-ùI¸þ—ËK¸Ÿ5/tùÙñô8*Í¿Üy0ÿò—8lmóQ—§?“¤X.<²cIBAõ£d÷ªí{=ÒЌЍ+7Äêe̱VþcÊk²ò/Ó/öÄG
5Œ7*);,ù`’©½kü/#Úœ˜ñÿGž×ÿl³>,vá°ß¬uG7%…r'Ó&ω¶mƒú Ñ7KË«ûoë
-Óß×ÿDAÍ"!qú|æÙýI%áBøâô8ÿ'2žMDTøZgA§ðÏó‡ñŸåÿŸG6ñÑ?„×4Š„ÿO¢YJay™B´ˆ¡xŠÊ[òÿ<×¼_¬[\±§Â<лþ ÚX‰ÕEݯ»“¡ÃAžê:¢×Ö·I?ûót§8iÝ©ð˜ýãš¡n]âëü²7ÀÒåâÑìL<Jú×'ðçXøg«×Q'ñ/ñób†ÿ³HÊÿ%	@¦DA™ÔÿD*¦D3”Œ4Äb…Aøåñÿ?‚¿©²âmwÅáŠ;˜Í;ô`ÔÇ“úýt,jŒ7WçÞlí2« ñ<O·J ]Ú¨€\ÒåIMð½q>ŽøþCûõ4ÀIü‹ô!ÿ7åÿžGÒú¿˜C¢ˆ%И¥x^Q)Eå!ÅhˆAVÞÿf©®Xó›J>”»Ù¨°Ø仞´
-w-¯ÔZŽ XÌÔª&Îð0OŸÖ�›N'tÀáXA<×s’µ×2�N¯ÿGûQÈâ?Ï"éúÏ)p¼H©ÏS<+Ë”*	%°ɘÕTåMñß ;¥BïÞ¨òZÕið.ïØ)Ý­VP»^åk}¤Ô©&veå±üÏÁ<Ý"¿•4oÁ8ÑóF¯cZÀïk€ƒÑ>ö‰<…ÿP%§ógÄ?/áŸËâ?Ï")ÿ7E(Ë,…&ñŸœB)œÂSN…Œ$óè-ñÏ”°,7j‚jWkuò“IÞ/
Êß¾U˜Öm³`-iP¨hãýÿþ<}ÄÒü¢€ý!>âÀø÷Áü5Oÿ^²þñ3LÿyIã¿e•†4 	Ôÿ�&2D$«‘iÎkè;õ?_ÿµ‰æ;ßZµ±[>‹§ ?¿ž{íqpuçàÚ(€
©ÛÊcùŸÝyºÿ•TöíúS>«v†ù€
-à	ü‡ö+[�§íæðüÍüç‘´þ·È
-S0%AZ¢x5²,!
-cš•5ˆYˆßôüÿ¶àS‡ÍzàkÕ•>3‡K§©£f±WÚKs¶²¦¶=¥`qgý?œ§[%ÐA–34�¢Ý¿õ"àhÀ žÆÿëZ�§×áÿÑõÿçÿXÆ,«@J’1¤xT
-¨K!ŒTH«
--ãçþþ‹ÒPž(偹˜µ••`Ù}öv­ƒo7żÅë²ÚºS'ó©™]íáÿi ¿¹ð"àp˜µ	ØÇ?©0Ž+6Œã—¯£�Nãÿ°þ'Íeü/ç‘”ÿKV‚‰xý4Šçˆ% ª%´ÌAȼúú¿¯Sÿ«´Z¹ëîM†].·§(÷-|¥Öj+o2ÔÛ^µuç[yç–ß–ÿ9ž§[P WrÁå6	"ñ÷Ýh‚ø™6šà;£}
ðþ!°!2_QœÄ¿tìÿÏø?Ï#éù?‘Ñ�%²P¤xš…”ÌŠþ^F,IÐ_Ìÿò#ø·ç^MQˆ¹.Ì-V6¯m—Kn!/i…Bڝt»ØèR¥þ#þçéc1°øұȝОÕOŒûçUOà?´_ypÚþ?ÚÿK™ýIð¯ÑÂ5úÃ*l„¬R2-Š'¨@f8VЏŸÿ¿�ÿÝ–ßú®eYq:Z¬A¾:�L„D0^-†CKµž-ÍèGü?1OwL�õö�Oøç…~,ü‡ÁÄñŒ5z‹€“ñÿ"{ÈÿÂeõÎ#$)(N	ÂÑ”O±­Ç¤²æó]‹œæËu~ÝòVæ•^îÌ:°ibè|Ó[OK<œ2³Ž†õ}ÍñÞß8“]Iñ½·*þù—ð?
-GüÿÅÿEž¹ÐZ(,³b®Z¸ÜPäÅjf…B-ïYã©®å
Ѩˆ$íƒ<˜xÈŸ8fœäì¡ûÐð…ìÀ/€g¶þ%iz™¦/#Ïs<R€VDšCêzÒ;Óo")þIé»áŸãŽêEÆg†ÿsÈóø¿Sú¡7d+­-4ÕŠ‚ÙÊ }_®°½NEžÃµ¡-¦îJ8Îÿ³áùÉG&éȱÉí­v>%&o	­íµ_…žã¢Ëo¡gÀɦ*olHìB<’ÓoïLˆzɲ
_.ü¿ßúOÕÿd…ÌÿwyÿÌ�ظš,ãy]ÕÀ×ì`*×AS鮇:m6DškùƒCþâx[Æ|¦a#l" Å9»mŠÌÃLÛÞûgø°’â?.ö~û&[ÿßINååÊz±¯”Ö#<U95ß¼¹¿®­'5º8)˜Ã‰8
-Bkå(¬ñ?9‹±aû†‡®é�Rö.Y˜·T+0!ˆððÓ¶„×ØKÃ
-­q\eĬ‚ð[IŠÃ"¤4úës¿9yþGâ÷ùŸè,þ÷<r’§\ãÙím¿7¹FeڞϜáªUëxÕQe©_w¦ÍμǗ¯½ÿ©‹ôñ}˜ÖÉ”„¾?©ìáÿ6�'ñÏñ?fõÏ$'øCop
ª¨�îyM¸ß¹_äKS¦âr¡}NîjVµqX8psfDV¹®eÐÿ™%ÅzÎú>ü¯Ìñþ_’2ÿÿYäÿ3GÙSm*l,§^±nÜÓ«œæ1Ô–»`Ö=¦©hKÔ‹ñ#£N¼ñCËã~RIñoÃ|7û?Âý‘ý/eöÿYäyü{#=ÂIàkë 1þÖo•ÃÕ
_Õ®èu_åu­Ñ5×Uçjÿ{ŒÇÛ#zwâŽÉLË”ÁO#ø'™$òñüõ9úÐÿÇ‹Yý—óÈóøÿ&Ô‡öÊ’T¹ÊëKºÒAO^tƒi9É…’ÒôBz·éAòýøðîâwBBœC~C$7ôüè£r»ó-×pB?ç#ϱãk
-¢n¹Àûãüœj ;øãƒÏ¹:ò A®ÏÀC„á8ºÝ~‘i“ÿ@6øGvø9
Ž>{ý7žë¿eõÎ")ÿ‡1d9R�CâyR`ôVT8Af ͉€yÍúoõqa"3Ž_ZõÛü⎮èýqC+4îgëº,ùµåµòT±ìEï›ÎÌÇðޝXþœgøk(¡£t/j†=ó#MBèæ5BDIDïí%\|ô*q{ø'„ÍïRÿí¨þ#—åÿžGRþ?H,‹YJ’Dñ£QjôO °
- Ï#$ö5ñï÷Ê`G¥Šs£¬Ú7½ñ@¿¹cç}­-–ºðš¾ãp~ÕZ¾–ÄûÇ3sƒþ<yC8>âüàï^Œ°�FÂ
fþ‡GúÓ²‹ì8‘Õöûñhý™Œÿï,’òÿ(bh�)V¤9ŠÇ¦T–Õ(ZVU,Ë#¿nýgiå™a­¬5E…ØJë~XíÖÛøZ1»n“/©ƒ²”/ä’|<3)¾ŒhQ×PJ籯�ºÄÜ0lìxV¬2ô?+»ø'FÙ{äÿp"wˆ6ãÿ;$øgV¦)U– ÅË<¦dÄG;YŠ¶ÿ€€}Õõ¿Ív�7ÅÎÍÝŒÆ\wº¼ŠŒºê´Ëw…¼ê®G¥vÓQ3Û‘cü“™¹CíkØ9Ì
=ø“
-ÀOJBgà?%»ø'NÛ÷©ÿ|´þóYþßy$Á¿"I4‹!¢€ŠE…R…¦fM´�ÅWµÿÅ:5¿cÖë¨]7Y»ÏwÆÅ°ÒœÊùòí¼·”
-Us,Wà2Yÿ㙹Q�Í00¢wû¨OH·òÿsp€ìÈpТ­‚ºJS’3Up()þ]äÅ;¦÷8ÿgè£ø^ä3ûÿ,ò<NUú¾7¥Ì¦•ïݨšàâ=.–õ»}_Ô–ËÁdqØjáî þ/®ÿ˜TÖS"�,“x^úS4藤гë9ùþ6ŸG_nú?ó4Ozî—'LÊF7]\þóóßÿñ%X®­?è~˜ºèúCôSÿÁ€Îƒ¿ÀØœ?@ÝxPAÔÑ|ÐLó-ÑðÝ_ÿëÒ …Ñš!áÞ|
ì«Hg<ÄÁqñ7úõŸ——¤û$°ÈNäë_KÍboÔºŠ~ûšþE@ûík`&ú-zþ\Ã	re'´µ¯—Iã×ˤ‹êh«¨;óÛNèÝW÷·ÞÅi‘È'Ç—ýN-÷·ßÉ£ý-·�~ÎŽºcÒ=íp‚‰;Oæ‘åþõҍO†½ŒæâÓô?uÅÕ2Ǐ‰›9VPX:‹¼þsKªÿ=ÿ­Š?þåùìQü“åGž×ÿ=óZj4f¼èNð2d¬n/t¦HîAÅïQ‰7•Û¶Ý6Kõ#ÌŠÏÜ@‹±7Gs,Îý²H\(­`ÛÈL>|w/—ytÏ')þ‰“þÝâ¿xé(þ“c²úog‘çñ¿­s%Iw€ªˆÚr¢±³Ö¸ù¹jwç½²8iòÎÐh^­ì›ƒú¯	­$€´&…  ÜR´@ÉÉ”UÁ´ Ê}JtãÏÍÝØd3bæzÑÖÇ°õ‹O$^,u�ýŽ–ÀrMô:Ö'ßtth‹Í“§¹ø=yŧ¯bÞç/¹Kâô½Œn1ìOI]ÚhÀ ÕMI^Úú„T�'„Q$	è)z›®ög¤±IñWéý¬›Ž
-^?ôþöÿ¼DgëÿYäyüW¯g²·®²•z'а“G,{¦)·%½-ÖÐd+eajxÀÿ‚Á<2¾ì˜ΰPB¸ÛQ—s[ûlÐs|ŸI¯m½ú±¡gn^ùè‘’*±	B/!™‹�L(c²6×€äÂÖ¸Ù»™F6`Êà–öØ<áæ}B)½7V¢"¥á|yù#¾÷?ôß”=ü¿Wþ—x˜ÿÉñÙùÏyäyü‹f[ú²òWj½-6Ö·S^Œ6£ågÍÑR+‘U”òƳÙAþ7YccŒlÑA~çÙÿ7xüé…°t|öQ@6[oupÿGùŸ"ŸåžENøifh¡JR§Ð¬rc0¬·|WveIW!Í5æVQеuË”&wù_[†‡Ð²¡ƒ‰l,Ÿ“ÃÿµweMã@ø_¡7v«pÊ9œë
†ÙY$Ì$aŠJù'fÛÈNB¨ýñ«nÉŽc˜À	Ìîªß,Ù­–úk­–ü‹ÌxJ®†Û¹úéYÿì‹þ?]­ÿß„ÖÛÿùÐ=} gå~óöxÒ:ëÏîÝFð¹K›‡q·¯U-»rÙïv¯>_Æ…õ¿çŒÂÀ_¤“h/IÇŸ¡ÃÃÜœpÞ&Uèp֝f‹§4_Ýý²eBûßêéÏgí¿Q7Šã¥QUóÿ7¡õötùÐuÎ/®*þçú÷ìSpräÝ
ØøÛуuQù ¿œ‡×)Þÿ&þ¡€ÌØøÇSë–Úpóã¾<·!ÞñE”¦Üí$nÈÈW¼ôÑñâÈ7øoˆ™¯à¤nã#,½a›³MþÒpsù‰Oöv0g?c„²H²€óeéñ^SbQ‰éÐB9%ÁcNyî‚áüI\~ñÑ”ùšÅ<êÞ@̉í{öw>¯{´—Bxíì0Z@¢8$2ÑËI¼„x—¹Z,œã­—¹š‰R5ÎÿF$w{ƒmûÄ+ͺ«’yb·˜Ñe±gùTÖhIDï#Ñ˜—Ï«A‰Ã«	’ñ¯Æ ÙÜó}ÞDQÄÈsQPÁ’‹åHfšFòFjNvxÕâyÈœgN“U|¡\M6ÞøKÐ'»°»] 8x(•|
$x ù6«q®
nHÕ°rš_ªŽkžÀ ËeEuð›B¥@Pê._„’ ÏĐ2SF1
¸@“ $i›”ÈQ’AÃtÊ^†ŽÝ—Cü¤~² |ñŒÂ9­B7¯¿8ÌÍ(ÞâdŠ’š{
4ðxêjA«Ü
?.»ôŸ‡‚l)ô¬¾±‡#{^<DêäKNs)<$ƒºSð³ryáPQ
-ÔWl‰ª£0'-¬
í½,û% ‡(g¦?’—±&uêЄO…âÍwAƒ±ÉµÍ¬SÉ	«½‹BÓ¯Ž&uåEdÚ’Èo’«è‰HÊû÷mAŒA¾ÜÁr=‡=eŒÎ™`R¤é¼Ü()²h^sŒÚÎß™0RpMSXbàï8M/@˜æ|Ó
-§œ|¦è½ÇÈÙCØ	v²u_4Äõ%Æœw×6*:”òæJ/F*B®ñ¿D³'†ËŸ¬Bª¼µa~²ôÄh)P‘Êù?™1½gÇ&u¡½¦ƒ“ð²d€üFÀ%™ý4¶²…U[’ï:û—Õ«£MÕ'å¶ñ
-¥Œ×Õh+ëôÿ°/yW,&átó»@ÏÆÁý?…û?êêþ7!¨UqZToRC3ËFK«µÜ²Ö4ʺV¡†n†a;–³Éó?·ÆÃÉiÏéÜ}ЭÓYßIÆÆ9µ¾G¬sÐü6ªüqõçÝ؍:¡¼ÿ#Åfvp?MÁ¾pW†nÁá/–#¼t=G”M¼8æ
ÑÈ.7FÇËŸƒ¿·Þ“rö?åƒMÀœnv3èYû/íŸCNùß„„ý7ì
-†ô†fènU«5
ªµêåºV®ZŽUo•m×®oÒþŽ~R9ìöo»úÕÅõþ§xzquÐ¿ÍÙy¯±æðHØ›Ë> ŸZèʪx¡ý¿süGãñÿ¿àueÿo@ëít^-×®£ÆA­k1ÿ¢vLéõI·?"§ãÍ´ãùu¯ò±ìöûÇz!þ+žÛDŒÔt£0#ύÝF&<c9W·‹–ÇüVöÒäGáBFº„‘†Ÿ¥gk,ã~è”ßz⣷y†Äi~›Ì<>§™ì˜²÷Òݲ	MÆaáïæX—ÂfÊV¹á”7H³^Óõenœ0góoEU¤H‘"EŠ)R¤H‘"EŠ)R´ú¾vêØ�h�
\ No newline at end of file
+‹�­Y•d�í}érãH’fÿÖSpǶMÓfJ܇¬¬wxˆEñI‘Ôô,�H¸„ƒ×æ¾ÏÎÿ}ƒ~±�À[UYU]	O3%€îqø¡Z®6¹Rã¿Aý‰uÛt®¶õ—SEQÇåÈÿ¢ ÆÿSLrNˆÆÿr4GÓ´ Ð"Íä(†âê/9êd=x‡"òÔ¸+Q8~0ºò`hê¸dŸp5Ãx§äYrëÿÿE(ŠLý:'
+¬ÆI¬
+¨ê€C¢T†á�MC(‰Ï1ªvaAg¨¹:ºÎþ~a\çB?B:ò£#G3Qp}‘Ëi®c˜Cr”ˁ\°Bd_Ùȉ®bæÂ嶫GÚ­O²7¥„/Íõã"0²B%i\Á`t+õòñæü=òóö¢#˜*^æ¦ÉÕÔªO^É ÎiäA·Xü"¹Yz
M×Ág¦ŽTè+†éáÅ™ÃQx£/<ߝâKþuΉ,ë³¢¡‰«_&]WÈÃ)1Š®ãÆ//†¦3Œß¹óÛ5s9ªÈºÎåɹ„>fA×Y•+ºx\\ç¦f`ªÂ6½Y¿:MItü¦¼¿
+¢¹]–¥˜¸þ`´t7eZfˆ›ýß¹Üÿ¹øj>ÌèkH=ÿª9sîéTÀùO‰<»'ÿi†¥3ùJ俦#¦5H,¥Nƒ*Y�´Ê
9êüoÿ§’îÆcµ_/Ètw^šÞÔ&Ëâ£ô\àÌ(
+åÕFÌ0tUd²ÃˆÛ’î+~]ÀÄ‚s-Ù©·${*®W%"û@ª¿^k-Ñ/ÛXêæVW/Eú%uùº8¤øÇŠåÝô5o•:<Ù~i€+C'-ÿ˜ˆ?Ä?>„–5¢ƒ‚“cøXfÿóþÏA	þUI¤
I–�Ãóÿœ�Ê1Ðtª¤)^’þ3Л†a·@¾Ð^òayܳŸ‚G±Ž‚È)97ætêzνS[Rµ~³ôN}íø.!r69@¿	øÖÞ€ûku6`oú¦
ýE.×åÒZ�=y5_5"{ÿ!&§AÿðÏè‘c2üŸƒüó<‡(–£€ÌSp"%�È«<À`•
1gpŸ‰
P‚ªÞX>¨ÚCk"rž7ìôdö&äÀÍ}yQ7»Ï5Uºà?æÔ¢Ÿ9‚þ¸­w±¿]cüTƒÂœÄRb­½„»©oJÎ+^Ãÿð¼ë?”ÀÓë?|†ÿ³P‚IÒeCâ ŠH¯²@†ª�4Äñ‚UC¥ÿãá©ÿ#BkYm§WÐæój­R~¬I)µq{¢yl}|;tž|
X§uWÙ
+Ã߶¶ó¦H ýNš{C"TØŠ®ã 9¾k.
+1–¢Èe(ðÚ’Nü¾Î%ño£ €Ct*åÿ—à_8˜ÿóB†ÿsP‚¨B^æYø±àC2àA`T
âéü‚ù?_«ëÖðjÕ¹2Ÿ:Ú’éÐtéëßté;¾=¼³¤B0ÐËA~K¬øù?F½Eô/¬Z|`¯ÖÖ"@ü®r«ë_8ƒ8Ä¿‡û¨„fh¡SI€£ø§÷õ?ÍgóÿóP:þgD†:
x^ÆúŸƒ2PyÚ�¢fÈ´ÁЋÄÏÿK/,BÏïÏÑM»KÎiòSÃá¼õR,ÔÓ=1•{z¸ô
§~pøϾ	ôMSo`ü ÂÞ3ô~®¸Î|º@‡ø]×:¡òÿËö©Ãý_AÌðJ×ÿU£Ä�VäeÀ
d$k€åYd c±x8ÉþoÌ\'!Ì‹
sü hÐöç-R%Zñti:¯ßŒŒš3ï?kÒx0º[‚#éÅ)æ¯ìêƍhÿ7­¹–$
2Wxe!á3÷}ÉÛ½ÒñôD1\߆á®g©KƒÓI€cúŸÅ…4Ë24þC‹±þ§˜lüJí?$F†”€ÀbÕω4$Y“°8Py–ÒCä؏â?á«÷a+N¬6_éõýÙò	6½Ás93m.u™r™î‹lÃðÃN0¦ÉzÿŠ)/V:·3+Qº„wÉÿ>ò,óò‚�éi¿ð·‘O`Zú%gÓ¿
°X¹»ÆÕ¾úµÿaè�ÿ£ÐÆ¢œoþϲøg>Ãÿ9(ÿsA£ePxþ/€,‹ño ™c(•Çé”ø¿i´¬°ÛjÚCMè¶_»çú¦b¡âÍý˜LªóhFÚ 3‰ñ¿fʵ�¸ëÔr%\òäÀz†ócô6þCÓ>‘8®ÿé=üã@fÿsJðš¥UÈcü‹*à�¬j"@"Ç0,%!MSO‰ÿñÜ(Z³çÊc¿¢kÓš@o¢=ÏK·Ý'·Q¹aÛ6S|¶ÊÑÍ.þ	SÊ�Rú¦êÁ?:Xí_LóïÑëø·]'l�ðúŸc3ýJðo,kèxêo ã_b4€áÿP"T
I’UþÃößÁÿ³XŠÝYMééúôAs­0곊¤ƒ�HåçI§.T‡õY™Bµ
þc¦Ü½3ÈÐ~Œ^Çÿét?¡£øçöõ?Íp™þ?¥ë¼ ‹‹§þ´*“ñ¿TAR ëº."VÅïÿ}ÿ5qñbjƒI—FÞ“u?os4ê–èÆ"—qAKfŸ·ôÿ¡îG÷c…Ÿéû#ô:þgpðGæÿ\¶ÿwJ÷ÿ)žyU:OÖÿYZ’
 ‹Å F¢yê¤ãÿYµÄõ÷I™•‡Sf:¬p¶–Ï—Û•¥¿@´¸˜,õ™ï佉1ØàŸ0å.þ{¸ämíÿ^/Cÿ1zÿýsâŸ?ĶþJðO!UÔ Æe
ãßÀG:Ì À‚JiH?%þc41[Q_~TŸZŒ"w…™{Pó¥/Î<£~;ÔZKký0å.þ¸äíy¦û?@oãßBApš€£øç÷õ?K³þÏB	þYAÆPWu ã_gd<õÇã^–tš’41>ìÿ÷üóOœÕüjó¦Yœ¸
nà5!Õ)•Œ>4+wFgiÞ‡3Ëîε]ü¯™òPKñnà[!Ûx…ðo¹§týé·ãŸÊöÿÎDéþŸ¦rš$ª€fhp¼ˆõ?ÀC$Œ)Q:éøßJA¯?*DwêCmÆ]³pó<¾´£r¡lkj·§Ì4£®º‰ï3\#¾”´î>1rÙŒ¬_råÜø—\¶ïÿàßFºÙgõÿafÿ|æÿwJí8åu^"à À‰:$tNF*¥2’¡žTÿ;Ë^Ç<P÷+}EêX!*ç#Yd-Û˜Øwë¾SöóÉú_” )>"2ÓŸ÷è�ÿÁÈõÃÓ�Žëÿýù?Å1ÙúßY(ÿãá¿AÑ:€‚(‘M�Oý@FeyŽ2Aÿ°ýÿG🷖h±óRÅ)ç•[ùŽé–î[¼•¥ç±°xJUÛRŸg©caÊøÇ¥GПAÿ}ŠñœÐ±Plü…¯ˆâ1‰ðküôù?Gáñ?Çq<ƒÑ/$óžËðJ÷ÿñ×âUÉ€Ãc ñ".4¤xJ¥?<þÝÿ÷H «?êhÏ/´ÅB|~hŒš·ÕÛgW}nÝë“|ù©÷Ä>ÈŒWßþ\É…ÇÕ¹ŽÍ7½06迼¼ÀxˆÂ›˜É;¥.¶ÔF« :_ý¾Œ¶ñ?5Ñ,Á¿Cþ‘e%þG3{øg.ÃÿY(Õÿ†®1"Ãcý/àñ¿¬A ²ÄP54•Uu–{kÿ?Ñ·ï�ÂMÇ‚-?¬8óÛñ³.ÞBèÝó
ÙÑÐdF·Le^6§áС»Fl¬tã€OV—q§2ðþýàDn€GÇÿ¢°šÉæÿg¡ÿkœÆÆ0d²þ‡Çÿ*+�’ÈR†F1oÌÿO„ÿ©5XúÀ÷C®×<в|.(­—Ç S¶æbÉd<ÔogE¿»Á?fеîo·3Ìÿ½ƒÿ�A_)&þ°óß%Žêf_ÿ³"›ùÿž…üÓ<KâˆÁ/Q%Ê2€’¡ë´FŒÞ˜ÿŸÿÆSÙ¸Ÿ*·ËÂã
˜ywªQâ!û4vFêM£+XÓG ¦
6øßfÐõ8 æâÂlp”ŽãßGþ\¿G�Å?·?ÿçh>Ûÿ;¥úŸ1T9†>$öÿ,ËYt ‹”4ÁÀ³€ÏÕÿÂm±Ñã&ó¨êê]žôZ‚Ú‘ŠÆ­úâÕF»¨ôÜ
û\;À û )Ý„û1!
+^”Mvèü‡'XýûÈú»?þç…ÿg¡ÿ’%$! Q28Cä€Ä°*`Éú?¢hYd?ìÿû#ð¯-å—žOOºƒ*eó·¥Àçûm¡9
Ÿ9Šèè!ð=ÄmàŸðç
+÷ä,Ãöo£×ñ¯¯j®íAí{ÇñÏïã_²ý¿³PêÿK´F3,Ð$Š"öÿ"PECŒAé¢(‹úñÿ?°þ/ÒÅvÞWêMm	%a\á*u‹®æ;8²Ñ¢[.Ütò½”†›õÿ”?W ˜žf«ÿ¿…ÞÁÿùÖÿê`ý_ÌÖÿÏB	þ9Jð7á*óà2þ"@B´D¥ÒÜïÿ@�Ø­JY1ÜÁØvžÚ¾\ó´WìÀû¥ì5èü¢¤+¥`²oGµ�ØYÿ'ðÑn¸ÝL¥ÿó9~K'6üMéþùXÿoÅÿ£EŠÎÆÿg¡÷aùÈUÊ h•îúsÕzÐn©±6¦F¡RËOM%˜Dv½ÜšMJ{á6 	u¥Óññ0=\8Ð6µ$„gŠ?Rn˜ÈÒW‡ÖºÐ
+IÌ;*ç#ü£ôŒÄäOøÞäh¿QüIG
+´L$çIì¼ä8ļŸQ‘,l6$Aõð—¼XÇ$Œ¦±�“Î¥ÿ•…FŒÿ84#‘èø‹Äñ	-Ó™(îù¾©ÿþHàÇðOÄÿgÙ,þïyèHœ} æ»TØ­`l›Û“¦3oPSAa€Rk—‡êKµÛÔvñ[Ã؈àd	ÿÈËä«U°Ò¯Ñÿt¼þ¿«ÿ©lÿÿ,ô>þ‘$±ð6ðCzVöƒ…n
º¼Ä5ŸõbÛx\P¥pò,W—w*¿—ÄwgX‰Øf˜*ѯ~̌ޠxÀõÕøç¹=üb6ÿ?ñÓ¹ŸP|«°´ê.Ï ‘yWÕÊMóáÖ¤
+ƒ—çiS¿qÄâȈ¨]ü{ži+*µ‘˜K\ÈgBàH)þC×Ç“¦dßOuõÅyó1ìÿO¶ÿJãÿè´!ñ"*bÈþ%�™¥x@±š¦K<ÅIÌoÉÿ÷Êþ_rHfÛÇ,]W|iô^ ù[ÊcQ|Å-U½Q›å¦¢øT¹kç‹öÓ–%aÙ‹˜•Ó̸qAº¬n¶ý’CÒef†X4E6ÉÅ·	ÖŸÌUÒþ'ÝÝõ,Ò ¯›L"èÓ¡À‚!T­Õ
+bly´öƒò˜Az;ÇUâN®Þ›†™Ïµ•}«[œõû“…ŒOVÿˆÿÃìë!‹ÿzŒ¬MÜþÀs^	ï*rQ^Þ ÊIÕ{¡*òÍ»°$Ïå¨Ãƒùÿf坬²­qóœ¶Â’d4#]˜ZRK7}¤a,,’9ßߏ~#•‚N9Q€tņF®Ë"ÛÃ0"?þýËR²¶z•:ÿz4…|§SŠ‚#ø§ij?þ'®—Åÿ<¥úŸçdÄp:àyŠœ.B !Á�ª!
+-¨ǝ4þW½R-„Âd¦DÍQ½B½„LÉy4D»Ýæ[ú\lÉ\»Z÷ÕÖE¢Ð/;d“*§úÄ€/áÖë܆]×™zhê"aéx ’*qø ,‘ —JbŸÇƒkñ¥MŠ¤B\¸ó´¤`;Ÿx\aw�±¾sä[wÄe?p§½ûÄgÛ·QVUd6·‡QèzˆK²uÝ?¥òÿSG€ÇÆ#ì¯ÿÒb6þ;½/§Ëfs\c{zAQü¨œBçaæ˜JW{Vm4áo9•Ñç­J8Ï慎UÂ&åQ
­\J0rgʺž6rMík¦@?5­öÓS°+ã„q_WtÿÜîøñ8$Ãÿ9(ÿ	*Å<	øÂ
+,àdI-! s,b!XÖøùâáÆÚ8»ìã‹£‹d‚[cY¡¿•]qwå«ßÉÏDûøýäàèúOíã_d2ÿϳPÿ2hÈR€ˆ8	$^â�dڐ
ƒ%Ë4'œÿ¡z_°ŠÕH¬S¬ª¶��,(¶ªšek*QL©Z,zÓÔÞÛÑ׆žu×ÉÞ?ÿ[3
óŸÿ}ù–Pav£À~õ{þ£Ò>þ—óßçëýýþÅÌþã,”à_åE–3
+†J“ø€"%Í Ê@’(¡“Ædù"2zª³„æ"Ô†,ÔÐ|¾Tn;ÓhVtå¹£Ùö#ûIü7Ì•;ø‡žg™Ùtyÿl†ÿÐÿ6~§Ÿ´pÿâþþÈeñßÎCG6ck=$"®Å£¨wzÔÊ÷nÓA·þܬ˜Î2¼	õ¶ØÃxÙñÒq/¯sŽJŒ°É"@¼/qÓËA'ˆÏ@8[$—Áh²W`»{ùn‰³×j0Ü+ÐFÁ¦ä«ßüƒÖøwÐÐ
M~‚Èñýß½õ?†¢ùlýï,ô>þ£Ô¬t*rø$ô^–vÐQÅšÑ,šü¢Ùë·çù:=GÚ ÜR÷öéÞ¯}h£ØcÅlé¶HàF>Yô‹4<æœü >@é‡áÇ®[¸ƒ®
Mg·4@ÖýHW67Ì)éÃd?Jkü“-ú/²ÿŒí¿öí¿³ýß³Ðûø×_ܨüò ú}}z3ÜAu®šN¹QéDÅù`dr¦Ñ©·šÊÞò�´b€ƒ5äÓÁ"ÀÀýÝâ4bãn!Ù!Múù±eÕ[Mm)­ë-ç°U«‰¬@iC_m™®*u3»že›=Û·~H*¤›¡»¥`µALÃr¯tøCížõû't_ºÿGŚÿ'å;½­­Ð
Pò­›N±þìXR¡VnË xrx�ž–ùAåaâ5Ý}ý{_*Aè'–ñ|e+‰ä-3û¯÷á&æb{V`+dëߦ@Üx:xð‘íâ6¡ƒG„™·ž…X†¥æ#õ|wŒÛ‹L<ÈýëZõyîå֏äã*Ê&„ü(½àúÛ7#ô®t?ò uåúÃØ*-ø¶Õ±àÛ_c³µÕ­¾¿'q±œùdÄ’˜‚šËÍ.ÈöUÇ
wj¤¦‘gnˆÅËZŠÁÆå5ßÒ{¥Ã¸¢I¬æBe%’²Å’ŸŒÒ@j_jÿ‹'{ö¿\¶ÿ{z_þ3Z¿ØÖúÝÆC{P)ÉÀÜ+8Žk½z×*Ío^ž—·twWþ
u›˜|ÄîóÙÎî”’XW0^AýðäÙBD¡j§Z:†ŽÛ³ÿ`.óÿ?­ì?h‘çtpÄÿ)È'D	†&@NÖù3ãÿ…Ûx™-›l±£jy8l½j}!Tg5[Y¶G}—Õ8Ðv¿5\;ýìòéVr RºÉ°åýãYÑÐ$#ºd¯óz§kRår3íLv”þô&®¯à?ö±BS›,N#ŽâŸßÏÿÇòt†ÿ³PÿKä¡DAhÉÿ‰TȈ¢„tÄ2ŒÛÿÿþƒ†Ê÷íkÜz½Éô‘ê
ê‚2ª½ŒA§ý©:õ'K^, µÁÿ!Ÿ®…@
_Z‰€\RåUIðV;?xÿ‘s:	pÿžýÃQ™ÿïy(Íÿk°HxÊ`�ÇÉ*UN´ŽhÄ*Dü§âß*Õd{Z¹ÍGR{&ù!ˆŠ
®í‹‹>ÿÔôKÍù@ƒ³‰ZÕ…Éþ÷øôu	°ªtDì·õ3HWðïùn²¢vª	Àqý0þÄÌþó,”êVFå ²8F’€*ò,à‘fƒÑUùSñ_§K…΋Yåôª[ç<Îí1cª}Û[húÝ"ÿÐEr
4O’7éöøtüfR¼èâþâã8,àÛ`¯µŸû„^ä’Õù3âŸÄÿÚÿÙž…ÒøßP4Ib€
bÿÉÊ@feè/³ªF‹‡>ÿLAŽÊRýFa½ÚÖ›ùÑ(”zåçç[ºyß(Øs
+nuekü¿Ë§ü'ÅZØmâg\xÿœžrõï#úüÏÐYþÏóPjÿ-©”FAâð¡‘ü<P¦ñ$@@’Š§æœŽÞÈÿyü?ŒôÀ}n>(^Œ1†ù^„¸åÔo)áÍ“k<B­Ž4p»Iÿ³Í§kðß8IV`ùxÔŸÊ€è]°ÕÌO(�^Áäœxp|þ¿ÿƒe²ý¿óPšÿ[`x•
 j”8ÏdCDÀ0(FÒ5ƒÑŒO]ÿ¿/xáØ1¢F-ôêb8±ús·1Db§¶æÖdag´â–þßçÓµxD¶;ÝL�ðèßþÐà ÁŸ@¼ŽÿÓÎ�Žëþ�ÿL¦ÿÏB)þ
É`Y¢dh€Ó 
+ J3�HÕ(U¦$ãÃþŸ?‚ÿ¢Ø—Fr¹gÍ&-yÁÛN—¹_ás¥˜×5ᮬ6ŸÔÑtlå7;ø}Ð]]øÐ`¿™Ÿk°‹’A‰36(ñáiÀqüïÏÿY6‹ÿrJãI*”
Y$»~:àX2PUH<%±%N}#ÿïiò•oÙ1:£>M•Ë­`eù¥iܨÔ¶üjó)°óî=·NÿsȧkP WráåV"ñ/þ=øÛJÄ}ZI‚7Zû)$À+ø× £!ë„à(þÅÃýÿ,þçy(]ÿg /Ð:£	€£
HŒ€ñ/sbˆƒ®ðáø/?‚gê?ÈjÙ´–…©Í¨ã†ì·œrÉ+äE½PèŽÛ£v;êmPênðȧ›d`ñ¥C	ƒšæFNø®$x¥Ý?¯(xÿ‘sâÀñùÿÁø_Ìæÿç¡ÿ:…®ÓFf0þ
H” �–W¡D³<%£_ÿÿ�þÛÍ ÛÙGMÒé;D³%ÌW{ÆH„ÊbÖﳆøÐqÄ	µÁÿ+|º5P`ðZ‹^èÇ´ÂŽ\ß\¢Ïp8†Z`öã¿pYþŸóq
+Š]‚Ìò)6±>&™5߇ìR`õ@ªq˦¿°n†åÇÉ£Ö°-è÷fF¥³—8mLOuc¸+9¾ú‰3Ú¦ÿšÿYÉ?ÿòøüAü–ÍìÿÎBoÎd†^Ð7M£\—¥Ùbb™…ÂCÞ·yÚ+‚¶í÷Ñ ˆDì‚<ù(¹Vìä죗Èô‘œ0PfÐwLgxÃ’^¢¨ýËÈ÷]Ÿ¤ d"!‡Ã¤v&7>…Rü?Ò/Ã?ËäÿbéLÿŸ…ÞÇÿ“܍ü>sÛìP|½W½•
æ¶×z)ß2Ç[iª-M}6öbÏu÷â?›~dâŽO¹ýÅÖ]’lܦ–®ƒvÊo"ßõзçÈ7µÑ*+o<‘Ø	±	N¿þeˆ—ÌÛðã´Â¿i_§ÿ©ýüŸKeûg¡÷ñO÷ cÛѼ§Lk’ÂWÃ@w±Tƒ
¹[¸ë)«.Pl3èíÇ oó8žƒe:(P,õX‘3ë"<í0­´ì«_ÃOK)þã4`_7þ§3ýÿEtÌ/W»ri90Æ*«æ•—»‡åè*Ž
+V$(|o.\9”†ñŸÜ™b:Ò")‘g¹¤½Kó:ÔŠ–ˆ7ോu
+/ņsÓŽl%ΊÇÐB–Aø³(Å¿i“ 4ÃÓÇ~'ttýØÿîÅËìÏCGã´Ã;crßíŒîP™r¦·¿h><úÕÁí|x÷8n<N;\™÷[»ø{h¨¼DižL‘Ïàû¥üÒ�à(þ¹ýøB–ÿ÷Lt$þcä÷î`à§Ë=Ïä_fùÒ˜nDF	yšsžìj}?=pèºÖÄijò¡žAÿL)þÓuÖ¯‰ÿJŒÿEŠÉöÿÏBGâ?³ÀKKfÊp>ö‹5ó…Z”´qÞÐô¹ÈÌèe‡nÈú\€{ùßâe|<韒Ýø‘©g‹qPJñoCÓú²ù?ÆýÁüŸÉæÿg¡÷ñšÐh2ÎÖ•çn³-*\U¿¡–]I–õ¶µ¬º7»ø߉x¼^¢÷FžB8-ÚàŸxJËÇóçd©ýý?QÈò¿œ‡ÞÇÿ3_뛆_ÅÛ›üpNݶ³×‘fíp\ŽR¡$7üÈ5zû=÷ A¼xwù$qaÜÈð­rÛü–«»Qï:ñ5…¸Z.ôÿùƒœj"'üçÿ¯r5äk&¹>uC‘Çøþùe&M~­ðœè*5Ž>{þ7Žó¿eùÎBiüA34†åibÿËé@Öð© ³¼Dk+@ú”ùßjJa$ÑnPZt[Ü쉺v•º^¨¿L–5IæcXÔËcÙvf±½oÊ™óÞ-[þœ{øë(	![é^>˜Î$À’„„›×I bL,z§hÇàògÏ·ƒ°ùKò¿ää2ÿßóPÿO…"ÃEN§u Òj‡xš™Sâ?€ÞÉJ·nE^´*¥7¬<1Ó®ÞJmíŽzbü¢õüCbïsæ
+ýyrBb|Ä&ù{Àß¾ˆ±Â`BÌ
&ÁOô×iÿ†ëâYÛŒÿ…ý/°Yü¿³PÿGÖMA
0ÅÎÐ
 2Œ(IU
Iâié´ùŸÅ…oõø¥¼Ô‡*DZ¹m¾ô«íZ˸“­öc»Á•Ô^YÌ—µ$“|Ì™›_&Vê:JÃyì
+€6™n˜Žáúv,2ô¿KÛø'“²¯ðÿavÿLÿï<”àŸF´Æ3TIÔ�'q‡G’ˆ‡ÿ<Ô sRýßb!;6ÜÊÓ„2Øöx~ßhuñØ*?òª·”Z
s�&Ž+Åø'œ¹Ú×trœšÃà¯
+€ I	ÿmãŸlÚ~MþçýÏgþç¡ÿ²(RŒ¡!�eœ È@¦e
+ ƒáuR¼&œtþ_(ÖÀô‰^.áÃ]–ô—ü£RŒnc)_¾Ÿvæb¡j)Ò­6OôÌ™+ЈBŸí¢>^ ÕÈÿ’s9xâ ã¡‚ºH]’3Q°O)þ=äÇ#¦¯Xÿ§©û\-›ÿŸ…ÞÇ©ÊhAàÕ°óŠª£‘Q|1ŠåáÓ#õRÔçóÞhö™jáiÏþ/Îÿ˜d¦�l8Oìy©Üèu’èÙó]
ÁÚŸg¸4½ôÄ€A¨pGjî¦'LÒâ]~ûÇÕ¿ÿ¯ëp~÷œá÷¡i|{è
¿ã|ßMÍýÌŒï†5ý®
Íï*Ä­ïºe}GsôÞßþç7“$bDsÍŠHLáuÃßpÃA¸À2ã{l?Ñßþñí©>
+m2ùõ”ÅΠyüý×ô/‚úß
ÍÐBÇýÏÕÝ0Wv#Gÿõ[Røë·¤Šêê\þûV
|ö«÷÷ÎÅn‘( Ë—ÝLJܿýéÚ¿åf0È9¸ºAªçð'™ñæÉÏÜýæáÆ“f¿Å¹¼àUcÞ¶Pœ-SÙ8næ^f¨ÌòúÏM©ü÷ƒÏJþø—ø0öLæÿuz_þw¬;±^Ÿp‚72æm·»ÆlH©Á¼
ºETâ,ù¾å´¬Ò^þG<³cÁ35ÑL±ãbÌc±ï—MìBi¬FÐq•Ü|{,—í螏Rü“Mú/³ÿâÄCÿ/.Ëÿvzÿ‹>ÔoDñ	‚[AŸtfÒ@/?Uö´SF
Î훍›…SÙËÿš„•„¥P¼Il)Š’†$ I¼*”�5•½Htãûæ*ŒX¹ú˜Îðò‚Ø‹¥@ÿæÐö,t¥¹öE`¹C˜H‹Õ“£ØøœqéQ÷ù:÷lú~Ã?1‹$/-nÃZ˜Ê¦Ä/m†Ìáˆd�'£ˆ‘SÔÚ]íÏÆ&Åœ¥÷jh¹*<½è1üó́ý·Èfúÿ,ô>þ«wÉ_V™ÛÚc¨n¹ZÙ·,©%o±²Ö,æ¶Ì¾¬íÅ1àO¾œ8œi£$àZ<ú6uô+ÛÔ|7pðŠÔZ竏ùÖê(@›TÉœÁ0ò“ sÀ$dL¬Í35ra=¹Ù¹ˆ§F¦aji·´Æª‡«ó$¤ôN[‰PÀBýþx¿úƒþFÚÁÿWù	ûþŸ—­ÿœ‡ÞÇ¿`µx¾Þ¯É‹`¡ÖZB}y?æôÐlÑz~ÒÌõÑ¢ÀW&“=ÿo¢ccŒ¬ÑAÞóä_
z"Q:®’ÁÖg-Çÿÿ§ fþŸg¡#û44SEñ±Ð¨²
+ìך'y’8T5Š­Oí"?,<,›–8zÚóÿZGxˆl›t°3$ê3‹äð#2â¹2,×ýœÐ1]ÿãø}üÓl6ÿ?½ÿîÀ¨-Q“nKãª-7ÛÓ¹!:­:’JA½
XUczíz½_hõ‚½ù¿©+®c-VƒhÓSÒ…?ž"'3ÓÑÝÙuŽ%!u¯.'g«ëYì—O¦ÿŸêýyÿ¢Àïë^²ñÿYè}üWz˺Þ}ê3ƒ¶iXsÿ¶Ýy¨˜/4¬,Õ'¦F|É1ï÷ã¿%9âÆ|›´Dêi$òc>õÛHêX‰•fºÛ™3\?÷ŸqÐGÝ<.�Yü¯sÿI©¯ãS2õ&ۜ׹ï Þ\~å'¿\ÄWòë¦C7½enAüËVî#øIs*BNΆ:Ú»ÏUÒÆÀðÕEÎqg¯6ûŸü(ò- ú&2þ‹Øœh–©Mð¸:Ù£%v)9ütšë-H!tôœãUÎœæL÷/nUõÝYõrëÉ’»Üþ%ÅõFçæ:Gö‰w^£kìöÌLv‹}4E~`ªJŸ¨³îš{¦|ü(§ãÇ$=ÿ‘žÍL˯Èóð2¸£I“¸[zÚ�¹í—–´/ð£3××Ü8
+w9àáϤÅsñšìŽÁîç²@ܝØhÕÃø†¿‡%ð#×wÚ/Ž? RAü‚¶¾üæÓá/Ÿ#J÷5þøDCäÓ‘ûÅߏ_$w"×`l’‘›â2Ò
+y%qOVïä*W	׬ùãŽË1G’¤•$YHÖâ}Dü´öÄ„“¬ú'Îä5&µpÖ*ýr¿‡5b÷ÔÝí¶sÃÛ÷¾úÓ³Bú¦b&HW
+vküÿ8nßžXêlßyõ27'Å€FDÖYqIÐä.äy“
¡äÑã/_YÝìš¼ïͽ?ÂdŽ«`õÝ)´”4Øø>¯¥ßTG!
+§AÄ_‰¼&Òôªg1'ìJ—Œ›þèÜDL]ñ-Ö,u
+NÊý{Új"‰r«¶ÿöY,æ“[XéžHüƒ-ɆÙ@‹|kgÌ뎥]ºÊ53˜[Z2¹„¶¿œ4Düï ÑøK#2ňÓqBÓ‰ÙtKáCՍps˜á×ú—CÎù%f»¤¹ôí~HÅì¯Dç|ùW‹__ü¾÷®¶áŠt3L@š˜\Çy‰¦¯¨Ë|„ÕÇû-¬6Ø,½¢-®Xõó'1}¥`K¿ø=.e/55?	s¥ý0o­'V{¼•¶ûþÓÇIfG§zžUk' UÃï=ѧÌÿãõßÅC,ª…íF§ß:jÿEâÿìäÿ£(:‹ÿqJµ]F”„x�i^œlÐ@âi
+0ˆ§Tžç5]ÕOéÿ3æ—µ†~_x)RjmÚÖÃßEêÄóïÒPaÊý»—‘áÝ/Ý4þÇŠ7×N€ùUI,/SÓ-â\`©†O—ž=äÛfàFl6r—Œ(6ÉÁ¿ú|%má?ÂÊÆ	ɘv3è(þéü™ý÷y(Á¿¨1X
Q"à)ƒœÄ# ´�hVÕUA¦5CN‰ýžz`Jõö˜úOÏùÛ z*y÷"“JsVõ»†çKƒJ‚ÿmÞÜÈ€íÒ=9@gràCãÿ‹í?ÄÃü_‚˜íÿž…ÞÇ錥¹gO,puÕ·ž¸*BÏõ¶Ýéxú½9ÕÙsƒ¹¡v»JíÙ­Ôóu.ÑÔè"¶Â\(‰=w,67Ä%±-çîvÑÆÍogaU|0Þ»°šÂ¤À_—¯çëo¬C¯Ú{ñ ÖÁÊPRcuý:75ñ˜ÞõSÁ´®·Ú-³Q8r÷²›Çϲ·™¢Y®á"	Em®¡ŸÚÙü+š¢f”QFg¦ÿ�J†B�Z�
\ No newline at end of file
-- 
GitLab