From a1987aecb747b0b297176fc4d34afdc22cbddb4d Mon Sep 17 00:00:00 2001 From: dannylamb Date: Mon, 4 Jun 2018 20:18:32 -0300 Subject: [PATCH] Content modeling overhaul (#86) * Derivatives * Working through testing * Coding standards. Responding to @whikloj's review * Patching up existing tests * Baaad merge * No longer requiring Content-Disposition for media updates since we're updating the file in place. * Went a bit deeper than I thought. Small refactor on MediaSourceServcie * Fiiinnnnaaaalllllllllyyyyyyyy * Shuffling things around for islandora_image tests * Altering view and form modes using context * Coding standards * Features * updating feature * updating feature * Derivatives and RDF * Terms flushing to Fedora, split out openseadragon functionality * Updating dependencies * Touching up after testing a fresh deploy * More config updates * Updating features * s/field_memberof/field_member_of * Coding standards and tests * take that phpcpd * coding standards * Adding pcdm#fileOf to the rdf mappings for media. * Getting rid of swap file * Updated README. Shuffled config round into two features, one for core and one as a demo * Coder * too good to be true * maybe this? * Cleaning up cruft and no longer removing teaser mode when uninstalling the demo feature * Missed the services yml * Re-export after testing * mimetypo * Re-re-re-re-re-exported * Changing to dc on terms rdf mapping so title shows up in Fedora --- .islandora.services.yml.swp | Bin 0 -> 12288 bytes .travis.yml | 4 +- README.md | 205 ++- composer.json | 13 +- ...e.entity_form_display.media.tn.default.yml | 41 - ...re.entity_form_display.media.tn.inline.yml | 36 - .../core.entity_form_mode.media.inline.yml | 13 - ...e.entity_view_display.media.tn.content.yml | 37 - ...e.entity_view_display.media.tn.default.yml | 76 - .../core.entity_view_mode.media.content.yml | 14 - .../field.field.media.tn.field_mimetype.yml | 22 - config/install/islandora.settings.yml | 5 - config/install/media_entity.bundle.tn.yml | 22 - config/install/system.action.delete_media.yml | 13 + .../system.action.delete_media_and_file.yml | 13 + config/schema/islandora.schema.yml | 49 +- islandora.info.yml | 15 +- islandora.links.action.yml | 11 + islandora.module | 295 +++- islandora.permissions.yml | 8 + islandora.routing.yml | 32 +- islandora.services.yml | 26 +- migrate/tags.csv | 9 + ...entity_view_display.media.audio.source.yml | 41 + ....entity_view_display.media.file.source.yml | 38 + ...entity_view_display.media.image.source.yml | 43 + ...entity_view_display.media.video.source.yml | 44 + .../core.entity_view_mode.media.source.yml | 12 + .../install/features.bundle.islandora.yml | 100 ++ ...ield.field.media.audio.field_file_size.yml | 25 + ...eld.media.audio.field_media_audio_file.yml | 29 + ...field.field.media.audio.field_media_of.yml | 23 + ...ield.field.media.audio.field_mime_type.yml | 21 + .../field.field.media.audio.field_tags.yml | 23 + ...field.field.media.file.field_file_size.yml | 25 + ...ield.field.media.file.field_media_file.yml | 30 + .../field.field.media.file.field_media_of.yml | 23 + ...field.field.media.file.field_mime_type.yml | 21 + .../field.field.media.file.field_tags.yml | 23 + ...ield.field.media.image.field_file_size.yml | 25 + .../field.field.media.image.field_height.yml | 13 +- ...ld.field.media.image.field_media_image.yml | 30 +- ...field.field.media.image.field_media_of.yml | 23 + ...ield.field.media.image.field_mime_type.yml | 21 + .../field.field.media.image.field_tags.yml | 23 + .../field.field.media.image.field_width.yml | 13 +- ...ield.field.media.video.field_file_size.yml | 25 + ...field.field.media.video.field_media_of.yml | 23 + ...eld.media.video.field_media_video_file.yml | 29 + ...ield.field.media.video.field_mime_type.yml | 21 + .../field.field.media.video.field_tags.yml | 23 + ....taxonomy_term.tags.field_external_uri.yml | 25 + .../field.storage.media.field_file_size.yml | 22 + .../field.storage.media.field_height.yml | 7 +- ...d.storage.media.field_media_audio_file.yml | 17 +- .../field.storage.media.field_media_file.yml | 26 + .../field.storage.media.field_media_image.yml | 16 +- .../field.storage.media.field_media_of.yml | 17 +- ...d.storage.media.field_media_video_file.yml | 25 + .../field.storage.media.field_mime_type.yml | 11 +- .../field.storage.media.field_tags.yml | 17 +- .../field.storage.media.field_width.yml | 7 +- .../field.storage.node.field_member_of.yml | 12 +- ...orage.taxonomy_term.field_external_uri.yml | 21 + .../config/install/media.type.audio.yml | 17 + .../config/install/media.type.file.yml | 17 + .../config/install/media.type.image.yml | 19 + .../config/install/media.type.video.yml | 17 + .../migrate_plus.migration.islandora_tags.yml | 31 + ...migrate_plus.migration_group.islandora.yml | 12 + .../install/rdf.mapping.media.audio.yml | 45 + .../config/install/rdf.mapping.media.file.yml | 25 +- .../install/rdf.mapping.media.image.yml | 51 + .../install/rdf.mapping.media.video.yml | 45 + .../rdf.mapping.taxonomy_term.tags.yml | 30 + .../install/rest.resource.entity.file.yml | 46 + .../install/rest.resource.entity.media.yml | 46 + .../install/rest.resource.entity.node.yml | 46 + .../rest.resource.entity.taxonomy_term.yml | 46 + .../system.action.delete_file_from_fedora.yml | 9 +- ...m.action.delete_media_from_triplestore.yml | 9 +- .../system.action.delete_node_from_fedora.yml | 9 +- ...em.action.delete_node_from_triplestore.yml | 9 +- ....action.delete_taxonomy_term_in_fedora.yml | 15 + ...on.delete_taxonomy_term_in_triplestore.yml | 15 + .../system.action.index_file_in_fedora.yml | 9 +- .../system.action.index_media_in_fedora.yml | 9 +- ...stem.action.index_media_in_triplestore.yml | 9 +- .../system.action.index_node_in_fedora.yml | 9 +- ...ystem.action.index_node_in_triplestore.yml | 9 +- ...m.action.index_taxonomy_term_in_fedora.yml | 15 + ...index_taxonomy_term_in_the_triplestore.yml | 15 + .../install/taxonomy.vocabulary.tags.yml | 11 + .../install/views.view.display_media.yml | 422 ++++++ .../install/views.view.file_checksum.yml | 12 +- .../install/views.view.manage_members.yml | 342 +++++ .../config/install/views.view.media_of.yml | 1235 +++++++++++++++++ .../config/install/views.view.members.yml | 255 ++++ .../islandora_core_feature.features.yml | 2 + .../islandora_core_feature.info.yml | 26 + .../config/install/context.context.binary.yml | 31 + .../install/context.context.collection.yml | 49 + .../config/install/context.context.files.yml | 11 +- ...text.context.image_preservation_master.yml | 36 + .../context.context.image_service_file.yml | 36 + .../config}/install/context.context.media.yml | 7 +- .../context.context.open_seadragon.yml | 28 + .../context.context.repository_content.yml | 22 +- .../context.context.taxonomy_terms.yml | 35 + ...ntity_form_display.media.audio.default.yml | 82 ++ ...entity_form_display.media.file.default.yml | 82 ++ ...ntity_form_display.media.image.default.yml | 88 ++ ...ntity_form_display.media.video.default.yml | 82 ++ ...tity_form_display.node.article.default.yml | 103 ++ ..._display.node.islandora_object.default.yml | 100 ++ ...orm_display.taxonomy_term.tags.default.yml | 46 + ...ntity_view_display.media.audio.default.yml | 73 + ...entity_view_display.media.file.default.yml | 70 + ...view_display.media.file.open_seadragon.yml | 37 + ...ntity_view_display.media.image.default.yml | 91 ++ ...iew_display.media.image.open_seadragon.yml | 41 + ...ntity_view_display.media.video.default.yml | 76 + ...w_display.node.islandora_object.binary.yml | 63 + ..._display.node.islandora_object.default.yml | 62 + ...y.node.islandora_object.open_seadragon.yml | 62 + ...w_display.node.islandora_object.teaser.yml | 39 + ...iew_display.taxonomy_term.tags.default.yml | 34 + ....entity_view_mode.media.open_seadragon.yml | 12 + .../core.entity_view_mode.node.binary.yml | 12 + ...e.entity_view_mode.node.open_seadragon.yml | 12 + .../core.entity_view_mode.node.teaser.yml | 9 + ...ode.islandora_object.field_description.yml | 21 + ....node.islandora_object.field_member_of.yml | 23 + ...field.node.islandora_object.field_tags.yml | 23 + .../field.storage.node.field_description.yml | 4 +- ...ate_plus.migration.islandora_demo_tags.yml | 31 + .../install/node.type.islandora_object.yml | 20 + .../rdf.mapping.node.islandora_object.yml | 44 + ..._service_file_from_preservation_master.yml | 19 + ...a_thumbnail_from_an_image_service_file.yml | 19 + .../views.view.openseadragon_media_evas.yml | 357 +++++ .../islandora_demo_feature.features.yml | 15 + .../islandora_demo_feature.info.yml | 28 + .../islandora_demo_feature/migrate/tags.csv | 2 + src/ContextProvider/MediaContextProvider.php | 6 +- .../MediaRouteContextProvider.php | 6 +- src/ContextProvider/TermContextProvider.php | 52 + .../TermRouteContextProvider.php | 71 + src/ContextReaction/DisplayAlterReaction.php | 62 + src/Controller/ManageMediaController.php | 29 + src/Controller/ManageMembersController.php | 143 ++ src/Controller/MediaSourceController.php | 69 +- src/EventGenerator/EmitEvent.php | 56 +- src/EventGenerator/EventGenerator.php | 117 +- .../EventGeneratorInterface.php | 40 +- .../AdminViewsRouteSubscriber.php | 25 + src/EventSubscriber/LinkHeaderSubscriber.php | 84 +- .../MediaLinkHeaderSubscriber.php | 8 +- .../NodeLinkHeaderSubscriber.php | 80 +- src/Form/IslandoraSettingsForm.php | 2 +- src/IslandoraUtils.php | 370 +++++ src/MediaSource/MediaSourceService.php | 300 ++-- src/ParamConverter/UuidEntityConverter.php | 29 - src/Plugin/Action/DeleteMedia.php | 35 + src/Plugin/Action/DeleteMediaAndFile.php | 120 ++ src/Plugin/Action/EmitTermEvent.php | 16 + src/Plugin/Condition/.NodeHasTerm.php.swp | Bin 0 -> 16384 bytes src/Plugin/Condition/IsMedia.php | 2 +- src/Plugin/Condition/IsReferencedMedia.php | 189 --- src/Plugin/Condition/IsTerm.php | 43 + src/Plugin/Condition/MediaHasTerm.php | 41 + src/Plugin/Condition/NodeHasTerm.php | 172 +++ src/Plugin/Condition/ParentNodeHasTerm.php | 45 + .../ContextReaction/DerivativeReaction.php | 15 + .../FormDisplayAlterReaction.php | 54 + .../ContextReaction/ViewModeAlterReaction.php | 53 + src/StompFactory.php | 5 + src/VersionCounter/VersionCounter.php | 80 -- .../VersionCounterInterface.php | 59 - ..._display.media.test_media_type.default.yml | 77 + ...ty_form_display.node.test_type.default.yml | 81 ++ ..._form_display.node.test_type.secondary.yml | 32 + .../core.entity_form_mode.node.secondary.yml | 9 + ...ty_view_display.node.test_type.default.yml | 27 + ...ity_view_display.node.test_type.teaser.yml | 19 + .../config/rest.resource.entity.file.yml | 28 + .../config/rest.resource.entity.media.yml | 40 + .../config/rest.resource.entity.node.yml | 40 + .../rest.resource.entity.taxonomy_term.yml | 43 + tests/fixtures/db/dump.php.gz | Bin 0 -> 903565 bytes tests/{static => fixtures}/test.jpeg | Bin tests/fixtures/test_file.txt | 1 + tests/fixtures/test_file2.txt | 1 + tests/src/Functional/AddMediaToNodeTest.php | 142 +- tests/src/Functional/DeleteMediaTest.php | 88 ++ .../src/Functional/DerivativeReactionTest.php | 79 ++ tests/src/Functional/EmitNodeEventTest.php | 403 +----- .../FormDisplayAlterReactionTest.php | 65 + tests/src/Functional/IsFileTest.php | 11 +- tests/src/Functional/IsMediaTest.php | 8 +- tests/src/Functional/IsNodeTest.php | 9 +- .../src/Functional/IsReferencedMediaTest.php | 144 -- tests/src/Functional/IsTermTest.php | 51 + .../IslandoraFunctionalTestBase.php | 323 ++--- tests/src/Functional/LinkHeaderTest.php | 237 ++++ tests/src/Functional/MediaLinkHeaderTest.php | 53 - .../src/Functional/MediaSourceUpdateTest.php | 145 +- tests/src/Functional/NodeLinkHeaderTest.php | 176 --- .../Functional/ViewModeAlterReactionTest.php | 89 ++ tests/src/Kernel/EventGeneratorTest.php | 25 +- tests/src/Kernel/IslandoraKernelTestBase.php | 6 +- 211 files changed, 9585 insertions(+), 2393 deletions(-) create mode 100644 .islandora.services.yml.swp delete mode 100644 config/install/core.entity_form_display.media.tn.default.yml delete mode 100644 config/install/core.entity_form_display.media.tn.inline.yml delete mode 100644 config/install/core.entity_form_mode.media.inline.yml delete mode 100644 config/install/core.entity_view_display.media.tn.content.yml delete mode 100644 config/install/core.entity_view_display.media.tn.default.yml delete mode 100644 config/install/core.entity_view_mode.media.content.yml delete mode 100644 config/install/field.field.media.tn.field_mimetype.yml delete mode 100644 config/install/islandora.settings.yml delete mode 100644 config/install/media_entity.bundle.tn.yml create mode 100644 config/install/system.action.delete_media.yml create mode 100644 config/install/system.action.delete_media_and_file.yml create mode 100644 islandora.links.action.yml create mode 100644 migrate/tags.csv create mode 100644 modules/islandora_core_feature/config/install/core.entity_view_display.media.audio.source.yml create mode 100644 modules/islandora_core_feature/config/install/core.entity_view_display.media.file.source.yml create mode 100644 modules/islandora_core_feature/config/install/core.entity_view_display.media.image.source.yml create mode 100644 modules/islandora_core_feature/config/install/core.entity_view_display.media.video.source.yml create mode 100644 modules/islandora_core_feature/config/install/core.entity_view_mode.media.source.yml create mode 100644 modules/islandora_core_feature/config/install/features.bundle.islandora.yml create mode 100644 modules/islandora_core_feature/config/install/field.field.media.audio.field_file_size.yml create mode 100644 modules/islandora_core_feature/config/install/field.field.media.audio.field_media_audio_file.yml create mode 100644 modules/islandora_core_feature/config/install/field.field.media.audio.field_media_of.yml create mode 100644 modules/islandora_core_feature/config/install/field.field.media.audio.field_mime_type.yml create mode 100644 modules/islandora_core_feature/config/install/field.field.media.audio.field_tags.yml create mode 100644 modules/islandora_core_feature/config/install/field.field.media.file.field_file_size.yml create mode 100644 modules/islandora_core_feature/config/install/field.field.media.file.field_media_file.yml create mode 100644 modules/islandora_core_feature/config/install/field.field.media.file.field_media_of.yml create mode 100644 modules/islandora_core_feature/config/install/field.field.media.file.field_mime_type.yml create mode 100644 modules/islandora_core_feature/config/install/field.field.media.file.field_tags.yml create mode 100644 modules/islandora_core_feature/config/install/field.field.media.image.field_file_size.yml rename config/install/field.field.media.tn.field_height.yml => modules/islandora_core_feature/config/install/field.field.media.image.field_height.yml (63%) rename config/install/field.field.media.tn.field_image.yml => modules/islandora_core_feature/config/install/field.field.media.image.field_media_image.yml (70%) create mode 100644 modules/islandora_core_feature/config/install/field.field.media.image.field_media_of.yml create mode 100644 modules/islandora_core_feature/config/install/field.field.media.image.field_mime_type.yml create mode 100644 modules/islandora_core_feature/config/install/field.field.media.image.field_tags.yml rename config/install/field.field.media.tn.field_width.yml => modules/islandora_core_feature/config/install/field.field.media.image.field_width.yml (63%) create mode 100644 modules/islandora_core_feature/config/install/field.field.media.video.field_file_size.yml create mode 100644 modules/islandora_core_feature/config/install/field.field.media.video.field_media_of.yml create mode 100644 modules/islandora_core_feature/config/install/field.field.media.video.field_media_video_file.yml create mode 100644 modules/islandora_core_feature/config/install/field.field.media.video.field_mime_type.yml create mode 100644 modules/islandora_core_feature/config/install/field.field.media.video.field_tags.yml create mode 100644 modules/islandora_core_feature/config/install/field.field.taxonomy_term.tags.field_external_uri.yml create mode 100644 modules/islandora_core_feature/config/install/field.storage.media.field_file_size.yml rename {config => modules/islandora_core_feature/config}/install/field.storage.media.field_height.yml (80%) rename config/install/field.storage.media.field_file.yml => modules/islandora_core_feature/config/install/field.storage.media.field_media_audio_file.yml (68%) create mode 100644 modules/islandora_core_feature/config/install/field.storage.media.field_media_file.yml rename config/install/field.storage.media.field_image.yml => modules/islandora_core_feature/config/install/field.storage.media.field_media_image.yml (66%) rename config/install/field.storage.node.field_tn.yml => modules/islandora_core_feature/config/install/field.storage.media.field_media_of.yml (57%) create mode 100644 modules/islandora_core_feature/config/install/field.storage.media.field_media_video_file.yml rename config/install/field.storage.media.field_mimetype.yml => modules/islandora_core_feature/config/install/field.storage.media.field_mime_type.yml (69%) rename config/install/field.storage.node.field_obj.yml => modules/islandora_core_feature/config/install/field.storage.media.field_tags.yml (53%) rename {config => modules/islandora_core_feature/config}/install/field.storage.media.field_width.yml (80%) rename config/install/field.storage.node.field_memberof.yml => modules/islandora_core_feature/config/install/field.storage.node.field_member_of.yml (69%) create mode 100644 modules/islandora_core_feature/config/install/field.storage.taxonomy_term.field_external_uri.yml create mode 100644 modules/islandora_core_feature/config/install/media.type.audio.yml create mode 100644 modules/islandora_core_feature/config/install/media.type.file.yml create mode 100644 modules/islandora_core_feature/config/install/media.type.image.yml create mode 100644 modules/islandora_core_feature/config/install/media.type.video.yml create mode 100644 modules/islandora_core_feature/config/install/migrate_plus.migration.islandora_tags.yml create mode 100644 modules/islandora_core_feature/config/install/migrate_plus.migration_group.islandora.yml create mode 100644 modules/islandora_core_feature/config/install/rdf.mapping.media.audio.yml rename config/install/rdf.mapping.media.tn.yml => modules/islandora_core_feature/config/install/rdf.mapping.media.file.yml (67%) create mode 100644 modules/islandora_core_feature/config/install/rdf.mapping.media.image.yml create mode 100644 modules/islandora_core_feature/config/install/rdf.mapping.media.video.yml create mode 100644 modules/islandora_core_feature/config/install/rdf.mapping.taxonomy_term.tags.yml create mode 100644 modules/islandora_core_feature/config/install/rest.resource.entity.file.yml create mode 100644 modules/islandora_core_feature/config/install/rest.resource.entity.media.yml create mode 100644 modules/islandora_core_feature/config/install/rest.resource.entity.node.yml create mode 100644 modules/islandora_core_feature/config/install/rest.resource.entity.taxonomy_term.yml rename {config => modules/islandora_core_feature/config}/install/system.action.delete_file_from_fedora.yml (67%) rename {config => modules/islandora_core_feature/config}/install/system.action.delete_media_from_triplestore.yml (67%) rename {config => modules/islandora_core_feature/config}/install/system.action.delete_node_from_fedora.yml (67%) rename {config => modules/islandora_core_feature/config}/install/system.action.delete_node_from_triplestore.yml (67%) create mode 100644 modules/islandora_core_feature/config/install/system.action.delete_taxonomy_term_in_fedora.yml create mode 100644 modules/islandora_core_feature/config/install/system.action.delete_taxonomy_term_in_triplestore.yml rename {config => modules/islandora_core_feature/config}/install/system.action.index_file_in_fedora.yml (67%) rename {config => modules/islandora_core_feature/config}/install/system.action.index_media_in_fedora.yml (68%) rename {config => modules/islandora_core_feature/config}/install/system.action.index_media_in_triplestore.yml (67%) rename {config => modules/islandora_core_feature/config}/install/system.action.index_node_in_fedora.yml (66%) rename {config => modules/islandora_core_feature/config}/install/system.action.index_node_in_triplestore.yml (66%) create mode 100644 modules/islandora_core_feature/config/install/system.action.index_taxonomy_term_in_fedora.yml create mode 100644 modules/islandora_core_feature/config/install/system.action.index_taxonomy_term_in_the_triplestore.yml create mode 100644 modules/islandora_core_feature/config/install/taxonomy.vocabulary.tags.yml create mode 100644 modules/islandora_core_feature/config/install/views.view.display_media.yml rename {config => modules/islandora_core_feature/config}/install/views.view.file_checksum.yml (96%) create mode 100644 modules/islandora_core_feature/config/install/views.view.manage_members.yml create mode 100644 modules/islandora_core_feature/config/install/views.view.media_of.yml create mode 100644 modules/islandora_core_feature/config/install/views.view.members.yml create mode 100644 modules/islandora_core_feature/islandora_core_feature.features.yml create mode 100644 modules/islandora_core_feature/islandora_core_feature.info.yml create mode 100644 modules/islandora_demo_feature/config/install/context.context.binary.yml create mode 100644 modules/islandora_demo_feature/config/install/context.context.collection.yml rename config/install/context.context.file.yml => modules/islandora_demo_feature/config/install/context.context.files.yml (75%) create mode 100644 modules/islandora_demo_feature/config/install/context.context.image_preservation_master.yml create mode 100644 modules/islandora_demo_feature/config/install/context.context.image_service_file.yml rename {config => modules/islandora_demo_feature/config}/install/context.context.media.yml (81%) create mode 100644 modules/islandora_demo_feature/config/install/context.context.open_seadragon.yml rename config/install/context.context.node.yml => modules/islandora_demo_feature/config/install/context.context.repository_content.yml (62%) create mode 100644 modules/islandora_demo_feature/config/install/context.context.taxonomy_terms.yml create mode 100644 modules/islandora_demo_feature/config/install/core.entity_form_display.media.audio.default.yml create mode 100644 modules/islandora_demo_feature/config/install/core.entity_form_display.media.file.default.yml create mode 100644 modules/islandora_demo_feature/config/install/core.entity_form_display.media.image.default.yml create mode 100644 modules/islandora_demo_feature/config/install/core.entity_form_display.media.video.default.yml create mode 100644 modules/islandora_demo_feature/config/install/core.entity_form_display.node.article.default.yml create mode 100644 modules/islandora_demo_feature/config/install/core.entity_form_display.node.islandora_object.default.yml create mode 100644 modules/islandora_demo_feature/config/install/core.entity_form_display.taxonomy_term.tags.default.yml create mode 100644 modules/islandora_demo_feature/config/install/core.entity_view_display.media.audio.default.yml create mode 100644 modules/islandora_demo_feature/config/install/core.entity_view_display.media.file.default.yml create mode 100644 modules/islandora_demo_feature/config/install/core.entity_view_display.media.file.open_seadragon.yml create mode 100644 modules/islandora_demo_feature/config/install/core.entity_view_display.media.image.default.yml create mode 100644 modules/islandora_demo_feature/config/install/core.entity_view_display.media.image.open_seadragon.yml create mode 100644 modules/islandora_demo_feature/config/install/core.entity_view_display.media.video.default.yml create mode 100644 modules/islandora_demo_feature/config/install/core.entity_view_display.node.islandora_object.binary.yml create mode 100644 modules/islandora_demo_feature/config/install/core.entity_view_display.node.islandora_object.default.yml create mode 100644 modules/islandora_demo_feature/config/install/core.entity_view_display.node.islandora_object.open_seadragon.yml create mode 100644 modules/islandora_demo_feature/config/install/core.entity_view_display.node.islandora_object.teaser.yml create mode 100644 modules/islandora_demo_feature/config/install/core.entity_view_display.taxonomy_term.tags.default.yml create mode 100644 modules/islandora_demo_feature/config/install/core.entity_view_mode.media.open_seadragon.yml create mode 100644 modules/islandora_demo_feature/config/install/core.entity_view_mode.node.binary.yml create mode 100644 modules/islandora_demo_feature/config/install/core.entity_view_mode.node.open_seadragon.yml create mode 100644 modules/islandora_demo_feature/config/install/core.entity_view_mode.node.teaser.yml create mode 100644 modules/islandora_demo_feature/config/install/field.field.node.islandora_object.field_description.yml create mode 100644 modules/islandora_demo_feature/config/install/field.field.node.islandora_object.field_member_of.yml create mode 100644 modules/islandora_demo_feature/config/install/field.field.node.islandora_object.field_tags.yml rename {config => modules/islandora_demo_feature/config}/install/field.storage.node.field_description.yml (95%) create mode 100644 modules/islandora_demo_feature/config/install/migrate_plus.migration.islandora_demo_tags.yml create mode 100644 modules/islandora_demo_feature/config/install/node.type.islandora_object.yml create mode 100644 modules/islandora_demo_feature/config/install/rdf.mapping.node.islandora_object.yml create mode 100644 modules/islandora_demo_feature/config/install/system.action.generate_a_service_file_from_preservation_master.yml create mode 100644 modules/islandora_demo_feature/config/install/system.action.generate_a_thumbnail_from_an_image_service_file.yml create mode 100644 modules/islandora_demo_feature/config/install/views.view.openseadragon_media_evas.yml create mode 100644 modules/islandora_demo_feature/islandora_demo_feature.features.yml create mode 100644 modules/islandora_demo_feature/islandora_demo_feature.info.yml create mode 100644 modules/islandora_demo_feature/migrate/tags.csv create mode 100644 src/ContextProvider/TermContextProvider.php create mode 100644 src/ContextProvider/TermRouteContextProvider.php create mode 100644 src/ContextReaction/DisplayAlterReaction.php create mode 100644 src/Controller/ManageMediaController.php create mode 100644 src/Controller/ManageMembersController.php create mode 100644 src/EventSubscriber/AdminViewsRouteSubscriber.php create mode 100644 src/IslandoraUtils.php delete mode 100644 src/ParamConverter/UuidEntityConverter.php create mode 100644 src/Plugin/Action/DeleteMedia.php create mode 100644 src/Plugin/Action/DeleteMediaAndFile.php create mode 100644 src/Plugin/Action/EmitTermEvent.php create mode 100644 src/Plugin/Condition/.NodeHasTerm.php.swp delete mode 100644 src/Plugin/Condition/IsReferencedMedia.php create mode 100644 src/Plugin/Condition/IsTerm.php create mode 100644 src/Plugin/Condition/MediaHasTerm.php create mode 100644 src/Plugin/Condition/NodeHasTerm.php create mode 100644 src/Plugin/Condition/ParentNodeHasTerm.php create mode 100644 src/Plugin/ContextReaction/DerivativeReaction.php create mode 100644 src/Plugin/ContextReaction/FormDisplayAlterReaction.php create mode 100644 src/Plugin/ContextReaction/ViewModeAlterReaction.php delete mode 100644 src/VersionCounter/VersionCounter.php delete mode 100644 src/VersionCounter/VersionCounterInterface.php create mode 100644 tests/fixtures/config/core.entity_form_display.media.test_media_type.default.yml create mode 100644 tests/fixtures/config/core.entity_form_display.node.test_type.default.yml create mode 100644 tests/fixtures/config/core.entity_form_display.node.test_type.secondary.yml create mode 100644 tests/fixtures/config/core.entity_form_mode.node.secondary.yml create mode 100644 tests/fixtures/config/core.entity_view_display.node.test_type.default.yml create mode 100644 tests/fixtures/config/core.entity_view_display.node.test_type.teaser.yml create mode 100644 tests/fixtures/config/rest.resource.entity.file.yml create mode 100644 tests/fixtures/config/rest.resource.entity.media.yml create mode 100644 tests/fixtures/config/rest.resource.entity.node.yml create mode 100644 tests/fixtures/config/rest.resource.entity.taxonomy_term.yml create mode 100644 tests/fixtures/db/dump.php.gz rename tests/{static => fixtures}/test.jpeg (100%) create mode 100644 tests/fixtures/test_file.txt create mode 100644 tests/fixtures/test_file2.txt create mode 100644 tests/src/Functional/DeleteMediaTest.php create mode 100644 tests/src/Functional/DerivativeReactionTest.php create mode 100644 tests/src/Functional/FormDisplayAlterReactionTest.php delete mode 100644 tests/src/Functional/IsReferencedMediaTest.php create mode 100644 tests/src/Functional/IsTermTest.php create mode 100644 tests/src/Functional/LinkHeaderTest.php delete mode 100644 tests/src/Functional/MediaLinkHeaderTest.php delete mode 100644 tests/src/Functional/NodeLinkHeaderTest.php create mode 100644 tests/src/Functional/ViewModeAlterReactionTest.php diff --git a/.islandora.services.yml.swp b/.islandora.services.yml.swp new file mode 100644 index 0000000000000000000000000000000000000000..7095e73a6631e6c3b5d72c0107fec8a2cdae636e GIT binary patch literal 12288 zcmeI2&x;&I6vrz zAMzrnald4vev*Yn%tSxPQpuxHKN2xb!;I6dU#?($76nYW^CaHOWY)$Kumm~;4w2KR zo<6A>k3V|MIr6}Ir{7*$0+xU!Uw5po^+ z9{Lnw&=qI^9ffWjCgfY_3+O}W4d_|uA?W8rgj|DOhb}-p=8|Y)`5_A?i2JMG_IEZnAgj3$1`X`VCgH#dHZC^?&6UO6(wqu0)e+~sz#Y@vUGt&9q{r9 zF0wG9!>r%|^A>&&b;X+zQKC$JQQ7)+Nt_PQaZWhzIVnxp!0FX+{hVjBC`2sI`xOOA zCp+?J;^tW)RX{SB_Llp6MlavxdIIl!6tmaV=uU^>{TN2Ro}=sG|00MA{>muy8Y~aP z*lz8HteHAaPSrLWIB_m4UlhbC5ra|uyeUwyY;0(D>fSjbkW|bk@b=7%l z#R_)uUCKiCN|bKC%qR}{F7#3u`7x~gX=S#sZnrYM<*BJlsyfvxQR!3tAG2yUOSOA+ zRAU;*jL+3mcH5(_8`*_YcABuU0z5+{yE#PLZ)6<8w@Z1Vd+yAmgmgZRCT{I~y_J`R zGL%`8pVzVO>~v+}4JCpZ7jboEI3?5_^e$eSa$aI7;}lH2idB1Q+>EK@G-)jLUCjv5 zk2jw7bw%@CeCQ&l(*zulK#^kioE9&uVR&fjVcvQXh3BfN+BU;ca~4;7H6TrO{D2%^ Wc>ifyRn5HWS!-UEoci5DkbeNzXvHM} literal 0 HcmV?d00001 diff --git a/.travis.yml b/.travis.yml index a41e33f9..3e29ad8f 100644 --- a/.travis.yml +++ b/.travis.yml @@ -22,8 +22,8 @@ install: - $SCRIPT_DIR/travis_setup_drupal.sh - git -C "$TRAVIS_BUILD_DIR" checkout -b travis-testing - cd $DRUPAL_DIR; - - php -dmemory_limit=-1 $COMPOSER_PATH config repositories.local path "$TRAVIS_BUILD_DIR" - - php -dmemory_limit=-1 $COMPOSER_PATH require "islandora/islandora:dev-travis-testing as dev-8.x-1.x" --prefer-source --update-with-dependencies + - COMPOSER_MEMORY_LIMIT=-1 php -d memory_limit=-1 $COMPOSER_PATH config repositories.local path "$TRAVIS_BUILD_DIR" + - COMPOSER_MEMORY_LIMIT=-1 php -d memory_limit=-1 $COMPOSER_PATH require "islandora/islandora:dev-travis-testing as dev-8.x-1.x" --prefer-source --update-with-dependencies - cd web; drush --uri=127.0.0.1:8282 en -y islandora script: diff --git a/README.md b/README.md index 080b9e0d..bb38f386 100644 --- a/README.md +++ b/README.md @@ -5,51 +5,201 @@ ## Introduction -CLAW's core Islandora module for Drupal 8.x +Islandora is a module that turns a Drupal 8 site into a control panel for your digital repository. Through a user +interface, it allows repository administrators to +- Persist digital content in a Fedora repository +- Model digital content using core Drupal entities (nodes, media, files, and taxonomy terms). Currently, there is +support for + - collections + - images + - binary files (including PDfs) + - audio + - video +- Design forms for editing metadata +- Control the display and theming of digital content +- Perform full text searching of content and metadata +- Bulk ingest content (using Drupal's migrate framework) +- Administer fine grained access control +- Index RDF metadata in a triplestore +- Generate derivative files, such as web quality represenations. + - Currently, only image derivatives are supported (requires islandora_image), but more to come. +- Apply bulk operations to lists of content (re-index content, regenerate derivatives, etc...) +- And much, much more... + +Content in an Islandora repository is treated as ordinary Drupal content, so the entire Drupal ecosystem of contributed +modules is at your disposal. In fact, Islandora uses many contributed modules itself, including the extremely powerful +and flexible `context` module. The `context` module allows users to do many things through a UI that normally would +require programming custom modules or themes. Want to show certain users a simplified form for data entry? Want to +give each collection a different theme? Want to give anonymous users a restricted view? All of this can be done using +the `context` module. It is similar to the `rules` module, and it allows repository administrators to filter repository events (view, create, +update, delete, etc...) by the criteria of their choice and respond by executing configurable actions. + +## Requirements / Installation + +Setting up a full digital repsository is a daunting task involving many moving parts on one or more servers. To make things +easier to get started, you can fully bootstrap a complete repository solution using our Ansible installer, claw-playbook. +It can install both to a local Vagrant environment for development purposes, or it can install to one or more remote servers +by providing your own playbook. By default you'll get one server with everything on it (i.e. the kitchen sink install). But +we have broken down each component into its own Ansible role, so more advanced users can create customized builds containing +only what their needs require. See the README for more details. + +## Configuration + +If you want to get up and running as quickly as possible, import the `islanora_demo_feature` feature to install example configuration +and bootstrap your site. If you're starting from scratch, then _at a minimum_, you must: +1. Set the url to your message broker at `admin/config/islandora` +1. Enable the `islandora_core_feature` module, then visit `admin/config/development/features` and import its config. It contains +everything required for basic content modeling. You can also use drush to import the feature +`drush -y fim --bundle=islandora islandora_core_feature`. +1. Run the migration to load the taxonomy terms required by Islandora. This can be done by visiting `admin/structure/migrate`, or executed via drush +`drush -l http://localhost:8000 mim --group=islandora`. + +## Content Modeling + +Islandora uses core Drupal 8 functionality for modeling content. Most core content entities are utilized: + +1. Nodes + 1. Nodes hold descriptive and structural metadata about objects in your repository. Membership between nodes (e.g. members +of a collection, or pages of a book) is denoted with `field_member_of`, which is provided by `islandora_core_feature`. +Additional behavior can be controlled by tagging nodes with taxonomy terms using `field_tags`. +1. Media + 1. Media hold technical metadata for the files they represent. There are four core media types, used for audio, video, +images, and generic files. Media are associated with a node using `field_media_of`, which is provided by `islandora_core_feature`. +The role of the media is indicated by tagging it with a taxonomy term using `field_tags`. For example, +tagging a media as 'Preservation Master' indicates that it is the master archival copy of a file, while 'Service File' would +indicate that it is a lower quality derivative intended to be shown to the average user. +1. Files + 1. Files hold the binary conents that are described by Media. They often created along with a media to hold its technical metadata, +but can be created and then later associted with a Media in a separate process. +1. Taxonomy Terms + 1. Taxonomy terms are used to tag nodes and media so they can be classified, organized, and acted upon. They must contain a +`field_external_uri` field that holds an external URI for the term from a controlled vocabulary / ontology. The `islandora_core_feature` +provides a migration that can be executed to load all of the required terms for basic use into your repository. + +The `islandora_demo_feature` provides a complete example of content modeling in Islandora for audio, video, files, and images, including +tiff and JP2 support (e.g. large images). This includes some more advanced techniques, like switching display modes based on +taxonomy terms so 'images' and 'large images' can share a metadata profile but be displayed differently. It also includes +example actions for generating image derivatives (using the `islandora_image` module). You may not, however, want all of this functionality. +In fact, this feature is not meant to be the end-all-be-all of content modeling, but serves as an example of how it's done using +Islandora. You can take as much or as little of it as you'd like. If you're doing you're own thing, the gist is: + +- When making your own content type, it will require `field_member_of`, `field_tags`, and an rdf mapping. +- When making your own media type, it will require `field_media_of`, `field_tags`, `field_mimetype`, an rdf mapping, and a field to hold the file. +You can re-use `field_media_file`, `field_media_image`, `field_media_audio`, and `field_media_video` to do so. Media should +always be tagged (`field_tags`) with a term from the pcdmuse ontology (preservation master, service file, thumbnail image) to denote its usage. +- When making your own taxonomy vocabulary, its terms will require `field_external_uri` and an rdf mapping. +- All rdf mappings need to map the `changed` time to `schema:dateModified`. + +## Actions + +Islandora provides several useful actions for repository administrators that can be configured and executed through the user +interface. Any view can expose bulk operations by adding a `Bulk update` field to its display. + +Islandora also provides a thin wrapper around Actions so that they can be used in conjunction with the `context` module. +Repository events for indexing, deletion, and derivative generation are all handled by selecting one or more preconfigured +actions using the `context` user interface. + +### Delete Media + +You can use the `Delete media` action to bulk delete media, but not delete source files. + +### Delete Media and File(s) + +You can use the `Delete media and file(s)` action to bulk delete media and their source files. + +### Emit Node/Media/File/Term Event + +You can use `Emit a * event to a queue/topic` actions to produce messages so background processes can consume them and +perform work. The `islandora_core_feature` contains several preconfigured actions to perform indexing and removal +operations for Fedora and a triplestore. -## Installation +## REST API -For a fully automated install, see [claw-playbook](https://github.com/Islandora-Devops/claw-playbook). If you're installing -manually, then _at a minimum_, the REST configuration for Nodes, Media, and Files need to be enabled with `jwt_auth` for -authentication on all methods. The `json` and `jsonld` formats need to be enabled for for GET requests. Only the `json` fomat -is required for POST, PATCH, and DELETE requests. +Islandora has a light, mostly RESTful HTTP API that relies heavily on Drupal's core Rest module. The majority of what Islandora +provides is Link headers in GET and HEAD responses. These headers can be used to locate related resources and navigate your +repository. In addition to these link headers, there are additional endpoints exposed for uploading files, as well as a couple +of useful REST exports. -This can be done using the Rest UI module by setting granularity to 'Method'. If you want to use GET requests through a browser, -you'll want to enable `cookie` authentication. And if you want to use a username/password with cURL, you'll want to enable `basic -authentication`. +### Exposed Headers -![screenshot from 2018-03-09 10-09-57](https://user-images.githubusercontent.com/20773151/37212586-caf31dc8-2385-11e8-8122-1608dacbfb5f.png) +#### Referenced taxonomy terms (Nodes and Media) -If you want to import the configuration through Drupal's configuration synchronization tools, you can use these yaml files -from claw-playbook for [Nodes](https://github.com/Islandora-Devops/claw-playbook/blob/master/roles/internal/webserver-app/files/rest.resource.entity.node.yml), -[Media](https://github.com/Islandora-Devops/claw-playbook/blob/master/roles/internal/webserver-app/files/rest.resource.entity.media.yml), -and [Files](https://github.com/Islandora-Devops/claw-playbook/blob/master/roles/internal/webserver-app/files/rest.resource.entity.file.yml). +The taxonomy terms used to tag content are exposed as link headers with `rel="tag"` and a title equal to the taxonomy term's display +label. If the term has an external uri in a controlled vocabulary, then that uri is provided. Otherwise, the local Drupal uri is +provided. For example, if a piece of content is tagged with `taxonomy/term/1`, which has a display label of "Example Term", then the +link header returned in a GET or HEAD response would look like `Link: ; rel="tag"; title="Example Term"` -## REST API +If instead the term were to have the `field_external_uri` field with a value of `http://purl.org/dc/dcmitype/Collection` then the link +header would look like `Link: ; rel="tag"; title="Example Term"`. -Islandora has a light, mostly RESTful HTTP API that relies heavily on Drupal's core Rest module. +#### Referenced entities (Nodes and Media) -### /media/{media}/source +Entity reference fields are exposed as link headers with `rel="related"` and a title equal to the entity reference field's display label. +For example, if `http://example.org/node/1` has an entity reference field name "Associated Content" that references +`http://example.org/node/2`, then the link header returned in a GET or HEAD response would look like +`Link: ; rel="related"; title="Associated Content"`. -You can PUT content to the `/media/{media}/source` endpoint to update the File associated with a Media. The `Content-Type` -header is expected, as well as a `Content-Disposition` header of the form `attachment; filename="your_filename"` to indicate -the name to give the file. Requests with empty bodies or no `Content-Length` header will be rejected. +#### Associated media (Nodes only) + +Media entities that belong to nodes and are tagged with terms from the PCDM Use ontology are exposed as link headers with `rel="related"` +and a title equal to the display label of the taxonomy term. For example, if a Media is tagged as `Preservation Master` indicating +that it is the archival copy, the link header returned in a GET or HEAD response for a node would look like +`Link: ; rel="related"; title="Preservation Master"`. + +#### Source files (Media only) + +Files that are the source for Media entities are exposed as Link headers in the GET and HEAD responses with `rel="describes"`. The endpoint +to edit the contents of the source file is also exposed using `rel="edit-media"`. For example, if `http://example.org/media/1` has the source +file `http://example.org/file.txt`, then a GET or HEAD response would contain both +- `Link: ; rel="describes"` +- `Link: ; rel="edit-media"` + +### Exposed Endpoints + +#### /media/{media}/source + +You can PUT content to the `/media/{media}/source` endpoint to update the source file for a media. The `Content-Type` +header is required in addition to the PUT body. Requests with empty bodies or no `Content-Type` header will be rejected. Example usage: ``` -curl -u admin:islandora -v -X PUT -H 'Content-Type: image/png' -H 'Content-Disposition: attachment; filename="my_image.png"' --data-binary @my_image.png localhost:8000/media/1/source +curl -u admin:islandora -v -X PUT -H 'Content-Type: image/png' --data-binary @my_image.png localhost:8000/media/1/source ``` -### /node/{node}/media/{field}/add/{bundle} +#### /node/{node}/media/{media_type}/{taxonomy_term} -You can POST content to the `/node/{node}/media/{field}/add/{bundle}` endpoint to create a new Media of the specified bundle -using the POST body. It will be associated with the specified Node using the field from the route. The `Content-Type` +You can PUT content to the `/node/{node}/media/{media_type}/{taxonomy_term}` endpoint to create or update Media for Nodes. Media created +in this way will automatically be assigned to the node in the route and tagged with the term in the route. The `Content-Type` header is expected, as well as a `Content-Disposition` header of the form `attachment; filename="your_filename"` to indicate -the name to give the file. Requests with empty bodies or no `Content-Length` header will be rejected. +the name to give the file if it's new. Requests with empty bodies or that are without `Content-Type` and `Content-Disposition` +headers will be rejected. + +For example, to create a new Image media for node 1, and tag it with taxonomy term 1: +``` +curl -v -u admin:islandora -H "Content-Type: image/jpeg" -H "Content-Disposition: attachment; filename=\"test.jpeg\"" --data-binary @test.jpeg http://localhost:8000/node/1/media/image/1 +``` + +Or, to update an existing image media that is tagged with taxonomy term 2: +``` +curl -v -u admin:islandora -H "Content-Type: image/jpeg" -H "Content-Disposition: attachment; filename=\"test2.jpeg\"" --data-binary @test2.jpeg http://localhost:8000/node/1/media/image/2 +``` + +#### /node/{node}/members + +You can issue GET requests to this endpoint to get a list of members of a node. It is actually a REST export, and requires the `_format` query param. It can (read should) also be paged +like other REST export. For example, to get a paged list of members for a node, ten at a time: + +``` +curl -v -u admin:islandora http://localhost:8000/node/1/members?_format=json&items_per_page=10&offset=0 +``` + +#### /node/{node}/media + +You can issue GET requests to this endpoint to get a list of media of a node. It is actually a REST export, and requires the `_format` query param. Like the members endpoint, it can +be paged, but is less likely to be neccessary as most nodes don't have that many media. For example, to get the full list of media for a node: -Example usage: ``` -curl -v -u admin:islandora -H "Content-Type: image/jpeg" -H "Content-Disposition: attachment; filename=\"test.jpeg\"" --data-binary @test.jpeg http://localhost:8000/node/1/media/my_media_field/add/my_media_bundle +curl -v -u admin:islandora http://localhost:8000/node/1/media?_format=json ``` ## Maintainers @@ -58,6 +208,7 @@ Current maintainers: * [Diego Pino](https://github.com/diegopino) * [Jared Whiklo](https://github.com/whikloj) +* [Danny Lamb](https://github.com/dannylamb) ## Development diff --git a/composer.json b/composer.json index e3f76615..324d21c3 100644 --- a/composer.json +++ b/composer.json @@ -15,14 +15,19 @@ } ], "require": { - "drupal/inline_entity_form": "^1.0@beta", "drupal/context": "^4.0", - "drupal/search_api": "^1.0@beta", + "drupal/search_api": "1.x-dev", "islandora/jsonld": "dev-8.x-1.x", "stomp-php/stomp-php": "4.*", "drupal/jwt": "1.0.0-alpha6", - "drupal/media_entity_image": "^1.2", - "drupal/filehash": "^1.1" + "drupal/filehash": "^1.1", + "drupal/prepopulate" : "^2.0@alpha", + "drupal/eva" : "^1.3", + "drupal/features" : "^3.7", + "drupal/migrate_plus" : "4.0-beta3", + "drupal/migrate_tools" : "4.0-beta3", + "drupal/migrate_source_csv" : "^2.1", + "drupal/permissions_by_term" : "^1.51" }, "require-dev": { "phpunit/phpunit": "^4.8", diff --git a/config/install/core.entity_form_display.media.tn.default.yml b/config/install/core.entity_form_display.media.tn.default.yml deleted file mode 100644 index 4d4d5f98..00000000 --- a/config/install/core.entity_form_display.media.tn.default.yml +++ /dev/null @@ -1,41 +0,0 @@ -uuid: 9a8e59ea-6372-4dd8-8643-4afcaa583185 -langcode: en -status: true -dependencies: - config: - - field.field.media.tn.field_height - - field.field.media.tn.field_image - - field.field.media.tn.field_mimetype - - field.field.media.tn.field_width - - image.style.thumbnail - - media_entity.bundle.tn - enforced: - module: - - islandora - module: - - image -id: media.tn.default -targetEntityType: media -bundle: tn -mode: default -content: - field_image: - weight: 1 - settings: - progress_indicator: throbber - preview_image_style: thumbnail - third_party_settings: { } - type: image_image - name: - type: string_textfield - weight: 0 - settings: - size: 60 - placeholder: '' - third_party_settings: { } -hidden: - created: true - field_height: true - field_mimetype: true - field_width: true - uid: true diff --git a/config/install/core.entity_form_display.media.tn.inline.yml b/config/install/core.entity_form_display.media.tn.inline.yml deleted file mode 100644 index e00a3040..00000000 --- a/config/install/core.entity_form_display.media.tn.inline.yml +++ /dev/null @@ -1,36 +0,0 @@ -uuid: 7102e88a-f6ea-40db-9bbc-9ac31b1f99a3 -langcode: en -status: true -dependencies: - config: - - core.entity_form_mode.media.inline - - field.field.media.tn.field_height - - field.field.media.tn.field_image - - field.field.media.tn.field_mimetype - - field.field.media.tn.field_width - - image.style.thumbnail - - media_entity.bundle.tn - enforced: - module: - - islandora - module: - - image -id: media.tn.inline -targetEntityType: media -bundle: tn -mode: inline -content: - field_image: - weight: 0 - settings: - progress_indicator: throbber - preview_image_style: thumbnail - third_party_settings: { } - type: image_image -hidden: - created: true - field_height: true - field_mimetype: true - field_width: true - name: true - uid: true diff --git a/config/install/core.entity_form_mode.media.inline.yml b/config/install/core.entity_form_mode.media.inline.yml deleted file mode 100644 index 5196d198..00000000 --- a/config/install/core.entity_form_mode.media.inline.yml +++ /dev/null @@ -1,13 +0,0 @@ -uuid: 2cea66e8-8a46-4292-906c-24d85f6b8c04 -langcode: en -status: true -dependencies: - enforced: - module: - - islandora - module: - - media_entity -id: media.inline -label: Inline -targetEntityType: media -cache: true diff --git a/config/install/core.entity_view_display.media.tn.content.yml b/config/install/core.entity_view_display.media.tn.content.yml deleted file mode 100644 index 56d2844d..00000000 --- a/config/install/core.entity_view_display.media.tn.content.yml +++ /dev/null @@ -1,37 +0,0 @@ -uuid: cf7d61f8-9098-49c7-a46f-0f6d26692c0e -langcode: en -status: true -dependencies: - config: - - core.entity_view_mode.media.content - - field.field.media.tn.field_height - - field.field.media.tn.field_image - - field.field.media.tn.field_mimetype - - field.field.media.tn.field_width - - media_entity.bundle.tn - enforced: - module: - - islandora - module: - - image -id: media.tn.content -targetEntityType: media -bundle: tn -mode: content -content: - field_image: - weight: 0 - label: above - settings: - image_style: '' - image_link: '' - third_party_settings: { } - type: image -hidden: - created: true - field_height: true - field_mimetype: true - field_width: true - name: true - thumbnail: true - uid: true diff --git a/config/install/core.entity_view_display.media.tn.default.yml b/config/install/core.entity_view_display.media.tn.default.yml deleted file mode 100644 index b0fc89fa..00000000 --- a/config/install/core.entity_view_display.media.tn.default.yml +++ /dev/null @@ -1,76 +0,0 @@ -uuid: dae6d069-ea8a-48eb-9d7f-44f10b38dff8 -langcode: en -status: true -dependencies: - config: - - field.field.media.tn.field_height - - field.field.media.tn.field_image - - field.field.media.tn.field_mimetype - - field.field.media.tn.field_width - - media_entity.bundle.tn - enforced: - module: - - islandora - module: - - image - - user -id: media.tn.default -targetEntityType: media -bundle: tn -mode: default -content: - created: - label: hidden - type: timestamp - weight: 2 - settings: - date_format: medium - custom_date_format: '' - timezone: '' - third_party_settings: { } - field_height: - weight: 6 - label: above - settings: - thousand_separator: '' - prefix_suffix: true - third_party_settings: { } - type: number_integer - field_image: - weight: 3 - label: above - settings: - image_style: '' - image_link: '' - third_party_settings: { } - type: image - field_mimetype: - weight: 4 - label: above - settings: - link_to_entity: false - third_party_settings: { } - type: string - field_width: - weight: 5 - label: above - settings: - thousand_separator: '' - prefix_suffix: true - third_party_settings: { } - type: number_integer - name: - label: hidden - type: string - weight: 0 - settings: - link_to_entity: false - third_party_settings: { } - uid: - label: hidden - type: author - weight: 1 - settings: { } - third_party_settings: { } -hidden: - thumbnail: true diff --git a/config/install/core.entity_view_mode.media.content.yml b/config/install/core.entity_view_mode.media.content.yml deleted file mode 100644 index cbbcdf7f..00000000 --- a/config/install/core.entity_view_mode.media.content.yml +++ /dev/null @@ -1,14 +0,0 @@ -uuid: 72d426d5-5788-4a12-828b-31d7176e9e30 -langcode: en -status: true -dependencies: - module: - - media_entity - - islandora - enforced: - module: - - islandora -id: media.content -label: Content -targetEntityType: media -cache: true diff --git a/config/install/field.field.media.tn.field_mimetype.yml b/config/install/field.field.media.tn.field_mimetype.yml deleted file mode 100644 index 0fddade8..00000000 --- a/config/install/field.field.media.tn.field_mimetype.yml +++ /dev/null @@ -1,22 +0,0 @@ -uuid: dd6d11c2-912c-49c4-a88b-66263a800727 -langcode: en -status: true -dependencies: - config: - - field.storage.media.field_mimetype - - media_entity.bundle.tn - enforced: - module: - - islandora -id: media.tn.field_mimetype -field_name: field_mimetype -entity_type: media -bundle: tn -label: Mimetype -description: 'Thumbnail mimetype' -required: false -translatable: true -default_value: { } -default_value_callback: '' -settings: { } -field_type: string diff --git a/config/install/islandora.settings.yml b/config/install/islandora.settings.yml deleted file mode 100644 index 60a09ba9..00000000 --- a/config/install/islandora.settings.yml +++ /dev/null @@ -1,5 +0,0 @@ -broker_url: 'tcp://localhost:61613' -fedora_rest_endpoint: 'http://localhost:8080/fcrepo/rest' -_core: - default_config_hash: nDZDR2rrpXXQ-D_7BYrdDFAXYOsB5hgH6vCAMV5I3w8 -broadcast_queue: islandora-connector-broadcast diff --git a/config/install/media_entity.bundle.tn.yml b/config/install/media_entity.bundle.tn.yml deleted file mode 100644 index 3a78e2a8..00000000 --- a/config/install/media_entity.bundle.tn.yml +++ /dev/null @@ -1,22 +0,0 @@ -uuid: 76912590-fe79-472d-9025-3538a6dfb5cb -langcode: en -status: true -dependencies: - module: - - media_entity_image - enforced: - module: - - islandora -id: tn -label: TN -description: 'Thumbnail image file' -type: image -queue_thumbnail_downloads: false -new_revision: false -type_configuration: - source_field: field_image - gather_exif: false -field_map: - mime: field_mimetype - width: field_width - height: field_height diff --git a/config/install/system.action.delete_media.yml b/config/install/system.action.delete_media.yml new file mode 100644 index 00000000..c90edea0 --- /dev/null +++ b/config/install/system.action.delete_media.yml @@ -0,0 +1,13 @@ +langcode: en +status: true +dependencies: + enforced: + module: + - islandora + module: + - media +id: delete_media +label: 'Delete media' +type: media +plugin: delete_media +configuration: { } diff --git a/config/install/system.action.delete_media_and_file.yml b/config/install/system.action.delete_media_and_file.yml new file mode 100644 index 00000000..c0012c24 --- /dev/null +++ b/config/install/system.action.delete_media_and_file.yml @@ -0,0 +1,13 @@ +langcode: en +status: true +dependencies: + enforced: + module: + - islandora + module: + - media +id: delete_media_and_file +label: 'Delete media and file(s)' +type: media +plugin: delete_media_and_file +configuration: { } diff --git a/config/schema/islandora.schema.yml b/config/schema/islandora.schema.yml index b0bec045..350fc302 100644 --- a/config/schema/islandora.schema.yml +++ b/config/schema/islandora.schema.yml @@ -36,7 +36,7 @@ action.configuration.emit_media_event: action.configuration.emit_file_event: type: mapping - label: 'Emit a Flie event to a queue/topic' + label: 'Emit a File event to a queue/topic' mapping: queue: type: text @@ -45,6 +45,25 @@ action.configuration.emit_file_event: type: text label: 'Event Type' +action.configuration.emit_term_event: + type: mapping + label: 'Emit a Taxonomy Term event to a queue/topic' + mapping: + queue: + type: text + label: 'Queue' + event: + type: text + label: 'Event Type' + +action.configuration.delete_media: + type: action_configuration_default + label: 'Delete media' + +action.configuration.delete_media_and_file: + type: action_configuration_default + label: 'Delete media and file' + condition.plugin.is_node: type: condition.plugin mapping: @@ -53,13 +72,31 @@ condition.plugin.is_media: type: condition.plugin mapping: -condition.plugin.is_referenced_media: +condition.plugin.is_file: type: condition.plugin mapping: - field: - type: text - label: 'Reference Field' -condition.plugin.is_file: +condition.plugin.is_term: + type: condition.plugin + mapping: + +condition.plugin.node_has_term: + type: condition.plugin + mapping: + uri: + type: text + label: 'Taxonomy Term URI' + +condition.plugin.media_has_term: + type: condition.plugin + mapping: + uri: + type: text + label: 'Taxonomy Term URI' + +condition.plugin.parent_node_has_term: type: condition.plugin mapping: + uri: + type: text + label: 'Taxonomy Term URI' diff --git a/islandora.info.yml b/islandora.info.yml index fd0d81ac..563a711b 100644 --- a/islandora.info.yml +++ b/islandora.info.yml @@ -11,13 +11,20 @@ dependencies: - path - text - options - - inline_entity_form + - link - jsonld - search_api - jwt - - media_entity_image - - rest + - rest - filehash - basic_auth - - context + - context_ui - action + - eva + - taxonomy + - views_ui + - media + - prepopulate + - features_ui + - migrate_tools + - migrate_source_csv diff --git a/islandora.links.action.yml b/islandora.links.action.yml new file mode 100644 index 00000000..97b16e10 --- /dev/null +++ b/islandora.links.action.yml @@ -0,0 +1,11 @@ +islandora.add_media_to_node: + route_name: islandora.add_media_to_node_page + title: Add media + appears_on: + - view.media_of.page_1 + +islandora.add_member_to_node: + route_name: islandora.add_member_to_node_page + title: Add member + appears_on: + - view.manage_members.page_1 diff --git a/islandora.module b/islandora.module index dfe3c6fe..c1d6b17c 100644 --- a/islandora.module +++ b/islandora.module @@ -15,9 +15,10 @@ */ use Drupal\Core\Entity\EntityInterface; -use Drupal\islandora\ContextProvider\NodeContextProvider; -use Drupal\islandora\ContextProvider\MediaContextProvider; -use Drupal\islandora\ContextProvider\FileContextProvider; +use Drupal\node\NodeInterface; +use Drupal\media\MediaInterface; +use Drupal\file\FileInterface; +use Drupal\taxonomy\TermInterface; use Drupal\Core\Routing\RouteMatchInterface; /** @@ -58,104 +59,185 @@ function islandora_rdf_namespaces() { } /** - * Implements hook_entity_insert(). + * Implements hook_node_insert(). */ -function islandora_entity_insert(EntityInterface $entity) { - switch ($entity->getEntityType()->id()) { - case "node": - $provider = new NodeContextProvider($entity); - break; +function islandora_node_insert(NodeInterface $node) { + $utils = \Drupal::service('islandora.utils'); - case "media": - $provider = new MediaContextProvider($entity); - break; + // Execute index reactions. + $utils->executeNodeReactions('\Drupal\islandora\Plugin\ContextReaction\IndexReaction', $node); +} - case "file": - $provider = new FileContextProvider($entity); - break; +/** + * Implements hook_node_update(). + */ +function islandora_node_update(NodeInterface $node) { - default: - $provider = NULL; - break; - } + $utils = \Drupal::service('islandora.utils'); + if (!$utils->haveFieldsChanged($node, $node->original)) { + return; + }; - if ($provider) { - $context_manager = \Drupal::service('context.manager'); - $provided = $provider->getRuntimeContexts([]); - $context_manager->evaluateContexts($provided); + // Execute index reactions. + $utils->executeNodeReactions('\Drupal\islandora\Plugin\ContextReaction\IndexReaction', $node); +} - foreach ($context_manager->getActiveReactions('index') as $reaction) { - $reaction->execute($entity); - } +/** + * Implements hook_node_delete(). + */ +function islandora_node_delete(NodeInterface $node) { + $utils = \Drupal::service('islandora.utils'); + + // Execute delete reactions. + $utils->executeNodeReactions('\Drupal\islandora\Plugin\ContextReaction\DeleteReaction', $node); +} + +/** + * Implements hook_media_insert(). + */ +function islandora_media_insert(MediaInterface $media) { + $utils = \Drupal::service('islandora.utils'); + + // Execute index reactions. + $utils->executeMediaReactions('\Drupal\islandora\Plugin\ContextReaction\IndexReaction', $media); + + // If it has a parent node... + $node = $utils->getParentNode($media); + if ($node) { + // Fire off derivative reactions for the Media. + $utils->executeDerivativeReactions( + '\Drupal\islandora\Plugin\ContextReaction\DerivativeReaction', + $node, + $media + ); } } /** - * Implements hook_entity_update(). + * Implements hook_media_update(). */ -function islandora_entity_update(EntityInterface $entity) { - switch ($entity->getEntityType()->id()) { - case "node": - $provider = new NodeContextProvider($entity); - break; +function islandora_media_update(MediaInterface $media) { + $media_source_service = \Drupal::service('islandora.media_source_service'); - case "media": - $provider = new MediaContextProvider($entity); - break; + // Exit early if nothing's changed. + $utils = \Drupal::service('islandora.utils'); + if (!$utils->haveFieldsChanged($media, $media->original)) { + return; + }; - case "file": - $provider = new FileContextProvider($entity); - break; + // Execute index reactions. + $utils->executeMediaReactions('\Drupal\islandora\Plugin\ContextReaction\IndexReaction', $media); - default: - $provider = NULL; - break; + // Does it have a source field? + $source_field = $media_source_service->getSourceFieldName($media->bundle()); + if (empty($source_field)) { + return; } - if ($provider) { - $context_manager = \Drupal::service('context.manager'); - $provided = $provider->getRuntimeContexts([]); - $context_manager->evaluateContexts($provided); + // Exit early if the source file did not change. + if ($media->get($source_field)->equals($media->original->get($source_field))) { + return; + } - foreach ($context_manager->getActiveReactions('index') as $reaction) { - $reaction->execute($entity); - } + // If it has a parent node... + $node = $utils->getParentNode($media); + if ($node) { + // Fire off derivative reactions for the Media. + $utils->executeDerivativeReactions( + '\Drupal\islandora\Plugin\ContextReaction\DerivativeReaction', + $node, + $media + ); } } /** - * Implements hook_entity_delete(). + * Implements hook_media_delete(). */ -function islandora_entity_delete(EntityInterface $entity) { - switch ($entity->getEntityType()->id()) { - case "node": - $provider = new NodeContextProvider($entity); - break; +function islandora_media_delete(MediaInterface $media) { + $utils = \Drupal::service('islandora.utils'); - case "media": - $provider = new MediaContextProvider($entity); - break; + // Execute delete reactions. + $utils->executeMediaReactions('\Drupal\islandora\Plugin\ContextReaction\DeleteReaction', $media); +} - case "file": - $provider = new FileContextProvider($entity); - break; +/** + * Implements hook_file_insert(). + */ +function islandora_file_insert(FileInterface $file) { + $utils = \Drupal::service('islandora.utils'); - default: - $provider = NULL; - break; + // Execute index reactions. + $utils->executeFileReactions('\Drupal\islandora\Plugin\ContextReaction\IndexReaction', $file); +} + +/** + * Implements hook_file_update(). + */ +function islandora_file_update(FileInterface $file) { + // Exit early if unchanged. + if ($file->filehash['sha1'] == $file->original->filehash['sha1']) { + return; } - if ($provider) { - $context_manager = \Drupal::service('context.manager'); - $provided = $provider->getRuntimeContexts([]); - $context_manager->evaluateContexts($provided); + $utils = \Drupal::service('islandora.utils'); - foreach ($context_manager->getActiveReactions('delete') as $reaction) { - $reaction->execute($entity); + // Execute index reactions. + $utils->executeFileReactions('\Drupal\islandora\Plugin\ContextReaction\IndexReaction', $file); + + // Execute derivative reactions. + foreach ($utils->getReferencingMedia($file->id()) as $media) { + $node = $utils->getParentNode($media); + if ($node) { + $utils->executeDerivativeReactions( + '\Drupal\islandora\Plugin\ContextReaction\DerivativeReaction', + $node, + $media + ); } } } +/** + * Implements hook_file_delete(). + */ +function islandora_file_delete(FileInterface $file) { + $utils = \Drupal::service('islandora.utils'); + + // Execute delete reactions. + $utils->executeFileReactions('\Drupal\islandora\Plugin\ContextReaction\DeleteReaction', $file); +} + +/** + * Implements hook_taxonomy_term_insert(). + */ +function islandora_taxonomy_term_insert(TermInterface $term) { + $utils = \Drupal::service('islandora.utils'); + + // Execute delete reactions. + $utils->executeTermReactions('\Drupal\islandora\Plugin\ContextReaction\IndexReaction', $term); +} + +/** + * Implements hook_taxonomy_term_update(). + */ +function islandora_taxonomy_term_update(TermInterface $term) { + $utils = \Drupal::service('islandora.utils'); + + // Execute delete reactions. + $utils->executeTermReactions('\Drupal\islandora\Plugin\ContextReaction\IndexReaction', $term); +} + +/** + * Implements hook_taxonomy_term_delete(). + */ +function islandora_taxonomy_term_delete(TermInterface $term) { + $utils = \Drupal::service('islandora.utils'); + + // Execute delete reactions. + $utils->executeTermReactions('\Drupal\islandora\Plugin\ContextReaction\DeleteReaction', $term); +} + /** * Implements hook_jsonld_alter_normalized_array(). */ @@ -165,3 +247,78 @@ function islandora_jsonld_alter_normalized_array(EntityInterface $entity, array $reaction->execute($entity, $normalized, $context); } } + +/** + * Implements hook_entity_view_mode_alter(). + */ +function islandora_entity_view_mode_alter(&$view_mode, EntityInterface $entity) { + // Change the view mode based on user input from a 'view_mode_alter' + // ContextReaction. + $storage = \Drupal::service('entity_type.manager')->getStorage('entity_view_mode'); + $context_manager = \Drupal::service('context.manager'); + + foreach ($context_manager->getActiveReactions('\Drupal\islandora\Plugin\ContextReaction\ViewModeAlterReaction') as $reaction) { + // Construct the new view mode's machine name. + $entity_type = $entity->getEntityTypeId(); + $mode = $reaction->execute(); + $machine_name = "$entity_type.$mode"; + + // Try to load it. + $new_mode = $storage->load($machine_name); + + // If successful, alter the view mode. + if ($new_mode) { + $view_mode = $mode; + } + else { + // Otherwise, leave it be, but log a message. + \Drupal::logger('islandora')->info("EntityViewMode $machine_name does not exist. View mode cannot be altered."); + } + } +} + +/** + * Implements hook_preprocess_node(). + */ +function islandora_preprocess_node(&$variables) { + // Using alternate view modes causes on a node's canoncial page + // causes the title to get printed out twice. Once from the + // fields themselves and again as a block above the main content. + // Setting 'page' to TRUE gets rid of the title in the fields and + // leaves the block. This makes it look uniform with the 'default' + // view mode. + if (node_is_page($variables['elements']['#node'])) { + $variables['page'] = TRUE; + } +} + +/** + * Implements hook_entity_form_display_alter(). + */ +function islandora_entity_form_display_alter(&$form_display, $context) { + // Change the form display based on user input from a 'form_display_alter' + // ContextReaction. + $storage = \Drupal::service('entity_type.manager')->getStorage('entity_form_display'); + $context_manager = \Drupal::service('context.manager'); + + // Alter form display based on context. + foreach ($context_manager->getActiveReactions('\Drupal\islandora\Plugin\ContextReaction\FormDisplayAlterReaction') as $reaction) { + // Construct the new form display's machine name. + $entity_type = $context['entity_type']; + $bundle = $context['bundle']; + $mode = $reaction->execute(); + $machine_name = "$entity_type.$bundle.$mode"; + + // Try to load it. + $new_display = $storage->load($machine_name); + + // If successful, alter the form display. + if ($new_display) { + $form_display = $new_display; + } + else { + // Otherwise, leave it be, but log a message. + \Drupal::logger('islandora')->info("EntityFormDisplay $machine_name does not exist. Form display cannot be altered."); + } + } +} diff --git a/islandora.permissions.yml b/islandora.permissions.yml index f8cca135..3ea34595 100644 --- a/islandora.permissions.yml +++ b/islandora.permissions.yml @@ -2,3 +2,11 @@ view checksums: title: 'View Checksums' description: 'Allows access to viewing file checksums' + +manage members: + title: 'Manage Members' + description: 'Allows access to managing members for content' + +manage media: + title: 'Manage Media' + description: 'Allows access to managing media for content' diff --git a/islandora.routing.yml b/islandora.routing.yml index ef394fbd..58dea1a2 100644 --- a/islandora.routing.yml +++ b/islandora.routing.yml @@ -16,6 +16,28 @@ system.islandora_settings: requirements: _permission: 'administer site configuration' +islandora.add_member_to_node_page: + path: '/node/{node}/members/add' + defaults: + _controller: '\Drupal\islandora\Controller\ManageMembersController::addToNodePage' + _title_callback: '\Drupal\islandora\Controller\ManageMembersController::addTitle' + entity_type_id: node + options: + _admin_route: 'true' + requirements: + _entity_create_any_access: 'node' + +islandora.add_media_to_node_page: + path: '/node/{node}/media/add' + defaults: + _controller: '\Drupal\islandora\Controller\ManageMediaController::addToNodePage' + _title_callback: '\Drupal\islandora\Controller\ManageMediaController::addTitle' + entity_type_id: media + options: + _admin_route: 'true' + requirements: + _entity_create_any_access: 'media' + islandora.media_source_update: path: '/media/{media}/source' defaults: @@ -26,12 +48,12 @@ islandora.media_source_update: options: _auth: ['basic_auth', 'cookie', 'jwt_auth'] -islandora.media_source_add_to_node: - path: '/node/{node}/media/{field}/add/{bundle}' +islandora.media_source_put_to_node: + path: '/node/{node}/media/{media_type}/{taxonomy_term}' defaults: - _controller: '\Drupal\islandora\Controller\MediaSourceController::addToNode' - methods: [POST] + _controller: '\Drupal\islandora\Controller\MediaSourceController::putToNode' + methods: [PUT] requirements: - _custom_access: '\Drupal\islandora\Controller\MediaSourceController::addToNodeAccess' + _custom_access: '\Drupal\islandora\Controller\MediaSourceController::putToNodeAccess' options: _auth: ['basic_auth', 'cookie', 'jwt_auth'] diff --git a/islandora.services.yml b/islandora.services.yml index 133b9e01..1159f0a3 100644 --- a/islandora.services.yml +++ b/islandora.services.yml @@ -1,11 +1,6 @@ # Islandora Services # islandora.services.yml: services: - islandora.paramconverter.entity: - class: Drupal\islandora\ParamConverter\UuidEntityConverter - tags: - - { name: paramconverter } - arguments: ['@entity.manager'] islandora.eventgenerator: class: Drupal\islandora\EventGenerator\EventGenerator islandora.stomp: @@ -20,17 +15,18 @@ services: - { name: event_subscriber } islandora.media_link_header_subscriber: class: Drupal\islandora\EventSubscriber\MediaLinkHeaderSubscriber - arguments: ['@entity_type.manager', '@entity_field.manager', '@current_route_match', '@access_manager', '@current_user'] + arguments: ['@entity_type.manager', '@entity_field.manager', '@access_manager', '@current_user', '@current_route_match', '@request_stack'] tags: - { name: event_subscriber } islandora.node_link_header_subscriber: class: Drupal\islandora\EventSubscriber\NodeLinkHeaderSubscriber - arguments: ['@entity_type.manager', '@entity_field.manager', '@current_route_match', '@access_manager', '@current_user'] + arguments: ['@entity_type.manager', '@entity_field.manager', '@access_manager', '@current_user', '@current_route_match', '@request_stack', '@islandora.utils'] + tags: + - { name: event_subscriber } + islandora.admin_view_route_subscriber: + class: Drupal\islandora\EventSubscriber\AdminViewsRouteSubscriber tags: - { name: event_subscriber } - islandora.versioncounter: - class: Drupal\islandora\VersionCounter\VersionCounter - arguments: ['@database'] logger.channel.islandora: parent: logger.channel_base arguments: ['islandora'] @@ -44,6 +40,14 @@ services: arguments: ['@current_route_match'] tags: - { name: 'context_provider' } + islandora.taxonomy_term_route_context_provider: + class: Drupal\islandora\ContextProvider\TermRouteContextProvider + arguments: ['@current_route_match'] + tags: + - { name: 'context_provider' } islandora.media_source_service: class: Drupal\islandora\MediaSource\MediaSourceService - arguments: ['@entity_type.manager', '@current_user', '@stream_wrapper_manager', '@token'] + arguments: ['@entity_type.manager', '@current_user', '@stream_wrapper_manager', '@language_manager', '@token', '@entity.query'] + islandora.utils: + class: Drupal\islandora\IslandoraUtils + arguments: ['@entity_type.manager', '@entity_field.manager', '@entity.query', '@context.manager', '@stream_wrapper_manager'] diff --git a/migrate/tags.csv b/migrate/tags.csv new file mode 100644 index 00000000..6f54f3db --- /dev/null +++ b/migrate/tags.csv @@ -0,0 +1,9 @@ +vid,name,description,external_uri +tags,"Preservation Master","Best quality representation of the Object appropriate for long-term preservation",http://pcdm.org/use#PreservationMasterFile +tags,"Service File","A medium quality representation of the Object appropriate for serving to users",http://pcdm.org/use#ServiceFile +tags,"Thumbnail","A low resolution image representation of the Object appropriate for using as an icon",http://pcdm.org/use#ThumbnailImage +tags,"Audio","A resource primarily intended to be heard. Examples include a music playback file format, an audio compact disc, and recorded speech or sounds",http://purl.org/coar/resource_type/c_18cc +tags,"Binary","A generic binary file for repository items that don't fall into any other category or cannot be shown in a browser",http://purl.org/coar/resource_type/c_1843 +tags,"Collection","A collection is an aggregation of items",http://purl.org/dc/dcmitype/Collection +tags,"Image","A visual representation other than text, including all types of moving image and still image",http://purl.org/coar/resource_type/c_c513 +tags,"Video","A recording of visual images, usually in motion and with sound accompaniment",http://purl.org/coar/resource_type/c_12ce diff --git a/modules/islandora_core_feature/config/install/core.entity_view_display.media.audio.source.yml b/modules/islandora_core_feature/config/install/core.entity_view_display.media.audio.source.yml new file mode 100644 index 00000000..4cb04d73 --- /dev/null +++ b/modules/islandora_core_feature/config/install/core.entity_view_display.media.audio.source.yml @@ -0,0 +1,41 @@ +langcode: en +status: true +dependencies: + config: + - core.entity_view_mode.media.source + - field.field.media.audio.field_file_size + - field.field.media.audio.field_media_audio_file + - field.field.media.audio.field_media_of + - field.field.media.audio.field_mime_type + - field.field.media.audio.field_tags + - media.type.audio + enforced: + module: + - islandora_core_feature + module: + - file +id: media.audio.source +targetEntityType: media +bundle: audio +mode: source +content: + field_media_audio_file: + type: file_audio + weight: 0 + label: visually_hidden + settings: + controls: true + multiple_file_display_type: tags + autoplay: false + loop: false + third_party_settings: { } + region: content +hidden: + created: true + field_file_size: true + field_media_of: true + field_mime_type: true + field_tags: true + name: true + thumbnail: true + uid: true diff --git a/modules/islandora_core_feature/config/install/core.entity_view_display.media.file.source.yml b/modules/islandora_core_feature/config/install/core.entity_view_display.media.file.source.yml new file mode 100644 index 00000000..a9466d15 --- /dev/null +++ b/modules/islandora_core_feature/config/install/core.entity_view_display.media.file.source.yml @@ -0,0 +1,38 @@ +langcode: en +status: true +dependencies: + config: + - core.entity_view_mode.media.source + - field.field.media.file.field_file_size + - field.field.media.file.field_media_file + - field.field.media.file.field_media_of + - field.field.media.file.field_mime_type + - field.field.media.file.field_tags + - media.type.file + enforced: + module: + - islandora_core_feature + module: + - file +id: media.file.source +targetEntityType: media +bundle: file +mode: source +content: + field_media_file: + label: hidden + settings: + use_description_as_link_text: true + third_party_settings: { } + type: file_default + weight: 0 + region: content +hidden: + created: true + field_file_size: true + field_media_of: true + field_mime_type: true + field_tags: true + name: true + thumbnail: true + uid: true diff --git a/modules/islandora_core_feature/config/install/core.entity_view_display.media.image.source.yml b/modules/islandora_core_feature/config/install/core.entity_view_display.media.image.source.yml new file mode 100644 index 00000000..e74fc872 --- /dev/null +++ b/modules/islandora_core_feature/config/install/core.entity_view_display.media.image.source.yml @@ -0,0 +1,43 @@ +langcode: en +status: true +dependencies: + config: + - core.entity_view_mode.media.source + - field.field.media.image.field_file_size + - field.field.media.image.field_height + - field.field.media.image.field_media_image + - field.field.media.image.field_media_of + - field.field.media.image.field_mime_type + - field.field.media.image.field_tags + - field.field.media.image.field_width + - media.type.image + enforced: + module: + - islandora_core_feature + module: + - image +id: media.image.source +targetEntityType: media +bundle: image +mode: source +content: + field_media_image: + label: visually_hidden + settings: + image_style: '' + image_link: content + third_party_settings: { } + type: image + weight: 0 + region: content +hidden: + created: true + field_file_size: true + field_height: true + field_media_of: true + field_mime_type: true + field_tags: true + field_width: true + name: true + thumbnail: true + uid: true diff --git a/modules/islandora_core_feature/config/install/core.entity_view_display.media.video.source.yml b/modules/islandora_core_feature/config/install/core.entity_view_display.media.video.source.yml new file mode 100644 index 00000000..1fe3e0fc --- /dev/null +++ b/modules/islandora_core_feature/config/install/core.entity_view_display.media.video.source.yml @@ -0,0 +1,44 @@ +langcode: en +status: true +dependencies: + config: + - core.entity_view_mode.media.source + - field.field.media.video.field_file_size + - field.field.media.video.field_media_of + - field.field.media.video.field_media_video_file + - field.field.media.video.field_mime_type + - field.field.media.video.field_tags + - media.type.video + enforced: + module: + - islandora_core_feature + module: + - file +id: media.video.source +targetEntityType: media +bundle: video +mode: source +content: + field_media_video_file: + type: file_video + weight: 0 + label: visually_hidden + settings: + muted: false + width: 640 + height: 480 + controls: true + autoplay: false + loop: false + multiple_file_display_type: tags + third_party_settings: { } + region: content +hidden: + created: true + field_file_size: true + field_media_of: true + field_mime_type: true + field_tags: true + name: true + thumbnail: true + uid: true diff --git a/modules/islandora_core_feature/config/install/core.entity_view_mode.media.source.yml b/modules/islandora_core_feature/config/install/core.entity_view_mode.media.source.yml new file mode 100644 index 00000000..df6df63c --- /dev/null +++ b/modules/islandora_core_feature/config/install/core.entity_view_mode.media.source.yml @@ -0,0 +1,12 @@ +langcode: en +status: true +dependencies: + enforced: + module: + - islandora_core_feature + module: + - media +id: media.source +label: Source +targetEntityType: media +cache: true diff --git a/modules/islandora_core_feature/config/install/features.bundle.islandora.yml b/modules/islandora_core_feature/config/install/features.bundle.islandora.yml new file mode 100644 index 00000000..9c358731 --- /dev/null +++ b/modules/islandora_core_feature/config/install/features.bundle.islandora.yml @@ -0,0 +1,100 @@ +langcode: en +status: true +dependencies: + enforced: + module: + - islandora_core_feature +name: Islandora +machine_name: islandora +description: 'Features for islandora' +assignments: + alter: + core: true + uuid: true + user_permissions: true + enabled: true + weight: 0 + base: + types: + config: + comment_type: comment_type + node_type: node_type + content: + user: user + enabled: true + weight: -2 + core: + types: + config: + date_format: date_format + field_storage_config: field_storage_config + entity_form_mode: entity_form_mode + image_style: image_style + menu: menu + responsive_image_style: responsive_image_style + user_role: user_role + entity_view_mode: entity_view_mode + enabled: true + weight: 5 + dependency: + enabled: true + weight: 15 + exclude: + types: + config: + features_bundle: features_bundle + curated: true + module: + installed: true + profile: true + namespace: true + namespace_any: false + enabled: true + weight: -5 + existing: + enabled: true + weight: 12 + forward_dependency: + enabled: true + weight: 4 + namespace: + enabled: true + weight: 0 + optional: + types: + config: { } + enabled: true + weight: 0 + packages: + enabled: true + weight: -20 + profile: + curated: true + standard: + files: true + dependencies: true + types: + config: + block: block + language_content_settings: language_content_settings + configurable_language: configurable_language + migration: migration + shortcut_set: shortcut_set + tour: tour + enabled: true + weight: 10 + site: + types: + config: + action: action + contact_form: contact_form + block_content_type: block_content_type + rdf_mapping: rdf_mapping + search_page: search_page + taxonomy_vocabulary: taxonomy_vocabulary + editor: editor + filter_format: filter_format + enabled: true + weight: 7 +profile_name: '' +is_profile: false diff --git a/modules/islandora_core_feature/config/install/field.field.media.audio.field_file_size.yml b/modules/islandora_core_feature/config/install/field.field.media.audio.field_file_size.yml new file mode 100644 index 00000000..ce79179c --- /dev/null +++ b/modules/islandora_core_feature/config/install/field.field.media.audio.field_file_size.yml @@ -0,0 +1,25 @@ +langcode: en +status: true +dependencies: + config: + - field.storage.media.field_file_size + - media.type.audio + enforced: + module: + - islandora_core_feature +id: media.audio.field_file_size +field_name: field_file_size +entity_type: media +bundle: audio +label: 'File size' +description: '' +required: false +translatable: true +default_value: { } +default_value_callback: '' +settings: + min: null + max: null + prefix: '' + suffix: '' +field_type: integer diff --git a/modules/islandora_core_feature/config/install/field.field.media.audio.field_media_audio_file.yml b/modules/islandora_core_feature/config/install/field.field.media.audio.field_media_audio_file.yml new file mode 100644 index 00000000..3835e009 --- /dev/null +++ b/modules/islandora_core_feature/config/install/field.field.media.audio.field_media_audio_file.yml @@ -0,0 +1,29 @@ +langcode: en +status: true +dependencies: + config: + - field.storage.media.field_media_audio_file + - media.type.audio + enforced: + module: + - islandora_core_feature + module: + - file +id: media.audio.field_media_audio_file +field_name: field_media_audio_file +entity_type: media +bundle: audio +label: 'Audio file' +description: '' +required: true +translatable: true +default_value: { } +default_value_callback: '' +settings: + file_extensions: 'mp3 wav aac' + file_directory: '[date:custom:Y]-[date:custom:m]' + max_filesize: '' + description_field: false + handler: 'default:file' + handler_settings: { } +field_type: file diff --git a/modules/islandora_core_feature/config/install/field.field.media.audio.field_media_of.yml b/modules/islandora_core_feature/config/install/field.field.media.audio.field_media_of.yml new file mode 100644 index 00000000..a5f7d0f8 --- /dev/null +++ b/modules/islandora_core_feature/config/install/field.field.media.audio.field_media_of.yml @@ -0,0 +1,23 @@ +langcode: en +status: true +dependencies: + config: + - field.storage.media.field_media_of + - media.type.audio + enforced: + module: + - islandora_core_feature +id: media.audio.field_media_of +field_name: field_media_of +entity_type: media +bundle: audio +label: 'Media of' +description: '' +required: false +translatable: false +default_value: { } +default_value_callback: '' +settings: + handler: 'default:node' + handler_settings: { } +field_type: entity_reference diff --git a/modules/islandora_core_feature/config/install/field.field.media.audio.field_mime_type.yml b/modules/islandora_core_feature/config/install/field.field.media.audio.field_mime_type.yml new file mode 100644 index 00000000..aea97bd1 --- /dev/null +++ b/modules/islandora_core_feature/config/install/field.field.media.audio.field_mime_type.yml @@ -0,0 +1,21 @@ +langcode: en +status: true +dependencies: + config: + - field.storage.media.field_mime_type + - media.type.audio + enforced: + module: + - islandora_core_feature +id: media.audio.field_mime_type +field_name: field_mime_type +entity_type: media +bundle: audio +label: 'MIME type' +description: '' +required: false +translatable: true +default_value: { } +default_value_callback: '' +settings: { } +field_type: string diff --git a/modules/islandora_core_feature/config/install/field.field.media.audio.field_tags.yml b/modules/islandora_core_feature/config/install/field.field.media.audio.field_tags.yml new file mode 100644 index 00000000..bd56c97d --- /dev/null +++ b/modules/islandora_core_feature/config/install/field.field.media.audio.field_tags.yml @@ -0,0 +1,23 @@ +langcode: en +status: true +dependencies: + config: + - field.storage.media.field_tags + - media.type.audio + enforced: + module: + - islandora_core_feature +id: media.audio.field_tags +field_name: field_tags +entity_type: media +bundle: audio +label: Tags +description: '' +required: false +translatable: false +default_value: { } +default_value_callback: '' +settings: + handler: 'default:taxonomy_term' + handler_settings: { } +field_type: entity_reference diff --git a/modules/islandora_core_feature/config/install/field.field.media.file.field_file_size.yml b/modules/islandora_core_feature/config/install/field.field.media.file.field_file_size.yml new file mode 100644 index 00000000..a52a893f --- /dev/null +++ b/modules/islandora_core_feature/config/install/field.field.media.file.field_file_size.yml @@ -0,0 +1,25 @@ +langcode: en +status: true +dependencies: + config: + - field.storage.media.field_file_size + - media.type.file + enforced: + module: + - islandora_core_feature +id: media.file.field_file_size +field_name: field_file_size +entity_type: media +bundle: file +label: 'File size' +description: '' +required: false +translatable: false +default_value: { } +default_value_callback: '' +settings: + min: null + max: null + prefix: '' + suffix: '' +field_type: integer diff --git a/modules/islandora_core_feature/config/install/field.field.media.file.field_media_file.yml b/modules/islandora_core_feature/config/install/field.field.media.file.field_media_file.yml new file mode 100644 index 00000000..fec6db7d --- /dev/null +++ b/modules/islandora_core_feature/config/install/field.field.media.file.field_media_file.yml @@ -0,0 +1,30 @@ +langcode: en +status: true +dependencies: + config: + - field.storage.media.field_media_file + - media.type.file + enforced: + module: + - media + - islandora_core_feature + module: + - file +id: media.file.field_media_file +field_name: field_media_file +entity_type: media +bundle: file +label: File +description: '' +required: true +translatable: true +default_value: { } +default_value_callback: '' +settings: + file_directory: '[date:custom:Y]-[date:custom:m]' + file_extensions: 'txt rtf doc docx ppt pptx xls xlsx pdf odf odg odp ods odt fodt fods fodp fodg key numbers pages tiff tif jp2' + max_filesize: '' + description_field: false + handler: 'default:file' + handler_settings: { } +field_type: file diff --git a/modules/islandora_core_feature/config/install/field.field.media.file.field_media_of.yml b/modules/islandora_core_feature/config/install/field.field.media.file.field_media_of.yml new file mode 100644 index 00000000..12c5cdfc --- /dev/null +++ b/modules/islandora_core_feature/config/install/field.field.media.file.field_media_of.yml @@ -0,0 +1,23 @@ +langcode: en +status: true +dependencies: + config: + - field.storage.media.field_media_of + - media.type.file + enforced: + module: + - islandora_core_feature +id: media.file.field_media_of +field_name: field_media_of +entity_type: media +bundle: file +label: 'Media of' +description: '' +required: false +translatable: true +default_value: { } +default_value_callback: '' +settings: + handler: 'default:node' + handler_settings: { } +field_type: entity_reference diff --git a/modules/islandora_core_feature/config/install/field.field.media.file.field_mime_type.yml b/modules/islandora_core_feature/config/install/field.field.media.file.field_mime_type.yml new file mode 100644 index 00000000..a93d6b8a --- /dev/null +++ b/modules/islandora_core_feature/config/install/field.field.media.file.field_mime_type.yml @@ -0,0 +1,21 @@ +langcode: en +status: true +dependencies: + config: + - field.storage.media.field_mime_type + - media.type.file + enforced: + module: + - islandora_core_feature +id: media.file.field_mime_type +field_name: field_mime_type +entity_type: media +bundle: file +label: 'MIME type' +description: 'MIME type of the underlying file' +required: false +translatable: false +default_value: { } +default_value_callback: '' +settings: { } +field_type: string diff --git a/modules/islandora_core_feature/config/install/field.field.media.file.field_tags.yml b/modules/islandora_core_feature/config/install/field.field.media.file.field_tags.yml new file mode 100644 index 00000000..5ea4377a --- /dev/null +++ b/modules/islandora_core_feature/config/install/field.field.media.file.field_tags.yml @@ -0,0 +1,23 @@ +langcode: en +status: true +dependencies: + config: + - field.storage.media.field_tags + - media.type.file + enforced: + module: + - islandora_core_feature +id: media.file.field_tags +field_name: field_tags +entity_type: media +bundle: file +label: Tags +description: '' +required: false +translatable: true +default_value: { } +default_value_callback: '' +settings: + handler: 'default:taxonomy_term' + handler_settings: { } +field_type: entity_reference diff --git a/modules/islandora_core_feature/config/install/field.field.media.image.field_file_size.yml b/modules/islandora_core_feature/config/install/field.field.media.image.field_file_size.yml new file mode 100644 index 00000000..b3c0a5b5 --- /dev/null +++ b/modules/islandora_core_feature/config/install/field.field.media.image.field_file_size.yml @@ -0,0 +1,25 @@ +langcode: en +status: true +dependencies: + config: + - field.storage.media.field_file_size + - media.type.image + enforced: + module: + - islandora_core_feature +id: media.image.field_file_size +field_name: field_file_size +entity_type: media +bundle: image +label: 'File size' +description: '' +required: false +translatable: true +default_value: { } +default_value_callback: '' +settings: + min: null + max: null + prefix: '' + suffix: '' +field_type: integer diff --git a/config/install/field.field.media.tn.field_height.yml b/modules/islandora_core_feature/config/install/field.field.media.image.field_height.yml similarity index 63% rename from config/install/field.field.media.tn.field_height.yml rename to modules/islandora_core_feature/config/install/field.field.media.image.field_height.yml index af401b7c..7ea6a093 100644 --- a/config/install/field.field.media.tn.field_height.yml +++ b/modules/islandora_core_feature/config/install/field.field.media.image.field_height.yml @@ -1,21 +1,20 @@ -uuid: 64ecf3f3-8aad-4794-a9cc-ea2320885fea langcode: en status: true dependencies: config: - field.storage.media.field_height - - media_entity.bundle.tn + - media.type.image enforced: module: - - islandora -id: media.tn.field_height + - islandora_core_feature +id: media.image.field_height field_name: field_height entity_type: media -bundle: tn +bundle: image label: Height -description: 'Thumbnail height' +description: '' required: false -translatable: true +translatable: false default_value: { } default_value_callback: '' settings: diff --git a/config/install/field.field.media.tn.field_image.yml b/modules/islandora_core_feature/config/install/field.field.media.image.field_media_image.yml similarity index 70% rename from config/install/field.field.media.tn.field_image.yml rename to modules/islandora_core_feature/config/install/field.field.media.image.field_media_image.yml index 5ed70de4..95e3ac00 100644 --- a/config/install/field.field.media.tn.field_image.yml +++ b/modules/islandora_core_feature/config/install/field.field.media.image.field_media_image.yml @@ -1,41 +1,41 @@ -uuid: 3e86756e-0782-4514-86f8-97d26ec6985d langcode: en status: true dependencies: config: - - field.storage.media.field_image - - media_entity.bundle.tn + - field.storage.media.field_media_image + - media.type.image enforced: module: - - islandora + - media + - islandora_core_feature module: - image -id: media.tn.field_image -field_name: field_image +id: media.image.field_media_image +field_name: field_media_image entity_type: media -bundle: tn +bundle: image label: Image -description: 'Thumbnail contents' -required: false +description: '' +required: true translatable: true default_value: { } default_value_callback: '' settings: - file_directory: '[date:custom:Y]-[date:custom:m]' - file_extensions: 'png gif jpg jpeg' - max_filesize: '' - max_resolution: '' - min_resolution: '' alt_field: true alt_field_required: true title_field: false title_field_required: false + max_resolution: '' + min_resolution: '' default_image: - uuid: '' + uuid: null alt: '' title: '' width: null height: null + file_directory: '[date:custom:Y]-[date:custom:m]' + file_extensions: 'png gif jpg jpeg' + max_filesize: '' handler: 'default:file' handler_settings: { } field_type: image diff --git a/modules/islandora_core_feature/config/install/field.field.media.image.field_media_of.yml b/modules/islandora_core_feature/config/install/field.field.media.image.field_media_of.yml new file mode 100644 index 00000000..ab7a6cce --- /dev/null +++ b/modules/islandora_core_feature/config/install/field.field.media.image.field_media_of.yml @@ -0,0 +1,23 @@ +langcode: en +status: true +dependencies: + config: + - field.storage.media.field_media_of + - media.type.image + enforced: + module: + - islandora_core_feature +id: media.image.field_media_of +field_name: field_media_of +entity_type: media +bundle: image +label: 'Media of' +description: '' +required: false +translatable: true +default_value: { } +default_value_callback: '' +settings: + handler: 'default:node' + handler_settings: { } +field_type: entity_reference diff --git a/modules/islandora_core_feature/config/install/field.field.media.image.field_mime_type.yml b/modules/islandora_core_feature/config/install/field.field.media.image.field_mime_type.yml new file mode 100644 index 00000000..39538c4c --- /dev/null +++ b/modules/islandora_core_feature/config/install/field.field.media.image.field_mime_type.yml @@ -0,0 +1,21 @@ +langcode: en +status: true +dependencies: + config: + - field.storage.media.field_mime_type + - media.type.image + enforced: + module: + - islandora_core_feature +id: media.image.field_mime_type +field_name: field_mime_type +entity_type: media +bundle: image +label: 'MIME type' +description: '' +required: false +translatable: true +default_value: { } +default_value_callback: '' +settings: { } +field_type: string diff --git a/modules/islandora_core_feature/config/install/field.field.media.image.field_tags.yml b/modules/islandora_core_feature/config/install/field.field.media.image.field_tags.yml new file mode 100644 index 00000000..26e013d6 --- /dev/null +++ b/modules/islandora_core_feature/config/install/field.field.media.image.field_tags.yml @@ -0,0 +1,23 @@ +langcode: en +status: true +dependencies: + config: + - field.storage.media.field_tags + - media.type.image + enforced: + module: + - islandora_core_feature +id: media.image.field_tags +field_name: field_tags +entity_type: media +bundle: image +label: Tags +description: '' +required: false +translatable: true +default_value: { } +default_value_callback: '' +settings: + handler: 'default:taxonomy_term' + handler_settings: { } +field_type: entity_reference diff --git a/config/install/field.field.media.tn.field_width.yml b/modules/islandora_core_feature/config/install/field.field.media.image.field_width.yml similarity index 63% rename from config/install/field.field.media.tn.field_width.yml rename to modules/islandora_core_feature/config/install/field.field.media.image.field_width.yml index d8856069..42aa19c1 100644 --- a/config/install/field.field.media.tn.field_width.yml +++ b/modules/islandora_core_feature/config/install/field.field.media.image.field_width.yml @@ -1,21 +1,20 @@ -uuid: 1f18aa08-5384-4880-892d-947eb1c3b457 langcode: en status: true dependencies: config: - field.storage.media.field_width - - media_entity.bundle.tn + - media.type.image enforced: module: - - islandora -id: media.tn.field_width + - islandora_core_feature +id: media.image.field_width field_name: field_width entity_type: media -bundle: tn +bundle: image label: Width -description: 'Thumbnail width' +description: '' required: false -translatable: true +translatable: false default_value: { } default_value_callback: '' settings: diff --git a/modules/islandora_core_feature/config/install/field.field.media.video.field_file_size.yml b/modules/islandora_core_feature/config/install/field.field.media.video.field_file_size.yml new file mode 100644 index 00000000..de036bc6 --- /dev/null +++ b/modules/islandora_core_feature/config/install/field.field.media.video.field_file_size.yml @@ -0,0 +1,25 @@ +langcode: en +status: true +dependencies: + config: + - field.storage.media.field_file_size + - media.type.video + enforced: + module: + - islandora_core_feature +id: media.video.field_file_size +field_name: field_file_size +entity_type: media +bundle: video +label: 'File size' +description: '' +required: false +translatable: true +default_value: { } +default_value_callback: '' +settings: + min: null + max: null + prefix: '' + suffix: '' +field_type: integer diff --git a/modules/islandora_core_feature/config/install/field.field.media.video.field_media_of.yml b/modules/islandora_core_feature/config/install/field.field.media.video.field_media_of.yml new file mode 100644 index 00000000..487ce951 --- /dev/null +++ b/modules/islandora_core_feature/config/install/field.field.media.video.field_media_of.yml @@ -0,0 +1,23 @@ +langcode: en +status: true +dependencies: + config: + - field.storage.media.field_media_of + - media.type.video + enforced: + module: + - islandora_core_feature +id: media.video.field_media_of +field_name: field_media_of +entity_type: media +bundle: video +label: 'Media of' +description: '' +required: false +translatable: true +default_value: { } +default_value_callback: '' +settings: + handler: 'default:node' + handler_settings: { } +field_type: entity_reference diff --git a/modules/islandora_core_feature/config/install/field.field.media.video.field_media_video_file.yml b/modules/islandora_core_feature/config/install/field.field.media.video.field_media_video_file.yml new file mode 100644 index 00000000..25f002c7 --- /dev/null +++ b/modules/islandora_core_feature/config/install/field.field.media.video.field_media_video_file.yml @@ -0,0 +1,29 @@ +langcode: en +status: true +dependencies: + config: + - field.storage.media.field_media_video_file + - media.type.video + enforced: + module: + - islandora_core_feature + module: + - file +id: media.video.field_media_video_file +field_name: field_media_video_file +entity_type: media +bundle: video +label: 'Video file' +description: '' +required: true +translatable: true +default_value: { } +default_value_callback: '' +settings: + file_extensions: mp4 + file_directory: '[date:custom:Y]-[date:custom:m]' + max_filesize: '' + description_field: false + handler: 'default:file' + handler_settings: { } +field_type: file diff --git a/modules/islandora_core_feature/config/install/field.field.media.video.field_mime_type.yml b/modules/islandora_core_feature/config/install/field.field.media.video.field_mime_type.yml new file mode 100644 index 00000000..bdec6319 --- /dev/null +++ b/modules/islandora_core_feature/config/install/field.field.media.video.field_mime_type.yml @@ -0,0 +1,21 @@ +langcode: en +status: true +dependencies: + config: + - field.storage.media.field_mime_type + - media.type.video + enforced: + module: + - islandora_core_feature +id: media.video.field_mime_type +field_name: field_mime_type +entity_type: media +bundle: video +label: 'MIME type' +description: '' +required: false +translatable: true +default_value: { } +default_value_callback: '' +settings: { } +field_type: string diff --git a/modules/islandora_core_feature/config/install/field.field.media.video.field_tags.yml b/modules/islandora_core_feature/config/install/field.field.media.video.field_tags.yml new file mode 100644 index 00000000..308826fe --- /dev/null +++ b/modules/islandora_core_feature/config/install/field.field.media.video.field_tags.yml @@ -0,0 +1,23 @@ +langcode: en +status: true +dependencies: + config: + - field.storage.media.field_tags + - media.type.video + enforced: + module: + - islandora_core_feature +id: media.video.field_tags +field_name: field_tags +entity_type: media +bundle: video +label: Tags +description: '' +required: false +translatable: true +default_value: { } +default_value_callback: '' +settings: + handler: 'default:taxonomy_term' + handler_settings: { } +field_type: entity_reference diff --git a/modules/islandora_core_feature/config/install/field.field.taxonomy_term.tags.field_external_uri.yml b/modules/islandora_core_feature/config/install/field.field.taxonomy_term.tags.field_external_uri.yml new file mode 100644 index 00000000..939e5a12 --- /dev/null +++ b/modules/islandora_core_feature/config/install/field.field.taxonomy_term.tags.field_external_uri.yml @@ -0,0 +1,25 @@ +langcode: en +status: true +dependencies: + config: + - field.storage.taxonomy_term.field_external_uri + - taxonomy.vocabulary.tags + enforced: + module: + - islandora_core_feature + module: + - link +id: taxonomy_term.tags.field_external_uri +field_name: field_external_uri +entity_type: taxonomy_term +bundle: tags +label: 'External URI' +description: '' +required: false +translatable: false +default_value: { } +default_value_callback: '' +settings: + link_type: 16 + title: 0 +field_type: link diff --git a/modules/islandora_core_feature/config/install/field.storage.media.field_file_size.yml b/modules/islandora_core_feature/config/install/field.storage.media.field_file_size.yml new file mode 100644 index 00000000..5c3e67c4 --- /dev/null +++ b/modules/islandora_core_feature/config/install/field.storage.media.field_file_size.yml @@ -0,0 +1,22 @@ +langcode: en +status: true +dependencies: + enforced: + module: + - islandora_core_feature + module: + - media +id: media.field_file_size +field_name: field_file_size +entity_type: media +type: integer +settings: + unsigned: false + size: normal +module: core +locked: false +cardinality: 1 +translatable: true +indexes: { } +persist_with_no_fields: false +custom_storage: false diff --git a/config/install/field.storage.media.field_height.yml b/modules/islandora_core_feature/config/install/field.storage.media.field_height.yml similarity index 80% rename from config/install/field.storage.media.field_height.yml rename to modules/islandora_core_feature/config/install/field.storage.media.field_height.yml index 6f7c2185..73e569b3 100644 --- a/config/install/field.storage.media.field_height.yml +++ b/modules/islandora_core_feature/config/install/field.storage.media.field_height.yml @@ -1,12 +1,11 @@ -uuid: 68e445be-834e-4a03-b5f3-46e4d3214660 langcode: en status: true dependencies: - module: - - media_entity enforced: module: - - islandora + - islandora_core_feature + module: + - media id: media.field_height field_name: field_height entity_type: media diff --git a/config/install/field.storage.media.field_file.yml b/modules/islandora_core_feature/config/install/field.storage.media.field_media_audio_file.yml similarity index 68% rename from config/install/field.storage.media.field_file.yml rename to modules/islandora_core_feature/config/install/field.storage.media.field_media_audio_file.yml index d044dd2f..2421e500 100644 --- a/config/install/field.storage.media.field_file.yml +++ b/modules/islandora_core_feature/config/install/field.storage.media.field_media_audio_file.yml @@ -1,22 +1,21 @@ -uuid: 3187338b-84ab-4ad4-9396-0600ed7cc6d6 langcode: en status: true dependencies: - module: - - file - - media_entity enforced: module: - - islandora -id: media.field_file -field_name: field_file + - islandora_core_feature + module: + - file + - media +id: media.field_media_audio_file +field_name: field_media_audio_file entity_type: media type: file settings: - display_field: true + target_type: file + display_field: false display_default: false uri_scheme: public - target_type: file module: file locked: false cardinality: 1 diff --git a/modules/islandora_core_feature/config/install/field.storage.media.field_media_file.yml b/modules/islandora_core_feature/config/install/field.storage.media.field_media_file.yml new file mode 100644 index 00000000..b38a1ae0 --- /dev/null +++ b/modules/islandora_core_feature/config/install/field.storage.media.field_media_file.yml @@ -0,0 +1,26 @@ +langcode: en +status: true +dependencies: + enforced: + module: + - media + - islandora_core_feature + module: + - file + - media +id: media.field_media_file +field_name: field_media_file +entity_type: media +type: file +settings: + uri_scheme: public + target_type: file + display_field: false + display_default: false +module: file +locked: false +cardinality: 1 +translatable: true +indexes: { } +persist_with_no_fields: false +custom_storage: false diff --git a/config/install/field.storage.media.field_image.yml b/modules/islandora_core_feature/config/install/field.storage.media.field_media_image.yml similarity index 66% rename from config/install/field.storage.media.field_image.yml rename to modules/islandora_core_feature/config/install/field.storage.media.field_media_image.yml index 81417f9f..22c3c4ee 100644 --- a/config/install/field.storage.media.field_image.yml +++ b/modules/islandora_core_feature/config/install/field.storage.media.field_media_image.yml @@ -1,24 +1,21 @@ -uuid: 864f50f8-57b5-4a43-80f9-7548b1dc0196 langcode: en status: true dependencies: enforced: module: - - islandora + - media + - islandora_core_feature module: - file - image - - media_entity -_core: - default_config_hash: MX6T38DOi1q6LSZEP_PsH6mWEBZv-ncKCgfYVjQDvlY -id: media.field_image -field_name: field_image + - media +id: media.field_media_image +field_name: field_media_image entity_type: media type: image settings: - uri_scheme: public default_image: - uuid: '' + uuid: null alt: '' title: '' width: null @@ -26,6 +23,7 @@ settings: target_type: file display_field: false display_default: false + uri_scheme: public module: image locked: false cardinality: 1 diff --git a/config/install/field.storage.node.field_tn.yml b/modules/islandora_core_feature/config/install/field.storage.media.field_media_of.yml similarity index 57% rename from config/install/field.storage.node.field_tn.yml rename to modules/islandora_core_feature/config/install/field.storage.media.field_media_of.yml index 35630fc5..305f9e53 100644 --- a/config/install/field.storage.node.field_tn.yml +++ b/modules/islandora_core_feature/config/install/field.storage.media.field_media_of.yml @@ -1,19 +1,18 @@ -uuid: 70d43fa1-2c63-42a7-86ca-9ccaa1d0ac6d langcode: en status: true dependencies: - module: - - islandora - - media_entity enforced: module: - - islandora -id: node.field_tn -field_name: field_tn -entity_type: node + - islandora_core_feature + module: + - media + - node +id: media.field_media_of +field_name: field_media_of +entity_type: media type: entity_reference settings: - target_type: media + target_type: node module: core locked: false cardinality: 1 diff --git a/modules/islandora_core_feature/config/install/field.storage.media.field_media_video_file.yml b/modules/islandora_core_feature/config/install/field.storage.media.field_media_video_file.yml new file mode 100644 index 00000000..0c02aef1 --- /dev/null +++ b/modules/islandora_core_feature/config/install/field.storage.media.field_media_video_file.yml @@ -0,0 +1,25 @@ +langcode: en +status: true +dependencies: + enforced: + module: + - islandora_core_feature + module: + - file + - media +id: media.field_media_video_file +field_name: field_media_video_file +entity_type: media +type: file +settings: + target_type: file + display_field: false + display_default: false + uri_scheme: public +module: file +locked: false +cardinality: 1 +translatable: true +indexes: { } +persist_with_no_fields: false +custom_storage: false diff --git a/config/install/field.storage.media.field_mimetype.yml b/modules/islandora_core_feature/config/install/field.storage.media.field_mime_type.yml similarity index 69% rename from config/install/field.storage.media.field_mimetype.yml rename to modules/islandora_core_feature/config/install/field.storage.media.field_mime_type.yml index fce41375..8f458941 100644 --- a/config/install/field.storage.media.field_mimetype.yml +++ b/modules/islandora_core_feature/config/install/field.storage.media.field_mime_type.yml @@ -1,14 +1,13 @@ -uuid: ac5aa8aa-4672-498c-b814-2e4d477b8a75 langcode: en status: true dependencies: - module: - - media_entity enforced: module: - - islandora -id: media.field_mimetype -field_name: field_mimetype + - islandora_core_feature + module: + - media +id: media.field_mime_type +field_name: field_mime_type entity_type: media type: string settings: diff --git a/config/install/field.storage.node.field_obj.yml b/modules/islandora_core_feature/config/install/field.storage.media.field_tags.yml similarity index 53% rename from config/install/field.storage.node.field_obj.yml rename to modules/islandora_core_feature/config/install/field.storage.media.field_tags.yml index a5cbcd38..b76af0b7 100644 --- a/config/install/field.storage.node.field_obj.yml +++ b/modules/islandora_core_feature/config/install/field.storage.media.field_tags.yml @@ -1,22 +1,21 @@ -uuid: d31f7746-57f6-4081-973e-da400b1e51d1 langcode: en status: true dependencies: enforced: module: - - islandora + - islandora_core_feature module: - - islandora - - media_entity -id: node.field_obj -field_name: field_obj -entity_type: node + - media + - taxonomy +id: media.field_tags +field_name: field_tags +entity_type: media type: entity_reference settings: - target_type: media + target_type: taxonomy_term module: core locked: false -cardinality: 1 +cardinality: -1 translatable: true indexes: { } persist_with_no_fields: false diff --git a/config/install/field.storage.media.field_width.yml b/modules/islandora_core_feature/config/install/field.storage.media.field_width.yml similarity index 80% rename from config/install/field.storage.media.field_width.yml rename to modules/islandora_core_feature/config/install/field.storage.media.field_width.yml index a00cf391..aefac1ca 100644 --- a/config/install/field.storage.media.field_width.yml +++ b/modules/islandora_core_feature/config/install/field.storage.media.field_width.yml @@ -1,12 +1,11 @@ -uuid: 3d8f21ae-673c-4569-b7be-6352068e5fcb langcode: en status: true dependencies: - module: - - media_entity enforced: module: - - islandora + - islandora_core_feature + module: + - media id: media.field_width field_name: field_width entity_type: media diff --git a/config/install/field.storage.node.field_memberof.yml b/modules/islandora_core_feature/config/install/field.storage.node.field_member_of.yml similarity index 69% rename from config/install/field.storage.node.field_memberof.yml rename to modules/islandora_core_feature/config/install/field.storage.node.field_member_of.yml index 764b3cef..f7decd61 100644 --- a/config/install/field.storage.node.field_memberof.yml +++ b/modules/islandora_core_feature/config/install/field.storage.node.field_member_of.yml @@ -1,20 +1,20 @@ langcode: en status: true dependencies: - module: - - islandora enforced: module: - - islandora -id: node.field_memberof -field_name: field_memberof + - islandora_core_feature + module: + - node +id: node.field_member_of +field_name: field_member_of entity_type: node type: entity_reference settings: target_type: node module: core locked: false -cardinality: 1 +cardinality: -1 translatable: true indexes: { } persist_with_no_fields: false diff --git a/modules/islandora_core_feature/config/install/field.storage.taxonomy_term.field_external_uri.yml b/modules/islandora_core_feature/config/install/field.storage.taxonomy_term.field_external_uri.yml new file mode 100644 index 00000000..b1d10e19 --- /dev/null +++ b/modules/islandora_core_feature/config/install/field.storage.taxonomy_term.field_external_uri.yml @@ -0,0 +1,21 @@ +langcode: en +status: true +dependencies: + enforced: + module: + - islandora_core_feature + module: + - link + - taxonomy +id: taxonomy_term.field_external_uri +field_name: field_external_uri +entity_type: taxonomy_term +type: link +settings: { } +module: link +locked: false +cardinality: -1 +translatable: true +indexes: { } +persist_with_no_fields: false +custom_storage: false diff --git a/modules/islandora_core_feature/config/install/media.type.audio.yml b/modules/islandora_core_feature/config/install/media.type.audio.yml new file mode 100644 index 00000000..4ca59fd5 --- /dev/null +++ b/modules/islandora_core_feature/config/install/media.type.audio.yml @@ -0,0 +1,17 @@ +langcode: en +status: true +dependencies: + enforced: + module: + - islandora_core_feature +id: audio +label: Audio +description: 'A locally hosted audio file.' +source: audio_file +queue_thumbnail_downloads: false +new_revision: true +source_configuration: + source_field: field_media_audio_file +field_map: + mimetype: field_mime_type + filesize: field_file_size diff --git a/modules/islandora_core_feature/config/install/media.type.file.yml b/modules/islandora_core_feature/config/install/media.type.file.yml new file mode 100644 index 00000000..319485ca --- /dev/null +++ b/modules/islandora_core_feature/config/install/media.type.file.yml @@ -0,0 +1,17 @@ +langcode: en +status: true +dependencies: + enforced: + module: + - islandora_core_feature +id: file +label: File +description: 'Use local files for reusable media.' +source: file +queue_thumbnail_downloads: false +new_revision: true +source_configuration: + source_field: field_media_file +field_map: + mimetype: field_mime_type + filesize: field_file_size diff --git a/modules/islandora_core_feature/config/install/media.type.image.yml b/modules/islandora_core_feature/config/install/media.type.image.yml new file mode 100644 index 00000000..790835b6 --- /dev/null +++ b/modules/islandora_core_feature/config/install/media.type.image.yml @@ -0,0 +1,19 @@ +langcode: en +status: true +dependencies: + enforced: + module: + - islandora_core_feature +id: image +label: Image +description: 'Use local images for reusable media.' +source: image +queue_thumbnail_downloads: false +new_revision: true +source_configuration: + source_field: field_media_image +field_map: + mimetype: field_mime_type + filesize: field_file_size + width: field_width + height: field_height diff --git a/modules/islandora_core_feature/config/install/media.type.video.yml b/modules/islandora_core_feature/config/install/media.type.video.yml new file mode 100644 index 00000000..fd127305 --- /dev/null +++ b/modules/islandora_core_feature/config/install/media.type.video.yml @@ -0,0 +1,17 @@ +langcode: en +status: true +dependencies: + enforced: + module: + - islandora_core_feature +id: video +label: Video +description: 'A locally hosted video file.' +source: video_file +queue_thumbnail_downloads: false +new_revision: true +source_configuration: + source_field: field_media_video_file +field_map: + mimetype: field_mime_type + filesize: field_file_size diff --git a/modules/islandora_core_feature/config/install/migrate_plus.migration.islandora_tags.yml b/modules/islandora_core_feature/config/install/migrate_plus.migration.islandora_tags.yml new file mode 100644 index 00000000..45267408 --- /dev/null +++ b/modules/islandora_core_feature/config/install/migrate_plus.migration.islandora_tags.yml @@ -0,0 +1,31 @@ +langcode: en +status: true +dependencies: + enforced: + module: + - islandora_core_feature +id: islandora_tags +class: null +field_plugin_method: null +cck_plugin_method: null +migration_tags: islandora_tags +migration_group: islandora +label: 'Tags migration from CSV' +source: + plugin: csv + path: /var/www/html/drupal/web/modules/contrib/islandora/migrate/tags.csv + header_row_count: 1 + keys: + - external_uri +process: + name: name + vid: vid + description: description + field_external_uri: + plugin: urlencode + source: external_uri +destination: + plugin: 'entity:taxonomy_term' +migration_dependencies: + required: { } + optional: { } diff --git a/modules/islandora_core_feature/config/install/migrate_plus.migration_group.islandora.yml b/modules/islandora_core_feature/config/install/migrate_plus.migration_group.islandora.yml new file mode 100644 index 00000000..69b8503c --- /dev/null +++ b/modules/islandora_core_feature/config/install/migrate_plus.migration_group.islandora.yml @@ -0,0 +1,12 @@ +langcode: en +status: true +dependencies: + enforced: + module: + - islandora_core_feature +id: islandora +label: Islandora +description: 'Migrations into Islandora' +source_type: Anything +module: null +shared_configuration: null diff --git a/modules/islandora_core_feature/config/install/rdf.mapping.media.audio.yml b/modules/islandora_core_feature/config/install/rdf.mapping.media.audio.yml new file mode 100644 index 00000000..6fb8df40 --- /dev/null +++ b/modules/islandora_core_feature/config/install/rdf.mapping.media.audio.yml @@ -0,0 +1,45 @@ +langcode: en +status: true +dependencies: + config: + - media.type.audio + enforced: + module: + - islandora_core_feature + module: + - media +id: media.audio +targetEntityType: media +bundle: audio +types: + - 'pcdm:File' +fieldMappings: + name: + properties: + - 'dc:title' + - 'rdf:label' + created: + properties: + - 'schema:dateCreated' + datatype_callback: + callable: 'Drupal\rdf\CommonDataConverter::dateIso8601Value' + changed: + properties: + - 'schema:dateModified' + datatype_callback: + callable: 'Drupal\rdf\CommonDataConverter::dateIso8601Value' + uid: + properties: + - 'schema:author' + mapping_type: rel + field_mime_type: + properties: + - 'ebucore:hasMimeType' + field_media_of: + properties: + - 'pcdm:fileOf' + mapping_type: rel + field_tags: + properties: + - 'schema:additionalType' + mapping_type: rel diff --git a/config/install/rdf.mapping.media.tn.yml b/modules/islandora_core_feature/config/install/rdf.mapping.media.file.yml similarity index 67% rename from config/install/rdf.mapping.media.tn.yml rename to modules/islandora_core_feature/config/install/rdf.mapping.media.file.yml index f65e03da..e298c2db 100644 --- a/config/install/rdf.mapping.media.tn.yml +++ b/modules/islandora_core_feature/config/install/rdf.mapping.media.file.yml @@ -1,21 +1,18 @@ -uuid: 77e9e71f-f67f-438f-80eb-bb5fa931a5ec langcode: en status: true dependencies: config: - - media_entity.bundle.tn + - media.type.file enforced: module: - - islandora + - islandora_core_feature module: - - media_entity -_core: - default_config_hash: 6L5MoXE-kIJb53NSl9cSQBFoyZNG1DWL8CFOSV60yMk -id: media.tn + - media +id: media.file targetEntityType: media -bundle: tn +bundle: file types: - - 'use:ThumbnailImage' + - 'pcdm:File' fieldMappings: name: properties: @@ -35,6 +32,14 @@ fieldMappings: properties: - 'schema:author' mapping_type: rel - field_mimetype: + field_mime_type: properties: - 'ebucore:hasMimeType' + field_media_of: + properties: + - 'pcdm:fileOf' + mapping_type: rel + field_tags: + properties: + - 'schema:additionalType' + mapping_type: rel diff --git a/modules/islandora_core_feature/config/install/rdf.mapping.media.image.yml b/modules/islandora_core_feature/config/install/rdf.mapping.media.image.yml new file mode 100644 index 00000000..3cc7a2ee --- /dev/null +++ b/modules/islandora_core_feature/config/install/rdf.mapping.media.image.yml @@ -0,0 +1,51 @@ +langcode: en +status: true +dependencies: + config: + - media.type.image + enforced: + module: + - islandora_core_feature + module: + - media +id: media.image +targetEntityType: media +bundle: image +types: + - 'pcdm:File' +fieldMappings: + name: + properties: + - 'dc:title' + - 'rdf:label' + created: + properties: + - 'schema:dateCreated' + datatype_callback: + callable: 'Drupal\rdf\CommonDataConverter::dateIso8601Value' + changed: + properties: + - 'schema:dateModified' + datatype_callback: + callable: 'Drupal\rdf\CommonDataConverter::dateIso8601Value' + uid: + properties: + - 'schema:author' + mapping_type: rel + field_mime_type: + properties: + - 'ebucore:hasMimeType' + field_media_of: + properties: + - 'pcdm:fileOf' + mapping_type: rel + field_tags: + properties: + - 'schema:additionalType' + mapping_type: rel + field_width: + properties: + - 'ebucore:width' + field_height: + properties: + - 'ebucore:height' diff --git a/modules/islandora_core_feature/config/install/rdf.mapping.media.video.yml b/modules/islandora_core_feature/config/install/rdf.mapping.media.video.yml new file mode 100644 index 00000000..c70bc50d --- /dev/null +++ b/modules/islandora_core_feature/config/install/rdf.mapping.media.video.yml @@ -0,0 +1,45 @@ +langcode: en +status: true +dependencies: + config: + - media.type.video + enforced: + module: + - islandora_core_feature + module: + - media +id: media.video +targetEntityType: media +bundle: video +types: + - 'pcdm:File' +fieldMappings: + name: + properties: + - 'dc:title' + - 'rdf:label' + created: + properties: + - 'schema:dateCreated' + datatype_callback: + callable: 'Drupal\rdf\CommonDataConverter::dateIso8601Value' + changed: + properties: + - 'schema:dateModified' + datatype_callback: + callable: 'Drupal\rdf\CommonDataConverter::dateIso8601Value' + uid: + properties: + - 'schema:author' + mapping_type: rel + field_mime_type: + properties: + - 'ebucore:hasMimeType' + field_media_of: + properties: + - 'pcdm:fileOf' + mapping_type: rel + field_tags: + properties: + - 'schema:additionalType' + mapping_type: rel diff --git a/modules/islandora_core_feature/config/install/rdf.mapping.taxonomy_term.tags.yml b/modules/islandora_core_feature/config/install/rdf.mapping.taxonomy_term.tags.yml new file mode 100644 index 00000000..0e07aad3 --- /dev/null +++ b/modules/islandora_core_feature/config/install/rdf.mapping.taxonomy_term.tags.yml @@ -0,0 +1,30 @@ +langcode: en +status: true +dependencies: + config: + - taxonomy.vocabulary.tags + enforced: + module: + - islandora_core_feature + module: + - taxonomy +id: taxonomy_term.tags +targetEntityType: taxonomy_term +bundle: tags +types: + - 'schema:Thing' +fieldMappings: + name: + properties: + - 'dc:title' + description: + properties: + - 'dc:description' + field_external_uri: + properties: + - 'owl:sameAs' + changed: + properties: + - 'schema:dateModified' + datatype_callback: + callable: 'Drupal\rdf\CommonDataConverter::dateIso8601Value' diff --git a/modules/islandora_core_feature/config/install/rest.resource.entity.file.yml b/modules/islandora_core_feature/config/install/rest.resource.entity.file.yml new file mode 100644 index 00000000..d0a581ee --- /dev/null +++ b/modules/islandora_core_feature/config/install/rest.resource.entity.file.yml @@ -0,0 +1,46 @@ +langcode: en +status: true +dependencies: + enforced: + module: + - islandora_core_feature + module: + - basic_auth + - file + - jsonld + - jwt + - serialization + - user +id: entity.file +plugin_id: 'entity:file' +granularity: method +configuration: + GET: + supported_formats: + - jsonld + - json + supported_auth: + - basic_auth + - jwt_auth + - cookie + POST: + supported_formats: + - json + supported_auth: + - basic_auth + - jwt_auth + - cookie + DELETE: + supported_formats: + - json + supported_auth: + - basic_auth + - jwt_auth + - cookie + PATCH: + supported_formats: + - json + supported_auth: + - basic_auth + - jwt_auth + - cookie diff --git a/modules/islandora_core_feature/config/install/rest.resource.entity.media.yml b/modules/islandora_core_feature/config/install/rest.resource.entity.media.yml new file mode 100644 index 00000000..3de126ac --- /dev/null +++ b/modules/islandora_core_feature/config/install/rest.resource.entity.media.yml @@ -0,0 +1,46 @@ +langcode: en +status: true +dependencies: + enforced: + module: + - islandora_core_feature + module: + - basic_auth + - jsonld + - jwt + - media + - serialization + - user +id: entity.media +plugin_id: 'entity:media' +granularity: method +configuration: + GET: + supported_formats: + - jsonld + - json + supported_auth: + - basic_auth + - jwt_auth + - cookie + POST: + supported_formats: + - json + supported_auth: + - basic_auth + - jwt_auth + - cookie + DELETE: + supported_formats: + - json + supported_auth: + - basic_auth + - jwt_auth + - cookie + PATCH: + supported_formats: + - json + supported_auth: + - basic_auth + - jwt_auth + - cookie diff --git a/modules/islandora_core_feature/config/install/rest.resource.entity.node.yml b/modules/islandora_core_feature/config/install/rest.resource.entity.node.yml new file mode 100644 index 00000000..c3207255 --- /dev/null +++ b/modules/islandora_core_feature/config/install/rest.resource.entity.node.yml @@ -0,0 +1,46 @@ +langcode: en +status: true +dependencies: + enforced: + module: + - islandora_core_feature + module: + - basic_auth + - jsonld + - jwt + - node + - serialization + - user +id: entity.node +plugin_id: 'entity:node' +granularity: method +configuration: + GET: + supported_formats: + - jsonld + - json + supported_auth: + - basic_auth + - jwt_auth + - cookie + POST: + supported_formats: + - json + supported_auth: + - basic_auth + - jwt_auth + - cookie + DELETE: + supported_formats: + - json + supported_auth: + - basic_auth + - jwt_auth + - cookie + PATCH: + supported_formats: + - json + supported_auth: + - basic_auth + - jwt_auth + - cookie diff --git a/modules/islandora_core_feature/config/install/rest.resource.entity.taxonomy_term.yml b/modules/islandora_core_feature/config/install/rest.resource.entity.taxonomy_term.yml new file mode 100644 index 00000000..871d2bab --- /dev/null +++ b/modules/islandora_core_feature/config/install/rest.resource.entity.taxonomy_term.yml @@ -0,0 +1,46 @@ +langcode: en +status: true +dependencies: + enforced: + module: + - islandora_core_feature + module: + - basic_auth + - jsonld + - jwt + - serialization + - taxonomy + - user +id: entity.taxonomy_term +plugin_id: 'entity:taxonomy_term' +granularity: method +configuration: + GET: + supported_formats: + - jsonld + - json + supported_auth: + - basic_auth + - jwt_auth + - cookie + POST: + supported_formats: + - json + supported_auth: + - basic_auth + - jwt_auth + - cookie + DELETE: + supported_formats: + - json + supported_auth: + - basic_auth + - jwt_auth + - cookie + PATCH: + supported_formats: + - json + supported_auth: + - basic_auth + - jwt_auth + - cookie diff --git a/config/install/system.action.delete_file_from_fedora.yml b/modules/islandora_core_feature/config/install/system.action.delete_file_from_fedora.yml similarity index 67% rename from config/install/system.action.delete_file_from_fedora.yml rename to modules/islandora_core_feature/config/install/system.action.delete_file_from_fedora.yml index ee61cf04..6fba1ee0 100644 --- a/config/install/system.action.delete_file_from_fedora.yml +++ b/modules/islandora_core_feature/config/install/system.action.delete_file_from_fedora.yml @@ -1,16 +1,15 @@ -uuid: 76d619dd-54f1-4047-8e89-54d5f1a7c16a langcode: en status: true dependencies: - module: - - islandora enforced: module: - - islandora + - islandora_core_feature + module: + - islandora id: delete_file_from_fedora label: 'Delete File from Fedora' type: file plugin: emit_file_event configuration: - queue: 'islandora-indexing-fcrepo-delete' + queue: islandora-indexing-fcrepo-delete event: delete diff --git a/config/install/system.action.delete_media_from_triplestore.yml b/modules/islandora_core_feature/config/install/system.action.delete_media_from_triplestore.yml similarity index 67% rename from config/install/system.action.delete_media_from_triplestore.yml rename to modules/islandora_core_feature/config/install/system.action.delete_media_from_triplestore.yml index 3a67fe15..20e1d7d5 100644 --- a/config/install/system.action.delete_media_from_triplestore.yml +++ b/modules/islandora_core_feature/config/install/system.action.delete_media_from_triplestore.yml @@ -1,16 +1,15 @@ -uuid: a5f0a427-9c30-41ec-92b8-04b47855aee1 langcode: en status: true dependencies: - module: - - islandora enforced: module: - - islandora + - islandora_core_feature + module: + - islandora id: delete_media_from_triplestore label: 'Delete Media from Triplestore' type: media plugin: emit_media_event configuration: - queue: 'islandora-indexing-triplestore-delete' + queue: islandora-indexing-triplestore-delete event: delete diff --git a/config/install/system.action.delete_node_from_fedora.yml b/modules/islandora_core_feature/config/install/system.action.delete_node_from_fedora.yml similarity index 67% rename from config/install/system.action.delete_node_from_fedora.yml rename to modules/islandora_core_feature/config/install/system.action.delete_node_from_fedora.yml index ed1d891a..0c91ce4d 100644 --- a/config/install/system.action.delete_node_from_fedora.yml +++ b/modules/islandora_core_feature/config/install/system.action.delete_node_from_fedora.yml @@ -1,16 +1,15 @@ -uuid: 23ad55f4-301b-4ffb-b542-4cf2c0c291d8 langcode: en status: true dependencies: - module: - - islandora enforced: module: - - islandora + - islandora_core_feature + module: + - islandora id: delete_node_from_fedora label: 'Delete Node from Fedora' type: node plugin: emit_node_event configuration: - queue: 'islandora-indexing-fcrepo-delete' + queue: islandora-indexing-fcrepo-delete event: delete diff --git a/config/install/system.action.delete_node_from_triplestore.yml b/modules/islandora_core_feature/config/install/system.action.delete_node_from_triplestore.yml similarity index 67% rename from config/install/system.action.delete_node_from_triplestore.yml rename to modules/islandora_core_feature/config/install/system.action.delete_node_from_triplestore.yml index 4fc9bae0..8b16cf3b 100644 --- a/config/install/system.action.delete_node_from_triplestore.yml +++ b/modules/islandora_core_feature/config/install/system.action.delete_node_from_triplestore.yml @@ -1,16 +1,15 @@ -uuid: 4340c20a-d314-4cbf-a26f-c36d7180ede5 langcode: en status: true dependencies: - module: - - islandora enforced: module: - - islandora + - islandora_core_feature + module: + - islandora id: delete_node_from_triplestore label: 'Delete Node from Triplestore' type: node plugin: emit_node_event configuration: - queue: 'islandora-indexing-triplestore-delete' + queue: islandora-indexing-triplestore-delete event: delete diff --git a/modules/islandora_core_feature/config/install/system.action.delete_taxonomy_term_in_fedora.yml b/modules/islandora_core_feature/config/install/system.action.delete_taxonomy_term_in_fedora.yml new file mode 100644 index 00000000..951d7891 --- /dev/null +++ b/modules/islandora_core_feature/config/install/system.action.delete_taxonomy_term_in_fedora.yml @@ -0,0 +1,15 @@ +langcode: en +status: true +dependencies: + enforced: + module: + - islandora_core_feature + module: + - islandora +id: delete_taxonomy_term_in_fedora +label: 'Delete Taxonomy Term in Fedora' +type: taxonomy_term +plugin: emit_term_event +configuration: + queue: islandora-indexing-fcrepo-delete + event: Delete diff --git a/modules/islandora_core_feature/config/install/system.action.delete_taxonomy_term_in_triplestore.yml b/modules/islandora_core_feature/config/install/system.action.delete_taxonomy_term_in_triplestore.yml new file mode 100644 index 00000000..54261998 --- /dev/null +++ b/modules/islandora_core_feature/config/install/system.action.delete_taxonomy_term_in_triplestore.yml @@ -0,0 +1,15 @@ +langcode: en +status: true +dependencies: + enforced: + module: + - islandora_core_feature + module: + - islandora +id: delete_taxonomy_term_in_triplestore +label: 'Delete Taxonomy Term in Triplestore' +type: taxonomy_term +plugin: emit_term_event +configuration: + queue: islandora-indexing-triplestore-delete + event: Delete diff --git a/config/install/system.action.index_file_in_fedora.yml b/modules/islandora_core_feature/config/install/system.action.index_file_in_fedora.yml similarity index 67% rename from config/install/system.action.index_file_in_fedora.yml rename to modules/islandora_core_feature/config/install/system.action.index_file_in_fedora.yml index d1c98111..6dba92f5 100644 --- a/config/install/system.action.index_file_in_fedora.yml +++ b/modules/islandora_core_feature/config/install/system.action.index_file_in_fedora.yml @@ -1,16 +1,15 @@ -uuid: 526d2857-de6f-472d-87e2-d8726db72301 langcode: en status: true dependencies: - module: - - islandora enforced: module: - - islandora + - islandora_core_feature + module: + - islandora id: index_file_in_fedora label: 'Index File in Fedora' type: file plugin: emit_file_event configuration: - queue: 'islandora-indexing-fcrepo-file' + queue: islandora-indexing-fcrepo-file event: update diff --git a/config/install/system.action.index_media_in_fedora.yml b/modules/islandora_core_feature/config/install/system.action.index_media_in_fedora.yml similarity index 68% rename from config/install/system.action.index_media_in_fedora.yml rename to modules/islandora_core_feature/config/install/system.action.index_media_in_fedora.yml index 7cd560d2..ff26adbd 100644 --- a/config/install/system.action.index_media_in_fedora.yml +++ b/modules/islandora_core_feature/config/install/system.action.index_media_in_fedora.yml @@ -1,16 +1,15 @@ -d: 27ce85fc-a9fe-46f5-b518-5af1126e2368 langcode: en status: true dependencies: - module: - - islandora enforced: module: - - islandora + - islandora_core_feature + module: + - islandora id: index_media_in_fedora label: 'Index Media in Fedora' type: media plugin: emit_media_event configuration: - queue: 'islandora-indexing-fcrepo-media' + queue: islandora-indexing-fcrepo-media event: update diff --git a/config/install/system.action.index_media_in_triplestore.yml b/modules/islandora_core_feature/config/install/system.action.index_media_in_triplestore.yml similarity index 67% rename from config/install/system.action.index_media_in_triplestore.yml rename to modules/islandora_core_feature/config/install/system.action.index_media_in_triplestore.yml index 2c7737b4..6146a892 100644 --- a/config/install/system.action.index_media_in_triplestore.yml +++ b/modules/islandora_core_feature/config/install/system.action.index_media_in_triplestore.yml @@ -1,16 +1,15 @@ -uuid: f7c9169d-6556-4720-b225-11a09581272e langcode: en status: true dependencies: - module: - - islandora enforced: module: - - islandora + - islandora_core_feature + module: + - islandora id: index_media_in_triplestore label: 'Index Media in Triplestore' type: media plugin: emit_media_event configuration: - queue: 'islandora-indexing-triplestore-index' + queue: islandora-indexing-triplestore-index event: update diff --git a/config/install/system.action.index_node_in_fedora.yml b/modules/islandora_core_feature/config/install/system.action.index_node_in_fedora.yml similarity index 66% rename from config/install/system.action.index_node_in_fedora.yml rename to modules/islandora_core_feature/config/install/system.action.index_node_in_fedora.yml index 9dbdf592..9b359035 100644 --- a/config/install/system.action.index_node_in_fedora.yml +++ b/modules/islandora_core_feature/config/install/system.action.index_node_in_fedora.yml @@ -1,16 +1,15 @@ -uuid: edb74080-7cf3-45e7-97e2-78cd7494ea92 langcode: en status: true dependencies: - module: - - islandora enforced: module: - - islandora + - islandora_core_feature + module: + - islandora id: index_node_in_fedora label: 'Index Node in Fedora' type: node plugin: emit_node_event configuration: - queue: 'islandora-indexing-fcrepo-content' + queue: islandora-indexing-fcrepo-content event: update diff --git a/config/install/system.action.index_node_in_triplestore.yml b/modules/islandora_core_feature/config/install/system.action.index_node_in_triplestore.yml similarity index 66% rename from config/install/system.action.index_node_in_triplestore.yml rename to modules/islandora_core_feature/config/install/system.action.index_node_in_triplestore.yml index c604b3fe..ba194f51 100644 --- a/config/install/system.action.index_node_in_triplestore.yml +++ b/modules/islandora_core_feature/config/install/system.action.index_node_in_triplestore.yml @@ -1,16 +1,15 @@ -uuid: 5012a177-307c-4ee0-a986-cd35d76f2a58 langcode: en status: true dependencies: - module: - - islandora enforced: module: - - islandora + - islandora_core_feature + module: + - islandora id: index_node_in_triplestore label: 'Index Node in Triplestore' type: node plugin: emit_node_event configuration: - queue: 'islandora-indexing-triplestore-index' + queue: islandora-indexing-triplestore-index event: update diff --git a/modules/islandora_core_feature/config/install/system.action.index_taxonomy_term_in_fedora.yml b/modules/islandora_core_feature/config/install/system.action.index_taxonomy_term_in_fedora.yml new file mode 100644 index 00000000..2181bcd6 --- /dev/null +++ b/modules/islandora_core_feature/config/install/system.action.index_taxonomy_term_in_fedora.yml @@ -0,0 +1,15 @@ +langcode: en +status: true +dependencies: + enforced: + module: + - islandora_core_feature + module: + - islandora +id: index_taxonomy_term_in_fedora +label: 'Index taxonomy term in Fedora' +type: taxonomy_term +plugin: emit_term_event +configuration: + queue: islandora-indexing-fcrepo-content + event: Update diff --git a/modules/islandora_core_feature/config/install/system.action.index_taxonomy_term_in_the_triplestore.yml b/modules/islandora_core_feature/config/install/system.action.index_taxonomy_term_in_the_triplestore.yml new file mode 100644 index 00000000..06593346 --- /dev/null +++ b/modules/islandora_core_feature/config/install/system.action.index_taxonomy_term_in_the_triplestore.yml @@ -0,0 +1,15 @@ +langcode: en +status: true +dependencies: + enforced: + module: + - islandora_core_feature + module: + - islandora +id: index_taxonomy_term_in_the_triplestore +label: 'Index Taxonomy Term in the Triplestore' +type: taxonomy_term +plugin: emit_term_event +configuration: + queue: islandora-indexing-triplestore-index + event: Update diff --git a/modules/islandora_core_feature/config/install/taxonomy.vocabulary.tags.yml b/modules/islandora_core_feature/config/install/taxonomy.vocabulary.tags.yml new file mode 100644 index 00000000..92aa1809 --- /dev/null +++ b/modules/islandora_core_feature/config/install/taxonomy.vocabulary.tags.yml @@ -0,0 +1,11 @@ +langcode: en +status: true +dependencies: + enforced: + module: + - islandora_core_feature +name: Tags +vid: tags +description: 'Use tags to group articles on similar topics into categories.' +hierarchy: 0 +weight: 0 diff --git a/modules/islandora_core_feature/config/install/views.view.display_media.yml b/modules/islandora_core_feature/config/install/views.view.display_media.yml new file mode 100644 index 00000000..defa1c45 --- /dev/null +++ b/modules/islandora_core_feature/config/install/views.view.display_media.yml @@ -0,0 +1,422 @@ +langcode: en +status: true +dependencies: + config: + - core.entity_view_mode.media.source + enforced: + module: + - islandora_core_feature + module: + - eva + - media + - taxonomy + - user +id: display_media +label: 'Media EVAs' +module: views +description: 'Displays media for content as EVA''s per model.' +tag: '' +base_table: media_field_data +base_field: mid +core: 8.x +display: + default: + display_plugin: default + id: default + display_title: Master + position: 0 + display_options: + access: + type: perm + options: + perm: 'view media' + cache: + type: tag + options: { } + query: + type: views_query + options: + disable_sql_rewrite: false + distinct: false + replica: false + query_comment: '' + query_tags: { } + exposed_form: + type: basic + options: + submit_button: Apply + reset_button: false + reset_button_label: Reset + exposed_sorts_label: 'Sort by' + expose_sort_order: true + sort_asc_label: Asc + sort_desc_label: Desc + pager: + type: some + options: + items_per_page: 1 + offset: 0 + style: + type: default + options: + row_class: '' + default_row_class: true + uses_fields: false + row: + type: 'entity:media' + options: + relationship: none + view_mode: source + fields: + name: + id: name + table: media_field_data + field: name + entity_type: media + entity_field: media + label: '' + alter: + alter_text: false + make_link: false + absolute: false + trim: false + word_boundary: false + ellipsis: false + strip_tags: false + html: false + hide_empty: false + empty_zero: false + settings: + link_to_entity: true + plugin_id: field + relationship: none + group_type: group + admin_label: '' + exclude: false + element_type: '' + element_class: '' + element_label_type: '' + element_label_class: '' + element_label_colon: true + element_wrapper_type: '' + element_wrapper_class: '' + element_default_classes: true + empty: '' + hide_alter_empty: true + click_sort_column: value + type: string + group_column: value + group_columns: { } + group_rows: true + delta_limit: 0 + delta_offset: 0 + delta_reversed: false + delta_first_last: false + multi_type: separator + separator: ', ' + field_api_classes: false + filters: + status: + value: '1' + table: media_field_data + field: status + plugin_id: boolean + entity_type: media + entity_field: status + id: status + expose: + operator: '' + group: 1 + sorts: { } + title: '' + header: { } + footer: { } + empty: { } + relationships: + field_tags: + id: field_tags + table: media__field_tags + field: field_tags + relationship: none + group_type: group + admin_label: 'field_tags: Taxonomy term' + required: false + plugin_id: standard + arguments: + field_media_of_target_id: + id: field_media_of_target_id + table: media__field_media_of + field: field_media_of_target_id + relationship: none + group_type: group + admin_label: '' + default_action: default + exception: + value: all + title_enable: false + title: All + title_enable: false + title: '' + default_argument_type: node + default_argument_options: { } + default_argument_skip_url: false + summary_options: + base_path: '' + count: true + items_per_page: 25 + override: false + summary: + sort_order: asc + number_of_records: 0 + format: default_summary + specify_validation: false + validate: + type: none + fail: 'not found' + validate_options: { } + break_phrase: false + not: false + plugin_id: numeric + display_extenders: { } + cache_metadata: + max-age: -1 + contexts: + - 'languages:language_content' + - 'languages:language_interface' + - url + - user.permissions + tags: { } + entity_view_1: + display_plugin: entity_view + id: entity_view_1 + display_title: 'Preservation Master - Download' + position: 1 + display_options: + display_extenders: { } + display_description: 'Best quality representation of the Object appropriate for long-term preservation.' + filters: + status: + value: '1' + table: media_field_data + field: status + plugin_id: boolean + entity_type: media + entity_field: status + id: status + expose: + operator: '' + group: 1 + field_external_uri_uri: + id: field_external_uri_uri + table: taxonomy_term__field_external_uri + field: field_external_uri_uri + relationship: field_tags + group_type: group + admin_label: '' + operator: '=' + value: 'http://pcdm.org/use#PreservationMasterFile' + group: 1 + exposed: false + expose: + operator_id: '' + label: '' + description: '' + use_operator: false + operator: '' + identifier: '' + required: false + remember: false + multiple: false + remember_roles: + authenticated: authenticated + placeholder: '' + is_grouped: false + group_info: + label: '' + description: '' + identifier: '' + optional: true + widget: select + multiple: false + remember: false + default_group: All + default_group_multiple: { } + group_items: { } + plugin_id: string + defaults: + filters: false + filter_groups: false + filter_groups: + operator: AND + groups: + 1: AND + entity_type: node + bundles: + - islandora_object + argument_mode: id + default_argument: null + title: 'Preservation Master' + show_title: false + cache_metadata: + max-age: -1 + contexts: + - 'languages:language_content' + - 'languages:language_interface' + - url + - user.permissions + tags: { } + service_file: + display_plugin: entity_view + id: service_file + display_title: 'Service File' + position: 1 + display_options: + display_extenders: { } + display_description: 'A medium quality representation of the Object appropriate for serving to users.' + filters: + status: + value: '1' + table: media_field_data + field: status + plugin_id: boolean + entity_type: media + entity_field: status + id: status + expose: + operator: '' + group: 1 + field_external_uri_uri: + id: field_external_uri_uri + table: taxonomy_term__field_external_uri + field: field_external_uri_uri + relationship: field_tags + group_type: group + admin_label: '' + operator: '=' + value: 'http://pcdm.org/use#ServiceFile' + group: 1 + exposed: false + expose: + operator_id: '' + label: '' + description: '' + use_operator: false + operator: '' + identifier: '' + required: false + remember: false + multiple: false + remember_roles: + authenticated: authenticated + placeholder: '' + is_grouped: false + group_info: + label: '' + description: '' + identifier: '' + optional: true + widget: select + multiple: false + remember: false + default_group: All + default_group_multiple: { } + group_items: { } + plugin_id: string + defaults: + filters: false + filter_groups: false + title: false + filter_groups: + operator: AND + groups: + 1: AND + entity_type: node + bundles: + - islandora_object + title: 'Service File' + cache_metadata: + max-age: -1 + contexts: + - 'languages:language_content' + - 'languages:language_interface' + - url + - user.permissions + tags: { } + thumbnail: + display_plugin: entity_view + id: thumbnail + display_title: Thumbnail + position: 1 + display_options: + display_extenders: { } + display_description: 'A low resolution image representation of the Object appropriate for using as an icon.' + filters: + status: + value: '1' + table: media_field_data + field: status + plugin_id: boolean + entity_type: media + entity_field: status + id: status + expose: + operator: '' + group: 1 + field_external_uri_uri: + id: field_external_uri_uri + table: taxonomy_term__field_external_uri + field: field_external_uri_uri + relationship: field_tags + group_type: group + admin_label: '' + operator: '=' + value: 'http://pcdm.org/use#ThumbnailImage' + group: 1 + exposed: false + expose: + operator_id: '' + label: '' + description: '' + use_operator: false + operator: '' + identifier: '' + required: false + remember: false + multiple: false + remember_roles: + authenticated: authenticated + placeholder: '' + is_grouped: false + group_info: + label: '' + description: '' + identifier: '' + optional: true + widget: select + multiple: false + remember: false + default_group: All + default_group_multiple: { } + group_items: { } + plugin_id: string + defaults: + filters: false + filter_groups: false + title: false + filter_groups: + operator: AND + groups: + 1: AND + entity_type: node + bundles: + - islandora_object + title: Thumbnail + show_title: false + cache_metadata: + max-age: -1 + contexts: + - 'languages:language_content' + - 'languages:language_interface' + - url + - user.permissions + tags: { } diff --git a/config/install/views.view.file_checksum.yml b/modules/islandora_core_feature/config/install/views.view.file_checksum.yml similarity index 96% rename from config/install/views.view.file_checksum.yml rename to modules/islandora_core_feature/config/install/views.view.file_checksum.yml index a3091a17..53533b2d 100644 --- a/config/install/views.view.file_checksum.yml +++ b/modules/islandora_core_feature/config/install/views.view.file_checksum.yml @@ -1,19 +1,13 @@ -uuid: cd3f8b61-8032-4c3d-9de3-624b298c9bca langcode: en status: true dependencies: + enforced: + module: + - islandora_core_feature module: - - basic_auth - file - - jwt - rest - serialization - - user - enforced: - module: - - islandora -_core: - default_config_hash: e7XqQa-N16XDqeDTA7Ohgx6iLb6mIQ1RUs0krFFIbAw id: file_checksum label: 'File Checksum' module: views diff --git a/modules/islandora_core_feature/config/install/views.view.manage_members.yml b/modules/islandora_core_feature/config/install/views.view.manage_members.yml new file mode 100644 index 00000000..68208b04 --- /dev/null +++ b/modules/islandora_core_feature/config/install/views.view.manage_members.yml @@ -0,0 +1,342 @@ +langcode: en +status: true +dependencies: + enforced: + module: + - islandora_core_feature + module: + - jsonld + - node + - rest + - serialization + - user +id: manage_members +label: 'Manage members' +module: views +description: 'Manage members belonging to a piece of content' +tag: '' +base_table: node_field_data +base_field: nid +core: 8.x +display: + default: + display_plugin: default + id: default + display_title: Master + position: 0 + display_options: + access: + type: perm + options: + perm: 'manage members' + cache: + type: tag + options: { } + query: + type: views_query + options: + disable_sql_rewrite: false + distinct: false + replica: false + query_comment: '' + query_tags: { } + exposed_form: + type: basic + options: + submit_button: Apply + reset_button: false + reset_button_label: Reset + exposed_sorts_label: 'Sort by' + expose_sort_order: true + sort_asc_label: Asc + sort_desc_label: Desc + pager: + type: mini + options: + items_per_page: 10 + offset: 0 + id: 0 + total_pages: null + expose: + items_per_page: false + items_per_page_label: 'Items per page' + items_per_page_options: '5, 10, 25, 50' + items_per_page_options_all: false + items_per_page_options_all_label: '- All -' + offset: false + offset_label: Offset + tags: + previous: ‹‹ + next: ›› + style: + type: table + row: + type: fields + fields: + node_bulk_form: + id: node_bulk_form + table: node + field: node_bulk_form + relationship: none + group_type: group + admin_label: '' + label: 'Node operations bulk form' + exclude: false + alter: + alter_text: false + text: '' + make_link: false + path: '' + absolute: false + external: false + replace_spaces: false + path_case: none + trim_whitespace: false + alt: '' + rel: '' + link_class: '' + prefix: '' + suffix: '' + target: '' + nl2br: false + max_length: 0 + word_boundary: true + ellipsis: true + more_link: false + more_link_text: '' + more_link_path: '' + strip_tags: false + trim: false + preserve_tags: '' + html: false + element_type: '' + element_class: '' + element_label_type: '' + element_label_class: '' + element_label_colon: true + element_wrapper_type: '' + element_wrapper_class: '' + element_default_classes: true + empty: '' + hide_empty: false + empty_zero: false + hide_alter_empty: true + action_title: Action + include_exclude: exclude + selected_actions: { } + entity_type: node + plugin_id: node_bulk_form + title: + id: title + table: node_field_data + field: title + entity_type: node + entity_field: title + alter: + alter_text: false + make_link: false + absolute: false + trim: false + word_boundary: false + ellipsis: false + strip_tags: false + html: false + hide_empty: false + empty_zero: false + settings: + link_to_entity: true + plugin_id: field + relationship: none + group_type: group + admin_label: '' + label: Title + exclude: false + element_type: '' + element_class: '' + element_label_type: '' + element_label_class: '' + element_label_colon: true + element_wrapper_type: '' + element_wrapper_class: '' + element_default_classes: true + empty: '' + hide_alter_empty: true + click_sort_column: value + type: string + group_column: value + group_columns: { } + group_rows: true + delta_limit: 0 + delta_offset: 0 + delta_reversed: false + delta_first_last: false + multi_type: separator + separator: ', ' + field_api_classes: false + operations: + id: operations + table: node + field: operations + relationship: none + group_type: group + admin_label: '' + label: 'Operations links' + exclude: false + alter: + alter_text: false + text: '' + make_link: false + path: '' + absolute: false + external: false + replace_spaces: false + path_case: none + trim_whitespace: false + alt: '' + rel: '' + link_class: '' + prefix: '' + suffix: '' + target: '' + nl2br: false + max_length: 0 + word_boundary: true + ellipsis: true + more_link: false + more_link_text: '' + more_link_path: '' + strip_tags: false + trim: false + preserve_tags: '' + html: false + element_type: '' + element_class: '' + element_label_type: '' + element_label_class: '' + element_label_colon: true + element_wrapper_type: '' + element_wrapper_class: '' + element_default_classes: true + empty: '' + hide_empty: false + empty_zero: false + hide_alter_empty: true + destination: false + entity_type: node + plugin_id: entity_operations + filters: { } + sorts: { } + title: 'Manage members' + header: { } + footer: { } + empty: { } + relationships: { } + arguments: + field_member_of_target_id: + id: field_member_of_target_id + table: node__field_member_of + field: field_member_of_target_id + relationship: none + group_type: group + admin_label: '' + default_action: default + exception: + value: all + title_enable: false + title: All + title_enable: false + title: '' + default_argument_type: node + default_argument_options: { } + default_argument_skip_url: false + summary_options: + base_path: '' + count: true + items_per_page: 25 + override: false + summary: + sort_order: asc + number_of_records: 0 + format: default_summary + specify_validation: true + validate: + type: 'entity:node' + fail: 'not found' + validate_options: + operation: view + multiple: 0 + bundles: { } + access: false + break_phrase: false + not: false + plugin_id: numeric + display_extenders: { } + filter_groups: + operator: AND + groups: { } + cache_metadata: + max-age: 0 + contexts: + - 'languages:language_content' + - 'languages:language_interface' + - url + - url.query_args + - 'user.node_grants:view' + - user.permissions + tags: { } + page_1: + display_plugin: page + id: page_1 + display_title: Page + position: 1 + display_options: + display_extenders: { } + path: node/%node/members + menu: + type: tab + title: Members + description: '' + expanded: false + parent: '' + weight: 0 + context: '0' + menu_name: main + cache_metadata: + max-age: 0 + contexts: + - 'languages:language_content' + - 'languages:language_interface' + - url + - url.query_args + - 'user.node_grants:view' + - user.permissions + tags: { } + rest_export_1: + display_plugin: rest_export + id: rest_export_1 + display_title: 'REST export' + position: 1 + display_options: + display_extenders: { } + path: node/%node/members + style: + type: serializer + options: + uses_fields: false + formats: + jsonld: jsonld + json: json + auth: + - basic_auth + - jwt_auth + - cookie + cache_metadata: + max-age: 0 + contexts: + - 'languages:language_content' + - 'languages:language_interface' + - request_format + - url + - 'user.node_grants:view' + - user.permissions + tags: { } diff --git a/modules/islandora_core_feature/config/install/views.view.media_of.yml b/modules/islandora_core_feature/config/install/views.view.media_of.yml new file mode 100644 index 00000000..8d92e16b --- /dev/null +++ b/modules/islandora_core_feature/config/install/views.view.media_of.yml @@ -0,0 +1,1235 @@ +langcode: en +status: true +dependencies: + config: + - field.storage.media.field_mime_type + - field.storage.media.field_tags + enforced: + module: + - islandora_core_feature + module: + - jsonld + - media + - rest + - serialization + - user +id: media_of +label: 'Manage media' +module: views +description: 'Manage media belonging to a piece of content' +tag: '' +base_table: media_field_data +base_field: mid +core: 8.x +display: + default: + display_plugin: default + id: default + display_title: Master + position: 0 + display_options: + access: + type: perm + options: + perm: 'manage media' + cache: + type: tag + options: { } + query: + type: views_query + options: + disable_sql_rewrite: false + distinct: false + replica: false + query_comment: '' + query_tags: { } + exposed_form: + type: basic + options: + submit_button: Apply + reset_button: false + reset_button_label: Reset + exposed_sorts_label: 'Sort by' + expose_sort_order: true + sort_asc_label: Asc + sort_desc_label: Desc + pager: + type: mini + options: + items_per_page: 10 + offset: 0 + id: 0 + total_pages: null + expose: + items_per_page: false + items_per_page_label: 'Items per page' + items_per_page_options: '5, 10, 25, 50' + items_per_page_options_all: false + items_per_page_options_all_label: '- All -' + offset: false + offset_label: Offset + tags: + previous: ‹‹ + next: ›› + style: + type: table + options: + grouping: { } + row_class: '' + default_row_class: true + override: true + sticky: false + caption: '' + summary: '' + description: '' + columns: + media_bulk_form: media_bulk_form + name: name + bundle: bundle + field_media_model: field_media_model + field_mime_type: field_mime_type + changed: changed + operations: operations + info: + media_bulk_form: + align: '' + separator: '' + empty_column: false + responsive: '' + name: + sortable: true + default_sort_order: asc + align: '' + separator: '' + empty_column: false + responsive: '' + bundle: + sortable: true + default_sort_order: asc + align: '' + separator: '' + empty_column: false + responsive: '' + field_media_model: + sortable: true + default_sort_order: asc + align: '' + separator: '' + empty_column: false + responsive: '' + field_mime_type: + sortable: true + default_sort_order: asc + align: '' + separator: '' + empty_column: false + responsive: '' + changed: + sortable: true + default_sort_order: asc + align: '' + separator: '' + empty_column: false + responsive: '' + operations: + align: '' + separator: '' + empty_column: false + responsive: '' + default: field_media_model + empty_table: false + row: + type: fields + options: + default_field_elements: true + inline: { } + separator: '' + hide_empty: false + fields: + name: + id: name + table: media_field_data + field: name + relationship: none + group_type: group + admin_label: '' + label: Name + exclude: false + alter: + alter_text: false + text: '' + make_link: false + path: '' + absolute: false + external: false + replace_spaces: false + path_case: none + trim_whitespace: false + alt: '' + rel: '' + link_class: '' + prefix: '' + suffix: '' + target: '' + nl2br: false + max_length: 0 + word_boundary: false + ellipsis: false + more_link: false + more_link_text: '' + more_link_path: '' + strip_tags: false + trim: false + preserve_tags: '' + html: false + element_type: '' + element_class: '' + element_label_type: '' + element_label_class: '' + element_label_colon: true + element_wrapper_type: '' + element_wrapper_class: '' + element_default_classes: true + empty: '' + hide_empty: false + empty_zero: false + hide_alter_empty: true + click_sort_column: value + type: string + settings: + link_to_entity: false + group_column: value + group_columns: { } + group_rows: true + delta_limit: 0 + delta_offset: 0 + delta_reversed: false + delta_first_last: false + multi_type: separator + separator: ', ' + field_api_classes: false + entity_type: media + entity_field: media + plugin_id: field + bundle: + id: bundle + table: media_field_data + field: bundle + relationship: none + group_type: group + admin_label: '' + label: 'Media type' + exclude: false + alter: + alter_text: false + text: '' + make_link: false + path: '' + absolute: false + external: false + replace_spaces: false + path_case: none + trim_whitespace: false + alt: '' + rel: '' + link_class: '' + prefix: '' + suffix: '' + target: '' + nl2br: false + max_length: 0 + word_boundary: true + ellipsis: true + more_link: false + more_link_text: '' + more_link_path: '' + strip_tags: false + trim: false + preserve_tags: '' + html: false + element_type: '' + element_class: '' + element_label_type: '' + element_label_class: '' + element_label_colon: true + element_wrapper_type: '' + element_wrapper_class: '' + element_default_classes: true + empty: '' + hide_empty: false + empty_zero: false + hide_alter_empty: true + click_sort_column: target_id + type: entity_reference_label + settings: + link: true + group_column: target_id + group_columns: { } + group_rows: true + delta_limit: 0 + delta_offset: 0 + delta_reversed: false + delta_first_last: false + multi_type: separator + separator: ', ' + field_api_classes: false + entity_type: media + entity_field: bundle + plugin_id: field + field_mime_type: + id: field_mime_type + table: media__field_mime_type + field: field_mime_type + relationship: none + group_type: group + admin_label: '' + label: 'MIME type' + exclude: false + alter: + alter_text: false + text: '' + make_link: false + path: '' + absolute: false + external: false + replace_spaces: false + path_case: none + trim_whitespace: false + alt: '' + rel: '' + link_class: '' + prefix: '' + suffix: '' + target: '' + nl2br: false + max_length: 0 + word_boundary: true + ellipsis: true + more_link: false + more_link_text: '' + more_link_path: '' + strip_tags: false + trim: false + preserve_tags: '' + html: false + element_type: '' + element_class: '' + element_label_type: '' + element_label_class: '' + element_label_colon: true + element_wrapper_type: '' + element_wrapper_class: '' + element_default_classes: true + empty: '' + hide_empty: false + empty_zero: false + hide_alter_empty: true + click_sort_column: value + type: string + settings: + link_to_entity: false + group_column: value + group_columns: { } + group_rows: true + delta_limit: 0 + delta_offset: 0 + delta_reversed: false + delta_first_last: false + multi_type: separator + separator: ', ' + field_api_classes: false + plugin_id: field + changed: + id: changed + table: media_field_data + field: changed + relationship: none + group_type: group + admin_label: '' + label: Changed + exclude: false + alter: + alter_text: false + text: '' + make_link: false + path: '' + absolute: false + external: false + replace_spaces: false + path_case: none + trim_whitespace: false + alt: '' + rel: '' + link_class: '' + prefix: '' + suffix: '' + target: '' + nl2br: false + max_length: 0 + word_boundary: true + ellipsis: true + more_link: false + more_link_text: '' + more_link_path: '' + strip_tags: false + trim: false + preserve_tags: '' + html: false + element_type: '' + element_class: '' + element_label_type: '' + element_label_class: '' + element_label_colon: true + element_wrapper_type: '' + element_wrapper_class: '' + element_default_classes: true + empty: '' + hide_empty: false + empty_zero: false + hide_alter_empty: true + click_sort_column: value + type: timestamp + settings: + date_format: medium + custom_date_format: '' + timezone: '' + group_column: value + group_columns: { } + group_rows: true + delta_limit: 0 + delta_offset: 0 + delta_reversed: false + delta_first_last: false + multi_type: separator + separator: ', ' + field_api_classes: false + entity_type: media + entity_field: changed + plugin_id: field + media_bulk_form: + id: media_bulk_form + table: media + field: media_bulk_form + entity_type: media + plugin_id: bulk_form + operations: + id: operations + table: media + field: operations + entity_type: media + plugin_id: entity_operations + filters: { } + sorts: { } + title: 'Manage Media' + header: { } + footer: { } + empty: { } + relationships: { } + arguments: + field_media_of_target_id: + id: field_media_of_target_id + table: media__field_media_of + field: field_media_of_target_id + relationship: none + group_type: group + admin_label: '' + default_action: default + exception: + value: all + title_enable: false + title: All + title_enable: false + title: '' + default_argument_type: node + default_argument_options: { } + default_argument_skip_url: false + summary_options: + base_path: '' + count: true + items_per_page: 25 + override: false + summary: + sort_order: asc + number_of_records: 0 + format: default_summary + specify_validation: true + validate: + type: 'entity:node' + fail: 'not found' + validate_options: + operation: view + multiple: 0 + bundles: { } + access: false + break_phrase: false + not: false + plugin_id: numeric + display_extenders: { } + filter_groups: + operator: AND + groups: { } + cache_metadata: + max-age: 0 + contexts: + - 'languages:language_content' + - 'languages:language_interface' + - url + - url.query_args + - user.permissions + tags: + - 'config:field.storage.media.field_mime_type' + - extensions + page_1: + display_plugin: page + id: page_1 + display_title: Page + position: 1 + display_options: + display_extenders: { } + path: node/%node/media + menu: + type: tab + title: Media + description: 'Lists all media belonging to this content' + expanded: false + parent: '' + weight: 0 + context: '0' + menu_name: main + fields: + media_bulk_form: + id: media_bulk_form + table: media + field: media_bulk_form + relationship: none + group_type: group + admin_label: '' + label: '' + exclude: false + alter: + alter_text: false + text: '' + make_link: false + path: '' + absolute: false + external: false + replace_spaces: false + path_case: none + trim_whitespace: false + alt: '' + rel: '' + link_class: '' + prefix: '' + suffix: '' + target: '' + nl2br: false + max_length: 0 + word_boundary: true + ellipsis: true + more_link: false + more_link_text: '' + more_link_path: '' + strip_tags: false + trim: false + preserve_tags: '' + html: false + element_type: '' + element_class: '' + element_label_type: '' + element_label_class: '' + element_label_colon: false + element_wrapper_type: '' + element_wrapper_class: '' + element_default_classes: true + empty: '' + hide_empty: false + empty_zero: false + hide_alter_empty: true + action_title: Action + include_exclude: exclude + selected_actions: { } + entity_type: media + plugin_id: bulk_form + name: + id: name + table: media_field_data + field: name + relationship: none + group_type: group + admin_label: '' + label: Name + exclude: false + alter: + alter_text: false + text: '' + make_link: false + path: '' + absolute: false + external: false + replace_spaces: false + path_case: none + trim_whitespace: false + alt: '' + rel: '' + link_class: '' + prefix: '' + suffix: '' + target: '' + nl2br: false + max_length: 0 + word_boundary: false + ellipsis: false + more_link: false + more_link_text: '' + more_link_path: '' + strip_tags: false + trim: false + preserve_tags: '' + html: false + element_type: '' + element_class: '' + element_label_type: '' + element_label_class: '' + element_label_colon: true + element_wrapper_type: '' + element_wrapper_class: '' + element_default_classes: true + empty: '' + hide_empty: false + empty_zero: false + hide_alter_empty: true + click_sort_column: value + type: string + settings: + link_to_entity: true + group_column: value + group_columns: { } + group_rows: true + delta_limit: 0 + delta_offset: 0 + delta_reversed: false + delta_first_last: false + multi_type: separator + separator: ', ' + field_api_classes: false + entity_type: media + entity_field: media + plugin_id: field + bundle: + id: bundle + table: media_field_data + field: bundle + relationship: none + group_type: group + admin_label: '' + label: 'Media type' + exclude: false + alter: + alter_text: false + text: '' + make_link: false + path: '' + absolute: false + external: false + replace_spaces: false + path_case: none + trim_whitespace: false + alt: '' + rel: '' + link_class: '' + prefix: '' + suffix: '' + target: '' + nl2br: false + max_length: 0 + word_boundary: true + ellipsis: true + more_link: false + more_link_text: '' + more_link_path: '' + strip_tags: false + trim: false + preserve_tags: '' + html: false + element_type: '' + element_class: '' + element_label_type: '' + element_label_class: '' + element_label_colon: true + element_wrapper_type: '' + element_wrapper_class: '' + element_default_classes: true + empty: '' + hide_empty: false + empty_zero: false + hide_alter_empty: true + click_sort_column: target_id + type: entity_reference_label + settings: + link: true + group_column: target_id + group_columns: { } + group_rows: true + delta_limit: 0 + delta_offset: 0 + delta_reversed: false + delta_first_last: false + multi_type: separator + separator: ', ' + field_api_classes: false + entity_type: media + entity_field: bundle + plugin_id: field + field_mime_type: + id: field_mime_type + table: media__field_mime_type + field: field_mime_type + relationship: none + group_type: group + admin_label: '' + label: 'MIME type' + exclude: false + alter: + alter_text: false + text: '' + make_link: false + path: '' + absolute: false + external: false + replace_spaces: false + path_case: none + trim_whitespace: false + alt: '' + rel: '' + link_class: '' + prefix: '' + suffix: '' + target: '' + nl2br: false + max_length: 0 + word_boundary: true + ellipsis: true + more_link: false + more_link_text: '' + more_link_path: '' + strip_tags: false + trim: false + preserve_tags: '' + html: false + element_type: '' + element_class: '' + element_label_type: '' + element_label_class: '' + element_label_colon: true + element_wrapper_type: '' + element_wrapper_class: '' + element_default_classes: true + empty: '' + hide_empty: false + empty_zero: false + hide_alter_empty: true + click_sort_column: value + type: string + settings: + link_to_entity: false + group_column: value + group_columns: { } + group_rows: true + delta_limit: 0 + delta_offset: 0 + delta_reversed: false + delta_first_last: false + multi_type: separator + separator: ', ' + field_api_classes: false + plugin_id: field + field_tags: + id: field_tags + table: media__field_tags + field: field_tags + relationship: none + group_type: group + admin_label: '' + label: Tags + exclude: false + alter: + alter_text: false + text: '' + make_link: false + path: '' + absolute: false + external: false + replace_spaces: false + path_case: none + trim_whitespace: false + alt: '' + rel: '' + link_class: '' + prefix: '' + suffix: '' + target: '' + nl2br: false + max_length: 0 + word_boundary: true + ellipsis: true + more_link: false + more_link_text: '' + more_link_path: '' + strip_tags: false + trim: false + preserve_tags: '' + html: false + element_type: '' + element_class: '' + element_label_type: '' + element_label_class: '' + element_label_colon: true + element_wrapper_type: '' + element_wrapper_class: '' + element_default_classes: true + empty: '' + hide_empty: false + empty_zero: false + hide_alter_empty: true + click_sort_column: target_id + type: entity_reference_label + settings: + link: true + group_column: target_id + group_columns: { } + group_rows: true + delta_limit: 0 + delta_offset: 0 + delta_reversed: false + delta_first_last: false + multi_type: separator + separator: ', ' + field_api_classes: false + plugin_id: field + changed: + id: changed + table: media_field_data + field: changed + relationship: none + group_type: group + admin_label: '' + label: Changed + exclude: false + alter: + alter_text: false + text: '' + make_link: false + path: '' + absolute: false + external: false + replace_spaces: false + path_case: none + trim_whitespace: false + alt: '' + rel: '' + link_class: '' + prefix: '' + suffix: '' + target: '' + nl2br: false + max_length: 0 + word_boundary: true + ellipsis: true + more_link: false + more_link_text: '' + more_link_path: '' + strip_tags: false + trim: false + preserve_tags: '' + html: false + element_type: '' + element_class: '' + element_label_type: '' + element_label_class: '' + element_label_colon: true + element_wrapper_type: '' + element_wrapper_class: '' + element_default_classes: true + empty: '' + hide_empty: false + empty_zero: false + hide_alter_empty: true + click_sort_column: value + type: timestamp + settings: + date_format: medium + custom_date_format: '' + timezone: '' + group_column: value + group_columns: { } + group_rows: true + delta_limit: 0 + delta_offset: 0 + delta_reversed: false + delta_first_last: false + multi_type: separator + separator: ', ' + field_api_classes: false + entity_type: media + entity_field: changed + plugin_id: field + operations: + id: operations + table: media + field: operations + relationship: none + group_type: group + admin_label: '' + label: '' + exclude: false + alter: + alter_text: false + text: '' + make_link: false + path: '' + absolute: false + external: false + replace_spaces: false + path_case: none + trim_whitespace: false + alt: '' + rel: '' + link_class: '' + prefix: '' + suffix: '' + target: '' + nl2br: false + max_length: 0 + word_boundary: true + ellipsis: true + more_link: false + more_link_text: '' + more_link_path: '' + strip_tags: false + trim: false + preserve_tags: '' + html: false + element_type: '' + element_class: '' + element_label_type: '' + element_label_class: '' + element_label_colon: false + element_wrapper_type: '' + element_wrapper_class: '' + element_default_classes: true + empty: '' + hide_empty: false + empty_zero: false + hide_alter_empty: true + destination: false + entity_type: media + plugin_id: entity_operations + defaults: + fields: false + cache_metadata: + max-age: 0 + contexts: + - 'languages:language_content' + - 'languages:language_interface' + - url + - url.query_args + - user.permissions + tags: + - 'config:field.storage.media.field_mime_type' + - 'config:field.storage.media.field_tags' + - extensions + rest_export_1: + display_plugin: rest_export + id: rest_export_1 + display_title: 'REST export' + position: 1 + display_options: + display_extenders: { } + path: node/%node/media + auth: + - basic_auth + - jwt_auth + - cookie + style: + type: serializer + options: + uses_fields: false + formats: + jsonld: jsonld + json: json + row: + type: data_entity + options: { } + fields: + name: + id: name + table: media_field_data + field: name + relationship: none + group_type: group + admin_label: '' + label: Name + exclude: false + alter: + alter_text: false + text: '' + make_link: false + path: '' + absolute: false + external: false + replace_spaces: false + path_case: none + trim_whitespace: false + alt: '' + rel: '' + link_class: '' + prefix: '' + suffix: '' + target: '' + nl2br: false + max_length: 0 + word_boundary: false + ellipsis: false + more_link: false + more_link_text: '' + more_link_path: '' + strip_tags: false + trim: false + preserve_tags: '' + html: false + element_type: '' + element_class: '' + element_label_type: '' + element_label_class: '' + element_label_colon: true + element_wrapper_type: '' + element_wrapper_class: '' + element_default_classes: true + empty: '' + hide_empty: false + empty_zero: false + hide_alter_empty: true + click_sort_column: value + type: string + settings: + link_to_entity: false + group_column: value + group_columns: { } + group_rows: true + delta_limit: 0 + delta_offset: 0 + delta_reversed: false + delta_first_last: false + multi_type: separator + separator: ', ' + field_api_classes: false + entity_type: media + entity_field: media + plugin_id: field + bundle: + id: bundle + table: media_field_data + field: bundle + relationship: none + group_type: group + admin_label: '' + label: '' + exclude: false + alter: + alter_text: false + text: '' + make_link: false + path: '' + absolute: false + external: false + replace_spaces: false + path_case: none + trim_whitespace: false + alt: '' + rel: '' + link_class: '' + prefix: '' + suffix: '' + target: '' + nl2br: false + max_length: 0 + word_boundary: true + ellipsis: true + more_link: false + more_link_text: '' + more_link_path: '' + strip_tags: false + trim: false + preserve_tags: '' + html: false + element_type: '' + element_class: '' + element_label_type: '' + element_label_class: '' + element_label_colon: false + element_wrapper_type: '' + element_wrapper_class: '' + element_default_classes: true + empty: '' + hide_empty: false + empty_zero: false + hide_alter_empty: true + click_sort_column: target_id + type: entity_reference_entity_id + settings: { } + group_column: target_id + group_columns: { } + group_rows: true + delta_limit: 0 + delta_offset: 0 + delta_reversed: false + delta_first_last: false + multi_type: separator + separator: ', ' + field_api_classes: false + entity_type: media + entity_field: bundle + plugin_id: field + field_mime_type: + id: field_mime_type + table: media__field_mime_type + field: field_mime_type + relationship: none + group_type: group + admin_label: '' + label: 'MIME type' + exclude: false + alter: + alter_text: false + text: '' + make_link: false + path: '' + absolute: false + external: false + replace_spaces: false + path_case: none + trim_whitespace: false + alt: '' + rel: '' + link_class: '' + prefix: '' + suffix: '' + target: '' + nl2br: false + max_length: 0 + word_boundary: true + ellipsis: true + more_link: false + more_link_text: '' + more_link_path: '' + strip_tags: false + trim: false + preserve_tags: '' + html: false + element_type: '' + element_class: '' + element_label_type: '' + element_label_class: '' + element_label_colon: true + element_wrapper_type: '' + element_wrapper_class: '' + element_default_classes: true + empty: '' + hide_empty: false + empty_zero: false + hide_alter_empty: true + click_sort_column: value + type: string + settings: + link_to_entity: false + group_column: value + group_columns: { } + group_rows: true + delta_limit: 0 + delta_offset: 0 + delta_reversed: false + delta_first_last: false + multi_type: separator + separator: ', ' + field_api_classes: false + plugin_id: field + changed: + id: changed + table: media_field_data + field: changed + relationship: none + group_type: group + admin_label: '' + label: Changed + exclude: false + alter: + alter_text: false + text: '' + make_link: false + path: '' + absolute: false + external: false + replace_spaces: false + path_case: none + trim_whitespace: false + alt: '' + rel: '' + link_class: '' + prefix: '' + suffix: '' + target: '' + nl2br: false + max_length: 0 + word_boundary: true + ellipsis: true + more_link: false + more_link_text: '' + more_link_path: '' + strip_tags: false + trim: false + preserve_tags: '' + html: false + element_type: '' + element_class: '' + element_label_type: '' + element_label_class: '' + element_label_colon: true + element_wrapper_type: '' + element_wrapper_class: '' + element_default_classes: true + empty: '' + hide_empty: false + empty_zero: false + hide_alter_empty: true + click_sort_column: value + type: timestamp + settings: + date_format: medium + custom_date_format: '' + timezone: '' + group_column: value + group_columns: { } + group_rows: true + delta_limit: 0 + delta_offset: 0 + delta_reversed: false + delta_first_last: false + multi_type: separator + separator: ', ' + field_api_classes: false + entity_type: media + entity_field: changed + plugin_id: field + defaults: + fields: false + cache_metadata: + max-age: -1 + contexts: + - 'languages:language_content' + - 'languages:language_interface' + - request_format + - url + - user.permissions + tags: + - 'config:field.storage.media.field_mime_type' + - extensions diff --git a/modules/islandora_core_feature/config/install/views.view.members.yml b/modules/islandora_core_feature/config/install/views.view.members.yml new file mode 100644 index 00000000..ae7a0d0a --- /dev/null +++ b/modules/islandora_core_feature/config/install/views.view.members.yml @@ -0,0 +1,255 @@ +langcode: en +status: true +dependencies: + config: + - core.entity_view_mode.node.teaser + enforced: + module: + - islandora_core_feature + module: + - node + - user +id: members +label: Members +module: views +description: 'Displays members for content.' +tag: '' +base_table: node_field_data +base_field: nid +core: 8.x +display: + default: + display_plugin: default + id: default + display_title: Master + position: 0 + display_options: + access: + type: perm + options: + perm: 'access content' + cache: + type: tag + options: { } + query: + type: views_query + options: + disable_sql_rewrite: false + distinct: false + replica: false + query_comment: '' + query_tags: { } + exposed_form: + type: basic + options: + submit_button: Apply + reset_button: false + reset_button_label: Reset + exposed_sorts_label: 'Sort by' + expose_sort_order: true + sort_asc_label: Asc + sort_desc_label: Desc + pager: + type: mini + options: + items_per_page: 10 + offset: 0 + id: 0 + total_pages: null + expose: + items_per_page: false + items_per_page_label: 'Items per page' + items_per_page_options: '5, 10, 25, 50' + items_per_page_options_all: false + items_per_page_options_all_label: '- All -' + offset: false + offset_label: Offset + tags: + previous: ‹‹ + next: ›› + style: + type: default + options: + grouping: { } + row_class: '' + default_row_class: true + uses_fields: false + row: + type: 'entity:node' + options: + relationship: none + view_mode: teaser + fields: + title: + id: title + table: node_field_data + field: title + entity_type: node + entity_field: title + label: '' + alter: + alter_text: false + make_link: false + absolute: false + trim: false + word_boundary: false + ellipsis: false + strip_tags: false + html: false + hide_empty: false + empty_zero: false + settings: + link_to_entity: true + plugin_id: field + relationship: none + group_type: group + admin_label: '' + exclude: false + element_type: '' + element_class: '' + element_label_type: '' + element_label_class: '' + element_label_colon: true + element_wrapper_type: '' + element_wrapper_class: '' + element_default_classes: true + empty: '' + hide_alter_empty: true + click_sort_column: value + type: string + group_column: value + group_columns: { } + group_rows: true + delta_limit: 0 + delta_offset: 0 + delta_reversed: false + delta_first_last: false + multi_type: separator + separator: ', ' + field_api_classes: false + filters: + status: + id: status + table: node_field_data + field: status + relationship: none + group_type: group + admin_label: '' + operator: '=' + value: '1' + group: 1 + exposed: false + expose: + operator_id: '' + label: '' + description: '' + use_operator: false + operator: '' + identifier: '' + required: false + remember: false + multiple: false + remember_roles: + authenticated: authenticated + is_grouped: false + group_info: + label: '' + description: '' + identifier: '' + optional: true + widget: select + multiple: false + remember: false + default_group: All + default_group_multiple: { } + group_items: { } + entity_type: node + entity_field: status + plugin_id: boolean + sorts: + created: + id: created + table: node_field_data + field: created + order: DESC + entity_type: node + entity_field: created + plugin_id: date + relationship: none + group_type: group + admin_label: '' + exposed: false + expose: + label: '' + granularity: second + header: { } + footer: { } + empty: { } + relationships: { } + arguments: + field_member_of_target_id: + id: field_member_of_target_id + table: node__field_member_of + field: field_member_of_target_id + relationship: none + group_type: group + admin_label: '' + default_action: default + exception: + value: all + title_enable: false + title: All + title_enable: false + title: '' + default_argument_type: node + default_argument_options: { } + default_argument_skip_url: false + summary_options: + base_path: '' + count: true + items_per_page: 25 + override: false + summary: + sort_order: asc + number_of_records: 0 + format: default_summary + specify_validation: false + validate: + type: none + fail: 'not found' + validate_options: { } + break_phrase: false + not: false + plugin_id: numeric + display_extenders: { } + filter_groups: + operator: AND + groups: { } + title: Members + cache_metadata: + max-age: -1 + contexts: + - 'languages:language_content' + - 'languages:language_interface' + - url + - url.query_args + - 'user.node_grants:view' + - user.permissions + tags: { } + block_1: + display_plugin: block + id: block_1 + display_title: Block + position: 2 + display_options: + display_extenders: { } + cache_metadata: + max-age: -1 + contexts: + - 'languages:language_content' + - 'languages:language_interface' + - url + - url.query_args + - 'user.node_grants:view' + - user.permissions + tags: { } diff --git a/modules/islandora_core_feature/islandora_core_feature.features.yml b/modules/islandora_core_feature/islandora_core_feature.features.yml new file mode 100644 index 00000000..9e48e9fd --- /dev/null +++ b/modules/islandora_core_feature/islandora_core_feature.features.yml @@ -0,0 +1,2 @@ +bundle: islandora +required: true diff --git a/modules/islandora_core_feature/islandora_core_feature.info.yml b/modules/islandora_core_feature/islandora_core_feature.info.yml new file mode 100644 index 00000000..74f34e34 --- /dev/null +++ b/modules/islandora_core_feature/islandora_core_feature.info.yml @@ -0,0 +1,26 @@ +name: 'Islandora Core Feature' +description: 'Minimum configuration required for Islandora.' +type: module +core: 8.x +dependencies: + - basic_auth + - eva + - features + - field + - file + - image + - islandora + - jsonld + - jwt + - link + - media + - migrate_plus + - node + - rdf + - rest + - serialization + - system + - taxonomy + - user + - views +package: Islandora diff --git a/modules/islandora_demo_feature/config/install/context.context.binary.yml b/modules/islandora_demo_feature/config/install/context.context.binary.yml new file mode 100644 index 00000000..df2d3f8a --- /dev/null +++ b/modules/islandora_demo_feature/config/install/context.context.binary.yml @@ -0,0 +1,31 @@ +langcode: en +status: true +dependencies: + enforced: + module: + - islandora_demo_feature + module: + - islandora +name: binary +label: Binary +group: Islandora +description: 'Islandora binary objects' +requireAllConditions: false +disabled: false +conditions: + node_has_term: + id: node_has_term + negate: 0 + uuid: f84aa317-a681-4a1e-8a40-2fe2b6868ea8 + tids: + - + target_id: '5' + context_mapping: + node: '@node.node_route_context:node' + uri: 'http://purl.org/coar/resource_type/c_1843' +reactions: + view_mode_alter: + id: view_mode_alter + mode: node.binary + saved: false +weight: 0 diff --git a/modules/islandora_demo_feature/config/install/context.context.collection.yml b/modules/islandora_demo_feature/config/install/context.context.collection.yml new file mode 100644 index 00000000..2b4bf3d5 --- /dev/null +++ b/modules/islandora_demo_feature/config/install/context.context.collection.yml @@ -0,0 +1,49 @@ +langcode: en +status: true +dependencies: + enforced: + module: + - islandora_demo_feature + module: + - islandora +name: collection +label: Collection +group: Islandora +description: 'Islandora collections' +requireAllConditions: false +disabled: false +conditions: + node_has_term: + id: node_has_term + negate: 0 + uuid: 01ba2d2f-b966-4f40-bd9e-7cfc6e9f2522 + tid: '18' + context_mapping: + node: '@node.node_route_context:node' + tids: + - + target_id: '32' + uri: 'http://purl.org/dc/dcmitype/Collection' +reactions: + blocks: + blocks: + 83d50c24-adbb-4b7b-8b1c-6b9127bd084f: + id: 'views_block:members-block_1' + label: '' + provider: views + label_display: visible + views_label: '' + items_per_page: none + region: content_suffix + weight: '0' + context_mapping: { } + theme: carapace + css_class: '' + unique: 0 + context_id: collection + uuid: 83d50c24-adbb-4b7b-8b1c-6b9127bd084f + id: blocks + saved: false + uuid: 77301de1-1425-4da6-987d-8bedddf94f64 + include_default_blocks: 1 +weight: 0 diff --git a/config/install/context.context.file.yml b/modules/islandora_demo_feature/config/install/context.context.files.yml similarity index 75% rename from config/install/context.context.file.yml rename to modules/islandora_demo_feature/config/install/context.context.files.yml index 5cc17829..7b68870a 100644 --- a/config/install/context.context.file.yml +++ b/modules/islandora_demo_feature/config/install/context.context.files.yml @@ -1,23 +1,22 @@ -uuid: 6804c3b4-a33e-448c-97cc-cfcab3afe7c6 langcode: en status: true dependencies: enforced: module: - - islandora + - islandora_demo_feature module: - islandora -name: file -label: File +name: files +label: Files group: Islandora -description: 'Reactions for all Files' +description: 'All repository files' requireAllConditions: false disabled: false conditions: is_file: id: is_file negate: 0 - uuid: a98d439f-5512-4e60-965c-b215b8f78438 + uuid: 19b1b4e1-ea50-41f8-ab5b-8afb83eb5588 context_mapping: file: '@islandora.file_route_context_provider:file' reactions: diff --git a/modules/islandora_demo_feature/config/install/context.context.image_preservation_master.yml b/modules/islandora_demo_feature/config/install/context.context.image_preservation_master.yml new file mode 100644 index 00000000..ccc1cd98 --- /dev/null +++ b/modules/islandora_demo_feature/config/install/context.context.image_preservation_master.yml @@ -0,0 +1,36 @@ +langcode: en +status: true +dependencies: + enforced: + module: + - islandora_demo_feature + module: + - islandora +name: image_preservation_master +label: 'Image Preservation Master' +group: Islandora +description: 'Preservation masters for images' +requireAllConditions: true +disabled: false +conditions: + media_has_term: + id: media_has_term + negate: 0 + uuid: 56ad3452-fabe-40ed-a67a-345a00711730 + uri: 'http://pcdm.org/use#PreservationMasterFile' + context_mapping: + media: '@islandora.media_route_context_provider:media' + parent_node_has_term: + id: parent_node_has_term + negate: 0 + uuid: 28d21294-1622-4477-9983-749ac6286d99 + uri: 'http://purl.org/coar/resource_type/c_c513' + context_mapping: + media: '@islandora.media_route_context_provider:media' +reactions: + derivative: + id: derivative + actions: + generate_a_service_file_from_preservation_master: generate_a_service_file_from_preservation_master + saved: false +weight: 0 diff --git a/modules/islandora_demo_feature/config/install/context.context.image_service_file.yml b/modules/islandora_demo_feature/config/install/context.context.image_service_file.yml new file mode 100644 index 00000000..15a766c1 --- /dev/null +++ b/modules/islandora_demo_feature/config/install/context.context.image_service_file.yml @@ -0,0 +1,36 @@ +langcode: en +status: true +dependencies: + enforced: + module: + - islandora_demo_feature + module: + - islandora +name: image_service_file +label: 'Image Service File' +group: Islandora +description: 'Service files for images' +requireAllConditions: true +disabled: false +conditions: + media_has_term: + id: media_has_term + negate: 0 + uuid: 481cd239-1012-4767-8a28-caac7036c9cb + uri: 'http://pcdm.org/use#ServiceFile' + context_mapping: + media: '@islandora.media_route_context_provider:media' + parent_node_has_term: + id: parent_node_has_term + negate: 0 + uuid: 9f617394-6f70-4eec-8a9b-865bb2ab9fa1 + uri: 'http://purl.org/coar/resource_type/c_c513' + context_mapping: + media: '@islandora.media_route_context_provider:media' +reactions: + derivative: + id: derivative + actions: + generate_a_thumbnail_from_an_image_service_file: generate_a_thumbnail_from_an_image_service_file + saved: false +weight: 0 diff --git a/config/install/context.context.media.yml b/modules/islandora_demo_feature/config/install/context.context.media.yml similarity index 81% rename from config/install/context.context.media.yml rename to modules/islandora_demo_feature/config/install/context.context.media.yml index 3b0af476..bca5cf39 100644 --- a/config/install/context.context.media.yml +++ b/modules/islandora_demo_feature/config/install/context.context.media.yml @@ -1,23 +1,22 @@ -d: c14bfcb1-7e62-4a3c-98e9-0cdbadbe5c45 langcode: en status: true dependencies: enforced: module: - - islandora + - islandora_demo_feature module: - islandora name: media label: Media group: Islandora -description: 'Reactions for all Media' +description: 'All repository media' requireAllConditions: false disabled: false conditions: is_media: id: is_media negate: 0 - uuid: 2e291ec1-11ee-4c36-ba7e-cb05128bf27d + uuid: d43b2007-33d2-4503-b4a7-e3597f1e94de context_mapping: media: '@islandora.media_route_context_provider:media' reactions: diff --git a/modules/islandora_demo_feature/config/install/context.context.open_seadragon.yml b/modules/islandora_demo_feature/config/install/context.context.open_seadragon.yml new file mode 100644 index 00000000..e54803c3 --- /dev/null +++ b/modules/islandora_demo_feature/config/install/context.context.open_seadragon.yml @@ -0,0 +1,28 @@ +langcode: en +status: true +dependencies: + module: + - islandora +name: open_seadragon +label: 'Open Seadragon' +group: Islandora +description: 'Displays media using the Open Seadragon viewer' +requireAllConditions: false +disabled: false +conditions: + node_has_term: + id: node_has_term + negate: 0 + uuid: dba449c3-4b9a-4428-8320-e6bd8f69eee2 + tids: + - + target_id: '35' + context_mapping: + node: '@node.node_route_context:node' + uri: 'http://openseadragon.github.io' +reactions: + view_mode_alter: + id: view_mode_alter + mode: node.open_seadragon + saved: false +weight: 0 diff --git a/config/install/context.context.node.yml b/modules/islandora_demo_feature/config/install/context.context.repository_content.yml similarity index 62% rename from config/install/context.context.node.yml rename to modules/islandora_demo_feature/config/install/context.context.repository_content.yml index 434d5b4e..4afeaea5 100644 --- a/config/install/context.context.node.yml +++ b/modules/islandora_demo_feature/config/install/context.context.repository_content.yml @@ -1,25 +1,31 @@ -d: 48525bb3-36a2-449a-92ed-1ab3e94b3da0 langcode: en status: true dependencies: enforced: module: - - islandora + - islandora_demo_feature module: - islandora -name: node -label: Node + - node +name: repository_content +label: Content group: Islandora -description: 'Reactions for all Nodes' +description: 'All repository content' requireAllConditions: false disabled: false conditions: - is_node: - id: is_node + node_type: + id: node_type + bundles: + islandora_object: islandora_object negate: 0 - uuid: f25d55aa-1664-4202-b846-afd20b527da2 + uuid: 640d52cd-7cd5-4d9e-837d-c93b2deb814e context_mapping: node: '@node.node_route_context:node' + node_has_term: + id: node_has_term + negate: false + uuid: 4852a60d-06ef-4c8c-b983-98218db82111 reactions: index: id: index diff --git a/modules/islandora_demo_feature/config/install/context.context.taxonomy_terms.yml b/modules/islandora_demo_feature/config/install/context.context.taxonomy_terms.yml new file mode 100644 index 00000000..0a5611e5 --- /dev/null +++ b/modules/islandora_demo_feature/config/install/context.context.taxonomy_terms.yml @@ -0,0 +1,35 @@ +langcode: en +status: true +dependencies: + enforced: + module: + - islandora_demo_feature + module: + - islandora +name: taxonomy_terms +label: 'Taxonomy Terms' +group: Islandora +description: 'All taxonomy terms' +requireAllConditions: false +disabled: false +conditions: + is_term: + id: is_term + negate: 0 + uuid: 71ad4847-3f48-4b16-b355-364672bdfc49 + context_mapping: + taxonomy_term: '@islandora.taxonomy_term_route_context_provider:taxonomy_term' +reactions: + index: + id: index + actions: + index_taxonomy_term_in_fedora: index_taxonomy_term_in_fedora + index_taxonomy_term_in_the_triplestore: index_taxonomy_term_in_the_triplestore + saved: false + delete: + id: delete + actions: + delete_taxonomy_term_in_fedora: delete_taxonomy_term_in_fedora + delete_taxonomy_term_in_triplestore: delete_taxonomy_term_in_triplestore + saved: false +weight: 0 diff --git a/modules/islandora_demo_feature/config/install/core.entity_form_display.media.audio.default.yml b/modules/islandora_demo_feature/config/install/core.entity_form_display.media.audio.default.yml new file mode 100644 index 00000000..fa3809d4 --- /dev/null +++ b/modules/islandora_demo_feature/config/install/core.entity_form_display.media.audio.default.yml @@ -0,0 +1,82 @@ +langcode: en +status: true +dependencies: + config: + - field.field.media.audio.field_file_size + - field.field.media.audio.field_media_audio_file + - field.field.media.audio.field_media_of + - field.field.media.audio.field_mime_type + - field.field.media.audio.field_tags + - media.type.audio + module: + - file + - path +id: media.audio.default +targetEntityType: media +bundle: audio +mode: default +content: + created: + type: datetime_timestamp + weight: 5 + region: content + settings: { } + third_party_settings: { } + field_media_audio_file: + weight: 1 + settings: + progress_indicator: throbber + third_party_settings: { } + type: file_generic + region: content + field_media_of: + type: entity_reference_autocomplete + weight: 2 + region: content + settings: + match_operator: CONTAINS + size: 60 + placeholder: '' + third_party_settings: { } + field_tags: + type: entity_reference_autocomplete + weight: 3 + region: content + settings: + match_operator: CONTAINS + size: 60 + placeholder: '' + third_party_settings: { } + name: + type: string_textfield + weight: 0 + region: content + settings: + size: 60 + placeholder: '' + third_party_settings: { } + path: + type: path + weight: 6 + region: content + settings: { } + third_party_settings: { } + status: + type: boolean_checkbox + settings: + display_label: true + weight: 7 + region: content + third_party_settings: { } + uid: + type: entity_reference_autocomplete + weight: 4 + settings: + match_operator: CONTAINS + size: 60 + placeholder: '' + region: content + third_party_settings: { } +hidden: + field_file_size: true + field_mime_type: true diff --git a/modules/islandora_demo_feature/config/install/core.entity_form_display.media.file.default.yml b/modules/islandora_demo_feature/config/install/core.entity_form_display.media.file.default.yml new file mode 100644 index 00000000..73225991 --- /dev/null +++ b/modules/islandora_demo_feature/config/install/core.entity_form_display.media.file.default.yml @@ -0,0 +1,82 @@ +langcode: en +status: true +dependencies: + config: + - field.field.media.file.field_file_size + - field.field.media.file.field_media_file + - field.field.media.file.field_media_of + - field.field.media.file.field_mime_type + - field.field.media.file.field_tags + - media.type.file + module: + - file + - path +id: media.file.default +targetEntityType: media +bundle: file +mode: default +content: + created: + type: datetime_timestamp + weight: 5 + region: content + settings: { } + third_party_settings: { } + field_media_file: + settings: + progress_indicator: throbber + third_party_settings: { } + type: file_generic + weight: 1 + region: content + field_media_of: + type: entity_reference_autocomplete + weight: 2 + region: content + settings: + match_operator: CONTAINS + size: 60 + placeholder: '' + third_party_settings: { } + field_tags: + type: entity_reference_autocomplete + weight: 3 + region: content + settings: + match_operator: CONTAINS + size: 60 + placeholder: '' + third_party_settings: { } + name: + type: string_textfield + weight: 0 + region: content + settings: + size: 60 + placeholder: '' + third_party_settings: { } + path: + type: path + weight: 6 + region: content + settings: { } + third_party_settings: { } + status: + type: boolean_checkbox + settings: + display_label: true + weight: 7 + region: content + third_party_settings: { } + uid: + type: entity_reference_autocomplete + weight: 4 + settings: + match_operator: CONTAINS + size: 60 + placeholder: '' + region: content + third_party_settings: { } +hidden: + field_file_size: true + field_mime_type: true diff --git a/modules/islandora_demo_feature/config/install/core.entity_form_display.media.image.default.yml b/modules/islandora_demo_feature/config/install/core.entity_form_display.media.image.default.yml new file mode 100644 index 00000000..d98700cb --- /dev/null +++ b/modules/islandora_demo_feature/config/install/core.entity_form_display.media.image.default.yml @@ -0,0 +1,88 @@ +langcode: en +status: true +dependencies: + config: + - field.field.media.image.field_file_size + - field.field.media.image.field_height + - field.field.media.image.field_media_image + - field.field.media.image.field_media_of + - field.field.media.image.field_mime_type + - field.field.media.image.field_tags + - field.field.media.image.field_width + - image.style.thumbnail + - media.type.image + module: + - image + - path +id: media.image.default +targetEntityType: media +bundle: image +mode: default +content: + created: + type: datetime_timestamp + weight: 5 + region: content + settings: { } + third_party_settings: { } + field_media_image: + settings: + progress_indicator: throbber + preview_image_style: thumbnail + third_party_settings: { } + type: image_image + weight: 1 + region: content + field_media_of: + type: entity_reference_autocomplete + weight: 2 + region: content + settings: + match_operator: CONTAINS + size: 60 + placeholder: '' + third_party_settings: { } + field_tags: + type: entity_reference_autocomplete + weight: 3 + region: content + settings: + match_operator: CONTAINS + size: 60 + placeholder: '' + third_party_settings: { } + name: + type: string_textfield + weight: 0 + region: content + settings: + size: 60 + placeholder: '' + third_party_settings: { } + path: + type: path + weight: 6 + region: content + settings: { } + third_party_settings: { } + status: + type: boolean_checkbox + settings: + display_label: true + weight: 7 + region: content + third_party_settings: { } + uid: + type: entity_reference_autocomplete + weight: 4 + settings: + match_operator: CONTAINS + size: 60 + placeholder: '' + region: content + third_party_settings: { } +hidden: + field_file_size: true + field_height: true + field_mime_type: true + field_width: true diff --git a/modules/islandora_demo_feature/config/install/core.entity_form_display.media.video.default.yml b/modules/islandora_demo_feature/config/install/core.entity_form_display.media.video.default.yml new file mode 100644 index 00000000..6fee55f5 --- /dev/null +++ b/modules/islandora_demo_feature/config/install/core.entity_form_display.media.video.default.yml @@ -0,0 +1,82 @@ +langcode: en +status: true +dependencies: + config: + - field.field.media.video.field_file_size + - field.field.media.video.field_media_of + - field.field.media.video.field_media_video_file + - field.field.media.video.field_mime_type + - field.field.media.video.field_tags + - media.type.video + module: + - file + - path +id: media.video.default +targetEntityType: media +bundle: video +mode: default +content: + created: + type: datetime_timestamp + weight: 5 + region: content + settings: { } + third_party_settings: { } + field_media_of: + type: entity_reference_autocomplete + weight: 2 + region: content + settings: + match_operator: CONTAINS + size: 60 + placeholder: '' + third_party_settings: { } + field_media_video_file: + weight: 1 + settings: + progress_indicator: throbber + third_party_settings: { } + type: file_generic + region: content + field_tags: + type: entity_reference_autocomplete + weight: 3 + region: content + settings: + match_operator: CONTAINS + size: 60 + placeholder: '' + third_party_settings: { } + name: + type: string_textfield + weight: 0 + region: content + settings: + size: 60 + placeholder: '' + third_party_settings: { } + path: + type: path + weight: 6 + region: content + settings: { } + third_party_settings: { } + status: + type: boolean_checkbox + settings: + display_label: true + weight: 7 + region: content + third_party_settings: { } + uid: + type: entity_reference_autocomplete + weight: 4 + settings: + match_operator: CONTAINS + size: 60 + placeholder: '' + region: content + third_party_settings: { } +hidden: + field_file_size: true + field_mime_type: true diff --git a/modules/islandora_demo_feature/config/install/core.entity_form_display.node.article.default.yml b/modules/islandora_demo_feature/config/install/core.entity_form_display.node.article.default.yml new file mode 100644 index 00000000..99d0f608 --- /dev/null +++ b/modules/islandora_demo_feature/config/install/core.entity_form_display.node.article.default.yml @@ -0,0 +1,103 @@ +langcode: en +status: true +dependencies: + config: + - field.field.node.article.body + - field.field.node.article.comment + - field.field.node.article.field_image + - field.field.node.article.field_tags + - image.style.thumbnail + - node.type.article + module: + - comment + - image + - path + - text +id: node.article.default +targetEntityType: node +bundle: article +mode: default +content: + body: + type: text_textarea_with_summary + weight: 1 + region: content + settings: + rows: 9 + summary_rows: 3 + placeholder: '' + third_party_settings: { } + comment: + type: comment_default + weight: 20 + region: content + settings: { } + third_party_settings: { } + created: + type: datetime_timestamp + weight: 10 + region: content + settings: { } + third_party_settings: { } + field_image: + type: image_image + weight: 4 + region: content + settings: + progress_indicator: throbber + preview_image_style: thumbnail + third_party_settings: { } + field_tags: + type: entity_reference_autocomplete_tags + weight: 3 + region: content + settings: + match_operator: CONTAINS + size: 60 + placeholder: '' + third_party_settings: { } + path: + type: path + weight: 30 + region: content + settings: { } + third_party_settings: { } + promote: + type: boolean_checkbox + settings: + display_label: true + weight: 15 + region: content + third_party_settings: { } + status: + type: boolean_checkbox + settings: + display_label: true + weight: 120 + region: content + third_party_settings: { } + sticky: + type: boolean_checkbox + settings: + display_label: true + weight: 16 + region: content + third_party_settings: { } + title: + type: string_textfield + weight: 0 + region: content + settings: + size: 60 + placeholder: '' + third_party_settings: { } + uid: + type: entity_reference_autocomplete + weight: 5 + region: content + settings: + match_operator: CONTAINS + size: 60 + placeholder: '' + third_party_settings: { } +hidden: { } diff --git a/modules/islandora_demo_feature/config/install/core.entity_form_display.node.islandora_object.default.yml b/modules/islandora_demo_feature/config/install/core.entity_form_display.node.islandora_object.default.yml new file mode 100644 index 00000000..05908765 --- /dev/null +++ b/modules/islandora_demo_feature/config/install/core.entity_form_display.node.islandora_object.default.yml @@ -0,0 +1,100 @@ +langcode: en +status: true +dependencies: + config: + - field.field.node.islandora_object.field_description + - field.field.node.islandora_object.field_member_of + - field.field.node.islandora_object.field_tags + - node.type.islandora_object + enforced: + module: + - islandora_demo_feature + module: + - path +id: node.islandora_object.default +targetEntityType: node +bundle: islandora_object +mode: default +content: + created: + type: datetime_timestamp + weight: 5 + region: content + settings: { } + third_party_settings: { } + field_description: + type: string_textarea + weight: 1 + region: content + settings: + rows: 5 + placeholder: '' + third_party_settings: { } + field_member_of: + weight: 2 + settings: + match_operator: CONTAINS + size: 60 + placeholder: '' + third_party_settings: { } + type: entity_reference_autocomplete + region: content + field_tags: + weight: 3 + settings: + match_operator: CONTAINS + size: 60 + placeholder: '' + third_party_settings: { } + type: entity_reference_autocomplete + region: content + path: + type: path + weight: 8 + region: content + settings: { } + third_party_settings: { } + promote: + type: boolean_checkbox + settings: + display_label: true + weight: 6 + region: content + third_party_settings: { } + status: + type: boolean_checkbox + settings: + display_label: true + weight: 9 + region: content + third_party_settings: { } + sticky: + type: boolean_checkbox + settings: + display_label: true + weight: 7 + region: content + third_party_settings: { } + title: + type: string_textfield + weight: 0 + region: content + settings: + size: 60 + placeholder: '' + third_party_settings: { } + uid: + type: entity_reference_autocomplete + weight: 4 + settings: + match_operator: CONTAINS + size: 60 + placeholder: '' + region: content + third_party_settings: { } + url_redirects: + weight: 9 + region: content + settings: { } + third_party_settings: { } +hidden: { } diff --git a/modules/islandora_demo_feature/config/install/core.entity_form_display.taxonomy_term.tags.default.yml b/modules/islandora_demo_feature/config/install/core.entity_form_display.taxonomy_term.tags.default.yml new file mode 100644 index 00000000..74a5b4a9 --- /dev/null +++ b/modules/islandora_demo_feature/config/install/core.entity_form_display.taxonomy_term.tags.default.yml @@ -0,0 +1,46 @@ +langcode: en +status: true +dependencies: + config: + - field.field.taxonomy_term.tags.field_external_uri + - taxonomy.vocabulary.tags + module: + - link + - path + - text +id: taxonomy_term.tags.default +targetEntityType: taxonomy_term +bundle: tags +mode: default +content: + description: + type: text_textarea + weight: 1 + region: content + settings: + placeholder: '' + rows: 5 + third_party_settings: { } + field_external_uri: + weight: 2 + settings: + placeholder_url: '' + placeholder_title: '' + third_party_settings: { } + type: link_default + region: content + name: + type: string_textfield + weight: 0 + region: content + settings: + size: 60 + placeholder: '' + third_party_settings: { } + path: + type: path + weight: 3 + region: content + settings: { } + third_party_settings: { } +hidden: { } diff --git a/modules/islandora_demo_feature/config/install/core.entity_view_display.media.audio.default.yml b/modules/islandora_demo_feature/config/install/core.entity_view_display.media.audio.default.yml new file mode 100644 index 00000000..620a286d --- /dev/null +++ b/modules/islandora_demo_feature/config/install/core.entity_view_display.media.audio.default.yml @@ -0,0 +1,73 @@ +langcode: en +status: true +dependencies: + config: + - field.field.media.audio.field_file_size + - field.field.media.audio.field_media_audio_file + - field.field.media.audio.field_media_of + - field.field.media.audio.field_mime_type + - field.field.media.audio.field_tags + - media.type.audio + module: + - file +id: media.audio.default +targetEntityType: media +bundle: audio +mode: default +content: + field_file_size: + type: number_integer + weight: 3 + region: content + label: above + settings: + thousand_separator: '' + prefix_suffix: true + third_party_settings: { } + field_media_audio_file: + type: file_audio + weight: 1 + label: visually_hidden + settings: + controls: true + autoplay: false + loop: false + multiple_file_display_type: tags + third_party_settings: { } + region: content + field_media_of: + type: entity_reference_label + weight: 4 + region: content + label: above + settings: + link: true + third_party_settings: { } + field_mime_type: + type: string + weight: 2 + region: content + label: above + settings: + link_to_entity: false + third_party_settings: { } + field_tags: + type: entity_reference_label + weight: 5 + region: content + label: above + settings: + link: true + third_party_settings: { } + name: + type: string + weight: 0 + region: content + label: above + settings: + link_to_entity: false + third_party_settings: { } +hidden: + created: true + thumbnail: true + uid: true diff --git a/modules/islandora_demo_feature/config/install/core.entity_view_display.media.file.default.yml b/modules/islandora_demo_feature/config/install/core.entity_view_display.media.file.default.yml new file mode 100644 index 00000000..5b747f0a --- /dev/null +++ b/modules/islandora_demo_feature/config/install/core.entity_view_display.media.file.default.yml @@ -0,0 +1,70 @@ +langcode: en +status: true +dependencies: + config: + - field.field.media.file.field_file_size + - field.field.media.file.field_media_file + - field.field.media.file.field_media_of + - field.field.media.file.field_mime_type + - field.field.media.file.field_tags + - media.type.file + module: + - file +id: media.file.default +targetEntityType: media +bundle: file +mode: default +content: + field_file_size: + type: number_integer + weight: 3 + region: content + label: above + settings: + thousand_separator: '' + prefix_suffix: true + third_party_settings: { } + field_media_file: + label: visually_hidden + settings: + use_description_as_link_text: true + third_party_settings: { } + type: file_default + weight: 1 + region: content + field_media_of: + type: entity_reference_label + weight: 4 + region: content + label: above + settings: + link: true + third_party_settings: { } + field_mime_type: + type: string + weight: 2 + region: content + label: above + settings: + link_to_entity: false + third_party_settings: { } + field_tags: + type: entity_reference_label + weight: 5 + region: content + label: above + settings: + link: true + third_party_settings: { } + name: + type: string + weight: 0 + region: content + label: above + settings: + link_to_entity: false + third_party_settings: { } +hidden: + created: true + thumbnail: true + uid: true diff --git a/modules/islandora_demo_feature/config/install/core.entity_view_display.media.file.open_seadragon.yml b/modules/islandora_demo_feature/config/install/core.entity_view_display.media.file.open_seadragon.yml new file mode 100644 index 00000000..348585f1 --- /dev/null +++ b/modules/islandora_demo_feature/config/install/core.entity_view_display.media.file.open_seadragon.yml @@ -0,0 +1,37 @@ +langcode: en +status: true +dependencies: + config: + - core.entity_view_mode.media.open_seadragon + - field.field.media.file.field_file_size + - field.field.media.file.field_media_file + - field.field.media.file.field_media_of + - field.field.media.file.field_mime_type + - field.field.media.file.field_tags + - media.type.file + enforced: + module: + - islandora_demo_feature + module: + - openseadragon +id: media.file.open_seadragon +targetEntityType: media +bundle: file +mode: open_seadragon +content: + field_media_file: + label: hidden + settings: { } + third_party_settings: { } + type: openseadragon_image + weight: 0 + region: content +hidden: + created: true + field_file_size: true + field_media_of: true + field_mime_type: true + field_tags: true + name: true + thumbnail: true + uid: true diff --git a/modules/islandora_demo_feature/config/install/core.entity_view_display.media.image.default.yml b/modules/islandora_demo_feature/config/install/core.entity_view_display.media.image.default.yml new file mode 100644 index 00000000..5b06cc11 --- /dev/null +++ b/modules/islandora_demo_feature/config/install/core.entity_view_display.media.image.default.yml @@ -0,0 +1,91 @@ +langcode: en +status: true +dependencies: + config: + - field.field.media.image.field_file_size + - field.field.media.image.field_height + - field.field.media.image.field_media_image + - field.field.media.image.field_media_of + - field.field.media.image.field_mime_type + - field.field.media.image.field_tags + - field.field.media.image.field_width + - media.type.image + module: + - image +id: media.image.default +targetEntityType: media +bundle: image +mode: default +content: + field_file_size: + type: number_integer + weight: 3 + region: content + label: above + settings: + thousand_separator: '' + prefix_suffix: true + third_party_settings: { } + field_height: + type: number_integer + weight: 5 + region: content + label: above + settings: + thousand_separator: '' + prefix_suffix: true + third_party_settings: { } + field_media_image: + label: visually_hidden + settings: + image_style: '' + image_link: file + third_party_settings: { } + type: image + weight: 1 + region: content + field_media_of: + type: entity_reference_label + weight: 6 + region: content + label: above + settings: + link: true + third_party_settings: { } + field_mime_type: + type: string + weight: 2 + region: content + label: above + settings: + link_to_entity: false + third_party_settings: { } + field_tags: + type: entity_reference_label + weight: 7 + region: content + label: above + settings: + link: true + third_party_settings: { } + field_width: + type: number_integer + weight: 4 + region: content + label: above + settings: + thousand_separator: '' + prefix_suffix: true + third_party_settings: { } + name: + type: string + weight: 0 + region: content + label: above + settings: + link_to_entity: false + third_party_settings: { } +hidden: + created: true + thumbnail: true + uid: true diff --git a/modules/islandora_demo_feature/config/install/core.entity_view_display.media.image.open_seadragon.yml b/modules/islandora_demo_feature/config/install/core.entity_view_display.media.image.open_seadragon.yml new file mode 100644 index 00000000..021d8b85 --- /dev/null +++ b/modules/islandora_demo_feature/config/install/core.entity_view_display.media.image.open_seadragon.yml @@ -0,0 +1,41 @@ +langcode: en +status: true +dependencies: + config: + - core.entity_view_mode.media.open_seadragon + - field.field.media.image.field_file_size + - field.field.media.image.field_height + - field.field.media.image.field_media_image + - field.field.media.image.field_media_of + - field.field.media.image.field_mime_type + - field.field.media.image.field_tags + - field.field.media.image.field_width + - media.type.image + enforced: + module: + - islandora_demo_feature + module: + - openseadragon +id: media.image.open_seadragon +targetEntityType: media +bundle: image +mode: open_seadragon +content: + field_media_image: + label: visually_hidden + settings: { } + third_party_settings: { } + type: openseadragon_image + weight: 0 + region: content +hidden: + created: true + field_file_size: true + field_height: true + field_media_of: true + field_mime_type: true + field_tags: true + field_width: true + name: true + thumbnail: true + uid: true diff --git a/modules/islandora_demo_feature/config/install/core.entity_view_display.media.video.default.yml b/modules/islandora_demo_feature/config/install/core.entity_view_display.media.video.default.yml new file mode 100644 index 00000000..f8f025fb --- /dev/null +++ b/modules/islandora_demo_feature/config/install/core.entity_view_display.media.video.default.yml @@ -0,0 +1,76 @@ +langcode: en +status: true +dependencies: + config: + - field.field.media.video.field_file_size + - field.field.media.video.field_media_of + - field.field.media.video.field_media_video_file + - field.field.media.video.field_mime_type + - field.field.media.video.field_tags + - media.type.video + module: + - file +id: media.video.default +targetEntityType: media +bundle: video +mode: default +content: + field_file_size: + type: number_integer + weight: 3 + region: content + label: above + settings: + thousand_separator: '' + prefix_suffix: true + third_party_settings: { } + field_media_of: + type: entity_reference_label + weight: 4 + region: content + label: above + settings: + link: true + third_party_settings: { } + field_media_video_file: + type: file_video + weight: 1 + label: visually_hidden + settings: + muted: false + width: 640 + height: 480 + controls: true + autoplay: false + loop: false + multiple_file_display_type: tags + third_party_settings: { } + region: content + field_mime_type: + type: string + weight: 2 + region: content + label: above + settings: + link_to_entity: false + third_party_settings: { } + field_tags: + type: entity_reference_label + weight: 5 + region: content + label: above + settings: + link: true + third_party_settings: { } + name: + type: string + weight: 0 + region: content + label: above + settings: + link_to_entity: false + third_party_settings: { } +hidden: + created: true + thumbnail: true + uid: true diff --git a/modules/islandora_demo_feature/config/install/core.entity_view_display.node.islandora_object.binary.yml b/modules/islandora_demo_feature/config/install/core.entity_view_display.node.islandora_object.binary.yml new file mode 100644 index 00000000..4490938e --- /dev/null +++ b/modules/islandora_demo_feature/config/install/core.entity_view_display.node.islandora_object.binary.yml @@ -0,0 +1,63 @@ +langcode: en +status: true +dependencies: + config: + - core.entity_view_mode.node.binary + - field.field.node.islandora_object.field_description + - field.field.node.islandora_object.field_member_of + - field.field.node.islandora_object.field_tags + - node.type.islandora_object + enforced: + module: + - islandora_demo_feature + module: + - user +id: node.islandora_object.binary +targetEntityType: node +bundle: islandora_object +mode: binary +content: + display_media_entity_view_1: + weight: 0 + region: content + settings: { } + third_party_settings: { } + display_media_entity_view_3: + weight: 4 + region: content + settings: { } + third_party_settings: { } + field_description: + type: basic_string + weight: 1 + region: content + label: above + settings: { } + third_party_settings: { } + field_member_of: + weight: 2 + label: above + settings: + link: true + third_party_settings: { } + type: entity_reference_label + region: content + field_tags: + weight: 3 + label: above + settings: + link: true + third_party_settings: { } + type: entity_reference_label + region: content + links: + weight: 4 + region: content + settings: { } + third_party_settings: { } +hidden: + display_media_entity_view_2: true + display_media_service_file: true + display_media_thumbnail: true + openseadragon_media_evas_entity_view_2: true + openseadragon_media_evas_service_file: true diff --git a/modules/islandora_demo_feature/config/install/core.entity_view_display.node.islandora_object.default.yml b/modules/islandora_demo_feature/config/install/core.entity_view_display.node.islandora_object.default.yml new file mode 100644 index 00000000..6917cd87 --- /dev/null +++ b/modules/islandora_demo_feature/config/install/core.entity_view_display.node.islandora_object.default.yml @@ -0,0 +1,62 @@ +langcode: en +status: true +dependencies: + config: + - field.field.node.islandora_object.field_description + - field.field.node.islandora_object.field_member_of + - field.field.node.islandora_object.field_tags + - node.type.islandora_object + enforced: + module: + - islandora_demo_feature + module: + - user +id: node.islandora_object.default +targetEntityType: node +bundle: islandora_object +mode: default +content: + display_media_entity_view_3: + weight: 4 + region: content + settings: { } + third_party_settings: { } + display_media_service_file: + weight: 0 + region: content + settings: { } + third_party_settings: { } + field_description: + type: basic_string + weight: 1 + region: content + label: above + settings: { } + third_party_settings: { } + field_member_of: + weight: 2 + label: above + settings: + link: true + third_party_settings: { } + type: entity_reference_label + region: content + field_tags: + weight: 3 + label: above + settings: + link: true + third_party_settings: { } + type: entity_reference_label + region: content + links: + weight: 4 + region: content + settings: { } + third_party_settings: { } +hidden: + display_media_entity_view_1: true + display_media_entity_view_2: true + display_media_thumbnail: true + openseadragon_media_evas_entity_view_2: true + openseadragon_media_evas_service_file: true diff --git a/modules/islandora_demo_feature/config/install/core.entity_view_display.node.islandora_object.open_seadragon.yml b/modules/islandora_demo_feature/config/install/core.entity_view_display.node.islandora_object.open_seadragon.yml new file mode 100644 index 00000000..491ed3a4 --- /dev/null +++ b/modules/islandora_demo_feature/config/install/core.entity_view_display.node.islandora_object.open_seadragon.yml @@ -0,0 +1,62 @@ +langcode: en +status: true +dependencies: + config: + - core.entity_view_mode.node.open_seadragon + - field.field.node.islandora_object.field_description + - field.field.node.islandora_object.field_member_of + - field.field.node.islandora_object.field_tags + - node.type.islandora_object + enforced: + module: + - islandora_demo_feature + module: + - user +id: node.islandora_object.open_seadragon +targetEntityType: node +bundle: islandora_object +mode: open_seadragon +content: + display_media_entity_view_3: + weight: 4 + region: content + settings: { } + third_party_settings: { } + field_description: + type: basic_string + weight: 1 + region: content + label: above + settings: { } + third_party_settings: { } + field_member_of: + weight: 2 + label: above + settings: + link: true + third_party_settings: { } + type: entity_reference_label + region: content + field_tags: + weight: 3 + label: above + settings: + link: true + third_party_settings: { } + type: entity_reference_label + region: content + links: + weight: 4 + region: content + settings: { } + third_party_settings: { } + openseadragon_media_evas_entity_view_2: + weight: 0 + region: content + settings: { } + third_party_settings: { } +hidden: + display_media_entity_view_1: true + display_media_service_file: true + display_media_thumbnail: true + openseadragon_media_evas_service_file: true diff --git a/modules/islandora_demo_feature/config/install/core.entity_view_display.node.islandora_object.teaser.yml b/modules/islandora_demo_feature/config/install/core.entity_view_display.node.islandora_object.teaser.yml new file mode 100644 index 00000000..d074b9da --- /dev/null +++ b/modules/islandora_demo_feature/config/install/core.entity_view_display.node.islandora_object.teaser.yml @@ -0,0 +1,39 @@ +langcode: en +status: true +dependencies: + config: + - core.entity_view_mode.node.teaser + - field.field.node.islandora_object.field_description + - field.field.node.islandora_object.field_member_of + - field.field.node.islandora_object.field_tags + - node.type.islandora_object + enforced: + module: + - islandora_demo_feature + module: + - user +id: node.islandora_object.teaser +targetEntityType: node +bundle: islandora_object +mode: teaser +content: + display_media_thumbnail: + weight: 0 + region: content + settings: { } + third_party_settings: { } + links: + weight: 2 + region: content + settings: { } + third_party_settings: { } +hidden: + display_media_entity_view_1: true + display_media_entity_view_2: true + display_media_service_file: true + field_description: true + field_member_of: true + field_tags: true + members_eva_entity_view_1: true + openseadragon_media_evas_entity_view_2: true + openseadragon_media_evas_service_file: true diff --git a/modules/islandora_demo_feature/config/install/core.entity_view_display.taxonomy_term.tags.default.yml b/modules/islandora_demo_feature/config/install/core.entity_view_display.taxonomy_term.tags.default.yml new file mode 100644 index 00000000..f8710a0d --- /dev/null +++ b/modules/islandora_demo_feature/config/install/core.entity_view_display.taxonomy_term.tags.default.yml @@ -0,0 +1,34 @@ +langcode: en +status: true +dependencies: + config: + - field.field.taxonomy_term.tags.field_external_uri + - taxonomy.vocabulary.tags + module: + - link + - text +id: taxonomy_term.tags.default +targetEntityType: taxonomy_term +bundle: tags +mode: default +content: + description: + label: hidden + type: text_default + weight: 0 + region: content + settings: { } + third_party_settings: { } + field_external_uri: + weight: 1 + label: above + settings: + trim_length: 80 + url_only: false + url_plain: false + rel: '' + target: '' + third_party_settings: { } + type: link + region: content +hidden: { } diff --git a/modules/islandora_demo_feature/config/install/core.entity_view_mode.media.open_seadragon.yml b/modules/islandora_demo_feature/config/install/core.entity_view_mode.media.open_seadragon.yml new file mode 100644 index 00000000..fb07acd4 --- /dev/null +++ b/modules/islandora_demo_feature/config/install/core.entity_view_mode.media.open_seadragon.yml @@ -0,0 +1,12 @@ +langcode: en +status: true +dependencies: + enforced: + module: + - islandora_demo_feature + module: + - media +id: media.open_seadragon +label: 'Open Seadragon' +targetEntityType: media +cache: true diff --git a/modules/islandora_demo_feature/config/install/core.entity_view_mode.node.binary.yml b/modules/islandora_demo_feature/config/install/core.entity_view_mode.node.binary.yml new file mode 100644 index 00000000..366d35de --- /dev/null +++ b/modules/islandora_demo_feature/config/install/core.entity_view_mode.node.binary.yml @@ -0,0 +1,12 @@ +langcode: en +status: true +dependencies: + enforced: + module: + - islandora_demo_feature + module: + - node +id: node.binary +label: Binary +targetEntityType: node +cache: true diff --git a/modules/islandora_demo_feature/config/install/core.entity_view_mode.node.open_seadragon.yml b/modules/islandora_demo_feature/config/install/core.entity_view_mode.node.open_seadragon.yml new file mode 100644 index 00000000..6fefe5ca --- /dev/null +++ b/modules/islandora_demo_feature/config/install/core.entity_view_mode.node.open_seadragon.yml @@ -0,0 +1,12 @@ +langcode: en +status: true +dependencies: + enforced: + module: + - islandora_demo_feature + module: + - node +id: node.open_seadragon +label: 'Open Seadragon' +targetEntityType: node +cache: true diff --git a/modules/islandora_demo_feature/config/install/core.entity_view_mode.node.teaser.yml b/modules/islandora_demo_feature/config/install/core.entity_view_mode.node.teaser.yml new file mode 100644 index 00000000..dcde72c4 --- /dev/null +++ b/modules/islandora_demo_feature/config/install/core.entity_view_mode.node.teaser.yml @@ -0,0 +1,9 @@ +langcode: en +status: true +dependencies: + module: + - node +id: node.teaser +label: Teaser +targetEntityType: node +cache: true diff --git a/modules/islandora_demo_feature/config/install/field.field.node.islandora_object.field_description.yml b/modules/islandora_demo_feature/config/install/field.field.node.islandora_object.field_description.yml new file mode 100644 index 00000000..084d2dc6 --- /dev/null +++ b/modules/islandora_demo_feature/config/install/field.field.node.islandora_object.field_description.yml @@ -0,0 +1,21 @@ +langcode: en +status: true +dependencies: + config: + - field.storage.node.field_description + - node.type.islandora_object + enforced: + module: + - islandora_demo_feature +id: node.islandora_object.field_description +field_name: field_description +entity_type: node +bundle: islandora_object +label: Description +description: '' +required: false +translatable: true +default_value: { } +default_value_callback: '' +settings: { } +field_type: string_long diff --git a/modules/islandora_demo_feature/config/install/field.field.node.islandora_object.field_member_of.yml b/modules/islandora_demo_feature/config/install/field.field.node.islandora_object.field_member_of.yml new file mode 100644 index 00000000..0770d342 --- /dev/null +++ b/modules/islandora_demo_feature/config/install/field.field.node.islandora_object.field_member_of.yml @@ -0,0 +1,23 @@ +langcode: en +status: true +dependencies: + config: + - field.storage.node.field_member_of + - node.type.islandora_object + enforced: + module: + - islandora_demo_feature +id: node.islandora_object.field_member_of +field_name: field_member_of +entity_type: node +bundle: islandora_object +label: 'Member of' +description: '' +required: false +translatable: false +default_value: { } +default_value_callback: '' +settings: + handler: 'default:node' + handler_settings: { } +field_type: entity_reference diff --git a/modules/islandora_demo_feature/config/install/field.field.node.islandora_object.field_tags.yml b/modules/islandora_demo_feature/config/install/field.field.node.islandora_object.field_tags.yml new file mode 100644 index 00000000..9b78801d --- /dev/null +++ b/modules/islandora_demo_feature/config/install/field.field.node.islandora_object.field_tags.yml @@ -0,0 +1,23 @@ +langcode: en +status: true +dependencies: + config: + - field.storage.node.field_tags + - node.type.islandora_object + enforced: + module: + - islandora_demo_feature +id: node.islandora_object.field_tags +field_name: field_tags +entity_type: node +bundle: islandora_object +label: Tags +description: '' +required: false +translatable: true +default_value: { } +default_value_callback: '' +settings: + handler: 'default:taxonomy_term' + handler_settings: { } +field_type: entity_reference diff --git a/config/install/field.storage.node.field_description.yml b/modules/islandora_demo_feature/config/install/field.storage.node.field_description.yml similarity index 95% rename from config/install/field.storage.node.field_description.yml rename to modules/islandora_demo_feature/config/install/field.storage.node.field_description.yml index 22a1f37d..b695d63d 100644 --- a/config/install/field.storage.node.field_description.yml +++ b/modules/islandora_demo_feature/config/install/field.storage.node.field_description.yml @@ -1,11 +1,11 @@ langcode: en status: true dependencies: - module: - - islandora enforced: module: - islandora + module: + - node id: node.field_description field_name: field_description entity_type: node diff --git a/modules/islandora_demo_feature/config/install/migrate_plus.migration.islandora_demo_tags.yml b/modules/islandora_demo_feature/config/install/migrate_plus.migration.islandora_demo_tags.yml new file mode 100644 index 00000000..ceadab6e --- /dev/null +++ b/modules/islandora_demo_feature/config/install/migrate_plus.migration.islandora_demo_tags.yml @@ -0,0 +1,31 @@ +langcode: en +status: true +dependencies: + enforced: + module: + - islandora_demo_feature +id: islandora_demo_tags +class: null +field_plugin_method: null +cck_plugin_method: null +migration_tags: islandora_demo_tags +migration_group: islandora +label: 'Tags migration for islandora_demo feature' +source: + plugin: csv + path: /var/www/html/drupal/web/modules/contrib/islandora/modules/islandora_demo_feature/migrate/tags.csv + header_row_count: 1 + keys: + - external_uri +process: + name: name + vid: vid + description: description + field_external_uri: + plugin: urlencode + source: external_uri +destination: + plugin: 'entity:taxonomy_term' +migration_dependencies: + required: { } + optional: { } diff --git a/modules/islandora_demo_feature/config/install/node.type.islandora_object.yml b/modules/islandora_demo_feature/config/install/node.type.islandora_object.yml new file mode 100644 index 00000000..cde14d38 --- /dev/null +++ b/modules/islandora_demo_feature/config/install/node.type.islandora_object.yml @@ -0,0 +1,20 @@ +langcode: en +status: true +dependencies: + enforced: + module: + - islandora_demo_feature + module: + - menu_ui +third_party_settings: + menu_ui: + available_menus: + - main + parent: 'main:' +name: 'Repository Item' +type: islandora_object +description: 'An item in your Islandora repository.' +help: '' +new_revision: true +preview_mode: 1 +display_submitted: true diff --git a/modules/islandora_demo_feature/config/install/rdf.mapping.node.islandora_object.yml b/modules/islandora_demo_feature/config/install/rdf.mapping.node.islandora_object.yml new file mode 100644 index 00000000..84c3c8a0 --- /dev/null +++ b/modules/islandora_demo_feature/config/install/rdf.mapping.node.islandora_object.yml @@ -0,0 +1,44 @@ +langcode: en +status: true +dependencies: + config: + - node.type.islandora_object + enforced: + module: + - islandora_demo_feature + module: + - node +id: node.islandora_object +targetEntityType: node +bundle: islandora_object +types: + - 'pcdm:Object' +fieldMappings: + field_description: + properties: + - 'dc:description' + field_member_of: + properties: + - 'pcdm:memberOf' + mapping_type: rel + title: + properties: + - 'dc:title' + created: + properties: + - 'schema:dateCreated' + datatype_callback: + callable: 'Drupal\rdf\CommonDataConverter::dateIso8601Value' + changed: + properties: + - 'schema:dateModified' + datatype_callback: + callable: 'Drupal\rdf\CommonDataConverter::dateIso8601Value' + uid: + properties: + - 'schema:author' + mapping_type: rel + field_tags: + properties: + - 'schema:additionalType' + mapping_type: rel diff --git a/modules/islandora_demo_feature/config/install/system.action.generate_a_service_file_from_preservation_master.yml b/modules/islandora_demo_feature/config/install/system.action.generate_a_service_file_from_preservation_master.yml new file mode 100644 index 00000000..3c380e1a --- /dev/null +++ b/modules/islandora_demo_feature/config/install/system.action.generate_a_service_file_from_preservation_master.yml @@ -0,0 +1,19 @@ +langcode: en +status: true +dependencies: + enforced: + module: + - islandora_demo_feature + module: + - islandora_image +id: generate_a_service_file_from_preservation_master +label: 'Generate a service file from image preservation master' +type: node +plugin: generate_image_derivative +configuration: + queue: islandora-connector-houdini + event: 'Generate Derivative' + source_term_uri: 'http://pcdm.org/use#PreservationMasterFile' + derivative_term_uri: 'http://pcdm.org/use#ServiceFile' + mimetype: image/jpeg + args: '' diff --git a/modules/islandora_demo_feature/config/install/system.action.generate_a_thumbnail_from_an_image_service_file.yml b/modules/islandora_demo_feature/config/install/system.action.generate_a_thumbnail_from_an_image_service_file.yml new file mode 100644 index 00000000..73d52560 --- /dev/null +++ b/modules/islandora_demo_feature/config/install/system.action.generate_a_thumbnail_from_an_image_service_file.yml @@ -0,0 +1,19 @@ +langcode: en +status: true +dependencies: + enforced: + module: + - islandora_demo_feature + module: + - islandora_image +id: generate_a_thumbnail_from_an_image_service_file +label: 'Generate a thumbnail from an image service file' +type: node +plugin: generate_image_derivative +configuration: + queue: islandora-connector-houdini + event: 'Generate Derivative' + source_term_uri: 'http://pcdm.org/use#ServiceFile' + derivative_term_uri: 'http://pcdm.org/use#ThumbnailImage' + mimetype: image/jpeg + args: '-thumbnail 100x100' diff --git a/modules/islandora_demo_feature/config/install/views.view.openseadragon_media_evas.yml b/modules/islandora_demo_feature/config/install/views.view.openseadragon_media_evas.yml new file mode 100644 index 00000000..2eaf66ac --- /dev/null +++ b/modules/islandora_demo_feature/config/install/views.view.openseadragon_media_evas.yml @@ -0,0 +1,357 @@ +langcode: en +status: true +dependencies: + config: + - core.entity_view_mode.media.open_seadragon + enforced: + module: + - islandora_demo_feature + module: + - eva + - media + - taxonomy + - user +id: openseadragon_media_evas +label: 'OpenSeadragon Media EVAs' +module: views +description: 'Displays media for content as EVA''s per model.' +tag: '' +base_table: media_field_data +base_field: mid +core: 8.x +display: + default: + display_plugin: default + id: default + display_title: Master + position: 0 + display_options: + access: + type: perm + options: + perm: 'view media' + cache: + type: tag + options: { } + query: + type: views_query + options: + disable_sql_rewrite: false + distinct: false + replica: false + query_comment: '' + query_tags: { } + exposed_form: + type: basic + options: + submit_button: Apply + reset_button: false + reset_button_label: Reset + exposed_sorts_label: 'Sort by' + expose_sort_order: true + sort_asc_label: Asc + sort_desc_label: Desc + pager: + type: some + options: + items_per_page: 1 + offset: 0 + style: + type: default + options: + row_class: '' + default_row_class: true + uses_fields: false + row: + type: 'entity:media' + options: + relationship: none + view_mode: open_seadragon + fields: + name: + id: name + table: media_field_data + field: name + entity_type: media + entity_field: media + label: '' + alter: + alter_text: false + make_link: false + absolute: false + trim: false + word_boundary: false + ellipsis: false + strip_tags: false + html: false + hide_empty: false + empty_zero: false + settings: + link_to_entity: true + plugin_id: field + relationship: none + group_type: group + admin_label: '' + exclude: false + element_type: '' + element_class: '' + element_label_type: '' + element_label_class: '' + element_label_colon: true + element_wrapper_type: '' + element_wrapper_class: '' + element_default_classes: true + empty: '' + hide_alter_empty: true + click_sort_column: value + type: string + group_column: value + group_columns: { } + group_rows: true + delta_limit: 0 + delta_offset: 0 + delta_reversed: false + delta_first_last: false + multi_type: separator + separator: ', ' + field_api_classes: false + filters: + status: + value: '1' + table: media_field_data + field: status + plugin_id: boolean + entity_type: media + entity_field: status + id: status + expose: + operator: '' + group: 1 + sorts: { } + title: '' + header: { } + footer: { } + empty: { } + relationships: + field_tags: + id: field_tags + table: media__field_tags + field: field_tags + relationship: none + group_type: group + admin_label: 'field_tags: Taxonomy term' + required: false + plugin_id: standard + arguments: + field_media_of_target_id: + id: field_media_of_target_id + table: media__field_media_of + field: field_media_of_target_id + relationship: none + group_type: group + admin_label: '' + default_action: default + exception: + value: all + title_enable: false + title: All + title_enable: false + title: '' + default_argument_type: node + default_argument_options: { } + default_argument_skip_url: false + summary_options: + base_path: '' + count: true + items_per_page: 25 + override: false + summary: + sort_order: asc + number_of_records: 0 + format: default_summary + specify_validation: false + validate: + type: none + fail: 'not found' + validate_options: { } + break_phrase: false + not: false + plugin_id: numeric + display_extenders: { } + cache_metadata: + max-age: -1 + contexts: + - 'languages:language_content' + - 'languages:language_interface' + - url + - user.permissions + tags: { } + entity_view_2: + display_plugin: entity_view + id: entity_view_2 + display_title: 'Preservation Master' + position: 1 + display_options: + display_extenders: { } + display_description: 'Best quality representation of the Object appropriate for long-term preservation.' + filters: + status: + value: '1' + table: media_field_data + field: status + plugin_id: boolean + entity_type: media + entity_field: status + id: status + expose: + operator: '' + group: 1 + field_external_uri_uri: + id: field_external_uri_uri + table: taxonomy_term__field_external_uri + field: field_external_uri_uri + relationship: field_tags + group_type: group + admin_label: '' + operator: '=' + value: 'http://pcdm.org/use#PreservationMasterFile' + group: 1 + exposed: false + expose: + operator_id: '' + label: '' + description: '' + use_operator: false + operator: '' + identifier: '' + required: false + remember: false + multiple: false + remember_roles: + authenticated: authenticated + placeholder: '' + is_grouped: false + group_info: + label: '' + description: '' + identifier: '' + optional: true + widget: select + multiple: false + remember: false + default_group: All + default_group_multiple: { } + group_items: { } + plugin_id: string + defaults: + filters: false + filter_groups: false + style: false + row: false + filter_groups: + operator: AND + groups: + 1: AND + entity_type: node + bundles: + - islandora_object + argument_mode: id + default_argument: null + title: 'OpenSeadragon - Preservation Master' + show_title: false + style: + type: default + options: + row_class: '' + default_row_class: true + uses_fields: false + row: + type: 'entity:media' + options: + relationship: none + view_mode: open_seadragon + cache_metadata: + max-age: -1 + contexts: + - 'languages:language_content' + - 'languages:language_interface' + - url + - user.permissions + tags: { } + service_file: + display_plugin: entity_view + id: service_file + display_title: 'Service File' + position: 1 + display_options: + display_extenders: { } + display_description: 'A medium quality representation of the Object appropriate for serving to users.' + filters: + status: + value: '1' + table: media_field_data + field: status + plugin_id: boolean + entity_type: media + entity_field: status + id: status + expose: + operator: '' + group: 1 + field_external_uri_uri: + id: field_external_uri_uri + table: taxonomy_term__field_external_uri + field: field_external_uri_uri + relationship: field_tags + group_type: group + admin_label: '' + operator: '=' + value: 'http://pcdm.org/use#ServiceFile' + group: 1 + exposed: false + expose: + operator_id: '' + label: '' + description: '' + use_operator: false + operator: '' + identifier: '' + required: false + remember: false + multiple: false + remember_roles: + authenticated: authenticated + placeholder: '' + is_grouped: false + group_info: + label: '' + description: '' + identifier: '' + optional: true + widget: select + multiple: false + remember: false + default_group: All + default_group_multiple: { } + group_items: { } + plugin_id: string + defaults: + filters: false + filter_groups: false + title: false + filter_groups: + operator: AND + groups: + 1: AND + entity_type: node + bundles: + - islandora_object + title: 'OpenSeadragon - Service File' + cache_metadata: + max-age: -1 + contexts: + - 'languages:language_content' + - 'languages:language_interface' + - url + - user.permissions + tags: { } diff --git a/modules/islandora_demo_feature/islandora_demo_feature.features.yml b/modules/islandora_demo_feature/islandora_demo_feature.features.yml new file mode 100644 index 00000000..dcf04705 --- /dev/null +++ b/modules/islandora_demo_feature/islandora_demo_feature.features.yml @@ -0,0 +1,15 @@ +bundle: islandora +excluded: + - field.storage.node.field_image + - field.storage.node.field_tags + - field.field.node.article.field_image + - core.entity_view_display.node.article.default + - core.entity_view_display.node.article.rss + - core.entity_view_display.node.article.search_index + - core.entity_view_display.node.article.search_result + - core.entity_view_display.node.article.teaser + - core.entity_view_display.node.page.teaser + - views.view.archive + - views.view.frontpage + - views.view.taxonomy_term +required: true diff --git a/modules/islandora_demo_feature/islandora_demo_feature.info.yml b/modules/islandora_demo_feature/islandora_demo_feature.info.yml new file mode 100644 index 00000000..4c38d0ad --- /dev/null +++ b/modules/islandora_demo_feature/islandora_demo_feature.info.yml @@ -0,0 +1,28 @@ +name: 'Islandora Demo Feature' +description: 'A functional example that can be used to learn how content modeling works in CLAW.' +type: module +core: 8.x +dependencies: + - comment + - context + - eva + - field + - file + - image + - islandora + - islandora_core_feature + - islandora_image + - link + - media + - menu_ui + - migrate_plus + - node + - openseadragon + - path + - rdf + - system + - taxonomy + - text + - user + - views +package: Islandora diff --git a/modules/islandora_demo_feature/migrate/tags.csv b/modules/islandora_demo_feature/migrate/tags.csv new file mode 100644 index 00000000..28cfa951 --- /dev/null +++ b/modules/islandora_demo_feature/migrate/tags.csv @@ -0,0 +1,2 @@ +vid,name,description,external_uri +tags,"Open Seadragon","Display using the Open Seadragon viewer",http://openseadragon.github.io diff --git a/src/ContextProvider/MediaContextProvider.php b/src/ContextProvider/MediaContextProvider.php index 307f614e..33270357 100644 --- a/src/ContextProvider/MediaContextProvider.php +++ b/src/ContextProvider/MediaContextProvider.php @@ -2,7 +2,7 @@ namespace Drupal\islandora\ContextProvider; -use Drupal\media_entity\MediaInterface; +use Drupal\media\MediaInterface; use Drupal\Core\Plugin\Context\Context; use Drupal\Core\Plugin\Context\ContextDefinition; use Drupal\Core\Plugin\Context\ContextProviderInterface; @@ -18,14 +18,14 @@ class MediaContextProvider implements ContextProviderInterface { /** * Media to provide in a context. * - * @var \Drupal\media_entity\MediaInterface + * @var \Drupal\media\MediaInterface */ protected $media; /** * Constructs a new MediaRouteContext. * - * @var \Drupal\media_entity\MediaInterface $media + * @var \Drupal\media\MediaInterface $media * The media to provide in a context. */ public function __construct(MediaInterface $media) { diff --git a/src/ContextProvider/MediaRouteContextProvider.php b/src/ContextProvider/MediaRouteContextProvider.php index a921e563..3a731760 100644 --- a/src/ContextProvider/MediaRouteContextProvider.php +++ b/src/ContextProvider/MediaRouteContextProvider.php @@ -7,7 +7,7 @@ use Drupal\Core\Plugin\Context\Context; use Drupal\Core\Plugin\Context\ContextDefinition; use Drupal\Core\Plugin\Context\ContextProviderInterface; use Drupal\Core\Routing\RouteMatchInterface; -use Drupal\media_entity\Entity\Media; +use Drupal\media\Entity\Media; use Drupal\Core\StringTranslation\StringTranslationTrait; /** @@ -53,8 +53,8 @@ class MediaRouteContextProvider implements ContextProviderInterface { } } elseif ($this->routeMatch->getRouteName() == 'entity.media.add_form') { - $media_bundle = $this->routeMatch->getParameter('media_bundle'); - $value = Media::create(['bundle' => $media_bundle->id()]); + $media_type = $this->routeMatch->getParameter('media_type'); + $value = Media::create(['bundle' => $media_type->id()]); } } diff --git a/src/ContextProvider/TermContextProvider.php b/src/ContextProvider/TermContextProvider.php new file mode 100644 index 00000000..7a1e6b79 --- /dev/null +++ b/src/ContextProvider/TermContextProvider.php @@ -0,0 +1,52 @@ +term = $term; + } + + /** + * {@inheritdoc} + */ + public function getRuntimeContexts(array $unqualified_context_ids) { + $context_definition = new ContextDefinition('entity:taxonomy_term', NULL, FALSE); + $context = new Context($context_definition, $this->term); + return ['@islandora.taxonomy_term_route_context_provider:taxonomy_term' => $context]; + } + + /** + * {@inheritdoc} + */ + public function getAvailableContexts() { + $context = new Context(new ContextDefinition('entity:taxonomy_term', $this->t('Term from entity hook'))); + return ['@islandora.taxonomy_term_route_context_provider:taxonomy_term' => $context]; + } + +} diff --git a/src/ContextProvider/TermRouteContextProvider.php b/src/ContextProvider/TermRouteContextProvider.php new file mode 100644 index 00000000..59313523 --- /dev/null +++ b/src/ContextProvider/TermRouteContextProvider.php @@ -0,0 +1,71 @@ +routeMatch = $route_match; + } + + /** + * {@inheritdoc} + */ + public function getRuntimeContexts(array $unqualified_context_ids) { + $context_definition = new ContextDefinition('entity:taxonomy_term', NULL, FALSE); + $value = NULL; + + // Hack the file out of the route. + $route_object = $this->routeMatch->getRouteObject(); + if ($route_object) { + $route_contexts = $route_object->getOption('parameters'); + if ($route_contexts && isset($route_contexts['taxonomy_term'])) { + $term = $this->routeMatch->getParameter('taxonomy_term'); + if ($term) { + $value = $term; + } + } + } + + $cacheability = new CacheableMetadata(); + $cacheability->setCacheContexts(['route']); + + $context = new Context($context_definition, $value); + $context->addCacheableDependency($cacheability); + return ['taxonomy_term' => $context]; + } + + /** + * {@inheritdoc} + */ + public function getAvailableContexts() { + $context = new Context(new ContextDefinition('entity:taxonomy_term', $this->t('Term from URL'))); + return ['taxonomy_term' => $context]; + } + +} diff --git a/src/ContextReaction/DisplayAlterReaction.php b/src/ContextReaction/DisplayAlterReaction.php new file mode 100644 index 00000000..f214ccdc --- /dev/null +++ b/src/ContextReaction/DisplayAlterReaction.php @@ -0,0 +1,62 @@ +entityTypeManager = $entity_type_manager; + } + + /** + * {@inheritdoc} + */ + public static function create(ContainerInterface $container, array $configuration, $plugin_id, $plugin_definition) { + return new static( + $configuration, + $plugin_id, + $plugin_definition, + $container->get('entity_type.manager') + ); + } + + /** + * {@inheritdoc} + */ + public function execute() { + // Return the mode name by itself. + $config = $this->getConfiguration(); + $exploded = explode('.', $config[self::MODE]); + return $exploded[1]; + } + + /** + * {@inheritdoc} + */ + public function submitConfigurationForm(array &$form, FormStateInterface $form_state) { + $this->setConfiguration([self::MODE => $form_state->getValue(self::MODE)]); + } + +} diff --git a/src/Controller/ManageMediaController.php b/src/Controller/ManageMediaController.php new file mode 100644 index 00000000..8ef77dff --- /dev/null +++ b/src/Controller/ManageMediaController.php @@ -0,0 +1,29 @@ +generateTypeList( + 'media', + 'media_type', + 'entity.media.add_form', + 'entity.media_type.add_form', + $node, + 'field_media_of' + ); + } + +} diff --git a/src/Controller/ManageMembersController.php b/src/Controller/ManageMembersController.php new file mode 100644 index 00000000..854e09cc --- /dev/null +++ b/src/Controller/ManageMembersController.php @@ -0,0 +1,143 @@ +entityTypeManager = $entity_type_manager; + $this->entityFieldManager = $entity_field_manager; + $this->renderer = $renderer; + } + + /** + * {@inheritdoc} + */ + public static function create(ContainerInterface $container) { + return new static( + $container->get('entity_type.manager'), + $container->get('entity_field.manager'), + $container->get('renderer') + ); + } + + /** + * Renders a list of types to add as members. + * + * @param \Drupal\node\NodeInterface $node + * Node you want to add a member to. + */ + public function addToNodePage(NodeInterface $node) { + return $this->generateTypeList( + 'node', + 'node_type', + 'node.add', + 'node.type_add', + $node, + 'field_member_of' + ); + } + + /** + * Renders a list of content types to add as members. + */ + protected function generateTypeList($entity_type, $bundle_type, $entity_add_form, $bundle_add_form, NodeInterface $node, $field) { + $type_definition = $this->entityTypeManager->getDefinition($bundle_type); + + $build = [ + '#theme' => 'entity_add_list', + '#bundles' => [], + '#cache' => ['tags' => $type_definition->getListCacheTags()], + ]; + + $bundles = $this->entityTypeManager->getStorage($bundle_type)->loadMultiple(); + $access_control_handler = $this->entityTypeManager->getAccessControlHandler($entity_type); + + foreach (array_keys($bundles) as $bundle_id) { + $bundle = $bundles[$bundle_id]; + + // Skip bundles that don't have the specified field. + $fields = $this->entityFieldManager->getFieldDefinitions($entity_type, $bundle_id); + if (!isset($fields[$field])) { + continue; + } + + $build['#bundles'][$bundle_id] = [ + 'label' => $bundle->label(), + 'description' => $bundle->getDescription(), + 'add_link' => Link::createFromRoute( + $bundle->label(), + $entity_add_form, + [$bundle_type => $bundle->id()], + ['query' => ["edit[$field]" => $node->id()]] + ), + ]; + } + + // Filter out bundles the user can't create. + foreach (array_keys($bundles) as $bundle_id) { + $access = $access_control_handler->createAccess($bundle_id, NULL, [], TRUE); + if (!$access->isAllowed()) { + unset($build['#bundles'][$bundle_id]); + } + $this->renderer->addCacheableDependency($build, $access); + } + + // Build the message shown when there are no bundles. + $type_label = $type_definition->getLowercaseLabel(); + $link_text = $this->t('Add a new @entity_type.', ['@entity_type' => $type_label]); + $build['#add_bundle_message'] = $this->t('There is no @entity_type yet. @add_link', [ + '@entity_type' => $type_label, + '@add_link' => Link::createFromRoute($link_text, $bundle_add_form)->toString(), + ]); + + return $build; + } + +} diff --git a/src/Controller/MediaSourceController.php b/src/Controller/MediaSourceController.php index 83f6be01..5bb7f3ad 100644 --- a/src/Controller/MediaSourceController.php +++ b/src/Controller/MediaSourceController.php @@ -7,8 +7,10 @@ use Drupal\Core\Controller\ControllerBase; use Drupal\Core\Database\Connection; use Drupal\Core\Routing\RouteMatch; use Drupal\Core\Session\AccountInterface; -use Drupal\media_entity\MediaInterface; +use Drupal\media\MediaInterface; +use Drupal\media\MediaTypeInterface; use Drupal\node\NodeInterface; +use Drupal\taxonomy\TermInterface; use Drupal\islandora\MediaSource\MediaSourceService; use Symfony\Component\DependencyInjection\ContainerInterface; use Symfony\Component\HttpFoundation\Request; @@ -72,7 +74,7 @@ class MediaSourceController extends ControllerBase { /** * Updates a source file for a Media. * - * @param \Drupal\media_entity\MediaInterface $media + * @param \Drupal\media\MediaInterface $media * The media whose source file you want to update. * @param \Symfony\Component\HttpFoundation\Request $request * The request object. @@ -89,24 +91,6 @@ class MediaSourceController extends ControllerBase { throw new BadRequestHttpException("Missing Content-Type header"); } - $content_length = $request->headers->get('Content-Length', 0); - - if ($content_length <= 0) { - throw new BadRequestHttpException("Missing Content-Length"); - } - - $content_disposition = $request->headers->get('Content-Disposition', ""); - - if (empty($content_disposition)) { - throw new BadRequestHttpException("Missing Content-Disposition header"); - } - - $matches = []; - if (!preg_match('/attachment; filename="(.*)"/', $content_disposition, $matches)) { - throw new BadRequestHttpException("Malformed Content-Disposition header"); - } - $filename = $matches[1]; - // Since we update both the Media and its File, do this in a transaction. $transaction = $this->database->startTransaction(); @@ -115,9 +99,7 @@ class MediaSourceController extends ControllerBase { $this->service->updateSourceField( $media, $request->getContent(TRUE), - $content_type, - $content_length, - $filename + $content_type ); return new Response("", 204); @@ -137,10 +119,10 @@ class MediaSourceController extends ControllerBase { * * @param \Drupal\node\NodeInterface $node * The Node to which you want to add a Media. - * @param string $field - * Name of field on Node to reference Media. - * @param string $bundle - * Name of bundle for Media to create. + * @param \Drupal\media\MediaTypeInterface $media_type + * Media type for new media. + * @param \Drupal\taxonomy\TermInterface $taxonomy_term + * Term from the 'Behavior' vocabulary to give to new media. * @param \Symfony\Component\HttpFoundation\Request $request * The request object. * @@ -149,10 +131,10 @@ class MediaSourceController extends ControllerBase { * * @throws \Symfony\Component\HttpKernel\Exception\HttpException */ - public function addToNode( + public function putToNode( NodeInterface $node, - $field, - $bundle, + MediaTypeInterface $media_type, + TermInterface $taxonomy_term, Request $request ) { $content_type = $request->headers->get('Content-Type', ""); @@ -161,12 +143,6 @@ class MediaSourceController extends ControllerBase { throw new BadRequestHttpException("Missing Content-Type header"); } - $content_length = $request->headers->get('Content-Length', 0); - - if ($content_length <= 0) { - throw new BadRequestHttpException("Missing Content-Length"); - } - $content_disposition = $request->headers->get('Content-Disposition', ""); if (empty($content_disposition)) { @@ -179,23 +155,28 @@ class MediaSourceController extends ControllerBase { } $filename = $matches[1]; - // Since we create both a Media and its File, AND update a node, + // Since we create both a Media and its File, // start a transaction. $transaction = $this->database->startTransaction(); try { - $media = $this->service->addToNode( + $media = $this->service->putToNode( $node, - $field, - $bundle, + $media_type, + $taxonomy_term, $request->getContent(TRUE), $content_type, - $content_length, $filename ); - $response = new Response("", 201); - $response->headers->set("Location", $media->url('canonical', ['absolute' => TRUE])); + // We return the media if it was newly created. + if ($media) { + $response = new Response("", 201); + $response->headers->set("Location", $media->url('canonical', ['absolute' => TRUE])); + } + else { + $response = new Response("", 204); + } return $response; } catch (HttpException $e) { @@ -219,7 +200,7 @@ class MediaSourceController extends ControllerBase { * @return \Drupal\Core\Access\AccessResultInterface * Access result. */ - public function addToNodeAccess(AccountInterface $account, RouteMatch $route_match) { + public function putToNodeAccess(AccountInterface $account, RouteMatch $route_match) { // We'd have 404'd already if node didn't exist, so no need to check. // Just hack it out of the route match. $node = $route_match->getParameter('node'); diff --git a/src/EventGenerator/EmitEvent.php b/src/EventGenerator/EmitEvent.php index 22037c13..f76f97ba 100644 --- a/src/EventGenerator/EmitEvent.php +++ b/src/EventGenerator/EmitEvent.php @@ -4,7 +4,7 @@ namespace Drupal\islandora\EventGenerator; use Drupal\Core\Access\AccessResult; use Drupal\Core\Action\ConfigurableActionBase; -use Drupal\Core\Entity\EntityStorageInterface; +use Drupal\Core\Entity\EntityTypeManager; use Drupal\Core\Form\FormStateInterface; use Drupal\Core\Plugin\ContainerFactoryPluginInterface; use Drupal\Core\Session\AccountInterface; @@ -27,11 +27,11 @@ abstract class EmitEvent extends ConfigurableActionBase implements ContainerFact protected $account; /** - * User storage. + * Entity type manager. * - * @var \Drupal\Core\Entity\EntityStorageInterface + * @var \Drupal\Core\Entity\EntityTypeManager */ - protected $userStorage; + protected $entityTypeManager; /** * Event generator service. @@ -65,8 +65,8 @@ abstract class EmitEvent extends ConfigurableActionBase implements ContainerFact * The plugin implementation definition. * @param \Drupal\Core\Session\AccountInterface $account * Current user. - * @param \Drupal\Core\Entity\EntityStorageInterface $user_storage - * User storage. + * @param \Drupal\Core\Entity\EntityTypeManager $entity_type_manager + * Entity type manager. * @param \Drupal\islandora\EventGenerator\EventGeneratorInterface $event_generator * EventGenerator service to serialize AS2 events. * @param \Stomp\StatefulStomp $stomp @@ -79,14 +79,14 @@ abstract class EmitEvent extends ConfigurableActionBase implements ContainerFact $plugin_id, $plugin_definition, AccountInterface $account, - EntityStorageInterface $user_storage, + EntityTypeManager $entity_type_manager, EventGeneratorInterface $event_generator, StatefulStomp $stomp, JwtAuth $auth ) { parent::__construct($configuration, $plugin_id, $plugin_definition); $this->account = $account; - $this->userStorage = $user_storage; + $this->entityTypeManager = $entity_type_manager; $this->eventGenerator = $event_generator; $this->stomp = $stomp; $this->auth = $auth; @@ -101,7 +101,7 @@ abstract class EmitEvent extends ConfigurableActionBase implements ContainerFact $plugin_id, $plugin_definition, $container->get('current_user'), - $container->get('entity_type.manager')->getStorage('user'), + $container->get('entity_type.manager'), $container->get('islandora.eventgenerator'), $container->get('islandora.stomp'), $container->get('jwt.authentication.jwt') @@ -126,21 +126,13 @@ abstract class EmitEvent extends ConfigurableActionBase implements ContainerFact return; } - // Generate the event message. - $user = $this->userStorage->load($this->account->id()); - - if ($this->configuration['event'] == 'create') { - $message = $this->eventGenerator->generateCreateEvent($entity, $user); - } - elseif ($this->configuration['event'] == 'update') { - $message = $this->eventGenerator->generateUpdateEvent($entity, $user); - } - elseif ($this->configuration['event'] == 'delete') { - $message = $this->eventGenerator->generateDeleteEvent($entity, $user); - } - - // Transform message from string into a proper message object. - $message = new Message($message, ['Authorization' => "Bearer $token"]); + // Generate event as stomp message. + $user = $this->entityTypeManager->getStorage('user')->load($this->account->id()); + $data = $this->generateData($entity); + $message = new Message( + $this->eventGenerator->generateEvent($entity, $user, $data), + ['Authorization' => "Bearer $token"] + ); // Send the message. try { @@ -165,13 +157,20 @@ abstract class EmitEvent extends ConfigurableActionBase implements ContainerFact } } + /** + * Override this function to control what gets encoded as a json note. + */ + protected function generateData($entity) { + return $this->configuration; + } + /** * {@inheritdoc} */ public function defaultConfiguration() { return [ 'queue' => '', - 'event' => 'create', + 'event' => 'Create', ]; } @@ -193,9 +192,10 @@ abstract class EmitEvent extends ConfigurableActionBase implements ContainerFact '#default_value' => $this->configuration['event'], '#description' => t('Type of event to emit'), '#options' => [ - 'create' => t('Create'), - 'update' => t('Update'), - 'delete' => t('Delete'), + 'Create' => t('Create'), + 'Update' => t('Update'), + 'Delete' => t('Delete'), + 'Generate Derivative' => t('Generate Derivative'), ], ]; return $form; diff --git a/src/EventGenerator/EventGenerator.php b/src/EventGenerator/EventGenerator.php index 551889ce..653e3b2c 100644 --- a/src/EventGenerator/EventGenerator.php +++ b/src/EventGenerator/EventGenerator.php @@ -6,8 +6,6 @@ use Drupal\Core\Entity\EntityInterface; use Drupal\Core\Url; use Drupal\file\FileInterface; use Drupal\user\UserInterface; -use Drupal\media_entity\MediaInterface; -use Drupal\node\NodeInterface; /** * The default EventGenerator implementation. @@ -19,46 +17,11 @@ class EventGenerator implements EventGeneratorInterface { /** * {@inheritdoc} */ - public function generateCreateEvent(EntityInterface $entity, UserInterface $user) { - $event = $this->generateEvent($entity, $user); - $event["type"] = "Create"; - return json_encode($event); - } - - /** - * {@inheritdoc} - */ - public function generateUpdateEvent(EntityInterface $entity, UserInterface $user) { - $event = $this->generateEvent($entity, $user); - $event["type"] = "Update"; - return json_encode($event); - } - - /** - * {@inheritdoc} - */ - public function generateDeleteEvent(EntityInterface $entity, UserInterface $user) { - $event = $this->generateEvent($entity, $user); - $event["type"] = "Delete"; - return json_encode($event); - } - - /** - * Shared event generation function that does not impose a 'Type'. - * - * @param \Drupal\Core\Entity\EntityInterface $entity - * The entity that was created. - * @param \Drupal\user\UserInterface $user - * The user who created the entity. - * - * @return array - * Event message as an array. - */ - protected function generateEvent(EntityInterface $entity, UserInterface $user) { + public function generateEvent(EntityInterface $entity, UserInterface $user, array $data) { $user_url = $user->toUrl()->setAbsolute()->toString(); - return [ + $event = [ "@context" => "https://www.w3.org/ns/activitystreams", "actor" => [ "type" => "Person", @@ -75,29 +38,33 @@ class EventGenerator implements EventGeneratorInterface { ], "object" => [ "id" => "urn:uuid:{$entity->uuid()}", - "url" => $this->generateEntityLinks($entity), + "url" => $entity instanceof FileInterface ? $this->generateFileLinks($entity) : $this->generateRestLinks($entity), ], ]; - } - /** - * Generates entity urls depending on entity type. - * - * @param \Drupal\Core\Entity\EntityInterface $entity - * The entity. - * - * @return array - * AS2 Links. - */ - protected function generateEntityLinks(EntityInterface $entity) { - if ($entity instanceof FileInterface) { - return $this->generateFileLinks($entity); + $entity_type = $entity->getEntityTypeId(); + $event_type = $data["event"]; + if ($data["event"] == "Generate Derivative") { + $event["type"] = "Activity"; + $event["summary"] = $data["event"]; } - elseif ($entity instanceof MediaInterface) { - return $this->generateMediaLinks($entity); + else { + $event["type"] = ucfirst($data["event"]); + $event["summary"] = ucfirst($data["event"]) . " a " . ucfirst($entity_type); } - return $this->generateNodeLinks($entity); + unset($data["event"]); + unset($data["queue"]); + + if (!empty($data)) { + $event["attachment"] = [ + "type" => "Object", + "content" => $data, + "mediaType" => "application/json", + ]; + } + + return json_encode($event); } /** @@ -132,16 +99,16 @@ class EventGenerator implements EventGeneratorInterface { } /** - * Generates media urls. + * Generates REST urls. * - * @param \Drupal\media_entity\MediaInterface $media - * The media. + * @param \Drupal\Core\Entity\EntityInterface $entity + * The entity. * * @return array * AS2 Links. */ - protected function generateMediaLinks(MediaInterface $media) { - $url = $media->toUrl()->setAbsolute()->toString(); + protected function generateRestLinks(EntityInterface $entity) { + $url = $entity->toUrl()->setAbsolute()->toString(); return [ [ "name" => "Canoncial", @@ -165,32 +132,4 @@ class EventGenerator implements EventGeneratorInterface { ]; } - /** - * Generates node urls. - * - * @param \Drupal\node\NodeInterface $node - * The node. - * - * @return array - * AS2 Links. - */ - protected function generateNodeLinks(NodeInterface $node) { - $url = $node->toUrl()->setAbsolute()->toString(); - return [ - [ - "name" => "Canoncial", - "type" => "Link", - "href" => "$url", - "mediaType" => "text/html", - "rel" => "canonical", - ], - [ - "name" => "JSONLD", - "type" => "Link", - "href" => "$url?_format=jsonld", - "mediaType" => "application/ld+json", - ], - ]; - } - } diff --git a/src/EventGenerator/EventGeneratorInterface.php b/src/EventGenerator/EventGeneratorInterface.php index 766e1389..36dca131 100644 --- a/src/EventGenerator/EventGeneratorInterface.php +++ b/src/EventGenerator/EventGeneratorInterface.php @@ -6,47 +6,23 @@ use Drupal\Core\Entity\EntityInterface; use Drupal\user\UserInterface; /** - * Inteface for a service that provides serialized event messages. + * Inteface for a service that provides serialized AS2 messages. */ interface EventGeneratorInterface { /** - * Generates a serialized 'Create' event. + * Generates an event as an associative array. * * @param \Drupal\Core\Entity\EntityInterface $entity - * The entity that was created. + * The entity in the action. * @param \Drupal\user\UserInterface $user - * The user who created the entity. + * The user performing the action. + * @param array $data + * Arbitrary data to include as a json encoded note. * * @return string - * Serialized event message + * Serialized event message. */ - public function generateCreateEvent(EntityInterface $entity, UserInterface $user); - - /** - * Generates a serialized 'Create' event. - * - * @param \Drupal\Core\Entity\EntityInterface $entity - * The entity that was updated. - * @param \Drupal\user\UserInterface $user - * The user who updated the entity. - * - * @return string - * Serialized event message - */ - public function generateUpdateEvent(EntityInterface $entity, UserInterface $user); - - /** - * Generates a serialized 'Create' event. - * - * @param \Drupal\Core\Entity\EntityInterface $entity - * The entity that was deleted. - * @param \Drupal\user\UserInterface $user - * The user who deleted the entity. - * - * @return string - * Serialized event message - */ - public function generateDeleteEvent(EntityInterface $entity, UserInterface $user); + public function generateEvent(EntityInterface $entity, UserInterface $user, array $data); } diff --git a/src/EventSubscriber/AdminViewsRouteSubscriber.php b/src/EventSubscriber/AdminViewsRouteSubscriber.php new file mode 100644 index 00000000..2d7eb95b --- /dev/null +++ b/src/EventSubscriber/AdminViewsRouteSubscriber.php @@ -0,0 +1,25 @@ +get('view.media_of.page_1')) { + $route->setOption('_admin_route', 'TRUE'); + } + if ($route = $collection->get('view.manage_members.page_1')) { + $route->setOption('_admin_route', 'TRUE'); + } + } + +} diff --git a/src/EventSubscriber/LinkHeaderSubscriber.php b/src/EventSubscriber/LinkHeaderSubscriber.php index eb016ce7..6bec7f8c 100644 --- a/src/EventSubscriber/LinkHeaderSubscriber.php +++ b/src/EventSubscriber/LinkHeaderSubscriber.php @@ -10,6 +10,7 @@ use Drupal\Core\Routing\RouteMatchInterface; use Drupal\Core\Session\AccountInterface; use Drupal\Core\Url; use Symfony\Component\EventDispatcher\EventSubscriberInterface; +use Symfony\Component\HttpFoundation\RequestStack; use Symfony\Component\HttpFoundation\Response; use Symfony\Component\HttpKernel\Event\FilterResponseEvent; use Symfony\Component\HttpKernel\KernelEvents; @@ -36,15 +37,6 @@ abstract class LinkHeaderSubscriber implements EventSubscriberInterface { protected $entityFieldManager; /** - * The route match object. - * - * @var \Drupal\Core\Routing\RouteMatchInterface - */ - protected $routeMatch; - - /** - * Constructor. - * * The access manager. * * @var \Drupal\Core\Access\AccessManagerInterface @@ -58,6 +50,20 @@ abstract class LinkHeaderSubscriber implements EventSubscriberInterface { */ protected $account; + /** + * The route match object. + * + * @var \Drupal\Core\Routing\RouteMatchInterface + */ + protected $routeMatch; + + /** + * Request stack (for current request). + * + * @var Symfony\Component\HttpFoundation\RequestStack + */ + protected $requestStack; + /** * Constructor. * @@ -65,25 +71,31 @@ abstract class LinkHeaderSubscriber implements EventSubscriberInterface { * The entity type manager. * @param \Drupal\Core\Entity\EntityFieldManager $entity_field_manager * The entity field manager. - * @param \Drupal\Core\Routing\RouteMatchInterface $route_match - * The route match object. * @param \Drupal\Core\Access\AccessManagerInterface $access_manager * The access manager. * @param \Drupal\Core\Session\AccountInterface $account * The current user. + * @param \Drupal\Core\Routing\RouteMatchInterface $route_match + * The route match object. + * @param Symfony\Component\HttpFoundation\RequestStack $request_stack + * Request stack (for current request). */ public function __construct( EntityTypeManager $entity_type_manager, EntityFieldManager $entity_field_manager, - RouteMatchInterface $route_match, AccessManagerInterface $access_manager, - AccountInterface $account + AccountInterface $account, + RouteMatchInterface $route_match, + RequestStack $request_stack ) { $this->entityTypeManager = $entity_type_manager; $this->entityFieldManager = $entity_field_manager; + $this->accessManager = $access_manager; + $this->account = $account; $this->routeMatch = $route_match; $this->accessManager = $access_manager; $this->account = $account; + $this->requestStack = $request_stack; } /** @@ -181,9 +193,33 @@ abstract class LinkHeaderSubscriber implements EventSubscriberInterface { foreach ($entity->get($field_name)->referencedEntities() as $referencedEntity) { // Headers are subject to an access check. if ($referencedEntity->access('view')) { - $entity_url = $referencedEntity->url('canonical', ['absolute' => TRUE]); - $field_label = $field_definition->label(); - $links[] = "<$entity_url>; rel=\"related\"; title=\"$field_label\""; + + // Taxonomy terms are written out as + // ; rel="tag"; title="Tag Name" + // where url is defined in field_same_as. + // If field_same_as doesn't exist or is empty, + // it becomes the taxonomy term's local uri. + if ($referencedEntity->getEntityTypeId() == 'taxonomy_term') { + $rel = "tag"; + $entity_url = $referencedEntity->url('canonical', ['absolute' => TRUE]); + if ($referencedEntity->hasField('field_external_uri')) { + $external_uri = $referencedEntity->get('field_external_uri')->first()->getValue()['uri']; + if (!empty($external_uri)) { + $entity_url = $external_uri; + } + } + $title = $referencedEntity->label(); + } + else { + // If it's not a taxonomy term, referenced entity link + // headers take the form + // ; rel="related"; title="Field Label" + // and the url is the local uri. + $rel = "related"; + $entity_url = $referencedEntity->url('canonical', ['absolute' => TRUE]); + $title = $field_definition->label(); + } + $links[] = "<$entity_url>; rel=\"$rel\"; title=\"$title\""; } } } @@ -205,13 +241,19 @@ abstract class LinkHeaderSubscriber implements EventSubscriberInterface { $entity_type = $entity->getEntityType()->id(); $rest_resource_config = $rest_resource_config_storage->load("entity.$entity_type"); + $current_format = $this->requestStack->getCurrentRequest()->query->get('_format'); + $links = []; $route_name = $this->routeMatch->getRouteName(); if ($rest_resource_config) { - $configuration = $rest_resource_config->get('configuration'); + $formats = $rest_resource_config->getFormats("GET"); + + foreach ($formats as $format) { + if ($format == $current_format) { + continue; + } - foreach ($configuration['GET']['supported_formats'] as $format) { switch ($format) { case 'json': $mime = 'application/json'; @@ -233,11 +275,7 @@ abstract class LinkHeaderSubscriber implements EventSubscriberInterface { continue; } - $meta_route_name = "rest.entity.$entity_type.GET.$format"; - - if ($route_name == $meta_route_name) { - continue; - } + $meta_route_name = "rest.entity.$entity_type.GET"; $route_params = [$entity_type => $entity->id()]; diff --git a/src/EventSubscriber/MediaLinkHeaderSubscriber.php b/src/EventSubscriber/MediaLinkHeaderSubscriber.php index e45d2c88..16e286e2 100644 --- a/src/EventSubscriber/MediaLinkHeaderSubscriber.php +++ b/src/EventSubscriber/MediaLinkHeaderSubscriber.php @@ -3,7 +3,7 @@ namespace Drupal\islandora\EventSubscriber; use Drupal\Core\Url; -use Drupal\media_entity\MediaInterface; +use Drupal\media\MediaInterface; use Symfony\Component\EventDispatcher\EventSubscriberInterface; use Symfony\Component\HttpKernel\Event\FilterResponseEvent; @@ -43,16 +43,16 @@ class MediaLinkHeaderSubscriber extends LinkHeaderSubscriber implements EventSub /** * Generates link headers for the described file and source update routes. * - * @param \Drupal\media_entity\MediaInterface $media + * @param \Drupal\media\MediaInterface $media * Media to generate link headers. * * @return string[] * Array of link headers */ protected function generateMediaLinks(MediaInterface $media) { - $media_bundle = $this->entityTypeManager->getStorage('media_bundle')->load($media->bundle()); + $media_type = $this->entityTypeManager->getStorage('media_type')->load($media->bundle()); - $type_configuration = $media_bundle->getTypeConfiguration(); + $type_configuration = $media_type->get('source_configuration'); $links = []; diff --git a/src/EventSubscriber/NodeLinkHeaderSubscriber.php b/src/EventSubscriber/NodeLinkHeaderSubscriber.php index e5bff9c6..6ce958b4 100644 --- a/src/EventSubscriber/NodeLinkHeaderSubscriber.php +++ b/src/EventSubscriber/NodeLinkHeaderSubscriber.php @@ -2,8 +2,16 @@ namespace Drupal\islandora\EventSubscriber; -use Symfony\Component\EventDispatcher\EventSubscriberInterface; +use Drupal\Core\Access\AccessManagerInterface; +use Drupal\Core\Entity\EntityFieldManager; +use Drupal\Core\Entity\EntityTypeManager; +use Drupal\Core\Routing\RouteMatchInterface; +use Drupal\Core\Session\AccountInterface; +use Drupal\islandora\IslandoraUtils; +use Drupal\node\NodeInterface; use Symfony\Component\HttpKernel\Event\FilterResponseEvent; +use Symfony\Component\HttpFoundation\RequestStack; +use Symfony\Component\EventDispatcher\EventSubscriberInterface; /** * Class NodeLinkHeaderSubscriber. @@ -12,6 +20,51 @@ use Symfony\Component\HttpKernel\Event\FilterResponseEvent; */ class NodeLinkHeaderSubscriber extends LinkHeaderSubscriber implements EventSubscriberInterface { + /** + * Derivative utils. + * + * @var \Drupal\islandora\IslandoraUtils + */ + protected $utils; + + /** + * Constructor. + * + * @param \Drupal\Core\Entity\EntityTypeManager $entity_type_manager + * The entity type manager. + * @param \Drupal\Core\Entity\EntityFieldManager $entity_field_manager + * The entity field manager. + * @param \Drupal\Core\Access\AccessManagerInterface $access_manager + * The access manager. + * @param \Drupal\Core\Session\AccountInterface $account + * The current user. + * @param \Drupal\Core\Routing\RouteMatchInterface $route_match + * The route match object. + * @param Symfony\Component\HttpFoundation\RequestStack $request_stack + * Request stack (for current request). + * @param \Drupal\islandora\IslandoraUtils $utils + * Derivative utils. + */ + public function __construct( + EntityTypeManager $entity_type_manager, + EntityFieldManager $entity_field_manager, + AccessManagerInterface $access_manager, + AccountInterface $account, + RouteMatchInterface $route_match, + RequestStack $request_stack, + IslandoraUtils $utils + ) { + $this->entityTypeManager = $entity_type_manager; + $this->entityFieldManager = $entity_field_manager; + $this->accessManager = $access_manager; + $this->account = $account; + $this->routeMatch = $route_match; + $this->accessManager = $access_manager; + $this->account = $account; + $this->requestStack = $request_stack; + $this->utils = $utils; + } + /** * Adds node-specific link headers to appropriate responses. * @@ -29,6 +82,7 @@ class NodeLinkHeaderSubscriber extends LinkHeaderSubscriber implements EventSubs $links = array_merge( $this->generateEntityReferenceLinks($node), + $this->generateRelatedMediaLinks($node), $this->generateRestLinks($node) ); @@ -40,4 +94,28 @@ class NodeLinkHeaderSubscriber extends LinkHeaderSubscriber implements EventSubs $response->headers->set('Link', $links, FALSE); } + /** + * Generates link headrs for media asssociated with a node. + */ + protected function generateRelatedMediaLinks(NodeInterface $node) { + $links = []; + foreach ($this->utils->getMedia($node) as $media) { + $url = $media->url('canonical', ['absolute' => TRUE]); + foreach ($media->referencedEntities() as $term) { + if ($term->getEntityTypeId() == 'taxonomy_term' && $term->hasField('field_external_uri')) { + $field = $term->get('field_external_uri'); + if (!$field->isEmpty()) { + $link = $field->first()->getValue(); + $uri = $link['uri']; + if (strpos($uri, 'http://pcdm.org/use#') === 0) { + $title = $term->label(); + $links[] = "<$url>; rel=\"related\"; title=\"$title\""; + } + } + } + } + } + return $links; + } + } diff --git a/src/Form/IslandoraSettingsForm.php b/src/Form/IslandoraSettingsForm.php index ebfad39b..60859782 100644 --- a/src/Form/IslandoraSettingsForm.php +++ b/src/Form/IslandoraSettingsForm.php @@ -41,7 +41,7 @@ class IslandoraSettingsForm extends ConfigFormBase { $form[self::BROKER_URL] = [ '#type' => 'textfield', '#title' => $this->t('Broker URL'), - '#default_value' => $config->get(self::BROKER_URL), + '#default_value' => $config->get(self::BROKER_URL) ? $config->get(self::BROKER_URL) : 'tcp://localhost:61613', ]; return parent::buildForm($form, $form_state); diff --git a/src/IslandoraUtils.php b/src/IslandoraUtils.php new file mode 100644 index 00000000..acac02b8 --- /dev/null +++ b/src/IslandoraUtils.php @@ -0,0 +1,370 @@ +entityTypeManager = $entity_type_manager; + $this->entityFieldManager = $entity_field_manager; + $this->entityQuery = $entity_query; + $this->contextManager = $context_manager; + $this->streamWrapperManager = $stream_wrapper_manager; + } + + /** + * Gets nodes that a media belongs to. + * + * @param \Drupal\media\MediaInterface $media + * The Media whose node you are searching for. + * + * @return \Drupal\node\NodeInterface + * Parent node. + */ + public function getParentNode(MediaInterface $media) { + if (!$media->hasField(self::MEDIA_OF_FIELD)) { + return NULL; + } + $field = $media->get(self::MEDIA_OF_FIELD); + if ($field->isEmpty()) { + return NULL; + } + return $field->first() + ->get('entity') + ->getTarget() + ->getValue(); + } + + /** + * Gets media that belong to a node. + * + * @param \Drupal\node\NodeInterface $node + * The parent node. + * + * @return \Drupal\media\MediaInterface[] + * The children Media. + */ + public function getMedia(NodeInterface $node) { + if (!$this->entityTypeManager->getStorage('field_storage_config')->load('media.' . self::MEDIA_OF_FIELD)) { + return []; + } + $mids = $this->entityQuery->get('media')->condition(self::MEDIA_OF_FIELD, $node->id())->execute(); + if (empty($mids)) { + return []; + } + return $this->entityTypeManager->getStorage('media')->loadMultiple($mids); + } + + /** + * Gets media that belong to a node with the specified term. + * + * @param \Drupal\node\NodeInterface $node + * The parent node. + * @param \Drupal\taxonomy\TermInterface $term + * Taxonomy term. + * + * @return \Drupal\media\MediaInterface + * The child Media. + */ + public function getMediaWithTerm(NodeInterface $node, TermInterface $term) { + $mids = $this->entityQuery->get('media') + ->condition(self::MEDIA_OF_FIELD, $node->id()) + ->condition(self::TAGS_FIELD, $term->id()) + ->execute(); + if (empty($mids)) { + return NULL; + } + return $this->entityTypeManager->getStorage('media')->load(reset($mids)); + } + + /** + * Gets Media that reference a File. + * + * @param int $fid + * File id. + * + * @return \Drupal\media\MediaInterface[] + * Array of media. + */ + public function getReferencingMedia($fid) { + // Get media fields that reference files. + $fields = $this->entityQuery->get('field_storage_config') + ->condition('entity_type', 'media') + ->condition('settings.target_type', 'file') + ->execute(); + + // Process field names, stripping off 'media.' and appending 'target_id'. + $conditions = array_map( + function ($field) { + return ltrim($field, 'media.') . '.target_id'; + }, + $fields + ); + + // Query for media that reference this file. + $query = $this->entityQuery->get('media', 'OR'); + foreach ($conditions as $condition) { + $query->condition($condition, $fid); + } + + return $this->entityTypeManager->getStorage('media')->loadMultiple($query->execute()); + } + + /** + * Gets the taxonomy term associated with an external uri. + * + * @param string $uri + * External uri. + * + * @return \Drupal\taxonomy\TermInterface|null + * Term or NULL if not found. + */ + public function getTermForUri($uri) { + $results = $this->entityQuery->get('taxonomy_term') + ->condition(self::EXTERNAL_URI_FIELD . '.uri', $uri) + ->execute(); + + if (empty($results)) { + return NULL; + } + return $this->entityTypeManager->getStorage('taxonomy_term')->load(reset($results)); + } + + /** + * Gets the taxonomy term associated with an external uri. + * + * @param \Drupal\taxonomy\TermInterface $term + * Taxonomy term. + * + * @return string|null + * URI or NULL if not found. + */ + public function getUriForTerm(TermInterface $term) { + if ($term && $term->hasField(self::EXTERNAL_URI_FIELD)) { + $field = $term->get(self::EXTERNAL_URI_FIELD); + if (!$field->isEmpty()) { + $link = $field->first()->getValue(); + return $link['uri']; + } + } + return NULL; + } + + /** + * Executes context reactions for a Node. + * + * @param string $reaction_type + * Reaction type. + * @param \Drupal\node\NodeInterface $node + * Node to evaluate contexts and pass to reaction. + */ + public function executeNodeReactions($reaction_type, NodeInterface $node) { + $provider = new NodeContextProvider($node); + $provided = $provider->getRuntimeContexts([]); + $this->contextManager->evaluateContexts($provided); + + // Fire off index reactions. + foreach ($this->contextManager->getActiveReactions($reaction_type) as $reaction) { + $reaction->execute($node); + } + } + + /** + * Executes context reactions for a Media. + * + * @param string $reaction_type + * Reaction type. + * @param \Drupal\media\MediaInterface $media + * Media to evaluate contexts and pass to reaction. + */ + public function executeMediaReactions($reaction_type, MediaInterface $media) { + $provider = new MediaContextProvider($media); + $provided = $provider->getRuntimeContexts([]); + $this->contextManager->evaluateContexts($provided); + + // Fire off index reactions. + foreach ($this->contextManager->getActiveReactions($reaction_type) as $reaction) { + $reaction->execute($media); + } + } + + /** + * Executes context reactions for a File. + * + * @param string $reaction_type + * Reaction type. + * @param \Drupal\file\FileInterface $file + * File to evaluate contexts and pass to reaction. + */ + public function executeFileReactions($reaction_type, FileInterface $file) { + $provider = new FileContextProvider($file); + $provided = $provider->getRuntimeContexts([]); + $this->contextManager->evaluateContexts($provided); + + // Fire off index reactions. + foreach ($this->contextManager->getActiveReactions($reaction_type) as $reaction) { + $reaction->execute($file); + } + } + + /** + * Executes context reactions for a File. + * + * @param string $reaction_type + * Reaction type. + * @param \Drupal\taxonomy\TermInterface $term + * Term to evaluate contexts and pass to reaction. + */ + public function executeTermReactions($reaction_type, TermInterface $term) { + $provider = new TermContextProvider($term); + $provided = $provider->getRuntimeContexts([]); + $this->contextManager->evaluateContexts($provided); + + // Fire off index reactions. + foreach ($this->contextManager->getActiveReactions($reaction_type) as $reaction) { + $reaction->execute($term); + } + } + + /** + * Executes derivative reactions for a Media and Node. + * + * @param string $reaction_type + * Reaction type. + * @param \Drupal\node\NodeInterface $node + * Node to pass to reaction. + * @param \Drupal\media\MediaInterface $media + * Media to evaluate contexts. + */ + public function executeDerivativeReactions($reaction_type, NodeInterface $node, MediaInterface $media) { + $provider = new MediaContextProvider($media); + $provided = $provider->getRuntimeContexts([]); + $this->contextManager->evaluateContexts($provided); + + // Fire off index reactions. + foreach ($this->contextManager->getActiveReactions($reaction_type) as $reaction) { + $reaction->execute($node); + } + } + + /** + * Evaluates if fields have changed between two instances of a ContentEntity. + * + * @param \Drupal\Core\Entity\ContentEntityInterface $entity + * The updated entity. + * @param \Drupal\Core\Entity\ContentEntityInterface $original + * The original entity. + */ + public function haveFieldsChanged(ContentEntityInterface $entity, ContentEntityInterface $original) { + + $field_definitions = $this->entityFieldManager->getFieldDefinitions($entity->getEntityTypeId(), $entity->bundle()); + + $ignore_list = ['vid' => 1, 'changed' => 1, 'path' => 1]; + $field_definitions = array_diff_key($field_definitions, $ignore_list); + + foreach ($field_definitions as $field_name => $field_definition) { + $langcodes = array_keys($entity->getTranslationLanguages()); + + if ($langcodes !== array_keys($original->getTranslationLanguages())) { + // If the list of langcodes has changed, we need to save. + return TRUE; + } + + foreach ($langcodes as $langcode) { + $items = $entity + ->getTranslation($langcode) + ->get($field_name) + ->filterEmptyItems(); + $original_items = $original + ->getTranslation($langcode) + ->get($field_name) + ->filterEmptyItems(); + + // If the field items are not equal, we need to save. + if (!$items->equals($original_items)) { + return TRUE; + } + } + } + + return FALSE; + } + +} diff --git a/src/MediaSource/MediaSourceService.php b/src/MediaSource/MediaSourceService.php index 885e6bea..7e836d96 100644 --- a/src/MediaSource/MediaSourceService.php +++ b/src/MediaSource/MediaSourceService.php @@ -4,13 +4,17 @@ namespace Drupal\islandora\MediaSource; use Drupal\Component\Render\PlainTextOutput; use Drupal\Core\Entity\EntityTypeManager; +use Drupal\Core\Entity\Query\QueryFactory; +use Drupal\Core\Language\LanguageManagerInterface; use Drupal\Core\Session\AccountInterface; use Drupal\Core\StreamWrapper\StreamWrapperManager; use Drupal\Core\Utility\Token; -use Drupal\media_entity\MediaInterface; +use Drupal\file\FileInterface; +use Drupal\media\MediaInterface; +use Drupal\media\MediaTypeInterface; use Drupal\node\NodeInterface; +use Drupal\taxonomy\TermInterface; use Symfony\Component\HttpKernel\Exception\BadRequestHttpException; -use Symfony\Component\HttpKernel\Exception\ConflictHttpException; use Symfony\Component\HttpKernel\Exception\HttpException; use Symfony\Component\HttpKernel\Exception\NotFoundHttpException; @@ -40,6 +44,13 @@ class MediaSourceService { */ protected $streamWrapperManager; + /** + * Language manager. + * + * @var \Drupal\Core\Language\LanguageManagerInterface + */ + protected $languageManager; + /** * Token service. * @@ -47,6 +58,13 @@ class MediaSourceService { */ protected $token; + /** + * Entity query. + * + * @var \Drupal\Core\Entity\Query\QueryFactory + */ + protected $entityQuery; + /** * Constructor. * @@ -56,37 +74,45 @@ class MediaSourceService { * The current user. * @param \Drupal\Core\StreamWrapper\StreamWrapperManager $stream_wrapper_manager * Stream wrapper manager. + * @param \Drupal\Core\Language\LanguageManagerInterface $language_manager + * Language manager. * @param \Drupal\Core\Utility\Token $token * Token service. + * @param \Drupal\Core\Entity\Query\QueryFactory $entity_query + * Entity query. */ public function __construct( EntityTypeManager $entity_type_manager, AccountInterface $account, StreamWrapperManager $stream_wrapper_manager, - Token $token + LanguageManagerInterface $language_manager, + Token $token, + QueryFactory $entity_query ) { $this->entityTypeManager = $entity_type_manager; $this->account = $account; $this->streamWrapperManager = $stream_wrapper_manager; + $this->languageManager = $language_manager; $this->token = $token; + $this->entityQuery = $entity_query; } /** * Gets the name of a source field for a Media. * - * @param string $media_bundle + * @param string $media_type * Media bundle whose source field you are searching for. * * @return string|null * Field name if it exists in configuration, else NULL. */ - public function getSourceFieldName($media_bundle) { - $bundle = $this->entityTypeManager->getStorage('media_bundle')->load($media_bundle); + public function getSourceFieldName($media_type) { + $bundle = $this->entityTypeManager->getStorage('media_type')->load($media_type); if (!$bundle) { - throw new NotFoundHttpException("Bundle $media_bundle does not exist"); + throw new NotFoundHttpException("Bundle $media_type does not exist"); } - $type_configuration = $bundle->getTypeConfiguration(); + $type_configuration = $bundle->get('source_configuration'); if (!isset($type_configuration['source_field'])) { return NULL; } @@ -97,25 +123,19 @@ class MediaSourceService { /** * Updates a media's source field with the supplied resource. * - * @param \Drupal\media_entity\MediaInterface $media + * @param \Drupal\media\MediaInterface $media * The media to update. * @param resource $resource * New file contents as a resource. * @param string $mimetype * New mimetype of contents. - * @param string $content_length - * New size of contents. - * @param string $filename - * New filename for contents. * * @throws HttpException */ public function updateSourceField( MediaInterface $media, $resource, - $mimetype, - $content_length, - $filename + $mimetype ) { // Get the source field for the media type. $source_field = $this->getSourceFieldName($media->bundle()); @@ -128,44 +148,60 @@ class MediaSourceService { $files = $media->get($source_field)->referencedEntities(); $file = reset($files); - // Set relevant fields on file. - $file->setMimeType($mimetype); - $file->setFilename($filename); - $file->setSize($content_length); + // Update it. + $this->updateFile($file, $resource, $mimetype); - // Validate file extension. - $bundle = $media->bundle(); - $source_field_config = $this->entityTypeManager->getStorage('field_config')->load("media.$bundle.$source_field"); - $valid_extensions = $source_field_config->getSetting('file_extensions'); - $errors = file_validate_extensions($file, $valid_extensions); - - if (!empty($errors)) { - throw new BadRequestHttpException("Invalid file extension. Valid types are :$valid_extensions"); + // Set fields provided by type plugin and mapped in bundle configuration + // for the media. + foreach ($media->bundle->entity->getFieldMap() as $source => $destination) { + if ($media->hasField($destination) && $value = $media->getSource()->getMetadata($media, $source)) { + $media->set($destination, $value); + // Ensure width and height are updated on File reference when it's an + // image. Otherwise you run into scaling problems when updating images + // with different sizes. + if ($source == 'width' || $source == 'height') { + $media->get($source_field)->first()->set($source, $value); + } + } } - // Copy the contents over using streams. + $media->save(); + } + + /** + * Updates a File's binary contents on disk. + * + * @param \Drupal\file\FileInterface $file + * File to update. + * @param resource $resource + * Stream holding the new contents. + * @param string $mimetype + * Mimetype of new contents. + */ + protected function updateFile(FileInterface $file, $resource, $mimetype = NULL) { $uri = $file->getFileUri(); $file_stream_wrapper = $this->streamWrapperManager->getViaUri($uri); $path = ""; $file_stream_wrapper->stream_open($uri, 'w', STREAM_REPORT_ERRORS, $path); $file_stream = $file_stream_wrapper->stream_cast(STREAM_CAST_AS_STREAM); - if (stream_copy_to_stream($resource, $file_stream) === FALSE) { - throw new HttpException(500, "The file could not be copied into $uri"); + $content_length = stream_copy_to_stream($resource, $file_stream); + + if ($content_length === FALSE) { + throw new HttpException(500, "Request body could not be copied to $uri"); } - $file->save(); - // Set fields provided by type plugin and mapped in bundle configuration - // for the media. - foreach ($media->bundle->entity->field_map as $source => $destination) { - if ($media->hasField($destination) && $value = $media->getType()->getField($media, $source)) { - $media->set($destination, $value); - } + if ($content_length === 0) { + // Clean up the newly created, empty file. + $file_stream_wrapper->unlink($uri); + throw new BadRequestHttpException("The request contents are empty."); + } + + if (!empty($mimetype)) { + $file->setMimeType($mimetype); } // Flush the image cache for the image so thumbnails get regenerated. image_path_flush($uri); - - $media->save(); } /** @@ -173,123 +209,117 @@ class MediaSourceService { * * @param \Drupal\node\NodeInterface $node * The node to reference the newly created Media. - * @param string $field - * Name of field on the Node to reference the Media. - * @param string $bundle - * Bundle of Media to create. + * @param \Drupal\media\MediaTypeInterface $media_type + * Media type for new media. + * @param \Drupal\taxonomy\TermInterface $taxonomy_term + * Term from the 'Behavior' vocabulary to give to new media. * @param resource $resource * New file contents as a resource. * @param string $mimetype * New mimetype of contents. - * @param string $content_length - * New size of contents. * @param string $filename * New filename for contents. * * @throws HttpException */ - public function addToNode( + public function putToNode( NodeInterface $node, - $field, - $bundle, + MediaTypeInterface $media_type, + TermInterface $taxonomy_term, $resource, $mimetype, - $content_length, $filename ) { - if (!$node->hasField($field)) { - throw new NotFoundHttpException(); - } - - if (!$node->get($field)->isEmpty()) { - throw new ConflictHttpException(); - } - - // Get the source field for the media type. - $source_field = $this->getSourceFieldName($bundle); - if (empty($source_field)) { - throw new NotFoundHttpException("Source field not set for {$media->bundle()} media"); - } - - // Load its config to get file extensions and upload path. - $source_field_config = $this->entityTypeManager->getStorage('field_config')->load("media.$bundle.$source_field"); - - // Construct the destination uri. - $directory = $source_field_config->getSetting('file_directory'); - $directory = trim($directory, '/'); - $directory = PlainTextOutput::renderFromHtml($this->token->replace($directory, ['node' => $node])); - $scheme = file_default_scheme(); - $destination_directory = "$scheme://$directory"; - $destination = "$destination_directory/$filename"; - - // Construct the File. - $file = $this->entityTypeManager->getStorage('file')->create([ - 'uid' => $this->account->id(), - 'uri' => $destination, - 'filename' => $filename, - 'filemime' => $mimetype, - 'filesize' => $content_length, - 'status' => FILE_STATUS_PERMANENT, - ]); - - // Validate file extension. - $source_field_config = $this->entityTypeManager->getStorage('field_config')->load("media.$bundle.$source_field"); - $valid_extensions = $source_field_config->getSetting('file_extensions'); - $errors = file_validate_extensions($file, $valid_extensions); - - if (!empty($errors)) { - throw new BadRequestHttpException("Invalid file extension. Valid types are $valid_extensions"); - } - - if (!file_prepare_directory($destination_directory, FILE_CREATE_DIRECTORY | FILE_MODIFY_PERMISSIONS)) { - throw new HttpException(500, "The destination directory does not exist, could not be created, or is not writable"); - } - - // Copy the contents over using streams. - $uri = $file->getFileUri(); - $file_stream_wrapper = $this->streamWrapperManager->getViaUri($uri); - $path = ""; - $file_stream_wrapper->stream_open($uri, 'w', STREAM_REPORT_ERRORS, $path); - $file_stream = $file_stream_wrapper->stream_cast(STREAM_CAST_AS_STREAM); - if (stream_copy_to_stream($resource, $file_stream) === FALSE) { - throw new HttpException(500, "The file could not be copied into $uri"); - } - $file->save(); - - // Construct the Media. - $media_struct = [ - 'bundle' => $bundle, - 'uid' => $this->account->id(), - 'name' => $filename, - "$source_field" => [ - 'target_id' => $file->id(), - ], - ]; - if ($source_field_config->getSetting('alt_field') && $source_field_config->getSetting('alt_field_required')) { - $media_struct[$source_field]['alt'] = $filename; + $existing = $this->entityQuery->get('media') + ->condition('field_media_of', $node->id()) + ->condition('field_tags', $taxonomy_term->id()) + ->execute(); + + if (!empty($existing)) { + // Just update already existing media. + $media = $this->entityTypeManager->getStorage('media')->load(reset($existing)); + $this->updateSourceField( + $media, + $resource, + $mimetype + ); + return FALSE; } - $media = $this->entityTypeManager->getStorage('media')->create($media_struct); + else { + // Otherwise, the media doesn't exist yet. + // So make everything by hand. + // Get the source field for the media type. + $bundle = $media_type->id(); + $source_field = $this->getSourceFieldName($bundle); + if (empty($source_field)) { + throw new NotFoundHttpException("Source field not set for $bundle media"); + } - // Set fields provided by type plugin and mapped in bundle configuration - // for the media. - foreach ($media->bundle->entity->field_map as $source => $destination) { - if ($media->hasField($destination) && $value = $media->getType()->getField($media, $source)) { - $media->set($destination, $value); + // Load its config to get file extensions and upload path. + $source_field_config = $this->entityTypeManager->getStorage('field_config')->load("media.$bundle.$source_field"); + + // Construct the destination uri. + $directory = $source_field_config->getSetting('file_directory'); + $directory = trim($directory, '/'); + $directory = PlainTextOutput::renderFromHtml($this->token->replace($directory, ['node' => $node])); + $scheme = file_default_scheme(); + $destination_directory = "$scheme://$directory"; + $destination = "$destination_directory/$filename"; + + // Construct the File. + $file = $this->entityTypeManager->getStorage('file')->create([ + 'uid' => $this->account->id(), + 'uri' => $destination, + 'filename' => $filename, + 'filemime' => $mimetype, + 'status' => FILE_STATUS_PERMANENT, + ]); + + // Validate file extension. + $source_field_config = $this->entityTypeManager->getStorage('field_config')->load("media.$bundle.$source_field"); + $valid_extensions = $source_field_config->getSetting('file_extensions'); + $errors = file_validate_extensions($file, $valid_extensions); + + if (!empty($errors)) { + throw new BadRequestHttpException("Invalid file extension. Valid types are $valid_extensions"); } - } - // Flush the image cache for the image so thumbnails get regenerated. - image_path_flush($uri); + if (!file_prepare_directory($destination_directory, FILE_CREATE_DIRECTORY | FILE_MODIFY_PERMISSIONS)) { + throw new HttpException(500, "The destination directory does not exist, could not be created, or is not writable"); + } - $media->save(); + // Copy over the file content. + $this->updateFile($file, $resource, $mimetype); + $file->save(); + + // Construct the Media. + $media_struct = [ + 'bundle' => $bundle, + 'uid' => $this->account->id(), + 'name' => $filename, + 'langcode' => $this->languageManager->getDefaultLanguage()->getId(), + "$source_field" => [ + 'target_id' => $file->id(), + ], + 'field_tags' => [ + 'target_id' => $taxonomy_term->id(), + ], + 'field_media_of' => [ + 'target_id' => $node->id(), + ], + ]; + + // Set alt text. + if ($source_field_config->getSetting('alt_field') && $source_field_config->getSetting('alt_field_required')) { + $media_struct[$source_field]['alt'] = $filename; + } - // Update the Node. - $node->get($field)->appendItem($media); - $node->save(); + $media = $this->entityTypeManager->getStorage('media')->create($media_struct); + $media->save(); + return $media; + } - // Return the created media. - return $media; } } diff --git a/src/ParamConverter/UuidEntityConverter.php b/src/ParamConverter/UuidEntityConverter.php deleted file mode 100644 index 4ac1fbd7..00000000 --- a/src/ParamConverter/UuidEntityConverter.php +++ /dev/null @@ -1,29 +0,0 @@ -entityManager->loadEntityByUuid($name, $value); - } - - /** - * {@inheritdoc} - */ - public function applies($definition, $name, Route $route) { - return (!empty($definition['type']) && $definition['type'] == 'uuid'); - } - -} diff --git a/src/Plugin/Action/DeleteMedia.php b/src/Plugin/Action/DeleteMedia.php new file mode 100644 index 00000000..82c4d842 --- /dev/null +++ b/src/Plugin/Action/DeleteMedia.php @@ -0,0 +1,35 @@ +delete(); + } + } + + /** + * {@inheritdoc} + */ + public function access($object, AccountInterface $account = NULL, $return_as_object = FALSE) { + return $object->access('delete', $account, $return_as_object); + } + +} diff --git a/src/Plugin/Action/DeleteMediaAndFile.php b/src/Plugin/Action/DeleteMediaAndFile.php new file mode 100644 index 00000000..2e9d1df1 --- /dev/null +++ b/src/Plugin/Action/DeleteMediaAndFile.php @@ -0,0 +1,120 @@ +mediaSourceService = $media_source_service; + $this->connection = $connection; + $this->logger = $logger; + } + + /** + * {@inheritdoc} + */ + public static function create(ContainerInterface $container, array $configuration, $plugin_id, $plugin_definition) { + return new static( + $configuration, + $plugin_id, + $plugin_definition, + $container->get('islandora.media_source_service'), + $container->get('database'), + $container->get('logger.channel.islandora') + ); + } + + /** + * {@inheritdoc} + */ + public function execute($entity = NULL) { + if (!$entity) { + return; + } + + $transaction = $this->connection->startTransaction(); + + try { + // Delete all the source files and then the media. + $source_field = $this->mediaSourceService->getSourceFieldName($entity->bundle()); + foreach ($entity->get($source_field)->referencedEntities() as $file) { + $file->delete(); + } + $entity->delete(); + } + catch (\Exception $e) { + $transaction->rollBack(); + $this->logger->error("Cannot delete media and its files. Rolling back transaction: @msg", ["@msg" => $e->getMessage()]); + } + } + + /** + * {@inheritdoc} + */ + public function access($object, AccountInterface $account = NULL, $return_as_object = FALSE) { + return $object->access('delete', $account, $return_as_object); + } + +} diff --git a/src/Plugin/Action/EmitTermEvent.php b/src/Plugin/Action/EmitTermEvent.php new file mode 100644 index 00000000..409fd1d3 --- /dev/null +++ b/src/Plugin/Action/EmitTermEvent.php @@ -0,0 +1,16 @@ +1O%zWr7r%XST!Mv?Wju5I_>Sw+0*Rp z9=o$~j?^s?NC8?N+6R<86bTTh;)S=0woiFTrGkJ;K*a+n4-`=qRH;I(2oi$tZ)SFH z?~ffv0))s~`grelXXf{JW_NzKjRPm=zra2_@o5WxcU#uRwQHxo_xdjD^0Z|ojU zUD*21^_}&tTj;Bmvrbf5Uth1R$(CR7qNMHkm37{zv_dcOd0cVBKt`fb5wY(CUKlx* zIC3k;{bW@HmFY0>gcM;=ITm{Ss1q;os5Q}EYi~z%(Wdagt?hwCHuoRev;3)ppFBX0 z*gNtdyZ4^uTiYjv^@Rrt4-_6KJWzO`@Ic{#!UKf|ZZQwY_D<_5*u2x&?V96`zT*eX z_o_KQ*>~N1Ee?eT3J(+>C_GSjpzuK9fx-iY2MP}q9w*N8lou2S>pS_&9g~+zH;@ zV_C0)7r`?4B6t+cgE{c$-Inz>coX~ryav7lE`hIsuYwJ51~kDec>hkzdI8kHXTbg7 z?K>>%D!2qZumI+O4fcS4eAu%72z~~xf+v6jRzMA$1k<1jUcKG2ehe;yi=YK&KovX$ z4uON<6W{@GWtV0B5IhM^f!o0EZ?mj7z;D2}!E@kQ@H99FB5*%=9Wi(TJOLV@3Mejr z`=DjL0-gbLzy>?P6~yhk;3BvHj)O;C*TJl28Y4N zzCr|HV$PW_>Y!WoT;9xpej%hOS$kIZ?vY2<=fwDe3R2#hOft)rw^>0wxtuTa#bWjQOlb5t2~B&OKY5I1(~4P(8Bys>mKXc(JP=O&S7yIv{q}89}(*_ z!=lS%P6k5Y1TOC#5@8X+YBr|u(y`Ps5wkPA1Cfmmqm;rr$^xgwV>1S0D#;yRe3>gz zN^!I|jbrK$;r)|u7@)L9+p3%CDKU6WIgVNGsO6G@5H>DZtAjL zJ?0!24^jPhot@iolLFTI4Jl!`&aLb{l z>M>UhR>u>7x(SZZ6;f0?qNMCO9))Lx$7AL&eaoUG&<)hgA?=ap%DYG{w%BPk!=O`} z#+@q+U}9~Cx8Y$PxSjdnaYPta;A;P3eAuGiW@Sk4%{977W=`&Dvf1L%(`Y)3cuj{& zi9`U>V>b|6_E0yo;V~cVM-M)=!Ka_WhO_DpU(<)-_9@k~SdiBJ>4|3?waB#T0c&7M z?OLt-(GwBPCPcU?e69obxrgc9dD{Q~0ejTHV(&`(|Md6$7qO>Lz#Xl3zzOhCa1HzSUxC-a74Qmp89W2N4laTVAOLHC_Wnn~ec)N_=br{&0sn-(*TMVX zJwW!~jq}A{;eo;fg$D``6dou%@PFfh4LkwqveJf?|4h&6S*a;kpTU-p9&VYyvu_-S z*iq5uMD2sp=Tlu%Q>RceV^jDyVVhb)$)>OQ0+O5GJ(;3i+0;(BkEdT<4%9l{K%*d( z{{^k`HOrxeu7Iz?EB1=1Ws(8?rKmV*wVbF^Ql+1CKewH#p9zJCk0~KusmvbMTcb%f z_sGKHtSR!P{z{K&@lb`;L|lLF_i69YYD_k%MCihd?nO=*^+j+dtFvZ5CJc?J38U_; zI#RtyRao~QX^JS8rE;#kn-$NnC!-Q^+ET=`s#u(riD^K6k;aR7lcOr?a+Gb=ZbDbw zvW>5*q)blEKDIP_;@Be#byR}ubMvzcGnqV{Z8Yk>eM85?zHpA}!li8tnilqyvxe)Y zcRNccbIwyNtJVG*tVOz@8p9oT4K7d3>W-#H5Ijb26s-qcpetbALPA!z=2WUcqG}aN z`jG9rm=V=i&O@Du_TjKdYofN$j_<1qjw-PrrYNOgi&~1y<19oGDOwkp$10Q3`jIJB zHp0*+1IN@qe4xUM85s2*rJ?LAI;Dj&wHMS%_wN}~-E%|F8e?Np9rc@>_EhE?&^%Xz z(NieP5HkZ&@y7O(3JoXq4-&L2no_Q@&a~|FGnDFI4bm0}p~}B)EeL6WbhDoyhW-Em t7iW`y_|jmM9yW<-hUKPwemVG$&1g!bo1VmKzEMv#iS-aSHE$7ye*vYhC1wBs literal 0 HcmV?d00001 diff --git a/src/Plugin/Condition/IsMedia.php b/src/Plugin/Condition/IsMedia.php index 0ec0cf67..6576d7d7 100644 --- a/src/Plugin/Condition/IsMedia.php +++ b/src/Plugin/Condition/IsMedia.php @@ -3,7 +3,7 @@ namespace Drupal\islandora\Plugin\Condition; use Drupal\Core\Condition\ConditionPluginBase; -use Drupal\media_entity\MediaInterface; +use Drupal\media\MediaInterface; /** * Provides an 'Is Media' condition. diff --git a/src/Plugin/Condition/IsReferencedMedia.php b/src/Plugin/Condition/IsReferencedMedia.php deleted file mode 100644 index 292cbe29..00000000 --- a/src/Plugin/Condition/IsReferencedMedia.php +++ /dev/null @@ -1,189 +0,0 @@ -contentTypeStorage = $content_type_storage; - $this->entityFieldManager = $entity_field_manager; - $this->entityQuery = $entity_query; - } - - /** - * {@inheritdoc} - */ - public static function create(ContainerInterface $container, array $configuration, $plugin_id, $plugin_definition) { - return new static( - $container->get('entity_type.manager')->getStorage('node_type'), - $container->get('entity_field.manager'), - $container->get('entity.query'), - $configuration, - $plugin_id, - $plugin_definition - ); - } - - /** - * {@inheritdoc} - */ - public function buildConfigurationForm(array $form, FormStateInterface $form_state) { - // Get all entity reference fields that target Media. - $media_reference_fields = $this->entityQuery->get('field_storage_config') - ->condition('entity_type', 'node') - ->condition('type', 'entity_reference') - ->condition('settings.target_type', 'media') - ->execute(); - - // Trim off the preceding 'node.'. - $media_reference_fields = array_map( - function ($field) { - return ltrim($field, 'node.'); - }, - $media_reference_fields - ); - - // Flip the results so it can be used in an array_intersect_key later on. - $media_reference_fields = array_flip($media_reference_fields); - - // Get all content types. - $content_types = $this->contentTypeStorage->loadMultiple(); - - // Build up the 2D options array. - $options = []; - foreach ($content_types as $content_type) { - // Filter fields to those we know are media references. - $all_fields = $this->entityFieldManager->getFieldDefinitions('node', $content_type->id()); - $reference_fields = array_intersect_key($all_fields, $media_reference_fields); - - // First dimension is keyed by the content type label. - // Second dimension is keyed by the content_type machine name concatenated - // with the field name. The content type machine name is needed for - // disambiguation, otherwise fields attached to multiple content types - // have unexpected behaviour when submitting the form. - foreach ($reference_fields as $field_name => $field_definition) { - $content_type_label = $content_type->label(); - $field_key = $content_type->id() . '|' . $field_name; - $field_label = $field_definition->getLabel(); - $options[$content_type_label][$field_key] = $field_label; - } - } - - // Create the 2D select. - $form['field'] = [ - '#title' => $this->t('Referenced As'), - '#description' => $this->t('The field that references the Media.'), - '#type' => 'select', - '#options' => $options, - '#default_value' => isset($this->configuration['field']) ? $this->configuration['field'] : '', - '#size' => 10, - ]; - - return parent::buildConfigurationForm($form, $form_state); - } - - /** - * {@inheritdoc} - */ - public function submitConfigurationForm(array &$form, FormStateInterface $form_state) { - $this->configuration['field'] = $form_state->getValue('field'); - parent::submitConfigurationForm($form, $form_state); - } - - /** - * {@inheritdoc} - */ - public function defaultConfiguration() { - return ['field' => ''] + parent::defaultConfiguration(); - } - - /** - * {@inheritdoc} - */ - public function summary() { - return $this->t('The Media is referenced by a Node using the specified field.'); - } - - /** - * {@inheritdoc} - */ - public function evaluate() { - // Check to see that the media is referenced by a node of the specified - // type using the specified field. - $media = $this->getContextValue('media'); - $field_key = $this->configuration['field']; - list($content_type, $field) = explode('|', $field_key); - return $this->entityQuery->get('node') - ->condition('type', $content_type) - ->condition("$field.target_id", $media->id()) - ->execute(); - } - -} diff --git a/src/Plugin/Condition/IsTerm.php b/src/Plugin/Condition/IsTerm.php new file mode 100644 index 00000000..e6ca5c17 --- /dev/null +++ b/src/Plugin/Condition/IsTerm.php @@ -0,0 +1,43 @@ +t('The entity is a Taxonomy Term'); + } + + /** + * {@inheritdoc} + */ + public function getContextMapping() { + $this->configuration['context_mapping'] = ['taxonomy_term' => '@islandora.taxonomy_term_route_context_provider:taxonomy_term']; + return parent::getContextMapping(); + } + + /** + * {@inheritdoc} + */ + public function evaluate() { + return $this->getContextValue('taxonomy_term') instanceof TermInterface; + } + +} diff --git a/src/Plugin/Condition/MediaHasTerm.php b/src/Plugin/Condition/MediaHasTerm.php new file mode 100644 index 00000000..1af6f752 --- /dev/null +++ b/src/Plugin/Condition/MediaHasTerm.php @@ -0,0 +1,41 @@ +getContextValue('media'); + if (!$media) { + return FALSE; + } + return $this->evaluateEntity($media); + } + + /** + * {@inheritdoc} + */ + public function summary() { + if (!empty($this->configuration['negate'])) { + return $this->t('The media is not associated with taxonomy term with uri @uri.', ['@uri' => $this->configuration['uri']]); + } + else { + return $this->t('The media is associated with taxonomy term with uri @uri.', ['@uri' => $this->configuration['uri']]); + } + } + +} diff --git a/src/Plugin/Condition/NodeHasTerm.php b/src/Plugin/Condition/NodeHasTerm.php new file mode 100644 index 00000000..9b96098c --- /dev/null +++ b/src/Plugin/Condition/NodeHasTerm.php @@ -0,0 +1,172 @@ +utils = $utils; + $this->entityTypeManager = $entity_type_manager; + } + + /** + * {@inheritdoc} + */ + public static function create(ContainerInterface $container, array $configuration, $plugin_id, $plugin_definition) { + return new static( + $configuration, + $plugin_id, + $plugin_definition, + $container->get('islandora.utils'), + $container->get('entity_type.manager') + ); + } + + /** + * {@inheritdoc} + */ + public function buildConfigurationForm(array $form, FormStateInterface $form_state) { + if (isset($this->configuration['uri']) && !empty($this->configuration['uri'])) { + $default = $this->utils->getTermForUri($this->configuration['uri']); + } + else { + $default = NULL; + } + + $form['term'] = [ + '#type' => 'entity_autocomplete', + '#title' => $this->t('Term'), + '#tags' => TRUE, + '#required' => TRUE, + '#default_value' => $default, + '#target_type' => 'taxonomy_term', + ]; + + return parent::buildConfigurationForm($form, $form_state); + } + + /** + * {@inheritdoc} + */ + public function submitConfigurationForm(array &$form, FormStateInterface $form_state) { + // Set URI for term if possible. + $this->configuration['uri'] = NULL; + $value = $form_state->getValue('term'); + if (!empty($value)) { + $tid = $value[0]['target_id']; + $term = $this->entityTypeManager->getStorage('taxonomy_term')->load($tid); + $uri = $this->utils->getUriForTerm($term); + if ($uri) { + $this->configuration['uri'] = $uri; + } + } + parent::submitConfigurationForm($form, $form_state); + } + + /** + * {@inheritdoc} + */ + public function evaluate() { + $node = $this->getContextValue('node'); + if (!$node) { + return FALSE; + } + return $this->evaluateEntity($node); + } + + /** + * Evaluates if an entity has the specified term(s). + * + * @param \Drupal\Core\Entity\EntityInterface $entity + * The entity to evalute. + * + * @return bool + * TRUE if entity has all the specified term(s), otherwise FALSE. + */ + protected function evaluateEntity(EntityInterface $entity) { + foreach ($entity->referencedEntities() as $referenced_entity) { + if ($referenced_entity->getEntityTypeId() == 'taxonomy_term' + && $referenced_entity->hasField(IslandoraUtils::EXTERNAL_URI_FIELD)) { + $field = $referenced_entity->get(IslandoraUtils::EXTERNAL_URI_FIELD); + if (!$field->isEmpty()) { + $link = $field->first()->getValue(); + if ($link['uri'] == $this->configuration['uri']) { + return $this->isNegated() ? FALSE : TRUE; + } + } + } + } + + return $this->isNegated() ? TRUE : FALSE; + } + + /** + * {@inheritdoc} + */ + public function summary() { + if (!empty($this->configuration['negate'])) { + return $this->t('The node is not associated with taxonomy term with uri @uri.', ['@uri' => $this->configuration['uri']]); + } + else { + return $this->t('The node is associated with taxonomy term with uri @uri.', ['@uri' => $this->configuration['uri']]); + } + } + +} diff --git a/src/Plugin/Condition/ParentNodeHasTerm.php b/src/Plugin/Condition/ParentNodeHasTerm.php new file mode 100644 index 00000000..371c373e --- /dev/null +++ b/src/Plugin/Condition/ParentNodeHasTerm.php @@ -0,0 +1,45 @@ +getContextValue('media'); + if (!$media) { + return FALSE; + } + $node = $this->utils->getParentNode($media); + if (!$node) { + return FALSE; + } + return $this->evaluateEntity($node); + } + + /** + * {@inheritdoc} + */ + public function summary() { + if (!empty($this->configuration['negate'])) { + return $this->t('The parent node is not associated with taxonomy term with uri @uri.', ['@uri' => $this->configuration['uri']]); + } + else { + return $this->t('The parent node is associated with taxonomy term with uri @uri.', ['@uri' => $this->configuration['uri']]); + } + } + +} diff --git a/src/Plugin/ContextReaction/DerivativeReaction.php b/src/Plugin/ContextReaction/DerivativeReaction.php new file mode 100644 index 00000000..7ddaed4f --- /dev/null +++ b/src/Plugin/ContextReaction/DerivativeReaction.php @@ -0,0 +1,15 @@ +t('Change the form display for an entity'); + } + + /** + * {@inheritdoc} + */ + public function buildConfigurationForm(array $form, FormStateInterface $form_state) { + // Build up options array. + $entity_types = $this->entityTypeManager->getDefinitions(); + $form_displays = $this->entityTypeManager->getStorage('entity_form_display')->loadMultiple(); + + $options = []; + + foreach ($form_displays as $form_display) { + $entity_type = $form_display->getTargetEntityTypeId(); + $entity_type_label = $entity_types[$entity_type]->getLabel()->render(); + $mode = $form_display->getMode(); + $options[$entity_type_label]["$entity_type.$mode"] = ucfirst($mode); + } + + // Provide a select to choose display mode. + $config = $this->getConfiguration(); + $form[self::MODE] = [ + '#title' => $this->t('Form Mode'), + '#description' => $this->t("The selected form mode will be used if conditions are met."), + '#type' => 'select', + '#options' => $options, + '#default_value' => isset($config[self::MODE]) ? $config[self::MODE] : '', + ]; + return $form; + } + +} diff --git a/src/Plugin/ContextReaction/ViewModeAlterReaction.php b/src/Plugin/ContextReaction/ViewModeAlterReaction.php new file mode 100644 index 00000000..2508cea2 --- /dev/null +++ b/src/Plugin/ContextReaction/ViewModeAlterReaction.php @@ -0,0 +1,53 @@ +t('Change the view mode for an entity'); + } + + /** + * {@inheritdoc} + */ + public function buildConfigurationForm(array $form, FormStateInterface $form_state) { + // Build up options array. + $entity_types = $this->entityTypeManager->getDefinitions(); + $view_modes = $this->entityTypeManager->getStorage('entity_view_mode')->loadMultiple(); + + $options = []; + + foreach ($view_modes as $view_mode) { + $exploded = explode('.', $view_mode->id()); + $entity_type_label = $entity_types[$exploded[0]]->getLabel()->render(); + $options[$entity_type_label][$view_mode->id()] = $view_mode->label(); + } + + // Provide a select to choose display mode. + $config = $this->getConfiguration(); + $form[self::MODE] = [ + '#title' => $this->t('View Mode'), + '#description' => $this->t("The selected view mode will be used if conditions are met."), + '#type' => 'select', + '#options' => $options, + '#default_value' => isset($config[self::MODE]) ? $config[self::MODE] : '', + ]; + return $form; + } + +} diff --git a/src/StompFactory.php b/src/StompFactory.php index 3f170182..0e3528c1 100644 --- a/src/StompFactory.php +++ b/src/StompFactory.php @@ -26,6 +26,11 @@ class StompFactory { $settings = $config->get(IslandoraSettingsForm::CONFIG_NAME); $brokerUrl = $settings->get(IslandoraSettingsForm::BROKER_URL); + // Try a sensible default if one hasn't been configured. + if (empty($brokerUrl)) { + $brokerUrl = "tcp://localhost:61613"; + } + $client = new Client($brokerUrl); return new StatefulStomp($client); } diff --git a/src/VersionCounter/VersionCounter.php b/src/VersionCounter/VersionCounter.php deleted file mode 100644 index b3df5884..00000000 --- a/src/VersionCounter/VersionCounter.php +++ /dev/null @@ -1,80 +0,0 @@ -database = $database; - } - - /** - * {@inheritdoc} - */ - public function create($uuid) { - $this->database->insert('islandora_version_count') - ->fields( - [ - 'uuid' => $uuid, - ] - ) - ->execute(); - } - - /** - * {@inheritdoc} - */ - public function get($uuid) { - $query = $this->database->select('islandora_version_count', 'ivc') - ->condition('ivc.uuid', $uuid) - ->fields('ivc', ['count']); - - $results = $query->execute(); - - foreach ($results as $result) { - return $result->count; - } - - return -1; - } - - /** - * {@inheritdoc} - */ - public function increment($uuid) { - return $this->database->update('islandora_version_count') - ->expression('count', 'count + 1') - ->condition('uuid', $uuid) - ->execute(); - } - - /** - * {@inheritdoc} - */ - public function delete($uuid) { - return $this->database->delete('islandora_version_count') - ->condition('uuid', $uuid) - ->execute(); - } - -} diff --git a/src/VersionCounter/VersionCounterInterface.php b/src/VersionCounter/VersionCounterInterface.php deleted file mode 100644 index 5ee83849..00000000 --- a/src/VersionCounter/VersionCounterInterface.php +++ /dev/null @@ -1,59 +0,0 @@ -j#3C;8iI!7)Iln=2dAIE#GbjIGa+(T!+cv!) zRI;3hUBmH%PX7G%t?l)1tR7S0s`*%q!5=@refvLbTNc5-VOzO>=K2>74(h}|9$fkD z`}m#UFAq0J3;p&T{DoaY1$#uQNq*Z`k&heuf8>zsqTX-ca=CroAg1Q+=l=QE@Jsr& zYG}#t=(m2)A>r5ihUM@7(f``A{hZY{&G6FWL+NC2#WOzQ22}ekWDeW3EzhW1L`$^! z9{soP+f8E4m7s%M+(2#(dDt-0$YK(!?l+>wBHT}mXSC=-qn5M5S@*|^7Gd5vs%fh; z20A^wDoz_oHR_|og#YY2uF*nnFV`f!sVh9Z)37wsC6hRqxenp?69cw--kVtq)&*go zxHXUXk$7!ims@I}_3x>%YTCG2qc{2_Q2S!cE`Y2@Tw@f08$hi~I)+E*R9o44W-afs z=F=Z)Bi6%n2}HNs3nskQa4aV$#xs#sr~JObDYD#h)-+~JZOeFTli+_nCw7?a@N5rrKIBl|yS= znz>QH$ipTY(NWus=a^VJjhMtIpX^;}h|-%eJd+roYR&L_t25NDFy-gSv3VvLkmX`r z_~=V@5t!0U5*mu(lkSpoBw~~PP+q$g@ad|9rHq97qv?S%{I%D4eALl}<^*9mpE0z= z1T~ByA_>$K)IE#p;tR`I;tb!hP^qI=x9AQcKNW1}J|STIyKvx^gT-wJZ=t2=cADYV zwRw7#c4O67cJHae|DneSy-6*VLe~i?CIIWZ$ns1S7-kLWIyKQxpK)^d)FJqiTsa<1 z24Q$ot+jay9t=8dJ%*4O|K>BJ_+KYfj|A&aBje{CicvGd{5ulnB%}Nq%(-cz`X8jI zE#yAGfTaerZ`1j0l0cSNhzM6(p|io5rd{9gCVF`?S&}^F5yad$XAA@L1DKJU_qq_trjd#GCJZ&8UV+I8T z$}z0IDNGt>n0=im-ul%I0UW!I;ePTCF3CW1JyV)M&uX`5;EmHr;kX1xyN<{~!(k&2 zqu3hu`B}pKV3?$UQOr*#_sKrXqdH2fBp=l$;QRTENeu`$DL-$+C{nT|P89~v1aW*J zE#mrDwm?+$Mm<=7jHNP`%2+C6shwph9~oA#&CiG`BdUz3GNRf|qDot;l5teVQ5i>N z9Q7p}6)$&2QyEQVG?mfRuF{m@VY@@zR0pgXQDsDx5miQ1UqVzp3$+Yfb5Nbs!ml#M z$`~tStc_6+0b2OTxA{2SAXh8~OQ5U`t(o0wrF?P2 zBB!#2r6$FDC9pov?y;!l=)>CML3Xg7D- zU+{SHz`?gaIrlT=B?Hb^zie{d(BzZE@Y?DtwV2I#6PQr?>JH?SX1hJd*+Pc7k&!qd zsnv$vB4O#_W`;|?dZb}{{>Jn;nS5LC)c|SOcX%qXwRfuc4LYk-Im|T=K0bMuF?-=A zT*oKwC6*XXPAGU*VW`}dy`Tv zbE-C~%qX&`EeNIJ_~VZ`QybIstYM}H7|!VWj14u>kJWC~Eb>03ljL?`>V{#a=o1qh z(^>*UV*?L~>yP0#tildHexEUwSh_j5U2jS=fWEOEMCyk*+olkfe z*g~~Q3R)g6%&2zO#EW5h#PtUN`Th<36#?V7AyN_}566uZ6Ld?Ph3WJe&4x-HF6llB zul=B6QXf_KMtY1cA8-f%@eWwwV9zDE?M5#^GFpbe_tQAwg`eI5y+o70UO?| z9PITCE1FTQfxN~Zy%+KadoQr;=!e3sh98(->F`u6c^BQc)~)7tjB@!E3XNLv@Vw?g zyR`T7zyDo*W_~EvoT>4Fv>bD==QV8C$8EpXvbDAu{IuC>?)_8`7%H+%FULI$W(W`V zROFFxMhAPgW%j6~%WI-hFT9+d>%5}Z-ch4*+){ZBIqr?k>O$E?4eZwnoG*fs4A;{{ z+qYW*RZ|zZc&+J#X?#OmI!v&}EF&|_3d^jQn%={$4^Q>xVM#f9f{iEcrPFvkDi%5G z@y4wbVM!_i|I+o=nq2tqryudZ$n}k84dF1M6#w)yIZ2j}moPZA4y5Hpx}1;@gf$L8 zNkjlL3<3yh2xy$jXsiGQUQ_lWH1vH%@R2*%BUbPS?ILoI0c=?M10%dwV&nK-Pfz&_ZDTJ`1Eh1cwwGjIa`q1;K&zZO-(nz4-20G(Np+Ub>mSXScsGMWs zg&$l}r>h)x00X0=B59O|2W{ys@5HD#Lh6Z4({b&Np%HiQ=S_5nW47x?*a;`}H5B$x z3n6kaQ0#IJRb9fWxSV;8A*xiF)Ce z2YXDvchVt|1xBAKn*2uenJSy5v=to4sfI~|oj`u(;6I;hMyiV}jcO;Q3CWx)GKiIc zAgeNff+PZkUl%9UQ>rtCLQ z{oALrVncs}&F7w+FbH8_5PhYlHwOBlK||*Of|jxYc7Wpkz!8$C;9nZY|GbuC*r$pq z8a~O5&TM7e2N&BOsd===;6;n}01TrS0@w~N2qPCf+5}nArEM7rT^sDSTj~^lI@L}f zVHt)eBG5%B0;uo|kR@3INX7)Rf{1xd{#HXaOo?7azW z>$rZUKlC~cawf_Fn#Sxz9{P`c!lU z#)l32vTl5^SB01I^UWD36zMZ03Pc!J-DSXaO}5P64*h6(hp~lVWouh z%vQ-B^Q z@Bv6bjH?+ zz_~iUe344Ui^Kb}_0c}6C!x;{pdShN3Dghx6y(oD8cECg6St27n`-ww7Cr&!f!=q3 z-s#`StVPMqw1K&RIZl>U0vMU0aSNs)iy~kd5LQ%GU1U_5TYm!^0&EkgWcjmuhZG(Q z7oNj5dv})c;y+jP-s!n4byT+7y*NHM^eb2*C*!CL5}?zx_Brt6Qoxf=Y;5GTIGx>Y z6tKZg_AXB8BdtXPm5~WfLO9a-&Oq2lUNbd-HH;zTRG<)s?kshp0aa8PfK-uVbe8a% zN_H2(FG_*EJz}2uXY<*2FTwE*u8WPE=XWH(>jp-ab1pk&D__Z<%-l7O=Xp+D9~Xf0z!a;oRcmtp1uRBdOJGCQ8B$#1a{KBB~qh}gZ-tK4Hay=4*YDgd(>#N($F|;T7G`GP`$}EH1SlpN6z*mKd7`ai0qh8jqv6wL z73Z}~;=dTKUT$=TJDr3HU&-PdzDZId9Lu7HWd;HPQda;OnE;uG2~J{l*zd%RtKAj@RnwrL@w@~yjRr1Ika(boSOrKD zM1jUN8YI6s6~Er!mrBn!T&e2{ZxtUaANb<(=(y`#mSx+$VcXpK-CMc*aGy_7@h}G- z>vXwbWNrqKUFwV{9>1pcmOtZ});5_Izl-k4sl8m@Z9B-^c}5PNO_es>&;+8(q9Owo z2H^(BN|Yw9-;nd7{nmmnr*DT+jZyQh2goUv z%DvBDJ*buIn}>_XYwxsot0!%O8`wlVi_{hoAd+Hpt&VjvJKLs8~A zNfI_{Gn=S0qr&!evf^P<$L==E7wDSfoc#ICBhZ{?>(W9O%5(Ng6SRS#@S}4T0;Inyv0i{c=y0P;mPx_X}Vp? za^PT#U2|Nb8{PH7uwS_NELtlr(9RnLJJkmYoXSLgVB(HYN~fQxp3VW{vf_4mkeLK=vz?X&G|x#~BL7d1}f5TI5?ZB18IpkO2dRpk^cF*>h`>(>f> zv8}yc^m@EmuNcph!V4X9QM-fTAE@NkNGFfn; zePuOp6VP6&3Qm<(S>$v9XfmS6mJ}7Jnjq3J4C}haLssWEyWihH72NvKntS)~`g(6w zx+l+dw)EO4-iU3r!gWpQO!gW@Ur_a)k$-uG$!JX&F@@=saPurd>?gujaWq*G+^Pn% zL>U~ER2E?c18Nr3Txe?=bcqrmszPL5lXa|Ybg#0o3~p`gcORXOc<;R)a%Ht}a%{Hl zDu=dtec$09IMI_hu4Q0fe1B@x5+PTx&|@n7Bp<*n_5pvRQn-PJS1E>rtja=FgMd+_ z-~fZCVGJuUfF~*xRRPMFUH?}qvrpRA#->fKE`|KdSu1}jUTOB7*n7NHZ%M&AX*t|| z;}9Q%B5&Nnvy!*x>}uzf z#jOZpHdVBpmBpn3HPu+!;{!=hG$#1jpuj-@Wheky;V{r7QDBfNvV_}cA_s=4FL#46 z#l`7`b9ixC0wulfSg-H-)@6sGl3iYFZzZ9ubfI~AU#XniUh+4#a18MEL4{cA1Wx}L zEyBTMaFMQ3BG6AX{t}fE(;6i!CBn4-U}BTNj}|7y@!7V3y==uNqXy4lAQE6Wr~pW@ z3>1+?Ku`pc(KWi^j7kN5or=%3t)bU`=Z@j|rQ$mG<+FnH`hgpz58>JqkKWAN`wRZ! zQS3f_sOsI6n&`=eSaO4Dp$@f&RW_L0DEL(3l*@`c%fT*k2X>W9)_HQGj%h@$0|sL1 z3V194gm?+?f#2B?Z@k%>^m5YRuP(cS@%Vmu zVs|fZ&U#96Z#jAjHmlZi(Q)v+YEQs2S;6PZP@h@yxii@HM<-Kj|*#4^+{pT&XYPDOs13XNV zG+Wc8P12?f3>aD{TZwGBlDBklzx(4Ni4;Z3bkfe9!CVaHHi>>bJUkosLt;pj?+&}9 znZzSTWb`nqX9CS<;t(U+A&eTk8`Tamsyt#;jdMnwBcV<8wL^>;kDyJF7Im=3p+%3X zVbX{>QQ8n^7$f#o=>dDhsO=Ku&+xDMsP>8x;}(qeOe`e2g(YTPfFf+;tuA7v=+`&s zS%o+MJ1R!=H)tqFeysMu8mW_Auo1HjHsbfeM$AUotDow-`y385yx|ZGeFKi(LUcIL z(zP&&hMKQ?j^hB!)cu#A)c)rl4t)7&PBR{+#!cXFrl$wXr=#>PyIc-4|LEHo^mfFPz)#cWm~rLxQ`Vri3-mpK(+pv26=jp|4qyooII8h4^rj z<|m#PgmIh<-RMsq+o9uXsCCbCg1ftwdG)E>Ob&l6Gye*FeK;~;ecQ8lAMVSW$;S`h z&f-Ju{B$cC*mb1J`vK*RcY?oC1N{mE-|uV$jQp_<0#6%yLpZ}nW4OTe9nDHC(?cDD zslU8a_%n_B+x0isJHLAjKBp((KD+y{Hs(LT+2m-Z-`{V(ew!@5e_mW1|Jc0!*4+_n zNmSXe|4Iw=6U}*#?OoGyY~O~nZr3&<&BoU*hf$z;MhwGu=p=^qOKo}Q_U_9p`SP># zc5M5z&BbX_I@{wPAC8NA&(SyjV)8l9wjXZ%%gbYHy|(!aNR(+BR?`1pwF|K&Uc z?^FM7zB)KL^p3Bl2lums`J;JaoVxF~$Ezo;IP~9kGtmlU_A`R3rZ8syYa>@|zUmuZ zaqJmh=sB9}c%EjvVWRo|P}htgFor|h@SWi=Jx#fD!|P>+eRj6Yj_sTGr;}~GI(sU= ze2Uj;adbXjTc;-qP)&BfBVI69mMKcaV+?x)A|+2O^*qkXN9 z$C_8_S6BWPTt4vUAnn?cWsCLlIo)4*8Geav@12&x(VfT)6KK=A0|ys@g*K#c?mx$h zoFuZ1pKufSR}C)iZx)etmfr*yvHtP#KsV>xhc6!wKKxjo#pP{$3LgEN^d$Ix-#NwT z)|M+z${@8}SDMvZDWjkJADxn+l6sYuX#Z1TaRd$4Mn~5@XQE(;W&OWuF8Y(Zu_u#cjkS$FxKgjedhY#ql?q4$5mz@Y{T2{7YDceWm%`O*RJG# zg5mzDsnU=J>ap{9~X-C8H$&b?orKfX&h*H>?kZtowL$CLMWn~y0tvN;oP)`*3& z+iPU8C|XyP{)J2(s`{pG-p@65U103L?j&R_-q+|2uh(Hvrcu|rebF^=D-I*ab2Zb~ zLm0%(Sn~td)^rdLy&&|1;3wR%Lk-;Dbbm~;9}lx{+f+Z%gNgs)UN@igi<|SScyV{V zIp02g9AB-E^M~Un?!c~t-;_$Dj<(T;0QxXsO{f4!8^~Cz?M?%6RYpa+s59T$ko4O@ zNQ>e{*dU#kgMf7JgJ2%RpTj(UdJUO*wleFTN7>6#uL9Vje~9+^Jt9&YZ^A$2t7SO` zbM#o=sNS?QhWH2v`r8<6p|zk^m(6F>qMr*;F5tIx4e%}_1sMzonmXBbuReM7(=uO0 z({UQr^!2}0+xOM?1d5OO!VtyMWInm{QR~NIdrIMD8`g$+FWMPqswW& zk$lE4mqGg$e~wn=GM|m3lBu5I8@m1DYBA2&peWLq6${hs8113b;>?!}OoHfX92Sr} zP;l)pAJYYXNUeIblb(h^dj=YNoWwxKEy~pdDrQ+}w{kYSIw#Q_+^Bx}qdB>Oj0UQE zInCpC{j*>@-lXwz%32iu>a@OMYi|w<4V_UHVp+^;o-XNmq8a%S)sJ@b9v68!Uydh5 z4n;{AqBNRE=+fDuI*?)-^Jc2(X>);N(U>q5A(PJ*lO%DB1b2V3lCPz2h z1i6ZtnKM_h*TN+LM#`c-s^a5=Lj?e+@-kl)5zz7?Mrp1zQ}Z;F!0Z-@_SJZx-CI3U3kJb!RYplz3ISRcR<-t^^FR4nXQeFnUQZcn!skA~^ z8LhD+?S2hcFb{`4_y7V?pk2>KcosY z^g*j;_F&Dfp4oo9EuIWV$oWJBjnP>G@qljy=6KN zXumBds+rq{E^eiaZV>P0ap+PWtzKHn91dNUL#v;|it5JT0AoIVb|uwkYPg z_W!n(Y)3g5P= zEO=;%3vRk++v=r@*07okXKj(xB;~_=xy)yDKuji5wxv!X14)O0z6S8p7YV@Kr@T-E zBK1irNQBTQ#tw~r#lV}iZZhD+t9Wc1Ret603W>1yUKZMv$hOPj7@=!#Ll z-T@zx!xzfIa-VW6yIeUHcjT*5GH2yNJ!Sad#Q+J(kECUnSG@qvaNlkBBZgmRD@Lamx_>#NGj6M zspd8cBkg{l5qYkRfLILD=&k52(k3XniqK=_1cXu$*`}O?SPoK2Dtm}j5{m92mxQu! z$R)9dV@M^T>=k`}PR(iwg0h;rA<@zH^mgg2I-W;?Z3aU@c`mBZ0(p0@#J;?^8t;m8 zSwdjnIZ&tk-gBT11{6pDT{8VeKmp z0foKAA)q0dGpNq7d3mVJnN&PPq2uopf^@6Sn(WFOuhi%FHD9T-?G=F1 zeEV4|v5s{d9pHxL; zL}uP65`l&7D-scjy+tA-@(huP$f!jvdE5IyY z1AIk_xjKcD_L68%4ofvjdl|qw1)J(?0ziz;Ur+!(ov~aNX}DUFb*afD<5YyMvW?Lr zrjtCMWb|rVNbgTI5Og{75eqV;SK{#34G7C1sSZhC`F;UK9L$5?1}9(+*6`mln3ozH zuBOS~P&(TY%C5Bra8?%#E&;lC_1mEN%Ws3XMH*y+LN{QNgTd!B1jj$q3T^{vW8I3* zW{V(N{x)DMJe!y3JP9H)dWEYR96+5uqCarOPe5KwQb_hQ3=HVsk3kkJ(|L}H);|v} z;D3;GFad_$+jIs>*uKr+8uB(rpYfmCsKb0!q@X}Jgs6V~Z7|E{d5O-#U>wI-^%M5u zMv+8`ZS$pCqWWV$TlME8$g(h~54s@$s&b4gBARt-C^S`cAQr{A@obeX(?te3ZlCx< z!3 z+OS^MSSTNqn{VuDaGOJ4${|~ZQLrm!ltt5S&*yJm~s z4w8y?*kzSN^DcvXUKx`em*LP-m*H@|F4MwR>^0Qtu>c?NJf1TOWbDytF-0NmTY?-v z-0-78%&HsoJ6WMXDJvAx%gU^|wBHPLFoKR$XY~Q-w&FVdfuIDVymrqZz)~&+eMAS( z9HSSoONU<^*OuMSHCvE51!nXx&laH$?e1y=KSHEK2RMRUlKc3)$aS817Rt>u7)N11 z?U6q3B@Hm;Mx;#cZvk5!neuSP3>tT@#=tzZeQ%s;gcK)`bQ_#j30CTnSs-decX-p_ zq{EvA(L21UP#hOiV`{5#(cpw#U{gs2<12Bdu2Lm6Zbu~qMk*Q7mI$iobUhV{si58A zRNtv21>FqB@U@#twVOL?Hx+6(1+`mBwOc!Cw-jo(1htDSs9Sr-ez@9gh1zXF?T%9I z&W_q0h1wlK?IOeO*4{B|u69?Uc53r9CRHh3N`O-I#=RxN%9wXW;6C1UQ2|BP=}cue>lCZN zIt44TP7Cz0?uiOi8@%Eci0i0|NE%`ZTV0juYtOK!Twk*o^JXVxGNrf@xJ)m;1mD*b zOHxMBrRlUy!KE3nf=e@KMVDqu^ssL*98C=g+lJc$N!T^~7OF37S}mk1d!`C|rV@Lm zGJB>ndzK1&mJ)lGGJBRXd$tODHqV|bV$W7)&sJv7QDM(flAfc?o}o63e^GWV-r^tQ}=IJb0)(<*170@1(1;=SY@;#Ee z5My+Ai-tS42pRlM+mAxx$lgLV*$fw;y4PzHT{B&-kZoFkl|By9EFNur7I`)g)}v;_ zk!Q7OT?=LLHN%b~DDqXwCO_l_g?1(JrTB(3OU4<3&Vr(O4fFTbVj_#2rE>(PqjFP% z3$|^XP3^XY%h!N2AJgG5ivTt>p9i(pC8DcfQ~pXJKq_UA z%@)Bt&S!86(qq=EWnM0WVo7=K=m<(P2KCFH?IdF@4+_fK6LEt!^=};{lmVMj6HnFH z@Ay_cZ8!fJ<><|6lX$f*pj?{mXjJt_bTmJ&R!}?eIfOQFq_4~RmkzX^agkOb1AR?C z5B_hErF3}N%1XLtUJ1LWJT*Oshm)E*I<-f~mY^iG zGPM8OSB_*1O=oF@Mu!V%ysaFxh@U#6>LZ9#B10y*EGbGLaoggfER7z?+IAO!s?89i z1<3Lsh8$LwY&k>Iuk^n_%k=q#F&XY`1WE2p6PaR`zU8YyP=LV{6ySH-NT!%z3yM#g zIxg76vv}0XWlojnK{VT0SWynu4w%iSY6^&pQYUhZV!8}&7fESmRE{KrV@ZlcAWzFE z5CIQniQ59=l1z?PmvTGtB_&IInj_nn`4LaBIN}04%eknEZoWuEK$s>6RpeNhTe62^ z2ER*@(u|ZMMRrn+?l3%I5=(*MF}Q~0A0!em^;Idgt3yS3ySKsT#POR;i!?$dXzz%s zu1}MS5e|=7qoW`&fVPGPczH5dH%E_fmUxDn>NO&KNCllDqK8CCd6Krb8aP$*_=6|= zOd`*EYW>u5LsS3czCYJ>-&no3Z@um8Iy@V0!i%#Hm&x?{aAuzPH%}UB-V2`Au4GG+ z-dDe#%@Au`UW!#!`{qsW< zJ{>NuKBoSWnO^DT+pE*-;qm-k>3{#Q4!9Tk@PlMn24vvHB)*629+4Uc^@+I3XI_z% z;;@r~eb^H|;WQ@Xpv2}?vjr*fO(>bSSqA&Gnj#$I4e~jCp7aGt@X^>LTE0e!hhC#o zdFW7;;IR%aC64w}9k6iq_Er`8(dekC-{Ts<_6|Y-=7SRX zWyO2}$UL#3`;$y#0p~n$qLnF{hHbirW9YGFK#S09KTb5y0HGH6p&bt0SO>QCCz-}W zK3`9k*5Tvl4<`6{37l8QP49@r2d5vnr4GTT=qA+~Nf*u} zTpd4G1bcq+3}a2dnvB$Tv9I<&yZ+GuSgpUVF27tI8cy-$GB|iR`uN^V?vBIUU)#&z zG5&UQbLFA#@Bw!H{F(Hv<}5(S|ZBw!f* zq$ip^R0Jw40&ych@k5MIsA-v@g^eO0k0Yt#_I}sy@$=Ko_{;6d_$m+2&#s)Cho?`& z#Vos+ZJsutKyGZayBxc?@;h&G`pYdYAE5hm-WmVkqLVm76 z^*Sx`=K)#)K*Y*w`T(8n`wDs+?4A$vd7M`7*oO5}OL1B@=31RpLob;&z)B`VB(^bO zo`3(2{f5Op2a{k4>IlIZPvCp8ZTX4jI0ovIU0w5CC(=UGa6&H`dbZ`^);iUbs#`Rd zSuCJ;GtZYaazq;Wd!tco#c*=HT2}L#Et*-8*PDJPMgBlK_mNzhM}4Wor_cho=nqz_ zh4c$jP5;I}d08&#@ZdnxR$ z7WLM*ZujE*+xkOy@7KxUTK!Y!Ha@)XevEsYJFWX$3eJ9=_nKwa(jewgu$J~lm!D5y zp|X`&OXklwTkwi?<%$y=w`M7S0xL`X4pb^*>xCO$W}7DDA6GrJ*|AN|R0lbuuFP1XZIT5ypk0s>xQqj)jd1hx4XSjv8^$M&ph6n^0W$1LnLC z))qV!2B_RU;(rx zI3_eXS+`wx@%Y`9R$RFcLB;e8?-J;umxpem+;%eTt^m1%xvk;vg}7I6jFb}`aL=-U zqSygRxdkk;&O}Cg-71t$LSWA(rsGX z8`GBJ)mxL@x$zn?$SuMK2fm@&A#dtV|5_lZ@_BUTPG}#nLKQL0M?5HtrrDa@siUN${v z4LY2Zym&WSnlMPx{g?1}3c5MnMMDg-VMfhKN zAGFicKYc}Wb^vKb%wd>Pwh;}cc?5()1aOI=?*tqY_gdq7nV?hSCFAAGiKT5N)bmIb^+y_Hb! z+Z4^bU>|GOIRVeDlTdI3ViEF{7^Og3#sG~Z#@-=?CR&~?{#3x1-7{PIa?qDRZ?(t| zwQoE=jqVBkd#%;KuJmi}x{_=vk*vq_zwlleB21aA#Eqf1eEkz8tlCcyH60KJ{ z6Cd!Be12lqXEGGsN|@bK5b=qI%2>8+(Xb!Be?faB5b~rw65jG=icA7@p;Qs#bl_eF zV&^HBYJ!0j-qhw&V#uxFG10FNpwCJYSsb9DlC{Kp^xQbzY+y4{`d8x85Sc6gl(j}sleFt&0)MaJg3 zne+JDZbdcfsxt+*uQpsaYRpvwvfXO7y7Str+6WxECWL0`v|Sp(K(3 zLgdW=D>;xxSOC2lAUxO^V=G-id;pI7m1H!^7fbvGVt%%1SU#TQ^~j#6!BfV%uOk zqTyeL=tTl!5phgAMS!m2^5!g(fJ%=?&8P*;sEA&-ih+U*2 z4G_!m-iNoxzB}zmljyZaMUe2tzY#AgM49e1R&@MY7I|Z(9;n+t(I5id$^KWg^?QR_3-bVN9 z8y5FYh-sW`fSbEkhjtr>`7LYn)VrD}?-VS*z7X%<5==;Ry-<8t8fL9B7Q_yFyVh6) zWMnn4&KegVF5mY6et+3Tmjr*0XEOl66AfzBQ5o9Y@Y8#AGa2zJhZofN$6L z!zQ0t!dx!rllWGQYMba4d9@e!|DC=717{s#yfX|x`ETUouKLxwZZ&aClX*JxNuu93;vIuJ#KYwxZ zj8N|*@SPF#4XauT04J~%;LBR6_Ee@brN<`{4x zIiM(VKp+?c38mr8DP!PDGaD8m;39%X!j=PbY`gzu0&=#E@RxdKC5l;K%8Uu9G>;uX zkqn1^Q3JGu7%<0$h7L#WE$+r(L@Y+3zJ%9pN+exohBMxHNLZ*lhbzp z;fFf7IXmB4>+rt$C64jd7CMc{e%$UJb?$n1o0A94j%g(qy!Tqz%E~IC)hcPLWuk;_ z`bT4Gl<d|IkG}3!HnOrul;s~i15L2po;CcqKsocNNiZT*BqE>~iNgll2ndE4 zz!q@`Ife{9KZERvhxPu7*Bkxwoo}Z**4%w~WzK(Xd^-No+TYnE-v+j(QF zSLj}W9&=4G;Z%_^Wesk4tap)2V;4uhXMO1GFJE)b)^(Z9Sf(~&iPKI%;0Ipq9Ty|Q z(J9am$(ZQ~S+B^KI#>NX`qEoJ?tiVG*rUC>UEdVl-YKbiCg=dMb$)fU$G=?e^|zq= zT2LFz)Rwfvgw9~5v#*2FM--OoYx!E5zi(Nl5VR}?7App*hSK*f>i{E&W5lq~{H6NV z*XaJXZqBZb39o&-XE)Ne*VLzvAM3T+@dnzz@BQ5J7Y-#k-z=xVvTik?z@zzklz%ko zNy}GJ-?=%h3k0EqTGDVDn2V$QD}u}Dmux^<{70fPEMAuqI;*>a~gn=HHsdYX#%f4ZysVeeFa(?1SzRs7uF{5<6PnYKKp*_Wr2(2(pMQ2&rW8;!n(Q4GwaGlNq24AFn_wjrOGz`&Tj)*t?BHy#D zH~5$k!H$0+J+U7*s{gh9FLkC=7hrJ zNMY$6bE|B%PH-~cJ*R0wV&uZ!G*A*47M&Y!TKN8Dl(STD;e;_Sq_DNdgS)@)u8E!N zkC(r8KFMu-yz%+0L)Je@asHFvf9q^~X*TqEe=V;tmZcSxG2lR7$qjR>E9{=PL|tVe zy`ZhCt#@u3>b~@B%B*opVxOpNqSFzBBTGRPv*d(T0|a&oXp0mg%qfhY-}fd1^mxAG zDeFm<$#;hE-TU-snbf*v@8_KuT@+Ie?e*BN)3x4K_3);lKOWZ(KOXE}pPk%ocQ;Pq z*Q@jEo8Ef;O!NwF-?TGf3#m!zKFVp<)6tX8&ZLRZB`GjbcEEFZK0CQMGgyWw^r@+noZTd&%R)EXfUAZmA1Rg;=<#vn~22@-rjEYJK=Ge zp(U%nI=D`<&f^hoT&>lxX@EKj@cuUqBX(=`wyoZ%w(k%n30=cuNhd`_!`ZS#$OKT6 zg0Y1J!`VAJ^@k)Un8RmFkn3(GQn0kVr!Jj;ype57pA!NvBtzN{l7=&lo^{o6<8GdB zPP<;MZfzij?BennuecTaVr*w6h7t1Sdt_ZWvk7V-88*O3Pkh*NYVGrrl4r5q)IH}@ zrlT;=bQ1?froXGJWV;>cJqUGpcU1kU`i+B@Y(3DeO;W4Y&6Q!yo_#qwXzc9+v3kjax`oHG>LUwA!8kUX6N{Cs@HsDmvll>V9SXvh|rUGWI%-MFQk$D z`5jN>ZvH_ZXL%cslL&j0&k7(oC4j2fD8&Rp;`w>=WP$|w zfSm}*liW~@bc(h%Qe(Io&%C+bOp@SJn1;0W8TU5pO_#zbwJ{#4x?i^;7+?PotQ_po zki6@Cr+XhZ{HgVt`dZZ+gMJz&r;`e*sixkiEat0AAR|KKdF7eV7iJ~{cyg|He7oCL zTcre^yKgv@uB*k*|Y5S391k20N0DMeCVS&9AtcvCxa;+J~(za?bc;D zItM?QYucuI~Ejd#VWrvVi6o66TZdr6pVcDXW;Vu~?F3$64cAXBck7zI} z8Fr$K@zTqKRY{4iS2=jquN(F2vaHs!u`5ClJ0TQ^xgWqNwBCT%+5o8xK^nzUs^`y` zOpaaAaO|StazUiPSD8GiFvG!X-jNP3Fw&95MmoB{NXH%<>G&T%((PS;26DfLFQXgs zwYz?Mym9%1?kNPT+ow%&*;;?-?P{~5*T`jIq+??v-9XJt8t8bS*g=gYA)C3zxoK4S zHqQN?aqe{v6MV(P#BhNBJ)=f$AH>Dn9!4QTmUDnbn6$7F0Xjx8h@EkmD2;tTSV8P( z==NZlC*hnZX^f%V<;kA{F$x&r|D6nt=kA?j;P`*`uC+N?o?HKwXZH8JLm)ty{mHi0 zTI;#?^uayzaQK2k4)g?TaIv>~Xx1)Zsa^EfY?q{`0U+X^`W@%=YZWdQh z<=WG19t&l~ndDP!ZPM{;rrh2@ALX7XRG%#n^?i~0@Onr#^?npCG*wYke-<+uwV4S$ zbDQ-`FqZ{mu4x!fjtxYm?%Xaw@TJq;bS+!%=I4+^w0xheUc?9M!SeWd{Wh68V|VpT zOz!Zue~u>Vg3lwJKLB&A<^_~($zg*v+f7^Va(zI@A3LYSJ4~`d4nCF6dPbsJ`bD}g zMV~|9;Cs6KmDx+%=M^{8_w-pgy2~4Ch$G@jKbqL}0dj&z*S@e}TZ74#rIvgnF(i)O zZI3713YqWgYUMFktTfjO|Jza_8=9Sr31Mt7su2uyu6aj!JemsG-6K$hMFTTc)Zp=z zo%<5PN%(y^j_{5k4e_hEb#^s~mK+YCZ7RH94?bIMJgmHnT7`FCb1mGzzIu7CJ@6Ny zRl)Y_?Ni}Nj{)c?L+26bImC065;|+AMb6SCL+6VHsDBXX4+8x`po@e+KVRJThk?$A zfgIP+FHgDe0YX9&U5sQ1}lopsG4QJtM*3u7Bu z%JQ4*O#Q0PWaV?@q~!4z4XgmnIzfyQ!By-RkHuP&8pm2Y1bztgT5`Va?0EVVEd0Y_ z7l6e!sm}E}Ppt73rEjvNnF^oMI)vTFP&QO=VJsROyZEmh`yUAZ1L1!l{11fxf$;AG z;TyiuY-v=eA_Gc91Cq|LcaY2gSQQnZ8G_6Os9{cyCxqA+Jw#E|yBUY~PkYkSov9TR zkngE#%us$J5oLgmbm~QQ&`rABn!Bg}s(#g9@hWs<-V1zUqKis^)^& z&+%wS1AFc3e^*O0x~ftY-(5^W-ImDqjyG<2mdiV$#-}dz-a1W_j*~{zIZ+gj0VYTR zNYq5235pIx#IS5A6zjr?_WUP1;j+0&Dt4siFspJ`;Qi981JSIC4Vg{GJ*M0}TUE97 z_-fGS0(*NN4s(^3G>uWV1%Eztt|d%?<9523>A;Iuwo6>RvtAr0UK>l>=Pg&;;VFss z6r>6sQ5z5hOaL;7>zY)o16kw)RZi|^ zThmqGLS6$1hQdTe(L`O~M=Rq#{uViU27WoF5NZ#m_7@+5|E4qUa67zki0S#fGjk8m zcP~%%0u$jC8%TqX*^pKrA4;k?XE(K`v#@W=KhB*ZqQw0ze<1`^YFwc+03~e|gG^4O@66`H zRUW<_xix7+GVKKu^{MTQhwa#Bo2#)lkf3T@84xvkA8mVTxc{Zj(nb-hXCqyk$gOtI9aATWl2YRf9Y>IyOfROjkxUwe{I6M+XhXA>+6cwxaxat6@lxE^{Y^GEOYePx z*Z6*KyZ7mKl3C!Kn7Bzy0$JyPRY$PksFXmcAOmPzqF!mF0WjkVz*Hm}RFSAsdWJ|& zK%jQ^bTxoMj(Q;M!{z`5>bq(`<`uu)7ls}Bc?DZj6G~+?ypJvbT)3K2V z)=vkjcG|W7Mg^PD-4rx9@T>aEERN1y7eP>Gd#>^7NVe;o*lMn_7IH?B({7lOHc6ct zR4wPgTD5-+vf3@kZK|617)3FmJ}KN<`jXl#2yE@TvlKI)HmsUVWVrSrv02*@(m1;- zwQM_WLPW%f3rq(x79cFDi zi&oK6N^)Ij)wMylBYfuD*CkMM?(bBk^#HDJZr=2_(c9WD)7At^vq20U%B!K$zlP$fzP+6BNUs z=O`992^{t=Vc%l|!n5J)cq(I%6nWfb3{Xa6AZIfM89=hM8zhH7v3RVtXf2vbR};)h zTl~ZeK*#ysM0o!Atb(gT?QTk&2Cu)4`twd3#XzwfvldbLoX~76&kw~KPaqXO79XD$ z1gEGPJqjNuL{IO5G#fPH5CI)nd^T9qyi#x0bs5XgBeV~NH~N4IWrBhZ0RV)Ebg$h8DtN~&W38)%$aiFA8qOvonUVvpXMsZ;(Z54k~TR*NI zZQK#wb7srBtLuwWkrgJKc3M}RTX0*YZC!X+OjX!@iX~J62F@*6o=#=I4vr=sDZAX@ zXxhr8Zwk7FMVBe!#&jkM5OF{dWB_T*-GT{*4yYm`fy8Oa?Wh-Lm@k+?e zwT02D&H825u6>TEB=P)vv2gcZsZ;shX-NGyh#&LYC(?FE^MsoCb)+iMhaMWK5_Xm~ zes`>DfAD7IXU`tK`3d)&DJG*rLRH8iAYA1DDU<-sKnQSEMLNYABZ6^O$DAo9bJ>=HvX0_)>mx zgl~&<{C0?aD7QSN0?|0tfCiZhu~miukvRtjma!r#lCD7MoV(j|bIb2k)63$PKj)70 zEH3N!p6rgvdZ*t@yorHxCR2=n!UWmfkm?e^m>_^eL#2vAMI@gi7Ic{3OQ~Ao8C45z zsn+3cYL909ysyfTYfT+`|Mx53kxb&;z>ISlh#Y&-Ap|`N6znP^qC}7+_Z>fjGX61% zr&a&oz$BiSn!9Yro4~rgeSQ)O84kK0m|@D2{mMY2oirHncMRs=X_hlVBuRr3qXq?3 zzy?6eAOY4Dpo@qph9;<@agGheVG!vs6E1$A1y#PXpoinB3jL1iAVVT(k|c>|)mpSmYr}&Hb~Y%gw!0~%#s9qkN@<`! z*iES{-7oasNk_-u69OPTxULeonds!Uh8ssct7SK0!0H%<~#fuQ0{#JlGeafDGdos3nHAyHv6kX7v6#R5fuMNEMNnF>{fYg{@}{@_wC zLdfMbz2)4z-PrQ=+glyZ`atYGHFLsei9(@d_wsqiEHxghjd;1J8e9ou zS8ruqQ4~SFTs<|OZjJj{yYP9{$b4nS z`rNp}Hka@J$x<2oePZ5K^qM4Ruew~(s0?)K?V=&nfhGzV5Y5mfD7gi(6C0G#yPW*`TvzBLzBUT<-MV@$Rh!rCmsgaR-r`;sN9DY!{)}kxM$oGd{^`1V zLetw9x*IW9_><`cS?gWtizKOI!erTi2ymG*fE3Ba-vXtc!4@G_WU4WAG(bC-)XSgR z`?CcHt=Ez;>^E|S8{3j!no4cvyord9+UkfoV6u4TG5!;{snhVI{IMT)@0d(T-uLxn1rW{``ut&5WLG8Nh2ZoVr zwNl@%)N8YG@upv$wsJG`VXVL2XsS}K^r`kX=`23w_SJKKTdB8aZOeMQUp=nB`p5g~ zAHOPe-?lo^?)inkKedr0c0<>&A~69df(BhX?pkz$2m;=2+u(#Mx^cPJi>dIsnX}pt zm73m}DmO~Mh>8^xmU52+(jD?e>-H-Dn0sCj91oqW<9gww!PaIeOFH2j#F}1}CGYf! zrfPtBKnzKm1gIf$*HmMMATb2N(9Z0e50~k%Uc7A^YAT^QUA-9EAm>;+$KNBTm)ZgDc0jC-4>9>d#!v)+;_JZRA! z?dInwW!XC9?PongpRDgqjXYWB_x-=We$<}!5}r0{kaqRX}}ku{tTjvV{@Ht@F&b3wTQK}5y5Y*5*53`WShQ+pSL3;Q@xj?X>@k| ziamc}k6i=h;&Nt@&PFd(@42T!c6d>3uL0!WaUYE2ecD?s{?Ke#%m|uUrgrR!+j4Kl zquoWzSJ5Pp?L^o0dIv!!o2PR4Y1qjewz=<_p*@{^Avb)a) zD&B%?^XBg5gPIR|L3mKh9s6NsTouc?nY(lb(_!VdJ|En8Czy|PX`WF2<3R=2tZoD} zo^i|SF`f_v43eDg2zsO5S}*;P;lNR}+jh_4?a7)r#lOItk34w@!Z*hVV4C$p@Ch!20P23D>;X<1$B zbu0=!X4@SoTSIhM_j$Mc|>Jbh1f!n~1a8?4!JOkZ~(7U0q1 z+h2bLg9oym9~-H`C5uhEgCv?T73Hw&S0s%l)oZoE?Kx|qS#LbH;dQAxImhQ+Z|XPH zVRdTycNb>sth|S>80r0wBsAC-hfOU3@^0{nNRrMaHrw3K;dclf~2qjt&!bZUw zZaEzut~WtE8%b_TWg@I0S&PQ)i}xB$y-@FJE1mE;7i*(XH|@aKLb1UZ+zd2KBrkEu zh?2bIhy7ozcBXFS6c0p>G!cMR7W%Z{-QS)C;T$+5Jql zx(n-8Z&%1-z@BC$mzGD<%Ir&DHMEJ3qd&sUMSI-c+Mi_DSf1BAjG6#B1ObyH4h&>s z4zWgwatJP1vI$jDY+WCRAWn_ooqX&oTb@sy;0`-C-I{{0rjxlBeeWSR8r^T`C}-^9rke2 zA14ub(&P!pP>xHbN2V zu!y<@S$gf1t46rD1wq$-1b{A`3tRDxr>s1wX60oj*5<(BvP6fNf~4|fH2QYRApCo8 z+EO~9c2Jg(AxHc}frG-F%^I)`#{dlL3?rs8?I1MsrLxqr$}$o(eXk zp(if78GE6^TgsO4GOng51~Y-7=@1~qTtFOE1uj$wVY+HF^Xr;FqSeMHCAzZWP26@s z@iBHRrYla&Z##4na$4nTV+HQzY9tktQO6pL`VRN~P;JYx3@3cFu$JXMsSXI1w0qv!uY*__Z7~G9__=j2Z_OI zzU-Ira6yg;9?NRgBR-r6rN`1IsIhlCTxaaWX&=v6Ai62Is+n7sLp#D;ab8y+wNCn! z-ieST6|+Z^nkuOT!|_}g5z#cDxF+rQ1E_2nsJPV44xrMwiI52qpvcq&s7wlMmk_{^ zrc=c>k#mr$uS-zDW%zvnr%Z*WC7mkE+P69Txel z$*l&tVyf075B1Zb_n6^Ms$@B={1?uHRf>yXy@Rh+n!yUN)))wxn2UtLur0cj?}x7N zm+KHRBLsE&a*5gxa>7{taql=?p?*uqV8k6)b2UIHWnwpJ3huXFnn)FZ-eq-i5_&5|5G4eoOKhM+n1ei+md$p&%+2+h|QrEp5&f5Bkb$a$tqX^aq zgX_C`=e1CT@F^2PCP|vPA8a#<)>^HjD9y!K!H|^pUKT#0#l=c*8T80q%3Vw(JX$_@ z%f(9BKb(T77a8&6^+Fp^3#|R{?>H_;pZdL&%cwT}vgGYL9A(++xc2-(z!+>>wqCvn zHgwDZ45*2^46DR00j9xJ%pGhJ{p&fpwRfwatg53Kxu_kY2#^ytS)B%B{Bra`ZD z)biY;mqAPX%UiLQl$(F~lMQ}>5f?knNya`1ZhF1^n?j_h7n7VAOeU{YpCk0^ijDm<>N(-K!x}ZmWuU?A$9g%j7HFz}&A&CyWRA4Hq1CZ$mlZFr*V3~xK5(o|T z5GmGkk~ZY2(ReUFqfs-P;@(2Lyl#5WC3SGxzHTr21Mb$I=w-3>3QLpD?OnTwuS%^9 z_fXZ=)Z}uUxtcPbqt$j_RhDA5Dw+P?)tBjq|2TcQX|E6nV(7~{2(AJpu_dS!R}nh| zNPw;p1P~z*5L0EqLU*?ko!=Jq@JfvA?$nAH#61lHryZ z6X~mQ|jdchhG7Q%?DP{byCoDJ@Eg6^au7LS!Y8n5nQ5yil ztA53qw8_Lj8*ycB;ClP)ir%!V_mkOM{YiIPQ?$Myhzt6C6PqZ(_X)~==LWGpCq6q zaCxlzM-n=nw~#JHcmLX9cYm8rIpjha0NdeQ*tDhz2*wW3G#f+HU@ksvIZ6%YYKRVP>+-FAVl-xLRIyr*_j+ko;(F(1e)FP_xIL)Y)AoQ>N5y*fpa^Aj#GX86 zyDN(iykI+fajiOQq*3y-H_g|a6dVRjye9ehUV-Lm_Z zYuTLl>5aFz>W@lOI8H4BAquoD`Dtzua{i9Ry zc7GoIaoUlj6e0e99@W}j{|BqlI5;;2Syfp=b}ggEChTglHV#StRyf~FQ4a2ebDR7% zEOg-aN6RG7OQv@yf5J@SNu3GF#kZUh59q96a@5@IR6;0U$$h^+&5@Mr+frc&D+n=a zFrcd(0fdPS2(vLzHJdBUbTtPbqH^#~UI&y`75N1R_v3OH-S@@r$;R#Je16unr{Jn@ z-?`Otp=#eW&0+1PLtOk?s5S-}Es?xps#@ay{0(SXcks8f;cM_%t?HG75uCTEDlSzp zA^-=R4AsQIga!nrreRIx5Ob>hXpC%ImnTh$&^3apEPI7lO0N=4{`MUQ;T$7 z6_za}9O(oSM`6I$WHvY5wE@LU?3zu36T_g$`Qg6j&(@LoK;W0%zF*8{fAarPIho&h zI1nCErNFj@1vWTzGzVZNGvPs#3Z0L|mP%nRR85NXJ-Cq8cT?NBkdiugJE0>j`)IA| zVSbQr{6r!c*Pmv_AnagwOd!v$^!msr%_^9>|z4z_MoQ&0FOU?t^?OD5-M zf=YgIo^9jsHE8H6!azr+BXibcKvk6k*ENW1=tQ?&=K%JVvN^scr_9jzsUlSNhVW!O zX6=^E?aLXp8>QLptx~J^Fgov_zrlIq+2V`SOOmO6p~jgyb6!0cY-+Y*&nCEiRBI^1 zO}Sa^F9R;AgPQ%x=xFMVWUj&^$sRrGkB*|(IR3%Aay7Qub~#_#7vV7Juq)Ulb)hz6j` zq$gE1fvsaCcMPWCK${!z5c!jrxd8Gqx<=~y^Da@|fPU}6y4Kj-^xNad`rTVs=XPgS zyEKMZkEdq22+(=u?yQvIR;<^g+ABvFr3y^vZz(qf;-)4qH8sI?`3%0Ie;hhuUXOO7 z^rV}DO_cvefrO0DS9tbn5PIQze)Mv^ehB*IHx_RYDoHC6z=)u`Cu#ly-4?4l|JyBH8;*vNsH5W){B&#U=_zbwf9tl2*mDyiKhw>5n-8==yDeb8}x_ow%r z!A${qtVABqA5OEr{WR_OK)l$LFt0L5f6H(t6kINW+w$!cVrZH?&ys~b5oJ;pn;1Y0 zA!ml;V21Z&bMK80mrkk{XN-=Y{Pl`rj|DV4qhR>Lp;3SpGQ86pjcV@{aei4Iy`blt zCN-+Bm+X{eR5^~L)t4XPqYZA-=KVnRl;kI4&X4^LthdO`xEhg?@;@dSGVLTi&Sd0S z8}iWv7G`)Py!H|~D2w0j`=czjd%qXTcH@{6j*xD1Ks3Y!&Y&jj9#=-NbHp@NK^Xty zrTQK#R}YV4^Q_#l?&x#FY#PO%ap#v>*Dj>^g}zo=09==@ z&aVvXspDtpQ(+qTHS+rV2Nc_qwo|BC4tqny^#|+AcV+&*x0-EOKH+=IXBOw_$@ukw zz9TD{Iy$9|c8zP|bYsTaYA3s_scokH`mbW^;U-IxP> zVm5l?6V+D8gik#8%oFB7_3<{#E{3aMJ^-~i1?d#)b`8^7jA`j#?C@SIWSy$I9=7#- zi~5e|t;i$wx#deA>e!p|eB}JAR>)mw#~LH9s!$HFp*aBQ*aWsAEJ>{CDin65?mBzQ z==HOrX6D{%#qQ;FtS+=gO8 zGrhIyr>1}1)XV*|t3kV=p{Zd!lrI`5r`?APdp8b1+(X#aZy)jYV!9jq*0Eg<5r=?b z)fJLz*s`p%0c<3sR5w(l>>V*Mof>pZ2IZ?>TO0NWO#s1CP4kr89n6yv^@>w)xcYbQ7vI zK5RdX3lCQh&3tmeM#CIuTSNhtLLUyu2jaoLf7rh zUv*M%y7n`1E*dkv`h3&0E(?oFas4D@oyGlmzf-=1AKvY>r#P2?tj8%35;J*wk7YG( z>c-zc8;W;{U{@*Ah-w8Cc`4~~S(>HqZhIEuXf~!c5(^0uh81==Fu9HZ;U=>c1d++eFKJj6 zUZ2iOu2?WH7Q<$v(YMC)MTUEj@cWZbkPnTRf0VTNZIgUQWbBY9 z$8;QB!4w0I9UUMY=|ET@E|7F*NMtSy=MXA*ldGL9^WA(h1Zhw!TDDILzID-5d%n?A zN0!)KfqAbFL1F$n5G-(Oyv{RwwaCVDm3%NL~_{IkV;TW_WT8PZ&; z0M)^oursIu2zDqC!cVEfAl+MTmw$-tv=FArQ^+T)sd{#Hm8^0)YS?})b zfnLt87Ei_MID6Wvt)gUubCVTl;?!7M~?#I)td483-_F3eyNd3W&iefC@D= zm2n;GUw8C>$-DV^h9!Ol4~3G~IlG>`wHmcMU>K*R)Z^z=2R2`JW6hfYvIrI5= zrRJFUoWp4pN5plm@r1KHFCO`c0!^g-96UVwWTBYx#iem-yj?_~CF`xG+R~Jpi@0Gd z0Q9ZF{uCF_{RmQu5DkN1>GUTYmWCv+Yn%ToN(|7%ZIg2e=3;+Hu%a#xrh}R?I-6vJ zaj*WD3a=++M}MJoJa#k#SrP^iiZo?5!oYGM0uFN|!^VoG8v7@4dPlWWmu1&KGi}}I zluqiGt(eT44Oi*DUC&S7e)@jraeCch^X`39eefaeo8&f6&seriP6V}T7x(R}TtF1{ z;gdqa1u?VJ^HPoIM0}>iFU>-zs7;(+mK|SCm+KAERNG^yepjm2yV`X zQZE09=LK^<9`om5QF8eYQX6uKn0yF^{=N1G8}pAS4uj;E?Z%9MSw-pdT6RRRo`21} znh-Mlzrd^UzJ+oA+jIE`^~6UkJ}Cbf;+mU$OWC)aeJk0wnto5jBSX=T3Gw-tJ08@c z(5~^xI4d@o))T1-JcCqW0OGkT2L!Ow1AO`$`02kkNu=c8bDgjps=npI>!ZFQw54Ot>%KC)tV`M56l`Hjyxt*XVoSd7gHxgqq?hR~On%I3dME^Hr(e}-ImXVk4qRLCbrJin=s?p|Y9k_Y7w#X9 zl&%5&>S*s=woYR8d2Y^bhMh||jqh;7zjL&4_j*vjr3>xWkh`t+=)tN~^KJwsY9)v4 zRW)x(sLc_-spqBomA*QOachiBD!{X?-NCiKl{7xd^JZa{`nh&~pMF&IBITu4enu%K zO2Zp!)GQ7r?~BW{#ew^I*nt)@;aY0PnXbLtXoI?H>k?&vTUa7fiY_vQ$~KS?(-j+P zvUY&|{LhWHR&UhQ?_Kk$+4Y7$+PZ#bj)%<~ppVD5cb(pedUqZ;DpFc8+!$^AS$73F zwpdn*NMyD`vK`DT>ARa(NH)HydG(&KD#h??%s^rQlFlfW;i>qYbWac)!cW@p8aHv*|YLP zwlH1XUdD_1UJG+W;(fTx%ZIz?`p+f}#w0KD`O6sv8tRKWd=4+-k%Gqd(}k}__+sYu zniu__Pi8}VG`pVnaIW^x_IjVh(EV_2S1RhJEuFwcddQWP*yPM{lvHLpnxydzqPSop zlT6o7t!a}(-hCk=j3FwoazwKUe?%0STvL5EgIPS8#h(SkGk9&BUs%(QGhv_`4&;cQ zcBdqWPCeYvXY<#yM}6VBOaT)7N=tVH&F3UY})? z+@j%TaStKnuf&PkZ?X>m^-uosUw=zyQsy|Eyh|CDRz;_pM7ZJ4DWVF6U*XCKh^I9AK&gH6R%h12PlAxR8^^!ALR?CbmQmPfk63^z))F;~8$V=iA0q9)z#b!g+e5{f$Kzl$Ksz z5_AK*yg{2RYAX%402j(OA$$k}ha_YsDj*CRz_77On5|I>>f3<3+qJ&{T=W5O#k;H{ zH#_#F(8YW>F2u)QEcoAUz;$%pzz%~zC#nTx z2O$n&hJdb024s$b5Ia!J;hzHBN9)G;aW(Y<)fv_GAD51Ms-M1{UXPx8V|eOFb!d{i zx&Cr7Jlg;+N`ae^a|5<0g>C8d7SP(3E@Ru)fvV#~i&FVK4;8=>NNf%B8INw2x4T_? zKzYkwWgWBWp)ZB3s=x*R+YPd|A|qr-5}*k3If$bd5L<_Us93^`Dk_80Ul_9O%YN@{ z*kXRa1*Dg=r%uN_Z_X#<>0ogA6gy4h>iX(2e7&DuTyBGGM$T=JEuG#bXJtO2Lqve4 zISQZ791c4o^iyVVd4LF^vbI&u?sV+|A*(7IVm3YWb&zG$osD-xt1NM$3LyfL%Jn4K zkaS={4Fg*vnnE$u8Qb3@_;WVYqtO}rPZzgS4C~$Q>wTxLHvM_r51UQ5OGejh_@fbz zd*`&hu~Mm~{;#v~2FA3sXwYn2`we4mMe&dKtSF08F2kTI#rV;kglyY_&P zLlx%F7pRbVe87hbY{IWA44#(@#A1UtwkN+IAA14s%`k}K-&Ld{Dd&#E#EnILkl5rn zngni|3r7-u2ywi6r4Ds??ARfj1jpivjNQM4Gt=Egg2%pjl zAi}CeR!k&Wg*MO-}lFOi~ zaxrNPVX69ihVtT;!e+|Fc$oo$%#jsJM_wI<&h zWPVKS*c`Jc5)B+~3W^=(-CST)h3VMA3eXj?IY(`-lp5Fuh^aD^WgT16;pW*Yu%VRq z{0$OUo}&9}Q!kc_b{lW{v1Cy;F5b#`;Vf3V?_Y`YA`mR_$*#`Fjw&J9wt#Ngg7Y#3 z1lxpjJ}nf*XSTy7t=)z5dG~kV{Icm`IbXi-cjkN&p;lc|sfyJU@>xX33{V4UoYfKo zM6tLz0vTlnG?)dyG{C4(I#(ELq(_g+`sh|huElR|Ft2?68#9hiC^IwhmdSOajUzj1 z35r2AWJ3%TO;vzw8#=IT#(#2_>NX-Wx0Akrr})DuKMQwF(wwio+P^~|NFpLXrt-&< zqxuE5z;Ao&Zw$sHF#>0SYgg80tF(q33lgN;K(R%oD9yltND2fBKdMTqq}ke+T0?@) z%lhA0-@mD1inFd3z5H0j6?wU~sHCM^eS2U{s#Dfhp^EDrkRptLCNl(Ni*Xwp>oSlm zO;#L69q9lI&hMd0E~9Fa?z(+LNadLYC%I4JK5*ja^ZR^zEX88kx4NoNmA<24ZbK7W z15nerl(G~X=mZPL1ndwjGlmKIO4YVV0h!>b==}O>Vu8A4gFShgq#P*S?61SvGm;k!moka>K>36bfX6o3V*!sYVq|r?!S2<4cWKNv`Dc+PkdVGsZgGH`?!s0%0+| zck}Ozif9;wu|12AvOes(W@hWmG6=V8)T9E7h@evy1xU=1kYTHi;q349`N5i5(RKbZ zM+FJL<2)h&uukX?QKv7jc~3mg{I5Kv2>m(CbsVfn%E0-cIMhIP(Xdo8G_3kCksm^OkWQ zM!4z^qpl`qI~|^(<-Za4HMR#5vDsqrX8yQ;nawXpkJNm+x5wi<5I@v6n8gXO!7Mpt7MV;u*G?yb zow+4_3Ae_)FYiR@Ch;>#%y`PWWN|X1zMn^|Oma`TNet5e`N6kgCWhaJU`YHZYr=oU z^OZC4^33pg+nI5&c}7is*~56-MYg}K3(;WnOn$p){nTd?54ZbFdz{I)3TuE)&*{u= z>-`@mFOR*>)6J#pzr|>jpS+R`Xhz1bPNxxBwL;-6}N`ZkX4Ev@a`oVv>EP5+_0sCUqUUD=Q4 zx7L2?D+}%kHFTTPYm(MBXF{f7mvu@}tv7Ut;7YcIrk2hYTS}?47t|@vCA`i2{ZcB- zGUc>v0B(6!mM*u1yJd!r$_`X0>^V0|j{qyLv&>+z+Ud%B70F|ZdnIj`UIXRhAWx`} zQZ0GRmN$K;X!* zlZo3bl1gtWS2^HAnS~}>xK5G6yr^-LDS|o1#_mQfGJd4=ax2y6*9y{?VoIV?#_#;t zp~lJwIcSVDjkal#h;2x)eoemb0X7?3EGI-lh6-?YnKF+Q#)`5c;7KScmV$m&KYV@*{jh{;-)19_S_;xv3 zoJ!|9eF}{8v+IR3ZL}I@MEfYV?DPAd=%kL{dV9TMvi;f- zy6{V{g|FKWr(OG@cYW1;ylfa?G8|pYQ%UuGpS1g(p4V8MO`qO=paZ;C*)gR;u;U8B zP7F=POp^gL#3F};G*Q#Y0N8?tVHu8WsQagV_}s);XMNN?YYZ%OeScd&<+ji8?WO(f zw;$_G&wiT0kvDQ!PYR-7J>HJ%S@os6N=aO<`LS$@U7h!-7qKL5Th=oA<5=Wy<8x9i z=E4aSwV`X7URv|qXIA4vHTv&bl31x0^1;BxK~&?{SY9xwO@b(njjZ1Z(gxQjpiil>`*p1`;ZTVFflr`}DZ3&+L{Xh1u^{H`O+5aoqxgP*cK(fEi zy;a9^{C=>XLI?xHBN-Bgfl5`%4>=ed+t@J>YWIJ?YRQu2#Nid@)a*ICRm*_&Znaw7 zQtQ`*dnOh8Og^c$BWpJ1AHyXV1#n1a=%!?8mggblxuJn3lz}FkgC>-PCYXmNl!+!4 z7fpo0Pa1qQ5gBPhIcXxY(xi=-CKWSHJ{^_Iu6}wj{Nc}!x;JNw2UouT=Bro!GC%*i zG!NsEI_@q{PR~4lQnAy7@Dr&5YqFCHEgtAYtHqyyV*C%Dg86D9G8Xx0S@yB!Dw}-IRrC<)l8ORZ(vhJ_uH^=j?wO%)hqkMl+XK=* zqhK<>$})Q8MUz-S*h<`ctcihfGKJKpO#(U)L9V0fE8R>h6#)`) z(}?;Zy5O{^l`2F%$Wg~j6D*$~d#7oTWM!n6RBQ(Pu~CuovBX);Z2FtJ*1>br#p|qJw2~hZn?b zn0AP!jHO)ANx^*Rz?>JqFi)m<(hKAUxjRdf*Fbi%-6_qggA8}avMY;s;d+M4vv z5yi+WXD4J7bucCJ@e5YFdudET#_`bpN7tutMxG!nu`a<9-;*&GW5zJ)7 z<6K>*bF?4Daq%6`lu$K5U%JUbnnzFYY$oR2A;-kYcLe&F@YyCuj>RI!T)kK3nEpdI z5y|zCyIHe3W&uNrSReE6#`-=C>k#bOGq8X^{T}SdpB=gRpUSekkC1&BJ))RrS3WDv z+)5>Pi+PH9dyI|vet9p0%Nyps$ ztP6wTDQrDvQQ}{(e1`K2$lVuRQD~pZcg!xMj6m%`1g~aN3Xet0Ih`c}cEwvcOYw$< z_(4p|ILB!T*YnSeQ*Ixpym6dL`#6;i<5WI=oWN=;;~b*oJ)``kXH#7p<#}?Oqz})J zbOYc1((?(o!60f;PWlE#)T*xPJC%0zk`|K?-Y5c+R3!i)_NjXx&0OKkioEb)ABSlX zF&zeU?!j<+cKGFB{HYRTJR=BTK}f1{i}W{z{3m$3THybMa$fDa&vJFwB!8oKki72( zb)q38*0f{g{A!1XB6vS=msDWZQdvkpt^)-cJOke8$Zpef{cEf*l+|@01M-1`k+fV? zl3K2G7%V?~ZgTGyB2(afskvWP`wFP1AaU`mtgsSDePO=voKy-6&!F+a*NI)sL_C5F z%-(T-pH7}Zs{<}xsfZ;VV8&cca%d8S4jKX>+LH zV24=IJw=a;i`>mbsl%#isEz>P1Q%#7={n!8&03WJRV+($jsq^H4en8nS*E^1u&c2$ z1%9-^`aVmA9VTz2u!TugnrlHJqY|u{TU>Y0@!i3AJUHRQhq+#<{^j*Y0+DisepRck zQ_j+dg1O1iWy4ai!d=djLL^74*5z8zxq-n1l5)jUauqi_dan(BsZnXVr?Nc+_QP(-+p_uOfg{V_6s zl-b#rqrLq!e^gJhOF26k^h>k%^ko+Gx>r|&qg!t_zg-Fa+zx*NYlC_|_sIp?xITLq zasm3`2E-GCo;Ng)HDIBV*v{@wPap|}i9&I3Qu&}kA%poUmEH|zmzoeVi3O5@;kR17 z!mFppB7ah^B0op&Li7!JrV5)^f!Pf8Sjo!M2w0C^uyU`F8l)AzF;_kv|Gh_C6DF9S zCotMH*~6vr&VZNG0_8iTfx{xTOy7#Wm3OH*?xEl1Od3P1HUkgknFzPh+LQ_ery>tQZ}g?8SE) zGL1WT_w;ZyJh&P8(Mfc3>V><9i@cD}`{gn}Y)UicCGwg2X>5{WMwM+%hKU{?E#k{2 z>hKPC={TG-56R6UjGxhNTowGm46Z)#cdAhJ^zaSS3A5i$MqNWHIEadgmL87wTx`>`K>z1g?2y}SKby1jh-zQ4#W^4V>ku4q^- zI3Ak>lkhToRkspKzoc7r1xmCECa3b?tVGSL!KbtE3D=1cT zplI;CBoDP(ee~&>)XPn&b$^M2wp-cvC2Moj1gR|(WGIaZ8j*Sj`D|s5)*GVmx%sSw z&I?af;dZ6YT;JrY#4RbWOrL@|BCmR2zGAx6dib>;EDf6o717tsZ>q=j$mz$&ZYOVn z@Ua}rw0u(vLJJ=1d9GypI+9e|3p7Kwlq$r?F9G4R)kdPJ$B$=8tY4tw{^@QRX4XNn zCrjs!^zfJ;?ck$d)~T<2!K5=?I0J(8$PSrnt$&g|6M!C&(Ved zyJi0eiQ0EVkpu|ofoG_IMGj%~92^)Lrzm;c9DSleaSG_{%t+XP4c@kH?$E<;i|`+LiCqqObb;nQ_wl_HcY39d?a_ z^C}$DMv#+d)B~1fl@ZzZc1En_?vTJ7Z{|d0drsVjbygyv(I7^}=LA=gKD?5LY~*26 zUvZ?sHAsM5O|msv$5K-E3|G-D)!P1SV;vffKkZf7qp-F>w(N8ew!#f@7uiGKwk$mI z+PmV%c7yU__jEUnoQtE~lV1A$@Mu(`)62Wzk*$xS=<4Cy<z&$5eZ*&1v{y7-%Sz4Aa2-gbn~ZD#Qr1EG4jI z3xD0-=3HOn`rFocOC}*m?dDZ32m1+6@#AtnSP=v|c@c_M#Q^?%QGNc;5&{rntW5~ee_yqx_0=`q-~i?K4U1h| z)xu)e{)&rz@frUhkC!=)R%`r%){yQ_V9By+Nj`$jJP45F0G_X7+PgQaAA@rMrW>qPRj$&%*CE8B9i6FPD39DYdg3^G#;Uein<@%)p3|vP z5VN?PMagtE%MK5H08hVjHvv10+}>6(HnBm^F%{e2mg9sk{c&x-6VHtd790wu5T3(b zG%q_F!>!11!?j9XEKZ3g?rg2}v}xEg_Nk(&pQg7F;&;}2{p0?)|8hS?W&VY3sc-1k zwuP~on+wm9B&Z_Z`E=a)0?p0n_pdj zz1tmpEk}d>#J2i_Xga=#q-l6|IWE7>0>!zXt)Mgt8!)?#d1eFVc`)Uqsxz z0KlR_AAE+_#AMSnL-{-+@PpjL{jF>A>r9(2?~3u^m7yFBjxufVT|L_S{ymQ$wNq`- z>xW6yFOcjU^|!)fDUh4{*Hbr(K1cAfmqFc6i!{!sib=h@nTlcW$<-v7} zBTIJR_>$pz0df>2us$H5$ofr7eVWLyo3Qbp<^(4aZjwcB0m>p8fm7terq2J(akB>j zl}IMI+&SBGru^ad=L)2U)D_W((W_TF+^lU}>8!wmS7xj%c5H16c#mlJ(wh<;J&jI| z&t-pnbyPg*vigt}si!UvQ>Bj_k&;h9_B z*_(P@sFA-@-II5`WoL1XXpJL6k4{yf=rF=kw^8H;wu?C;SGcWW%VZCs6Oz6 z8T|X0Cer-}xV>7;oA)t|ANDV&3>UC&rGZC4;0PYss{t=fA*gwR0fMRL=M!n{g+QwPbpb({!y^rx@{V!MePXRoIJw7? zKcG8xRU5h^2-Vu5r4fdG2oP`u+`4vH&MiA8w7H6Dg&99aE}aS;ya@1Y0;a71^Gw?z zjtvd;=c?Ywzg@Oc7M=l&NOH$rbQWpWNy82v+2Vr+L>t~XpjO|sH8BGKChRtSn;xmE z*whXyQi)}ui=^v0I}3iJ>%z+$>TCTMXg=mN(?Xbft#;TbwjvNg#*2b&DD%3@?}h`> z+5&UZ3?0$ecuI~eCT$E7NJ*tIj zD~Hy)%(T(OGxPAa{!?hpCtt5WH93JtZr<>iUq#eS_0zVLj~2 z<~@>nE)?P?4)yIZdxt@TLoNWGqkA#KYJO{Bh7OI#3X`4YjSd^E!`F*>JPo6mps80p zV=)B(y3Oi&c2ybMzM~z99D6ns?@E*t)mSns!9qmMx`)P!a`UICbwtDl>;qNL#@gU#nu{L{?qW>)1t9 zOguaAO|_ZNv4#FSzrS1LE*1lMD-aoHa$)qO1-Rl&^MHyAQmj@)>#e|Z>OUG{E!2l06KsIZpK?#2F>Bc(s^ zdyh8{_KJbKX@VLSE{M9y4&^i3V$!NBb}+5$jRq~qd*JGXKU!a-5M|3M*HqBicHl+@1Q~VR$jq74X zIRki~X;FqGK8AobQl;QIt)jlvETh%Q4|rYjvoab6EvaCd={B`+lfca>WlSMmBm(0% z(o41}1DXT-l~~<$cVyrW%+w^1BIH-wu{Caha-;rVYyxz87F7M(JMLaob03a@>RN`FK#9@^dVa2;3nB<^Z&| zt=@$Els}eul_;2US=F}dIZVx%yN}((jh9a- z=v})x(R>Vr0zwgs9b2~WT%p2$fv^BXUVzsRHu8qoxm%!vx+xLWk@w&PJgmmV^}UvD z43>x_3ikk5Z3Atm4lYo{X;uSFSw!yOme?bG5AVRYOz^c0hhQ>RhfiGCSJi{;Ork79 zi-IY+HXSruIu_fH=P0LeQPHeS%UY#%gn`!T(WU})x5&|5iPffk>NUOauX$~6Wiv<7 z?{{bM$V$E^vE4tv+eJ6w`EYnPHXo9UOMh^E5=UlwtlwO2$!5Z}>PtAO@T$Y}@hSuv z7u};`>K0RKEO0VFd3HQs`lVbBDt+h_ieh` z5>AAV{@q~(&W-Q!mz!WZ3ct(W z=F@(dxXWY^`iAcKr-i@Yebnu*;bnSqwgM2++%s2BpZ9po?e|kVnrAUuJbyjPJy-o0 z%Wt?E1#MS2cmPdCxN~p#0Pw5a%qGhpxJZvT>AS8E5pa75!q%{cMTl{p=;ufp2cWyuk=@XcVZ5 z1flB_&|3;tY116^RE|tEW`^G&&>42>t-1y8Msd z@Y?v}H&~T_{D#XE^;_CE(egg{aeOwsI-6<6aCdpTdv^9CH_yg*vC;o}HVw}s_4aXj zW&6f_Yg#VQ{4>>g7`E3mK){}rCiL1Ms-CB6mS#wvX@-(+xW42%NXMqJVrZtT1-`vK ziqSI$@wVV--_fFc$dF%T#m(JGFR+pIaJ0GI*=$4OIK0Hk9p z;Z}u*LhfxLLr1_sYaT^6anqcEc+V*gK6_ti7HY&3{zRR&`+VVS1J@B z$YQg0pUEcej`>vddfnun8-Y8VXYVCW-IEo=tgs5hGz2D`Az^GOG?N+<~GV24y2%Dy#HAlH#u$bO2i_$oe!LUYC zi(;YR@3)2+ZyMVX+W{)X16eY=z*>B;!MEXII=aYOs4B7*NoK%O2nU75`2U!}O@;(D zW?*9RpT9FG3i<9xtF}tPgI;tImQsr<(o#sv7VuQB5`|1u9~)710KDp~tA0Dnd7hpjMOwzhH@emH+!+erX*W!}fPS(mnQ}#^vURQ#7S{sDgd=Fsa zIqh-5@8e4>T}LV=Um6ojW9D}0`-irh*Mi<#AbvPUlv1OuL?Zm_cByEhWu#=dBPFnT z@&uUeJDv+x*RVe2?UA+3#a%HRUQ28BVo4+}!9qQ7L^sE$DT`Dl5d?J}{U{PZvcpqj zXkj2B3+Y%@iQ|0zb(-H6tWL0yGd}T}_l@>4tLI@=59rgV#DSWUy?Ih%!5B^J)k)jl z1FNwG>v8cPK-Snowh#>%iZEMy|Aigk?y-CBAXi%>cl|!mnb6gbLU-rHzaPI*>&W?L z7Al0QD&z5(BwGM6W&uk@5FndDTe2aK(XK?c^*bULY2DQ1VLqJ9%tc{1mhI|H8s=K+ z!^3pm@6^(@UcNoggG?$oZD#ic|ACo}x`RG6vpZ~EN6c)r)&FlZ`zEdPtt?UyN2Ejm zRb<2wYB4}~ya;SXqq>YGhdN(>HR-p-YBC)*?R2u0S$O@I0KQ20x!z5<0DG{lFk}2e zU$pGZ9@^7Asv?MwVD%#-i;n>Iw2i$DYJVpSyLy%w#W>y3dFEAx8iiQZ`PqtknHaQ= zbq4~9b^eK^LvD8ex{$3V8Z(q}b0AwWCzAmvPsVC$Iqoi|jS>`P=poRpq1vh3*Y_YR zZJyx1m-+!z`MPM*-YSCaj=nQ~l|C}8oBj5%IrY{(=hwyNDvCK5oEqWCWSHmPNRYlk zssV#Z8i0~a6bBjeRO`molkxeC@nzffDSU{J?2^<;N~r6nDf zf{%**0G;v%ovUE=6g+PgrOF=xbi3m>BlLW?&ve_6HG=|872G^Jlz;`H3S^l`hKgmV zL+7sxQ!_rVFU-!wc8Uo_w?@ku&#I>7`*10xT-BH9Fda_4jMpjO@4-|%fayn0Upv6+ z_or3bFP;AOy{A3Y)^CH_D0Dg3tUBDUBMD1Dx0wQv>gd1_K3~T+)scZ5V!*#HULX4W z)U{gafn`7gmy}GRUu`Uu&`z34V4B0mB0m`^)^wQOf5Nu)`R}EE+UG~n=?6al24Si4 zkx5-Qc7LBy-3aP@o2p7OB(kpav|qOYavTW|18cyhib{2jL8AVJ)BaimFNXKB3)7Wp z2^C)Mi|waMPWA#e9`;6)hwNiE9P5gio$WC>L=0@FM1KHObswnTokU%3Pp=Nxl|#6s z2vT|0uVY|X!n#V1!Wgzy>U`ate$<11l{rSwVYQmp{b!O@nB>gaOVhS! zqoTJxWVZ{Q20&Ri{Wz-+a{J^V#%BAE+YaD1Y2Ui$PkHRqhrjs)qSd|^JwPP3g@|ks zz*LE+E*L4mkSzn)w#+Apl!tF*Ps zs98up&_TbGK9V0FlimR;l(&|HvtaSj2H%8>^IHudl{B5G1~8~$0c2Q$)XauJk#!4- z7DdUr1$EJtK~c%)W);woawEO;Qi|uQGkf~vK}}X4o6>B-7KsWgEeBcYaW5~8CfM(b z?f?^v|0Ef(>=I z-)=W@ofp(BrHWHXn$72Ao%FjXy)ZK0rmMmd_c)SZRp$5i1TEum2>PbbcVR132vVFm7|2&xETd5C1(t7?QqVofRY$ zXIctd61|`hNQm%wLS|w*CpQcaZJMdjQ$2|13m)wb}Q8#Pi*ud#*2WR9k_}U_e!&EqdW~ zU}?GvRH&%3;pmo4l;0K}k5VO-sExZhM04&V@{rqrJ*k>*gf`8D@qFDe3ZTe5Y}5}k z(<3rF00v)HTCLb(W8#XZ%KSeY?yArDmebpP6ErRfK^fK!jsgTM>Tqc2R0i0PRG_Jr zqDm5xq$|8Rbu-Hml>3&8M!gqMZn^1PvXpM78)mOz%2~bawd2|lObp+yxbaiaIHM!} ztU%-R2HyjQ^RrV1ErO}6047-q_aRIZ?@Dk?*i^!frYO|D>8mqeLPFih1YWSrFYLMI zy$mbFHi;IdEUV*$g-6hE5Gz@JqmfDPm#?(7qCVFGe-;K#9Qu0zz_Xo8Tm>~09YImJ zvK5|^Vod@>m#BEB($;K4#nifKO8O-fJS4nHZ^Wj>!X%)%u-zXt7jCib6qB{Wq`VmP z!(neU>H#}>>#VmT&aoIDZgO)_i1%?@fIM_OrF)8>VGke{aumu`35dpW zfFKVp2(!2&;n62miS20i*GY*!B0N;qR9F-ZQebIB13D7KAqK)S`uYo<-{q6^wOW29ngh3_ZiCkoo+*lDzhYgKlc)CE zxToppQU_(|JU_-z2gne$5=u2-S*it?!5kH0s_XdHMfl6jPqh@(n?XgX*!&_wrR~g@ zB%W&!ncv!^70#PYh3Wa)Nbm3GMw<}mh~N%f6c)j+^<^jZi!Ei ziPm`z%~8PkNo^^59{>A%oh&tl2DpHhB|jY8x6MkwViyO@4w{WQ%hr~?6ta7Azd~92 z8h3#pmOH_OWeEN!-w8VIih_1~v1v+97@*xwtT8?IOO;3Bv7U-AFB;Sbilmye_JY=kZieE>2m>@$AvV zwDXi7<{lxs+7R zTUt7UpW?p+qiw7k#JExOc^okaV^cxDAKN+Dk643;lpS|EpfSsd3I6O@#2GmVf5d7X zGU~@dcN$|no8kZZF>d9$j`-e3LHXIOO=_XpWxlEF>HBzlA*IV&w^76M>ZE5*pK&5( z6#c2o8np*}65p~h{<&0_>X2u;x&(-9VSt#70Jg-h4y9PLDMilLdqFPa!Ys5B z9W1*+Dy)~${7Fi;>#awccpUea1*`}8MUNz@*)xWtJvsw1++ZbxqviIU>PAcmEc)P( z-yQMDEZ-gVgP89OB1ZRhC01k>JSpC-lB^~1Zp_McbSZM%&uLPX9D*nz0E&5h2svDn zl0tzh%d)N!L$a>WM1Gkj1LECx;d3hOW{t3%t+g8M>=T^TX<18E?TqxKuy|M_G@jqf zCe?Lzf1pRff&P~EZxX#jC5k?r-G!oqYEuT~6 zV)q&JNA6w|JrZQ{N9?I8+8w*2*oe%!?T-wqDBwgI3swTZv9?6Ib%ZVXn7VYE2y#8H zF0M6z6a#Yq2e}h;m?0CU8J6^arLIJ>0A^3}a#ppgEh^oi_oZ&EU_sjAlp{o6^Cm5+%yG!OpBEX?J4OPDQJ|?0VbDa1m{GFlli+ zE55m@$?+7y8oW)EQ&&Zfl{C2U?*9GbZ~y$qWHEX5M(x*jm%Z`~`Je4qzW-}4c zrv)O%vgKRfv&H7pv}v0rY15?5dJ)K$Y^#wiN0Q?>!1?blXNEV)v}3jIF3tj5oLD3! z&J1UsxsVLhO>2e~E26-#Bb$wkqcW!e! z8a&RN@t3cI`OrD6e!utLre6<(BRA^2znEM^n0x+Z+JP^>VNR{id{e*I>f2Q~lG|+$ z8g{Q%9oX#wQ|^tP;|9$ZUq13OFZSOja@)ALx{2(d^a;_)_*d}g!6gT99I!A5Q9Se% zgK~Nb?;v-pb@34Xa8=6&T(}ZT7j%zTp^*i}_c79sr_7n;tW@`?(8YPTln#S1s=DlG z6^o&IRB&`FGO+mO`JdmkT34R^w&_2P{Mz05cW=7?(3^aDxIAu-&fNH0c=l#7IoXB` zWDt8^5&kJSfp|p;ck}a6ufCUfQ;duK#J0qve>_F~uz!40+fSQMZ@lKy!)0`M@N2OGrQT^;aYEK`g-t}d(|Gw{JR~HxF<-M1^ee=;f zy#IO|FFr5E&8N$#*7_cL>2}ET5cj>_Eb@{?1#WiT&}200%qleMj@@iKZ8{RR(`+~G zVBmUQ&#(F||9|CgM`w+v@N>hzI&sdYZ-RF>>6f#?h5fzt={g*JIr?zjwogw7%~?Dq z`>t6vSKTQNH?OE0qQynyhWjcVbP6nJ0-=#%63?cVmt-7ZuUIZc_doQ=njXpDl%5L80= z>gO_y2Y11|*J^z}IQvk)^}d~+r_=Vd-5U1#)%vH0@nK_l@bT$9YK^XbExVJ&v!sIm zhxqS#EtfMpj>acp#MK@W?@HYjAk>+n?EL#+HE&A=JMN31`0?6fwx+r+|ZfE4pyY;AkKziS14nC)7$!+qCc zFqyf7cwe$5FB8Wc85U?Uq>irNPI1}OwemG>Mr?3N5jE$f7Mo2M;O)K-1sm$C3e$F4 z4$T|qWsRA1YBON7#UvlhVAtwLAul<@!h0zyR&SPN@r1nF>Fa%rm8e1HVH80s(GSyU zm(A;PYnWa=@>L=dN0&tjG z6ZUdoTj2FavY+4#2se$Ij^g>m8U+cagK-Sv4u1}!n`2K(p$rmcE1j{?y>y9@={(H( zY*Y&?3R7#E#LUR5Tb)lt4&J(i+P;V)*TDHhzR^qnoyXe5*I$ERz#8<}SNriKu;B7u zK`0<=j#fE&6*~*HYDO-#a+N~3fy;abTiAoafT=69(ACQb9q4$*pdo?IC3(}XU|%C| zn#;D4ysn3MNn8LF}ySEqu7o;KL9T3vs9G}3=!=j zb9sCMJ|QQpd@j0L;?ikmx?6_nu&3!qYC}NRhR~D^6Bb;w^RNI=fHG;!(V!_CBw|&= z4b1@@-x2%aV6jdI)jJ&&hch`oE;zZAk)%vF!x*q~Q9HvQ$b31fShYf`pbOF)00VX; z;`5u%1viQ+i%y`?B?$&&?Bx-8C{OW70y5B+%+Ie_N8*z-!9ZD~ig~c-irH4CR1U~# z8uvrYgQ9i;E030m>!*+hbo1kqxPj{EX#zG0W^C-J0s&@_arT`Hq6P$r$*MiO%*?Xb zC}s8F?EfU5a?3YQyy;X_xaZ&$OfsCzf@e^dYPO-=!NmpChjc|z0X3^Aai8M3qS6R7 zHe2O+=Btx|4oKmK71pVhSrxqGKeKT+k>w)vAOw6SN$$K zP5>S^be>wh`k>Zn)a{Pf4xqxxv%Q+nMrhai4bN%!23xoj=654lJF<7jYE)}}fbqM(%;<&ou zlH0`qhVOzuMDMnC4h!?FRCd4?LfZgxj|16FQ1o!U2L~Xl0I?;)%USmvB=>}}EYO|U zg7$F;P?TC`sBZy9j5($g%;WMRK>`EtOsSChU5^vWIE5{49o4=oKqmH-NmwulCxLG( zb@ta^hPAWWNUmwRB}3_UN*GF=!^~Ln#Kd}gX)t`;c*K}z z{>{^mPt(!7mN>V;x1|2|{oUM|om7X{cjN1e=KIFk!+G)a$hs!wK(Qq$W=l++NS^jqq8wpkkIxr`+L_o5DKVxu)%gt9lhZ^yp)IL*t2Vlx7|B0ikdLH8Z%R@~bpm zV+5CHs3f*%2iLXTT*nCrZ;6gNj;Pi2XapE~Eg%6MK*8lHAbh1=_U{B@0~uh1S*ik0 zls^Un-UY!FTs~$8w`)qk%gRy2CLvk!@Oh&imA0(G8G6H?Ag-45k_M#Rkx}kQZzt)M zjo4Bfj@WWjfgbSqJ&M#MDVk%}dY*(CRK_uf_|0Sp$LKIWmyMJHS$nfE%Ir`Fc-(Cl z&NgmW7BM?>SderD+5d?gIc83|93DOMf~2o~)1e*$G`y{JxUV1sRVf2KDg>wP`gxX0 zFk@I>>l$w;16qd1%JtS)8Bcd`xEbbG0`S*ko^~+6m_~wh0OYyz8U7P~i`cWBB|NAC z9SG1PJRt)(m(HfsILQnHFzuD4Y~jWhBWp&=3_HO`2`EYoEOag%rOWe*Zt2k}Y>Uu{ zZRe7}e;JkJ8XUN$?UsNb*p!WdAQ&GF>u&@E*Mu?t`#`U;C7_oEkb$?oX-IdT6tLco z!g^fk{JYGOW_2 zIdwVc>uRX4n}dB_4fl09T>fUzhM-R|kMy69VjV2-w}Zw-2JD z5AO!kyHl?{sm}eYx5N9dwZ~6)?$Pm;-@8Ar+E>Z-_x@Sj?Xm_IRQ}B9VTs*KGqDOA3rWsNb0*GBBLhNb~k=Ry8!XrpjV^IN6g-Lxp3Hx5u z6#%h|2$9C7iiwV4e(c{YVIPXp*40+NB+EwKXgZ_?h#T;JrU!nKe$X9M19gWlP(Ttg zeW1;G)dztm`al|i40^_NG>T?LejlyBuEL2crUw5?v6cqyS&HPkm7xf(8M;$R>z|{6 z)2<6548w;&pFfe05ycvNlZAz4!)RmfCXf=PY+#rYZ3ukG#;9R?LBMG*GudH+=?7-M znCea85FG0S$3@-jVcsf}eHK9`kZmvEb>a-B5{Uvc18QPfD6`hx$%(%T`FA;xFi>66 zivyE&O$?k|-=Pc-q2-qq%xkpZA&TvM6l5cw1Set5ZC>Wv5wJ!eO!2>s)T@`JUcF|V zDT$C>AYcw>|2Rco2vrPM-4QkoNUmC3BN z;m>18?sFwT_A1?_fc$LSV`DJ%5Gu=tDVKgWWBOzPwk!!4U4sWuAnJ@e6L&0lPZF>N zkChz@;v|2^7`;3=p$H0*#6bKZomWw`|GSoOO1e9vESsjU_V(uUdBsm=Q!lE-$q+Y^ z?A5B(PP^*F@vIZ zX~H{e3BODZ)RV@gN&hm)SVC1&^+{POw+SjG96$nD=(WWK>y+>$pB|VRp9H*vKXAyK8X^+t;-aD^|`s!7)K;e;UN zo!*usoL=O}eWAbDi%d8mKU&2)PlAUqo~8OiW`vS;b0AP6)k4t&fx;LIh3{H;2lkcG zMJVwIg9s|+QwDigL>in@?5hd(DLV6Lt;yU)>=!fd*0wLTU}2;~=*X)K6)6oIYv(zZ zD^H}3@&b&UN2cQ|jTacLAhw6u5{JL6VG<})hTdig zSgmjco&RG0+u44U*B*e>6?aCh3HDao&3>&j=-KUF9qv}}TDI2;Jln51fg99&&A_X5 z|8~LN@pLr+bVoxBEg}=oZ2;}OH*X*YZoWcm)F7e0#N#DF4b)z60;tx3I0;TZFI5d%QyQlVE@+4r%Q|s77EooQXI@XZa>8 zJUCHpQ896(be!9D(P}VnAxcH^`_&{Hy{NvlaFaZ|*@G|VzjoIJyEs9|9;~3i=1O_f zV3)af>BP_}^|xgIJmPA)+(|}Cg1ny`0rg=QlEhf}DHZFGEsoS11Qgr~hm$xVwaCVQ zWR${lPkmk%Bbe4_8i~2QhfuRb33MFo4{);8ms$KY_f$h@(&O4*%)KOk9m(Hy>S~(6 z)}w4;!-*1R2AAnxio>AR&iMeA9H0QITSXS*$%fzukHRUQ>m|y8qy^-~VR8*}&lAr8 zW6X#4X)yH?EGL4EZ*c^n%NMU+avxY3G-gY3=kj6ol>gu2jDcX0we6e_4E+)xJ*bW9qc)&6Bn9AiV zGKWDRS|akV7@XEQ$l-;Gfxug#W{Jm(RqXj68V!&k*wRLVcXwV>hK{;}9gZI%s4Qys zdvOMZY+MTfaNAB6qogR*r6{bkn!T7QyYj|XbSrCY4`jdmTF0a&rrOxFqOdPRR1(qA zibrm=S0wYxCk)DQ z(A{V;1I8-9n0c?#U=?f7IGS7HA_h&qKzx^jPby_om^8O@Ti^H-PPkhGW*3TL=uM2J zpt^yZOQ#Mnd67F?!5@gD+1MOPET3O!KFcSVw3YezYvZNm34>c*LvxuoFj(4+`jrMz z`~s_${OZUysZ^&jB*m+WhF&;fUL%x*zOsP1us4^j9Z#(^4uX8^g|<(77woGi5)N_l zQk)FI3ub6me&wZ!WotwJTVPppLzbnp-gw3G+N@t`meC0ZbcTV!Y&vZb5rB)5sRTrv zc!2xpb@Y=K3qY)|7zo5)xc3OL1%_Xl@!ZA1a6k4g9}`P*IHSan==flw2zEk?}K+$3mr@&hY3>hP3rf(nfE+TqXcyn*2_5O*LLT%Wb;4uROP9 zzf#t|eO2_eoQK&8L|C{P0_!7cjZU9L3``NxuGje?90 z#9{ii?brK|>9^W-zZo>! zgYMrhN__dDe*R;6?w&NSk4KI7N8fKh-u4^c4#UgE{>{O`e&?xr+L`v>{&-q039cE_ z>p)e57}rGziytS!R6Zprto`$oUy2gfo{tg}2h34oxbc^N^Is71``H>}xd*Ll2spPe z-fYYm(vcz0Mw>V8Te{eo@AS+a^RX(@>@=Ffu3&<{5Z5KfPMB#AQyhs@IeNsfQ+pE3 z`A@n1-#l83N5(+J#KY4yn7${U&saE8I6aC3@D+)w|65ttffQUBxq7}&X<$r+Oe>;Q zn0I*tVGJM^#Ero7fUtWwSmX@!u@0cRJBRYP5@eg6s23)92^ixhj!nXhrP6#-jq@p@ zF*T=?fQ--8&2HRvyT!9LoUhhIh$avY{rP7Kn{qjpigh3>KM6gFG%qR>rt_^AQFs@K zpLZ>OKrHRP6GwYmcrxirRevD^6jVF`_MD%grP3ZAU6~#xRy;SmJ!_-LOJ=$$_?svH zng9auYHbxo zUQS!Fgp5(-7ql<}bEpv)r8IPy86O^+@jZPDy?T;tWBD-g5>Fk$(|jTG8V##A#D~vayVpN^fRPdyQ`h>hQ znzN-4#)-=YD`2b+OG0T&t(f$Bl6#6awzerd)F9jQXQXnE6a{hx~O#n$`%s# zoqR7k?jd{%_zn?3&0acX%Pi#pNk+A}ZpZ6+u?T&EiUUso;U%>Yv!?Vehh8FriAf?+ zNNuQ@!cDU(1+*^RgWjguU)KmrFu`nAH||^7uD-#ZR$)aH?5cF}Be{D}by&i?val3L zB*TRK%rY>Q@kDGnREM?F<)FEAf&LDKrsO_PWB9*Z0jk13xlK04`hAVs^u87D>E@kF zZ?%z&fX-+(K;2GDaEf+)W@z&fjf?ta zED6vP2lFJx&=#ZL7JOfc2NYLVS4U|=ATDb#i%^N)r8g2O8On{4uV909QCxu=XJkp< z#KA3;L5rnQU9~l{bY&BI?GzLEfA;<}IdWyo69+%cw^~I^+O)l@XBT;)Mc%Gw#iU9y zsb!LXwuM15K!#!nsy8&NJOCvmeMO3mw>y&5rGh7l9{l2m6rjyJ6s$;e*B2v zdFsasxW1sc6X~8rLS8Xsp6TE;< z-7U#C8n|siyeCxCkQ9t~&#XM!h?TXeJ*V-1|MUOX;Jih0a5p&BFdzWgm%5FWK7$Pgp~u#hYaf^C~mD3mh|eKT>QExHEEWkRew*hX-L%7}!-^ z%85R0TJz4!&?`vk2_b%yE6l`QVN*CUL4_bcUC-`MNL=m5Fvl-uGfcoAGHvDzh_=Zm zkj-_|%(B1`-T{z-6(~Pb*U$0dj>lY#!%4ZMn ziX5@f(7u#=bKrVpHgX7HacBYxaKVp5L;*IwluK*Wi=*JgAvR)8XrvrQ7^&L~t88{S z*{ui=S-E00v`9Ti=VzTZ8pqkRv&f&2R;oK}5Wd5CY)}gt=dyu6Mpy()M2%mvyzw&` zkcdC*l+FfTr29_+1pHsxl6-_a*nY zAo>WibiO#8Q*oZF)~k+7OQu_>&Ca?BzP_LhkIM5)GU63hqB-Ze~f+Q6ngD0e{o4^Z|KX?zH_ z!3td!Fu6mxS;7&4N28Yk#>tx~ix6n-2yQT%L#hMwvLQ&@H6rSN%ImYJYUuh#uLW6Q zawL7CSkH}>E{^X29ebiFNoae3STdm75=g23pmzf#kU!aj18n|J|3Ez86O8Sl`mikA z5BqsQceZgq3n>F)TY<_d;}}DE0#RAEmM_ae%SEBr$~djA^YT15QdKupd@FQ;tfZ=n z8<>vb$7*Ofx}p1_@kTl?_ysh8=6E56SEzj3eY$+Ojt|^#_R7}DT6kx+p1bkEZRGgR z{n&kMH_uPHkNUn^P+U4;a|*q?K8enEtfDY_{Qy z&Z9;v+!ON&CZAA7z5Z2}X@Qx2_=kc{^{dS5nq8{$!ZU*`BFaLw!E|79k}MUnuO9%( z0%5T+r6B^BKfE2XIXtq&O04jM&Pj0HCo+E628Zb9MxNLSCi+t%2xUwHbqI)t5W-44 zSV}cwh(q^6ejE^XKi{-f)=Dp~6_~?;PlGz>s#)wpV70Y;bIA+Ntkm2``=Y@#!1D^E zf+NWhpi&Zsg5oMv-O*S_TZq`T|9jl|2l2W7?|*{7nF=TqFA6Y+fu&Gs1m)Uso>Yqg z#iv__a(43~hqGknKP&H#PYtl5n9@M4F@_8`Fh4gNFb%I-icqABo8|p&AMt z#cd=?QBPv<71$Lpx!^d)gIz;1(cdr}i{N*$Jl&wkQ=zR-3C2L^8GX(cQbJ7>B4sKy zvA6SFrd2SDaWaP|iR2_9Djnc1g&@Q#S;i z^bEpOSPv$Duv}k0wa&~|2(p|x>le8$S<645I-B^AWO1Z)ftM3eZ%wCr)Ys2!-rO|0 zjx!#^EdT_pDq%6waxHr)ggH&Q;@L+TB{2BDxn9@-e_bfV|-3th>m28C7 zjLCGV)CRlQ7>tSA#x#aAbBH_&y_+=g@cUPc>5QMdsZ=|y%ItB~a6ZaO)|*7K6vu3U z(%8%9Z{~P)ORF${6Udg^)qRNh89&HnmIx zqS1-LR3o`xMOR%=w%dcyy?Ac3{y}YK2jV2~_9@T?y2$(oQGtI3VlL8zfZ>cV>{~a?)N;wzpgQ;S)-@ zH@ET&s(wEw?OsokB^$9C7tCxLHKE)<*9AOE`%NTsAQ22c^U$-0v4UTZaQJ0;%#>h|#>xLc z0AKKA#A*}d_}slknU{P0CmI#j_emHYjIyP+uwVc#V_+ok%Xm!qn+nX51|RP2pR9jD zS`z%CoyECuy&@^D0b7Czg#brDV>!wC5xBkU zLD8d`yED1&6YU+JM;lHC>IIz*=o6ArjGsWcwi40&ZEl)@XY)~v@GD{1asv&zfQna@ zXb?OU%qj@3$%7_3Y??>~7Dr{ogRX_;#DmhBGU_*|{^UN4=!JX(3&)s@2wmZ8`mahZ zXpRt>5D|ud&*XIvau09%T{?|<#~YcQ7N(uVnlCg|I8r#!js_1%w~Po>{nkL?Ap{s)_8K z6Pd{zjRZq%HpXVL1P0BUpw}6dl@OPX)QU?Xt^q|&%z;X~tO%03Ba*%~Xy0IdGn{BU zJ6Q3nm|eL+9L6aMV8?cLbbX*kB^-1ox~LOnJ6`BNigZIFg-~;3$`L8euxySu_p&wq zHJb?JDnh5@-|%`O6JzOmHgiK%aa9p6v8)4de$grsPtJUWKIc0b+5gf0ecJ(Rxv{>9 z^hcACiCOL~SiP2B|@)Fz6;*MkmlqGUWl+SNo>Z45M-q!SLjRRBwJWCwYX@ie9^2-eGEPUm{U9)W*BE!uZ=&Ly+YPmN*KDAy@4DB znm9048W0c~*k7Nx>1H0xY!lG^z`#n^28Q)ULMTF&9i%YerP&&F+KX#QFW;p)cYI^r*+0%MS2l;^ zv$g*A38b)#+pU9#?}O9*{rVp2*7JDd0^68MT5pyplM3lTmhl-(YL;vSCIW))!Hd zqOV|-hg`Ktn}usVQ3;e4w7!&I{%|2A=VXP@mIVZIp8_K44G2LqRWSXKIqJltRuAta zhZu~=8#LNaWH9`^H5v1sYnv*y*kz>v$BVnyqZS=R8Aq9wO$^N2ht~eCx^@2JZ1?nX z?b$KSi%_%I_gjW@*}4c;+}q9l)^TU&b|H#I7U~Hki>!8V#MEOM`>n+Th6SQHG_d2q ze1@%`n$i;G;jON`KqL2+)N~EwRO`Lil zdu2i!Eg~M$SC&Tm*k=@0Y(i3o;aOqcELaR;!)`J<6}qS%9trHrQ+9)J;L;*vGi?R* z4c$x0diw#mdEu*w!OUMLpf#|&?I*we;6DwU?esowl1^k>0!G(80tN_1i#=+Ze)p-F zv3$^nUOR%%sG|Q9aySFT`v9F?nqaFEw&}x-_)la-j?#N#PhQ(P!lgFc~uv`qSh{?W4N6Z%KXrcclx@bDr3Js>9*%*c@)U*FbO z*4B^6kEGWdWp6h2_fPN}Xh?@BCO9|}{8~9W*;?IMC%=Yq78D469j~vRZ0+ySr5dIY zUAC3utu+{O1ney*Vf)KS-m^*-$U}> zA^Gp|Tz(5j{!!$uZ-oyl=GeGfJwDpmao4-6X&6Mlc6-)rt{ivHf~UB3f4BrLh{7`v zJkxzF5j0KN?bGoC!-xVUQ3DvU;~0tuE-;Gg`@WTgvEgc3WkFLd5j3gy2%aF$dj!Vt z!U_G1BTSlzgLS}HK6l|iqu56x;ENC)t<(A@lqz7Kurz1lgK@qn>Eoks+Is78CEYr@ zQMCi_@#0=>HFuJ&B3%5r8h6{eqdX6O~AtVxV z!j&8s8s$XkfWKRx3B`{5>uiss5oNm?%vcj;F8M^x8~B+fW~-1MxPs_0X|kKrI6ypW zi0)nb6?!C*V~_o?7^x_9ia9*M8n@|G?D|v&f+rs>kq0mGt++^zPVxNYQa!Ck!Wqy~ zJH)$+Kki^GoubnA!CK~;3{1G$M8QGs!i9$!QaDn=_Yc|lOneh6j!Pp2>08<5hjf65 zLdC{8+GE;AoyYq>JMqy)sMv&sh%XI`jW~4Tu_Im+yD-v&t>15x&}=xFP`ah>$&9-E z^IXmVwU6*M0{R*0&rp75;U{?&P-veNBFGP9lj_6`5J|e^$_onr-~aqy z;D3~{lb~z#{C|W0A%{}5;E3YbNZ#zW>BE^2*l6|=GleN!-6GPnv@)SyOoHpjtME^c z28%Z{)(<^b^F5ZQ&CHIhZYC|FJkd>NQ=JP5R*=<9kmpM|Z`4szuCOU&9 zYgJZo=5;G?2%VBddhyw-06|D13mQL$afauB2ceVmq>1l)nJPm5f0I7=N#`WQ!Im#OQsO1LFUrBRGoDY`Mi8!eqe`jxDe7s7AxZ&nzf zyA|AI2Lp6R%Gr03ff5I37hWe}>>Q9s{dO9OcWG|Vpbmi<5m##hK|*qK;Dn%n7FI&0 zvNTb(W#q-Ynwg@+y6AF2q&tn@xst;`qZ5dND6pXhR8*;lH#Zj!gpla9V|*2#eNQr7 zeG%>)K2-g&QzG0*W}FnE_A7BaVcuZhyZkDU35M2)zyJO3J1cverz@N5P1v_FJkE$% z2Hv5~Sf$ttzoJ?Nu8Y}(miLydCmBY8Axp0;OsE04gEjMkXEHH67qm1KCNQW@8V~rX zWA&>lebj;aC$>=t^0&rY_a8F+&c@ z2>&8KAiHc# zF)L>9>}|-`CxggJPtumZP`eGd9zv6ZkGU(+3b;tg0}WHWl~-pdVfZCuTN%g_WmGh9 ziCExF^z$>mB?Flvx4)5)8Kfm@Lcwq}{DKwF#O`L30-Q+@pSvCZQ6UGuLX<}04csBx z(WWNVZe;IDv>RXrzEYcvT)AP9MhKC!stt__6-CtsjT@U^vq6^7&4`<$Jw^Z~T(6dj ze~wg40U_rWe6?~l!5d1sH7h}YY_Nk8PQtt@VI-iv1A2H$`G|>|kgyTGoQ)XEVk7A5 zm=bs$_;0`N%dzF)bA|}_6)ieu<*k(Gzi*9<|+Bw&@g7javKiy01$0BRZKB++j(ZS;Vj9>;pEP!5b+W%#=>@vCD@miVMCf^ zqbjv8)i#=+XQQ#^u+i-CCydMj0jK-_{^$Q{95BxqLj)+j2fYQcDWbObOt$w-Q#7!b z7lHTCwONjyL87=u$8#FqJ~2!o^hJ#lfB%`PfP!rxU$p#|3CRIzw8TFd;%5{u7_v7i z{(@X62jG!Cd11aFemqCrfcuoajcG1(9pWqpP@jkQH*}0@r`POAp(h*$-R0GgI?BH2=dR5twg+eLOE=IJG4f_cquiu54ws`}F>^hKg!WC>lP%`wx<>jX7{ zk1)D7Q4=R_1H<8Nj?9*1nb9fmO1Cyasz-I3jFx)FaE|w-1HJ!F^21WetF$IO>6#Y2dELPQw|w(r+30tHLqt z=I;>E7AkvUfkG3-61{e=QG;R>ef=$() zxX2{k84s82GW-UIi%Jg{Mk1|GmHJevPnC~-s(6(4ng!0J=d2GK|LWu_>x_sDt*c3|Tn;w4SnQT<5 zO`FJki>fx=BD^?{gomIdIK^YYzO8IB*n0OE>3%R+TXq zJk^}69%p5e$6PQfb|JptL#WsVr+VT$<)<0%&a`Fu-klH`Kn#pbWPn-{8Q|cdfhjJq z<1$VE!XX3vH;Yd5%ycg~dcc?^dZ37qgX3j}a#%DHOjAb~#8n~;7QCXCX+{}6HLn^i zGKKfA8m$s_ltl{6#0|>ggd99388;}XW|zSRn2$->0R7g-V*_>M(NEzEWvVMM%m7HQ zun%JVcD92uU&kq)q%%hD;J8@m0y&6%B>y(?eK23@{Msfh#`7rFeU-bjmDGK`n;R$n z!E0>qHtwd+8SOa4101iI0ZN=8v}BmLtlQ(AYV(YypBqwXP{TL6Y+x@aC#k@#+sM)K zx|vOWF85R$1v{Zro1Zp$*|Jt>Nw(W3FWl4%y*Pzc##3qcy-bco6GM$&FBr|1MiL0_ z>Q&+m^uO460}41=j5nAeoPb_cr$&)XjR%=8%%plSno$8+kI|GE7THXHf>UoCLO{Jg z5rN=;6@~)gVXkC{;S5jAYvfC z_e%(L30Lp5`
    uJaTbUhnJH>C=AfUL33qd%?DqTpqRh`j01T-)XNDK**RF0QOt} zBVWzXXN8~^zLpG#%#wt)kk)3!B6G8kRe>W5D+jZb0g}CwU>2-!UQ#fN#|5+GsKRwP zOC8R#csNTkZnw*(=(WOGC^UmCoTXnH&eF}oS%~yK7}8h&^*cj zWj87L?`6i?Od3)SHu0MADcNMa-zXZoH1D^EJc+#5@R@fXj|5Bh2Wb!D3o31r8Kn+R zk_0EY6ZwYV(^twFh4X^HyyWW1QjYujo+bG?P`i`V?j*mqI|&tYKfXJO4lmk}D{vS0 zl?)pS?f`HNh5Nag?Q7y)kp0p!0~ffm;pXVYom_FWoG(S7;3&@Er_wC-1uZb{_Qydx z9k#ME5>LHyPFK{fv;49kNeSURyv)g||4S7zf;%-+|83lWterCqv18-fhIU{73$TvK=m<+ zp7B%#1VTg%RY*9fR*=Y#3(C=1%(h&Ju4Zf~K+KsW@RtUd7x1K*ck`%yxax0%CI!m`k#giiNp{*JP8^c z@7cfbW-flLNaOr;e>_0AnkT#-PnhiS%wt00)`GN)>E9}tZ|KWvsB3(UUy%!t;mI%| zHR>MM$ZpBYUSv3VoLqqicTfEAj&_UYR0Q&{b#to%8%hlVwTNtjf#WNJ z#%ctqjPV4~j1TDv!lH7ltsk#`D)5BjeP2pw*#i09aoZoHqo<5gfV7gMS1i}=X<~DA zwnAB`co8gbM%-Sl#_b)^ow?V`5b7A9UfFsSaeC)Nghd^L=RyZz1`-}(<OC~cT&CUIAv1A!{)4PI z7-u*f7WLpVtXxE1dHkh7Q13JT(x!5E$?3Y}cp?|6dZ77*D%A|CmBnX7E))vV0z6mt z)<~E0q8bE!(3tlx<%q5n&F&*0x_V>)ER0blG-AypkirDkf?<*pSFh8dIdf4Vl9s&P|XDVh#@}A}5*% zp)-bxK-C+5zdz{RGjrM?*xraqPvNx43`kHd5p*)kZ)rUd$n!VfI2NJ#ahFd0JUd6$ zO4-%{eLd|K)>*Q5^zyyq3VR2Vk96<+i9h7G=h{RQ`YPK{9>i%k;P#Xw8Bp0Y;Al$1Bgf%~?4TQCU zur?6Z2Eq>_HOy)tbh94jBq$$GmQ%e@W(9M(}Xb(GBekCJ&W zSnfK5Qd}dsS7y33l6%d2e>2|u>x5s|Nbc`5RIx^KufyN#!{xU;Tz(zFzJ@^jxW`M4 zNDn7J!5Jl_ZrFlZO@Zx;3_qedws;zM@)Uh)Yq8$8dD>=*GTU5`BR@i_4!jH zx&J-~R*mFdBe~bdRDDc+ykn|Ha<5IVaIrJJ9~)4%>pqwzODsL(kZeBp16fB#40Z=fJ}3RemLM)9$q z;lH0Lqy`|q5d0UHgtLfC`fx!1#56$8Wdn@EPJAng)KGC2?r`m!Gk)rQZykQydpc|G?j5bRI|pau z)@d_2zr5ZXuRm?!1>|64gb6L&yugnm^oB!YVTQ>^Fw0_QWt$+iI$LgXDXJj#~? zAV)MSC{DAotZzz~soX;X;szeNpC9R`a9~uno7t~VMB?GQ$trx=-pep}zzpmHW|+ki zvZy;MnPmy;jz-a8{1C`mT%an$?BM<+{b1`-#2)e%egZecEF_^ew4K>X97+$4ZU@B> zkB}9Ei;gIuNs3UJgJ46^U^20ug%&Rj=?5UB(V%3M!(JyYj#8(qh2r+0+i|l`n2@I8 ziDyqQipDv5!W&flj)w)OCdBJ0e#|CJ8nJj3^-m90P!F7_Md>FejVALxpd28x2!Y+- zro>Yaay&dbg?0)q826zU?8XbeAR7}C>?fT)Ha-$>E+R_h%uXUG(F0NrPndBxbcz)( zR5^c5#b?zFCPDzNCOOOtAb`byZ$8#W|A{Cr{CZJPiJ4vJ%LSTOyr0&}xA${Dr4z&4 zPs#A>`{{3cKV39}q+szba>}=}c-JiMH)nCR3a(~xB8y}1A_imPZu-|fi5QjPtt8{o zc)*&l;ZFGvq%yhp+l>}<&7!QM4=!+QNrNp(zEi-lhqwC$u*WjCSj;S_7l1=OB5BLA z@-2cIDu*JS1du3${gf_u$X#e~eTWrFkS4*yVH%UUKyn#m8d9al-||al_Yk zXsbO_~qgJMTrEcoKGzl!ro`rf|(T)`* ze(Wc{rTD6CD`x1rO5lf{5`}1%RkQ#S;RnxSeJor)})I_YHqTW zcnqF20?bJ>K?u8u5LtD!6XKAle`S`2sh7rbEOqem1xS97=Kgqyk*47-CsO$$3Mx{f zlDuH~r%FLn5o60-b_jGfVO#=?ob)Lx|FVDc#K2w*rD(_b1(*B5YiSFv=y3$L8FRhm zeiIiXh^sg05txT)(Cg=$wfIB~V93Xb0VjCOTG>1iYDR)gdd<$i=z&BROsDE7>Ts2- zsQ{Dc1ENdsbA1_i5y_3la0^q98OmZP#j#8Qt7P%kf6YE-l<=;*Nby5tT~vQ!7h%c% zAniddpMu2U7eO2MUMH2eQ+~E-LX=mjpg<)j-t{I|T9s9t%}}b9*-2^kz!JOH z&ow6%6kKv4Y=W{~5CSwlAVn0^W-veqRoQ#V34Q)6F3IecjS>m?b=<3XfvSjhCcCp# zSZ(%>{032$dZs^VFdF#U52E&i__h5Yew{eWw}zuBjYz8DXl6UDcqjBqn3`HOOwDD+ zxU#3k48WKlQ{GV{n zJQtkQho`8Yh^Mn$y5XD+hcfsWV+Qz`GNnSHQjHx`-)ZVQO?{`C9XqBfG)%#9ng%51 z$~pTrlykpY!e*C@O_Gt7)jckpj#c;$oF_h!C_BkQ7^q4gz27{nb=uXKx%ro-T@`mX zr?p)~7tAYag{}Xd6}9f0=V5m6m}KeMC5qyOH$MNlA|*3Z{PDJZoql;~d>{bgVt&@l zsbwo@TI|=+w7d;70OkH&JpP#gr=^_#lA9H$I$C)Dds&cF83*8IcF8Wr%Y-$}NViAtZ3UZ;2g9S}n)izb)c{({lZ&Ae@ z=b&F;KZ5)Ij0{Mq{maNB@DUxDL@05g?=X(^SPDOqe6F|;g}JT;liyV^VIq#^;}0Aq z5v3A2593F$Z1CGIuYxUubbu=3S9SS861>5?`12;L1volyF-QuE!)=FC)!T@GT?D=*y4YkSFw=P9+S+aq&2? zF(b;9H#5U>!D$_~dJj#~aN4~cvRin`5S+tGVTseg|E8n-mB0ha!2c?TK{`Jd5i~Pn zr(Y~W*(iDvkq?Bu7!AMRxUlq#O*Tx0@Jb=phz8i&IHrk>ueHiUUKyJU)T<*}`jgDZ zpOo)Ht3ccxXAKG=Xk?ihU~kY}B4tp|VAVg`O_c3u zZzVcw-mY$~o@&R*Vaqyi>%-GQC?M>bnJ`cWuxm0Q`SZjsb20rNAY{41>G}rHx;n*A zS_ZVPDTYWFBcsK}x#eNnCT!DUqNT;Eg=lH94J)JQbO;x@IlOBF>U$WZocjTIJ4(A@ z=G@?5?*nk3WW_JczZeu2<|c>Vi3j&{}+ewN=ycGyg?xRNWvd_Eu3Eqv9is}<~l@65fUwtFG zs)6vgaf85CInc!4|Ni%#mA%c=mCg00sBH%C(ArcfHr1)3xW&tyDt^~3Ui&?~#-5+* z*f7O$Li7UAC)|r-#|tS22#o;#u!PXR3Has(gzYlJMJx6re9^_kgkoxY zBlb~c?+v`wJ}3+~cgb*zINHm06sh78B24Hqd_tByf72XFW+(8xuTz~-N_=f58M#p_ z@Hp%si&&6Zo#-=g<$Um;IG>j671b($5$qC!noATW$d=5Vx#)3bVjJczeAP|guar}k zF=-orO)+Ut%q{z&vDY<9HLru>$@z6;pLo1sq47 z0_NNeV%xEk(3OZK%XB+{-Cc^?!Qklpapi}yb$GjN-KQ(7hey5pquW)-HP@e3+n(te zo2Si9-RSCvyxW0=J5d1pun_n)elEHg;9g6GSST`zK0~PeSv?JO{Fx?hBjQT2>^iCJ zW?;N;Hv`REA`-inxf!6zpMb+&dmAk5Z7>xl{ugvNfFT0KIm-4^2~ND=ZjkM(G*kMH zdLzG$Dh(x`YSf>1UU2yr;p*g+^*1+J@Nb%&Gu9S-*8uMt)I|}pKcPl8J(zl|KN_0) zM?(kywNS_fJhJ6gfHatyDrUAh^Tu(;aI@FOy; zpX6rf5zd2&Wmr2Ca?XUyJt{ahUcCJ2mh8Nsx_~*(3tIIJ&I>S6yIZ^Kbw-bOe`wUc z>Gh#8A^wJdVL(e+&Oly;4dTX&$|N}(q)N{@*dVR?He&NJ`C82ZYYtd*zz@g)sYFcK z#;Y(t+_p%h!C1%rg*!w%_jgQ3Jcs*BrR!z%>W{kQ{i< zL|@R!me`DkZTt12+tH$~n+IVtcLYi?U}+nU?f-1fb2TPCj} z>*-|hp?HFaXU=I=!fD4t;*ZSsh^pu{e!#{?z>>EiQ zm+rU|57JNu8${zUS!b~#D#`nH7877NOuYL^{nttl2_I3@p*%Uu20QX)Bxj*hIVm}d z5YX|#lC#v9Bykl?k~xw^F5n9!X9w@s7wA2*1JNgGY5aisUMW9dLbz&vQ1gSConkn< zaOK32@4znXR=_G-Zpt<>r(>yQ`h#bWtP{0;7-m3E3MNn4V)n|ZiOU4gjb*}P{p{ps z@K(InBXAVUMyw*?Zaf_LqS0>4X05OST-`>dohv|AmE%g$!1`v8-@$EpHZ&SQ@UEeS zjEWhMmYx_)3ie{=Nv7EIIZq-b1$u#PZ3yrxvw%R+#9~=CGEb_zBpobEM}`1f0!rpG zPO^j?WGb_tg$!g~J~sJB@@U)~!y`u*$@NLX?xqLVufOlr%DD!Aqb;j1ux0h~Eh}3K zcDw53+f`%Xizd)Jv!iuqk~QML@uw!k>e>CGQG8EMWy@|LvNA%|=y`J5Me?>1 z?#Q7am=w{U2;-zfJ~W!JCq=QyEcR4c?YD8$UMCrIYPXfYxLas#HLb0t@7ii=%ClZc zuD}J}^1_^xG$&=o$e0tfI{#wh1>eTQ8S||=ytrmwHS_v#%xf|rx`=VCi?)s&K)5=G z;;Ov`k8&Xt>vamjd(-Z9Bma2Ks%lnMv#MW(RlT`u?UMPFhrDYW*(Yo6RCA}AJAD-H z^wz$!RNq+UI}27#BTlok?38KVvJtlyFU8Ye)lh%y8EXXZ8m(&5`MP6JJikmh&^$qCy0VxCY1@v&x z_~$^45M%nrKC7^QEEh?WDK2C{Ip%9!57Sw=<_L%isMf}B$pa6wsK9=ax&gYXs{0#)85?H`F5w)fVy z@2^kvJW0I9+&5o6DW3k$lj7M`lHyU0SC+A^PIkAv zWOty>O26NJ$`7DA*WEHa()RwUJ;)||kWKa1vyrFD3kv1_KL~Y)DpMeVw~IT@oc$+aN%B^>GNuf!E0Cy z#NrIC)+T`31i+a9=GXC0F&`|bYvNTs3OU&pQa@q&0Nl5RqYNXiYHSoQzGk;H11n0J zQ0@nmG%ZjOPBv2>?KM`(A+%L;8HcT46-Cy{j8Tgd*M$#igeyc89)JEfN)}UYT*F?L zwXPsdSH5vgGa-qhe!-ALs0gn#Cw|`ydo&0Q|M@amdkjAXiIW5S6F-HOR4|8?sENQc z3b6q=of}d8q+t`kN~!pE^DxRD>3CwoUhg)I$);Ll(-_O&G_tL+BrWU!^c>PiMGdT* z#8#vwu9EoRA2aqm#nqBXiELZbE!Vcaz$Uw8K@BWg5~$!LPw<=?D%RM2CM+|%7=G@; ze+I*0rU^GDmK?=^Uk@aHxs1NHi+Z2wYsa|49BSFkz2wom-E$SS`ThD(c}$GtCi=0u z`h5BDV|B|tQMV2@&fVj!*tzD_vJh^bu8??D1n)N3cbqad>%CMLYj{YyX^@!9Mt{)j z04XzSjCx4_ioS`|BA>}|lq&&QJ!Vn=YT@tVZQR5=r$hzYt*nBj8?T^(Em4U&RaBzT z@KM5Nn743m;$|9IQ1Ie9(@cOjCIM39NHB7_n1_#mbOzxgvZc#b7f@m&h~sX9Kvg%M z;?ZY9P24@E3WmjGA-)QHMnSxvd}}BJ+<=I)z1z5pGR(+*Es8K1SZG8P+D2;S>t+rP zqE4RfiL+JGYW4XlZD6q(WB5Q}cFOxK6!&dpamSE@2h`=PF z4mr*e8)(hADhU`}c@qU(CR2uWm5H@gu&!RDP+M|LuNM(#Ociz>JK5}3A|h$F*?8Ei zC80}|ERq~|YB{UNqijhQs0?`Pr7{oar&Nw7CPFQK`SkBIa`X}ri`8^Ns9zbk;xivj z;_`B}1UokgRd<=oxrWO1ql5v~LUIjsLX?_!FaR=3&6Ms$coG=$eIwGulFr=^k z>wh*j=uZ=p$dCpl?tniV|Mh?9`EfV)3Ft-o#rx}{J6Kh63+d)g9ikdW^!tF8e5$n* z45(CNNTUvDkVDn$gOmqOm7$prRu&SuI-o>m8H2Z@_2bp$NQ18;>EK?!h&d%SYH2M= z4#~>Le6~s1*yk9WiE|gdqF^*lASojseDwI;aoZmdJSubs0{Le`^v@I#JWn_`#eBmn zYxxaEdE9bBfZ#ZQ5H)PFuz4>6bZ@@#DtI|e@M+-Oz2t5Vq>T!u(PFL(5ZCL~=Wj{ayPL1G*YzhETRnIZucnpLcbMw!HMR0Tj5mJ@j)ty?nFpw8?N2w`8fa9-&lr<+ zWKwQWy0gmPdc9EhStn%rk%Kx^rh@15sFz(-*mz$6|+aiTrAJbkz&hs z;lV`kXPIxrugC0`V{yN3_l84%@KiPA$?@YvRc%EJZC5ef*in36wG`hALMu)jE!54z z)w9gtPOn1K4enWZ6T(n`0*77aGX%o^-0>mJyouGksp)6858B!0*XQO?ZJsxGcFtA@ zUl00eZ|}JK)qV~mt$n(3I1YAst2yLkWR{7H$L7x3WM0i+GuI8yX8uPbcxtrc5unXC zwUL94x%4a3E#z|tAXSl#W(ZPph=jc8U3StvbQ$;D(z~pSwS@kS|H!De-lu~>ZHD}L zflY>8l-Ftic|eB01>IloC$x#XJyOj@=FXs-mE0LBSZvs;6SE+{zSjfz`-FC-4lJqz zi+=gQqF)CHZD#!-`RtEmL~o4xGK5S)MCY=CG2G z9e3QPW+dTM=b5kgkvm5w{XTl<= zD*7i#oi(eiS#8Z~KQ^nKW__kiP?m{PE8M4@*SJs11HyUbq!jZKQ& zDm}+pmu9^Ah=f3f{jva34C^w9pYUN=^z^FZ80t8NI*y@^W60tdmgjb5|J>Bu6Fr0= zve9C>x#48`qY;=1BzESmTzQ~(p~SE}5%)?~FuV2?0dG{cL9%+YcuFqhmXTu`OfsX( z;b*DW5pOG(+tpPnU2uuNNtA$)c>5h*Oc}}JLtadwErujP89|>7_Hrt}N*U!o5(q(z z5tHO1CD;><|8Jwd|Gvuo_ak3%Wp3JqPzUB$nF}{L*3xb(9;EqP<&Ki|nOEt|EBYO5j@wxjghi@kJ4=Ve2*#Y{VaH3lkVm(YZ1)eo z?j)N>2flrFu#tX!h`)t5?c@EEJ0R0NSYhz&o}JzOSlQw|x-HTf@mdW2-lfkuUv6u1 zGK$=6H#MV#P3NJ4yLRW7$ttl#2sKEJ#KRd)WCJP)@#e0xPt;D@i#uu0jG|!8fuc}n zpZLfa3cqWXM4Jp(Vx|IL55PsPUHnmQz+#Pl`Cl9~6ZZpdf=u{mHnBqsxi*)-d*O^> z{1Dz>?m{YzGgJ6}JIP!3X78nm$?mngncJ%0XAVUH`|Q20cKH^2uM=Cakn`N9g1J^q zSHzfW#poZG##m$dJ{Y%eb5Tst+RIAur-yJw$z3hwRqI?rwNqy8l*v`Da|sc?fK5l- zC4MEdCczy5E~IcjH?w`s?{fSFY@!C2H{2YnnJ;SKS?*N;ik5M(DaVV!+t(%uf?@!Y zOxwaT)Jbi<0apdHbCT=RYW7;Q*WZA>{yIMIP@rssOE(s7sZ@&NbXZQp>j;Qyyb!*V zfefMoO`>MNt+7l3xf-D&nCciCj!s!p-WO)M*;gzF&lnjHdpUo|C~lAZW@i1SiW~g6 z=xKqU590fHz__Ww8N_dp3Z{v*EzAal&Pmzgi?YA?8+`tc#wRlQn6LZ&lwI@^voL!o z$?U@7ESE<-@jkJ_;WQx_cG_9QRGp*$!j&OAG~DttLv}()&I1YmDX>R+ZZPbTuCJ7# z@my+#{V41ijVewtukB?9CgSq)lhG1j8_1^AU>v%I6TarrQXV}I-?bQ=cK+JVJJpCh zlCAeUF-lR>DDW~)kvl6l<0`+wRs-ANV9>iyqb#{xElJmsbS+80E|>m^lC+)+L4bf2wv+vcXOnu7Kr_6^xWlHo? zd?Fngm=_l~XH)1dx+M4&Nl4rr4aSsHAB=-`I&2X?7f&pi`0Zh)WQvpSzTS#g#Fy%ey^DEL~gQql@w1n*m=BtUh6a{pd9D@i8%yg?b#7zr+8 zkjB*NNMm3iC*)dMh%(zFgRcNI=FtfQ1?i;lU|Zaj3b@}Aj zmLiNecxV!qQ1r=Nm@DufD^fHw&mWH;)Z72Hwm(A_6L0`u7C}+2zy#h8jPi2D0{Dmy zOfDJh2)MQj@c_x^q{0C^*B_4=)WX4=aR-4`CgL(vWEzUcuF>QJgBY*24~O?p!MsRc z&SzfaYO|moYwO3WbXn)nPUr24LpHHV;T5^mG>~;E0cQ*EcgJmikdB@*3IxJVl&ua6 z3d{n{&4|8_`5lB)12ctmo=xf&K=)X#p_djb=;^MsEn`Ed=9Og6G-}7T+7O^D-)J*H= zqGpzYVlp^f8QdJ*#srEi9Ztg>G;`op2@DF;%219x$nKaKky|IO8E2+}dUQmaf0DWW zGvife4$$h#U&uX06QWs=_2qXV z-sRx84twoEa~S)ButkSf5zSRsjl{PDTXF2fP)yf!6yFIWCA6J5bT!j-v_NwBFAdGr zfKmePxZh7dr=Z&7=NzI53=2IfV!LK7Aj4VK!hF!Jfw|h(ZB2Pfohl%2tP|oS)YQUzv(b zA00i`u7VybPYRJkyOyHDR;XJJ3u|*TJ{kSH#%Ns{Mk~CU7N;m9+9F1)Mo!jQF0Fe4UK=DuSzu*n2F8nV3^eJfNhI(y$O@{Y`KfuvXse%KD{C zlx>tf`h!s#wlgO)@&&M~2+w0gT*>>Fm!gwFc2Y7t1i}wvxvrq*D=o=i=VmxVxZ7TN z>u;kGgi5C_RVTcbRUjW^Q6UHeZ_vBRGW!fJ3+$JqMuFS-N#?Nd0rY^i+OL}0PerE{ z;zJ`UYNKQMMgLO<$%T;_^meLT;>ba_?MO9^XhuLLt7{OJ$Z$qRMqq`-{CU z>VL_vi@4Y5^DIs+f4^0k$t+74Pz)r^l)t2a2tQD!9vQn&Kxq{7d&VGl>JowqNxwZ{W+_ zXQD;Vra~KrCYeFgYLS;i@H&AQJ?z~Ugd^A z!$sX)I8l~G1((tkD9cE(qL!smnWki@mZApEDoIh3^Vh|4)6}|ykEJ_Ei>AZ+zW>*R z3@%CTLSW}jBn9tQ( z%sNaR>_x3jl|-}jru`x>t_j8AIrGndHnO??4CbTp@`AYAYi2j5lu#)lZb=qnbcgVW z04Ri`LE!*Q?}$AKOOhSCeDWu?m~+{n8qTtuEASBRj*-%+mo%YGYY?%=7L%-*884Tp z*`1O_c~VAT6p@CttOYsWoFhdrjn<;VTNW>v1$mK{aiTy$GnARsvA4A-cgeC2BS(R# z$>+K;G9_M3v+02Q<-+FKUnJkvXShsQiBNKK(*5GX+ij z{qKL@S=rk>UD;f3ioONl9U}57#in|h7LSH9FH=d-+jRA2H5GCNW#}@s#*%vR_(Hy8; z7AJYpYVOIC>i--UWkSt46b6J$0GE}4|In0OSj5>i^X$WrsDr0ISmS0c)XL;Vn@&Qu zA`6-HB$ml3)+Lu-5 z)M9t98xQHImAm85YRo4TH>_gKAO9+j_qtWZ@xG!>+|FGI<3R&WX3;7xy8O}=n&yUI z&8=V=t^<=?6H46*UdwuKL&|ScUk-`+o~Dieh0OQ#f+U+GsbFc%ZN6vD4tiaeIsYG& zI{)uw&i~}*IvCPd|Mfo`8}z3Mx!{m033kArjsN;Tb-+Lc2Lc!FIG;aqtocwjok+__L5oDSPL}+T z%5^>g+mKEVPk)jF0Ao$N*n!kVVn>}5;D&}DQH z7;KV42Irbiz#0310@C~3Y|UdW*@P@0+hT3fkgeuH6>=-DNUT^!{j*b=Bgn2@F?8 z%6!xuv(mgmNffOaMX#v#oxphoHzxTRBq;BRtS>~H$cxaffpR6rKHlSw;q^<#Y)7MOj+; znu*m+tY%^#gNX@jgh>*ESR0E|TgKIflMzP6E2BO`I)iD9?=4)z#6bNzLuSqRYR31g zGQQVIj0uXZgd?gCD9?%szW%k{3vX#c%$d0^!w?BtBJ$E~GKrsyxwK@Z1YS%m<4x-H zDcq^$ExZ9khL$ASqnaPr{J7@FAB7*YL0N#g(6B3cD#F6mTP6I6u%m+3Tra>AOn{u8 zCS?jL&$me#xQkrP8%dVtq2_HhZ>xFRN8@b>QHEx$ZTi=}GO-dCOva<}fXzq?=ITF? zFWJ4H*%12va5SX|7cdUJ9wqT4ocuPkoXN7p0(?o~f}h*!=eXeKmEXungZyCfuhy)$ zX1z7*{q0yU+$kAjZM5QUnB9a04h*a3CCPW*h7B|9k@yrWmNi>$F)!4rvu4+PxaPw( zAD+O6t7pw-SX|Yl*%(d@VYL7j?ucge4nc95!;DU=z5$0Lk9fAG)oiV1Yrh^_qhSIc zpRK`*Z#xZdu`4F^q2!T5SQ%6&(KSt)Q?np~lE_@0auj)+aP8RlY}Jez4SEklo&mQ< zJ|MeJnuVX>us!&g4@<%DYw-CXz6WfQf#tC28x%&;#1SLRZi1i|*-DBk+)|aU<`B+{ zP{x@Rq%3B6QgX)Ei%?cJ34{xKognQZw=B&nsE+B&YVZ(zjbAOhG3+oIo+Oh2jO^L- zJ8`2oXvA>R8*H~0&vaV&xHP!|C5Ae=!7mDq!+DLJmlasW@df`-UP9>1glVH2%)bLGr=n+JgkLJ)*1meVhSg)6$-7SnyBFvcBxoA0( zOX(M-63n2NWs~?|46R1zoHJk3Ojx~Y!T$w5%3*0_TtO%>8$&2m{&jeP!46Hr2H;Q* z_^~g{4P@Uel5%m@YkpAk0~tRcmyf0hOof#xJ9W&yu!%S^=oML)+tgdF$}a-C)NaxQmQruLhi^Z##Q?~>EWK#7x>ng%l9@Ox3b zi7jux(<83l@b!kT2-Dpicj5uYQ=1qJE+mlBs40R;i)0i`5%1rNU6ya@b+R8#&f~P0 zPwPuT!F0faM`pOzcvC??EKn6$ew#EPtdIdrUaXo?sjTkL!5de}bmd8Yp>=n!NAWNH zdp~W%A$^vu5<InZ1o-pm?*U751IMF(;Pf8oM?79C{7FdngxT`n*Fw zuuR}v5BI3a0G*(IlbL*o)9cmhHEQC$=8%j?2&%}L{A+eN?+=?6@~I3`w-ZO{xI>YiALd1R zHh%&JF-HUMaGGU(&ZzSpqJNi=1;1-P3P3fxo8KR8(A#*%T0RarWPI;!LB9)7+WFBS zfzcN8vds#k%`SF0IztgG%$$-Yhsafp{H4+0b%-4QtPYWzHAD`| zMua+ll`uK7iC!a2PUfG)z$9`~n!uKFhRCv{qW(#u<#~gEUGTB9mlK-C#s#ktE*`O67YG@|tI|U-Eq` z_ct$?YxIKaK4Y1!$nW?{Z@}#w2s_VOlV6SDX*|O-sLSM^#2@KTom6KS&`XWbfJtQ$*iLg#&HbC|eF5lN@D_8i5u@)Zo7&Mb@JeH5a&smNCy7N$bNx zbf6)leGO@0DDwdkw(xuQ0eSna3?I>fN%phgh_X0VUh#89(k#Z-)SLUa-P~!Hp(!cM zPVRv!K(xF|57cEM>P)uW3aB>|Vzi+g75fps$>2qTF$lfhh<%hxYk2?zM6r>~eDe{yq!1B#4z(uQ_aX;|Bp_Z$?^HO z%l)&h;3>LXS=}5S|4_ZP(RjOccYD;?+kXzvZooJXx2_1%%GD<_AF%Ok2Cpz5y~3w> z_Wr!p``fTV-*Y4327q|c6)OPZ24NqMTfGNx7&Rb_RHK(PfCLL$jKMDs_o&h9qIU?v z39lHa4d~_y3nAH5T#-}YiUDfD&ur2o*5W6WMlZ6~DQ&=^kh#Y%+|Q5sXYroCV&GfY zzT_O}N?<|Kjx#Gz7?Z&?ff!OY?HJ1?qfE+{t{6C%E0Hl_LUJe#Vknk;6tKVW1kEM@ z?%J$hTpP4_Rss!{V7m~e!jLgyUnL(B*OdKE2Jdo(!Ba|_K%~ZCyhz)!@(onPdAZ83 z5LX$}%T+FFT~Vx;E9PQx#iPAkVfpRqQ%+zx;>#6#Rw3TNV!o7&%fd98hSC91=$9)V z`z5Qn((kwNRG{y%FfaKiT;WYK-|nyt1OanJPN*vx2u#*B0t15!J6T~S==zGe=w1m> zFc~SV4Do0Y{R(g}8DT;|7>2wMB+LXl9`-u1bPDxspYo_EXct*zr(shV*;w?G2$qE3 z3)v^(OhGBS2^riKi8{Q3vD76M;8$=2^%c2|GryS%@XWhnU0O57!Mw%&tHJ{<`Wbl> z`IKiw4M&#A#wBfV(~ucGv%*OCeU)7g&^F0UP*=GSewCY?xZO!jOxZ*9(Lvhbw z4TfJ5ywi}KkN+%ds}Wd}!MsLy2jRWTyw7bmLLskENY<336tvxBtUyzp6)(N(Sn+I_8Ag`i2GM^`Ex02%1L=FuGuVp@z&$__0jA z%vNGF54kpxrFg`IcunC|rYeLRk!l9%(@ZsZH9?ueIUBsIWHm`&|!s!qkCg+=j(Z>3bDQe5GJQiUjcI0&7MyuZ+^uYBx zW`(m_`OKZGwetDP2T(q1RD7PIeJ*}e)IJwKY||5-;$sWaXNGev5Ea8Fnrs;wX~}c~ zUC-M&GbyUn7T(;%8rK<$0|JGwC4@RR@e_pF^|Y0qIN z6wPXY%7C2?iwvAQyI(ch7@i|4_8$+;<2XRC% zXh28=7bWlt@Sf|2pMd=bFHTR5mJjYpFygZT$dmo5@WdQr9nC&|JrX zDzWORtP-Q{&sH5=Ua9WIlPr4nT3mE=m_U_5$wD&~-^i%Li{!{4k|}h-=U~~B7C00d zKKTD|JQ!e&+J9i>8KPe@VV_G@j~mxZHFF8gPkB{HKg@7LRsmU3be8!qZ{y9ELL(fN zhJKW;k71Rpk6LMIP@nkGzSL%_YGx{Q-(z*&O{&kH*JM@RVyR|U&b4MUVHqT1q0A5^ z|Hed{mx(linavB6;;7}11S)O!uCIagn0ATe_*;=sZo7&f;}BdX{`KGf`j>zC|A0Pq zvE54f#}Ev(J!Mw{`GIfelzU){b8#&`r99k-0X!lV90irJuF(om{;H> z+H81({I)-5ZqLS#C|_SR_p8~#sj zg!{SO$c%ht-2nR`DEa!v%Fc2A`61xZq)K|teg*yWxBei7DgPR`@zbP*VP_|=+BFr`u zt?R8H8{ZPcOPUXUtF_t*jL7c~_Ig@kT@3tIIBIU`BU?Fj&BbP745S8lA8v+&>1*x6 zC}}{$_kJ6jI$TwqW0{lF+u_mv$lOS7S5CdJXJ+e6|8d_s`Feb;cTe^Pm&fL*bF7TM z4~7d34jqS|$-n+!l-@Q;gi;e`UYDfvHpmjP>AV9oj{Pvw71ObO#Z*;a@y*CrB0W$e z%`z<`^6;U(Kss*&UravX+2VWy;A9S;hTz)#8TR@!83K*|&l7-WHEddelHLfMLWLrD zM&`>3zV;A*?GMAl%V<+ol5e-i{nO{@VjK?kzM0l$^ZSN#>FQ@n@9A)t&k7FPl`I7o zt7t#D?h%NCYnlMu{6g-UfFWmfA=p5iUbjX}G-ZF#yH8Q5Im!E*2b03&v3Q113s_A1 zl1*%3XWLvn^wioMyqAMRmT7EUgLawgA-85oSi~(fvvlLb3=aaf9^c1pD)U%~nlN&e zMgbu1(_tEYIUqQ@VY+yBWOLI!dhXhiPE-Y2~ur-8A3d8D78TW9;xgZXXHI!eRU;hm**RWgEVKTCc^XwOcp?ca*>5k!%pr+L2_6#8RulxY#+%a!MLc_C6)l*&H{MZEUt@qB)^qtVkf&aOJi)-YFIT10@_H=6!kg>? z(d{G4Zi5+Mk%aM_zZ()B`NP}F1RRB-Y3hOE#VWX2CUK+$cAzSLVC!n4#YPmw@0Wmo zcw5^3SM}UDZ=a6_-<8$9@Y-(eoj>^QLz0GmxBt!UUv$?l*VapKjm(@ahkVUyqBZl~ zQsT7>qP4V^h=1)%?}yb06^)J9wHPS#Ott!!iV}2zm_Z{S+ktIHv8RNg1EdHmwiHi` zTt(GAE3rb&Hni8($lJWk4g3F7CGNqaw>5~??wy?|G;jNU`*P(mYHb}{CKp@r{%%X# zQ|`X^4lf_RiI>jo!}%i2CUg@Lnp+dE%j9M}q0>a}iB&m)+alM{u796i`xMmpLu=qE zG;Gx^X3AE>1+fxRX(DK4r@haI6Xf zj*TIB@n@?F=OvZItVj^Mw~>wK9gE}r-UE!fs7R<$WLlA7I7$=&!Ns&3L-Fh|P<+R- zEg;uKX8gff@y+4k>FN2Ne)>4D?k-26_Z)72|GN6v|9;{227B6A|8{V9adC9GCbHsO z2Tta6HeqC<22h*H#zVf}44!7U@yP0mYViYHrV%_f)&}Fg-UawtM+=#3= zac$340uzcGy5=ZuaAfQp1(&;fN82a6!;Po?MBEd4wkOCaD(?tLk${%KYn#{on{C&c-Iol?121ei4yg1JKwv$?>>yqPEW>9 z>&NDX=USJ|p`g3e@=s6nHRHM{5%1f`!zSpVEE4b8)yyNFW*^(bEL*b~eayVr^aIn3 z6dT+F6f;&6B~T3=>><|=tk^Wc+4Gads)aX0Tff~h&U)eX#`EZ@6W^}yuALg=ql@+S zqq2UcJA>nW&wIGJNi5O4kZ-`%jc_B0H49{0_ob7#xH-tU}! zz5VfI9~|jtVbT62o7yWU!kA8*KW3-p3a8{zOlJ`;jdqwZg<0@p6VYZ-pTdDVY{h}o%mvV!ZBs z{}sI87MIor2S+zIhuzD^_48}(^rm&ZXODwR{ju$Ay2IA-$O@9DbnVBDDN1V=vlZl? zaFcd|oo7_6o#5V1_L{*B&U6CJ54}(U+X8GCP#Xwcwxh&>7rRE}CZYGLca^Dba0}D^ z<4OPCJ{;bx=oi7(`f9s#aJkZJ?;hS8N4h<9biI>?Bm3d3)f7Z7xX|2`F6j)=r=J18 zktWPX`K>n;V{A>1;IA_evC0Y@YDU9!P!ukzc}gHyVD$YNJSAk6L{AB%_Rj`Z zB>XYSnLX8f_Ev;FtH-ArKn#Z1QB>XZ6cf<0;@O(7Se|98NdzvOakMaTzp2OP!n@&V z{GhLz-@bc;{^7;umUHtQwoad|-J$*UuDyS_ZET;|k7v(8a3JxCE-u837tF4I5B9@6 z7tFVC`1FX%WzL&rc8h!mx5^p)Jasz>fkd7tsu_Z#zz8kH_YFreEGPCt%M5*eaYf8e zRx#f7PLt=aor@q?^*U$Aduy$`UgZ2(Zy7t^AFcG{;rn{;@%!H9lPBISSu0qXuje## z@FZ_fMN?~s&$&sx)aCP2PV8b1AJ2;ta2$Awulg|%eKc1IqBv6GDDr*FjLpcDZx7VR?>EDE_x%3i^0eD; zwvx5GrgH5br{~V~_J)6Y9bOgE{di0#n0e0uH%Y$>-NnPiJ0b&=WdSV_^f1~GSNVZ( zmC@Z5-4GPXGDq$dT|%?Z(+zRO>R9aO))rLr&xkqUZvzT{GNaBMK8@VlkAAiYE z;8C0TwqRBd>;NsGp zqTRH#W8Zsdefv6kT1(H{dn2dqt*ux~sv_&9@28&&T@y z;qc*l^?B6x_TwKnYa008An%*F32JDd*C6oO zd?NtokJQ+A6~}eJ4Ij#IzU^6xkr=uQ4+dRb{80Fr#C>seVY}PsxBh9m8DF-~cki|C zbG&uE)=@7nAAVe1_wP>oI~&grD;GtJ7&oJp3A=^`S|T~mVBXaY%k)fe>$XiTR7@0h z>4d)GY7t=Hft6^+tJ3mR^X_7lymxA?G)=Gbu=6b$T8|sgyBmW`*HRz6{`G0E{kVJV z?d@$C_xGmArd3MGGQ(~u88a5sS!wt;GU?)poyVT5S%Imm;O1~4lWVylY%yZ|_HFQVdA1$I-&60rJN~-4>Tc|}zFu~|c5n4f?VJ7mabx_X z3|76BA`-1+&X&Pkl?pO*ZOE0AZ*_xL6uFukxRzpDuB(`KkSLz#sEX$Mn&X(7XF0Fx zO*z%zwHRSuGp)7~Q9Xwe9A;@ojUwa-Z(srqRm&_QjE?-`8@& zmYBNcA?PafT-&!O5znZyw?f|vlQ>p1E7riZ&W{!FKvfdmjm*Rg6IcD%*Sa6ucjpf~ zBW-7Gwd+5J>wEU$?RIB%=jPTtQkzZ19jg2L-ebIXBlM0d;=P!5cZ#CgjN!o+7cpxUrV^SJno0aR`1x~iPVGJud3dCyg57g zy8ArZiiRiAxA@jOPB;C#%Yql9O)0k=l%bS%?NU_lN{D{;Zw<*nW}ToC&F&Qzg@9m9 z=(_G&j$(SAr37vQxv`}gZs^5!{CbcfRf4 zj@#zf$Kd2{=j(|WENf--TAaBh5bjTfN`osvW#Q3lJBPiI_Bc<0F*}K?eyFOh<12b% z_&{(@5+!gvS5ZwEs9~B$;w>(4ycUTc#+P5?)wF$>#Oo)t(}$z|m9>-0 z+tJ4L_w$E?G+r|W63=wR(z%;Svgi-E5T$oS>R_pl>F}0I?5c#=U)>WDrFz6eZ8mXo zTA0qT37?b4nuO|gnIHmW58aAf#Q`F`C zqCtHY22(UY>dZZ}i#n5;s!%gkjgjbg+)a9e5X!-1m&vaJ&@(t4g5gKKf#1v*3T{<) zFBxw~A&%{Xc8QNjD9hf%BKFe3Cl1&ma7W{3oUAU`J z+T>;*+?Ao6_KDI(H>MW}NysZ&X&97+^AqF2^b){82G{YZN%$hz)c*kq>@)nQIp~c? zgtqQZX!7falh)6Nyzq4#qlo6zUb-j z8IJsO;1AQV$fi6QiiHscq2=0&?x_KgLG?)SeA`siIC5M+@O*y>A;L6a?`$XU^L6|A zrgQO_s++2R?d@Kw`jfhIyuBaw&yOCqAD<4I`}Z5Yn~f(S-oQdB@zStxSV4Oxe9>S} zz(EYj3@$S9*3iDNsnJnyK+`LYAg_vSNPgNKHhg?LX#ko5e+Rwj=`-le+>1%MRas)Z zPd*sYKV@!8E}l{o`4Bw;A{#d2E=gld^0}g1+~^t3l}b~Pl2oQf{(2A(``}%AA0sD; zypYBe0w*>08X~XU{MD#84qMGMr0uJJ4QY~X^gij~RKRJT^_|v)v&p=&^H=RO82E#f zd8@1W+fEN~3UZTV>N8^=wgICYwt5dGuTkPfK;QD$INxzI95SD0`VFL(+i}0yyN?Hh zG-9WP8FmC+K=SI$n>OGq;ZrjhfZpK@w#@j4x8OK{c_0ZR&7HZR$x~sy;ZT0&;rJRX zOrEb-qppm7oMD#x@sc^7L85_4a$CKK|9;1RY(AvXsKrtg;ehO0MD3Zcqhno>vxF@( z?xv&M9TI2DM)L@r5pMgvv^#3ztk}3ic^g>{&9u`e{&c!Veepo!a1t}%BtBPm?z4x= zW%=2ON8RY52ll06E4HjO_B`hs6h6!-{)7*^T)89$oN_=t?L6f7IEZ8T@nLTa1;kXW;*n zO>LIboo(94{3{`?jV7$BE0ko`wY-pYImK_5E-2zSY)O7eZEm9bKyp#Qj#e~X$*4=W zg%&2Rs8~2((?vcdT~cul#6?A|(M8Qa2tJm7u`t_{SD5hZ3M))XPF`VBXz~ivmZq;T zDalPjUd$GXRa-_0C#n_ZNVcRfzd8)ziseoD>da81xH;rC z@&Rz?nphZ10J>AcGp7|7HlVz?!5>BZHWaI1E@g;UkbE(35@+O!=8Qtl5lafoIU!eA<2!+PRS5;K zoUfz^%kip=mGGZxW1U=B&e7t3uX(^rL(5)L+LBN6U0c_U3O#PcbBQQ=LIXf6Uj zydC$4d`ATR5fdb*vGIL*H276^PZg_D1>tb?L~i}C6w>8Hy$38s8@i+-^EPnj)fJ=R+-y6ocA`V?kuj6h!@Zs5#fUP;qV>k`04TwA7qjYoqiKrg@9uEJ^ zD&|+*TmuZY_@LA5^-*v#qbjCqWd3!=Bnk?t(3u9w%Y(r;6*Jn?`M z`@(h4G^^JhaAGwUXHD6xmDCS{;qdr$DxR zr7e_9!lY>|v@z>6h-5VDG!*L3JPm~w#A(o{PeY*%$ut;VwM{IW0j*+H>ELCXP*%BQ z`DM&YR$aF8rTwl#{j$v`uPhz5jOygoO9oy#Z71gvcUPlXkq6uv< z#8i>@N*a+7)TFV1!thAX~XGKO^v(AdNjhSaf+RE&+ zB5g)CE2XTn+P0}6X;0oWvYlJjfP5NCxp&3gQaXf+TSdBK%Nvl+f{ZrHn~={#=}cDM zA*C}>aeI`{MCH9vJ`*!+jMAB?yelT{^PH?ku|FhNH#l|qcqSg{>~hT40y_+*h01r) z3L_{#?kjb_yn401SG>#O24=kj73$A?2P(86(4jlag_<;xks&KnSH01ePefH&VA51n zJ$@%nM%AnJywg!6tXZc+(!$KsA!(!J&QSG^EzU=kJ5!Y%QsLmAGzk?>-HGH-;g&s# z5-MGG%LiZS%%3#;N{8*l38-}6o@)xK?Sx8){ajN}eGgQ+c+a>2!d?gcmzWswk4)n# zoU*bxq;)dGqtJwSR849lvqw&8L$(;D1Cgz!jGL40pe$G$e`>%?!j z1D`s&!2waFyM`Dt-!-OO-Z@L&xvVVX zWr>Qxi))@mfbX5iLWIK1ym?&b_+okA%wpfzqGH$JJ-Tw&_`;=K>CEd$fqq2a=@LaKHc>qK}yT3t(9xbj@c@aKJQ0R{! zeq<#&B!YfwSMq|TUCE0~>`EsK+Rp?XR3evDJJbQ1U%0|~AgRGD9)B`O%I3Y4oDqfc zj2peAySex!^x7~d_nNK9c!6mXI?qtV)!FYJ`%|%3P%qq z#e9H2aLD_7CMCxVDkFYfuk>|&%GdP@U)LpHH!6MInDTX_!q*MS*JTt`{Ca_Ygs+l!;A+9Ntu!P*$;QrbWxz&P_0$qxUB1rwDg3|qcthknAClyMs{;5>%Ac>Th@77R(Mk1 zRau3KUC(bS)4QIRt*-yl^=24YA@P3lY7G?-_N>a?vnqGbuF^fb((KulyJt`A9+Xuw;6K2x#uO;;3q=}2dYHV3DuUdh zLy>*&chinPqWNgE59B8(TR2Jw81E5(3wA8GZsqKbt%8NW7N64=adxg$hGy80NnEdq z*P1zUrQOaeu(OX?G+Q2;J_o&a*T28Y431(~v(a&-4Drk0pzsI1@sI^S6ekK=B~eg( z)-$85XRv6;A7sgVzi`S#wqz&mA{^VSoL*ASf8@)VIo)#QdiSwFKDs58>HA=yy{=DJ zy=3Z0u@*#(%x6VxEL*g851G}8S=kec4PwyBa01N^Af{~xTtOy~^?1}9j{LzW?{i^| zz-&e_O-#&#jBz{2AJUzO2J}FG6-t6RU=cOZRgHa*qT=&$i?1Q{aW5Z|xU79JFPS+S ze)<5q=J$vOwNShZie|;(dhO94g`)Jvg+~Pm^fP|l_(!9i=HexXN;)I1ggK#pPI@`2 zg#SoUB}|JVN+64)2u{J6*ZVzisiEA7myQidO+aPP{yV82Mhs0mX$YmmJ|JEWgBJFO zBC6iTQHtk~0hh&9agm6p_^_RZw^+AbEC4^-h8-Qm?VcZj9ui76EJydq`uCxlzIV-# zjNluAA+vKJQ`Du4-niip;zlbT#9#73GSws|C=oQZIbeZjk<=<6rO2Z7#8531 zX7N;YN#io;M4_XoU8dZ$CQFe~g(jJDY?HDnD2HW~Oo3RKZQPVJUV`Lk6kFzjFY{*c zo)(&&g#3suSVH5H@@&s#pD5x*YLbR?aL|f9mSRgz=rL1%+Cr8hQpy&x05v*=@T4G? z62fE3Wlg?dPQZMRKxz}Gq8@+RAU|=GGOnM7utt75!cS9gQh5nWEO8HAK>!2gL<6Lr z^zSp*Bb4NV=?zJyhMZKO7g6pcg6m`0ULrV=`FIhVowE@*0(3H6v8e4=GT3%}6u`~& z&9DPqJ+!}XtE#7szndrSW9KN?avp-6t=+w(b+p>iH@)L01rG1!<3D82=so#S z4fZ~<0@E`cSJ7i9P)y6!6xY)o@Ka4Z+wgQ_3E7|LgS`*#E{A)DcA|IH)0;4OTJ7&2 zq~4mI?yJL<{clIkMt6Pa-R<7{LV{70&;rc?7Q7hXd(hoA{KW?Kh$DOE6Uog09;Krv z0`vNy46XkW zKl)JGggb{OcNxU}_7i3SpU8CZX;DCBk~)yEekdIcXga|L7;htp<8EUJ_a*84AjbE^ ztlcG%MjzaHz(uQFku*%*)+|kp6b(>>VtP@cxLO=2z89E*V@GOi8b66NZhGDO>yfc~ zd%CN~yE`Wv59i4@Ao!o3udSLFqaUl|t@f(lI=O9b6-a~5f=C)DBQJT^AoJFM^CqW{ ztm7Yr1WGbw{Eg&0;K^KefHJukrZ)$9V5-e^s*vXM6tFo3(@QdUC!I^t^j>O#cf(0 zW0LjYoIzE~&779=_Vnqvd3Lhd-0ub3Tl?1W&C{XN@3eP14^I!LQKH4hYVUgM#KUPh z;nC@LXwoD&&En<+k2mtiNEz@6cXcc8s{G&u{W*$Ba&5Su8&CrP8yk}A1K4bLW3b!6 z@x0pWMkz_d9niE^Q98`Xm3XSbJVseTGA9n4wkGbpm}iN7$7M#!GgULh<9lvo8eXDU zmIlvcTU9*U3Y9?DtiVki*EC!-+Q|u(=;z>y{71H;h>H2FN==#+>kF=ea*26xUb39z z`G!vc1wO(D1~EPm4wK%{zo(OrX*P=6@hC3#fq5nG zgh317FC~LshwaCt*Tt^96j=T8I86tzf4?HD(G61zBEV`4&kq5$fPefziFjs(?fWy&-MLt~e^$M_QTY7rxqq2RKpiDmOG zFJnyjdx$fMeVShAZFv~H3|C}fiQ|Q?mqdzc!_4D4_{Vp{SkcYENNg)m!+7zedheEn z-M5_a>c-t(@^qIzkM#!eg=nIr#F)EK1Z7NI8*~Qh!s0w4{VR z=6Qq(7mS$D- zW#jwuX}?Q2e=kY$7ob!7N%Dzi2gkF_CIRmC+OgkVOzi|V3ZVWNX_NfXXBzEWG0(0U z+L~^GTTNnuZDBdS;)lAfSfOKSftQ$(A1%Bs=2Jd8x9wwV>-@*y;rYxz=wDoJtPJgk z@X!S44?5SOeR`-5!fo?M+HA+G>)SWhI8{%M6ituD$I8hqziyz}Y!<|Y z1Mj|_?Cvzy$h#?v1*%>s9VL35B^srjip%6$hU+`7qxhDQC}yH*ifd_>qDPvosxy!I8(u!HZJwU>_P5rJ5_T5c-D zwSon*#i9kK?Jk3?*wqQxSzm_x%U`(;ICNUomd%KaIEY%E5!HQp7LO(n~Q z=Ap1=Dp|8#`gY2K;q_YnDplWGk>zV@WF<E9+7@+E?^P_{(pgxP_`AhT^`-6%CplX?} z>4UxF0|sY$iLZF7uPdQp1+ih+eiZ#I>+}9ie48GQe|Sg1*`eNaZ}z`^-SNz$>x-TE z;O>X>&`-!J8gYO6H2dlTeeeWs89AUiZ4%dijB!=$hs$v7P|d=jk@MSS5}U z8J3>dVeF{M&k`Ye*Y5EAN9*hOTd=eHV667iuj`jL*LTNHt&Oi6oiI2(Z$9jV$zIUo z*UNYAGNr*U?YDtHX1j7G+yIM1@-gePR09F7^1nj$Zgsz2KW=S$-}KY9?TewYy6L%>H}=!faP51i9b7&Lo{~_X z3THsZ0qJ_70+p8w9AC>^E20KOnHQsU*l+t!pE*Fv&j_pXGnpKTYF3jhWfB{q?nI{I zB$ln1ksB(m9{WlVX})Gyv9Ie(GD~r)S)Hn8buKxo>%mU<;{5*GXzho(dwbdKk5|(R zcPw1{pdZ|XB|=nUQ+L~Sw7w@qK?(2VTvamJxxN>Sg3J;cUWcrVlMRLZ%IcGKfD?`; zEAw&xM75&O=8J4c@E?B=`^|@R)M^gLFtqN8^dPq}C?p%(tC$_RpdhRGw>yqoqL@ugN*KR3MG}hxaGV8~>qw(DQoF z=Ek}KbNb$fmK9xmKRIaI*IPSqv>fL!^1%tqGl^^P?*1IR;9pf_7zUYse>?(5AG;vT zX3-~YmKVIP{A5eEr6F*h!k*N$x%MPwD%QeG#etkExIqrfbMh5U{Vn(k^3C~-k+er? zlFZ0h0ynf{U4zbkh6SWcaC-}M)mJpnRug!AGn~b>B1VC+7<9)Q9?v)m!@;IR>_}?U;wzTSY)>Zmp71p(Z#6}BqR zTXeimO_Z`7OMH_UZst5SC!11VpA}6V04BuZ0J2v?pN-jAEAGS04AUTPT_HH3M!D)s zGbzpFI~>0O8v}7R`0GtrZQ6xs;MF;;p<9Uo6)!rBeliq4(n2M6bi)dRD6yTzO$0?w zYi69*gpY-x!JSISg$9#d183vQ`h0xZ_{I40kCp8~{B*Iqb@x1c{?R=@JlWdW|K9!f zba^s5ZyqLRN;2*x7wf*S7Ddn!@>)JyM$X2xY00Ivgey;Hk`uYw(wX*$WNPNDOf5TK z-jc`N^z|9#NYypWB#2@qF=HS{MxL#BP)q6ghV6%@YpF|!=bj`->N4g7$59j@MHQD= zR+JpG%_(pwP~+pUrgd}UWOILebt4>f_MiRkcmIdB^J6W3*gRdoe~34pRkhXW>6bsc zqV39|tcjtDxtJ34#p&y{j9ANvzq*VFcgjq{VWcN+9L2ig$4;V{erzkQt$T{@#$gm0 zMxyGA>-Ux?99Cqu`i#uh_*Izg_TBoS)%=!rJ6kKq=KXneyuKP}H+mZFT=u`6b$+ZK z9$yX*zP64`f!W$Dvt2*{l=9j+1;00!>=t9S?~_w~48d>Iol)-dd^fhd*jH@B0k_&H zaslHq4Zy;Z(DyCZ&|K>k7?+(fF6pHc3CjS`-_2SaDNGs~G8-HBu> zDhitV4BQXT9Yn=U;|KhmCZd5)c(E8tn3+*hqN3feMbe+c=&ce)PZ>nUlcpU2IYAQc z@x}+iOaiQ zVor?(Bxc#6F;!r$a%PmV%8z(vyib;EzcS1HDWdp89Autsv&rO+Wkg1h=!)ydu3{#> zrMQ}9D!S=<;J<3*#KCLI(FzW0n>ML*kGAB|5(ZnQQ!y$m1y-TUUj`or0laxZ9%^^7A+Xm~zz zmIj$hz`AGFqJ1se*P{KR2g^({ewa9_ZtI$2C%O+YC=CcI0?rjrGdw?1qr^1dkBmS2 zDWuPH3K?^rLgqZDP^EjouXPHUpu4+g>#JL<{f&`hbuUh|(;vzA;jZ27rt9(TooYPm zBkwR4VPJAsw<5v6!XZ>&6+Q$D|HZBf2|e3?)dk zL`mW>)(t<<0ZlE;&5I!g*)2gAJj}SEVAplI)}AZK#39J6ja=CZ`Wi|3k$*j`d;`d^ zr%;dtX{Z?Rkl9_?K!KEESMxUE>B}2Rr{QVxAOS2SLn07aF+pZMOow) z(wof4L6#YBmJ6Gb)6tv44+?{sEhraj+2C33kHS{7*N+DbD_q^*J6YMaP`N%bNj-62)>?J zJ!kdXk>0uQc>C`0nscPBH@}ZpZ;l11CTMb=N=fs`)8$i8S-SSbOY!>?@Ej`ga8xPN zp%{8Ovt3evazQ9(&ITr)x;#ib*D7QiL^>3SP2#7p+PMys_pcnP<-uAWd_8&aX9Jro zUm$!7RSM@ zlzwsk!k!W`d6=5mUeQRWxzu3QWN2V1COc!Rb$q+yUN}yAa(#EJHpdq~j(Z&^Iv*)3 z@#wJCzCXN)y(Dr(#}T(6BXgT;9`RT@E!FkTg#fd;MdOLcJ#Qiz+wWd5rY0fG2xMdM zieo@YP+(2U!^l?{Q?E%d2Ae}rY25bnL1E5`U-sMM0Z!veUV%n^m}0rvjUQNx;MDUD z4xJ`)!D7lV%im$rM&rkHI6_H-NS>V8q;Oldf1CLHeq7cK#Q7yJAdCVX@qgLK-I~yr zL1=C^(@3E^m&R+ zx;ARfsKaWLdUx~DCkonaCXt<1p- zje~U=lja~Sy9qNMR^;kCzlYT@Q14c6pHG`^XYWq;_TtvX%Bg#^`t`^8!A|@`J>7GM z7aM1rXQAL>#V0LX;J$0-nF%Z2aoy#*RvGWvx9Z&*xN4h7Elt!mkq;(M)J`&)JTV@| z1N_fy@`UD?iDvkoVuXkqFS-4d2Z}4p50`EJYfi-JNY=^Kh1s`j>dz` z5Hi94dzNSz*z|nz#dk#;eBE_BCtJ50eedXQe^npt9-WSF_Ybwl;Ak~D{{G#K)}yGq zQj{+WYcxf^z}+m$7xZ~W`GQ8x`C-@_GZ8U7W0-ufzGOfBu%v~FoAD*1pfT|eE;cZ& z1JJ1#$OX^6Zb<_Z`RfZNO`fVMxhcOJ*W<#HO&sqlGoFI6vRXDJJ&b+Zj$Os|Os$o_Ud z*mq7(E|TDUGrBzQbXN9Gjj`atmVKTHqGOXcflhDD6kP|S8GInz5OHP6w1F5Mq|MVjg>_#YP>=Hmv?k> zn`p6=RGt@kv8I`dt3ekgUjvf68O4gHn=l`!sYc%7%<_Y$q;i~#Si3z^4(t^_-AvZ^ z-A?z%-toZc-i^8k#zC5%eSO%DH#c_$p8QTyQejzBl2YoOZy?;aw0k?0OX`|BS=fK0 z4OqzdKzdMB7azJ#WQ4Jjcoq;>Y&%i{bd@$$Uo|x|)RV>Y!cPK?ws@i*@O}s_V!7q^TWsySjJrZTs1Xfi- z=Qzl;R8LIXas>dReXqn)!sPE_y z5I1%i1fJxikOCqVdBUrJBuO{~OsFxNe4RLcoCGe^2^o=Mst{2%^i;*r42X8EYF^^L zC;9pp%F41FrV(kK{lO1)qibwl_V1rowyk^J+VFPMaP>B6*}W*)Ji6Wgv7U4$=Db=& zXfDfnRVpmkT;iv5i5V@}ZX9@e=qOR-S&A74t`cZ~Y3QC~IhGdu|Ji$z?o^en|H_%% zVVy@o0mb`98k?Bd#291D#8ps*O;8D7yVm{hAD|#2HrV7O_ua`kD~M(7+O_+RmxNnb z;s0xs@6NZNY3?Pf4aQwXH0Lt+*clcxy}qgz?<+d%3Rb01Zd9k0A}x}5U}TF6eCg!7 ze@*6pP3C`1=6_A*TZ%eolu{qobeT#}$3Wo}*Irg!nMaVM15TGHFG;QtKRowB-{0de5k@BkJ{TyU2_5>#)IdEW;`&jte~o9;-_y9V7f{gQ_%aMc$)|->Bj7 zpVQn^k1nKyNtBZmz=)Ua>Fx78j-itqabm2FcF?GHrP;X7ANs>!>sE4@SY-|QW!qp zNkAR6k#=mMFEV%znlUG!Y0V^)pb-BtxAI?;@SkoHMkl4Dvkg@y%aCUjC|K11f{XxF zRCFL>h%jWBV&yy8hX2&zK!0lX&*pXicH8E7WcR16bAfGHY&z)y(#)>C*kL^N>)Kk{ui(Xas|7(RF zjxqr$6qr8kMhxl8XqyN;Yo!@aB+W97I)1evhO&lAO zp~xDXqV#$LnB#R5yKmOyTy;EA+2pmAb-wXX&V5$xsm5yx%jYK=wWlcQ-_+{8*r
    2G@%5P=$rZH+ywq3skvSK#vNv11*`sRPMNqfO;L|G*eN=OF^ z6I6g?tOHD$1hC2z1E2$y+~3=XP1x=U!x7=J_FZX2mU}Nk zFVpT><5eFvS3=U&S)G=4bAqoRrjeZ5kmF?i$v*>Ywf-ea)P6+n4lsL%Pki>P~0E+=V{eu#L{|RJ190k zHKkAFktS;jfK=fCVnhIhN(#V4Mw-G&x~|@$3(8d#U9WQP0KrF3Bg|(%h4PbfV)ju! zN=f-*I?7L>{tElm--x=)U&z{Uv(Z_Yb z82+xw>4lKfZ&pvo>b(j#pVbHb#>ZC2vHI?{*lk|CkLP%l?|r9Zuu*pvcoevsa?%T& z1PP*RpCe$~O`GHli0$h};70X&w4>K2NVe;{t@$8g8Pop%gqrU#VkdR9OyupDsaO;d z5120K07)_rFhvwVjzXyFoP@cX@^(Qu$lF)2{A8x?&rysp^&qPJ{Wv0H+P zxVv;AcmE!K-t82KoALIq_V-@Hue;A{e06`Xut%?ZsQCtJigP@LNT@oKRip|6d?+|<*LW-G^i zW!8tmtQbcMY5{KB5bu0G#JxVW2N{X4vwBObx~zy4LHoH%@7r3B-M!V9%6+%gTJ)#A z7$4&C4j5m3qyY!ptM0B1xzA4Ofr5w_TNGTdoPXTCAqhhrp1G_h|!rzTPG zq_Vgq9z!UK6hN#qfC#|=iyHIV`SLs`YfQ)J28tLy&*C~;Yva$-+Jy79HgulWCZ40U zNf&8t@(A*4x>U^ptJ3Ky6%eKF1p0w;QkeumfB1DMIodt?hin z@wn1vmkD+K&8Qp7?$8NTDP_nx2DirxRSh{Tm3TqvGUCgb7*$7U5NgodCOf z+xls;N^n!ZftlV}KqXy*itI`zmFfU-NCt#w9KcK=I@KwM5qGhSIy6r$DNgRg5k%gD z!{6{wGhm!jV&!`zdVO)>dlxo@PO(hppU4nO%5zC0V#Qc;d}UtZABVNi$-8+!6BY6i ztFsD2@aBc~Dq5vVrm#_i@#WW_nsy_F?zl(qPtE+@Lt!AD8+(uDA2`aGTuo;V!z`(}eDR#bmcmT?qMsZxxoMtKe*1_*)_ zAcgV(bGimpiANk0RR;B2)R_nur5Jy2s_VXFxy(#i=*_3;ph7!O%aJMwEdN<5-hWo> zs`%hM3xjuvU-B`k6B4NI{OsI4WOqC@H&HsCo0`k*Z72BE$+^coF<;U-@aBRymHS18 zM3o_ffH0W>B&oz}ZG`}nWu&QCp@h3U59pA{O_hZDy~$o{OhqF%QcK<3q>E(no-T#i zIG^L+DxdACKxQTIpiJOHS#9sB%``9b03_4<0jvLPEjT>`__EZ_pQ0&y_iXi#HXfQp zJGq@F4+B?Wrb-RU?L|%!YP6vT%MwGh+@$`ij4vjR)V5!lHEY<{nIh~ znlrIjSOmJi3}-I|U$uuD(8_j0s0a@Wt#7{79mUG47L5V5BCRJ?di?l zHDz}&dW422cG#V1i-v>e+oo(}&7?+_{OWs~6HQroayotf`I?kuMH~7IjOwmL6(pc?$hB?}@rD`*4Dg&FBVE^-c!i+`2fRq9lOp^Mr1&br`qSOx zN4NT%e{>qdtWuirvtg!^H$R+LbF}<0TIBr|H{0==h%Hh)&8w7-6c2lq;`cB~28l;B z)&FgBzOuyig_CNGwU13R(ura0lC6>?ZmFPgn#co9rYbbR`u*^x1MmS2j6ie7uf`GIN1QpLR@ zs@=0&-@g!>?x7XdkM~ho0wDex8qs=e&8@GD^PoG$>DY!c)nwQ90hIV<5!f}11SA7R zLpm=YO+?D+&X6;(9j!Mx2hEQ%s~UP!uI8I$u;k#Z2`KUtf(eCH-j`8^XQhSaE zY=WVqzqRCOsEhi$blu!jOHTz>5t3eIv5xPH$ z)`(l;3$U8l{wxWp8lnQiDh94$thhWK5`Y!2nY--DbxJs*k<;n@tC2c2+Di*qCa){i ziV5n5h3vw>__R`9wfR}`o2vd@ji_rc`hNMRxi$Bb7c zNpNupWq>qYc8|fuFm~xy)Fesb~kK>%;$Sm&xu5M9gKQvzV=p> zjOjBKCPdTXZo(j39uJzu3AW*X{wqzm?(5LJFF2KiXD{R{DXIuG)ias>!YrP{fGD~q zK*4=L*tf;ARJ^Oz!QhF1R;hZQ5!XPKBR1;DBkBNi(PAiubr^&#LT7!< zUVcdv7`QD?9Woz}#=}L&Vb(B(g2nTSBte9M#;Y#lR$U}xP1k`&T>FX;Dk#$F1bqf- zy;k{}YLjMWYLv%XJEzD}r8-cRceA@#ik)mLzf07+r?$hr z-M3!WZ~gM#`V|Cp4w=)syuhl3VLXxB9bO9JJ9#3|6_<1R-hh#=ru+d3nvr0L>~ zDf)azqzvyG8LLySK55;Fl#>P}RH_>AG4t|4dPBBo7P9%5Olv`K+;y^c;zh#&JH}F) zK*1NF^>k7eyett#Rsi)BF(fDgP<5WUtQu1UiOzBQ=@pdc$>#HMI;@up9evy$3`egG zOR1Pz4&A+whkU1C)?j9lqn(`nv2=>P%8soRo>P+Q)pS4n<*IJu$x&PBHdvjzR+{a- zvx7vmbC!~_enhmOPQgb6@&{Cmhu#FBj%GzZ;exzxZ-7N)+=lPi3*XxH^hLgIG4f%K z`qiq}M1J2JE#yrR ziu^uxA?QZ`W>Xe^#beWS;U2wv5*~x@tPvRQZ5tdZNI#D}(22$zJMsg5P$sgcRbKR@ zA3XA-HwN2!!(gjRy;-$yI4t~K7Z1G+obCcWW|)!V>Gf@Qmy5_I!thN1Wq)M!M`5zO zH+?DiblYWhta|@IX-2sDfju5=j=r`e2L5ZySBpB9_l4Lhx3BiG7~34N%eN z+q;mx4@Z;jV_&IMo4Y-Bd6cV~Q;T#rpvm5I4^}&R+jcL9pQEv%9T$?%Nq=?!Bd}Uj z50{aW<`0I8xgTu@eQam5d2b7ABZ8RyC>AzPJNDQJZw!xiJ_>Rx?dTD>tgBCq{*pwo z>jjp2W6RMdTNG#aho-@t?S0w{J3?Qp2M!xXmfGlPJDED`^LEB#LnT)9h4CaxbQ9Af z?8xU6dqW&}RhVH%a18_W`vZX@%xhg7>%YHBAz6d#xL282be-nHt&_~09*c}ES_wMU zh+cKgAhsQ42ddY5Exf!wf~G8bxrnnCa2uvcEaEB;>qme4Z<*G3#Ux_eOD`dxQK`GgDYL9T zWeI-1FlgyQ&>!{JbQeH|Ls`)2*nNj}%yl0(aoy94jXZpWvo4i2+E>%2R*ZB!cEXUb zNvyT&b3O4YDaV-2P4~1{i*jcvB?H=)GfmEEg1S8z_G>etg{L#KT~R@H0YInHD0J1& z$L34Ba?z3dqV0DOp51e}?pCew%tgeo?}XPoJxmN^ffQ}afwO{TFR0OOiWoh;*Q$37 z{dvLVoR4?qae1$b_%fJ0@q7R#97N`Qj!afkQVm$JMP@$oH@c|HEZoaCwp?JmbO6f^ zbx-K?gTGgN&|>PO?-ezzD1P;2-dAMRNw+g3eWT+MWMpokH}vu^XAJ(bC+ffj3H%jk zAHTiVe>-#kHBXdA7NLF1eb*P(LH6CybcLw3`0s!I;{y-8_v}Cq^&fTUWN3zYf03+( zv{=NAHW6zzvtFcKG#fdN%9RV%Nl_{e`%}BYe^#f8{c^8#bEPX_an09{-B921UA@|I ziF{~p)%Eg$&i0$oVSf~6BXj~KA*erFz2wX2j%KixJn@s!aQLCeOk6d{o2jRd-F;cp z{)+DkTZ^zcb7h~)ZhB@=f(ye%d=9g|FF^_j3^!@9{>Wv3#-`!46n-@J*7SZksFw9^ z=lZkBXsw{1!EYA!eSSJ6%hH5Ah*{d^XmiGQhKo*J>{al>q;Io=PD<9aGP?+?D`oii z`oER^&~t_-yNqO2@?qMnGYR0U0S0<0OG#c#Gn@O-CvesMWt$L>z(Oz?7FQ ztLCgA?WgfHtU;+feJG(ESL#U%TG(Jjmq6jvoX+`#nuPk4YsjiG8;o}waqP~ zB(}NajG(A~wJF4LMS>jxGo10WNhJ|Igl)HYbj2?Y~0J=h0kS zmSw5Gv4j8#gb=cjw{B6AErSzQ1A(OK{`c3ijWNa$NT8GH?y8v-ZH#O!&!cmW&a#AQ z-2XZ^3;+>&<(54ZIKE6FFKssLz1XD(;a!c&XBXVri1jYxV28`Aw}XHL!!)EhD@65%#5EiahC9vnz)Gwv@Ue|KNoJLRqsD7C`1i z6x55*05?nnSXj3(vY@4@+DXY$OOj>Ofm3oN#fJ0rWQ?$5xO2DFGhBt-Ul&Eb)i$Bl z%6645nSpsb|4`lJN*Tz$ddcs`l*ao^8KqmenYzyNN-puhb~E$jzaW*vQX--9Dqmgm z<&YnLfk^Q1X1pQ#p7Isvgx`;e(Sb}HRqt&sb$u=5kkZg~-lPcGYxpbwt2ujZc5b@E zx&P2fY-Rmn@?$W0+}VEJh1M6%{Ghdz*a0KW3)zqfXo&%Y1-Z->I1p*~T1BWYFkqw>}}?FX6d%EJ@b_dc=#G}>)EH-THVi`6S) z8BbtgS}OU%IhyR+#vzZF-s~ zXXf+zqc)@Rq`n%2!7L;HqSQ693@^*EFv1|gxijsq?mrHok`)M-Rn`swl_n@cR6&3t zs(GNI3~-weU?ELsDyPUiNh$FasFan@wGXF6allo;&Js{*ojnz#n*Hp>Q_ZayjRsa) zqwz~++`b;4iFr%3Z^(rOwE?+n?p4;J_X1#xfaGn3YYMDfa}9qU$Es3>8qq7(kY8 z0wRbF42}r2DB&jmyq2++mc%@wCs-mE5CYReW%Ub{#U5W15gkRiqe+_)A z=&)c=H^YNsjV92id&5w7g*2=B=ZTpq(x2pO0JSmSJE^C+U+#MHkxhc6eFZy~Nyx3Wt-nSK0O*lt2fBec}!4x{ByY6peu%= z5N-jEbrm4RMu0#>0QD4Fl@X0&{Q3NDN0A$#mX1O{*X6er7}O@NoH@gJ0Su=qse$@* ze(`o!%U8v~&&9k@FMx}c_L!v)F?>#p~cGEhxZT3#JW2f`OH`uA^a-$BW^53yfPnVUu z0;Bexki$rrwq|R<)9)>S42l4wrU?Xt8dM0;ZNW|oxeZft9CF>YJlznc18#a~>9J%C z{s(|oT-?He_QvUa(qguKJ)U>@^8_PEC zIsju55Q8MdygN#3tt9{^w~^*DBTQ!X;IG@2{fGw1w~qIMwSYUkEj0Kn&yHMSJB!%w z<+_~N@oTAAG~~h3RCN64l2d@u=aIdw)C3zk7C`aS&ge2^4%?p4Y*-Kr6H}s}R%ljt zVR0?r)5)N??Y>pS!iP$3HD9loHG4L1M9Hb;P{%pHupoN67@s#R#mPTT&GR}o9`M^% zad~}4w}3TSG582r^*)#5jU}N<;!s`M(Y_X}Dm;}8Er}^!gVm2_wUiVVS3Q{zZK zEvR7YC14214%zI3OFGaAf~}I z-8L+2oc65i0L48z6-pp-trXN3ScaL z={AO{r2_0N7T^gs0x;9o0Vc@QsRji-LbdPX7!1BM)Ea%HP^EJ2tt zH4eLD1kKTPvzTl5YBO>J9~ZN`ati~imz$Wz%cZD**0yxb@kvO>*Y21yw58me%nG&a z`!5qqrhY*z+1f0HF+}^iv_jQTF`__MR0xntRX|i-0SYnW z`D_`I$=l7<2oO=5RLxnJ%q9g_s0#x(x`hi?@78W-^S8!>ZgyVKrhz+cHqv3U9`SV) z20vXEl9{Buw)#<` zN2#f;-7$+btgWK%!knc}n7!;H!1ndgn6}vNhp7|8%Bmw-(JHhj>C5NKObqSb&3U?FWTYs9u)i7wC)|s5}z~1O*@shZq~S&cTu(7xxdwm^Pt}cc0+IZ|DCz&I>Rrf(PfsW7-XTk zg6u~1g>Bf?mTVj(gl`Aqy;{otH^JCOAOGino($bpsozzu@L>IUVp6b6%L$Qr+uNoq z{Jh6O1>9713P)?f6}E6aP#u>!(z1YuYc{rK_GA;oFl_`a42YpofROjcTaP-x2Ig2( zDdnbmQV}X$$=c{nJcf5gD(MN)53(F?&#V3+^C53EXFWh^L7kT#@a=?F^{!JW@u%mv zY^^XjFO*BL+|74uFNr{2v}B?ErgsZ78OtjvhQ2)sYWsjBN;1eSU7Jry9+i3>toN8R z$Vd}ICP`}F&IK??z9nt@M@#;XO9}GXbG1= zq`VK=)nL4H$QHlv_+X_n6Q6uS=E~lJRLLE6KO1{yy`66*9mECt<%nz(3eY=3!LGsE zvBo|pHbkn_>T-KEpJ7_RFP1BU;`ARCDRfF9XMzF~X(m82wH`$}1%eos$q?lnek+ke zrZZ3Dr=`yKHRq5j$&H>7$~`nYlZRqus9bbOeQv%vIB*K6Sxbc2?whu z{D|BoJ}Mook|iuZ{boD=fjS8@O^X?-32e-DfNU&lfnyV>j6lp)TUV9O`&#c{oulg{ z-1Yw|~mQ z@61!hZ1arkvu2LnBDMG`YJ(efpxjqVs7N}_*{JWfopBEp+Sx>UBu(APQ_GBlI}c}; z_Z(Mm@!D_7RH4p}<7qWL?dtdAsACFDoB1GzcUHd`RH3)Mu*DLl}%y==21fsai93_gEPho^HmYVyQ65S31T$I6KIUn~3??WyVe3dTe#=UhvF&(X#R$b2xg< z3`4=mkC+X8)PHR|Qc8r*#-(4Dw?=-gqWvReY>Ye^$gqG81(Ih+91zRnC#ZSkWKml) zkC4XtlMyl~&NHJWxtt(8#=RYm0O7d%vRD*a`~_SLdDE_yb2VOX(eYKiM{N9@tKEze z9&OPpM#G=Z5g&_ zK`4N28^ktrqI3Hc{vYc0SkH}~Y=Q!AI=2UilAW7~57wtFJ7Xm~om$-v7rZiO{H8d+ zzE-aq1B}jx=Woj5=CLha^A(azzzl=OroDRVh8o_#c2_EDg3fHBW_dl18fnU0Z!cx{ zYz=2_=EZTRGuF%4%oG`K^9*0(kQyzg^MgOol|9vMUb@qSotpe-AOHF74)IC1b|oC! zG`IE-`_BI~m-g+R_xohG_|^{b@71A~3uxwvRc+3uW;d)o83s5V$`pgjv(n67=iYj? zp(kE+ol@E0<+J+bxufJ-&bl91MFErrtX#)NgKTgFF(VQg)xv zW4*RA;ngH)aUd>Bfj(&s)Fm`k1-uF?0vNSz1Nw! zPJ2rgZC}C+j6j>^el}6Ie7m2IvZdVnvru+effOPT(zyUcL&C$EqIq(UEz_k4WNA=E z7#}I9`}jo@js&dg#ohgs7RtSLlRe(hmQlNUt)lsZ%iGOX`=U4G57zXGXeG2MBc&yU z-L|o8+_g8j;yHEFEvnwNnWqVM2CH=~O`M^ghNW%E?XzAgGJ?VS9guNQGE@9Zx>HBaTP-E7PDxjZ^c-9D2z zj}OML5A*|5XEIY~%&!2B4e1d=Ou&iy|Lk4ca_Ts`eidr2dS9p`Tb5<_o|-BM5Do!C z2qEOgCEGF>j19IqrD~pI9%x={OPKQ^A%U!3y?b3OlVw}BEPek;`VR__xeQbYF*QoA zRG9B)6@t$NSew7yLcNuL$URIS^r4#88-ARYO-UQGvFl`At`1aN2YLA5E-`;Yn#(Pc zRyV024`>>#Xj-fc-iqjwj`y zYfim^Elrvc)oJj)2)t^>%3q4(Rmft!6@700WrtYQk~KgSQQpqd7@!iffs7nRZ6<3b zxjYW+ofWtB2J#h_+j5y^Kt{FJh`O(|Zam)V(R~{igKT-&Z6IYr$aAsKNZ$^g_k8$P zE__$m1^=~1d_GJ+m+H|n9R?K!fvw68M=CLarl|y&3P&j>vLdOMr+WPC+Hf-MUjb`B zzV)d-8?+|v*J9JD-8Sdh`h?j&evJKwa{D;Q6{pp~q}|)!kauEd( zH5`DR7x(6Gv!-wAFP@8aDA(Ai`y6MU%g^ngHb-|AmV<|08K=Vak18Wyi&o!e<@=G` zCurlBa(+C;<++KbEQ%yZbzqAG*othb+@fU+Xttxvy26cGa=C7P2>Wwape{mtqyJKT zD8IJdVxxx5H~! zxsp$t*;ml_<^isCXyHy7luMm_rq}nKPRrDuERB@uM0!hS3dN2#4;tD1ols?m{;!n( zVOzKzb?`nR;SR}fW5oZR#oQ+oA*fKnwk2aAVG6m@XE9)!m`gfB9Hb%0i2c*9-Cjfn znf}XNzBsS8GxO1N(VE^rJH2#qHfz=7?A^VY%QawQ{#fnFqy2IY`VJXfKMBG0C}J}} ze`A6O%-*@Fh>+wEA{^C;qXGqL63_`^z@`d>ro^yh|7-@(_lgRqWMyV3cFgBmr!#*- z9XYt~4Wn%PK6=V!^um19ZZrZTp3T$miV8jjABc+89lu1y52TDw17aD^Pq`~ZT? ztUqEy3@T9}9ql0-?;!hndAF|zZee@u<)Xe2<>0Rk^Yc@!FkQDCOT~alD!2Pp4hRh^ z5J-ezi7^{mI{I7M4DIH$*b1|g&cL?bg6c~r+kBln>^4+-k^j^m*1gBhJhp?%zRj>l zE?3Kh@=F$6nMlsg!47Q&IaC6&r6QonlmJb&DBu!;Qptw&YC*4m5hW?-q8bd#j`C(r z=lK4)GkDED66K8*G6UOx%0AQ5v^;;wRpb3#Y_v-o*GSOui!8277N1XAfrw@@Rd;|a ztK5i?kPN6ML7>a3Bgq)*n)Jiz<7W^d5VxIj*Rbz;v&oDRPwTX~H0h29FJVXT72qV) zjpuH^T^VWbZnAt=E{R{1a|O!zYKXX{X)?2k0&J*rqER3P8etSbiRwtU8CLP-<$y2R zZ~1!6x7r8KnY`;|@5gVQM(qg@a+~iI@}6bmEa;CO-C11F^jxER#L@TL!o7d(xcu62 zIV5Cb?0y*Kybi_KlsHybrX+Id` zq1T<5#ma?|&K`T`8eo3_#!PTt4FBy&pje3)avHHg3qmg|bVfC55m46baaq z%?LhAaK-k!RL1J&WJ1(7v&X|FF<#XFn6qC|mz2i8n>2DQqZ<#r!_Ux<$TZm@x@2*iH zl0wqz+_Ks7{6<{v-;h+A4TFhmuTz{PHyj<_olXD=9!f*B;(yfhf+?rR)qA*F|HnW6 zNmE_U5f=wBq5n$#lMVPGio;;>Kg*37|5-%ykH$gFQp+=9>iN&uO9>{!{|dYm?^_tJ z{_nZ`V0+>ai-XM%T{-10e$nz*S^nbXubTW0#VbS6k0JH>k2~n3qR>ilVVp|DYic2L zQv%N*Q5b-D@6HJU?BoO&e;q&h)1nJ5`LC7EyfykpmwChOq#xVY{J;ss2rfm|zgI$K zamV8MM`rinj!UMO98T^ke~7Yv&+_w*^ySDsm-I$E*&A8e9l0bwZN#i`$PWAU{@s`K zP(R&6X~kw1(rMdZI_Tc%TaWc^#k@Z1nvDyM1Eq%-(}N>L8jxode6(2jbiV9)|^R&=*e{bGU(bK^lHnF@{{y(C!1sq=(E&bEtWH} z+MgQZhiaS zF>Z~~;Sunhy6@^*-%et&#rwwLG4*rr`X&81(u-s+$@V+8qBMzophk`3VE8_}OzyaH zKd(z@ArsE-R=m`;&!aY|sg{Op2DpVKayMy2RL-yfl9+}qNED)9?yK-MYAZK;CGE*I zUP}$Hdsor4oH6K@9)LC&)E}$OjQW@l996>Q7#>g?f7j!BI8InrSfp0m8L~6XEA+FQ zSCXRtq~_IomXCBOeLt{#{!EhnD=@gr*~;mKs04f>Gw3plsPUd86E!HPH>LB)h`Pbl zSU0k|forj^F3jcKhh7D>?2KWA<9wQA)TjHY?;1_()f})szEe!up4E%-EPc_!T$g$u zF7tA7_guek*uj8*d9ot^=^Q6nb)t6rVIl5eX<)q;d^M5_W3O2%w4Ps$ENL4J&wI(M zt=vW5ljNHJXl)k>xUz}Mrkk)7k+61WC3bP;CZdC($9^9s5mvIgC)TvVA@7Q6 zITIFbuX04=p{O|+8C+BC8^Jgpj^nR_p%3QSe8C)5ogo8_u%krwZDT}(=+=|7+ITw8 zwK0qGS|>NX#^A+s{=uHuhd3NR?TD1c3Y8$V5MT;&gdd0osAAfH=@cq5ktJQe+{*o$ zlr70Vd>rQA8W5PB#(dU`)UaW9W*I3of%%l~jONqo%+OV(vM*&9*^a{_g_L-A@5P1G zZ;A&0`yYPzpMNBhlsOI`-VF~+ikjL4QEvG25mAN0kGV1ed3S6_HYHWoY{_05x%*zo zXSLmv%*&-7i>|Y@?J`^b4l$u?F}vAmbN}Gq^1nN~ZL3pa|8cl{W+Jby1T&FhL_!eG z#Nj-+5e_ibfdn8OF`zJ!9su&8abyYUl1wdRU&#UW6K)miLfsk$e#9BUMU^*ZEh#-5 znXO)#1h<)6PwPDw(uzEmE39A7j+9O~M>FU3&2Akmx(L3uGoT09J#XShz)5v+2qO zp9Wcsw5gYGMS-Q9g6?`iPeFI*h7-`$O(aRSEdhuyA7;$QTF0DkS~gU5rlLgc>r4} zf$i4i6QH$BO_4221F9x3v?!I!d58f=Ahn3hC7ykf-=5d@iu{&;%06b3Q{M_%6~h_- zcOGOdtVoiM5U?f4WsoQ-Pc01ss>(=aHdYzD+=2g3`h;%n@b^!wUiV6(}o?}IF}-SOZ&v?_=*RR|@3RIVo}I?{j%i3}`43ASaZF?PAH z@Yigpwq70huZ8+ZhUrFQ{!~q?C4U;X!cxg?&|Zyo@3QfrnYSwkE0t>E|2iHVV2p@z z+2Ts-H(BOZ6hFLYMVYqEc^Fg$9gA%ff&nEQEfgV(I#kAt!c#~)uk97BDE=)60$u)A zq{XY^ndgBG*~Fweae&HHiyN0z;b7w`kBkvQj%5;zFZW0K8rZB`w`FGvo%?AI2ZK9= zy{K#{_x+Yq$=CzSiu=#OPzgLdI{=$-$6JlVKHkKN%%;NVZ=BNp`yYOI4|0;l&&j&R zbsQN2g(x~OC7}pfrfMl%B_u>Y1-bLuUJ-KA5%cF8RLE7}z=sQL!mld~`kMt}vB4W# z!#{3ryny$n8$|IRs-#M2H9HPlL?nnk3xnfm7`Tb6J`#QialG47gBrYXtdI?Z8_{Ap z-Je35{dBJqt%q?P59`QgZ^~oPs}7rCyJx&%`a(vfu&T6;K|YB>5G%s`o2YG3-o??F zjn~VD>u~}6J^o@-9jtG?q}WhzDr#+ruAf+&)f0co(2ct*9{bo>dO>nD^x53lc#v=6 zKEj9^{Msd5q+%XbO zx3^xl{NM%6ZC^fox`dVm%>-$!`Yej%-2}t_Im=HMb{Si@)s-H z%Lp1j(J-~GYlpSDz6?6gHA5Qm$^CHq1}EMsYa5S!^=htpBSmtpve@I$mH>FPX9+ykrZyoPo3fIjgI&g3~O7+tijaI6q=BJ57YV;|)gSd}!48GsORdx2O4m^yNRt*VG%1E;O(JTtad@7A~ zl*WmSbREtHIE!R6*ICB|t#gtL= zRe&8!`{BzOS1UK}&WE>w57bfdxt^~3)?jMnhIe{?m}%bQR_S>>4ePi%f^YI(WSkJ= zNp7)i7>k|12l)hig;*>-75wODE;Gk5dOc9_q?B)09FV4865?+4n^p#Gyc zQ*}wkIs^_Q+*&5G4Rk1DfH2aiYC9(WiF46kk-;_|+)=-nDR|r%o){0elX1qZj31{X zX;!MIgLpd5X%21TekQjUq|B$EFp*>m67?w zQ|JAO%E<(GJ4(K67v-u0@37nlLv#ApGVAtBg+0}@5t8Rmh)FCLEEg6<=>E?;m=JigMWWf){myF4_wUjBudsWX~Yg}vBiVH zA|&=^OCW!G8M_j7eAw1sYp^)h-KWZEG*yizo2VdsPTQT?u+*4KkpkYV3%}bRpAkGQ zBD8`D3qx+18$%k3-1QOjmJu0W^Al@~Dl~j6_GY&zui3AGp3l{0&L~^X8j;bxKBeXGWd_l0x6ge2@CfrPbEm6B~aF*vsI0)(ph?^lv7TTYx1 z2uz(bm#LZqSi97E)aq_^3wurR^>V8r5+59ISq&=0!@wBWI1qV~`3o?qPlb04OYC)T zS_A9mvUfVTJ!%_VIKA)5kCN*9KImSbU3%@8&g0$df$#~#!uw_iM2TzFMpzYV&>t9@ zEJ97@ctg}VSrRnt5zpX6lQ#_0aAZT>-m2qcSNtZt76zU6#1wkN^Jc4geK37}>OT10 z+vc%n-KG4!ckjSUDTsqbaXMmuo7prh^TnV{sKHgV z70&1zIn*~i_W?E#sK$RZh}~o(LYo1>LEJ!POfQ%;!XQrKoxC%dX>}RXz6O!$Oj1kF z8RIn&3*D$Eh&VN8ZjxjU9=3TTUeZr_?lNUIV#d%{I|fF3Zg9o+B&ct z^zjpj>7A?u=1}W~w2q%3ahV7b<}y|ut7qKE#$booizQhkTY$k3@Pv+FEMFVr)T&qw zAAZClIqOA+qWRf?6LvqwzVuFy`_~i6svVp>9_I zL6cP*m>e)H0qqJwMf=0lIY)y~6nP+6^4}gq^qma$Z@eLtGfSTYpf9`zdS@yL*Ejoe zKYqOG-t9{#p=1Ql>L3xl!-Ib9Tc!1~z}ji7zbK<2bG0KQz#8Stojyy&=eT;sbr1PeHcG$nMW+%=2iv%I#)43(yS@Y=f zc&;9K198}#ch4?NYm`&Sh>*xA7dnq}FCln-vTD&MJY&TlMG7K}5lb25qo$#cl;<#u zsu;FojxJvKtrucPC|>^2h*N9Y05KL=|Ep;RY0^mJf02?qMZ=h&Mj1toevE$5>0^ni zIWNi2|>LXmT$nx4#5lU|NmXV);n!f?#$EpRjW}FfPWZ7?knmL))nU65lF%n#2hX2S;x1J)MEP^#cc!e%t7RoYz&8QIg#L{y}x;a3JJ-^IUh?HD^ zV4+p@+R#e?r3i&4hq%viA4bZ1Kr zEG}LV&$S+KYr`q(BHgsP#gGMCNlCWXo0(XEx^Q zXPFsHkwW)l==#=l;WL&1;oKdf)3(`NLB1n$8HB_Z5xY36CIvX6UOLNGiC6;{ty}~M zd0`>Ssu|}nKv=wXoP7N_`IX}o>c=Up7^m?0oKQhW+dNswRQC|8Fe(=10 zq$}w5mtIfQ%qxak7?Hl=B4S=w{yjsxa!a#G5FHdYNy-!Oi{Ufy+LV{9M5oC5*UeRTfAIqdv1Xo zJ9za@JNrX=?ZMSyDqg6FCLJQeTud^uBm>~`wn+}uQwd_y2bGES}#=p_WmQDS__7L zk*h9KE`sNnz8uT84NXA|cRKT9cIwK+Q!o$Gq<(7YCeu~~ZLIVGUa?a6YQeN9D(cS<2qD@+z|S8o z{bu+mMu#9B&)aG^cs^3}!w1dlxU+%KJm2SETl<+(k&v6~I%7gTgoY(!l`XLa@Jt11 z2>--o{uH+{jg4$)X9hxafJ|sW647z2nFG}UK04yo)fvnicrc`@m87X1IwFshETmp!;6EH_I?n(h~4m(54*iis3s-oPl>MC|s@$-@My0<96OHnI{-r5hi1Ivr$V$aco;n z95iMf$$_J=6(_5T7^L;pdfVOS$+RU3-SK=5PTi2d^*Lv=py03TB%iaQqXHe{;QKa7sdKDw_ z8m2BYRoWe7w&33g_lD1@uE{jUQ!O@jv11c!4}&EaH8cQ~DgCJqDc07DXh0=Kt4 zS_g1qJ-{XYJMnGf2Lqo1Y%M+vIRBiK7T8uSnE2bSA)@6SwU?tAZrL7XXQlBDYbCqSrk zGC;qXydrTH5Oq-o2FN`nec3%$sE4@9tA}5omvh_Zxp{1Q;O_b;xM_9zjyVRf56=4< zyjBO^iP9ZkJ-t9fpDahRTUxu1-DGRuihOf--x&D6f`P=WaP?D#I`}hGQQ!s1*0@Rj~Aa=tkEiL6=(Ly4$NaHX$EYkcA|0S&AxMd zzpsVu$9<1`xP7_WPr~bH@(?YCV;1vXvhN&L;1d%!c2SwYlzvN@&}3$!7MP6OeMJs6 z->QUP6N%7@ev$^^&Ehpk_E%MhwZV*)6v%4$-oitv)R$P95ysn1iDiFXbYMpyS7@iS z%~cB|)+~@BR2FDJ>g`37g*94kD08S2O;X%>#t#lQCoD4;gT@na8N(>o^~KZ+%i^QW z4VFtRhhMU2W%%9%ux@!ast1@v-T%4A$%ZeN>dqG1=2c!XASY;ut46Ff&lynHI6+cH zMX(*y{CXA9`X^ZL}jh5OFq0jN!$0%8TT@7-CqxFaMo7OAI;v&c&|B_1(q?5 zZy%yz_`2|J8k^&;T)vN-Uh5txv1ggca@nC}&vw~2Pi|>eM0MsgvA7el=`d6$HAEiqrlmeWh5iZ3iX^#Ao4vYb>$B6eMcJ zFJ{gEswTbse30%uw}?*Pkipe%hQ=3-}BwDUVpfd$Oe1JQgZld7#mU%f2# zF$4}2JAIxHgx2uzMM`dachfXAgoikU`qlaUdF(&m-8YY)4F7)d(E`(SIos>77*lwq zL>(&AO6pO$6dewyu0L6g$<)c!8(Pryki6u;V}p7aT&~_GK8e6nv~kEkoAMHZ1WZ{q zIqY@`@e+p2>7t_}y0#oaa8wz_IV6Z?Fe6%OWAt@AZUO;%*;CaW0pwznX4OiQACQ zLa3%J+Dg3Rqbh>uOv)jl1i7pRZ_wM=p z_M~q570;MCIwZnxLqph{EFpfk!`RFG(|FX13xA3Dv|E zb&J>d6*|aBWho}!UzyrWt<3Wz3eu3`%W_n-JS+?ir_FTkM{N_IzRS_9ZF=WaEXT1W z=x~avpmRc&Rn8P~Ff&aPY@OH8*H3cJUfJXF`}TNECMKHZ>RrwNf%FwX@C^1Y$MELt z@b&p|*1YMbldj0!wUt)-^!hyR9X$7)!O`$#KI<(2flPec!bKQBpRe=J|11!|&W-Cp zAp5z|o|YH)bcF(hpDQ*yyQ`VaF8z+1J=sD35I4*_xeX@vw!UHPX~WidUe!1Y;=|mw zA!h*5_C$2wU%(6?f5GU3V@bNv2SefR*0MUisrUYN_ zB^xVZI>Yk*PF_%lc*8+^>;%yaBvma)Ww`lt+!tJ>%ofikjXl|F=Tpz(Gtp1^oLWKf z;Fj8_cIUJ+?7ZDimYIK}TjD#qwJl@2ybFk#?S=saCDSk^Q{*&-S2$ThI{+w-#_7BY z1XY)GURv9V8c$+qH$>`HjP6V&D=Q7+}M6BV8-!88qXi&;nAHU zob*mYsdpuww6Crr??pP3daaJ*yPX*F#tFW8eteWM#ID=NAar+J>|u9@_9+g$XiPrU zNE(zHe3f}%=(=no&dbE=7K7(>+pstVm^L&7!PWry0!>RPO{7LJ=<**#_&Q89$*d7` zMj{fX!gAP|6RzsGsbj7jk`3HoM9-XY;X`>R4>v;Uax(|Tiz=PsT3b=+6lj#8c7BcJ z*^Vt80Uv>OGq_LT$?KqdddXYEyOa1;=EdhQ4oq==6bKz?K%;pW_g_xsWi`+;DNxlr zjVXX}Cd@^z%_87tY zob^_hEqKLey|AdsSMm>qU`D~gB@?gEXJKm3H}mRqOe%!^^D&LpTDDSgC69k48fTKj z3<4Z|+1}NudLbfCq!G-y37i$@T_ye{%5{K7ulhy~%ZWL6k~EG1`xoT_QX@{FOjn?z5KW-K>0 z-)3pq<`yT^CjLa1%qN!mgpyk{`4hTRR<)u#45*d{EtPoDeH_dx##+|~&ADaAm^K%q z^B}_aAjp1*Ul{V&@dp$4UjaFAjIKE(8!Wc z8c^2o$^q3rnOTAvRCq|W>D%;36xpVBX^|Y3nJ$v9M^qO4PSb_A57bTV7qWcRXr^Xj z%Dvhs;&W^>LF8$*Yi~0%n<>9521H96%qT{6)ZThbw4Fs7#I`t-Tp#}KO@+VXR>$~8 zmej)pR;!$$JPlx3IR2IEXRNzhf@&>=mb}ck(!`o|cwhgsAc3xJL%$eMQFYykfI8L6 zS&oFUUit8nES###Ln8VHqte21sQcAtWM;V#v!8ONj7|Vnr;ylu*?~jC^AftlJa&o$ zjl8ok>9J16iWfVGDjim6ho{NR8#}I-z^I@Z4ZA(S(HYA&b2rI(W%T%VcR3>VtR_CD zFe0omr{=&ypk~=ZV}ZG;*m7qBlW<6nVwi>bQQm(<1yiAjs(}6w3k4$jLt^grbQyF0 z94$!pdye+N^TxD~)DL?dGbgN?9n>>m+hf*bq_k5-Qx>d1~;9)6&RWTgA$S&6eU3{6rEhtqfkaI!5z4oK)v9qOj#IEDn^_6`Hzcs#`%4|o6{ zyx>~ygcr0E;Pv)z|I6K#G$)U9>%Y?dt?pf@+kI(~Ep>F7CkI0$f0 zy`c9+!uXs| z7z80>lak>e*w;guDPlatX5-j>RF4|3g3<1LhTxJDYR$IDSd zkT0qx-E`dLoz6M66q+~%dkaQK+A+aG{BQoIh2r)@cbS%4lC$y_+0Rqup2~Hn&XYFc zi$aroaUw>_+%HSlEV8=DfvZ`eInS#DxqxP}`cQib#>{yLefZQuvePJ{_COo8ziN>+ zp2wexQWaV^NJ^nO=?Jqt=>${UKE@O69XMk7;<=i*tk zrKB*ze(dvTa#E5dj@5ZgD-J586&OTm^H@`ed>0VbT(;FW{Dl@Ck0!^!*CwHIkV>8K;ImrQ$I-TgijYCcbLjazVy-_ z?Vffi%uE@s^21phxzFy*D0LTkI$_;rv(?epZtulzjOw$oK7W9dmm6WWx1su3r9yF@ z!?OAO6WVROqQL+MgCtDYi9yte=l2Nx#v$u?Jo@F~GH-$Fz0ghU<2C9^&&j?MIFAgr z@BMY5#69iTs4loFL-9ep)0pDT3oK?QqW(mosmW zn+JEA2JN?WHElukHgkuMJB&U`jOCuLL?s;%$+iHLM2--ZY+zyw5tV9|X=Y5QKV2HV zt3A&u6EbMCXX(iql$eVnx4~=;n)YL0mvb9v+_RT?y>-Ca`rcX|tUDL8D>q1c?07S} zJijrz%UQK&Tz`vAQQ_zAEjb7uW^cFs-R}Qx6W7B*Ae_QIGnJ6W`k8AU|2I*6+*h*Z z!7lp0RNe@^zVboIlki1GcrZ~a;i4MO9EO!5^*Upp>o~12l40*gdlqqhKm1H|A}g0< zd0??{NPKuN6#>I`Ty`=k7iT1QBxzj=XYvj>?{v7jfLPZOw zJM_om4^b=1|L0FWH~#rk%*ucMI3~^C=4x2QIVZ(9woQpm;O`6!rmqK0qDr|aD&EcO(;|HGn)SK@?u>G$RJ|+M zqw;gZn~VzwW<=SmI`m$0N66528;Dmx<7_iOh7GZ}dKoZmRn~MY+kg^H6`6z#n3@WK zN>x)P5E9+IJ=5hIfzfGChl64Fbu|U58THHlUD>Tof=yW3Hl#(qYA792+%)QS|1c@U ze0yViVmm^G*ox(sFNegL27U|=p?j6K&@^bPlFWdmVh#$6@o&uJDnn9qW*XSypT9FG z>JMXAZx5QmJ!;IMAr&`ms28DrS2vc6@^sp3JVaI0spO+WZ2{lj*`e%?kimP|&F;BE zV|>!ow__x=VB#prfcbN0z^EX@`qd&9I?-j55THTE4T=Os$YGfLPogmyBU{$LC`0b+ z>rouvcPYSv2$b=lR5l!CrrfWWl}aZk&4-1~Q_z>a^1Ou9U|rE?k-k0vnAoBHSn!AV z61S$FilBk|L)`jDd3Wpk?b_@>(0dKUA4kO^YTT3vgg;M|;@)%^KS>Cz^A5{WSraUxOECWc; zg2>P`OzG_hX?|O<(qJQ3eeCs1z2Wu_Jt%DykY~5afm)QkbwOgm0*2l8a(KvhYVN@L zvG|W5YwjRh7e7ca+j;+kJ>VWx9oR#zo+39rNpvA}(TC98>-f*(H%=P4T+J#fCYr{$ zKPJf*fQ(td(x3vM%@kX*74D;b5zW@`h+L?Ti_819vs{%ob!Q>l?Um%z2HO37xSozW zmCod0xPAcDVsKi`9t!@9nvL^<&Z^lxo~{qnY~0lUZ#DZSt;@A6R3S&CgaJ`y$PsEW zfVsa2Y*i;nHY7^u?T3eGQaX$$06G^K)Q$%1~wI;+4GWcPrbm z!vm5c#rOcL=aj7R0boz-*zZB@@1$XqUBuYO8M~LMS5480VrYo>R;-sHg#ZIl1rP)A zD;83?+Wq%Jww>>-V0B&tcdhbrIRj72g;v}y#+$I$RKzm01CZrtqgJVV09h&9yL~V9 zBdGHG?&9MRu?IVLf6{-I&MDTcy#s89UYc$Gwb)F&m`lN_7zj~F5qDS_0Z`>1*v1Bs zB~`-;l5K=;Cz$?i!Ks=y2~cw-8NI649U-SP>C9CFfoZ+7VZp3xkm9pF3bvMXycGPQ z*pJXDXXs3v)l=~NE-zI+2hd%MKa9}J%|1i6DeEQyx+Yk8kRky~Q8XaSSTZ$3R**vf zy)Z53*4<5cw6tj>uOiFcu6R@xK9!=aRGe$ROq@y-dR1@qR62mEegxBVMqfX|>d%K& z`lm*JcjD=1P#e20m#S6D?K+eU2_T!P0BT&pn!@HI!zKutkYe-p0xG{PUhk*8>w2eo z&#ItjG}UT;+U{-C$S#!Cpj>u(n}?;VTA@=p++o|<{P$8nZS!OA^o-5_2Del_r&8aS zF#JJyUanI$Nmj6o5D)v24Irfwz^0)Co2VK=I#aOrFAn=VJ!9jP=I`EGT<;Sh7Lof7>KP_;v#{&W!a8|l-;AY7AjAc^&U0xiHW z)Ogg73}9M9yGm4L%&;{=Z&#=1vhR=hhOU9!OVn;xkpF`3R3_0id+pm6>9x?%gZ8jK z>H&B+uRN~0v)UnTh?zBiKJ7r+1?@Z2{7V-5^y9yMgD7eDstrVJTM)|@227JEfCf~7 zDO)D6ZJ9esnr_l>VXpdOP~^vfOiOfG)oYd9&|kOIF}&}n!&mk+X$|$3+piby$!t2R zd=MXhB)ub4sBb9;7s29O13!d|%To;$BIyWgCNPO<0ccu+&dgSTDkDn~DTE->`SW++vHoUxt-lfj|Xw-t|s%@bOR|(H@Hko zoO<*RVd2U&11PDMVNe5TQ0JxtY6`F@wEghjACv{EEAJ^6@_d1P4zA->jgYxKLBrlE?*BfCMoW z>!A!75?2@4BsOD+*#`O!LfEfCL(s4k{k|Qktm5^itCrMzdDI7^`eHKBiR`bel|S8j zaungil}t5#UB_}ef&}kEo!_-%A^MQy;}kAFY3K*R5xUpF!>}~SgAEPXGLpCNab|ATMr+7hbSs=`bLG)=KZE<6I3jx?YtswSHh zSvFRGTX;N5tzy2j7}p@F%^#r$=RIX2wJW{ICe+cKQ)>?0$t!po%qz7*v(m5h%9CDMzC%ymFsD0UY5I0+o;wAN3o_y_ax_ji@H1ez zJUV5Hg$*LBfJv6hZ3xrFSqY8_n@9%LRh8J^dUWO{By`Pc;04=Gbjfgxi4-ZD{ zy|0T-MO>mW&NlMxpb+PA2ZB9HaD}D~|AmP&cE`bzH#tAW&u{<`3sRLZO#&jZ96*IT z7noVxkZ|vlXxOH@eLEe|IjTc7Ei5O-@qPejNDlXC0QX+In*RH|Tn;gyaV?P}B<2aq z?cex^c!cmS#g&Y$?GMqw{{;Vg43fRFckh?JKkCv+jKuRo@C1!_Jf(+1`BDg3g4J)3 zbn&7fmWL=5OC}%&_dTGB4PbJpaNMX8#+n3)@vVC%?+|dQVkt(Ex9zabs4q+9^3xiq zrnzXclJ)Qq`J?{u$*(n^11C4XhsTScAB*iMP~qLqi<@pj&)MdFM#tFLwdw2%gvd9f4v~Dm zJ86&F?WO+M2F1h8v{avcAh#p;g#S^9?>feaAp8`ifG@zx`G$W6EPm{5-E5O|#1w;a zdCJCHs&dG zuQgC6;_Zjcdy8WP~wroC#NFCDk7Uya` zEc2<22hqCUR~dTfxM+G98)Yug2ZB2?QHF4St(%S1Cry5%=7|ZO$J-C`)Rc@UNuGs;N+jD%WpJ9p_$%m=iHTrxR_`ePgaT^RAt;r!iH zNne<(>`ejdjVu|8I;Vnj&dP`ccFz_)xQdg;?1p|{sWdy1_SmacOr}(NPm6Lz>9i`w z%HEF2dg4W>H=lor=*Ntmn0+XvCEn~2*okG}u}g!&jAF9S?+mjGe6EgXyDL`+K<;7J z!KKlrH(1q;fmT}v#9dB|I&PTVe6>H6W{!;qItYg?1GS3U&&mgbOtty_oyd@#a4Ev(2!-myVZM0eSD@z`>ib z6FP%sRLXcW@eB3wLW+v^ zB*$#BLCRX*cI1XhHafnMelZ!E!&T6UahXZc2cKb^p0Fr_LT}^^#6$jbjRNyuhD#KV znwT{ecZeScuia)jjP78Kl%#Ff_%C%=!koC0r2mSxXCq#Bgk>WTlIZE_dA@MFecSk4 zHXJ3X1hNIf5*Tp!{rAnRLkAWZx#^vF6Y)F^s7g}a`DIp>VZ9t4Uj#1);qHoF7Ew=3 z8s~%?tX(hJmaYMh_$TgVtN5`3MlFIkBA6;8+<0HfOt!9ELrB>TM}e!@RKcCI6}D$& zFkM$#UDAJ4rr}8OAe({zj})+SKE-j1g7VU>P4%N2-;0{2xwpI7nN;@94F9@ijW31| z&C#v3wbM9>Mxl4z`f06%mb5=w7n%EVsjh2QA=5Q0D$#69)jdsDEgL^l*R>4Cb#?md zy&xak3-joHt7~atyfeK#)5lkpz0T$RvAcEr^!RdQnepM|fo!|YheoeIvz-ARYrttx z2)Ad@4Fw6tet5gHyAF}rq2GUum52sxFL!~&VrBtJaTX;Jl*k>hvKn4uZo3>O>lI3L zmk_mzC-Lbz1x{9Ku3FbL%``}(Vy~cy{9~Mq$za#7-tO#$`;F<@e(V0avwu~6zI4xw zoeSqj<*MdwPFuv?Jems{j-vyoOv_Y>ZB;O2V3F5sG~*BVvue^qdT)N5$OGa7c~KgF)C z?IZR1N_%-ZCx<_dHOqb4Jip%_?VUVWo6Vokt%a*!g}L3);4or4^l8bG{__WI|4 ze;rPSuY-Q)wc~rQkRkuO^9uKWeTZLuCwz^^-m4cpzd9ZN)h2LZ@ahJ^E1l3+5)Z!o z_l7UAXF73$5jOY9J5)`)!v@?T9!`M=uPj4n1o_h5*pRvEu*Y>1j~M#)Uppt;t=rRG z1;76OP5hk6oPkq}Mz~p?|4fZfna39KY2ytUjyg+R6 zm;si32;Umj%7;)Ry9&ID9@OBZx7pgaUE1}wpSrgWKFFGxv6WLj#|Mjxpm8{ zt9G^Gsg?)Ey>4qdHB6yC$uVB=@BL)ixIDCp`@tk9WJ$)KbVBfu1KbW+I)otXkd#3= zJH<{P*DE#oBYx2TnLSyDwfTvEZ-_25?m^l8fb_iqB$I-b={YL=$h>=A4nr6gAA#3>YrW3YH+ODt`}X$FtGlD--TwZOMqXOY>uJZ* z?;e{wKfF!*awRA;d*Ag=5Za_5QIv+mgJ{g*^-6g@M9=S0SrEm-CvzPe&wY2j=Q~jt zgO^|DV=~ZvB9sVaMnUEaG)1GBriICj+oTW-MLg`$Wq~i*f*DJ!1K+_bq+!QgJNG*{ z3g7b`5l$wD(j{+|o-oJT7~jmv&vXSH43kRMFT7J(k!VDlm-^}B$fQSGXA?3yd)n+g zyabN#H1DdLvGKA?jF;zDu)Xzb*quBr`MuLY*eZ6!H{m~VI_NN4%tJzkK=a7QE^=l( z!YDbI2+!=HQ7^t9AeHd|HK9}=Jwff|U_h>0hV#?WhF522r1eCGd%K5Z`|0vNoSsj6 z#!D-xnzufQS3{oX&>{9HAklOk&vaeVWf(Q^3iX<%8kT19EnypmWvJBC39;RZYr6lb zd^F;9?q6jsSW9|M5z98PSeSv(}k+CrkPYMN4*{v8Uxzzph@t*eyqZ{^+?CIX`XML z9MtZ~&CzK*um+adv7Jio__?=T?`$2uoCaq1>es3}!*CR>vp@WJJCzK4zGuzM%YI5_ zxy^*REu^{q$)ScublOlGW~HI(ZpBtDVwEw=*DNTcCvP983t0*v_0&+LoP0ZBG4mmi+A^`nLrG+Mk}(tzhTihc|dU zB38dLcCYq2PnXpR1fe_4E7yKHt*BQK9{d)zMWWIEB*>x}$z!AhZSxqQ%~NLn{&?Mf z24^C6I2tOXucRY#uUhnm{1VWdVM-yShJ4eC{PiB$&e>LDgvT8d)-%T%vYW0uq#yRd zMFxU;$nc>*5OZ^hZxp;A{2fN{piJ7>#o~DDge*%9vBC zCum{Pi0%e!Z{t`YiqKjm^zZ{e5|_;YQ@M&igdCHJ=6dpc+`6=RGtgi2Uk(2zVl9w{ zB`A^`R)!)>XZW62nejOqXjV-Up@T;TX5OEZ4~U}lNPnuZv=7WNRUZ4{xX;zn4eQWQV{x%hl)5uc3s(L^A5XY$R@{(UXGd4A=vjmeq~dU z=i5`k6I#rGs#FUy97evK)dTSZS~1lLNX*Gmtrbx{p%?2_U3^IaCl?PW!$Z9CVh;1_ zCjQ98cHE^v-iX!zxUlAm&jL2Bvws&-uU3|NwQAv;auHHz$Y>Q^ixbA+a~wK{ zmP?E(r4$-`+?g4kCo6tB^kdL;5(G--R;idug66fLkfwTRnie^Xl&0zPNV@7p*Nc;i zi)s4Kh%)p<8Ej=n=16H8%(_5O$FIPmbaLi6Cz*262LTQHRQcSN2SK(!eL?vp&jjK< zpfipT{<)CE_0l9RR!~XeloAWnp8<_!)L#xLt^Vo29B~c2bl=PCJWv2}T2@>n0u5cu zLZf(5;4?H83F5#atR zUSpi-k9s!D0nvk>dN%N4*p@K@doo2|CJ(uHvuhNJxTD~GA_@xMM~#6{2b5qFzPTMaHCqOG^~pLk3zzJ zk11bs!9&qMV#N)e5#lN=@cOnvz88v>Syrs{`VwMQTpp)OvdvI1Y%7AUU26T#37DM z41meenQCLkjXTs0vBZ%KZGo+FjcLT;(ASTJ;R{+(Pu;@?U#){(-CFZUc=`< z!!4Lute&!7OeX~?pY)oVOnMndo@U0&S~8CV^0TcgrxAVj!%>`7WFQou3M>~26q|uc z^gu>oz(Se3&fJ5I#l;|gf5cYQPkkD=ia4OWn0;C)_EjbOQaUs46}vk;9=(`%3$HJw zusG8;4&;>2kg|YdR-R+rLF5J|8<^xWvTS^n;RQo0INSZ<8xCJAU=kWrh~7pK=wyE? zIRw$x&<`?pUQ9P9&DIv86!Q(Pr1M|!zfY@2c~uXkZWh^I0QOca!>KkrTea*O?u|iA zm6(*MZdIc?t=R@8)%M>G?CqUa&xfsBedS;`4(gjc?_0>1uWv4l^!TXvk>4_- zOIehqh?%o1HBJAT#ef5b`i#3iSPK3?Oq&a5TjLcfj%TEx%)0V9MVHvSaWNidClo23 z%+dB}pGJtWuYXbY#l6JU==^QUaT84GUHl~&(kNC~s25=|3V*?-8}?nufIwmHAbcDI zWEw+oiZckmB#;+DD;_#b2N*jvM?t{Jn+rSG?a@qn;&(AWn#)21$JD}Hz-M@oVh8j7 zpi)TziutB1$@x|SOjOwGGjcSuHad^Dr@Ke5^e#WiBqWk>3^kPFRUd9GD`9+TY{JwR)+rg=`i_}qkIGJwW+Xc zh1aH>rumFlihe{r)-js74)n1XLL3evj_53}G4O>i$s)AX;M}^-yar?oL9C7=G8oY4 zYk%1NT=}A~CI`GT!6z5rwikh2f}lNu8bnoLl$Qm&ibt0&3?1?DN-{nlaT&Tuk{KmY z-uHKq`as<@#$u1Mu55#H#KfZ<-10m9Fydwr=AQti*t#{oZ9<$d%>j!9Dera{;sUf` zgwOT|CfVteDPlE#oQcqqjB9n6drAIk34a%vt3edPG{dQi9YMtmE;GCohtaH^iV2it zf|;P&oMkavnSyz6*B`LHZ020L84m~%ZcYb9=E-`vf%$lSOa~-l3tT_~AR0yJ^7Gd( zA_q<#8u*gjx(bvk;y#m9R?_@8lwe9mz*bWVD9QP%^tlr_8?#^&NL*VOFwN=B zSmZVB5R6@UXDf%5b+%i{xV)~jq9!Y~!D|J+lR#8SM8|LZMhM_>al?cm>0?ls@x7qR z*dH8m@64mlnaS4h7Z4E0P!X$+ArlkkdnS&YQ_L@4Fet}CeJN$e7^}Q8i&3S6)m_&Y zK2(R1w!uZ+TjSZWo(k_?>{IXu6S`B2`FwHQS{b_R+xi!UNQYZlK=Y(-P~d5o8do}q5*v`s3%4bwru?}Dj{VS0LhcNoWP_49KhQF1& z{-uaz3nBj%u*_JJW%0=F%~7xA#+7Cn-}@S)&Z6dzs%A+<05`hkEg<4*2uxj?i+ClxmiVwj5ipS*90&$W>{{ca0S7K4 zi>c>98Yq|ikBGoR6F)s>oLo-&z&#yYI0ipIKAJWXW;CY*`Qz9Kxs+Ie-mnC?#xf+}@h7n%m-Gxn&LLFlLj3 zeRW8Lmxgh2gWtlBgj&B1Cx(cx1WN3gF3~mIo)S@Fq7$`Iadp+v9Mh_~1~n|N{kKDj zTL-n%hry}7Z(KLK^`ASp_lNgR{bt*5O*ikhwl*6tm7~VM*?V|-+Y($YEUzO~3&gl4 zAuP1~7#t8$pinkX_kRf`uD*{Fa}E@v#JFR#c;>$l^809yF}_qX(JbI>GQ7F4Vu(YQ zK%18yTe{g8n8LzY&KHJZ%xyN->W1_ytiV5m>vG2S!L|D_n~9rpmJz$a@je}kudq0X z+W|3aF3{o_yW++_WM2 zn=Bo(G^nw%y_sFcfsp<*+davBV|keP4No=6(|jZI0t=fi zZ7gk^b3;oRXEX7Vvy1&-_-GqH@Qyn%*^i+D3?mejoA zDFgLMc?X($Cmc1yKJN~qY*QHHA(Sc$zi%pFyGuYS1!ojBaNn#b)JRrf4K(KH2%pgvMKD} z&rqA+Z%%r;{NU0{Z4xC=!pJQQbsMJS6kqj?gy$KDT+@}IX_7VaeRV|~lPcAKL|mnk zxCqo_BZ-BTaTq;%;J?@MjE<;^4iHrca~u&oCE+#q*@BtL@(n(R46fvA%6!)ZXgOa4 zGW!lP`57^v&!TbJzsyKT1y;)p<)ZOLsQ0tes;5(*ac>ePQcPu+`%Cgk?NO zT0R&f4dOZtLRF_xH&wl66O}YHSJh0+wUbse-iePN zThr5R>*a@ecQ)NRdhXpBoy(&iwf|%9&6eag(lpVFbJtH1hjzwPRVJjcFVu9|P$Z?I ziXtg4+9un=9DpM;#K?$bEF_aUY1Z#>9%G(hdhYsB`bp0J`vSNF4g?}IA~KVLS$ByU z*nIi-SQ%ugt2tjZ|A(=5t2>_3!`R zNUIiEFJ+t*ml_)aSbk|XdT@@A0bol`7hOcVJvc}Uxymi9*1BU4MHFwFJ**ztx?JFu zg7;&@20_lKutApE?G-$Tio&4o>P|HJre&=LZ$hsScXzb-bw99`bj4RaqG0mU9!-9( zTl!DTTs^0V(agn+((uPpo0R~P@6-W+tJt)%E!e`l02|ms`&l9n;dZf3z`W51$ZL7j zR6z#cW%aD0K~N?x2rI>@pdh+>1$PjSK0rgD*mXmtM;nl#TR2ISXMq)F)VKT~cdR5z z3(K+dBDB-Oac#=Yxc!_biD=H1F>t1JgMx07l!hVva_k|w5=k9E1I3o=F|BJ!qkpUjf9AF$TYy_iW{g;nP2m83wKJB^_aH z&ymY5ZB!HvS{%DQsKsKJaxX0jKVWn;TW{SO_vw*DIgrJJ_*PQ{hPRxHPcgW}(Fek! zcCeS{>(xq%LgA}{T0J^B`VuoLga`c4z8kS)+)-Aul|+Gy^@pft&)}&Em^UTxf|P3t z>H`P%dtIH>sEp?nR&$CgdX+F*!%wUhSbV}-&CdlDGL9}+AOB%7t$tiqU8`Hwe)HBK zi;S{}b~vJ8t5|;h1wW`syIY))xWtw=JhzBh@Z6@?jUT2b!QB@&el`UqdNg`Con&u$ z5Nt6&w{nCs7L7UrM5ETiDk@l7BVtTK&og}YL2M#i9s2 z2t@7aVuRsR07h3pKiEQ)#$I_`*<^-iL@`rJRuaQka44|26wkB5$v$E>(H9(!rB-*b zyVzh|redzoO4nfYtd7c!G*FX-NZCkD6_(0&`G#*>Kv-gw3k=Ct$Zl@^mQBQ1kkSyK z($>uwM9wxn#;vOgzhzHyE@{zy4Cv;80v`m+ z#7^!~^_}$ZICn_aMRs9)!b*Ka0X_?=qU{fKeZB@KVtGn)!Emgcg4HqbSP1_l<14)V zg?78hTA;1XuKr3n-|h&Rcq2o|MK2*tYx`l%l`iPER+r9aw$4I`?W{z9UFwRx{1U_2 zqK2gGBb6Jxn~wTmGu^YX9-%rFkVPLR`3Ws$jJ5#?Sk)q8jQ4G=uU^4}qlXJnBa4Y4 z$B^LbQ2#9EQ%>nv;Zk+StGvMQS_LCKEQQQWT5UMQ(PAyiHZ}>Ity|<->s{Bvx2FBir{?<9f7{Y|=%t62}ae(@eNq_p1j^kM-*yTaByF5%ZINFx$p0cW&Ew z^Fn!2UpkhUbC@eLz`)%gxx_B_$N;yJKj1QxkczWYf3$(PH<9Nve(aNc!Y*b)M-n+_~ zaPE(v-aIYrPxJTR|M=1S-VT3F7VF~Er($9~{MCK<`t|g2@%{Iw?vEEAu60xthJKHV z>3p8IoS+-S%1-hz+6{7F;HSy?xI8U15T}L0ZyzQzaKzZk@)NQ!p2v>ctM2}KDG$zD zDEGV0)sED9^K0?LC;Gy9761Ovv*g9A_aBRB_Tw`eKUzL}WqE1l{`~6MvtPdX@#pIu z4#(CBX~7U1QaqXl$@0^8^j<6wz=rVA0CKdX=9co1F ziH5;LE$9il$&0Z##1}(gG;bpw<`%XS4}L)nzhU@O`!J&y@eOVqb21Wi#ohGJm0Z{w zF)|S*jDB4>!m@opRCvqp%4MtuJ}UFHc*HD^e6gwGOmVgE3rgTyK9k?MkBeM=b}I^G z1#J&zwLNa%P&3^nD&5WIW8jU&9L+BYT-8Q?ewXZeeM(>h@uR#li@%={h%S}}BD>{8 z<}0dEV2Eue*aDTnFue(*E~%`AxLg)i+zD|lBx+&>R60{lkg6O}jBO;xhUc4QEJa@` zR(^@9JGY=2ov;RWo@Zz7gG?&%rn`EHx(K%OjsCJpH=lBi| z8XdqIv5EI@Y587VC5-+ez9{D!RCDEiSLN(go6j!J=4(T|*0^!87bmtGI9B8&w&f>z zV!>A0mYXEhv*VyheD{Vn?)Tu+(;uGa-+%M&p`HHl{#Cv@4c^f7?fK&SZ{m}&`|U6P zcz0TyfBy-ijq1k1Ys+P5>>14efxO6yWE-1iH#f~TZ(2}>kKq#_oak~{Vw~}~HveFG ziDhRcVYo?o1tkimI5<`s7ziU?uP@4U%L-=o62!!b+38u&AFoQ5^Un6K;yO^6%}Z?xSa~ zeh=P-zx?#ugYTB>pB|lm{~9Um*SAkzeE8?$&GYByi}+WQP*B&RL0~YO2kH%GB6E5Z zS$r)b!|H8GWT*4RDqHiXyuJkJi%FleV?mVf2CbBdbpS3*WchY-E*~jvZkg!Dc8@yg zrerzEc0{%9d8-8Jqb?&7MJ(JC8}S}o&f;Q>?w+K;P-K-Z#Ln;~&{G5@wZauWNL*ei zDZBDF)TeaYu%wOPe%+Fim$1vj99opG#l7wf0+lxg_uHL6eiO5E%9|L=0)f1r01?d> zf}oX0IQ@tlU!6UDdo7A(8R`y_ zWm!9%v8-6;b!&8?h(Okd1{??LnVnKK-@1G^9WN&*GlFhYNivuNEOV_$bf>6CMG76I zScQ`@ez!&xvZYFi64qqQj~*y5`Iw_+#3RP4(&#y_8N~<3NXporl~u2W%@8^4u@X~} zo0{;M;8-q74?Wyxmw78o1zOT~VZ6g)5Pig?QUou%>#UT%AjOh1r|<#;-IPsd^q zB}-s;-A53BFk4kKUkHtbCvueP>mQFFJbL_6{87y3tMbaX&!4~MS1^%|C?>o)68?Jd^7WI4 zPaliFmb7dNguh-re)#&y^Jj9amXlm=+k;n69?55fPbU6)^!W9ICr@9A@`!s(Y`j~; zSmZC?JbnJ~pFh5V0m+fF;vYHEC*Qq!Dc=kvj_Ch#q>moGeEjN_*Z?U!;GYkl^Ral0 zKE=OYyp+GaCkyefpB}uFJ4w#YzB`;eJ5qs znfS-!AH-9+Xj8>icq;xinJvY?o;-UccJH0|?~mfYOYz@VSE^fhNnYm3<0sjN2mac7 z_wd!rr%&U@vxk!`&585&r}6l~tFxcd3wrwg#~nyP)}F!Onch=_q3N5v&xoX+m#0=? zr`WL*c~$}rj1?0?f+C|{>^Qv*O}oX=l+`1Afwbxo?BT@)J>nfEVMCj-M7!il0CJ zKAqaXzO(3~;`dLJZ)=t`cziEd`z@6u&s_nb(OB}uov>;yj*YI zQ6+BSil}-8>rujSv+HAFh~s^-o~kO<8lz?v>PjgI%31$(wvs0uF;$%|E0!f zj!^Rz0VBRi)_h4M7oHd5jd=;9RBY$xQ_-4@i;32)ye?KW)_IE3qT4r+J*mY#=>IQh~5yd;iGGj7e(Xxja z9&0X9C|xIplLLMR_!{t%vMdrPV_p<&t`ljlB3n*MFL^azfnkadE#=RloN2WQhA#+f z)UIC{YcV2@KLXcA{3$NXYEP6C;@cg3IdbeTM=ty~u-PMF+aqIEL&%5XwZ0hd()QIF zp*Xef=_^#}EdERN2;B5s+$4}61e3a=43Js6!sUgV|LfoXH~gOz?4s$K{r(^Df2^RC zZ8)PiwUf8>HVLjoO^lWoxlq_3)dOKY8y^zY zqA(#84k{I_TV6FT&?T={C5w}F>1{aDnG<)7FDO}znGQDWRojhQ?_2wen3fdQ3sGGG zfsiCNlzz-;iRZv4;R<~+=Kfw8iZEZ$^$%h|{PD-AT$-ci;6|61jAb2VeBySMI*Q3h zn%9RcOP_5aEmbPbDHo;8V?vKsE}{HN`Ibu|Z~5PO1Q6kh)w$*r^Z)p`O_K3pVXJi)^s(DCT|;K z0!ESMrVNDPNA7LHm)9AsB3(AiIk0tABFiOZVA!ofKG<%_Iu>CruyB+xI&bJHRUifi z?wQxZuwu*`6Y{g9V2?SQ(p1wfkE?f<;ZmoZGfGg!_^-(Qq2aV`|}TD)?uaYN%gj|a=pqzV=FHosEBybZXA zn35n|x{9bk%z`|an9{Snu0jdR`=!__L6)STl8s9u1Lw0pkGPi%Hbs?x6D>0=N;F2p zaJ9V81J5Gw7K$6Rlpxo;XXK+L6uu>bMs*K764BAIV~lQ;*IJ?*umj)7oQyfR5r~%v zB3DBjjx;Kop$*wLcJ;`H*uuCZZjJU716WAC!79EPt5^a;UfJ+<+QS3~v~mYg!T{ND zfCfpTTxt;{@V*yPc^c)2&tG8>BW}AG@pdIf*w;BF=rQm={l4!em&5gpFz$P1bo@NY zypZ@-L^99vvpBO7o5og=g`rJsJCF0!-~nA1ueQv{ARTMt-brreZ29YKa&r3gXXi;e z`KGw|G5wJK_#t((H&*cU@x#fti;GogzqOwgZ<|#|wc*sjQ^DYS$j%hv6~CkDBwYx_ zp(Shr!4oaEJi;@6I}t#JXB?3%Q{KDWGIN8eb8X-oQ#j?El?)DiFFyJxzgOjOWCcJy zhtnq&bLBkGwmF;~B{`z17!?sO*=Afj&#{C2(k^mHT{)`O{L+x4xw#xoaD^PrGhM@& zG7z}j|Ml6c683-ymzs2j+q zsyF7uiaVrb4ltg_`5OzPrjrwOrdSEbL3i~qq$^@3^_o1JNvm@hsIY8hLaLnp?H!`J z5my$tH%VLnjBGLZ}muAoejK5^BfhHRE5zd zn^6s^D6iO4_Cu@fk3>kUj{VN`Hv*oPyUcb_1T@`HW(V0%V~%E?%F-_hZeDFPB7~2z zJ5#w!x~Nr9ouo_Ha?RF4FLfc}>{S|pAy|x;=kUK}gr;_`@lv zDfU>Yy4VzyVepV_&0fQiH&jH(RDCh|sQ=m%mbQ>Um{d!r|`nB3+c|qE26nP;#P~k9iN3&?2qRqzbF0%oMp^58_thUpHWy%Ee^qZmC>KXZQfh#g@uNu}BB4 zGH8`StK4m^l1SPcHzbo=i9VoWJdY+*;u0oRBQ%Y+r*-{O|KOio$FzjcThxv+n0B?J zJEd+TwXS$nS5-bWzij{d2R`_QLB7h*54va2J%jGK8@lHjGEWyYx&*|&>*Y$cGS<|Q zC(A8aMMYKO5wKR`#Y%1;PalqJcU4S}-}odLRYub~g>N&|=K6ZUP9s{Y73#F)QmZnZ zX0Z1#*8g+uqk{w0>?Ej_tM}&rS({p~%1$L6_mRBq z%8#wfLMnzt&?^UVt|0gf5VuiDSgKl2_^8>*>0*Eap!82er@QHT5vA-s`(45$jD0^# ztT1&`%MaqjBEB0~f$RIRn|gUf_S)~lh(Xle@1W5od-%?I|NHOGyR(bjOXlA^d2{ic z#=pLJw4A5k2gPqMPtV<7E`sOL^g#oJOz8no^#aWNVTnFlYiiM-G69hVhPD>*wr#P< z;__pC;K;Jx%`9zzWVfW5g$JB>)Xb7-%`6qF@X*dOw6k2louyb$r)^8LuXYv*&0uP0 zId5%enU(Dwrw_Sv6OF2?Qc zqLEv3dq=2~$Zc((x%K@>c<1?IGDmztYbs7g8Jd#}%}H^m+^E&`wMxdCzR;bQDm>XL zara+YQt5%AoMb2``Mk?Xq?vp7%Sl{xv{5Q(j{AcW8wxo9+)(7_amm-Bx}f~aDHB}a zvhmkR$6dHMP9>LexN${G_^C;G^o6`(Jv(2g)5-F*yvIhony#th7~AWa>e-tz?VUln49ey6Q!by6X@BTG(N@(m^oee*UbGN*CoBOk zpfJG_D5Vu!Di`J918A3!A7oqBs}2s#pkqF79dmOIOu~@3L9__K?HluCLM7g_L{2-C z1$C;55lUfjSFWp16p7xcQ0m#SnpUajSGQL!^*0;3@Te&V* z)4c;ZXAi0DLAd=%gxlwz%5Jy8QRs|YvI;|a)HUtsvS-_DME6TJG$7`D(fBJH%o})8 z%C)P6eYD39gC+&{{cD4I?%#9t7xp`Lz71TiUCDjk$IcH}PxOjdPn+FfjaBMAj0iV# z*fTOSl+!y6jPl!GPJd&#kjxC>(=(vK>6QK0X6EL{nl!F2_uT`88)U-%WI}hvvyKVL z-0fwu(2w^0vh7bq3ttmE_E4^Ae#>0qQmF zM-!*_YKX9GV5k?)7-pc5Awl)qm`p#Aiz<%kDVJotUBuZ1IpAgTJNa0~pFJ7YU9CuV z%J{K_m8yc8%hUOXu~^H=?CnxnIKKXAc{|KATP~Y%a1&N8Bd@CevPMw1v;Q)bc6W<* z-Elur%tAewevv^nPex_Aj;M^nnzev><=G=KHDNvB_l<^M_{IDcCN z;+onp*iMde%SfBDhC^JXAg_rzyp)KXY$0lc@oWaFJ|gGmi}`zHO-BOTn+fR+l9r_b z1*#>3PFCfue69}U`6p+bK+ybpCYSyyoMU=R8|%PW-^?2OY~UTYop<6I?;!aYdFLzs zAu_!Z6LpN$#88RCQ2I)2pBUJ1fyLxOOS2Sb8zNDvMQ!XZI;N34cz6NGU&!ipT!FhMoXS`fQ* znWZF?JKG(%8?fAm7Qp4uB{Ou%-2N_^+k)lpDk#MRl6!BVJ0Q6aviDCWdq1D{>jBCA zcD5=GNbW=X`=DI@l*;AvG3*Bj#Jj6r1|;{vff;nn=c;1{B=-Ty{jmC^AGpeZ#b{qVPNbdGvM;{Q$eE<#GDfY?b)I#c`ZkzUPHjoX5UJ91s^_lG_0Z1S_hIJB)gyW)aW;Rb6^c&#|#)mQ55S zhY;m@zUIwEp4>szs^PoE6l7j*N=dT&4_`d`gx~W%#h2{~*~b zYqos!k7#`{|L5tC|9E!s)A)yHFCR|NUi`E^eKRh8{_W)1`tijRzJVHyOl?6Mo)`S_ zl3mfzSd?k%9n2<}may@PBf&O6A;R7f)01*J1v_HgBXC;YtJbDuWyn1fAa3wueDqO% ziZ@1;+^l}R6NyJ3rW){7M{mO5ffe`xgkjlBsG{!JVwDZ3JB~z$AsN_OTBE8W?2tdj zIMin)Vvo3rpWv@iHd0UoIZIdW7VF!?vg7f&5JHa47hcs~5{+|p!5OsvorD`sW5nxeek>G1 znu&PU^)D4GJO>)JY5i2BF;=dpQUa72A>jV0B%X$mlknMDa!|No+J`QA883XnG$*Cm z&$xPOe1!;ySETtRMVoistlCP8cZ~YP`wFX?rpv)T}fX#+)z1POQ zK@=B#za*%{)}{092F)J*(;@hFd;C+mFp7UFra$>e(8PKMss~uG#U8HP5d2txQH`Eosym(c`Up;>} zj;d%qN8%b>F4y3)3SUWlEVUgsyGA>1w(o-Werw!mytjZLk7ibqS_veH4D&gsxs z|8AYrvFYfJZO-Y4o5y_gI=Z71f~qwS;u-QF-hT2Rt@#Z-mtjf!q6XxS5*s1!dBs6T z)Ho0~YAQi}x+P`|&wV4G>wn0BFVVdC>+7L-Ggsii`TdA7cQRjG$Wc9=EP*2a@)Oea zU&W}%bjl-*PFwI*mZ^W%B(SS|78`lbJXT&1N(vHK#12Et&*IohNtRe?<`j7nxvrZO zf?jr+$0~7>l&qClldET~RG}7+BsO{Z?L*Ic^ZMkMPx-sI@1n6=EZ(~3pZwQ9 zOn!e%(;xJ#l`g$%mFy3zD_V|9HG`TdDi@`FK8r|tc*}KqHbD@s)oLzT;M>V` zRn-Te17F=B*do?{uaqnkpi3UhV4k%YBD0#uDkZ*xUq&gHq@^LmOGJdNB);Wyn|n-_ zS@i;}8CYhLqS$q$+3E%~vnbwixjA=Mtf$lF8g=B(f?5V&mM5Gq==;gM@_zp7-~adM zh4LG6nTWE$-Ou2kqyPH%|0oTj#Zq4S&;K?0R{n|U3{vLXp29yz|M`DJwM194u2!$C z(y*-3*iEJmoi8By#iXjoV}f*&z12)AQb$2$K~!-rSoNt^&{QVa%90%coh<}c4MxuR zt7`wM|JI2?bqtMY$CZPt{h>!`8>Q$p2R2jOTkUUAVuZMQT|dD(J1Fl zJUQTmj#+D3Cqd23keQsQ>tC-xk{jmAaFi^#s=`ztB+h~8Chx0wndXR8Nn>PTSurC; zjHEbKDDaRhXZ?MSv804sJw%BgVj7}-gG0nS&li(9M)@pe4qw)yakq6*^-Rw8qx8A- zI_Sdc;^g*GgIwE&OuNNHtx49~J5pWZ-_~(n)?I^IQqz&IQ`k(e+o>DHO1VnCcqMAr zZBDJrtJP4DmXlt3Qw6Qs9^5Wb>a^ua<>`Sfd9RyICp7|GW+SX4*j_UN9K9i>Zm4aM zfT%sH`X#UB@1NtAY@gX^v4HneUZopUO|&zU&(dSJRUi2PU6yVcKN%?z_@NGBsDt>t z>mWX#KFdSH(X@6X4RAEuX)C=5y%(mY(+^W~mp!hkw%7s~^KP0PUAgLxcD`$Lq}5{x zPNR>x)i13MJ5q)Ij`_NOO-@i?t+x7uo^# zN&U`(OqV5XyqPIyzi+D9zg9g@J=o*)2CCXjPmPDK1SfUpDe4CCbaqQOTCw5M1RvvV z0Uy&ARA@XjV8;wT&EV4vKF#*nF@2$78imucA+ZY1h5HE3eQpOf$6{`V6Is>RD_wKNC|e`a67DC`au{I%_x)>K{VNSl zJJJ6J&q@m&U7P=tvPr5<0%$9{V;SIVBLmD@-1)j6_oA^|28>3_J}bC!DeeYSyBrZq zNLYL>?JF*W|<6S`UWFpVcr?I*zU;A2do5K_#IN=||W${C2E|U>kRAEhNwXDv%PUXx)#vV+5A@wkB?`uIQyqj{5S783tzo%vS(m5t4`cD-$?WY? zW#Jt|a4vhbC2j)$+l=zp0uN{c|Lffb8Qm-*Xqm>I+z$k0v+hYoJ_viUTHfbvp9H$dBW+|1I1u|ORMA7 z6Sy)n`Fw9%ISH=65Z6_oT+)NNA$nk=JvS+Dhq+5>7{{@fS%v2omhTt2m8OYfIhkVz zVMwzmat$W*t?X4^zWea_d-Cdp7XIQPdHF+OeV;#jkpDD(`|!!bH_of#$J5~Fsk?l$ z$Z80?erXJ}0qpupOa4`Qm$jb$JJ7P+L%SXTTGy5MNxOj7_3JIt&Cclh%eC!M-Yvvt zpma;uA8m9?*WVG86g^quCXbizra*lk789-f0Isekv#cy`h-#n#pRcR!lHO` z{90Xc@2hhgo_TP7KE05ROTBShHUWJ`joSn0aZk|WEt;p?dj8+tPyYW}4J(GAN_W*# z++MU~Dp4{NBpC`|`ohb$R@CTaGTRh{>?de>D=T$w9)+=At>fN0r}Qe-{>Q0qTcvt9 zz^$ReaHuf+>?;g!UT*EG!f?w2occh_iXiQ9R@1e*q8cbO9mh2p;Biek6el=D66L1q zK1yZNk#Q9+!qsX%HfQ+yWmkLT18-S*$B+Z9=Rmvpd1Hd`Pg4fLvvTl?zy0lRPaiz{ z?#+Ym9*^tMX1K=orq68~iz=Ed-d0rcXJzrB?qMH1zp=1kL*Ycd3c!&Nu_PaT7;- z*M%Z|NmpFs)Vn9>U&RT$|@;s@9PaI?as4h?=<$hBeB
    n==7Sw|O^)26yYzx#;V!@inDGj5r$YO(8vdgjq9PUoa z4i+ze{`lY*>&cIAzYpF|9z6W<<^282w-2M(e|+(9n)r$L-J9`ut~Yak)XNS6K8Oa` zN5H_Z`S0}-13qe_5sM~cy=I8Lf7?m}mw#r=-;rx~sp7imU1s3j?lJ=>*&!0UQo?lYElM$SMwE_vWJ$2N;O%}dsT4x z%bM#HwT-t*S?E{BS~1oWyf%VsBUz$|;;;5ZxjdYDf-gso{pHAo{|2n(0#&y85wHf! zbez}vV!TVE5^DtR`^dVduXmL!=f7xH^mB33-2u{ zK3 zh(Z4HW-!St24&Fm3Sv+`dKk0$mH65q0S5^M8SWM6dqjAx@q_4BGSQoa7^3LO)30K>`mF_)bdTD<1TPMYbYmygcAZUtO|R z6@!fu0fVq@>8|P_Y!8aO!Oo=MUmT?EAZ-U}J4oBxB5jp(71c^7PjAJmRd`mC))ta> zy%hDx>WI{*TF&k*suLS^A- zF@h z;jqYS)B>5s!R@UDx{czXUX!#ld7yl+RURlUT!TCqV{J zd5^$}DKi_aVZHjinWL+r?*>`Obdb@2EcEp)L>AHm=+)u0*EzRUNJk9?!Iy~s!Wb6= zBA7H$HAVB5ZStw6rw>!6{aBosGnB1-t$CqC)^y04-s-HWZ$9&XPc zdndD#QT6dbR1KnP5LKUxs5*FQ?T+PC!m4XWorPU< zMA7UvoU*A}wlk`1ip19wpS2`UEp~U?vOEf-N|GX(%nT&>;?<}?$sqm)flWo`KxA>$ z8apQG%7`Lcv@xBjAh+sT$^wW>^X*RUc0W{?euSkTNEt8|7~x{{#~-6|AC9Va3D;3( zCa$ZC1JuFS+w~1M)(@+QtIaM~5051Y49_m#f@ou@C&64niSe$!mqmROaYRT>L{gxuK&*f6g9utO80O#ftyfT@EC03bfNwk?pf!bZ+fd@A!W$LX{pR zD9+bv35qL}c(VkB6{lRI1Z8*U(2ZdYvbUfF`kqIZdqtdvjuqRUYx$X%TS-nmD|G$T zP2wy`Ga`27>gUl(?MTt;%fvysjWg;Txiblt4a3*+Ii6O3S(jQ~`&o9tovU)En9H-6 z0MmaGmdsTSxl3Q>-lz1JZ>GOG%P0#@rf(u+J1LELaqybrZ|?n2JolC#iWl}d6i-ULwiD}y!|rx>*d09c;QV}g zQ7NF|th-%Qq&@q3s37aEAlq247qW6a_&+HYL=2Vv{vW(dukKgY&(>jXz0g$bEY>cg zuySwjOP^M!5m$Oq9cEg><;eIRS@_e zpC*YFJ4J5gVd%I)9EM363U0Y(1eR?H1~|npd`&%@N9>M-$SfVhqZ$6sV!13M;a=yR zD+=;@VW`Vh;aHSO`&PZC1!K$68)LCv!mOK-=(!x7FXm@pW#*&R zoW)<+H(6NZNT{PK2&l#}oAK9xf0wiIm~&1`2zJ&x1S=V@5rS4Ra>ZN&G1&uEzU-Cjc*;07Yj&fn4*J7LCLYte+s;6@{(&?yTmpNuPT5W9Q1J6Ega zt^L=l^##{kF+~nER;PW;MuU~VN5f;0i>4L_s{jidky5mJw}VC33_Dql0%O2G(`g3w z6-vYZ2^Jr{kE-+EOlw#@Ib;;J%P1J2LL-c4F-24*w%Yf#1v_s`1SSJ@m~ocWMr);1 zsfN*2y`q83$5vum8EF1E@_!Xz!3O^3bO5xP{%CYf=k zcC&jr%9de++JLt%d&_WrNzHg-b*RPr_x^QDiQZyjsgW*(`ZY-_{p6!ADQ^x-s1vMX z_a(ySQh3q;Q6NKDwH`JN=1(KU9$1RyeOW(K(vg|gmct=c`&d71 z(lqxgOwQ+L7wyq7+GLQlkq=irWVW7?g}|d?IuPuij_#igCU|w=+=ldx9<0?FOvr)fJm$=wMj)uEWp^eq=$Qn9Kst|apO3MsaY3tx1CKbvYJ zK0jf%n~eL(biQ1Y#YNwir-;zPwnNLw!r1a-8d-$cfkl!u3uqBJnd>)P&$fiSbcHr2 z+{^YRhM|4|%I@q4fv}Ix2-3_!vgTvQ{psxo=cn(!`7~bI*EO(}F9{jjYf6%k$D9OYs3mZ>8JL@~;(iS;$*VA(5Uyjm?(Uh)$HV>L3hk?cN zE1NUqS8hP+V;gPJq!bAY`MSPrmmj(dKeyGFjd_%i{7yb9p{?6lU@)X1Z?3V)3!C=Z z5TN_|_Ov!>-lL3Ml;sSr->aOVN5)2dwDT0?{Z~D}zhBFt42?xYW6@{dSoHY-p=})> zR0@*#z2e+mH>kHk8qeGn?$NSCu<4Jg!ur8_bt=jl3_=ZSnaw>7wYMwh*5g>pqj#i^*bxS=IA~Y2vv!WEJCOtblo3yQva4_=!(KM95I|4OpFns2xP@ zAZqWnsNIx(mO{{U5~tJfr=xxN)8>Y7Jvdo!2X|!Rsfqo1x#zxZ6qiyvDIL-hQ|vm8 z&VsG0Xm?38)5+OnrG(+7fP+hGq(y0ntHKW-n}4VRz^etBEpd3TBN&!9ciDv6iQs#J z0NA1hKQQc2&+hp0c)=U%9KV*ww+Ul$%~2oXI_SgN0Q#_*BikK14gX^IG!gO&*ttYX zYn~L^l^s`SX~M`{4l{#Ll5fZfK_;2}W z&4S+Q>C1j#!22yb(ksg$_<7!DWXFg#e zh-qJ511Ux=ndHCdZCFx!4SftlAH&ecF!V8$eGI!Ry9#gi=UaKsl!ZhegqnqJpWz~_MD>vuW zZE0O-2Y-t$f!e{_x6m$?dyND`5L3(~vq=d&G5UW; zga5l1|MxDtxTZ4gMyrGJS6d0UP-~OfDP2sewWiO$;VAFjFvh-8@(@*bydGJK9=nlkS>TWUo`v>{ER?8i9A4XB7?KYk$ z5z2MwQLcUV*_nqnr{~wY48eK>k}2Av3e>K5 z9YCtW>b$PvX@htj#Ot3xyna44?`Tj?!RhA4t+YycpN=X?^caB%jW^nNN{~Tz!&rnF z_}f$=!AgzTEu89<9F8kRQZ*K3yVXmo1TO^{n7vv(WKO3mGA^^%nYp{ossh&K5hS5-I2K_SVmqEV_`lUs` zID>xKk$&j|^;OTIH~pBF!G!3rB3@-Tkyd*46;sse$ZQk-Wv4QXQ{WY2t$db^QZ6uxieS6p&Yc+ zHMNtj7&_Gxj+(>0lpqT_qJ8~_o;9qErw){eeXf0UP*H=58dTJsQBk}{33QAG*RgH! zX;j{>N}$UIc9{fUt3pan1B~Eyhm>kiU2xyOHgu&p$-a7_3296;mnleNc7LQXn8<74 zmNvS~o{7o#02)i=g29b)QFO2^ZAojmV~+gkAh=^jm@!A&$#$4ABv9eJgEci$sALP^ zvHDuv4frv3>YHOi$*c!7dXx4gq6`>b*a&;{eWxwX{i(~9jVB^+5i_XQ%^(t* zHM!T83i`*I6s@fD-IE6c`|peW6|(5S0ld5pigFJjaC=~scWV~lPjX^r%iw7Z*Y;X6 z!07{c7M@&E#ij>p!r)mn|vynHWE0K92E_N zme1z$pz9HNPbO2G(~*gE7zCF(kJj@|N>nBd^I7os)iE-g*pfBW%;08GGh0D16&$V- zZcehXfFheLH(?I?74WJ721R+x(u_Q)a?F;*1vDROevdXUjT4NKe zU@Do)G~jmi#?n9M1cs!_n;JH&0oyeyNk`S&t%$FeONmX$R>3ruKMV2h3cnQ%2NW4& z{JSTTtK(8aJ>pu#O+3pFQ_mu~ox{I~6FY7m__1$L{M#Y9%CfNv$<>v6<9QrP^hju3 z9QybSzQT}lk5-g0ELOfnp3PyjkC4ufCQBGmK3|Y=wMx=6p@`+42_r*%y~2d8aAcX4 zXnai_N46ZXFQL3k;N7c93DK@5h{OM@K{B!nZQv)hK&mUCv9_KDX`!F<2snA18QwIYVFpTu?>X6y8XH{ z&{*REciqR+RUZ6(d8CHn)SV3uVZy~9voyqlNmJvpj-uE&TF2YZ(K^>SHN+UfQcK4M zz?B<6D14~JGS*@ZkSYg&R571}snwDtLduycv9=Luot-8dYf?5yJRN)6SohY9jn;A^ zGPIzlbaoo7-n>dzja6@0pU*c`y?sbp@N)lfDjOZ1GRL=#yVvtVhy8RN9rm;HcAYF- z5xp3X^(X4IvFV-rI)TkM9qp$diPk*a&#Q|KR@yz4&;qgI%$SxOe@XaO9x z$d^(_X`P&oGGFcZ!+68lgk9(C8H{!R3g_+lLK^ehBZXUA<9D60JuPTc7V?+X*J6}1 zsHSCVCskp+>F7U?%}8yIsHs2L3%ZzOJr14KDL*QMdE3RsEwM?T#aU>Ev=0)+bPgtB zbvU0nIv9u>HOoPLx;@MDjeM>a8tgcC*6WewamugP!mjFG3pZ}6VE>zg8{C8$=wgQ% z6>xwT<0U1F>{QOZXI90vy@G^kXhmV+S$^zC7KyUl%EE|dvE%!ZlL~^`%lUX7swF;f za0ZSh@Yu(r>d*_A7W=7rT3-1Erc=r{TrIni`VY_D(6KJYk3YVO^6;CJ-yVKHc3)@9 z@BaDxyKkc8$Jvt~KDqHvr^{M)1D%}a;@9IGc-t$uZNzUIDYtEt<%nRa59B+Lokr)V zCviIK1UOm4`o< zTuRs{mtsCD|+ny^4wH5C^PjyIK>@0DC#eU5t3folRP7)XLNHo)_Zs)D1 zy3NW{-G*$$hHOMV^-w>}NR=?%X@Hu7GA3B@rZUd2{9N}+D)C4bt4TI3BZT4$z*R!# zDMdqu>z9`;p*E(`Dj9+~IUa*=6i&C^sRt9b&>>p1yZ!Blsj)`SbS6V1`|7i(CfO{p zMkq6Ot;HJHy7fx?lCjO=ExjYdnYL1J1iY_nNyIYbs8@itv12_P z-3$mIO>jaUJ=E;peTPY}Q*|nn$Ew#^9?;##pLD)f{Ym$0vp>m4%|5S25)B@(A)*j+ z3BNI*U@9L~o^3IY;i(tZNh>{TM&0deMo|S=oV32G3X1OTzU;=MUy+aV+58OlgD%c` z`tn)gQahxn6*`#>zP#gDq;TEyC!>rmu;+8MQa^E|yYMxCcgJOqFx
    &!yXpdWQFqu{TX<^=Hiy{3-HIKQNwmS=@2Ec95MAj} z7J6B?hNZTYhs!rw%#>@j(hOfwIz|t<{-~)i!_f8!Djv(=_Fhu9b#cXIqm0F=Ym>Gz zmW^xGtBU1wszNcAjG$B(#UXlyki4+%vR2RC?otmWRC3Ka52toJ>X|?O7?o>%1nV)n zykyetR@8n-18J!JXs`WXb)`JY+OYGlTm*8h!i{c*WoT_P3`Go_+V` z!FP|x_2L7##)!PnZ5wernyR4t3ZHkcoFk0Y4b5;>PN^)r zmEudc>A-KPkl$@t#)6h`z&)#vqicugtFpMRDC=^5W{@fFc2U+#J$Z=? zFFE}yhzE{$egB#zk;}qg|}uL z!&TavwQ8#CVMW#0)xRFQb~2^66Q-;s@voMn-M@!XmbO$BV6$grOA%zMn>M?2z1R_;lM=40NCx zT`Qme;q~_~pM6?B{pmHGJ$&%=`Lk!!pNf;S@%cB;r|;I;s~78^zJ2=qQ4nHFjF!)j z_-C~ht9xBA;1}fuEtg*o+9+rPkhI@|$2ubL|7T>zs`S~5MvMe8iak3SeVD9Ht8)Bp zllg+;mVL7M>(8a|-VOQ`-uKLjhgB&dU5wabHnZaOl3%$)17wjgdmkd@Ph~BKA$`vz z#OIa1-x{+hxN`bl(H$n#B3bq{Q!~^G>PRg2oT<-rJ$)+#NZYS|h0(73vkrq%{ed1wnUY?Z^8Wf?iZ-bIfdV84 z@g$>3^}kU(=8O4xCBEvva06CG9b2a^xREu#PEJ&3s}6vo#3DFQki>hbBAp-^&w&Ca z@2j-+rLuHFA;(;7sX1vBt5s8lIm^1wA!tbS$ylwn?T?E}e+Eh!m^lXA6m02*Ky-wL_J)l%Kt(8D; zJ?z^dd23}%W*t-u-V0m5)@^3iX?qLXSEdl$^$mP;v_6-$W=%l0U^rTJI9hc$TJ=^Q zt=cGhQe~R*=m7*7P|KSo%8Ro>hz&w)5Mp;)h}Fc1 zg7C>in|ktJn^aqNpV?M-8Qm=oh~6al4pACbZ`3cpHweB#@C}0RGZTC|8gLEMTb>zH zH7Q_wbamiYEH8=Ev&JiNraRpBAX~|JKvKW0Ak(G%Is^6-bXa;9cgnl-#w zy)@T&S4|d+%=lOqeb#(x^BWEzkTH`aM>NReK^_nC_^!xfwJ8gPi)_0x*$ouveFZ-Nnm`ux>J1TFk)B{kD{ia z#2r|gJpI}YJu~Kwrw(KSKi57w$l*Z_4|4df$YIeh0fJV8XXzGk4L3h3?^Xp6PotkP ztd_>fm*tf!rP1Z12as^$Cta*LgIF8H+UFTUR&puVn^0DvXoSn=XX#|d%CelG5jvI^`@uu#PaFoYMzqM1Nom&a>l_0d zu$Z3VBm?a1c}C9YXucRxT=bDTtZM_?G(T=U+&~h;aJa!|3XY>yjmuUmL;I0p(N#jg zh^F(zktn_7j__jR^_gucq@;@2+dshKQyt)Qm~#L52=C_tPgqSRIr zs|`AnwWjOyGZ-^IFD}}R<odCGcxs)^;I#v!9GQwxjz#hs zsfgQO#cn!pX+NhQb)VyOy_(j`Mu6#s3LaVFT63ntIxKjUWq!x9A*^u%nEAGTNu{=D zZw7DN7Ryx~@{8HsXLE^vN#2vm6sL4#+9ig1r%vONBdVduJY&d}f^mcDw=tQ1U=Yg{ zPnVZuzFp+m?}}^ba^`eAizX1o4-`n zhc9z_p-7_b;mP@7w992Px$eolB^Odv=A))mP_R9FBwkzH>hRcUb$z$c%M~VXXvE|# zDTNQB4|1>jwTj&93ANTl?%e{ISC&@X{?nC1iDD{2l_SBaUvUomYC7S#jcr6JrV4bt zR^O)rmkOmf0@)*_kTT|{@&mgBzD@Xu#tP608@E`=4|H;Jy5bPZs)$j_X@pXMF^}so ztIG63lz@vfGObTcljALC^ZvkRg!F`M0C+aq^2-r3qrPNQR)}o7S=jaZyvr_J%9Sxdz;W7 z?I%keL>p!&*RAde!KI&-OUf*COUA%yINFyq19BU|3`b{lx#SSIDm=F0E$Fz|wK0`9 zsBqXHJ{LG_SgJpE28W%LM?|Ak9xdoOcR)6s6RjAPZO3v9Fxj^mCR+vuZrdr>SAofX z_VoZ!eZVuWuK;Q-Ke-vy8qc-;z@$U^6uy8=+Ha`Ww@ z4e5=SqUG+8Ln-$T3;NxF(ymm40YV=dbJrA6n$}--Z^sZCm8fHWJkNxwOd%CfY}voT)xZfl1V?w3=9|1fnXEn(-$? zl;;2qyYR7}pFC;`q@ibb5J-m=Nb=eMMX*U2nUG&&7L`Ym$xTjJ?WB>Ko8D6})t)*G zD*r3xi-U+7MARUn?uv-Q)jcEGDfTsUZ@Q(DxmANM*t5)n*S)TA zw+D2mL0%2=>Q2b3O(s=6;95KCsGh~>DV*w$9Y#Vu8V+k4B-9|G?wEvPnOxvp1*bD$ zHFk@YTt#vCM(wVO_fXb+68uu}t-0R3k*;wYrTa=|wx_()A3A`vix75R%_i?n;5oX$ z^JK~7SE3&2D^~aR6*#oB)mMM~G5RpcMK!=p3q|Bj7?9W)F{s-jB7^Xj$w--m5i-*0 zFC(2nMjispPBO`RvY4PqQYk}sJv~v3Ixc0Bp8aj&aPH|iOON#@?$E+}BbtH+3vaOS z1`F>lNw007IO|7R#ySkABP&Qb-OR_lJy26c13+i_-m9Mn+J)|^7w0sinX+=Re>77* zF+kQ23T03zgF@LNsLA9ivv@V|`38otUKKA}$!>KLris2WsVTHwqijWdPG*!nnFP8v zqK5tzBeI@cs4IbMIHm9$khJbBL}n9!8>tjU?BZmNo`M=^=|aj_?gvAs zj@MJp)e_JR-3T2`=!-jo*`c%-%Qkvn;^S=47kC)>a{ZPYLxmRJV95axWW5#JA{FT|%jnd4wY|jfUKec^}v5Ua* zkNMsomq07WoPdt+(b+NQ)MEj*a;#KU9&2zb#|qxcv4AQ$E;*YAXO7uw9ZO|+%t2PF zCxJ|kO)x8L5WWW&=i|6|_47Y|d;Zgt^dkT5!Nc#CuYR$UN2~Ssr|;grJbU*1Q})yE zFwY;K91EnC<9lK~@a5$S9&ssYGfh+}+pI{yI5 zXoN6Qqj@m`3l`r<;V%vMXf&U(YYf4O?-)D{baTv&ka8)Gg%&tgfLi!(p%{^x@vGg< zE|hPVw1HC*YtJvlM<1)ta-Kd`;9JzOR1)a8CW4FuS9YK=Cr^0=6G-Kw<|BQY2}RL$Oq|!11C6Ef)Z}wj7uC4taZd2b-+Gb`e5FA!8=KT0T_YQ}sI~ zyvs2MPic7tBQ*u%#rUqEVxT6@%W>sG9G6Hh$CasdEU{jW702ROM|(Nu_S^Bjiohzw zmt$2|G1;JEzO>9M;50hPj1!X3FULCeOZnu3^YbZR3idq}=B1iNT)Q%^*d5=&AYhJ# zhB`KZz?4H1Ffjb)sJvNex;|DM-QyY*Oi2n4mVCC1ers?rC1D~Uj6z-v5~hQWm-91f zTtc_xQymqBaZw;Rjiyy5#}<3h$sk7T&n> zxAFk$ykoVbwG$lPU#u zTp8iVRmw@@PMKmVe`FtBOwM%H)Uqzx3uNBqSP5zzE4dQw#kh~hYEa}@3HR%7r~>}g z@0{@}&!t*v@Lei7QF$-rI85xv`j&7`V|hOPvuduUCYn6uGV>j3*JI^+m9wec zlr(NKy~=PG=59(+;M&R!YW7BdkLwt2Gknigr&i12l-~^GX4S?T%FR{sGnLF@BdD^@ z27||~?l7_y&)yu%^i3s!H1m<%Pq;6C%$<4uZurZ&26Jm)&?HCgN>~c+O7z4`YH|;? z9F2V}pw25&orp|UT}I%X1$=x(&{tSWZK#(G8%7>0p-rv4ew~$5UUC4AHZJ$y%hyPv z5cnZT@MprZEMLKXBp>x3YZQgQJ4s|)wgdmy6yMBxB}~p5_qkH>`EeBn)Tu`T+aIf8 ze2s)!RgKYosIIzv_r}UXRT5rXJ>4R!;?B)Qmw_PdT{57o{V0RPmBjUxTY2oh;vXh& zwLpC(hU-6HN-a~x-gPZgMc4;8A>#hA+5X(gp6UxJH?{J&&4CY| zf>5ZDne8kIq5P;C8%iu#->9W>5kFRjm(_=q$U_xPR4JYbAw5!fT!spf5oKgh{#u3x zk2_+6$4YR}cwZSEJeJ|Xl7Q8?-?3;^IhG;IV~({g^-kSMW>y29ggJJOH^x)~d2`*o z(cjVSm4!4YGCwP9J1r^d z_6Ly9?DuECo}Df}{qQn;HGcBYelz{2{cvi%3#O0XKaH)&>Blt99L>b8xSzYMc$hXHBmT!RPyTAo%P^^Laz`x%tg{ z^tt)rP-=LIk6p7qOPuQ(Q7K|#tllF#EtNqq_k3CjlV->+5%adnVKQE=fA(?+o)5wE zA$UFn&xhdo5Ipa}(T(NCPyYR1%lGUmdX9szoL~eGgE(C_1-PcW_Ygo&%B2M}+n{#X zLr=k4AE_H)a-t#}$OCRZPgwQF68LyQbLpUgkqC|wTmsp1G9m@=A39DKqf-KY5_Wu! z(Ef!72s^^$sM_p)A^PTAOtI-2G3_a0@0Esa&xpMkzO1>|cw9cB*4^tuUJ2f4S@6yvo>1V%YTZa(&a8GQp5R z%SI~?9w@1!o8&AZQU-M4b9nFTQ&0*c0{@?_7YiOy`yV`b#^_fp*ip;wY4f`5moAa# zQyw>tA6BHH8h~uMb({5Xf5*YM!VwZxwtlqkj~BG;kKJo)*qHR$UJhxherYP^@2N5G zv5aS5HD%TQ#@5KJS!!*U!tzANLR%ur{Eg0>m(L=BWzLI};_8&FYE(L%pPYd8IGG8{ z@lQoURql#@q!~C9fBEaz|MD;Y4~%KX^H$d1moU*Y@|V9_f9F~1*C@#T@`bP$z$61p zl-UhqKZ)$z^+T`t;>%H$1mp2AmdPrAgrC#(ET7W)&u{@{mq?G1MRrOS7%QDjSW=AL zFq^MNpuDH-rq?guJT9+r{0siDy+V_Q(Fxl}4_%YDcGi&gyPG(}B)iZJwct9c&&`pm+CMowv7@pgkE<^(Mrq+V< z*zf1=m?Oa4=-#mZ`Qm&r!IL9LZ|OyYqbowLahA5A^?k11Jpobsk!~R=#D#4LS-pCd z#Wvm5SfsNHOt2w^k__XKODZUAy(;3f)MwphSC_L%?k6#E6E7U(>>y_cIlCh{`+=s? z7#rm6q2z7fMen+MH}ZEf150|fN#LTX%muAd=B2EQwgjH1ny(B6x$?Naq?gN>j( zZem3355cWpR)0E)Q~vqa_E)!(pt#WfWcyajE4wjOx>V$P$yEOJ73986ZVnB!KV22r z)e~LLNBOzEj3V^=jbfjcLhBgn{xJjU-!D-Zzkh9asHnUiHr8rUbz<8rqS%>#?VC}K z*C3qoaohS;!z&lL`EV;gXiqB>*{d8u7_mDcMe<;eCX!dTcbBKc+2i;8I!D6y+#uZJ z7fac2B_pDZi(prPi9Q;}jr-MH(w3XqYMU0M{eE1n{W8aNKEE9fXc^UfPd7;I18Fb` zMsNt9cau^F*9pwEv-2C!X63$oJfHBhes5|JyJBZDoz6cPCc!CB(TODml)qIQp)bz) z8Z3X)E2~A@D;u9qmaF;Vq7NfqJ;t#MDw^HM*EcKP8|Sdi#9euiY!x@txp}Q;I}0(l z&|(#@eNPuG@G5M?&9r%Uf}Gb6Z(hec=^Jg_k9*QP@Y1rF<|xZ9Nf1UOVmv*Ft_H$< zvzoqd@ORI{XbX^4<4C9TbURM0;-)?6OxYN9b*@P=GBH-sh%o_H`*`(fu{M1ny*ZBc z5zkE>;YU$Z(<4%UHy=2##(g^v3Mcnds~~=0`B@ZONgCT$WK*vw;w;Fis}6-dsUU58 z-u-*ai{*-*iLV@;(R@Ng5^&6ayZ3efLoKf`2dD5tw;+iXlYm;jX9pH3!pI^)lx36< zx5&Ha5Y^|v07o-2%jk5>{(X>nxE{%apztlvc2dhPiquL2--TT%+|170#L46B<{@@r zHqYs}Sj^AH1x01K?|I~Q7?B{cl01QVBxwp;k-3)VM5&u5Np7b>=R6!UO)bg$15uP0 zIC+ryzzbRASiYNOR_Z&k6}xVl0!`&v?sv{0tj|E8Q;*Nr>2$I@J^2w zPrkd6FA%nOO4&&EJ(oOdFUj04qC7PWp4YC1v)W-KhgFjQRal?N@f+$Umwh@irpfi#7=-2 ziV)0P0_I7W*&uyAn~=cv^SFCA8rqzhwjAW{a8_;%HZ8aoft5KC4Bk&;unsA;>n1l^v7B(x$wPHmd_vEz5D#h~F9vMDX-*&O`Bo0?VT zIYCIA%%XV!%08lnl>{F6@YDl;-S_h_>DDd{-jT}waPDp%WkFo{pywSswtTP_t(fGA z73Ds$qatz>?CkHDL&L#hBKeS}e4cob?;_J@;Fb7s2qti3=b-M3EX(; zah6AZ;!~1zJGd<-ymUqmVrvyZN}$|5tFTj;gbxN+lA&*v<#tR%4;hFYb7zb$6=DVc9_Ru;dT0Be$aPrqI2MolMC#?!`WG2i~*~8ppjx1 zrb+x1)KD12N#3bY!?0s=V5P0u$#SxJ+3?H3Ni}fd93~rr%@Dhod8peLw?WA@|&1z!8Ryyd+VjE+E z)N-N(99G}YtTeG*E1+Q5L3Q6Exo=5`zkK za_V(wI=gnRni+iRkh211me_IVSVbIy&kg6LxW2 zA1!eM`aTX_htN2*!iYFnFhD_ohB@f_oMur5Mu5}3rCUjv8<<}lCSK+{R_2B=*fW^= zwZXU)l1Q>3&qN=Q(@jM;|uGEs}a* zqy>?ag?{Y8Kdx+0*Qa-24VSxa7`ZSv3K9f;AkRuXrvUdAR08!u%Q@ZFNtd|fH8;|> zggYkLO^{~}rWS~k(6W6SbRCUBuy`rR87Gd@&>>OmUOgIL-@il0AHXGWk^r_X_3{8* zhBUO&oTOHm+EJbtImx^0(K`byrVYg7;tx4N>IO;VhOQOH;K}+N(l|EEbuZ9$T!TL&Rp|W>~}^c(?d?KC<434GtUB>B?EI4vzQ_H3Iz0e9z<@M z6rJoBbWP4cox2X>B7@f_wmPL}^nQv4#aq+Z%Oj7mMv1-QNc=B*WDNf%Q&9u3l*b-p z^+xNxE3$mMl*b;siSbS(+p&nqOzwMlqi4MFlupm_mVh71Y<$=J16`mJn%ocZuE==T z8C@cJ6&qO8{xTsR@vgXiqA55GdA3-erR;r4`)AVyndOt&30pbYyJff!BpkF z?q#P-2gZAgIoP`kc9+Y~pf*mJOlH;V*b@838&~uBbT=kgJN;#3LC#5LtO2Mfur@yV zPzw#ZopoMM1 zCpHuPmNzTZW*a!78mLBZj)BF>TLr~Q`fa;yIzO50TQDvWXT(62iJBKsN5>u*FDZO0 zCyR?ZwK<|6qWOqut~QcqYqJrtRx*t& z+w~Ll&Rr`3ug40KAOzdRj}qEl>(_&Q_c?wiNPX9KVk`7%ZuzP2Sg}hJD=(ZdBsLh7 zS$FYk9~Ri_1mY;7QR2Xgr`Y-I*;ZO)5qL0h5Cqh7?Ii4)z$T%%*Rdx~ViT--@-V%f z`hk_Yo@eC&N#i`pQa|o2W8Ywp>~rW?-wKXL1a#woY3>A}l|&ft6N_ zdAQ$khq;@(1p5NPqc76bN-~0dP;Qb%cHyOA_mXe4AND%>u*m$tD?mGmYb#24``7@d3U2zFB5a0Gw_|% z@zdP5>?Fc~kO$=B1h(bT)DP3ZkF)N|x4tIzUgr>{4gtAt6&{5-z}JCm!^om(LSrwF zi!AA^0o!1_?{(WPYdmVicFFl>}LAQ725(BDB-k?e1{z6^z;M3`md_lv++eVFrXy#Hg{Y z0)(m$)^ZWsofh*Z_hPSO&$G<;U67Sn|LhkO8!1!UB5CN_g+skO?Iim?;jMj+Ka7GT zw^8B**#8oPofaoBU?ntI{hd+d8}g_{jVQ_U!cDBmK|?c0!88U*V+Aye{V?|2 zDC(~G?H9Dz=M-W$4Q=8?RuHE#Od$%fPy{4UnrDs+-b$KvGVjJv;64YRBzXaDVFDr_ z)3*V*S}96Sn&*TBKJ|02+ve#LU)t*gs83Sg&#f@T(m-lsi52$T1Tjei>H|A>n+u!6 zc>5eaiJa6Xc5X!;Q?voJktZ8+2%T~8eGWYJF|v@mSn@?I-?p&{2nL?J zshv9k*q(W}%IXu?-s=Q_TSK=9tUM;H7C!~b$KFnw!MbCd$LltBHbp@9IruCFYL9In zL03TL*fAK%o=>czh@1c{{({8aw$A1}%RYyngEtk23CJ2h#;6Dg&p3}T zhUQJACiuuRu#tTv6GT<=6Rbau3$$|r$BVOsh8yr5`v-gXI*r^9at~bdJVz%hh&;r; zNi7luVG#OonRbhv4Y{@bjy-mOcd=nP2HFqP!b+0Jwj6?(UA~h9QFn~wrlQI;Okrs$ zBBx*xUjQqQ5R{hfg2@wPPUv;_ZEeon?RE56$;AR`3GyuK7X-J;0(U$C<&}U2=q8y> ziPpUip3*!-n3MnmI=NqVk6PSeH1PZas46QuZ8;}y zPJ-@46ZfA30sA2gY!{qJ8=V=SWn5rioG^8Aind;-a5c@L*og~(LV{!~a4HsO=H+)o zkfY#0f*%Q*4cvLqY!ocHB=yrM%x&s-7MHuMnS*`g2tRUkP8ZAhjO?V6ZsX{SAVwHD zVnr?jbJG|BP6F3*Jn(|kBDGVy+o-6Iz5qp^lI-oSMo&MkS`zE<8P^LeCr@)^UBt(7 zGNAe-1n0)h+@f0zh=IfV<##wN-o6JOg4dXNsc#W1%k=#?!^~)AWx%tkM+zEcJ;c90 za0Kq$_qY=pllzLuB@@^!gcAmx!Imir$*<20nti7hvMTj%j_(1(e*_1ink1(2bK|V;rtA z1GItGXNMSm9uNml>#=edu!eUoXCLRII1dF%EyvBX`{>4JlYaSq{R}&tl(7 zs86lP2S?ZrJrZ{}9b)`MA2|!1>~84n2ezN%e6l>Bk_)p%6oKaQ2*%?u14Hnvi^yew z{sFZe43>6UL}jnJ;e!h3q<|wi3a79Nno-vyshf6}LzF#R zrkQE&$~Q1Mu%TQU$HXc^ik^O+T1lFM4@5H0Nu44|x)Fg(L`~D=m;-mTLTuORWVRa_ z&~sjK2%MjWiIqAjHqawmVYroqr0_F`*hSQh9@9mRY|~bB$)k$n50lmDctH!gptI~o zb}=C_=p5L<(2HC=DIm7u(D#rHGeUycbK>q3jGR8Zcmos5<04OCc2-6c77r=VNenSh z>K2$HO*R1HY}`hMU~v;OOI$m0z-@_gik+Y~<}cjL%91?JTvS@!^#WxpuW4rWPS6{e zAN7hf3L~(ALiB2)f?}tuZv}}RhBWnv(;ZhSaS%2$;7v@gpkC%ixo<^9z_0=`Y{Vc| znmfet0!m!B)7T5T2vg68@K*CZ&GBsB(#-2-l)y$IQa@JGxxjv~bD8DBT!SJ^W$7whhY8F9ZI!VxV{m_XJq#|;#y8xUHQV?j^5rnEF8#wus^>tz!ny ze#q&0iQ{3&+e&Sa`V2^g#93%%K!IVA*pXXwLn}L*rq`;$SClLdyO)6*x)kxTgOK|# z6ebJiN}f724>Pau)6PoyVB=&m}+EQ=8&pB<99BMh;0MMyWKSSc-%72)=KDf9GduoaA74ZexeFu;k(CGfIi$ zgnj|Osh6TT4c=W&Ln}^Ql7Q<6PHaEen2q##1G^T}G!F0}Tw0*15`qaG=YDQEcJ6@p zU;}M-qpJ9QCwKUbiz%4NAXzLIVI{F$*NPnv9CX)DiS2oCtr)$VrMvmS9FOa9GcPZP5U;A9mtx!n^AtQ{~8#`Pn(y z4U%8)nWZ*KXqsSYBOa6kE(1G`u!w;q-O$Uz?#Se3D{Y^C(8lRyf$L{cmRL@n*x;ZO zME?mf3j`Vu9EPIkJ{K#nw=`T1Zii+dHb8d72(lF;h-PGgM^spL5$0|fCT?bThyS`{ zN*P<(Vc}liiGdXzI^YC>5=V?lJhzm%)V5-pkRmT~JKliSzEL&oDYmkCW`u^h4OB=8 zI(wksE$kk_bG95i_2RrJ`eE>PZrM#tEX!Tn@xeLp9nA3MV5wmKI}KgmM(lm3yE~>+ z4K!T7!}|y{FThOpu+JQW4nDz+^Qh(8UgQ@=L4yq&*G~=Hz|LX8b&$rs1%w$O6o6;N zF~QThiYN_>)b%$2(TDxjz<#XE*3gO*eKexU zd}g5)X^>zp?qJh#-6RYhKejSAjVwP!qbn;Ai5I3rNbV)!#*^*L)6pU94mv3h#Y7S% zRvv~PkY9p1ESDneO71(Pu;hMOc}75+NxT#}T8c$caJ$dMjU2A7KWkS-IP?GC(^k|doc!E=Mc8clkO8KJg;+32Nv6D?qxQZ?^cFb_kPMCfw1R1kFq=nL*jIUbF{OO9*jGv zY{>lF^Rew5{KW)xkwdIF0mlTkC<}68lZ&g=uIfc&-T^8t8-dgO)=#MA)@k zUyzKhmSgsx@p8UiWG(Wo@EkCF5-aio@Oyo1Gr(fO!gk^~4`A<-PPaaS-QnLlQokhy z8#$kh*({g52N^C;7h`cz_GIx(&Q7Myz;^jnvyoRgF(II3120BQjo8L6soYBZh^7t} z(0Aj$W5Xc(2>(>&Me#3xnB=>u8{Rk(kH%pXgw(Q`unW+<3(>oez?-L8n8ZOh0$}$< zCTBZBl8a>w%*b2SxW0B%aqP;!f%00{|I^ zm0u1PE4si@UXtZ@*r{a$6LoFion19SZJb;hIV1_=$f98CAw*b!MSH+Mei8dINs=(^ zW}TY6Gv&Y!CgoB>Z3--Jr5PT321YkbCd|MNPr>Gk@*?b(a`nk*a^TRaHFF9ALJd)N zu^Pk0QzPxj2D$Bpo=feJl8qox?PPbjP01*jH(0M6XN8Te$e0d|QVZC|cc|^Ves@+4 zg9;lq1rK64$Xs$f8^g(5E5TD(K}Lg6i{sP^F^NWE+m76B12pIqYG;!(ikowgxzHkU zDY&XYP_Bn?+L=YXu&^@EO^Yzkov7Q=LF|gweK{C)0ZaQiiE>s$hY%L273XPaxn4@0 zJSn^^?CzH`u{_H^>~;$HZ*-Kpyc=qJ1s+-gYmbZq1~oRrSYBKZ437qG(#a^*hKP>| zAA1i9rN?Ysl6$e6L{^b9Y>|jsY3d-*w&xZOq1lGgV$bfF&5ljW9@FuhIPyHCF3bn{ zB=>=DKqT9tjUXc#kXdI@M{_!y_xS*J)vMiqI(b~+DX&%-fm7fI*rO1o@TZ4>tT7FW ztkZ9+l#6LPJ9ead%*QXHjAU+XMLs&zSxkX9*-rPt4&7qy2IiB2=R#7<(EEt0m*H{8fsfTOdFuGKpKQP`H;Xl?M9)&Xm=_0~ z5im*Mge0_Rm?6fYA6R&du7%MxJ4Pd}`|OZTBWJgMK#$pwEFdH%gxBl(Nt^-uIKBnb z$bom#m}~$_Zis7@-gfT}^qNwd2YBizoYq#jhL*6ov&|t`@*AG~XF4z~*VVMU*(H=VHel z0vk9kIH0y;6}0e@%ne|68-XG9Y3vr*VDk*T0E@K2BS>vmLNj;)o~IG!*h20mq#H`T zF@y6dV$&kl)?sFl5u3#5D|>j3weJ%I8FD-;_e0{QiDwtiMl^MO20MktU{)Rc`(oNs z>6J$*Nut6E!DO-gl=v2csatN~c^jjZ>lH0E&u^-z>ZNiUV61sbM3m&1j1a4{OMvE4N#i7ssVovb zF8X^Ih!bD{|9J`q3YNxkjy3UOf=)|VJE_P>Bson03NmiU!8|-&1~?<1;J>FJzs#~6 zXeLo+U70Zzn^Fc{u#%jZGLK_3s+0GTpHTJ*{+oh)_^W@}lo??OrBRH2NU4#a3!#-n zQ+PniqEKdh)M42`+t~i~yjsYm1{5?~S8@j5OhI^^3$}4xs?26HU*1;z)_9&9%2SQ@ zYn#W6Ir$?r6PYdqEysPUu#R|>eYV@<_#N=mGs{3^iMRkYTu6$32k4odXw1EplZ50& zM#ue;MwxB&rDtF)*T5H{pkZ)^rS3Dl8-|ZYn+)Jn3TtzWF^u0IW(@QD&ldCLPP^Uv z=IL4H6hp<}j0fcj>)i>M#*&m#qEn)2OjSG{4400w+%YFV1AEM5w1nN5*+i8Z6fRp= zD>ghOX_`@$jPFY_&YsJS>4blPXrgd5112B`qaQjiGYXKPVlY$F_WZ2JRA`h*F3s zCZMaOuuQRv3moKGo@Gn}Rv;V7AsQ9z4c$$#$3B()i>#44_Ph^bBB;}-tM2y8iax`LP=uyG3 zq)!U-r^cfkM;YsJaC-(8OGRXinWGB4NfkMbB!&Pm_?DySDa81lYIbn*c~71xc(ZpJ zGqqjnA&rxRUdeJ2l?IE%3UuiwaKtB=l$ryxY}^|G6PdeCeBZ9G>uD}i5!3Y>7cq&6 zPE>@IN--aeh@^tUTE;~JJV=q!@d6e6=2i8%+L(LW$2HcBx+uYn7%T@UBM{WEGg6aA z83CBj;y4yu=0p|a^;txlV5#pfOtB~=0}U947)BaHMlsf$;sq$^!LsDJ8n0m6rFgPp zbb}O2QYfC;TogFQv4VpHR7pG`Rb~hP05*C()1_FO4`!0nVUXg2Cjdxz7HNCaoMJQw zgHtczB8wU0xSS8!2t$geE44UCvKEwPMiAI)Slt!FAv1*^jn)}2uu|Trz`zPc#F4IumKcq*b)BxDe>xkw}CB2&H7n#_RF`E_B!yeR!t=NaHli90VDb zH6S?_L`ncHeHD1RcZPPwAs5(Tyj1v&&Tt%EHEJB`xh@>T&zlt)BOPl{z;8^2ZE(O+L1GOY8QUka}>4c?Nb7j=;sZ0E%>f|BfVN()9xrpFc zRhX4Gk8(ulDI)-~iZVCJ!J3>Q@fR?;9b!QnlWN5%>P&bAlxHY&Vpu$wA+yNK1NF<2 z&c?lr!D4Nyht;y0e=xIymvXjzv?(L3qzf1aYspbUA|*tuGnf~~#}^b}oNjmSdZoJl zIG@I~{seY1qeO1v93UGOJcdmXWeLGjux6%db#!ezs*UC@AHrnmUjlyM znEhb-OSNc{i-cp1Rl+1JFp$qOfsdI%du5p?(u|vaM2jKUQ=23A-6SmeYX-C}^~+_T zniv8HJ*dr5N^sK~f|Wm%0C~++o{#&|gCJ|}GN6+w?=zZ1>%*#$YP*o@{)=xk7XvDf zBc7q-Us>AS&LdN%5>^?};y}?cK#Fx=*So$ZJ0>@<`?`d$S6k2ouK#{*|Cr%}8~>tf zrc?&%j7m$X!dV53+zR%R3fa6A?5K z*(M@<{Uxwc$mMD|FXZCT**?t6OJL)uRrQrjiS;(FMj1)Q8L(}9#nGjf~&c$w3J>Af5SK9B1`M%rh* zO%E1r=g&&|%O|;kAh3fE-DLKF4|wZR)Hcx`G%wNTA(1YmRbq^krm;y)qPUUcIXa&6 zP;eZSLd!Jfkw}pPnPTN%okm4mh%C|E@a$ls!e=_4y}PLvBFk8mmE5LYpl)anCl;#}y0MZCcL8%$#emnyMrNy&*SV>+Ig{yD{>FDjFiG-pYK zrBACE`@Bm$mZ`zZ2Mqnu1f;uESdCaEahw@mln0HfPp^2n2#8W7Tw?5oz$;J2fOH&p z!V??y&N4F|_WqQh-Ub4%S3}Wbl2Ds5N~T!wD9y46O+z)zi z4ma~^vzE~H<%!Rd4E?a;NW@rICD(Zb?2w4&m%WuA`00=#+-hzGd;`F^#1f>Ae| z5}INuS}6bxn6iviu3@{TMJzIw!k~|bFtta0ySYOG3b`?pNOcsq{ii8OO34+V7><5@ z847e!=&0br6j_|6B0iXo!^(08j(hU;UX=VqNR=d7MI}ME946pYrI>_IO3BK?B-wbO zT$GXl`AGNt!z5C2kmOY71<0B-5^!K*cx?f=(PU9sa84v4I@9B>hiQxCmUrky3FkS_ z(zM7UuFz|qWw19>$|6Qx5QK)gIAN?Oyj&h8xr9}qNdd?<1Co;jFs{zhNXFWfJlBLB z2xaDdBv-SwDK1UANDHlvW>Jo5no}%Zr!WyHXKAVcx5x5;jlVtGR(e@sK6@~$hiPv1 z28qu~1GpUME+rCga7V_a#xfi+Wf|xB0auo`R4Lc6yr*)e7$mwNh6+`r5lIpjr3$?g zHD;2Nf(RaylEtGD6dj^J-mPZUY-uLB*d8WYNK+ERqqsmVE;As%C1HSbRl!Ut00@i{ zjR$5x^zC9*RdPK^^y4tixlJajA|9io6Nu! z992)ujf#n$qe2#$GF+g0+~{Dp#R*=pPXbLw2u=&k3KY>2U4t1GQy_qC3y%5r(gIe_ z!NA_VCB2%gg!M4pIw>>7V{{hBP_#rxxi(3}X{uWVlo~od*liJVvb&L|6yOi2b@+AVLsw=#1DJg1(%nLs z{j^m#u;E;uEqO!zXXo?lysJJ4bz&y+~1+w*$vD8W~a^LYCcj#s#Tdq=9h)=z6Zu5*0){E9s?1y+t5u`n>=jIJIp zw^IMwgCEM^&*84U#AqTT_CH%6t-%nGL(kiz==>iaHHs6E)2v8;Xgw=E7u}esY>%BL z?M#j*@66P-;1`>Zka!$N^JTS>@GISAMcVf~zzITz0><9k%n$F@+XuP${Vkv$_ygHwU3+4=_FRPp{tmjO&2eCqNQxmlQH}|9o}}EZn!auwb1o7A|WI?q9zPyqIh?X16yDA7eV`VAK0={d)b`?=*ZM zD+72yEqp7K`hDb=i%_Yax8jg6ALu*K!d)OU?v>L1e>l2QWO})^3D+}1x?rfO(-a|^W?r&-o-7?v@5x;SwVTQkULM5$FO}zA- zx5psy0!LfefD561G=(>@yMUs`P$fi zh2Mm2Aw0jy{En@mg`Ea`ko#THdJxDPV8u)5I@^r>uFanhPydeJUI>00+X(|`uDca~ z#5e1m_z!5ye(^qRX#m`HpjmIbdky}wd!q#o89VCrewa9h@qYe}<-Rs7haKb0U)fcC z)mqixk==J>HwCgouX2yVhBVK#RDFfOU}Q~Z_t z{X6?3_tuxoTL4AN0%(bu$^h8h96P>!$c)P&{MvT<8btWk-fz6NJ-@z}OCb97U-r|N z*Si4&4lrb>X#+j!k7~mYy;(YJcS`TOcW|EPRnr1Hn*REw@8J1~z%!7v6FJ|}@^`d6 zi5*nz(6aS%n%WF{1xhc)JdHu%M%3 z5g2c!dRM=(gWeWbCWu>g4FwOjRip6K;mDKUYoYfv8+dbv;{EF(nD43!C-m?AqBfyu zhcyx((Lit<9Az-RtV+N>)3d9Ti)EyxH!)t#upAGvRENPLsdvd%wFf9TEPTp=o%-y>+an&K{B%HmkqYOyy zF}1~oueC?XA;#8e*ss{QrrR&KUfWlCoWEdSf3;j2P>BMARG&%|UsNT+=?UlU8&-{K z^}-+4m)41dRf(GJo<$jQnLs^u-xnCWJVdXaTx;6fn+MdUxW@Hv7~TTPxowPiJn=@Y8U(t8tC&OP69>YeF!!Bu9x36ZM||QwA;x20S$f=z?9$1294RJ zyx86cs~cmdocD#-*aEF1u`POhuw7R3+a*r4s&6Z*`Tx~N=@Kg|FLu7++vWVvt+}cd zBDVr8h1z^F;R>Y|F&b#Q_3Pb!+<(RKJ>Qu7U`Sy60;Cm;A1bXH@u~a#6TSwY!qK!= zV!v0)&QQNuJ4YFR&IAv7T;8)LP6K+m38tfUm*S&3jviDy6Sh=NBZlz{`6>7UZ*Lmk zquqDawhX`f5}fL7R)k*+7dhHk2a^2s?#$E8s+m$ptL5Tzb7FU0ktU@b#mTRC=BjAZ ze|;tct$Vj2Ex6;U6<82@pnGoik*yb?EnP+Iev>`iq`VEMgz3$@RuGN3}Vl7EjPgzF{ITIbRvSijB zaxC3m)swQbb`^+fDg%ORW0R}6>39yY0>u3G+t(yYXpbmC4xUz+gtowQ#mS!O@;i8W zsWL;b@95=m=mjR`KYp!$O~?g}=_qd2JKCRC(DdAIoGox#R~wHNHbM2$bEVDR-Z=ut ze4Fwmj*nN5@|J)J=b$5DER#c79T4lG1x8;l6@22tHs65h#kJ0f-de_(aXVoC$2L8 zaJDa!hh%bgNdQK?x7cH@vRaX8PMkdhBx7!8?Jnk?T=i>)@Dbw7xt}~%oVC&gO`-9L zMh@*sAj-Ul`w>Q@uN;nLb#UcjIM$XlEf92smB@{0$4XR(J)CAGisMU)4^fMc&N+9^ z?doL_5DeT8S86>sWk@TY!k<@L@8fZ<#5fh~^$5&1w5_w(bY1PouxYdBXLwO*7vCN@ zjo2GcZsR`NkX6q?@0BEc|C`;)Ke~1wFDz?6yYua2dya^Y27z%igmrqlDfHLWWykV= z)>a(kaen)a8pddHwBkx>kECqIzauW)Vmw&}UJ^m!C01j?f@OHs@s)j1Qjnz%Bq5zZ z(E9V0`2;cthH80hwUNSl98_2HC48J$je%=w$v7_VdQ|bf%PrOtcM{O%zADZJRuI;I zUwy1xz@9_iXPV*mWY8l78j6+L;bQ`uf78}^QY`Kacy06lHszHdM zIMW-8F@+r1#dUm_1BaXd$k}pWH_E5TflFSlwUCLU&u+S}N-C_^K;G`24JCsg>Zu{g znFwGgwCZd*uphwnjT*N{ya@iwP1*@P+8Jp&lXj3ScX}K4MV$zeK+ZKGk1tKYG4Je% z1O__<3z)6e^{1}9dm%EeH>UJ4KxaP~asr^ER;z`P%c;yZJMk1)ZSeVg`T1LgKm1&W zreN$l;)Z&MCRC6w0dj6$y+7CD3~jB-@*-rx5WX+Vv*>yr=M3~8dFOWJRVT>u<%!Y^ zZTaOw-u^#(|GC^oldJ*4^LwuXp+9rZ7Xzui(Yw2`v?4|CMJ+ZEZHXq~2tzlad;hXr zcU2pBfFRZ9%qx=JRn=uOpEOmKSpl9wxgU}H>bVgBg!YKv3jT-i)X$D+RmNma49-|# z$)FF@d1lu^bFZDx3egi>IWO^g4e(l%%o4BvPP|4e8Y{gVi&ps15o?FsCUj_@KsMTB zAWCoS=|ftuBMb)Stpjvf8FUt=8t0x&nSTFvmYYVCMEjWM>Ow7W-B*-F9d8E+5MD*!YoK2MChm0@rOy+7Is;f+*wVV zpm8rer{|+UCpa)e#D}8ETTyzm8+u7x5G?oIzvA#Tq;KsGx$fQPM9K=YxFid*!g|7k<-V65o$LIuc!t<0g=~s@aiiL>^RFtjkRd6MFd+Fp7BfL3s zUN#VUMBl4icq5q2-ctmf@cC*wrI9WQo7DCq&ItxRVGO|qJk8;ZQk%m6T3YabZK8BYLLe#B?8MD8-C2yUgG9zeEu%L23y(Hi zq~n(XXmgCbg+|Hx03nykXte*VI(LJVibl&L$ih=M%r5ZPFrX66HoWS9wE{;?5hiwK zW!DyzUBsa|QDFIm<$2*?kp?hy@98zqSt7zh*SkX(D6$b`^C;wN*lQ9*))X>R7bZPO zat6@S39TfRv+A!!!G}|@a+;!Ta1mnBVl#7|Z5NREZzHQ-#6?B5P${Z6O`SXqT@7sUrFNJYf^}NEPVz8>Y6`1iQgi+->GG8Fo9GH8z5UMB?C+W+=qo<0H zwOD1lPg8-CSzJWO)8#7RW<1TS*1Q)z3~#<+Qj+(8OV7zc{Fu|3&sh4H*hEJ%S zp6|#z3sZ{^!_?R=Q;keTjRk3|5w!uoCn|1@a}d|qnV1@PD5geE#nfWh(BM(rwo2Nr z5nisvN3Cl~Y_S?XFjFI7QlsI;YVoO=8h>o2#-E$1v4b<*Q=rV6aCD}|W1U1smQ#(+ ziFkabM$gX_OmT9Crsxn&EjdL~iy2&KKMq1$BYSS#tN0uZH=VelY%I5UdfDzMu1>?b zO*QFc#X#k)5n)^Vl00-?#D}ON*$T@(ClTKG=j^CT-at)8N*Kgz6vflio(1w8B(KF# zUQ0N-MlG0Htp4q9*C?dd1Wd09pkCupohKyJczlo}o>fe&++N$V#(^dZ2ULp3@^zlU zSa=x;GRAnour!{y{u|98W+u^#s|Hv z#qmsPocFGly3HRi*#MD1ZofN&73vuZA^UMr%1ogY4v4#QoDvXWR-m%*ViT|D;=qcv zio)Q{30OIdGa+F8Em{_fmOCNr*dpu*%anm0?via@^VTZx0yTKZ_i{!iLn}msV~BHu ze7_0#p<;Y(dN`~`gI&h7M#5dzzQpn#nXARk6bOJ+*vq(e5^bXz4sutB#aClM`QyQ_EUVMtuVRY$n@b!8DxjRqWwLlV#7kC*?hD3$)2*q5F4NbI zImCZw$j5_X_UxrF)Y-s=g@vmn2h-O{fy6$~l>=x#>CB3v*foOp;1>s<=x=(ZYT;@m z@4ge9Mz~beejN{1pGAX|b!jRUGUch`S15yA3iH&li*L))PTKPTbP7)a4Nl^+k8dWf*n@mefD3vbGkL{ zq*{rNB|47ZsaCZ2L`T$ko4K);2aPM)-a$|3S)h*vjR}X5HkL5|jPqIgqU7M9sw^85(3jn_TQJ z@)#gfbnUN!Epxi-9!5%6ifj*aTnJcY}E8EiWqG0Bv%~Y?*;w-l2B)6 z+(>43jE?qE)LvEdA@>sRL=!bYP;1V8Yfb|1?UT0z{^JjonnJ z!M%jI*B*oHA`C(tT0x^&M;uB)$h=t8AAA;zY})%@pA3%P!6YlV+_mQ3bOKW`-LE}N zNyRWl2C;tV#82)V8+|mX+Ty@TY;+!Uk~18YIM4qU#4)D3Oqx29%df*)+EZv|x42HO zIZUwao>Uq|3L1RID8G(*mX79@trg3%&wv_y;f(89LnLJMvk))y_fPOdjvXv$c$ z;IlBV8)ESDJjY$2K?B{d`V6+u-|dRg6?5gb51H`=+CD2e6fP6KM`T~=HXZLH7(lYd zcG{h0x8eAK7qy%wI^Wm}V1frEUzE7}4%QJKUL|Uyyi$0;|EZwhXi*=h48-}SP@uPp zYE;O_DkPdx;8)z&iqo#p=uUj1!Ds-uh-qN;XU+w{njQCY>a9QeO?>_PFUG)kI83Q3 zc@Q{zY@gLYAXBogEYKtP?jfC4Un<)Bk^^m{NsaUt0T|J}__j5& zsQv5!mvtDlINZjpK{aNR3I#|$hiu@(7@7Wr4($V% z!@0&KaV8(mBOdxmlE=BmC341(^D{Z8)IcGZbKJxTF(onV!TFq%8g$Z=jLs9RRLr9^ z;7W2a?_VUdGXYIRT!!MPhNY-gO;ngs8yZzhGhNM-49l_tVV(sVRxk;ZUuj44 zGCXtRq~a3icutfGjDCJL%QIPS)N=p%wzK6m>Wy3L>_i_v_q5%s^KLV2Uu|7AyQiC4 zi-ckXb@G zmRFf4=TX_{G-KMvXitIu;zrcGtk0|wJSE>Kxn}b^BYGTNcL}+iQ%S|jB+ma`UY@?S z$Rfuf{9J=sdM-JVN;(B5%grcfr_;s7GbE&yL)p1<%1x15uFRah2AQ*w;G&tcd01a` z&g^N`r1i=Qmqenev(y1AwQUTh8!X?tA*=TehKN0#Ap+eeaf32{{1qmOB6C2=)8!~z zMN614PM#uABx&oAZz^lG;C-lEjb6_-&)OQP&uhi?iqv_|YQm7tSwKd%HEf>5P5OSG z9b}HFwgUz8(_hB&O;SsW1p`(Z0<}3PJ6E*JWyH1R>7HDdC`J(Rz)5HA;+8UIb8|z~^ z5Z6~i>!SXIx*1n_3|#N0L{p#| zqepYDI$kE?qgCwzuR*IslhZ|vY6SxaqY~5i1P)4T(Q?9;3sW!+s^laJVxD@Hr$WZ9xsq zaw_e{HI&R(LFMcjA0?|7(`Kkf`0naleE(twy{5q8nA}mgmI}gOtz_xR9P-@%IrS{2 ztI)GS%T};VGPmq=@1j`|#HMmz^oxP^67%qCl`knHau%(4O(Uk(S?Ll_y>m^ZRj@B~ z*BxgIS!iAxuEp$~#A9NGuiq`d=_2>);vK(uxN`@}oc#v!N*$&=izEt=?4p~<4Nx#g|R zr%3CD{2Ozob<530`>yIm9GN>w{ssm{$BR%nTkLdLJznHf(A=Q0^2}{(3lP@o!|Z?1 zP?Jpg?qeT3%_BAsL#!$`2FnYA0~b-oM!N-_Hi?uQ_3@Zczzh;{Qt*(yk9{#F2HTXZ zzRJ{QYs=}fJY7V^g=Gs{U3f8pJ%bODJIsiqA>veFAA~_irw*HjLD3hJ9M^xjIF{Av ze0d8=dm}A473oJxBA=^tPDozD4Ju_|CRs_5q#0J~@STSBasq-Qm@!ZneM+?-9 zKK>SjqD%#Ji{694yVZS;E|#~+zX*bx_W&Wv8u)QLABIOmfz{t#08k(?%$(1qf=?DC9x9W}6ifq$<>)#C5S?W__%%|7 zvEq;r>L`s^O#$XMR71(M8J(iPcav5oy7QU@9O=KpI<~k*mKN=N!U&7BLs;YFdNnS> zVt%zrA}r?DoFv@5UObC}fiUK>t*GGkqX9lhB1*LdsJd#Ns%sPn8${$;MTGW^&}csn zfWi@Okrr%NbGFMX$QjjED-OJvX}wf+S9gmS*^V&(6%N!&eYezi7oqQBtpF(`G$wtD=o&3(muR=#T8;4ZCdwNr90#yVs%Dj0C9BLznRf7xcS+lGyck_=p6Dp0 z)-t`;atZRN!qHu+wUk=RLcDZV?4={vv~VZg#30IREdoBjgWi&45vbE6q@PNOF>*b1 zs5BumuBVCDj>&(b$-rk?SaOs7az0`Z*&&A-_B6_ay^js=QrING=B}tVNB`FJ?OUx}X zCETu$--nweq$PYR-1pp5?|KncQCp-BR&52$v0T@=dSp9GM}lrEjNl+pimm3LfPUvm#a-mlfl~&Yo}Bt zOI30uswDi4gEPexTQk=ZQN`<-DA*nxD9MT?1i%p1{no6f}JFzCTIK)^Zl#sLe_ zjUran8_=}V^BS-C4RbNVOn?kdy+lJsw@iXILK37^B9-j95y0pg5p?zrkp&;@M#eW8 zV6Y7b)X-+sipU)Z>WvIuyylSjCuKA(DBc8~5hPI1Cve;1VEgPPu4Pb!0p39RL#J0K zONp05Ht7@utuBzL8#J7!sMC8dUnj8>Mr)>AfSr7UqS$2M2ru==M^|yv%B(^efI`qH zMV3n*OR6yF*^O%!Tryt39pT)IworJ|nK085F+oiyOM2MqbVhW5p`2 z#)=CUk*50+GU}QDWw@SNTyF~%%D>1w%0Nh6VxHHs7!#<+6z(yTF??B!wP4W*>FE$R zX8Im*KS0p?E%~^G@0cf{eMZ;#hRZTCPhXbS##H_<&tZSQF&aWrgAqvFmY%tIJ+dvH z!0W}w)jfx=T+ zQD7ux6c=A4_1D~5(Q>Sn5oQM&7$4avKW^v*6-nq%w%N*s{w%0VcV_d$j+$d@sF9L2IeFmx}u$6nE|SKsbNL)%^*t?R;|-zYRJQhycnV4Xhk34qyaEPOibuIE z_d(Rg^jkddZ2w15QZG2Hq5D9o&{MKFJ~EKCwJiR=gFFgb8A7WgZ3<2Y#;JA~u%JJ- zlIjzk-O*BQag9uNbSKjru7&cj&gWFqkY6QX%`)w4zWRXHSFxL!6Ddh%)+ub#Y@ zRz`vMJ+w0s_SauOgYU3EwX8lwZ^^Yf{*dTf#y_dR^d@cEb9z3KzgQAcy(~vxv&j_E z4u(5SaNbvy)4D?@}ogt=|i`<%dBPt7cT_*bZ9N=$GfqeNLSXbrr96r7!Lcl*(JFyv^@hQ&P&Ch?fgj;%33v zb<*XU<2J^*6MFnE(-yhs&ueWek=nWlQmtU%U|3?ZUErX!+9oG#xg=#mMH8OUCM>)$ z9#3`k5VBN?wBPMO{lwBv{|fYH;dDapxXSluojoDlQht5I0cn1 z;zELM!XG7NHHwrG1bOK8MIX!9FI0(0*G5+)`rEVs!cTl*BR}nBb_W*Ko+zu$r_o`U z_Yew_EH#8M{|c=}LrP8aGwU*ZaF-P*F)S5id+I}zA6R>_Df^7kQiyv*Wn?jHkG{h`B&6mAxtN3h~9I9uYKp24ZUKHxEhUzHT9&E6$6Q0BWPRul00-? z#D}ON@nUA5_lIHX`JX?33I}R3Qo_JnqsW_{_AL13pl>aP-&(@XF_|MMsO)doCQ3K_qIghX zSKSR7HFCw%Vj~4ZqelorD#osyPshTNfBfeYA)IPY1#!9vaq;42@J*%n!Z0+|GmC=C zNBwx|Vv8DR0jWg&08nudJq7WSy)!{7GV?Qu(D3(rFbpQ-J<#5dfo+aTT{tF6h_D_Vk~ao|lho zipnEflb`$*LtF}=W`sF3oP}y(vXS&6b}38^b*LEMpP!l|!h)HeHJe8}UTbzGGd^HARKOUOO@>KSzVv2B@OA-Z&oSe+1sNMG|bD*}V zYd-#)ZZ9N6NDI_+aJv||jaAv7S1^`2?ax&~9#iIqq|1!Su+wU_n3tf{99kXQ4O<-M zVK+xIVT-gq%|xZkQ|1(1pUUX`Tne77nNw+aDM;d$Y;uc|%y`D4lxDUlSAsaG!QF)J z*Bx>+^qFJmD~~l5bhfY3?o_%C{Pa4lZl{fU{tkLqC`{$ddRH%690nx~zCQrTe+>Xx z(o_JXi2%gbD}z4DX!I!p8u|TQSLoAM=ldT3V|3;~hwfGeoeDW_k)X~01OPXn@H9J~ z)2wuQm0r;541)ii3vTe(xGm3w5AmWQh`#DYSD0yPbk}o6HHp&JTxwD)`XFl3WUjBj zTU%0a=*YFumS*?AuS8qIUBerMNBc)Rm1IiR8qgH^d*Yhoc5gPmE|`cy#%JgrK0xhUxZYaIuBCuE0k~9p{Jd8eVHhL zCjF#6596RVJ7KugUZN>J3B%dD`R?{EV)F~e=Iai%2HU(Oz{G>?e=0z_-A)gzqRRj5 zZX90h{BOl+`xSI--$8D+%Ku!RU+v6k{i@$cgp+<6?Be?5Fu* zzDH_NESQCG-Hf{za+_SCcXEYj+j=HmH@y-3jSyk~8@c!W?Y{zT{>iSTA*4r(;bD5Flz{0V*tir%)|KCS zk6QR<$KZ8rq@IPxz{Ve4zK*LF=(v0sYlTRV0BcF_rooDlgg8C*?+zIa3&Bz8NKG_J z_kwFM;@n4nT*S45Y7YC2lnR<# za~BmHt;A}n7Lv*-4K@{VF+KH3JuVp2audubs-UsrepE2gEHupwj?RiEGErPJi5go# z1kN|ygDUAktZ{O*{O4P|av5D%ov}$akW?Y$ zUKCF=iJuK68F3v1uN>24qG{%8frii!Rm0FtUudj2dt%CatB9>&T@>o)Ys-q6Tewh3 z<|26V_7M(ST~L1sD=kFr zrAK>(?CnZ6Ir%GmxAhHu_Zy{vv{tKT^C@zbnEDBS6sfT|3;9G1jMQ6|QO&R_VzNfW zb2Pak6yiErkc<)0bGm$)Z1Fv`V(2M@z)~45mElDw!*b$S2ELv{38s;I;`}U$l+WtM zlSp@7B~J8(cTtF0Nc_%I(Ca~;R+}L`UZD8tT_jh(3H?C|W;N~;)4g-FXDg$#PueD@S*JN_w5FZ)V^8?WQbAssf{aur;QxxC z%~b@rD;4KbabASt%;hG}fsz#|($mZNby2J1P@MEQTO3z!waT>-=jx~@xh6lYc5UWs z*MEf;t?1vs6cXJiU79=68VB)B$PG2ag63ZEt!33}l`{5UqkSS&;j~XSdyCRF-=Dl^vI*l9*BDQCvT(GT9Wz_~V%ct>I=a z#6-!nr=iUEe~zp_@>-NUqSJz+*UUePV8*M;)~T?$d`GF2UjyrPxSDtrmp{%h{$qdg zRm!p7TXRR zkI?x7-~LOcj({3IHvmKNoOY)jc|`p}lSeC%!bL|QkbW)}IYU0jhoi94M9|>!W`6l^Ns*#67RZ~FTXiAl zEJ%0x5pxRVB=*l@wOjZuX1PkHFH@Nhd3kktc{Iv0Ba2IBgy_AzEHALx2x*f_Lh-B} zM^>6|pMg+;b;qeEtGDiSx*(s}koyah@)FTaZ3~|Hzarp_#q?^Ao5WnVn#{dZ>Ylu% zmp~?|^PcA3G|7CGIGJy&Oy>JpLJ^h8d{-2K5j9AZlMj(iNoFw^TeQz}1wG2o@|g*R zgj*NjlUmr%a1@|zR(wn)PG1m0vR3gy zmHBkP99?BXL-lXb^kmJNO4YMPtP<8~+Cbm-N)#;g?fBRprPOr?kT_8|0gxu&{rU2S zplba7TZ|?64b$a>H&{|c{ch8F6{!N9Fi1EL7305{4Wf@FOyv7Pn@W9+a7(MWkphoL ze3-c(pxuSIbrSlyMuGwU$&F<`IYg$=Z5}UPnI!#FV5Rj5lBCP>N>CRKh3qAKkVNSU z+f8W4$t)uBJ&fB|~!LOUh)Jyg&2F3J&CFl@r)3ZVX#)+liWs6Bg*ZBnaCS zvO=HQ$6$O<`xtOul0px|7#}QkDLdFW9ra-yeRu;!UT!-G0cpHYM4A6V!N_q}@UwsS zEB}V}{#|hfKqKyO5ae`gjQrD)VL;{-#?=hQbq>)F3FU~37j+B2oU3E9q-d;X&ykOx zj_R4p&<+=7OGf4{YFE0^OVI4kv}~9`8P|>M0@HCx>BaS7Q7)-m{iL8Jg&`F~b5FBb6L&>Ye`R20YVbJehRL9_)NVM+I zZAM-#wtX;30gfP@j|fUSf8F+7<_uV`AFG!377=7Fk5;Yw!UHrJt=_mBP%;txy zh>yZa;tR2Atd$}qwion)&SQ3u=a>|T+M^5LQToubH|X?;+*MJh{$Jl21mC@3f6!@t zzy1HJ!r!g`j}zO_1tIrv-2U=Bp(}A{*cdhwJz?z?Yvv4%l^X{2^DEbrJ1t^w#AuCE z%RrN;Kc#d^`JXZRX%@a>dC0}zjn|de|Ne~8Ru}FPPIq9Qvj7V{we%sj%vPn9e5Q>u zRe9HqGOQ@{IVrFlsX$WNE#2dSR{s>~3jIdV`xqw)RCY27tpdku#OvKkQ zhe~{nf&iVwjaNWWc7&dsq5u9JsA_B20~#D$!9e!8jH0QGgl2s}=6g1Oyj@77z3J+L^9q#G+;uJex3|xmaf!=E+cS@)Z#`ZY&v)O+sXjw@IQp}es+L=#r|>;p3f>D6q}bdc_|V~ zVe!F)g`v(BT(uMyf03}j?4S6ClV&O$`>(s$F!7B{A}^5YPh1u84ixfTIKtRqKEZ4Q zLDE^gLnC{8W5w3PM2J4KIU&a%WLN4=P|l@fMak8&_%JobF`C7Ort{t}`-2y=GJa&TgixwZSDQIQ3wD(?EGuUr+Sc+vB#{7;N{?^rwSP!+mbHeEI3B@7PX9T=_u{)`7}>F6S3V z#z-%qbE+g9&!Xphl&yqnps{$te*YLBGvd&OQa$_HF;giq1%e{BMUx<;H6Zr>(h(*r zpWrAWD4R^%ivo_3P@iJ<QzI%q#x zw4z4PT1LQ7Z69V3D~5mASjg12qEc)H_Qj#JePQ>kjU3EmSgJc0D#wf(#h-FmSo@Tp6;AJ zpW0nx!@g(_HWXL3hQTljwUez2;ty)rOS4~~B zT-o;|**4Yzrf=In+}4J&TW?rb!_HvuvcG$G7)p+D?>rpcRjY@)2R{zX`mbjHs)XsW zFg-8sX3DCpEXTG&TR&)a++Y6S#8UUP5(3v!Q%$CpLgb>*%}6nVs5s?dTc#(oBAcM5<-=O? zg*;dz;T7`ryO>bt2~;*lx%}i1Sx6bv_%db7R8`BZTAJemK>AwMR&Apy8IlzErso;{ zTIh&3o7(fXQ+>P-By&?bvK}w>i;Ls-mKFp*_j~u+@6%hyJbw7;Z&@WkP79Dqp@z3K z#QgJRX{lV}6ub%8rE|Fc`{cW(h?$5f2vd9}f9=Hd@#VWl2$f~>#Ux4+KoMa2!e!dl zzccoWJd&oD0|tUBorht!jyCUwnS!^7JqZB|p9)^OogPlgjN&}eD2d;{pt4LC|3b4Y zQ%xKvgO4{laUvb^1(L8l`mPZ?LkFIRK|K!1R`)y4ZIqwA&%)-QG`;QMnM=qWeK!cV ze92>X^xh;o9R656zGKUJVqvOaj%25cp4ns?325ONpy}3I0RX&DS0tW>n9NZTlKnlI zYA)3`MQR|1)N8U5lt|c0U;#|$mHQ=`T=91pAfKh2Ces#(fj+ao$3gyc{vB$d+k%!!V`|fFK)uluZIfrmA7#XOrfY1g6dyzl5Tex zHEFhMtsqf0*U%wU*-UC68pWB$>q*w^_=4n@#-K$AQWlYn&hJ(m%Q$T6zh{Q>il~u z0*;A#j$fb+MQlUR&nZ+iQ3UouC*+LUFCR zl$Jyy^BNMVNlnRQA-R>u`(poIj`7nTuF&Y=5NS!4jy8{>18oxDO=(K3k13%cK4}j} zSrAI1LH1u^vRero(u!H5f%-H!RhDCE+6t<^G#z%d;)y6rP&~;%7NBp&C;Jzs^Ke{U zYC3`-){vq@Nw8FKN(E;T3JwCnSixxz7p>S#ilw|RgIsX9?E5J(b%bwZLfeBe8jWh? z`Yg6cWnPz2i9psxENTS<2cr)Y+XBm^6&pF>!xifZ`0&+u>7OTqQ(A=ZN50naUOGhD z@n{ltL7<0Gx`SqNihQabPx^=Oe2Z%?t5ML~f`VF*PiYsAP4u5YaJ+9ziyI*unb?=0 zt0Ov^>LG3HBCaebI)*fPOGWAr=WeB;HrXm?oS^A1P*14vnOs+@u20zt@u?<$JzxwJ zqLg>27Vtj#aSerISL%D|XH4LEPP@~NJSX7l z&ta%e-5Oiqch*8jV8vpUQ_^1ML%3B=NlPoPoN#yt7ag$47CwuBNxOnN{)x3%rU_DP zU$**cV(m5l+~1+M<}<+(P44pNghhy>B4Es-BFy~GjOw<=gFjS2&r%y@*2~#1n>^;M0^Q%KLHNu280Dp+sjKob~<7MDT_hNDhq(R%eb%Ti6U|NRq4gvBfzr1aYS8BJc+h zDotulZi3R@liQ+rUqP|xfWV&Yy|Q?CxfqoBTr3rnhkrgWN~!k5Fr^DH#g;6EQS62; zcR@FqawyBL=ki_>@p7&ho^Z981D(0L`ap1_m;`PZq9hoDhOv5N;aGVtY!Uoi^WqC_ zY)E}HvtUey7bd`%&#Bdz`owr)3wXgVK?*atAoba1ttGNMv~9k1ptz%^H2gsl>wIBimAU6~s^@_+n^}NRWRcJ|N&XwMZO-oGeaZDyEEl1u zLX;pA>uv>c_v#@ky@5UtOmPq91u1+Mnp1sOpa$VEZIfw19~-k|S)CZPOaZh6sF*;_ z!Be^rEhhzg{Be+8@HmWmiTU>qYKL8KU8AU#Hakd9PaggBt z#jcsWSs(ih4MEgD;8JuZr5uFLyE6;m74-0#y#*XT zquE{-wK1C+oFPX5$>NTW+ zI~4%EK?iW)KTzi(s5AzH?)PusD*q!_{;vvyqyJPS_zRt$M1TG7N)&Hq$j-GL9q>yy zmvdD@vI#_yhg?1-Jg)~l8znriF+3Yfgl8SrHc1PXWRc`g!}J@SVbe#OVF~93{>Q+s zG~Ub!U!2DKfo?TOBA9*lTMeph%?M}H-D@bG)>YhVSf=$1{kWlIzK$xJsSxYFLU^&_ zv^t=N5q~J%oKL)=&LDZ<2i-yAYh^##!2eIIRd3 za`rZ03|=E@`n{n2pG5J-Ld9u5JFoqU)9r#hiATCpufg)fi3ozTiIEih#`n2d1_#;+ zybHAGBNT!}m{Yo#s4k+WQn;*%aGBYJD22-h7cMy91?9yx6e)%tyQ|SQIq$JaIcq4Q zAd3j0P`?7j2@h;sMF$uFpaz|8 zrHPUUuvQvT&_itT4$(C@w3uIW^;p=X1!%5uTeBgLT%fsrPDHV0-L>Opd75kP%RD9k zled-hYV9yUqZlxVTJTSUvUCCf&tSzjo&KPLf*Hs8OTAi)g5eUbtZ*@m*Ahi_E4E$fIV-9pQ4==mSKxmLS^eyY7LBRs zIg5HKJfFqLo#TK)QDp1cp?Wz1A=@Yv3fH4mgg#f9Ii7^4?I#ItxR|v*o67i^*9#mP z=UcY;INu<_VT3IlnN^XvH_gr+^q}A8BJJ?+NF34CMPZjQsl{>dU=rGKG&4RzI=b4H z6I7jp`~?SYXZbKwf4~@VBIJG}$d*JGD&lc)%e4kE-O;W#_vL@(Wq?V7qobmXu8%oZ z{g)W6-KKgA7p*Q9 zbr8PR-=+o9`7=!+pt~YvtLMgSS7osv4%3cG^Rd~5M4QD;|LISd%`!bT-0El3SLUVJ z%v+0eUQIa>QjD*)Y%Nae#_RE?UmQvP_@4=a#;4OS{41S4G94}+jqw}m)3^Vke~Yp` zqF(XExNMH;sPRa$2}R?W@JQ4m*zB~cpdJ9_lT>D@9(-dg-_HR^O)V-+9>lTF|9m4} zX*?xFeo)B#Mi3%V?Wc?>k4KEZ#b2lS*JKgq7oHuF%Hv9^FVpS>{3{*to5g96{?-BLs9tqHR~qNHAxKqg;O>Q z_7%}=L9=urwW(Z53<=0NbUn_T*a{e6$!OCpY-_b2y%j>1=$gj><7r91(p%{7?SUU{&ynG z{`4nFpTGclH3<_Y)2DfZninlAPlbRj-)XWRC|Lbx7TX89C{U(9Si&`d_f3DW%q?7W zx^a<#$WvZ4-ZIbl%@Th|j;D;PS>^=zoH+p|4`Q??IRTc*h>On&Fbyk?j;KG17n$#} z6p`!7XU43TEJ_)fL}fguK83|*37S$`KF!3T!lpo(6(<{fM*u1PR#}1Ihw=oURLpkCJsUz4L5h2e?AI>Dz_{3$?W}GMp7?ymNeE3Ll^5nX;BA!&vTku>xTaIU}XnzD6ZX`R7;&vgTE&8&a1+NKDFXnHB4Car|IRZfmB_*(S5RF6V5K_cT^VN&oPn)>-!;mV4^f z%sX}K4SV?bJ!1`g_?AxfJcq>cB=R(jUVO}GTE5SmZTh6rc!ZJtx65E#TfGd{$R^TC z#P7m)RAW%%PYA9Rn&~u{GwLA6Afa2K+8L0IR}*CLzHtvnH=XwXm)15 zqnPF*^ef%;%?T_0DfJpfo!EhZwxKgO665*Ly+b>-e|(vTZHPUg%oy#jx>ws=k#JexAM186&QSkREe-mMm=vZ`_ zX#U6;X~@jUxR-%UBSwlk;Dh(zc3uhv@?=3RWE6C-KY4<_k+3RU0htm{%N(ccjjyUa z`Ofg##Isl?>OixXb0jv+@jOp^b8&f*c0NF+(2+niCO7DqBPyi}?r(I#smA2y@yBq% z!PG7f{?K4Huq!L@EAH!BTGpzbc;Il7Jmz$xyMV+Mw`hwRIZp)Lkh?F@$GOl7&cc8H z4y3U~9D-NS<^5QjU3r32GBX*B&V*T;Kxsu+TGJd-hxR*Or`2T_1ck5U82u{qF}0k5 z*Qj^8LC+a<*lDw^ljF;c{o{+2!3z^-NQ_otqP(EdVHYrCKgMDN4tL9WI&s7A&6fMT zD+PQ_RwveI7qZX0)UY5t9It6O5C+HM_AX+LWp3%N9zT&{#BT>r4WW7D=fm8fR_n!0 z%L_E+MJ$;C)XE@n?*nT3#2d+r2@<#D(7fv$Bn~CFAAx5JiVwG}gQH_3#f{-`_)x1e zSb)E--2PYu-&?cteYySd!M8t)*$S)dD&N66VWmm}}t zwM5soKv#Y8qcbJCem-=)z`Te9dw06XiHO2x^w$$z^V0aN3A!2!-f1QPIW@SJagEm( zXHBET*}oHK%ecl9$c-JyJxupM!fw$?E@2{k_n2a;Gr{nh|Bw=w^QwOe0a;2w^GIrPd z!&b{7!Gj51v^xGUiImRbJ(9?S>CKM#+n&?&QDkr&IXU9PzUQqJjm_He9+G_VNi=2@ z3ZC?>-65fB`$BN3VSmtR)#Cu-^vGio`b!i7&;g40V{}GYJoEkBX=iLg&gsT`q410a zbwUBKwb1k&PqC_|W+_$8vx2H42YyviLm=otv0PK;W>ARRj>rrDLb?O`P|vS-ogS=W zcBYBEse8cei9u;6ngy{H>kX&hz>9~1QEpy!%*T_PM<@F2oYl{_?Ec}czTeqC=r%4? z?a4H+_xCO~wp!P>d~C}>52lz1!Bh}W2z=$QUZlziwowNNPhPA(#a)3cyr{uY#^e*NeJUtFq^%n2s+{O)pSZ3U6h!h z?M2*CKIjQ!11x*VIlh>qA{Lg3u*V+;(NvVTFkQ}z0s z@b7YvKxfC3QOH|dy<>1DU)1(H@x*o}$;7ski6*vf+qNgUW81o8+qP}nc5?E6&U5Om z_k3B^pSrrMc6G14*LD4_ayllzes@HkMN5&AdRh%egg6%|lFq*}w=-tS?;s2NGmiWD z#M49j)bOXAzk5_1rw~HqQE1ZL^^Q+806#r$iFjp0Glk0fo1d>AgRs~iTINP(szcw& z{t9;sDJS8zoqDF}E}$&|TUC&hX!+{VHRq(}oVH-m>G6Fovhm+LBOjxqATK6VmVMl( zEAG~&Kdjw7F{fT{uIAQWrzV#2Gf~iC<>e3LV(l>X!@#MD@I=@kGx*NCC5smfPSlRT z#DW#f)(t>7ZV57RFb77>jigvJ2Sfy8B(%!2mM%36$LBqiHe01aaI$bA<1oaOx8ww; z3#FPY)I-#rS*P=z6laY3eCX%hu&f$>y%jp&IlXy)QSq#_dTj7|!n`;7@S5qGX&zN% zejM#B&Ruk<<_)@O1IWMBGI#xm7+1u^9$R_@G5fL2>%~$fygfZ&E%y^Kdb){7I6%2- zPvK7Qy4_FexoM9jy9>`pK*b&miNrn)q#=nKk4|cLuok+n?@Nm;Jr*7-sx2UsDAik0 z%(8BE2p#7Btdz8QTh{4rwJEQ9*Hzq~=Gdy}uKp@%eYw5Ha(XzG_qEN}4H%w>OijFo z5Jpar4A|61Zs+-!tUjXEqpyotYvu21A(h6Lv0=2=O!mBj-C*BuFN!!^oCdL){vlNm zj?R{O?595*&W^-%AhTT?&J)dfKzX;0*5_eDX!$o*2Iq0K`20LP955w zn&&lf3S+J6nY7!cKeth8f#6_IFt0O_qip&yU_)yRYgf`7t;B%;gu19Dy3alh0x#hd zY|7%cZVTlf-SoMh!*u>i-S@?zGt4qfpsGQ77#)0EBCor+EUF>!y)&VpK3s>ap34Ni> z{t0Zo=##tgQa1y+xqf#OCo7dGFvaU4CJi|3!xu)T;6ewI68PMDGW`KX7Z%S%@B)C+ zcvEd-cSyzS%My-dS-7jP-Wzx03&WHqS$ixnIFU%ZYELxOKlS3z9XFIdP4s-6t&J(K zHTbd;ZzLteZ`auWS#IZT?!3roFXf90_*K%Mm1rnyg$a-0$3Y|hxKuC#nuE;SW&(o{ z0Yra}y*pvaXkSRZ&hg*3v^XAC9$;4L#vCfw2su)+o^r%nNyeMH-h$P2A$kxx{S~yD z{`6i-ptIHBW1F46s#)E%a=Vtiwlq0)6u6|zJrpPtMj!l~w;w2kh6qt7lsP^DYDexu z>$?61@gtfnhRvq#hkHL_@^l@}@rZWzNcE8F!88kNerbBH`~rz&bX_KvLWo$#-q%ZHJTjk7|JVkd;FwvUUozR!cnqK>CmH&6SS5=0#xc8T+y8dI0+ z6x61EMMP_tB?p*$`31PwP~4Ln_ve{n{9S`HaQ?jv?(6$E%+&l|r}G8XKgBmM;; zKF7-5x=H*XwF{-hl0M1}f}-)6a;oQrc&p`hZ*U8Di zaa*8**1k7&e#swuaCXJYrKOib1vVY)E3a*~DYsrO+zo_ZWJ&amWqvQ8?NisLSI;Bm zKZ&xB_iK@7QBD=E2K|DO@LY&2jd-^dpF*a0`(vNub7CaBu3RZXcGxIH(PK=1Z3LCZSO4hM_bo-6fS(r`9SYZ^6+FFPT7oMbIt375 zm%(CKFjcGI={BIPm4{T)sj~LLl~%%5UxbvRjLK}kd@3L`C+TSiJmmGfUKe=VW3S_@ zn@*IyHEj$HD*o-LcctF|D|v0JyU1=lIK6t6zCYW2`P1_{)%A7f`+oKHNwDyRYYYAK zHFWZjvGn!AN0sR7nMpP(4FA1k~2%ei2`3j4EZeh_T2Ws#;;1Vl1-)(&1A4^7c961bmE^`;<0Op&)v z^T_9>@Cqr6wB%?VEkMgC*sx~u4&sq=h9x2F_>5c(2`J;#brEDU{>@$ZLr-{N7PpLG zsRx$Kzgw_meo4v+Qcn_q8Y1pgHcif)bI?@(J)=zf$wNj7zzhgBKC0)_!a@gFTJ0I6 z=%jxBL<<%)L^dMLR5^IR`X$&hQIHb$NME7?_OU=dkPNGGB0CNpwFOvp-u|aDZwekR z5}8emaWVk?V_G7fG?JA;qr?ZwiN%WRPtl5TbR&{+0d@ny>rLFUQC`{abT{B5yzet^ zXk9Kl)?=L3@+E_MHl19hyK>@yX<;>>6yVMqnj8ri69XCLWOyhRKEC9)9x>= zNzj5Lxlp2Y9Za$S#i(OThtNPorJTDe%1%7;R$%yJMoE&F)LYn0)NMT?7wA`(3(JoC zCHfz%R()4H_4Clc^RcSR_n33Mr$DOm#%9kgu zr_MFJ$Bh4P7G(gf9fNTaJie-3#eB}>NssWF#I@@OOM4JQ`g*EzSf)7601JABJdrg) zDuCZ^g3cx66{@}yv8t~$qy%3D74bcZnzaB4CT(E|O~qadfC*0IMc;R(KjUniHHI`V z17V~|y}4rKn3sp>@$<6>l@!`#0ip?em(vnyAWhKQdT^>CbqmEdqqptL65@Z=;XyPV z{d-87yXbvVDcwz@aD@ImzirU^Qv{N?CBM|(gNLJ4Rnj|lVlT9?5GJ@B?W~=cMj~p2 z^zk&SDJ@_d>H9)Guh=h%_YpNOhl&)86Ja*>aUEKgt}LHe4oFkzHJc(w@X{ zYVl#|#?BN<(e)D~*Q!+uRp>V-Dx@O;Sfq^JU2MR}u2CxmV{l{q#gc^3_DglKSwMWaR5p6_^OqDU>AYlg}b`2{3PU7`MB*^S*y3vSBK7JEh5xTlEB<4P=j4@*ODe z^AzE9{-43&+cgLf)}s{ z%zmC}dZ&xXG7M}O(k%-yo;S6Az}=EFm#q9g=gQ}iy>TbaO`Gl0S!D{ZHddmoF?Lw- zoiUksr%JYa*%~hOzA|}()2k7?#`0J+E=)pHxocTwm2B{?*Sczt{Dq%mur$K#0w*jd z6l%-+Z%$J8eKe8`dQK|DMl@AQ>j$w?;@(ORr?oM)`F@|r(L;T2GRWv&KB#ID!TE|bpsIlfehMPliqff8-7Y6DYFo0+gBMvhFT z9sk3oX!#i+@~iHNh;Z@t2_1R1b3THQ#&nn{Oyic7t#(D-&1TG`BkgIrO(U4FTd z8wZaZOwLWezmyX&l*5-X6c=c4k`$>i>*Ae$9BzumM-aAYt3W#Qbrb8&&BqJ)118^oj&?C*7YjXZkrO zFP$-1==k(o1P)vk6T!0%V>l8rFG>(~FojHP#tOHC&?M8|IwL->ge~VvhndhKCrNTh z999#kSIR3mqr+bbCSOf=$k@r;JW5*fyS^nxJ4x9(c6isl)C~w*yJ%E2%OV0U{nX?h#)p6S^ zdi}McGWE2o43;5O6H+wHGT&JfILH2Cl$DJ)spYnHdx|=bEu_Y{wwG3Yq;g%} zJUfJ$VWbY5ZR0ncGT<%?%Y--K-Dn2X<-;&j9;UAxWaBRMM@{mUp=M(X?+Z@(7Zr=~ z&{G{H!H)Lj5saOQ5=RkN>Eb+LUf!e+GGV&NlWsy>U*hxa@@Tx&$e-3~G)~cf8O#~c z@g;nLrJ7r3yFSl|)(GfwZ7gn`n83)eM?C`CZCW}LmlZKo>6>f1_?vK#IOZJRO$Ih0 zXUBMkRtlVjbY*MegXh!wR}7;piI>)h-7EmwG6iAfWkpV9BsS>OOJz*)xsoXqOBGE1 zh(8i#ml^g{Q%A!2J<+&TZp$xI;fxmTa#t#*7A#^n{;2AT;%sVUwMbcDRM_X9RLCx= zn0s}F-&71f(vZLN`aMW{v@I?+;ovshNncP+TyYjV-%_V5td`3hnnip}IM>v7@kM=D zAFXT|(PG;8$rct=)j;sty&@W(+b#?%YnW3IZr-Ylcnh1@DEyv-fkePiGEf)+T}uyl z?qmpDP`e({b>Xm;rjgRFW|#p))zZ&E!H7S_DQ8jOuY*S29nLKd7@~fV$Ecn1{ESi^ z&W0MX4SR16>0J+tNmNrB3TI5;C60+JleN5}Cl|NfDCdNEGqflZKf$ zpRvNDx?-*4n0^@L3Opb$UYbfLOr^i<{TPJvE^+zCNR<9(?Qb1>{AW z0GMu7%&}Z|-f4$J*aRPLeCcbymIaJf8jUbO{Dvm~2BdgFk=Y`5Udy@oN*KB8BP)Hi zDduRL^cL?ua{rJ=Kf0!F#~$ke#Y+Q;{WhGDn{V}8OUN5}x6Wvkl%Y`Hi=#-Zh)_se zg<(KtQxhN1&Wwqxk-#QNr=?0)FG;uGf~3(4g|L+g4KbOj%KBhGSnmFU_||+awUC~< z(!wCEdaQc-uq}m$ezUnj&WdAfY*49~fL9rQ#5drv4?NajM4MxUhVCR69q?j+Vy7LE zoIk#Y+_bwsaixO=?Z(I|k#?c0*-Dc^Z5@fuD%>6HO-^$sH?8wMw2H4BIV?_$i1Yqq zI~TuIRXniQA=2s5qwQk9ra0C(fRjpyj`7#)l7bfV2iKedThtjz;S0D1DjMeB_SF@b z{RHZdaKt-_;0eDc_&yj?(Z`bz(5|!y5KcF(GWcEe^V36J#>w^X-5wqNLiFt|dIbYNp=#1mt$s)o;y>syN;L%=I>TvK$TIm_xawr; z@JO>()e)s_(q38!_{440PHusyKek>P@0c2R#3(wdMOJ!jqRy;l^4l_4%(920{1RBb zOtXmQQ0ANh5w%)%-w9%l!t^H%JqCWIw-_nv*s0firq07>eM=;OasNpqc7c!mG5N4D zeMweK?3}5$3E3I$N{gnj*j$dz53xu>>D?F;J??VLR1Saf?3~T4+9wqbE$^UsluvcuaRlc!{y3lgM`cD z(fjAFAS6y0Q0KrD7t>jvMDmeci5hc@{VCHAGzQa)rRIy45}xCP8{(A83(i~^IC)kkO1 z-mq>+M7CI^@R_@Dd?)oGIrcnW{k_&$1UI&J*OD$4+?v9RAM$mn0({oxm~{VQ2}#FZ zDrcw^dt(~vb)hssQxN%`JHBq0){`L+m^eGfXI?-wx2|BkfKLY$V~1KThl{LwqBw(Q zT`}JT^2RmZiBPJC=snhrYoqv)4_K2C3&WJWT zqMsLK8*}@`I>Y3k!~9DqH#qu1C9^``Tla;3NEvZBFObj@Vpgi)ShsRxCr$VO%=R;F z`pz3yg3N@VO36nTCoK~*5fjXX9pfYgCsla;cPoJBNWExiy6zr|h&QplJ@yBz?Z?N= zg;SdUoX$LgP#&LyT*#*A#gc3(71iSYVHNN@@H_jT&~^Eo&Zs(V%0j&QouZ&-CWDql zlOD{s2cgKPBRV(wF|H9>RYl<_aS0*c*~}szg)Ngi0gh0RAKv21k@!bLf#?t1&woy6 zeB62J{%v-SqT(_Kuu}`*hqM2%n2wpLQ7|`|Q!tW}Jq-}trBrc-@c(_{F*u*-O2Qgc z?L*ecs@+eu1?A8;W5%~`qkLug1|RJ8CuCC$xmJR89rH>}{z{t1UI;gW-PSeS8$W6o zV(r(SK&qNeAudA~5tbg*B34f-Yf7m+RTNvpS&7|3U!rwJ?!bF8?69&n{RL7ZR zmCNA$j#r+r=rmEeo3Q-Z(7h$HxQpX_SdFUG(hk71?^z!kcknq-%CVGRNxD5lvsgiS zvEl0^8HK=@@M`FihCSeLc`3Wp@IifHpLwv-FK^1j*|W`cB=f(nX!ksFv}^~xJ2+`Q zS=*%ex5d6#WgDu~^`T0*m1nu3Mu4Yo9~1&8a*{Hp|W}9eG&TItzJdo;({_Z)%NAz&zy82SVsxi>#CSoEWa(b{2S7_E&#E&zs%~*mGW2 z+PJ@@hY^?V9T4^`eVb4F6rz7Gxm9TDWGrSHuQ0x{-7J(^(KYg0Hvi><3G3o@KfVlG zh)ejKkf;j${4;T2pHuTi#&r(GWuU4!R`9}}0J7=N5G?04^JPk!oF zK5Fw!`e>yy-NJ)g)y}80NkD%UU4`pmhUbx!RRzN*qKlIa$3I%OcLoDW8zMfQtGkI#e+7sZ?SlBea9QxFrrry;yRIAvwvW_-l~&1TI#$ZU zMIHqm?xs6c&ERFMP&I4)Ghy2ryEwYGXBoy%aP#;aNB=tR=-JLsj^i0@0xB(wE=o(` z(JKg@L9{u(I7hWZqU!vO$EuL^)HN-i!6d-SM)z=F@Z|kjE1nf)?%+#dj+Vys1ci^G zL1P-z#%7pE;}y-MJBFeWrA%{qGPG1h)+Jgg2HFaJ#uMq@B9)A+5q>d`zBZsgZ^l0g z0tf?v_C=OHrb+%N3ZWjAC+@a5Z41t?p}IP}D^F1lDSrM@ohKD5eYY1 z#6FBioFUf!>(~Xqv3K>GP*Ctx&Yg(R(gkJv%Dgq3ez>SD1Rrb8XrZMR9yU{Qc7M$o zzu;C8^`%bU$legv5H{d$d5duv_+pOMs_FwUFYZd>nIdvTe!Ya1;$t=)8?L>0InH6? zRR$OsGKOPrnU@YhMLWi~O7|{C{65mNEP$-OlZKt<+HEwM;W6Fq%w*Bh2p0apK+XBSVcXj!$I~`T@2nVcfNnk;ZwB!6SmP zW@J`dOhiK&b2KR4s$u&ULIQ~HQ#BTqVJ5fPu3>=&#Z>`Oop+Qe-*Ga&qCpABO_Ko7 z!u|Exg83{iNe1a!-+G1E0!r1liJe-lrGqcqH{7}IQtv; z1Fnqm7DqsqgIPjhf}U%H%Dbmc~P;AbYJfW*{)|^a`)hDVi~ZWe%-88zIy1p z39im;A;_9tLVQBHf17&CuyJn*G~cRD`_C5k0i!;V9Ct z1THi{FSOs!Z?qzck3_yi`PR=XWd(j&ec>W`26btOjb9RUo@W$8jzc9l?`FVCh1L=z zM!PlRnfCpU?L3-=q0%`9oteB=CxuP8nSFutk-=wpMf6N-9ntCJhne4{Vu8>AXuVm_ zTq}}v8AH^tZk0-In@0pdlC@MRA0t=fH=3~p+Vo=HL(xcg%2E)OLOrEsG#$JrC>l{EdjxF)QR)@SJ zq0KNxDgBj$lsA2ao&9nMJj|`xz8>284FCLyKSB@!jiX0}swX}wn^qt(zED~*Vy*KL z;I!9u36yEVj`;R)v3AYZU}mv6xFRjC+6D6^OKKeFhxZ@`IGL%~*; zVdWyRf+bqwf6)CyJfq5iX)VcR zPBKSuh{TTzoZzE0zbRIb97{aGJE0()C@`FUW&m^|H%46n<2G-;V$)xyn5w&o{@ydu z?&`kR6S}Mi5eQIMRRE{Vg@KARJ8G+`*ypvVj?7 ziwx7EBtSIMH+Fvy^%NTb{$$@HzSjc{)u2iHe<(l9R{v3cgnJqe`%CbAQjv;3F}wl6 z-RVfyR>;;t#-oG?u9y^6?w05b{$1X~|18q~jZAaRa6s(B{Z3XB3<6^5ri-)#XZYP2 z2V(so8t7}PMOBWpCKzz`f036#vI!sfOT)!CX#`2`%tcU;YbrS+dUSMGCHp<)g2*O` zro?c1T+D}xn#SI(kc0lGFf2T6R@XEOgesdWU>+p>%AV>_6M;K3C-qx z^W*QF%ei+SZ`uqw*4Fm^qF78eAOiV^Ur3`IMhOCZ$yoIXN}my+E{5pcQSyfg_Ju#0 z?{dZg{Ie{aG4HNjvl9g35N>6&uC(vQEu`t|bHlyWMLdxxcOeI!I3t34){=s&$5R^8;CkTg6fRV05jY$0o}x`)I1~2e z)D^6BR95leH_mt-Kd%}m%M@y>>sWihVv`nOP;0H=Ul7gK@2JOP?oKN3{3byBwFSdr z=f&m2r!qHp*-a#n@EX#~#}7WyFsxS?o;M{3Ev^#?u08tFN)^=%!%6rx4}5WCx{#m0 zxU<<*t-Q8ZPMsm2-RMCX1e@+-Caszmj8W`N)&(yE2X-*hcKp~{)c$(Vn3?;+3u4bI z{WK2!nMgCGaXFdu=(OTg7|;Uona+S4)X z*lg&F2D&*8JVQ@=C)9%9-4i)?)QZTsu5D zfwY?19-hsp+LKm)uHm0!U@vE2(m-10oUIaKP)j-l1#|&t;0~y@;yruhYqK3~G~WeH zM$N!Cc*ydiigU5NbXCbh=TwimOAuQt;)9xo?WmRmCM%=+ejMT1%w_!i455+A;)X10T|62xx4;2Et|d{XYL|_B^Y3<*N}>s1={}TJ?;^r2 zQlJi#BT%nrNik032*k=AT(zi;;^e=PUH)3c)KB(ospYRk*QVz+P zYlC`mV-}8`8!g7u3pOO6c?JdMFaT6K?d%l03t>*MXY|t3+CEduk)m4kFG#kme&r4t zeo+=O#WQx+!XU9dE5<)mGrAd`0N%ONBr!&I1>h}QWp;gc)0WoBojhVm?WXC7HCBzK;eN0A1vW*&r#Wt}4e^q`=2Z1Qdf)!XmBY zE&`qlnIji<^YbsO<~@q`px{Fta+vs;nc9mf;4`a%v@f43El%`CVV6T{OgBBvsAigw zev9tlom}YRGuZ9Cx}ccwbHk&jfTB)3gm3co>37B$m%cH{main$hN&LD5o zP~nSgMYaq?^_GH$1`^8)z?7T5ka&Gd2=i7$_6kdl4pTPsh9)})jqbbj=&ez=h2Ln( zXu47soZ3`8$fLx));$Gz$C2o?i+p&U>05?n&;W?yG%oL%>8;6YJmhTzl>>6b6csvJ zk%tp;Mnr@dxR1c!0NwNL-;ne;Tj}2cv;izCT!P@?PJjCfqCFSNz0`4xFc2mQh2aS(QgIA5Utb#JA)s*dM+|gM5SFNd;!LZ1QXzO}iL&7(+Jrap>B~dq99YOObRa)^XzS9+jcBxWl$`k| zrPEc|G`z)%8&JpgQe@(yZ)a^|V8nQVrOD;$(Iq{r%2t&Ce=0w@C(HOsi>1;+*NqGN zUT*>D(P!+p{ftq<=On{v%L2P`CQpc5>ThuPpT-PNGCWXk^yu93<`<+?Rd zSoCvk`OneiZ7p*hlMEw&5l@2HKSuu0sY3^fhG774Ue+`2PE0>glIjQxihJic>+KDu zvapwwJzc;Z-PZ!=lG^os%5u?Iy2E6tbb<%xck4KDAdQ{+4xX4v{sLX9n~|-an|Ux7 zCAI?Tz)W41uRsjTnfP@tYT~RIB!mx2O-q+4DuZAsElaxa9O6x3zq*;i|C}*!l0Z<( zYEJCN!c;LC$z(n%#XgWI(UcHR+&_6S(pv|a+;T3m{~qeU<9PT^;kfcqx2xqM5r@J7 z=|@UdkNbOnk*o;{(A02Q;#)i`e6iy2h7ybMwwl5VP;A}G?Q)_bcVmg_#C=zk+CMH4 ze+5Vh-WNY0&cKF3=}kDT5=|^T%h;|MeLhn=X+)A};+9O3VQ<;JwsCB+mnAQlq8pSs zP+4$QRpmT)C|YbQv2pM;LzG0{6v>nbR0swF#O-BXY+{OzQ$u0YqZOv89?EMt1MLS# zh0E09LFlUtPgsOcdJ}0FMbDN#4Vf$Scg`A|(>9_@GzvH%vmyouBCJvnb8Tq&tK-YR z6F@epSH&@vwTPBRk|4SS2;$N5z;ib|KqY}xT~SQrQucKb^Zk%0&Uyj(Cb$DeGVHi0 zh^?t7CZ(=cK$Z~aQkEU?xP{tgRf)<*3JR*!%h(FvKgFI89vZeKjyP~fNf@0;RaZ!V zSU2KdFsDYdf#OMWlvW;b=J8wBtJ_~m6N^saq&ufoHbcG>`qsgh2!*B~=&~nY{Ri4yqXKiE~auI z4OOY00InHIswcpH}ExVeB~dwy18r^>KTfDEfQHeYSfy<#7eUOz6n$9nPgPY5Ca z3>Q{VRDI9%vYr`?1NUMEG_GZEW>e>oJ4!rmY--lgy<*{}DN9WJ zxG;{_=e!>AN(>I966AE;RCB2Mt)tLYxg55bbwnJa4JH!u%Fwh6kEw)JDO)!solf$F zRHKxOjY!hc;>=cuV$H7fz-M!agAPZh zGr#H%NdCPA5^KC$68zLYRzDuq(Z?j>{;qgVM4N(k%AKYVVvlN=v+{$%JW8$Z8#_g+ zjeAn>Jry+}b2N6f=_%*QeNKY~WMTQGPi|W@uGU2{O%oG3*fZPmF**Q~Son1L3&TFB zKNY80;js6fDlfy5ZX8Ta@?w^TzhNF>LS}XBY>|7~soZBSCY`fhTFyNQLWoN86^uY| zXg?xOnBlEGD;zpFodxr)3K)O)qZiP|@vpM8H>#7|lZD$g90D#lo!!ifQ6}{%GrxTg z0ILE)&VkR_l*!R0(Oj$3d1SF?G|XHRq|l8*#csJTHYZt>x-V~k8kde98YlO(*y${z2UUf{d)Y(M5T*;&AE&@R6dr4 z7ZDpLXNQA=$xoBe9EUa0a}|kxK@2Zs$@r@NJJG1kLcZz9_j?}a_)ACKm%b>rxz`K* zvP}`wD0^Vj47X*kGURMU`(^2geJ(tk5ZyQ#8GCFTHk(+m02oZnZz`N6;a7E^RFN#* z)Y`Ha%Qh{xbd&VRLU200)aaTiR)g)9P#ti_6@MlsjZ$Zxhx@7=)iP~TuIB*a9-+Nt z&Y}bAh*^IY+9NrJ3MoYF8)@Sy74?Ia(p#$quB?i<8R=X~MAeUfC@=<~DL49W&>PVg z-Ayl^mNZG)1XxYGFE=+(csaX{K`D~;vIQRSENFs?z%#m z#lzA`^2SSxBQf$B;F`c``6TRZEY|W23Y$C?$@%;yg<>71O}UI-JIV|-;Sm|DSs$L* zcT?3r!Kiq*=@UQS^@@)HrW6=ru*7v*755+P*kTmNt|_aasVu}Bg?||8n$?wY_7AmX zMA4^IQG(p;=SaPecG-MOS1g<~1Td-SttxYPEbspQYQkj|{^$`LftE!!cO0cmvobY& zP-MBhe-n!8HO8+_H;&|;tZCg178ohS5NTrYnb+C$iZHUY{w3y=iw8%X?e7V1PMg}) z#$OR>ZTT_qinF4kiB)2c>r60BcZ|5P<5?k=k-xk;>98cu@IDBcFXVEM4m ze99uevknZNX3?TH14REWYA1O16YpdXi}Ww@Kz7h3U6fcBo!4d#PZ86yTAc-|FO5XFHM9L*WkN-so@U8<&WCn>mp@QOiM^F?H ztIhr>;!BHVjzaF7z(z1edu5xMg#2W2v?7ayjgo$J3p?ZOFl;t^!8}CKNouCWvgHs= zk>XVm*(NyK7TZZ+2~=U}Wk~bVp;16-V8dPPta>x;2al}BE6&QnJ|Aqz#1@(fPsi>h zsJmMjrQbjsA79qaD=|6TbIXM(GK~1c(_*JnPntnrLo07UuAAT(1zzPuB#Qkverh)@ zO(2Bh0(FJIEaOe5KBwhM_%7e~@>_}$u&Br^$weqd?oq#bq6J6W)n#2=ME2wj*QT;9 zI*F#=mb=2XGB(>e1=VS_Z7b+A~>!N9_0Cq62TKEZ86oZTHC-Be3pOG?15 z)^bu+Uta`Ri=0%M#g}%?4SpME!PFqj^btle)hl&dFE0%1v#WB!NE%jEeAhbU~;$YZ*o@K*FR`%0nah4&QhH9bYQQ zI5TaA@PMT@FM>PEWbeH_UBS`$L*3_5wbsB$%DWqW;Vw{2Juezr&kH!E>y{>~3%AmW z-W|_EC^z%*l}fqVD02MAKR^uqOW3A=LdYwz? z_+7T(d~g=()MM^6rQqpAMt4C8=R76y|5K6*WxPtuDYBKv)LP04K=y3+Gozvv-C!nB z6ui(v_KU8^PuUA{%R>y4aAZn$68lx@UFRX*=wO{_ZY%9m- z9?3CkIj^XLs&&A~CujN+6d5m!Xii>3-WSm@SWj(;@*ppIA$>AIp**6HNb`Resj|3N zGi4^I&eUwVdB%l^sFB6`c}7*B;pa=O0X-#*0W%d8xI_WTv$%S2tSIv>3Z=2L=AzR7 z@Y51Koey+2GKOTaGtjOUX-Q~~i@DNc*Y9PxS;%_a`r3I{_(_)_^(kK%TjtutSF9VtxQ6uNj>V(P)-HNx?-%;)Upo} zwO7hmTP2w3=6Q!blCJtX)zi~PuFymx*UU5Z=&Rxy%6+csc;^h?r@Y zW<48v2LQp2b&jf7g+4g=fAy)JMedMN!zuGR3}xbL9GOBjK(Lf5E)7fucTLD_xKtVz z8Of|?H@?Ff*niDCZ9xBh9`4-*$uIXK?ur)`P}HcZyL%n=c)~B^qGA@NGsYBR!F2P1 zXRZWN0?O|)X<;m~e$88`mM|nw(@2@nFl0}kkJn%8l-qGaM(U4Q9~EGI#g&WE){*QY zi(lSCy39}<-@C2bd1oR>$2-=fEq5V0o2-gWTtIO#WuCrrWu>qU&{ZD!pWLe(6T!`+ zWiP^V#zbGK3Nr?Qkz?w{S5^xLLNBJw6l7oh;ZQa-=Fb_3t4_W^saielB5EC|&%}r3_!zoFC{yM*N$sNWcoE1po z#1p~#(WA^$`=@>QL?HDHyx@ywpT)woNG@Gt$r{Ijp_V_VeJyF?S=fzkl#~PW2XFWa z5W}m*R$XWfa>2E>;|E(Qn{raP*W>%9X?jr)O&(!73zSpb2D>-FH42$^&mfg{k1^Xf zFMCQpWS73FPS=K9chS5i1O82Z4ZS>8{E^yeP@;fO(Mmp4H`OcJAkLlKP6#GevB?=@ zQu2V#p%$zKnb}U^S=yjYv#VWU6D>b=b-^rp|QgRZ*?6|ClZ$&7kVuoi7J`nM!GLT#B}k-58G%QTs!^_=M*03PNh=hwqMI6yov|q+V_gj z4FzFPK`2uKB?OdVN)_ZP_~kl8>+>68b<66`0J1>jIh&v(BYn}i{k)3GgcF@3oMg`A zzwd4t9bb$x^XL^y#S5cb*T1O;+AWdkh`|0CQF@Sv!)|NzG73{#~jCqhAoA57_`Xz77*8=R;o)|3DZv z-LEG;bcih1*6v@=CrwBA_piR;^l`?VPP5e!1Z+R6;%Z{ZWAM^gTVk~&Vif=h3Iz#7 zg=mz4Z*&tBL`PiDIaZlF-L4|RMPp6o;WELRp+CaAYJq=s>#!=zPS@TlO}m)S-3R_H z6>CZp`wkAXW4O9`J(6l0L#Z}b?gtI+u1lTw4=b!oiSGrZQ}PxvwWXVf*i^X{k~Noc zf^E^>#U0XE-t^E#Vw9t2zQ#5Qi+^q|bEcFq%`W5ak&UycqjHF-r7jn#K} zYllB(rVhFk>pt5`y0x==<5fYuq3=njlli}L{X3m%CiIPB2y2Dqr=;X(g&b8tv&aPmh381G_DXJGqT#Jx0PMC_$j8S^8d8Mx)ZCi-|3 zN<;<}XmYE%qE6={7(auZxO+0$@4_}zYR>7az0TRM&Ne?lXD0O%*w)6VoRuD zDi;Y>i_AH@HC@ruPFMW?(oi$?k%6k6p`mIQu|M@A_yBW`O*~xqY?`o{ALf+}lgtp|EN} zbRdc&^UYijr%eo~L~|<4p@!J73XqZPPUs$a9c@Ll;Ehb(5vq)&5sLs?)xVDv0(gbj z-xYcjP>K>53WHw8NXCz9i!jLCRIC*nLVee^(PDO}f?|2cKi)O}h54DW0h=oxE2ecyL+VkYpInMd5#6Od-w7#r#(Nq5wO1eDtEA zxBQ|usWxtv*qX$V2)9IPLvyrVp(v5bdJqgnB_iYEA<>Lrj+ZKHtw2Kn*#NghxN%0T zC3i(pQ=|}%(pZf0uLSmOs_}4fE#MH9wyZHU3#{qVc@@m8g5fojDosQyF}8LxrC($h zhZ;hg@>oJZ6{d9s&yOrn2|<2Qb=O;}%sfC`=G|v+)PP$;8Ri@a9UNgJZ7G)sT8zd~ z*i8vBsY_`R-Qh4rE`N3)E0*QRRj6b=xWDkCgF7B}A9!Bdo_@swrn zjj;-A-Y|wt4K^{UJ(;$BBi$!h+e?WxZL%4WqZ^ofpU^G3erywIVuaKHT79Rn5j-9~ zFd@0_K=Uu$&4czZ_o)6&8md9dwHK)qd4D7qdl?hrir^(x_-2kqtD|xbk5ciB%INx+9WrXIA1rXI z2kY{o3n?Bc$!*ypI!%EG^RJ0!MU>i)9LT<1H)KUdE}q{L9mOd+ZsaO07_m>+t=$d$ z6CH0FG(c2pNO|CfR?I8F4x}Necs0F7AdOKNU7I|59e8oCGlEBBW1X~Grc94<-)2_9 zk>1jciGuhId9zl*w2yu3M=L~pm5S91_hcMZ_*x?~a85|6a)<?dJCAzr*N8 z!qf{287N^U-Z`Pi`hpp;4I1S`Mnd@aLI)IYvLi=UHDdjDacqxOFmJ`m+TrGNBRAXr zN9$vscj6?)TO-R=Hf@Hnt)FhJz)@eklpKDLu1Da5$5 z2VvZ0%%FK(iu78ZIK54H4SCq%JR#{d`DUHu9WTo9dGU2_zanFgRWb@~6 z-THcrh(vPn`Yfc$HA3G_obRMcGE5Sbn33mRL^Jw+hyOnSia>S0A#vZTBVCl9--=H# zh-Vqp+z+8(Qt5i^xKR4g!!nmAM`osaRY=0cb6&I&mOJLPb;ypGqhfrI^Sph zAyhBz78>R1mNY9@ijwbx_g5Pe_wfslC$VYVWd$ zap1gk+MU*GeGv3olNs3r6fJZhiK{El&?tLbMNCT#ZgloZY-UQUn>99x*-eyOJ^jUL zY;W;%lN;ZJrc&P>^ny(5Pf6<>O_3(iMi49N-7o4^-wZ5V5BPH=YXCEM1YO2>j_u>7bpo8IxG<0MJUH(Q-M;3p&OQ zdy)C)P8^ZjSLpCvFL20R$Q7_>7RLb0+jqHVY2%}Xqu8tXG&*fKp8NMaT|90QCiOJU zI2#|#-86o-VpVq5iOT983X=(3>zu@&f2)fCsL*n5*x}RobtPkab8nk^IF)fHzc&F7uh{YC(g=;*fmgPIj z3Z`!2LrBxn%?EP{6--Xlj*7QHrkfBA4K&Ji#*8#owRdN(agLUZ*j@3-p6S-%L%CFn zR-|(m6}l#;oDWz%+}t|Dd&`NM3&M679cpb+Y?zPthKTp4^o~?8iNBQ5T2eTRc zZpI|Xq*u&JU1xd~vv^WaYai;QMbWJEf-vay0>AF~t*E_d5v=6LVamerS(94+1%gts3eZ@$$lsL;XZsUKl82<%x zoYcvCzfzf380KpheSkZ4wYFiM3g!XDWPAg7TF^|OjX2uklv=l{te?_7B6!UNE|yfp zmL=VEn{Itp(5DqH4^m6JkvACjGW7c;QPpcyf8~qUVxbD~RpT+ghS?K69Hq+gZGEkg zd8yIK#%;@V0csRRYn&9X;YqJiaZwZHMcf!+jT*1r*5cW&CE~osOVQNe$6^t1T8Ay#xH2jVzEB*taBI)Y*(Z=#8J5U47!#s*_jcUHNMC#T! zwka46CN|1DwM50q8A)!hRkl3i)!-VF%Qas3F29RNC$7DNQe2~2aV^$o=He)-9nZ~B zs!3;KteRY-dUA~@Xv<$IgLQ3ArI~bGQ5cR=)JrtC8m~TQ`=J=LABhGXMoqS~UlY!s zXAX!YO!d&gOE{`;I;ykL90a{Kpu-c8U<<7wI_LYJ_!cOB_U}H3{^sD{h^%{&I~)W# zJvS55%Og5n&ZRnuCVWiKFS;Z)uK#FN_DP>n@uHrSD{S-hU6vGWiq1brKCU>b^QuY- z0~cnrK~^AYSGv(l(CjaSKG<38R3{tw2+p`(GQ16{fguJ{_o4m)Zr1wQ+ab`T@R$9t6lsi-7?Oh z)}7&?<8@kH#4G7}RbHRvjl1sF&5s{vzkUS4b?@=P=sgV7dV9NfuUsBp--MmWZamx` z6`IRYZ-Tb6_c{nY49se7UiId;z^)WS6xc;p^Lht=|knH8^NI1!r%k_dCaf zUfA)Y-qTjMcjRn7JGv!l>(XV{^s5{7Uq`pWaQ|ZC=+fAbHTUSpkBiRP%l_F*^aoFx?w&qMdp{oY2vr_K z8u-m!pE(2ZuT#KTx6>cghg|^vOuvJdsEDUm>Rw!F(LQy4xJy zMeRP*S_&$F!QKe^@UZ}dl7}o!mQT>oax3%#&uMzYChlUV9Y%M<9?5LNh8J`L(1qGw z6yT2|H$6HXoYPjE$%gN&@ejGFO;iJ}bkGJh#S7}4o)2$2VI9b~74`chOilFNL={z* zVNj@v4y7Pv8c`7Plb{e7Xl+q7Byn{qw;CA`-l0a8A50b^z8+uOMjtivYWIRx=ZUK` zbX(DYuPS50G4ks69jNIIL5FG8nIhBeA$}cT3Xl=q=p=@Y_aIaS>O$IB9lzdM%L&^ae!Qb z$SDQEkg?~VWgNy!g{$hszWfqEd!1g2Lt>&uH$v-J?@U$;{sfB@H^OKNFsg-8PKv9H z=Zn1}hc=#~;2GCML}e(bW_#dxgA8{w_Uu9bfHhdm2qZFS4Rlu(H-!jILpNDr^6t{J z@B~YXcnfubw%JFm#2vBe%wvm5s7;>q2d^-SH1jF=n7xheqXf@=p&E7S(P<(IBB>+O z)ymdEGu|F{>;ACYM4rH)PRbB>IaE~&tCD#k7kAP3GCfs^Et^yIuGblMfgDLsNokEv zN49iqEVY7xgF04c8amoEq6$?yEL%$qS5T)R1QfGy8rVc4qIKM;i2#Om z6j#M?q@umRzDR9U1;NkZpUx0rA>ki_RIIl)Mf*$(ajm-^tYXvYMFdS$i9#S0=mN_| zPmHKiz)yORo*q@EG=@Gnj3)ae-lkH82&Vl`Q{->#5pOmTG_-xE=hqw2U89NI2e3$F ztF|-UCTr&;&s8(-)eZbzgpVx zP706I)9W3%w_ojQ>gMZ4*J@p8(#ziI`7n5lZoIp%Ucb-Uu^mk{lt9vTL$R&UGCa?< zBwGr6NAWCMmsQht9aHsv=#%Xjs%xvB=@_!?IhJKxYt~Xo{&xmgiZ}2RZO;Su;Gta$U^~ z98EGT$A?Mx6vtI`Mb;F_aooTz>`%Mvz1&nU&W5+ulij<6yXtQ5wQ*YiRsFSfs@t1; zgWHWa_eal)6i?_+pu+!oh5^f?%C_U0Vd%k(8Kx3I2VLJZLep2QP?J2>RxM9A6-5sM z(+@SzGyKB-7}i7Z^4NSi{c+T_w~wBlc3*pEKetY9e%@b3?#8Vgo&9W`IGeV+&-cgC zO;6Spm>pZSjnGnLNd}72ZPPO~69~%p495$sP*(gvk_}x~tw6C92MEiMjbi#azIM*v zg4T~W>*;5`GuVD{^~=5MEpubbdkp;(=jY4T-TCwOWze_y{sg+NyRr$(VEU3Cs;=v3 znil$|q&To%t|ZHDAi+ASo^ORf{j%Z)t{Pgp5!yieh5gxmHeXJ?ZuLHVb~l<$xgN={ zn(=gFfYsDJm3}t|*X_&Z)_(U`pdTxcEzLG$&GZc)K4EK`Z`z?FJE{(Z6nd`a$+m3y zp{&WS?mCk0X?9>*imy7dXBPHn`{C{K=K1z!`}Oz9>-MuR4qw0to3aJBF{QHtulo{50x!hxMyhTi@Az z(N3aA#Z@l|;xMdag=Owaw5BppD&$m0iqq;-C8hE#x!OqLiJ?*A>(6&$X{gO1H}x0yHtP}fI;9i zRg(h%X$_Fi0?=`7Ed&^necSSUKtxlKE!PVC;{Mcug3i=t{i0C~j;c4&!`q>9*V%kE z5ATAiesteIyy$m+H@oMCfIqfoYYH?RXnLRox&_<=&VWyO|NKt@l~eK`abAe1E~45ZKt9ZQpeBa89*=J>QTtlmrKdv}WeTj`j9 zEEku9ZfpDXrDty3+P9IXb%)RWP~b0B)^qNM@5Vjdv!lyabolG=$~ow7T^#LOUhnR9 z>-z3O5%nJ{FhKb+T~AhY-&YmjEyp$$-w72NM1<{F3apO;_!Ov?>ga|X04Uflh%rku zmBRkmw?CeKADtZBT)sMQJMDYJyT9E2A!#S~{lV_m=~aDq3si-}pWWSOzCS<-CQN0tgI2?XzUf_FYZU zKo<%$pdd;1U^YU4B~XqW8vLt<@&zR}TsANe=In|0PX34b(xU+lcp12udOT6b;d zL}|V3`7KG>e^4a8KZu)6&`e!Rw>&olw$dC+2Ox9|%MN7djpKp72+IcxYFnydL$53u zP#oSWaxs5d8<#)aYUp(OuD9`P@40h-cy;xxwcZ?M`{?Tasd;w4cXIT5<3Q^R_^dkt zP_LvqK7wBfzNX5dq}m#Q573A2X+Z8OOqUEuWOrEbN6;0dZ*IP)vqJIKY;(T>-vEk%8p|MssU4Cf!+cC zXM_eIv*9X!=mP|T<_J{eN=S)@VxF&ruId!_C;AOacmKYjZ~6DblgEpW@^EtgHoV$u z-JNtcy92Llx9x|MlkH!E{PJbf04z~014M)k1g&U+r324thUvxY|7b@zH_x3ObvJ>4^H=SQ|wRZgI;RuhNlD`!b9H% zIS*nB>@47aADCMTL2MWRH?FEXsuF^I0g9q*%0BeHus?e@@V41^es`l&>-c4O-R}R; ztoC)(|9SeO-`BQ!O?mUtZy%U~eh8v6G{ACkOrUBIULN3&;Ul&J+Yj_c-vvd)0p8Os zU@r?WGqf}pgna1Rp)!J=cdl>TpN)&nc2G67C+DIgU;mJ*KX0n{gF)ZxT6Lu_nY*WF zR!iV77`duxp6cql=jo0Cq5-55Xs#*}2$lofrUJ8pwQ9LQ&_Ko}ym2*96$8y3K|lAs z=-{~i^R-cZP=4Q=)vL2}{q^;EXLIAATfcgiHTPWick1n{I{^^2`H!f5~zc=Z+Vs_DVC;y^`*h$$TF}JXx6%9 z0{mHkM?O~jO-)xc6%Yta*~0#uD1aN!hrhgwgUyYzqw}8^w-2}V%Oii-IvAX_?R~ep zy?=jny1Q{F+Jla1gMu3bmMae ztX8r8e)H46vy_+i*3MCNedK48@XwlN?*}bxqa`4U9mLvby2J+G@HcNp5JEp!4e^)~olc-)(Qa1kcar z<f}#gai_rCTJL-+DMY7sS3az=s+4^ zkfb7etI43`TSI^~^BK;Wr zcvR}mq1W5j!O1bYYQ!3}_(H3`%oEmRH7m4Kck6{)a( z7y#;907R-1fQl-EU~wchM7}!-gg(f(!v6SY)xEv*es{kfo@~3D;oI-as&Z=F-#4Tn zFy12h-t>cwdf2K8co-O9S%CiTYL*9rzzB68;0WZItioidpzqj{3gQgOxxjLu3kZ@7 z8T3RI8M1}_8NPH|&$9Qs(?8mLIhH%S{@`je+&jK9-+np~(tFPu7kfSVYD=JJ9r@)< z8?>zu%pFiFLeq0WR|FHxHGqDBY>~Pwg{leo=fDKIHt4kQLPi#UvHku44IR}_&VJrr z)bFal^^3a>2#1|B^JO@2&%6WAJ~=TiUJt95$nOEnyalq;@c;^K2ejSLls(0_fUH0x z4Kz;&^~jKb|3C){p{rn8cwj_o7O3>a{W&=5yTL~5Z79E980O99@zafS>~C+pp1Qq@ zc4S`P?jHTVeQ0bvi~cABOsT+BY}50x$Ic8vzRLm9$W$OD38OPihNFP6P<w+t-K3o?u@f6GsI$ z_cTKXv;mo|1G=a-pfxa_tide!nhMqj7-~95e!~t89n2kIc|c3KSU(KT53l4qz0>he zySnw*|MmOgw%%>;sX^;(2QdHqN9dlPU3neRKJ^_Pj7}GHbkLW5=$dSKU+M1=>V9|QT{Ix&OPYw^A3-?;C`&WB=KQ`Je|JUG$e)jyb zYaagoeRHF1T2I<9RnUJxbqGNjhS8e{jWr2OVbuk^1_@?^;%drZmzjP3JLlc zr~)Q*5B^W}itUSE*4feH#$|6mbf1s<+r7>0?$yJybo6!suzc}jIIxG$H`lFWxhwE{ z2zm`H5NM#GXXvIC_#i<72iVRBRaybH73@C4(`82o(P0FN1tysS@Bmi6>Zrx`;Mrzy zyZNxYyZQX`YG26CvC-IUo0g@WYv&#PWb>_gf7JdR-Mlq7M18|IfK@DLJpct7Xg2U< z+w&bKkiepcNs_^!2aO)44yMCI2ABk|V3Ir^H0a{}i_M$P!1O!Ent$C;b`FER}mju4@+W$$}Z#6H@0xvahl4h`;<6qSkR`2A=wQ;dL&;#TNC_#V{-74?Evy& z>)2@ucKq`zmvdRTkxGuhgtVvpd+K@^7T&5FAlmpiULyxerIGU@4qC3nZ}UPnz^t710+dx3pY5x(oIXBF^`895 zl9JF9bzj6Ud~XGQgw-~5mp64%kBhgGdz6%PYRRXC|Ky{I5wC81bZr($acm2D9JQ)s zngA)LFIUm7LRAlaM+VJX^Nc2l{vw$et#Jg^)8@<#)0xo&%ShtZon1TbVhxTmIRee%do`PlsE_ zS6AWBBY)^z|Ni;7eSh)T-QC-6Z~eS8Z>l>}*%iVBjJ7M%MHdP-F#4Oot?Z9bY!q6? z>vVCdT5|ssUG$~5GNwQv=|dsVCs1)z({cmD4y%e{7+}k&O4YGsFlZDbloegFEjhs( zN!J0DOu1@XjsvQS?p3Y83ah4zTz|IZdahcCHZCS--vhbtRhO_u1vAY+{F5{sGreT+BG=(~PzByH)NZ4l) zJ@(nW6AY_#-21>IiM`(slMIF__<9Yw<x$oY=f5BY^O)mNe{!%J#tNVoxwB@{zQ|B~(61#tCikaak zn7J(UJP)MF*uTdFP=KR2OG+M;#pFH%ddZfls+L=|G{>!Kj;~eGMoCpNBq{JsbcouB z(aQ}iHP9uc>Un+u3Xfw|T~#)!rlW_Nql6A1VIg`=R(Xlqk~RvxT2U(?)45s%n*pDW zgIo9Q$ou`!-|zl9JU(=O^d7f2HwV_4chJ&Lt54yEZr{`;?dT}${VBkwWcaxl#imXy zw=kT7Sv*QLyd1YHU5!M|pl`Siexqxq}oVYKW-JiE-2lBpizwaGgDqc#rV0eTExMZaQ z`iW<88fD_$_eGYc5X7_b7fO6N)Xl&Tq^f1hHkcfC0LWn3)c~EHuuTo@54{jfCab(I z5`XD{G6P&3Jnn5jKTEI1?M}npd$g;vXAk$g-RF&~qw}AQv!NEWo_{nSE`!uY4+{C8 zhKps(_KKA;ny5DGs_qU{vMM2B~Q1e$_D*zbZSr=AyejT3D=~PgZ$}`nf!c ziz#2Nn2C#u>lF59)6^dyBWeF^H&pJM*SDuH-HnVl%2*iT8T&GN2z~rdUgvn`r?E6c#_kOy)tSn2pM~Zjs8@?bH*%*N{4_7Ny2{~?j`n--uoVuke^g(8U%qI4?c(+H_4zObwyIJLwoCVEj)vSt z8$L_WrrzJAQ7p^RY|X6dpuJQzbc@rrP0(iyQE{oiwD8C7&$rvVv;D&}qbE0CcID42})1jjut?49%7OLso z@Xh9&87G=fT&lEYQVv4j3KiK2s=!8GRnrZ->Y8BO7^<#FVCv|h=f(_dnqH_WzEQPI z6$}y${z10~p|0T?s%+b?S9~#JvdZgoF$0Xoq(7$N%qyb{{yjfxJ56qii+EbhmY6Ve7o{)i4@ivSb|;S0NI+1WR?FuZjkib@Ssumf84)3y#!{{y1RY4Yc+S_1=_T@wOta*O-I`BJ3XKUFLA0Mq> z&{v{XHqJ8&mapI-JGMIKcY2-SAn1MVIxx|_PG>MW`2`RKj+!5@t40$9R8ffdyH1j| zLZ>fSQVKH;$wrW)$9WA5mf9jtR{-z;#tveDXb`6# zNH~XP6^Qwhr3N4Y)RSQUFsL4}h?N+t9Ip|z0}2E*R6n+SXzYFX^#AD%d%)I%|2vMV zk7gYue2D|+qX{G7(Z6;Z-8eA5VrQ{INbM2_!$-M90-Sjx4tI}I7Smw(aU6RnHt2M~ zMC-+Y>CyT&0`H+eY{jAHQLOrY|LaSu8Hba{_F1RdtCINeamaX`#?+7FzQ=Gjcc2VJ z^8kNef%b;=7O-*uD`A7YghiD0fj}h{Q$6}k!BmcZlQDe*Mcepa^q;9=a)#dw4U;jN zbPZE5`c1`Di+)ouy`tY_La69hiO?uoKa&tA`qdyriGI}yIieM}2pytdO+tO>SB20W zq7#jf9BRfO)P{c538A51RYF?mSA|d(`npZ%3H@pjN z32q+GlcuuC(=;}tWEOD^gRTdjZuFmK(N)8J)$uaZwbj{j>oEloqF4|`wmWT_mIM=I z9vCYq@_uqX8iVXthQ1jdX4j)h78mADM(Iqt^jLvXSc0W9!Rb0A#(iJKf}R6?jywX! z+NhEUBjYx4svxDHBoX0pSp-Aq>>Vx3QX>fMnN+D_FP(0;*LezoC7QJR!Wn$?gC&KV65<~HV zVNsL-_*Xvrj5sPRqPU^sG>DmGH3s)FB3EHtpp^Au`6V*}3ooc%63a5=IV0~dn)U*B z7&ZM^v?Z^J`rL)iYiMg%P=;&DBrk7jS)H^1Z=qU7lQTt^d~RBMpVyI4WT;x(;g(%@f_Rn%Vt10 zj;)<)QO3@B&v()OhdG^bF`6!xrvi0|EK6p9q_TSRcf zHnxrsPX=J>0ULfHf{TofmL->cK(lOia5@}KqZ~%xBZ%Q&>;Ev%b~E_u+&eEQv)CP| zo}?$nKk*SBv|@v(+pkmB*35s{o?`s&3lWWEKB=z!6tM-VeLYj)MV5SE<5FUN9Qb8D7TT z0JKoM$?gN?Kt_BoqgoWE_n3u_e#TRGq5H>;-;ivBe}{jNf%p3M(>ax=kfI z|DL9OuXCn}!S=ZLax4?p7ovX=ln~yaWLYTj7{*yDS6N=T+=9$pN00bQYHsUPQt|~E zamEJHS3did!5BYz?F>LLHDZI%Fz7&&5=mw;T)@mU!BR6hMD!aL#ZqK$ef9diaL{=O z$Sm1(Ir@!GZvco6usEnEAZ<#Nn21>Us!1|_ETha49eylOOhdgHZ zZesdV#@c}Fun#zkaFqC@5S%)Mp6PxMr$ z?FCI9QDjNstD{@?gQRb=r1E{nZ^?6w?=-2EX!OhwK`@M2sLq@gUvXBw;00J>P?t$* zgCY(ojTi&dU>JbZrbW#BBIqAh#G)zyE`oF6(cE~<0OAYdX{FAP6d`e+#imI?F|IY4 z!54O|V4Z+GXEq5XSaJf17ils!N^*p9av+DZCu zh>9WQ8XAlT6)>5a&l5WLK1JokC4}viIurFWF>&nNLVgfN?I=E!rLkjNdCnQUKa_49 zn><>9JBP24{!(lV<-38zkFd0{BMNhl3v3*z=E&md?&y>_GHxKTBZjD{i^cdZnBwrn zg6WT2qI$uSe&)`%Ev`^b*;MPgly04K8l_st2AI%#rfj-(B|UN2m6T~%P0t5kEZt^m z{ZR5Xu-x$vYLI2x$2ou1396*OWr(xGSIm6G6lW)=Y`S$z95!_bkOaw@=Izw5a|);0 zHzbj@xh&D?)(z$uDlD3AJEa&r1h1JkRgoQ%BI&m9iVBWPl2aZfDE)I%ajzcSzBZbz7X$ZO|2kbEcIEFdGtk2GRT*F-KZ#RhCa!F0O@bwJSKnWWUYG;Fez+mqBvf6)@@pU+7h^q#Qa zQv4X+pOwc}NPWj*SBbLK@Og*yXRsa3%|t=@^jDOBgl&u1m62{ewbH3_98F+ToHJZg zCDY&6MFwM~(S5W`9}JPfa>}M#H$^IT$ieA!yD70LluEZ~i@bw&EYj`Sk~mjfnN(}o zZs(9XHoBfVp5vkn=ozTQ);uSmimRl*m6Dukhl2POP2|G7!rYo;-$33txZ>&Vq%PgVMy{0jO+`wHM7)iKJ?Z&+sDix^ z+T$yxhhA3owhg!iIB}Bna3~o-cMbm9tBHmH| z8mdxnWhIn?y&4?e6_ihXMV4~Ef`**?6&l}CXR%J=bRr-wpr^B!E4T;Z4-$4 zZmV^9c<^-kcyQXdJ-#1A`itAMe(oK(r$*!-|M+>ir@id&4xFFe*0JwMcbCV005Hq7(q@5Bes224cx%@e9g68$@4rz3r$V-b;%7}S2I)@B#?&E6uYvb z%eHHqfnr#WOR~DkT$aB3KK!qKJ#fPNU#;_}&eh$<+vD5q<%W9GyMK7GpS_#L{i*ar z``vCoo;$4#=q+vprIc1&-SlMmH#GgwQ6yhB94mAc)6!5HF3oau-4AWemcXF23`YrM z%?%yf)z!c!iScqevw7eh`TOq4k?&smhi%(`xO!9%wtj~D2L~PH;_0AsCU3Mit?lX^ z*BQ@JZ9g?-Dies_6jU1(fqeAhMt+p+b~cEiwi zG&3+X#WiGK2?EA9QCd~vftr40}O)mNE-@}gXu`FWVwzcyRzn(zHg(P z&G0x3RoC|w({vn9QjI|J0$)eTRfB@gJm2`cJNv!;AHnw9c69a7AH2Mnx2^Ntowh4K zxP9|wQ`X;}to;|BW(-@`Lf7_PO)-K%Q)S&WT%Z(FGAv(F!$1#JGtf+31Cmz3qVg2W z3IiFI(uHbaL1!)xFOFMXr@d|22URmXY1~Rb4<4hdLH8i6O3&8souB=Kou4~TjWez@ zt|=)2&flcFp{m+usA*E5x`8MAhNroTBg4v=x+NQ)3d;sRHQ91)&sJ5%q&a}IooPu| zk2e>4jmwi><8AXw+c+6+-kGi6uC(R-2+oI+V(5FX8+#q|nd^*f_$d3P;ljM=@EzMn z*=!vPC^|Gu$v2@#W{9%vDi)d#Ujp_=8RmVMzfdWnnYLU1eQliIZu>1Ie7u&b(%tXA z(%Zg%c&;}d>aCMVy1(7+suyQFTxTQ~7+97x$8$XomP&;oORD9Yz+kfLy1M2Ao%*^1 z^P{^c*`)y;1uFNUH)dEwGtJ%L?AF>awx17QpNy-YYUe%-HiL_wJNxdl^!ECETzA|1 z4f{zu;+M&@ebZMpQ?>y2Oii=US^>41p>27xsoS0h`j z%f4jTs;N180BWITJHBnJfOe+pO11;gYq_!tTrbOp6}Y}3*+reP<joBx z3rV+8F4sVF%}~|?Mfc?(@Iy-pb*~74caL9e*+1XA-ZXb)`*us&-1o!R1GzicZn^H} zN!5OMZv2*RB&W}H#_?3icND|$UDKCc)$7}7&&}V@y_=`T_E6h9+ckd%d}lnv zMOnig2{b%O1_@v}D4DILf+UbU;By6-+0Z@9g1#A!V`}h=tiYnd5d5HsfTiZIlm3=e zf3~EfhW5)owUt&N$-yHE{O0bxSeN^fdHkz=bdBD1>B)qnrVfS?V@DJ3ect@ zn+ou<0h6UTmH|r#*r$M;Qp`XKY!3vO=@)cHxsi8H9=4v&pU-~20zbH&$6M`nBe2b% z8#l(0F*v@w-9Nn14xThYYMYK}m@sM$2s8jZmH~Z%SY%n(B|C6D5Z!=xnhyxzI8X?d z4(J-Rd_xWlub?w^rGI4H-07X+^=AD*3L4h++mmfN!>5~HKa^|b`nmHU?QNUK(kQVmxJQJ^cHrRl)Zz6xw5g+BBsP)yJC03e~e1{8H9RaUJ+1b(gt+TESm zF{3lLd1Iaa46Xv{@^|;y{MGK>qeSYa(R)16j=L65GoCI3+k&_;RR^#I1d|!4fUmk6 z1VF^0rh2*yk7R%uO_qVUJSnhj&?h7yprV;+1~l{^;!KKlV0%MMnpB zUe7#p9_#MV{&DxSb&GtYg9BbR*-qejwkg3fslI0!o+4?!5yI$w*)vUDwE*iR7x*8r z4~WSDQLUT0tHNV=R5UXe_vcUY?rvS`>^whu1LO7_OvR0jNA>Q-m!D3a&)Zk_<6g^Z z-|_?;c!A_O3ungkTltAwZJrmFu)KT36$>{?=nnj?e z)E#Tz4PJwedD8+@%w&hV2c8POG`&y>4Nx>?&?8jI3Xlp4R*eZWR;16|g=+IuzVu#xw3Wt>z5ee0 z(S^BrE8o9p*SF2~b=y0LPPDgZ|B|Pf5cEqAG;g3850obh3=*Is&}=MVWKef?Uk56J ze=V3Rkm`~IniVMUpq0bFLD4d`n~rh*)AUX{{YTKFegUmMHbUT)qruJap*?Bv7R30SL zG*2ESUIz}tzynPjv?xuI0?p7&O$BC>K?RjTF8U^zP_|?nc3^}OfDTx-VA?83vjCN& zNE~z@FVwq%JlN@-Kb~tR7uSQfc|H97a`rpAG|z6k*4;4p)w=EM_Ia8y9MJR)n03hj zV)21$O~+LOGe8<2nhqCuM+bev@Ii_iKsl!Ff$0)jx)gxoQ_z{7ZVjBr+ufg?s}ol} zySzH}_AQw0*Yo}T&c#`;cYJiXeRyHFt_5xajmLG61qTL^ixMyBrUj$|JRJIxsd&Bz zs)P(?w&~btEsYSm2b`tKf$D@s`b@NIY&DIOGrP0<)IZ-o-;lPIH|OkE^Z7PB3ZEPD z{e>GGJU;zC6%=yWMjw}DU>(nu0>uTzKlFi&90#l=Lj&~+f}VI)fr zK&P_+fC1Jd1L=M;(6wqSf#w8;4raFzYQRMy*lw0-%c|?Ze9CTU7cJA-&y9V}-*L=t zv*RkmrlY+y&dx55t9JWHzKj}2zwDs(eDV9<MTvQb=3`N0*#!`I9vONzkVJ3(vFY1&h4+~z1Q90+4lYB z{qXlq&^+CbdMtiw! z-}EleeryJ7EUcXCiYF^kp@Wts>dfa1Wis$EF@^|JdwH=a(>oAlp?}{7(m&CMZME@sd9lyyGl2_QzUSzn2ZBg3K-mIK7>oiClYybgpt882e0hL@ zpo7EoDGG=?J+OVx0I_8hbjIJ_?ip3fI=u}x@3lAU^=S9OvZDvmp6LXjeu7e}YskfyGp6{HO1G(|@ zxa!x>K zP(fqyLs^2J0jZcExP2A0aHL>>0s)3L=;&aZ7wI#U%zhnTW1Ha=h5El z#oONP@9mu)Zyl&UNSn~~0Mo!03E;zy0y-3OoP$I(fU;d(w@^BA6Tlc$iO>L@*>yb~ zIuA-|k+*Z}>G3>x3!(!smv_T~baeKPj_36FaJyDEbI&U5L9->|q%puh>6dhDfP|Qu+NB&Q+ zG)*KCEfC`HD=e6%IUq_cq^dd&(#eVt_*wt`cGGz_{S&v|*|@#jym~tR@nmi~{hz^3 zqham5y$$yDorm8)c^w!D9gqef5P`K}6?C*HmIAsc*wdy0vtb3Y2S6O^@LGcjfi7sO z>e-s_Xhuh`~pSM&$I1ON54)nuXMoV&YTaOdFASmXeb zSUG;p{VFzsQfmzAB#y>i&_=hBNn@tWV#M{op@R&)$o+;&b~?@ew``T1N5Y5bcTjEI zRb@=;=ohi48p&VYg8BAo2#x-CT}}^KD3bb9Xb{DMcH+z~LL=}T{g;_;*Xc(dx@FwR zo$ll{_iK6<+~}^}jYv#BHS=NmGX6!Voy1@xhj7KJ=neT-?6;bV1%$hv`7mEX{7Y<2 zX03Ib4v9agrAd~1&;Ks8gOsgKhm0h>gy;qSCp-VWzdfB+w)| z?w73vFUh~zA>-rGRM-*caSlyzEyQJ0e`Z+3e+5kfqzAs|kIz%(vPiaA&Z9J*aM+i| z6N-E}xW`3mB!?W+qa<(X4{d!Qb(6nkf z%!uERf5m>q={TFtD~@AAj{IgT(*nXDX>6h)wW3^XVlU%g(x|}lt7X&-^aB5r{a!PO zqeADPG9OHW55Xm)d_ z1HHiiq@`XQt13s@(|7D=dO&f0y3Bw`uHhuG7mt5YyNRMCad(J{PccQJBAR9@NKhvGEk1zU$X82JIZX5!ys z=M}!$R&6+ z$Swk;qdm9kGV3lo=!`u!pKjFC6Kyw8v->A%yXe+XWSMh~yhe`(lwU^Z8w zj)O|zf6{QuF7@ZaH+vcXlF=TBOsM-&-$R!=UURjFbfL_Hj7dxjbelsQZ>o=ure{Vb z6cYau>0VAXSPxzt6ow3=Le7+l4W~vSHj)1{jXTZA?KwT1c_ANn;sVKU=`}{T|8hkG zdV&8*GawlE4wbH%6~V9QkF;Eflh$SA0)9jO&1e*2x(8?|XJYv>!XFtaz`sloFi*;4 zOXfVvz(wXlCGK)sfM!Z%pQPn6EOPtOUn|c{(vG2Aq|AhjCr%Z;{=#%s1+e|AZock*q@I zbRUZ=7rqbyTq^!N3coPy5{}71f%$qt8XxmI1B~h7aS!b&rz!K{{O)9Xfx&}oxDY(@ zK92s#NDuZh_Gjlw5229wR~mX*x|a;}q8Hyt*1=R4I^Ce%4;;Ve+;s{Cm{3UkD~$~u zob#`riw*Q0`tqb53Md0Q(>^&IcMakd7cnK_zeLk91X*9VAC}Ag}0;46P-%PI0$$W-cl5O}Hj2 z@(*`=)yKQLc^h6_Q)2IEJ@K!MEhN0H(<{1tGLjq*&~#sm+bejS5sRt&x}C8*mgyoARJotO@s_;ie$8}Y04BZD^O+fm zTj=&WczgUCdmI1q|7Y*Zo9wo&eE)x+;+E=FO;VL^VPBMasVB?!*oou#S;}N;N>yE4 zK&h=(cc&N2o|L}(!$uM$0g(4z-o7m*S=5&Vi1lm$emG~^hC4k@w|D2&ZM+R#a`1B^ zb$-2V4;Cg;$0qqdk?(Byg7|kj$^RMmIV8l%uy+&|B`BTyPF<+$x7Mq6M8S2b{jae^ zZ%?Zx65XCMO%AETpidDiz^Ao;CzV~@-^44^3HF~!WjBRZ%!$feTKjiAA+0O$$b`5g z|7YAt7kn(zNRwdy87pZYv?{VzwJGl3@w_`hk=U|s6T2T1L*s)gJ!2#d4Y%nMWDI|g z3F*Vt&AaB}%JpMHNL_0GD=1(cC`{|KKJBi7!$1D#AK!gIug)%B{r9)$C+})<(p-G| z;-)6zOkLmp@jq@~oRFV>{QKqoHz)AstFu3T|L*w@;J^MGTz<>{Ufq2E!+-tl&u_nZ zF4uC`V9_kbRaP->@smQ6;6DrnFc|VQA|0lP~S6^!4i(dW2uU{_2-I zbD#3+GW_|(c%c!`{!tiP?jMFMU)vy$uN}qd2UGKFM@p})VQd;_Utp8j&YsO=Fej#d z|EHU_?qfp^-N$+z)He9EuY>ECxA&!~=C#*7z6ovVuN~99esXnl{^tDhwc{n%jxNpl zhJS5+y7_d|n%6caC2#xLwZ(k$MPGVm47BVwt-e*8{+;={x+rdMe|_zF=5-j?+;!h% zdcJ8c)Gz1dh5Fs*Mp<-*@igj++L&;ZoA<@#uN&iuU)#nTt$Q}brni)Tw|Re6>M=ZN z&Tnq-HvWLB8@FpMoU|p~b>T%jA|}xX`{=qPPRS{q4j#5izr1$5`nuoBdp(GcieNW+ zPv2ZzmBq!0ag3=o{%aSD)C^M#TX8-!Z{I3)=ZYbNVyasUR#H#f06NBBNH=we`z$7u zg4QZJ{b^PBrC*!TyCj`twBbOzT;9d=G?!LAC(Z%govMBIk8arfRJ`t^*P4lZtJkgS zrknh4`bSIETE3X0%QLg_)xZ70z1{S0O^a_e9T*cM%x&JkY~T0!9sj*CtM=>e#Si+$ zrhQ>a&t@sF?(VMM_b+X>@yoa8Z{A+$|Lb1&FTWYTG;ME`=BFDIJ*ch8y#3n0?d!MP zVdC*rH}~(${@oYDcXm$QhGO^pB6zl3e|uglO=4%3*!$Nn-Rn*8ngqGscn0I>vj^`j z)pb2`gA&wYle@0D(wlMvA4vR;F&r_k&3%9PZJ1}C$;v-3#~9}r=bLrc~3 z=DaGrod4*_UCVx@_3PU!HxW+gO!Z`+?ezNcO(%b^-(GiOnx4{A**(2CAf?ydD>@(q zNlIHn_mb-D?Rj0R%h!YW)Fa8^#wQ{yKKf}1qh}8V|3KHdsMcB&f4KDG53^BE-BfBB ztLM=Ea~e!8v$9e(=f6zn+P3aS{r&#jvdOQn`xwrmPq}^F1@|7b%txM{DEYqWot>aH zMCOAogXyc4GkQ^Khwucotu)HZ!Hq}F={|OkFNcqT$zUE|1WnsR^XB-cGhWUT#>>Z# zqZixRkqlWolJ9Lty88W}tR4CNjLkS28+>e_1J><)bktw;`Va%IqyFo+%x^1KQ>LLA= zxAAFt%g_|^qcL&^+2_pCJZ&@~1H=E8#{GjblUC#NNOI14~ z*2EjX+!%QB?e8}35N=~H-|0uQsd-ym-kz8P$3~ZQd1uU6_5S*8ajOZ;nyeO=Vzb^A zx9{|?yUknublS~Np<8D5?c7wDx%hHUqSCKtco$R#czuTi?@rP`Kx+c!hZH6!&Um-{!zU8}k{vGS!Yn4*PEihTXi z2v2Xe^rpFqscqt2oahGLZZ+@rwOysWKfkS>4hr&B8sF@;+Fl#{WLnAUP84pUaw_W znxtFa*iN>mCnF)zsiH2!Nm%?c((pEc?8+MF%Fp(sDXzC+zK`BI?~dC8VHP$)bY+Y( zbu-=p<|fBTeM=%d-s9|&=Q&G`bD*dE3o?X1emcTT%sE^!K-B zd%aznoPtyEZ?_xM(#`wg=H30ZU75Ui`SL;c-E&I~Vu`?lEu51VZ)Z4PFLv>@ol$75 z5Q_onOXy5xCrfXK4rRhD&N8%}YrUoT2952fL~AVQDrgOBO^Md$%A_e%w=6+ZD9kkF z)Lomq^>(4fy?ZRn_9iTAR}sF@r_)0F7EaUpWeyzoYp(+BD3C>?(B87#!F(V0y}P;D zRnlGI>{eaLe$IYu`-DNRPdgAkLSs@J(mtLvIGWKdNZi`UIQ`j&1)am71Pg{fg(eN4 z&Mcbv?`g+r>c(e>cH(~F94{_1*^68XO}m476FbqLiGQA5I@F`l66N(h%4D7W+z~Ko z`{exZgk7<3PRvEm#P$KoZ6DCEY0jgMgY)*Z%qCfqxj&AF3UwN1R7to^V6oS^I!2kn zv^cXaxEZ@%%^(vO5hre@?x;iFR!5c2ZwT z@Uw4bKc%+fblxNEdJRTe*BQ&>M6WTHydx+-cI8fcQm7?K=TBCf zv^x9P(`aWM?_=~13z-U)sV|l|M|;;EZPT2GkGY1;N#L-U>AVcRiA)K{RM+~x@a<|{ zVA#y&szFX)#fGgNmO(*Nwi>(KhznwSkKeb<{LZw+4zayw5@9au3Sg|KNRSxG(QB!3 zD^9O(l(~eqqwouhn6i4`nqd~(9ND(U%*?|N28s>FE<#U)O-X3Tz9m!IFkOjwD%e57 zwf*iT=XgOd$&t#NSPtMx4GB3Ht6-S51IgLl ziyk!(j?z;ZyVJ7%f_1F7JXu_-ul6jjzkJ>HwtKUKKyKMLxX7JaS;nt@PuXoRm;|y@ zf&2ZE?!2-1srcoj1;CCQNxDW(U<29j`YoW~gNySwmy?VlT|q2AVUdFG@2!)=IbNVoGBmS$g6N92qKi5-`b`9-zbrbXxSe0k~Y8 zPg%H|vT5nbZ(>LOKTUf`lO;zoM~36_>cdSjp|Q+x#6KVrD!IP8JvWPeYB96@UdsN#@E;u!YBDnvI2u4 z*tUY$H!(eVccauv_4fRt-a=2NK5~{2>Mfyt_Q1T0io|Mp=#pl-=n#D)-fKyAr!I{E z*s>`@mOKp#nyS)agQi(0R$_hLG~3&*a7fChrj+S!?yxaIo__hzdFJs3b^E-7Io*$oUSR%qv*@;!(xad(fJ}M=;SfYut zQcEQ;9lTS2*=q~10s`aF(?v{8q*z6Rsmua3cc6IdUMaN|(mP;^Y=zi+md<5Td(+Z+ zPTEC2wLBIUk=i8~`e~YG?KjU-*Fbj|C+p!UHBP+`sKl1hxFLIO8TAEBw~YFhOt)a8 z4Y5?e~o25<*?+45Id%v6R?tC|c^=Vi+^Hp^m*Ql9Db}A@A1Xq z77)7)$a@MRcJS#3xlsJj$neg$-7EzBHn<79=t^<;!ICS*VSYnE#od`l)GqnLlEcea z&wqUN)sKJr_SM3#tVk|yitD0UR#6N_@5o~SatAGEjqWZ_T?tO^F6SWbxtql z4z7EC{%X@9okxS>UcBgEWc9V zd8IY9vNwx8>i%@|SC?<2TlLCj|Bp5}tjX3!z}x7@>O$LHo5GiB6LoQSng>+s4l=d< z4F}f3_)kq$A>iNKL@q8aOe6F(ow%7f?MJA16Kosx-~G;i-o>;1oo~<0W;plZ^#DgA zVVinuWQh15>C@J$Qh1%fJd4v`PS7drS{uDkU|Vr>^^>aZa;-30%q+HaH{N@dLm?y_ zOUZu!F9YwN+`x+&Pxd@ykpw-6ITaA+KbL=&WtPiOr!F&HM&BIFQwvF0JBjYa-z~5@ zcJ|z|w?CCps%oq~1JY&b8i1{>_jh#)Gsh5?}#BOc7 zjO|yu;TPBdu9?NfNUwrk1L>Z7+oP@3E?HY?ch;tNJ?vmtvM30_L5oOZqzT=dWCCZ-&zyq+cqZR=EZl<|8~0h_wwcs#t?h9@g3j% z#&_zsHqDz_s(!Zlo2~)F+q>Uw{#^X}yA1-6Ynx5?4=*q*LbdN^&UWm=D%~;9NB7Ug`Q>Kt_MrZq2W`H+Z=!7u z-+NgT8+gMXFSVWCLzQ{SM@twq zG5q@_k1HeT3#C6N$>31~7b2b32{ZM_%e~`}lNSt$0bbE$&SML7?-hEPNVW&PU z7$u&4u>J4$8Z8hf%$+b(ZO>Pel-3%=C?*COND*yd)Bsd2ag^3&Bh&U^YPSt ze6n5u7#p5y60@drW#o5lpE$9zAT)~`55Juo`z-E>+i{EA=Y8TN;;d^$UzMAPSXFV~ zAZ=B5#m&2DRVKmxI}We(@=xD>Zzm)Yu}Dvli-c)@n3B%AowcWaW9{9!L7lxjzkF&6 znnVEWSBF+yX$Y*bh+qd5KjkFVaQ{_qID?7q^w*KF%;-|0w`)_~0hhN;+ zKiw12Jpb<1cR$~J^PKa0fzEHgJ^SwBzyAL9w}1J{8;Gtn8=KTu?G5B7v?x$nii$E^ zsJ*-D0WX@pHLbi=)w@X#t&W2N0R;J;v8{?x!Fv(V_LYuCoh7Y}Mkt2O`pEy&cL)o2a zPJADHY2q9EFNayG;_~X!+z4-5)keq;Y6WeuJ_n5mgKr}nz|Gn|?u+}&;`;hVcdBk1 z+$OtkU21VLPPHFj-6f1p}MN{Fm7r zHvFfL!xJ{;ideRrA(%KkVowL}}YExK_WMZFtze zGknT+rZRfRGtX}B5T&I z8+gAILFj-Xc^#loQvyeJ*|02*6L4R*O}SvPAUm; zpbF3Y)s6!T2otEz#6HY#S*=DTt)I06cdGM|cHnyM3Ug!Oz-F*ce2|SKmzb<)HEXCn z`8n*UMR!Kmt--mRICLfV2d=@Lk{^EUV9utKVtX|rw#V>?U)8r)_~)iZ{i3wAQ@{D` z@Bi2T`rq0ZzjQU6{J|Cbo8O-Np}J9e{9hSh&~MC&^vsrarhd6TztPjO>04;`-EM6? z-OFjigCw13F!sL5M!gg_XT@!G?%HiLn9GEh_ZJs7)2ko<`c;>5p)TKOtImE5k?241 zn#ra3*S~dt`XM@QGx`}xwWGYaDwkAm+^YF6{7F?`i=U%hHSOYmaV;(waiW(95>5nW zgoiD$|NNW3gSRo88W|D^=c)hr{Ib@hI;E|`H+I;)?&Emj{m3jFu4!)9s`tO%{{7<2 zkV{eB*~;bDg zZQeD-`GvtGPXx#JzaP})$lZaHDCB$A?cSdGo2zH~VX{5=q`miTAfe9Tjl-+bC}6eA zF}iUy4KHRfr?!Q+-SdudzQ(t2M-8!%`!my&GqbIKRt=EM4C()Z-^VWJf;N2J__c!p zpI=rN_jQXS@2MEy7wMx>p>o`pR@?_Z(hCnVe^Ga*yzvR znk}RbLGDJ!Vkx?(FS;jt-(&!^=-*(LE!<)E=ug?SIc^BZrU&QGj?Ts@(l=hn0^Y6MM(s5w@Sy1=(LKA4<-tFU|iOYm%obwn(dx;tVS5ea$bZn}04KeP{nD@lFf z|IfU#B-BmcP2F_AfBf?6p039`TYbupUCO4PD0ipC-#N3FYJU9c<*VlYV)HjuZeAJ; zY^82{c{bRs=wH8_ytX%^dRO%B#mn%8yI>RgZ+Bz+N`Af+WYr& z4}WbR3?tdaP51Pl-Bag!E))+o*^zmBv!^vPy8FF@Td%fFZIs^zG7#3hN;5 z?cLq=?X#y(KYaMmMnS*2dGplw>1k+@*pIDI5$O%}x1!xuqYI_=!N`$dn!Q2L)XP9=vow(_+-F=VzNSt+J zZoMuq8uO>^C_WwatG@bhY25Y)g@zN^++Bx-S_F4nbQ>!4#1?saSKOSw`Jaw3dQLOq z#9o-AoQuA{?`wlDabs`#K^d1dZVD(wQwo5YP>QgkB%rA3l9hoTzOXL6yBCmBOt~b1 z7QgVavGWID$yp5|@Ypf^(Tz)c<36~xXC~o``!}2B{1?^V0<|A~uRd&oE0nD#hFewL z-<;oh8Ro2aJ?q+>Er0dFe*ev03AVX5Mg8;ntybEb>#K|NstwreFWxz8uvT@1AVQe5~)Ge_y&d4l#c6DPz4tqAo(YV6Yrf-IB&gABU4H$^uWeKk8O2?iI> zQm7@Oot$b5#ujS}U&+a!>^ZezcveV4l4^rDRYNIg3P9_EQ~(1YIVmNsq0-U-$JK@z zSuC{DSVd>Rl+K8124=SpbmuqiaBqqmWqsFGV|_8v7U#}wTvAgcNOYt!XzTpaLZnj+ z6lR!J7bf$UUFL~TI@l&(T@Q9SV!r0!XKN-`sxQBD%elJOGeTgm^+MygDv^!$&hgy8b-ZzDx_%dfDw_~ETq&o$8;5w(asCSovS~22$G_cXgZ$ik{!yF^ni^TG&HYH?Su9f2t|8!H&wJsDOZ! z7BvDQF6^C|&dKL%rVl4CwzJa?iXYD?1C8>`ssS?q=6q_?eULVY;woTLV?;g^ApxXP zww|jFq6ET9;z}Ue)UfvtWs)CM1x%-Or~u@=a2X8Jyk!nEvVWK>Zke-SUN&P|%T*aS z&La|hOA!zEk=}H{x~J{!SbhgBi%9Np|0XZF+w#5ahBH#zvySLx&sb{Ltda;*R7u_t z3KeLoMl@1zQIfK%inP>*1OmQ_)P9s3@?)}#+3wJZqwyujlnhU2pB3l!({Jsk8*c@E z-F`Y2ybgX~uwKiItGM{jH8v)sITuV|hW3>8K{0VzpKDiols>DaK!z5E*p3AnAvKaq zmj^i&5zQRs42+_ax`~tNf(B)m3j6DkMN5Uflnq~S@H-u___86ZeE9Oi;Awq>CB&>U za=cB_%7{u-O8wtbFZ(GXHQ^HAs)2+6qSX{hD5TKDzrx^P)=imyj$syxPBj4WNk1B<-&&^4S43!YuP zI8IILi>j&0x+yCHs6wK`R6jxkD-sPR1)ynt0Xau>6@9VR;>9ikpPO+xh$=}?Zc3ND zQ_16qK6zG`n5=(N{Xs;iJ1i(Q9Dwwm08grmwjI%!V|s=u5_~^(5f+nH7i~NG4nNe6 z6F;b02HWr_S=#EeFaC>M0*d$6@#l`K_>u#-#TG`{{f_0d*j}e)U2Kz!`?)b4W8%^3~ z{8?s4XqYX!BQ(sCk^7Mh503I&aQqMs)lf@BdK%daT7D1_)^swcVE!PP0ZcQhqbz}7 zRgJY}Uo;h^98`@^oRqjODe))8QPdFR5MZ>5?l{6W&>~~U0x2dO@kv`fOHdJM!k#gI zwm?NpNP3AKUM)lP~7o^y?i9*+UYfuvwRYbh)ybIO)zS9)|l3*>Wd z^0z)-OAXRc~JriA%IoG z^dpj_shAM5N?@lQFoS;1Hzk*Vs@-DG`4~96zPP_lDv3zOg$ro+(dLKtqp@O;U8a!1 z7OYg_Yw2+t<6@m4!N{z3fE+^tGTNalCbyOzw%Ra3F79bziNZXA+3Ncq?NXf*~TLHZv9|8YCo7DVm^|grbQzDLOI_ ztZL>Ve*37J_|y+|&4M$y>Cim_Wy8mF`p>Lw7TnqzjMXmcCWI0$Q#ZD%9rO*#?1U+Z zq`-t5u~0}Tgq99v!AQdp!wv0$q|^IBm`S*bzUg+t9=B%k-o);#1Cr#O&@RU!M=!>? zSm=>$dmNv5)*<54E-8aX#U#GeGbsfjbBbeT|0*aZeJwO-%5VSg=Iuq6-84>EV!nY{ls)wOv1j8 zv}ZaDp9df#GP^^2egXJvJX8mV)``LVeEMh2OQ6twf44hnUJixsYgl~FY&j_hnxGt) zdMzzLSvEjWZCCR~a9+xiu)6F?bOM?nRI}(m#d$&IXqgV^+y)_foxB8c`by_N!CW8UgaP_XJRTPrxrp6G*;j_V~2{FrC-UN>?}ib-~{h{+E9)KhoxEapTTjk2um9*VrITvl8K7X|t1nL=VpTv$fCyr%L;tv_1EO{%SxGTb;DUiE3zI;h#D`$$HS`p+dkjewLPBg&S0I;>(`3e+1!D zWC9>C#Tz0KQng;JW65MC3tka`P+5?YC!8%=f2a}&ag3V{I|=9@s=+~-)j5$Lag@o43RRdYWN>&wEk($?xD@q!cxXj?_7lO6VaF2SM zp_{6l(Snk`!#+Mq1Uw{|({%$Lwlpz`y4VLj^pSJ|>&LRGYkHSx-y1_CmXAMcg8=#` zZy@>4jK$y+{Ajv4cX5r{Ph3kU)#_$WESyMW!`{3J;u?-$8WQOYoiL`M4{128E8 zIK%esFqoldq#%@`m2$d|$v}pF3~Z!A|ND#fx0V6J5Qbjr3<4N-b#|c&+c#ef-snEJ zp$q+E8@SL{Yr_`$-!IzV{8<~a&_BKCpV%`WuF#9}c(B5*6dRhbE2Vpa@>wiQVVe{Q zQrPyd4^h}s$T&cu?`RvI&_8||JnFvM(1dLXQ z0SSErY{)_X`|I|%c-Dm?^p9;ILeEZy5B$%s{ZIDHhamJ1Uw03hklwms(!aiW{+<8O zgdX%izwtkHk9^oc|MX4&q}yjNIQZY+w!d}b+HiyZ@w?zr7jD#-|M{K&33btvFoSKv zB*>s|iw`mApL~G9HqGId+O+=3NT{p2{rSEBsq^@-g8u0*{gWZC;Y1rsj06<)Wtwn; z{^t+=r_SGn5^Rg?0}1+xxTzce>&Gv@ZYgjaLa=>54j||&H0S@86mXS6|M)6+)EzVo z?SH=VKXt7>JYd^~{>glCb>IGc<$vlbol0!w_An@*&uu~i`k#OGKQ)=#kbnO7f40BH zvn~{%e{2H*wrk?SlGvA8c@=0{FkB70#qh^YRN9_KRcx0!r;A_o8Hc)fk`}0ALlq$! z4Ndj(unlANI*#Ktr?n#*dKANJpsM}KIBdbNJAq>Gb7S80p}UgPqnqjuhh`?oXbck} zBR1-NT6S`DwlCXk!>KU}A_$-}ogeYl#~ z%#uD(&farjl&igXmoQt~#O!S7d|!3>;@r?VUz`s5pq3aV2N5#DnbrejJ)=L_XFkHn z7=!s}4cfkGK`-|lbn&cn=p7r*L2`EB<+I+Gd4|#>gFdQbGBQJ-^eYeh&=>u5*r$yP zdb#J=LtEk41#4_@Q#rFUVm_LB6`qPI=B?4&omeK_wCPw6T}tmXT?2R0)9FgLCN&y+ z&Y>QlpFTvjdz&&lM^kU45mlm_7~;7jQ$_lza{d6PbJaH~!UqFqth=#N=!kVXH+}7? zUhh8_?^INKv?quU9d2KH+p&Gc z6?!)CKoF(pNuE6Uqh|xp4Aa4bD>z zZDKiRMby-L#!fR8F>}*Ripc(fuaw=?N9ZRdu0G8OVc_Zr5BB{7RAOobY75}u7T@P9pmBE-^?`i7k@KFM5ig%kjMz^zkYQ0XA?C%8t0=jTa^!gfJPW|G(e;W;-qI$Rv>~F- z2iIhFvk1Z~G7(;wv|`-deJ6uH8zT#&gB;72pBDHm#CGpCFCa26@s>oWdjN0WjX^?a z`*hDM(UeHf5t-!dFzq%SJc}aQSJ6fTEI>-Tj55uh^*Rt(MCirJiq0;IZSF)rk8sTZ z|F#?Bh1j<#6!3l2!XU&=X9w~Zsmp+!^U;!@8+qRNj`C)+{t~@^syBWDazuY5NlqXF2b9})BB7o=o!4ptv zwxF`41Qxhvgw|4`8WD;MfiidJHD7QJ9u;3$H#|SS*ze-}h*Fcm#j{+Jh$=oUI?E*o zjwtT9WIua;4KB$C65pRoW+R9*Yyfy9y|1FQ-lz*I3t9kz7356kH~YL*&6wbs*il#j z%GTkM?Y)ey%MV!pzg9mdjiNX|^j~H8A)#!7&2>Vgh8< zAXdV%;yg#R5afyW;f%d|H0R;K) z6PMy8U<~s0PsjaDvDm%%_DYjI7I&O7zGv2-h5Pj3-MkhS5JCY0#0Gp8o_;$XGOTD5 z`LpTCx8uVn#QrrmDo3Z@gLM3Cc-lQkj9?QiKBD7N--GtvE*8(`7&GX)88kzKjxwJ( za_-KxJ2Xk;s$su&>wqTaUb!!OGs?Z_?jkn#OW!1u&C7wb8xP`Ospb>GIMIqh-}SC& zGegP2HSm#80NM}W(ov2_fap3j5PY^|_H3cp^A!x@KC~Mbo+!F&w0dscRZSrY@jZ6J z&da(dyr~*WK~n%)7o-9h0Le*d#GOJ6VNV*Zpz|Y$1?AHJwn+gY^|TcLdPC_pI#lVE zdn?vDsb*Vj+$8J~*`W;rG$1Uv6(PfULWX%lhKD0$coag02O?ycCuE43AUI0Ml!@9{ zs{}CxA*-+iTF(QQ!?kfka=HlhR%szaS?4&p(veK46BB6MgXrAEpSD6 zRZ>zHjBtW$m7sIIGUEw4AJe0rki8tHj(MlwL+~=u8tLHzs>is>u>|&cC&W1}ETl}{ zrEMj4JEF6O+0Q#soHoICl&f7o;^anlld9o*C@NDCq!|_PomA zcUF^E8AiLW2e`(77le@L2W9E?1u={ZV)kxpmP+=fmmBx%fGtt1hMW4&5cv??gVtdyz-tS$&@ zSSI+Drc(~sr%0zs%!ph&YODeNc31l;;0gP^Ej(eEx>m?leD( zA{9hnE^;uXQX$5WHXf)#poFZh4bju4tQb*s&YnP6bJHp`|G2Q$IG{{>oR;JVIpK#k ze}p4q#g2F)p5>zDJM+b;ixJKUoepfn8R02tnl}KKjAriVm@|D)ne8o5 ztCFa)XjoO30+meE70lhw0h0N^+K+`dY^?Qtj!0j(XQZ!3CzdJpu)#}*?9qJ?;g4v+ ziQt!`JO|^DF8Jks7ZMf(zf7>mxRVhcSswCo$RmRz)FhKI#yN*9%_Kr_!ke0ufRhTC zt2>R76~!fPNFxBu8cmS$$HgQo1-e{{be&jKp9jKqXIp6&*}9{xwDcZ=HvBW5OoS>y zgQ09{y^_F`i&E6QVGNdxH%*FuwhC@e2GYg^UELuU8eMRm2PP1Fo)ue&TQ0$b2lT{Y|4o( za#p4RLU~T6QO0GBn*s{almcKTlp?Gs2`IFw%MvJkVGE~P2Fk~^0^D)0S+=CtZ+}E0 z>h>~a6K0;$__(+soljFAfYuMVF|y=HHO3CJ`y!$Dhvh7>U|WPji7;Uqw$Qc!5sku# zmOz5KVSpi^s1QiiSQdGLw-xP4l4Gms89KO)>9#@vwE`*OUB!@l7HybN z$jrfLX2+dCTGs`{3^bBfm@~majS9>KBLY{6QzpwkIu8~rd2V=YTPDu>C#UrFqUD9l zm|9-6sng{}o3amskU0kFo$)=`@?y}hb(R;p$i3|-B^WCd$9%n0bZuR*H5%LIj&0j^ zvf}L6+%b1-+qP}nHg{~>y7}&D_qO&wod0Ex^-_ISuU2D@HOH*c3%nd{aJ-VS94Ahi zfdxnEZcskgkG#f8Lg-!!x50e>i4u_5wXc<5#8RIaE0r886(37t+{#XrV1&f1nG-uk zOQf7zm7R&XS`28VB8zWbh6R<>5TOPF0&k=?8M_OFqkIpHRj2dYEkcWIK#NR3!@G@X zUY{J zKhPqMh9~hSXlRhi4Wpt-0Q@>+aXrreM{p{O((P9P9akbTNdT-0v6N+=4Ya%giM^(I zx~*ar++dNE+fQ>0EKtOX&q7L0cz$dpJI_xn4AhdH&y|PN9ruUk zLb%;b3KlwZnaS|+KzJ+0LK6}ieLijCwcbDmcUv(a`4*;?WD_k`o;YNhU}!xa7P-*WoDLc&)A!|%ti}V z-h^Ec%BcJEZ4M{CoqxF=oZ^n=yLPZlyTb{>})hBfnbawF3%884CnOH&2oRO3%|L(s$Dn(HQ&fz|jv{ zrSxI>R`j!O?blS#e}L!^Rmbvwfc}QdMh7M zaw{F)b3={BR=Fn*<+U^7d%7AEOFb+;6*Yi8$CCjZ695hw00$4RbAyqh>ugO^X~q;T ziEQXUm{zq;K>2dNrZ8#=l4@;!P#YDg@8TYZ!e(MUB(P+(`4^IL7t%yfg9d%(pu;YD zt#*U47Z@$3F2O{QS)H~hgCZAlTNFMmqh-0cU$_Ak=N=nzIE;;FuDDMQg;oCA5ew0I z&?tSTn9D9{J#3BdMLO9z31P?0+bBJ6#04<`Xc?bJY%F~TgbE5sTuhTSQ4I+#UP=0K zToKhhxiSvp_+0x@kOgT7vfwJHlp#~hYnSxw2j(rk=!zt_`{u2bfj8ofI3Bv(CeHh} zxuFH7+yanVa=1aU9I{$sth#SpakcrEK8!u($$IkBT;P*1CDycXpB)NJu)44RRQw}y zuD+WWC02HjKXREIyfDjeLN;q^aMd9()!zDYbgJ5b17^DB2|P47rZQL`q#jg6!DZN6 z1I`G<0Vz)`U0?!snPrLIkln{y12+r;aZ*Dlsri~jiW3}CH=QN$001%wjvA^)e>rhJ zlHwfRI3ANt;{MDehGr=KfaV33yy3_V%xazH89#^%TuluA!2RtN8L5Up-dkNYwOEmg zvkr!D1qu)uSPF_`xcNARxy)u_pK~Dl)>rJ&2R1it-$e4S6wvV-+FUp@U=ueo!8KtB zH*4Q|spl1;xgC>k$sl8-W6v1_o5jT>+E64Qc07Hp+j6jQHXw_p*iE7lD8*KUUpu*- z^~7IrwgCbI4KFO2Lpi%iH)d9L)5tew30E~^T=%-TL2JR2=GgnK!K$Lmi9~8kfuPl@ z@P=q;)x_XqKaC^P|LtYyFt0E z#GD6-W{F5O=3zu209LjlycJm?|Hu%DKBN-9V^IxgXw>b8+lKjeNw!Wh06c?m`L1Rm zjxJ(ZGl2*`Y8l4Qtc4P2kWA6t$n08C{tQwtI9kBn7@89J_}#(FAvJlLFXlLPMCEqM zAfLdw<$+v!m_yIhUi;$P!Po5IMg)ija7$0pFYx~kd$2sd~lzd+*_vZ+goy81@` zClCjsMtGAv8%k&!5gNe_)3SG{pSbcj!cU28wEFtaMbh=#O%;klIjS*2N0uzkiy7wv zl)YU3ih>Z1jbr5&Kwk#^gdwOokF*iK3dkno=UF1SG5a>l&WdQW4+oQqx-KRcfg(-b z2FTrI!+e9avBdTa3WLfvszBm7Aes7NvbgII3&EyLHk1(-A~Xi;%R8AQ z`s?JIdI^q4Q52D2;KWrX)Lr8?=Af3^Y?-;@4)jfVGa2di`F(5XHMyem&VTIryr*w( zm=A~)ImdWGWq+sgg<0U5hU>2fV@HpO(iPkEz!zjO+QboQKrSq!^G--heoJK7NU2dL zCBh`5Gv(oeF<2}iNy2C*0`3jI!lPy@o|A;Pd{9!GiF8VAS}9qEs#+z}G)=ji=~kE* zyqEv!PA0Y-Kj{~{MDYutd?t+S%&YxPUd2cwJ%#r13`5E12|^P^>t zlSU!3N9qhO2HR(FZ!-Q-MiAd27ZKP%Y&PIMS>eVVZXX4gai3Gn0gEl!DRTHOX_g`nfaN)>fs9a`2bp`Piro*8rV~{A9_9R` zbnff!o4Ge<%#oR}VmeQ~FCcA#8la@O(&~>wq#|94qXF0wFOiF5^NsXUGxu&qn?h{( zfe^hPK%f0+So8v870@P_LOh=PkR|jtAD;hXr@T@c7s?bS7DTPfiavW#m68*_#3-?; z0wCf?EJfB1KMK)g6_Cw;-Gwp#(yZqP`SB#?DCFMU+ce+nh#k;K1OhWjRN2&8O-Y`f znU{QkX6a4Hc@FF^Eq-%sXvpw$XWDcE^0^N?aMo{HO#3t)OJ+q1g3KzjA2J1G`X*4V{cGDr1;Yb zrVC!NL7`CQZ0+PDkqT8rkSY~{u@>ubl_+uZ^gyMgvvs%t;b3~2S_B(|x}pCEho1%Y z|L4#^B4KwGh{o=$yqw-1#4dp52TzSfi)-57Cl&j+Uz}1LI6ot5{(m7Mq7ku&cY!?y zv4Uq|)n+(c#QgJ~ldJC=0YK9f#98|2=f_0-OZ2~Tc%(*xp>GzrPpzwul~$6Q zg%Y9VD27**2vK)gsh1k+ZI-n`bJZTueE1h}}1b4H_IQFvw2S^1^FpjB6 zPuJU_Pg;S?kR}GIK#RkMgQF{|1PM+;`pDdb)8mIG)#=R{y-|VYfq~-VCBU@=DD{&u zN^?RM1XlD>J{#qe^iz_E)FRx$(g!I4`U=rVt6W$i>p=XAMVrduvwJG#C{JKgOGRrZ zwUoh_XqPof@e-4kgOvI&^%L!&BT=UND0eLx$DLD8p%}+Ukt!!-?>)k#v& zk&6rSMGas$fzZ%n7XScVOfFpcjNr(AXM`qxa8m~>xY`F5Ok)LSp*t1KO1pAggV2JU zGyg{g=f01!YW7K>(apvb@*T=DXe&WzMa?A1<#07DR866-$}uLOm10~S?1tJ<;AOpx zfTEIi!oTIP@g?p0LCTvyx!PYwuko#dIhk{2+4cvo>F`Q$&wmVs6|js~T5b$BpMD<< z1yJi8i)VvGsg7ji!O>*kT>@WI)`|TYXfn^He^xPh=f1Zeyf2j$W?4cCi~1w9`gU@3 zv_UX=$S5HA+3!9TDTMOQMsm37ONOUbbJyAjJ4|ClSD`z*A1`)uKZsI zbfiOL+Z0bai{Ztz(fk7dtc8O0<*@Uqd!EWNgbtl^ksHu zGQ}ZFjanRwh|d1pz*?$DOBRMkWI{s|j!_Ac^PvAd5Gc@C6KShpyXC}eD9(9~%YxEW z8cM)Ik^|w)kePw94&>?(G!nAvCk7iIL4KLfhF^MBLsCkUU)I*dN$GOeVHEnW0V zMaDu>%94Z9)Ij3kN~_gmuxkhUSLu~;8mB6l&m^=#aV0(C%M%qZxL1=)ucn2GAMlrW2ETUFwr7I9r zV{-OuZelN*b-lTebll-a+)^lt!Ih-_z4^==pz{gv%-U@fCq((t4)66eRMV9FK&D8g z;np%$9hN-IJPip&HRqp0)WwG#>dqUdobgT!gs5?kq_oo?eHo8j3B~VV95m!B6D!yrE^FkG!tLy zd_gnirnscvR)m6QD9T!}ql^KSen3ocoI?H>?mNJJFUU3oRk&#FxQ6Xy$Ak9J zb%38^NI;xHCYcQc=>`JRWBxc#dzqTn0lEd};G)5foO|J*x#983v{Woi`qWw}Y#<&< z@yB?^$uYmSjx&?c zl2A;P1?22LYKY_9Jzj2M+Z`s|@h+hWmjz z{ejubmMdK3jlui7P_ZBP`PB8aANR4m!q3ax@gDR@jSqAEYB3$OP!U-eVZr6)c>?A}gzi(O8>rQIiM`NRjWYLN z?u>z>crh0tBx^Ae^>*=HZpIj@{=n?N&=zo{14PU`y(;JN)&~N< zq(&d8%}qPLY9{ew5GjlU7h^K11F~^H7r2rAm?xAY@9Zhp_CV~PjSG5%pXz!h$h}d0 z(1l50zrbN0xN^>vs5WJCoB$-SKq;;AOl1b3#^BdP^wC)PSC>iTXBd1cmI=J~_fXvs zt|v#*E=)(`O{wbvyaxFqWaP{}ILAahP$*I5Wwv3tf>K>i$$ZkXxIt>?&F$GhWAd|Y ziq172(uD^p!$b}g$gl0$GP}++!9>S0fjh$gVeW3!(-70;M&k2O2WdN*?I}1;HiEr{1V{>0RdG-qm!?D| z$9D9C{jBJtn(<2JfXX|$-;D~o8tT7j=!|n>V4t+}+~V~ATle46h1)>!3&}`|P^N~1 zaxj-jbg31D><sZJO?3toooo84O0yp6nc&;udpsn?ul0Nrj4? zMDftj;|81)vLBP{1A*uZiP}}D$ew2O2uU%bfsD%m3J(j9{g^Qpv8S->KC0dWZHZuL zk*+QUS5a=cVAC>nCd(8Pkdb5(SZ0A%`S{;+8N2Z29yJ)9PW+P8FrPnfJQ_{1 zQk9!Vhtsv=bt~6=6&FqZ+bODdRxe!|CNAiRt>h*WJcCI+|k44a^PY?SFIKXJyUm+Uvc2 zOtmAS!q?D1UL;NMM5Pbt6sFx_k>bxJgQ%)+e<4>l71pzOyFAx#o>`dNbe& z5t_%dZp2SJxO|KL8tNMkOQ;z&UZI}5`-(V*=L3ccB;Knu7pj*}kiLBk+Z1~NHGoKj~;BXi%9Zb>8$f5L}QLd(89 zE2uptb_XjVJTG5W@H`1{VDngKFrh6FJa)jZ<37AoBBEx`aJxbB20Q8?cCI zvam31Y7}JNT6uB#v`XP7d9!RY%7mxToOD^7q-HakCu8Q4X_si(C!mSQByu80onb5WBN1G*t`h(w7|gqMZ5`HK@)gU1q_{lv5G* zbsGTzma81~^FMCX<|M>q2Yl9h+>)(6D^K0m5lpZgSK-5r6wvN#<^%vV^D52OiZEj3 ziYEEiW7%~ajLe<9w+s>2koDY)%{PXsXM{U*WY;ZDe|Tx0HlY7yZgY@-BTO)%I{gWc zS>f@7F)fjfbT3hc^yNc;9%6|cJI6Qb1BA;+rkujcE(3$y(^AV2B3Z+Q>Co6DrXyaHq)Y|(Ewd5TkAvCd> zh*j*0IQeMgptG?9CW+-nz2?^u!FJF~8}w(cz{CDf)z|EZIv%RRd(O1Jm&Ta-ZBIy5 z&a>Y;1IP}iY^u#@f(@WAZ)2rd7_{YGt_7i_v$#MAC(fpNc_D;#% z9aF0tq!Hcr4q9-c29z!btcp?F!GP6PI79XhEgK15Aq@hVEQ=Ld~}sQ1JnlYqH{(EEk{#oyVFkPn!7~n4eTW7{DmxuTM-Gh9cL0 zB|kw1&A4gVkRbw_A_!YBD~ze70lYp(q~hv_Q4LBb8;~3cjFhEz#a&=FhI`%@Hs}wG z8^)_pdQUGGh4$q_8p@n`nvsd#WdhA>i43%|C>ww~_NxTbc;yLIa00La8{JQSzgS*znq-U>3DV7?q7eh=X=6*M`Lh4xcRto8EtyS+i3ilnG8a4~$_5h~1Oql)Ik zk&Iae(!8s^ff9L!aFkIuV}uh|B^KkI_b(=THe4y*3X}TCe|^{<#9y_na;$FKsd_%y{*!jcY0vpP*jpNv<}vALhH3tkJ5(? znA|W{=x}v z{Ya>27pCp>iJ47OuPz@#m>(&OkaXlIY*O-y5`t$Gb=+ks)Sqw=xHXU1X_ut7Z8eG$ z=CbPslZ=b+7k9MW2&!Vl?d<%-k`-a8WW%!^mqRyfo%7$|v;SBkm*H#QWZ*CC@h*@C z%i1#Vg}ApaBJC~YIPc)w$hB4W#HWTF?qCWW+cN^$GRL^jQQ2gaHXS+Y;h6UYyNH4&IqC%a(tvH@9Fw*8eOG?(-uW+C z;4p<3uRC4K-}9RckNyn+I6yT$MYx(+B;`uB-Md9zZGJwO%kpvSY_++qiyj&ort4O6 zHAx%d$g?*8wou4v@**(ySey0!+)Qv;JX?UkdIYH#@)(F~<)AkC%^-XyMNyFCLTvjd z%O(;Uf~H0F_et?g9kmZ11ROn4+m^gzt474Z9Ce3vnY@ov|`)NxP`fun=oDZmn#Hpb>C_$Dn69GPp>w3>v5h}vU{d50-|nPStjLW zN3x!x;YX^Z!&hAt;#vOM(KM=ChuqF$;C9u-g|8C3vcYONb8&C1cN(^Zn=xs0%D9%Qv&d98%=kkh% zY54K#n?rz`_!7BWqQPFDE!&uzz-GA1z-<-NbtXk@iS~VQiqVz$ywnKu@snmoqo$JI zx9jab$zo>vVt+klKe}Rv|HJ9H^BmocfK{#%gaJFDa8AX~bvYMd?i^{hfwbs&G9U$~ zP;S@&-!1R1o&$v6XDXte*Llx^{g&0w4TmVZT9S7&%dH*wc9A5za9$LCPczmx6ezci zEW1^nh&i;BlVpulmr-9P^w@b1QOQq8aVJ?CsUeAwoKh%~Qb=0~dhbdai9^xP6y-;VaXfqgHBP5vywsK`8ZI&>bsiWR<*a(W7_wwNV+TcC(;63u*D|*dTt<2a0a zw@jt7{!-aAuN7b9IY>-8cS^|6eB7S zbWV4#g~74!uk8`3G?Yo7*NN|s6(9Z&y7rKs?r;9DmzxmLOCzYnZp^9k73>zB{Go7h6K+b)afk;x;W1Oy= zlbY84Y%5W{hY+qZNsSCado#xKj-E8dm5{orO!Bn`t|*#2uU7E!Gn8uRR4hI0@x~7Q zDg_%+7tEChs1xYw&!D=DCbi|69cW>%`_s)t9Gbzz?Cr&8#Kk^iji=>{;6EgK|Mx3h zAHMqEK`$o34wyp!qBrS%TX8Fs)<>C_I$-LW$hE5R#C2TEm?cjn-Dp&v47AcL{sel4 z^{rD6GO%!WK<&A3x&RMuzF67!Nhx_zxKRDw$|g>{N}#>&W&V~M)NfqugV+ehQuBMs zCKuy__znJQ0-=NH_bG=_O&Sl4P-#+^%HdZ-ig7+$lWxf;5j zamItAIz*uYsb|vdlsI$)cpe?ih>beCe@cLQr{h7C0wKbvM$g{AKFNRd8wBfXDrBsh%^g6;6M&e%4A~&+<@e4 zbr41C?|BsH<1F-|nIxj@uWBo?qZoS5h)EFv=4}WYA>-^5hw*5B5qzdrw7T8A6>2># zqBJ$m-sGPqJ!g|wT@5Eq4P>^eIpbDiyGd7+Q4eE6YjhKB$)4Kfj|?yv=RS})OuB3QdjGPHcq)h{lE z&0qBeh(N3!4?7u0b~1t79QPcBol9~RRIiS%#uHOdckpiCTmzepSM^tsH0Lzp_D2}k zARUB~f0$i@(Zy(IMb^O)O5r|HBj?c#rQZbB(Zbik5ldm3?F^_6=Xb!Df-+twA4C&P zOGxP509v#f7a1N^o$aa|IW!a;5*0kJ3J*DN1k%|`cT-x}P4jj64L<|oRN2SKG>Ths zk_tYAd_)VeE4VgTWtXP0TRA=)Sg`!>6h0T_fcukH!IHu%_w#KrIWIHeb(=#T*!ek#ZU8p<-^ZAe zLO9*jfTb&YHqmFUmX`F8KRp?zcupg~)1-l_cuvNR$slS)e>DwE((Q|<%`dWo!*pf0 zYn_-`6gB@=hX?kW)~PrGUboR;gPonzRSh)BH?&pp?;{<(f4?RpigVvU?1)mq^m2f0U_SZuJznGEY-xGY~d_Us*uZIJFo$ z7VOY*#nWNk>_V3UlD_H^JTF8LKkE67-e{JJcipJDAO6-?Q2|Gs9`4}iErWi@VAZ`( zocJ#C`>25TEEw6ruPd&ND5H6f6P;1ZM4DWvwXl!#kI{TS>g1mE6Hm6@9DK*C(?~f` zcja7k1lVlO0<#{_K8uzcw%`gf(5tUtvegm5ZaR0Gxt1s&@QqK0^EVBDBWziGiovu(`JT1HfFtery2)|DbPHG{{~a(< zVVB}oJK&E$>{D8x&BX`-d44du;shr7nzAu1iow`|3TN5c;htbF_3r*y;i8m9i?pjd zO+<(JN9%6=rR%II#5q?Nj|?q;?+}?fn>wE0P-##&dOs!HHwT`aW48CCZ1#@E_gy(X zUtMbev@&(JF;%yZ=V(K>N87VIYny4>wUn-WDJ{Pd2ps>l^1jmllGj^i`uo}nIa1tWk**e8H@c1-b@vD(B1*lbdnBAaj_u5z2rXmi}7-R(31nAaV-HewwNbwsJ6Q zj<)(EszP;JI;R@WJTH;fy!yyXsVN)ZA3)Mbq2JV6>=EG6+U5xDZvJS2d}@?4bUNLa z+yXT%ItprBoM0ZxD+O|7-7)Re{KHt3ki-v-pD4DU0urExGFm?}!VPjNAh3)y`T`ng zHW1E@82jO=1PxNG&jpOBFM2corn0{8Z=;fQ0q(C*L2OBPD$B{=l&0-Wo@VA1Z8<(# z&i+UOSx%3o=^Xr?n4p@gSch<|_IIEG$vSpYVt}qe>+Ar8@ig_sI0))seW|RaEZZ_W z$FlA{5)nXW((*Uo61&4lq9X7|p5ipJL3Bq5!olByDgkAkNktmwsx7}O4q%qjhj3X^ zFQ#{Gt{QP><~eLhwX`{)Hc|SE$C(UmWytk15fweO7C(gf;0b zk>N{G(rvt{(j24?9VRuz4#djw^r32Pe9oXvn=CaJ^Q?ewHem4~mz^>N1K=(nt?37yf z>TG4Wzh>+x$bG}wsE&d9k4@#xe>P97L1$C_6d;zl$xoKc(~OCci5v8nW2~qo9JY$! zq3kf}41x~|%PIvG5a)SsekKMDr5KL}j-^{@;c=P}Q~qc9?LwNEB2#E;*v|9x;xPx# z?}W-tQtK5-n6SCOz?b%ggB}~dR#a#wiylJ?VOcCb?coEQi$CX{8RV#l*b&hj!;GB~ zs1*V9$vd#a8eqYcpM3Zp3~+5pjmQ1MsWnuQt07DrG=bR3(!LABwY^vbl_u;-UXG@h z#GXd@go^B!3#H)TC1M4l@88O*0yRZz;?7NPaE#g}r`mXTPxRakVw)wh&` ze%okd)kd$H#ZgTXxro*<`mHMM`s;wjf*8Vcp(eOac|MQ5n?M<;M3S>t3=S<)v3ri? zv4p9O5%dQQXpiN5F?)6qbl(_c0&nsn(M@owB8!Vb~Um7-oq1SI( zvTHE%1&*Ax7QzkAN@9IR^=Up{Us2Zg>7#s*I{bQ!#0nK7m_VvN9Fj-2m_4bQAS)h* zK;T;3QH~z}i|ZffQD_BP8xwtGKr&B)_oiik%Ev{zq1a(>PAP6vgs>)WKuaAv{fjv{ zmXYYB*EqmoP&i8ZHx|9s#|<{qSyX5apTa~=?ibgdx2Hk2H~vV*oIp3dk&pjg9#*ac z0&e{K7LW-Xg6u4N05E=pdLJpjtm48&&}5-_$9MMrf`oTQDTHFhAwKxC46mb@YW@`3*uJhT9>Z4N9)6Pd3GsEG1kzYxLdj|}t5KO76O|tNB{|o=xTQAZt(`UKFoYtHP9QP7Oi% z?<>n5K(65rmG~L))&+$) z_elGi{JY0eCp<=a#et<&F;4DLDqby#FsVuToOUTp7~R8{)S%>b(XP6NwCNy#`FC_Geu6s#vJy$KhcS%uth^mApwKAE#NZz8vkPZwv5EUYHmkOKZ z-^orUb&QTK_u=o0)sr2(a}rehEOOI}W2V#s1^$&o(o$$vddChBWG3u{C_8%A?cV}o zrw>K-m*{preRr*Gj{2@^PcR%1GJC06j>2=!WFkvRKLvaRrD!4G%B1)-Y%@BXkhECc zvVa$CGJ8g1|IgG6T*_dcZgU%okW0hXq`-g25&A*a8`Z?CF>TFEYt7_9Qq7x;>FEAS z!@o0+KU{D>Xwm|BKzh39UM`Vd zQqaA<`wlpZ+wH2b>D}J^kPB zGm#zJtzu9r>`AOdqQ+e5**?QCDKcYq!-K-C#oP7xwUVB*!?RI7efm=H)p+71Wmrxl z-^I&Cke=^zJpsfCa17(FaqzF^e=lF>Ip^RP$eKPr9S`SF5cIkC@8{TRaJ@m{!2I8A z-Sx)$#`G(<9qr;Qc758_`w}`tIE?;vN{zSEAPl%tH|uT98-s$iV6xVZ-0$yIO$R=S zIG^{2z|4Hzsr>o`9vAE@buuwFLB6I8%MQclo^@2eqo9^Fte|HA9C3>bMs*ks5HL zT*VV+)W9lpX!TT37+vclEkI1=lVwDK*QJZ{s6DbO0wk+%!MVg$RHVQwGO zer%e{|Fhv6&q{$IwDG?eV^Y!UXI644yHc1=j|~jlTF>CI+HiPxIDTB%iCE^D$$~Hf zpJ6HKGeMu3zZt-yYLeS-BxqkJmZ`f$tDahrO@x02LX~p#a|SPcNrU#e^0exPfte1)F1^RyevPr))#xmCV=U*wTDg=zKz= z%*=53pNQ{1|5K4lNtw@SO{?&=id2ySOgiO>rf9s49#M7h*8)vx!EEgB-{1@9FFxtv zr(7Q~tg<zx^RnnGpYJl@k znzD`O&(CcE_+&+fkJkyG??>D1A3cpNB|9}9Imkwai0-^2*htkz(5?5m-`Mm?M~4!2 zwj0UATP|g{mt8(Q?N9sU?#-*G5U;yFy0|QwoJHFe^3|(^_WA*yuiXR?cWBh z8+#LXHOdEe3s~eeUFLA=Fk>X88VQ;QTNsX#vg>~HDn+{#y*$pPOI=fTGe|qgkvky0 z{TTW}AQ#eudw|}4L=f74V70Z-8diL9jHh5yDV0n`+L05>q{3=pvP*3B21FitLf4B} zHx0m63_us{4+qwD^!gl!>5^? z4AY|4&1O#g##En%AM(4+GZ5CU-FGnhD?@~45zfFo9BDT<@3LV${lE*reW zwu8;?VnLRw@F!(~l^4tc@Q%P>0m((sGKL8)~-M2=k-?{eg9vClxH3w7wQrY zV2w7RvnF4BtexYuOfZdQeo=9DwtyzAh?+QR75a4#3a*FcTBuc>+~rewC$R88Z9_00 z%dm9Q80Y=A)r)&TJ!M)E&@W@E7%Tm@4c#D>L=+Y`HsNoC;5Med~YF zmnjI(VH95D-mkyPA9OnVxpY6NwG~p%#6&;QG*Vzc(9|GFkIyw8QB=0QH&GkAygVT4 z5~@zXgeWN832$2MZ(8ARIDvWp;P76J_>M^J^xYPdP`qbutRAg%Nnvc*uWlYCN+?r_ z6(MZCtd$fALKr$=Wmr%~k1ahBwQ&8CptdDU0x!H{1-y8689mPTs5tEY= z7&Vom{rq_r0!Kvx^l22F*!Q@kdoUKxa{??t%SZ{6isPgOAj+Iz3+FKaS&-t2pR0=H zv)bqcmQDyx<>o9!XGXJgB5`25@MV@cTP8V?i{8yApn#PGu@afbSnd>RE&9|6G@U3F zCM732K+B!z&%3*os$RmStnkuD5>izee@QIOTP~-NoJPc~VLegOF9(Iok}!TkXFeIH zb```jN3Q(m_EiOm@>HUBjI!U*`N1lizLXbbiJnVbyCBLjg2-XQbi?&`MA9rADfW9Q*(S-&aX8JV(pAMCq>NfF#ngfT6|2Jo zP|BPX18;Gm`uWqEPx&Cp|5zCQ$Kqc2e^{V<)UbUz6^3)=S;e&{q10a__ZbN%K^2y= zK@vpiRId9c%4i&U2MD=Pl5IAHgos)Sko@NW^#3@J;x}ayP%U1b3ils_Ho}R?;Hs(gLf;6oUfKiaCk~vfxRm~vX+&7`AHC+h>j{!#epoB z>C-RGYNx5?kbKqXbv8=yoKE_*GV(iskz!ROuhms@D{htN$`zjHjMAO=37b7SLd!?yr zwDaHC=a@pre`Du9{)yAQ%|H9F4ASS?wN+gL28>Ms>%T`xBi+MSpBj&pIMIz%5iHUk z50d@7kts*ytwv4A1j)bArf9|M`73Mm&xM&noc0CwJeZxSI`r02Xpkdd?@t4$M6rXCoo(V z)I%8ZrGnUvGBwbVZM!^AzFXrIY@zkfYBz4HulBB#R)jb7eLD4$lJk&!%$m$EN8&8*rH|zj}a6d0rZo zxh0RIBea)IbBJZ`Q&CVxBIUzr?OII1f~I$%H)R;8=y*LDv*+utZRs4%hVaenmQbmt z=ZI*bPLIB+^$Gf%ZvKPyKguIfdJK^7r>@$-ANJ1~GQd5w-OwHbQ#csJL^k_sbH4eJ zzar@8*lOn1_CRTph9pCWqcU%z1bYC#Y(#*s3dO0Qy@#c)35v-nkTj*QPQH zdrhxlZIh?>39*<4Mk_%C{tj4M7q=^*t9JW_r(66y@(@r+XyLVTi5Wa#?S?o z=hU(FZ0)pw-uA!eLv82(@>k{{R*N7j7xo{E{g}`R?hCSH{_qzYQm06R4i%!vO?Mx| zC=E|YtA{#hcxO;g%_Tu>8-SoH-{VShNkrkwN}>CUMfOCNBPm3z(33t3Cv{Q$>FGY| z?x2e;+PABz>Jm!E<=Lz;PIK&VC5*UmQ%Epbcyw9jyu0yk_NGK7QC%||59&);SP~0Q zwkj*+5-A~BtdDoD-n=0jop+rCuXobEZ))NgbufDVNTPK_ctbFb(|NF{x8^9d&JGgt zqg?~^O*V;JW$hi*;!||vv-)*;XQegDW9X*adqUSg;5+-#;;VbvT*BA?Th;L)o5&pK z2Gul9@k*!Nm|{}OO9?g;r5q-m2$nut#dAF}PvOZ;hbvxy+!e&Qi+o0(Ye(07qwf+- zW?}|svt|36X!7mNEb&ywiDjPFXKEi(M_SXuwq`P05i~vOSe^ zo1j(-zaR=^dnJMVTo@umF*68CBNKFl3oHgkT4Cfv7$4lV7?u-m^>g9Q)a4jKXC%v+ zO4jUC?rJi^2%?RpC~qx@ffW7K@offM27YsCD*&`(Z3uB^+Lu zFITKV-S7~&bpeqs;@>G)%F4?2!E_YpiWZOav>kq(S`u_mzPyGNyaQ+8y^dCUMbfGhkSYcm! zGi8$Fy_0olnA2b^C+Q*H`=}bXD^AbH^zk$>gOAtHgG@{S2MoN)yRBr7_l0Jm0>xWr z_ZPX>A3Q(rk{N9{56rhvr4zoB2J8^>qDU4HuS6KEasZQ61e*#RhI4rNNvt$aFzK7d zr}N}bUTGc3Q($%d*t`D0i~aI>s%{*y$CaBoenl5H@RMes4s$y#1p+lTBaZ;*?g((I zzb^s`h%cqKnUJ9E;NcVcdXML}mP)2v%eNjwL2??$WVm(T3SiiN4$b;Q|D%u|$6chV zUouB07h7e7ztRDlYPIHzz30Ks1mxs9)>>@V>bnmuJQAxff$48Uy;}AxD^sVupHcm% z2bqWOy(DJ!^e9iwAHOU{3)}^#YY~iaBeu*2j|oHg=iAucI~Ym+eUI#nFWM=&1F5d1 zdHPZB)xc9I{wMQ=%JxXP#ScjNA9FUtk_9n(w$(V@6M$dV(Yku`A7SE!HKfMUm^_hC zSU%C88ul}s78Bm1d0GWCHW#SI-d;mU6$8kWmMR@sd}2R&=hOcOi9mM0tm@WFz^VC8 zZ@4is+;l3qWwa;`*9aSF?Jcu?nYcRC*o~kOwcun0<3x@I!~ljmFffC}B97xx6ETr3 z$9HNfDaD|{7FJYrd-$NSE&@$;$*}6yn?TdOgjhS!bSgBa1T@l`V+ugiRDKL2+kzNN zK;vU1@{}{(;*!JgJQFb6gAlj`TL8{!sF z*dxA3l}(rfxj^xWYcf}I^-Ms+QX@}>0*(4e02wrD0s$&pZ-Pe8VE_kcbc+H|0S$Q& zKzC>~#sDA$Ax2ic)PU4C9UCI(QlE*`aKxs>vu(>@%*I5nYU%J6i7WbpM*Ts*3>r1( z{FSXYL8IqW{sT0+9rCMyhWw1bJ2V=P_z@(+5~+uVp);;U>5lGu#PnFB(9|63SGL{+nw}5!51{FG zrmq4t@+1B3plLkOhlT-w4(d}UA#rw3b>dOq!+_ac($DVQBY^io9Gk-3q-Vulcm4=D4@7i=8yruCqCHNNU%4j)x($ zsOg!&_JAq8u)yZ@Og#fxo-BhGA>76u6h$l7=wYK7+>D_HTNt*mg<)%3SP_Og*~02D zBsYi^VW`O}CIFZg(IsjQ^dWUcR3gWk$s7!zWl1L4$pBV|6uA|w2q{gbFwt#7kPIn?g$zq1Ci1yCK#0!aq8pw| zgp?vSmQ{HIrfn)d-@dwBX;I(_q8gNpy2?|b(8nbky{Xib)oF(}*LxCM8v|RiwXx?p z7$SnjsRQ#|9hwN*E;a!prcNZ6ow$ys>u6AlRDboJB>Q{BMV}PxZ+YIVuKT;0x(Vj{ zR#G?wP-Xz#atsPBmmuV0&q6*Th7C-|BED>Y8`%xpyV>8h<)0+`d&D)M6zp$#A*inV zySW;aMJ(Nr6h3flS7#8IhR+bOIf1*Lqch4}$3c#3Npg$;8(Q`)Lht&n24&W79F z(XLw@N{)ycZ|VJ2h*EZ5?w$!HV4DsRAo4N+v^MOAiKg8&MM>W&sysK!`~p zjZfEzXIip+xxlh4G^_+T{Zx{w*R^a3S|(WZBcD0_Qq(k7{xI_i;4i~XtMVT(DiA6H{c$3UzYXV!(k#m0rE(M-z4?R`^2| zcH~-_8tgQe05QdlPf6MiS9cr>LjwStQEECiadkpG!xpJMEmL-uA(9&mEa*uQcG{;V zsEy>9ZhnH!ksK|P6m*N^XrHOTga8>b2$|60kkP4OF-LdiL%EJ!o2j4~DU(ZApbjbWoCS)I(pVt{qTl{QI~x~pT)wrvjq?1|!` z%*BYf1QOFmCXy656x9=lRM+#jO^@~o4-8$$fWZ30ec+o637dx- zJAh)~>InP3XCW7x%m3$1{d*c{e{)*IwMXvWawk|3zVP@i`|+NVRn2t!j=tQzaS z%dukly5;C1*N$&lnCK#Y-ZX$A!;oR?^2!GN?C~--_2=LJ$e;Veh7<;M=l;jvNzVQA zU#f}?hRt~lDrAY;JO*7)^z(D<=R_a2&1hf&152*U>XahiG;E3tUq?3cOx@@2F)kEb zOo`;w1rr;pc6(hlcR|!XXGeXY%bg_d=pMq-_l9qo!UI5J*u=7GH@r(6LQM#%$Sw#N zB|uy!cYT5^+qYclwGXZt4eOY3Kq)-fZ@m2-`|90yfBy5ox$D&`N#F7HUn2L7E$LV9 zzW$55<+LfCoBb*ZURTU3{pMZrzsFAvLkL#8n*M+I{{069 z190{$FJ#g&d=ikM+Xao>AZW81AzQuf-jW|9_*m?4zi*gwr|tl>O8td&_3Ey@9;XNj zQ;h$4+-!p--G0$NvM-g}?)c69D)@EJ#1|_zsMyJic=s+AV&N8xW5Su@T;gRd&OG_` zqI!#cDt?3l%Z)8#AMEh<}2chyM;%P-Nd;X*7mbvd0aBDPDj@a%kR z>EIah=fHfCj!IBw8_4&)-H-c^e~>1|Nj@n(9FNoLj$I1=8uHl%t1mU(>!tqLYR4J7 z`ssBT!I|u{Wn5qgo#V#i=$|AGJlMQ1cJ!ueaRihU;x`$P7et$oo=|E>ktu-hwIrbhk*E3OFc zssxVEP7^_sOE8z4ePN|b&*5as#ih?ZmHN3=LF458+-9uHiI;nlk9;4!@_qu}FHRu` zhm!DkMCR#?3Lg~cmH#?F!<=-gf7Xu}*G{;mfiegmJDC&NV}E18>)USDG-gd>)-)6e z_5@P3hK;J>+`q6?E#gwHyQ+{YY=$=C>N9f|d?q`VZjM&+%BquB)+O@lWCK5%-F#Qs z1BgZOENf<2Gs_x9vL;n-2V~YJBckcLH9VwN#$x{Y5Kwl%7S=&zsqUp;phGO__;cW; z-@KXMJ3pLM(A{o4cdeG30lw<*^{C<`685SZPSxyAxZw2rF;q|9PJndsc4noHLw~B; z7mt`!uS}v5Fma$5f07&jH~+U`uXRf&e)r$MynkP_gmJTmQM;5X)w*S{WHGbMn%%6~ z&6-`;wJ3tBg&#q#)YPsBBxH6aTqtJ`ly_B8TiO%j@P1cpy@Nu!gN;^o%yXW5|LBhy@@&3LCz%2dUU5Gn6z&Q zUmi)SrvIx4l3qKoQ_B?tRP8S<*%qSBxBb#t(IAuuT3*p(nj6ve+|~JIxTd!{*Y5zF z)w$8!+*d6=zV%j2?x83iLr#&-`bmUBuaiA=^~UM!I$dS;I$IHF7klJHiP~-HDhjEP zy$kC5Tna0nak=~U;rQpNk*R_vLh{S&xsa{wvA3!xaipi>JC}s?Yf9qw%dNDPOI2T! zG#lS-kTtkhree3y`LYc=>wV4r&uZALhNNjBY*xdjs)l_UofRmV9si=f*Fu+9a66!du>gB3zX<@JC{ zTk5jfKz+o2mIu~0ZNi+jp!fLj{>}kT@5{A~vQyV%y!G1N2$ZhqIlabveX-vL{mfFw zC#)5Bc+E$d^tg_nrTmhY6Rw?B9oELx3%ULqC!rM$FQkJru9I!KeiX%34EyivbMI$Q z$MxG#uD14lkt^1~1nFO)qYd2(wdp$B{cdmmwbnn*vxQDY{`t4?I$px7QHCVkTzFBS z@u%aPNI$%K*T2@Z+p<=tKy>e=T|o)iZ{_+&=VPOW$J?ymDVb(lEnP`xZb&2fqf>I_hJSoDU3Ifv ze+s+?{jn1v5WQx@L|>vETPoGaY6v;v3mn#r0+csYs!(5Z3@3*c-4tL2Bj}{;w-k%g z0dSh6vE!w81iaCRD?vf%ak+TA1^3wI;y^TT@Gyr(hB+)_ zn8PxMIV@|K!?FiCET1>CXx0`L*%!@jk=V>VepPlbQ)!J>9lA)pDT$R?HT$FSf0)`P zcME=#Gu%1N9{o9`=Kjvbr|?ZuRxS=hTqL?yq5-rU?m;^{yi-sivUkf4 zn$+-qI=%yrV}Dm1U}7#NC(NgVDz}`oq;sw3Tp;i2##Ah`&3Ty~Po7lGZ>l^qk2Oy)8QQb{{QDorrN{0wJH~hf0B8}rjThbMMWm%Pl_ha;wQGzDSK>kwf z1O7j@b0ckaMH>cxIy6L`^|>&k*wU|vIFEzePAIs zj$?g+vw|PIayrwJMV}NI80V9LekK{JQfs@l#^S+iQLtm0zhA|^G#UoGFOy;j*gr#%Nic*VcP{wp z@pwny!l9WlFa$ucZy^@H%3XSDbq2j)QABLF7WAa zQdY>fIR5olE+Fis$y{JqEsz7+;fp>=}9`nJb_MF50< zoomO*3)~M^UC}Q3$ z)X&uJaR*AV?u1h8N=ivH{jAsF$6%+NRAjA>f>yZt|6gJbS~`cp5{rpBvAnI<5z{`u z1@4;`yjd+m*W;(xEA9Su25wPd_B%)UJ-qXFKWVC*{~m`wYVnGF%! zehRn{Q*1dDn;iwSaCH5XIa)UI*@#eS#GhqCWc&8sYzR;tiMNfSh0mB5ohj|BFm{5< zy2eKVNiITv`tU*9?42-(-f}=4oU{jkl`5d#VP3p*H;V5Je1*g{6y3c zwJ6xdW1m>K-Ygpf7|+%XPFfxX7XjYXao~d`B4p%wNN|cUGjdBF+Z2;BC~n~e%@B5X zDok~hqmXrrB@INdoCxGuEDzZko3xl3HaMXWNf)Ew501+pkE0hs1H%n>GWei=rXO>9 z%-Z+EV8t}P>$LrbgDCZeu48p2_gJ(YjXuuw(zj+(qL&PoN zOE2|3jDlUbcJhzo3udjT^^~537t&f5~cvJ6_(I=6O+wFR*)CH2!j+3I53<|fT6>=}M(j1Yw*s|C7@J_MUq}c2jNCk3~{*;b7hM`EPx#yr9 zEUyqd&nwxAA3`^u;@FTd)lCwQ?e5smq*&zwQt9eaF^Z&eH!hXx;LdFKovEu-(ZuPY zP<7j5AQfQdNF^KoU`ODa;3sit z6u23eWS$ZltAbHNChm4(v~h`X(~&l^F7J*us)J_ZaFAe?=IVZ#F_(`WaKvu{x^+Z$A>KMpHSQ6U-=ik7(h`5Urd(!=GEl51& z!AXa!4S^=$z0ia#=VwX)`#`ZdlQlR7ju1C^eu>yt6M)m`5Gt~jE1%!WIZ$J9s`mw14S-{@0iox=t@9W92ger0fRKzV z5+Bnpi@rTfV@l+46D5P(DSgPoRJUxi-tHRQ7cB^*(9Rf`B90u3$2?eiK->uV-++DA z(#3tsF5Bf?o0IZZDB*;L>Lk-hAquO*Orss$?VEg=6;MAtF3B}C1~w3x#6HAhPQj*- z6dvM{zGOp9##%AhiqXCthWm0H?@O#Yh!+2oaVVHcH{5%|DUp=@eTr|yWu;X4i(mJ_ zmc_G6&67A#BfEJ!A-1_e29Pq_z{o`n=`C<3b>h=vM^dXXXSz>kq^pA&{CMTEwHt}dP^F+avvC-KKG8K6d& zn|RQ2w^YU)m2fo~SiuTdh3i)ifwsWv6;FkYdhRwBlX>|^xPJ{+$s)dA^FQCmv&)up z06V&$4Gr&oLs#mNrPw?_2zLh?Q#_kb0c#gwQ*|bO>|E0B7zB%O7yZnB%g&&ao5aiu zc0my_RVob z-`1LB+TIO2PMUVrKgL|(tXea(Cs&xQl4MP8U`z^P%xUv@Tr9Uh1}G(jh__t>c;FrL zdjIfeTvGFrWBTFUezjhlK0U6@b0%pZM%(aJKuuEl+2TPA z_;i4?!yeW}UZ)4DkS=Ukc&)LsL6J1JFnN*e_5^hp8V&JSuq(?RTsf*-e>z9_Oi=T) z!|w~h#A;!qp$2Zc3XF(w$@^8YeXi~}FyOsaKMYL8&Gk$U12vblyZr-RRJ_qwrOT5m z@qmV|VZY7D@tf_dfwD2qsr=LCcq$c(GzOo|ILlo4q5J|L0MMRXZb$$7ygm;y%$D_Z zpg^HE`%pcc&LNj0(pzTD%6Jh`H>4)D;x>|HEOwV;MpR3mnPx)mJ}0 z(4ZMCjr>XeEKdB@fQE?|RXoMu;KHdoO!{Q-qUM-ZN(Q^r^6o?&+x<%&ingx-ObWFk z8U$6%4HrCONUeCs_kEzafjc-*;INW2iv4xPa>o1pzBD*$KrfY(I_Ot=BtJ;&GS`ePpHh2Z@(a_e5Nec~75c zcD^))U;-2AVzD|ts$HzsyUp4ImH^FN6O`ly zl+baE*f_2VNwN}2z(HUjNdl1c0VGe&$uCZD>V@%mj8 zVH~NsCNdiW{m%lcFUYo6+9AORV?0~hP z%mK>SD?+Iev3bJPpa&kzXuCOjHH-Rnj6h%fgW12Z*Cma#8tr$Z<#s!wFNJ!P1}y1X z1M);YF|!GXC8y<|``!Kl9WM5F%XjDP^6<&GgO$l6t^rF>OK;gw1`8zlv?`^vyuU}^ z{&jS>Jgx8d2j*GI%1Ptpw|T$0qu!?oa)utXS*)U~1euz^QtZVihcPwp%@6DC;|(qq zs>Tr*J!&^!145*)zWR66>%pP}ZtBKOn&?+N0|p{b>E?hT;W&34;_vaL4>Z#7i$FVC|yGYATQH3X@C1AW`#0 zWugMU)whxZZ1Wmm0^2Q6--nA2TyFOJ$JAK-T7!>On!y&? zbay@>vEXEVNGaa91R|7eUjtO2&u`cm1`HQ-Do!vR#^(K}Q8Dp2vBe4Uc*I)r0%A%`L8v#4YO=FgSCI)HF10@ zLd6rcvF0@!Yw^x*n9s%Hk(5tysuitn^BO=RVqvJq5$pPJ(PAdLWw8EI4d;eBXOQ<1 z0Hb5CjACb9F=AAvOb#$=2GipS&HVDPx_N&;=a26Z3Po?y%5_Yn$YzPdUdC>6Z--UUBh0Brsz;yhDFgq43~Ci zs8j!AeHtxCbe>1_m5i3}(0p>?U2Ggxm>1&a6XN7`>Ag^-#(fy3BLf|Pe;|38U4o+H ztH%Mid3sObCE8OW|_x6PjAZkt29jb#hk?B4HN z&@O!URqVJ3kr~af@gwSe*lrzexA}A2Zqo_0-DuL3mb(qS`6@PBnU5#zwQl!XvFe`L zUW=f;_W0ou?-kQM#@s>BUDva*(C1(N{TDpSzkD6GRfpT^srysG+bV{()%wr%9a;Xx zMllu^>o;D*4kL0R?f3|7wXn%L++V}>3!|EXX(8%1-(}e=iTD&U@JO`cU{9?!$~dAyAkem*k^t1 zvuEkBG6fx0NbTy)ZhasMd35$VeB9hw3X`ffu3-;iv-Rs@3_-5!diOm`Cy^=WBto}< zjd~xx?<#f~k}7}2ojHar*7X*9mYyL~&@-gkDmRG5&GyMln9tHzWCr?*pnrC!793Zw1Nz)q`E~un!FEu?L&w1XHaw3019&~y>Hhe-1p() z!JMyk_P*$Enfh#qxKJ#JfntJ7^|E3sT|Xw&49Se?59{M2dc&KK>qWQ45)B`84LE}3 z{9nuA(CUIiFQJ%JV#WdP`VfJozG(adOmumKnLZVSsTs@B%R8MnH*n%WxGo}bL6PJ^ zZZvldP>~{}`2Nk?LBm2NZQ!ns@LO0P1}$&UrSKG_jRJm3FnB7Zi)Nr%AIdvQKlDz3_ z0Ho=wuig@`@_Ua!^cCsiZP7>CNuZZNH*d>+-c}vGB|XJoVLyC4%g533eu*=<67V=~ zPV0X`(1IR={#mUFInby$-^OQe(ozV7Ch4f<9X^{p`MTW;LtFJHdu6kw_~ zJ>D6_KKfm_cGjwN#$OnWqjL zPsMX&Uh^DT5~0Ax3QWIKiXN=dYZN+giMl(sZ-xpOQ3)8QB+7p)C zYKTa& z;~~_$Bliy%GbWr-=SaY!*?Xo186ae!W#S(%=JU$~M*36$qn2%l2?A*M+N(D7@&(lF zHGoF?>Z|{`{xn?40td4&j}WXaefbC4fg?1TgFJBHm;4ko6b($so(d+^Tu%3o>m52J zt`5ul;>2NT_f@!*=^MWWfWRB@A7~_RijfT80-UD2y9gF6!~tNP(ZGF2gthY&&LuT> zviVbSSe?TTt0W5cPYWZ8S;UL1*=qojDNTfgx<6Rpm?7Z!_ITXiZLlT-zy9N230k24 zP&bgjj@GBUo6#Se(}&S&^ZxysWWivsh1hD#7fH>vSZEm{z_2ba2J4_^6(TdQ!ON4e z)6Qh*LQ5&5SGL$LclT%PaAbR`!F9CuyX97gI0lcp2K+&ve`5U~uIQ4-yy#NQ_i==l z--u;a`0Hqc{(Ha%(Z34jnZXv;E`~8sq_MNYDuVoYRXo~qUc3piN@0ZzU9qvQGUaep}RIP|=b<^mBo4XAl4POj0U z?&S(##|ACE-D-bW8bJ+=Fb3^j1HhoqKNh{dy0l-l`S!afTWm_({639Pn3`_%sT?(; zNd#`n^8HyVM!|j7*qXA|uVGu_>>ap`(VL+wM45#0o^U+zHZSqShc@>Lq2m%UbT!~8 zH{6h*gZb$E|dr+wtzh`eFH(uV4P{j`;b!#qZ)T|MIZ8N9WG< z;$it%?fAvReueh&r~)8TmX-FY{1Sal{f!r!)p0=*Gt_>^d-v00kvb6j^07)MYX^|#bN));&@t~&W$%=*d1ZqRc{b}e5&qP zv7OGXOOrkx_S@~d<=yWK=8HAF9-?h^T5KNhIfz~3t$+3R*|LX@n@C)3@?G>b!|Kh$ z^6+U?(6ee|S9dYjVaXlM&I=!e?fcj2%V=JG{JPQ6hfl}U?@X zdw7=;?6bwY_3?<)gV&^ck2kJ4<4#qxN!+1PH4B(80Z^I0=s zr^iL{tiBbOyL%i*+T}Ct7XD6H_UGN^f1jzFSMy5L?*&=9iv^yy#ey7nfuWFD6$egk zUck%iqjIys?iJR|n;Wbc~~gJquF? z!d~%wYUEVBG(Wtg6MfeoH@LR%rTfu6ER@KnUl;69eyO>@TSUe&@ z;Mn$IGTxIs4eJS(C+GJpKQPn|!g>Ozc47@0gcVU=sCuB5LLK|TW+(E$+Dt0{YY!}N zw|}5nKLQa1A_zp_I2UX;b)q;kQu{o80PPA0seI0xRstjjNDPqZIv0(7)rX)Q5D-Sd z&F;89oaB&)t$GydIEMhP=fW)2=CILSaoV^Um97byO9D5km7SMQpUlHwY1S1WsdSL4 zPkC7)QP{NTZobzX<|!BSzp!j(t<0nROJQRR3=|kBFp%S1a63w`c`ss$R>k(le-mMS&_W@)B$Oe%02C{Th1)S{ewoo(>4-q3ab?w<3tM%Q4PDh6 zvYwXrMuAZQS_8BOXf=RVyrBZN_Jyt5*#fqJn&pH>dL#dHp=1R)EB z1wF*$G*I;=wNNdt>S54gtY%aErkF>IG*ZRYt#d`y8Xy_3RQF4gUa{Nd&{+JUxK|2x z#V^n-QF>cQc$|^nUxCpJZ%J(P{Q)iHM>u6)0hE80J%SqP(iW23^0XXDr#^M7FB;J6Y>!^Sg!u~;GPuRlg#EKkM38RtN5zHwR4aRd5jyYF~DVjOXs<`mORGK z6&(eCMHL)|9LJZ=aa?~pA=z=DsX$XcX(}W;4#|$2-MPkO$5$=RSnS73ahJ?+3>o;NZ|30tJMjG_ZY5kzvt3AZ; z@0Jf8qNs6hUy|xm)s1)C{X5Ci&EqK7e?D#w>fv@6^E2ur>!Pv;dU!5Yr5;`J!cnA3 zBkQW{5}ZFw`a0MToeHIgJ=)d>qbwi8*dmWhjZ>v_Zc=>*(2S8pH`~q5#k17CFYh;P z9Xfq%W3qO-hpXKgTZ9*n%frcYpyKhNNcF54tR6ASjjo1^+TxK7O85Y*xxZFFfvE$< zIrA%HF~oqgffuttw`uWLqwi$lQrU&9A@XOf&ysxK1q%Jkf4e&$4oD*U8}~r+!?^iN zW5YHsDt1yKYE^6dUtYgTqE}zN`SkF9zx#CidjIga-=Q0Ce?^yUcK77J>#ttTlF6&j z%UAPPpO3H7S6|`&eD!a~SJC9vSJlJtH|WO?`{N1!iGIWXnZ5dot-a${|F%Tme*S`P zj9-0qSpV-cq5vGJ%l$Ha_0^ul<&f_Z{J;n`dWU+p*`gV|+b)ks+-`!tz5VWReq3%* zzYlA%%dgq>q?hQ*1sO9Enzv}WNYnAF&zn~h{B!c^tB3XJ!+ynn{_5X0uOjqAJjKst zS-^0@(huw93U%ROc|v@HF2e)K%eL3M56j&hYdtDj$I~nReuEal@?n8m{)jF{BSj6- zffE{Ai<3cnCiWP0_}~8AgNxPXrKZCZ+m|}1@}H0 zw9$?y%Li{060E{*`S<<9nr=w*(~MTIuHW?t0bD39CXQ53@`p%ndXGa4iCiV5l<>{>9x z7|u#qEX8teS8OR(XDjs1zr|mxkPk1T#pC+$usI&tu8Pp($q+WE=Z6vNc~@vi#zj{K zc@39@#MlZF+4Gv0(zj%UnMn;Z`8P34*v!zYg#a|@NLE$^(aGu0^ z5P;!cF^N7YAdjUSkeC423xFkZB}?Q6Eb(r;M>{}A635fwe0Mq@)?;!#1=Ppw`F=wH zb^Q5+w~GNyKn>LiBAK)%h%}pl1d*5XYd8`kibzT<$Jlq+ZyCDgd4n)GKO!yIlg?Bi9n#3N;2iH_`1Mgr zp2CuN%%NeqFN)q&>(P>8ra4D3&>qC(Qa-LAm%n`Tiu^#HS$z5RH*(HNoH>UZA>|tv z_TuL63%*LuUa=CPVBWHLQ$BetnMipoo+)v*dj?yrANGb6hA(Z;TjXw!#FeCTh`5qW zI-z|3EeTg3&h9Q;QFhY}z#u5%M;qYSa8I?z#%n0#R4(SfY1=aTJ$>cDVW2+JyYM`1Z zK{aUys#M4`l+-bTw3pP$-99Dt1hhdYBz3<3*9N{G-Pb_`w%@QU`fic{L_f+irP5VMTp`9?$%$&B49B6-ao_bvA{o>0VI zbff?Z0V-Fl=$TDCDSGg$Mqo~tD7+6`^gY@w)|1vJk<07`C{P2|SP87LDX=cs2EhK3 z#ElZhRO*W(+(EXCQe2n25#_C6G)p5;GLMQ0l=jp~B+t_tk``@)23hpIfTXKc;WQ*M z%}%3o$62?2zdn6SAMln6{2f7c-l_CXFag2l`cwfd6^NU!vV2i^qm$2Q2ce0jZlGI9vVgKi+#s09l-|Uv##c_T3xVc+X7%%U+q27PY;g}480!Lt< z3+bwI_0dAMb}YFm%`0vyy`h@z_Hn|Hj!1ppAR*Wqe2*LJeQhXIRGK z5!*GLh6Xx&Jt#CGpyOi!S;^+X2kZ<(Zyw{Dk2?5l(NJ}cXpgaR1Rf+5;Rup0S>P}b zv4-vaO}_OSz4lx|H3YBeQ8!I|p>7r{6!L{;r@nU_pt;RP?FqhfIexc;7w>-gXr(+* z!58&J9(+uC!mc$6Gj87C!HY71Qys)YP$B>|Kg^0@ED!f*{450JkJTo^5GoFni=JVx z|DGy*a>PlT1W2j4>4kW4$wLk_Gy`>2BrsjtRU-yU8u@3@Ci=E&Kw~;! z&lKE>=vO>Lv8!s$GDTQnpXDh@!XIVA>q3cEWvIi1RePyb_m7A7bkVXYDO_1a7Q_J@ ztAFiGF$NpB`7Sh#+W4W&sLge>Zpn@#)^ug7E_GJdZJ(|>Ij_+{F+irKpVofHuY9N~ zH?85iz7uR{WkzVFzyxfnW`F+;t?jQ1XfR09AtM&z0bgt|%QPIt4x5F=j zCYWRf2i>)Hqg8Dj7X_DoQ(pc+VT2r=9Vd3^;9hL*1u02L&g`<|#c_OC@9;*_-6ub6 zm^I-ed?AC)<&%o}bbT=bZCNP86hLV8se^XrKh}Q~YOw!6J^6`t#1_BP0#!zARfSN7 zCxyXjybmamOWFpz!Y2RAMx(6uUzE{_Z4K{NT&Jpng7XKbh%# zxJx}~e3A^zIfsw>U>}{ZHLJ`GrqD{K4n0xtUR(mf3WU-%NpsGtMY=6z+kya$yUPqg=j0p$*BmA zu9Kk>94ivlAh?n+8g{snVk!em%obU-;|m5U_LFUV#v~W$kpc}SNv!d<>pWUw!3u0?h46khh*7yx?bxk^%mP z7YuM`3Q*!Yp_NOTdPyAgj>q@mu-|R|YdsQ1{v51JL3R0Rn!)9#Vjg0-m0v=2ef3$h z__SG>%48d2j^_H)s3%hOsh_GM&53a3^ZJBq4%q3u1)9OU+UliyHO!`*lqVqO?_v1*WaJF z+c9nHWuvY3@`AisFPSyqdTBOm7wVv!iQ85HU=RJC^ugL;h$z^}t%2~LA>pUfsV8@$ zJh$O$Zrj|J`^Le?$bHLRKI4WD*y&2K%UA+G)&oQMB?g~-00vRpr~|lunV$oB2md5* z;D6=ce@{^!G$o@CfdhiqzkiBIeT5QdZ7ITm7+UY$%kzN)>~u^6N3=|~vchZnQx3VC z^%iT@@Q;Pt4*TRy-^f49A5pNf=XIi(*{B#zXTgX@(nbUsM$0$k8KY`l$Ro+>L_=>C z=>{)yuAkM)=epZQ@fheQ(2v||n8U8Gf&ocbm6a|?SeLfS$H zDh*@z=0kBtJm?sOnb(*PaV4Zy^J!p0G+hCGad-Qnc4tG}Joq`p(RO?t;`r8vbcmz< z>f#XhjF8qX936IB!${wC9Bk zaxf!r3wpMt1KDA$YRC34#?wY1hd>Vg$RYEVT7A~y%;ZiF?RWD42*L%5x}pf|h|rQ5 z+_}JG(xy3>v?(!nV{Iw^Pn2kmCbuE@M`S>y_nke$KX>oF0Q36PA->W#rKttXyX1zo z*{GLK>12s39VBmD_3^OIl?4D=@TW)&T)1vViVZt41bRsv}D05 zo$LyAHVy8Q3Rv4~Kqg=~49%579%TffVEXOXRRd7^Z6Of_xw7WUiobfj=hJVKuil{f zE9wkj4C4{HjeWUHg)qWz=H(xo)w&7h{Uy9;4hhK8H0SbZ^Oru$Y)#jQ<&iJP+Nem; zM3#XAZVOw!FNl^RbPa%NU>qsII5GrdH29nHl>lKtp1&R!+s(Vf^3cqQ1n~sAmAK*H zKfa8sM#l9<4CQ6q-V13vRUW>%?+gT-e#vfx4ytY@EmvC!Vuws*2h@wjc~d6{^zCmy z@)WT}^7HGmuNpBt1q(2w4A{`(I6tnIr!|28dDoQ`c64WIDk-q5y3BPnpfkcVPx6<| zP0B5>C1D$#F_Rt$Fb*(}B>Z<7BH2U)hg5+0Re%`d>VqWAiQ4@rPUT3b$ro6kd9Nu0 z=TeTuDSEBgq$`_%$fU-)B?-mg0~q<9HK)lhXfOe!#YQ@xXx84rcM6`Ga!WD=MruT> zvfx1c{1&8%dhxn~sX&>5GM@-#P7~OzDTaWXu}REzV9_Ee;LL$a2_CR3${rM#b(&wG zIciG0n*4ZNzui*^)VNxeKER%k3j?iDEeswlf>M}=!+^i&h>(*dK; zBL_xjuy7ruJ{3s4EQS?$y$!D$9?nZn>y+B>5j;E|ZP!7x%dK~ zVyK#uHsAUXSAW6_P$`>E+t-4b$6#dVbZ&H#vzY;N+oy1>Yx2YGuk0bWe5mv@=mg8w{731Y&y&fP=&hRTP|5+(|@$b_a82{eRl*0Pw zTV%npx_V(PsmS-H6a)t5rCX- z?fe)x1nm1%#>_L5a*#<6KgDr1;bMit@!@CZPl{&LEcXLrY_2I9WY>wg_j zsowL+-@yy@p>m`&!_l7jRI0YOj<+}06OYU zgU$hcvohvfaM`==JThG?o0Z|_hKB6!v&fWF;O?(qIIMeQ?k+OO%-{?%DnZI{u;%=& zs1{ZbH}SD6s5zvMd7300Jn7V4_r05%XX==GC5Lk^_d};~!EAi(F87yZazh9f#AVx%N!prudUT1Q*Y< zOyp8!9~o7T7@>*${Rj|j>V;sRz)A87leQ$@DlW%W0SIBSJEUfj?Vi38ut>2{zO8Er z7%LGlHbB7DyY2q|hOMgAdbe52G?0fiuD5v{(`#SWu9Y5B6t|VQ*zleGis0gH35*;v zmMe|!@mrD=i&rb&k{5SN*31ljQuX7OLgg)aQMYvc-F|gTXZp6p%Uh<0$J~9(jB)e< z`19NSTXa|}xKISKkCbmO)F=34=oZ+U3G<*}KzGq2jgm4ZfW=584@-xk<>%iR3P zD!#3u^DTpCev||#YVWVW=v!voycLcZx7-=ywuaxgbpXE=5&V{e@LLsz-xeT#+d%Q# zI*i}yaQwCa^4l7c-`1i0R)*!b1(@F!XnxDXc`?k|1mFe{qTg1KeoHX@mVx?hh3d_P zULgA|gZA66B=1as_uEFXwp#-5w*tc7@(?dRI+_%}5D z0CT7Y6dhSwM{G{~Zb;wcncuBX%gy%K0PiVI@WXxz03FmL=3Z$!PjA$0vD&Rw^4K#~ z0?KqFVTF6qx?bBJ`-nv62BXPwldCX5<5Sj{HLq%$i9HK2C+z=@K&_bc)6`M$H(pR6T5(nmX>l((2ompZ*j@-!~PG3$xH=~F}X7y zLA~=qB(q`|%ftN{cMoCyW3^u}7>mPv+@9|@yXJ)8oeo}E^=ejom%oq;*avpk?Jt%S zOo{2RKAjJ{BSMBFTD3<)h!bm~tT^at@nMOG9uFN^=F1|G$@tCXuptGbo(>uEKwA|~ z)>tJ`vWmId2k+6vZjZ~ZpLaUL0KWJoy7;Adv6f_@`+S)O;z=Sg4a}SRG_fPjwt;D3 z8^G<3P`e{Kz>63M=-~N&1nWSs4s>oENPSxea>zP>7xwKf-n!^ty11PU1Sa?}EDM1d zqIF>+K*yWy4c(Z>^$D*9S*8W*TR0|n>>n}U(7*L;p}y0LyoOTrn1}0MJ-+u?O`~l!K{jh%;2< zscx$OxQ@KM>K}i>%hu$nuZxF@aE#g}zl_L5QY?;TSe(A9Ty`+3Z*~|`mSSZ8@$jB5 zL^kNRzy9|9a{y^i3X#|dg{#`2!XK)FF|{p z9Oc-w)3T0GLikMgj?ys8-{8%?JkG(Ia&cTumDocg_)QuT?*x>1U(*TtX+s+m5jJ6d zG4~^!lXhQVaDg)H*+B*lGO&MuO>?+I_7(_7h-PPD&Yg5yc<9xG|9m6_YltaKwT3v!&j$1Ltcesj1)V_#D62U5t2F^G8 z>{Z7>5&e4}&^cGgIjevnAo6Jc?w{+s)2q>c=Xw=@KLCFxemN6OwkW)`8tc#o{-+K2 zuc||E4fo-e(;SP231$#lXy^c(Ft3^ydG!NgI0bOEOLYs{noIQf!vde^Z_3bqIaAQf z$IUBM90A|tMHdr+2ZEfR$@X1J9GAzR%ReoI z`9>=~h58K44Ui_PscsCz4ZJfa@TSi5&4U1X&@aU`qyH{;ctl=#K=Od(*1~-PtIaD} zHRX~qwUh60y#*D<6FFaeMlYg1G%^E6d`n8v&SYPL|4a#iJstp9sx2+e)UPw(6yX*h zqCd4NHAMdum`nC-H|}Vth)lSHJsGwc%y_Y%T^WS_Ko#~vzr+C0!ooTS34tw67m;7N zFE20fYha@valgoPXejKn%g3MDAG%;!+5J9+{20u>NkU~!x_<%P412mnxW{tE8+yg) zzgHa{t=Q!OtOHov2GeS+wHWfMmDV<%R<_%)L|?Vui!@&!k4BQWW(wuZ^(DhY=Z_L# zJCxwpTZ%dh>_ji2jN%$SIfz$!aM_6_8R#vUmD5!`(h2&rxdQsXr%$K@KYK7No1;y{ zZX4nI0?-GbxA%MWmA3{Ph)PH=_KSq@ z%}m2J+lw^a9E!#d#uV%|v*nWnaybc1n?MGM&%QJ;tbPQ>45b83E*s;^3}C;0u@7}O ztXSckoVcfUXC(ceJmf8cs0Q4ZzrX@D#(Q$fXcOe=fbzqMBjWarpEx36BVJsyEk}r+ z5LF{vSA9YPE4`KM4I^DPf45gHHtc_%K~vf2wj26R9nn`NZ%<47#r;Gwx6tW;#{rM+ z71?l#EWxb;T4pxN>N4#et-6Ag1 zb#uF2UR@1AKv&A@Ki7A7JwASTl)xkZixeBni+lj%6gKQt)PbI6j*5IVX5295k!Z~C z=_LH}@4qy)3mEn2&m;8v=x)EVS0v*`*hG&|->XKRIPQfwOD!zMzLLR4ydD`XG8as& z?X=4SVq@!fgof`o>+MRbvL#m;YHaJ*`cT+T;8K{Ce!F^Tcfw;MOB8u1mL`il)FO_e zNB@AY2uj)@LAF%V=Dw7)ydPV&S6mPi-g}o<(aJEPBMmLu$7eL8cjwKvnJk<3179*e ztdHxH9z5&Uda-uFIrgfFsvg=-#uN&nRWc^&z~NUqH?I|i(D0jNmyO5(Ta*_LNj`$` zc`-z-Hjp1g*-t3O2SH4M`08qH-)g?0G-3~ zPUSX?AMaFQ2VVZ5E`^4!PU`2~;_k5D$sqK+dnx=Z$4}u(AIJ0*)_GP=r^O?kkTd0q ziX1f{`M-rbU|2>w=QNp1V9qf)6n;p871w0LFUNPZlDHcZ6Ax8S$LrA)&&g^lsrQy4aasmdV3ZI93#^BNwo`Z}ehQ z3aD=MnJHibRwU)paY;ICE

    PRw?LdMa5$x1%FR!T-7U7#H>^u>A0wpL=EEOo(%$Hd%=ipr2GcMI9&NwOwcg!rsP`fQk#ZWIK5hruT`RjszM>}5l)$># z9&`YDtDWALHoaKjP3*S>rWzY$N;b$0*npbMSVDy}k{Oq~BVNzz)dJ6IgAwTULdL@{ z#V7O!ZHMSL#-F##-91jBg8syQ3>b5?SshvXFN*)wnIUe=4DlofU6XVC0(^|hh&Ljc zK+grx(azj{PyWNp@%QV~Z~Pm2OP0MYMU)_fr1Y1M+vOd#o1&>I^i~Cgp$6}M$GTvD!#8*ya}lfP#YxCKWwK6qhPU{I)iP_GJ5pxO_*BYAYNR%%5t3O_^Rro@O9Bk z;Y+@odL>!zC4GHuYN(p5b&JCMf58_y>hSni`~`pQ&>pvjzTmat(zW_3{emR`xhOO( znGKe7`d(uXo^qw|l-meT7~2e9mF-U#g=)KOw1y5T))n|wY7XZASsA3s^Y#x^P>&0rb-0tsX3_^b$lS|RblzeGI z9>RS--5%grwU|3igI#W^U7a>KgC>L}fB%S|@Ev(t)4GMI88^z`4&_yb?rfh$4}@167E0^ zf4f?Za2En?1lkxrZNRoVAGDDGv_ZD!P+22t3ZiTu50Eq>81_2i46=xCmUnp3-P~b? z3;9#+{6W35$Mh~`5;pB^6@g?9-gaP8HbNkZ4ww^&Km=%Ce_J&`JQx_-Z>t1s^byv+ zbNGnNxongj4c-?Jn#avcOHh7_{ujy2R|WYbY5HG?o5RJsPP^}V^0bIDIm#MfL&spd zT5s2QhiP5y#GZ`{7q0dAGyUqzm^RfChq(q{2rX669Jj~jESW>toTcjdmygmMwRvbR z#Q!KMu=%EHuAVUSJN8Rg;GK6X>KELj6!nXXy7Y$#^m0}7lFebSZC)Ve%!0 z;Wj)zMbK|c*95v(<(!o0IEe<=ux;(=VZcuV^)HaRA8J^p8npf>!q2={l8ognnNE#S z`UMBiHR7BqiF4Y5I6tnp3k3HFX~DA!b(Ex6^YqcUK^hjs?tRg?sp7=;=>pOjY;CW? zYvooX+impFw99i4CV&N9 zZT0HA!j`-WG6qSvqN@Q}{yk7<34I>fG0~K_ZqJS>pB$U*eUJo;UFAT85e+Zm_GfQw z7}Wvpf}|(UauDZr7=BU1-_Fm47;vzW+KkxD+0386*bGdd7{@XObE2)RHEsQbCb8)R zFexIe=+A+m0zo|mf=YAPuiXPdB~ufE>e$x9v5a9NolCQf+_8*H!&`uJH$G(ovykW= z5Bf$AipDw>wT|S9(kYm7$KvSPf}|kLVpM7t*HF@(l;+$CTE(DMd|q0`RO1-!pjC{W zw2H&vt835^=JNO&oMg`w^Z|w{#xg#FQ;W!E@OiPIW8_a zj$IQdE>K)Sak<7tyINV6443hCGs#BB#74dtrnQV4yIMUM&oz*y;XiSbz0#i|W5-N~ z!wSQgck(l`i_zXy^k8lkqjz>>6q|wxIg%aXfMbKY(UJ6Gjkic^ z(o6ZAe{|PF95+N`m@(OLg%gS!F2ijqOITLJ-o6ZBJe?`*U;-f+vzI?3*i={bLFiyG zfdxVegw&<|D}!sCxf4>7=?SSzWum|;O54{^SVdv^O6#Q3rQwS)$>xaXx}`?2c5@4r zAm4%)onQ{@1T$luAnlPiN+Qkjl=OG}1y4o@AuvV!1O2y3J&Rf5E2?fNdnBQvSP@y9 zl*-9!SXL#6f>QB1a|KnMl*Q&=VL7BM*OWtQO=J0_l`@fTDu+`Rsp($s@1RapsS|ab zuIQwDeWK1?L`^d73A3K%chX*|n53XmacW4Ej#jgZnCRura~N7=uM7LAk>w0#z|uT- zeq1e2PE8VFq^2i0vZjQEkT7 zL^(HWm9M^nu(0`0Y^gYtaR13Ab zND5dawg$D7uvN{JRy6lFv>$vP$ci0S~R5cI6dELEJZA$sKN^YOHQpgP3ScJuDAq!mM_to90ZhyWP~uh7-z__$quszQe! zaTfZBOam?gM%pMYI)2#y!AJ$CraV$o>B!?B*H!SqgR^1~%ftN{cMfsIW3|PwOM^Jb z$L$%N#n^I=z(84r{aucSi&!N3@uagwH1` zo)2Cnj%+xA(|)w5d8yJ%QXNZyC@vK*jX~@3Nf>Pawo_k2j?ma%z;zY3M3;qjRnq|x zJc5k5yN+mFtMTXK{(QK@#UW1!cGgBms75Pwo@=dGjH4Lz8_A}!LzTgZoXBs=Reu7e zp4U0Pra!-}e&vY~b&c^B?H^sU=p*fA`LW{6grsvXJd&EOgA!rRQhV7rR$`zpn5)D> zV9^zd4ASen!@5_iUcy4Yi@9tb0a=x|GwWmh)Q1xqsTG^W-3#u%FTxw^@1eaPdastN zO_j2kTY*)5LsxaVK`ut>vluo$CW@n6c@`{oMXAOtR;;Bw5KUs`DY#J5)-m`m-@GDM z(|#0}72nd%6yJXR&DY<^g^A2Zn0q;T_dH_7%<5t%FkjVY<001wvU@h#*pdMB;WjX~dD_JVU^x3}v~=Wr_Q#7z8Z49H0IN@XhV zG_K1g()q8#eJcKK2vl6&Y#61E8=;JSl976nScy zA}w;}T|%Ph+m|{>6xW~vxgLRG0-NzW78oLXfdON|@WlmEy}Z%yAS~Dj3%N{K;OO8& zqQd?oM#%LaEyM*|@t`IdIMmjH%dRJxkzimX2*~`yr&CXYKr!!^v&7_TnLy|u*p>bq z&I3(*w^U>>ix+SG@;siUnm{Rccf4$3P1-I=my#Nhy4wz54prF@2ISMHC{h_o_!6K> zzbP|HlvE|ug(*g#LAMwYs9$&S;)_9-@wt=@eWb>1`g^yoD{19bUOgpvl?Si#;d_;5 zv8FnSJB_94vnTc{zi4V)6F>B;=d6ggB};X{ow1d92HfH%fE6q=;+8FSlNmRIlUSrv zF_D(Rc$`jrAycl$#Dr2m{K2y4kPdePcNx!SnnZ-|RL3fxK-*t_ej8@WTzej@XISNK zyf7^)lIe2QedVM9Fl9%M?qoT2_eE{)r2}_=*m#gJl!}7k5bBFZ~?YUM*x!SG9$2k5zFU3t@&)-xg6Tste zJHAcYlGm^0!-0}tn0Sf{0)YhryFLP&cCMGia-;QOjc$2IMP-2-;f!Wh@MJDMqg4pp z=lSfo-?k$@;YMTHtM2kcdSHE&G%_ST+#5H_*e9@!(#ckA(P6JA0e?O?Y&`- zmz>$?&w=s+q!%Uj_Ct2^MDw8E zM#w|h%3~ztAq*ZP*W@u0@(>Q!|6^cz2;Xnk+tuQ{S&%=D4H_}XF(u|uU+|my%edBT zyL^RJo?pJX>ZBF7cYU0~fdEr^YJS_X8_}99YLGvO6|agvf&GBLdrfki|Fk)t__Np+ zeMTc~9>maE{F(H6RCUleet6cxyv zIOZ)L<2Ib70j`m%)LHu^0r3PjF`B**(j5zRD|dLs91R{`OFl8oR%}VZrWu5@P7kop z;pFInym~)9qCP{+)*^53%$&Q(E^^4;Yr9>0%Hf;HW4i4Drk5CRiu0=IHP>^IKF-aG z2jOIM4rjtV2eZa_ITLyboXa4#XdgYNsE?_6)G#!jS8#fJ7F>5_TGH!1!Cf*GFPz}~ zo#3QFeqEm6+C=)1J7t8{GUkuA*-hYIp1^tEBxYNq;kh}~gb+ZFE;iEB@{^Mgf^UvF zoyTyRSKo9#l?D(}7}0X~AVUe;kvK_zE}My=P_`nnaHisei-Z^Q9Bmq7D5tM>l_7_4vZmb?9KgV>$bCL0TT7LD_zbRs5{J0pwoXdBi z$+MNu^DC~SR}lW<`=ohg%$KH`=obF9+lIAJwkvi$W-|77w;?S;m(^s&p^}D(>hsV~ z7z=((1=0Yqc#C8yiKW;_n$qJ9EO#tBUJkOu!sC-1JpYl(mu<#lL|<1}biBUS-T5oj z86Qra@ji$gIQvedXWt=djGs(tamk4`f%wdOP4W3m%KV|6xXcXQO*!$JFr=y@t`&wH z7EfQLy{5dp)N2uOl>j9vAFh!(tV)MV2JO9gI2_`e&h;Xc=fdGQ*RFQXD{lk0lHmpt zQK%LE{Dh8B9=xtdpTidISk4?SWj?2KJ2@lN1h0t$s`{Qq6cIhHD@t}4jD?RoL0QCYF&UEY9)Aw1;^=&mD8TU>8-rDkI4^s z1FNC^gs3GF4XE8$&aTkRD3b;R+vYhl_<{LPl#ymr@aR+ptEqbLbbJaaF+2wAigY?O z!W+`DY3T8_sV0ks13P6CE~Zv>A{u6n3Jc1@uU;JI1)0mNjtqqJ0Ev0aIw6vnBGp8L z04zAmTPBGlOTc4M<2|c&rY1@v#la`kk`CMwxW$9HXWq5BM}Nc_RFUYXc(O@= zlTG)fphZ?v6oGD{yIJAqYA~KlK1V5dz?m!fD3o~)Y!ukYnT@(L2c@YY8x5v@^HXG^ zrbyp?mF9wnPRc4D|c`;U>H@y;XZV1wndtY9u~qTI}UP{9$C{}msz$f;8ppjOOv8v z)ED{jLM4~GJ8y;3%0*O`&O@)cU@VCl+D3cEUp=vZ@QUrS!C-LbD6-#8e6@tO{*s|+@uv`}67C=DOY zYqE3~Md76n=_onC)6gb83zE4q2G%3vR*I|-ZcZH- zqrmBG&>UJYKe69hICe|~$BwPgP;lx9P8~D&NYui?F6U@Mwr5r8fJPc9yjJSfQ! zIJ(oUK?tq)`H=OsEV>9bY;bDPHQZ3i#qHykBG79ZM-aJ<((N!4&m>4Ma|gk3ZPXuR zB-TQ)JLBk|+tFbMKGY}(uX(z`eJ@Wp5|ZrhnDd-D?8=TmTAvZcva=*ORxip7N$7D1 zcx)f%BGs5R2c(%PR%*^knrZi{9E_!8%=wIHd8k{T5g3LIokxJ1WmIM9P6D;ujbBMV z1wAu!J~LIjaRyJ5q1f1zXWHu*3xfI0k*m}GxOyho;UHkqGW0Z?&!XS(c@9uL5oiL#nt$dyuVlAB@VfT&lls5a5N zQ|{?lO?_J4QNq2sTkiI|&E0YfBugfj5%MXoSF&nxN1Zv_6K9fw#L4m`L;W-7M1kF= zIJF9Crq}~@4RTa*4SOJeE@e0KXHs_6o6TwcOG~!r$H zdKKA}eIEd?jIPpYX5w1PzgAnHp&3h=OgAiJqO!gId`N{csCj2rA&il)XnlHoGK!o~ z@M9|21xO=Sl1AK?G;A_?k^Ai89=Kb2&*W8-Kzpap=86C_d65f7_<|M=pJ^?VSG}>| z^ckE!yU*lBR-OM$UJBS9LME>gB0AKPRbXqE$%|4!6|BXH#;r1W3GH1vlb3#QZYnVv zFV>j*27Y_U-FBfVRGkI|k zp`g@LN(0m<#NuG<@GXBp$>}eu0bJcpVv#I27m^A=Jg^Y zN9+HHeXi|GT&oOlZAx6%l)>IhT*HUH7S_e9FL8~t&D7pMYtF6KHD1(BN0j0bUDv$6 zE@B32TU(KJsCoUY?3V+qc^&MR5M_03zeKZYQ|_AFU|;CEcAJ;Hn+bS6jc1a%WgT!l zjYbR{>8v$rGb-v@@9289kB->1+^uacYi|?g&4_-da zrU_1TY4gGeV(ILTZfSwK{+!+Mva@h@Ckw*G*?n4KZ3AanP*s4~0I}ET+Kv`n7q0De zI}Fyfoo(bUO)(f%ZN1tt;D2U+wDn}iZAe_$j%_-d%7@mO@={h zYLiZ|*D%?+l0G@HG)Vwm_^<9yE@!#lt zc)iwvx)*)o=1B7TwN)t6+goZB`J4Ty6mw9e7@MgSX?GlTiW#R+B_H>%`~@qac7=_n!-e0d%Em|o0lD45!^gB4Or;+@6hj~ zM}wz=Sy^g!3Xad@jw+tOoCRY?%pUAocm1 zl|Fy?>QO-*E%Gf$9@uZXg*pWSCz+~5Q;jUcX(l9Fc$KHRbVBtdW=UkT)QHIH2!W3| z++&C7AK085wK6ZAT0^BS8WegvUKM?r+?gVi*P+t#62RCqC1cOpGPaR(A$LoIoXnjJ z`Bpm0Y@2}`oF=7((PSjS;czJa8^9U%x~M*QbGX(Z*5zAp~CSlZ>_wHR10uwL&;Y&G^X zSJq3XcC6QFPCtOUlwOU4q%KAJ+6l~DUAj2(bft6iXs4C*sf(?j|Kj#cCn;@`M~+HZ zN9}7aDnnt%k(@b>c-FjLCeiIMi79AauSWBl%{%76>C~s@bw~_(g?dzk`BDPK9zWKc z0jhpiWUyr~M6XHVw1;+qFh=%RizK_)QEO49W-hx?2?fbiaM2N-R~t)52Vsev zFsluILB)fnxDaQhxB%Vo^mFhgegy`~HI7MoaaRPHqHL>Ngcm$U=d(;BLP%Dhr6e&= zL6=kx)NbpjhNXz+ldCMgX!dRkfOF9^W5bsSmd=`H*_>%?yHGk6Iqd7?5ygx1E0)L| zuQDjnq%qN6Rz4|rXQvX%__N4}R$(K?GuhA|#98~|IP)2(DW5~W+g_)}NQz1OkYa*_ z5+sx$q4Xo6%rZDxL98RXD!{*f=&+PsBK!h66kf>1VjuM?lhj>h0?mxZt^mqPaYwRJ z(zUGQxP<&V$;m4md9lH zB1-&nv9;}Fk|1FLqiC#f^_Z(rzci<&RY@g&B6P|Y@NM)}QVEVhR?r_H5qK-Cq>>2C zbt>jm>7+qX&Jy5t5w|z>%s{V;slmIm8T^oSBta+$LO~D;9E5`D94>(s%W24;5@Ztl zlNX-1#sd;hRJxAV;z{du;nzMC%Ow}M5Sfyb`?d;Uc;m}En`~evIi6AFXj!T? zDIfN)<`6{%8+C^%hdQb|6tm@3-7%lQo~;J&&}Q&MR(AwxAxH~BTDXAzgI`8H=s#Kr z5<&k_ms?usKlE}->veHq{fCmI`__LvAU0eYYdy%-C6kj+3rctGbsj>SooPH`&_0tv zp*W_4ymoy@h5;Q7t_!iHmJpXb=hDIo|0XrUig;-dR)Vn7P;Eq0y=p^TMz*Sr1e8bw zbi#rL|B!1@Y}6)3Q{eY4Q2sYpWtftqlOjVgKYqP7 zreLzfsrH@O41CB+j35F85g>>FZS@t@=S!`x5SNiheZ|C=bnxu86%AoTrLAZwjI>@8 zz3D0-)xDC3`_@$K(8L%kDlqz0d93iQj`1c!gI#GU^7$0hQb6*E(Fm_yMS;HD5s>dd zJedjN34Y8arIR@wsoY~UFC`Q1x*(PWv817y(5224mzu3s0+u@jG{OQ!`GjjwNz`Vf zg*t*CzeXL=oc>FyA{4yVw<>}VytyXAhyb0`5Q@3+tAbC6vtW^#TVZ&P8pcgh;t%HlI8kAhyx2oZ^{BytCKOmY~ zA0Etg4(zUyoy%rE?(dfG&fDeT)0gr7BgW|UAMG^}wa2_rHOa{*?Q2TSlDVj!i48t)Vea~24B5uNX&^VF$cUO2s}aHX(lq&6u2P1~11na{waU2`a@oX>d~vX&(XCqXy~!bvy6$t=}qW2EcPpFaqGL}zl# z_2_FfVv?J$h(b(K2Dr2qlUx^&*A%9yygm(>2;P|a0THUx1g2+%%NnH)h3N6)djGgx zj}h|h&xi>vRW`}s>^ifvjN@vYdZO~3OP&Gt4Rf8>NK+MHP=#zjFg=d2`%GLNLQ}Rvbfp2st zb%TDlIES0G+9U0$j9oyIDv77#5mauK8jWfSNF4~kaNj|i&`BY zJroVKKR)`PKJ8R{b@x-4*;6ajg^ppJxclMRxLK}Ns*2pzDUx;XCBBRH7+ta&e-@$G zN+m66(jyNhGcY|8XlF1Spb-g5%WvZf?9e-C5+GVy->z1aWEhqy7!0r5#pC+$usI$X zd||%jD2ok`v~>jND(f^uGe}KOtg1EUGl7u!_c74Q*3-G3rRu_#Ela_MT(%x>>-!B; zl=#HHD5^0|HAN+mM;Htu2K)p~a$o!exi`zOxmR+!+i$n)JG|0c(32Yz)xEab7oU!% zpb<35jAp$Z-E24X^2(8U!3o86szHtZP|(aV@J!$t?>v)ALZMpd-{2a70Gl`{-i-HV zPa3yKUi#MpMryE~Dq%ZyfbG?KyT&`P<*}l00I9e8WlS4(JYtkqFupa;J-0p5=UE0J zeGVDrT8!KA7V zdDeu6mAwL?mA4L(%<>FQH&TrUTx^y^H%pC=O`JnbPi%<$AzqpQB$Tp3hi^lC0U$>8@$s^EHBTL9iw;z}VKjTvrhUWu5;2sJgplk zJKtB|zG4jZ7Qy>>LMH?+$BtO^{t+gE5#Qf7Cq07GBhtmuW``$YSvJ;V%{NRq3%Wi5 zA6v<>_gaO6?hJd871#H2Hti%6ht3%1gRyh!8X|!X4LcW`(j^~9M1YIi-j|^1SPq}V z;ADCDNs`Nv|3wYxdpt~IjN9&)tM=^MhH~phxYjhAO+a51BF-6)z=>P4*4+9Nns!iM z`W@jv`g35>z@pEAMYBYgY1;>jX4AGT+Npg|Muo~4h=Eg~JdPmF6if)vU!tVH#DV^> zcc6bwvL_X?KSz}ej+D&plmt$^3F(X@Kz|GSYodpIkACPtUwnRCErY%|=!>sbU!2YJ z9(Z#KXM}30FCHA1UZM8a%q7%_XnOFv!SR5lPyV~@{_gh$0|eu|OXM#4?@M-X$xK3v zEK_2OoJ)#Fyb#;-V$q#V;Dk%iVr)5jBZf8!^%Gv8l%!cuMJ=9!+}kS8k}xv%#MY?{ zs%~(p3}V5(NO<0*vKY*2oA4|hUSwiCAM>JCG05UFPV~To-}4=C^?NB+jWwL;$`(_X|@|tMWj90niWz< zxf#2XJI0?y+OyIMn9N@@mr^!qpGzqNH3T!r3*Fa*7|A9k0iQ0iNsv2&+!5rC?sF$4 zx*}SV)mLS{sh=XOQzvB|i6rDQv3Gr?O=`@ETFp_HfZXyV$t56Fnj|k0kmIuPnlLFV zf~)}92y&k{<90wg@|`V7piQ)=A8fQS?D~@U+2{7Ums*1|eTz$R@CjTT9MYB<4eyGT zD}?;Wkh+j=@D-eN!=BW+Tq6?%#y+C1SSTRKeH=&Ab}*l|R6qy~cAWT; zSFC`*+SuBw@5IiM*2ELxiI=jp#MRj8%g~4;{H4LV62z328VPM_IC zNC?x>N+ZD!-bf=+e*>4*NWgs8zeYk70Bkf91{~?AnSkfWuVx|#Ll`BRi8ezXsAeL_ z06_)_GC;qo3Vs=Nud1+;4xY8Dq9%;AP*v!Kk=9G$!m0`x2luV2ctDJ|G*(cMt4pFL zpB9wYTB#?5<~mSLMTHpEy z%IfA?2LtkR(mBAh;#cF4fPtsE_9Yn(ccA))Kj&6fCHt1meB9qH-<`M1!>2Ff{YMPR>pxm)4Qfw#A!&`1 zI@;Gzn!&{#K+ni_L%(9h0?tz&Nq z%CDRuFZ=}7V$}2KWhD*^)kZ7gbyIj~C$E_tGi_gEY7SRkoe$fX}QFARnBqm1%sE&aHz8n4+gQ+XLMFmt#GwF8n- zr@1lD2!}N)7z)Yb$MybkyB;H?*`E>VnJZXK?k{DTq`gx{5`ifwl4z?wg{w-|R&QN7-9|dafCW52gv5sB zlUEXj(|`?@)o3JB(n#ikMs(+Db(dS5nl%l2tTLHqQ%!m!%fSuw5FCgk5XnG@B$EXF zR|-(~lcA9MN3(<59QHhve6&C8IWn4detW9)$T`SNonv=q(YCE)+jidAwrv{~+qP}n zww+XLt76*~yKeS5`?PjjTWkG*`C-jI#^|Fz=MH@gkX*`Y?w#7LRMoO^o@YBv%Zws= z;Zc*O$pn$~nFF4mMCP1Bz&J{|JxTYXC0z&jtd$RbOJQ40t%Rg1|peDh?Ez z39rx0x(m~t!Rxq)JLK6a7XHy%oM3qX?qb~Yq$uvr%R_PCpNS#XhQ*@Ix;VTS3&rk> z>M$6UgRfPgH!DGH>Q^_}b^__*(L)8qd$$>kHyRF+i|?^cv>%ko`NMk^oW?&&Mmq2n z2%sJAD{wHdfqmcOK23bSC95f-V3^NYx|I?pwuA*qzXgTk)3A=6cA!f4v-s`IIMg|dRK60$@8 zD|Ievak}>_tHm{Z-?Er1zB_j4k$Q>t33x*jVMm`nezpi%LFU^_dNE@+Y5MF4o0EnT zn}*j*XZmShvGa=Gv7zxBO8qZ?PWL+$)V0j2VGjqy+!#T8YPaSvxZ z;EluntLKwE&{zgLmW6kO{>&aG%}^=YxjxtqupC8XWgn;8Ce}AzF6nlNV6uW4Kcg0x z14{0u8|1Z4_?~Y6YbuLl8Tp6dwcGb7e-6n<5N9yc>!Ogj6WE=#8koa+>6_G+aJ)pqfz%F8#~27O?h)XT@;HF;I$t2!7C0x2_Yk!7WM670kqH;wC6vgo?=%v)qZog=!DLM8=7J;l(=?jQ#ns-^61 z@2uc43Ap2TeI7?+2WLcDEX@XdSa}!E23;-2+|4G#a(WM>R4SDl#FR-i`m4l{3844; zlfE6sx9$sZN8DPr;*}Zw$D$-o`q*GNMk0yYise?4R|~M%Gw0=q*`~U92X5!=Ps;F@ zlp$gSn)J0cxD7>TTZ^itFbu}6X!^$v{(V<(7xJN^+|>|D_PsGps3el~tr0UryWt2X z#GDtwxInyoI<8q)p{d!UjCR17Q7|_W8GpLt2X8_Nmz34klmS%37Nin=+{eTIEax?b zL$xIB)zov^aM4QKy?rU8`(PEs5;DZYfgxHoTR!P?lWGVucEq+xSTfFOr z`Z{+*Y@|H7^dAt}i|Oe;!Y*QEZa$o*S+()1L#q{@^C|AivM?Desvq=FiyC!j4Y}CI z)SuKrKYkW(ZG@BQ{;oh*$iXhHGT7sX;V#;udbUe9t5;RUa^}=OYKrB9I91}eJ26Gz zdTmXyN&k9E=0~*LW@XT`Lh1<@SD9v}_^g1-Tt=+?AY>{DBmkgm)bF_p~&NQHwuIcX&wPbe|mFO^Qu9E3s zR}}kV;`dXPQb!Ay8Af4rj7K%eX$d49saRp2i_55Oj#Om~b2YrZP<%muA}dXN$vnJX zu4LxffLzKfH=XXrz7SVR#OH$2c6bZPa9!p%}j8}XjI)x(L$6ojna*_;cdAQ8ZHD*n;dJnVG2 zZdivtb$Z}=z3mZ&quGr3(X2eOrBjM`_VJxXQY)x0}7b`%f-sq`(v6yj-S-I ze3l-cq`OcT>|$=Q3nm3-+RZ^;DNmk~wKLF|r_awW+0! z7Ch3TnKZHOiI^l$-ZSKKV&6y$lXsoJTGo66qMkPETt7^u^OT0I0GHh)D=q81S+u(@ z<{>v~S5_RUN7;m~ZQPk$d?^inYf$z#D|!SAAEFc`B_Y)J}0e~t<#EkmJn%2o6Xax+T z#>yeQlTGT0PhW`HG73&ra$Ho(phO132tdm+obzZtI+swWd$o7=lLy1h|#reiQ z5wVnMV7D1Dv}3ETWDuIPGBHp>T-RT92EgP_*Q&Vx;$Rveo%Gj7X7sxSggIxXu$=)WX{in1gKCxm+0m?<4M8*7JJDctk028!!(vT516gZS*Q!?Nw)%p0%Pt_fnn!l0 zZgq{Q>}^X=cWoj#PNOVq<6ROu2Ru2QVUCX$duWC8&7PM?x z^~qouJ=>Rorhb#snIAR%=+PfPQ&Ag%0dqyPY0zfH1Aaulva3L4Ju?! z-|XX=*qqmKTn%7rZSc_xU0xo%Cr^a%YVnCYP{xJL=nX4P1(yXFx)}mbvB1J=UhW$V zgPcfw0+Wm;Wl_m`42K$xhEYO;Cmv2@4RbHtj>{VPJ@O2YVX*R+0hr){U&;xFl zenFAGq>9Sv6qcOM!2x)SRY=#+*n@-`BW)pfnxScj7~|fbAFuR3Q>;UN>cfIK=%$5$ z6{hBKL3$L876#X8IJ9W6k|ANle|LtDR!0XQRm+*$4`&4x-agfEQ64?uY!5 z8tei(Y#%93vv_wbs}_uEAB5)^T2^&t)C8uRG88WjSgQc)x)+FpLEG zLbrQkKP)yJr4v!=7V23#LI3)d=U%D?4N+R4p@f~p%Da(mbo}2&eUvce{Akhe4Z}pc z&E4U*-P=u%9s$2E_N{=?tNy?Jxmi{3tLRZuGWK$pycPu?mfYY}fx>z3_=m-2au|(I zH1(0CCaHaWpj(h6?E`76pDOh|ok$&C^B;5eENdNiQ|(^u;yW5fz13PoC}ja*DXp5s z1clY)V0ACQI^qs*Q+f?7KZhY(u7N`K)3FM*hzUdLB(vfyD+Ub^aBcQraYBGuA<{ij zm`Bohy(Zpy`?{B@9pc)n3cIo|Ic~ zQ?Jx9YkLJlXik}|#VgnmD;encF)Qjd43U|xWbo>s*{O)i@@SGd(dD2zA0+vkLnboG4d z8oWnc=JKZ<7fth!<5~*YHfQM zhga(;5q-nFz%(-Jxf){(JP8_${;{}1p^FTOe$|Gs@Sv}45-M`aLIo`DQe-3(xL{`%qFJJPUQ)bHkk3--HJ2e#wRl7NJY^+mv#pAtB0@;k@`_Hjm!_?bb7qmAGpP+#s4NJh?#V88of7u$haw z{8{0msY6IV2##H&tZQCy6Jdy_V8mt0D})?3dPqV&h}f}`;jk=TB$TX@!6)AE#xPZBp!JnTUt>RP?6-u=$Fe}kXsQ?& zs1}Up#c=I>{d)GkXYc!Ocil_OU{ME5br(7p$q=6q^y~{PTEfSFQ;=6E2l@QKqPe(P zk##lnG6C%1ubbvPI5dwUbiLGZ$Z`*cgFu!8&TsAR?aI$C9uhHi6W7|YY#WGj-53v{ zf@gkPS7)YuVkpWp&#;d$mO6Bu`F+{oTjc(+H(gNKuy?~?cW_phZ6Sy}*Ln)<&KFpH z9&ImRPBt|stBcXf%`c~wFu7W)7CRE_dXMa&a4e@)wzCdY4YS(LdkWUMy@6AnLG#Dc z{-{9od}bPP&p$O8V$U^em60$d?5VL<9m@bj&w(WVn0Gz`WDbc>^<{O6Hi5CnJZfN_ zFB3Iu8FRNJ)(>Hu@#Jj4xL=OBZFOPW(qpPyc}3f+U5A<2=noo|=Y12Z{vG+Z<~1)D z8shcnxQlPdQ%-71+&7Ld4dp|Jvt5pvTyzE)IU0pz*BG9h(Te=_*V$T2elrtPiQb+gG5^ z5TVZPpYr^)+tp3=W!_46`3qC*3@*lphD@%heUKo2*G?68GlEsBXD`jw$rWXBX1y+L zJA#JG;lGcT-K#uV4StJN{ztRvNAjTgs57-I=dEA+Y?A|fVI>0vGx8msMSCj)GsX{^ zQ8#bM|M;o%%&Mc%VNdNYY{4;8_JWudcsmQongMzaJSS-@Z$wGg{!zIA2P4=>Y#pU7-&RK3AAoK@n5!XSl35N{%q(;rAl1uRdli zC&uTP8ALUKFUtG?hyP z#^%s!>NAGDwBh9Q1D`-HpJu#J^+AQkfJ z;BuwmR$}>6stE99P#8x%(ppr@xUH0&m7=v@Q&}b9%g;L zUEj9CNn9ntJjAS&LZc-&#-}O_WBPhTckJiJ5DDNDOZXVvBLAv+&lkzFXb)4We2J`xj_UB?>!LjlH}bgkP{6FCj!Wpn6Kd|C$3vfNFuY zeFZPkX8CqOv?-)5Tm#jf#JhW5x-g)-?m_zT$T=@HBvFnRSm(wTHgk5hkbya$I{0XC z$nR6>hV#}nfs63DIr+fK?-6Y8S2eE}aItarcAjv`@(_2XD7-|wdnM0?oh{goTQ7u2 zG|Dh#Y}xb3gQZ+g8FUxXgyy?Je}r8f%@FcP2_1T;a9~eFh6Vj|CCU-xWFC}Kk+V^f z85~G1Bgvuno#0$md{;yaWILi?Qld?Q=ttYpEoD-{>XMv7Gmwws^`D)m(k-sajFw_Y z;F#Htp}r9;KgE9VyqT57cX1Ok=b+8iV?7VibFc~SowWnXVKIcyp-$GbDhdFFn#}fR z_Clih*S=QF=ekz28n&YnBJ>iE^=n<@6g08T@zek#cHL85t6hsp#~WUsIWRXB*UlEB z*O|0CgI?@xgmoN|!RM;Db$E*nrHhT)uEk7j`htW;S{oq_GBDxHQNl>H$(?r`7)JS~ zN5}D!%LBk^_m;D0+TjotiSf~_*fG(`Lg!1lN6Z6p)&B#m2cFt?kv;GAK(a1HM*KM}wvry}pTpZv`8c^@|-f45vX<<`loq2&FBkt%u?>wX92iw z6S2^nuDA$&PhmpxlnRa6N)1KZiDW6AXJWzRmgKC~rI9YyTbMhXJDMBmey}T*GE?0? zoVz8R+B;LaGGe$aMpi0UcJ~Te^>A7{HfY4$e)Jk&OAVcYuLudHDSwa@)051SC+`t} z##z{%klabLBeVFoFhD1LPmAFHIllq|{CCf=xPzxAJpyu=S-YfC<7whb1IZ#L0w~); zI42z?z=I0^fDktXjtz(tLsc&w{vg7&*yvvpN*_7?921LQ^={qUYqiH2$~InuJ?I~jj4N5^I4K_9|Yz;ba!%IY7pxxMe=0%w2hd&W!)pmQ8~Tj z?fJ{C|By6S$G98!4=k*l)g51gx^JWJg5JF?{;=A)Uf?KKXw;Bfo`B^!=+$EUh1VNC z=I_vyU2{Pg3n7==pgynD{3x}n)=W=p;a3pSW}r25<^7uCs2^8*{5xVg(%ynN(r)1Y z@Pn~gAaY*a{TuAoGUA9@1?xKs=zp(C=tfCLfJ&0z&|kFdHR%yIqgg~zS1&K?2a1r` z;gvf+P?~Wb6BI6Tj}gH1uw}p>@NC)WPLkiJ>|s@bm5dGSSpQ-yw?65N>aVY8BEE1y z&);UvQdgd?qGsNXMiZ&f&4?gU)=e}rJQEh<54Fx2W)4GI%_>D>nwc(z>Y9T|Ec7rT zXB`&{Th=l`8mm~PN&k4BwpR>Dvk2 zsy_8Be1?J(AzLY(f&3+O6|hSBx8#X(@Nwlaf3f3Bf8yU~$Awxb^0eo95Im zd^^R-RvgFcU1l!YgUut)U02Q@XY6|Ch#i({i|-RO zw*u;rZqq6J3E3570rdU$H$$Tit5F7`4F9uXVEw>9Bx~?!VWh+-aXF4*US7JtkxyUO z^}l@$#+jqL5BI+g1V5Da$h1tJqA6@x$txC*3a^^{2?ofDG^Y91lI=W4s{UWs}p>t&1%r!*0?7jrX_XH94@y7fk*SA5@27%* zDd>E>EUWExyq`g~S?;fUjR>%mDaG&JRzfdlc(|*{8ZHn&KJ{7C^!LeqY9W&&++z~8 zr+5ja;H)o~k#~Fg0aB`Ef76~e&skBct~_YHh(i7$Qbw3cO1B1LvW^?c zWp+GgHRaG)5-p{}H^;>>kvob((oe}&S#fK@D}7Xz4<)A*6~zHPjOHBG*U9rj&Pk(Y zgy)P?EU!YdKJZ!sW(?iM5yNw26Wj;2fC3$uD|H@-8*VODown>}I3+q1r#M$u{9YlZLsvLg|N6Qb2)e;Sfgpm0INydW_Kb4C z$=mnS+S=r*VApJfM#4cw1mboKr?D3^Mx^H+y7?UND%p6N`Q`+8t1P?0lS1 zXum`Ugorqy;3k9wRh+weZ)lTvp!VpFB}FeuXiqzNAjxu^`*9FD|JJB^|JJhCh<-2= z`sQR`3kRGEUP4%R(YxmS09@%?kcSa`M!TK3;A(D zZHlOqq>K{7r}Lei#hB)S{2mCrM|;gx`z`ddEuOB6a*}#9NyI7E?MJ%fJR;HBIa+a) zbH+c{S;dZ`n0VZ0es@s8Ny|}S-HAh~(-)<9*a;!WCb}sC;_Ep~L;qkpDh-70EwB9) zz-jUjA%(;R8M}=3uBw~I!ShyUAW0d{AOP`VEXZmJgcMsg;2oh{VZ_3<_LYW{> zk4g1zRynD-Mds3pFjol|1+$!r-XoYuD(GDi8TxlyLza9gQ>wiLw#WMU9cW%JTD&*l z1AjDzhw%vfDu=D*kD>2|zDt~t8ae_-VE)$ZWRR;AbBrBzdW2cHzJrZnO+` z|3}l16aocjvxLrPnTf?^P)pR;AJj?tW1?!XaQSNp@ct^JEnC*BvUk|ZBnVa0jtm46 z#*Lv3mpyVjKYi5S44C|cR5gc9`p;GfgjG^|S}aSc>kE)}^jPYyABOZmnHA2?LZMA3 zjbB%J00}Mecg$-S)VuuS%9ioa8ADo0j*x%u7uRrBVD&M-gS%TuD`x?E$yP(QT>((w zsR&Hf0c_=~y=m1S^iw4;5|?CQ3q5~wKuN+clo9(wjAb%+?vYEl&Qfwq0IcW3vBW$= zh6DXU+hFiq%|!HR)?-0>06w5f+00MF0#(3Vs3M{~U1A>xc@3}IxUkB){)_gUGM}aY z{gfc7X4VFk9)4@>QWn7jv!f(?)@olh4t#cTP}!3gYpvy<@Ijj${UvTnBfP#H*35AQ zZ|!F6;WUD3*y~yLIKS@Z-h4v;ctV2<*{m6%XBUox?0s-yiYiBOk>9>Q5np$=2!8HV zzQT9kP&aO+-MI{q2__`KUR`XuK7z|Sc0jXk+_Go#k)saiPe<;s4z(rE+ix;76?C<> za?`F3@8bZX69D6rFsNfQ7c?{a2NQ1CM}6nGyP0mn^MNj35@l#0oEawX zT5oC!T#2+8jwj`I_BrlI^A^CF6pkwTV+9xshohICAN1EfNo?oo#=}3-xw_vuth(OK z-3Hk&%U$vinYKHmnNu%vQ;D* z&@AJaS#=>q4PxhCw?OVorB@__z-UV2U%JN3$cd@JWdA%HnHE&-OjIB!IO%1Jucfak zX9W)IdY(7Z9I>e9iA7sfv7ELnS>k-17t7(KhrOy@c{&Hl67*smXm9Hi_ZOH8-ln2yVzF#5>gscnB{$g?|!x4i=RHu?tGb~JJC+ot_0IO zz<3?LyVWyD81bEeZ)v$4-mH}~G|w}W5ofKwPRgTW4sU;@4l&d>kForiTRxe`+-pKw z6-aQve$ZIjcdrx%n9bOlthw+fPL)b#ea&@&?H+SJ{g_6{sJ$gGL8DqDmIIcPlh%EV zZb6yO!~FJ{mir`&*T~@a|K<cGCVwdEDCO$WPYBKRX=`nB;N|qDtI=PvC z9blnA@Z0_Hw7?9Qp&JTdsj?pX9+PgQf{3s;JGpG7;m`Q&)4M-@qKNb)CC$4?o&GDP zPu{)HT*swF7750*Bg2yj%@7S;cjs61?9!quGf$axHy9U?9JC(l*N98U6>Icmu&I*D zTsbh4a0DXX8jhiKG@_V#TTL`INK zODA-PDYGnzp|iP6ShG(EP0+BD@ca_nh|*TN(poO^ZcC_+ic?EU)vc4xJ*IX9u(D^v zp@nn)yY0Y@r2I>Z+^S2~8z~6jW_iVDEh*?!hRXU#3k1_iVt|hDSql9G)vV7cA?(mx zl%-o}%L0X6hn&wN&ucNyxlt!ZXIff2HYw_Zw-5q!0rZy9BY7JXj0s8N2PaBW$Af=& zf&@|kgXb;cVGZLm9K>z(iimHeW4b*P{zRYuyQ91FKy|nnaCiJT>-IsIWcR$F-_(3P z2WpyLPNr4qnV!;lc51aCb#Vb&uMZkt$b6y+22U~q*VQMRP+9vvUI(?Ho=V$P{&awb z%Ml_GazIcHK^eW*98|s52T{c7e^(*DRM6AhTq z>Ni0-am(3Td&y6Kba&ZZ@1OXWe8tYk<9k0__2&Zt|Uq=&3tNRrMW zukh!RC8eg-kQJt+-+!i%l@mYu{bcRN#-w!aKU#e{B>f$Q{71k8fk1)v*?^z3KMJ;g zB?<=?v$yppJBYUkkOC%Ij6#=v^AY1eYH=N5;58S_T+1;RW&3Nu&$p6T9qYF!lVv0w zbQuuc2{ER|;4>}qeu5>~Eg#^$dyb|h{Si{IDIcn+Sh9zRb^54STnl7-e&HvBE73x` zSSqAf70*Va6n~J)Or?!B|M8i(ywwh0^7NGH>KBjg(4B(mBrU%7&8bK_an9Xeznzl*JYu zdB69>Y)}Pqrrd$5wUPnV9hTHt>K)cQDvxWTUiyu#B-iJOoNr?YZ_JZxfZBN z&ioY6Bqn<`H09-4E~;$m4pM?_a7F<{lZl)vo^eZH(*txBzZQj(%mhE)*VsodBto{~o z#z_r(`@5z@biJT|V>_sl* zN-QKJs&SlhJmTRysyQlAkXrx6M4B1c`KwV8;&Be-6WEx*FMg|paR%F>^x^1q!^4Op zF(IVp&Kcul>?x3dSJY7#P$qy%xQ_H*=vb6%DJ-x-K#U^!6_#r;mM*(P?cUux`yf30 zmM2N4>Zbq`CZ#S0#i3BDjWFu}yo^?tjiI6R=}?}FKtL=}HHPIE7Z5IDD6(h^&&Qg7 z(~p3rPK6nRSX~>IxwxDXR3r&hDZ`XVQj<3YJ>TyTkkT`<p zAQX!Ah|}v#lAR#WIzP!$lFAya2eysK6d9-9HT^x|9K6V4h_yweaDh$EW_5O+P$auO zG4);s&5hmoHakJ36gqEkvFm`F*1JBPAVg zin2-fzQHzaDha;d{(Tax&IO5r=ywQNYM>rScZ+Fy-82;oT{j${{AlS{T31xr$5ldz z#t}5JXU=M=w+SBvh!FVilxm zi+S@IUbGDTo;TMfW1cm-#8~N!fnH5;!1cp;Wg*Aur;!284jJnL4I^fI5o(qXQhtn7uExS6t85%O5W@m2MvG6;ZelY*n_S6X z{iT(p^H*)c&chPN)$3N@KBU{@Cg>r7we(L4IG` z3?UfirvlN4|NFIpEAKg6!7Rr@#Q*yqRIC7=G0wEbeAXc-4y|{>;0-|ZK6TxBL1?O< z*H=Nkh6Y;yY{r%2ejJcwb-qMiS2dwDw-Lb!o>5^fL$dD3;f_Ur+uyIR2x)E0Q1f@b zg$+^6K@)wS_-+D&f^L==Jo}FG=W0S*X*g}%av^=LVW*EuwY;fY(8SapJ=HD#$#<=` zcTjNR^jYPvMetK$2F(!3!(Z9Cqhdij6jL*Qg@(7dVSd`!`vl~%h3aN%>?`_G(`O=4zN%Ve6j|p-fyl-t z!zAKbUHwYek7%2hiz9}{2N=Z>uVCd|2@!85j2YIvN8Va-a)~-}p_rCA{&pvsq^%8g zQesVTJVa{7&`KoJmw8&yPr+0x97d9V$()EN7m?#GhKST`%x}LEXLg>Ko$;`(nm`M49j}aKijM>8tuPAMulv8To-MvnA#{Ta*^NhWIo_EyEQ)8^H zr_|4xF@?j%)|5FB#jt3^G6KH$?G%4iVwh%ZMuJR2V2?X%Y^l69upDe8^)IOK$8m?% z5xM2hBdQQL8mqc7^<3xc2saj~mZlPX)6uCl9MV$&ZGS`!^hkz2gl==K$GFHfMv-LeD)X{Jx2=f~huy~0QO_*pgvseWeJ)K$5$NB` z6E5_7EPsD>2A@xs;9&QXG(T9BNzPV3%kIvOf}Zx8(m>Dp6p7(#;aEy~q;SR=J&)3@ zE(z71(*zu(WMN!I?pt@|pt)q+(?llm2n<5NH{%8{xvspq;^WZuSLbqqfjqhfssxb& zohls5v!>s@I%94tU2M^fBaZG3PIfd^gX>}wk*%W#ZbZ0(-&X+Kku(DZ|II+ddW7`f z+-u4^iU$+PC-M6{C!@e=DT(bbN|SnrHe!$%rc}M7hDpuT(39^lkF zKN8{aYA;nPc@;T1q9}w5>i5&B zYpGBmU_8R{pK+x9`uL0M*wu1G0^u|wW1Y+lJ!D%fWjRtwkB!5k*h_KsD&)3h`E?h; za+~Hd{@|*7@7f#*P%+OWSJ8-t2IK6GbrZc4d z)BRotFND4JB7UqIu_kia+7vtsoCht06y_jxiNPX(&IM5KOfM!V)IjeVk^8nSN)|ZM&}G;zYucrF|%AFTLt+;rZRSc5~}z z4}RJe3~l*MZnv|$P_tvEmd)fGp%?~TfL(aS40*$@I`RR!o&7J)pI{+hCugTb!AFbT z^9@yZNY~0;8#Zk5)Wa%!(39&kZ=)cd`d|*>>URm|8{t7c; z=Od{f6k+qDWKuPL=^Md=I$aeFef4kv6cXrURz^A|P|^X~=NJSrsBd>PpHcgeSt!+* zT7Gr4J{Qr>3x1u8X-nP=YoCI?1-_0=&%9T9p1d-%`WvSnCiZD#N_2836Q=ul+Lp-< z-TUY!v5rmc*Fcta`Q#UJ`y6cMK=}FA$fDHyS%pz7FoE%Po1vJibsz?$X!Jg34Hp7M z77V+e$5J+OvJFc(DkDEEnhqPDS1T8nk=TwLthXujK3i8V^|{-HVEd>P2VKNC^HP}) zcRyLST?=g5>Hv)V*aG)G{SjD;m7a#$A6>(p{vM6to~&tHzYI)Cg6%j@$W-`;PUreY zX_ds+CYgISX-}=+h-SnOtm(1O+|mx%BL!JpR4V0b@Y7ObcuCq`vgzRVSC?!u;YXTr zXnYGLD|f;RZ!t2_D**`b6o^c}Olh3rj_AAdeY#lQ6IC`2&{(Iz1Sh^|`D32gcKijxpX1^nMscK!{xGfHuD-IYB4y+J_a9><4Oz#t_?y{gAh=L zQ%M{eoaf!58DA%8dMx-o{E>I)Q8t-x#;@|eaZGy-$deIB);43%Ywm@*zvmZX(1%}+ zH?x=f?W;MU$2UHNzRqjAYa@Rn-4=t~fU9jn`P4op8S(G0e*1fgqP=~|d-BK8eHB;j z&&LrU-kysalKOmH+V4Vs6VUp5FCvd=dzmE&)PBYMnR4j-=+dn?Q+IJGq<(hZyWP>P zpoY4R9pI7jzoJ78SAdA`=MI*K(=Wk(yy?PQB>sU??-PBoj%V2MOEA;BI}jcAjdy^& z_)TPpIls;(hr0eC(jTF-Q^S35goj++Yit(zdq-(O@SDm;f&Yvq8{V|8I5d!y21|;R z{!`9fJ7or#*>lc&7rY4Gx_af$?)PXlW{F9A+c$RBVhd!M==b@VpgmPu^wQY2{InvG5zNVxcGScFDBGIG~dbfA1-v1F^2_ zuU2rJNRT59N&6a0Kpt1%uYf2T$@cxlXbKiePERKcvg03zTcr-H!5nKFPWMr?<^JP9 z{p$l_J0RMQC_4kSHR8Va91`INB>|uGOFsN~`_|fDt536=;qtoe)Ve`Tpd{C9#~N?N z>vD7pI;FMx`DA0h-LX6U^e!QnOtIb3v6x>t-+ZU#&1PsDLvvqyy8@UmaAaF^i$n(t z=z~w0>#be_26NN7(C)_^MsVqz(3E>Hs>y(lxUQI^vEEeP!PM6)I1`vvAD&fDs~cm> zI_A)5)eS*%L!%o5`al5v3OqnS$9uWCD!+L%yfK^gY-O(?p!;iS8d<&#-}Z`N^Y^(l z9=7j#0w-PwEihi@+IS)$;A-DR+~F?)RCTg!OT?%6a>4EZAS4)~ z?!5f^Rv_l9`PCwzrc8`%G{Lf|`BIRk<5fICXcKG3^Fj#b;LO!0r1P&qQRr!te+ zciPAdal^Wc%*X0ksgFg!XUIzN$^$C#i;&LUpH!q_tXu{k(@r7B+#ij*2+*( zTTFCj7;%yBR8yUxHuS656_l5Q8t{79aPf8gWEfJ7ZxDL z+DyC^axW`Zi5x4fM&o#aq=z#foe8CB*@&%rl#iGFB6_T;XyH^#=m(dkgUPW`w{Fbc z*W@+NTLB;v9BI2vJoih1w<_4LcnO(yT0c&f92PU&j z=qXS8WD*r&_kHwU(AFB7;pywP`Trz%$n5qVY}Qkn?fl>_%;_=S=S>W^9)bcp>mU?P zDZB+|nPWFo8jNTo(X#6;;cXG~SGSFZQrELP94q0wW~Nc8a~2y6 zjfFp8rfoy~s}>0N`1}Vt$#2m&-y62@+lR>^h{FNDiiv;hOXBgIEKu*Z{`_0DzheaQ z)51SmIf`s}D@Su2SGk*&@rG7V%;5{CcWba3tpQw!3Y|T8{hP-MqxI)=_SFV&D$Ex+ zq^3UxCYJv(Fd2)jTj2W0*hft!liltvuX(1m;LsMEf|ZWyocy*_3qt#ko1&&6L1Uen@QH0l~DuJaskP_h0z~7 ziReyK*b)ptOQ0nDni4!TLQOG0Gz!#)VME?YL{OG1#I88J`wwE2f$WQxo~Exfm#**Y zJ-hyQqKtTE^DeFcPaHR--3gl)L=Az(v~=eDBDq{S(OD@ztQY;%d^u%A2tp-o28WY? z4h(021D0IM;xE>}WCW`qeP2=$E&G2@gY>!*5e6uoA%U5Grngh$)ACy!d1$2jjHwuN zSx(F;kJsvfn5jAQ3C~VfDF(xGZJ4i6(V9|@zTvH7vW_Y!qOJfw=33lV_tJ zh?OPzOD(GmI?EeOz&lU9jtO>^qD3&R%beGGR&q5#(U9HItr@A|3@RecTno!wMBqtc zn^ z>aXPgtI@L!BNN8bDQ4Cjq}0DZHjUw3AnSK`EDSv0#Xp8l-x86EJ>0$)arM&Bil`ey zl+YUN*$=iFPymYkcoAotUACUoO_TCsd)VhwvQHZXpT;ePyBf6~SV%~xz7^AEqip_v zRJ{X_Eo`)IS+;H4wr$(CZQHhO*Dl+(ZQIzjyS{VJO?M|NSwCQ9CG(xnn9m60=&Xd& zs^2fe+ExiaDa#Vi+J2|Q;dbS2HfCRmF56S({=)|>)cRs}PPk_mT5V?O7L5l*Vw9-T z*4~$`(`gA;b@;&&H3`U(t0sJ^6VLf$b?vA4gZqu?dOz{OQW>Tr!5ICK;xlp!2A@78 zV{JVYthfr$6rGgI<7~@gEo5g8X)UUxd{SxK6bKvcDJ_24|j#TDS-xFvI$ETPW*#L4_*vH z!xZEm_2Dde_uEFSjQ3Fczk|oFF+u-bOhe7=xG5i&}dF2p$ESQ)7 z#W5rz{&3eQ>z41=B@=v?!*U&r+y}mA8A>TaLIz|BnZHf6PzX0U=`hZY;oF9*mpuvG zG#sWN`?&KM4&Nhc|l^Q_;BZZ6rK-8RBNTR2+mN z>$W)gcA5Ge904Sy;m47DgNRFViA!{q#?fUP?l$p%4a7$jf+4T&1?(k~XS$Rfv%jMS zd)DA8zw)E4JIapT`N=!CpC0z_1~LVTig%M*M$vv8V}5Bhd_mDdf@G*h+VrBCVtIgA$p`PWIi``iaKQ~aT`jgbCp49o)2ICD}2VkBP4X8 z24Te#nEl&S=g+mzs?kkf1^dNC38*?jR<=`}*|VM3M7tOmyHFRb^rk$-ins>EJR-19 zOV%3Rs=HN26GhRuf4`ySE(Z;&$_GsqBq(axsYmL?##7{~nz82Qw zr0k8;?4V*T4i^VHs?}`5X^m-(49%i^Wi?cweMK8_x+7aW8Rv`JzEj*;Sml(miaRIc z?op@dq~ex4Slre^oJP5VWC(k2T$o3?c!OfcIId>boyecSR$y!ID&Tca>#Y*qg~nG> z;~`+(XcyaSRwd(7ypByO1Dw63WAd+l$3;2zfg?>gE6JrY|8y?~v=Ho|aqbtzP?oth zvA2P?m4y%UvIkq&Qv;mCWd{dRghGQ&La`!kWx8F2{&xDg8Yleqk_+Iif|OmCmC=U_ zfP;0VvNnwu7I64#N#<+N^HyZ`u#A`fpg_>A#(k0Gppi__r4CwXH_Uf9rA($z-(Lg= zJ~%$R(GleW@beK5O8$I`u>e>_%WG-z6Z(4m5d!Agfw_XK%Cwvn*D{ey*QA{i_Wr&; z2{vrGAgMdWjDfBejhsU1|CzL|fN$hxP*JcZQ zZVFRM@j4y~~QtO_z*DfCAP0ulb#3jJQXizR0KsdQr>~G3nyRV7p%@YA+R&#{wMf{KRgL z_RfzyXkb~7q2JeAI^3vIE{@8T=?FVuZy~`K;kzay^W@+s#yjl%y73w(3-=rwTH)hqgH-iY+f!#45yIxeCb?gAet zlA%FSf}JmL;yu zs|ftOy1d2CQ&_u8l~mm$w*o$VezAyR zr9X#)IHr*24mlUYz`=-Ek_eeJ=)%{Phs4M*j%Xx{eN8;9H>3)+T!iLtK~aFrRNb63 zOJp-vu__}(o&c+KbwJwr1_=_1t`i3A58 zDUKd*AsF4!Or<4j;nB!e5|SDr=|VHS)^yABI2w?QBIr~IVsrx~{8Hz3#%fgBhmzk1 zyrM&+{{ry?fme&imG1;r01-sq&Mpi;fU7|`H@YG4-ktDr#pi+Oe8fJF&hUo zBd`J_X`YHuXmp7dgk*HidOCvOr&~1)(KsuGW}U=f1Ra6lFW5i|69YMvPT#QFzHvvO z+mb|wMI3A?oSPvc#x8SPkCM($a zcwrUu3J-0sMSzz&;46_|71Ly;q(nYT9iI>fZH}<)FsDQT$w{5$9&H7()G}A4b0W=? zwu+gb^^|v&d0<^W?pjv@;-tVkT?i^1-8kWti>BE&FXBvGhfZVkl!+5^v^I}#Q!veu z5~!;=i+M_nY&)a@?30U)ku>g!aj^Aj`4ZDz;DtvHTp}TH_M8q&lR(_S<7L8ZG_d>F zoLNKQ1~KF*W4fu>_RnMSzCd%WCNnW3Gq5l|3qR5vBd+E1OiEOWwUk^VnV7%k+OGnB zSj}$UksJ)ha}8(>w65Aww`7X=sO~=Iy2DNb&|-*`MpUa+V^keL(iJ5}4DqC4w~%-3 zl0v;}F|FH=7N2fWU1wh1QIMcPz+g?>Kv~xoN*|58 zYY1!SF|KL~h1YUJ{+`fFg7oe$5ZlH*+-Gv6mI<$MQ*Br6~AZtsKS0HPxy;z79G#N?!SZMW;{K!B5W4@yPpBQ)P;5Wtv zw#9>8X!9Ah=Z$)}VtlE<;f+7#fhV z&mXDGN=jR$+d^xxFkOIYT5HKS=^Sx-)L}JyBc&=}ns0Jd^&73ziYV%P)lMo_pf!(I zYL=7loH-14&mzH3z?ji(vSV8fPKk)hP9DM}#+k#ok%L^>VCXq&>wWG(2yyX`J3{z| z!vnY*Xav?|+unDC&D=Pzi!h$MAel#b+JaBLOPBypRrIu-0Mp8IihL~doPeO*0)_6( zf%gdCqreGR0}ddQf^_xQdx5`#^gJ#TXoZ|_f5i*ysvbLW^Cs~XY5Hpb80Y9t4wM$u zgGkz3GD(S3E5jXjumE{!i3wywZ6jqTpLYB$duWFuU2Q(Cq-K^liJT=ksYcSd6&-M$ zptv-zoKad1mX^g3MD)1f_f8L(b30gDsZ~ORVZ!_lEEYZk7ca zaMf8&D(VRhW9F|H>mHcSOUrHN2#Nf49MxPgmuJxF3?N?}s^1QF=7Qx?S14n8`JpaX zLI|rDyYmm6Bio#-f`EAcmbMc$D3^9Pvrj06-{G_Zd{F2@FKNW;icJ;X;0!c`bie4rntel-5- z?~xm?ShkD5SVeug#)|J>5b8l*3s0s~CzyTDuD@w)Z)U!OJzPHx^uYf(t?569>#%>r zwpX^j%Kk#>iXH^&qo)XuP?KfF2BPlZZxHH9x3hvE)DwioRBd>`6Yg$WE>yJSYJCXwwEZnS?_`|mw6Hgvd4A_%+hOlMGFX%X^+P4zARO1MY<5?(mK43O zl|EI?6cewJrkyxr)$7HARA37{eTVRkhf)mVaZk4wE`hXc1;0fK^$^zP`%wW9OZ+e+jdA`IY$ca|6eTQ^EI#9S<_g|5!+6bQ4 zX2pZ(b{;(u0}&E1{$8;gSFMmer@6u3pY9zh8I|?W6!c@xr)B$dX8WwczUo+|KQT(r zibk1_#2w(95G{e0#H%7?e@bIHQs=|O^ll**gcv5d+V;IMq(*Gd)ewuproj%|a0!S}V z;PA|c>rdttyhgA?Jz3{3mJSWSR1JAx*8cA#$ucI~txr!Bw0mwYq!N8tbQJyp2&haENgS`j$Ul*Ni{YJ?P@NNrT(AQ0 z+Lzh$d>*>203)X6s47k359Q!)%<>G^Rr>RAyLV~YQR-F2AaMy4Z|vTT@z=K_mLGAj zH~(E*{afh^B#(C}!$2Wei-&nh=UN{cqPdbdLy>lsbFsonk>lvD7!EkAbDiX3yd%RZHmktgEKQ~O{Z6#A{4uXUk?PjHf@1D4Ibn!RytzN)U*B6(N9k(?uhpoQDWQXkR7bs<)JHhop#z-GjVyb1UujP=xJl}+-sm7*PIsiJ zB?aI#0Yt&0a>eoaKTRw8LOA+=npV93t7$C_pXStw!EY)C$6?Ryl;X{>ylfV_mD1tr zhvu-f1}wj^dbk`XbZ?2~oYHoN;&!VEhNwxaRiTDoxEjlcj`@=o+P_?OGg4^5mAJ;o zjvtyxkuvGC_8;!pKH06TXe?Ye5&d0uBZ>`_rzRx5Cn*o<3jKsY5>egA4yPM7PI}Q{ z3`q?EJ+lhQ$B2q`jz&!qau}EzLy(T3WDY5aQ%IIMRU&t-qqee+-bP;g|3M;`ioKwf z)0<)yn$@OG->tyu!l8CM89d2o&+WK?pz**}eyj6R!PLQ(1m7rWbGOJh-f|hp68`Ql zgRTvoaM~2#giH~(DJM)ltm5${8&|tD?*)#bf=ZfvyCI_4n}jbgc91%IHwTwHVD4Ip z1@>lP4-v-w9u`{g^$EP0h3LpGw&HM}7=J}ez}sAu>C720(JG7U=E(g9^%Gj!PoDn+ zOsX9GA7FCLUcNpjR*&VrRk^s+5El;bpDmSb1EH&;7IExAMSS~YKAihzWRuVXOuS_` z=f9={j{w-nMzCAY?2#-S(ppQ3lP2pS6PD>J)H0D_JRO)jC7%)sVZoSeBp7gs3HyM~ zKl34mIfQ%u_N~N797k#_!5(9gHbSlu0@QN}YKt<-DNU`;4n@VObW4Iy+Xc&Su))~J zu4viiK^1X?PG{Wa43sVY93Bu=41jswT&~|e7~~j4`UOT==Q?zs z%s@dR2jB-N|5mJS`+mZamuLG|g9e}7IL`x*@O#k&gZ=suDLLYAFL!!B-H=Ioos#iP z%XQFOI&hnTVY1!dewvd3Q#JE6ARO)!R8L$EymC-;{*DuThb89-pZwsTS4H0MhWlKG zV+4wDBb`&O`k<9?`UHkvnv6`ee|Jq{P~NbI(*DSqcc z3+Jr)+-dD`Gj(J!5q9?f87blEFNW3iYFHM@Y|XLf33byx@b0Li)3ztp!Qwlg*~PB> zyVz#NIY!a31$>__kv4vrBwr@*YB6zDI-j4$n^`Q3P)vl>Rj#DPsB?|xHChivR2QrtqD>KBl5<&I$*@IX3HbErI)Ze`WNh&yFX&U%~u zsrEG20SNVKCK&@L&~UE+%aN-dPqql)oFh9ZSp5fcqvV7~G- z1L#Cs08m*v3JWPUsMMdJyfam{P-yDZBSiId(%55U$k=<)zmun&Yg*m0I5(R*e*np^ zgl&PAwF)`Z3vZ2TD0$_VbWlq&iajyw>Ygk!m`iG(encS6EV7&GAc z5Ql_Sj2)V@!UYih-JU-qZ>=ggF!pgje(xIubKV)N!!s3F5*iN?faPk=5$j7oE$F49 zsOT9W%D-TQ4lWdsBNqt}sb8PaGLpm!So!lRG3O#rg(9T>qs@M6=eQBIwBQ{S5wy|^ z>3&hO(Jq+SRFp(|gcLWtAE8W%TT!!;RqM+9n(SBdn+;0fp_fMTk_`wP)+A*`Weu-F z$ZzIy%Wa+u;;-3xHicP;&+)4Tak1RIwj{RC@d1RDfY#{$216xanqfWMcM62pLz`1D znNi)HsPXr&D;~7c8&4W=dCiFyzL}(->?I7hc)D}yT=f=#?jnByegyw>{i-p8u`u@d ztFD=^nH~7+Q33nF-IV7r%qllZT^IR;?M{|IrjE(m9uOEDZLBs5MZrs;t|65I zCqQ_r9py;Oe!EATOj|gZ*yjoc@9*Bv5dU_7mP5*WYO*a^cgkhat6=UZm!QCkpv_wT zQf#&`eD|Sr7~1KGyDQk+#~EYy_@#z1*V)=ljykl)gJ>@B+NR6}515%$g0lDqDl^XV zKSUg?p_Jq<7c4>w%2z&mS4FIIo-Tsm(n<#YQ125r>(%!{^y*?ufPeWduhK?oV^VW~ zKgXI9_r36R=A1c@&7s$xDsupEy6058t`FhPtsu@PTZH$O@BHeLT4Z(SNLdcH-f~1~ zgGK#iz>hpkA~G22-8t(mwjR3`{6#pZd47-8{xk>8hS%L_0=8Ovt6`*Ae=PA5Iy_WL zo!@=C7@W(}Ee3SJdva#LRY4yYd~uwmLAY;DWYclPe#!Q#t%6{&WrCG=-d-WJ7;zNB z1;#9douk=F+3L*xkygso#0>)5bhq1I@bY)YF_={QxkNB=c>IGotRUBdlG6 zqcI;95E2DS0O+dISYU!U6a|XTiy$c(Qmr8%*zVo4dm2&R5i3{kR^F-<-?tadEC6Nw zQX-{n!C^N>RM!jWDMZVR-B|wpN-WPm#5DW)g8`4Xp;0y*v*H z;dCGM@6BBdFdhm8y@qhuO}sRBQ~2zyCA~&los{qrJ-D`iKyMT6_H`$Gc=X(+{749) z6|at6-^*zLj@U0bE6h3SPF%oqSw*B$a~k;Pj+92CNl#PS|Y|( zB}bOnTz29^wvuc5R;{JTyj3ZEOTEoiHDEqre`K3h-&pR!?y04?l8jHpQ}NVT+~p!%xCP+@}yRtRZFhj__dT)GsHzHb#57$rA7TBO zO4od%zn-4F+<&;`&L5#AS)rCOf8yMnhdVdODvF3MRErzQ^Gr+v9HDy75HbhKdA@Ln zAbo0#qc78LNz#=Dz_y+bB}JzjhP@GlAm?%{COi%nLbpq#YJIwB>yx~npqK4t{o*$ z7ihi?w=m4DUJiA!UFl2Xa3c-1nLtu>`(34}|(#qBt)B#|{<_+r6+crXbUVl1)N0|A@i!C4r{y3^WD zaHJlIftYTb28ECToe4mwx7l`%AQBQC4G}qN-qevt6BRosux8VnsE|%QTGZPU$_1Z3?bz}RrfJ(x;iH_$;Xe+1_n>yPVcKRV597ZtThx+#^ zdJO$9bcXOnpV#!uLLY-@?RkDa0`X^kUn=xcU)VOC$Upe26|+iGUnf<`fa9g0q%iCg z=o>fh?)*`L17YhKvzDRKFPLEB%g+4bp7Dp0gDFPte^M;dbb44BybRt0*I7DyGp=S+ z*AAa5fI1BIPw*XVdiAmiWIjkujZaI4{g*TBi|Ezm%(%)hVN330g*X@*aikLm+B_83 zp<-PpPbf6N*@E^H9u-5R&d;Q`ZTNKYpmbw5dSR1iE(%V(K6;BB?z;Q;{Rc5a#WFJo zhd|9IcPPj9fHDmJ>GJJlk99LL(1)jIg2LM~YYvKws|m}Y5?}w@*SV~ZT_QnIN2gia z{rCT0*ZHme?_l(zRlH}ORh#pz^hTJwoSC7;8SFw0hupZmCf@fe#C0LmKL0)dI``si zo1@wtjO$I63D8440WQcz!Q*W}?n%f`$N_ev^KHPf$yH^r3Fy9E$qL|pLf5B%OElDH zRtn$($I9h9L0QLk)a4Rj^TV~2<1E`((b4LkBtB#|g9hmyI>}%0gYwsYY`fT?02Hrw}Z4*e3 ziQX5-|F8F_WO|%j@3!8@DJ4);>JU;fo2AnNB(Zu%%DD6^ZX}muD464*PzH6wz(*-u#=-p~v@wFoQlVmU6MNLpWnWoX%RN5mPwH zbtHs9b5}BCZiA3vN8RyJ$4wldqcA8;@2(&B=L=R(Gzz050|uWBh&@)WI(ZL_*M^wZ zgPduf?VMF&uE8fkwVs~|Qd5g$TNNsPen|&;vxZ>FXdW9$Whb<^q~MI2y)s_N5k)dl zLu86dLZ>Q`<7KeKyESedRe@7Qz*mdy_6fLL>o@O-Zf3w_6=zL}6<*8mH4Vz5;j7;@ zCO9H?>kt3r7YFEG9rHZQtfxsoFN3&sZ$STlC7$D3Bh76EH>?Sm@|{#Ly3yihm}HRtQf{Llz6W0 z8pLF$()p~K1O!d~BC`Wf#@DVeXenpC*Fh69(35qQ6f=L$0ESJKaW14(_-ye6h4DXa zWBjrG(e4Gz@2Tyd%x|Tg7|w_n5Gc8<0DA*A=uxNrDmJnX;C+X%zt36i71^@@ViV$E zZrky4$3dkOIYFtF*edpYLM|!30?i_a%#yJH)Mq3wsx~-emUCH-B6!Q4hG+<%r%W^U zH`0aUSZ|XHJPb-1C84-YJM0@%l`LA|y-8V+VlSA`9>mV7Amml$*``~0G~ZXy&4*3m3`wxv7zIp3vfW(b5-j5>z%oGw?K=dV?Do&D2!P~jM-328Hsju5b70-NXxkV8 z)ivh0r~hHBsLEykX4q|p}5Vr!wg{U4JkYV+Ykkf}vNqU>F!wPwvcIKzS%^m`p0 zdZ!U^M-;!YH=p!3%SI?XhZu8n)dgSM44v|i45`mjVWo29G!+UXLig0fqa>V@KlgQ_ zYVeAj$lVMum+fB7UZ4IRA~?5^He;j)A$u=R9-nOoO6Ktt=*J`UD<@@d;SKh=QcJvt zU{ne@U72r9pX($ zPmtL3w(M5X(Jj?j__S06*Vqh$gi>=-NeDIf^d&2atP;f90wU4Y39L}fuC#BWs+o`< z{TBHL&^8JuNk^?9B$-MbwrLVQ4AqK#3%!@D+U4!xB2J%HX)4mXPU`j6&%_J*BdEW< z3WpB(I>SzzHk4m=pj-)%AQfb!QUVD9L;D#7GDz63h>s20VP%QT_EDpF*6{|BE=l+y z1YM|jh0}F$cfda_I8UfK%(yOn!-8DC1UZ-I0oM{2jnd%<QNDYO77?~Dhf1ET%#=T;!MYSL;evM1oMJjWIYn_LU%1LOIa78*|4(uuIE5iFIu^>J8itIFiD;(WhR2BVh##4B7rTkP^Ha# z0+to{uRId6Y^=9eg$xHMMY6D?R#F@)ojlzldC3*CWW^;la|%ykRYj`9G@NO-Ab0}7 zB#=z^S;XPM=R?B>MCmY}pHTa~z+)HQSPg&C&j+(^-DEP;GL(ZzUhC+k3s}~NBOg{Y zAxEyylZN9XDflk?yXD@^zjfQUDOCSY-P*S7_)a7JUfEzB2$ytb-3}^^CBc^pgGXIE~&h! zgKMyzhwT(K2j%N!0e5B66xg^Ir;d)4ioNA&fP{SSRCy`CGjW)1ts{z_8vZ8=Z#{A_ zrO0%5FbhFnn5`L+O$dBuro=@*_-Ua@Vi$%)J<>>iYUD~1?a>6;5)Lj9hD0U|Xt6~D zl2-O4p*UgEJ|1%BN*|(5wiLVtnVQ$|6IjJ}`u~J1aqBV*00+zT?^8t8P_0M`hM}N; z`nd1Zv|H(%0Y(ppzx@3~!X_3<3NDdfRk+67JR3tbu`=(L_<1swsaI|ET=4&q!tdDGFS#>0EuibX z5NdM!{_yw{Pdl`>Sc#9yeX1qNK7=9|2GC%q(?r*Gs<~JPE?ym>EdTweO^%w$GO=Iv zW;0O(IU}O)Nbym9tnj<2XBtFQ<=y(JD|fL=umT30a|L*kFsmJFaUdcBPC3j&gDV_@ z6@#dXV1Xz$`{V8s-)L<67mePuUO7W`vGbqyi-R+`7GDVGshmj#B3A!*Rts&c_D|ox zwJpS+V;SY0t*(Wzk`F>0jqGa9H&qJ~u%s9j?6K10RwsVAg3VSi`fl{j(a%X{wkoS) z%=z&JB2Bxo5n8nYn5eFvVWw$k1@`ona^&l9P9)(%7)LQSL{W7T6qhn9c21DC3_JC}5jG6rXm@-Cr2Qz_XTO%9bblQR zDd`pOiCbSy7Bl!02WY;M3yz?J?!*wGO>}1odlCje*=(!_S;z|*^OIR>I?7T9pCkF} zDfa8qZv`nIHlR0=2yJRS6p|YPOJkLIA5~FFX3(l;bPw%YDs+psjjnX`VcNnn?hc=} z-o1Rb;~HD){QA}Mmt2S9o)kUnq3{~KF@waamc$_Og>1LZWS07Ug^=5S6=od@Dg74~ zj2b@b&qn_ZvSTlQ&XxP$10L`g@#0ji10OmfkM(Y8!4ulHhtkszYX!@>HS>T!N4kc7 z;*UP(vF^uSz;FWeZK|POtn^D6^2`VT$0^l!tJ6dhun-3JE|3MV`oj%hy(71Zo1BZe z*-gFoL;Inf^b$&b{+xxt{UO?BK0chT-5%O5``Mbbj`&^(Z@_0VYuX!PU88~ zZPFfv_#jC=q?o;4tOhD6W(6w_D+8P6j?lCa=h_&_aYY4Tcq+mZ-%IVI)^{)(T-lzS zN9$r)YY%KXn%kL(Cftf1VrX9pLjaP385JQ+vyCno`h5NLx^<^ z(O#)amr2NE1n~$|xf}O^_h=i$oE5qobJwx=XmnmC7X2X zRuBOr&uUdFD8y?m2ETSKEDqm;(|(5u5i3UBK6Om56Pb+K7Qs#wX>aE2Dk0zC={o9*cl91(qT(yO?vvG zhk&!-X!}U1IwHre5Yk~E@q?nDUDw|0SSYohQjxGUZ1gwZrShT@Qb!_<>8CX8&>G|Y zLM6neQL-9NWbV!Ii__)?$L#8g%Vr9+n$A^bGy0B847NpPL|Z>M9#ABQ6BZU#r@Bcp5`+PF^%FSmAtkkijHs~ymq$RbV#*3)S)D?qwiORiOg zS4j+9N7gRbVBleG(f)Wd7TLRQEo2r4eDs={Mhe-ObEeEwUIxR1i#hsFWJ8dceQxG_ zD{H?_C1}q}ekir847^d%U9?hyH-5I26XQ;bC5kaj4<@DPS=@D@JuMq#b`({IS7 zpj#C@QiExIlF`?5`x~f1!dCJ3kesiy;DI_>l)lZ`VqdFHbQEZh+<*tcLPj9CUs3}R ze~g8CFN( zW~&`=T(nZ0nQ+Cp;d5Mo2IyB2z9%=;OP&iPK_BLdUmhEF2r6j3O5H{Y%e}&I1`XDU zLl99}FB^({U+M)H8~}6b%Ms9D4;2diumQQlRO~^+4rJ@{Ov;oP4Z(4%Ni?Pns|G0WY@9flgrdxemov_}~?6s_+kU0Ir z7|c~N0&HL6)hr&*J&%7mI3CY!L6p8dwtpPTjU;wo#B&|V?MqrUyq#_YrvCAC+4L@x z*OH~5H!qko7s+=a=Uy}i1P|n^kK>~zxeMo$4?nqWFO@h8mKw{CZBmsIzil<)!I8~B zN$Z}Bt;8KUv_L_Q^40Ev;rJ(2WVE&L^Vfp&P|u=ZPoNLIY)=!ad?9`10ZgESMt7U* z>cr-BcKjIVDJT8b^k4+A8n?nK=S~G1@6<;%(Ieo=mTF{*bI(81?~_oz<_9qWJOQ)CYDYjV2x14!({&6WY$Ec#?i$w2}z* z+Q&zGV0TTDal+ss*&dT0jo*PDZt{>^5c&>{pJehj&Vm^y?d@v^cE?F{M8frxN$Xy> zeUHO5^I4A{lxQFrHT^(fH#&`+Vzy7nA`Y+gC$QH`*@slkuZEgNQFw5r_)vF!=v61+ z=I9iJR2FXi@3t@NX(s(~9;Ihn^j~bQ6iE$e8OEbo)?zp+Fp+{aHE=w1y9#&4qF> z0Iop0aJq>{+qjO24rMvPAqd{dc`-0GASvmiaAmBe?ffF3o8}D{|u04y{cwbi zNx5`e>Wi-+5}UI(c<6#UJ=FB|fD40S=~?kWo*TUk=_A%_TjK}cwR$duoEiF(vNoV_ zEwi2rlvLmZZ~`{vS#iFA4=S{tOKYb^nQWVB>1(kWgW~L$h{;gLKK@ZyTeYdgNkoTq zmx-7fpv0Ca-Knv~xq*n>hb*iFQ5AwPrZiRwl`24=V5E`qq>>=!gidNnBvuutR=)5u zvPB_k#e+NP3MnOE{VTCmAP4h1cN(b9!CtN1U-twhp>*Sg-BvKVpb3G8VEB}0PU|9( z`h4#u#NFv;(WgOsldJas@W0Vl{h*uJ{z+)p&>xt$Z1nhS)7`BSf0M8{09-568{msv zMn^1n(C>)Jh*~+!bWyOOU|$?so-B85dna{35o8|SIes)!@~ZzWRFCCvu9p0BaG0#* zXUFnTM93t5BYJ8BXT{`TP;YsbE5MSA9Zcc7jmo)iJ%T6Gv0~$aS<>MpNH>ua*{8&0G$B zkO$O28ClEb)va3#424k?G31NBUpTBwwcv36E&Ihy6om>3YJ^{!!{R&hPr%mC;K+6y zKeF-=Fx>FMd8O5yr{Z`0XzSCeD(2w?&h!c+Dthb}#SVn0nap?zvlMxLnoo?ZGiXS< zF9mSTz48Xa-p}XOTVQHFI5qk2Y9I_`R&A6)lPl}kfy3GCSJF{>KUm`c5c4szFXK)E z53|aHZ`hhC@C=eOZJFnz`l9;YiH9KDd)&1pUc$m48b>6|`?^V6(D_Jlscvy6sBgYnXX?<1w=?1`Gt&iNxX3Q$sAsnnUJC8-YansyG*r82G-E1iOr zJ$SERvt+ef6}UqiS49*%teA8RElN&IkeW8i8sy`=v>H9$|(SdRy}XhQ~BY(*k2 zx=ilj0Zaz_{RyAT^b%VJTrnA?Llt(IiP~bvXx2FTf;KIAUyYokK?CxVj-b^iE;QRSwW2~B;#t%pU=celE z7JRn!nB)eRM1%P=W1XBV4v9Wv@(^tJ9{Eb4X-&F_&ObstKx^2~6 zHPF*XdzXL9|Au&E{%`pod1vwh_uv1i|5I-Cm1xX+VXgfu_azmAuFOaA6*DT*<_n(W zQbsAQOGmT?fG7p|-COP!YD@o8QEgZ48}ndy#$EY9j%HR|F12h4%SSlk3@#E(l926> z_a;l}jiADuT%A{+ZG}X-BBKd1)l~5}a8F^s!2gH|0NX(!64U+b?_G9lP|Bnl;~NUI zw0?jCW4?X+fbN6yY26_Was)Mkdf#xXEf!>$psxH&iixl;XDQt!3feezf;vIHfZkko zcZ8^D*P3}rjUp4UaqRdvL@pMH@(8JNq8u+{s9u<26bv*$iPL%g zI;&tQyMft-Qfa!(%CQnHu{QHuP6PDLYlix`zApmwnkj4ZF({2Cg=h|NJu5(I4ihyY zG7&O8oiZy^;^jS^7`Y`}zF%FoTwcavop>H3dA{MJvN?IafLvgXh!fDW3wlX;xyPob zQ&fk5LSO-qAZXBKT7lok>&=xvJ_7s5+}*i}pa6!U^dPY83jSk;AZcwLOhe4aZetL&glZA0Te!O12*_tv0#G0NzI?) z3!l6saDdMIIH`+7F?z^(J_C!p<)8XWVujxy`Upf;L6(h&PxiW9!~oYj^(Jasr>a?G zbY9|4Rt>f&WxNFwIZTgA_wKOmciDb2$hTlnF`m zlYUfO-nQlGgyuUiA*c{k2ns|cv{2B^C;DO0c_wab-F7Duii3QJerL-Wc$nuc4DiOo z13i~ntQG|-X5-tE&qV@UfXANc*8BpVSAvRyohq-$f1p>mfZ$QKr9 z73@hdM>!kO$z#4K!3!U+?|ccMAEKTW#Z0Nlx^#Bck6Xa$Y z*3F>Flp7?I)@sDG&FPFam5~|R|F>j7zx|xdn9lUCtfeCgt17QAla(?iX!%OD?q_d~ zPeOHF2b~mO;FRiTad9Lw?g8&fzo-ZCk}YOL1t=ovsECSzzB)~dD1+I6&`n0!EX_?M zX_R0n)+qDH)6T4bau+i~-hw`;5X3VQ6tUJtR+$4uQBPeYDq-3k3^;6x+uTcOM$%CY zAkDG^tLmYZRY3LF%cH}aVWW=-(og;scekJX)X|+d?)YKXy1!mg_Sp4l`r(Y%I;+K) zc;PS!P#^~=iH~V~jtqeYvzpot)md)%S=%`#4@a|kA1xkjnxcsOd!8PHmrn6ccNc!6 z+~#F75#UI5ukVNob@XL5C_lVl@k*u`bhsgOI*a}Q!v%rtKFbL0Bu$V@|IM7XU-0fC z?xm9H0v;@wf=MH6h-ZD{_`>)PFkej3bT9y3qW6=ntaAiMRa!7MaT$dTw{7z@+q zYdXI4a`EXpDB8?~`#GN7o4p%#cYzJ5E9WS`?>F3uBkb@y=XKz+P)vT-{vTikY}@gv zsi&~^g+iG=j@!0y>~DDILc%ID?G3zqq1EsQ^IqM@74)Q&UD0iG*}i@3$D+mjQBIH( z&nk229fz%p*G8mT%I{=!k<@SddHs6H{FJC4Hzppj>aM4U7XN*mA`j;d!F0VID!ZGN z4aj_cta>0P-@!c2=@-cM-V5;5V)iB?+%8X^>wn)Z>-cPM*}n>9gR$G}taKDz#+aN5 z9p#h`x3Xq-ca6-`D{#zCxNxap&#KBMBF*?T98O@{--ZO(AtDOnrw9`#7BQrLQwTBB+)R-lJ37l&^=3Wt*QDQrhl3C}U-k<9K4J%}FhwX|o?^P5 zZGv&m|E%?6BRfaoCw88FVmjl!0?J;WL3X-5!#7ySePti$t!OqtE;lPCn|7>*s*eygS$5 zGJJ91{3z#0zl5v6{Vv>}$E~@aBaH4u05l=(5AC?8r~zkk7uxaRg%iiAnHP?xM;2#q z&YW6k;)ywxr%Tjo<5Z0=!pG|3!cn#QUpxxBKdfcz^XZ-J%vQtW1E4krC{n`?^9U^^`7<6ODBntM@ z9H52pr&;qDMeUGeg1BQ;1Fq46cvC%G=^7(7g_=G3)hmK6-^xs((=K5gHGpUOD~e9H ztAACTxXNplNg|5oER#fB3!gYda$T9-GM#IJip%xT&YOqqb9~;xf0XB(a>u)zZ_p!o z=x{yRR0CBXXflRg`piSsy!j+4`RN3o%o}J9@KB=Up~QrTHV=$~Gv>35l|BnJ_2H%VmW5c6lr(NWpy%D@G{Vn>cq|-8-00&9JwUTe+lG6Rlz!yW;XOu|T}>PVoOKrv zPM;*zPejYzlfIBqmJS63JuEM^Fmo z7^y)RpHdVjj}Q1A@Y`pgSmrBGY-WVtE|Fqp`*Q%XVx~aiKU(Y)+T{;7=_G1EGyQ4I z{{(<={VERyq$hCn7M^(SaTaFarq5P7=irqz$-8X*`|0$U{`n{8uC?E>CyK%{LayI- zI05qhu=%g`N{zLWeAEq4O}&8X^?EQ>=qOFbJWyziy`^2I`jTp~yA(*SZ=1`PM{aIp z@A>shTubD*mKfn$;t|)tm=tk3lHPGG0hIvM#5r26cbfog0oXbMw!|B-C4&RDq+4K1 z<-nF20bA-3*k*cQOM3^lvjv3UZ^)Jo4%yO9k?qev zrO3wpq(HXfs-BLbfBxAwve73tj-s!(8#IQ|`f%7E0jKyQ{L>e%;YBrioRBP^sgUdq`GyaHq}P0lpZoKAcmDf!fA{+@Bz6c8 z+rDKciNo?#?pYhFMj7rlS_&54wt41S-a|X14#i%k~I3Oao@h)B(O#lJ! zwb6JKT;Nx?ygM!M-jkYy$tB~@54!To!u8%Hzc>P2Mq}Rpi|?Tma%P-wr~z=YCl^?W zZhl}T?a+JPzkeUlF`#1`*PI-7&EcKlAKFwQP9wq6OBU~6zIjF5JRi7<#9x2YaZTa} zlbXc%#fp8^#|Tu@(v#c@^s$Qo0THyZWm@UMW9qHr4W*+5tU?*p?deA7oXF5Qwv%g% z9N5eeha_~_kRW4{tD`xmpaF)a-aH3+Hz0a@c{hRcX0(uZo6b5eih$<+yu2y^!i-Lp z0Yz43w!qcCk@bso{*c1;CDKmYBW((5LIru4fAByx2~z^BxPv3+x6{T&GJtCU*H=mA zOUD`m;Zf|xxYWFoZ_S>-b}9v1C2aH|#x6JqOJk?>HqPk&062pIxRKF7^hp{ zI~m|Nz;BDfgWf8Z0NL2NP2>W>>dkq17}kMDFHpQWZkM~&{;*U7aq}`A4A<`PA_ar` zhPdIsUp{)65R8`0k5vx?{s#QD$KTwSZXpH&fy({kg1)Ledfqxhl#X^VSlE*3n&{spORRELn#*Op=#gm7LvRI$=E9>D1k?069>HV4Jp$@Pc zVAo!__2noQ16fLnz2qX>DmLiF!B>qQz2Gmcw`Nl7)Utl5M^yrhyc4*B+%Rz$(=01t zjZqiv*yU<@3c_wc-FCvRuiPRrP`ZomBNxn-Zq3Uht^zfB!dp^!N0Y^`ag`o(`5QV^ z;5Hbmc=AAT7xnjlt>2BRUIxGofIBcTw^*EB#awR1UmSFmpwSQPlJ7L2D_*08T<&ro zfSZ63X8>W5=MEEYb39Voy@0a;XNM-(lBMZauq{^m#W7Za6TKkpd1F(Ct!33Ue`q^} zYxQW#o(~gs@rw8j^>f7aGr(_vUwinSd2Zyy_aNEqQs|RpLeG zh^vlIGY(7xBGTH&{wA>Nf)E;Q9*UO9(sNDA)s16%k7YOh6Me!^$-^ny(W`9}JgcBH z_6fJdLV_z$DHi)`b9~$`Ke69)JhJ=sf~3jCp6Uy7b8*q}!~PEjayZWTh(T^*4bUZ; zj96brRSa_joKYWrp!2L4%JOi3#$7}}`dDoW+$V9UkK6M-8YZ2VluirjeJ;7O>ea0F z4u2sRun+96+k*E@Cz+!CVSPFuc1N`Rk7%79*X3_k>{9{z(;}G?_B`@PGW8YHJQsPy zG2RXWp36rygJ{@oSo3DLS~qhz(oTrKNx6c%%tsc-8Ju{#;#BfHC&@ciO5Q}m=9!{= zU`TWpgzYX8KX^-Y#tYkI)w)1rW5-<{AOR5Q79J1l$Nk|X^OUInDuqblLLVSG2NRxg z1j3#;Oa;XhI{>r(Swd!2>w9$EoYtcQ*G_=Srw^5#$dhal`H?596?t*E1mU1tz(f+v z`3{}3WT_&Xze_>0cBzjHWDzV|mf19`XAToMu?KI}!ys)22(^dM6fPa!Lbc0hiYzyd z3y6aI@bWM!frqYu^c`NvB;D@KhtoqdDvkWEf=})O4{6Aw6qGgbq>u+WA*DK9!ZG%%amdOu$NM zAvt+%1=I{$rq-nuSn61^&T%;f)J9QFq03qdWpCA`6f(92H3by-vHOI`SPGHT0vld* zdFsYbSRB_UydZRuv9t!6fU0JZTHHOA5Scl|Yr$y=8kr)wr<)(wGbYy+xn-}^pt4Cl& z7O|rVPjow;=c?oRYcx4;@iTaV^{)6*4XB}1>{CBV`?h}ztJ>B6UE3m;H{5{xwkrX0 zwZuDt>Xw$Pm02>uF}~~NY4fli(_4>Y{$A4*gQ{jqT+AH`EXJU^GEM6YqVAA|sR)Z> zs3)7#r&0#R_8xAMZ&-t(Q)Y&pGFKyf-KbDX1{t&;88mKQN?+j$_=^49VFGn ziU_QyAk4;fVfI})`2z*eRHJBRi_i8+Qrco}Wi0JgGg(Cc3x)@YLmSC2oRmWTT_-GpDppO5S9`VOzr z1r75&2;UWI-i6NkrGDlM{J$D{&sw8*J_BX!8BUJg)!3c%7*oK|R_QUmCtd!Q>t{3g zmj5+qHlDR+V;;e7sig-8UVz*>FQE$$rM}=xuZ@`hkze`NoD#8;4CLUQoTL{fNwJ+#na0fEPP!;Fd=|8D=s zZo6Nuc!FH9@0f;*KAc&@9}k<4%fOh=oH5fJwgr>};+Bmi*`+Zx4sh$gI6=`C`#DAN z1JInLlG=9FoTX}0(~~)(*~#v*0pSM}8W=OL7E*JGbnK;N7GlYrUOZf;2?WphW=$X3 z`MGd=kN0!IC{4rmKyMekSnwsIG8JpEI0Ua3|JL8Rx73(GR<>#f-M)0rQf#zAFYf|l zh$CGI#+wJ6E$p=4Z-3vMtYDhl`I6mf3Dm&7UZ8pgx^^dx(y2f%T7q>3g7uHM<+rq9 z7_L#5$VH>_@d2;{V0Qu7uzjNiV9#ZMP4>}kv5{OL+iar_0JKdJr8C$rYCju7c6mMe z!X)v9;x<1r^~@~qyx4(u7@cy^R<_4*y7>5p%_0oe=n3VOqvFzl*a5Kzo_#)PBDT1p zye6No@72r0v`r5lmfq_}qz2=Angj^+qNPYZ z0Y&PcXq!@iX1|lVqU*z9e+U2_0JE??f(PhV#!}RhA#y$TX&a_;30`vjl);vk9YFG$)bh_&d>Bo|A8LF zn-go#w8Un-YQ&uL!I1d0P<84}Q9(_I@&)fA_3F0L#UqXkHhWhtln?vWdAmL?wn%=G zh`a0(y=*I7=)=h(k;hdEPc%Zq1UFMJ`T6~yXz#B|2w`dAFe3a(i*+C=_kV3pA4YdY zFUi9M**67c-=AsMenRv5Ln&9;fagpQY|D`bX*Ni+9py7-Ys^nR<7&ZP8eL($=mSt` zA-jXDcr&|nj4vJ6FV&$eaF-t~FPOHIFqHiHEtR~H4mn@b=0ODlHb%eMKj2*M1W{K7 zMvflN$J6NDdbHkQpP^NN-T=KGMP6Uf%S2xJrg9Z|RonIQ$^!#L=}c|FL-hJjwCFY% z6PDW+c>R*Uza4l3P540aI0jvm(}{B4h0e5t^$d1~<6!-J?inhG$G)}vwE`3eL=TAW z#UVQKh3ILnLG)W;ce#Y(TW#XYgS{>2bdCJy-DY=0&uV7L7dzR!PK)fdTYQw4PCyU2 zxN)qhp54-lH&+4oZ$;xERHIvetDYXVS=TY*l+*b* z<}cLMqHf&d1)nFd(Xq-j-h8^72VBEnnM*-MBes9sz2Eb$a5U4}6+`jlLQow1JC7g?edtaMT5?86g_TvST72F21|=%twUz{l*XS~17ss@R?6f>nx^V$1d~Z? z3})4f8s@^8;xr-|P1TQmnjf&CiuJzkSQ)mWf7ZyZM?k!2@NYL>p_{E*3fp48{U+6G z%!$|15K>ge5@QX(x-^CsWhV?(>SdLR#^uJfeZ)Kc_=bZ=gl0CZMju)#&|&}ZUs>x? zlV@?k=or#|1Zlq0v>(1I`6Ribl25UWy(ZQJ_UPqxJcdxxm8R!_*53Q|dUZ6d=(|3A z+@KXZMmN5EJips+jvs8YfGF?xWB3Gv%bVs2Nl*OZ_VM@wo?IBW(PMsn^Jc_9JAifo z?Jf+TGhc>JAXgK=k#4!2oIzkTUg(cNVC4gk1~Fs3WS z#-Omkbs}*kPQLJsMgXV!8+`Xm?rw7dTy?(}K#yQRZ?YuZla>Pb3>3iMpvHf!+J@zD zw1ob?JZ|nNP6rK25XP@q7_T84&{yedxdpLPujscmeVD${&Us#&uDsKXh)y8>#$==@GcLye&ycf+^*`(yIk10 zLxgn&%yb6pya#>V;VWcT<4 z$pv^eAMWPh&`4~@!R1>#fjnC3@+8Up93)U_>Dv&1^tm}QOuf|(oPa1h_K@LDy)`d? zRM$aAXUBDdz8Yr*u1n_O9MYS-0B{5Xa1PC)V+;pyj>kqTg1YJou5(@zZtsckY$e!W zrP4!h;tP5s7O9<-u1A8~vc~f_yZ`;PGd2gF*fc=;nI3bCkCCCXhsFq^fx> zdfx*qOOk6~{WyIC2q{)rbiQAoa0S5t(E*~pCCr$>(s4Paj4eXzcg zbt)X#bSu^C((7@3vZ&G`zsrYOC5KTPG6`7LYEhN)Hb-N94S;~d0f&cNAY8tU{8USX zH|XWDSPvncq4DNn{a*<0r2c5^_wncDyLX56#|?2W{WAW%fBzmyf9Q|Raj{x{+HUSY zoEFFBN3={9_$HIga^k~1cyQz?SP3A{Iaim~12RJLREFeDjSLUvtW!Li->*-_*99)} zJ?6TAMn^l3SH{bT0gYrBco7F*xo7MvH%sAc)k!()jg>}wBrLO7x5_LDAc}Iq@s6$h zzkKtGC~Elr6#AOtH`=NCw~~$(mwo*W{-2yxQfHNqdUmK5sCDDqyZC}Hamm@*c->#{ z4+`HL08L>M?O;juvhw_%q|!g7mPoDSRU1BTN}6d zOWhjB^3<)8p1PfXICT_jU!YC;m7tMgPyhCx%Re=S3JmLa=i_Prz!4swQrzr`1oYpW z-@QeT{g$;8*iy!p*t{X0Z^#=MDp{sE9AFc1*oc?8eY#g_o@i_uOkKFaK8zAo-!&;; zr@;2sm?DIE=_%#w973UP(!QP_SIg7-hSh7MIZYIf?ey~T0qr|wV2|u-A2tU#rkzY$ z^RX?>&QS$rv^8pW{*Cx-_ZE?0VN%LazG!97rG3C-i*iz5IZkyL>KFYc8^~^V~Gh4d3OOS zK%Law(L_iUg?Wq($>0q>q;Lt4H;Y2sn2(#Oq$Vms{AVgy{a8Iggn!gJ`)#ya|G_Gp z1))3$<<}#W=e{a(;qASJPZ}^!p<9{y24exeY{Zx#6ymu8EWhSF3mug* zmhC1#rHti!_3{X92q~Rmw1p3gH8A^&m`&jV4Y6$Q%uyI}7SG!|qBM=5Xup2@ak<%I zZ`w+L4(NP&7xHU_-)`)YwcX>#9@*HEmsf2o@uDl;wn^q)a*eq{8@SwuH8KXZ*m0#Q z5}tbrkCLhAQF3aPEGB3-h9(g|BkcyY6!`#fUX3kmOc(f;?)A%qw*rQ`g>I#qn)bz1 zIo-V4OBOINFC^y}&p$Tkp#xF}q`p`@4!;%s#N&vY`{FpQfF1uZeMBpk?!UXkS`N~W z>;2<)J+56NMQPx2A4-e~ti-5zO?a+_3In4MdgA8vsl;mxF=Teo%O>F2KxNd@x2x3% zUu2(%Hy3ajw{Z*@3uA2Dyp+DHr>dgpM#2^Lh93#Hw%sm{oGK*f5;`}#)%s5fa}1TOEeK5sQ&!gHOJzqvATZL?+?z2;loi=WrK^WV4oyWeRAwWbvO3+tY(^0$nJ z8x^2SmA)gKDd1TEZ&3Yqg{#8O@q??i%{U}nZQw+gxLU0#nSqVLJanN>IBneH#muHl zC*FK`OLYR5#SqUJQzoFleyN&<%l$+cN4dw_f@v&>u8*~*o;Z#M2Zsx#1aEE}KPkbX z4S9LM)d5B~sC$PO=XSwzDK#J$Uo-xU|NSzimyX$`F@M&8=6c2gjo_ zJsxTAMXjm23tH3~jHfx6f;K}hpw&=}fI4l~eLz>drfrYVR^Fd?rxAVRww515^r1*< z0MC0+pwB|$JKFqf(ki|g7i2F+f!D{RSfs|(oC%rN37BE+e*XmKdl z!EL*Gyt*_NBCN#C24qKo`*S7t=ce4h-QRC^Fy)Is$%vf0%0vG6$rKC{!n4giuI1S& zlAWD?!i|EbCiDUQIQsvy_ocgyBgwk|&r=wUJLqX(Xmd$!HNXMnMc#M2yr2MrOH!sy zQ8E|Xs-Ag{`#|@_ZYDQz7e$eh%cXOGnzoo^Zjs*?5g8e2STpP;RJVk`DH)E0nm9n> z6EqVwpx-;W?rtX)$s1x81Jex_nV7GC8(WFVrhlKxb(m@Hv$7pSw{_Y+%-ud+A&cyg zX4l%1%%X~9;Q7^`0YkbH4C%SRaP!G^$Darh#X@tY2_lvz`4+2fj-KZ}VZBlH4VR<^ z5=lsvEl~p+gG(>)f|uQBw0=0p*F*czzBVHpN3GJ7ye{>^Jyp6y(x;QW{AFv(AFwDQN1F|6# z@xIP!IATGB#LjdtEf*OVlvp3?_{94>zhX>Ww?{gBnQiw-N4N}E9|>215Zwg96KKQBCqf#?2o5=FDEt@E{Yo<}^gwe1=*)*Baq zxaz>5E;5#tLRxYiXCREKgfOZ;ggN;G6TWJSpS+K3ZKegDF4%@=Q7FufgNGOgm6GV<(=X&b5_tz-{o9oN&5zPI3J%kmwQd|S{bPEF=WG#4?N z3)b4|&E`S?=*DoyHB>k!R|t+`p?Ta897|o4*)wCcU6eM4$ctIvxZa@tG>T(u8`Nu* z{OwRON_bKXlDVg4Aek=M21s&DHAp5iwbV3_8zp|hChd-&Si;YtSj!B?M~vbuTi6=T zH1?}m!pl$e!WEgy(^3ANbj7IGt)O6f2tNr5CRa~aD2P;^G6+PEw*K}E?Z5fcqO(uD z2Cx4E|9=J>Y0wxPflwH@gLA~!Y4l<~#TjAag_>j@RY7Emw`+xSOR&PR2#zFGM&RKZK^6Op=On2{=Rwzu^&4)O0Z@EBCzVCC zIf)4^vua{0XB>KA#z{aswJ5X~4n&){&6UG8lY#B-q7MSdt~iWet;g3qnVMjq!c(e1 zY>ewHU+BsPbUj04-gEs$fS=t8tYeOxMAfe0ehv4_FjctXh_GdtDttSp%B;h)>?|J> z_Dw{`W*4+blBUf<#z@YznI~sW75`Obt@&k48z7c)B%S5RDY+D|WlKqG5R4Yht}^jeKX+urh+rDOX0fk!=WXr1YjN4_Egui z;g~@OLFciwxD&^hK*lGn}z0Pr_mx9t1qCe}p=; z)K!jA?k!|4?NsB1mffAYQqaD-N~`( zVJpFiXm%V1y5oK1!jjWg37ILq@C$^0gm3+b0_W=vZ@@G*L{exu2v-~=%#P1+2{P?uzuzCB!xTfL^U zHJ$zXbk@h^_vJY9+$9zD<;;D9@6|V|(;gm!r0V;&P2_0M&1{VVnV> zaK8w@JfjW2IDfGre@$m^O<-#RTN79#0u$OwcgS$%1QsLDB9>SkT>At@SUvdd%Kob1 zdaUhaEOsY0KZXKIE{g}*5nDMw@&3g_QBw-&sa+Q#Irj!q3^W^ITQ(34+PI=MF_jMT znwWkiVru(*PYPicJ>QdotIu)1Cx@Y}pYQQW28lUzYEjIVU$nlhlqlYYTaPYw>ybHv z_Um0a>EJ-Os3B>}VX*{+Pgb)hh4!tqWsru>A`B%j3dj*RH!6@Zce<$q#CXRZ-@_5xf1*sk8HQV$cu_?{f*zM zWYoB5E@MM;{$z^XhdakXuAZ11jc9?zfhn7LU(>7Ogub4pN z8BCiRhF0@Ql=7^9Zfwd;9Xd;Gv|6whzo|p06>zETIGZ2C%7BtokruL~GoUc4AFCc= zRiBeL(R9bdS!!Me!`z{Hi3KXX_f|lT;^%OI;=yRseC)&dVr{B*SaU=kpl`}yS|GJ@pA=C^x_*e3w$~2sO_SCdX&@Wwo zA1hJ3jj#%)Zdiq1@5-42P2p+Okla>P+{EHA^USm?XVc2BbRA%^-kkbcB-3qxg}-Rp z4X_BY;WGwU#IV&(fQ2(MZOMVMtv=1lW`TPYKICiyQHkM@U)J+t=Hg0|wHX$_;zxPJVqVap{4Vbkll#kP+icO&w;`D-?NNLc?#pe0&Q_fmU9sgV)*o!8g zO-1t26;=A@n^N6cS@a%N!I@MJ@&6HHeK#k5)1+Bqq!p6T9DLc@)fH^<)fIjokitg( z>LmGFY(9PQAon#%u7V^1HzRniF-bCf9g_SM0qmcM_A2i9;PR~3oo~|5%pEM@AhB=t zN#vkR-Sp)x`Xc$l81-yc;+69o`r{&QNrvU3Jm|^MZjI^Y&Ut~wERl!_x6D~@j;)hj zdP(Mn2v9BDpT|c(roJWFdxj1;Fjeo$SqE=xT|pJ+Eke!NKr0a+Z*%e-gxVBMLNW6skhaSNfPsbO7%toh zM{-R)>$r?BK|S5XWu)+?ow$q)gng#Cj2yalV*5Co^0WMr<01diR_aj!{bWlmZsdq! zv5kXG-)U{NxP~g>8kU)&W`Idka`E}5hiXXj4X*Kf6g9VSTmxtY&%Xk${c8LEbZZgK z!M^`go)^)kvnylux^#Z6cA`l;l4op|-!?bBts-nooeSqmUuxyfIjVR|zvzaIxcXX9 zS9^Mems7G6;+E_#doU!OupYwS(EOfH@8=$J^j_}Nz&@FROOaXo?S$fNrYd9=szC2YVo1Z?U zK=D-uARgC>W-O#(a&$(+L}Qv&GM(GQl#ZFG{{~mTm?PV-^>@JJwXyw;5!=#BnPf(; zip8-=!u^`7Z&_Mw`6<2nIMGS&EFXul8iy}bmI9ZjT~pQl``P&~CJ7>ZZR>CR`+v9o zp1L{FA9$(NNL-oy_&-u#_V1O>X5nI*=iw5`LZ>rVPKI-Ib|Fv)Tmh)}(FFa#{(>J! zl|Bd>@a@|Gx_w^(F9C5nLg7fOo~qNh;$Ta9tob?~f+UYve?eG zg6%#iAl!uR6k!uuz8}dKTyqYGW5-1wi{KxxbTrCQFM_Up3to#L4SM%jK(~`hOf*))6IdD+W%SkM`VkyD~lspLIIAO5r{;X zNh!1W66b>oL}^~f3dL4f3^*L;+4)Tdq9Rl(D#HAV3PSJ6&oYCtn74yhia5KGW)glbuai(z^8jNW z6#DI0c7{$;-nYdRk?j6OMiB|BU27q0E#!C7LIkSV>&P@g^*PlJk(p2H2!Wxd!cneY zunX%K1!}=UYDQ8ms5*M%XQU2>Ayy&U(Fj0`8bM>(Y1Ktcl}AYzUd~=Xh6Uu$SCT(J zH~EJ{Fc0~Mue9u)h`!pkXF}i$wE(VM3#-}5E|r1ZptiL#uvP|sCuKk^x#w>sE(vlj zTalGJ@YD!uQ&8N2I>l zvQL69yzh%6tF@6?ymy?!sGB(b2rlC+0g zv(}W>n$qv3De<3FQ)1{Qn$nLDRMra9FQYK|`Senhu-2P8(wnNnT?%!DC2CIt1is@Y z+LQlcm)cWMK?m9syO8!&tKYS>C%OggX&<*Hp*;m+?a#2|`pVGRTBBNPRBMgu*VCv1 zpjm5Fzotgz&)!<2TA@aj(jS(fQP~ieu}ZUJ7HSpoOD%^JPruuGK(SbS)EQK(Pjx!F z*v1@NsWn|i^{-t`YsKhyQjA1Ue8OlYLB;c_LQ~9GhZT2m$QkeF#ACdUEN<_JbJa#! zhMAWTTO8LIf@&lEgb3bkE5fHTYD8yh zM4mglRU^WyVGzb|TAJ?6}dkl%utpl|U!%F1dUMKKgC-AP7z*}r7fj1xvZp%upogd-iX(xks3->ZdL#Vz#JlSD42^}W;1h1uKr%b8mQ6D{e~EY9q8iubhAYjj0dT$N-9O6$3^0+XP;-@VnPxMNuqu z3X?GsLOan{MW`5)2& z$nzgrBX`5{Ow)giZ{m)hn9v$T#K4l_8-E4=^QR`evNQ5*6)vSZJO&+gjmlMqzG4kv zb!CR-)~U!beught2#I8K`i^Hg#=r_|nZ6UX0UxFGa&z2b6a0$)3JBdchO#}`c!860 zp~_6e^liTcED=YvXbSp}`RKH}@!!!D#6KkKO*MWvab8UcPrR(61udba8uZq4bz!Ik z3vm8Lhot+Z)}pHx69?Kxa@ISLl(@2H>!RN~xvsegaZ~~t;f0pr9M!deXLHns0j;to z%xJZ$na-qQ4CY*I$%WOfWDn)>6VfK?$aHKr%oub@c2vWd7jJ2noxT#P-oca1jQHlv zCuj%!7$Z%+vLU)TlIH~Dxn;wjmD#XcHfq7|HG395=ooBYJ&2Tar;bR@mW8g7cJ>5K zM|gq3GAz^)H#s_3dkjV;VcAD@72EyO(fX5au7LX1Pp#SUW`K0(%2GX&XoeFMEo7Dr zHZZ!y$Z4H3u*o%$Me54Kakt~2YC>Ku@Fk_P1&TRRx+YJjmRedlV)3(d4~ym7>s%d0 zgzch5`)lZ-QETHacd|0VW8{gsnFT&AFMbmlChAD*bn!2sG&QwZn+F4IAiAD>kkVC`ns-rN4ZtlMaC{zg&2D@O zQ===Y>m3?{r|R)6pV%_pA@AwJ?J%qt1bVj7P0vV>qYA&mWe#RgW4JHWu|hUg3#D2j zI`{H)4QtYf3DdY;o4F*+hS@GjRh>(EFmq!uowD>VIXG#JF$+FgA@iv}Qp@9C(;pc! z{_C%9xH-uIbJBEbU_;RI|1-ptpirt?sWqASAzCv2PX$xi2Kg7TX9{co>}lFYxL=y; zhyReE$!v$BWd&_ZHot9I=-c=@`+P@n!L!?wlY$QW-w3wJN;)6+unnza_86FE#TZcH zj4=qd?@}M=XdoKvJa~C~XbpT0&q|?XUqcr{o#@sD66-6HTGs3?nR6B8W7HZ zWeX~{tLB;dNYsL)&8r`K-Lw3a^a+|02fwXmN$AExX2pX2pN+f;keUs^L8v>li#jx2 z`f;-|-(CVNOA!Xvfaf}J*%~&ZfpNniuTG3ij%-C5;^FILo?Q83WQ~Rs$(OHMd)%K? zv2s6YyE>0Y$~KM4k*=Y>zXy2JN9_mAGxH zg0sS@i2sg;rc)@6m$={Tx-R2c%V`PwVsBmUPp!AZ3a5NpvT8ppEm9q9iWOGyhQD9s z-h1m>t0`($TMMe|O_=4brWNeH)b*+~SL>(Vdq=em-~ClC@NLFFX6wX=-oSPc1G`&yrE7shS04U-0?`S)Vng*Iafk-B&(X7^1J&O!fgN~GdH|Ej7*a&1@` zshR9aVk@KF$}tUj+!%oaz;ibJz ze4#t(fsRX2q6k=uQDsy{Qbr@!acy~AM}pKY)sC4Sw+&3C7MhC^IhuKPp_SeK8gcO5 zdOYix;FdQ;CY@TR6=NH!MjW~NCj}A~t|~_xl1y3SHc7JJfDE!GQRiBQ8wZV1?VS>N zQ0=B^MUM-P(0apVEQ*?tq}FnJ%yHzQQsUb6c|<`GRVY;$91(RofB^r$5*-#iH3P+vJbnFYq?M+lC9JI9OWB;c46;{~hfc#nPn6aWpS%a;zYt|ND2Ut$s0r zO1C*!l&Lp!{Rqk=x-&)1w21o4WJceHBh53R|L z=ZB9nyohnSnXs$Ulk5c9$e3?`+=GX)-eb=-^@^O__WIndbM)~#JlE_uD`C3A!Rt+}lk>c3|j48NET4_w}G*+QYBcH+y8lFC>hK0H`m~AMCpOIkLWxzBkWQK)=E<>6CoT?EbLo0+zazIs7RignP=3IsEp6*zgV;FuhA)AeUmz%wS+YPpxkD32m*v2wSRyoq5&#J} z0`QO`010(Mp;>{@G(q7s4d@!Dtwf&@Lk!TX55$nrnoT~nvdPDcQ%?Y(2xW!R zMFK!UA%M>Dgg^^4!ILCpXi$qu-%jm4g1CE8A3t{YZ@-Vu z5BHesA$@lBX!gAfB;X9msiDY90WJ`WK~!KCA~2yW{J24A@Xa}ICKEKj3Yi#=EcdCN zKrp1JGEiX%TG1f^1Sk_CiKIedR9RCsNGr6yB7u11kG-AS_fzRkyE%J1QAeih-7}J) z5e^~rA75_HxZ}aud!K}-8G#@}f$+y6Ck8&6NSyVUu_ zd+wtjE=A^Xub2>updccIn|dgKUiDXhv&nB~V|w1ne}}N9ey9ivnq)u`i1v8`XevX9 ztPBZGd68*%=wzdymh9*Xzksf4e_amD@Y%{Y2Hzlu=p|0G>%}kehlm zp}RqK8~Azg%#(RMz#sY7Mt|e^UmFX#2*hRc!VqePACFN(5O|gZBqbn0;1q!XB*!Af zkdd*+NYg}B*3rWi34-`_nqXs*pj3p-d4ni+Dl?3IlbW z6ew<0&cmMh6HX>>PdK!;2Oo#~;sJfTd-UKiJNu&W_{>eNoZaK0sXV^-(xQMW@<*VE z4Yx8cCQ`KqSMNJ5#zCL%>q$X=jng%Cu6 zArw)CI>R$i)))64`T~I0tRF9&x<(2&$MJ8rY9KVadH-~yj#+kcqE06K5-k?z5{lQ%-* zamoP=D%JOs!0DypJz1fu~!07Zj@pt68a z1YTA}jpbB|`n2NmW!ryEy^P(=Vi^gqh6?iw)e#l}uo_?>Nr);>BK1U637KZ`ZU(KXl!~+y zt^P*FvV}$e-q(-br2U`US9`?!`07B>cUhVF{%k!dd*}E2ocVU8F`lfd8SfUhUUCCg z1TxqD^NslVQUquz>TIO|+0coTq0ZE1IGtul2na|bkO3S}2nC1~p^>V_F+5A_p#ILs zvL%Sy-#Nb|o-gPtMNgD#~m>fP|_4aoio4vp0F5cWn8bC|pEzKpylRF49 z@j;qv2RqYr+pJh_ouI0y3chQjRrEA!MGE36WKJ zmSY7?7VB#}%QmKXYUjFVODAU+>cHc6x#vT0cxF<^y_*;LX$U8`{q4P*-rYnN1{rao zLt`o&tE{{re%qNoS&At|En|zmSYYa#Qk=#?nbb9cq!gs?h@?n}x~vjVR8$_Qtj=;w z$7I!9T85X0eMuiZJP)n!*S2^%R(HY9jeN8x^~dK_Z?daNyUxo`cmL@$XG+E6RHWtH zqK6wuOB#7IO{wTWaPRuq9tD$? z{_gxM{|X%Ti5+wI;Qm7~Pt<+#gg+fPCvW=p;c4&9kenB9c-Fssf7w+VoVdh?|CeI4 z4x#1wVd_Zs@qY&we?+mxrAJpOe{Ap}vOu&NN5*LneD9WYZ;4Cid1#!!Gk3z<`}pBh zA+{$3A)Q|L2g>X5?ajk!lXI)=rU1xpN709ZnMZw*ERH>d-jX7_XxZQs<5((LvVr7T zM=#_}?{fR6c{XBc_+%U$^2*`f#mT-wZa=&}zFla07QgePdt?*IBR8q8&-#XA=8kNH zLxDM>jI>F9@F>18wntS(T3`rK#y6mmkVl#&sS}K-LX9C+nxqzw>&q()bj}(v{I_E? zYvhXEz8&$e=XbBN@hD$PS39C}^1vRBc8|wT*9>^$`R|7Z*S($L_k1u=JZ^u4m>ir7 zz=zX9%^-eAMI0u%dBX&EApDi$gU(3rhKr=s8{#Aa;aEl@K3(jI;Ykcb!Ojw{UzKgm zu#hwbL>i5|Ys;2n${}#afeB$&f@xheDm#X@V>n^stWj_dVmgbc1*(UHYAA)06;$8A z-9vZnQ^pijff-O53=-*~`~oG{ZMs zg9ieQjBE}@>Gh*Q%^Sm}gQtU?^M`vz|Go_l+=Ew04|e)i&okfD$Mc~8FE5W&~ame{9NzCB=DHX8WZWkyL1sBs5jfkm<cR*(+IdR zlwaVH*hm2C^t_L+zsCa=J`S>dCROHOWc?oa;ztS5Z;~HHhLA-b``uyjePaJ%);ky*Sq&|%d zwJ}uojf>|~=1$v|B-`uv_-*dySL}U8Lzt0+s)Wa_K#y!2*2ktXV4b{g3i*x7$&%8Z4xcmMn?eY)OwQ1h> zxx2k)q{4Q6l+bsk%v7%!ygZ@rwhX;54t6)Cl_CGhmLucTew*XKQ$S;PlxZT_#M!7+ z&xR6O;>H`Yq2FNag~UfT9dC@Pa2&~SN64u5Tz_w=nE<~KlimJ-@_MF^A#rUFfTQhP zzse(L$E0@!?|riOz(S`l4EEleO^YaWY$=D+;!e;|n%I?@pBbTmA6B?@>sBiCv7O*MmOYq85 z{7Uc>>YO(Yzv-K7^D`aKZ<6$KaK#tkve4r~36?pI<7t%uG(`WXfFfiCjkchxEXDHz zq}WwS@Pl|Zv>p#GUum*;eLcB3>v2ccyL)FJ9U0g1^ErIl-*tz#eeIOYN^p7bF`CZP zAn5p?G>v2!{Zl2wil*tLMj{cU@#$TaXYqC+NyrSN%DPOm5FgYlmf?EuwkX4>FIgE5 zeridEnU1xHqzt=H-cYd$GBXv6F-OX*h8l{HSJ4R|%a9O6UL|N*L;y`|3eZ+{rcT{4 zkZN}@IC+0&N5g%FHJxJ>oV?tD(`{|2s_x78(HM+O_9G|8*oP90LspV8hu=gGH~vYH zNSM(-Rl-cE=r>vv2!W#!Tk$|76!Z$AstTt9mLz#zEEDE>@3tt+=;K*o4t{D$nAwgs zii)JtQO4r5V5c)mGgOmo(oDyl3PYG?rVjNS7^b)i_raR!mGt@P{m!*|e|vs%{cyM| z662@mbMVS=mSxGOcW1Ze?#JHizwVtJ!+27f~8||cedrLtm3__&1eHl#6Bc% zfRHd-LV9-bL@Z-Lyahs^J zIcl&FxJ?#x9P{HZgc)?k;GU>auuC*65?cR5!*PNLgJ$e@G+?C3t8;Vs$Wq7W$7AOF zJAJ(S{kv^`FlWs9&Yo@=dk!SU<3`Rbc9ZHlD03QUQ!$Ec zlw?P8TsvUH&~YgEWu^*kaPR#^Tp!u*JA1AqKTgi2mx~9l zZylar?9di#9vO$a+r$ITgH4|9STmkps$M$IO|l&dn+(_SHfIq3wi(_FfJsTxAnuA3 z{8Uq0)p(tO49(-Lhe#`+bcPUgfhH(QQFwvp1eO9FYpcx}|M7!--ldMsC)RzG_m3um zcMh*4`gF$=`@5&$W5D0Yw@0^o%1ic?YIv?AJ!Cnr6F#`^7f7B!Oax0LB3`&iVW|Fm zp-SLy#5J&jxQ-Rh0ul4WHiA31=aVxEY6@g@iePDm$LUibAqxyekQxmsQPmUxx(?uP zE@#fULUTvg6Gq=3-@UwDk#`Sgob+`1`Ydr8WxpwJ_RG&PHJQj6s|ZKJl#E+W*iaKr zQK?AOHiFVMC2mGVt%{w{wR%z_cAnKl@Ms_)Kw|(watcKN5h{eD(HcIzMpC563mpA< z0nXe#6^Cz!`#n#%eiv+)@OI9@wariN+3y$j?#0K0D!;!d#~PP8R!y@>dB}`h&L>G_ zL@z2|SNLXC)~fh*of4)%{KocZIGUGP1zJ-{h2;pD6&0L9Rwo2i)Cg5$8JdKe%C?Xa zq$|NYBd>P1Z(faKpdF9Sz!;3~=x6eJ|8Amc2b12(Efi0QbA2p`nFHEX7)6>Hvz*AG zVi!S)SnAx-hK`I0cVirGo!4R7^6J_YI*RJ}RArISd5UQ`PxA>KWMom~AV)xwR0#le zfe-`=5Hba5gm$DR(~IY(>J06i%NJz?tmjAKQX1_a?_BKP@89*G@A}jse>ooXxFO++ zwt6+{l?h#H%yJZqT_{0`c@?_y3R)Gjt`n6Mh?yh5%?WHAql!EWMS_=Q1Z*nJ5{f|T zgw6ns<{_59#j~JxC1bbZfire~o_wh9-1u>LC98dzo9rse6P%o$5qA*i7m9s%cd(yz z5^|vkBnB)eVE7<7dOWXmm3+EY(PEZQo1WE(I8}-gDNX@H5J06;ki-E z3K{lnUcupLDrT5Ahx2o1WsR-M9=m+@M15+)pNJo^Q9u#`q;L`@Sti8)&)$_cC$1#< zucGbPhE~*Yn-CvQ#C60Z*H@-4hf0k1cf6 zk@>5ttjw%TBO~z{4L@*@sH&#)Z;QQt`L5%&qUoya3;w3wQdhmJd}F#SXB!3En-yx+ z((19kaUSNC)7X1`1=a8j%HDb7Eca?9?+UliRlR}PvPTXH_sHd&@Ma=M6%0k;@uG?G zCfInppkjH=5-pU`EJG7NTwXihSX|g_rrWmL9&|*ZRJvR78N--0+@e*jZo)yQe;3{~ z9-?tJxPB1^L!xmF4#{?~Pr%L2!AsnHfVc?x$i^(^;EUg)-w%LOT}5(#KD)(7VQ;bwtAp1YzhRugQ|_YLa8?s`77(!&W1@??lZ^)7Bkv zlj)YyI>*_%Et_R|tM|ItK>9 z#e5KikS+bVAAl5}^+M!Ou#3B!Sf0;0$g)*4PNd(;+eWzYi~Uk_)U@lqYe${Om0M|V zhXvUlile6E_Rl%;qh1K=2Ya?rvVqn9gh82juZAcZ1iq7;5C$@aXtux|8Do(z>aEOh z!op{0k}j|yBYQ8QFbu-@;4to>zyfCYLBG$wJ%b5KV`WIWzZZ;ita>gJK=2;DQ8pnnb%jwc_Gse=$%Uf>iorOLk71m*{sPYi%}7|nZ*xk;V# zV_6jw2EOpQ!1F?O5#d4Md*)?p<4n+IZ{}b}?4;C;kUCC}-va=o!aOI1lej2nOr#IS z{UYp0_%-0 z|2SgNF0er=8bPdjiM%5=u%S+U9Kg3|+J9t8f# zn^Os|&mz&kiB`@ce7rJmP|lpmj`2A4C9;)M;8km010{llu z*-X>wqJNNql}#R)Lc=NQ_hySE3W}zjK`>P7m{;!T`ue^-xI!givK$4SO{3ZjZ@T4m z|Ef8xHq=a|p66}Ky(oup@(c%=nz>61T5sY!%v3M);FY* zxgLi3TW=<83idGT+Rj>&R^qlT)(vN^nr9vX&wO;ODN48T(IZTVyrOvszI$yC{btWQ<+kIwVM)`< z#cY2qlVx)pG@-9xej+v3;$dH(`h$9XOJ434+y8UCtq!j-8`049Qj$ zLF5J7b$QvbY~C^iihU#y_R+;(%b}!OK`uxCvN1s(O=A#D&NQu7XPk=qo_Q zuta-$GfIhc`mnPy#(vWDNKgVN<9-YyrXgxZMuM|8I^ty`BlDJ|Sv<uz)dXuB1XjAj7A)U7m3~p51G%AVF@1GAo$^AKqw>0vMkBGY62i+N#u3c zwRi}Ypc=a7TIR2sG_+0VKPp>e>+~g*Ti7|g2cLCrTDN!ZmEpIVt-4&W9!pxb^dfs8 z2_Y36N%4apl#&O>fBAG#mijlF+UzJuqm%rtg58`&)G^kyk2N;ey(Ee^XjQ>N6Gc1iAvx8IreR>CDA9D`g8Ex; zN@)~_4~MV@vLGjMA|Tep1XQ|7?p7sMe#LagY`J{8`0a1s=Iic6|RCtk;?QWyU!Rd{;afRGB74nEACVZSy_EgM!(x*m z31_JcEeZ1~9P)mBoNZSu2Myf(%*~hj4^3f~ch>92!D?noH@Sziv^t=j_#8X)(WGdJ zodj=rC&=Fs<#3i^#uA8%kIUO}2WBdEqLl=cG~!6{B;IMS%mHK*C7HEAu|C3R4jgN|1(ZYGs; z0H$5&ADy(F0*nNqIc+IODIimM8P16Gw5dya%N&Sp@22sXT~^BLxz+7RgQ>c?DUH_r z#v1*(@h$u6Ov{QSevUnv(Ceb_2bOt6nak!&7mMUHdN;X+aXI$Jh&hjdlSmw*ayfA> z#-1Gp5f;cU;%`zmvSieN9y|`COK-r?flxvTgHmz`rqCipQBu1^(x;5UUm$iznR+(7 z!K4yU8tgsCE3fA!u`813?n$qxM65Aq(}ObOSY3Ef2Z@>cC;IeOuo+?YUT%yQ8oJHh zt10-gSsC^MhF zPzOyyfpGkkNQ>|c#Qi5SLueZQ`41@Zo8v`O-`wyZyZrU_Y4SA5vJC~Oz~k~_YYbDP zW4dw{!rR=j=^)OWbN>KwiUgqg>jFyX1`GUbgSQ{6qXpp2Nc;(&r+6#$koy;GmTli7 zkyPTH3T&vkAmr>|x`CS}-o;GKC{9Z`=e!AS9VyicgBA1yYL5F9*U973|AL#fdb{|I zgPl_Rz>l?dfxF)-FWxVOXbFim@b;4QrJb}TMni;a#vMSMgF6Uq!ru&_O)Jm$F=?h# zOc>84O^geKJQ1WQp6Ak};^xR4KgA}Dr!UdM8e+MN{8r&cmNsjz&5Sc(Av?mq7tDBK zag(0#8WBaSAao#{5SpLBg)ICqE=V!NK*CDiS?$ik30~BIvhN84%q1S2$#^0KCvezt z6qA;N2@7nIz$N^{M$kLj7^sV|75tlsWfDI#$vGu%H9#RE_n;IY2DMnm)VSa(^8_)b zJ4fMRO*|Mm(&;@l^;$h&Iagg^xln4P@f@o9!0$DNVJ-6ZJYu@MG%RqRpk z+>`K=Uz@x3eG6Fm1R(p<(*J|(-yCFeYH4)P9Lqz|+a@+84KT1fKEvbmP6i zg=f9#)Tf(3@!`8~CLpm?)l3+4&5y*f#Dk8S{8fQ^>_M#=a5C4u{m z*2wy*?D`t-yH0l25Pr6^tb#Z8_Gehjs-)cofsLu{<8=<-K$Cc(#g|0G@|0GwJRQ@q zJW(af)0eS)ooUvCWk#wOXNzXHT(#Dj*3>DK7qhkD_qNyb+R_`$oO~Zz@Xs%2s98SP zKt$9mVSso4cm)b3aShvfTGao4T$Qn(<>zv;2Nu|!!Y~W6>x4{eNN?dG0hNI4N>>-yrwRw=a z&5L@}{ce{4buXH6I*hYS{5eq+?P4^X6G=h)=&)BQpzMNDqa*6kJ{g;x9yv^ug|T1U08E5C%Q9us7(8)Hq}I9AZk^ z^kU0$k~0y@{P-?VMyDF#7YgBYcHn)LVDcnE)=s)if3+_OB)n0+y<9hw0M6346N;q7 zPG)?2eaoLVsGSt`)22H15*Z5Xf z&>B}qXId~m`q(>or$n!SpV*OrmQ;x8q4gZ*voJN8fuSfGc{Hz00zYsLpZUGW>rYH( zE)`;GFTAv^6q0DdZ;geBHyyl>!}AG-+iZb5zDrps60h+kAi{xzL5uNjDk4rD1ctP& zX|$*O=Xx+GJP0bfE7nM5THNi$8C;CGC(xEn`UG^!sZF|2d7w7BSYh7)b06yBK8H9d{|Nv7N0{Tcn+k4gw~m*#ftP-N{w!`J21@ zdb`M43J2Yp`%$S{V7?WM=tRvs%@Qle}kJjwy~FdcACG{9tX+ zV0o6up>dHBKG;GW&#&ctEZ0>H zLHqFl=fVkLRH9LAV$$zPZ<$P-XO<=g>LqTBBp%)c-V4VuZeB#ekq#oyCCO)gA}CJt zN-Pf6S+CL@3Sz@pcbCGTS9L4y<9g`(LU+caf;-%Lr5DmKnGy)qUy8jj=yp$1UDyja zcjB-~*7uo6`!)6`pUejrbSz-VB(ulvL~EP~2leK0*o$~2BOXQZgdHcqOT9>L(;_Fy z;fR=OWJKw#7Pi>!PJt#B)Ac(|k94C_%M$TzrlhzvnVd#q9MCs*aewwpfgIvNw^bF6=Iyjwc# zSK_cwpB~>k?K}CuEPM}psj^uXdnqML1W?Uk5eiM$bXbVS2p=u1u{ZBoi}^eWER~&3 zeZnk}>?=SbXU{1`_5J(3^m&eEyw!<$$66Q#;XK+CbXxch9&BuD5Wh&?>tPWe@S55X z!Cf=5cLm^chGY&sXqPoIl_Tr1A zLovIRube1+<)r^(?_ZbP$gu=Lc+B=+KLuCctW|e^B_{pGi_*HRLm{bBS&~wvkTSb! zx#s31oe`emE!{~;k+oqq?=w#@GynQg=1CR@cfbL^kaUKJ#ImeVggXESa4tAFSM+Z{ z%GCC4UBYOwU{mp|14AnXu8%vwP9Hx~cSxLBKO zgkSY~aim0QENG1Q9%VNPll4|OI}>4E*Xeq<2_>S&4;X_b_kF&flyP#B;@24k^&A%7 zpme*-Ol9l(SlC{#v`TlOA)_m1O609^gYHO5swlnQ@q3KJu8Fi&cpFD)h|gdHtZWTy z!_7XBoCzqBFB#NTl>#*WGL1J?pWnkEL-__5v+xvR*IZXtf_rN>kNCmm*M4%3Gq{NNR41 z*1I8Yr|lceeWgNy70gCM{OiB|>#K`5fBtas=jS-0W(UU^70b{&OpH~U-Kh|DDsWvM zfyQP_;VA-)^p)Ad)yP&t$bncmmx<-QV68!zm;oLj(4^|t$vWU3d$a`2mOSVZae`#C zh-C#GYZii$M&jlsD}~`9xox5^@20WPq4ls`0`IG&{pOef3O)R#p79JT+_HjAAiOM+ zRsEln*>%k13lg*S$h;SZ9mBUV%0D>GG!7JMBbW2X7$3TO3f^02+td5C1k4s3&i?!hy$@?n26Cr={-F?NOVF*CYrI* z@Feh(XqioSPOTKL;clh}azZ(3rUJQB^p$M-lA=$)d~!Gsz`Q^PIxI#h6&jd&bFisUA(R`4qy_=B+;K;a!W=sMaHTK zyEHt6R80WEaGO0LD(&P6ghqlb3pY^AhIcGH{V_f8A5*1~eghv+y=&+gwHy4MMY|Eu z^zU43%PBVkItWE_S+(IXp(3x^@DJ8(P!Ng&xeD${0x;!zXQ}vpq+*u%dvC$lv8xGA zDCM462~O1t6EtuV>6L|%pz+?a!_&w|c$9dKjktC;;vI{PND-*24*Z*k`#v5he$#2d zBr6fUFjTY>4ID4%4@RTMes3^EKfLMV$sm|Lj$Aj2=Yx^!_=hKk%hx(+#LBb18or%u ze*BM7FM9Xl(tG^j{q=wRKKt$CZ-daCryt$T@BaJO$*<4j$?KezM=BkpS$QtSn>tn= z^!i1znqlYVWwZicW%`Yi+Ii5!VfPFBj2(uJ6P#XC9E`Kum1DDcV4hRA)P{$vAg0c^lRro|Cgkww_P)3 z(N)7?rfodVEz_X3#Eg{GIOaJdrjf2sP^I5e^#f*X;Nz4D{e?pr7ed6vM@k5`r?Oxy z|E?l~EFaQjIcnYyV7eHPSj> z2*9WUm8XK+a%ZUkZTXJejAdMj4Rg8vq$An#3UJBo+mMOOo!$int6fGP;}CXNYNh4Q zgMg4phM2D6#tF*Hl$u|Kbs4AH39}9Q$sM0ZWW;b9WwE|Vu>EPW3_ssM8Lmw<<)85I z5~OJmOPz+v7%z0f=;M3wJo%zN%XahJvu%`8i?P`L)xw>mGGRd0W|8fV*@|&s(*zO; z-qHUB-*&9%oq@QBi zPR^c6vM@6a;|eaqaEyJcfcZE>@ebo_uJcH5kQ*Z3V!aS5AMmDRuRo`d4l32Z0h(&P zNz1q-NF9&~f=ED2bRj|%#=S7dl3c+%5f;ZO6#Efu!o(pdgH&Kjc#r*q09?6^7EeZA zK{5)N;Uigk8;N{`BCG)(tIoB={0PrU@;J#eq|e@vN|!{}B#|5VRd7)2;-LOF`ura| zkLXqt#vN@E8N|%Hx87+b0i^7dVRvFDcgip&j&jOS>q%C8%&@MeW5&aICH2#yPXdX_ zwtS5uhaC<&xNzJm-$5hnS(LQ}_N23}L(m|6Oy@%xj90Rb@2dl&>X;HXr~#VY(7WD9Z#j<^8OMzetBq(~C{*slM^w*ERoSDV zlX^ql!>wKEESo+)Y-Y@>?<>bBT^()0DSVQF%Z9+L07pTmTZUK^PqbD-AQttQ6}`w2 z@kWLxJ(G!-D7O}A9z|M%YD$G%r&HW&(6gVEkDl)|=R3{$PV->yG{jztcxtg@+<-GR znZ@KoJOXO{6Uw=M6Uw>ML^4n(ttjCJo|LDAYCq6=0PwHoQSSy5Xh zgo%e8)S`G>(9wXb$w2TXMe)IeuYN9%$tyZ@5`0s-uJHf5g+***Ji*v-cX8Xrx}JBK3l>%N0hQtjZ3S zZpFhOYV1euNP!PrkkfT&l@a_7!V3%o<}__p$Lvwh({o65+vE{=#1>`{N`~M&tj4$= z#E%T0%hRE@*Jr`xTNO->9AQn`(DN|^6F&pShK~ZvhQP$!(UsucEM0 z! z&!uNc!e>gKS2+fAz+*7`#u!YFc4X02A~oIb3=Vou}Nvj!obZwC723< zn_8@qJzlpc7++U{qpeKKAo%M7|J8o)|QN zx|U%5vD1@Sg=D;-rw*D!s3$^Hy%<+uCtTE?C@AwSp^mi|us1PD(b8q%*5)8>Q>unD z867A5Ip{TlNX{n7Ms)SvesPkOy*HlK}V19xN) z&RZD;o&EOt`H#`nbv*ae%jn(f`QsmFZ!Ts(haWFrUVd<{=6}5jep$HLhjgk{dhofJ zL3dBT5J8J~_>D~9HKL+{->L(&I~cmcxxII4T+_L2K8{?LL#~~9VS~f-@g5`RZc$F( zo-H5mIj8N>Lc+84GR|*NK}fhMr)^n;_J}x2Aeo+rck2msj~1jYdo&}4ykKOVb7~lo z)jejD0$Nf&w0BsRt9ur>&3G0Z6bfTd*A)9h4ejnwCg&%EtCPXCCg=IXT%sh;AEtCN z`s%0-ICWf2no)~~b`!3!; z-#V7>qAeavHaf}zxF`9Ohtc)gz!0hW*AR21STfJ?R+atT3l9-n2S2J&T{4#6Q@x4ux)J+Uq%b)#m~D!L zlQodb{o%rDFVBWxcrwq1d4i0b=^n+QA$|ADmy7>+{PM3Ke+)h)7ngs1xBm3*^Q@7s#xQ;xP!Lx}Osszpf91OFk2lF=k3D`5>5Ac3`m8 z?QMwzgEKl}_IQUoFyPHE$Q^(7V>sB4p)|MsSLn!4yEt!PaAc@foL4%7OvPvGB*ecv zm-;O(_4{Cw|Fi4Xag+ZK>D_9cXvfQtoJPz&*Zk))Df%Ykb{R)6$FcOi>ORu3DOAQ1m+cC+_V^h9iL3 zc`bR9G0j2i{DJO2m)V|aV$B+5uC*|0lrfIyWezWA!j>h!I&`FUJpsm{;od~t;r#5t z*h&XR3yV8DFg`?vbx#hABg%OQvSepBMa50=xJQM;#`BjyH!z(SOc$`ndBM7#;JiQ^ z_4?)O=jSRUtv@u*Uhn5aqad<}Ch!1DnP4D|ut73-UYTTOgG}kU2ODHvPa`&8(XX93 z;F$xSIp722fJ`E0Y@-q8M+Vom(r(qHrX`H;6d6rrwpXJh&6)9?8Q+=lwUY52RBXv! zLJ7Tjk3P9hsbRgiE>nzNtYT_*J}&FcS6ULrHI4JCCi6P1SM7Ol+*4q>W?hXNbY5+H#`?rCRHYj-QJhgSu9i| z%@BL#u@sFlS4U;8UZ7_o#)_Kn@Q!@W2il|+AZTWnVJ$3u?SDuSuCILq}|S9T7nOsP(SV8R7p#C#7u|gf-*1U zl^>&^4BN`0f-+h_#{(-UbIx`WSIKs=M}f-&e1XjDpuN68ZDa?!Ptwu&f%H8qKafJW z&ivra4{AHbD0bn>#V%W57amr~f_B_8b9x<0t7ZCuSG+tImwPbGfSnXlZMDPfm8Hej zw4@uyOuTj91=-+M{ANwlQ5-uL77ce(6OA7l?RIR|3LOBt9j=|rCBw33tYU%n;Y8fQ z`{oL6EP$ZZNsGLSRhy1p%*>eV#TSLK5B^RU7~1rP-KnxztmGxV)Zh;I4pChqOz3A>O?THeE008|45gwe zvkZ)2;B99PoPqw07cuLC0@!@_pe#vX=$m~+tPPu< zC~*Zm$Gbc(*7}ZUi4cuNiUV3`V)B**H~2o6dA>(2S3IdabK&XH8VZKw!VaMY@cUWM zLqyW34L3R{;rEWTUjBtU!b-CZBK-Mnh>#+gMO%qc3^Ar8BzDngL}6$Q&M8r{$m8H0 z;ZbauP^t8(gFci6H42%#52wzDM#BjMO*%TMPt&sWag$^_CbrYuMiQ`p=GMvtByzNqKQgjJb{IZMB zfhsQHxl3;G!DDkGALc72m%DxwfdXUb0@nq+4u!*euXwu)cgr$r_5HFAaM+GXd?2?w z_Bj{SP*!3Las{I`r{PlXe?^DWysFy{Nj?kkjQb^COxMd8xZ(eup^N>@xLV>tYep3ru)`cXBs&jE*KaNEObn5W zH8RF;Id$TaJyyt70oY0 z30+kXu|k0B{q2XEJyf~!n8Nkt3sJQd$f3Y;?|Y2XB{~Q+#J~RQzrMP7^XCs2e|{e7 z!64`zW(-xDl}7#ca?IWq^=sz}2Z#BVog+t%>#ch(oI`Yv5uz*UjrL;*3Yk`@dp+MR znCz7k1dkk@a*ih{iYHMtcm9FVJCt>&8GH4g|Go2q{RvLnQN|o?UZGz*|M|bz`SIH> zqK@3jlMzE8tdKMz5I`E=szTaCME zNc5uUUZhxA2{$0`^x!+Y{##Ji6Gl!3HOz=C4=e2`z_`{<3w~!BLuN^1hP$fQ2O|$G zm7%2%Ru&SKKB$FU^7h&DtIOj^gN;Z!WY)Pn=??QZup~UUXHYk-eUHWYBp+vkf>D`3 zVnZKt^hB%OB1&nD6+Q!z{8M1jE)l^+66F%BcCJvc?%r@Tvo@>)2~k-nhl1W|=_mx@ zRmenPw10`#JUEZf*^uR+ifJhy3aqKPO>w_y2Ct)R8>c#YOC7aHU?%D{WXdudufVM3 zI@EZD2?>yKn>``f1!`Hh9?c90-Um4wdcvbn&c*Qz0 zBR8;8w*7EtYGvabT;>To-@cr~TijGiUMP;;*~OYtnS`ezTmKPm$wfEZW89#vx8xzw zKSsYsUnHejJ6#vf2F~gR&Jszmc48W@pO*yBs=x1#tNJq~?&)LAANr4Ra;o#g&;KXM z*ON;c!*n9tQNr~rIZ9Np1<73tYlbxMPl0}a&!%z?8$5>%p2G$oOxR#;&7BoD zJy@1Uln7>)#~ISy{^csm<+)sEC9()xh<6)i;8MBRKDFw=0KKLq35E?+s%y{!cV@L` zR(oc(50=%I*|mAON`pn$$=#<1P28u=2^Uo5q@HfUVJ5A7ri8nO6CD7%WT%sqQox}~ z_d_xRP_h=JiC1Lqu{pMcOZPO75-W<3ykM z)~;FAu6$noBD=f1N>dgIH7SFpAyj{tuENr5v&8sCX*$s>V^xDP0 zW>-yuuGRalTI!5u9hy|1HIaY7nwvw*3Q*=aQIHkDryM<5A?YYq)@ICeU_8fVXK6xw zR6@u^IDR$nEFn5bPqa!zYJe9zz0MI5=Lm^&gv2>Qf=5Uk&!MY-zlCZFeUBg&*kP4y zU^Aob7VQKUJB5>&Qh!2ik=e`ET=0hc+LQCi!1@%WT}>a%gWNJiwuB-xI%DVtFTf-Q!o4BUdxhI~0SU!^>|j|5J+Cy7aBkrL5F z=l|`T@4t=Qe;@J{*W>`63!;$zvN?y-V=Y85}gHQeRYO4DvU`6|l;Min}J~Q?=TnUYZfU5%J25h&O7PQ_mRMOma7; z+xJE%a|p*y4utJ*;x!WaD|&|aX9I8U&b-I{e%yQPJHyfAVGvCoyV1z+joc`j26Mxm zyIztvCJP8xZ%1 zy6${Vwl|&I^)Br|>{4C#Z;OwO(f@l_Is01f7%YtQQYX2$mw0s#aN>V-B$w&FsDmD- z9lV)&r)ftUoZ)3@SOZDz%*>t}m@9x@(9fG|RJ4mO}JtZzU`K!$1yNXT4Xx&gvSwjYMe0)xJi;t9n*q)lrTS|&2?Qvo2j+6`D*^&TMgQOH$6JsH6yM z+a!%i$r*yRFD1Egx@szp`aA3sN%f?2R%Eq@F=draG)UXVuj?$ReYnZ3^f`5z#FZ-~ z%GX6}$t12vSQT(yy)d`&43ZDofL@%q2*jLO&1YKkfmP7zDf*`5`Fr+&J$t~OJzyV- z2W&3cwwaR@ge06G%IXA+Y>10XrjiHSnTeg5*qMnvNG4V_obsSRE9J`Q=B$2}B+wNY zpVIjRtPg$fihu9S_|A;)%=o@C#;0agHN{^lzD|7>ZOI@(Yv|Gt%x$`3cixNXmgxgV zdb4@7$k^APF4ohJ)WNkr*OeF|^|r#^wIQLdkQT~S^OhJ}X}p-4+(YK9tKF&1Bb+8% z$vZZqGe17_<1;^gDEwIBxe$!Nd{G;T z2%9L|mNZfF(}QzmS%Qz+a;B2AUU${XUGRmievb>j=zJn04fcZ(Up=$lGwVIG-fxce z0;O=q+PR5WQ+^ZHI52bbfo?`$(h$Tw%;>D^=?Yh?Y|S~d zwKH4$`q&x^6L|P+4KBWmWcrb~Vlp2}Ia`b>gSs@jCKOTMng}Z5p9x1Xj|s4o-^*P& zGfLN=GnD}^wo%A~+gWG>d7MwAK%S@ZC&VVD>?wWr28WS^Bw|FOCdfU)A*riyttwq- zKsj$1Z4w!RjKv&JO6Gh$U!=azlXxvBGz*gxhZ=jB2lgy-=o=cdgmNQWjTx#uW=S?We7i#Bs#$a zjHOgL#p>=#&I5B-(kbT2qkqetB~KnX$7Bh1;r3vHAF&;?lDo2}UkSlG6$xH(N2^2j z`ldY$;>UI498;c6#lNO91>Av7&M=zng;RC79<3O(PnG6_9eOm8<)JzB6#~jd0-6foR)Dvk;WOYZ3|~RocdvF zzYiJwU*M6*cVprTT7!BFA=mlq;RT+&Gy@xerMy+welRyMeKU{B`CUKrgEK!c@dJAK z2=$CtM0rEzP>`qD+^qfu$2Lye?>fC4x44J9P6Z6Uzii8As;x$~wFP_|$rN2Ah#GT; zM94JyY}Q%wmwUOpO1)2Z&i|hp?b6f9!*z9~o*p*fsI;ix#EwVr?1(!P{F&gZWK&0Y zw%RS@l;l$@3n%K(|VUvFuj$NNAgk`gs8v|3w6bo-;f1_F~U%!tbDU-MkQO{=HRH< zJ%^B|?qj@4e&>`nph;m#DnhXCzFD*Um(iyvS-_IICMe;ock(i5qGn*3OPslq5^f-# zh0)?O&fzR*n!jT9c4}vTM7y%YlKF&*^jp!daE?&xw8xCTBHcdEktPhG+0FVhO(qJ~ z{7l*(vdt5@a1A#2ND~xP=;m`%MXa?3~o4*`@bOT3tOSb)RK1rQRX{DU5dC5eoZmk&wKNHl(CWWm%`$ zcyi)Wdgyf!?_pd>n)566fnz4V)pJ${bX9aGMS|o5yf@n<(qrc*Q-}n5;eLU|?yvKe&avo27r}uc^4xNdE z{y*zY#)NH*c~b5%;XbJMYE1BJObtY1ZaIY4a%%3el$(1@(_4@Ep+L5Kj3F~-lFyhV z=oUSl5gs&`q8m@b_t49AIGkVo^26VM`uXMLcJ}v+%RgsV|Ir&g+wOk6`R(Jo<(r>= zpZ@&oV}J73mt&fxd;Ey*2Mo@4a7<`uOvFL{{+FBeAF>X6udGB_0H*7)OxR>VnBx_q zv8)qyfO~e<^A5W5z=$!_W0uLivtHqMm~jz^q235z#zau$TQR0W)>z8hJ*IqloD<2l z*7yY-0<%xP?Ifc&$4qvj zjisdCWBp7ch%{h0NP-r`Dqz0AyZHtHhv4&4#$e5P3%pn|V23g=35_vhw0ua1sr(&Y zs%T77Yg>lEs3v6qH;xqu0?KCr9}9VL%=3Vcg^)dFnZU=A>^oL-fse`YIDRA$OymO} z%c2hE4RS_s%en%Bqsi2`AeI<>tY!x1Jufz!1=$MxJvj-uSjA9#6AE&NF>r!#GR8=n zvy>v7PmLxCA5%ezHI}kv3f>5-R1<}BRJh2Pdk5E}COe(hAQEQcSC~z&{B)1>V3RFt{;IemjOtoR$vo72-)XrnVaC zZ>a-_He)$y9cLWUTQa{YJTPFNF%KcOoFg@?j9(%xV<_9e(^v7v*qwJQ@{IP_Gkk&M zhzXs!7rjEA%xiuu1ne>P(^g4SaU@p;V6Nn2NtZU3+`pB90ghwYWHy#OnAH)453_hq z2u~;m#7?hQvEUOzIl%V`KN8$cQV^&hA(Vzg7u3(n?&lh7@}$@JimSaJO7Ddmy4Glv zYh)VA&=}7M_7nWf=q> zSF|va6>)qXGtXziffVsELb(4AGD$4+lCjZW&H==&d_mzH+M7OS+=BHCG1nx@4L+OR zm}>Y1swOltL+25&W@=?>JW}6Tk*O!_SV~?O8%x@LTj$p(3 z<2!cB2$PR`$_S&6w8i`FVcC8#6A)H z^(LV-wqy|+%O;_*bZN-*Aqk@oV?vxCaA^?aVF7R;4XO?q%N8W%o+ldY%bN62PQaU> zEtBP`DE|EFQW8Xp`GFNz1uVIlNkTC&G>y&j=TTs)ZX^S$xNn;kAEcbSgpF8i#|7P` zhqAE2(bm%dl}Rt*W4y4X+)2_r2o0o+@t6szI>@o4gdB4%Bzwx$kmCY9W_x;>~ZWl!DB!2dXJ-#J9+F*+`ymB<3ZeyIj*)}HNEV8 zTK;W$lm7ntUH>Y4dD;80_)G6{@%Xo3@%+=P;p69%FO$ji+4iI7k9E~Fp0d1)2GJ2; zTM4OmMwY*NEhEx)p2<0{`o0v2SeDPlhW|CJ1j_A4{^J!vQ)jxZ8R?DB&@@KXD zSuKB7%b(Tq6(~Bl-SEjj{Tm5kLL#~-p;w6aTz8^5)P_eFr`yg=gzia@}tyY{8~&}Zw;9mvITftu&rndpwnluo(he#E^@r5$^_1a1VW_`*^r>K zQr(Ww1S>62@t;g?dXQEGBS3|Y19y_uQ@oR8NZ?RMmsh5H85w}iU+X}}hY6?*EP$3e zp2%FJisabT!d1oSbI|tv4LTG$5&Hjhm!?Fc_U}Y_hVhqfSl0qQWnFjG3^B~%dz_2s zk+`9(fV4ENv;X!nP7Vr(a#R*hWQC6xSm4vE1R6Xib+vbA16VZ!7{2exI`5F_v-dTI z*+;Z$X3boyo^gx_K6VqA`5T4SG#_gMxiyWT;`S!mYFN5hUtc5XFw z=P1z{@t1gtZZH4*FW>*uKmAv<2`ePqp#?ntQ-(S$qksOF$A2O-cn_TOpZ|a^I$OsX zjr_pz$nMjOm2vuqKX!z1ji}%7$M{3Z<|aLZxgtJEO>t2=y@^uL%O(k)IBu|7Z#zg( zSl~wQ-+g$_-;l(_q_Z0Yq6?KIr7ggZC&?;GZ?$p$h5RFIeYWW#vY1$A_2S~ym6%qB z;6b}2*MCsIB0<^q9fW077B9X+!nZ7|?`ac|QOY(08kJpT7MnDlCV=%6|9sIYn??&d zpl6$0x7X7rsG;=Hb}2)9RCSX${n)+^%;jKQP^hwDqQKw8KM=?g2-WR;jBkx3Dq1Fp z@qUT(glt7(`l2evu{XIXE^om+2J4QdpiRtT3aH(7K3qT-Ra6Q7E zG+zK=?w6Ud!i05(D>$vnV@q8QAUAn3m8SJ%ldfk^hF!lKJbCgeS?#_&k*xZC@5!U@ z5E^{<`Sa)RK&AfOEZuFQ#dn|M$#)QSm7$+YbW?_ff5%q-9sNqyy@ibDcbY@PAE-?d zVr3Uel##R-%t7W6aSiAqVK4=SPIkMR(rbF|71{xstQ+EU(Lgv&*G;sVElBZ{pfJMT0N!V=K%{6gZNtY0BeivOYw%uu#&hcAcdrK~G^gYW0 zhcFCD5Hv{CB{I#DNNW+24EFKm~^4J03J38cdWElES7nV){ihF{oo0lE;*f+aubh=2AR2}qI zb!X#y+HAy7(yxWH8pz+5XNDGv1LFTS*gv z#46FE?krrLu+SLr|HAM0@TWBVM1tXUecaIT6OTfEmf5i%|NEJSBq7;_i;)1!&Q}2(ESiAo%qRD_O?u8c)*RnXcwp zI%Q-``^Xn=qRFsbqFG;8^d)y8^E6F~1CbkUeQauC*V(0wXpbxxvHa%o6p*>iBX=g&!;yLr3~`MY9M(Qi+LOBr$@yiy zkL1_Ht{4VPqSpr2r^ox;khE+BV>JmszkDjb8B9fs~XVorpk& z(Xm*QUx_TRAZQshQL+$1f!>q4DlE8-tc*^;F z-_o16fLwrb*VnX68=th^lQn?LwA}Hz;Hm>lSJ6c8e2Mk`g`K4)j@tP>I{jzQXr^V3 zZhC*ERc_TdJ!jFXSp!$?_%p)fnZR|&(p_z)gX;x9S#02XA)h^R*SG2V%k3r0QEUCa z+Dza5ci0J{aQD?Fyz_FiUV(GN#cH+Qifu41gSP!nZhJ?FoH;>snU^N9Z}H$Zp5+y1 zi^c+ls4a-*^L%x^NXWT4f*hS`%mphLeamXC$r(WL16Ey(Mv=H4wa!!%y3qZ!DpxDh>T@a-^W9Cu7Dm-;u==x^8m_ZoHdNoT_El)l}sg_#R zWm6n*P_oI0jPHiLretnt?g;F+-H-9DR^%`okhD+Wm`a|E$X{7@!-ELX*ctt@!%76ilWBy< zcU;mU-DVq}Fc|TLOv1VW1uD8|p)Hw74)l-EHEaDjp8de~l<$^!_d4F*tY_wTKc&fa zvJyGB@vu)G{VSP?&lBPQAYj&G>;H0b9rLL`>C4?_18&)uh%7)zjTRy+u*NHW;~ z)1V;62-@%Y!yY3|g!5UFLB%=7O++bZ90?Ty)y64D9q8h#F3~c>qlRE-#;I+gzkopynqXjgz&)xac z?d!)sjNZ8G$3J|&n0%QhyN^HKX3=drT)g<}m)*9Jfc{8IPz-B|1zs@qo zOUdKKOLj@(D&spUjA7U@sRY3=oFKA8YZLN-0ydYANZX+;Tdw({6xg|e-gbHeTBF%K z%C?T<_PuDbKdq5GJzuiPB%jVvvlglS&cLwxo zqrSp;OZM9tim8BW7JfF81sjkWDLD`gZx*7X3yBr{wId5*paBUXQig1gYnRZ_OOI|p zeksabVoxX$wFdkW$uOT1c4oUYmi&>bx6D83Gi-aLiE6MK?irVM2@T1BR;z!e5pPE_>!apsvEFN&LlEggssPmi7n#sL|dcW?_6ytFbU&JA76L z;`mS`1~`M-bm8a)~PRIHX^H$%_@K z-@Utgq)IA47~ncbwk)9S@m`?KxVl}=*Q;CU=J*4WWB-Etj>$hS#T}x#g-8=7D-3HqkhJYy-9ZeOl`C6`dpZIIzkvNFp;=qmdf$M2FtMPA=GgG^IQUE*vv zm!$9bhD~kQ@U6GOh6{iD!sdz$aE487*zm2Vuo+q!a48(BR`tv$ zs#5_(&+#w~0?IuEP_REN8i8EhcB#<%TLA_?+J_l#EzBqdybVG0%OO~Z2YVpMJ2K7- zJj|JrYr{*2gOH2WcC?J5*Eh?>ej$)Pq>D3XDoF5#EvNM38eURu0Gxi7tCw5IT2b#a zRLTgZVB?EG!<;+z1I=61`wW`BKtnd3f@WlE!F6+R>;z^A>Ang%2))H)oZ(akr*bF| zaCtc~)1YXz%L(9^T%fhcUcdmYrYx6v(nnh~!}PuYRtXL^xlY$`1H3#lyaq+^`YVia zfre-;v|2-7r7)o66%@DQCWitN^NV@n^;rv5fxN21fr{ce_DRiWAY534aj)>k1l?N; zC0H#<;uGR^hL{=Nn^11se9HcGQ)*YXQWnS-g{%()=nWd;45Vrdun-EA`Q5dXGoa!FLQhPn~t#Q7^#7LUxCeeC0sk$l@)xRFR#(N4&CH<7#2m z9c7&PbCJ4#dwt9CR(L6c3OlW(NLNrKTjjm*OUs^9BJ7#osxAkh@3Wg;?a;X(rNiHf zvD&IFt_Q3AmBb$PPz#VS$w2!4PM9 zu6wj9en5n(^LiMA6A~O<7EqPk+pl1hGxM!LRh0li>B`gFN-lf=D`yX~dc}rlEu{Lw zRWYO~!0wH-iXdRS`cW4~;Cp6kYVpEswQ(p7+FVj_)37YEJ zOhK~yU8pc0>&S`Z6_U?-?_;;(*!2u!kR1Z*Cv%Ful!j`{?Py4%Ct;rVreCPC`IM2C zO2Ur$c44`{lFlzs=ci=6X095CLa5qRqd}cQ$qnHwv#Yx!Q&cdt@C@U9m+_27(a}2z z!#K>sa1f`5v#d?T#st!OLYM)aGz%ne5pAY8d_EYA%%Y_6f_Q;?wHnc)%?8Qu>upnr z22qpfcEY`Co4}|>#Fpb=nhlRMUw!^|b3?*AEw(XmK*}T8+nY^$&(_ldXFtDvb^Ga& zQ=mO``eseB`8xR;_sc`*DA!5rEGdQ=(w2ChYgP}Nt$Fa1PF|0PmJm#?P$QJE#{yJt z6$B}`O7l?lm`RIX%nh+t=sFf*H$r}s^~#<%Y;>uBFz8&W%+0IAu>j*isQz%AQoesHq9Sf1M~tL7=V zj#swwpj*=?TmB)H7bibeH4jpU{q7@va0GI9wxrM+Ux9 z$32F}f0ZQ&t-HvB7&06AX1z$J#HVL8Fl*iQ^wMY$s^=s^4$ZRgmXFjH#lW7aH=0$! z7r>xY1wX>(Jhssdso#Bl448D9e2Soes$rJ{SG*6Gx2xdqzg+d6{Vjbyd;ga=?(>hM z|M>V~{vW;Jo152z&p&=xJAWMwf4d;{T{S(UMqt9+BhmuO=$B+TukTZMd4b+hM8usD zac*{#1xcjVDK1KkgKi%s;1tFosny41f#&@=VPS0~jYHn6b6{hfDuBm- zLE~MC;f~}3Vw*4(H+-gOkUeULLyPG_4}QWu=|9bQqxBEMQ(qKBt>Q0yK(-~Zj}--x zeQgl=}XCcX)CgSWCp%x3E2v)GO5B!Udn?#cwy8p6-M)W*kJsG5oWp5 zK;oA}*J8W3oCY8R&aOoN#sPTH6*5USo8@!w_fKzL4>s$+|MKQlJo?M!+Ij!*1erqlZf zCN~j~w zeT)?St9^JCZL*s+&9G*6g{)3$50tX7Qkw`PVm}(xOca4Z%6hFeK_s^%6?Hswnwnf5 z69T8_th5n5>YIUAaO%qgH5A}p-?7ahkU$e95;g#h1dk1*vdy(18`OfV9c+?WQ@>C2 zh(}od3TUQyT-vfp{mjWhxxWp-N+XS22F-T7Ml>}(E5sY#M621NT>3poO9MSZN)X4? zoYW$oJZ+TTaN*3(;_c78-YOysa5+m>TTUAHeCc)YNOXE2GST_%ecPpn6{%w(aKr1H z^}Bk8?zf8_k~E|`75LvD#6WE^@qw}u<3R{V`F*GDFz&kK?$6VzZ`N7DbaO#3FvDb6 z2$NUQ@3-{#cglEe5wG@+2=_SQ%4L9A5*?nRWy&&P5FmlP1Odh*%9vyxl$zk+@qmUC z%L#czqb9E*7U&b)0Op#~S|ye|NbbO{sG(gSINZq%qC_o|(gM*9fr$e`XkTW@d``>1 zZ7B~8%=sJitKl=$6aRQ2_ihd2tZBDukZBrrne4xIL38_N2Nh2{yx5f!SmjD=-6+Z-h^Jl!XxWruJ*h{`3;W>@Ige!!1NttlKP_wpI!BAeFj`qfBhFXQ8ZOO@O z*kii+4zAH1huLkmjd74s&^I6EI{yZR4AIK)u5Gc=f#L~?pK-JdKc~?K(s?v&L$8sC zY42MZq4n1!0%5v#WnsCU#U&?lqWx|f#S~zu(`Qq&}?{CXr{`Qy0>)%)Y`opu&*{j$6 zA1AMVn_a(m|N6Us`}x+t^q#&?zr579I1l2!1;p5-11*{~TMSzs_zOby$M_b{w;O-i zBxy7$Bk2P;NNr`y-fEqiIe_<8>Hze!bRKTkALCL7pS|5~44fBXaM|bjr;!>U&DWmC zWSKwpkNwE;^)m7^mqvt;Vw(w7wXqLZcT&?Dm5}J$kv4d$&fTc`|w-c|h;K27?Kj z!j56XN8g;X#IwNqIgIdwiqMC8&Df^L6^iV_fM;gQlddTg{}SK+41K^SLj2Xjgw}hT zT+rRVL2OdCUF0R=cQ;wd>)SG|jjF(e=}lV*8@S7(=Lv$r@5Iczx!JG>rMK1tRBH`n zhOEa+%%B$R#C(VMED3dkUKK=m&W36sCbX1FZJ?mOW&_h(HA$kykR1%`kZzkH_s!C9 zDfER9NM&QmsOVepLQi4v3iqV{ToT#($jQu16FetA)$cP(5~gZ_XC~O?DOXG3#%v$Q zG1C<-FbE}VCcgx|I`Jc#XP*6k*@n|!0W?dIb@fbFI# zz(%(lf1|A5R6I%6SXwXa(6j9VAHy~R!6t8p{Z*MkN`eo`EannT; zwn61KS}qQR%HQ}9O+bZAkn1&N2P)UGIH76uaFuM)56$!H(3vW8DR6x(o(tt>4rT;6 zByBb2&d=M5`1^&3~5fM|nvLQ#TxfjR6}Puwrz zS+hoqhhA99w9VpLkLw+x`9xXx`34;!i-eYt8d<=g2fCsD;|u8ji`@PAo*H7hVQ#u# z4{zV!twKK2oARTOkfl=8af2b?R@4>psPtZP#p(~ui7E6@5`oywgn#>oMs3yw#sMMV z1$?3rKcw1)OIjCa~}zv{aQTQg03Q}0l%eA&E%N01krg0G`=ML;P)%$e$$o{ zvOQ5sxm^}PN;li>CY&x3y7{ifixK3bKkt73eG&hFI*c!QhojtJ^?4jw(KJ$quagxV z2jiscUe6|stis^x*eLSUfcTfO}`{u{R7x&{|e*D#Q!;h2M?AM=v{j?3k z-G|{@@7MR&z2DOhzx!W4zjZGRvQGXME@2dP_TofbJxQ}&k5KdlkrFG7$-OX>5=iW* zi(MmG%;MhFWc_*b%f;p2;vfIEjHf^T_2Tl!^ycr$tL)d&vzxz$i_eSAwD-{~&tj(g zqvck5sjR2P$;|e4ec^g=m*(i{N~GCcCNs1bpQALcAH{D;dxrOn;RzkKN}BNFY3Gf+ zhgL4|aDm z7gGd9-Ur;R!^uOV8~qx62|-yBZt%^D+SNQm(+OPbyU}c!tioBmTr=k|&{*Xf(Cd}K3p zSw_AYpPJb9nAg{I4bviT4VyPl;>FCkdH4ee_qyfCaJi=%XU6Gj_MxS%-Gw_3E|K<`Q2C1)5mg7RIZg#peYX;TiB z$t%MmIgip8sccz4?PKZ2 zVwN+^9nsDUwDY9VchKlNxse1uJit@V=lho4yoIBsvUwdP3uV%JPu9TE4Cl`UR~=Zo ziY9vJOP-A0+F5F%soii&xi;Cp6OxQ4XSDWeJdcjW? z8@OJ`XOB7GWa0PKX8P{G<3)O{yRSCMIoMsSR_m?U2IDel+wbJIcSrQWH;Zns z@_k#u4(*o5ldz9p<3XB9xO+MUTm<69Kd|DIiJ(#LL;R4X!^3F=J8KlYsJKf0=|Uou z?k(}M91?$Y))Oa9BdyrzcVuH^!M5IPeEpn|gkbS&;j9Mo_vM+Pg;J@x<__iNge7dE z)G3;YOFt-2V({b<7sP9Bjp6)ef;UTiTQnP=e_02YEa2ChQ{Sz184$nPXZi-u3cR8W z_k?=03q~5?40nqBqoPfOL&eZT+Rr|#idY-V48kt5+NRhTu5uV<34n%lzE5bj^ z5S}!WCc%SPYRLFTS*f^5Aofx-Yi_5u;8AF{$Ke09{!YupY$qvAbyf-EB;xApQMq@0EckA=C8Mh zGeW~vIRB`O+ZcMNc*O3~hjSZx?H`qaLmN#$R&| z`X!%f2k5_L=PGNaovZtwTsbjFIR>owl?HZ)DuEMjqw*ZA_c)N} zfQ|(Hzl`TV6Ls}OjdI}XvC0L0l&v1O(GWvc%+y2-gT72w;_zR~a6@V-PtMa~plZ)g zhmxiuQsS$MSYJ;M#!|T+(<~i$dNM5(v5S_lJlaY{rhO#&95P{fxm196$k((95dGJI z6TrGMT(_fS0=SKOgj0pufk!w|zTux`M>uJuGJdY3%THr~6%R~-Z#W0d3O)L7;YH;r zjwuzx3Yx8HtZP(+7Yco&)w(r@e&p)uh!QHg-sM{>cbnhFX3O0gzQ>bHO-TjiaJOO= zpp^`)e&6gk9t3viV)1lLOEZ69<2IF=^?ra1i8f1X8rwIv+0;?RpXNdS_wYNB#fqn-O-_8bvep^-~`g=UsB=LL|ABT zVmzoaFj-Z_P}hBHe1OLVY9DXA(=6)>ybD3WxlDd9|MDS4KX5_Ov?~?nYNY5#VKUAp z>U~sWrnR`-s1}zqF*D&z!R&?twY-tVm%=sq3DJLEtEhR5G_v~4zV&PKs!igD{|ic#-h;jSxoz{=)mBi$t;AlG*#ENH-m39j=ElAry^PrrEjS4sPZ{~U^ZOkyo6;!YK+Gn zoQhAayH>8R z5)>98uFNZt_}og9c07xoa!`Qd#ERF*eej?<*C$5r5?QPXJTK*0Ux5IzhY+@}8gp1Z zlGm^nU$U~C981EK0~sJ=dTAZFmUM1K90{&4ucSe~(F3=T)i-2D zsasZjUoPbFt?Z(HTdty>g&F$nGOEl78$6D!Xq{87(6d58{GLUbUUYXS_x3aD-^*dV zC$*i*kk}xi7a(#@Plc^@P`o&srpbgFjx6p&fzITCxm@wC?4AuHzD?Jkl3AQyDFe4g zv1qiH-HT4K2oluqi-Qv^oXIM|rd*QwOBTUwP}9A6)eA8n@dF;PnR~-m0<3C~pirxK zAbKOS=04C}wPfJELIX3Ol-U&?ww;Rn%94D8u&Vm6S{>a`WELCJwvlZ6K7($$ID_3 zWy{_Ya-%Ac+N#+C^wk}8aKXn=@@VsI$w-U*bY7rAo{BMAV}YtEUmd{UT~eAetmGTm zpy9~|SbFXYyA-)Ug~V+$OqQEZ9hf}SPH$}wXCoNr^I7a;kwUgAM%bVb}Y#Hi=6 zdWb2iF%iFB*hO{Ni$FZuA=+)%)Ae$*i1BrR%P+pg?ZYpU?JuOkUW>8XBGJP!u4O@I z*VuR-r}1hEl^>)p-^=B?3^sz#leLh<9Fljt*S9ztXng)H?oR&!KHtI$b&Wdr)vnoK z+;9Sq+PKyC%$MhW(P{jSjdjI_8uQ->99vk_;p9HG^)2_Oa=B_QkiI7VNhKE5PCU1B zV5|0^Wf{dOK*`TD?tPoMXGbHEj9+_Cu7~6{!`Iof=z@FJ+cy|#o8)^3UB1t_cTb)o z4XT@}V6u?0jZHr%v+EcKd<`6n=lj5f@W0@GXKeqPvArUvycg|L89q~9pFa!e3Xsqo zZMV!L$Em~WS=Tf2pOOE5_fLD#(D!z@m?WOG<6E-#Xy^uoFz^p3 zN_t9kt6TLK;(hQEw`m;9rR+7?q2hAiqfxHJAWc^CJxHKIec-+Y#myR{upXnZC9R6m zh)1PMzY=bvYe?^@7{ZFh7z_@WTnNCgnK;YOl^#CKwBDyv0aEKiPLE{T1-6tXvvMx@ z6|km4&Lfp)VGk+H&{HokyZ^hR0-p4q_HI0G`OJ{c4Cz5Kq%u*UiM?}prY7QeyrCZ3 zOJTnlFM z9JprhW=XY93qp~^(O)p?UEpEfvr*cTv*Zv~yEpEQ1nv=DyCfyv8$!WaXYao3+=ujg zWksY747{$41_CF0ANIU=Zx*+I`E&Ag@nZ3O*}q;7ul|1FZMQ%7K7Mk3x}FC&AN?2G zzmIwsrDB{Uvg+vD$Q`l5wOhmSUkaIl0%Um}Nf0M8pDqxrs0*#=s$NJk*od5UZtxGDY1GYz*q|Pz7^6h=rcvNnPoqUBj0=wITdWI#0sUS~RT4*!=^~C&I&H7-jf~ZD0?k85 zDsxE#wJ%|?*)z7^mtxe`BwrBEYnC|el~uMhZ)k(nO|3xGin#<{zM2a}&dz2UyvTy@ zF_hlrnK5ucU41ITz-s+Ey}ZXfwkD)8(Y)^&NP;<7>lc5Fq$F6>Z~sb<<+Ort8?9e% z!?{cFMX2?gP?WEr_Ims6UvDE3aac#z`lVM0pRT>^Vf&X|Equ22%17;Ac}d`8eM#j3 zh-8J4d-YfR5QMX;o&~iR{{V!uinhesOMd{;S{(~Q?e#wZ@vWLRwEof`g3wm3iL1Zv z2Ozv1D{~Dj_aO*u4ju_YnIJDMBJ2!Y8TUo(2Oz77jDUitm4*k|*8317w0sx>g7Pfc z`^k*{5k6q@6i3${SaikJl4~7BSC(@RX+g9&dp19Y}LdKXup*|1R2kY z=XB*E&7!g24m<=ouMGBT?W6j8@Bm~zH-FfZJ;1(edoA042ojzR`I&7c{<1|^oPE85 z9)OhR4vTkSzlA>p=`JtbkcG!zHtQ^&;lTF&R{sEGJ1f0oXOaDu{g8#a0~B`tLl)|O zT_^h~X8ngC)Y*`Hv%jO~1CZ#f%dU__$+ql=Aja7kI`iAkZj#M@tA7XrT;8@ySHJ$e z*P??5Aii1ITDDI2yRQTfL1eShcecG<>?f-S4?tkEp5335-=lONnMF!TAEnW9x?Z7m zZmDM(cPI1v=6LkJV~@9j;V#*5JS8*vT~%lUeB zi=eXHtXEKT`iJdy^8!tgIF*gxk#G3y=bmaMMF zmt+|Dlhj3S6%?%eX*3nGg9JVcZ?%5+AY+5+>kdKX!^#;LVjVP~h zSLEF%F`i|UXLk^odwysL$HVXFZfnqe?Dc9OlyBMj?jrjARwSgQU*>Q!eH!?Y!_Uer z`V{m03T_~&dx~ddI&SHfy0E2}_}vvAy$Uiw=u4K6YVO&#ONI_JL_^CcL_di+*8T+? zJ9~ebFj$gAFkb;j$khB_@?MUj2g*>C<9~+6xpSYvP1DO`W z_%)H>lPrTIxY)52!~;5s$4(EsiB>xX`niFvN6u^V!Atf%GBw6J#5p*-T}4Z%ctd$a zb8HLdrLZkD35oJ5u_Zt?7Wr-A%K*0Z>KR!U=KNT!sd#4fC}o3)2mWE?Gg*bf?=Uc{ zZk_LHAEE*6-OW0q0${h++AwteJmOLFuQ&t($E}QS6A7l5PCq!^>yv%asufE-@4mlO5#SVQiResBBHAhp}&;MMa$BP-7o42pc6| z!7O#8({@DcLJ^X<0q`{_o6A?>4Z4Je%XoXUE|EH)=1DrJO42$lcS*`4{uK|tasjK6 zg~ZZRHQ*y};%NdQw%aWlA4V{(#r&1ha}}}F)p{0N1x3raWv42jHy$^dEt6FUVs70} z_+?DU(ZvqPWuTjpw`tU2Yy0<{EL0*i+FwbvsdxB^DcAC5(q*R35zVgH z78D|4rucS6KFP^BUfo2iY2~5sgqT%r1?3ml{TNc^TdQdicSPhw_oP+4=u({(&v@ddm7p}redq<|8*jPt zsj7YfA6`p{x{g=CAFzkN>6883Ctr(R92+Zx2|Yj7S8-rfwXdRmqj$FuTteubyO5c@ zW*X&MSFTcSxG%5RED&0RtgvaAT(8z?9GaGZ2oLLs-jP06Xh?}G1`<~!gu-QBM~>Ah z$DsJjG{%e(Ng(qzx|I=6x=@TOU$Gf1*}F+|oPS z2vZ>$@EXoNxYAb|x>OljRY>S_o<F7)`p{{{{NB(9cCanhb=;ASr0k!wZ>(N*Yg+ZNZjm1V^9V`Be$Nj9tN9G@-RZgb zOkJIFtwTnVUvrg~=-0MvH}nBF2T`8?{$yU5#8=A5tSn8`7(=FNo>@68TTu2DgyklCWi0 zKc;b2ZBPoDufJ>(m(oY-aaOn%#8J9{oY}C?%o0&89%5s(n}$ywKJyLCb}| zh^;<#lz9Vs=q^Cyq9?Bn(a0{m7vH1yy`$`N!53wPU98R0KgKKlBh^g{;7uc? zbHFxZ`pEJ+9i4A6|Pd*l8p1S8;7;ZG^8-~ThxVCefn9H_NjLF zXC=My$HSw292W-n6ug6^y>eO&>X{+3>yShnFSqeBdx=gcwE468?3p-68FKgFq`@M! zsNhyKy@}!*(RcTrI`Qtgx0wTI^qGsv)t?nya-{Jvzc5b-NiOn-gp-LrooF_D3B&BM zMLlJ-3~P4lZO$ zf-3@7ybu4LeRi&X_1DjS{q+0C<(Jp)@Y&~I=3ho{RyU(hiT})9POk>PT>kiKa;-;r zvB($pRcuCwP5r2@K-W?ok7R?(o3bO_YK>0V}4VhzKvP zV_v@zPUvJCV=obcH-78!=C{F%r#~lybYWekHIQ zYq&>bml{6IOVl>+C99MEj+5KN8&ONhALF0# z41&e~!uz!a(r}Oy_MFUSix`58yQ}zmy-g~>;9#Qew|VNe&yMn+O=Ga3qKR(Gxp3b#*Od21+9eVe`I-+iej|nvPmg?f9wb&Ccoa040jCTongs9WC3tLf zy9R4}N@B;zB%~&2$8Ms9i4zGcP~_x?x8Bj@+Huvmg<*>u6dn))pb5g@GtA^*h?&)x=1Ovh*sA- zcqi3(^ej0;bxq?d+L!yS*%;aTOEGjCVYYwa=;OewB3$wWB_o?l_+fp5dM3tDfg_zeSX>km7WiM# zbAA;q*)~64T`!W1CEg_QW)y6&z->xJrO$D4eZ$!eEN2b6WomG2fDXhqQ95vQs`_=x z;xWhzvUS6unGAeg5`r%8h1P%ko)3#i0fxO2qqct)9GzkGwYMHO! zp5`C%jP`|-btQJe!l3Cq=vR)&LGw$vvpD$>U4?N8>=!vi{~F(2_{s!{1N3ItLs~wS zM}0Gidm4#@Ki&+!Cw^;&u>FHH6g{GY$CsoooS@kzn#L8-Zcj!M&`iQmvWk@|Xh`3W znvk?=ROwJ^S=iU6*Qk$-UzazU(6*E}5*OkvO|h5Y2olJgkgT?^Wf$W6E!_TzPY;66 z==}D-+82!&49yyBy_|s9v9V#x+GE%|6Z#1(dj%LpP|hbe41!2ziQXSrE0w%LUHK6P ze>@dM-P@w_-n%x5S6Z8d>|Ar2YYrSL0tDpm?gsKXWLsKS*7wa0NLbAq{C< zr`6Qw`+GCufPPl%A?woN_bWDTCCz?ak<&tYRKr}cW&!wPnAP^a?c|dQ^%WZIsTiv* z!b~A&YARlaeo)%ldvV052>85Eq-Q+^;Wnrz6cN;rMrh4F_|yo|I7{aj?FnSpM)%D< z>gFEl`dffQ!kdD&SQ6)Al9MW23Rh#VZ^5;m8P`6fi`R|RZ#ztat98;gD7uyIxCp{h z+u_~pnU&pe+2zje%emz6&YxS9W-d&GQgqSyEwqw+ZO;>zRCBj zuB|}nwJRUz{G6lNjMlm%WdrWlo`=)MN|hkUK}$bYCL$73UZEwg!uWmH5}gv5nJ0*C z$_^HIUf^9Isd33YevZA%LwQPkn#D~VT;CDb*eQ7kgRzW!u>Ijp3$Wz^y+adIE%>@?>d(7^GX@8HHXL{bl>2-AyJ7#8i+#_Gfv##_xg$rSTa3^yY_;AAfuMtp7QP-;XZb z_-|i&;q`xHuYS1w_~x&Jw?9Q;(p!JH{KeO2ljpJ)HKV>GP3H0l9@Ono~_LI4duCvQE{col!nnCAfexgu`^(smm!n3AcF z|60YEwG7CEWrTRe8XgQu`y`#hUnBBY22Pcb&5Dej(JwnRvG3=2GNl=YUD6`mW}8Pf zxm@sl={eft=O|V~-?OY+Xi%~M+Or;|=FB&H>#SLp;rr4<8P1q;Iq7SLFCMZds%CU& za?LC_W?i!aWMs2Il5w7?!?Z;OTbujst$H;IGxvb;cHjzK>u!ZHY6kT_LbS?wIiZd# z{gEYam8SptuuT@p_ICV%j)a7a3wfNjXk1SQ|3hSnZ~DBgt>m>KuTUjInH-f6gT5sw z#51GyD>On=*NB7hxdxj#%#>8mfpuS*xEU#-UQ!GL(hzjwRn##Q2No>Sucpkw183L2 zfRNUAe2}(a62FS1-PM{E0>Cx0nsdtp6%6@M!}lyubukwfsCIB)h$W#<&eB0^1!5Ag zxb;Iaf?`XDT%EpM=(Ug7dMx92B{lzH$$XlU^=k7i9h)jS=rPm9b6P*_-i;TdTt&0` z=8FKTGFQp#uw20N_1`u&`%I5-DuXAdX#U0rBL_aw~|H7xA;PU3MmI;_|Z({)L~5f zWOwW4lOfatcMhQ9xW>B}5jMWRE5vCW6!!Q2-q$Uy z!7OnGOy%W!H)w62*D2*}X3<2~*u15E#&2(+`wvle6VKjC16g9q&^r6ax)do>m*VA0 z0@27tHGkpu3$y)@x++@W+)?uWlucP&@bd9<{?NDjMzjSJDUc|n zLYyC}%Dx`uGnJeGTDHHSz0;OP7FA`}3OZZ%!fW$hfD~+8PMF4@l4^C5s*PgV9ly=H z6O^jAv{i%BAuQK?P{ww^=$73K+Ps@!Ln&VGYCXd_Yd$6M=PEl`cf=yUogjB2R|}pG zbjwiAX-AeL+UdDdEJ59ig{2rA!UASxJEq3rJOx#YSe6s$M)zCsm3LFz`i-vriS1Kx+tB0~uUrevQ5WdTrLLEbeMv z5k1R&N2gp3W*2D8cXY^h!V6OIsVk4R+h}@2Hk=!Y?hST@fDzeCz&a7)hAQBKp2eL- zvl)R2B?mot2oP+iD+|78T1r2sswlq982jrOB6rP zQYpgN3i4E9)bpI&Jh0>!648&{0V_6h@~eVPD0$`P2N!&~@Fm<|j4zc7Y?W3=%Y9i6 z*Ka(w26RU14(X15mi+oTr)X3DONROFJkt&g>ugq$R{#{M1E|IXtnjng*BQuUJphbl zXJTg+taMke0u&L|X5-F%vrmNIFM%0IBDo{yC>|2F$!eu^Ovi#lVs`SYF~{ui#Yh*K zV=t#*zCssUev~<+++uEJK^dG>ZEPb;tai*Y(VpIWHt{rx79kSt5vxH@^dM|!WJb(> z$^GVv41B@IHE5EKvgoQy(c;cS$dwjS7a(oP!=4#?tK@$s&PvB$XZgg%0ykMIq<%2z zRXpI!7Wg(x+kIuFiyw6H9?j84lM0t%CC}exL+*=#B7nDySlzPK)&#tPrNm9(mFROL zT0w5L{TYqg7yu6sgs!2@JF&Ai@z@FI7jCx81-ou5P-8jjx~zrcFmnUGjuv-fE#MZC z%#kD!?>11KreZH{*$8Kd8?LX7c*VPkHV$_Z2$$Ji^`lLi%$`$93nE69O)Fd> zTIZWi>c*EI)j2kf2fIkq==RNe^#dC1_}ttwY03pE;FHZ>pw}v-nePSdk6}UYq$G+* zB>lmmq>qG^Mcg>)W237YiZx5J%_6!DKSgO0HJF+TqTm7DLik{{%yWknd#{(3bKmlY z!>U<1_pfIN%!zy>#5KgqzSAe_9Agxf5l)%6acL-vII7AB}^ ziiC%l9r@^++nab9bA2R&C(wmTk~Wkx zVGjG{F%HBcQyEfkZaPJ-mBL$-5iy?nb&+r5@4+5M*SJUT$v;SX_UfE@P>VB{@TW2^ z#*Qj)WU)+_GcjU4X@rR#Twz6HE%73TX(3daukTI%EP;hZ`ZP!ho-NWQD23TGJV+a% zR`=*>_M%V>0uiNBD3}4HESEezN+l1e*D%HzP-QVUC6Y0l8nj4ZKZLd~u)#*tuwU}7 zSZo7bpLo=&d)r7}XY-dgmm2pfnlukeW!02(Nxf87CPWf(UD7M6@)M|LNoJ+13y3Nf z(2V?gMz(uEw#NLHYnM*2VU!T=iaiYcQ8kY?>|Vj#DVTP#g}GlUXkOZ)rE1Wrq6F;X z&?7PO;UdYlF*Q~PBXfYMQlpn=t^Z-W-TWm^SMh= zNtDJ|^%-tJ+aha`{J`SGpywlz(ua|o%u_Tdh%s-`kPTg8?k8v=C=FV$?q{=J&-Txf z^S}{hOh3lNZ_G1OqpL@qk#2v9Ta{WdcyhlPymK2$_Ze24rSovR{ut8=eV#d~kLHI# zst=7XQRny2_q1hktI|y#jT*`DGvs>KP-JQ&m4m}cbbVj4mkwPK7DlrWi4Slud)e$g z3@SM_P*kAxsMwG!)a1yCTPx09LzmNc&KO1HmQSshuM zu!q%5qm{FU)vewQzNRX^c5$LG1+d!XqY?^V!YFU0L2_lf3usgJe0F=^jO(+W%O)T> zA7Cf1*k?%_pPK}G9DW#X-B~=3b_;%7_t|U0%K1X^=R@`iV=OL?oXhu8VGhnnn*;M% zESmx_%aBEjnx^8_-j2R;D&aJZu_#nFBj9hL(#Je8zwX359ZuRuRu#4j+^_Y?tt>ki z)CS^En;^F!m%z~Dcofnu%0&7HW7Bk(ZP&|+*hCte_he9eDg%8gNVKUi5kMkE3L>*0 zBtEQ-)4nzfk~yt-GGJbpzdAY;VNHIzr3mZk^esF2%Aj$22U9v^hw0XsnajV|E|z)K=hZr)i(GHvHp)I` z74~a@g>}7~IvcQ}6BTkG)S>~hn<$NEOs1`)Y6$9F z%S|_J5m0TGiGjnK!zL`sre~xl`3vvyv9t>INs2HmqfiZ>x1^@keTL;c91SeNIz?fA zEt17y(=FLt%>{bMKbN?>ww$&oU0amat7P{@JXzVb1k4%c^bxv0oe54W9rIeFsXc8* zFE}sd&rNpV?%X}H!)5KfUS+@+1vX5VL*O|U#ir)K_Z~WspKT>wk9tktccLcSW?Rk$ zc0C3yxtUD$bAf5-aK{!?=Ly}Xj-d2y(5PYqxri+?Xel7-v|oufCBs@mAqf8<%WNO;(b5=7Np>A&Xm{gQh{*s$O2Qia-$=p{gc( z?O9y2bFPGFJSETVg&6X!JYt(tP@wklw%d42*~tVhYzoF}nr2y7Y+OaT;ec|IL-yfc z_xkSMqFCJ^nSEuk8fh>3ZA@`rE9XOH{vg;17Evp)lWK{WX?O?8Uvp+CXNGcSC=Z;W zRN@dq2dp+fP8xoho3vA&tiww0!x&x&7%5sjStZ$x?OrgnodG3kfERew#sPS+B9AAO zIz=^<(;Nf%!jD!&l4>yqxmhogX=5=QfJn+mDKb_2>b?g6PKThR4yy{rfKgggy0;R- zl1d%0*IX5vOL{vnD!MQd0?>NL|O5c*vH*sVyF3#UK#kEp3ynqD^+Q)&bSGRd6j4Zwa8T=%6i5*-b>w z(+Rg35&&?@)P{sxPybSvLH3AmIkL^ zBIZ43gFcJ52#Man$S=vj?c^Y+4`ghZL|F-zG+WcB02m^BpJ+rQ6~bRL>J(wiVO~;- ziG%A$G*AN)dBLQMmc{ay4_u3YF)UsdjTzyq%O_`VOD-@7!@@-fpzSP~^Y#L*WJt1Zym}c8#)u{UpFVC5FSL;xA3e1j3)3q{?72&mTbP+A)ke>-N z-htU;xPpc&T5yDKC$Fumb!yO$*tGe=XH>i*L_+{$_8u-Ry359Tg@%I5U28!@8N_{q z#<>4Nf)?*+q5-VvV<*PQx5zCe2O){XfK+g&IW!K_6xY_??tO05JDv{l_N;$A?R{MA zc|7f{7vA@HI-m}QAu{)9K}h=9%h<5n5(SeT!V>YYWBhyWD$6`}4KRQo2W5k6|&DyujfHqUv7HXqn8VN^9AwdxllhK)|vkTNW%d z7TAN`h|R8J@lenU^g>{Qz-HyIVJQF)~B zOzfM>(CcY~3Z#)|$^m<@Fk+vr$Q)+dDbJFoUN2Qwu$mWatTriL+o2P;@4WpUC*31F zk~sdbd)%cMuQdQ_ytGn1C>24$Nh;Z+ zM@wo%jdtiDtpQ6bG6vbVTbN-F;oWDR!?+M*9YCR*nsAE@IP4=)zfDdyPOo zOE^W2%vmEmjTv0BPU5#_*up_x&u6x93ZLgfloDy;v^Mb~hOdS!0r1eVWCa`;6AU~j z-Cv^KZ7dV^^&*~#v)o44S(gr9C2iXw=Tf~B@Q@?|IH0A0W1PSLd9v*zl|5L1^1%3BdDO)iId zU0M~8@7Snt$4Fy!Vgp`U@R4E=us{Z;YR)BB2U^Fo1X!ji1VuYEVJYTd+nNwQ(rOAP zE4-J9(_IK&r|E90$N!CNLFXlIZGXX|KBI%?{Qr-#z>>*p%yaO~GS2{7kkUn0?6ahe zTvdpsZ8jErEbGoR%v9g~`6k)MP&M7enJNqi8-Xxm*G2c>drn_CQ z7ax8J{I4CgfE51LpSD)2jJenPUsb6xg0gQ@uRWhm% zJ+u8#Po-`}^`F?N=R5P)iSw|DS}YI7tEO(ug`D|5ZqAh`iP}Uw)>L8-USK{=yqwJrDa*W@N|?kX|pn@!%Xb`$)tO%_n_?>+0- zmb0|}fpdt(o1UW80I~NOx<`V>y-(4-b=>=&qs>?jYn_~e0L1Y)0cSfokB{$~tu(sY z=Pg|D@D_}p!WiV|l^CckP9b|JBB(0UE4$5Vo7bQtPaaZo^1RI=nMNUVeF>B66@pNh zOP*(m=`5-F@Qw`6+uMB@Ey_I=|7ntu)x+~MGH98c*$c;xh%M>L} zWVxNDK=84{6%zT@=`z}G$s`BEYDF0lM#bA?Nq%`DkI<$=Hm*_Y_<%!pkF)QA)c!i1 z&ryS}d9~}d>trFS4A0|uhQ!-sb`4tGXhsvKlSq=>ok&sqEH~>FniskaLGSV3=g+@v z<5ecKJy-Kf`GiyHNY*2}bRJ{^-ABi)>}y(J`9A1f#%@O7Wj?B z9n35;oz1`kyPBfYFJ5gaC$#wEf%N%zbYU33K>d*r7Ga+#2KVtZJQAx(FPQ4VcF3|B z-(g3B>?TU%87vlExpBX~tsgukC^9rJ)UCSE7i^>>*;|X|Yg?wTcEdTg@qZKqL$h81 zR9gj$yd=XM8I*-{wJp$5JE1G_Qmk%Z1|b+N3RZW4#yIlQ?6b73tC#P=G1KBk1y$wC zmUUE|w9e7CDD4<0sm28^+C6;>mW8vU9~oQ)^Rz6@)Ar(XyjXxZ70*7$6N!1+9pDO< z_zN2B1s?2|cyipOR++aAnx5KqdxL)w;IssV~T12)v2uGx-unmiX~NUg9r!0G*G%qhlR+ zp{0|yaUV@irbj31%aPXYS(K%t!WFaQo-g{iEU41tZ7UDd&O$CSEZ*X);1(`k66hLQ zf7K<}w!kmz&k)}21?C-aYVW`?(Z1>e$`~2#o@{rkIIDRMP%MGhLdS8zWkmI*wor9F2J^aO`1`z7Wq9W@O3ZP z1NCau&_2{yh-EK~aat(x-KhnbC|V>?A|KAUT>2s zeh-Hft03P>RtfslBKf^>dsAbE(^@{k1{^I{hxf5M9OLFY?&5#XDse;5!M^(N0%Yi0 zQYY!*!4mbp%nkA_5pliRYzNqjxf}HaEeF9rYOHiXdx+PLslxTaKoqXqHy%N*p4SK? z@jI#O5ixi805JC?9)&mwNqM382Nbqm^+Wq+Q`z^l?&FMEgHv&sT690Gb!eL+>`G7V zK%ClKqP*ur`|v~ucY@PJyDivjlBr1GHneCywLs?!rKk313;pig+-gH9D)MMJSyn+x?a>NCe+RS>o0fq~2#b`gE!Tv0d)s{SYa3s)7HsQy(x#DN_ zRRw!%C0GPk7jk_hCFLBNOO96wsVMU?QKoN>%JJMn#)G4;jwO%f=Otx2q7+VC_;*qU zXUF2V+A~j_{(Gs9WARm{Bf~LvJ%!xTlW2lNF=go)y_qGSl8l16$5N!A=ga8JBAMg( z63jz-@IQv3Se6L$?|T?gjv=xaY#rI#0e_D-!LzU&L>X7N%lUeBE4hLHu-$H6K-mo< zt!q2nDz+1dZP+)0#@DAC2v%nLCP;7WeRw_EU0nBnnQr^n{>|^3t6x@ESAV_qv)+f7 zFMnRGrlajIKRz9O{OxggVOY2djJ{U`7#G_u5Sp4=hx_+N*$x7SPem&c#KM1TGK{_-!EFa787v(G>87N4`L{;z-SmF^E% z7Ax=13v6S?Kaa65&GC1cP(`5*UGR|uXf2`Tdia}0wm%5PUTY-DdI44Yiw(o7dE1+< zmudy72<9*gytvpfhP`XPMu4)cIv*#W9aD@THu_8WM5Cy3nA)tEChkLPRtheWHL&;^ z`7}vJzN`&~KAa(Hof4%9JqP7ADGSALBj1|6`bgR(Bb1 zBlvDOAxD2B89s_GFO4M1I+Z@8UM#YSSjr7rBW%#(oQ$)u`!#AEdyAQ(xB`lLeM|Cs zJsU1%F0W~SD%`e(@#B?lx5?_dBoJ;A1Y&+oYZv9aNLvrU%C?=%xg&l2*hn;-Mg`AHt9 zEnZ!Ky2e#sr|aFO!R#OkSd=YpDiN3X+-$e3u(W-T=>{;qmY-J@L>2|MtU$12eYfHH zPdW$>R^i$vCr-Fh#I@A2)l=6Si1p7Z`X3`~uXwhSG0%jj{?ND**LW!4pU)H|KNuRu ziRqyDwcu0>tWik$1^jqE)GDHrZO3(i;IJH|}& zqEj9i>PL`0w(v*aH0f7lh-dN$Z8^3|OJv;7X=d4ZK^!G>?%PtPcvS$T_=2|O5EEV} zmGk`XdvH~ZDA-$B>YL!ViP8#wTzf|`G*}X^-q}@#yu#Mh6lM)*Q)4s@d9?tqxRJyJUFT?D zjm!bPo*vK}FE zGEa6Nf4t42+jO{i@z*cAm#f*t`Skv$*W|2kQa@uL`h&bIe;i(hA8vcQ>)&=4pZ>P} zYdZfWiKkbqkDq>j_jVg>CpVK{hlAnmVDVSO#YjawI1K>D!dGiZ-WOipL;DLckCE~3-Q@2QV(c#Pbh`6o5t9-@^|_oLC)cWV_SJQgXzv3OZfJ#1+q70t z@X2c>#R&FTZ?mY|Kk#vG3 zAP@#_i;ziNd2>umHxTFmy22v}$Q;YoZJMQEYk-2?Wr9`+0P0@v;*4rQ{GeL;3aL^f zaJ2DjG}wDI7XRhXV$9Zro{8u6iZ;UHi;FheHnhRmvH~#PiG1_M7OME@TTZgRy*Q@| za#1+yD};T2PuMFmP-9q74aUMrkVw}dVnNgRW)0<;RYBMfs(GRjm%#B`F-}2-3N;vn z#PvZWQi3knAt{)P%L#nh%DN*mVW#ZPo^Z8yf|{oD2mnmUlO7^`_gHQqDSHA20(PB& zySlu7^yyi$C2c4JN6nVem&Z8HkW6I=h$*JXZ=7-JXc=AO9=#|3AgYC9 zIUg27Qsjo9?Wj7!?rW&at$7HeGlV?6WMj4E+IX_iHm->dE0&$y+h>C%BH@(Lc=75A z+~HpClsOzGxUH)SoW5B?b_YhhZpf#3a1a`g2$xA=__VTl^x#~-RTUI_BQtuwS?tiM z$-dN$7cp#i2!^tDV)OwvS_9W@#6DY>>-EnEa4kMHsKcieend^aXxKPP7q>Jj0E#0^ z^!+)FHfUTee_-I6{Y&~K71f`^hu*R8T=LKSLcY?{go3B#c$L-5%?a##;DkV?o9%J| zo3uf+5_e@9f~;uU`1)2)M(J9vb|uL41NzWA`W;CEyrN%e44DqLwwU(hzEnzkKujph zZ42=sA(BZyV-|BH;El0SKb{%jc`U_~ed49b0bF9bGfwV)jd-4CUQ{ z$-`S<(W^fC(CpfzXI(Y`{t6HE0!BJE#4Ao;grvmFC|PvzCJ7lVutwHAzuqm9C>uYA zZa=eL+Mh?$o0{e)ymogRY-QW5k-SBIS5@?ugWJ=*c0b^*^q+T{+WQ#6L51@qsK{@x z2cF-M$+qBgRd2~G9djCEFRHt{nq&Kxt=Ekf%Zv7Um(nS(;_tG+sow z@h)AEJDQm~gMKl(zsoX)=kMr{AJTZbkGZ3uo4O5 zr_khr4%r$C_wki`o?Le;pU(SzX(Ux>Xo|kkkn_cQJ!_1vQ4;{|_V&I58LOkOxLD}r z7`qdQGwnvRWwHuq@sg-s2Yy+K7Tk@N7rTJY&rshtxhjvxxJ*=-GF>0qXYy_XJa?94 z=pJ$#eu~m0f;9b#io)%gbLsS5ZH+n;dkRnAq7OVHIymvt-YI?C;)hn3>K=d%1c#Fo1$OtI{n5;rBd+Ldn$nI8Ek$jltP!-= z_>%nFOaj!yLLOa?Rln^TjCQP#y?Y~-u!?A0ppmn%E(#xDLL2cd1gGY3vP%}T^3NS& zNoy*Ayk4-QiTp&J8O?}FTZU;I32L!q;*iqRXq5Vn_HKq^4>||j9@!48Y3Qz^B@*?c zX&j>QJ$=P+_F>8mZ~C(F@!UzVqu zaH33RXpq1eHsBX>eKTihR^0n}$V&CKS$VSt?hiF)FVenHg1<%V1zn-=Msc?dFBq5u zwKe-G_J|`tpGMP<@oM%`_()jYA;|%5`tq^-1PhmUTvI@8*Em=S>T?}$U6JsHI(D-qxZmah7Lln1l zoT$9BZ&R}gAWH~SD4i-HtlKkNvj@E*D(2)men&=piw7J(BWWR&hsRV(Rag>Te`T8S ziPo)7oQ+sL_T=FHIeg64cy;X^YvGs0T2$HG2BR%1f>%msKSkG-j1<5Dw^w|pMIAmR zEczzsnZ@G(eQQiHfpmj1jcBm(bNtskI>x*8ZX1&~m*gw0LIr-2C&4LAtMf*}e3`<= zgxKzPL^-@3zEr>ffh$zuG1xMvJ=4An{{AK1`}kJ-1%RBRRYPFP4k~Y&hcwmTG)LYl{1;F|g=C%MoSofajn*=+(NN4aPhd!;zY>dNd?{F+Zkdx-`UZ(D^3Xy4G>yWm_}HA;Q&t6N{$eZJ*Y;szU(N%z4C;gxFcO0H}& z4mrb~+1_TwAuOZjG3O|H(aIAS{tE@|`5FgiZ)3@S!L-H()>mb|!WGfh6rEx8wn7&; z=vmGK*S^3-OqfAq^nb8N@rk_k9EhmgZo=szX)qa%?5^4MtNocx;Tz`z#Y%#Sx1^u3rUgICL^@{#}EaEDfpYUKeVUs^Bt@Z|U zhd?@dFPDFBlVl9nM}37|{@o_T2b)8N z;3y7KRjXJ$fE2s6W62IFuv077(Y~JN;65bVR;YonJWo|E`Uz@rQagsOQ z?GxT4iv`fr!G>Y;9QQlhe7;eePZ>H9tP8Bl1GCQeS9HZ%;1BdIUR;5=-;l=lWes>R zI)X#20SBZrMTZ&z5DPA8B1vv7oZS~0sZMKDL6tA?*Y8=JWs30EVu@(Y;dc_4);j%a zK}EQq7uhTX3>{L>I*FhdN&ETVe7zH=ufSBU11c>Z2v0#<3g>y|)em3fu8e0w-(@f@NT*xh zTv5);@qF0;vX~v)1X4Ut5rQ0lnZ}zfDL{v{S)sI+p*eL?kY9_Q5uA-m7I*xdMa5GW z3jW3V8fO(iShk865}Z6QFo#!bL2$3|0Q8?rGEAOHNO9GDCe0l$l-jlEh&Au(#0 zEC*&c7O$_a;0^lmXXwl#C$7X8Z4u>a1x&Qw^xAB~*?M6Z7W5G=@^TPtm!P5)0__dV zzR{9-5+fOne+FD*(a%!g^N~^Q;JT)DtcK0jH7(kG!Nu~eq8at{HG@ZT$<@JgF`Jzs zQ-Ld6_FP$5T>3s%Hg{xb^-V0w)3N*-0i}Q?|!~kz(c4!MU z{-$5x2qmGR4RS%7K-O3=U_E_#C1{Akn9w$qsLA)tHsWBYLP^QUl158(8Ty1KN8v>Y zj6XawtnMdb3l8Gqh%I$98}ud20Z!!4P?9}$agHY36iX%4anMrxRFh^&mK{ufm54>kUf{j08-i3(vQY1w$CDjX-KVGflno ztq1}_ZpTKSWimrIna@!gch&5O1F+ng;3V`&Qu3}V@c(+v#}etRjtr)QGw$h&{urmL zcmW)TUg{dVJu(8q``pyc5k#B4lL_vfgQl;2v_=xa2J_mLptwjVp@PM8hmEEM^~q)( zO?j=apmmu)fjeqGR|ww3b#G)&*dW>Oq3M`r@qqw<@jHYoyL1|#lQ(?Jj(k?6(#e{k z+6l;-PT<&N&4+ClSp%BG)L?#?Ac>?wu2q(j5>k{GrfaSnr$fBsBeaE>3z*l};3Y81 z8D+{>*PwT<6{W;UVwtW-$_yUg+I)1nwymLkmS)e(frAx0R&`)~ThT;~+;dgr7}?Wd z8`FXv#sU=Qs-`G^ShallVbtF2HMO2&P&M=t5z)9Y(MRe^*n!0lbXbajP=XZ=*j@!J zhE&?ER3)cDokGF>Q{P=z11IzE!j*FID!O{{5Ob^q6mAXzs*YYeU9`7 z%ZJnilc*hnd#NE?p%j&YDR?r)-{@I_VEP(h3j*m>7(cx{gS4$*9VjPMEEQ_Ob zdJ{&QB-}>XM|v}|Brg{tmFR}`wJB^j_$J0vghuaSpq3gVK}9Mi--R{bdq8A4OoZuJ zlORP?a?A3Yk%fsQBtCUSdu+ji+9wzjEo&Mrr_2(lLBQ`@>ev`b$8L1I!i_FA$=79a zEYCn(u)ED>ATIhazZ7W-0f~`JL@MEa&*J#hH{k%)HL-us%FS!O3F*rqr zY~dB+cqEhrZ%?doXTO}0@|#A=s(2=HpB6VKQYpbpi+7IkxO~R@O23|Q^P9%a%E(sb z5T~Uy>mTB@k}3Q5jFaCqPFBOQD%=tYrCA)JWl?Tv_RI--#>)lteT{t^*>7jO{HF1; zGOAUPFS)h}uidryLYpyDDE`=QO=9Lju48A+JVvY`?$ltdsd_1~tKxMPkpZoTRcEXx zGQ1}p*}rGj+*U z6k;v7;*rr_N`tk<>!)pgTa{oTqH3kKs8M<=GZ~8qwv@)h0It8nDDC4hwd;YjKci0_ z{r&`W4^w= zkuza;=43Md8I6@a-7P-;w1M1!XfHA?8iDQ2!I{#lEkwk(sxe94$W~boA?wxca=u>O zqE#(7>lK^b++j2 z%NOm;NIj%VC$Kj+l&}EHSY}!%{r=wEuvhl|(ogTr4Xt~>Nt0!=O+Lj~0xX@tzAVvB zfi%*WU}Wj{_hy3D4VV&NgNhSy_rBo|i)pd+!+Y~SE9;#iF?|t#sRVfU5LLGM^I0^9 zGK?wJ-WGm+Uk+%O0-)op!qQE*&I*EhlTL!_nsQa!8!#LP#xGVoG!L;JTRz&<^}({U zUzR01Yr>HR^OtIu^0GQhIR@)lN;yk;RFq>%E4PFOd){odrLQCbbY+kT=lrTil;1OF zzLF~X6oK#r6|=q;7*+-fRZdqp=DnfWRIkKGT7Y+kS|x>UDHO^`&L9?#e4}Ew3dy}? zqk*ep1Jy4pFQcr+XHFy}8TRsv_Nwq1JXS+XuDAr6G-%(8uLdWE5xl>I@)wKlNM z3KJKJ#7h)tq>xE|c@-%26&mCCt1Fvx*%4&WiXCtSy=S8}gtC>FK{;|=OO0zQ@Kgc5 zZ+44C5!aP+4@n0bPF{pDp9QOsKk!eSvEnVA>Pxb)Bk{g^J0qK?t7ut^B>E_vDZ>CQR8VOCBQ?15OI{WsaR~BTI3;wA;yHFPZH zCVxj}94!`^n6>qEce|uSMQPOD!J8JZd87+Y`m(nO zP2z31*V-wgt+ub;(2VKU14YC14`>`2#anY9YK=0Z5+EqdYT|`Wo^-3h?mZstSiCNJW66LIi#yHv?G>AaxJ3#l2)~IIAvw7T zrb?C2iK)UT515}N+B8&1-$v21!)Q;#Aqh+Xt71VYgxT5K@EMIq^RS>2lN_e zhQ5H&i!g%oq~mS)v9BBzwk)qiB%LPH(402i;*o6^hO`ZSI&E|IbObF@-s|2Dh>DP) zKD`4i0q`_s7G%9+j3~hZtvj}D+qP}nwr$(CZF`Sx?$I9Gw(p#C-j8>4lS-%SSEtkI zboHvWzNPx$D^#_VyJdE|I1x3VSJt^dF}C}i1{tLta_{s@{>65&CQ`W8P7&apLduin z+nt4_DYhs>K>}ds!POkbfSJ~W+6wFqqyCg<4ul>UlJHhgm*OTcDzs}^+dhjnc-UXA z`y-)-KV*wFW~%>hl@J~R)}J!V2zh}mHp!T&u>fruJ3_Ezpv<1k5@+T=PKLx#uCdmV z(D7v6!*72q)4NMb{Ikjm4@Z%AOx*K5;R{EGlw_%FHc{~uO;#Ck-?o;rQ*buW-{l*dh`7&6^^ayEgblGfqK2hW3URj>;DvVDsr!tH7R~ zj$E9ZS(u?(!QJ?ZEF<@4$*wB_85*WEv#Qk5ZqHxNke}EkE(C6AVGTtDvzEKY4S~^* zE&~vdt`Xi$YsK`E*71yaO!U;uP(`Dm`cQAWPQX>Q5VD%KBeGe3pgkqsq~~IRh;%^Q ze4MUPn!p`bVK`^^3Iw-IyEFd=Q8A@E(Vw+IYy%OZtUzPCWSVFyZ7{$S)6N36?`LH# z0;9^PY9^$RGjO_Ib;&XRkUh;fCA#p9Lwkw;VQb7u>eNbcDOvUs3oOaQA}4hZ35c5ow5k$n6}E6iJbN5 z(({)w8dRV?M^V>KVge{pADbXX&^9G*4bAOZ>kq7qqZ)O$42>cFXjc6T&f`g@s73_O zJ}xf3E7M>og3Z`YImaAbR5!{!aQqbWY#FVxG+nleWd8RG1$5s67AHI86dAP) z`ap{m-$omYB=zh6c`ia1(iXuuN5K~5496GB`kPEFSK^Y3l!l;I#GWO?O(ppW(Nvg^ za+aV-@K!%BGo?<|u&ghG(<9q1YZc{B8yr&=UAqX;?uI6!=PW^@;n|7u-M#7T4Z+V+K*L(c;zo zuNc9QEB-)uBOL1B$dAICxiZVf-QGXFD~^@#y>#axyhpExXsdNoG0Gv$s8v|ogk3R8 zgdMapxKLAR)m2Bm!+wavckS#$blD5%`Q;|h62 zSJW2tItx5Q)bn$-P$zpegq3Pu5tsDenw0E^+Z`JCSMZJtwlG&0x-?ODni{|~vE!?EO3+b++sym$ zBN^t0{KS1mPZR^zR?MwdJoH>=+EqeS$?1PVxKlU8`WIj&Myu_$W$+-OG#8C&m+On-DYUV9` z$2^;oaR*V7I?aX^T354Lxun5ET=a=f{DGN}Qn+i!-6~ZpCdxg+M8zkgQo2p8AYaVz z&^KeB0IOeZrkJ_bCjs~h;o1TZ$ueIr&|EJd3W`P%J|4Z83!%;4vbo8p4c_6Iz5_J; zW}irbMyxq>ORHV7{jfJT`MnJM9L{T=ojHiIl*s{Js5SC@7a`x~Mvquz7f+zPq+3vLlpIWonplW8txB>p#UfT%^HGK~o z24(97w~J|#ZzOqlZ8Xa5b`q47qCHTGyoWm5m@t0Byeh50bND?kAjj*P8qnFi-a^O0 zmpNS%AJh@g3iKx`t<6Oyt33Oa`Hr}-33R3M6^CT9&}6Od;g(J!br@yMLuim!;O39| zdS)cv<;+4B0qdgqFXdA3L3Bwq$_oyKdURhs0PRA8nLkOPJQM?JMbpcw%5#!0=oK%e zr#>My1EI($p23#bO07)7^y!Ita(*T&O`u;$Dx>?8&OG<1cpW{I$Jo+d3iVI|pdJy` zZ)mukTiI7`$a3hA=kvcs1;bSQ;v|jn!cFH#3=QT-d zy?b7)XPQJ|Vs5%_ao_Br@FAs{T%{pJ`5T9bu;M(rqY%oIXA+`#+#tf1OF6fO;4KqY zef-1_EAqBx#mI)#L+$Yr{uUFe7hZ1Kp5m{$N0+9k(()yYm9ovAnK)Q9z-n9&1rZXW zC;v1W_Gk=glbS)qM1IFyI4np8rtp4=$gRfTRTx@q{z(4*h!^lfdHlHSu2RezS|=#= zG=!DFlqRQUA+3AI@9)rBeg66=<3#>?{676F>^J&zdL(k$3$>1Yz~MBorj&nQjJf16 zibNS;K?&g)68g#T<>1eHIBxpnHdO-Srn>b#x?Q+A15?}7%9Mr`q;g>QSXtVkdrfet zFX`DV5Y-$;IYQRQBPG)kU&r008!BxwC2i_+#Tgdl5eiX|eR%}T{9B}jf1?5G>_AaE zSxa6>t%{OXgdWHxxo3>=rk2!+)C$Pz7iJ!M*K$qYX4nNwr<~eC5Nx=vwd4-I3dh<-WbiX#U3-h^UTLwws)hc$NcIvB_nH#t8m)rYp23~DYS1uQ^qj>+ zFtlpM%ytT8?hyO}qhy{&e_#}3nB^mH={N5oj=b+#s#{te1K`KXx?Jnn?QJp`R-nKT zOiw@CnZ`Hmg~eA@5eeTof1bhW^BM~ev%eub<-Nq%C{nBF6dNQEX~~+hpvR$@ciq~1 zNCJh1t zi6qdkg8Yi4ryKaP)cka^Y=k>AJ6vO^J{P6?Jv3N%HJ7~O@A+ZGkQKM7`MG*|vjK03 z#wUC5lD}iV-h44~I8$G3!5;Db-H7ssfF62;4q=n^&?^|PN7i`$EPtVrhzrqji9U7i zRF~FppHb~)Es5@Jbc6Ekq?Bh6k#LdU)bhNTBTTg>+D{=j4vYPgn8K5as_t3so`5En ze@`S@vJEha@<&Y|ELhs4smo8LUQ4)d7S|jftLPs=UyHdEf}hDm`;A5Wn)J%I$0Mr; zMk~&z8FVNJ2aKz_RLcjFGOK#bkOW1R5lDIaA{9x?4`aKAe(<+*R6%bPI!=5v-|EiG zey+RCXaN*|{ZhR66BEW?Lul2=Kj(rn6B3*ey7mFVDnUS=kPo3J32ksvJ~8?ShFM%O z@b{%5r8aC^zvabHG3mbZ5akdr**t!g4~M_Cch?KnPWYS4D&Ai?R`4$Or$G;fqTF9P z)E^GPLftzD&s;`5u#^w$jg?jFx$sM$t!~&sf}oY=(OX6FE%etzYv~0x`VMLh#aB@; z1a77JUDO7{vIT3HN2p`}@P7m^=0FdP53OnR8Fksu)YhJ6kxcnB_edBVSvky`U3_h0 zK)ALn{cR`FT(oW8e}9dG^C5!amf6~7*|ZkL#euX)DSedsq8cv^(NHaq=8&QcjGd1A zUKl{83ug z@wHH3@G31wUErPlB|Jorux?cF$b%AbI2JN{er93Z=iLGRBg#|@+Zc-Nu7%Z$LM^Q! zs84+M&Lgevu^xrKJbY1snaBEto>FguF7gW~AM>p|Dwpze_4i9|Znjeb@WWCr{B3t! zdDh3_Ed(9)oCkkaQg_ls`CzkjaR?O0K3I!wUnE$@MN{2~+L*#r?-wPBZcnE29889r=C$z zH2rVrb0IoK9&ntxAfJ5DLWaXz9sjMG zIU-TE83 ze7x-0BwuZS!ax_MNV3RKLZ>w8V&!ZWF|8E;D%r6yU6pTso};1es@A&BqQ*bjEW{pV znxsn1H%)j1cWz?Ee2&8$pyL*SsS~V5P}?p$&x)eEoVjei&2>9Iy%G)8AAFG4qC)P- zKu?~mQM0gxUNqbOhpHs(5V(n563yskTr;C0;ZHS&r3vcS#T)Hv@3iuTa^&pbq2Q+2-tzJ{bja|!@*b;USECf)$$cy6vXHu%4zfDDzKz_ivEF2gVSRiI3OZ1`g zsf3?i_T^&&@v|7^ul*(2mh442x}HD~cGXR#c2yY__V{g6KhJ^1?PTl7vD<=}$o z?TJ3$tXNO}w*IVtj2^6?G+IyJmR+uXU7l`AlCwTX-;t&_qoXnDdS**(iEa+UQNKV< zFFTDhZ*DY0?C91B{E~j$U!4)!n8mf9pxWnNLC+dnbv(bK)Jd7J&bi^WpoRETS?P0c^o}IvwyUeJ{TxK_!MO9u!R-{-5aRTx(QV|*5UQsaI0rlsx zQL@hgn9yzjMtTH>3Ti6cw4hoi&9-k|Dd;%(t8~ejXV*9GGyt*?Ljj9$k$Y2=V{5sE z^vP#9|F?4aL-^|yndAY#%lDOhE&xKv{A@?ptm< zVSM|7s~FzAWB&)i2JJ*Mp4aPdxru!Ik4V+>$j>MJ&d(D6mwHPE>cGmFKapqi&znBp zPvrD2uS(0u3BQ0E%NS%)GyZ|e@|Ltlwju=-VkU)#vg1+WKH1r z5w_7w4N+v1LFO^rHE7v$S8o{wV)yvJ>~Z=xN2srEU@xx20xg8T?@3jU#gjvLoz=3< z_9gg#2dFEu^h_A>Hcp?9j8s!I*1`k^xk=Xj6!?h(HC%B|SZSNy?Nd|t7l)cY@!A40 zv8|gm2)QJaEm1WKz<5XTzEGUM6)CgDqPYmnv31(jm&+>*9T#6Ig*{iClQ}Ln`r>|~ z!Ht535@3@-eae0U2hwN~F`fFv*vFDkX^~Z9?!$Qswf&0Sil_%`*_$Zo?d$f@2rIa< zh~}a&=|EQPx$x=8_z!fs`h<-LcZSr#KziaBOZ?DsBP-Gs`ep-A7t8B4yY*D&r8KDc zckkv9EQKzc$y-*)vixBeurfH;$+HG%o(m=%F(1A=*s@~6eJAmoh0Lzy&HcG?WkZDr z??Zdt=pJ$`IMd*Ym!8`+8J&usBzlt30XG5(&j@m@d&zgiQD^HI*hjYqd|om-GozOV zQ1iq^xJmh+ZP82GN03OIXhky+UV-M=Ik%sc!106v7KmG6%@|Mzd!=!iaFAu8anB6z ztnY)~op@ee$pJsKFUJrIbwEu~g@)(rGw;lf{R4`<=R|BBLI~c2y)7WFB={r=d0`9t z&Mwrl+sXPsh0*GCUZks5Dm%O9v@YwDAh*%FT?%-5zxHafoQgl$f?n3&AZAH*{11JG zSHnL#o-F$H?Tf@1;1d=b+OCo{IWlg^HcYMjWl*ko7cSY93df5m{#^aKdvayAc%B&h zpiS!TRL>^zUZ?eU#9T7nKOxPTqnZuxxzkv1EWIJiUZ~D%%5)Lg!n?z{lhHE9 z{VoVEwAew6^h*eF!QVuxRhrBf8e~oEv5-4CBAQIJ*%-!(ZC`>IDJii79HEvmfxGXb zLlDnKSR#8c&pme~J(&Whlw%a3+KF&jeMa!6aU*${o@q=_+1Wf$2iljJvz;jmu6&~I zh7sym|JfcFAPgz8aJl_c;Cg&OSiDDU{k#ZpF0KKhME?CMfd2wl^`m?i_Z9o!t+; zomX=?X6G}fe;X}|`?@`_%YGvw;VAH+vURa0hkJR6qnwepfrN^_6XnmW!IExe>()U z`!q|GB?bhKk(r7)m5=QJiz7^N{tM*khYqqd`7^<^9+tf2CM^l-rDwwytsNL>8Dm#i z6dNSF4=Yq5*}ZGr9jqS2w4QUvNXi;osat5C3;DGhz&>g_bPH9+F2H>vW+J{7^!WnVY>7``7?BS5YM?C*UmT`*JaWY4X+7;+YBFjM4 zg@De5lfGlFFtf0m&ilnv((smORaCIxe4bT4bVmk0D=j1*;JubX!p?)m7HTbwiE}!4 z*nt#Sgpz#*&r{3cTDGCP&)}(H? zXbM>hipEz=Vn9o?Jv9bUh(>03NG`!egwopg{VQcS^Cas4(gcHqGn5vNYwZnM8s8^ zG$qR0=~+iK!AgdJno}&=djjR4WWQ1?3*bkNuUEu}B(I zFJYOWm~a4GTPG$8V92fMzRMC*v#KwG_qQ1#*cK8l(&I#Wl1h*e&eF3j8Tj^;KHf|p zLi9Wbl07VEDr=Z#^|Ylv-Z{M}?NS>Q=Ja)Dg?}Lw=?kI|-4oMHD0(;PCfGrj1z;R2 zs!Opw{38TMDrsniODymA);RCpkkn*Bl){R!3coT~)SII8;0vCUt@Vd_aMnGIVyVsT zCbCKc*$MvyUI>4bGi1J!5sy%}&4rHerMx-uU0IGWCXlJ#U>{9L!K)>#-7$s8O2gLv zP`m4p&fZGG1L8JXJY}jvLqwo1130|#u(58@s~Iu;|Zx9BE7C5 z!I6F&%-XB4j(2GBGse&5W8L*O;Tpls)&cbJws2e+GWu{R&9hW4QyxJm^QlWITnc;_ z_SZK38&?WqgeEyF4b%G(sTTJY(|+HQsn1jq@UfxH90dL9b#;JRZ^KtSQgeUP6is=7 z)<5Dlo3Bqqp*N`RHbp{2`7BO;TY1OSPfgNnw>zSucNR19D0s}jXgzd5aSOkyFjJl5 z{-9^K&G?yncjAKLt7AhU-L}R5=Scqt8WOcoJyEMng0$jrkh>4PR zSXZ>hS)vuqVXkNmbHod6q{dmW-UIB{p#F7jwxT-^Lo9jYEZ1WVAf;U|J(i1Dui5eJ zr;|M98&P3@wzH>jJAam}58hS$SfaV;ElK-xSn)d-E_}~B7d9dPCwVG@r+*X#lKK|; z0e_c3O7e&ZEMXdg0*0mhj(=x#1da5o&Z))+C;y!QP6&?#&C(Tzc%`MzHZ2aNr@p(% z6Ne*VLYkX)fuG}%QBm8iZbYQGPOcf_-((QU?((Ex=#C;B`~S56EO=7$0s|=i6{_7S z(C7a7==+jSQ%bmmjbU$?NkF&Cqb6f#S~_pgW?_PVa@3(szK)kpn29pSzek5Sg>hGT*};yX+?M-i*+eyX4dKUw z15+MpH|bG8429|B>#dU#UCTv{-oE6TtL%ZNM%B81b%`TBggh=+}Zn~Z4 z+L-axosQVMRW)7W>N9<{uXfrR7mVuij2Nv+@*GMvX_Eg)a08su%QW_$HQ9_4oda8e zyH#Rw3@8jaF-p{?2Z>2k(vk(coCA-EbVWZyzypDrx; zikTr=MZcx{U|Q$d3Q`ZYb0w9%O?S^uUrcx7fjlf~qR^cn08UQdvm?gxpQ(>U;Ygji zLE(k2Jks^bHPNcIxekxb)tpaP&DNY-8>%)z4PH>@NG(~bny5I{Bi~ZC^ulXy?&b41 zmovL_IhThI<{Cf`m<>!Fjf)WGIr^_)dbPwv1l%7grXy7ror=u;j28$KT?h{YC<{h5 zI8H_@cz6(0aQ=+-Ih!e^D!GtFn@L%NHg1NeI?+M!mXzgKXA>zE4g2VYA;NTDO$R=n z?MRt{so`d#`4rd0RKq;Az@&smx4_5~^eh)wY2tkL)-YcM@PY}%9|xIbxTS!=TeP2> zxj6U=3-gK&DF9^O;AQnuu6uG!O3J_4G@mQVQ#EA-+~I+c0{&oxj|c}L3yPuhKmiAhK!!BdZy6ab4cjc ztuYju*$_mqNFG4olCx9tg}o6*hb4L@kx3ce8;h7tCj-)ASWQ{Zn*iA=qrpn{I)bO% z_7&&p?F<+--7t{)zW6iFI>y;^>{p$C+;-}&KE1@-14Q60yV~!*U)wNY%NC=;@SKY-WinsPg(*l7<;mdMZ|9HpWFCO$os2H&8Mtj3n}hABgLFv;rNqZ% z+!Ex}z{q*+ge9YZ#8OUg0@ZqZS|lRrLm!Hi4cOW zzY*yh1o|PRtM9r;_&9=cVQXmx=I(b6LNx&trl}f$BccLU_)w>+6a<6?LE)&0+L=FW z871xztBDT~^nzr8XZja_W1?Ox#`L_;{cL*v^}FaMBBIkO*claej-{m`+Eq5Ub4 zR3@=l=lh{89?BG%X6XG0S<-FOrGJZq))zCTR>gs?h?yhhKc29-skW%gybjo;7Sw+= zo2jQz9vz6GO6RI_ zx9v?XP55INE`?70CzqFEF3i8}w0ZAm593?VPm5$JUIf7mi6*g>@j8?@6{}6UXI85Y-A`v^qZogo~9`t?Z^uhmR1b13YF_2aT1Ob7e6en%BZNU*OUty?S4L+enOLHSc4S1 zRE9kizKMQ8F$1*#+SRi(LbMU&+Ej#yJ?uVZLN%p$Tts^lk45IpjxmSgLbSCi)`~Kf zaaXR9S}@)Z$+y!tIp^M`oEsMSV>#jJ@X2ce9}*V-Py4q)OkZqT{E-xgilHlKSI4^O}dHcc!669J?4!*#XHNFh5*<^ zX(nkM4ei8F+%XV6LJbRdVX@vOX?icTFzh;$Q%`z#)Zq0zff*bm^gH5{$3*kvtX#?_+to4B)X;yxw zn{-2U!&E6yGqJScoe9_0)j|yAsyUi;^R#JeE^9@V(Qt}ir*Wg$yX^{+wF!{3UL^_r zI-0d&w{hVspk{L5uB_I1Fr@yM4qkF8t)GWU{0ok(`11Z=!J7H zDc)t4=i=_#nShpU{a7BL__aY8p$UY~RZ)qtfzR>VP99tSa}NPxZ_?iP@K zMPP`NS%ZD9rM>B=poQt|w$Oc;u5}0 z*^m#w9&zG_|8(+C{GFt9^H02G&bo#L*J&kbodOK3@+vWOD&&3!^>>IbB+IN(f`FIQ0qlshydUJG_1&as{oyP7 zQ!Gwcg-n1bAr-tPLJ^ZEj`~P`zs%y(Nuz;}@wspf4-wz+B!`A{HJzkmtLlgGiK;7J zL9%MWv}@Dn8G!r9x$={AR9;$dmvSTc+Q;j{D6$OX% z*_!j-7~Dk9K9l`(D`L5pai;{4p||6XetKd>8cbGo{~Ql#=%IqxpcY-j@p^t1lHW}~ z5O+afW|P7$DJ*#w8<0L9;%5sP+lRxOE@KgJ`#klIJ#mPWGK$$;D6HWg-QGs6PH6*K0=*ndxld4utRqJG z?gpiWqb+QIGf=~cmJ4By3SpiKN4o|7YN$kD@f*QNRw9y?k*Y@~sV@=V$Y?B`JfML| z#c=>g=uk)5GU`@f(a^FHynJ3?EAm=4@}I-uxZ7LaJ~h=T3@7(8$MpEsv){mjIr=kP&4};l@yeb{In|YW z{tmfcvKgXlUHKdB%2G=A4^G~>HF73d`vxF?wUYVO>`bD8s>?b2MBNLJl0aiZiE<8rOAhJdbp#T=G{SPbUh-|cm-D<#p@^3`cZp=GmsBoroPt(xNiCPdxB~tCBfd9 znm^qhq0;rVts@Tm`?vJrh7}}mIq&-2Pfq#KUBYKA&b$2T z`Jp~1OjfYDhTcfdpU7wDujIw~ObDarMwaIWcQrA1&|!F?gUtiY51+ z5dmw9;IKaC?$=Ii>Ro4APsg@{(19-)k7@(?W6K}jT=wU3-z->ebH}q~J{L$bp0@H1 zoMfAoT~H4shvMb~5>1hwGooDtxoGs! zanhz6OJ&PVTc_&*Y*-&IzQ}w=*g2y}0&ESRH;7~o<}8asCJNh6ow$w!J%Eu&(`AS; zV_vbrHbMBLw;OZHJkDXsvP6C9*s@1xg$a1)YWgGV$>wa@^sq`=gLs;Qw|5Ay{l6YIwt*Ljq z3n8q&8+QwtcMLPh<*CVS%o`u3a^HWal9pEAh*KPE(HG`chl_U2goxs$h)nNVYvD-p zwSXsO501hL?uQi|>P)jhlcgJ#WscP_PHMvH)*+W{D0F7CiOCyFKI#>hS0CkD&}8Rk zaSmJ4IFJ7tcvOm(omawd<}~r~{8qw0PPE4+-wmcr$i-zQ(q-i*hmplrt$~G6R4X5C zT%|BpIF)seWCTOQBg*PV#uC#KCcQnzqH^GW)*q^+{aS7dn7lZXgC=7VrFaI(wXV<< zvk;gD3&l>&oI+USJa=D75K#kXdMIZjwfYeZ4?)Ty7`y5#Ea;q3hKY|A%f&=oJU_Kt z*M^`LoM@r__{1U35ral@idlTFvmuelxUj`lhnP`)C0IpNAoVLXEyo@6hHVMQcBmrr zi-WQY-WD5nk{b5Oj7)(2JuG5qQbu{5DlQprjdtLJIG&F!ZZ&x_MNaEA88EsUk-2*$ zS)$7x1pOIY#g-;~xbBPAT@Yl%oBK2097UI`1*j;PXMR@g9e6|Ck-o*WFKZp9%AVD9 z5ZXvx+4_{4tu1}$>gTVmo{=s#uId5@t|v#jLaagBE^J%+bD5sk{0F0hnl5&GMFnqI zAT12C>*viY?T5_->(g)Ha9X*srA{2;tax9a5iTLW*Brh4FFQ_m0KA<$e6`Vs2RiCj zn&Dt-QD{6j1;f2g?ucFcLP1lsv_qZ!sVHkx_zkQ?d>DUBt7D)xaR(v)?nFuxB&(%{wzc->w#{A9I#dF5`!0dF z%|YwX9cVUbPcD&VtPNV;sNO#EEv#@DXF6zWe5LF;OhvaeSwe-a2;E|zU0&;yJpjzn zZjDGil><4x&17vm#$CyZ&WSAp3PylL9WRj9u#f=8G5fj}tv0g8%>&Xsv6|X@8}jt5*Tyoapf17)Lnr&}VpY zVu$+hRtSr0ts)!XU|q`&=T^+cN!7ZjG&OWI7cUB%XuKR&uoUHl6G*$ci7Ra;#(Aqy z*znX7Ish+u4xos6=b+bIK+Zz9DAw!u`uWu@ZN3X1TyA;su|V;>Ru18IOhJGxLST~w zpRmT6v5m7FcsB^HJh2!(pnm?EXfEy<<8fC*W^fPhTa@kX>?N%9ll~Z(+ zH1qyC7yUCAb2I%q8&jVeb5r2-_)PS0I^+E~;X2s_2pdhcI(9ljRn`kRX4+%5Ot}nH z?Wnh0Uj%od>YZ1V$AR+lk7i||MmWfF7Uy+3@Yk^`=(L-N!eVtWpphR1!K=c-=uAWK zNA9g^MP{DL=g?hBpZ8qYQAdxuc_0TrGH_jMpN5)YBYE`tz^Lyq+T70jxb43O+r73J zc&lrNysT$QXJE9PHgQhc7mOrxk{2dN&52~nF%w6d;U=zVQR}yaJth-bW_5AXI=%j; z17-cDn}(ue?r!3puLFGCmf_j0txUjt%-c*r{M~|GLpE$83z=jYDR=%s1fw|*u3bzo z5oMU-Rz`Zck+k@{pG3iMD>MXWSa%t`dteN^`+YQtFb7!^N4Gjey%~IEeEWsONxDnqLQC1b&q8GE;H=JX-waTAXpr z`sJb+loRazjn5X8uR3&BA)n=1gO{1aXBwC@#TPblyS^Fj&5JQVW6GG>9m>9481TJ@ zw)>sIngus6Jnv}S#0E_G1mk;pv0;6jO%3~AU{RBkdmZS=)ax^FRGo98C+?106OJp+ zvTjepPmG*k(UY0$cS>s*@!?bEuvPSOkF@K#$C5sykkEj)5L{A_(0UVe3M_82G;K>< zxH-I+S<0qENZ}pMC`l3Gqns_oJ||4Fyhqt`g(}Xq}MdlizG3 zLNZOz8k=)+?Yq12_)R@La9gbz50Dy^8-NuQD8k53+rDL-Qw)Ba7bk$n}4kx&J31_9giang`=qB zIph+%Ul?|FO5H<`5}XCI(8g@G6?mM7_9HM(K5FmP@^OLl3*Q~YkED_?5s73mo&{ma z9{xXehclb>V~ zIbIgViY)V`l%%X5IA#RY0(BzxSkePix`8Y<3}qbePVXeriCjj+&0Lo3cU{){Q>~tx zDpO(8^67y}^}zA@xAah4rg!)WQqJk|z3AjYe37M~hRU_ifWsH;>@-*A1cS}; zRh#E8gC8_|MF5GTBK|!jOQI;gZRO*$S*i(WtkgA~^&a4?A5q_NBC{x#Hbi1bPw-~D zo`9O8xtYG7rMWR|<}mNe=|(>?IUt_dQ-eI1tFiS5rh z^!_?`uRHMl?sY7XWWkULBFKjYufwpq@X)&zS^6J#E%jga=f8NK3Hxm`i^XSJJnkpTSK0d@__-Z2REDE?+KLBFhp+#%sW$Nn3 zDV3=6H%Qc>f+)lEe#-ypc?kM~)M}zI#w*Z(e98a0(9viQLY_sSpc~wT31Fj&wWe^W zGz2s!uWikKd0;@9bFDbXK)l^2HYI2)HxtJvZBcy#R`J`EC1NeLSN%zngSdh>AYdNO z%djZ@fxUE0t78xHJ(Gtya*>TL`HR7#fvC*H*;X4won3@vvfU<$72U=JVr`hX0Ip%Y zqBfyEZVzufNtJDp&=#w|s;Thd&^-2u`T%NQDzXmWxm#O&tYK5MZ|i(*8AS;slW`G$ z2c=%VYu>G*jc(GyZcP$0!1`)2;tJ~+2O3^}QMqA@LfkS_rp{s8JYzIr>D0zAx|1Ta zY@U3zZsN_h&WDn08@HUvDH#Yq1Gxz#-#;G4p=sa6l@7(n+{ldVy(?2w^>ZVb7dTnl z=hV{-6?21fcElon;XKpKe8A1zTc37^s{(IpLG1(vh_ytke6}`KR#?vunhWY$TQTQ) z1mhP{(WoyjQ9(@-B||$uyC!uo0>=xVksaYy&KB>Gb=&1`BWCXBb3A75_o?vOIP5$C z8|P_DWo7=jAD=4@b_|<8^cm4q3@pX1mcS&hzm3T29qYTm<=lj9zU_8wYrg#q;E8=n z7B2{0e9hczRy%%ezVFz(1-3))3irBZ+L)vgIFbQ3_W^#|J7tbrN%{ zQhXJ--gOZDChc>_ZuBfU)1rYo+1)bp1#j~<^TpS(2E785c};G%2kQ~LVJxt)`$Cf6 z35$(}QT$)p5Rkar$H{-P`ql~yMtK*mM2N5CN5$rRKF34me82a>0J|p?qZS!QYv$N# z{TcKJO6i2{U>?}-(VznkeKuBdgYr57+1C$Pn`M8XNbU3-!fIrSHo z%s6TBY7}v}H-J=ers}WebMDTe)P@lxDI}lw85q`~hiBpqcXha{XuOt|!lQr?MjMe$TQQS+{}m;*%(`gXAgn%B(& zj2%$gt-9*Rz|P>y96$M{%m1IH3Bw(**BbD?{bpk}DSpE!`^tTiJRqNjmlatS%$^|;!Tpk^9 zh4V8*;XJA6ciBsi$Jw|J=7D_3UMW8H5cBFSCOJu~;lUDsvDxK+_^!d*4mUcr8h!-B zQcS%#%$64xOj#m<*s|Wl_NPx~cQ)tTy!K44L3_iQTtkKUoOj7x>+l`8`LT~+|t#;pb^f6`(V(hJIZJq|1`Cn zE3Y3XTg9c9tZJsTb2#KB2;?=al!4Q65!J$H6EU01Z4M+ND95I1Pf(9n4!F3iE2$}Y zb8q$@T^>+)2T}UtLT6=DT*(}}&lNZ;ow4ozpb(<8)9Jb!PLHa43{@sU%&Ul%?n;?H zFftxqP|ppDd$7_yHTHuqxQ-hV((x`Mfl>W2#cX}|(*)=0s1??MN1# z*7+9Ke6QKZA!+B&ZEgfi@zUYZ zuy_e#sr8K?ndl9MMH98@hj!|_x2<(>eXOWHAk(E^)t-P-NIiVDR8%fC-W4|+iIrqG zTkg+B;T2c##%#4S^VOqlPh{t=Pi#3`h%2dU0+^^7=Yo4wY0U)`V3Xa}H8rcTtJD;< zY=pv{EtYjFHGZ)54D6!bkI2i!!e>^T)eSr-jEg|^!M?HQSNSR5>)hV@-vDllhtbx* zp~LX<-cV?u15!a8Ysr-GhxB> z9Fp8|6nAdNpZ0P#$C&BqzB){7$c>qBwUcT0{ya_3e!_2>^=g$+J3Is6Em=uvG?Bx+ zcurv)SiCD{qmV{90BMeuQqWjUhdlTr<<%i=D4zm|a&N6{5j(PL4c9 zl8~>A6{T58)(`SBmAQ5KjDQnrmuqV|L?5c5ePf^ACn^J$e_%u390*=d(b63aL64~% zFrldg8`EGPPX|~*g)@(GGM@M(YIX4T5zry44<$DBy$Jvb?Tghx3#viNl6&pIi^M~&iq&bP( z549<6tbtyMrDYujWi+1AXkEF@Thk-HRcM<&B0gO*Xx~#VPQzaG=*O0B z!xrRjkXrT{QrsgVt{xdK*L2|U3W60EqPH2L>_4{YiHX%dRZ^bPU^b2+b)L=mM>aaF zG1ME0`jciqs3wTPrbdayFGKwp(+O!n6DNB*llqCJG{C_r46vhaiUjb0yUr9tA_c*k zPge86m`_%w`qey~5^!RoNpFLsc!8?Om=|iqfB{YEEF%jRH1P;&R+Jj|#tOcYGX2W_ zX6yz`yIiclLj{`lc9Bf_2@otu?l7+qP}nwr$TE+qP}4v2B}Y?%p});U@Lc zNmn|le);OtpTViPjzGvWiivOzN&#K}H!cDX5{x+FnQ|$QMzx6&CM0tI&}r`ZOD20H z2ja`GLkcl>ht`(sCpIRe=#!ksw-eh{J9wftDtIuad|pJ5)`Pa7WS-ru2z^r1rsu4s z#N~O1cVt|kU)I-@zkXm8n)>!k1qk+UQirB2LS%t9P_m%XLOV34yI^Pl81`8;9DLVF zM_4W(YdZmqR=S?9FH8vX{Q_VYgKV+?ABG}GnGr=%WH`{%DW-ICGUiG30lfXVl5s_z zzbVAH69CjPqv{>GF~v(*6McOXqxWC7)FyHAVhC?ULl4LGnb|GuHqq}I98Y1ciS7$l zixN!9+fgX^nuQ8A2{H|AML>JR;UwZpj0i5+D-6s`-m@ubB_yDGJINRUzurgSn&fMt zF&cNUeZvU?NOD^BbZ?G-f1Cu(V>`$K|) z*%XEV9;B`#V-+`yAj9uNme;WD+)MI%XXAw%ggQ?Gc?}U& z9PNXz?+`&QB2EsJ;C2m!JCBY%qNaoRMe9UWmGmH{*4UF!=CbF;R)bF?_&vL_inMxn z@+&N``hafuCXtnKEgoI`co3OEY*9^Je*+9P;}ac=Q0{4b+8 zg;xQ~sr+d!I#E4@0~CB|&|!m*SAwMv3FT1sCg!B;E4hs)Gzn;56_pC$@Fwg1jZ|J} zjKe>TxP8zN%I4TF2*E)sr2WU$1Os?g52^A6(+~y-%P{jR&&`@>{*8r_FTI_?W63I? zFK7Tux@?oQR*rm)dgYzYfd1&kv$WN06DNiTHAQ7`SKw6B z+k1Lht@G_v2?;Z&%f?k$$9c_+U5NEh#grhsp*(qgt=XT0$=aR1b$^>93@81LfPxL0 zr-lL(q6;T79_?V%OY%r%AW%58=9dm>>$?oFiMlveMFF!t}gI zNW~J;vkxSsyBmj`Q`2XVl*)%dFjES8yoME$3Lg%~Ns#ul$ z2vAe(uT^kluH1D%pE6{xw{7W-@wM0f3{T7Tgl<(=Db;8d)RKqQVFfemH<8yoFGTd!APQyo!a{$*}RY&urlw zr^Pb!t!t0Odfb!zJySAe4Z!88Fs9BKKExgjCQqv}(c3HBoF9z+#5qR;Z^QMCTx3Rk z0-r8TTQQO_Zjj-YIc_CLyiUqc++s*GC&3pk6sjbjoUov6B)keoQuYytXkr=bpa-wd zn0m;+;L+;ObW(2iMCK4viOL$_sCdU#*=i`WtnKX`h@iBJEqBa(@v1p!FVxs{+S=R9 z;7mHRU&3pzXTo|aXy?mxcQWHm=Ni=TJ8nxlbLNdMMIL=IeQ-z5j!88uJX)K+sA}TI zqL~$)v|IFo3KwO0aCkF>r^+Rwoxlldho3%IB=)T~$MCw`>>Z~YGdhI2zKU9>0;%~R z)R^Wx&B8GpzZM_2hox$*b;1Ljxw*+j3!7<__mAowQVM4Jzev@R0jiPD%mJTC*&yTl ziJ!+O8DsMcz?9$jAnQy^EEDEiz=6T_I1vBO?PzQ~5M=+J++A3rJvmPh2|m6;2BPo` zIVhE2;;zL3Smjeo<2nsm+x&+c-rondD0i3cZi1XGd<31hw_*Qx914(N^W!;dGyXL02nX%$66r9nIp zf+3U}Qzb5;t1!g&O3K>5M~kknyEca!wL??lziN5dbKEz2E^e$c4v{z08Y=WZK-@0U z(HJgPJf4FxTW+t@@1^vsc4ZpT|tAQxo?1ejEz3Z!;2IfHhqIp6vZjgL&E8Gxrmwf%7_AF1aiG*J+la0eXd*XOP2*Fc-_z1+Sf<1 zLE?pr;nnfG7RI4mxh@b1(+1^C*W$;0mDrT1nfJh*?Z|n7h{Rm`+NTv(E8Up!oWXTd z{T*J|WP#go!Tt~C%5aDlGDBSutO=HlI(J244m#{!cfU&z=Wl3Tu{jt~4+%^Y6RMJ^ zbRMu|Mvy;AsV4mcAjun fnCy|i#?04n!ynG`xsVtFNz>6~i%Tb;tJc^PsEGx0q@ zjP0@p&>#cQCvoaOY;={f`XeFM`b9v*zg^%}#kn?AhxW4aqBc^S>GD_-`T73~H!pLK}nb?#Vb62+@^7$c{_h zONB=;s@M*8MGF?aTLH|O3@{^<)xS0K%e^Bl?5MRxjJcPfD@)?SAZtP)E$_`&>#W%n zlK#{eSz1%4uUV|I@dj$m^ys)hB3;0+KiX3g!W@lguz^BJ5mTBN^59_f5(y@XA8o0s zgW50YZdLJ_N!JxReG`>zy-GE0QbTx!Ty36-ZVSSKD63>7R#GkIyD4VF8f-fk^f^+TkAeOJ0ouUQoz?^S`!R~W5Wn}}44DkwNAJK` z-$Zs=1LMTHkOeTViADeXya`CClEKAa4m@G%C%VeR80RrAtcr@1LRCaH)9Ep~${Co? zI4oRCkE0~E>%f3g&edvki3_yUqYlmsP1ZFkt{`~P0s)=(7VMgFXcU<>5BTA9&Z9}C z>tb*_P?2kZ>1qxWRvay^B}b%dnzQvnhit3*Fr->duqX_N?~+xO5D>F}0(EV(m1NFG z3j&;lJ)Ha#;lh&wl%JootvDvb%3&K4lx+p*?3?fT+nK|bSPDV(#ElPB+GSL6O;2)s zwe3jSuX;&w{EfI+RO)!irlr3RB3>90P#6%gK;4G9Q_czRl6U;c$s2sLp50$x9xCgM zngIY?Z)SgVma-h?4@Ov;RWT=%dOnho655kQ`S9x6Ml0P;+EIg9;<>jMN$6ql)AZKN z7MS?Cn*>c)diP1x!7DxTGmFys>%d!BB8tx&OUbC5J@v#@D7im ziz;t{8+!SvdGX@(p0*Mkhh=LRCUm#KLNs;ekJ$9H;zutXNNfO&9`ZTZ{(_i#Qr@GW8T9c4KkiSv~iSCQj*wXOyivSQyLnelQ|!!P6Hqn5H|sL0@tY z$2q%VIZ?jVCdNJc()eK5S~>VnV3~1zzSE5{qrzCQ?0FUu3JV(TZqz1*BnPcLRL)Mj z^ST`?B1!n5&G4M>yYq7a-_{OFYaVlXFyM&;^UtM#Im6IHx%CT%(|EmyO<=PXAk5v$4HiC&(n{N*<nk{mubX zmALYI@b29Te;hD0N6H%&r~{o4S;JBlI|yO;eR6_=5cFE_H61su3f9j@q^*DE$ezQMZ(e`)Ty9Au-PW8c&lmJ*mE-tUmFd)}>7(JB zFAacAFVnjY62Y}T=i}gmF%UL3wu3MbP+Ro+FIzRndvv)Xj%PyoHed5${YZpanLcx* ztwZ_Nq^gVeW*1}|M($hdHNRPNsQs)lye4P=aa}<{BiIgpN+eQ>WwcSt zwYnsC=Mh~~8;X@yB*e7z8ib2z0COE5=^JOcA+yM!Pt!)qviD$sc|>J8Rm)+0DetSU zng)vr)lW~!TDM>zD!}?_gLw4!6wdxE;FGgEdukeCkg4_wZ&9OXt$eXm?mXh8!zmvo zAvv1Mpkft!OyWx}AO4ujqTqlsne>2QFiQtOUy@#RhFZ zRDI-5d#=eQUX`@-SS(wih`S?S`DA;y;MfO==oNHLPa|7*jctuYB(}LgewZneJWujS zLIV}PG-Cq>d?vTn3j7=jI{k0-GoAyt+rY!FyS#B5-{QKOt=f2R+jDW)GYF-%b-Sr~ zd(3JdO@&vyX~QPPt|}vcR`=G>i{FGxSdFCE8cR}JLd3}ANu|3FNy1WgX{ckeZFXuti_p`fvLP}__E}Xzj8;b&7XpBurp$LMK^JQ ze%zx&yBKoHJxq9<)|}rY3VT5Z%_eR_zfbOF)-}D)bQ4pc1Tu}+R{gl>nLWDhS~hzo z0xHc^7maq&<@Mm1*#SYlD+~83YT^PN(g}3l1z;CvPN7`7*y^`?(Bp;cumnmKO@Uw}x64J` zc>rephI>R*fUkhf9urrW#4E!2qJB0@EP2hP}BzOGH0nA4jUfq+usr0JU1 zX9`OBBTXP1UW?$bjd9xVTvk4x?F(zB!=@bv=}x&1TZr-iT|>%DcE2YQPG$jzQAxIi z8p(|$Y;+=Guq~B&hNIHeOzaQi*;J~`L86;9f$RG2jeIT=XlP5*`z5`aBKj{CCYQ6N zq45h&@tPJ{UBkH?l3ESm`^X^gt9sbY#q=VEfGsYxXZRRRjiTw)z&(0Y6%1FkGni(m zJf?cF?zMk11op*k;5qkm);fCcNpEfaku(4)_-Z8NbK=*U6>esTHSU$usPctF%<=Os4$da?2vKKw{ug;Oe%u zFPMe;nvs_M1!n~20x!AmPvpYIFUY|{>VqdTceb1dEmPe{c28&jg z=XNjC1G)dY+zD|4NZ|Yi(KEO!ElgoNWmM-2uR^E4@OEN;RGvSN7_-7MNwY5D>s-L6 zT;NlW}kit_aSfvOw0GCRl-^3c#Q)JbqqH!$~vdLr~AbqM~vfd_IBC~0t=`(a6l;50B zqN(?ZKb#SOa@la%5J0VD3nl_9X?$%5o4a*B3t!7Cqu{D9to^gDbka1^ecqI%+zv~z z2z~-VQK*XDD3vxXw3K}4k|V_>{kdr+iNj2?+JBt6kY_kkL$L<3+a?PDN521@xx`i_ zF^wW4$pU3Nk39^&r2@&s$Gw_}4ZJzJ-r7_ov@1w8)ybf2Pgc6S@XlB8bdOQ?OE4Ro=972 zfZGhJp7DA&oo-t5D*SWLRf+`@^h%@Z`*=(1T2i}Pnr@Y|S+j+R{LM}U9U1^-k$GTDl8gY2vM#w`a1s;R=pdQMe8%U6b1V~?( zXOh0dsTfz#I`gUVb;GLz4mlGw6xJUKmJea8{5b*1wcO$7fs~#%*ZJ)1mbSC37Z=Pz z7h-C(n48d)lEL8Yzg=+g<-6N!BrWQ4f(_Xu7^&AR>YhNU@CYOtbHQ*L)Zo)_NBF8q5b`*UWUY;`EwW6%o-M{kpFRN| zg!nTkYAuK4S}w$~mtpJED1)pvnPbX#z1C{WT>s2BG9v^>3z>yxQxuXa!LzsW7Y306 zL%%3C+Cpl*pTncQOcB`9ZNjM&g1z2DONcG)gZh59)6=$k_3_$8nXbNy+|Q1I^n@E! zMw3w<1sdI#IRgY=Pk}JC=_9VHU#6D3@#4`jDE_romFlTw8dHPdndWWj$)b zv+M;d#*tA8k>_6fMy!uBgl?(^<@(o5n8bn62R`X3|7!EQP zE=(bK!AmlYUj9BxkXK4FaqkFgx>Vczt2GuOX1w7X>*k;K-Bv*{df7H}h-LucXe(}v zpYp~vz3|8Q_R@~77RQ)1uDKwKrRBDdLAl)+`ZD`b$3A*hCc?^SC9VJqXG9ii5gjf7 z{K1`AZjfooEy0X|*8BU=_2ntsbn{jv22Xq5Q`$2VgUfZ92*Mu|?wP-BRolwnQ) zt-&8a8_#b7NwcsjE|AG3urFF)c2rY;!Lr9i-2z6^Qit8Z)%-Tw`KTG*c09?KYnVg*u%&Y zIl@Fw$7VHwPDU=*0+;GM+o}d3WY2m8I<>!M0G4({+H75D$iKx~S}h%->PVGC=iuq0 zrz{@&JT`S7>)FqGp8T09vPYuuiJ!yGv0~vG z6@eN}f`6TXYI8aOZ(gQM1sEHtSRrqGFyqe9n!=BLulRknCZr98s#@3H-^VyO4QqG* zpr|vra3^faof+$QM#&`ermIQO@0j05b9Ov}2~p6Ouj5rKrJI!5ok4RM*+;@bGCRp0c3dvkg)&JutaYyr;NM^6yfX?kgN-K0CWtIpLvOez7HXpNAy_ z`A^hy4s@B#dxMCaP9QQTebf>+S zol+k{i-98}cU085s{Y+D<_;)YY4Nh_7~F$R)^mG(7a6c;r=%Ufvlw#D>1}J__S@Zd zrFe6N0$7$kBcF7nu#owv|EK4n!c74&>@o4`yT>iN$ z5d5CP9ss)Ad-HZeGLb2?Ijyl+OnNfu!UZmg(8AfeAQkB$N+|l{pkP-Sau?HN$^q+c ztT9|UXXB&@9*}G~Du?1^3x3t;fH&*4?H_!+;_-jI-7+h> zNCS2PuF%cX_@dAQk8B*;YPXR{`iE$1EOkzM%zwY*a@SsPYDo4C4eP2v|Dp{2gCuU0L3 zKuKIt^OY-Lp|IT2 zo4KWVBNwJrap}BZh!BXcozkw$KAjIP8b%f6)Btl2e7jC_5qRL$dI&kRv<8Ror=RE* zLCTMEPotGB1s^`9KB=$lDf$nLJUNH=T=VdVIoVV}eYY$Gyhd}8UyN9fhhZr;#XM%O zgs@``i$n1dC<#Mefvn9V-RTI6Z!t_BQbN-WMvD)AoKo<^I#~n32cTHgA1_36C_E=% zy*9bf4}2t_UZ)xmX&(dm(-++bLud zfnR!A(m2=@_F>w&_9$j5(wSHDmaoz9TYI(X%y&hA-rx?pth+N1;9);;)2m_MxVWO* z)u&$D?XF|+vLYgRT|4(};EOZE_wbGIs_}|y$Ts$sF5bc}Yv*W(YJ3sC=>wU0vSM6U zx()r!@g~?Qdee8MhKL1oNU86eRSki-R67>VX3;X)s)K0JY3NjZf=Yl`6gav9DD3V= z<@S6vEKPMd#7`SUzK!bu_?c!src+!s-=92-wBBr{KMoEpzN>@y6^{0RumCZYk2r?p z7(R4I1C{d0+1-ysXKwp7KB;s=_;@TlBYXxH)j~4$Z?WEPx>X`KntL@lpLd9F(Kt#I z1>lohY)gd^HH>73KnCFYtipIqp8TvP8LzpU_3HHeywvJ+j=|24GN5ruJv9gq&^AIC zS9j>_^FdandF`pEp4k-mxt8iU%w|M;ilK7a8H1Wd)1s%Y(0kyYd^ZfrQ|qM^pNlN& z`!<$|v~0zhRMXq7LEP##KWD(O9Y{61!O456RmdDur#@x) z3^ht@3oZl4p78+qhB76eS3|_a7*Gu%txn2B?k1^2+0yW~fLPNmp#`6JKN<$IWYK=q zhLs67=Z~dn7Hl|8-IlO54)u0Yg^3REQ*XCbgP@6xmHnK~s##fe?t<{=S9QdEnLMy5!GhFa>Ja}}$$zZiNdh;`5gr8vhp}i@ScWq~ zZcYBVzPQGPE>&q8h-^r1zRF<7W1TRJiEpt$~_q4KxV-MDhX;@+;3fTVA6~Au%^Ic>LYP?d#o+{B2TNj z#g2|wkR-3uu$WoEP$*SC*u?uhJwZn4!scigMg_GR^nh}bGPANKJKX1~*r}|o3StFuh?Qc{H)~(k_e}AT$e+R??b9-P(8gPkPTpN~>_-1yR;bS~j7c{%) zG%OSr@Sw9UJamGDK1sWSItbfh957#HSt6^6vZ{N&i9u8T0>O64-|TFoGDz>|S$Zi3 zD+lCicv`eSS%GtQE6F-o1bzMsu-R?kXHkrSGWk3~n=LUm0TuLajHwihWUvo1b?&OOH&@>M zhRhP2l7s34EmDi6zz$;tY|lfQ0MhLz*#{C#ty)chOnFo28YKN$Vea?vgD*sHO#$_1 z|3~i6@z<^KBk=dgCi3IxytTKzqdPk()F2aJM{boSm98v$JnI6j0Jta?neDQ?(Osf-I0&uf~cWw@eZO8vBU-0 zRoM2KrOAbZVeNRK@Zl2o!dy5@fie%b0a7%Bz9YhHEt9C@KuHH0O#Jb16#FZzqgnz0~VKRRJ>#IbS=U5;~PVM>*6)cyN~Ep5B(sUWZS}qjggD`^VPJAs=|)7Os-3d&4m)}a@O^k zdsI(ojai9CP^PF=idEq-H>8?+UJ~ckfh^2;8Z`?brd>h>#($Xe8bsjEXro%hOwglW zzpcX{rIjHF7Ke-t)(d3f*AM6iFku}y$tblmJv1P4&OfN}FSV1k)2Ya1@t|}hDV2+M z7}rZ4u^ha*UXCxPr7Y^UWH3?x8n2e&IdYun;1A3nDx*(>VB$ehpq0txk8;1CpqOzZtAhA>uhI zfo|cXp!?k~6U;+0nHPS%{%c&p)BO(L=7-RSXZ!Xbx3 zON$T=n*}92&hpNoJ(HFjGRpnF)B|(iEs}p9V{4dHHQ>zRy>V&5a9qD(FWD-!ff2f) zWSNta7D-YR^U%xom`s!OjTD%dXfT^hsp6KnN&A4B=F-T=7?+ZGTUEHvWWlGSww++L zmorKnS%R8QNA4pUMz~ZJjNVI2o2cuQG%HvPi!QmCtg(f(X^bLe$*k3f4BjO3UXHM;RSC^0n3C1KKbG}-m7-nE07nlRi4U*IC^7{^c16r58=M+*^oLyq4_A6-k`5jn#`~Mv#RZ4F z@yNuG4who9?UlY|u9yxZizKIk zSUTAY`1j~HK6L7Gu7rs&-|;AakwG<%)}Z@zjSXq0KD)@tf%Z@^f!KsF@!*U*4`ObA zTcu$n=9s&4h-F>qiZ}y&I!%t-?}olAfn2Sa88`Jl&*!4em|^|Rq3N-!Zt@yo9$zaF zD4b3za(!Gf1mn*AJv?%N7}L#*W~}SZ`33580-C6{V=x&n)-3yepfueJ6UDJTDpK(n~Und>qw#wt0XF*%-(Z`e?MimlQD#XL9Y{{Q75Ya6eElG zHCw?HK2D;ImLNqxH0Nj`nG%wNBsm%^`&Xe}ks?VycY={ZGb;qKYb%X76G}pPAu1ic zVJyR;I6I?l97E)W5h8P|_-{awv{@n=VM(xdly`eo5}n`&jXAFJI2N{8u44t@6--#J zbig13RJC6<@Q2m4O6*ky_EwoSyTn|~V>@v=1Bxa|pJ^)#j6;U;J$RDM3#Mpws6Zz= z^FR7fL~d5tLF)LCe?S%p`Hd@lxXIrPN$+8Xs+gOv{i5px6!e_z01SPs1_&SEg4Rs zYAV-$ib0i>2MNk5P`G~$5h?)1gL=5(1~y>Lt?Ii>Z8 z+2apS6NHpwMh=x*#1o(3te92Pn8lfWVs`31nK;u~7VVfNmb51^)ctK#R_Y;Jx>Fx^ zo3R63H2>I~5{1A#hQc-pDe6O!LGGz`faBWQfZ!N~xE9#vQ(;MI&;}Z=o$;#<9K37P z(L^=V^m@9#htFn({<*_g>Xvkc3&gzu>s6Y`2xx|OgzHXLxp$4ik0lrA8^TXaReLZZ z15pI#z%@4^$29tgK?e0=q?X8rh-CMw*Lt)UJQG-^YKM=+7anJfKEKm;Zw+*ZvSTHK zWRAB9W!uWlgZ^h^bcLWYHIhs@_N?CHYGt8^H#d1Rupq=cAQ8O{hsZ3Vr7L5Dpo)a77^4 zw=?b4&^fBgS6N(;*-QdZnhc=$8E0yw&KEE&-c59SHVZ@y0@tJ;h=S} zhd7YuBs#RsbZ3aynp{FBOb^WF5;SOVhQa(v1Q2ec z=`IWN#IVp6(UkDZ57tU(P)y1(d{vn>V)y!ZKJxnIPEirpz1J{Fo`(;W4`Iip^#8u< zAn9R~DkJVP_!pUwYCdf;Le##5A z!z(3%p9hvHUflkb=SwIneQ-Y=<5OMBp*j0o?^k7%D=Vq4#Fn)uV}@Y%J-%jX+ACUd zPDH-%`QD`n-c>(cUysw6?;zNHZpo(EapmmT#rm)-YD1VIsnX-si#Sf^qBWZ;Yo^fs zHmt^F)7x@{g05`7)$s`If<3y$P>ft9CV&m9k2AE;Ox{T!Tcgy|z>nniu%L4S`S7ZQ zeI#!+HQJIKRGFc_IQpGt4(ySV@Kl`_|0&{*;~lZEB?+aZEa6BnCyTnu`D?-GdX!4f zPlTMbA6`UBXN8%VG8s(FGPt&H&*r zoF5}((^gypXx|tCghzr4vuPRYwX@4VVvDLNF_15MkD^qWx$F&LJVTI?Uh_qncQw%5a3_ROIiu6yE9S8nBY#t|0v%7WEmsA^n%eS*~h#Am+6id=pEojUd}h!vEAm8qOEgBY#mbJC!a>)`1B3`6`Qe zg70Uj)9~&R*ZrwXMPqL8Gk?`A9q8|OMLQ(+3sxfslkKW=N+pV@<n<}tsLdmi!`@nQyL62(c zJ%KglSRJyK%Gw2q!F1@JPzX5Z%e32KFYa6t1XE35B}gOVDp@9zE*<19qmh6$OV+&m z!6Ql3VB6Na5<&RHQi-Cd$CwZ%i5x9#esz^E0U~YXU8GYGn@ML z`rsNa>~pL80prB|lN@gQVxzDb z1oFfQfkEbBg&K{rK~%o$!D$=C!O6-Qsjfag^vVFn&uxqVuj3BDuww&F7W1KNZ=O-b z$Xw1swP|?%BzqfUA$Y^71=zoWuEY=JR?Ro(VD$@6&CK!BSlsu`+H)$cL-4e;J#Xk0 zu5|y~77FCsLlD>S%hv47OY3j@kbz5D&-!S#h=YP?wDVptF_KbC#dO%M z+7Ay>=>C~BI=DsxikpJ?+}HsK*bv=`&X*HG>IEo+*d(2uzjK8&Vd9!-iLOHi)q_z& zjwr9T$AB4AX!g1UonIr>?)Es~;YIh5>zaQZwP9KV6v~{?BZ_Dip?61TgCUD++PatD zpnv|AdRC2_Y@%_Pg7;KWhxcUAeYZ>4iw<}Ig1_F#gjTH^Y=Rx?#a|@JW0y|qRfg{t zE$h{=qtKIN2Sg)@gf?7J#bVpK_g5i&QX&fj`)uwvbsd_BrV7{@rEO#!4$Ibgo;&P@ z=ZB10hZ78Jq#_Hs7oH=HU`M8YH?Opyh{e|aZq}xzj66Uuyh>h}0A_>AdqQNo;q=c| z;kbk&u$5f?rjE4;p}&1Lk?%D4kIv)%kXV-87{mU0mQbqVDa=iC%ea6Uknfl56gOu4}uM4KU4VywHhw zUEWJN3AMsI&5v=9uqH#wWzbk4&<1$KaF%%!^bblz30~b&jFc5PCl42iq2#!(i6o{y z6996bz57m`1>EU+F(1x!q)(pRS9J{RPx-f!B+a@I3r}iExxC@XokkSYyVnljmYtH^ z)W{wHS?(v(lp+L>B&)-e(|VM~^=F-4$Qt8BdnSvyfZ?qIRpAvIHwg~8g z>HVCVsKXHwR#_sH8A{kyO4VReY2(?QzvQxn70zUpP6CeqVo1(!A)7Lc_$Mk9vYjfI znfJA3Cc2wf`ofS1u}vfMoxG=fR>u$;>bP$DY98UZo)#KuD(7Mk{oQ|-1J^G;$VVeB z*=(l!?F2_5?fGMT1C0zH<7j1ISWJHvf81#sVgX)Z!JtAbP2c%#Ct2b85VJIm!|YN% z+R;9!>78IIj9TFl=Jc9X{x;m?bQ@T=1Zoh?z-fF4s$W(B_>)A19!|8~i!)1<6|BCMpzNl~cP&>eMoqE*d`idK0Tit!Cu$aF9B)XGZUVvGIUPhB)7CT6hkNrY*=5wH-~>mlf5^7_i4}~n7#EPxmGiC> zojCOXF*=KZqmiPEad4aY`wWUBBgY37l#$B|dm&hN|J4I5Syh+H=B&D5F^3+|mhb+f z2Xtr)fG6O&Md^x?LG>4Pq2t?LD8qaHTOeh7JNOM&Ayh$FZ zfIO3J$A-CnaG$)v?-b-aDA)18TmEn`E+f$E(R8s7mA0mX!-Ns9wfdC;j9QuJrm9<+ zmj>5dtP&D0(3a2yA8_b+gL6al@?UYxO(i-NED6adBM1us z(gcy?X7ZcPeISgk5uBsrNUt^J5eb2rYPLCpZ=?RU#2rLTLe^yp5VM9~vG<6$&ekqw zfzW=K$9?>-3IO!00wi?;K%m=gPNwkaV-~)aBn1KO|41kGKgAfGf)0kQ6DS^tA?|?7 zAo$od<X|6Zoqe5Q!Dc&D$bAPb~=ru8+Lnh_);n7?)B}W_(0LV6MGjAO?VJuoLPH zx<2f=hD(-&sZvH9B@3-4Su?4ry?st0)zGRD1Zzy|_zK zxxMuyjsC8@9PU{4_Oe~kO|q~jfP@6@7C;@Np9;eCNrh8jN;^sH!UM&r!~Owm^MF!R z#8ePX{+n%Xkx2whR!mrGtZgf&{szr!7#8uBYF#o87(VPIyk9yW%2?h5hI*MHI6sAy z#%RHRz;|GfA?R9N9|XSZ%|&v%G^gkoW4^Z$?p{WopbQZm!{@(*{(jsjXElZpDkNJG z*6oc%>#G2V`!j`~52c7nkiFK^?+|uh83Y{ydD{A6HAN&!0QRkLD9Mi&T+qE9yNmk& zE}i7*XB(c!sGFW@F)Y%J)~D5@^Qqr=;Hx+vda6f-l(1iHcyOEc+w3mx`cOuFwBo`_ z*{?S|xtWI@c9stUC}LsPJ=vX|({W)njf-`}z&}gd*XwSL?k6a-;ljw(rJ8PfN6tj% z`l)JEa!F1ZQNr1F zGi$Yt8f)sZImfKsR;(z`Hw)P_PMhS^mN;zUvcx-PZ&&nFRnOS!R5OB(cBvvBEdMNhkfW zFHwAGMh7`4qML5Ym)MT7CIopD>p3>QQ0qX{st><$XtfH_pwKD8Kibf8sy%~fc$nW{ z_JfG3PtorHf<{kHj{SWt>iY_OelX8T{}~cneeZQUl^FFmGx&(%F&&oc zJ;O7Y#`u#g?*XUK*GbwMJKE$jNJ?PM@0){c@>W^^Qg~|U5q9`?#`{D7Q;Z@Uq<82icyqka;WwsnD@kR^$Vlw+Ylhv?M;6p8-CaI2-v zW}Z~XYUT*Md>)g`VT7CX6zq-hlXc$Y#l9yc?5@Rw;ld7Un!3W{x8fmGbU2X}s$INO zvIeO4s;|@{N_4DSE}kMzaDB!JVFIkZrXhrB-OBQ8+8yYo?hv1ZQfhy)o-$ntuph@b z0puNI$cllThCM8gq)Y3R!z9I5eWXG83Zi?&xf;A))rjO@`>!bSu{7%N{2b zdn8*Nz-}oLVWIA0Pi8 z0C7N$zjQX5(9Ro+D4&DH?e>SCJn28D$_tJrepKA*%5Sh3vXRW&4vJ@x`9VI9BAhwC z08Tq_W#LO7-+y{3p2T5twZ5hwk7qOa3A3)zC-P^abCTPC0nU%~f22#_Hoc2Dy|B#c z)w9RqGa7<@p2SeT+XukgTe$M9!&x4o&oY*G!^x&X4!2-?qwo5q_;A^-^g28N~gQ2@KEof{xFjL@|_#c9@2#jFf z=kV6ZqVmm%NZPMqnUSqT%pNqQIR2zG#pP}OkJyKG2Xk_V^z)D*YO}sPUS3R5fE9&S zg!a~IDFsrGN~c1&kBsV3rL`udixOFiVqM7AMisH%+ddS-_b)b4yf~f5L7v~1V~b`O zTQoZ6rNJPFI?dMp3adRcwS^ove}TI?y|Gx{rH9vF2*3LD1ZAH`rw8WM4sFE zZN3hd=P&7O$q5cX-y_U-2r@by0oWrf8BGBNTs1K#nA4@*~P^_Oj z{gl4q-(vb?C_exiD8?}6;Q_Nk|796`rMfFlWqiym zCx20a`WaN_U=0sw@4|vun3c#M?FY&hyu`VR4WNHM(`L@ZxnyM1OGQE9JPvFi7Z}A6 z#{G<75lNGNpic$#ci5XELEzJVfH#$U>?CZzNz3p@te^8y|z= zWF4$J8B2ByWSW#&EM4X=>ma)d*UWVFmJ7L@yoXmP|2jw(F|}pMmLoi#RC$kF$DmZ1 zBIa;P0sJBxic-eK%M%;zgvu&B+kNaZ6DISJONH@Ra@G1Hx(ipu)!06sS=sHNMz6j>j1DS2gCNj(?o?tL7{#(J&PeRMCLpPmBi` zs1ZDbsX4+Yl?(X5#w_8QKPch46})a}Za);mu$X*N_A0yVC~#rJ3l7r;RMZv;)dZxh z;!d#v*yu(-eMUlramztH4UH$V8zXWf-Re8E*jVbrxN~ zK_L9^O79e{_;@4xPaS!+TWU3N70Rq9o8<-FVl#1}R=o~ae1LlUdo?e-W#iQekQS!c zRs&AuHHbgyOJJFn#)wWGs$^|s?8-4Ql&08f@=atEpD;V!P$QD}vj?It)kto(sOG9t zD|mw*pN64q3Q`rVNdn~;_jq+e-!twYQWL&o;Cj6 z@-8vNMM)ebA-S9`S22^SQyv9YJM(GvS#*Z5KMK%n?&<+teC3Xsc>W^iBfJ2>zN|Ds z!6wHSXD91aQcSB4VLqJI*in=e?clW#6`kj< zQkr13m>@TGOgVt=L!otA5QnMnRZk`tD|!qz*88=GwqHjh zdydY2EEhRgM5#PrO1#+hs`Q@0FDak=K@$P0%(ExOQlHjXm21xlCqbE$5a|A;KwEc( zvAh+v3Zt@W%;9HUy+y zW<-OCtj5lBF?5L(@d(0iOwhC`rUsCc=4(*^54_ z6T~PnxLhmN(kdQkxxyxaf^u2hwFl`e_Y|Ds;1r~@ZL46kf;y~gusoD-4bn$dmUfP< z`?0haCg02($QDH#kgmg}IHXIIhT$1B@AMZvoVNFM)|diunl0Q?bY1lKb^19>?2GI} z(fde;FwoF%(P9xM)iiX?-syY>>(gj*2D80kHZLxU!cI5QYID|eWeoLn(au{@fT#!i zS$V)V_sl9nFYH(oGH<;%^%e!gEX>tn`q)g>+StGtsZ;!s!D7njP+N{xY=vf+|2_CB zd)*0e*_f|5;_rK_xhJike^g^$GrXh5S`TpEwi zTBU1RJ^goV_~(4|NJNJV!%5+dJNn9m)ndTt5uZnrmzU!l(oz@p?X<84QqYJLN`Cx! z9m=-KkN7PptEQobQ8Zf3qlw!Z2i18tzBc2j(jUUSrc$YmnV&uJv%ko3Bc!px{^#La8z+CL;1H{o6{V zo=me^2GM{CUJ>;4^a|7J*WtT3n1|PCykK!k#n^$;+$g1k#=|J5DL$(2Laz~^AsUfB zDEffK6exmj!szOHZ5M`^iy6kyN1F_B@Qc|EED+eqcJL>gOUWt4AGEX@6yRBzqMPh1 z&$?Fj@lB^sSb{6}AHnu6ql9njl-hFW_8(M|a&vv>Jsr}(zU)brrX~_{dkE-kGtJ=@ z<HpSkX;Ger+Nvo@-#Gs|&pnNPel?|ryEiqo!jd(g?!Am}9l z==0l$3~3*x6W$vFf=l<7g}3b+iz7kIb`T{>mGoA3dbSZy*d6GuFOdWbZg~^aal-8& zwDqwi1b0YRub~b>b-*JL>(|0T($?SG9(1FKiS}TdR3m5)wL>UI`@x!4ByilEt=1%% zo+|ZDC^snKK7{$dgjh~+eXSn;{X{=o2wFxzujkj{;$0xxUv~=_HVxNAsMEzWdO~R| zv%hWi6hTbJtLaG0AJxelNbV!;4&0KE4N$eZ znA-DZbsyU=Lnas)hbyIlqjQor0~5CGl0t{bCTylc>`aEH+1LA5illdkg(KHg9c>V( zH0k;DGDP_u)RZrA2!n18ve9YP99*Z%RP$lR+DT#zNIp=c{ea=f&F5T8tDG+H*vsSq ziO8V9M!ftToux3nkSBKUZ0n56KiGgDal8`A>5rRZwf&%41z*FkW<-h+4Vx#)ri5Wl zT9m(}Z-5z523k}(X^PjA(pgFXot`R2fGe3kE~!@zNzoe0<5!+(K}N*PnysEnXE-VU zu?bj%g6Q;w-=hPyq8mLs6-kAo|Bob1!hbW|yjNn5DR^rajKioxF8Oa zs|{GVrD8R0Y_LUvvq>6N->AuWe$D35w#bWd4fKTGWSvu$W?MR;KV`k2&??9tPG}We z4@pYR2OG&-3I5!dE})K~>H=aAn=XK4bw9d*I_D<308W*v;c#CSO%m-o>pZ2&=ExB< zl<_zC!;EtXxiCflq?Z*0%n!R}C6cNwOCQA~`!m*;V0NgK-EyQRCIt;O_hX+g&AW+x zUQU`tnp2YCMd8&zRkh*-C8xTZV2Lc(StzgVv{tQhA)_+ba&IqR@Qt5E zON7TS`@MSf^}&?TS9P=lzITg^`mYsru4^KIHonQWVNg-mT#|GR|2HhYCj6gGiuQe2 zFJo&=9(_pZhMafMGe)+`#K7*040~Ivd^!a^EDL{zk7xOH^u-vSL_y!tQ=c{`@!`ZL zTAJ`**aFxMp|jO`=LdxUoPt*k_?pQ`dtNGO?KpzPMKG-Y0~n5Nrsf0D)JNOCQ(9H3 zr`pfVriHfP-Kt7n2fu8m8dv+mrLEu%83f#>TlQ2b z$;JV=Z6R83ug&n?b~wiZNR`*(!o#*L84r)19#4-Owq)c-z3lE~YQi{c&?bzQdA|tq z&__oU6vdAc3=_*w!5e-WCWV$^kN9nPa(e#gGFqI2H+*tL{$MzuNT6}g=jXo?*!a&E z0`mDIYD0u?{@cI)H`u{*YFRiZ9JLOw2=eHb;&a+5@|*=GAJ89J-?(!{{b1lAbx|FQ z%x*Ta&F&)^d+~xSjr{_NlJKWC*)eO7hTt!YYxyO^I&`B6eZEj1u}G6Cc_dbefaqq! zR8Q3v!z14L;9LY5!>=2neO@IY>^3i^OK8oCe68vk-~mwwI$M3}F)IB2MC521*DDfuIiW z?8P|?mpIqrB~*G~l)_v`;>jHaOqg)-Bu(PmbH$Z+{%8^A^DJ5k(&>Knp{-R zsit@DEDJOH^ywk<>r~}eSjv_;R$~t*mOVxsCs*@y5%$Nn94c7N9~SG*j#{zqiO#y( znoH~}I+))h&*9kI8R9XlJ5wy+iA9L(I|Mzz&lMxa`6Kmf<}m@zy`rn9f6_$8^GD(^ z0aK(Mj75|d+%*C^b#jLncLF|dS@xCZG?7?vKXw>fRUSMfu$<6h68WB*^ z;}4wm_^og(0DL9sX4hGE3d2BcVU<_Cn`nLQC8-A?!5-M^(*$OI4+r$6ww2BYbQbl; z!xG>_V&F+TU4E)FFkf$pd&kw>Yh%>W{a?6Y=uhv@9srNdxFw8C*ITDvFb5BSdA3L!tu5C_!TxUVVzZ$WwhE&9T%A!w6^p6eWHRofR(N?Ep zdKvAHX~N})lU+Hc-OX)VIi_)HXd-`e_U5H0w`8X!!FY5kFV8>Za_;wZGBd90$h*uv z^Syh=M#smkn0EmG7>s=p$@6jB&athq{t4%NvFzPu`pE%fdYG@Krbmf)ak~!hOD~uE z=feH;jD=cO{qp`rn#N&}JS^THj}E)=zPe_!iVnY~i9aM?0r~x&bRk86nO|GN~zIlafPp1uC?@<%U77Tzk%mI2rs zyvHBke|p*R8Z$W+249*~Gt^aXr*8S(oBzK#Yr(6$N6Rn>R`f^2BIan)J!yxzAo^M$rDN?vQ?_EQEyS{l( z0DVZjchoL!r^tKCns=A?lu7P5@68(UUL53Wk8S*YFrd1d?HTayQM*XsqvNNu!^5VL zz;r5%K$FYVQzn<2qJmGxUBiNtbYTb!{viNf`7cZvOrix7G+JCXQmR;lij*k^k)lNZ>I|<)lSd*?gja0V3>#FE2tlG) zHH1+^+B6=~Y-8H<9Rq%;?*9lY;EMb=_#ybJ{6N#$FQdY5)QTZ~Q(b)^e)f!W4Jgu;_cC(U!fl9(1XL8D&kAPwshbs)uHVTOqIa_7y!k3t50Zc8U zU@<1IJDCeWyG`Rqjfs4w5jkI5fx@}fT`{_AP%!5^QBNXYI~e=LiH>^RvUO&gQ_ ziAMJ7`U-Tf+-=HWj|U_{0_n9fEeG-=+b=3y%PoNDWhLtPk@6ic_Ch0<8D(874PvIW zfP&?7(~(#zFQYX!kip7h7?tuH%`KPp3f9Vwxp0xj3@!=}eXT1SL9%Bt6n4k?X>`z7 z#~&YQ3}srVQ5C}afFj^M1DuZlUuu&^g zFAM*%A$Qk>Qv0H-0;ASNY(a#hW62)AFd6is(6GDsu2bUJ^|q<3uZ?6s8c?!B$q1ob z(D|Vq$WhD#Eh!eOzIA?rYHp~KHmdn1%Ya)rQEIkg*L7IVfHo{+ViRxrqXDdOq$NK8+Bri_M?);iX;bna5 z(NQi!%75s3$-Ucj<6Q?|LT?!?!oHaha8syBS`MUmB&wA%YfSN4$$QaN+zTg$dm$q% zwS1p`FPvG(jlkh$6{oBwm9sQKQP5hN9P*xxz3AU8)N98j$oQbKCQ#77mGu?S$>P{V z7+e4DmERM0!<~p*>v>va3xB`7beh-wNL2FoyUj%$<=6BU)u#lqSa(`UCYpRyCzi$y z#L}VQMjw607wK2)p*InuaVo)i6r|W_eDDifKQ@=X+GKK_ZAF(NcUsFVsM*LnICT?Q zhg^2=y2P3`HwGUWbRO%CrR2Qh2{W4WPSmm78O?}*{m8p^I`FW;9%f}<3%j?rM^B1| zI>j8VVNfGVjRT*|iiT^0Bq$NYp{Af9Z5Sc<#oCfRU3{D0t9fF4)Y#4WK+F@gQ0jm_ z&1ZPc4;S9W?M~i^pxQRKP9#be`04_X#iNtgM7Q(?! z328j1#u6y&aV9h*lUy8B{?VN&NvVSd;;*O(jZey=zz?*33WZS&m$eDE4J@G@nxC%1 zELf*Jvf%meZ$Caed;5W{gGUgMjXONxv`RK=9$u$06QJV$*^kKOahWTxbFqUs zp@G)@h!YNLx5de^qcTACTTXP*l46=S=CzPjZf4dWVug%aCsTd`!XCq5czk~+zr2%f8Uh+12zz$ zm5qi}9D2!yFjt1Id$iAh7F5$Y}SJbpA&uB;+TLXF3S_VR^ z!2sf8dZ-gX0qwMyn>iN>;EUT8Yc~1&)BD$65Jy3mJ6F9Islhd=xOECGXm_1Sy)y?~ z*PFGBT`KbjhiuH-6A#;PLEB!KPyy#?y2BN4@-WEe*M6{y{B@9jHWtG{7ABbZuIer9 zOX2KvDIEA#(yrwYq$F!(aZFgyY2S9}^^+_9V1jI$pL*S5Y-g-@clQw6Au|BM(@JPV ze38?4aTgr2Dv*R{0o(C4jsB};)-zU)u zQtLplE_deR(GK64A(NqeQGOHvOZ?XW?PecryPS3nDFx*Fj>FbAcXi!p1q4HFdZo90PkgUHd_YV;X;+kfrgObmZ}aYU zywYxO-R-u*vM@8Ky!&wZRqG@TOW88VYV6^}vW52YJ+Uo^3Npw=a;@ikVJJZt`_i``ZcS_dd^C+3fiQ(ROgSxVFF&X zPGIiX(p1OYwxz_FH)8dji(yGU_oxcd%2~^tx;8D z&%NO4LvU^7Mm0Xs1Q!zegA-qe$IZnTmsGgY2xtq#7a=*YTfgDf9XaK7s-3W_lT95= zF>H*Uq#JDCpaksK`jVTEr04Uue6T0&Kik~3Pd=GcQ{`ektIAkCn z5YvnD&<&aXP-l9%;+?bv1N@g_io4CD!i0)@+TYpTTFY1b-4?Fq6$0sL{)S9foaS#i zk?<$)rP}cJmw{w~#IUP-2udvdGfnna2||X`tzRW3W2c)$cXJCb%h251GM%0_HMe|Z zG==7s9kBSK$wAWj&dbBYQ`u-8=G^afroC5bt?iwQq@gka3c>d$XW(y^aQ(mp&0&S0 zsgD~|*Ibe`;ugvi&4;2<^2_f@7g7Y6BJX@C?H^`&dFejQd%tcWw_)U)V4qzVUlV}% zrzpe0JmW-q1#>vXyfpJJ;&lEwTx?gnsUlAyQJ|q!%(k>FG zAOh7jx4nLCMdN^-eXdM$$2pc8N%VTF$hT_c=Iv@8MdEg6J6epjXSNeS9}wG3Mkk%v zPFZtXw%b~m_;Y2FJI;0|)oiDhIqtL^YmA&DQ>r`cdK(Dl^RQ3v!wI{mVCnP+#+B1n zc_d?r7UW8O)jP?TNF}d4G`Mgu5=?p( zC3^-220m=1%|1j1KHv<@vA*m4JK=FgHvT0GA%~b3B@cyfRi5kM`~%wQk82;O^KWv} zE_Jgv=ihd?6~;b;QG?hEABY!l#she$7cf{XGIB%#!!9rwFk`0k90w|MbjB}#uqu}^?BA21{CNvxNm z_?yw0-1B0yMMZ$zvjhS7?-`YK6CCp(TSQ3^gQE~zklsgb7BY-H|F45?;lplccP97K zDKYC%5mo)CH#}Hx+H^YUV$<4t({{s~cCr=42!47|t_J@Q)FXiCUhclr3hglYm!Jw2Js23zyE^_l^! zadG1*C9_B9a8^R0%0CR$zW!G_PVQ0wpLP<2F4AAuVycFp2J8{ZM{=D1Sk&9f*J&19 zg+48IEv8=k!ccuqCZ~^3=kVCL&PyDLQf!5pTOSNZY`7xll|WtdC=SIui+>L^?ozt6%5#ZA8ajT+e;jHdV{ zC0|;_vjK^eEsWRAbX(S;Hg&W;$aPgc98j9Dg|YD*S4QRzA(6D)Dl2zX{AHjukb$1f zJFyZuw#myIRa?;h9!^_$gTuI=MZ!?4o<-#!hg-n=w8LRKrE^vHUHf~uX@AN)2q*GA zRC7?Lt^GaRwEw_i+D*H3)1s0FK(Xs9(<7u>K(3u(NddL|KA^;XL5AzBejbWK$N;0==80juBM%tNioEi};gE-X z(--n^;uXj51qKXU>{`U5>hCgTx|MCc0Ba@bM&LR^;{={XL z%c$R3GO)CxT934a^MM>E3sj}IZ40QNL{X-;fE7<$gQZdEHn99@3$T>I5`HGKUI&ko z_DswiXD;l@KAnJm>^g22u9j2hmN_>D=Dx#YwNEP#bZtuu(h(_vbrLTofN^?d1X%7N zV}#|*KkR#Qc9U7hZDoa|mp(Scom~|GZj31btg>{Ou5Hq-ZXa>4qWR}r$M4Mz)tx{! zXj1F|w_pU|V#7ae8kKfCH0Mu2_j8b-jQ<5NRH*?z|uPfx9N9Qz#!jv#l% z#s(6KMp@>`D`T|>3W2&NphT2~^jTX1;gu%(TzzN7#t5~$Vq*o{O|h}<0ZsWaK|MKr zq@2vH;KGFyQWAOwJ3YlH=^kl|e1`Ft-ESmj5!Az>Q87UKJM;MI=%i(cjy)jfq~#@< z$8xAqNT6i*6@Y|I#}9TP=*qrcxJDS)%h7z1E^aY;SK4V18n3E^!5kkbWLm%a(dn4g zj>Ayf1!FQ8=_!Sl^HzQ`M2=CCcs|AFg+6yv*$=+ZK#}|j7I6P2T3`EQhn7Kh%f=JhN((|}5u#%&5#d-|`xok-gi#fPl+sCb!O|$3B-rXZM42(B(^+3f z*}`818Np(Cr)i5xf1YN#?U0Ko>P`2d_$4BbzkH{1j z>Sr@X7pstvOfruYc}-@*nE<7Igj*o^DPk@A7;`vUKaW~kKesLG3XuhUiuvQ|ZZEyh zxLR26$xa+=0K*VXJ7cF03!eS`bUN034D_7hCm8+frH})UPN%{P1#C!#5bZ+A7<(q< zXf*ecPt~T&co3wYH!J^hc$;e+2iBA8aH+B!mArSw@d!H73{}fx{xMkvyh^`RA&u#^ zgLa_8dX4mln=rb%Uc(R5UkYt!qth9EXBBTyF^*0Te<}3jjZTl)F$A`Oi-;bDaLc5E ze;H<1ylKTtF3GqX)64o81&#zvIzDH zZ;2~@(=Pm_Kg}w${r3jOl!h-U<_ncfRJBSHxgZ~|06dTJDowQzM*R3LCwm$4O|i+c z{BXAqMU)S{jOD8ON1@>7&+s{%ZRFPS8wK!)ormb)yx2rBYjX^1E<*sH>#y=9_%H@# zsrJLyj1;Qa4&ATnIM~b_j&W6G{!>3|8jIF56hcMSN$~p0add!=XgsiNc zpbg53>}~&w5aT8eGGz7K)NGn6ZDi=rNGekiL4v#UM682gAE~?Mj{G{wr z9BT}oIH^JYj&<2V#ChU`et(3q1^fhE-EGvzrs zL9-xMpH4OSo1}a$ZnCIA9(1>^vUIcJ7vyp<@l?L#4;AJ6yh{kPDI)Di1fKx4du)kl ztsW~@fK5dEypzXkPR(2+S}qA?38R-!^V-EVd(0$K&NK;sUcPJ{7vEX4E7yo?SED1o zY*wwJ$6J&D_3-BIsjI+e-_7Nu@pBs*LshIpkHvk7btnI zy?8{=BXR+ni{FlQwR#scVX_5GAAk#H(Wm|LqQdh&tkFQTJDr8R|RF>^4&}Frcphf9@KrR zYRM&~YE=6*efc3O*(aKkEzh9-)a;UeY|?Vsz(4;N`^Oz0ps1jantZHi=Rn5{mlDXh z84yVVRMM(C*SKO8d!>47N_EFP>b+XMSF4R`^@&icxybKZv2JmwtID;$pEc^W-7VCw zvRyp!hE=>rW20?(Bo@oH@v-TUqDr_38xU4z)q>2d%-s1zwe3R)$Dp24W@9Fx3;xz) z#v;0mj80E}VZma|D@ta}snzCaC9l{#t-GMYi+`v}yZG_D(B3PZt`=RsML>dCsh^aT z`q`)evJA^+@z%MvG`BLKZ7Zm6`_V&19ksniHn>LCPxY6*VzyVzOp4iLEEF@7=W>CqF87FCV z^ti4D)T%vDGnX5uaD=Jhf)3;R4z@=N(sak1eM)hv5 zj_uX4;VakewXnSwX41mI_^oMS18HBa1hJ#qHRUz)xb0j*F_65}QBJ(a(z{l+JsZ;9qyBn~v5tD#Lv#1%=~(Ds$4UUe<|1Y;h=Q zEe;hTE5#e?hjkGMe61eRQ}MP>i@z64!Nre0h?jIf?qT^0YgFR_jcUyCfP3_d7SkcV zhKR=e1$)612x;LB`ai{Z$h|JoLKor6DS45`=usN~F0_+rhx)V+Lpk9Ge6rq(R&peY zv3^JD$O&Vg8udfeEv9RF&Xawq^`*JzuF*lEY9q?&Q)dGzS5@xY2y{pTb65$xL9IYD zON5*<1(60Kvpy!js2Ro7^mD|wCBHAD3Sk&kwbFJ`)vlD#Hf2@iKfdP#5CfH0SYtGH zBi|?tNB(*x0azm7lt{EmArh?wT7_weLYr27qeh_VL1enhhToy$ga0nZj~RpSj;aPO zMBnK)sPfS2G8}K~3TF-Yse^4^vf(J>-XW6Fs)rOk)67rtF(B zs1iGAnC3w!Ekrfw-c;0mj)hU#ERte{swvY1@C#0y*r(-#__|)tEM`2+3UE=)kx(s~ z=3(_$)@%nQXup_3)03h;xg_)y{ERbrLT4aUN`)=%eilSfQg$bf zAo)THDI8^$x9Jp>td3GX#-yZ@m!a;J<*h2qUE5pjmF2y%Y*d!Tj-M*xp?6iejWSU1 zJ>v%r)MQc0Y5?E!gj>5M-zz<4^h(cEB@(|W)irG;rg^@yEbmNakmpLcuU`6jyKZpW zBS7_oCq~CLF9cptdi9E!s_M*&NV|E>?N(p1#?|J65b$+aev_9UR{ym-ZuLYN*`!k| z-V%6~)Ad{aSy`E;mUgRO9ihPIZT#xRkECDSSoG(p{9(bxZF9$q_nqAF+GxTZUo>DB zsstUBKQ~_sM*54W*uvZTeL%T^*g-QXizk3Dg`X_IdA(l7rma!X{~kVmC%&~@C``C0 z+$4a8)~amPt|8(pMf}!W2oCEn1OTwtNCiy*6?FYWrUA@@Bu%0@RbgPWeul;U{9o{2 zo3;(JQeUemTmj)SPr#vpq;Abv8Or9(#gK2)5{vg!TyPvt@2(vqDAHDU~s;#^HX}5HI8G#Pq!Y&RH2y{;+VwIQhl-258A$+KWck{ zL47|*7T=FjJ%A^$6%x@{je+YhUhx_i?Lp688Qm_mch3xX0p0s&_Wqf&e`X~7GeS7@UOubwk?N+v!pGU- z5?T_k5TyeY%o4DNR%2)8VhrSMihpI+G9X{pUSI+FOjt8zcEU0&-_S+eThP;yx!A#X zp?{W$v_b`yqK$mPiT3^C@{RIsqk;x5Q8y1rS<~yG=FvLzN~gy+k#_hUDLZ5<-@ka} zscf=EU8mo*9BOOXaU1KgHraejhE_0aF$1b;t8`=Q)cS5WgX>=H+`8H+!-AAUv3JF@ z`9Z2`o)bK&8z`PMtcI+T{3qRH^WjRiqKZVv7+wXP8dcB}-pR|Szj0%#cAT=V31xoT zE1cU_IPJt~*F2S&a`;qm4Egta2BmFHt#4cfooOm4Y?{aSyDx)brTR&wEfLVK;lZmc zUA|-O_V#LNk7qTQFy6oX@KGSQe9_pOWF3_b4&(-Boi*y*O?CvjHakKS}rUzJqxAGeL5e(35~ z(XwYI>k2JPdQIhboZ3Ig&&&GNv>a_cn^XdWU!JWZiPd8#rbNi5 z-{?J`4r{*B+|icKPe*ky=(`0Vkjx#2^iWkaO*4q+@TLaf?ja>Qj&yseSYl6#sxkC= zc2vyuqvNvwc|wN&8Cz}q{9h#|x?_WoQ_R#4$_fwOmuy({wI4QsV4abSvo<74PP+h> z+)$`GGV26Y0i?FC?KW2qXKxnYVxtBs%su6N+12Q0P%5<9I@^)AVWpq&h&KDhN=YIu6VylkvE^FTyV=@ITOa-r!~ba{_CasHv@hqp#d6MO z3j0p9%8}611Z(ZAPC3@*y3-ovNa$%@wsm-Ya;(jB3t4r?MJ18%kETm1$#=!+?Q`mO zS$8}r$R`O5uU7fIjC3p^lwDp_ie@1)gU^Ju zoyXM4;3psH7kf9FymSlunS@8qB7SpfPdc*ZaptJ!Em4CP2V2;kHuT(5rr@efmnUyae zNP<7J;eY0$CH(on=ucI(eW&HyR~7EiWsi2k_PoTsuqu5ykKZz>}n--OZC^_nXyWV55(N5L-4Wn@34JkNJ5 z{7P9t;g9cHztO3TG3Y<6zNNwxw{Cv8HrsT-l56HMJPMrZO>k6{f2={22&K78@6|R%Pp&95)5> zh-rEFxw1+L>Zk}xd8-JiY%Cj{7-zD#k!@4)6f$P7cU1|Lu$27WsaI}uCeV%^t*!dmWtP>+*%N*rvEBJfzR9YUoCzl z`>$3iZSX}Gr47C>x(uuOuZoYf{;RD!ofbE`-08IFm@TM|h218fUPhYsI1h+)qr;B$ zcTwMiL7(F*{2L_gD^%xjglR!JWzRH4v)EJh$T%xYTh)hMOQkRo>Cc15w25-CfmpC1Dt}(MdrYtEPO{5Y*qM_WB*>(9)-rZ=PbmNGh57>`B>Jm*w`Gt+$-4P)3}!TH0&# zp*ej|np#ko>0%>0@)*3pQ>pod7(V& z=^_6R^sBvfu#rYJj9VHnzL0l&?%vEqHy{u zSQCN2&(YW+m8L|EcGYH55MD3HXX|Jw)D!som4wnLX+x=EKm$M|kcXh>RHc6?rZ~1X z1fnd^mEa@;MEh%uvcaFs!SiMj8a{tD0KU_&N&KdM-AshKShMQ?x86; zhejpGrqqmeeSm5?Q*@7p+zYCP6;Mwo`QkcSEW%wg@O|fAODhdmC_|HGJoZ8XwbzIC z`p`quhhSiKyaLuel{NON(Oxy`Lp7R=jH(eMwcfQOXUW~!1ca{Gy$NWiRG+;Gs6?CH zOh6C=ur~qiRh|c{@|>_xtGx+mujdSG0un;^K1@IcLEYH|gbUi6fc7S!2d4?yXtp*moUqs{;fb20}ZV? zLH|FK>U6+67Fc~ja7?)=f5tl}!oZqFGiKO z=jZxDK(k&zovm{S{SRJ<5AhRn=A6?kFeAk2s2U>Vgc+btVAh-DCJR<@>iVKU6X8js z&*x#vwKnDwR zZ+#tlXD__;(hEG;HZRD%An}Np39q2I0}WH<>8R@tkUh=a0B-E)qT)CR!4e znaZu%UT*EU+)@!Xyx;=(XJWM7mRyJ9I>|-k6|7~;0&K)F=1aU)$S)niqX~+ac(a77 zAkk3in3IyqfxkS2bL>bgNGydHFgs^1LLX_JM@OAMBD=Z1K9}yo^GDZMv!9Bv3CxNa zuY7WMVf%!fr5HaLGr^NoSikYH-wIA53K+v}4GEM_Z#iPlV&TZhmx0~gKs%z~J?b<`TjI-f+ z6mbJ<@gC!#KR$pXe1x*Re1_u!=owA^$kHXbg}`>=sUFAaO}OxWz{hYW$6fuwTLn>; z|Kvqa!>8U4uQJ*K@rP6I0Ny$H$$L7U!M{d7PszWJ@ZS^o_XvL-Mi+qJ+53JTf`PBm zb%qnOxX$R}W;Rj~!KYIpaDXaa!Is*E&XJs`_5L&&8yHC)O_98uh7g3n_!cD>5?1)N z(;@u*$*nTVwjj7hLU4h#^kK-YBlF#Z%)gV^`t-s3K+qHBL~fnEhPTe*I7-rpym9sn z|4wfL^6$6!?_?1LN${XV*SNjtqR85=>=H|17skEX^$^6D0c%^3UsEB!*su>mgiXz= zmu4Vwlwz-=ORNnx+Kzee9UpAB#nlXu`z+z5oT}a437=xgA8TXqakXzruGbRQqj3#;LLQ%B|5|7R|i1|tf5k})fRTu?X7?e@n zQ83M>Ed|q`WC9=P_}i0FCww7*mAz=%dC^qF*YFZ)Jhn-shaiKdCl=MGB!vdoe*}yF97hJI^d2A6kw4W zYYkmY4}o|UW?7B%s>~jAGSw^(DGq(HJe6njXo-xs_blx?!|V9kk`aaC$$QKOeh8Yx zp-q!W=vtx#<8#3%3&~CJH{=(51w$=e<&fG1Y-*wqe}z^t6|ee5yjz^v4Q0&>3T=C$ z1~E@jw7e@m?U^Fj= zS}EdXR@$jr@j|z<{{GUZggHjaOs+N}t!P{6ko)_K`~5}1*mmwOuhjt`fD-|V|?;FU9RHrE7F*F0^_2fJQsNqzzMIzt8&B;TfjfEF2`YLx=avbK{@_UZlELy(*kgXGk7GO~_tGP7C)LPZm(jU%sd z2KidVokB?E9jO%*pR#CsG6JR>E`w;xcB4V0#CLF&Q_;1ZJk6J4wB42z({YWYAdg@v zLtfk_96NgLh>q8`gZ3f>k+xk$V;QW@_s*sVAVMUvwxejgVPoyK_%H?pldVOQGu1R? z$tVwNJwXBkO>5{TO-%eZv-2O>&vIOEcddhfZ6q*w{7SS8^L4OfO#h%QG~a>VP(<1A ztdE`>ZNwcH00*@C@SZ2Ow%DwNZSqkfDsZKyy|b3q~xrHPaFlZ!zo!=Fe&pXG-PEEh-@UqMObE zI2Pn>De#Y#DbM=A-L|Z`b@|!ikyzC*IZG!7%=y7)ozC&{w63kkiK!eV2ps2T*)TN` zJ(CR-nSu}NOhJb()?!vl~XOg+IPm_h6CV^|%?s8t#z zgJw7N9)Ij0D{ATh4q<)Sm(Y4RQbxzumJ=NwQ2DHxxd5P5(rDGkcSyJtaox?(Qd{3@ z2=Q`}rg0b~+Z8W+zm~gvkqFz4arakcyxo>6)7t1cws%81vkoPSd~Bg~k$$ZcDJHab z6D163+Y=?4y=k8zwcBFEU>qF0wz`rV^$;|aDLRUbx!16SEu=+BBsH&QRcZCr>Yles zh}yEd`5K(>dw27L5G6Xow$-O0$k(1a>Tb)D<5`_v(!%K+!`e5i#qN8ajpCppcj-Ar zXq}1I$%RcpH#6Byvk9) zc?JH`t_&(ZU99~VLG>na@bmr8rvUXWHFonXzT#4AKKjZV z@k)uY%A{6gEcIi%LWVkjh5AIGl(Z+7z@LZz*oY7X!wTS?5AvPT63W4##U*H8SFFKw zz}jG$R-?{a>6{2cy6)~s|9UNby;xjMQIyU_7e0JMTdw7Bhd}*LXusslXPO*7 zoVFVuVGuG3JpseMR`TRTc|u6eV?Ev#eE#+h%>D{ImVq%(V{$dQ4!^n}75;h-0M2FA zWFPcBu69JpWoiMe%cruuq58t8fU|E{yheTi4%X$b*51Xs1+5s#wkuUvdN<2%F4X)hHEFr zMZ=HzrfTo16f@}*y_tDUNa4-?aJZvSN!wx+Oci5 zxWl)nPf)&I$g@wmNVSHAl^NytLjMWYo4kUYZ9WjL9I?+CxEtR7)&|bzvZbH@sdUe! zXZ;!i9tz@B0306+gxY8s++SZ&s@~3K!nRExv^$!l@g%AS8^Kv0^rD@rx(J@4QmG0;-JKBNS){NP9~# zf%#%s1aJ)+M zwQ_jmWFG>@-5v4i3m`(P5xd)(EhcPxtEHU)>nfT~_%N%6^2t`wX9(dm;=)M+p-1Wg zo>Wn`@X2|*zSYkwx1;nUfb$TXzU2*$QZ!BIC+AaTdPFVw9Nsd8;EuU>zC__o?xT~y zzu3f|@pfjJ|ETbRX{%7TByhZR6)K8=kznxV##E9u>sa6VT0WNg2ZwRTZg){Kk2i#M z!>{)~eU(aAD?r9M-v_ZBXE`N#qF)?o~IZ@Gd)u|ERw@Isbu)}dvx z)gl2Cmf6>qn-2P7a0I_X7*}un0UySDE2Z&Rz$FwNEM0edEMULmV7hNK+7kerWH9RI zVV;Inm@J?oVVL_6WmqAJs;7nzhWYj>L`DCY|z1 z6E~W?U^QVv4ySo&Gb6N}3;N_UBv19bKUA|)PGdx z08X|3f83vqPxlD5R0h#MphehlzQvaydSMj@HomRrlNa=RRnzR5PvFxE_dw<9(G<5> zMv%L3$u7jePN1^;OGo(t0RA8VyrmEg{hMJ&Gp;gxUHit1WvdhVIfdi}c^+LQ+=AhJ zBrfYxL7V37`&m8+eJ#MZu9ma)d*S@PO0j{~r(K=ju>r^XRa3@N9 z(1|mxqT;G*)Q1gA823l^c*N29buuhqu%>F}g&k%XblqWu!Ky(>e+|;dCRtdGTeZfU zU-{Slvb`Z1xuqK!B=c`!yzf}VEj+I*$I zLwjx<7sv4waLs(y7`#W{q*U- z!vC`gK%2BQT0MS+)M6TqPX&U<2VpBb=JQaZq}bR7TfABLHi(ycI9dtZJ00Z+HbUW_ zGn3>B(+8}AZp60VSGM10-$=rwb24(EC7=wM@URN_fsMY(A#)8dTsz#z`E)A}G!>i- zN%gb=j;2$!)!%67s;0M%ZPKEz5s;Tu+3N<_EP`2?Bg-Z!vDZ%54jNG1z&VS;Zy9{` zW7!_4t*Vd5+neBPwA?H`0f(EL<{&-uFv-d7_KV~34DUV%IjO>7hf0+DK|YTnC&=96 z0ZCA~_vwT8?8Ec3Gsx=7f;r)e+)I;K1jLPxY$R8VmG6!(F8NjZ>p~SKBDCBq;LAb- zsaE3p520qeLbM6MfZe)ee73cE8&u zQUEUa8+zz6{*)0P68kr|dSa8>{G3Gsz9E)#}MEL&q%S#FJ&LpZ!x%Tb7LOn}i1)F6ltmoyo4Isg6`{KEI zXd|A`IR(!=Sog?IOueH3&smPrQ30PFCf)Oe-Q2*krP`zxL}#}P{r+SSEqm^DZhHB67@bpcTz-9DY zsRCijBN0#L?(Rvj(^NUsy3JIz&`Mg&BC`6b?@dqN7kKoWY`xJ zKm&$7p{Slmd3D;EePt&U-vR>j9Od(%(yd#)RUg>bH9WeVjcUNHXg4vIh;PlSwV)m> zr*^_t&j+h*hg)e2os+HAgYOHnu1S`+pMC)q|i)vP=#(2)^Yb@_)g_C7^+N>53 zN)EYRmym#u+9IV#$8MW(A`dL^R$;4QW}clgx~NC}5GA9b z8rs%!->1SI%l4hdKjjuCs|m83v3KR&KH0>v#!r3Z%*wD!exppY4kG#k`MQB}Exc(i z(>~(kT-=@uTh=1V6uxWA;!_S%1tTRU^y>1d+o(dRsVMt_9!&gR^3Q^%d`3_p;S$Px z+N`C;t^F?n-w>xExs=e}co7QTC|?Q|xv&Jqp4_mX0*5g6eKbB~GHJ>^?5spclm zi>Ee*Z_dlI3`i#I&LX=p9Y+L|FMHpnxhwb*PCUKJOL`fJbDQ5 z1`!P?{G#VD;a!f3Bf8{|u2H3!f{TE7s zK|cJY1dcug#LhTk&mR?IkX5E;IZ8?lvTGdhR3cZVKw1)$d&<<<3L5&&u7EFH(NzhB z{?5WHM@5Kwt*IBPGnotJ3E5@`N4rZGfK<5oT#=nU8#xN$wRv3nMUk<^9+}6wj z2>G!|*WJM4RTHdH6Jn1hFY-0s@|A^f0~MLeJiJb0d!>@9t0jVXr-3L2XjW`0;mp8o zPk9GBfZ(>HS$b1-z}R;bUVTqL9(E7MGwU9@rVwBgp7&=WZG3QwQwJNE;_SPH0beym zyldzUZ9f<{=g7nZt-LF)P83{)a(#SLm7M$HrW!kvwRhTMi17;sO9|w+Z*aB9Hne(m z@TI}BdH5}d)C%X+k%mPRSQ(wFyKqeslUi3x3z{9<_d!tsoKh>EcvK1So|sWkF|=sg z?Z9UMmGw{OHO|{_`+!2m&JUdk4%hvGJcF7C$CeFFK{fvcL*bveBUZ;@9{?h+{@Ruark2^ zl9~wDEO~W)?bE8wsZ(kP8c&|7(?Xa+6@7@B-mG*xX@+elM9+*t4jQ8Oxb0EgDcRfQ zTUxga4cz;V;Wa=Fzi-y7&04FuL4zb|Nssv^U#Cm|GKj5Jx~g^tFPP5}hL?(wyjRa& ze|UMWlqS#yTW3xM12Ch#Jl4nepI!=tjH(dQs`P^S2!T)HDEaKK)A|a&6)FpC%4-6L zhX)8)bQzPXWyGx1u4Uwgdth53Of(4~6Wp&EsCtRCD;N_tQQ}dUo&vL&x@nj#Rh9fM zLA<)kL?f@;$Uqu;1VGl;=_U^n2#oL;}^ zUh64Ho{1M4AnR9#wzeP?3eJPAp&*~OB9tz987iSLI1bm?tq{sqH-1_vjM&C+68_9B zT^+BvZ1WXZHP_tAnQgMj2T|=bA2euyaR!ukkki!@F?ktf1C>r;&A7;q4etFm_07~Z z(aw@!oi3^uM)?;ILoim?kG1=Kh_zm12UDau{C>d*{!BKu>QD?%D- zsz;~{rk9ah3=3{5o2n<_$gp%Im}Qu3oGO}BQioY^aFzS05sLN zRM1s+Y}r)awUrm`_@P4SBX;FLgKAvFj2{HJp{~`)v7Z!dn;x!0qdHswV&)?My8qx8 zOlkVMA{UJg)f!$(0E`1d5z^E-B#H%!AY;%zdU`_vS8)k{vOa?ioE7kP7S1;r2v@>x z%gAm2u@dQf4#-15Xg5M855m=m4Hr>^3_Jq-_|tv(P?%$-{9_-s5n zPUvn#tH_b6Pv|ZP0E}#U?52+M4)fe@FvCC0`IeY`EIyV7k1B**rR%g4D(Ifjyev>2 zKD~e403S%6{j`2Yx*OLllkI7jl}=R;ao{nCTwj8|yiM2LHT1U zwPjpD&n>p3dejmSwQGgyY1LmeYsSf5)_rzTPeC>3>AVn)%}c%W&sBloECE!uoB&kLIp- z+z4uvQtW2A2+>7PUpcjvf5)g0Cf77DO7xZS0Dpnt`CYgutnS!b*jbs@@Oa8i6snub zts(OaSxhr{*ac+&h7ECZWd%|CP{rVrSM}v8sV0UTyUEBAbb(%QXD>CXSiGDwHJpRL znnlb7>wsL{$!%+q!^wmriuFt51}g~DHLYXDcfh>xaersU!|S-DeBV9?{FK&pXfB>h zs5LaR;lcTLB_oQ%`SFH-eb;-F6x`2wkS(Glh+Qqe7+qLq6WR?4wYA)v2iS00c*KV6 z?L=q02)|nG95qKG05}r>8d(>*LNt>_bd}J4uqJ7M@VLOiSc?_e=_p_OP>aS-QhGwT zWgVd<=^cevsGE$HZj#g!(1oRvx|Y~`PQ#8Ve`6{?1?Nd{MafG4+e^D9Rl0IVB|V(8 zFve3mzm8VYD*c7*jBSNzW~E28`mt%XQ#`2=7*`dvnljv_6vbgb=P1qmifhvR6+dL5 zTU=|iTDd)MMTmYsG8{#udk+T`k)m}2F9j3LU9Ymhsq?BUsw~-(W;Ou~f2;zWl1cx1 zp?ofr2bRI-(BC9P05AMykPs$X_&`dzzYdox!d2GcY65BjsnA&`OJgk9LdWnBwwGV0 z8)$eI(h!J+rw&%^wNtK^7g?PRZ5nTOB78OMxT-QwjVL>iqKum|)F{W9GK!kY;S?3} z3b&qtBYS>v>uDuqP$7c=i+t{C1wgU(X%(jd(S5_5Y+@jg5zrt2Qf#8xA+bre|i!h58j)Ln$u zR1sPdqMk&hHmfLm?kPFd3bYC{Hwc=)hDn%3bBb(p{6J+~3C<$Rb8=S9<22u7ZnB7) z+&_Hq1Q<&|*{pUlb=RDV&?HQ_Mx3Da0Ytrd7L_5FIEzgd`{azMtSDZw9q<^u4(qf6 zGfH$_F@pl#`6h2AF z|4^xDG9IDG;}%*}`BmS6VK?1e2SSlkfo)}Tkww_%LJiO$^P(IJjPM*ybxQKeQQQXi z#q+ffEqw7FONH+>St2#A5jiX*2j?nH?JS{N6BvdCTQq)M}>e0UcQ!!B&W=YFzKh8JvYY;l;k8nCa|9usb3I8Z|?ZC8a_Cga) zH|&^i*r)er+c{sRC${rN-5uOBZlk4hlYK$?x?&K*IIYTxRON4?L`^0&n)&E$g@cu* z+Bm!p^6P%=mtyk)WW(ahL41|ErD2b0b}o%y#SsBk7Ok(B74{?SXt0>M=$G*6n-{Zl znP7VzIQ4Fazdro-?8)d{mLR(h#wKmPpG-^UX4&_jU9t_0cvcD)>f78fI9C6HmqAtA?1FItBw z9j24&SbmXLa$-v~Z?CAPTH#@@3TA{C-)iy09dd$T#&3qMp@-qIY3%Bf#h8|~MgBmo z!w8_A%ZPkR0u#sfZ!!r>)Ko#+5_4A6-fC-I zi102_p#516AR-=Q3uk$$XXl=DjRDp%RKC*A`b{>5bPNz??23AL< z4Vdd}iG5!InqB&9I-B`07wmVZ595N5*X%EzGy}d@L%N)-DtMp)dd31h0#emz={j(%9H)-Np;%-V4G*}=LhDtcMiZjf zr8O!FUI0ZMrAWHCny0ay$ndQCm0Y{8vUHOyJpOWF0`w|F9ubXKX~3BU3DI^cCS9!n zzsJwj0FDyVGi-_yOHMqgoE{8NMK;=IRaeldI`Q?B_?|B5#Jr?Mm5!fdncwL0&1yv>8`kM(pVrxP8h8c+e_+t?asUuL zLLu3$N4Ey^kd2e6>w+w|-q4z|J|5I4k{B&DtRve%$*;H*Gz(HJb^_3Y#H#kdF-olA zHXI2T9)!pd{HF27wLv7xP#z=~@uN-xipOiB{APleT}$%IBe~v=rWVhTs{gT}v z=8O(%w;MKyC8cA6DNn#}YH%BB$@Vrcbi{ilqpieCGG5eFvkn`5QdH3N4Ofbdl{P#f z%p!71uoqh%LB(sQ?Vr+2KLA|} zu3H-_l(07bfxbTetFhM4s4#`XIvFDn9n)^Js+G$Cp9A2Rb^){&ahwag0HL_UBZhG4V41_qu7g5De1VyAW>{*qitBYq`q25&r8;XzFfe--5UO`6$!W@Q+o z6BP#eJ-cEw)an!j7qG zsls(GmJl3XfinCivMq#Zt$b9eFS0QB?50|>O1%V>x6Xnn1`9r_)B>h-g-aor@Us1l ziM%uC(9I0zVXc}D0?xYL~B^Rb@J>|YicFF6e^dnP) zWY^CZeuFe_;nD712H0|46?fW*MB52PhgbHK_RDcv{XuC60j#hJ=X!bNRTS#xu>qoW zXbXpEI{*X4A}vtibs`Q!U54`2y^4=SSOE8t;X?#r)4jMK_SfZ2R=v5ayo#D29Q z(iOBP^^%^1H&6{Osz_q5Av9RTpVuKFtjr6*%;j--N+m5MFjHA4top}XC>6%d>gy0j zr*Y@WMR=KJAzk=dv5FljMb;z-sUUDhfw1hjXg3e}RJ)tVt`j|@c zjEkP?8uqvan}l39m+4xoVQ(-VITVMU(Wn9d&Z={T3$Y=WWK{SM`R58Fe9L8{vDT`6 z=EKcy-JRrb*ANMfeM>baCsG3kVpayPP;Uoa7$`{p)}z@kGmDgFMcEYU$(2d!76%VcUw)m(8`;i6sfVL)nIJaT zJrnq`Ug?jy7`lqnJa?_xj5db9G6+f-3%=#ttBhV#BZpUtIb%y8k zTjnH&T1UPsIBGc|A46ArUX_pG2U`$eXwV|a-KsND6F!II<*Q&GVnYys7(&z|OIg3$ z7V)FzwOG_v9IdE0H7k!mv+8+Q2eLkL073o8E3{plOM@#52CsBoHW>az>JbhW!Cqjl z%th}3gbiDpZz z^GY@35^j@ou1NScwfJ<(6$z7S17HQe!SQ0KNC;+|G>fjFIgGc8!g;8eZ!}e`xMu%i z6Vr-OmI;jutJgj-8sw04;4P26b*Dm6#}%~fsYFEna2<{8U-Q)|Vz#hc9u?3AS>%PglXUe)MFurcY{Jkx{TzZmP zrRPMevL*zNmGxE?ctXAwpzNbn7RPKinpzN3V_i8~6Wyf2nCJ=74%i&Tb&#N@VnpPG zOR_GJ&hY*3N{BOkF15eb784ll4}M7ZUp@?84!^F_+%1NMc?r|J;#kJo1>s`j7*Rr7 ziLlREy^<2`Q2n|Achq|CpD7GcIZP#6)Gz6SS{qh0$$FZlH%!9iHWQn$kN6qZ8LM=m zr7PLJ)ap>`)bdh`_~GFu!VG80WCweWFR#*$)o5QsKeopV%#Tg7`OwnM%GC+g*TqdK zk}<*szXigY%slGUW?X|#H6UHxHr5!cyJuDxsrp04$MzQ5Brj6>#`~9>q{=kkyax{3 ze+6DKue4BmphSI!S}nB%R)J4`ma2)^ohja!f^A{y9x0))lV(o7jMKoa>JeUA=r$ve zJr~#E4y7vF?{A-nN0mG*>CVK#)udI!zhe{sy3=`|+}lFI(<=&?nOA^vY(PY}7;Zm% z=Isx4-vswcCNgoaLU<$Sb7VoiV^wsE}<=bycc^lO;^ zoCS+0^%zLYln!gBL?c9;W`yY>AMksM81o#=&66(3U6r0#6(yAF8ZTMn0HmMEfs^2| z=y{{KtjgnIxmEP)=V`X~)66yb7eIVSp?Oj!Qh#wCY^TyoKMUs~s->;Ie8j5AJi2=8C#0GRRvVFTJiw8~?ibInbT?^D;s8L+93X?H! z!No>XBe~bhEC_4*Jk_d}$!D|NLp)`ROXe^$mZok>dO+^)U%c{aOFtvUtTM0uoz_Mu0@IJg%5vEaVcz-Ux z=aC;wez~>0!W)JH!RB{9WO5*5k)*CDK|p5`kYY|1-4@vB?qkq^TLhw+Ytd{>IO-`I z;pxBjP)5Fvt*}!-Ke?E=d2533aQzbJ^wD*PfRsKWAYN`svIu-h!ysK{_^Et9KDz2VWwZgarR0 z;y@V`bI>Rsy=QZR7Nj9->qH(V>G~;`9e7v+lEea@F3HeoRZd)$SUBNd{PyzM3kwVs zWNb`AV7V~?;()>M=yZygC-U^KFF$q|0Pm~>gc&}7d-wZ?E(72S0ET@9?>=>20Rdr# z55)cAPc$*?K4rBbV%I6_S3@4oZ78tv=Ckz zMTf5!l93sMrg0}6!Se7BH3b!@#$t&_)w2@k6FOVaIK})GPjNs9X|qR!if}8R7jY2b z%{G$a-jLdODlT~)rHGMVhLNrBin3K{5)WZ$U;LEc2eVu15yQx6E8PEQ2@-oPrHm*HiK}-nE1o1FurSO_%01c&@zJWBvF^tfU z2*&Iy2GUy=T8xWY*m00tZGtODv;l0P=lh`eX9Mxt5;R%Dl?`5SnWv*J_86X{Qk^rzLjb_FtXeOqEVicCE zki#EP?Et=4yNF>oEODAS-i#((P%G!+*$Zx9FAm2XwzqzTFS^-q91>S)_gN2Ah0JhC4-|NaA8>|PZNIS8?x=tkSdKv=$Q{k0}k~oy6 z{_I#k53}P{KL^d%jdG6y#fp?c0(AqkaG8G5yUc-`yTjnKqLT#&{~=d!Xqw0z>%g&z z0NSsk#UgYonK&I8*UzdY66Pjog3mKX z-wHNe`$o{BD8`Kdwq)O*OFu)k8KnN=_IrhqYAgbo<{9QscPn>8V0ahU*he<_ma^Sn zL>W=X9aSteTA>=m3Z6vEWw?lfbr_2bX*^TI?2B6nAV`o8__eUV(D!>w?L0oESGu`t zb|t2v6|WtG$Z(p-S(4j1t zM~5b77=tJnbrD@+*EKOgh?yX?(&Ca?%~BZSZk`331W_k&Kyjqvp`+l2-WFP-ragj< zDl*!7^H$iC(kO^yUtD$C^Bu-Jzhu!Vc*Ml9mrHjXhs?up`=F$JCz*s(WF`59XD6kF-Vx9al?jbg_|Re8~274C#Z#nU)MkX_VLYYf{S47 z-9$t8YY$vXT8bOs*g8~8{;RK%bXW>%=JltmD}$kI>v&T zb8bgp&>G?rUp;sq(A$_OBe07)6ChL<)`dY^GG;0qbcKMfAZU`v!u2Lg#2KlyaZu^> zaS-1GxB1V}rTF0I1nMyT$WeZz&dy&2**dZ|Xst2Ys1_q^ZA$A>0!*YpN`A(Pid%=% zNqoIt#Yq#~412BbCc1<@zW$S&2{iBIcC7J|ni~|RsJSx0s%>@bFAUMWz(Q9hP zMp#*PtLDm#F~WSk&`?Mjn2bY5wClWhf{9PS+UBbK&Q6Q{wAcYEpnD8@bGK$p-cyt3jHK@2t&6c zG9#x!%@NuCJ_3KfPh}P7*3zSE_{7nvuysj6088&;_tz{E99Rzq32wXwkb1a^+l4b< zr>m+C65aW2g2c{7Y0q&dxEmt3O{{M@+2K&tXy#^Vbh1KJrmo zVPeW}{_@bKde?(4FrC;35`fDWNZ4KIf*J=afByH+PD<$XkL_kEdWhHWG@k{W`wS{xrL@N4hf^m) zg@yug1bNX_K|r0!740zkSk=0+o5qh}2QrLfh%*j5Bz+|Cp5&`=9$iLrdiTLBPZ#5; zxH-9oGvQUK#t+-NNEiI6L;zfr$1pn_U`0wCf^$d>pdT7Vvyp|PNb~ZuGn58?`du~> zjW{$aw}98?j_r!&On3kTT@9^zCj3q!>-~;v+o(v@#{s#8KaUk9i3PRPlk36he+frP z{ltQ+t1P?yGTA%2HNG*of`P%fg!cD`9ai@bxw?-H zT@WsFW(kkPd>wsZZJ*IdPE!s+AVvkmENGts*liUBd^+rC5cvySW-~j0!X>?w)Sy8$ z=!bgt?yUOwrDc?`bP>~OIz}Ol)xwN(V>A**z`!Wbqbbb%Y(uuIvK4woga-WiCisfl zEdwO>9fzlbu%TzlLS>j&huC1YPzK8rP5XExAwD2L{1w)Dwd?cM%RJ!&(n@F`c#+0H z`V-{={6|DOr-Z1f90(Q*&@5?`7VDM6=SbuIlJF+J74AWv&|o1-2*~P~Ju#6)DZ;}n zbw=(zdjek6`^@il@7GyNG&d=44@2f zXFsse_HQEOuZ2O0Z-*_=NN2h`cB;1wu2s#gt*;WW7?w%NrBYMty9i|kq3T|05?(!H zU}U*TOvRPGKZu%;-KvYnA8cY!Cgk$hj1kbv$t>S9--_{;dbDUFLs;HIHb&#qeu5hh}7OzQKfoxG-xTX~^P}6PD+QE6u{3P;9Oj$&%^y63-S4 z*QM99d~1Q;Oudv;kTjnL>gBH2LICndr7qr=0*+02Xa!_w;6yeX_LybndO?Emb&=#~ zRYmVb2S+QmSZh(so|lwtyqHrw&&igAnmFT%XC*`9XQr9pWt@O`auL8SV2(+|SKebu z1wYym-!-#&I9~z0R`<6FOR>Sn?=#*MA_N|Em7G&mn0#p-Fn=%Wl zd;9S7Q`w<45&?9mW^9NQ5HY$o_eyQ9AwYr##A;YF_2qy{doF7;Ve4$?^4q8!{>EMN znX$b}YvqL zm;v%6pwbxC_uNSlDZ)2WoTRbZEA5)T7L5lk4HK%axy%=RbFgE(=R z^_|uk^;hvG3*v6wN3qln!ogyvbbdWmip0`?Z#kj4Qy_*sn(7TbYAm2p zvRNU=MoE`UXcWM2SkN|eU(s230%~8CGgzuKB*M{w`YJUqN|5MTDwPDm3wqjEr9`93 z2X(d)<<&ZdRnM*_4BPzhl5f_{q56QY>jGFe55>M+IL3?fD0T&IE;K53rEm+7!nB}I z7C~0n?8;N&MmV3=zFJ2{?XrR8u6jmaZIN=#wzckdEo(+p&I95@ZM0J2IC$A-Tv<0h z1ANCqZB;n*#I~Jub?weH8@CN$;n=E&SvmxbFs%Zn*pHKa-OdtnS5Uys)6fpT1`Df) zs7cQT5bN=&3PM9G(nB)4>^^LBcp&|rbx1pXcg>dVI$}32# zuL%p8Q$JzFyu=&s<=4@wffGbF2T?z?DIA&u)n-ZRB`gX4EQTeOVv$6Yt}t*xG)zDv zrL>JW=XN-nYeu^^@bJ6tQQ`Csqk?UamxX8J#oS+I5Dy-G33ETleR;KNziY>ZLiJe) zrHAxph!d?9BHs#Lo=D7v#drldzw7bHiDNox2yw{Q!E)s%aLdGI8vZ7+mV~OY228Y> z7aKTEwK>z8IWXf-WIRvI1R~P%br>w*rT4F%PbQNS^(j!yNB-v-q_VIoJ@!tIl$LLy zWWv)tvYYlBWe(s~iU1+gq&IV0ET-rODFUMnNt5!i$&`rWu-Itn=qIQo^sp`v*C##- z;^5HBn;oa_Wb2+WApxw@qA?yYYosf|39`N>q<5Vzn$kw@k6QH``CMReDt%T+=XwZH-;_gGlzcyx=WmXSC&4{z&hzLs= zj~8Ai$K93lx@fKx(Jw)5!dyTJu0$$TVG)f<xS(dGwrcW&C34`#lY}>DWK^28g9LI~%4~$9g{Wu?3KQ~T3EM-H)=Rc3 zu_CxufeNYCtSgFz=<>3=SRglQJf?y zdQn9^9S$_nbwIl)otp)XUFyKdK zW^-H5p*o&~#EcSPbZ{%2M>X_PJv$-^uwM4LENaCIpgWH>8Cl1Iqf!|UU_u3LCza_~ z-6>#ckAb2#aPsu;Zk&Si|6jqE-~-l3xCe$A7iXY+-9wNlTev0QvTfV8d5WiO+qP}n zwr$(CZTpnjb>qbwbPsx-lg!wWnLGBs))#O&!DRM?KvNhMkX2a9c6#ZDW*dw{_++r5 zVJb8VC1B`k3yQ_-2X_RRq%NZ67<{e_fv6Sz=yJB5S~s|SF5Fj7l2kF+rFkAB#Fqva zvH~6a1@0QM$pyz@23J@xqdW>`Xn+w5d_mlz)(=8a7d|(-PAsY^XO_1~i_7;0A%_)* z?iI13L!KUOe71K9;e}91xl#OG7S*K*gG463lj9_b`q1C_RXC|I!o3Xmdmc)6aAdV0M`IBC!+sAJ`&O-rJh zVvi$L!()8UI0MOqU32ZNON9JTLzwC!UKhskz?_+7XQbVa;+`%eb6@?&-x|OwRXa9C zKh#esh#@9ApQNLGuf*VQ6HwM6oMzlBL*P3exY@+JSJJGH)Q9%CJ?nFsWVgsiGJnD* z5cJ{NQ#Hv$T&MV&-nGJFeyy4XnlY=BO^b8s4@pJ{yzB9F31|w7I0KMe&g(4O!ZM_P zSnhcihQla~T`s2zvYTe+y%y~J*0TT-LYJ!!HgxoQydfE*7RHBR<5dm&s@ znBs`~!qU$qnU^=Sq7L7mD`)AbWhxQ6-1F)V*6cfop^8IElY-(&xB+4Xgl%|8obKrw z2?B{K{1>faJKj~D4nVsz`R~?Ghyk$tf=D6Y9}XX>oRJ=hPe|?nqDK3+Q2SMbcAEg{ z3+>{2K(lY=}E&zZKSf{0{)qrs`46c?cvRMZ)5%{Q*UA)F6HG=!wL=E~nk7{zN z%^SwhYxJk@Fm&3AdBegUMJ4+1X@+%uxuP2pEWBG7Ac zr)WtSu!DIYn7Gyu|8P3+;CP#~0CCIWKZvBK`6Cl@KuP)x@x`#UdT-n%3Vg<2NZ$G1 z7(<)+`$C;XrOy-8DbcFvJJfVJdLL({VT>J+=2)uMMUd5l<1ACtNOsGVZxYc4hIdI# z)be`%#$8C$u$CVV5w6d>`HkSKpJ}4HHH1br{uTa^rv0mQmU!i#+G>|lRmmlasj3?- zGb+~-A}!2tl7}6V6JQ+TEaMy8E6Qs>`st1j?$gES!%joJYaEhlbDp!5hH!>*G2n2x9{(%JX9p&`jm+ zr~VLYLF{bvD)-$Mj;yrP*5ZDHZzl(_VM=W62(1*|<3%gxYIr33sb7`}dm1Q};RdMf zDaCh0M#uEV3#eSr*wQ*514OuGL1@VE38cN=m*QG^Mvu)G(4yL~x-GiB#+6LJ<{ljC zOo$pkgr02iA0F4|MdN-%%#08UN;$IE2R#j;ZxR49(hw*rY>3luO~U@y@J)A*psLla zDYn&wLt^gGDOGJPRiOexKaoS*X|u+dUQAhcLH{t5Ha?Udmp-drk# zI}BE}Khn;C>p>*+H|wi;_m%7yG#U{jz}_QCQV{cp4@}~UrYpih{M>XsstGn}Q7$e2 z*%V`T(fEw_r2ey@acQ_3eT*WF<>Ou}1sI`GTp<_1F(sihY}O$PN8Te(n(T=~EjIA@ zaCYfFe;3Zp4?TLdxrseI&yJm=1 zPJK^DDnYX!nGVcO5T!pON~mCA7~o{L6nm5g5v#J=p_hFBo=1U^KwThvM_Z8j?nV-3 zB^fAGDCn7k;8xLIIOh(zp>Y#+bl9-?!Hvh9e6zHa$l9AbpxZ!TC?Q~kvuU-*Iax@V z8oQFZF)Sx0q13=_>0y_6s;Vo0=dhI*x}c(5s9U~q&kGr;($BaOjVq&~4qxNI@NzV%K6H6}oJAtMg9D+~C4K?5iV zN;pnwR0Dm}swR;Ud_Xr0`XB*u$62>Zd$Re#cB2A|hJ0Xs76P2y=+;n%3q;s9nOvAG5&qr1cpL#c34W>j*qR z*TMMXs=c!^eEC)NBVFu3ctm7HXjrgp>v7YG-3vy;VZi=Gv#AXcu2RCxy2IOwKYQm1 z(mP33WZ>xYqQ8gix9Jf3Vu8# zkf&r89GNF8!YhoI#DNZ@HnYV5R1#$6%{~D_k0=6;wPx!0_Mj5nW#o@(&m!J}Dr`_C z<8n?K@_s<{y-x&E1tRM@&uq7FbA22#(l7TLT=iIm6rXQUy|!lIuF`az@xa=3nU_iW ztJe@Ya+ORl9J>E@t^$NOmYw*M%Ui`B1&viBDe~X?olBlANI@&DvgG9+>yG!zs!Y6H z8P(HhBGCI$&dbG}Rbp#2vf9GYcdinGW!>N*ihZLKNt0du``{+p59s`D)iXJ0oWPIK zQ*2PQ6$&aW2-Yg~T345(Cd&wJGXQ`^ol$2VY_5bd>l;r7fgK_hAT*o+icCwN&TLk1 z{)I)#`t&k7Qx75D>rHrf&g3QiL)BGL4dgeNOb$#H6lmWy0}N>_P4cChjh7#OS$->C zff6(9AH_sY^;yo}=;NXvqLZN9&`-h9jKaE&0Dl>bzm^zeum8F_^SRLSka|!jnN6VHLWWt<9ZqL zOM5<}@$+V(2dm|qf+u;F*n_M|QLM(qD}d7)eH<9~CfuI8R?-xCmwTDb+Wa}MC*oDz z5Y#g}B5V4cnAAhs#llLiw>E3a>-y8Sg?S=Dznl5m2+tK}9SoW<&&QAf9H+0)(Aw10 z3Xbn~71*hDt4CDQ|IXXa=8t*^loc^zW{6k?M*pWdB>HJW5nulej9=BES%zZ|>bP2^ zrW@9X5%~AJywPURGu|+#vD>Q5On!GuXb)9h^Q0kc`W9DdrFBO_|(Ou$A^e{gGjYt|DgV9WTY8 zEsv0sW`}=lC{azRjynJ7n5HDQr@UofuRq}2(QguqVG~N)gh+vS>4vN&*A3x>Omhb1 z|2xPEaCm^mbEe%PmB;Xb+JCl98uZP)2$^4zsX>d`cZp9uDK-$>ARMbaKJY4u=w+*v z=#K`ae>zn}S^nu0@8+u7wpf2nxJIXAMH2g+2T(Bu?B*g+xf+ypWmAfb z4_Rx96UCCD6RO_y{Iy^r_<7axKV|)3_k@;?yrr% zN863%QodYfC&BA)&a$SFz%{YmEwqR=HLBW~F~z6;ZgmE=f8JLO!+(Ji8$!h+(L@im zcVGfEVr7tM>$75N0Bo>vM}y}!z{PU_B!i^55rAK)rUaI#)nwm*8UAb71Xbv$q_Epg z_&OM1Vo_jxgNanp)+!p@T3FOAI8UI$&Eann*jdhjE{6?WwF36A9zgU79`j@A;>Y+JJQ4jax$9DOR^zBj{zlnvmqBmnTx7@#%Z=f>dyoLg(|gIr6%h9>8c>w)T##n4nX?my@n;HhfJ?A5Q0Vi zYt3F+x1SdbQHZkgK4DSQKbZFR*GK|a7|ziPGMt#y+B_6AG#7FNb6QUei{4Fq%s@O$ zHni@sz4wK`=z#C<$$|Aan99M_}&prIh zZyZj36^9rg6J#x1$XNKJwIEqk?0>w`EV|Q%S(I+s<3lAz6<7CxlBah+k|yumhi6L+ z@wpgP?+qN0`s@gSszbo$fc9rZhULxVq6vNWs3h4dBR4aAo@wb+eL?-=)QOi_w`B`$ zuM)HztwGf_uc)fC!RsuZQTY-LTeg-l@rxuh;yh`VOdIp7*H!Qe-^l>B&3jP1!PRx? z57n;69%O;W6A!ky4y-ZMcx$gkKe7FbqRfco7!7QTnDl{($-s~QYz)D~U}&8+#5gtG zTxpA+HiH<67KMG)r7Ko=tCt~uL2cX)SV>Y&$}=7qKQ1@3!9uV;H-qY9MA4KUoV1KE z8i6lyH`%hr0u9<@-v?_P)nfYYqqKu;nC>9R+}#h6GR?Yz8|IF zb7cHcBLLM2;(-gz;Y3Zkiey4Vr*9^%%@cLl~cu*2R(?*}Kgt_!+>QM~oIP?xX zcqK~P6t?fSe?tY%YuN$q`>Z*l@!LtNbu8#eW6h(l&*Zs0pocHFnu8H5fyW-I%OnlY zI==8Y7G?!_+_t^#I!y+%VPS83rsgydsv8f<(BCAHIjX=hZWwR6{)JkH(;_M;q*C)N z<_RthfEmAI022WAQ~~om36AppMj@bl&h~6fjhTgO$@GX2Cy$u~m!c?zF;T!$5FQWM z(STVSe$dXpIJj%=%a(&_E0T6)f1v@1}B1=!1 zs%kh;S^bKxqu>D9YoFHrq>(Q}PN&I3P;zX3W8fW!Xt?Sv5Qlz{=AZwihhk%lw*Rj) z6Y|Oed7rp!Rovut^eHxNk)cG)(=@tmit<>9uA9?=U%m_Lp05J5`wzpj@7$COzs4uIB847An5}(hZ=ddMKxG98I%tL=A9~-* z8n~P!A4>1CVx>n#CL8!o*ps7_(gSmA&hh|-iQ8(m%)(k=dUgP7yg_{zfHLS8cbzi~@T z636Xhl*gyma*hwWfy+I~A)vd=vA{n~rRq3G<}EHL@^`D?&+eO;{dFOj`KKz-QkJ~b zS9eu@W^Bwt0?O_#XA_8kHZklYsz3sb>3;($CM79mp=DW8c>H9LTur{Hf3^myMoT~8 z(z!UtW8_(aB_NsIx*Zl^;UtV#wCVSUA)y$5;YZxXFxF)~0Kzbf?#=M<$c8aKrDsKU zPe!i~zG?{P>xLaesIKh3R4d^XCBp0bp8YDkFWcuQxeLT*JnjmyHkQc+ecANtO=&m1 zHa`%(H9y0evN7g*XD_}ok*mv_XGR{q^oPF0hW6xqx5rN5SzdILAS7!}ky`m9NhkI; zuw~m*F?YZL8!h*n*~312F~EU;@c2A%{$fz~JH$`fQP{%SmEL8&LB};CY8&ug!oKho zU9!*eY9buB>pvdPzB9%9hg<;)#Fwo7R9JAGEDHS=TfHK20CWH+O-9U{l@O7ODMXjh zgaZ_eHH+9P4k!s-xQB0o@!tXjzKxs~fQ>=tepQ?V5vYty`sqV-zyW)L81e@A z9OgnNnpxCd?*Qz6I+}aYEtYET7ZLfhb;wfNYhLisw1javm$AJU;?os>AS%t2fTWoM%VXgK=Uz@rouC650M8_%(-2bI4(p+DGtVIi-! zJ>t<;5vEd+PduSY(hF%*&DZXAs--gi<*!Ni*hxtaSA!Z>#H!~Fh;^z&8i9aK>`2z~$JR%dpgi-H@h4r_q4YU??&Uf2RqHG~kqOsx&Ym8IqWe zB$zgW%gMd3g?5K5JS-~6Ad%WZ?6A40_!y7274@xrx!jRQDt!1}AfE?h1chbb+5vt| zufg32K5+gb_M~652|b}pvmJ)(@X06X;0{Xsx8XkS^k9VrUeCyb+2N@@FG5)D3cnt` z4jW0d3yQ|z6R@+ft>NAt729#3eBUSwywdCDN-v|Hw$yG(Ifm59mFd8_;ly0@sGq91 zI&)1=LTqm40FV?gs)=eGVjuLec?w(XEhbH|F;k*6(aLos%W@eOs)8LMWboU$=`m?a zG&FN>bC=(vKb0UNT}mGt(0}f1eOa|zU^P{ zB9?4E)}`txd*vcV(CU><>uJPF#IA8XH7JdS1c>s3*{hEM!iXaB)dj^}`r}+`Lv2uk zRo1O<1_`?WwQ-tRkK&XG1>h9F7`5pta0}3@06~%i?0r?xGG#Nv+~>51it25&!dw?Z zeSeQ>HnUZpN5Wy}U+|{{3<^~%O;PMDfU<`d&!+)*lC_piS$glYsWfE| zimUn+F`Um}B!f9sxjS5T-rqSKxaq9sEM_soQE(_pTCXB4-}JXAa+mh}x1b0UIG^7# zXy3DNy}SG3?px<(tpaHj_ksnkSDXMqWo}+{^EAV9RO8Gf7UX9`*hm@b#2=7e2Qyjg z0O--rK=K3g&yHIErdt0ZZY~Q80$96oG^HDM7{;;=bNu~shJM4d0J&)2diC1uE-8*$ zc!;4w0iKihICKTGLoH5$>5#$s!A+2PvKgR^Cdx^{EczgpRUOQ}!`U{|7+c==ne9

    y77(;OZH^6C!;?r8NsSPhqq7R|2nxX;GO>n&BZ-V z3Woa*1tEHLVi=Q(&FQX|noNd_Vpg|-Y^QTwiDSBxN=*q=D>%ryti3UN8S6eshX()L zl%$97`H;o5yfGWQOC=)&0t2kHaz>b}pu(p7mQ*#A};e9rcf<-gqC+u9; zho7IC+bI?&(42B#r^O-7JXec8;rdKuU{S(2X~PN~9nh7iCCt8lKDS6)S-ZXO#TT8Fl9h_(YTP%P2{1zsoQ;OIyZMBx20TtorG z;$C895$aoj$}K|m>=9!l2w-0Jt9?Qi=ZoGYHWH)`Z~`&M)Vm zH;aUm6AQ}grVwrhVOl?R!4mYf&_zwE2~AoCVTpohoM@v20dlAKb(BGFZnnPlYuHp> zA!YQ612{}uzpY7vF>K|rZ7by*$&M0M{hyTK0P@42#yZCokXGi{f=o_Djt@^okz*Xm zRO5JZTs^rw_%g)Q0KypoZJ*e5R6ViP<|2;r>jCBlg!`UCub7^-cr~5gCK+ymKw6(T z{E8`7MnTYN3NB}%rv}-%^wyK?^4p4xDAfq3`+Bj7X*RCy+zYiXv=2%LE`+ z*xOu)PKZX>Uj@>41X|OUDw~|Jhy?_bRrN2ZxeqaJmI!eOC?e;;GzEa@-CT!>7eW#G zekS;Af9Br1GU>F^2Jp9O}Q z6?Bw=WV?zS$O?E^W##2p!Y62*N;uhkbFqwa6oaldL{|n|*e(fPSi_kG#8kMdtBu)^d7){f5MVs|C{7mY%v?>gkCn_hA**|Z@Ktb)#FV^vfu$oiOa z@{F^d>W)OX1w>lP(q%e?6g;Cbq5z!LS`8OsLoUgv@E`Ke73OPMq$vB$hnx2lc|QdFrti8=}W`k*&v?v^E znN^28t(+a!LC@FG{PXPq$4u>JpAB?Ghcr(3uztduWUwhutyAWMnkGH7YNZ8Iy14Z} zhqn+~(B;O#;UxVi$G;AU5Kp8GHpt`r`=*xp5~rEUu#qp8JWDeXBg0R#5Bav50@)zmz|NQSm?ut77-AY zXJ*CV(MH8mqA+3-*<8|yAAB78i3KrnEHsJR3@gC>Fq*($U1xSDOO0h5@Pfu-VrbKf z=$5p5(77m;k)&=}jqvp4*Ll2=&B>JNhWeHXWOLm!aXwa+{+P3&t2oVb*A5(LWB5CR zpado3Th5(lsp@haWQ1!I{gne^YWUpIg@)=E{gxU3p>n0~3XWP%z#|tWqQ){iA8aUv zf!>QCcdNBY12Q-qFJA@o5Zk)}#1OoGtN_v7wvZnsuf?Laetbp!&{=r|S|f?~=pySQ z7Z6kfze3x^xwQPT)V|6LfEji`DVFP8pTXZWs*_Wh!(n` z#+6|42$5p3sqCMR)!A-`FCA|OynJ!vgn{c%w|S+CzzMg>IoFqdms%op%Jrp_Y6D;e zy}|Wjs4op>n>35Apw*wZio$uQm~S*uthnZWJq{zj5k*gfgrbfu$|gH)y10==_bjVo z5L{qxx#On8RM5r1prDB6J-!IZelt#Y{^)wWUY-8u^8`0^>K~#-zMnthDINDzB8;5!@GyyU7~mIqu7o>OzHUGrwXvAb6oRN6rjjh`mvp99`WG!v zpJwR|<8Zmn#3t+`euhSF93Js3cXwKCyi*5Uk=n`CY1()#;4!#)3K)qV5qB z3Oi}0+-g{&(n7Zxf$XWc?(C4Ovi<(^)9|R0h9%yaD7YH6YUp=tqF;AB?~{64 z2zYvZC^PX2P>$^+=@x_bvnSsEj_yxEy^@Gb)T)7C^Es^Y%2n(!&$%~u#g+R|ES|)49RFgo zUfVll*97RnW%2wvoPYK%(yw9uV-_r;)MFqmQ#!1j5{(dXnh{2?pW*lPV9awcx5B(2 zx+=Y~DhguOwb8W30Z2cS10}&@(ZNu0S(V4b;`!*+&(mz}rBipxo zw0PiXp*S>|(Y1gLhK>^@t1ub!7F=w!&;|E;nHgbC*UnneGWl%gdw5RS;?ftXkmW`r zO;Hcf{lkk_UTq@}#F$kE_ThEpEVlxX_bL##^h@{#8ily#q+nN6@_n&r7l-N3S;s%O zO+8k@dkQRz35+sShm!gV*6A%BHf6aI}eA%I^<45+n8xt7`ah{=sD^r7)MM^mb)M!ptPJSml zRb^qm?k|7x!^^XeO)M3|w~XVB3+BA?D-`J8Wb@D`w*$+yb8|7Bz+;|D2g9zi(0h?> zRzd6?KOH~)>Rp7_!Iy|8A;G^0J5UD295hNtAK09rp?t`ibdrZjx_-)e2VT~2NMZp` zmt^R)DkrXrEu8Q#etG%qg#`vOGBzebu-upcall}BbUH=li9G%L%a0ufK%JFMLYDM%b!j2@Y?hz8m_J8^K@x3Qlm}qh=T2gnPvfAFd>y&lXkcV>{N~gA- zG&&FDq;-&@s$@T_pcZBG2vQs{ptTDc(i@&yE!gV(ZpV9QINkwIS56xa#cj^xs?+U< zn5LyOl}9<_lAYi!-75PXaM_N-^F$3=i$dQ)^O#r$6D6=PRRfc%94o^ahG12;cn@4; zRaaS%Ku!9{niy4GqV2@85MJm`hkvIXhFaUIJnn=au)I7(K`RBSvGny(^{mAGgw7T; zPBDMQQydUN+UyabBHYU7MI1zUvkj%VH>5V6igR8^E@GsYVR-BNB5xhba5o4;14B?{ zZPvO#G+AbhKR26CgbwP<-F4VI#gk>;v)0vR;qWap7Y@rHjsmA(L)OEde2u!6Fk_%9 z72I@bMTqy>hv3GeFckRQ3@p6^wEc4)W)WG*zpSxIN))wh@oc(HIG}|xIKK(4o`X&| z?~%A42a%>=zh=jRnX^P$JzM-KEsWv^tH=kkVcd>hRj0OFtp@vG$5~A&39~_}_L%Rg zny%~8Tli=3eZ?U4&gY6aSlDV|q)5GxCJ=d#KYsZ1@_R5cL<#%l)w4HeiTN-Y5`;I=JIb2Pf9p z-_ebWM;B|m&{>Y1;o)(h-aO@bZnDU?r6rL^xPq>a5kQEk5Sr%&QG9H=lF&`9`T@d=ud>7W>e<;vvn2NXMi?$w^K*xOXxW{#TCgfnX8UVQz68`z7(F^BD~ zU*U^xHXMh9*^q|e6p-zA?oe41b()q3m{F9pT0QW5EwRCZMIr#(W;Ll7AFxqGMq6**>hvTx3gXxos!n^l!+7VHEII|Rm^k)w>5k)&c^Ix7 z$xZIiYzK1gzl4CxaH0!&c&DC`b9A@aVVZ*dKnNCqzR9plI#vsz%jShrv3i}@F8GLA zoVd`ixpbW3@riwkpuzPqL)h8y>paX>jxMD!Gx;Vw2JiGInAm#BWg+(K5p ziBItdwFIqUMe0%l?{X8zYthj1sUlypk^MMKt}0UuD)QX9g2F;cz-o-pxN(Gy@dM0d z&I>!{`Xs>0?RQ}vV?oS0x1%p;4RLv1J$N6`+n6XLFh!j)5Go7n%%CkAGZ7BDLO@p# zG)ZLPdXpvMj#Sz>sCfD~h;M@1{Kx20eDGreb(p^AM}DNv4tqI8fz3i$W3*8%M%bvH z)};iPh=COSj1v`Fhto}byq5>MNOYQ3G49J&&(FfF5nXvtcb3XlqkveqK^F_#cLeK zgK;X5;*NDBaa@Hjxa3d>jz%T67FlbzwaS5=Edh#ax)BOnAHpk$VIoYGND{O$4qSZl zs_>#UXC!ok;2O_G=g=7&!PdsFMrFnrVZL5yD5MNb#-StHWnR3x{Fa}|DPr^W85 z>;e_gJqEq;MW#&NU=Vq(!abLM*fu6ziMwzh%K>>Z063##wAW0KcY!3(B{T|ER-6Jz zT^h9Rq6NTy$w3Nc=ypYBTm~zdZmXLSZsqu;ZiWX4sdXNRM->79E0l2I{!tO#(`#4zn z^MBg9YE}!O)00!Fa}n(+kCsr?`}zO;5AQli7BO0=g(kx^cU7l?hK|e4(#Li)%!T8& z(|i_i?=z^VN(sjh-U?GEM1_U|aRhnMRY5?V(G~45`dHPnvYW(@VFxmdV~9HrJ0yK1 z@SfzWa2{PobE^AbmZytxRA^4F;Y_G1)%ams7wLjOl?Z@~@)%}^1FT4iLvRkMf#b*a z_H<<7DAK(A><*=YpMIB(L?aH3$}OC0bH{eYawa^0fv$#DJrjN>k@bGZrEL_X>f?ai z!k@>Aki>#o>e2P!^uL6oq<&(-)m0W=1(^C(k>*gNg~3?Q1f<4OEgnsKrpuj$YOEMv zlGNr;J32NvPROz+pj%$Zp~6Kkat+>O&t!-lTEXSj1=cysBB>v=Sxj06#&jZ-`4LsZ z9nKqbD;OAzOK7h@?6A0h$i;nZ=z?&WGfQ|R=IiJSYx|5wa+;z*I0WC^b7@f4D@(U` z%TJ3d#kRZvkowuefXqy?+aI7gu3%J+ZkW0mOloGJ^ZVKfv^@^K0b*1*m<8=q0K2Uo z0iO=L8btmA=h@5-pioIKB{gUe4f>&;y?ZHd>ed4>6QT!`;NoYLDSdnr0cj;PV7!Q9!2OBv0RAJwol}C;ln(@p1xS`ON{jW%;d7+%eo1%} z-wO92PiU|pB?M%3%$}G?q!i&{mO3N%o;?9C>V4*SJ9(n#5IKAsa3yhCGpeya)9=0a zG(lSIz*NHaMKZXtGExi0lmV0h?(7E^+Ww~q`DhG}4Lgj@{}lgKJfDYim^k z7Q-?rIag|GeHWpuz*OB!O~R|M85mh^5>s(y?++p-WVh<#@dq0llnJ@~HDd&{ax=^K z%vv#Oskf^j&#QZ=)I^Hl%wAJbeFHK|e2Zo%C6~>+4szCd$eTma-CRbMpt4CLpgpWt zoqM$O1?Y3M>N5W$ta(KHErwsiIW!}K`wb=(#D!V&NJAE% zoUlAcTxk~O1Y>i(NR~{mm*;Fb;kxvCmTxVNH&d083Y6y4K)KviEd(IHRm$Rh3Et)WN@@%i?tS|?0HGZM#Y?-^PFr+sIfCHcvccL zerB2pD&qvilZybffH@`+UwMxu7JP3%_^z1+)bk2ctE_@C6&5x|07SaK4D(e`mEcqn zX2CTeB{U0!?ku>W42{#7Vl2S@<7V#h#4r_qzRB0Atsi6cj1IA{ggzT+z8XR^?Y#NK zP&=SS5;|_tk!6cGL%@I_R*u28OXKonI&IRldXpMY?XK8YvrJQgt?q9Vl47Ajy--wr z8L9>pRjg|xOK|HKMtQKhdhUjxD7j3E23YUQIU%A4T5F!&tpF_Ob zjT=7^cNh`A^U%F*85ULq5K04ZL>Pjh|Lo8h17SSZVDw;z#iAtrr5VgPxN~7ZJ*Yf+ zI2j*K#%Cwv-uu|$(0hr|AAAcZ)myj@?G1oi6HY<)TL)j$BwZ5yCKT;}B{yK*f9eFz z2Axt%#=bQXz=F(NPk>4SYEx!mb#EVjekwb(Mk0U?#f%N%0wPA&=3c4IH3Ue|fLIMn zroJ2yY0qVCCTyMUTz(sc!(X^-p4^PaPTVLO(1G%h@Hy9Rq+@zq3<8R-hVhJzlvM>^ z?3xj4P6}UEoZ_*LJ?fi#{whg>j6EOv)zXj3-8vvDZzS2y~&vpQv)% znK7v2dMZrLhb~!D6(2+W94*r*6*EAd1XLQMTF;#n4@LM!ijy=}d!=2|*P`*jrC~yK zQi{}c8%Ze@ig61mWwyU@9>k5qtnakWsK1IgSrB*YK8mGw5DpeQrSt2lQY4oCBhMh9 z_(wX3r?hPmjd8WETo!@dpllYq+B-??y0NG{2h9;+WEoW}Pz}t5%^8)1K`qvDGOhqy zW4{`SZ)FaOk&2Y@MTRmRrs9Ga%4UTW8zo&bp^*WZ{beC_$oUsZ=5aFX(9_l@g9BAJo}KlvnErR=vBL5Nz|yOTJk*hw2Nyt_xt@JQVwO z;TkW_qu3R=In$`vm4X%^nQ1|uEP|}C*_Efljc`7#eYK8^(q#k7UG)6g!z1`Df)sBzB*5bMuVWrT)Sq=#kzI+Lp(rJB{1F0np51+u3% z>l;;Nf@Oqr#~Uqk?UamxXuZ#oS+I z5Dy-G33ETleW_Zt-?igHq53R@(nESP#EI4lk#7YrPbB8TV!VQ!>v}wL;+RevLLBmS zuw3~GXqnhd!`~#$z*b( zJ_U^V$p3r|sVuBYkG<0)#pPQlnea4^?56!jnFFXw5g=rmR5Q25Vv2r{A~4#JG$|jO zOo=!Si;b3!esYuqAJzrr`ou?pd@?$lcj@{axj)6Pcilq1#f%ay?t2+TaRs!HJvYXY zyo84kshCj~!vnSB^vY@qsG1@k4*!_VZ^bWrm%{V!tvx9Sw1^026Ki<7r9IPxhA-2c z2=cx6m~q5Km_*^?dymcc4xmrlLPx@u(5K#G;JugWCQ%^Mk1n$`u}S3>BaGA$5Qcy& zYC{K$CB{cDSHXN;WjSbIU3^ZVsKx_XIn}2bPX02e;#f5{gx_hgQUVEL7`!FRl=;G? zAD(;5a$>rK$&Us1;8`)H?i@VFoe&0L%4>+$tV$rSAMTw3#0!fACp&>q{s>)v*MyJS zojc9h?N$x^!<_Jer3~KEuUW`7dUi0&hg_V?@-*&5-EOvQ=zf-F zJoU(R(XfxtIHYRX0hdkfyHOlsu>d0c_|+9!>N`HjRqRfnai{)8V6A&meKCce{7-*$vXFM0u(pg_ykR$mC!r}4cbpf z+Q!$)&iqrm9q<;SpX;{QC-~ z)`6bUZX&Wo#b9_Um^Mj-;D1p=rUM;eIyMA21BeEs+jTK&WrQ^!R|;uDOK!Um6n%3` zs^mm?Iz{S~ymOz=52W zG8-XlAtKs>!i2n7LiW(4^^&bhtO(R95Fyo?bw#!iU0!x)3j|1m8L zB_|>;74X=b6d}$I-Z2Yj1pjUa4VcgCG=7~JHiRDUiP^xYQ+nn zJC8LPS;vB_QW+0mLIrInk?C07DIjT&fuc5W^7Nl>l!EjBpTU>l3~MCZ1Hp`oGf=^G zB^k7O2$E4oLCVonoAY%*i?>3KkgAxrmf6s;0??T5tw5s}(1E;wGAoN~E-<|cA%d%s z+z!3_5_Y*d-3U0Agi>{xcPrg-$OqHG(0ZY;|KQGWTgL$h&0$p3x$4+pObp|3Kz+m( zD<=U0Y$D`w_K4vY6dLHJrNbv50ZIe(f=|)f>%_CM3>|zOflmVslzjS))TsKBBtqrn zVDI=X!0nx3vguZ~2flbqpxE!sev0*|PuluL;IB9AujWN|svuGWFIjexROyO3G$;k6 z5GOU0Cl$;qD>Jqzv4rrvU~YBY&35wCl<%C1EPbSJvJ(~0x19U{mZ|55=x1A zh#-Y7%;PQiPAiy)zHHXn(!;9C-wA9*~is1P4Do!t~O{(y8@jYKV zU4wE*1xN}_MFk#8cmWcEh}wEe=ipytK>|inA0OKeY|6i{nguQ3&ER<)p3O%9H~sK;2E0pj^=wU(MZRzeYlheG$~7Tns@x%oV)rNTWzB+d zc^k=JLF})C{Bzz1;?wFt7kS+#!jBLsXuqLrTw*W~kM?7Lyfq9=WH~5|bi)KhS}PTb zC^-)`R)!Lw41T4!RdG@ZJ<(zbQBYF8?%+-G4cov>nsbK%n%PexTih+4t?x=C~4VO7m(RF5@<7Gfzcv ziB;n$ZB|>k_KaO3QL@^IgBqWhaJcg>G{ogeM_fh?BwgH|3v+h$F4ZdUXX5kWc&EIz zIf7(QbtJ40ZK}XO^zd-Z!@Nxq3eDqo>9~cfZhBlhFD}-knNL=|T!wBTrZZ)yA(Mo` z@-7Rrw$8T7JqEx!$sl-a1V}*uX>e>^_5@Y-k8C4$arsjIx``H7;kvkX@*kon1a3T& zx4H*aBk&%JQXN@(lYif8C&YT;Q>Pt(S3l5?xrvL6J`cgwY)x*ibmRbt_ZkRUO~1jG z_HZX1Yx|4WP#~0wHrqStdwa){XZy}DQCE^Nd3<5nHcoMJSbvHg`iM=%B|=N`xR8Q# z!xvg00WvKh(otE+uv^NFd0Br-Jj4}O@757FEeA=O+%8jV8qd1M-sogKu6tKdaAF&+7$Ll6M!7JPptAmOp1BhZcS z5{alEAs+)db{1YmIi&QnY)0A!%4sOfQ2RZM=jk%^9`jg!(OK%^)(d15OqzXvF3SOk zStO}XkU2|&?b|59IVH|^6_Wt_|R_$JTv@lr?Jr{D8>$Mf(T9U9On0& z#~v#qTL!96eEj`7g>&^dAda^A|La_dTcEtay_h7of+w5};DYD@Ydj8-N@oL@f1hp~ zvqWgDwo3h;gvawp#eif1b#iwF&cM4bF<4hJ91aoM;{d-;#T9wNZ^+JWR~#3wmCEb! zq#bXco{F^f?J)L=0r8ZSW1K^K?ORtqRJF3Px-tvv>BxC1hDRy?1H#P88|poN*E1uk zn##0#D(~qCI$L7*uXP%JRTyN|v4|i@?=fW>My}ZIQm?|dV+9Qu937(@UEftB^l^9B zQA~kELp{zKna^dMrrm;BfDBMJM^Fv&dth%j(ZWxY*wGY1kqx&^KGZfqK;l@OSMtkdaWEMwAPkI9`onA)VLpy) z!B5otH7Gq5`jkM=c>vZF1~Z1lB9;dWB3F=Y@B`V}$Eo@Ea}~B|2S>ouO=m^8(+p!hj z=nMqP%_=u!lMIP;xKE$x5Dn1|35k{hLD9>WgQL8f_1(o}VX`P*1XHA^BGy?wx@vLaCSG{6OBO!i zJs_0+HBOdP-UR|XDCdg11ioc$;;_&ilwVl7VRT7|s;YrtuY%oPQZp^10=;Vj3>el` zILo_{4{gTInhy_1ElMG1(E*U&oz|IhHql~+135jx%`w=bBVZlnWanb(}y?JbX`$|zQ&6L?>>w3)Qi*fGi~GU zCD7hGpp~3(E9nndgi!D36Fvqa!3|Bnvzu!O+SZ8bp&38j*ATw zuG0-Rd&F=%ETN4+30p@^a6#oFkWH|lD+E5C%K(gvTkxQF=`w-L>}Ld{cb5?I&rC;z zs%~nvXaKK&tSlc1Kgtq4Rv`=HFGcXZQA`G0D1@CelcvP-`#r?FyMj)~wwG|He4X0V z{01Z~(h~$A=iQ#3S~E0|OTsQ=0_o1~aFLS{U5_VVxN@=&97IK_3FmE{j;z~Cr!In^ z`7Y~f3d5slZLj!JyGV39F$fhVXgNsBSX#lW0f2XN9nG)3n<$RqI3a{5ix!JedOx%t z2?c%x|Lnw%exm@Y%ma9LK&#h;-0W_*6CVlHGY&=?O|Qc&TKinJc4Xx+gVz+4$LjoU zg4m-XjH!1!Zs7HLz4Ccn3BMnm*ba>U%g2xJJqnF?WvI$&DUR#pDL0H+rU_=YvIxqc?FMHpg>Uoj zVj8OVi^xNzmse z;3`WutBc#3e)cVttG@$4$gGj#n(n93H+D(XTw6ib7Q0Go=K-vmeTC2Dm@Rj8#s{h5 z7DSJQ`fRpiYqpigD830mcbYFn-$B;b%Q#j$wEUew@+3RAj(8geR?lm@5&uCTDI=N? zRE*dgs!Z6xc#?xsA#Gv?R}3z6S%*4WclIu*^F{(PAEb!=u$fb;eOV|G{S4CY!fZ<^ z^HDM4W%SjxHVrT}_O<1}Fc?`*#m#MvW5^DucV^>|SWp(&?3XpsGnf+?+%UPbGJa;v zc~_JyLbqSR@W&?1Zv7Qe^p;_# zIN$#TfIJnDMb^dRRfcuFTHh-}-SIv|aeNWXZLGN7xcrI%P+RW;V6H1UGoZI+bxu?l zvj+4fc9Uma{N*9#4VvM|^kIV-b~7iDvs_)ToUjIfzW?RD_q@`;jphc|ekDh22sYVJ zGi;mKiCmQ|gdD1*Yl5`td*#%!R5_aCc#K=o2lCS8_A%CWuwW+B;zD5bk| zunk}plTm`&c*{Ve%>OQJ)~qkZ7A=j_ZOTabs{l~+V$!v&1FONd!BWtl8eFl6YGwz@~|H!}I17Lkv$h z>(yr6af^;DTZD1I1T}v7`1XxQN3!nHxICFon>4N7q{dUblU30uJ;=_hj>7BnCtOqXty)JFtf_jBR4sfq}xh&FkAL4t9@T3*dX~gS#@PH7r}+1-LZXq6%J- z4XS`D!>_B9FnAdw@6=@RC57UN!1?~S;;1l8#f}Jd+je6XWgv+r>ULPRtssK7-7if9 z9b%(KVt{r?Q;L-~FCRveZJ^6=MpEUYg2?|7pVN=S<;oh#T&J9Zy#6i~ci%;L9ejyc z0DcpGP>A+4vx7X%){ZO+{yJlyx1A9TYnTywZneO)*0aJ6&kBfUGcyEKm1l>p91-B= zs4>100GiEA8bn!MLU~?zqp{=xbdtCe>)-k37Gga<JV=k!3JF#_qK8Qu^ z>+be3ykME|z>~7Mm7#d`yF|}D7iNSKZaGD-(ZiR=-9Qbh-_DOx0m5!vdG62Sz;QMvort1*`L10T^pgDUTneH2y^&U^MhpZ)K1Y52H~ zpw!5EO->aJhg}+}U^VVvB1ixi0CQThneA1C#c4~C^@R{&2*R0~q;Api;%6p&CDVj%2I7CVzKf)!Dx7(5IjqJQBwRlF#!uCnk- z#DC}_p$q3dlN+jvTCEY}l#5z2{*)F%&ab1DW-oR$IW#w+qk%+F zAL{HR5Y(Crba|k_C7n!8f=%{hi!HEPH-8cTzNa~9eIw`TvLaHk3Y#=np#(F8UWIo3 zl3rEHtfXB_z;8-W#;*xwt&dux#YVhXi)2MYH}Lbtd+*ZcKIIWiSiGt83Vdd2xX{XhTr=kS)9o$jY#IN$?u5R885@z?|p>2iXV`t)UKj?<}+dCci~J0Z>t%itgY zTCojA1zyfteC0o2WpB)JBe=Dsaa@q8GLX=Pt~rgQAt`L|jk`TNHKZ@_=nyyiF1j9tp)J zS42nSwWOux9xb;O`Ki^Zb39Cm#qmI)JOsuBG(zoi57=O`d1McR(dv)p!A7(flGLqS z2A%PGKT2_U1*F7mEXZ?lYnlfTGS!S+eJ&^>5fb|&_5!9MVZ^IAMT|dSI*ThAA6Jnv zN1Pf;#(A*H=gtnM8QXFSM_uJuLU%_aUMFjwW`rNCQrfzS4W@Ji?aUsK6TnET5|0pG zKwrzeapdoKa%y%{>2{Ls&X{wpx3BLRFqZfP$qL}d%wvpl2 zc_>wPry#$V97NX!?6vudzsYP8L^59Ug|CQEw3e{M@I=@++#2~z8ce_1T zv{w8oi(DyS(NZF?l1Ib$6N50GnqXH)fzPCezLb3>gk}_w!a(yk>sejBH%dYCLc|99o^>8D?F0^U#;Uk!8*n7Y zcjFGKk{Bo|wk@L#ZU7Yd`&GSg9tpPX_R~urIx}XK9twM`^$`bup@bOp6%>5OO%M4h zoI^8bE$7V9*l|W-sfCXe^_Q8?cw(2^F`rP@%)t-eqU1L{5ez=QwD-NP=1a7RB2QFW z2cJVQplY}0A`NpawW4g3l4inwtRc~9W%8e(R}Sr|jd9_azwtyojb8UPkoGl@bVo-` z4Wt2-Y=Px|!w`ciP5TIMg$Z6m7X)kki_LoN5Jw*EV(TSh(-Un>;=6PV^2~Mj(~vy&Jj8Y0?}KE(Sa{kS$G-QB6KR3jqY0f zT3I(vVsqI6w zXi4L5Qt-P2R8N7*SyvoKt2}aJDiaziweZd#{r~tG-dqSq4xs3K z2kf(z&#=;gXQELJU{D;F=sjgz+3h$^IHu`6)&g(Y4B1zpfsiY&YGu_PFUG$RiZ>?& z9e~G4Ti*40>2^1xI}HPX$vu`}+!{cK9XwZU>0umpGDag1JQoH@*&zu(1 zbe}pciAVnQ3=23ZjnnHg4B*q)Rb8g`1CWm(jU@)Ic?tF*;Ajf9qk_Q)y~&8s58}P6 zzZQV~PJtNq50Se#R-ZdKRxymb7Vx=i;r>+IY+y7UXrEaK&$#vxJrPm{4i3gzls3RTnRZx}DeJx|LmJD@Oa9bBv zMSW>GdE{=+pTRKC2u>z&9V^gS4ICLEAZu@7Wb?3LHPX^CXyp)?S$cVyTjkkmi4gsq z{BtfuV99joIq0wK;hi4gl1C`7?J z#+y)+bX8HQqxQ5=6M12x1r#Ur0h|rV)P0~0qKQG{@=(;H~S09@;4+gd)0Ff->UL=`?`jl6)K z6JDU>7i`(03?H+a5HSrm8@fYs{c5U==A#9|ZA`!yX0V0pkNRZ_6FBD?7Qnm79J=W_ zP;N!l6fxC=={I%2oA|MbhJ#oRyQS+mNC6x2r{5v*7`5tGX@>E_0(WIOQIQGd)4&kR zAPwDlqG46Pg_2O*tO&1E%9m@6q|F&7Cc;qSFK3)tI0+0h&L__MNoA462)JPk!*^OG zvvd?qWHycQ%!yw6Ukq9Ksk=rmpC~8KgTW&;lHc{7fxq4;c2=gec1Z3;5HCvEykknT zehvONFtM^jPc=g5pR~{_p>1{hW0R@=r9-2)3^oOGBLM3B5qWeAtA8{cJKKZL-H za{1cJ!#JGFqik5syJ8q7kf~uxVhsIWq*Ec+iE}}AJVtUEXC4RAy&l{YZ$GZ#2wcf& z^#;fD90>*q$(&k!2${4JC6}qQ48^&xjZ-}cKGFkKqSj>~N2+W%#u!irA^@<<D(OIrJC z%^aT%?OP3M(&2=pNDsx5A!@P^cff0fL3l=AJ=2hJ$3_nb&-GiBT2knoim$aI ztjIE`HPxw0Y%MsTim^%LdRm8m5-i=1`vZXR7>EM17F#bICI*M4b;FEo7FSW;`HDST zhRMc>b}*`oerze-(1lju&5uF?uM-0B4|Bjb{H2uEZKxwv05q#esCR_X)wR3V{CEC2 zH`I0L(t?Q|;(HO!y(0I02g}Dx34jMZ5(IE2kQ0VMf;?ErFN#1e01uG@G7)A3D`M5> zT)@%j7XG=sb=JX!->K;o0QnePR1)ZHPeGk1sDJEaR;N-)t*5f4SY`Q&ihC0~;{udM zyqk6-Lvn?0I@X26Yl;po=@2b}6#6_MTb^14=Bjg^3djl&E@V>Z9i!VY;2k5v5FA8< zB|MVuM_TeohF`#^=$UY$T4BR6p2=tnaS(Sl`Qb9OHb-tLKfEH4n#&I~XOJuy5XW~f ze~+d0KIJqG4B#OqiW-*%WsyzKwMz*|+fb7RHqDF3_2At^aSZjcMAa6WUI1C@*W6Gi zw*{m8x|_3=k`3p=qFv@KV9slh)L6q?UIG-eM6UGX;A6^)jh&bpCQ%4bjj-yFJ8Zk1 z@rf9j9O59S#m-78mbpp^;yM--8lC7{rNH7o{wTQ)vq+Xl>5wh=nu02~G*Dxw`FJ9^ zyhH761jt7fl`~7lxcQLo-3>uVr7p<}wi7=hOgq&_) zF*dC;M|d-x0?W%HtBAsim{DPa>LLx|@QREymW;~XNHCV1MS0R-zb?5{JoI(%preojjW zq+%TJ`gXMcHUX~Ikd@6 z4UQX@_cMoKLZ~@pDOrLsH2@Fqzn~B-S2MLIL0vC*E=Da%P;*5iMc6Aw8(jxDmK3rmjswr2 z8Th}_#Q8@3D8DaWr}P+@q$a(vPRBvpCi5!!DsG#N88opxWxhZs@<%vW+JOjd0uEi| zsIW+)6c76G3!B@c?|)lRUIqQ>k@lTD&9kPdVNbl zarK}oE}%53)5bEfW~q;BzJHcM_SqU(*6{v$%VC&q?u2L>8B-ygZ|-*jh$Tya7QYME z{wfRSQSO{Ne2OmLL~)Td0caNm&^4_fkyh@Cqq?%XcgJcsE(sxYOX2HTLkV3fvwm@Fw+-X^u_J~#WY-@q{xtTJ^-Ahzy-NS-h z)HO6>hSti)MAkaE!jO;&~j+ zKhrY9^EBQpo!pstp*+XWska7qhldX(LVm zDmw-a`zZ%0gZANl)*B857n%y;zF#s44f-buI9zU4!Mpl`4$C9-qun2hqdsTqz08|q z3HOdsJ>sT`V^&X{w_M60I3yFDwy8ZKUI)H=>3q#d!CiX@v+q(!6lzB8;a!qY1psce zrI0V9EQbmhxnp?^YCj_|Ja7eJDk?<7oXeKsfg90wt(Q(TO4KZR<8U0H@u=qM@*+yC@^EQ- zHBreNm_%Y?CX|Gj1?wX|b zHb?lPUDn93-1er*uYvGDfmlXvZ7#`QZzEnO4uRW@)U~m*&xkBZKkt8Qi&rh%TAK(~ zFP*+pdXg1|B7F>kGeK;(57sj6m-2h#MYIf(TX4UpR>7gIpn{C)Edh(=YpX;E6rU*z z^%t8JQQwKg>nJ`;cIpXG;`~O%71UXk8?dGtvvQHC+Hj?&>_G$W%aR*x16K?1wZj_^ zPA9Ko*0NzI7&1$V90j!Im(cd6KC#fcJ|Bu!b*nVN*9f+PZL7!T4n7>DHYDKz5P15f%B9^%I>tyA1m`K>iY9htyD9?F+Uo*&@N$8!rO%O|f~pR_@IIP!En8Y;6QvoQXv;NKBcI~SPLNTVd=nS}-`#Ds(7AG3 zU|k=Y^Q6@HsdS_9*NkE^b)(5wj4Ap^|M-qi?(?N%1FjxzW*JTG34Edsl@VT@fK=zkebBl7cLu@ZP`wbdv>_}Djs<$$WgFG| zEru7Vqb|wSg@rO$Jf2yM0g=vC{X6S(M9%oSR8WP2Wlyv8hS7dm?JE{l(_^mTOB&a4 zYGodl3T{Sk9E*a{YjhoI!&SPG$|c|oR74xi)mAjo>WWgoE$iUr7)5}6YO?f8ggF9A z(xJy%j(G}v=9Y+(*zTokptZc_-}e(*A;9s{p8bZy=KZu70~lC@MRejS-g*R&vRvyN z;DAe*NO*R}&ak$Q1g+HswL>afgV!gP(dM~ox~gb+>ke2nyj9`S(0)rBF(HL$mE%K_er0zqvp=F-)Fj+$m#V2bE2sK8SVBmE;>r5@U6ihtaYx!j7xeqL zZyFHivDiug-(f4cIm!#xl?M(B+Rj0<(v zN+SU%=ppNGvbe)y;Ow!-=cf;EjAL*^b;mKdaoTt$Upp@Y_WggGR{`kX4LA$a*8vwi z!&11bFC1f$(MmE9wjV3hj`66Fqx9a6%|Aygr5Lem1_GLA@F?Ko3%og|Ve(Kp)QSFx{XDu# zg7qeIRK~E1%VOcNGvdHl^B%MgfgTg7?IJgk+YO7=-CkECf&iLdJJ#nzZubVXJM7^| zbjivAY2!lJhG4OXXbTBnF4-aV6T@Myp@jGPn&=h`7O1n{VuKxHX(k^3D^}*p4tIvr z`4SKeT~r5@*Bmd#T*NoQZ4UWdHy#Hns<7$hplPS~AO{ytbt-)IxYL8exDc*Q;d+mm z3iiF4d%}c0BBEfxJyxIs9X(%1bH`$1NBkHRpq>VlTQ=C}l``@1In9*UD!AYu5l z9M%gi(haRvg}7I zsf=FPe7RbtCx7v-%j%Q19=zG9)*1!IT&9bSH6Xs$QuUU9t(5q1FA+_Phw42;7R8Fu za2D&pmXXlZL&Jo(iy#mEb#URf1GI>803~c02n}vGa{UZnnB)Mk~Eoe1?yYebK>_$|kDl5fnrl;cRQw1b#^5cGrY-a=*=EAM1L|g56 zN1M4`es-ozS+%qo!t=_dsYTMHzUco{wgWXLe;KX=Pz1(sm>Iy z$m>6ng9TrsCz$I;ulMo&z?sPYDb{?I_-qAg(I6zGv zWwT*KW}_TtrVmq9O0jkfAOb9LD4usIT~hD$GF2`)Dr{S2fJg0$N;#SZ@MHo2S3s!0 z3wvqHM&Lhi5PAj_g0G8+sU4sk2~!w?(SjX+kF+8DP$sn*!r@*Kh4CU_MHHAeR&47v zGmc+_-i>E*T)=Y6B*w-`EbM_J&1W!EiNG@ap>g=S({6PX{M4(aF*Q!35~u5@ZnSn$ zB(Io@67QU^Z{rGtlH!ebT8bpItC482&* zDxBGdgZZNu%Ub5F2-Ye70-!5(4{$qKI0`LM;KZ;2%I_?wg+pN$0(YPXe7XXn-XW6h z{Z$q5>J z99<=@vB79GQ~>ZZ$kH2%F@9wY=z6~@t7}Z)d9p|bzmMf8)dXE*YMm)ugZj40!yVFt z?z|}E4s22Mv<>T$19e*0acN!U5sRV|QjIh$LNrDF^!fCAm(oz%s6$?T! znE{klWqC!@s#9oCQl=#2qe{h7_1kN|>RcI^K5SYe0aijanzL{yvKVKr8O2ixfU7+` z!V)D6=kQ@o3{XObXPn!)0G)A8Cpl;D@s8Lr2f`G)_*ZGji->qE+$q>PHq2LPl1E?M z&B-5B5O*T4CjAm-2 z0O_3KnL7nzrh{;<%65jl5Sl{T$m;{w9+33L3|OcrZ@Z^3j_y4_kNAaE^y3urV>RW$ zS5MpNoBBlr9TVj1jRgrMnuf@wNkmV zGi$)KPstkeT+c$u&^89k8sQwH+zmq%D&xm`p=duVgec zHj)9;Cq>P5BNf~lY;Qm$=FlrSf^pfnxI*qjYdKg&Q;IPH+8{T%uxP6rVho;i!j-X7 zkXOb{#x~17=;(6bNUsq8Ue&_xB z-@NahjK0I)Se!HcaWor`jz@=+!`air(UiU*E2pz}=+EFTqCYS=*Wvs#!BYC$0r~O! z@Bi}TZ?vlC;~>j|+sF7`#Nfb+7SOXNz&evT^BU$99Q=;&Jqk{bCSvQE!$B#oP9x1} zZOqFkL8qoLval$*^K&YVoS#1jm-;yblrLU@1MwXG`$Bvu1v5Yc1X4~$`0~Z+=qJT{ZrM#8 zoqnZ~q&_QJ3+!VSBsop3Bok$Sz{StIe8`TB|Lx!Yn}V(^R}5<}DZ?V(k~j5sh(y8V zqBeP^x~1Vs!SqFTajeXi)g&<-3?2QI931`WG=(e^B&OEnL|)H`9;%Fr+T45GbHhFJ zer^H#P(TIY`Y~gY&)&cOzCR3{s56!eG#$}LzUC74(J*uQu@MEq7QRQp{!ozZ=Qo9d zzwk9TLqV+aD64%?^P?T}W(S5trP7vmxb&xQ6%Vyd9Ul7*g~Zzh;|%K45R;w3?4HH3 z_c=-ypr!H_&_8(L)2pXmk}lxitd>gdr5RYVvixb6wNW#57JcEGtO?^d8kf=S1^bkv zwF*fWR?6FDhf1G3TLdd!XRSoCO1!ABfYKTQGG=Nd>hBGSV*vkW5nI&-#pdM4brwX0 zul6jbPnKgK=8Ry)Pk$Oxm`YM$!IoPj2I^f)goL{%hdnvmD>;mhBstK8o_w8Vkhe`U zUbaXZO5GSXhdqhxN#y=X1f$$E64^Rw%uZ!5jXg!|DdN5pY{~8r;wIn)qzGK1s~Ox0IGurtwPdC~8 z9$ezI)W^%Sj~<_cH&>PNJ;Ce=W(NpH38_+IsB_-7ZL0w!EQ(qTzNe2pecU&FjE(fM z4)Sfr;o>ec>R?0fX=6_t_e~oUBW*;~o1;%`2m)@lND45Kw{*xoA?yj^z6n9`XF!IdpQT%m!Tpf#1E==XuoKiU z(y3v~gzzaJz|6GwfA1+|7zz=6%(h1%qAgZi3K_|Qwo1nAAp=R%|8GTI?fs>)Cz(Nf z;|pwTelOV@FR%&vK6_(N7dt{1s=1c_4^oD|+-~e4wnic2dTiW1W$Y>AzA59-Oc`o_ z#Vy?&Cqi$)yF;n4yQh;qo!mE_ly4Ah$bAnt2x<}g8)Q!zJ3<-d8w4ries2)kxqg3x z?CE3|=|pzgzK=}Vk!byZQ}C22?CE4rC--f`lItzBN2nG8u+hhknk-cl5J0x%C$Oc>6)IQ9BfS##Y;ag}NULy|6Gkep40(kJr&M%vY?3`ySDp5UsF}TS(c2UHwQ#^k7Kn+L(t#onsBX`oX-z zc9;jVIpgcE!8;f!Tm}*CCUde!Iv1obU-8@U|^%SUa*et6$ed)_Cf&_Hk4WYHecy6Fvc3%65=?bC@;9<>}%tE#E+PzBCjE93QpVkhlTj7^}a+CZ@?Sckyu{U}e54-ZCrq;p3)+lFo@ zbeb%tPwQ?=F%3qC`}4K3>IUk=Wt{GN@pe@o_$F?tw}=?+UW7CpzKvxh4w9=4Z$H0R zQk^X$%06z#%=<qhub=ivB`wW3+TPU=$&_JR6E^IKd*1|+ zDEqjj`c<$9Xl@#jjk!mgp>{3}^qY$`jl;dEx~qO8w{biA&Ckks_oCmh3AFL-E`vs< zz^N%FN}0>sVD+tHn%u?h7-`-HeOdrp8fp08O)~!YWxtP?>Q{-j?(G&XRaNX9BxY*n zCdRc2oTA9bs=n^+I(^x7${V^JHRweT^?N(ocGwJB*mg!}m%vzS5KfiOk5gDFd_51= z;Z=%J7DM@zKJ-PwN$PJRM2&-=swikSHXtW$#;R^H{sKsEK-3!apB&pqfar4kXBXT* zC@VFWyocsC%$U72>>OU>M^66nI?7o%KXjoEb8meedaqxAP8N8uZC;Rj7}RKAX?OT-ytd6u$*=wBUH!B)Fi-L}8A0e#Q`= z->C{e!)}C>q0ROT?IAHV_>`aCb`0jPmk+~;c{r|PX@rqsE6nY3wh=!uU!Ge9W77{9 z?PT*b-YgUUDoZyjIwo#`LgMU~hj76ii3N$JM2O@Vw?lx1YaekvLOB+eM0Rt1jlYb4 zq5-bgVRUu9ro3$ev&zChHc=M(K^(JvLdsezE2WY#51EhGl7(->F7Pbwjz=rI9Np}zb9#{2bO3W2AMFwlX$yJ7M$L=HLD#u-te(2F;OZPdD z;k(W9qI<;1w|kjOG~b>N91jXTFOPB1?;pU`K0+Q}zT0sD^zJ5qWa*NqEirQ{k((gB z2^ZdX_}KgRzj?T;-+8Mb%JLt)=xO-W`|ednYmI+*>K(v42S0dE$20iX=*KDf_YwYk z0{0o&%-#JuN&z<9Fv9qQ!tdM=3_pc3PuE2f$<4;W^^PcYE`%<6?9tU z$akz|NRgo_nUh=NXozE?_TrwOIq)+voh{~U;-HkFLFLSc!OxD&x(bu30PdJ~X;zr%kgizrBf2gTCH?O7TftcHj$wmsIe2oqJAXwYfEUIaS7Dw*(Cc4DfWXLpJ1h>HCs89xf{oozZf8T`R z=O4TYd$LTE_4R||aHqOAa1ad*WFx*u@Xa$=a*=>6KCC8lsPvuANGdlhjdDnq~cfkqm zdDg??StlGL+2L)Wh|}1{svZJ!!W9p@-%@W&=M2+2hbAdn9x%QG&t8 zU=W7h4e&Q)ReS{_F_AhtLlvC~tsRctu^`}1^xqu$;1qhG4yZHdE9bq>p`7w_YZ9ujkX zU`3O+#Zo5*ma0i{WF6g@X*F*oN8-m(@>wc`2F6=FyUGS3wH)MA7HyGv6cXTN--n0I zKE5@r@S(Pw*n)j}T*E@hBUs9iI^cw#j$V|bqXt-R)K|+}@X+p0G~s3Y_8zc@#9JO% zslfXTgeF^y=58vReh)FlsA&nAXA6*BzcM+1`*f#Grx9lDvz)p9I%&3q> zw%J6C6OH$r=;3f8Knr$s+eusf^y&4B2f%|SwNZ+&kfAKefPhvzj-g#by^WY0@fM?p zj&$BYH?dG4e`^xUzF=xUaYV3I!%1!_uJI)$#9oT=Z_AQgm-;RqiB%1g-F0F(IX~E} z(>bbP>)KkX7!Fv1z|Y*wGmPc`8Gh2k6hv8PZ8~(ZTQ3CK_0;jT8CZ3>VSEz(kK};53KjNYX>G$Q^av-1JAzD*#l)i+ip9pWqv%M zB4;ym`9>=X(rV4`5Z5W5bvIj1Z56Vi`HtF{@nIX5zeUFL0Q*61OChU`4rF^bq=)TL z9+5x44(FdQ(yw*A#&oRRcnmwVE%KOxO-LNeKAG$R@fU+(a_}1aN*dWikZG`otTBNM zm#~ElGI>bNYmQY~oVEJ*t#Zfi(K&t%VFP>T_`~Bd=o}ZPx2;AVLB96XQFoik9M9?` znHDbc7}ma7Eq32eZsZdcX7=;(6bNUsq8Ueg_4$zk4$J z4u50u3G~O&Y&<$19Zn8sPp8L6^aU9d%HE+ruY;?c{=ndXD4B1T^tS`@N4j+I2(_jAbe-Q*pLTuCWQ9A{>k6y3_b$dJ^pS@c6)Mocr-aU8P5aq zj!&`WyB}ys>SGuS(T$ESeuODRi{fuEQLF4gM;D(3;5jIF6Cs8nr@OH9^2?3H+9AZjU)#q3LF#vLyjzhqKV$;@YYD8 z^35n&5dKgmWGfQ02Td`KKPgRdd7J+c`>^g{PPo0FhwPv>>&xTi#T2=hE62jaZNRR` zd-uq$`0ho?7tsi>8Yc(j8}*0-o7M6BqJ)tC+IC=YSDRAMh?Kb^FNY=o_|mK%4w?RCbahHwoB1GkSfPy@Lj$4UDd8_+f_&8maMBzi^UQO(b~CK z|7qwOUy4?MEyIP2MRE+!g-FtYMCVhX9|tBe(uS_AK8(vF*HX zRZb$8hF~c6@JDJdYA2J*a^#e~_r1~y<|(7brYG;SC95Y8+C;+dlR1H%X%sDtON9JP z6O7~=R4n9AW?$#v=lCq?oqZemd_oZn=Vy@#2%Yl>AGo>`#!cYI(MO=4NP&jKkvTnw z40YWupOktnl7m z6E9unzYZf9#o=~gSzuyWFt6a5HVI$X`TnT{)w$D^tAk;%dU=Eoi_y503ze1mto4Ob zi65$B%L<}ixQv&@bd%Wab=oh=>qZFa(pwi*2}>*jaz z*5-!KMwgf&_MaXdS+`;9^2jA0oIVXUfvB2@WDS_Q$^i)p7$8C*;ADwfL?Vka7Jdk} zv3eip`>TdAz`f?OPDK&LL($MM2!U1_&wEYfe$rf(IMUdIjmuz5N)i{s*P6L@S`ZA@VAv=K!gO-9n?A!6TgKMf*HRxlD}1R#+F z3K6dY4e=r!N0upCIwCSueh8w~eL)(8{-d!fO_suPQk7gYmn(IvFTtAd>U#cySAmyX z%&pOJh?o@KgJ_Voo#LhbGZR9!+C(AZoA>{KJ56C?qs>XxL^KmrTW z4?)zLk-6QDhk6G+wgp3*wJLXYUFu9mb@K2uR96eDS)Q2fm*Aa1f=S^$h(=l4XMTx7 z^gZx6BnzK$u5a|Gtcq9YOf+CQKB3Y)&iMl5K5Ki*r0V4AlC}fXRvrhgN!x*p-F1ae3j!%?mkt5hCp%8V zOT?CmFm+41y`p)pty(T!QV` zJu#Tzv4|Ck+C3A}d9cn~K;tb15JWg+S&}Gm+7H3yz0_sQ2~u-5tPTyW=k%1gl#6v$ zbX;rhR_0DE4+L8ea(lr9Z z1G9}*HKQZdUuoOYFV!c{X%UNiutmxjc3Zb6Bh1W2aQ*` zw}8_kG09m+LJy8Ux#EoV6GnG0E7*Uj}>9oJjahw^=S z?4xnJhUdA`uj5>be3(c#D=AXzj#fue2!qUe^Ysl1?Yr$_qSmr(T*nqNV+ z=mb&KdoIt$SS>@isL3te1M$Qbre&e}T(XzZ#N(n$D?AJ|w{kidwDhhLy?&L|E_{Nj zmr3MbKs5-DB*2fxoC>c~Of3Lqod*&`D$r#a0^Sl$MdfJ(L(Jb6)TJ|e2|%zAEWO!S zfVLAzVQJ<(b)JCExu#DQ)T%ejt9;NuNFQ&+w2vtz+v#?HA0$J<)~Af5?D{lFIa8t$ zj;aA22^Ns34+XkN6u|MiPB1SZ75~1FT8|~GwlvBwcby_wEjkrs6=Wzr&b%oqwuWWJ zS$41(L(|-wv$F{GKw!rPY&U7Y+P42zFb5=LD~PAzj4&s1SOADe)XS=(2{dR)G_o~` zF3^dHfKFc@__uLZ%K26s%pQae!l;syM}xM4dRpEpqo?3*bl>Xcjp0ZtisStpr}h@- zRAL9C_!a2%hO4PPnL6|@If%&i7V&Rnts?@%Q)4S6$cVaL3{2gGKtehMnxJxY4yuWw zg-k&d@X4ruEw=hP>WvruX%O)9{^*`_XPsQR5C-zFt2`{Du^VF~fysi$n z3$q~Qd$3kCN{besTNkiV2Hf>dI zvokbzUXxVRY<^4Zx3j%pOMj+VZb_t@XEqnu;x2S{2qxQLcKNZBnpvwvW?-pk~)-ylq5c;JMRjxwbRJ`vgPkiMn+&qr}bs+K_BDO85f$f=uUuC6vFVSQ=cRU5gbZG`jK zZI;@rdBHrtKq=W}!Ymfm<7^X@H#htx2?86Fck8kE+nqBi&Z%|4BQ@9OqCRMcGuLjd z#DTV4Ek+Fl?$!Vpjc#dzp6>g-QRA$>CWG(ODl>}fBBoZ&K&)QXU^ROTVVU~^ie7Eb z^>XdI7pLjV0-4&Cs*0+`hkDuO?nY1J;kL0RfxL-`WqO?@i$7-dU%e#+<3&&fzU1wG(t(|9L&ivZ8k>A+%q-16?jFFa$v?(sazw|tn~HgsHsCf7=O~MRoNb>vbDcE zLe*2rWWF>NPg2;MemPoWxYFBgGku&-&s4d_c0if)Q~3+xZE{@4uTz!W9`zpBaG^&9fQ@83l0m)Af=YyuLbqQr3><9C{o%-i&$1C!s(N03sf6HO z((Y@@y(&LcqJsVmI1f$EHF;@3@qyIE^utTn(3$vebrBOBFUVKBXi53jXee5bcTy#) zJP~1%FL}AxS(@XPtC4oQW}*h{tnMpkcQIm7Yr0029J*y}&vW>^QWIjCPQ+y(sus0< z0uA+{DGGpxBCipZ=kbrNEH>Lhj!^JAmg;s}lUy4=t8HEC-Zy4L z)V|JCeq*Yb@p?#(AKNh@ueG#EjJ6e2*1RGt#j+a~rIJm0kSGbSZLS$fT>u@WaFKLJ zX3cN%Jjd=!q_{aWXTww$-X4+U8=e5q9k-f)Z%lRazBq7>@Uz!`4j)IjNU>CR-(kGk zBUMQJ7*mU^ot?zLIKt(@9T(;^k=FSG?GsDF$_6&|-Nr{MC#cNktl&B{!l}P9whx(8 z-!{K&c1rfctRW8YonZuVDW~2kz52?tjlMZXE}6?^RxkS8u13$fv&;^ihJ6}JQdgEl z(%5%t&#(V#exX03g0fVm^Pm#VWZpH$6;BC;O6>G&mBHiKD5xW&>o~)bGAN$apJXEW zsdE;YLXsr0lFdAm?@hdQrAf=L5VDU=+$_@hkHDtljze)~drr(aAO=-xdr9XUOR~+A zunhoVykJMhg@zsZbP^IrNxt`M$}k7(LaBnDn%07VZZMHTobNtCKg>HqL5o-G;z%Z8 zNt+Z`mk=I1jN-;&DUn0@X-Axos#=7|8UdV02#`1(1D!(>z%nPunkUM^^{V-7=!(?XcRoqpD3}~picxm!tl{bpN#p+S zzx3b#W)o#%Sya5Q)->_V7^@4wsv;ffP1hS&+D`(P>vq?@W=^Sjt7s6^YIYaS zT4Y)-L~g%?8{EF0yPo3cs-P5_(=S!t!t15KerQIM#r zDZHv+jsGEKGxIhL3@VfQY9{+`S(Kgd-jwR|fz-Ieu4zW|M}Hytj{JO}Y;4ZCk;A^e zF|XCzG+zC|b5!N%zmHUoH|aG&*QjU&4oIq`14JJIrim0&k~vOQ_4icnv}Z4X%$`SZ512H3jEPP0na(&D3w-ZaQRR9D^POclvgKM|s4QpY-g9Mf3{2{I)J zMRfi~pzm5t>y>+syBOu7;qxpSHA*=n$1VM^D40@5Zsgmm`qHlE@#ibs zn_HMSNzVN^TtrKb-FVZhWH}_+`G5OB=jbfc^>=zTNsBd7uwG@eHD#NAbIH_lL4wHM zC(Un3r;nU9tl7%W&F0jyY-KjdP@k5cF--`0O_zX(kV(CXM$H~CTR^d3vOiNMD*OiR z5x2rPSTJNnUYFs7zs{_yh>V$4%)8@h?dh&ni@U9or>Vu3ZS)21wnzoC1$k+C((gPhqb*mihbE{X%R# z3ipM_$G~|On_??pv^={Q5>CHAZ?gZoy!t_3T{~0tpEL;`x2|S5-O?m%EMKJrf)I z&rDk?>d5@5Dv!!coC+;iM8S~=3^*?XKI@X7uRNg7qAg8IpCR=?&xpX#aNzz2Iu&& zh|NOy92EVDX;$t`D%!)ghtvmE!)DYE4eK}P{gYnkd z+MDfMCJe!m{D}RN7wC2Z2{eT|YLx&Y7q$LQTzq4op9qd%aSc3Vq)P~fMpK;3A$S-P zf`?+V6vJ{7$8eGk-w@jJv*BTv>dJimP{{{!cO!c%DkwJjt|x^<;i=`7THBEhHZ!ei zh)1C(o6U-4nlJ?&Vk#7z5b3lUBmAUiQvxI@VBm;yD02CZKszC~9K&Nz0 zFnK}Y3{!r8pzn`@M}zK^3caOO<&CP-;9cGsuv5BQ8HBoVALeU)sMM*Z>B`DckPH*w zW;vqS2{2HzR@5TJ#>&Z&{HQrMcJF-8*>ZWfp9GCSvn_w}Mrg1SFN-2WX*z3QXh@W7 zAX$R}j3@{?WHjmh-j^S?bNKC<=J1Q@SE{W#m1?n78CC}6>7dL!NNsnV7w6PU@$`<9 zzXXi~nw=afSaFM5yj9S+JiyNZgAdkk+$404HfhKMism?-;x!uLuq%TSO@S7HsMCt@ z{_G7u3JHDX-go_7ZL4oY_v^d^^fC~`lBP{ySZ`1R$eS(A8w~C%#|8v3W>kh?CosUl zIOz3TF>s;lp96qkan(^F=?aiok)=$)YDkg*5~Z;?fsv@|x*_p`ApU*Tj>m$#nl8+s zSzq}^H5||E;nr!6VYAq)ui9IC7S5-O#gx*E$AV@Yo^wLAV<=#&M+eTGJs9voF@O7M z@#=^_4I$T@7%T@l0WufFwoQts0i$jFh+h1LdKQ$(CYf`ref1} z*zAfM^}g70*Oh#$q+82UqgLJwnxXNudbo^`*Ut5UC-=Ih74UUw>K20 zD9e_4r`2kqHyMuGUbXe)&-2dXQCJ@vM}VD@?L^8%(=Omfq#B_QF<+pO!@u~&|Me6f z8GlFyAFmGga{!{_k{R|D2r(eq8UPY96-`4Yi=Z(SFb(uC7OAH)&nP_q_eIEJ?bQ^m zY}vcQdd_OorsB01<&s;-OGcs4pLQqR?n-QQsZ#&cgmHmxCua-#qexnvVk8MUdjnQp zANc2hC0Ja$pUAw%1EA9s)D0eCL@+2IixLG40YOI;cwP9>2CwVU(rx+uq2J*;x@<5Z zH-?)X$X5q|L7V_;xET&PQ>yhA((G6ciHAK$xRV`4#s`h|?mgujL;gUZ1gnYT;cVdN zJxpwLV;PcQ4iil(^_E<7`C%t=hA-FoUCRsYyK%WQ>*!6})cxULV?OkD(-N;wnOVm$ z#~)$-$Nr!TP7rd7#)JOEv5hpc125Kt%fRwTDGguU0B@0m<4LScC!vi8jiBc_UKH>_ zD6!7Lh3-`k@Z8t=kYx#rsMa-O(XFKuwVrlE>wszp! z4lwo+?fiZzuZrVn+1sQF!7XkYoe)gs zcj_E$t$8q4?@_+$ee1NmTx{R?`ykBjV?|K_HZJqLP2PSj;MYOB98#Nvh zpTSpbb>3*al7dMKm@RfO1`YLVzf}&x2fk|D(YwAZ%DY;lYwxPgJFjS@3&+NYeaXWU z$%Nc(^8MI~rJyPPf%m4I<>%1$=OK~94s!u6rj*Ncc9R=GobxfTjhqH^q;3UC0cnRf zx!wdUX1UM_a1{&ue=mpjLkr^Hy(YiE`Nn}zA6lkYmZZvEe!QhCZP6O^PXJSlYftvh^xmuXo?`YzB+8YwhDp)}SMDNQq2L68`Q<=(H*T$u`9 zElgy_@k?R9&2OIQ%DAsKj6!2M+tp>suWhHGXq2bQe6cxHS8(v!J{8J|6)dB-<}ks? zi{r>ZI%pD_ha_=wh?$1iZTF_7wnr%c4|@oYoHH(a+ZM~V#oFs_-7^W8~ZO^K0t z^xaVs%NP{T&?Y4VTA)~lmSv8nH35Fsh!Y(bcwJ)N(r|9_)<`q6MzVo^>3rv=mbqak- z4E96{l*Y3XCCj=jL5Vhj{8vS4wb>5frl#}oG^0(fJKa7GMMeud?ebG0uerNXsok_j z)NJ9%Cwa-E@Yhoha~+4MFTmOwzxIJ)-JfvGj|l#QxrL?i?@YnUattFgh)KE*1q$bF zq!dliD1lWJ8p=FpfWIp3f1y~X)=$iC*8#Qr1|u8Gd`B$?mF85=mmk-?tyHMms$9{J z)BX#QK5~*>75%%HJU_!EPKl2_{Nsp2zvUbg2}(I&80civ!dx66{3AGbQq(%jIx&uD zic?bULn0!t{umv`tq}33FNIj0IfrxkeeDlk{KCiZ`7k4p!8C&KHQlS1denI2EO#K&2cV7IB z`C{7Z7kzBKXaF^|UkuxRfm`?jeD~LX-dc&-5^i-nz;`f`5pcBq?ei@ffduuT{;&c^ z2=eRm?QQ&>;&cs>bqK-X%RfrZVsF&C%i+hre~JGKf${s7m9?_r?`VO!hO^3*k$hr& zxs4uvxs96OTsf#Y^LwTR`s<7Pdk+aX*p`QM351J&ry zYJvoCges(C-F&%qQRh*&w`4L2aHntO5Q#Hi0UMHhE^5XmX`$m>Vd<-k3L1-eMA5135GfxEXz!&66H)IxfIE_jubdQ%9Ha^N=(nbml};3FS-+R8!+>3-`tFuB0XAy zir+875^pPy?M2%zy)TmOq+I>C)x^VDFDVI}tthwyr6`VkF!1 zE!G`wQGZq(LnFs>t{SK8jJX+`^Q0soRE?Y|*wD6*z_`R^M%**?LtqdNfzi2>q$faC zL}NQK*jZ}?-27Twbl1JIIBD|E&}!a=i-(VZ0SUgmY?sRzKQh_=u82Dho2=Xg6Q*ZX zTZ8=ip|V|RqaizS#jskQZK+V3eGP3*zyA>P^{d8`-4&D_#G$4AHcP4t_LbvH#Iwr54@b>asYhB(kQC1d7%gh=Y~pr4M; zk_4M`QcIn<;ap3{Et1m`D_IBc(TQN0X*5`x=PX@SEKfkRCL8Qf@+)G0KpoC=2ZmhZ~0ER8jt<{ImHQ5Y9$yOu3Yp5ABKj55~Rj&sHm zEyl1$o4M*N>@-;$&XVdL1+ppR*~VHJ&W6M)M$5+HL|o}RX}t%5muY{kBceYt>pR$D zy7II-S6bcm)|3|Q29!&Fqf2p`&JMbb#<0*H`0uCF8T;=ifLHUs#N6@xDZVg4=IPC! zQ;7h-!-Cf{`6eU@{rPWFLfx=@*9IYl2m153=f(3PpNMwYloj-o&US#r!ssXH%cL~Vg65xCxzKHkL=Z+YBUV6i zj+fINH^dJCk|$l@M=9i2NcTsxBfV;#v%xFDBS&kB#-vd1f8vLYX7BEE4$G|33p=tH zIOgH3tVnY8;2I}YM1nq9OD~-Z+`1Op@X*L;0WfEv1>!lO-%RkFHkNH8(zrndK1jNvs9cs*xfKNS=g1WK{K*frDPlkQTf`6Y@w5)+oNxx)qtEc~h#AjG?Cmq! z6@7o>cm@u3g{up=;OXzi1?h$uI+LFFHu9@*g0^u?*^h();u3|O=oFEmQaJ26ib$Ko z+X}Y)V=kdTbck0MPX>=g*or;I#1DYp0di9|x0yf>l4rOVOpMq+5K-eM_pnM41CSE! zeIIE4=W5Kz=s^b}p6TR%MUE``z(n>I(4Z6L`BPF$DNb~udk|Z=FM&tmUIhu&jKKWjh{u;1dLDO57IzCrMc;N6+?M_evcEaV_{`C0z!j2*{I_jvLKa}yPK$FEBq+N8E>>1P z3S4N{b6q=Dd&mzmU&ev2I-XlDncGdSiJ@R+4%X-u%yQ0yI>ZhvfR7l&X^2Hea+M!g zi>Un0{zL$p6QJ%8)Kfzodk~8%s)#Un72U%xnCN zPOb}F75Vc_CG;g+g2oYtZuVa?G^|zh{r=nqGa?>}_#DVh*Y#^>vdF%I+fi0nJ98FC z5KD&mkC)i~s@*Z>0QG^pq$s=teaWWsYes#D@uo!{p9^Svb(0*ORRE8`7We-~$@lsr zA@@r>VzO3Yzt%|ay0}<{e(z$F0p7UU_pmk@GF~ng*b<{}bk3m%a1kA}=%2(6@|-n< zJfE|KJjbSx=TCF~k?S;_HODsZmO*D!scBoT>l&p>u-q!Px_ewT*4AWc6vuc5|M%%# z#t_dzIyyS%7UA3p&X~r|Is<^gv63Rm6c8ny;(1e~fGiu7$%vxDiZm}W@2~cCWfc`+ zSF1OT$HKBmYxQ;4SWSdJ)Ml>tSdhmmTOQsoC#L(jbB?Yup>9($oV^5-yv${yC{8ks zTfQ1!quH0JILL^VP1wbg+f%q$d>SSAUfWj0&V7|w@^W)H1R)$2E#t|yPq z)H6Py#R*?!eEmPu;5=`czXxwG+pm@Q?&<-6l?-MRn>}$Cglgo8OY`L;DHlD(^Os{A z=#dFDTMOmT2$sG{`M;N^vcEb!`%(%DpN~(9Gzl2{`GV;r^@S*(UsrOoPLqqmZPp!= zEqg6vXD{0J9nVjo6w@S1{`V<%t7IeW;_7K}Rha`ik!)s8K;R^cJe_zO(^g2;k9`eV zg0~NGC3^g9Gilc8hr#fv-v3(KNjyK&8S$<;;iRvVk(QTdmFA>7ug%_tP*P3o6^Ifq z1YU7`xT>U%oe>w-h&BdN@@!_gYFaHX&GEUkRo@yfK;pQfBbwkMbbGHAE}($_mXefx zz%WQvE(D5YfS|umvCokEj%&;}17G3}=KIf@xT*q|BX|*n2|c?3mw3!Cb>Mv1v-bx%U6;{pofaNs=#!_c{M>^%NLQ z_o%XOf<&wUr0%>|sU=HQ+ESEqslg0R00@wg0uaaufD|)_=iK+1CzzRU_fhVX{C(d& z5CH^0kc`t^DI$D#H~YD{xw#oFaf2HsVI*eYkF;HbX zo4{{WaY>>+W${%8WS=2mP4wUl^%}tq>dGa#9enZnCvqE_FC%&}diLSjJ3_k`4*BD6 z^p6XdexZL{c=QYXsnFKJKV!!v4B@#^&tpFh%?0f}dE zPHTSl;>E|8IQTaNaUO~5`Fq?K9Jzx0_2DD^b{S>lub-ZMq$?TCmvkkcz5PJazhI|> z;IDst|AKA&S&HLZfFEa{KE8kV1I4U4`QznVQfk72l)rfShWwQ*a`M;fcV}evekcF_ zNdC>qzh_%LwD=f(ob+G59$!84*WT~X&py6+(|fsio{UG6$ocZqaQN(O{?q6>zPQ}Y zCJCb;{O<{LEebf%AbuGg=m)MFb%Swx)QP4*q7K7$-|0`PIWI51K1*JI{H^1B=zsn7vU4$fGkrb%`Ri}9 zS?AZ^+wqI(Z+|4O6nPIZE}C^!(1WbOQ$i)coahzUU?%-+Hlsq^x7dDjvAQ@R6uXMf z8ISWfLf92=JS6ew@P30VFfgoQC-Xu^7R3#^8ej&)c-9cz_h>70OX4qfSi@wO73V|j zl(2aq8$~h|ZzC%6px2Bf2Y(+f*8*cPrFnwqCt-UjEylv2(jbc%z3Y)GhQ#s(=A(8fD4<;qXL$&BR(t{X~+jLkD3|FQX)O*2$( zW|lRCH*xwDh4iR|tVW^R>*10ZO*nd8LA2rj%d==5Kh~V_lF1Td>UZzI?vMeawsr0`al5|pPku!65wPk#SR@3={eK@S}Jyvn;hqd zNF+`dim!cBNLU0)BqXg#TY|rC(1cG^r z(0g-KutS}nNORGJF`Cm^94)rvNujIi|T*$*#~HUAoJXGAOmX^0uiWV?}9)G2|w?2QWTEm=?gxIrD6?LiBk zN@$|Z2hL<-aV}_XC`?Qs9e}0DE5V-^fc49Szjxr&mMtyhL0RUfWPeC%Xr>K+lDc?d-u~hIPTFGp7;^$Z$4O zpL)TtRa6CXBWV?dK;cxKDBN?!^X2MVSTRqAw_Gky2ElR{Y0GcuJq!YheLid)xX zuAAsNI$@zzC?(`i7;FhXPgrCp^x%U#cLG08@F^L{6giD!#MG*GR>;BNbBzky{JCj$KV~Kq$%GzVtvWGoN&^O#-m`;?oB6N+n>fA z=pQ|7cROz2JH5CYIJHL>JCcl6Ay*qTL z*%x>DhyUqq^4rUJ^j5oz5nP`ucQMa-N|n19ko+oHOpt-f}^xT=j}!YBQ=`_Mti(vfVbR8E5nrn z@->6=^xj=FOxLrSK1Z%yeh4};;?c8}s1b*A_doyp|I_*)d=nJoAon})XA7yui5!&W zH0gi*->p~lCwwFx<@7}N2K?FjAOD}APPZKfMFCTxVX70X=PYPYE+Qbs5x&^V_;IA3 z`ehk)qmlpt8?+b7xt75pzy%0#_JuHl?W-uhihs+*AWCt>ordgLgR2syAH?U$Ig@3D zUyuLOR9Y$U_zu&l+OfS6MF(0T;9WKKsZh;i$Vv zLu#A4*tx|n!ko)2N#RXZdqxbtCGGyPPO8Yb+w@YnwK>?t%5ZXg)F57AN|<)UT~(0v zczY@%{;~G+#-N-QHb|sJLDdOtCaaTGp;%Dcs!H6heQ(3ZMy{T-3JO$m5)MX^I?h(m zc-@bD;R!az(Tu389eVYPz6`O)e|p^l-RNQCUrio!g*0}Cgn8mzP}UJ0xOB^M0i?7c zN#IL{=l+j4OWD_uC5);uvk+FK8Iy$od?1rNK#GD|1vRNsRB|3kzu(6tseZ9! zk$|yLae|GCA&iiB1(HS;K4u-R(jl&s>5Wyo;0q%QRGz%tmNQF<)fUgl`?r7)F2y4ld|WZg0q9D`mQcl*kxNp32aMdQ4D%)U zFEdZ>;~IzKD38@ig43TR^WoJ642!Xh#;ges4MFGzzE4vq8PSEx7$G_rPm{0mw|qU- zzOAB+-0Sk`U(DQ5CNc)}k;=V;(HmX#lxGCpcB11XJDJ9_S+dNNT)?h*n#q%l-ks2o zLuFOuL}f9M)ee}lC9z=TOADq^yl`GZbxC#^lYF9oMeOsGB8ikmPdg z1XLVnFnj`s2@^sRfRxr0V~@Q-xVT~-_+;QZ^+YBvg+GafD;ZNNyLj1rLPs@E2Iqd78E*E;K$!5^F_Vo3yW$kfc zRfnLgaGfTC;xe9zI=*|ijI#NVV7#b6o2T8!!}m<O;h{js@=%~hO(s)%?`qUN?)+*%X-7Al7bm&qCj?%VCj`1%9Q69!? z@!ezl=DAUAI4}a@BHwGa)Us)s7R_wC9!<+(zyRd?Pj&k@J^kEe|2LehB-PQ*{NHB| z+iVCR&Frnd9yD^VQ<8h3u*(!it-Q<(Zk&p{!PLl(+!3B9FhNe$p_L}^8~6yoP@$%2 zD_duWSe`ZypN~x*fuHEW3_?i{+78PvQFp>4LvuPGDs$ZkCJ$9Gsrel=&O`RY_$yd8 z*mh4=!D>0GKe{wju@NS@N>b9lIHWa6aFQ5*(^JAg@SVe;VS!n z9(+5*eI~lDRmUz}<5r;(UeK@|gcyjJ@1*s6bS0%1^N$6?L!o;a4 zq9p!qMWIs2*6&`B{_w007C3l%*%zyueAR9CcxQ2yXL52^`lV!-y_5`%FC`h-;X#*q zPw74t-&1;|JNkP{|EX||jf3IGB4b@ut2P*WIj$Q?!sGv zc(G;`Do@bJGPMA2P%bfpk9~jZ;}(X3B?fWqtvLQ}I~@Tkgv$%E>wrECRdR8qrUIOz0mQxU4saHly8;u->+W&Jvuv&r+)T4`uKL*{`=(Jv&m1xFV9~; z|LmMif4m5Op1JwwY^=ly@R=|`W=}n~z#Jb@ipYi)-Y!E_lq)#yC(9*v*R9>mns!(7 zrr}b5Y{%(iHQ3#^Z5{q=i~QquY`$$9|FE?^+|JW^tWQzF!)=p)*iG-K``DZTNZ#xb zw(5+wwx`sh-7x^<8D(qD^q`MN*QT8cNO*WICvE$9%2n_G-TmDE@AP2Bpj0WgTI$)2 zmP{r}27@Gn0gPs!Lk*V%`y8qoGFsHgW-?U_LiVGyJW5L)B#GXtrA|3p$GyFrlC4y| zy;-Rqz}T=9uQnEjPa6xvyKiB5`?yt?g`w@$lz25L3gDh#^*xNvQv)CpC9UCQlyu+N zyoxGqm0q}snB8rg?ogcI5SJ*oW%t20n@Y~1E7*K&zTvwE&Y_z-&{B7x#r(YSg7CqZ zK{Wo~kB`M0yN7-7{6@ou4Tcle2s*+eMm>Vg(H{>@fq9NAOpaa1@@c>zEo_ONR{jt|k2vFOokP@78T7QpO}inb10HLTaABO$H^^37q$JqcMub z)~4u^8`T20!+FXB2*Vkq--bAPt_aU8iE0&m7y=MqsP%}#1l=V|doKFSuGn&J!ncjD z?OLzCg)8k_irug|2E(?|9ZaSM<~v1$6|luYdgV_uw*l_WZ|>>E*{S z&$~VU<@NJf-|u@rd>;PbdJFeQ+3X;|ozR?p1jzX{{;rxB;9eVrSST{8HbbcXs+I;W zZf1z}+kY(NFw6G&iUmjy5ou z8ZQL-}6$LlCvTJYoRCWL$DD19DJlJ#8d zHm1ZQ?DkfU^KX-EjXf3__Xxe{QyM;UXaBUD9MFz%`Hg&bPdwx!Eev)-3!EzEjfMB}>5;b|AmqU2YF zkCdVZpg2(7yNH>EH)e)MX=Z4FxW>%zE&|pqnHly8@?c`g8)HJrn6TchLV|Jq@aG1m z{etQOw%9Ld(F5!kV4~i>e*3bC=yCL$Mq``aY#IgcZ-_GtcvHp!WG^s?E7z4tW*DSO z&n;k(7CnsEd`4Pp5U@eO1_AFN0#b>X!p2^}4_B^grQNa)LN@^4A-sc%uva0xO9Olj z@HN19l)$%B;39iCB9QV4G?`}PV!b%VQ4A6mF}ZfG7kc%mMf`G2L060Nem@1Hd~ND0m2F zhhR0vNuKa$E`78@^c$usWd1l#hzn{kHu_Fky2}UOzon}~Gz$P+Gw$pFPMnl5AUxq}@Swqi%0@BLy>RKkkw3lh8v~aqPB-dwk9FI@&ETo{T}s?h)a|i~Ja?1bf$#d-t!`+A1>owon08KcS!MSt zMIY7=NBj&Pnxmo72Lwm$TF5II0jc)DU`A&zJ`XY_?$11kl+n=(tm~EHUZsi?C>mId zMI-AQb(f@rws2&~Vate;xd};Xh(Xp7_*scS*5_k0H^N`zavvVty9n1ODcnsruKUmT zozk%e9}vsBJFu*4XIax)i0tax+0_x<7ZuREz|n5E=r-ctfcjR*@_HA zn3L%yxu~QB#KZ~0gK;KjiF->&f)b|I6*eW7hxmzMHyh}|I&a?0(Y)*Rcos4RGHN^v zJv~CtLb3v#2dCX7ZYx1Y$qRx{J^B-2oOCFHmnPy)p=YUbpK2<77&GmcBw|iuw(?Xu zg*LaQ&8_KC-$@g16~by-8t|o zc8IR}ICj;$4(>p>JVHsu4uMfU=!*3`fzErA#d(W2-au6YRSi_#7pOY8X>H9o)koH~ zE!Jd%P7OLW=yX@m>Cm>bRNrW`odv7r5Tn^DoU+MUwot2V(!{G5pUNeVqPsh`TONT? zDM>|RdNa_66|Y)Thz#U60PL9D9FSWa(Z&uT9n&bHNgKus(aEhim(&2_#+=Qxl#JiJ@R{F6>}l zfObFWbO=})(oGnYO<>$*F&pEG(1x8LP;KNMEn_=eO)cDHY>jUF;Iv3g^y_BCmfQM*I~R0?M0CB zm6cQFmDP>$k(c>3*^T3{s+tylCXG_8(uY7X-T{Mq^+{~z5yeqTq# z+&X#Erv!9o$AZZL7596{lTuH;x@g`1wD8h<*PVT$y+F>yw|0o-kvU;%vVhC^2v3` z6%%44NQ|re3HAX{=?&>DdV~T=2NkdmbJ_@^jttnm45)uq#LNaL+d4772WLIydZgZZ&~#6W@DiRC+UBv5w4$ z23F3tZ|+pBZ0v(e?KKKeTHW{Qc^{Vn%At$-DaFXf-#7y6G!YLJtTgFz9=W`zg zHZJ^7=yt^9OXU86T|GDM=d(1=qwKomg?r!eqBt6l+TJJ(+J0x;ZTEw4)DE4v8-)|c znM`}y(bIO}PLD#HFWeovD9C%yHQ4OtC(s4U$vlEIbC6r}q2vDa<;wZ#hwuLw=AGfs z!#8h!dY*m%VVR`w&KBQ?e~c&2?DMl9*Q2-ctvN(8GRs896TPz6WTC~;#W7A=gwv45)v@b@R$mF5Xv^8~MXf_G=0;8oTS3I<6yFNye|#5rdv z3a*jkQCY`=Zn7v}VFC*^Gec@5+>kauSx4=WMO zkjDV&X8X{Oo8>vJu=Gj?-Q%v8^cqS=v2EhM!E54_xcBevA?n*6@5vgdZJ@S++B*xi zn{J<3=tsl7tD~K#yZbm#o1GWP%1PCAfkQ8zbgu(9dv+QC;gar7!t;EGDBX8?Wlz|e zYr7fI%#wMs64dY%;6TzE(jpbaMeu{g(kre2US-iDhus4!0@d>7S2m#(i)K&mDoS{l zpga{AR;Z+F2IkoM*4!5CbmH6ex_6CV_x9A+y=%kk-pw3oKhQ~jtm>zU5L>{eGy<0H zqrT{NTpXpzBZKVVK+zD&e+x%p;ZIpoRHEg|Af;4BZE|(Bq{UN!@iDq`@UK`@k)SJ; zzA5L1V!vibvSk^6%Ww5_p}er)WZqEl!rmu{o-BZL6iZ_>`V27c4*~OxWn{-5%_alsQ>1(qEhTp{%iul@imuTqpc`xfwYzfjy?TdA z7gER>@=8Dn`ErB@Q$g~$lLu3H7en0dt)R_@csMm5r98Wh1ae;|h)HIV67WRp|7tbo z-@TlF@A47XWTve>br62pOt{ImmMkvfEa7v-4JDgBZ_D6?W+UNEro|g=lTB8}=6%ht zYhM#C92BEcpGP_j^b_I&Lgh@RU6b*t9Jx>pa|qjrSd>G6jfxl2hC&bLC=Hn+U~pc> zDG+#u#^-r(fynhjd<1exWHl$2# z#?&({=ANZH&b#ax3=XjZ>No|glaNu4teD7IBTKF)J>ZmrFyzTcl_z| zzD%&ON9?9%B+DU@2cifT_fW`{E*b3a{Bw?HDo=&ZApv&BR z81EqD3#T4kbF_Vq*0V1JKx|*lmr#1^e8_PPMU9ZR}L)1rG-f@D}O-K-NRy z6f?ojtO2nG#2OI0lOR_1(c@0fp`;_DtKH3694eOpKB@2lpbxZn#@cIuuK~UW`0g3- z$sS5guOualq>#Req$@$9#*&AUt87irywAofst@R^*{0Dfr>%cKOUGY`8ESRZ6#$Xg zL?Ij4A?B_j2@NZI7cu5iu$Wwo52;D5a;7%da2TH=A8C&oJZ|u~!Q;Dv#{%ZUCj->7 zPtsX}gl}7q4B!o$LwH2sNYk1dp4>|=pDRh3ipui&?ODBgW;_<(Az+71HBIpdLgGUU~OH*i!nP1D+mmW^PHre!@#fr zkHn?`KeANWbDJQUpG8l4tBTo7m()|>{`8d$r3utuK=+Tk{d| zmE;7P>X;^K@-lk+rFKv*aTwo1&|loVyM}R5IZcE@gjtse}HAap3`SrPabtxX7VCY zjKJO@K5jaVr=d-rh9s+T`qaws{78`KI0zWSk}{4}&6S)xX0D`i%#%m|sqG~s4t-sa zU>9z8X81mxF)O=Eb9zr0-YLoOk~vxxwpSf{WyiB>pe ztLu=sKHEe*-r1l>5n1k*Q|t;}78(g)k;{}+XK$?oK#=(j>i z4_)BMyr`bU>f?91#Wf7yFnk%G=YY-@>v^1Ee`DkI%D%r~JZylw3&mQzs_a$B=e=tt#64$NR6(PLceV0=Im(gXE z%;1ntOsj;v-igByBHPcA=Ssr30sl6PW>?75GUsWQMDN?lJ^Le4lscBw9VU{tqTk>? zLT;x$dg;rZ;xiv<{30~JNUw-9QFxo53-g1gc_fCHK^OkW^Q^QrpwG-3r{bO%Ox8Hh z^~-gS-dkdj;x`}4rUHTO-3wAJ&+1^^DNnCAoI-HBj(h9&9KF#8^meYL%X^LvsTWgX zEdo~xk=-fgu+v$B{WjW&k_?slhNkt2j!Vg=*8QAp_X8`?mfj&D`Z(g7J2nMv-3 zy6uP%Bbd{WO#$?IsJdAdh8NmgUrRV{7@8kIkF{t-ke=W(fONfB<=?iD81*e0vOr|j zM%8(02_9iz#fD4k^qzfnkq-0WBEC|*Wa{y#*9j-lH0t!C0cP$2bDcfF7%>1c#sE{nfL!AY*!><%79D601P|H+;)Hs@ zpc_xh0L|Zk$|nQtMw^#(`lwRPkv8gt?}5a0*qfgH{I`F;|LOJUdh*X_&wt3ze(CgI ztk!?O`2EYr`MdXjjDPyA?T>zZJs`fc2am{nz{=SS4ltz;u+YZRf4)c`=PjBpjYJv% z;=X~%ez-!|$1}hQc`Ir`jBBOS7C4x|8e1F(9JQ zK=7_TAm};J1ZO2TN?^59+JHkLbB_~xCtrE9m|F*et8K9_e3Ka{yNt2p!U||(@`Nf7 z$gye1ezzHA(tT$jxZWP9I}awLE~P>Iw1AHS_7@^7n*hkitY1mG1XctHJi4+IHyAbac{ z;7x4sh!Yt1+C2~j5`+z+-)_se0!*XH*f=2SzI!11?`9>REtfMq6{tPYRW~0+Pe~ba zc87H!H{Q68zR+jEkvHoaapgTA;tb6!__XBM2uCTq^Jb**EXSio^sBh^W`qfydJE)* z+X&RW5DV7-- z-43`n&<_2Ej(LnQVPR(LE^#NdZ69zkcz~>_W!99;y`>7M!S_JWcnt(2ZK-0ojsx*x zYarMe%QbLIWBwg89zVYGnFa@VjuZR{&*lkz;^-zEh-Tw*J+5QOW@yh9ho+d1vo-^|SV~_*y10U2 zIL9p11Fmo~2s|#&VPq?8o;;xT$sBoO3pT_h5+ZZ*c^15b7F>J5d7;s`Izo-C2^O9_3_>1B*m7rkweKGGWmj<~*%6<^74 z{y}&v-M?@cRzKg+U4~!G$h!=`nh~aWyE)u6AM~PzVIW*yd{x8w5na}>BHF|lrw|`& z#5);Awa;dF46dtY847g^_cjCZ;$|Qm8gv{ID0(*#VtBx$K`0ON1&6Fbt{Mj7J&$zG z;~BPvCbgCWU=z$sWqBfszdU;`2qMLJV5L>Qmh3V}ATf9yG%(AbwXCT;k#te{dE2b` zz@gCvYD8i?3XU#(6om~&ww|(3xsV7OV?iRtLW1Uj>j_1QM<66?3I~F!aKLnh^ea;q z4hpn|13_JA%*XVF0~Q9D60oQV91vCDfa(GVSP@M39rcimqy}iFJ#+>ebt(bPtco{s zEmn<+zQUSPg=q85N)=yJE}&Euc2VLprt<>L;87^Hwy4an`}X>AH0hfpZe{7u16C zFDMY95YQ)lvCFCG^|6?A(+V-|Nn`IZ!M3Evo^+qSo0NE*77^c0${^6F`!Sc^Wp%#_ zrK+}nA5dDLh(DOzbSHKF#s%d%4pc}~Pq9LRx}U8&IJ{EbOW&~QELmN2w3$Gafn}kE zf(N?PkwtQJA;J{8pgEZL(*@WRS`ql)c%5ZfqxRph@(j^0nXnVf>Ph3eDR*5$ji(3N z+ZX{2MFpfKYnA!8*KzQra0sH(r#aU3@dC^GbV@A^>XSU$o93FT+%*+C?}<9^A=PJZ zdu3&>(W;p>qgJ&mEG+ogFQUwC6yACHNE68Jyf7)QE~1q}rL*+>97vDJf=G@JiiG&x zRs1y`gTusMzj^wXzx*rc(*oaHwZF^3Kc{)Ap7fMaPC-nVc7LLeHSXd zhxo0|NoHeVivv@14Bxp8M*~SDT{Q~0=xALrGEPO`6Wxq z0Wje*_(={gvjzu=^F=&S%6xK|Dbp3~^cNR)+}>lkJ$m=H z&o-4NH;oVwl%iiI(>)z{Kj6jl>|wGy`+7qX^J*g^J{od3b{BML$z`qukZ@5SJU2n zo)s*r(KB?L$X} zE%-ulzeHhde*>|UhdJ6;KB+RXZH6mY+>A{^#bVVQ6DC93{PFIwN!ANn`9Ufz4CG*# z0&S`81fooWJ&I1ADhKBmk+aA4e3d&vdu|Z!u|evD@6s2YIqQ%FgY78XXF zogK+1S>$oHve66Fl3+S9Tlk`OSvSZ$m9-4U=CCLD#^3}tny=Cqza30`--$-ysM8C@uAq{F!LA4Wf?VgTcurb5K{h{F0f+v? zpC3If?;c~DVTAo|9JpS)8~R`vou1#0yl&9$$9=c!#XYYxniLMhRfn-iC-HC+&*D{l zm?1cB*YAa)(;ki8N!#y_y6xTsjKhhXFbKx6GwQ~LL-344SguF2B)>S&7~*la7kSfm z6!l{`hPWM#qH%ld1yeuhdy{FeyUiG~bejyzt%n;U59C9ss z9Uq|4sMGd(fT;XQH*WX(Q@8E7Ue|NH?l|rgqf_5F3S?ObPuh2u^?@CpagF)m3ST^@+0CNW^)2taIqGyHB^$O?8bc zF^(4Fcy_>rh=XZ33B5^sJP81AIAg#Y9zd+=)bD%lXyQ0-F-2+P;Ji^gXF#I|5|G%u zag4%l)N{sdFP;Lb8c#dzeh=&(ZrC4tJwNLB;k0Nl&_(K4Y3L-sNVC-;dhf>Fo;M15 z?J<0f?vDU*jp7)vNZ>n86bD`~aSMCjHS``?z|YeKbg#GnA%LxUJeov)+ntPDAV7Iu zdj!Ohc0Za%p%;YXZntpfhJg{aAwX-pLv%izjJkb)1VE?@`t1WY0D|8Lh=ASx)bF|@ zF#UdE=R@24U&m2)h!OO_c0BTeQ9Fu#F#Tf(2!A8T0~9nJds84s1yLa=*+*~{$6pRH zf)S9Be81ZTvK~MpKkNX2bvz(}Pn~Yq=>k6JjS5E)7)CISW-}l^9%uk@zdwnCwhJT+ zfTyFN-J3>UJBUMnI_`G7ey@0AGYx2Jpq zhgyfJGw~*&4}fSK!Q+rKZTFmM*p5eWX9V_X4;)krN8lMoFpnq6dVY}ZyOZ&_4-XAp zurc`K?g*TOdVL^=yFJf~;^{Q%Y_|Y)kr1_w1XV+odTbm<0OY#KBJRa5>5&%!~7-|5A*wFECgBtsQNxD5CmAgQi1=1iqR)p=2 z)9=R<#~pPi#nNoQ%%G6k`e0*nyS=F6g5zEXi~s-_5UfU{sNV+LVm$S_K^%1o7s~T( zV?u;CPUp*Le7GeVxxr`(WGNu!jw2xD_M>*s1@f*t0cbECja|0pf04OmM|qltJI@JDe3WUamjjvrAU z(ixCp#t;_bX)x}GLE%uGLOPqSVHk=7jb$49aR}B090VP3CI|G^j=cV~9f$pCx7T&t zaD&FjIu^7nb&UnvgTTLu_2raYKIqzpsNajgsU#c$ncnYBz|qi&oOZ{JoFMFu+>WzR z1VD|QkjC&hM(O0bo^hbJjzv;fGzkE!2W_uA1p{yaaYbX#Z99?Y^kN{_Pd3OfJ`D?S zLL`9YEJ_w6B*N|^Nak<_&~tLLW?>BEUAN=5JKYE#Yyq?P!l>JJeXrjS!P#Web2c4p zQ5z?yjg!^IdOlj4o;anOs~9WRby=fR<>0}i&6pyLL;0Ko2~@J;|aW*0j@ zgXUO==y)830oby=w$t|~fb8QAKvy4#V4bcD<{j|FxbQ>{gOQ3IuTSWOe()`Nf5+)L zouEA)$IuH-=mJ>;oX7*W-|xiW^f8GF&wmcrr@=N(R%tq`We>3SxHoco?$qasmY}HwngnR2??;r9!EYnK#V7#pQ9<*sazlo0dX$`+Z8zK1zo4_ zdWD;=(^qv^5dD2|KCq9=D4zi_If%h_Z)oJULOu*2B%{% z7m!69091^9uRRLm2x{njFYbkox8c4ZkUCA?FAcGyv;Fqm?*fqzY8ra*gyF_epdI^d zaHtL3$OFf|aWOoGQqR$oiv4!DgnPbC3~BKZxYvG%lWsJI`hwmR2!j3;$bh|$8v+^7 z4SaZZ2%L>FpiUxt?Q-Aoq8M}EVOkPex83oR~-8{|m`Oo@RW3jb8UINgS#@c77DN zZqyCN?NKKJBCH>V?LNG&=sIJs2NnTpYb($QRPrU4`|a`s9J;_M#&3^$@Se!+0O$aR z`8F~}={mmScMH!63S3V!K-V~ETlr3t-cI6avOtex^OIzeuOg6ZqIQ~G?hB3vwBEgc z;=4~Cy~x(fXf}8boi{#5vod&z3Xxy<$0r!T4D4AnDA>RJ`@aw`oXZS!=j)@V@9-O4 zm;xWvB;z4^=PHJN1xd3s{jy#T;qxTL11R!N%3_1_`k`wEc%Lsu3By6|65`j1hUdgD zTUoR<9Q7-tF&4X60|vw!AW^S2F@BL55)1{GW4pK56&R~0Fst* zmcvT{=wM4q#$zXILC4;cVsNrQ#BihH-zb3WWs)aSyjn24(Rwk#apQOtNikrv^3xg$ z-SXY-^M;43EL!CFUHvecP62V^sI8?ku{D;L8&4~XT1c%=7#*Zp0+uhDJ*SZ;q1^1(>3SQf2S(OL`$Wok~nkz7l$UM>q{8Fdws|5tr~0As6@vUQ8$bs1`d>;I6V(O32nTMGJs`|@Z){b z4k|z>Ss+I|Waf54Sd0#)aUL>~dJ5=^tHd?}fz73L%t5n|7R2;GNCz00MN+(1U#cIe zQxv3IXNf`|c)EC)UL8tV#n_j~K4uoS`dn+Z!VI&3);xqKoJ-87ElBPyGDNr#gj})e zf1L~wIfLXCC1<)@&F6r$z-AbO9bz1lH?S;>uS-}lCws$CjDJab+Eeq;P?M72gJ=8+ zhK3=Iw|c|o9eP0njF8B4;1R%?B-m9JPr_}Et7GdjOD_`=QJd+y9uY~0Ets&vaJu#* z>u|r+!}K!FGSIC93O<-u4Sf)pa8D8upn8)?1W6uu1xJ1*Eh3PLlpG@FYuAX%M91e^6LUZDbL zp!lUX8mOmag}HG47bp`hb+dmBU{}%rqR!N%0Q8Ahb~5hvl+1(=rtuUtdI}(XJzlM| z_!PB#id{3F{)v9wobm|+BZ$F1!|H$!3rp2OraoR^*{(|KybN4t9FT}ELdpKqLXGfz zAmJHwi9=2!EjQ9~Eqc%{mzL2>_`21gB{xq|92Pg_!^^{D8joEfuB6`V3z?}V({$wv zeiK5)BCtVY>61kvD$8fH85k@kgPcmmJ+`Mzs9fxz=N@9lF5ddGm|e|b9j736AA_XK zX6%70Bo%nG$;w>RB)J8aV1;#g+1KUeU_(vMSXPtF3;im|#R1gPqIS`jgaiU|z6 z*(3#%hEM+_f85XpQ~};8Q&^DRA@Pv~;FY-LD&gyf;Zc;y+=5XwLifRh?k*Ay8FDpZ zcO!P!B6jzg*iCV|Zo#|4PAm%F@_Zg%{1$y3+$Ry-FJ*HH3d55RmYY4i9Ls10w$8@7 z@`!|CBsg$FEs}^m1u$O_4=|KY;qOTbSGYV20;o@mr(+bpE# zmPpTyh}4Kkb%;oU-KqgPYqwk78g7qLenKAV?vwCTPF-jdraYXNbZV1igoCJ?w)IUy zh+WJ<*JAM!idle)&uYjpFO_5V;-&^8XskTj5jXWp9^MJ&v*o+<(zdMC3Aqyw=B4graZ9 zITOPma}e=pc$KU!hKm$?I~AldNcd|oxAS2xY?#L>nX!)#LM(F`!O4tQD4z8S0ES3J z6{WPmC}T-=l@!+0zUdV;GTZ%>*X1k6H^pGHGC9t&MDFiMWWzrlh<~*Xq zu@pLEnPeY;p8~XK{A+}Y+HDPYt~D-1-Ume4AmZjjM&Ww zCd>yR)%Z}TncZhuMzrcZfDl7{=`AYz7P-UHOP{dM1}O!rM?5;F=Kz2av%Py-&Ffn! zbXTqe>6URz!ip@^3FTDLGB$;0GBprce@tg-2g`!KxfQqPy7u z!3`js0jA8sBd`+jd7Po&eVmT>t^xDH1+#(SuIGzk|F zs{wS>6@ymf5}38n$PC5EoFuDwE>0Mj;=r*@F_aP~a62VmUcYq^XghesKSp2WkFX%t zV(Q=X^;G$Ob8}-IXqS=_0^R{ZUUk}a@HL?CfWhy8voj-e2nDUzF9rmH2NDJkBoH15 zC@c~YtT>CKNjqK4uGx$tLKW_$_cR97=T8?f0J%U$zl0bX$jL4v>7n(*U^sY0$N~W; z5h(|PPMDDah8{9vLFm$JfOLT6tN{Yi8=MZ$7xjUcP-DHwg-G=h#)OZuVU&-PgbfOu ztIk&!1Egnmdvv7WppjvM=-9E#(6qy&JMqsq_Xy#6o((hlKsoaq%*fyV?lqq2mqtu;fmFcBclxP_4Ey+=lvs_ z>xsxV6DR+`5T^jtmM{m0Q>zr_guE9_rBE5_U|y_-7^2S6EnZ(_WOj^~t>ST|A4 zv)|-;ffFIgFf`z{9k|0ooj*T=vFv#MJQUga7)eVB*T z9DKs+JbQMzNM{n}+#slQ=)7M7p5u2bNq7n*2}@S~M2TlyJ5hGFK2aV7abSh7INcvR z;yMxY{Hc%=R>q;5TZY4$!Ekg19I!RrIZa4^d^(l6-VIMbac^v{_BH!^`h4(O=oem*b%*SeiPA4Vj7eySzJFLr0RLQAeFd6=93-#nl6U>L;*PI?-#o; z4y-esPWReNIK}U$)9t%?>*rm_=4X`6j~!}5dU=U~Nd(((TYz+zX$DS3t-ro{_U7#6 zH?3$fX+g972&&myfBp3F^UEDizuuF9>{Er}6TCw+02Mu*RR?hiez$~hgriv;t>T(Z zYPpW{B3}OIGfc$ z;pWkvo&&AojKmN>r~{f1$F?Vdg7@lwCJ-`HS2K>>1s0P7oBIiVr898E%7vgDc*gSE za_WNpSBtSX_$-QVvDr|iQRzP(bmR_?F6U4nMVliS>75@aBfRtjzqFv&;(Kl%?+0k9 zm_`@W7fmMSs>M2=O(w5UIaEbFNl+`EUsUEL$VCeQnw=y$eOxR*@J8jJwJa|D0_Vde z@wWU3y|fgcYj=wpegkrU&oj&33H7GMVcv#MX|ypvLf;_^W-Z3uwY(;G$(vlbXzeLk zj{r>SDQfZ*Bh@K+5qye?Fh9lbzEA&@X!Ay2%doRuO{c65EJL9_H~xC|>aPb(<)`@T zswDu;{e0oxc{MCChM=v{8*Bd?c)b0Zt zHM)Np*R#mDY7`Yf(=n2gZcT!fJqZbN>ce&!4HiP6(n3j;d!$DtC~>}qKh9X`&0?sp zh@pW}FOm#-trkHvEG{LAqG+OL@k;exXe{^w<)lTSi?7)_zfeR_W64)AW3dqHD>d-K ziUg~8TvVr?mlK>Z?HWj>SYmZONn%C)Xd$AhOKkOtjTN48F1YqpadQrcAUZ`oXyYC* ziBq8En^U%Onk?*XStT6^CMQ;(E)kdQBBx6@a9OtUG>KiWwUMO{DoelSRNu(bjVxWC zEX`*8i2x6^OVU+#aK+IjDsVeeG?3s9Dm{bw1WoQ=cE)RT>!NTIJ4IP^n?FtNKO5wv z#PyHZ7AF~9h8m^7P^yTCVeq9ds7#Rq?b=&ct_8`WpuAaHcDu&RRv}sN;3?)8W#gNp zh}=g`Fbg0=#zQKO!A)sEfet4T4nQs%&}eWyuTd(O*$Wi5fh7K7R;o|zMe5)Q6DVCx z=FP7`yYo}n?kS-FRjP$28+#!teu5u1F&55$xe5y9R=22{MqoXdzzTXw(W#MB8#%QO zIo07hU%<>e$fv}q4hx;aH(*_CEwk~8(kkD|Z$(z6-s;oKILnfQ#>^HMh_&AcvJXm- zg%fF@!a~h%U|}%4itoiLD#*D(r$Ek?tF}wMt}ONX9iw0>*Cxool2q$^B?>=a8Q1Hn zGHy%SUR#uy>JoiDgXkM{Rq1gOU&ga^3HQ}gsXtJlY_mR5vDhHk_B3(2Y@LG8t8!Ga z5Ui`1OE%dE$OjXUq38toza>d?EeY-#!MPEf>kyn_z(_%GR-oiSf^_wL{#e9nKpN`< z%FzN~?MYW z46Hq1qenci@huMexTRz$fXsw$T$kB%hQDHEDnR1je{rj{u)s#ClH9$u%2? zuw2Ixi*k_`YZ!%SWiTtH>vySDtJo*VXO2aQDuJb|#G+IS@mQ3m_>jVtIV&iIg|vsT zWcjxWVJWr7LRhMX0A04klnvG5X6si+&WQAcFt=>>Dw+;ht0q{EHkcvDS@ur*(Zy;$ zGfj=K`X6E853H=kZq~FGipm(0&`Lyc$=a5c5`eyx-D|1%o)T;*Vr)p{f^oD+7s(h4 zHgJrmuurFd!vEUt<6*DFY=Xj3z59n!fs~al9|YA)2%G7meUU)^z(;tc2d9+fP0ui) z-rSrSe_+Du%_*d6G9`HbAdq>A5n^kJ9*r2aMSoY2@9UN6To&B2rSzqe&}<69Dj;dm z!2?qUnhh-LiHl`9k>D1k)uJDjLkgZmp>~QO^3PKk5ytv^KE--JXq38De;^NspP+*94&Q*0MhXjE8Hv%`Eo)7 z>=^g%X@#@v0}S4a&#L5b#bEygZffiXbn|J}*?5}e2H0ThfhQx}7~J1i`4haEl{@ZI zKt6c%-vW7BiT=yBmfJb`mX7}WID!-YCqJ>h7oT1s^2R=O3{Hrc43#-4ul@6k%&svB`f#HihN5FaKPbanS&zHKauF3hpf3_3gaqb_h)o!*Licq` zCXjj|V)An7NkuCGWOhMY2tPz$g%1#*nSB)hh8^3oZ#RNaCJ%-9J$kg48|WvGUccCK z_d@4%68=&Uv@A@I-qkVhK(ao>po|wv3a1+y*p?_WcI8V!D^dqj!qt;J>K~E zj0iddgSg%jD+-KIkr%1%ve_b!mCwR%vq$dy?)D?mDYR~Lx4hhnL#0cBUD=dWwk9g? zZTM89x)QtQ{p3ui(<#lGeTg;2HBfj{aH6SK+uI|XfSTS2-P(dhu$M0w9$B0MdU@_amU<3&{*jxGsdWr3Me?;AKOvu8dyhs}OW`^!qx=xL8ty zbj+x)8Z+AL7HW`|1?z}yc45aNE#J?LHY|VElx1LHmaFWu-97HJPdX%KGvCp`;!_ zhAqX;_o#3J+N*t^CGm82-NLPmVvG&wx;<}Qr|Z^5bQ!ni(Il=LAmG|aA;5%fR^ub4 zSyk09^ng&HKhf^L0>;>o6C)td>H3qvLT<>A^D4&?C-5$`HPRuNs*H4kxpNKYGZLe) zE_CC9mH=)rJy~4eS9I%AYOZ=}6XsqaH4+?>#fGf^I{kg+H#Yo&fCYoB-x1UM>2#}p z-45D=-yg)62z8>PMMGN&HHGs{0c5%*ATwl0F$DN9{xV9xS~p~mwMMA~^+Q2e$L&xv zcJ|4y4;wgWqvMZd1bYIyPP1R}dG99v}J$8fOX;~AEyN$1&Q~qYSYmgqT z=TglE1J9{qgFzp%ACHU)s{KS?R&9Ye2FaDtoN~3~%h$=WQEPp({8!9*)1#gdbF3*rEE1tAQTl?+Y z>&Y5=kf9nl2n|f>Ms5MIDz5GmHB_ERvZ3%^B8QG#Y_{-Eo&eH#junERL6=`MY1XtW z>=pg-%xDzN8NXrB)1wevj&y=Fw_=F-(_n7OhfhZT9^A zyHC$vzdKV7ykO$O4y9EvQRDa`r4KNf9;2QOM|kC2ZMzZgW}AE7g95(qc%>!UTJCxG zDUC{ST-|fWLE%`w-i55O&nw--<0ll1#OvV75Naa7378vL>(E}cQ{z!y#*!^SjXo8t z1Jr0;4XAAfwV?DxvI=T^mXF0q6u#}`y*fTT>lfk~ilh$TfF2Ihs&cq6xs^E_G&E0F zHR$V_>yJA4zPBykH`gC`{Q3i)H$PxzoU~SHYnp-MZELy1b@zk445?8CDI(-{m&?ic z%XNdUM}e+EdDEE&UGE>do*`arK>;saLM0+}n~@(Ux^|8iUBjAhnlV6D23NDc!3JlK z0cX2mgR>74XW^UG7nmzsif6>5JNO5ns%Nd~EIMxio=L_LB(~PoMGVgWS!;EXsr%}0REq0?)y`C(!+WKm{LFR*A!^u&C0 zDBXqbsxUmq0Fd$3KU2y=F+P$81LiFSbO}``b-l_ly(QkKPPdfH?CLH8M(G4=BKYE< zcB%0Kf)wJW8V3+~1nrXklpSxAC*LQyHb%zU>uHvbT@u>6su)~#@spn6RkFGm=Ii-9 z!p?&+UGRuQ!qXq(c~HIVU~P}1Yyv%lBhSf+==R;TQp7haiFHH56EJVg&=oxH+akrT zYIDiC)H+|K^C5E}PD~zc=-(j_01YTuV`N6DKl9hdX{T(0?R42)DELO5I(cYgkNUmH z^V;Fa>9+meWYQivk<;$DkrRa7k=t>4!VF4&+aY*5+Wraa6H#TQ@A|!Q)DDTkn%SA`V109@}w;U5CF58T_&It6R}u8C}Rl&6D-Dw zV9F;1-a>mX3jl>VDxq$fFnhqwW^evAiHFn!#+p^09{tPSf@O8ZiAAu+Cl+;}Fj^MK zbrH{&_+=BOk41bXc)`Z@QSkc`egtWAvU(vwL8^<%*Q0r|qA?I|J@A&W0HPHIo23U5 zc}w#QZwo@fk36cO;3wg2?7zr?D15@_LKIj-L00r;Tb(|K(l10H9j5XCBELIkWn_y{%Q&3$2AeyLY zP1H2ajl9d_#4>QGJ#<>>eeh@;$Y+!3a2_p}puK~NxLs%;kDA@Tlp7dB!ou8`(u7_U zfme{@u&5hgfiP#Xu1AhtZ}A}V+mc(mlHAJvco5<#TG_XkV;UONkS!=rb-U0e43VkFK_#hx7$ojrjDikn z404okPhM~_PHd@$*p`ZD41H#(!3;~t{dgZenU4s~iOC_^ZNTco%{I-X)GiSQ04a{Y z#By5isr+mrdD6#H5;VjhvDt4yrt6z!I?E-yNl;Q;_enqQx@f5CH_>v*>{ciM^6PV6 zjI!EmR@!nCFUxI#S5Vg(`tod<*p!u~Yj59FA?lTK^DW%!JM{UF;9$ygO%)++C#ubG z#b35aNLUolW^Y3wl#>>P`yqh-Aulg@PcoK&Hkl|@Fi+N8))&NQwGvcV+OfsHi~sj|vk&bx{&tXQTJVenfM$9lIU~T6yu`{U1CtO0R^Je#x+J!Z z`5Aer)+%9%3T*v3rRXD}O6cuSBd>^uU#8f<J3k=#=ayaokIj zQmJeiSr1}YK;Tkk6d~PBbr>}vk`}|Rj=@#vYK%LtatMtYhpi5QnDUJ(hZ5&wn4j~G zrgPZpgiU(Hln$m7=~jnFTCw#=8thc7?M%8;Uzvx}Rv_L%nx0)7IJVGx$G=#1tC>}IW>y46CyjUY94Bu736qs9 z9*EHCFfoqt!_kVIuGH6~7C0Ry#_ck#`xiG|sh(UB%L2g)YPv^SogLTG-*NX z$8qlxW|#S4cu1mUN5j(EA5T@-mXBSYl%0+VRcO*B(YO+ktOf_EVEW^8rab$XU1KH} z#2J-*riRc@LpF!&doR7Fy2AEf#b>Ip9E#7>kf3O}NkuC$PeeK0Ljjj%!JS`!@o)Kh zDt@!O9u4>Ddi2So*Dto*g-qTz6>pk42pF7d(qoT7e6`4mCMTM>$XyC<9(0~Qkl5xy zX)f*V6xuu>!u#%#&AWT#IT+Rq5b`eWqI!CC^P0F(T#W7cu}?4ghjnb94O8yJ-+1{@ z5XZul``ifo@T?0dwsqV4q0Bowv0;zUX2XTY%7y)g3q>yMA(!&;*IQ>oiF0-pO()1% z^{)JfbX;hrhR~7zwp^&vmEf*jIO2Ga_s;L>q0w5@u(Pz%9@x2 zZ zSNL;owf5}m)}Cr5u(WtR=(F5I3fhu_RV{SJGD-KF0yVM{wrfq(vu45ND=V+OXNLR> zZ!+^CWm-4T3&HEl`~~G|=;8tD!G|0gcx=Rr)qG~^yD-lmVc`#~?2Ya#T{eJKXB!lq zCNt3o`Z!vQu|2e47lHC3t5MkKbCiXaL6m)tY&lU2zFg`fN#kBA9UfGMaD&%1_DVo+ zWp(y*VT>tVFinM>$>~Dwc#Z6vtWx1vPGKvjf5QLXknKmZ6NOv7m`5`G#H+>g_LaPR zHFc-x4u220jMHVYAtjz0SSj*48m+i4a{t%g0d6^`(nWoD-h5a&e$vl)w;-s_t=)tJ z)?(m#KYb!Szza~EN`x;YS7BtLJiYmH)OlLl-76qiU;DmnbsC|aD-_o0s>ND+TR!Epd3#{oIc4(O0E^^y~s=}0?ZXW9Wh)DAG! z4(Q$J0Ph$Bex@A=huQ%>)eeMX?Es%^2ZDNO@QBsz;kpNS2OF>}y#c?|8=w>K0Lu#l za;-OD=iY&M@EwRJ-vK@P4y3d1Ksx*m7%BmOb^Du09p@vW-< z9p9{q-|6AoG|(<3B?QU?g39W&>%eS4<^hA|0cU4M<`4>6uU`xZJP#y%9!LN^5DucGduu6A;UbDJAI#Q%3A4rOF9lH!o zv&~Zcd~=Tw&g)l#xIl(DwzwL;Q8oKO(6bAR0`pT<`#{jl3>4kqKvoXk8a~0Eeg1rx z!O0iF2@d7J@FZcuR`}FIYmAj)^K`A*d4LL*A(fjVU=I%g>5J+~r z0!Tj2TTAmuT7b7&Sv-!DOBgW-z(F$0ThU_Df;$fUv;uX&0AdG*Ry!zeiL$OQRfx5) z4c6Xmto3^h*6tT;4|3La`x4e7-n?^&8}`a0E(KS58;w0cw3Z-Kz7x=*Rit(#no`R^ zpZuU*4WBo`=?)r6(nd{yjMU$JmFm<d~H7>gJk_7T~ zE1d#~GRYB0?krN$7e50@1EKELF5P758j210!uQXJA$OBo1pwOt0+*N;Ym`Z0jaO+_ z|HVuLfr#gSRaN!U{i#13qq8^8x~Ebde-zYyI^i$}i%{H@iu5_QMC7 ztt?$3^IiyGm~M%Y&UU!9q&wi&xCPY*_2Cwr;h0oe??HMaX!#EYp~6ljgbHPZ;>&ZC zw==N*m#mA&4Jhnd1I=lDf>Pxpp%pSaThLu5I=!PrLQ_6+8SUNEJpmVA z;cai3SIIp7BVF8!bEoG%WQmKuA3fl)6HR#aQ|IogMQW&9UbX1^Ps*wmKM|Hds>CC> zkU{D-&Zb8X=OKY}3N7^>eXCzoucW!#1}HJ4!KeuJ!6f`WO4C^!EoztYL~Ccs#unvD z7T1FZW7h0>ekCzaF>DrBNW(>@Ur86kz1|XlFYgz-Fb=FUolf`KOE|^vr_=4bdFuyp z#16kMlgh6JUOf=O$D#&h%I65mUxXo zGmE2DT=Vl3Ug<7??Gym^LxJV)POvPlL)G*5L1Z>Kv(JT29yy9ol^zt80E|Q{jwM%7 z-Xha|VA)M&xb2|;zvHVJ3RtBL6zl{AerKnrXW}|kg@S{<_j)dL^2ni}UknAaC||YU zQ~g~f3ac^omOvrS@U~|>>{p{coPcu)=Ml&=^JRk+J0peXR6z=tlL|r#c_oe#E6^go zfh@*I@z?>w7u7uqV9fYP;z>OQwUtjI$xbH`aT&Hj6+|%Ud9r9gP?dl7Ng$$k??pMgxk0AbR8iIm*y^_-JbnyCy8ZzKDTc8w%QYvGWHvaZ_g&d{EPfp= z_@)QHMA!5_HlU;~SYh&z2c|>byLp7(f3diwCw_6$6wn`YF3$vA<|O_`Z7BY_Of%#} zH(~!TyJUib?Illqykd{I8|xgkN<28vV;~`t z_u?;E(}Z|ycCC-VNRQ$zj6nIp$14B5b=+^|=WTi2H^&ROk$v$~ue^-dsyXEUNQ>zX z`Dyf%0*CytwBV4x(5pVoyNg$SSYGj}FZi=}NoPfW_8q+f!I}Lep2gV5vR4$}`~}KJ zJk;OhMIPdzpJl;Ayu?cN`H6?waNn70cNm~u^45Neg!9vRv;ZrE{kLf9=7^iYxRM|)^_NOKVbk+dvNVio7~Yjjfak04k(lgXrs!a9f7TOkVX4tWzl&$ zS;IBKvMAot*ddO}qhK)s6`^Q*WSK6%qHd$4ch}A0W{K@3x zVj)rqGlT|LllaKAg^dJt2nmXj;*R@!h^r!(Z6wTfBWE>omRZh%^g`q;6bh|w5vv^V ziZWI}V&By+WXZw*PV(Pps)PkY#Zd_h=R$a+30m|uGzw1&U<@C6CyW%3YAj3UQFaY4 zW~2%CV42CIZQ^N`8~}+c#QT3jEVZkQgKmGQGMUI}h$cN=s|Q2UuE<`pNLMYegQai@nufa|8?LOof$~c_00_CkL~%2h84fkcxz^g`MnNCm3mcsNwHa#Jg2jWfO}P-m#trXTn<+QD6$~3%glDB`TZ=w<;0< zoyg%dOBbspQs5$*Vkg;Umd?{vOzV;=cj<>@{N9uP-fr8RB!*c`QQ!&cO*_e@LR^^(dWO8_)#LV22JG<|+~_Ja{1q zs%w#cptms#6vzR#*n;Ix2u^dP?-T5&cRGaGw!nG~+EpVNs_NCd-Xk&*?kKv$T#Vxu z?o(@(wyrLc@ddVh%+jmYD4wN@^ZZ-<2I%S{UbK+035ryq)IzBVTcb=&Bdjdl$|EDX zP<>b-81b_fF+8>!b3zhmK@(+YTn~mu2Sa$a&#qdw(2E#)ZlWAA{Y2}ZOvH}mt!TA^ z>R<3RWjhtS;MiNI{I1j~+Th0CDTli1)a)4#b>)fKBOTX+smRNHLhmBMYU4d~53?AO z&g3x=EFe!U*7FgdJiR;L@&|QuFvg^fu&70mf?Qod5aAM-dQ60Wk}Hfdngi!4Haf<& z=Ii+!Ns2qyOP!YDdZDFQwA$`~PaV`7j#-AS&F7ECM4nAJ`4G0o8xCK3W+q#(1$r7# zi$`Yq)y$s!!bVLqPn48jN|SeeR@KJM3Eo|Qq$~`l96GyeHmYW$YBs87qiQy)18-D8 z(MF|l4c@Kf{mWDKFaPfBUxz!_*>BEWsyno4P7ZTt+3xE49UaefgE*l}jtd6g}Io)Df8(SXN5a-c(#N%h=6&p<3?2wpxpQ_UCYGRj@{? zru^VHv{fl&uRXCU?+@4y^TlCDh90qLhCQm{bQ^-dQ&;g8a$gv4-AYnA)l=`$@Tn@v zAErwt+P~EfRi@nobn9?LOs<&f*;d6XtJ~X5Ywg8>#T|ConWg8}EBy*A1P`%do%I}I zZ)HZ9C(l~ur6)coqBS40AYAzPsUG$%@y4nie%gks57xO`SkfZ<9TQP|C7AsP&C)!X z8pT&rR{J!4OvH1I?VUK}T0o{ zfXiHx9i`Dgm0GaXw5@G>>1I=(bmiR#He=h^ST8nORX(7JI2AgiueSLB-cT~(??oYed*-|mP$1ZKBm_0y; zwo%OPyIXr8;yi}zI*gVH0I2*+6_)~lij>m);9Bqug!l+L$Y=~Vx?7IO2!oV!j#Q_) zc{U0(Kb7W!tm)k*eZ%y?eSKKhB=v}(U@;CXI86oAZs|4-Q=6wLkF(1-t8Je8Ff*y~ zeod6+0Ja|ppuGs<5?>X1TwNr%6g2DQIs)=3}xrn3^iWzFo~1E{aNT1?)0Wd6u`g4Zn? zjnc0NowiNxkSz0dH_Rh#W8UD)s2Z*8!#+|ZmJ;@nhnu<*_KMrk%^fokv`h|kTU*nF z_)k#yG}9auD#iUu{$G`D`l!1Ao>;m(bNNtnQfM9fnn`3ERQw zU~P4=p&9Q(8SiO>qLvYVJLoJHIx?#aW?MKi3(K4(4$Ml+sJe)0pOj^Ug}^&=?P;48 ze>`TcMZVxD7O#*}{0J#T{()N1lTopz`P z-uvOhg+Bm1)ie`5I4)dcMXB3!k5A|>u<$COVo}VR_GIEvZG8^Vrvolefd!PfKF4eV zC2A$=HGx{D`D(acf|-id`Ha6NIg|oPvhhhk$XW+u%CB>!voIu>PbgE$ z9WQ{uGLDC71_OGf)1efd6Gsj6`Xo?^RFa7HV0LCJP!v-IjV$JerXp}c7VG73vR=;M zaUdSzJQzBXCw*&4yad=W3T#cC4+q_idZwZ%9t}7w<9_1Yh(cUbZYEF6<5h$LDpB4g z2WCiEdNDAqNi+jMW$2nm)=Dq6ioT|cbPfb7WZ1DH@|AC$20D+Bq@qzWgQP(_ii$$I z@I3-J@W~DLN97=W1RY~JOn^K%4+$M66-TkYG7llLg9sDO0n zWdtZFOVgE6=oimD7|n(7kSq+ji#OwOhND2D;E*o7IT&9gi+D(lG<3oSJC1bdT8(>U=^br{L zY3R@$i2+U@V7ileyjTzCfFkk}Jfo&*?BZ#JWa|;X&yE|SnFHhY(42ukus>+9a5#IGJDE$OSzC`|bJ^(&<>he=i^lpF)H`I65fRg%}v30O7) zfgzz?k{N}2p~UDiiSJ~YC6^c$A;_dxi&+{?D0w=JSx&(JmMInD2u1z}a!URkqezhZ zKfv6@-?7cVhrYlFkl(SLUF8`my+l$Rve#;5F zgz{J>BVnsRo2ttb2|KDx=qU3s&a>$%{Sq(O4(SkK{{-$vFnA{00I7x@ULpg6V!Il# zQ8~d^SY+37eBmn?r zlX@cU;h5$qx1c*uYWxI=XLLufA!+WVeiA6>5tz0 zAMN+=!Vk}O-I&Gxf`giFZd2ptOtA_DT*fG5dUwMNDpwbEL0;vj^iTpW<5b zQ=EPZ({uJwDX9KFNx%{8#UzUtc zVa_z2<)?ZP!zZaB(he;Bh#aj7YlnZxJq0rgxBodb4IN_P3kdX%y1-Hv<)>63d{PwQ zyQaQU3HT2Gr*Xz8%9Ak^LN1J)!IOnQHEQ8WcFquLlGjryto}Ci7|LCYW=c^dFC+Y^ z4`VdiZbwiGs=rmL8G*C>G9k)xZJ|ga`$L8XpBIPPhzy_A_->;1msO|q*iwfzL7ps6 z=mnc9m3uceEw`sN5)h@zBXSs#>xL=#zk1J*Dh8=`$ZeT6$6^lomj)$LDjRICTUezs zVyz0pCw-ZxiyQ%_{ve09)xu9Z=H2f8e?7aqMAA{%$ZJ% zp;$4Wqpq=+*6O7>vCIWrl{Cc^siHJYK>v{!vV)5ZM;VaM#@Tv4;xwc&46H)wpP{Vr zqq?!8JZz>_nZec)uigxhG)0)@vV#!kSpKb(2^iX!WlHb5H8Nqz!k_Z2yJ96nT##d= z)@5Fy(s5%Qme1NSNZk5L8x=1j{Hd+Ocs$;2qf!d0ztxRu`~{wGvGAmAR5X$Op#d>X zV4Vz9p@7w)bW<#-ZVKQuNP46a21>#I)fWSPwL=dss`P>t5&o1aMw`HVPPQ3O-4jR} z{Z~VH@_iW3m#b?U6^|0B-a}lO+DCI0)&zNCT;2&bHQG8CHY_z}l*PqFjvGA{KQ}i+ z&_n;E?N=~M<+G$vNc>w~HBYJ>N#Nk*JzK_^@ocuKA+ZA6ckRf)u9EDcm!(~?obprE z72qo;qpkoak$>d#2P-(_IvaFHe=%g2G^Ec?M*{;~FYa`iYD#62JJ>OGQ0nWGZur*1grqI@a$*roW zQPe9|(wblZSdwuCj-ZhQbehO)ZdxvA`)=dK6q>VB$&P%h#EZ5HHl@oQa(Ra?<19-i zv2jYAP8lMxRqUl1r zI<MiGS-Sh{Y-z+fEQDjs9yQF8G~UQ!$)0$ZV)0t%q81<441( z0cR>WH54@{HDu#@mRNXd*whR=HK?DAO~&|4A7_R1tYkBMlA+u;RZjRg9Y-_b-Um*t zVQ*Di)5ls|afvK4VfF3ZWh>!0we^%QkTq3aE1`c1_=G0zA@9=42C+Q9pMb{W6Rs(|-*r8uWd*#y0YX>oi(})O%Dy z_|sPJ8b379)QLP<_)}N8u_P{n7~}(5lVO&5VfDA(7(D&|zK+)g`aScOBNtSEt4d;M zTf`x}oDzW+;eTm*KWM!?igKazrSu|FG5MFOn1mWjXuf4sOwvU5ho(WH3BwF}KSC(4 z0*9PM`Dq$4PPU4ttW(;Uc|rM?s`s3XP{$Z|7zkO`l{;eRs6ygC_PgOY9I8b z;w60dAZw;dNlI!-?Spy?1Gb1I-C0$TfNAJI+62azF;i3Nr9dM7uRO3WDL9<0=gXL@ zkb4G%!IYZy6s7=MkRsUzD) zOEqB{pIW2kv$h%FY@#4veolqSG#>RPNd#FWgPN60B$ZOwZ7Oa2XlNI`l^R|~SrUnt z)Fs>1OB+9GimXYtUV<%*yjhx&mtfGC6>#oIxXj?f;xbE-X&&kW$jy6Ermk|iG{Jsy zy@=+?7}@I5=UWEBUe9Luq#acCEL>Tn&cC4rycU*9Y~MA_RUBorYeFUTT}uWv(3}XJ zPAMqfP}8P#jsJ0elNjAo#V2$eQMuh*-tt+!#1L*T)h&?{tBWL?0D&*VTX=P96DqKMFI)rqVr`o> zAVz2UC%wfiOW~XI>@pECyj+V~S;Hso zV+{BvDH^Aef3yQR{!CpRP%i}lzYRhwsR{SqRM7ZQJ7g>>d$0X*N z8dZu~K5IuMk`3ua%MF!&Hk34d(>8vZhjOxgd}>Q@{e{1^je(>IaW^-ikLg~nH`<;F=0DL++pC~~1;)F-19{9oLo7bY2` zADW0GCfapYQhhRyYZd5UG-Sa!u-_?FhSgqG6p665imVCR7DybVV5dG@$DnosuZF2{ zv8dsbwgVEsM*`oJY)ELpc>d){%!?2Xj{zurk;D_+0VAbY+cVd+F@uH5sJu;VTDukd zLTq!iFWRA3$YH;3+0Yn13#uP<#K#%9RL6O!!swLZme1<_8_tCR@pa`A6U8u^%!v zU8+z@O0x;0nZ>^in9I@#R@&yxST`wS_@pg0z<*9er9@U%g#V@O*=e?(oA+#(g8!@2 zHT=2}lu!j)kEDXy2YDxW^5`NGEQo~4!FTvSmAEbhYl=VxtqaYJf@Wubs5}oJOc;3{ zCZPXlau)oEuU8lrsb^4BSm}vWO8Kdh0!n41P_}knu~sLTsfz@f=UvmYom?YMqyK8a z0bQ(oiL-@p4_eN;L@B8LR*4mP6*CemO2Plt_G|2mOhI97zs5Dl-P20yUo?>j=cuL> z;AMnAHKyZ91x#ljhQM^{2MyGc#SFSvO!L-poKd01u>jQUz0h2z-Ts0ub>Nt zizti6a4(<^UE%7N(wXkm&Tgeugi7*Rw3wt=$?O|!YFGyTm!|Y!DZ<+)DnVK66Y?5A zYT(5)F?b0I8z5LC|JH>CT<+FxxzvaWLcogN}bSXT0Dy4JN zit1nFp@pzH=w%McEA&trqifilLY_K2Sc07w?8Q|{4;Qm(%t)p9A60Jn?P^8Ol3KZ| z75tw*i&rb`Bm~}~tmjz7>{=>d^QRWlzi1T4awK`a#?6GL@tK;zMbzKw=#hhd^XNem z{GWD$0^g8dE4$QUq#vo6{7aRkzR>6QRzonD1N}!8>%?a++UbzJW--2Cfs!LlpiiT; zmqyxSJys_kZD9q)sTwe_-0@6NlWT9$Y`u_5T0UzF%(7W!6I*j~D@NIbD99#BK8B-5 z)Tdp|tC_S9hCZVV{9F|nC|b%S|I%(HrBu;&ux}trxngA$auw#U+6h!qO?D0YjNGWq zY@%Y)rjqm!iT!bn9e_eL`(*;%xNUwdZRGDwRc*|mN(R`WI&uYUmJC=1{+D*fVky#Y zXRk>alT=#ysiGG20BSq|!UXgmO>Ti7sokh#pH}KHU@C3=sO>8#(+2$w>b0Rk;dG$< zRySpARA*Gb5PLiPk52sPvt18nwAK>}iGOSMibC2DZ6@gw`ETok9#f8~h|S=r%u{6)Ou9nPZ# zfHlFuUwb=DOX61(>VQjBTPl+#?#ay}f>Wh2rDyU_ortAmvIII2tGVB6J%ED*qev(Y1T`|B=zCeyJFbWtQAYa-e$}z2Y9Z~&x_>zVt5sax7K|N z@>zPN)L{Fr3yvfo)XQ9D$*MqCR%&+SdMuyyvxq>Z*0YF-l;IC6mMpV)8D%lp>96>x zszIe%g*Cz232X%^yPmGt3AGAqf~Hra8JVkblU_~AB>%DyEYwUeB@pNK;=Nk8$+1*s z`>yF<$PE^BYYs!gRMY_BKpwxpm`WQz>iZ$igkDvSh#g3kCTT(Sw`NsJ(rL&vB(0-} z!t5b*DcyZhHHC>XuKL9t8jdd#e2L@u+KZlAyMNty< z6I(G$`JkquZeFB4aWNPG8H$>|smkvKip_0Me!~RxA59g3A}taFTG~Sm1yOOihiW

    S#CQpv@PD2YHwT0 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

    aHWJLM!m06RhM8=qZz8eYT*ju1Irzf0~mOg%iKW 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�YsMYCEe&Xgodm_I-7b$~hPo#%$_$?hc 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'entity_type.manager')->getStorage('node_type')->create([ - 'type' => 'test_type_with_reference', - 'label' => 'Test Type With Reference', + $this->node = $this->container->get('entity_type.manager')->getStorage('node')->create([ + 'type' => 'test_type', + 'title' => 'Referencer', ]); - $test_type_with_reference->save(); - - // Add two entity reference fields. - // One for nodes and one for media. - $this->createEntityReferenceField('node', 'test_type_with_reference', 'field_media', 'Media Entity', 'media', 'default', [], 2); + $this->node->save(); - $this->referencer = $this->container->get('entity_type.manager')->getStorage('node')->create([ - 'type' => 'test_type_with_reference', - 'title' => 'Referencer', + $this->preservationMasterTerm = $this->container->get('entity_type.manager')->getStorage('taxonomy_term')->create([ + 'name' => 'Preservation Master', + 'vid' => $this->testVocabulary->id(), + 'field_external_uri' => [['uri' => "http://pcdm.org/use#PreservationMasterFile"]], ]); - $this->referencer->save(); + $this->preservationMasterTerm->save(); } /** - * @covers \Drupal\islandora\Controller\MediaSourceController::addToNode + * @covers \Drupal\islandora\Controller\MediaSourceController::putToNode */ public function testAddMediaToNode() { // Hack out the guzzle client. $client = $this->getSession()->getDriver()->getClient()->getClient(); $add_to_node_url = Url::fromRoute( - 'islandora.media_source_add_to_node', + 'islandora.media_source_put_to_node', [ - 'node' => $this->referencer->id(), - 'field' => 'field_media', - 'bundle' => 'tn', + 'node' => $this->node->id(), + 'media_type' => $this->testMediaType->id(), + 'taxonomy_term' => $this->preservationMasterTerm->id(), ] ) ->setAbsolute() ->toString(); $bad_node_url = Url::fromRoute( - 'islandora.media_source_add_to_node', + 'islandora.media_source_put_to_node', [ 'node' => 123456, - 'field' => 'field_media', - 'bundle' => 'tn', + 'media_type' => $this->testMediaType->id(), + 'taxonomy_term' => $this->preservationMasterTerm->id(), ] ) ->setAbsolute() ->toString(); - $image = file_get_contents(__DIR__ . '/../../static/test.jpeg'); + $file_contents = file_get_contents(__DIR__ . '/../../fixtures/test_file.txt'); // Test different permissions scenarios. $options = [ 'http_errors' => FALSE, 'headers' => [ - 'Content-Type' => 'image/jpeg', - 'Content-Disposition' => 'attachment; filename="test.jpeg"', + 'Content-Type' => 'text/plain', + 'Content-Disposition' => 'attachment; filename="test_file.txt"', ], - 'body' => $image, + 'body' => $file_contents, ]; // 403 if you don't have permissions to update the node. $account = $this->drupalCreateUser([ 'access content', - 'create media', ]); $this->drupalLogin($account); $options['auth'] = [$account->getUsername(), $account->pass_raw]; - $response = $client->request('POST', $add_to_node_url, $options); + $response = $client->request('PUT', $add_to_node_url, $options); $this->assertTrue($response->getStatusCode() == 403, "Expected 403, received {$response->getStatusCode()}"); // Bad node URL should return 404, regardless of permissions. // Just making sure our custom access function doesn't obfuscate responses. - $response = $client->request('POST', $bad_node_url, $options); + $response = $client->request('PUT', $bad_node_url, $options); $this->assertTrue($response->getStatusCode() == 404, "Expected 404, received {$response->getStatusCode()}"); // 403 if you don't have permissions to create Media. @@ -107,7 +109,7 @@ class AddMediaToNodeTest extends IslandoraFunctionalTestBase { ]); $this->drupalLogin($account); $options['auth'] = [$account->getUsername(), $account->pass_raw]; - $response = $client->request('POST', $add_to_node_url, $options); + $response = $client->request('PUT', $add_to_node_url, $options); $this->assertTrue($response->getStatusCode() == 403, "Expected 403, received {$response->getStatusCode()}"); // Now with proper credentials, test responses given to malformed requests. @@ -122,11 +124,11 @@ class AddMediaToNodeTest extends IslandoraFunctionalTestBase { 'auth' => [$account->getUsername(), $account->pass_raw], 'http_errors' => FALSE, 'headers' => [ - 'Content-Disposition' => 'attachment; filename="test.jpeg"', + 'Content-Disposition' => 'attachment; filename="test_file.txt"', ], - 'body' => $image, + 'body' => $file_contents, ]; - $response = $client->request('POST', $add_to_node_url, $options); + $response = $client->request('PUT', $add_to_node_url, $options); $this->assertTrue($response->getStatusCode() == 400, "Expected 400, received {$response->getStatusCode()}"); // Request without Content-Disposition header should fail with 400. @@ -134,11 +136,11 @@ class AddMediaToNodeTest extends IslandoraFunctionalTestBase { 'auth' => [$account->getUsername(), $account->pass_raw], 'http_errors' => FALSE, 'headers' => [ - 'Content-Type' => 'image/jpeg', + 'Content-Type' => 'text/plain', ], - 'body' => $image, + 'body' => $file_contents, ]; - $response = $client->request('POST', $add_to_node_url, $options); + $response = $client->request('PUT', $add_to_node_url, $options); $this->assertTrue($response->getStatusCode() == 400, "Expected 400, received {$response->getStatusCode()}"); // Request with malformed Content-Disposition header should fail with 400. @@ -146,12 +148,12 @@ class AddMediaToNodeTest extends IslandoraFunctionalTestBase { 'auth' => [$account->getUsername(), $account->pass_raw], 'http_errors' => FALSE, 'headers' => [ - 'Content-Type' => 'image/jpeg', - 'Content-Disposition' => 'garbage; filename="test.jpeg"', + 'Content-Type' => 'text/plain', + 'Content-Disposition' => 'garbage; filename="test_file.txt"', ], - 'body' => $image, + 'body' => $file_contents, ]; - $response = $client->request('POST', $add_to_node_url, $options); + $response = $client->request('PUT', $add_to_node_url, $options); $this->assertTrue($response->getStatusCode() == 400, "Expected 400, received {$response->getStatusCode()}"); // Request without body should fail with 400. @@ -159,11 +161,11 @@ class AddMediaToNodeTest extends IslandoraFunctionalTestBase { 'auth' => [$account->getUsername(), $account->pass_raw], 'http_errors' => FALSE, 'headers' => [ - 'Content-Type' => 'image/jpeg', - 'Content-Disposition' => 'attachment; filename="test.jpeg"', + 'Content-Type' => 'text/plain', + 'Content-Disposition' => 'attachment; filename="test_file.txt"', ], ]; - $response = $client->request('POST', $add_to_node_url, $options); + $response = $client->request('PUT', $add_to_node_url, $options); $this->assertTrue($response->getStatusCode() == 400, "Expected 400, received {$response->getStatusCode()}"); // Test properly formed requests with bad parameters in the route. @@ -171,53 +173,57 @@ class AddMediaToNodeTest extends IslandoraFunctionalTestBase { 'auth' => [$account->getUsername(), $account->pass_raw], 'http_errors' => FALSE, 'headers' => [ - 'Content-Type' => 'image/jpeg', - 'Content-Disposition' => 'attachment; filename="test.jpeg"', + 'Content-Type' => 'text/plain', + 'Content-Disposition' => 'attachment; filename="test_file.txt"', ], - 'body' => $image, + 'body' => $file_contents, ]; // Bad node id should return 404 even with proper permissions. - $response = $client->request('POST', $bad_node_url, $options); + $response = $client->request('PUT', $bad_node_url, $options); $this->assertTrue($response->getStatusCode() == 404, "Expected 404, received {$response->getStatusCode()}"); - // Bad field name in url should return 404. - $bad_field_url = Url::fromRoute( - 'islandora.media_source_add_to_node', + // Bad media type in url should return 404. + $bad_media_type_url = Url::fromRoute( + 'islandora.media_source_put_to_node', [ - 'node' => $this->referencer->id(), - 'field' => 'field_garbage', - 'bundle' => 'tn', + 'node' => $this->node->id(), + 'media_type' => 'derp', + 'taxonomy_term' => $this->preservationMasterTerm->id(), ] ) ->setAbsolute() ->toString(); - $response = $client->request('POST', $bad_field_url, $options); + $response = $client->request('PUT', $bad_media_type_url, $options); $this->assertTrue($response->getStatusCode() == 404, "Expected 404, received {$response->getStatusCode()}"); - // Bad bundle name in url should return 404. - $bad_bundle_url = Url::fromRoute( - 'islandora.media_source_add_to_node', + // Bad taxonomy term in url should return 404. + $bad_term_url = Url::fromRoute( + 'islandora.media_source_put_to_node', [ - 'node' => $this->referencer->id(), - 'field' => 'field_media', - 'bundle' => 'garbage', + 'node' => $this->node->id(), + 'media_type' => $this->testMediaType->id(), + 'taxonomy_term' => 123456, ] ) ->setAbsolute() ->toString(); - $response = $client->request('POST', $bad_bundle_url, $options); + $response = $client->request('PUT', $bad_term_url, $options); $this->assertTrue($response->getStatusCode() == 404, "Expected 404, received {$response->getStatusCode()}"); // Should be successful with proper url, options, and permissions. - $response = $client->request('POST', $add_to_node_url, $options); + $options = [ + 'auth' => [$account->getUsername(), $account->pass_raw], + 'http_errors' => FALSE, + 'headers' => [ + 'Content-Type' => 'text/plain', + 'Content-Disposition' => 'attachment; filename="test_file.txt"', + ], + 'body' => $file_contents, + ]; + $response = $client->request('PUT', $add_to_node_url, $options); $this->assertTrue($response->getStatusCode() == 201, "Expected 201, received {$response->getStatusCode()}"); $this->assertTrue(!empty($response->getHeader("Location")), "Response must include Location header"); - - // Should fail with 409 if Node already references a media using the field - // (i.e. the previous call was successful). - $response = $client->request('POST', $add_to_node_url, $options); - $this->assertTrue($response->getStatusCode() == 409, "Expected 409, received {$response->getStatusCode()}"); } } diff --git a/tests/src/Functional/DeleteMediaTest.php b/tests/src/Functional/DeleteMediaTest.php new file mode 100644 index 00000000..1a3673aa --- /dev/null +++ b/tests/src/Functional/DeleteMediaTest.php @@ -0,0 +1,88 @@ +createUser(['create media']); + + list($this->file, $this->media) = $this->makeMediaAndFile($account); + } + + /** + * Tests the delete_media action. + * + * @covers \Drupal\islandora\Plugin\Action\DeleteMedia::execute + */ + public function testDeleteMedia() { + $action = $this->container->get('entity_type.manager')->getStorage('action')->load('delete_media'); + + $mid = $this->media->id(); + $fid = $this->file->id(); + + $action->execute([$this->media]); + + // Attempt to reload the entities. + // Media should be gone but file should remain. + $this->assertTrue( + !$this->container->get('entity_type.manager')->getStorage('media')->load($mid), + "Media must be deleted after running action" + ); + $this->assertTrue( + $this->container->get('entity_type.manager')->getStorage('file')->load($fid), + "File must remain after running action" + ); + } + + /** + * Tests the delete_media_and_file action. + * + * @covers \Drupal\islandora\Plugin\Action\DeleteMediaAndFile::execute + */ + public function testDeleteMediaAndFile() { + $action = $this->container->get('entity_type.manager')->getStorage('action')->load('delete_media_and_file'); + + $mid = $this->media->id(); + $fid = $this->file->id(); + + $action->execute([$this->media]); + + // Attempt to reload the entities. + // Both media and file should be gone. + $this->assertTrue( + !$this->container->get('entity_type.manager')->getStorage('media')->load($mid), + "Media must be deleted after running action" + ); + $this->assertTrue( + !$this->container->get('entity_type.manager')->getStorage('file')->load($fid), + "File must be deleted after running action" + ); + } + +} diff --git a/tests/src/Functional/DerivativeReactionTest.php b/tests/src/Functional/DerivativeReactionTest.php new file mode 100644 index 00000000..38ec6ffa --- /dev/null +++ b/tests/src/Functional/DerivativeReactionTest.php @@ -0,0 +1,79 @@ +node = $this->container->get('entity_type.manager')->getStorage('node')->create([ + 'type' => 'test_type', + 'title' => 'Test Node', + ]); + $this->node->save(); + } + + /** + * @covers \Drupal\islandora\IslandoraUtils::executeDerivativeReactions + */ + public function testExecuteDerivativeReaction() { + // Create a test user. + $account = $this->drupalCreateUser([ + 'bypass node access', + 'administer contexts', + 'administer actions', + 'create media', + 'update media', + ]); + $this->drupalLogin($account); + + $this->createContext('Test', 'test'); + $this->addPresetReaction('test', 'derivative', 'hello_world'); + + // Create a new media. + $values = [ + 'name[0][value]' => 'Test Media', + 'files[field_media_file_0]' => __DIR__ . '/../../fixtures/test_file.txt', + 'field_media_of[0][target_id]' => 'Test Node', + ]; + $this->drupalPostForm('media/add/' . $this->testMediaType->id(), $values, t('Save')); + + // field_media_of is set and there's a file, so derivatives should fire. + $this->assertSession()->pageTextContains("Hello World!"); + + // Change media but not file, so derivatives should not fire. + $values = [ + 'name[0][value]' => 'Test Media Changed', + ]; + $this->postEntityEditForm($this->getUrl(), $values, 'Save'); + $media_url = $this->getUrl(); + $this->assertSession()->pageTextNotContains("Hello World!"); + + // Change the file, so derivatives should fire again. + $values = [ + 'files[field_media_file_0]' => __DIR__ . '/../../fixtures/test_file2.txt', + ]; + $this->drupalGet($media_url . '/edit'); + $this->getSession()->getPage()->pressButton(t('Remove')); + $this->getSession()->getPage()->fillField('files[field_media_file_0]', __DIR__ . '/../../fixtures/test_file2.txt'); + $this->getSession()->getPage()->pressButton(t('Save')); + $this->assertSession()->pageTextContains("Hello World!"); + } + +} diff --git a/tests/src/Functional/EmitNodeEventTest.php b/tests/src/Functional/EmitNodeEventTest.php index 06aef6c6..083c1ead 100644 --- a/tests/src/Functional/EmitNodeEventTest.php +++ b/tests/src/Functional/EmitNodeEventTest.php @@ -9,70 +9,13 @@ namespace Drupal\Tests\islandora\Functional; */ class EmitNodeEventTest extends IslandoraFunctionalTestBase { - /** - * {@inheritdoc} - */ - public function setUp() { - parent::setUp(); - - // Set up JWT stuff. - $key_value = <<container->get('entity_type.manager')->getStorage('key')->create([ - 'id' => 'test', - 'label' => 'Test', - 'key_type' => 'jwt_rs', - 'key_type_settings' => [ - 'algorithm' => 'RS256', - ], - 'key_provider' => 'config', - 'key_provider_settings' => [ - 'key_value' => $key_value, - ], - ]); - $key->save(); - - $jwt_config = $this->container->get('config.factory')->getEditable('jwt.config'); - $jwt_config->set('algorithm', 'RS256'); - $jwt_config->set('key_id', 'test'); - $jwt_config->save(TRUE); - } - /** * @covers \Drupal\islandora\ContextProvider\NodeContextProvider::__construct * @covers \Drupal\islandora\ContextProvider\NodeContextProvider::getRuntimeContexts * @covers \Drupal\islandora\EventGenerator\EmitEvent::buildConfigurationForm * @covers \Drupal\islandora\EventGenerator\EmitEvent::submitConfigurationForm * @covers \Drupal\islandora\EventGenerator\EmitEvent::execute - * @covers \Drupal\islandora\EventGenerator\EventGenerator::generateCreateEvent + * @covers \Drupal\islandora\EventGenerator\EventGenerator::generateEvent * @covers \Drupal\islandora\IslandoraContextManager::evaluateContexts * @covers \Drupal\islandora\IslandoraContextManager::applyContexts * @covers \Drupal\islandora\Plugin\Condition\IsNode::evaluate @@ -81,7 +24,7 @@ EOD; * @covers \Drupal\islandora\PresetReaction\PresetReaction::execute * @covers \Drupal\islandora\IslandoraServiceProvider::alter */ - public function testNodeCreateEvent() { + public function testEmitEvent() { // Create a test user. $account = $this->drupalCreateUser([ 'bypass node access', @@ -91,7 +34,7 @@ EOD; $this->drupalLogin($account); // Create an action to emit a node event. - $action_id = $this->createEmitAction('node', 'create'); + $action_id = $this->createEmitAction('node', 'Create'); // Create a context and add the action as an index reaction. $this->createContext('Test', 'test'); @@ -107,338 +50,6 @@ EOD; $this->verifyMessageIsSent($queue, 'Create'); } - /** - * @covers \Drupal\islandora\ContextProvider\MediaContextProvider::__construct - * @covers \Drupal\islandora\ContextProvider\MediaContextProvider::getRuntimeContexts - * @covers \Drupal\islandora\EventGenerator\EmitEvent::buildConfigurationForm - * @covers \Drupal\islandora\EventGenerator\EmitEvent::submitConfigurationForm - * @covers \Drupal\islandora\EventGenerator\EmitEvent::execute - * @covers \Drupal\islandora\EventGenerator\EventGenerator::generateCreateEvent - * @covers \Drupal\islandora\IslandoraContextManager::evaluateContexts - * @covers \Drupal\islandora\IslandoraContextManager::applyContexts - * @covers \Drupal\islandora\Plugin\Condition\IsMedia::evaluate - * @covers \Drupal\islandora\PresetReaction\PresetReaction::buildConfigurationForm - * @covers \Drupal\islandora\PresetReaction\PresetReaction::submitConfigurationForm - * @covers \Drupal\islandora\PresetReaction\PresetReaction::execute - * @covers \Drupal\islandora\IslandoraServiceProvider::alter - */ - public function testMediaCreateEvent() { - // Create a test user. - $account = $this->drupalCreateUser([ - 'administer contexts', - 'administer actions', - 'view media', - 'create media', - ]); - $this->drupalLogin($account); - - // Create an action to emit a media event. - $action_id = $this->createEmitAction('media', 'create'); - - // Create a context and add the action as an index reaction. - $this->createContext('Test', 'test'); - $this->addCondition('test', 'is_media'); - $this->addPresetReaction('test', 'index', $action_id); - $this->assertSession()->statusCodeEquals(200); - - // Create a new media, which publishes the create event. - $this->createThumbnailWithFile(); - - // Validate the message actually gets sent. - $queue = str_replace('_', '-', $action_id); - $this->verifyMessageIsSent($queue, 'Create'); - } - - /** - * @covers \Drupal\islandora\ContextProvider\FileContextProvider::__construct - * @covers \Drupal\islandora\ContextProvider\FileContextProvider::getRuntimeContexts - * @covers \Drupal\islandora\EventGenerator\EmitEvent::buildConfigurationForm - * @covers \Drupal\islandora\EventGenerator\EmitEvent::submitConfigurationForm - * @covers \Drupal\islandora\EventGenerator\EmitEvent::execute - * @covers \Drupal\islandora\EventGenerator\EventGenerator::generateCreateEvent - * @covers \Drupal\islandora\IslandoraContextManager::evaluateContexts - * @covers \Drupal\islandora\IslandoraContextManager::applyContexts - * @covers \Drupal\islandora\Plugin\Condition\IsFile::evaluate - * @covers \Drupal\islandora\PresetReaction\PresetReaction::buildConfigurationForm - * @covers \Drupal\islandora\PresetReaction\PresetReaction::submitConfigurationForm - * @covers \Drupal\islandora\PresetReaction\PresetReaction::execute - * @covers \Drupal\islandora\IslandoraServiceProvider::alter - */ - public function testFileCreateEvent() { - // Create a test user. - $account = $this->drupalCreateUser([ - 'administer contexts', - 'administer actions', - 'view media', - 'create media', - ]); - $this->drupalLogin($account); - - // Create an action to emit a media event. - $action_id = $this->createEmitAction('file', 'create'); - - // Create a context and add the action as an index reaction. - $this->createContext('Test', 'test'); - $this->addCondition('test', 'is_file'); - $this->addPresetReaction('test', 'index', $action_id); - $this->assertSession()->statusCodeEquals(200); - - // Create a new file, which publishes the create event. - $this->createThumbnailWithFile(); - - // Validate the message actually gets sent. - $queue = str_replace('_', '-', $action_id); - $this->verifyMessageIsSent($queue, 'Create'); - } - - /** - * @covers \Drupal\islandora\ContextProvider\NodeContextProvider::__construct - * @covers \Drupal\islandora\ContextProvider\NodeContextProvider::getRuntimeContexts - * @covers \Drupal\islandora\EventGenerator\EmitEvent::buildConfigurationForm - * @covers \Drupal\islandora\EventGenerator\EmitEvent::submitConfigurationForm - * @covers \Drupal\islandora\EventGenerator\EmitEvent::execute - * @covers \Drupal\islandora\EventGenerator\EventGenerator::generateUpdateEvent - * @covers \Drupal\islandora\IslandoraContextManager::evaluateContexts - * @covers \Drupal\islandora\IslandoraContextManager::applyContexts - * @covers \Drupal\islandora\Plugin\Condition\IsNode::evaluate - * @covers \Drupal\islandora\PresetReaction\PresetReaction::buildConfigurationForm - * @covers \Drupal\islandora\PresetReaction\PresetReaction::submitConfigurationForm - * @covers \Drupal\islandora\PresetReaction\PresetReaction::execute - * @covers \Drupal\islandora\IslandoraServiceProvider::alter - */ - public function testNodeUpdateEvent() { - // Create a test user. - $account = $this->drupalCreateUser([ - 'bypass node access', - 'administer contexts', - 'administer actions', - ]); - $this->drupalLogin($account); - - // Create an action to emit a node event. - $action_id = $this->createEmitAction('node', 'update'); - - // Create a context and add the action as an index reaction. - $this->createContext('Test', 'test'); - $this->addCondition('test', 'is_node'); - $this->addPresetReaction('test', 'index', $action_id); - $this->assertSession()->statusCodeEquals(200); - - // Create a new node, which publishes the update event. - $this->postNodeAddForm('test_type', ['title[0][value]' => 'Test Node'], 'Save'); - - $queue = str_replace('_', '-', $action_id); - $this->verifyMessageIsSent($queue, 'Update'); - } - - /** - * @covers \Drupal\islandora\ContextProvider\MediaContextProvider::__construct - * @covers \Drupal\islandora\ContextProvider\MediaContextProvider::getRuntimeContexts - * @covers \Drupal\islandora\EventGenerator\EmitEvent::buildConfigurationForm - * @covers \Drupal\islandora\EventGenerator\EmitEvent::submitConfigurationForm - * @covers \Drupal\islandora\EventGenerator\EmitEvent::execute - * @covers \Drupal\islandora\EventGenerator\EventGenerator::generateUpdateEvent - * @covers \Drupal\islandora\IslandoraContextManager::evaluateContexts - * @covers \Drupal\islandora\IslandoraContextManager::applyContexts - * @covers \Drupal\islandora\Plugin\Condition\IsMedia::evaluate - * @covers \Drupal\islandora\PresetReaction\PresetReaction::buildConfigurationForm - * @covers \Drupal\islandora\PresetReaction\PresetReaction::submitConfigurationForm - * @covers \Drupal\islandora\PresetReaction\PresetReaction::execute - * @covers \Drupal\islandora\IslandoraServiceProvider::alter - */ - public function testMediaUpdateEvent() { - // Create a test user. - $account = $this->drupalCreateUser([ - 'administer contexts', - 'administer actions', - 'view media', - 'create media', - ]); - $this->drupalLogin($account); - - // Create an action to emit a media event. - $action_id = $this->createEmitAction('media', 'update'); - - // Create a context and add the action as an index reaction. - $this->createContext('Test', 'test'); - $this->addCondition('test', 'is_media'); - $this->addPresetReaction('test', 'index', $action_id); - $this->assertSession()->statusCodeEquals(200); - - // Create a new media, which publishes the update event. - $this->createThumbnailWithFile(); - - // Validate the message actually gets sent. - $queue = str_replace('_', '-', $action_id); - $this->verifyMessageIsSent($queue, 'Update'); - } - - /** - * @covers \Drupal\islandora\ContextProvider\FileContextProvider::__construct - * @covers \Drupal\islandora\ContextProvider\FileContextProvider::getRuntimeContexts - * @covers \Drupal\islandora\EventGenerator\EmitEvent::buildConfigurationForm - * @covers \Drupal\islandora\EventGenerator\EmitEvent::submitConfigurationForm - * @covers \Drupal\islandora\EventGenerator\EmitEvent::execute - * @covers \Drupal\islandora\EventGenerator\EventGenerator::generateUpdateEvent - * @covers \Drupal\islandora\IslandoraContextManager::evaluateContexts - * @covers \Drupal\islandora\IslandoraContextManager::applyContexts - * @covers \Drupal\islandora\Plugin\Condition\IsFile::evaluate - * @covers \Drupal\islandora\PresetReaction\PresetReaction::buildConfigurationForm - * @covers \Drupal\islandora\PresetReaction\PresetReaction::submitConfigurationForm - * @covers \Drupal\islandora\PresetReaction\PresetReaction::execute - * @covers \Drupal\islandora\IslandoraServiceProvider::alter - */ - public function testFileUpdateEvent() { - // Create a test user. - $account = $this->drupalCreateUser([ - 'administer contexts', - 'administer actions', - 'view media', - 'create media', - ]); - $this->drupalLogin($account); - - // Create an action to emit a media event. - $action_id = $this->createEmitAction('file', 'update'); - - // Create a context and add the action as an index reaction. - $this->createContext('Test', 'test'); - $this->addCondition('test', 'is_file'); - $this->addPresetReaction('test', 'index', $action_id); - $this->assertSession()->statusCodeEquals(200); - - // Create a new file, which publishes the update event. - $this->createThumbnailWithFile(); - - // Validate the message actually gets sent. - $queue = str_replace('_', '-', $action_id); - $this->verifyMessageIsSent($queue, 'Update'); - } - - /** - * @covers \Drupal\islandora\ContextProvider\NodeContextProvider::__construct - * @covers \Drupal\islandora\ContextProvider\NodeContextProvider::getRuntimeContexts - * @covers \Drupal\islandora\EventGenerator\EmitEvent::buildConfigurationForm - * @covers \Drupal\islandora\EventGenerator\EmitEvent::submitConfigurationForm - * @covers \Drupal\islandora\EventGenerator\EmitEvent::execute - * @covers \Drupal\islandora\EventGenerator\EventGenerator::generateDeleteEvent - * @covers \Drupal\islandora\IslandoraContextManager::evaluateContexts - * @covers \Drupal\islandora\IslandoraContextManager::applyContexts - * @covers \Drupal\islandora\Plugin\Condition\IsNode::evaluate - * @covers \Drupal\islandora\PresetReaction\PresetReaction::buildConfigurationForm - * @covers \Drupal\islandora\PresetReaction\PresetReaction::submitConfigurationForm - * @covers \Drupal\islandora\PresetReaction\PresetReaction::execute - * @covers \Drupal\islandora\IslandoraServiceProvider::alter - */ - public function testNodeDeleteEvent() { - // Create a test user. - $account = $this->drupalCreateUser([ - 'bypass node access', - 'administer contexts', - 'administer actions', - ]); - $this->drupalLogin($account); - - // Create an action to emit a node event. - $action_id = $this->createEmitAction('node', 'delete'); - - // Create a context and add the action as an index reaction. - $this->createContext('Test', 'test'); - $this->addCondition('test', 'is_node'); - $this->addPresetReaction('test', 'index', $action_id); - $this->assertSession()->statusCodeEquals(200); - - // Create a new node, which publishes the delete event (lol). - $this->postNodeAddForm('test_type', ['title[0][value]' => 'Test Node'], 'Save'); - - $queue = str_replace('_', '-', $action_id); - $this->verifyMessageIsSent($queue, 'Delete'); - } - - /** - * @covers \Drupal\islandora\ContextProvider\MediaContextProvider::__construct - * @covers \Drupal\islandora\ContextProvider\MediaContextProvider::getRuntimeContexts - * @covers \Drupal\islandora\EventGenerator\EmitEvent::buildConfigurationForm - * @covers \Drupal\islandora\EventGenerator\EmitEvent::submitConfigurationForm - * @covers \Drupal\islandora\EventGenerator\EmitEvent::execute - * @covers \Drupal\islandora\EventGenerator\EventGenerator::generateDeleteEvent - * @covers \Drupal\islandora\IslandoraContextManager::evaluateContexts - * @covers \Drupal\islandora\IslandoraContextManager::applyContexts - * @covers \Drupal\islandora\Plugin\Condition\IsMedia::evaluate - * @covers \Drupal\islandora\PresetReaction\PresetReaction::buildConfigurationForm - * @covers \Drupal\islandora\PresetReaction\PresetReaction::submitConfigurationForm - * @covers \Drupal\islandora\PresetReaction\PresetReaction::execute - * @covers \Drupal\islandora\IslandoraServiceProvider::alter - */ - public function testMediaDeleteEvent() { - // Create a test user. - $account = $this->drupalCreateUser([ - 'administer contexts', - 'administer actions', - 'view media', - 'create media', - ]); - $this->drupalLogin($account); - - // Create an action to emit a media event. - $action_id = $this->createEmitAction('media', 'delete'); - - // Create a context and add the action as an index reaction. - $this->createContext('Test', 'test'); - $this->addCondition('test', 'is_media'); - $this->addPresetReaction('test', 'index', $action_id); - $this->assertSession()->statusCodeEquals(200); - - // Create a new media, which publishes the delete event. - $this->createThumbnailWithFile(); - - // Validate the message actually gets sent. - $queue = str_replace('_', '-', $action_id); - $this->verifyMessageIsSent($queue, 'Delete'); - } - - /** - * @covers \Drupal\islandora\ContextProvider\FileContextProvider::__construct - * @covers \Drupal\islandora\ContextProvider\FileContextProvider::getRuntimeContexts - * @covers \Drupal\islandora\EventGenerator\EmitEvent::buildConfigurationForm - * @covers \Drupal\islandora\EventGenerator\EmitEvent::submitConfigurationForm - * @covers \Drupal\islandora\EventGenerator\EmitEvent::execute - * @covers \Drupal\islandora\EventGenerator\EventGenerator::generateDeleteEvent - * @covers \Drupal\islandora\IslandoraContextManager::evaluateContexts - * @covers \Drupal\islandora\IslandoraContextManager::applyContexts - * @covers \Drupal\islandora\Plugin\Condition\IsFile::evaluate - * @covers \Drupal\islandora\PresetReaction\PresetReaction::buildConfigurationForm - * @covers \Drupal\islandora\PresetReaction\PresetReaction::submitConfigurationForm - * @covers \Drupal\islandora\PresetReaction\PresetReaction::execute - * @covers \Drupal\islandora\IslandoraServiceProvider::alter - */ - public function testFileDeleteEvent() { - // Create a test user. - $account = $this->drupalCreateUser([ - 'administer contexts', - 'administer actions', - 'view media', - 'create media', - ]); - $this->drupalLogin($account); - - // Create an action to emit a media event. - $action_id = $this->createEmitAction('file', 'delete'); - - // Create a context and add the action as an index reaction. - $this->createContext('Test', 'test'); - $this->addCondition('test', 'is_file'); - $this->addPresetReaction('test', 'index', $action_id); - $this->assertSession()->statusCodeEquals(200); - - // Create a new file, which publishes the delete event. - $this->createThumbnailWithFile(); - - // Validate the message actually gets sent. - $queue = str_replace('_', '-', $action_id); - $this->verifyMessageIsSent($queue, 'Delete'); - } - /** * Utility function to create an emit action. * @@ -449,14 +60,14 @@ EOD; */ protected function createEmitAction($entity_type, $event_type) { $this->drupalGet('admin/config/system/actions'); - $this->getSession()->getPage()->findById("edit-action")->selectOption("Emit a $entity_type event to a queue/topic..."); + $this->getSession()->getPage()->findById("edit-action")->selectOption("Emit a $entity_type event to a queue/topic"); $this->getSession()->getPage()->pressButton(t('Create')); $this->assertSession()->statusCodeEquals(200); - $action_id = "emit_" . $entity_type . "_" . $event_type; - $this->getSession()->getPage()->fillField('edit-label', "Emit $entity_type $event_type"); + $action_id = "emit_" . $entity_type . "_" . lcfirst($event_type); + $this->getSession()->getPage()->fillField('edit-label', "Emit $entity_type " . lcfirst($event_type)); $this->getSession()->getPage()->fillField('edit-id', $action_id); - $this->getSession()->getPage()->fillField('edit-queue', "emit-$entity_type-$event_type"); + $this->getSession()->getPage()->fillField('edit-queue', "emit-$entity_type-" . lcfirst($event_type)); $this->getSession()->getPage()->findById("edit-event")->selectOption($event_type); $this->getSession()->getPage()->pressButton(t('Save')); $this->assertSession()->statusCodeEquals(200); diff --git a/tests/src/Functional/FormDisplayAlterReactionTest.php b/tests/src/Functional/FormDisplayAlterReactionTest.php new file mode 100644 index 00000000..d5d41dea --- /dev/null +++ b/tests/src/Functional/FormDisplayAlterReactionTest.php @@ -0,0 +1,65 @@ +drupalCreateUser([ + 'bypass node access', + 'administer contexts', + 'administer actions', + 'view media', + 'create media', + 'update media', + ]); + $this->drupalLogin($account); + + // Create a new node referencing the media. + $this->postNodeAddForm( + 'test_type', + [ + 'title[0][value]' => 'Test Node', + ], + 'Save' + ); + + // Stash the node's url. + $url = $this->getUrl(); + + // Visit the edit url and make sure we're on the default form display + // (e.g. there's an autocomplete for the member of field); + $this->drupalGet($url . "/edit"); + $this->assertSession()->pageTextContains("Member Of"); + + // Create a context and set the form mode to alter to "secondary". + $this->createContext('Test', 'test'); + + $this->drupalGet("admin/structure/context/test/reaction/add/form_display_alter"); + $this->getSession()->getPage()->findById("edit-reactions-form-display-alter-mode")->selectOption('node.secondary'); + $this->getSession()->getPage()->pressButton(t('Save and continue')); + $this->assertSession()->statusCodeEquals(200); + + drupal_flush_all_caches(); + + // Re-visit the node and make sure we're in secondar mode (e.g. the media + // field is not displayed). + $this->drupalGet($url . "/edit"); + $this->assertSession()->pageTextNotContains("Member Of"); + + } + +} + diff --git a/tests/src/Functional/IsFileTest.php b/tests/src/Functional/IsFileTest.php index df8997e3..b5e7277c 100644 --- a/tests/src/Functional/IsFileTest.php +++ b/tests/src/Functional/IsFileTest.php @@ -37,9 +37,14 @@ class IsFileTest extends IslandoraFunctionalTestBase { $this->addCondition('test', 'is_file'); $this->addPresetReaction('test', 'index', 'hello_world'); - // Add a new Thumbnail media and confirm Hello World! is printed to the + // Add a new media and confirm Hello World! is printed to the // screen for the file upload. - $this->createThumbnailWithFile(); + $file = current($this->getTestFiles('file')); + $values = [ + 'name[0][value]' => 'Test Media', + 'files[field_media_file_0]' => __DIR__ . '/../../fixtures/test_file.txt', + ]; + $this->drupalPostForm('media/add/' . $this->testMediaType->id(), $values, t('Save')); $this->assertSession()->pageTextContains("Hello World!"); // Stash the media's url. @@ -49,7 +54,7 @@ class IsFileTest extends IslandoraFunctionalTestBase { $values = [ 'name[0][value]' => 'Test Media Changed', ]; - $this->postEntityEditForm($url, $values, 'Save and keep published'); + $this->postEntityEditForm($url, $values, 'Save'); // Confirm Hello World! is not printed to the screen. $this->assertSession()->pageTextNotContains("Hello World!"); diff --git a/tests/src/Functional/IsMediaTest.php b/tests/src/Functional/IsMediaTest.php index 967b9460..1e6929e9 100644 --- a/tests/src/Functional/IsMediaTest.php +++ b/tests/src/Functional/IsMediaTest.php @@ -37,9 +37,13 @@ class IsMediaTest extends IslandoraFunctionalTestBase { $this->addCondition('test', 'is_media'); $this->addPresetReaction('test', 'index', 'hello_world'); - // Add a new Thumbnail media and confirm Hello World! is printed to the + // Add a new media and confirm Hello World! is printed to the // screen. - $this->createThumbnailWithFile(); + $values = [ + 'name[0][value]' => 'Test Media', + 'files[field_media_file_0]' => __DIR__ . '/../../fixtures/test_file.txt', + ]; + $this->drupalPostForm('media/add/' . $this->testMediaType->id(), $values, t('Save')); $this->assertSession()->pageTextContains("Hello World!"); // Create a new node. diff --git a/tests/src/Functional/IsNodeTest.php b/tests/src/Functional/IsNodeTest.php index 1c4b7c14..198db1db 100644 --- a/tests/src/Functional/IsNodeTest.php +++ b/tests/src/Functional/IsNodeTest.php @@ -41,9 +41,14 @@ class IsNodeTest extends IslandoraFunctionalTestBase { $this->postNodeAddForm('test_type', ['title[0][value]' => 'Test Node'], 'Save'); $this->assertSession()->pageTextContains("Hello World!"); - // Add a new Thumbnail media and confirm Hello World! is not printed to the + // Add a new media and confirm Hello World! is not printed to the // screen. - $this->createThumbnailWithFile(); + $file = current($this->getTestFiles('file')); + $values = [ + 'name[0][value]' => 'Test Media', + 'files[field_media_file_0]' => __DIR__ . '/../../fixtures/test_file.txt', + ]; + $this->drupalPostForm('media/add/' . $this->testMediaType->id(), $values, t('Save')); $this->assertSession()->pageTextNotContains("Hello World!"); } diff --git a/tests/src/Functional/IsReferencedMediaTest.php b/tests/src/Functional/IsReferencedMediaTest.php deleted file mode 100644 index 84fbfc30..00000000 --- a/tests/src/Functional/IsReferencedMediaTest.php +++ /dev/null @@ -1,144 +0,0 @@ -container->get('entity_type.manager')->getStorage('node_type')->create([ - 'type' => 'test_type_with_reference', - 'label' => 'Test Type With Reference', - ]); - $test_type_with_reference->save(); - $this->createEntityReferenceField('node', 'test_type_with_reference', 'field_media', 'Media Entity', 'media', 'default', [], 2); - - $another_test_type_with_reference = $this->container->get('entity_type.manager')->getStorage('node_type')->create([ - 'type' => 'another_test_type_with_reference', - 'label' => 'Another Test Type With Reference', - ]); - $another_test_type_with_reference->save(); - $this->createEntityReferenceField('node', 'another_test_type_with_reference', 'field_media', 'Media Entity', 'media', 'default', [], 2); - - // Create the media. - $media_bundle = $this->drupalCreateMediaBundle(); - $this->referenced = $this->container->get('entity_type.manager')->getStorage('media')->create([ - 'bundle' => $media_bundle->id(), - 'name' => 'Referenced Media', - ]); - $this->referenced->save(); - - $this->notReferenced = $this->container->get('entity_type.manager')->getStorage('media')->create([ - 'bundle' => $media_bundle->id(), - 'name' => 'Unreferenced Media', - ]); - $this->notReferenced->save(); - - $this->referencedByAnother = $this->container->get('entity_type.manager')->getStorage('media')->create([ - 'bundle' => $media_bundle->id(), - 'name' => 'Referenced By Another', - ]); - $this->referencedByAnother->save(); - - // Reference one by a node of the type we're expecting. - $node = $this->container->get('entity_type.manager')->getStorage('node')->create([ - 'type' => 'test_type_with_reference', - 'title' => 'Referencer', - 'field_media' => [$this->referenced->id()], - ]); - $node->save(); - - // Reference one by a node of the type we're not expecting. - $another_node = $this->container->get('entity_type.manager')->getStorage('node')->create([ - 'type' => 'another_test_type_with_reference', - 'title' => 'Another Referencer', - 'field_media' => [$this->referencedByAnother->id()], - ]); - $node->save(); - } - - /** - * @covers \Drupal\islandora\ContextProvider\MediaContextProvider::__construct - * @covers \Drupal\islandora\ContextProvider\MediaContextProvider::getRuntimeContexts - * @covers \Drupal\islandora\IslandoraContextManager::evaluateContexts - * @covers \Drupal\islandora\IslandoraContextManager::applyContexts - * @covers \Drupal\islandora\Plugin\Condition\IsReferencedMedia::buildConfigurationForm - * @covers \Drupal\islandora\Plugin\Condition\IsReferencedMedia::submitConfigurationForm - * @covers \Drupal\islandora\Plugin\Condition\IsReferencedMedia::evaluate - * @covers \Drupal\islandora\PresetReaction\PresetReaction::buildConfigurationForm - * @covers \Drupal\islandora\PresetReaction\PresetReaction::submitConfigurationForm - * @covers \Drupal\islandora\PresetReaction\PresetReaction::execute - * @covers \Drupal\islandora\IslandoraServiceProvider::alter - */ - public function testIsReferencedMedia() { - // Create a test user. - $account = $this->drupalCreateUser([ - 'administer contexts', - 'view media', - 'update any media', - ]); - $this->drupalLogin($account); - - $this->createContext('Test', 'test'); - - // Add the condition. - $this->drupalGet("admin/structure/context/test/condition/add/is_referenced_media"); - $this->getSession()->getPage()->findById("edit-conditions-is-referenced-media-field")->selectOption('test_type_with_reference|field_media'); - $this->getSession()->getPage()->pressButton('Save and continue'); - - // Add the reaction to say "Hello World!". - $this->addPresetReaction('test', 'index', 'hello_world'); - - // Edit the referenced node. "Hello World!" should be output to the screen. - $this->postEntityEditForm("media/{$this->referenced->id()}", ['name[0][value]' => 'Referenced Media Changed'], 'Save and keep published'); - $this->assertSession()->pageTextContains("Hello World!"); - - // Edit the unreferenced node. "Hello World!" should not be output to the - // screen. - $this->postEntityEditForm("media/{$this->notReferenced->id()}", ['name[0][value]' => 'Unreferenced Media Changed'], 'Save and keep published'); - $this->assertSession()->pageTextNotContains("Hello World!"); - - // Edit the node referenced by a different type. "Hello World!" should not - // be output to the screen. - $this->postEntityEditForm("media/{$this->referencedByAnother->id()}", ['name[0][value]' => 'Referenced By Another Changed'], 'Save and keep published'); - $this->assertSession()->pageTextNotContains("Hello World!"); - } - -} diff --git a/tests/src/Functional/IsTermTest.php b/tests/src/Functional/IsTermTest.php new file mode 100644 index 00000000..bb328ba7 --- /dev/null +++ b/tests/src/Functional/IsTermTest.php @@ -0,0 +1,51 @@ +drupalCreateUser([ + 'bypass node access', + 'administer contexts', + 'administer taxonomy', + ]); + $this->drupalLogin($account); + + $this->createContext('Test', 'test'); + $this->addCondition('test', 'is_term'); + $this->addPresetReaction('test', 'index', 'hello_world'); + + // Create a new term and confirm Hello World! is printed to the screen. + $this->drupalPostForm( + 'admin/structure/taxonomy/manage/' . $this->testVocabulary->id() . '/add', + ['name[0][value]' => 'Test Term'], + t('Save') + ); + $this->assertSession()->pageTextContains("Hello World!"); + + // Create a new node and confirm Hello World! is not printed to the screen. + $this->postNodeAddForm('test_type', ['title[0][value]' => 'Test Node'], 'Save'); + $this->assertSession()->pageTextNotContains("Hello World!"); + } + +} diff --git a/tests/src/Functional/IslandoraFunctionalTestBase.php b/tests/src/Functional/IslandoraFunctionalTestBase.php index f347287a..b9f99dd0 100644 --- a/tests/src/Functional/IslandoraFunctionalTestBase.php +++ b/tests/src/Functional/IslandoraFunctionalTestBase.php @@ -2,19 +2,23 @@ namespace Drupal\Tests\islandora\Functional; +use Drupal\Core\Config\FileStorage; use Drupal\Core\Entity\EntityInterface; -use Drupal\Core\Url; -use Drupal\rest\Entity\RestResourceConfig; -use Drupal\rest\RestResourceConfigInterface; +use Drupal\Core\Session\AccountInterface; +use Drupal\field\Tests\EntityReference\EntityReferenceTestTrait; +use Drupal\link\LinkItemInterface; use Drupal\Tests\BrowserTestBase; use Drupal\Tests\TestFileCreationTrait; +use Drupal\Tests\media\Functional\MediaFunctionalTestCreateMediaTypeTrait; /** * Base class for Functional tests. */ class IslandoraFunctionalTestBase extends BrowserTestBase { + use EntityReferenceTestTrait; use TestFileCreationTrait; + use MediaFunctionalTestCreateMediaTypeTrait; protected static $modules = ['context_ui', 'islandora']; @@ -27,164 +31,72 @@ class IslandoraFunctionalTestBase extends BrowserTestBase { 'key.key.test', ]; + protected $testType; + + protected $testMediaType; + + protected $testVocabulary; + /** * {@inheritdoc} */ public function setUp() { parent::setUp(); - // Delete the context entities provided by the module. - // This will get removed as we split apart contexts into different - // solution packs. - $this->container->get('entity_type.manager')->getStorage('context')->load('node')->delete(); - $this->container->get('entity_type.manager')->getStorage('context')->load('media')->delete(); - $this->container->get('entity_type.manager')->getStorage('context')->load('file')->delete(); - - // Set up basic REST config. // Delete the node rest config that's bootstrapped with Drupal. $this->container->get('entity_type.manager')->getStorage('rest_resource_config')->load('entity.node')->delete(); - // Create our own for Nodes, Media, and Files. - $this->container->get('entity_type.manager')->getStorage('rest_resource_config')->create([ - 'id' => 'entity.node', - 'granularity' => RestResourceConfigInterface::METHOD_GRANULARITY, - 'configuration' => [ - 'GET' => [ - 'supported_auth' => [ - 'cookie', - 'basic_auth', - 'jwt_auth', - ], - 'supported_formats' => [ - 'json', - 'jsonld', - ], - ], - 'POST' => [ - 'supported_auth' => [ - 'basic_auth', - 'jwt_auth', - ], - 'supported_formats' => [ - 'json', - ], - ], - 'DELETE' => [ - 'supported_auth' => [ - 'basic_auth', - 'jwt_auth', - ], - 'supported_formats' => [ - 'json', - ], - ], - 'PATCH' => [ - 'supported_auth' => [ - 'basic_auth', - 'jwt_auth', - ], - 'supported_formats' => [ - 'json', - ], - ], - ], - ])->save(); - $this->container->get('entity_type.manager')->getStorage('rest_resource_config')->create([ - 'id' => 'entity.media', - 'granularity' => RestResourceConfigInterface::METHOD_GRANULARITY, - 'configuration' => [ - 'GET' => [ - 'supported_auth' => [ - 'cookie', - 'basic_auth', - 'jwt_auth', - ], - 'supported_formats' => [ - 'json', - 'jsonld', - ], - ], - 'POST' => [ - 'supported_auth' => [ - 'basic_auth', - 'jwt_auth', - ], - 'supported_formats' => [ - 'json', - ], - ], - 'DELETE' => [ - 'supported_auth' => [ - 'basic_auth', - 'jwt_auth', - ], - 'supported_formats' => [ - 'json', - ], - ], - 'PATCH' => [ - 'supported_auth' => [ - 'basic_auth', - 'jwt_auth', - ], - 'supported_formats' => [ - 'json', - ], - ], + // Set up JWT stuff. + $key_value = <<container->get('entity_type.manager')->getStorage('key')->create([ + 'id' => 'test', + 'label' => 'Test', + 'key_type' => 'jwt_rs', + 'key_type_settings' => [ + 'algorithm' => 'RS256', ], - ])->save(); - RestResourceConfig::create([ - 'id' => 'entity.file', - 'granularity' => RestResourceConfigInterface::METHOD_GRANULARITY, - 'configuration' => [ - 'GET' => [ - 'supported_auth' => [ - 'cookie', - 'basic_auth', - 'jwt_auth', - ], - 'supported_formats' => [ - 'json', - 'jsonld', - ], - ], - 'POST' => [ - 'supported_auth' => [ - 'basic_auth', - 'jwt_auth', - ], - 'supported_formats' => [ - 'json', - ], - ], - 'DELETE' => [ - 'supported_auth' => [ - 'basic_auth', - 'jwt_auth', - ], - 'supported_formats' => [ - 'json', - ], - ], - 'PATCH' => [ - 'supported_auth' => [ - 'basic_auth', - 'jwt_auth', - ], - 'supported_formats' => [ - 'json', - ], - ], + 'key_provider' => 'config', + 'key_provider_settings' => [ + 'key_value' => $key_value, ], - ])->save(); - - // Create a test content type. - $test_type = $this->container->get('entity_type.manager')->getStorage('node_type')->create([ - 'type' => 'test_type', - 'label' => 'Test Type', ]); - $test_type->save(); + $key->save(); + $jwt_config = $this->container->get('config.factory')->getEditable('jwt.config'); + $jwt_config->set('algorithm', 'RS256'); + $jwt_config->set('key_id', 'test'); + $jwt_config->save(TRUE); + + // Make some bundles and field by hand so hooks fire. // Create an action that dsm's "Hello World!". $hello_world = $this->container->get('entity_type.manager')->getStorage('action')->create([ 'id' => 'hello_world', @@ -197,6 +109,55 @@ class IslandoraFunctionalTestBase extends BrowserTestBase { ]); $hello_world->save(); + // Create a vocabulary. + $this->testVocabulary = $this->container->get('entity_type.manager')->getStorage('taxonomy_vocabulary')->create([ + 'name' => 'Test Vocabulary', + 'vid' => 'test_vocabulary', + ]); + $this->testVocabulary->save(); + + // Create an external_uri field for taxonomy terms. + $fieldStorage = $this->container->get('entity_type.manager')->getStorage('field_storage_config')->create([ + 'field_name' => 'field_external_uri', + 'entity_type' => 'taxonomy_term', + 'type' => 'link', + ]); + $fieldStorage->save(); + $field = $this->container->get('entity_type.manager')->getStorage('field_config')->create([ + 'field_storage' => $fieldStorage, + 'bundle' => $this->testVocabulary->id(), + 'settings' => [ + 'title' => 'External URI', + 'link_type' => LinkItemInterface::LINK_EXTERNAL, + ], + ]); + $field->save(); + + // Create a test content type. + $this->testType = $this->container->get('entity_type.manager')->getStorage('node_type')->create([ + 'type' => 'test_type', + 'name' => 'Test Type', + ]); + $this->testType->save(); + $this->createEntityReferenceField('node', 'test_type', 'field_member_of', 'Member Of', 'node', 'default', [], 2); + $this->createEntityReferenceField('node', 'test_type', 'field_tags', 'Tags', 'taxonomy_term', 'default', [], 2); + + // Create a media type. + $this->testMediaType = $this->createMediaType(['bundle' => 'test_media_type'], 'file'); + $this->testMediaType->save(); + $this->createEntityReferenceField('media', $this->testMediaType->id(), 'field_media_of', 'Media Of', 'node', 'default', [], 2); + $this->createEntityReferenceField('media', $this->testMediaType->id(), 'field_tags', 'Tags', 'taxonomy_term', 'default', [], 2); + + // Copy over the rest of the config from yml files. + $source = new FileStorage(__DIR__ . '/../../fixtures/config'); + $destination = $this->container->get('config.storage'); + + foreach ($source->listAll() as $name) { + $destination->write($name, $source->read($name)); + } + + // Cache clear / rebuild. + drupal_flush_all_caches(); $this->container->get('router.builder')->rebuild(); } @@ -227,39 +188,6 @@ class IslandoraFunctionalTestBase extends BrowserTestBase { $this->assertSession()->statusCodeEquals(200); } - /** - * Creates a new TN media with a file. - */ - protected function createThumbnailWithFile() { - // Have to do this in two steps since there's no ajax for the alt text. - // It's as annoying as in real life. - $file = current($this->getTestFiles('image')); - $values = [ - 'name[0][value]' => 'Test Media', - 'files[field_image_0]' => \Drupal::service('file_system')->realpath($file->uri), - ]; - $this->drupalPostForm('media/add/tn', $values, t('Save and publish')); - $values = [ - 'field_image[0][alt]' => 'Alternate text', - ]; - $this->getSession()->getPage()->fillField('edit-field-image-0-alt', 'alt text'); - $this->getSession()->getPage()->pressButton(t('Save and publish')); - $this->assertSession()->statusCodeEquals(200); - $results = $this->container->get('entity_type.manager')->getStorage('file')->loadByProperties(['filename' => $file->filename]); - $file_entity = reset($results); - $file_url = $file_entity->url('canonical', ['absolute' => TRUE]); - $rest_url = Url::fromRoute('islandora.media_source_update', ['media' => $file_entity->id()]) - ->setAbsolute() - ->toString(); - return [ - 'media' => $this->getUrl(), - 'file' => [ - 'file' => $file_url, - 'rest' => $rest_url, - ], - ]; - } - /** * Create a new node by posting its add form. */ @@ -288,6 +216,10 @@ class IslandoraFunctionalTestBase extends BrowserTestBase { protected function doesNotHaveLinkHeader($rel) { $headers = $this->getSession()->getResponseHeaders(); + if (!isset($headers['Link'])) { + return TRUE; + } + foreach ($headers['Link'] as $link_header) { if (strpos($link_header, "rel=\"$rel\"") !== FALSE) { return FALSE; @@ -361,4 +293,33 @@ class IslandoraFunctionalTestBase extends BrowserTestBase { return $count; } + /** + * Utility function to make a media and an associated file. + */ + protected function makeMediaAndFile(AccountInterface $account) { + // Make a file for the Media. + $file = $this->container->get('entity_type.manager')->getStorage('file')->create([ + 'uid' => $account->id(), + 'uri' => "public://test_file.txt", + 'filename' => "test_file.txt", + 'filemime' => "text/plain", + 'status' => FILE_STATUS_PERMANENT, + ]); + $file->save(); + + // Get the source field for the media. + $type_configuration = $this->testMediaType->get('source_configuration'); + $source_field = $type_configuration['source_field']; + + // Make the media for the referencer. + $media = $this->container->get('entity_type.manager')->getStorage('media')->create([ + 'bundle' => $this->testMediaType->id(), + 'name' => 'Media', + "$source_field" => [$file->id()], + ]); + $media->save(); + + return [$file, $media]; + } + } diff --git a/tests/src/Functional/LinkHeaderTest.php b/tests/src/Functional/LinkHeaderTest.php new file mode 100644 index 00000000..9f7f8328 --- /dev/null +++ b/tests/src/Functional/LinkHeaderTest.php @@ -0,0 +1,237 @@ +drupalCreateUser(); + $this->drupalLogin($account); + + // 'Image' tag. + $this->imageTerm = $this->container->get('entity_type.manager')->getStorage('taxonomy_term')->create([ + 'name' => 'Image', + 'vid' => $this->testVocabulary->id(), + 'field_external_uri' => [['uri' => "http://purl.org/coar/resource_type/c_c513"]], + ]); + $this->imageTerm->save(); + + // 'Preservation Master' tag. + $this->preservationMasterTerm = $this->container->get('entity_type.manager')->getStorage('taxonomy_term')->create([ + 'name' => 'Preservation Master', + 'vid' => $this->testVocabulary->id(), + 'field_external_uri' => [['uri' => "http://pcdm.org/use#PreservationMasterFile"]], + ]); + $this->preservationMasterTerm->save(); + + // Node to be referenced via member of. + $this->referenced = $this->container->get('entity_type.manager')->getStorage('node')->create([ + 'type' => $this->testType->id(), + 'title' => 'Referenced', + ]); + $this->referenced->save(); + + // Node that is member of something, with an Image tag. + $this->referencer = $this->container->get('entity_type.manager')->getStorage('node')->create([ + 'type' => $this->testType->id(), + 'title' => 'Referencer', + 'field_member_of' => [$this->referenced->id()], + 'field_tags' => [$this->imageTerm->id()], + ]); + $this->referencer->save(); + + list($this->file, $this->media) = $this->makeMediaAndFile($account); + $this->media->set('field_media_of', $this->referencer); + $this->media->set('field_tags', $this->preservationMasterTerm); + $this->media->save(); + } + + /** + * @covers \Drupal\islandora\EventSubscriber\NodeLinkHeaderSubscriber::onResponse + */ + public function testNodeLinkHeaders() { + // Visit the referenced node, there should not be a related header since + // its entity reference field is empty. + $this->drupalGet('node/' . $this->referenced->id()); + $this->assertTrue( + $this->doesNotHaveLinkHeader('related'), + "Node that has empty entity reference field must not return link header." + ); + + // Visit the referencer. It should return a rel="related" link header + // for referenced node and the referencing media, plus one for the tag. + $this->drupalGet('node/' . $this->referencer->id()); + $this->assertTrue( + $this->validateLinkHeaderWithEntity('related', $this->referenced, 'Member Of') == 1, + "Malformed related node link header" + ); + $this->assertTrue( + $this->validateLinkHeaderWithEntity('related', $this->media, $this->preservationMasterTerm->label()) == 1, + "Malformed related media link header" + ); + $this->assertTrue( + $this->validateLinkHeaderWithUrl('tag', $this->imageTerm->get('field_external_uri')->first()->getValue()['uri'], $this->imageTerm->label()) == 1, + "Malformed tag link header" + ); + + // Check for links to REST endpoints for metadata. + $entity_url = $this->referencer->toUrl('canonical', ['absolute' => TRUE]) + ->toString(); + $this->assertTrue( + $this->validateLinkHeaderWithUrl('alternate', "$entity_url?_format=json", NULL, 'application/json') == 1, + "Node must have link header pointing to json REST endpoint." + ); + $this->assertTrue( + $this->validateLinkHeaderWithUrl('alternate', "$entity_url?_format=jsonld", NULL, 'application/ld+json') == 1, + "Node must have link header pointing to jsonld REST endpoint." + ); + $this->assertTrue( + $this->validateLinkHeaderWithUrl('alternate', "$entity_url?_format=xml", NULL, 'application/xml') == 0, + "Node must not have link header pointing to disabled xml REST endpoint." + ); + + // Check that the current representation is not advertised when visitng + // a REST endpoint (e.g. the json link header doesn't appear when you're + // visiting the ?_format=json endpoint). + $this->drupalGet('node/' . $this->referencer->id(), ['query' => ['_format' => 'json']]); + $this->assertTrue( + $this->validateLinkHeaderWithUrl('alternate', "$entity_url?_format=json", NULL, 'application/json') == 0, + "Node must not have link header pointing to json REST endpoint when vising the json REST endpoint." + ); + $this->assertTrue( + $this->validateLinkHeaderWithUrl('alternate', "$entity_url?_format=jsonld", NULL, 'application/ld+json') == 1, + "Node must have link header pointing to jsonld REST endpoint when visiting the json REST endpoint." + ); + } + + /** + * @covers \Drupal\islandora\EventSubscriber\MediaLinkHeaderSubscriber + */ + public function testMediaLinkHeaders() { + + // Get the file to check its url in the response headers. + $file_url = $this->file->url('canonical', ['absolute' => TRUE]); + $rest_url = Url::fromRoute('islandora.media_source_update', ['media' => $this->media->id()]) + ->setAbsolute() + ->toString(); + $media_url = $this->media->url('canonical', ['absolute' => TRUE]); + + // Perform a GET request as anonymous. + $this->drupalGet($media_url, [], ['Cache-Control: no-cache']); + + // Check link headers. + $this->assertTrue( + $this->validateLinkHeaderWithUrl('describes', $file_url, '', 'text/plain') == 1, + "Malformed 'describes' link header, expecting $file_url" + ); + $this->assertTrue( + $this->validateLinkHeaderWithUrl('edit-media', $rest_url, '', '') == 0, + "Anonymous should not be able to see the edit-media link" + ); + $this->assertTrue( + $this->validateLinkHeaderWithUrl('tag', $this->preservationMasterTerm->get('field_external_uri')->first()->getValue()['uri'], $this->preservationMasterTerm->label()) == 1, + "Malformed tag link header" + ); + $this->assertTrue( + $this->validateLinkHeaderWithUrl('alternate', $media_url . "?_format=json", NULL, 'application/json') == 1, + "Media must have link header pointing to json REST endpoint." + ); + $this->assertTrue( + $this->validateLinkHeaderWithUrl('alternate', $media_url . "?_format=jsonld", NULL, 'application/ld+json') == 1, + "Media must have link header pointing to jsonld REST endpoint." + ); + $this->assertTrue( + $this->validateLinkHeaderWithUrl('alternate', $media_url . "?_format=xml", NULL, 'application/xml') == 0, + "Media must not have link header pointing to disabled xml REST endpoint." + ); + + // Create a test user with edit media permissions. + $account = $this->drupalCreateUser(['update media']); + $this->drupalLogin($account); + + // Perform a GET request with update media permissions. + $this->drupalGet($media_url, [], ['Cache-Control: no-cache']); + + // Check link headers again, the edit-media link header should be present. + $this->assertTrue( + $this->validateLinkHeaderWithUrl('describes', $file_url, '', 'text/plain') == 1, + "Malformed 'describes' link header, expecting $file_url" + ); + $this->assertTrue( + $this->validateLinkHeaderWithUrl('edit-media', $rest_url, '', '') == 1, + "Malformed 'edit-media' link, expecting $rest_url" + ); + $this->assertTrue( + $this->validateLinkHeaderWithUrl('tag', $this->preservationMasterTerm->get('field_external_uri')->first()->getValue()['uri'], $this->preservationMasterTerm->label()) == 1, + "Malformed tag link header" + ); + $this->assertTrue( + $this->validateLinkHeaderWithUrl('alternate', $media_url . "?_format=json", NULL, 'application/json') == 1, + "Media must have link header pointing to json REST endpoint." + ); + $this->assertTrue( + $this->validateLinkHeaderWithUrl('alternate', $media_url . "?_format=jsonld", NULL, 'application/ld+json') == 1, + "Media must have link header pointing to jsonld REST endpoint." + ); + $this->assertTrue( + $this->validateLinkHeaderWithUrl('alternate', $media_url . "?_format=xml", NULL, 'application/xml') == 0, + "Media must not have link header pointing to disabled xml REST endpoint." + ); + } + +} diff --git a/tests/src/Functional/MediaLinkHeaderTest.php b/tests/src/Functional/MediaLinkHeaderTest.php deleted file mode 100644 index 232dc117..00000000 --- a/tests/src/Functional/MediaLinkHeaderTest.php +++ /dev/null @@ -1,53 +0,0 @@ -drupalCreateUser([ - 'view media', - 'create media', - 'update media', - ]); - $this->drupalLogin($account); - - $urls = $this->createThumbnailWithFile(); - - $this->drupalGet($urls['media'], [], ['Cache-Control: no-cache']); - - $this->assertTrue( - $this->validateLinkHeaderWithUrl('describes', $urls['file']['file'], '', 'image/png') == 1, - "Malformed 'describes' link header" - ); - $this->assertTrue( - $this->validateLinkHeaderWithUrl('edit-media', $urls['file']['rest'], '', '') == 1, - "Malformed 'edit-media' link header" - ); - - // Check for links to REST endpoints for metadata. - $this->assertTrue( - $this->validateLinkHeaderWithUrl('alternate', $urls['media'] . "?_format=json", NULL, 'application/json') == 1, - "Media must have link header pointing to json REST endpoint." - ); - $this->assertTrue( - $this->validateLinkHeaderWithUrl('alternate', $urls['media'] . "?_format=jsonld", NULL, 'application/ld+json') == 1, - "Media must have link header pointing to jsonld REST endpoint." - ); - $this->assertTrue( - $this->validateLinkHeaderWithUrl('alternate', $urls['media'] . "?_format=xml", NULL, 'application/xml') == 0, - "Media must not have link header pointing to disabled xml REST endpoint." - ); - - } - -} diff --git a/tests/src/Functional/MediaSourceUpdateTest.php b/tests/src/Functional/MediaSourceUpdateTest.php index 80c45f24..6994f2ab 100644 --- a/tests/src/Functional/MediaSourceUpdateTest.php +++ b/tests/src/Functional/MediaSourceUpdateTest.php @@ -12,87 +12,91 @@ use Drupal\Core\Url; class MediaSourceUpdateTest extends IslandoraFunctionalTestBase { /** - * @covers \Drupal\islandora\Controller\MediaSourceController::put + * Media to belong to the referencer. + * + * @var \Drupal\media\MediaInterface */ - public function testMediaSourceUpdate() { - $account = $this->drupalCreateUser([ + protected $media; + + /** + * File to belong to the media. + * + * @var \Drupal\file\FileInterface + */ + protected $file; + + /** + * User. + * + * @var \Drupal\Core\Session\AccountInterface + */ + protected $account; + + /** + * {@inheritdoc} + */ + public function setUp() { + parent::setUp(); + + // Make a user with appropriate permissions. + $this->account = $this->drupalCreateUser([ 'view media', 'create media', 'update media', ]); - $this->drupalLogin($account); + $this->drupalLogin($this->account); + + // Make a file for the Media. + $this->file = $this->container->get('entity_type.manager')->getStorage('file')->create([ + 'uid' => $this->account->id(), + 'uri' => "public://test_file.txt", + 'filename' => "test_file.txt", + 'filemime' => "text/plain", + 'status' => FILE_STATUS_PERMANENT, + ]); + $this->file->save(); + + // Get the source field for the media. + $type_configuration = $this->testMediaType->get('source_configuration'); + $source_field = $type_configuration['source_field']; - // Make a media and give it a png. - $urls = $this->createThumbnailWithFile(); - $url = $urls['media']; + // Make the media. + $this->media = $this->container->get('entity_type.manager')->getStorage('media')->create([ + 'bundle' => $this->testMediaType->id(), + 'name' => 'Media', + "$source_field" => [$this->file->id()], + ]); + $this->media->save(); + } + /** + * @covers \Drupal\islandora\Controller\MediaSourceController::put + */ + public function testMediaSourceUpdate() { // Hack out the guzzle client. $client = $this->getSession()->getDriver()->getClient()->getClient(); - // GET the media to stash its original values for comparison later. - $options = [ - 'auth' => [$account->getUsername(), $account->pass_raw], - 'http_errors' => FALSE, - ]; - $response = $client->request('GET', $url . '?_format=json', $options); - $media = json_decode($response->getBody(), TRUE); - - $mid = $media['mid'][0]['value']; - $original_mimetype = $media['field_mimetype'][0]['value']; - $original_width = $media['field_width'][0]['value']; - $original_height = $media['field_height'][0]['value']; - $original_image = file_get_contents($media['field_image'][0]['url']); - - $media_update_url = Url::fromRoute('islandora.media_source_update', ['media' => $mid]) + $media_update_url = Url::fromRoute('islandora.media_source_update', ['media' => $this->media->id()]) ->setAbsolute() ->toString(); - $image = file_get_contents(__DIR__ . '/../../static/test.jpeg'); + $file_contents = file_get_contents(__DIR__ . '/../../fixtures/test_file2.txt'); // Update without Content-Type header should fail with 400. $options = [ - 'auth' => [$account->getUsername(), $account->pass_raw], - 'http_errors' => FALSE, - 'headers' => [ - 'Content-Disposition' => 'attachment; filename="test.jpeg"', - ], - 'body' => $image, - ]; - $response = $client->request('PUT', $media_update_url, $options); - $this->assertTrue($response->getStatusCode() == 400, "Expected 400, received {$response->getStatusCode()}"); - - // Update without Content-Disposition header should fail with 400. - $options = [ - 'auth' => [$account->getUsername(), $account->pass_raw], + 'auth' => [$this->account->getUsername(), $this->account->pass_raw], 'http_errors' => FALSE, - 'headers' => [ - 'Content-Type' => 'image/jpeg', - ], - 'body' => $image, - ]; - $response = $client->request('PUT', $media_update_url, $options); - $this->assertTrue($response->getStatusCode() == 400, "Expected 400, received {$response->getStatusCode()}"); - - // Update with malformed Content-Disposition header should fail with 400. - $options = [ - 'auth' => [$account->getUsername(), $account->pass_raw], - 'http_errors' => FALSE, - 'headers' => [ - 'Content-Type' => 'image/jpeg', - 'Content-Disposition' => 'garbage; filename="test.jpeg"', - ], - 'body' => $image, + 'body' => $file_contents, ]; $response = $client->request('PUT', $media_update_url, $options); $this->assertTrue($response->getStatusCode() == 400, "Expected 400, received {$response->getStatusCode()}"); // Update without body should fail with 400. $options = [ - 'auth' => [$account->getUsername(), $account->pass_raw], + 'auth' => [$this->account->getUsername(), $this->account->pass_raw], 'http_errors' => FALSE, 'headers' => [ - 'Content-Type' => 'image/jpeg', - 'Content-Disposition' => 'attachment; filename="test.jpeg"', + 'Content-Type' => 'text/plain', ], ]; $response = $client->request('PUT', $media_update_url, $options); @@ -100,39 +104,32 @@ class MediaSourceUpdateTest extends IslandoraFunctionalTestBase { // Should be successful. $options = [ - 'auth' => [$account->getUsername(), $account->pass_raw], + 'auth' => [$this->account->getUsername(), $this->account->pass_raw], 'http_errors' => FALSE, 'headers' => [ - 'Content-Type' => 'image/jpeg', - 'Content-Disposition' => 'attachment; filename="test.jpeg"', + 'Content-Type' => 'text/plain', ], - 'body' => $image, + 'body' => $file_contents, ]; $response = $client->request('PUT', $media_update_url, $options); $this->assertTrue($response->getStatusCode() == 204, "Expected 204, received {$response->getStatusCode()}"); - // GET the media again and compare image and metadata. + // GET the media and compare file and metadata. $options = [ - 'auth' => [$account->getUsername(), $account->pass_raw], + 'auth' => [$this->account->getUsername(), $this->account->pass_raw], 'http_errors' => FALSE, ]; + $url = $this->media->url('canonical', ['absolute' => TRUE]); $response = $client->request('GET', $url . '?_format=json', $options); $updated = json_decode($response->getBody(), TRUE); - $updated_mimetype = $updated['field_mimetype'][0]['value']; - $updated_width = $updated['field_width'][0]['value']; - $updated_height = $updated['field_height'][0]['value']; - $updated_image = file_get_contents($updated['field_image'][0]['url']); + // Get the source field for the media. + $type_configuration = $this->testMediaType->get('source_configuration'); + $source_field = $type_configuration['source_field']; - $this->assertTrue($original_mimetype != $updated_mimetype, "Mimetypes should be updated with media source update"); - $this->assertTrue($original_width != $updated_width, "Width should be updated with media source update"); - $this->assertTrue($original_height != $updated_height, "Height should be updated with media source update"); - $this->assertTrue($original_image != $updated_image, "Image should be updated with media source update"); + $updated_file_contents = file_get_contents($updated[$source_field][0]['url']); - $this->assertTrue($updated_mimetype == "image/jpeg", "Invalid mimetype. Expected image/jpeg, received $updated_mimetype"); - $this->assertTrue($updated_width == 295, "Invalid width. Expected 295, received $updated_width"); - $this->assertTrue($updated_height == 70, "Invalid height. Expected 70, received $updated_height"); - $this->assertTrue($updated_image == file_get_contents(__DIR__ . '/../../static/test.jpeg'), "Updated image not the same as PUT body."); + $this->assertTrue($updated_file_contents == file_get_contents(__DIR__ . '/../../fixtures/test_file2.txt'), "Updated file not the same as PUT body."); } } diff --git a/tests/src/Functional/NodeLinkHeaderTest.php b/tests/src/Functional/NodeLinkHeaderTest.php deleted file mode 100644 index f80367d7..00000000 --- a/tests/src/Functional/NodeLinkHeaderTest.php +++ /dev/null @@ -1,176 +0,0 @@ -container->get('entity_type.manager')->getStorage('node_type')->create([ - 'type' => 'test_type_with_reference', - 'label' => 'Test Type With Reference', - ]); - $test_type_with_reference->save(); - - // Add two entity reference fields. - // One for nodes and one for media. - $this->createEntityReferenceField('node', 'test_type_with_reference', 'field_reference', 'Referenced Entity', 'node', 'default', [], 2); - $this->createEntityReferenceField('node', 'test_type_with_reference', 'field_media', 'Media Entity', 'media', 'default', [], 2); - - $this->other = $this->container->get('entity_type.manager')->getStorage('node')->create([ - 'type' => 'test_type', - 'title' => 'Test object w/o entity reference field', - ]); - $this->other->save(); - - $this->referenced = $this->container->get('entity_type.manager')->getStorage('node')->create([ - 'type' => 'test_type_with_reference', - 'title' => 'Referenced', - ]); - $this->referenced->save(); - - $media_bundle = $this->drupalCreateMediaBundle(); - $this->media = $this->container->get('entity_type.manager')->getStorage('media')->create([ - 'bundle' => $media_bundle->id(), - 'name' => 'Media', - ]); - $this->media->save(); - - $this->referencer = $this->container->get('entity_type.manager')->getStorage('node')->create([ - 'type' => 'test_type_with_reference', - 'title' => 'Referencer', - 'field_reference' => [$this->referenced->id()], - 'field_media' => [$this->media->id()], - ]); - $this->referencer->save(); - } - - /** - * @covers \Drupal\islandora\EventSubscriber\NodeLinkHeaderSubscriber::onResponse - */ - public function testNodeLinkHeaders() { - // Create a test user that can see media. - $account = $this->drupalCreateUser([ - 'view media', - ]); - $this->drupalLogin($account); - - // Visit the other, there should not be a related header since it does not - // even have the field. - $this->drupalGet('node/' . $this->other->id()); - $this->assertTrue( - $this->doesNotHaveLinkHeader('related'), - "Node that does not have entity reference field must not return related link header." - ); - - // Visit the referenced node, there should not be a related header since - // its entity reference field is empty. - $this->drupalGet('node/' . $this->referenced->id()); - $this->assertTrue( - $this->doesNotHaveLinkHeader('related'), - "Node that has empty entity reference field must not return link header." - ); - - // Visit the referencer. It should return a rel="related" link header - // for both the referenced node and media entity. - $this->drupalGet('node/' . $this->referencer->id()); - $this->assertTrue( - $this->validateLinkHeaderWithEntity('related', $this->referenced, 'Referenced Entity') == 1, - "Malformed related link header" - ); - $this->assertTrue( - $this->validateLinkHeaderWithEntity('related', $this->media, 'Media Entity') == 1, - "Malformed related link header" - ); - - // Check for links to REST endpoints for metadata. - $entity_url = $this->referencer->toUrl('canonical', ['absolute' => TRUE]) - ->toString(); - $this->assertTrue( - $this->validateLinkHeaderWithUrl('alternate', "$entity_url?_format=json", NULL, 'application/json') == 1, - "Node must have link header pointing to json REST endpoint." - ); - $this->assertTrue( - $this->validateLinkHeaderWithUrl('alternate', "$entity_url?_format=jsonld", NULL, 'application/ld+json') == 1, - "Node must have link header pointing to jsonld REST endpoint." - ); - $this->assertTrue( - $this->validateLinkHeaderWithUrl('alternate', "$entity_url?_format=xml", NULL, 'application/xml') == 0, - "Node must not have link header pointing to disabled xml REST endpoint." - ); - - // Check that the current representation is not advertised when visitng - // a REST endpoint (e.g. the json link header doesn't appear when you're - // visiting the ?_format=json endpoint). - $this->drupalGet('node/' . $this->referencer->id(), ['query' => ['_format' => 'json']]); - $this->assertTrue( - $this->validateLinkHeaderWithUrl('alternate', "$entity_url?_format=json", NULL, 'application/json') == 0, - "Node must not have link header pointing to json REST endpoint when vising the json REST endpoint." - ); - $this->assertTrue( - $this->validateLinkHeaderWithUrl('alternate', "$entity_url?_format=jsonld", NULL, 'application/ld+json') == 1, - "Node must have link header pointing to jsonld REST endpoint when visiting the json REST endpoint." - ); - - // Log in as anonymous. - $account = $this->drupalCreateUser(); - $this->drupalLogin($account); - - // Visit the referencer. It should return a rel="related" link header - // for both the referenced node bun not the media entity b/c permissions. - $this->drupalGet('node/' . $this->referencer->id()); - $this->assertTrue( - $this->validateLinkHeaderWithEntity('related', $this->referenced, 'Referenced Entity') == 1, - "Malformed related link header" - ); - $this->assertTrue( - $this->validateLinkHeaderWithEntity('related', $this->media, 'Media Entity') == 0, - "Anonymous should not be able to see media link header" - ); - } - -} diff --git a/tests/src/Functional/ViewModeAlterReactionTest.php b/tests/src/Functional/ViewModeAlterReactionTest.php new file mode 100644 index 00000000..04f07e00 --- /dev/null +++ b/tests/src/Functional/ViewModeAlterReactionTest.php @@ -0,0 +1,89 @@ +referenced = $this->container->get('entity_type.manager')->getStorage('node')->create([ + 'type' => $this->testType->id(), + 'title' => 'Referenced', + ]); + $this->referenced->save(); + + // Node that is member of something. + $this->referencer = $this->container->get('entity_type.manager')->getStorage('node')->create([ + 'type' => $this->testType->id(), + 'title' => 'Referencer', + 'field_member_of' => [$this->referenced->id()], + ]); + $this->referencer->save(); + } + + /** + * @covers \Drupal\islandora\Plugin\ContextReaction\ViewModeAlterReaction::execute + * @covers \Drupal\islandora\Plugin\ContextReaction\ViewModeAlterReaction::buildConfigurationForm + * @covers \Drupal\islandora\Plugin\ContextReaction\ViewModeAlterReaction::submitConfigurationForm + */ + public function testViewModeAlter() { + + // Create a test user. + $account = $this->drupalCreateUser([ + 'bypass node access', + 'administer contexts', + 'administer actions', + 'view media', + 'create media', + 'update media', + ]); + $this->drupalLogin($account); + + // Stash the node's url. + $url = $this->referencer->url('canonical', ['absolute' => TRUE]); + $this->drupalGet($url); + + // Make sure we're viewing the default (e.g. the media field is displayed). + $this->assertSession()->pageTextContains("Member Of"); + + // Create a context and set the view mode to alter to "teaser". + $this->createContext('Test', 'test'); + + $this->drupalGet("admin/structure/context/test/reaction/add/view_mode_alter"); + $this->getSession()->getPage()->findById("edit-reactions-view-mode-alter-mode")->selectOption('node.teaser'); + $this->getSession()->getPage()->pressButton(t('Save and continue')); + $this->assertSession()->statusCodeEquals(200); + + drupal_flush_all_caches(); + + // Re-visit the node and make sure we're in teaser mode (e.g. the media + // field is not displayed). + $this->drupalGet($url); + $this->assertSession()->pageTextNotContains("Member Of"); + } + +} diff --git a/tests/src/Kernel/EventGeneratorTest.php b/tests/src/Kernel/EventGeneratorTest.php index 46a6cb8c..b33d4cd5 100644 --- a/tests/src/Kernel/EventGeneratorTest.php +++ b/tests/src/Kernel/EventGeneratorTest.php @@ -70,10 +70,14 @@ class EventGeneratorTest extends IslandoraKernelTestBase { /** * Tests the generateCreateEvent() method. * - * @covers \Drupal\islandora\EventGenerator\EventGenerator::generateCreateEvent + * @covers \Drupal\islandora\EventGenerator\EventGenerator::generateEvent */ public function testGenerateCreateEvent() { - $json = $this->eventGenerator->generateCreateEvent($this->entity, $this->user); + $json = $this->eventGenerator->generateEvent( + $this->entity, + $this->user, + ['event' => 'create', 'queue' => 'islandora-indexing-fcrepo-content'] + ); $msg = json_decode($json, TRUE); $this->assertBasicStructure($msg); @@ -83,10 +87,14 @@ class EventGeneratorTest extends IslandoraKernelTestBase { /** * Tests the generateUpdateEvent() method. * - * @covers \Drupal\islandora\EventGenerator\EventGenerator::generateUpdateEvent + * @covers \Drupal\islandora\EventGenerator\EventGenerator::generateEvent */ public function testGenerateUpdateEvent() { - $json = $this->eventGenerator->generateUpdateEvent($this->entity, $this->user); + $json = $this->eventGenerator->generateEvent( + $this->entity, + $this->user, + ['event' => 'update', 'queue' => 'islandora-indexing-fcrepo-content'] + ); $msg = json_decode($json, TRUE); $this->assertBasicStructure($msg); @@ -96,10 +104,15 @@ class EventGeneratorTest extends IslandoraKernelTestBase { /** * Tests the generateDeleteEvent() method. * - * @covers \Drupal\islandora\EventGenerator\EventGenerator::generateDeleteEvent + * @covers \Drupal\islandora\EventGenerator\EventGenerator::generateEvent */ public function testGenerateDeleteEvent() { - $json = $this->eventGenerator->generateDeleteEvent($this->entity, $this->user); + $json = $this->eventGenerator->generateEvent( + $this->entity, + $this->user, + ['event' => 'delete', 'queue' => 'islandora-indexing-fcrepo-delete'] + ); + $msg = json_decode($json, TRUE); $msg = json_decode($json, TRUE); $this->assertBasicStructure($msg); diff --git a/tests/src/Kernel/IslandoraKernelTestBase.php b/tests/src/Kernel/IslandoraKernelTestBase.php index 892b0a5a..a24afa69 100644 --- a/tests/src/Kernel/IslandoraKernelTestBase.php +++ b/tests/src/Kernel/IslandoraKernelTestBase.php @@ -22,7 +22,6 @@ abstract class IslandoraKernelTestBase extends KernelTestBase { 'path', 'text', 'options', - 'inline_entity_form', 'serialization', 'rest', 'basic_auth', @@ -35,10 +34,8 @@ abstract class IslandoraKernelTestBase extends KernelTestBase { 'key', 'jwt', 'file', - 'entity', 'image', - 'media_entity', - 'media_entity_image', + 'media', 'islandora', ]; @@ -54,6 +51,7 @@ abstract class IslandoraKernelTestBase extends KernelTestBase { $this->installEntitySchema('user'); $this->installEntitySchema('node'); $this->installEntitySchema('context'); + $this->installEntitySchema('file'); $this->installConfig('filter'); }

    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