From 383fb267b5e0f613e798a6939bf48fc9f142c9d8 Mon Sep 17 00:00:00 2001 From: lha Date: Wed, 13 Nov 2024 18:03:10 +0100 Subject: [PATCH 01/13] Migration to 6.1 - WIP --- pom.xml | 39 +- .../ReverseEpochViewComparator.java | 6 +- .../activeviam/formatter/ByteFormatter.java | 6 +- .../activeviam/formatter/ClassFormatter.java | 6 +- .../formatter/PartitionIdFormatter.java | 6 +- .../activeviam/mac/app/MacSpringBootApp.java | 5 +- .../impl/ActivePivotWithDatastoreConfig.java | 48 +++ .../impl/ActiveUiResourceServerConfig.java | 2 +- .../mac/cfg/impl/ContentServiceConfig.java | 29 +- .../mac/cfg/impl/MacServerConfig.java | 35 +- .../cfg/impl/ManagerDescriptionConfig.java | 190 +++++++--- .../impl/NoWriteDatastoreServiceConfig.java | 6 +- .../activeviam/mac/cfg/impl/SourceConfig.java | 40 +- .../cfg/security/impl/ASecurityConfig.java | 321 ---------------- .../impl/ActiveUiSecurityConfigurer.java | 44 --- .../mac/cfg/security/impl/CorsConfig.java | 47 +++ .../security/impl/JwtSecurityConfigurer.java | 52 --- .../mac/cfg/security/impl/SecurityConfig.java | 352 +++++++++++++----- .../impl/VersionSecurityConfigurer.java | 20 - .../cfg/security/impl/WebConfiguration.java | 12 + .../mac/memory/AnalysisDatastoreFeeder.java | 53 +-- .../mac/memory/ChunkRecordHandler.java | 83 ++--- .../mac/memory/DatastoreConstants.java | 4 +- ...oryAnalysisDatastoreDescriptionConfig.java | 32 +- .../visitor/impl/ADatastoreFeedVisitor.java | 4 +- .../memory/visitor/impl/AFeedVisitor.java | 22 +- .../impl/AFeedVisitorWithDictionary.java | 18 +- .../impl/ChunkSetStatisticVisitor.java | 43 ++- .../visitor/impl/DatastoreFeederVisitor.java | 53 +-- .../memory/visitor/impl/DebugVisitor.java | 43 +-- .../memory/visitor/impl/FeedVisitor.java | 57 +-- .../visitor/impl/LevelStatisticVisitor.java | 35 +- .../visitor/impl/PivotFeederVisitor.java | 69 ++-- .../visitor/impl/StatisticTreePrinter.java | 2 +- .../visitor/impl/VectorStatisticVisitor.java | 35 +- .../java/com/activeviam/mac/tools/Tools.java | 4 +- .../tools/bookmark/impl/BookmarkTool.java | 2 +- .../bookmark/impl/ContentServerToJsonUi.java | 8 +- .../bookmark/impl/JsonUiToContentServer.java | 4 +- .../mac/TestMemoryStatisticBuilder.java | 35 +- .../activeviam/mac/app/TestAppLoading.java | 2 +- .../memory/ATestMemoryStatistic.java | 140 +++---- .../mac/statistic/memory/CellSetUtils.java | 2 +- .../TestAggregateProvidersBookmark.java | 30 +- .../memory/TestAnalysisDatastoreFeeder.java | 30 +- .../mac/statistic/memory/TestBranches.java | 27 +- .../memory/TestDistributedCubeEpochs.java | 22 +- .../mac/statistic/memory/TestEpochs.java | 37 +- .../statistic/memory/TestFieldsBookmark.java | 35 +- ...tFieldsBookmarkWithDuplicateFieldName.java | 35 +- .../TestIndexAndDictionaryBookmarks.java | 41 +- .../mac/statistic/memory/TestMACMeasures.java | 69 ++-- .../TestMemoryMonitoringDatastoreContent.java | 114 +++--- .../memory/TestMemoryStatisticLoading.java | 16 +- ...emoryStatisticLoadingWithReverseOrder.java | 10 +- .../memory/TestOverviewBookmark.java | 38 +- .../statistic/memory/TestRatioMeasures.java | 30 +- .../memory/TestVectorBlockBookmark.java | 35 +- .../mac/statistic/memory/TestViewEpochs.java | 25 +- ...ateProviderWithVectorPrimitiveMeasure.java | 58 +-- .../memory/scenarios/TestMissingChunkId.java | 47 +-- .../TestMultipleFieldsDictionary.java | 69 ++-- .../TestNullableLevelDictionary.java | 66 ++-- .../com/qfs/chunk/impl/MemoryTestUtils.java | 16 +- 64 files changed, 1423 insertions(+), 1443 deletions(-) create mode 100644 src/main/java/com/activeviam/mac/cfg/impl/ActivePivotWithDatastoreConfig.java delete mode 100644 src/main/java/com/activeviam/mac/cfg/security/impl/ASecurityConfig.java delete mode 100644 src/main/java/com/activeviam/mac/cfg/security/impl/ActiveUiSecurityConfigurer.java create mode 100644 src/main/java/com/activeviam/mac/cfg/security/impl/CorsConfig.java delete mode 100644 src/main/java/com/activeviam/mac/cfg/security/impl/JwtSecurityConfigurer.java delete mode 100644 src/main/java/com/activeviam/mac/cfg/security/impl/VersionSecurityConfigurer.java create mode 100644 src/main/java/com/activeviam/mac/cfg/security/impl/WebConfiguration.java diff --git a/pom.xml b/pom.xml index d95a761b..61a35501 100644 --- a/pom.xml +++ b/pom.xml @@ -25,7 +25,7 @@ 11 - 6.0.10 + 6.1.1 5.1.13 9.0.31 @@ -46,10 +46,20 @@ pom import + + jakarta.servlet + jakarta.servlet-api + 6.0.0 + + + com.activeviam.springboot + atoti-server-starter + ${atoti-server.version} + org.projectlombok lombok @@ -66,12 +76,7 @@ com.activeviam.tech - composer-intf - compile - - - com.activeviam.tech - composer-impl + composer-core compile @@ -169,11 +176,6 @@ guava 32.1.3-jre test - - - io.atoti - directquery-bigquery - ${atoti-server.version} com.activeviam.source @@ -188,7 +190,31 @@ jakarta.persistence jakarta.persistence-api - 3.2.0 + ${jakarta-persistence.version} + + + org.yaml + snakeyaml + 2.2 + + + jakarta.ws.rs + jakarta.ws.rs-api + ${jakarta-ws-rs.version} + + + org.springframework + spring-web + ${spring-framework.version} + + + org.apache.tomcat.embed + tomcat-embed-core + ${tomcat.version} + + + org.springframework.boot + spring-boot-autoconfigure diff --git a/src/main/java/com/activeviam/mac/app/MacSpringBootApp.java b/src/main/java/com/activeviam/mac/app/MacSpringBootApp.java index 23041e81..dfd3d01e 100644 --- a/src/main/java/com/activeviam/mac/app/MacSpringBootApp.java +++ b/src/main/java/com/activeviam/mac/app/MacSpringBootApp.java @@ -9,7 +9,7 @@ import com.activeviam.mac.cfg.impl.MacServerConfig; import com.activeviam.tech.core.api.registry.Registry; -import javax.servlet.MultipartConfigElement; +import jakarta.servlet.MultipartConfigElement; import org.springframework.beans.factory.ObjectProvider; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.EnableAutoConfiguration; diff --git a/src/main/java/com/activeviam/mac/cfg/impl/ActiveUiResourceServerConfig.java b/src/main/java/com/activeviam/mac/cfg/impl/ActiveUiResourceServerConfig.java index 1a375375..8215b7ff 100644 --- a/src/main/java/com/activeviam/mac/cfg/impl/ActiveUiResourceServerConfig.java +++ b/src/main/java/com/activeviam/mac/cfg/impl/ActiveUiResourceServerConfig.java @@ -41,9 +41,9 @@ protected void registerRedirections(final ResourceRegistry registry) { protected void registerExtensions(final ResourceRegistry registry) { registry.serve("/ui/extensions*.json").addResourceLocations("classpath:/static/activeui/"); - registry - .serve("/ui/extensions/text-editor-extension/**/*.js") - .addResourceLocations("classpath:/static/activeui/extensions/text-editor-extension/"); + // registry + // .serve("/ui/extensions/text-editor-extension/**/*.js") + // .addResourceLocations("classpath:/static/activeui/extensions/text-editor-extension/"); } /** diff --git a/src/main/java/com/activeviam/mac/cfg/impl/ContentServiceConfig.java b/src/main/java/com/activeviam/mac/cfg/impl/ContentServiceConfig.java index 456667ba..b94d5fc8 100644 --- a/src/main/java/com/activeviam/mac/cfg/impl/ContentServiceConfig.java +++ b/src/main/java/com/activeviam/mac/cfg/impl/ContentServiceConfig.java @@ -23,6 +23,7 @@ import com.activeviam.tools.bookmark.constant.impl.ContentServerConstants.Paths; import com.activeviam.tools.bookmark.constant.impl.ContentServerConstants.Role; import com.activeviam.tools.bookmark.impl.BookmarkTool; +import java.io.IOException; import java.lang.reflect.Method; import java.util.List; import java.util.Map; @@ -37,6 +38,8 @@ import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.core.env.Environment; +import org.springframework.core.io.ClassPathResource; +import org.springframework.core.io.Resource; /** * Spring configuration of the Content Service. @@ -82,11 +85,13 @@ public class ContentServiceConfig implements IActivePivotContentServiceConfig { * @return the Hibernate's configuration */ private static SessionFactory loadConfiguration(final Properties hibernateProperties) - throws HibernateException { + throws HibernateException, IOException { hibernateProperties.put( AvailableSettings.DATASOURCE, createTomcatJdbcDataSource(hibernateProperties)); + final Resource entityMappingFile = new ClassPathResource("content-service-hibernate.xml"); return new org.hibernate.cfg.Configuration() .addProperties(hibernateProperties) + .addInputStream(entityMappingFile.getInputStream()) .buildSessionFactory(); } @@ -141,7 +146,7 @@ public IContentService contentService() { try { sessionFactory = loadConfiguration(contentServiceHibernateProperties()); return new HibernateContentService(sessionFactory); - } catch (HibernateException e) { + } catch (HibernateException | IOException e) { throw new BeanInitializationException("Failed to initialize the Content Service", e); } } diff --git a/src/main/java/com/activeviam/mac/cfg/impl/MacServerConfig.java b/src/main/java/com/activeviam/mac/cfg/impl/MacServerConfig.java index b20c37fd..b29d2d16 100644 --- a/src/main/java/com/activeviam/mac/cfg/impl/MacServerConfig.java +++ b/src/main/java/com/activeviam/mac/cfg/impl/MacServerConfig.java @@ -7,22 +7,18 @@ package com.activeviam.mac.cfg.impl; -import com.activeviam.activepivot.server.impl.private_.observability.DynamicActivePivotManagerMBean; -import com.activeviam.activepivot.server.impl.private_.observability.memory.MemoryAnalysisService; import com.activeviam.activepivot.server.spring.api.config.IActivePivotConfig; import com.activeviam.activepivot.server.spring.api.config.IActivePivotContentServiceConfig; import com.activeviam.activepivot.server.spring.api.config.IDatastoreConfig; import com.activeviam.activepivot.server.spring.private_.config.impl.ActivePivotServicesConfig; import com.activeviam.activepivot.server.spring.private_.config.impl.ActiveViamRestServicesConfig; import com.activeviam.activepivot.server.spring.private_.config.impl.ActiveViamWebSocketServicesConfig; -import com.activeviam.activepivot.server.spring.private_.pivot.content.impl.DynamicActivePivotContentServiceMBean; import com.activeviam.mac.cfg.security.impl.SecurityConfig; import com.activeviam.mac.cfg.security.impl.UserConfig; import com.activeviam.tech.core.api.agent.AgentException; import com.activeviam.web.spring.internal.JMXEnabler; import com.activeviam.web.spring.internal.config.JwtConfig; import com.activeviam.web.spring.internal.config.JwtRestServiceConfig; -import java.nio.file.Paths; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.context.event.ApplicationReadyEvent; import org.springframework.context.annotation.Bean; @@ -134,28 +130,6 @@ public JMXEnabler jmxMonitoringConnectorEnabler() { return new JMXEnabler("StatisticSource", this.sourceConfig); } - /** - * Enable JMX Monitoring for the Datastore. - * - * @return the {@link JMXEnabler} attached to the datastore - */ - @Bean - public JMXEnabler jmxDatastoreEnabler() { - return new JMXEnabler(this.datastoreConfig.database()); - } - - /** - * Enable JMX Monitoring for ActivePivot Components. - * - * @return the {@link JMXEnabler} attached to the activePivotManager - */ - @Bean - public JMXEnabler jmxActivePivotEnabler() { - startManager(); - - return new JMXEnabler(new DynamicActivePivotManagerMBean(apConfig.activePivotManager())); - } - /** * [Bean] JMX Bean to export bookmarks. * @@ -165,32 +139,4 @@ public JMXEnabler jmxActivePivotEnabler() { public JMXEnabler jmxBookmarkEnabler() { return new JMXEnabler("Bookmark", this.contentServiceConfig); } - - /** - * Enable JMX Monitoring for the ContentService. - * - * @return the {@link JMXEnabler} attached to the Content Service - */ - @Bean - public JMXEnabler jmxActivePivotContentServiceEnabler() { - // to allow operations from the JMX bean - return new JMXEnabler( - new DynamicActivePivotContentServiceMBean( - this.apContentServiceConfig.activePivotContentService(), - this.apConfig.activePivotManager())); - } - - /** - * Enable Memory JMX Monitoring. - * - * @return the {@link JMXEnabler} attached to the memory analysis service. - */ - @Bean - public JMXEnabler jmxMemoryMonitoringServiceEnabler() { - return new JMXEnabler( - new MemoryAnalysisService( - this.datastoreConfig.database(), - this.apConfig.activePivotManager(), - Paths.get(System.getProperty("java.io.tmpdir")))); - } } diff --git a/src/main/java/com/activeviam/mac/cfg/security/impl/SecurityConfig.java b/src/main/java/com/activeviam/mac/cfg/security/impl/SecurityConfig.java index 02c8d29a..58049ed6 100644 --- a/src/main/java/com/activeviam/mac/cfg/security/impl/SecurityConfig.java +++ b/src/main/java/com/activeviam/mac/cfg/security/impl/SecurityConfig.java @@ -6,7 +6,6 @@ import com.activeviam.activepivot.server.spring.private_.pivot.security.impl.UserDetailsServiceWrapper; import com.activeviam.tech.contentserver.storage.api.IContentService; import com.activeviam.tech.core.api.security.IUserDetailsService; -import com.activeviam.web.spring.api.config.ICorsConfig; import com.activeviam.web.spring.api.config.IJwtConfig; import com.activeviam.web.spring.api.jwt.JwtAuthenticationProvider; import com.activeviam.web.spring.internal.config.JwtRestServiceConfig; @@ -21,11 +20,17 @@ import org.springframework.core.env.Environment; import org.springframework.http.HttpMethod; import org.springframework.http.HttpStatus; +import org.springframework.security.authentication.AuthenticationManager; +import org.springframework.security.authentication.AuthenticationProvider; +import org.springframework.security.authentication.ProviderManager; +import org.springframework.security.authentication.dao.DaoAuthenticationProvider; import org.springframework.security.config.Customizer; import org.springframework.security.config.annotation.authentication.builders.AuthenticationManagerBuilder; import org.springframework.security.config.annotation.web.builders.HttpSecurity; +import org.springframework.security.config.annotation.web.configuration.EnableWebSecurity; import org.springframework.security.config.annotation.web.configurers.AbstractHttpConfigurer; import org.springframework.security.config.annotation.web.configurers.HeadersConfigurer; +import org.springframework.security.core.userdetails.UserDetailsService; import org.springframework.security.crypto.factory.PasswordEncoderFactories; import org.springframework.security.crypto.password.DelegatingPasswordEncoder; import org.springframework.security.crypto.password.NoOpPasswordEncoder; @@ -36,11 +41,9 @@ import org.springframework.security.web.authentication.switchuser.SwitchUserFilter; import org.springframework.security.web.context.SecurityContextPersistenceFilter; import org.springframework.security.web.firewall.StrictHttpFirewall; -import org.springframework.web.cors.CorsConfiguration; -import org.springframework.web.cors.CorsConfigurationSource; -import org.springframework.web.cors.UrlBasedCorsConfigurationSource; @Configuration +@EnableWebSecurity public class SecurityConfig { /** Authentication Bean Name. */ @@ -81,8 +84,8 @@ public class SecurityConfig { /** {@code true} to enable the logout URL. */ protected final WebConfiguration webConfiguration; - public SecurityConfig(final String cookieName) { - this.webConfiguration = new WebConfiguration(cookieName); + public SecurityConfig() { + this.webConfiguration = new WebConfiguration(COOKIE_NAME); } /** @@ -118,6 +121,38 @@ public AuthenticationEntryPoint basicAuthenticationEntryPoint() { return new HttpStatusEntryPoint(HttpStatus.UNAUTHORIZED); } + /** + * Configures the authentication of the whole application. + * + *

This binds the defined user service to the authentication and sets the source for JWT + * tokens. + * + * @param inMemoryAuthenticationProvider the in-memory authentication provider + * @param jwtAuthenticationProvider is a provider which can perform authentication from the + * jwtService's tokens. Implementation from the {@link IJwtConfig} . + * @return the authentication manager + */ + @Bean + public AuthenticationManager authenticationManager( + final JwtAuthenticationProvider jwtAuthenticationProvider, + final AuthenticationProvider inMemoryAuthenticationProvider) { + final ProviderManager providerManager = + new ProviderManager(inMemoryAuthenticationProvider, jwtAuthenticationProvider); + providerManager.setEraseCredentialsAfterAuthentication(false); + + return providerManager; + } + + @Bean + public AuthenticationProvider inMemoryAuthenticationProvider( + final UserDetailsService userDetailsService, final PasswordEncoder passwordEncoder) { + final var authenticationProvider = new DaoAuthenticationProvider(); + authenticationProvider.setPasswordEncoder(passwordEncoder); + authenticationProvider.setUserDetailsService(userDetailsService); + + return authenticationProvider; + } + /** * Configures the authentication of the whole application. * @@ -136,28 +171,6 @@ public void configureGlobal( .authenticationProvider(jwtAuthenticationProvider); } - /** - * [Bean] Spring standard way of configuring CORS. - * - *

This simply forwards the configuration of {@link ICorsConfig} to Spring security system. - * - * @return the configuration for the application. - */ - @Bean - public CorsConfigurationSource corsConfigurationSource(final ICorsConfig corsConfig) { - final CorsConfiguration configuration = new CorsConfiguration(); - configuration.setAllowedOrigins(corsConfig.getAllowedOrigins()); - configuration.setAllowedHeaders(corsConfig.getAllowedHeaders()); - configuration.setExposedHeaders(corsConfig.getExposedHeaders()); - configuration.setAllowedMethods(corsConfig.getAllowedMethods()); - configuration.setAllowCredentials(true); - - final UrlBasedCorsConfigurationSource source = new UrlBasedCorsConfigurationSource(); - source.registerCorsConfiguration("/**", configuration); - - return source; - } - /** * Returns the spring security bean user details service wrapper. * @@ -280,15 +293,21 @@ public SecurityFilterChain activePivotSecurity( .permitAll() .anyRequest() .hasAnyAuthority(ROLE_USER)) - // One has to be a user for all the other URLs - .securityMatcher("/**") - .authorizeHttpRequests(auth -> auth.anyRequest().hasAnyAuthority(ROLE_USER)) - .httpBasic(Customizer.withDefaults()) // SwitchUserFilter is the last filter in the chain. See FilterComparator class. .addFilterAfter(contextValueFilter, SwitchUserFilter.class); return http.build(); } + // One has to be a user for all the other URLs + @Bean + @Order(5) + public SecurityFilterChain otherSecurity(final HttpSecurity http) throws Exception { + http.securityMatcher("/**") + .authorizeHttpRequests(auth -> auth.anyRequest().permitAll()) + .httpBasic(Customizer.withDefaults()); + return http.build(); + } + public void configureWebSecurity( HttpSecurity http, JwtFilter jwtFilter, WebConfiguration webConfig) throws Exception { http diff --git a/src/test/java/com/activeviam/mac/app/TestAppLoading.java b/src/test/java/com/activeviam/mac/app/TestAppLoading.java index a6db2010..14f90173 100644 --- a/src/test/java/com/activeviam/mac/app/TestAppLoading.java +++ b/src/test/java/com/activeviam/mac/app/TestAppLoading.java @@ -12,14 +12,12 @@ import org.junit.jupiter.api.Assertions; import org.junit.jupiter.api.Test; import org.springframework.beans.factory.BeanCreationException; -import org.springframework.context.annotation.Import; -import org.springframework.context.annotation.PropertySource; +import org.springframework.test.context.ContextConfiguration; import org.springframework.test.context.web.WebAppConfiguration; /** Test class for tests related to loading cases of the SpringBoot application */ -@WebAppConfiguration -@Import({MacServerConfig.class}) -@PropertySource(value = "classpath:application.yml") +@WebAppConfiguration("classpath:application.yml") +@ContextConfiguration(classes = MacServerConfig.class) public class TestAppLoading { /** Ensures that the default application setup works */ diff --git a/src/test/java/com/activeviam/mac/statistic/memory/ATestMemoryStatistic.java b/src/test/java/com/activeviam/mac/statistic/memory/ATestMemoryStatistic.java index e73d147a..68564659 100644 --- a/src/test/java/com/activeviam/mac/statistic/memory/ATestMemoryStatistic.java +++ b/src/test/java/com/activeviam/mac/statistic/memory/ATestMemoryStatistic.java @@ -1247,16 +1247,10 @@ IDatastore assertLoadsCorrectly( protected static MemoryStatisticsTestUtils.StatisticsSummary computeStatisticsSummary( final Collection statistics, final Class creatorClass) { - // create a new list of statistics with no parent - final List statisticsWithoutParent = - statistics.stream() - .peek( - stat -> stat.setParent(null)) - .collect(Collectors.toList()); return MemoryStatisticsTestUtils.getStatisticsSummary( new TestMemoryStatisticBuilder(creatorClass.getName()) .withCreatorClasses(creatorClass) - .withChildren(statisticsWithoutParent) + .withChildren(statistics) .build()); } @@ -1457,7 +1451,7 @@ static AMemoryStatistic loadMemoryStatFromFolder( throw new RuntimeException("Cannot read " + file, e); } }) - .peek(stat -> stat.setParent(null)) + .peek(stat -> stat.setParent(null)) .collect(Collectors.toList()); return new DefaultMemoryStatistic.Builder() From d18bde69b3260b621398ac978d013db10b13ed36 Mon Sep 17 00:00:00 2001 From: lha Date: Fri, 29 Nov 2024 16:00:54 +0100 Subject: [PATCH 04/13] fix content service --- .../activeviam/mac/memory/ChunkRecordHandler.java | 12 ++++-------- src/main/resources/content-service-hibernate.xml | 10 ++++++++++ 2 files changed, 14 insertions(+), 8 deletions(-) create mode 100644 src/main/resources/content-service-hibernate.xml diff --git a/src/main/java/com/activeviam/mac/memory/ChunkRecordHandler.java b/src/main/java/com/activeviam/mac/memory/ChunkRecordHandler.java index 5bd9c370..4d4fc6a6 100644 --- a/src/main/java/com/activeviam/mac/memory/ChunkRecordHandler.java +++ b/src/main/java/com/activeviam/mac/memory/ChunkRecordHandler.java @@ -124,23 +124,19 @@ private void init(final IRecordReader record, final IDictionaryProvider dictiona } private int getPartition(final IRecordReader record) { - final int idx = record.getFormat().getFieldIndex(DatastoreConstants.CHUNK__PARTITION_ID); - return record.readInt(idx); + return record.getFormat().getFieldIndex(DatastoreConstants.CHUNK__PARTITION_ID); } private int getDicId(final IRecordReader record) { - final int idx = record.getFormat().getFieldIndex(DatastoreConstants.CHUNK__PARENT_DICO_ID); - return record.readInt(idx); + return record.getFormat().getFieldIndex(DatastoreConstants.CHUNK__PARENT_DICO_ID); } private int getIdxId(final IRecordReader record) { - final int idx = record.getFormat().getFieldIndex(DatastoreConstants.CHUNK__PARENT_INDEX_ID); - return record.readInt(idx); + return record.getFormat().getFieldIndex(DatastoreConstants.CHUNK__PARENT_INDEX_ID); } private int getRefId(final IRecordReader record) { - final int idx = record.getFormat().getFieldIndex(DatastoreConstants.CHUNK__PARENT_REF_ID); - return record.readInt(idx); + return record.getFormat().getFieldIndex(DatastoreConstants.CHUNK__PARENT_REF_ID); } private String getChunkClassName( diff --git a/src/main/resources/content-service-hibernate.xml b/src/main/resources/content-service-hibernate.xml new file mode 100644 index 00000000..a82dfc05 --- /dev/null +++ b/src/main/resources/content-service-hibernate.xml @@ -0,0 +1,10 @@ + + + + + + + + + + From 476ea4c5d775d03c3d3f7bcc063ed6f486142c8b Mon Sep 17 00:00:00 2001 From: lha Date: Mon, 2 Dec 2024 16:22:20 +0100 Subject: [PATCH 05/13] custom deserializer --- pom.xml | 2 +- .../activeviam/mac/cfg/impl/SourceConfig.java | 19 +- .../RetroCompatibleDeserializer.java | 285 ++++++++++++++++++ .../memory/scenarios/TestMissingChunkId.java | 13 +- 4 files changed, 291 insertions(+), 28 deletions(-) create mode 100644 src/main/java/com/activeviam/mac/statistic/memory/deserializer/RetroCompatibleDeserializer.java diff --git a/pom.xml b/pom.xml index c49288c7..849ae181 100644 --- a/pom.xml +++ b/pom.xml @@ -25,7 +25,7 @@ 11 - 6.1.2-SNAPSHOT + 6.1.3-SNAPSHOT 5.2.0-beta 10.1.30 diff --git a/src/main/java/com/activeviam/mac/cfg/impl/SourceConfig.java b/src/main/java/com/activeviam/mac/cfg/impl/SourceConfig.java index 11c5494f..0f3a3047 100644 --- a/src/main/java/com/activeviam/mac/cfg/impl/SourceConfig.java +++ b/src/main/java/com/activeviam/mac/cfg/impl/SourceConfig.java @@ -10,11 +10,11 @@ import static java.util.stream.Collectors.mapping; import static java.util.stream.Collectors.toUnmodifiableList; -import com.activeviam.activepivot.server.impl.private_.observability.memory.MemoryStatisticSerializerUtil; import com.activeviam.database.datastore.internal.IInternalDatastore; import com.activeviam.database.datastore.internal.impl.Datastore; import com.activeviam.mac.Loggers; import com.activeviam.mac.memory.AnalysisDatastoreFeeder; +import com.activeviam.mac.statistic.memory.deserializer.RetroCompatibleDeserializer; import com.activeviam.source.common.api.impl.WatcherService; import com.activeviam.source.csv.api.DirectoryCsvTopic; import com.activeviam.source.csv.api.ICsvDataProvider; @@ -215,7 +215,7 @@ private void loadDumps(final Map> dumpFiles) { (dumpName, entry) -> { try { final Stream inputs = - entry.stream().parallel().map(this::readStatisticFile); + entry.stream().parallel().map(RetroCompatibleDeserializer::readStatisticFile); final String message = feedDatastore(inputs, dumpName); LOGGER.info(message); } catch (final Exception e) { @@ -224,21 +224,6 @@ private void loadDumps(final Map> dumpFiles) { }); } - private AMemoryStatistic readStatisticFile(final Path file) { - try { - if (LOGGER.isLoggable(Level.FINE)) { - LOGGER.fine("Reading statistics from " + file.toAbsolutePath()); - } - final AMemoryStatistic read = MemoryStatisticSerializerUtil.readStatisticFile(file.toFile()); - if (LOGGER.isLoggable(Level.FINE)) { - LOGGER.fine("Statistics read from " + file.toAbsolutePath()); - } - return read; - } catch (final IOException ioe) { - throw new RuntimeException("Cannot read statistics from " + file); - } - } - /** * Feeds the {@link SourceConfig#datastore datastore} with a stream of {@link IMemoryStatistic}. * diff --git a/src/main/java/com/activeviam/mac/statistic/memory/deserializer/RetroCompatibleDeserializer.java b/src/main/java/com/activeviam/mac/statistic/memory/deserializer/RetroCompatibleDeserializer.java new file mode 100644 index 00000000..bd430363 --- /dev/null +++ b/src/main/java/com/activeviam/mac/statistic/memory/deserializer/RetroCompatibleDeserializer.java @@ -0,0 +1,285 @@ +/* + * (C) ActiveViam 2015 + * ALL RIGHTS RESERVED. This material is the CONFIDENTIAL and PROPRIETARY + * property of ActiveViam. Any unauthorized use, + * reproduction or transfer of this material is strictly prohibited + */ + +package com.activeviam.mac.statistic.memory.deserializer; + +import static com.activeviam.activepivot.server.impl.private_.observability.memory.MemoryStatisticSerializerUtil.COMPRESSED_FILE_EXTENSION; + +import com.activeviam.activepivot.server.impl.private_.observability.memory.AStatisticDeserializer; +import com.activeviam.activepivot.server.impl.private_.observability.memory.MemoryStatisticAdapter; +import com.activeviam.tech.core.api.exceptions.ActiveViamRuntimeException; +import com.activeviam.tech.core.api.exceptions.service.InternalServiceException; +import com.activeviam.tech.observability.api.memory.IMemoryStatistic; +import com.activeviam.tech.observability.api.memory.IStatisticAttribute; +import com.activeviam.tech.observability.internal.memory.AMemoryStatistic; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.core.JsonGenerator; +import com.fasterxml.jackson.core.JsonParser; +import com.fasterxml.jackson.core.JsonToken; +import com.fasterxml.jackson.core.json.JsonReadFeature; +import com.fasterxml.jackson.databind.DeserializationContext; +import com.fasterxml.jackson.databind.JsonDeserializer; +import com.fasterxml.jackson.databind.ObjectMapper; +import com.fasterxml.jackson.databind.ObjectReader; +import com.fasterxml.jackson.databind.module.SimpleModule; +import java.io.BufferedReader; +import java.io.File; +import java.io.FileInputStream; +import java.io.IOException; +import java.io.InputStream; +import java.io.InputStreamReader; +import java.lang.reflect.InvocationTargetException; +import java.nio.charset.StandardCharsets; +import java.nio.file.Path; +import java.util.Collection; +import java.util.Collections; +import java.util.List; +import java.util.Map; +import java.util.Objects; +import java.util.Set; +import java.util.logging.Level; +import java.util.logging.Logger; +import org.xerial.snappy.SnappyFramedInputStream; + +/** + * {@link JsonDeserializer} for {@link IMemoryStatistic}. + * + * @author ActiveViam + */ +public class RetroCompatibleDeserializer extends AStatisticDeserializer { + + /** Mapping from 6.1 to 6.0 classes */ + private static final Map CLASS_MAPPING_6_0_to_6_1 = + Map.of( + "com.qfs.monitoring.statistic.memory.impl.ChunkStatistic", + "com.activeviam.tech.observability.internal.memory.ChunkStatistic", + "com.qfs.monitoring.statistic.memory.impl.ChunkSetStatistic", + "com.activeviam.tech.observability.internal.memory.ChunkSetStatistic", + "com.qfs.monitoring.statistic.memory.impl.DefaultMemoryStatistic", + "com.activeviam.tech.observability.internal.memory.DefaultMemoryStatistic", + "com.qfs.monitoring.statistic.memory.impl.DictionaryStatistic", + "com.activeviam.tech.observability.internal.memory.DictionaryStatistic", + "com.qfs.monitoring.statistic.memory.impl.ReferenceStatistic", + "com.activeviam.tech.observability.internal.memory.ReferenceStatistic", + "com.qfs.monitoring.statistic.memory.impl.IndexStatistic", + "com.activeviam.tech.observability.internal.memory.IndexStatistic"); + + private static final Set AVAILABLE_CLASSES_6_1 = + Set.of( + "com.activeviam.tech.observability.internal.memory.ChunkStatistic", + "com.activeviam.tech.observability.internal.memory.ChunkSetStatistic", + "com.activeviam.tech.observability.internal.memory.DefaultMemoryStatistic", + "com.activeviam.tech.observability.internal.memory.DictionaryStatistic", + "com.activeviam.tech.observability.internal.memory.ReferenceStatistic", + "com.activeviam.tech.observability.internal.memory.IndexStatistic"); + + private static final Logger LOGGER = Logger.getLogger("mac.statistic.memory.deserializer"); + private static ObjectMapper serializer; + + static { + serializer = + new ObjectMapper() + .configure(JsonParser.Feature.AUTO_CLOSE_SOURCE, false) + .configure(JsonReadFeature.ALLOW_BACKSLASH_ESCAPING_ANY_CHARACTER.mappedFeature(), true) + .configure(JsonReadFeature.ALLOW_UNQUOTED_FIELD_NAMES.mappedFeature(), true) + .configure(JsonGenerator.Feature.AUTO_CLOSE_TARGET, false) + .configure(JsonReadFeature.ALLOW_NON_NUMERIC_NUMBERS.mappedFeature(), true); + serializer.setSerializationInclusion(JsonInclude.Include.NON_NULL); + + final SimpleModule deserializeModule = new SimpleModule(); + deserializeModule.addDeserializer(AMemoryStatistic.class, new RetroCompatibleDeserializer()); + serializer.registerModule(deserializeModule); + } + + @Override + public AMemoryStatistic deserialize(final JsonParser parser, final DeserializationContext ctx) + throws IOException { + if (!JsonToken.START_OBJECT.equals(parser.currentToken())) { + throw new IllegalArgumentException("Should be called at the start of an object"); + } + + parser.nextToken(); + final String name; + if (Objects.equals(readFieldName(parser), MemoryStatisticAdapter.NAME_ATTR)) { + readAndCheckFieldName(parser, MemoryStatisticAdapter.NAME_ATTR); + name = readStringField(parser); + parser.nextToken(); + } else { + name = null; + } + + final long onHeap; + if (Objects.equals(readFieldName(parser), MemoryStatisticAdapter.ON_HEAP_ATTR)) { + onHeap = readLongField(parser); + parser.nextToken(); + } else { + onHeap = -1; + } + + final long offHeap; + if (Objects.equals(readFieldName(parser), MemoryStatisticAdapter.OFF_HEAP_ATTR)) { + offHeap = readLongField(parser); + parser.nextToken(); + } else { + offHeap = -1; + } + + checkFieldName(MemoryStatisticAdapter.STATISTIC_CLASS_ATTR, readFieldName(parser)); + final String klassName = readStringField(parser); + + parser.nextToken(); + final Map attributes; + if (Objects.equals(readFieldName(parser), MemoryStatisticAdapter.ATTRIBUTES_ATTR)) { + parser.nextToken(); + attributes = parseAttributes(parser, ctx); + } else { + attributes = Collections.emptyMap(); + } + + parser.nextToken(); + final List children; + if (Objects.equals(readFieldName(parser), MemoryStatisticAdapter.CHILDREN_ATTR)) { + parser.nextToken(); + children = parseChildren(parser, ctx, AMemoryStatistic.class); + } else { + children = Collections.emptyList(); + } + + handleExcessiveAttributes(parser); + + if (!Objects.equals(parser.currentToken(), JsonToken.END_OBJECT)) { + throw new IllegalStateException( + "Unexpected additional tokens. First is " + parser.currentToken()); + } + + return createDeserialized(klassName, name, onHeap, offHeap, attributes, children); + } + + /** + * Creates the actual statistic using the parsed attributed. + * + * @param klassName name of the statistic class + * @param name name of the statistic + * @param onHeap value read for the consumed on-heap memory - negative if unset + * @param offHeap value read for the consume off-heap memory - negative if unset + * @param attributes statistic attributes + * @param children child statistics + * @return the created deserialized statistic + */ + protected AMemoryStatistic createDeserialized( + final String klassName, + final String name, + final long onHeap, + final long offHeap, + final Map attributes, + final List children) { + Class klass; + if (AVAILABLE_CLASSES_6_1.contains(klassName)) { + klass = getClass(klassName); + } else if (classNeedsTranslation(klassName)) { + klass = getClass(getClassTranslation(klassName)); + } else { + throw new InternalServiceException("Cannot find statistic class " + klassName); + } + + final AMemoryStatistic objDeserialized; + try { + objDeserialized = (AMemoryStatistic) klass.getDeclaredConstructor().newInstance(); + } catch (final InstantiationException + | IllegalAccessException + | NoSuchMethodException + | InvocationTargetException e) { + throw new InternalServiceException("Cannot create instance of " + klassName, e); + } + + try { + klass.getMethod("setAttributes", Map.class).invoke(objDeserialized, attributes); + } catch (final IllegalAccessException | InvocationTargetException | NoSuchMethodException e) { + throw new InternalServiceException("Cannot set attributes for class " + klassName, e); + } + try { + klass.getMethod("setChildren", Collection.class).invoke(objDeserialized, children); + } catch (final IllegalAccessException | InvocationTargetException | NoSuchMethodException e) { + throw new InternalServiceException("Cannot set children for class " + klassName, e); + } + + if (name != null) { + objDeserialized.setName(name); + } + if (onHeap >= 0) { + objDeserialized.setShallowOnHeap(onHeap); + } + if (offHeap >= 0) { + objDeserialized.setShallowOffHeap(offHeap); + } + + return objDeserialized; + } + + public static AMemoryStatistic readStatisticFile(final Path file) { + if (LOGGER.isLoggable(Level.FINE)) { + LOGGER.fine("Reading statistics from " + file.toAbsolutePath()); + } + final AMemoryStatistic read = readStatistic(file.toFile()); + if (LOGGER.isLoggable(Level.FINE)) { + LOGGER.fine("Statistics read from " + file.toAbsolutePath()); + } + return read; + } + + public static AMemoryStatistic readStatistic(final File file) { + + try { + try (final InputStream inputStream = inputStream(file); + final InputStreamReader statistic = + new InputStreamReader(inputStream, StandardCharsets.UTF_8)) { + final ObjectReader reader = serializer.readerFor(AMemoryStatistic.class); + return readStatisticObject(reader, statistic); + } + } catch (IOException e) { + throw new ActiveViamRuntimeException(e); + } + } + + private static AMemoryStatistic readStatisticObject( + ObjectReader reader, InputStreamReader statistic) { + try { + return reader.readValue(new BufferedReader(statistic)); + } catch (final IOException e) { + throw new ActiveViamRuntimeException(e); + } + } + + private static InputStream inputStream(final File file) throws IOException { + final boolean isCompressedFile = file.getName().endsWith("." + COMPRESSED_FILE_EXTENSION); + + InputStream inputStream = + new FileInputStream(file); // NOSONAR: used in try-with-resources above + if (isCompressedFile) { + inputStream = new SnappyFramedInputStream(inputStream); + } + return inputStream; + } + + private static String getClassTranslation(final String klassName) { + return CLASS_MAPPING_6_0_to_6_1.get(klassName); + } + + private static boolean classNeedsTranslation(final String klassName) { + return CLASS_MAPPING_6_0_to_6_1.containsKey(klassName); + } + + private static Class getClass(final String klassName) { + Class klass; + try { + klass = Class.forName(klassName); + } catch (final ClassNotFoundException notFound) { + throw new InternalServiceException("Cannot get class " + klassName, notFound); + } + return klass; + } +} diff --git a/src/test/java/com/activeviam/mac/statistic/memory/scenarios/TestMissingChunkId.java b/src/test/java/com/activeviam/mac/statistic/memory/scenarios/TestMissingChunkId.java index 4ce966be..8626f166 100644 --- a/src/test/java/com/activeviam/mac/statistic/memory/scenarios/TestMissingChunkId.java +++ b/src/test/java/com/activeviam/mac/statistic/memory/scenarios/TestMissingChunkId.java @@ -11,14 +11,13 @@ import com.activeviam.activepivot.core.intf.api.description.IActivePivotManagerDescription; import com.activeviam.activepivot.server.impl.api.query.MDXQuery; import com.activeviam.activepivot.server.impl.api.query.MdxQueryUtil; -import com.activeviam.activepivot.server.impl.private_.observability.memory.MemoryStatisticSerializerUtil; import com.activeviam.activepivot.server.intf.api.dto.CellSetDTO; import com.activeviam.database.datastore.api.description.IDatastoreSchemaDescription; import com.activeviam.database.datastore.internal.IInternalDatastore; import com.activeviam.mac.cfg.impl.ManagerDescriptionConfig; import com.activeviam.mac.memory.MemoryAnalysisDatastoreDescriptionConfig; import com.activeviam.mac.statistic.memory.ATestMemoryStatistic; -import com.activeviam.tech.core.api.exceptions.ActiveViamRuntimeException; +import com.activeviam.mac.statistic.memory.deserializer.RetroCompatibleDeserializer; import com.activeviam.tech.core.api.query.QueryException; import com.activeviam.tech.core.api.registry.Registry; import com.activeviam.tech.observability.internal.memory.AMemoryStatistic; @@ -69,14 +68,8 @@ protected ApplicationInTests createAnalysisApplication() { protected Collection loadMemoryStatistic(final Path path) throws IOException { return Files.list(path) - .map( - file -> { - try { - return MemoryStatisticSerializerUtil.readStatisticFile(file.toFile()); - } catch (IOException exception) { - throw new ActiveViamRuntimeException(exception); - } - }) + .map(Path::toFile) + .map(RetroCompatibleDeserializer::readStatistic) .collect(Collectors.toList()); } From 670da99d9da96cfa55531232d682fe1f8247cd50 Mon Sep 17 00:00:00 2001 From: lha Date: Thu, 5 Dec 2024 10:28:54 +0100 Subject: [PATCH 06/13] fix code smells --- .../impl/ActiveUiResourceServerConfig.java | 3 - .../activeviam/mac/cfg/impl/SourceConfig.java | 23 ++++--- .../mac/cfg/security/impl/CorsConfig.java | 6 +- .../mac/cfg/security/impl/SecurityConfig.java | 13 ++-- .../mac/memory/ChunkRecordHandler.java | 35 ++++++----- .../visitor/impl/PivotFeederVisitor.java | 62 +++++++++---------- .../memory/TestVectorBlockBookmark.java | 14 ++--- 7 files changed, 84 insertions(+), 72 deletions(-) diff --git a/src/main/java/com/activeviam/mac/cfg/impl/ActiveUiResourceServerConfig.java b/src/main/java/com/activeviam/mac/cfg/impl/ActiveUiResourceServerConfig.java index 8215b7ff..ca7dde52 100644 --- a/src/main/java/com/activeviam/mac/cfg/impl/ActiveUiResourceServerConfig.java +++ b/src/main/java/com/activeviam/mac/cfg/impl/ActiveUiResourceServerConfig.java @@ -41,9 +41,6 @@ protected void registerRedirections(final ResourceRegistry registry) { protected void registerExtensions(final ResourceRegistry registry) { registry.serve("/ui/extensions*.json").addResourceLocations("classpath:/static/activeui/"); - // registry - // .serve("/ui/extensions/text-editor-extension/**/*.js") - // .addResourceLocations("classpath:/static/activeui/extensions/text-editor-extension/"); } /** diff --git a/src/main/java/com/activeviam/mac/cfg/impl/SourceConfig.java b/src/main/java/com/activeviam/mac/cfg/impl/SourceConfig.java index 0f3a3047..d44ece25 100644 --- a/src/main/java/com/activeviam/mac/cfg/impl/SourceConfig.java +++ b/src/main/java/com/activeviam/mac/cfg/impl/SourceConfig.java @@ -41,7 +41,6 @@ import java.util.logging.Logger; import java.util.stream.Collectors; import java.util.stream.Stream; -import org.springframework.beans.factory.annotation.Autowired; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.context.annotation.Lazy; @@ -60,10 +59,15 @@ public class SourceConfig { private static final Logger LOGGER = Logger.getLogger(Loggers.LOADING); /** Autowired {@link Datastore} to be fed by this source. */ - @Autowired protected IInternalDatastore datastore; + protected IInternalDatastore datastore; /** Spring environment, automatically wired. */ - @Autowired protected Environment env; + protected Environment env; + + public SourceConfig(final IInternalDatastore datastore, final Environment env) { + this.datastore = datastore; + this.env = env; + } /** * Provides a {@link DirectoryCsvTopic topic}. @@ -129,9 +133,14 @@ protected Path resolveDirectory(final String name) { e); } } - if (url == null - || !Files.isDirectory(directory = Paths.get(URI.create(url.toExternalForm())))) { - throw new IllegalArgumentException("'" + name + "' could not be resolved to a directory."); + if (url != null) { + directory = Paths.get(URI.create(url.toExternalForm())); + if (!Files.isDirectory(directory)) { + throw new IllegalArgumentException( + "'" + name + "' could not be resolved to a directory."); + } + } else { + throw new IllegalArgumentException("could not find '" + name + "' in the classpath."); } } return directory; @@ -207,7 +216,7 @@ private Map> collectDumpFiles( } private Path getStatisticFolder() { - return resolveDirectory(this.env.getRequiredProperty("statistic.folder")); + return resolveDirectory(this.env.getRequiredProperty(STATISTIC_FOLDER_PROPERTY)); } private void loadDumps(final Map> dumpFiles) { diff --git a/src/main/java/com/activeviam/mac/cfg/security/impl/CorsConfig.java b/src/main/java/com/activeviam/mac/cfg/security/impl/CorsConfig.java index 68d27425..bff9644d 100644 --- a/src/main/java/com/activeviam/mac/cfg/security/impl/CorsConfig.java +++ b/src/main/java/com/activeviam/mac/cfg/security/impl/CorsConfig.java @@ -35,11 +35,15 @@ public class CorsConfig implements ICorsConfig { /** The name of the Environment to use. */ - @Autowired protected Environment env; + protected Environment env; /** The address the UI is exposed to. */ public static final String ACTIVEUI_ADDRESS = "activeui.address"; + public CorsConfig(@Autowired Environment env) { + this.env = env; + } + @Override public List getAllowedOrigins() { return Collections.singletonList(env.getRequiredProperty(ACTIVEUI_ADDRESS)); diff --git a/src/main/java/com/activeviam/mac/cfg/security/impl/SecurityConfig.java b/src/main/java/com/activeviam/mac/cfg/security/impl/SecurityConfig.java index 58049ed6..3435e26d 100644 --- a/src/main/java/com/activeviam/mac/cfg/security/impl/SecurityConfig.java +++ b/src/main/java/com/activeviam/mac/cfg/security/impl/SecurityConfig.java @@ -74,17 +74,20 @@ public class SecurityConfig { private static final String PING_SUFFIX = "/ping"; /** The User Configuration. */ - @Autowired protected UserConfig userDetailsConfig; + protected UserConfig userDetailsConfig; /** The JWT Configuration. */ - @Autowired protected IJwtConfig jwtConfig; + protected IJwtConfig jwtConfig; /** The name of the Environment to use. */ - @Autowired protected Environment env; - + protected Environment env; /** {@code true} to enable the logout URL. */ protected final WebConfiguration webConfiguration; - public SecurityConfig() { + public SecurityConfig( + final UserConfig userDetailsConfig, final IJwtConfig jwtConfig, final Environment env) { + this.userDetailsConfig = userDetailsConfig; + this.jwtConfig = jwtConfig; + this.env = env; this.webConfiguration = new WebConfiguration(COOKIE_NAME); } diff --git a/src/main/java/com/activeviam/mac/memory/ChunkRecordHandler.java b/src/main/java/com/activeviam/mac/memory/ChunkRecordHandler.java index 4d4fc6a6..4a8e7b22 100644 --- a/src/main/java/com/activeviam/mac/memory/ChunkRecordHandler.java +++ b/src/main/java/com/activeviam/mac/memory/ChunkRecordHandler.java @@ -87,9 +87,10 @@ private IRecordReader createMergedRecord( } } - private void init(final IRecordReader record, final IDictionaryProvider dictionaryProvider) { + private void init( + final IRecordReader recordReader, final IDictionaryProvider dictionaryProvider) { if (this.sharedPartitionId < 0) { - final int dicIdIdx = getPartition(record); + final int dicIdIdx = getPartition(recordReader); @SuppressWarnings("unchecked") final IWritableDictionary partitionDictionary = (IWritableDictionary) dictionaryProvider.getDictionary(dicIdIdx); @@ -97,7 +98,7 @@ private void init(final IRecordReader record, final IDictionaryProvider dictiona partitionDictionary.map(MemoryAnalysisDatastoreDescriptionConfig.MANY_PARTITIONS); } if (this.defaultDicId < 0) { - final int dicIdIdx = getDicId(record); + final int dicIdIdx = getDicId(recordReader); @SuppressWarnings("unchecked") final IWritableDictionary dicIdDictionary = (IWritableDictionary) dictionaryProvider.getDictionary(dicIdIdx); @@ -105,7 +106,7 @@ private void init(final IRecordReader record, final IDictionaryProvider dictiona dicIdDictionary.map(MemoryAnalysisDatastoreDescriptionConfig.DEFAULT_COMPONENT_ID_VALUE); } if (this.defaultIdxId < 0) { - final int idxIdIdx = getIdxId(record); + final int idxIdIdx = getIdxId(recordReader); @SuppressWarnings("unchecked") final IWritableDictionary idxIdDictionary = (IWritableDictionary) dictionaryProvider.getDictionary(idxIdIdx); @@ -114,7 +115,7 @@ private void init(final IRecordReader record, final IDictionaryProvider dictiona } if (this.defaultRefId < 0) { - final int refIdIdx = getRefId(record); + final int refIdIdx = getRefId(recordReader); @SuppressWarnings("unchecked") final IWritableDictionary refIdDictionary = (IWritableDictionary) dictionaryProvider.getDictionary(refIdIdx); @@ -123,31 +124,31 @@ private void init(final IRecordReader record, final IDictionaryProvider dictiona } } - private int getPartition(final IRecordReader record) { - return record.getFormat().getFieldIndex(DatastoreConstants.CHUNK__PARTITION_ID); + private int getPartition(final IRecordReader recordReader) { + return recordReader.getFormat().getFieldIndex(DatastoreConstants.CHUNK__PARTITION_ID); } - private int getDicId(final IRecordReader record) { - return record.getFormat().getFieldIndex(DatastoreConstants.CHUNK__PARENT_DICO_ID); + private int getDicId(final IRecordReader recordReader) { + return recordReader.getFormat().getFieldIndex(DatastoreConstants.CHUNK__PARENT_DICO_ID); } - private int getIdxId(final IRecordReader record) { - return record.getFormat().getFieldIndex(DatastoreConstants.CHUNK__PARENT_INDEX_ID); + private int getIdxId(final IRecordReader recordReader) { + return recordReader.getFormat().getFieldIndex(DatastoreConstants.CHUNK__PARENT_INDEX_ID); } - private int getRefId(final IRecordReader record) { - return record.getFormat().getFieldIndex(DatastoreConstants.CHUNK__PARENT_REF_ID); + private int getRefId(final IRecordReader recordReader) { + return recordReader.getFormat().getFieldIndex(DatastoreConstants.CHUNK__PARENT_REF_ID); } private String getChunkClassName( - final IRecordReader record, final IDictionaryProvider dictionaryProvider) { - final int partitionIdx = getPartition(record); - final int idx = record.getFormat().getFieldIndex(DatastoreConstants.CHUNK__CLASS); + final IRecordReader recordReader, final IDictionaryProvider dictionaryProvider) { + final int partitionIdx = getPartition(recordReader); + final int idx = recordReader.getFormat().getFieldIndex(DatastoreConstants.CHUNK__CLASS); @SuppressWarnings("unchecked") final IWritableDictionary refIdDictionary = (IWritableDictionary) dictionaryProvider.getDictionary(partitionIdx); - return (String) refIdDictionary.read((Integer) record.read(idx)); + return (String) refIdDictionary.read((Integer) recordReader.read(idx)); } private IWritableRecord copyRecord(final IRecordReader record) { diff --git a/src/main/java/com/activeviam/mac/statistic/memory/visitor/impl/PivotFeederVisitor.java b/src/main/java/com/activeviam/mac/statistic/memory/visitor/impl/PivotFeederVisitor.java index 3247120f..8d45733a 100644 --- a/src/main/java/com/activeviam/mac/statistic/memory/visitor/impl/PivotFeederVisitor.java +++ b/src/main/java/com/activeviam/mac/statistic/memory/visitor/impl/PivotFeederVisitor.java @@ -151,39 +151,37 @@ private static String getProviderCategory(final IMemoryStatistic stat) { * MemoryStatisticConstants#STAT_NAME_MANAGER} named statistic */ public void startFrom(final AMemoryStatistic stat) { + if (this.current != null) { + throw new IllegalArgumentException("Cannot reuse a feed instance"); + } + final IStatisticAttribute dateAtt = stat.getAttribute(MemoryStatisticConstants.ATTR_NAME_DATE); + this.current = + Instant.ofEpochSecond(null != dateAtt ? dateAtt.asLong() : System.currentTimeMillis()); + readEpochAndBranchIfAny(stat); + if (this.epochId == null && stat.getName().equals(MemoryStatisticConstants.STAT_NAME_MANAGER)) { + // Look amongst the children to find the epoch + findEpoch(stat); + } - if (this.current == null) { - final IStatisticAttribute dateAtt = - stat.getAttribute(MemoryStatisticConstants.ATTR_NAME_DATE); - - this.current = - Instant.ofEpochSecond(null != dateAtt ? dateAtt.asLong() : System.currentTimeMillis()); - - readEpochAndBranchIfAny(stat); - if (this.epochId == null - && stat.getName().equals(MemoryStatisticConstants.STAT_NAME_MANAGER)) { - // Look amongst the children to find the epoch - for (final IMemoryStatistic child : stat.getChildren()) { - readEpochAndBranchIfAny(child); - if (this.epochId != null) { - break; - } - } - } + FeedVisitor.includeApplicationInfoIfAny(this.transaction, this.current, this.dumpName, stat); - FeedVisitor.includeApplicationInfoIfAny(this.transaction, this.current, this.dumpName, stat); + try { + stat.accept(this); + } catch (final RuntimeException e) { + if (Boolean.TRUE.equals(DEBUG)) { + final StatisticTreePrinter printer = DebugVisitor.createDebugPrinter(stat); + printer.print(); + } + throw e; + } + } - try { - stat.accept(this); - } catch (final RuntimeException e) { - if (Boolean.TRUE.equals(DEBUG)) { - final StatisticTreePrinter printer = DebugVisitor.createDebugPrinter(stat); - printer.print(); - } - throw e; + private void findEpoch(AMemoryStatistic stat) { + for (final IMemoryStatistic child : stat.getChildren()) { + readEpochAndBranchIfAny(child); + if (this.epochId != null) { + break; } - } else { - throw new RuntimeException("Cannot reuse a feed instance"); } } @@ -591,9 +589,9 @@ private boolean readEpochAndBranchIfAny(final IMemoryStatistic stat) { final IStatisticAttribute branchAttr = stat.getAttribute(MemoryStatisticConstants.ATTR_NAME_BRANCH); if (branchAttr != null) { - final String branch = branchAttr.asText(); - assert this.branch == null || this.branch.equals(branch); - this.branch = branch; + final String branchAttrText = branchAttr.asText(); + assert this.branch == null || this.branch.equals(branchAttrText); + this.branch = branchAttrText; epochOrBranchChanged = true; } diff --git a/src/test/java/com/activeviam/mac/statistic/memory/TestVectorBlockBookmark.java b/src/test/java/com/activeviam/mac/statistic/memory/TestVectorBlockBookmark.java index fc16f3e1..914447d3 100644 --- a/src/test/java/com/activeviam/mac/statistic/memory/TestVectorBlockBookmark.java +++ b/src/test/java/com/activeviam/mac/statistic/memory/TestVectorBlockBookmark.java @@ -58,7 +58,7 @@ public void setup() { .forEach(i -> tm.add("A", i * i, new double[] {i}, new double[] {-i, -i * i}))); // Force to discard all versions - this.monitoredApp.getDatabase().getEpochManager().forceDiscardEpochs(__ -> true); + this.monitoredApp.getDatabase().getEpochManager().forceDiscardEpochs(epoch -> true); // perform GCs before exporting the store data performGC(); @@ -102,7 +102,7 @@ public void tearDown() throws AgentException { } @Test - public void testVectorBlockRecordConsumptionIsZero() throws QueryException { + void testVectorBlockRecordConsumptionIsZero() throws QueryException { final MDXQuery recordQuery = new MDXQuery( "SELECT [Components].[Component].[Component].[RECORDS] ON ROWS," @@ -119,7 +119,7 @@ public void testVectorBlockRecordConsumptionIsZero() throws QueryException { } @Test - public void testVectorBlockConsumption() throws QueryException { + void testVectorBlockConsumption() throws QueryException { final MDXQuery vectorBlockQueryField1 = new MDXQuery( "SELECT {" @@ -143,8 +143,8 @@ public void testVectorBlockConsumption() throws QueryException { ((ADDED_DATA_SIZE * 2 + ADDED_DATA_SIZE) / MICROAPP_VECTOR_BLOCK_SIZE) + 1; final var directMemoryUsedOnVector = blockCountUsed * MICROAPP_VECTOR_BLOCK_SIZE * Double.BYTES; - assertThat((long) result1.getCells().get(1).getValue()).isEqualTo(directMemoryUsedOnVector); assertThat((long) result1.getCells().get(1).getValue()) + .isEqualTo(directMemoryUsedOnVector) .isEqualTo((long) result1.getCells().get(0).getValue()); final MDXQuery vectorBlockQueryField2 = @@ -163,13 +163,13 @@ public void testVectorBlockConsumption() throws QueryException { final CellSetDTO result2 = MdxQueryUtil.execute(this.monitoringApp.getManager(), vectorBlockQueryField2); - assertThat((long) result2.getCells().get(1).getValue()).isEqualTo(directMemoryUsedOnVector); assertThat((long) result2.getCells().get(1).getValue()) + .isEqualTo(directMemoryUsedOnVector) .isEqualTo((long) result2.getCells().get(0).getValue()); } @Test - public void testVectorBlockLength() throws QueryException { + void testVectorBlockLength() throws QueryException { final MDXQuery lengthQuery = new MDXQuery( "SELECT [Measures].[VectorBlock.Length] ON COLUMNS" @@ -186,7 +186,7 @@ public void testVectorBlockLength() throws QueryException { } @Test - public void testVectorBlockRefCount() throws QueryException { + void testVectorBlockRefCount() throws QueryException { final MDXQuery refCountQuery = new MDXQuery( "SELECT [Measures].[VectorBlock.RefCount] ON COLUMNS" From feaaf8f2c9db0fba1821f5cef8eae89be9cecde6 Mon Sep 17 00:00:00 2001 From: Olivier Peyrusse Date: Thu, 5 Dec 2024 15:11:09 +0100 Subject: [PATCH 07/13] Clean the code after the review --- pom.xml | 42 +--- .../impl/ActiveUiResourceServerConfig.java | 106 --------- .../mac/cfg/impl/ContentServiceConfig.java | 27 +-- .../mac/cfg/impl/MacServerConfig.java | 88 ++++---- .../impl/NoWriteDatastoreServiceConfig.java | 86 -------- .../activeviam/mac/cfg/impl/SourceConfig.java | 14 +- .../mac/cfg/security/impl/CorsConfig.java | 15 +- .../mac/cfg/security/impl/SecurityConfig.java | 206 +----------------- .../mac/cfg/security/impl/UserConfig.java | 3 +- .../mac/memory/AnalysisDatastoreFeeder.java | 34 +-- .../visitor/impl/ADatastoreFeedVisitor.java | 6 +- .../memory/visitor/impl/AFeedVisitor.java | 24 +- .../impl/AFeedVisitorWithDictionary.java | 11 +- .../impl/ChunkSetStatisticVisitor.java | 23 +- .../visitor/impl/DatastoreFeederVisitor.java | 36 +-- .../memory/visitor/impl/FeedVisitor.java | 30 ++- .../visitor/impl/LevelStatisticVisitor.java | 12 +- .../visitor/impl/PivotFeederVisitor.java | 40 ++-- .../visitor/impl/VectorStatisticVisitor.java | 18 +- src/main/resources/application.yml | 12 - src/main/resources/static/activeui/env.js | 14 -- src/main/resources/static/atoti-ui/env.js | 19 ++ .../{activeui => atoti-ui}/extensions.json | 4 +- .../static/js/492.84c9d447.js | 0 .../static/js/7.b5b094db.chunk.js | 0 .../static/js/main.6b2474f9.js | 0 .../text-editor-extension.js | 0 27 files changed, 222 insertions(+), 648 deletions(-) delete mode 100644 src/main/java/com/activeviam/mac/cfg/impl/ActiveUiResourceServerConfig.java delete mode 100644 src/main/java/com/activeviam/mac/cfg/impl/NoWriteDatastoreServiceConfig.java delete mode 100644 src/main/resources/static/activeui/env.js create mode 100644 src/main/resources/static/atoti-ui/env.js rename src/main/resources/static/{activeui => atoti-ui}/extensions.json (54%) rename src/main/resources/static/{activeui => atoti-ui}/extensions/text-editor-extension/static/js/492.84c9d447.js (100%) rename src/main/resources/static/{activeui => atoti-ui}/extensions/text-editor-extension/static/js/7.b5b094db.chunk.js (100%) rename src/main/resources/static/{activeui => atoti-ui}/extensions/text-editor-extension/static/js/main.6b2474f9.js (100%) rename src/main/resources/static/{activeui => atoti-ui}/extensions/text-editor-extension/text-editor-extension.js (100%) diff --git a/pom.xml b/pom.xml index 849ae181..c3240feb 100644 --- a/pom.xml +++ b/pom.xml @@ -12,7 +12,7 @@ com.activeviam.tools mac - 3.0.0-SNAPSHOT + 3.1.0-SNAPSHOT Atoti Server Memory Analysis Cube @@ -23,10 +23,9 @@ - 11 + 21 6.1.3-SNAPSHOT - 5.2.0-beta 10.1.30 @@ -65,36 +64,17 @@ atoti-server-starter ${atoti-server.version} + + com.activeviam.springboot + atoti-ui-starter + ${atoti-server.version} + org.projectlombok lombok provided - - - com.activeviam.activepivot - activepivot-server-spring - - - - - - com.activeviam.tech - composer-core - compile - - - - com.activeviam.tech - content-server-spring - - - com.activeviam.web - activeviam-web-spring - - org.hibernate @@ -111,14 +91,6 @@ 6.4.10.Final - - - com.activeviam.activeui - activeui - ${atoti-ui.version} - runtime - - org.springframework.boot diff --git a/src/main/java/com/activeviam/mac/cfg/impl/ActiveUiResourceServerConfig.java b/src/main/java/com/activeviam/mac/cfg/impl/ActiveUiResourceServerConfig.java deleted file mode 100644 index ca7dde52..00000000 --- a/src/main/java/com/activeviam/mac/cfg/impl/ActiveUiResourceServerConfig.java +++ /dev/null @@ -1,106 +0,0 @@ -/* - * (C) ActiveViam 2016 - * ALL RIGHTS RESERVED. This material is the CONFIDENTIAL and PROPRIETARY - * property of ActiveViam. Any unauthorized use, - * reproduction or transfer of this material is strictly prohibited - */ - -package com.activeviam.mac.cfg.impl; - -import com.activeviam.web.spring.internal.config.ASpringResourceServerConfig; -import java.util.Collections; -import java.util.Set; -import org.springframework.context.annotation.Configuration; - -/** - * Spring configuration for Atoti UI web application. - * - * @author ActiveViam - */ -@Configuration -public class ActiveUiResourceServerConfig extends ASpringResourceServerConfig { - - /** The namespace of the Atoti UI web application. */ - public static final String NAMESPACE = "ui"; - - /** Constructor. */ - public ActiveUiResourceServerConfig() { - super("/" + NAMESPACE); - } - - @Override - protected void registerRedirections(final ResourceRegistry registry) { - super.registerRedirections(registry); - // Redirect from the root to ActiveUI - registry.redirectTo(NAMESPACE + "/index.html", "/"); - // Redirect the calls to env*.js to the AP ones rather than the default of the ActiveUI apps - registry.serve("/content/ui/env*.js").addResourceLocations("classpath:/static/content/"); - registry.serve("/ui/env*.js").addResourceLocations("classpath:/static/activeui/"); - registerExtensions(registry); - } - - protected void registerExtensions(final ResourceRegistry registry) { - registry.serve("/ui/extensions*.json").addResourceLocations("classpath:/static/activeui/"); - } - - /** - * Registers resources to serve. - * - * @param registry registry to use - */ - @Override - protected void registerResources(final ResourceRegistry registry) { - super.registerResources(registry); - - // ActiveUI web app also serves request to the root, so that the redirection from root to - // ActiveUI works - registry - .serve("/") - .addResourceLocations("/", "classpath:META-INF/resources/") - .setCacheControl(getDefaultCacheControl()); - } - - /** - * Gets the extensions of files to serve. - * - * @return all files extensions - */ - @Override - public Set getServedExtensions() { - return Set.of( - // Default HTML files - "html", - "js", - "css", - "map", - "json", - // Image extensions - "png", - "jpg", - "gif", - "ico", - // Font extensions - "eot", - "svg", - "ttf", - "woff", - "woff2"); - } - - @Override - public Set getServedDirectories() { - return Collections.singleton("/"); - } - - @Override - public Set getResourceLocations() { - // ActiveUI is integrated in the sandbox project thanks to Maven integration. - // You can read more about this feature here - // https://support.activeviam.com/documentation/activeui/4.2.0/dev/setup/maven-integration.html - - return Set.of( - "/activeui/", // index.html, favicon.ico, etc. - "classpath:META-INF/resources/webjars/activeui/"); // ActiveUI SDK UMD scripts - // and supporting assets - } -} diff --git a/src/main/java/com/activeviam/mac/cfg/impl/ContentServiceConfig.java b/src/main/java/com/activeviam/mac/cfg/impl/ContentServiceConfig.java index b94d5fc8..c9c13d71 100644 --- a/src/main/java/com/activeviam/mac/cfg/impl/ContentServiceConfig.java +++ b/src/main/java/com/activeviam/mac/cfg/impl/ContentServiceConfig.java @@ -29,11 +29,11 @@ import java.util.Map; import java.util.Properties; import javax.sql.DataSource; +import lombok.RequiredArgsConstructor; import org.hibernate.HibernateException; import org.hibernate.SessionFactory; import org.hibernate.cfg.AvailableSettings; import org.springframework.beans.factory.BeanInitializationException; -import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.context.properties.ConfigurationProperties; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; @@ -52,21 +52,9 @@ * @author ActiveViam */ @Configuration +@RequiredArgsConstructor public class ContentServiceConfig implements IActivePivotContentServiceConfig { - /** - * The name of the property which contains the role allowed to add new calculated members in the - * configuration service. - */ - public static final String CALCULATED_MEMBER_ROLE_PROPERTY = - "contentServer.security.calculatedMemberRole"; - - /** - * The name of the property which contains the role allowed to add new KPIs in the configuration - * service. - */ - public static final String KPI_ROLE_PROPERTY = "contentServer.security.kpiRole"; - /** * The name of the property that controls whether or not to force the reloading of the predefined * bookmarks even if they were already loaded previously. @@ -76,8 +64,7 @@ public class ContentServiceConfig implements IActivePivotContentServiceConfig { /** The name of the property that precise the name of the folder the bookmarks are in. */ public static final String UI_FOLDER_PROPERTY = "bookmarks.folder"; - /** Instance of the Spring context environment. */ - @Autowired public Environment env; + private final Environment env; /** * Loads the Hibernate's configuration from the specified file. @@ -164,18 +151,16 @@ public IActivePivotContentService activePivotContentService() { return new ActivePivotContentServiceBuilder() .with(contentService()) .withCacheForEntitlements(-1) - .needInitialization( - this.env.getRequiredProperty(CALCULATED_MEMBER_ROLE_PROPERTY), - this.env.getRequiredProperty(KPI_ROLE_PROPERTY)) + .needInitialization(SecurityConfig.ROLE_USER, SecurityConfig.ROLE_USER) .build(); } private Map> defaultBookmarkPermissions() { return Map.of( Role.OWNERS, - List.of(SecurityConfig.ROLE_CS_ROOT), + List.of(SecurityConfig.ROLE_USER), Role.READERS, - List.of(SecurityConfig.ROLE_CS_ROOT)); + List.of(SecurityConfig.ROLE_USER)); } /** diff --git a/src/main/java/com/activeviam/mac/cfg/impl/MacServerConfig.java b/src/main/java/com/activeviam/mac/cfg/impl/MacServerConfig.java index b29d2d16..4fbe7cd1 100644 --- a/src/main/java/com/activeviam/mac/cfg/impl/MacServerConfig.java +++ b/src/main/java/com/activeviam/mac/cfg/impl/MacServerConfig.java @@ -10,15 +10,11 @@ import com.activeviam.activepivot.server.spring.api.config.IActivePivotConfig; import com.activeviam.activepivot.server.spring.api.config.IActivePivotContentServiceConfig; import com.activeviam.activepivot.server.spring.api.config.IDatastoreConfig; -import com.activeviam.activepivot.server.spring.private_.config.impl.ActivePivotServicesConfig; -import com.activeviam.activepivot.server.spring.private_.config.impl.ActiveViamRestServicesConfig; -import com.activeviam.activepivot.server.spring.private_.config.impl.ActiveViamWebSocketServicesConfig; import com.activeviam.mac.cfg.security.impl.SecurityConfig; import com.activeviam.mac.cfg.security.impl.UserConfig; import com.activeviam.tech.core.api.agent.AgentException; import com.activeviam.web.spring.internal.JMXEnabler; import com.activeviam.web.spring.internal.config.JwtConfig; -import com.activeviam.web.spring.internal.config.JwtRestServiceConfig; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.context.event.ApplicationReadyEvent; import org.springframework.context.annotation.Bean; @@ -32,63 +28,71 @@ * Spring configuration of the ActivePivot Sandbox application. * *

We use {@link PropertySource} annotation(s) to define some .properties file(s), whose content - * will be loaded into the Spring {@link Environment}, allowing some externally-driven configuration - * of the application. Parameters can be quickly changed by modifying the {@code sandbox.properties} - * file. + * will be loaded into the Spring {@link Environment}, allowing some externally-driven configuration of the + * application. Parameters can be quickly changed by modifying the {@code sandbox.properties} file. * *

We use {@link Import} annotation(s) to reference additional Spring {@link Configuration} - * classes, so that we can manage the application configuration in a modular way (split by - * domain/feature, re-use of core config, override of core config, customized config, etc...). + * classes, so that we can manage the application configuration in a modular way (split by domain/feature, re-use + * of core config, override of core config, customized config, etc...). * *

Spring best practices recommends not to have arguments in bean methods if possible. One should - * rather autowire the appropriate spring configurations (and not beans directly unless necessary), - * and use the beans from there. + * rather autowire the appropriate spring configurations (and not beans directly unless necessary), and use the + * beans from there. * * @author ActiveViam */ @Configuration @Import( value = { - JwtRestServiceConfig.class, - JwtConfig.class, - ManagerDescriptionConfig.class, - - // Pivot - ActivePivotWithDatastoreConfig.class, - NoWriteDatastoreServiceConfig.class, - ActivePivotServicesConfig.class, - ActiveViamRestServicesConfig.class, - ActiveViamWebSocketServicesConfig.class, - - // Content server - ContentServiceConfig.class, - ActiveUiResourceServerConfig.class, - - // Specific to monitoring server - SecurityConfig.class, - UserConfig.class, - SourceConfig.class, + JwtConfig.class, + ManagerDescriptionConfig.class, + + // Pivot + ActivePivotWithDatastoreConfig.class, + + // Content server + ContentServiceConfig.class, + + // Specific to monitoring server + SecurityConfig.class, + UserConfig.class, + SourceConfig.class, }) public class MacServerConfig { - /** Datastore spring configuration. */ - @Autowired protected IDatastoreConfig datastoreConfig; + /** + * Datastore spring configuration. + */ + @Autowired + protected IDatastoreConfig datastoreConfig; - /** ActivePivot spring configuration. */ - @Autowired protected IActivePivotConfig apConfig; + /** + * ActivePivot spring configuration. + */ + @Autowired + protected IActivePivotConfig apConfig; - /** ActivePivot content service spring configuration. */ - @Autowired protected IActivePivotContentServiceConfig apContentServiceConfig; + /** + * ActivePivot content service spring configuration. + */ + @Autowired + protected IActivePivotContentServiceConfig apContentServiceConfig; - /** Content Service configuration. */ - @Autowired protected ContentServiceConfig contentServiceConfig; + /** + * Content Service configuration. + */ + @Autowired + protected ContentServiceConfig contentServiceConfig; - /** Spring configuration of the source files of the Memory Analysis Cube application. */ - @Autowired protected SourceConfig sourceConfig; + /** + * Spring configuration of the source files of the Memory Analysis Cube application. + */ + @Autowired + protected SourceConfig sourceConfig; /** - * Initialize and start the ActivePivot Manager, after performing all the injections into the - * ActivePivot plug-ins. + * Initialize and start the ActivePivot Manager, after performing all the injections into the ActivePivot + * plug-ins. * * @return void */ diff --git a/src/main/java/com/activeviam/mac/cfg/impl/NoWriteDatastoreServiceConfig.java b/src/main/java/com/activeviam/mac/cfg/impl/NoWriteDatastoreServiceConfig.java deleted file mode 100644 index e3c1aa11..00000000 --- a/src/main/java/com/activeviam/mac/cfg/impl/NoWriteDatastoreServiceConfig.java +++ /dev/null @@ -1,86 +0,0 @@ -/* - * (C) ActiveViam 2019 - * ALL RIGHTS RESERVED. This material is the CONFIDENTIAL and PROPRIETARY - * property of ActiveViam. Any unauthorized use - * reproduction or transfer of this material is strictly prohibited - */ - -package com.activeviam.mac.cfg.impl; - -import com.activeviam.activepivot.server.intf.api.database.config.ITablePermissions; -import com.activeviam.activepivot.server.intf.api.database.config.ITableSecurity; -import com.activeviam.activepivot.server.spring.private_.rest.database.ADatabaseServiceConfig; -import java.util.Collections; -import java.util.HashMap; -import java.util.Map; -import java.util.Set; -import org.springframework.context.annotation.Configuration; - -/** Configuration preventing any edition to the datastore from the remote services. */ -@Configuration -public class NoWriteDatastoreServiceConfig extends ADatabaseServiceConfig { - - /** - * A constant for store security. - * - *

This allows to read any fields but forbids all updates. - */ - protected static final ITableSecurity defaultStoreSecurity = - new ITableSecurity() { - - @Override - public boolean isDeletingRecordsAllowed() { - return false; - } - - @Override - public boolean isAddingNewRecordsAllowed() { - return false; - } - - @Override - public ITablePermissions getTablePermissions() { - return new ITablePermissions() { - - @Override - public Set getTableWriterRoles() { - return Collections.emptySet(); - } - - @Override - public Set getTableReaderRoles() { - return Collections.emptySet(); - } - - @Override - public boolean canWriteField(String field, Set roles) { - return false; - } - - @Override - public boolean canReadField(String field, Set roles) { - return true; - } - }; - } - }; - /** - * A constant for the map which will always return the same store security, also defined as a - * constant below. - */ - protected static final Map storesSecurityMap = - new HashMap<>() { - - private static final long serialVersionUID = 5_08_00L; - - @Override - public ITableSecurity get(Object key) { - return containsKey(key) ? super.get(key) : defaultStoreSecurity; - } - }; - - /** Constructor. */ - public NoWriteDatastoreServiceConfig() { - super(Collections.emptyMap(), Collections.emptyMap(), storesSecurityMap, DEFAULT_QUERY_TIMEOUT); - } -} diff --git a/src/main/java/com/activeviam/mac/cfg/impl/SourceConfig.java b/src/main/java/com/activeviam/mac/cfg/impl/SourceConfig.java index d44ece25..c9286c3b 100644 --- a/src/main/java/com/activeviam/mac/cfg/impl/SourceConfig.java +++ b/src/main/java/com/activeviam/mac/cfg/impl/SourceConfig.java @@ -10,7 +10,7 @@ import static java.util.stream.Collectors.mapping; import static java.util.stream.Collectors.toUnmodifiableList; -import com.activeviam.database.datastore.internal.IInternalDatastore; +import com.activeviam.database.datastore.api.IDatastore; import com.activeviam.database.datastore.internal.impl.Datastore; import com.activeviam.mac.Loggers; import com.activeviam.mac.memory.AnalysisDatastoreFeeder; @@ -41,6 +41,7 @@ import java.util.logging.Logger; import java.util.stream.Collectors; import java.util.stream.Stream; +import lombok.RequiredArgsConstructor; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.context.annotation.Lazy; @@ -52,22 +53,19 @@ * @author ActiveViam */ @Configuration +@RequiredArgsConstructor public class SourceConfig { /** The name of the property that holds the path to the statistics folder. */ public static final String STATISTIC_FOLDER_PROPERTY = "statistic.folder"; private static final Logger LOGGER = Logger.getLogger(Loggers.LOADING); + /** Autowired {@link Datastore} to be fed by this source. */ - protected IInternalDatastore datastore; + private final IDatastore datastore; /** Spring environment, automatically wired. */ - protected Environment env; - - public SourceConfig(final IInternalDatastore datastore, final Environment env) { - this.datastore = datastore; - this.env = env; - } + private final Environment env; /** * Provides a {@link DirectoryCsvTopic topic}. diff --git a/src/main/java/com/activeviam/mac/cfg/security/impl/CorsConfig.java b/src/main/java/com/activeviam/mac/cfg/security/impl/CorsConfig.java index bff9644d..cb5ca029 100644 --- a/src/main/java/com/activeviam/mac/cfg/security/impl/CorsConfig.java +++ b/src/main/java/com/activeviam/mac/cfg/security/impl/CorsConfig.java @@ -14,10 +14,11 @@ import org.springframework.context.annotation.Configuration; import org.springframework.core.env.Environment; import org.springframework.security.config.annotation.authentication.configuration.EnableGlobalAuthentication; +import org.springframework.web.cors.CorsConfiguration; /** - * Generic implementation for security configuration of a server hosting ActivePivot, or Content - * server or ActiveMonitor. + * Generic implementation for security configuration of a server hosting ActivePivot, or Content server or + * ActiveMonitor. * *

This class contains methods: * @@ -34,10 +35,14 @@ @Configuration public class CorsConfig implements ICorsConfig { - /** The name of the Environment to use. */ + /** + * The name of the Environment to use. + */ protected Environment env; - /** The address the UI is exposed to. */ + /** + * The address the UI is exposed to. + */ public static final String ACTIVEUI_ADDRESS = "activeui.address"; public CorsConfig(@Autowired Environment env) { @@ -46,6 +51,6 @@ public CorsConfig(@Autowired Environment env) { @Override public List getAllowedOrigins() { - return Collections.singletonList(env.getRequiredProperty(ACTIVEUI_ADDRESS)); + return Collections.singletonList(env.getProperty(ACTIVEUI_ADDRESS, CorsConfiguration.ALL)); } } diff --git a/src/main/java/com/activeviam/mac/cfg/security/impl/SecurityConfig.java b/src/main/java/com/activeviam/mac/cfg/security/impl/SecurityConfig.java index 3435e26d..1518f233 100644 --- a/src/main/java/com/activeviam/mac/cfg/security/impl/SecurityConfig.java +++ b/src/main/java/com/activeviam/mac/cfg/security/impl/SecurityConfig.java @@ -1,96 +1,40 @@ package com.activeviam.mac.cfg.security.impl; -import static com.activeviam.web.core.api.IUrlBuilder.url; - -import com.activeviam.activepivot.server.impl.private_.spring.ContextValueFilter; -import com.activeviam.activepivot.server.spring.private_.pivot.security.impl.UserDetailsServiceWrapper; -import com.activeviam.tech.contentserver.storage.api.IContentService; -import com.activeviam.tech.core.api.security.IUserDetailsService; import com.activeviam.web.spring.api.config.IJwtConfig; import com.activeviam.web.spring.api.jwt.JwtAuthenticationProvider; -import com.activeviam.web.spring.internal.config.JwtRestServiceConfig; -import com.activeviam.web.spring.internal.security.NoRedirectLogoutSuccessHandler; -import com.activeviam.web.spring.private_.jwt.JwtFilter; -import org.springframework.beans.factory.annotation.Autowired; +import lombok.RequiredArgsConstructor; import org.springframework.boot.web.servlet.ServletContextInitializer; -import org.springframework.context.ApplicationContext; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; -import org.springframework.core.annotation.Order; -import org.springframework.core.env.Environment; -import org.springframework.http.HttpMethod; import org.springframework.http.HttpStatus; import org.springframework.security.authentication.AuthenticationManager; import org.springframework.security.authentication.AuthenticationProvider; import org.springframework.security.authentication.ProviderManager; import org.springframework.security.authentication.dao.DaoAuthenticationProvider; -import org.springframework.security.config.Customizer; -import org.springframework.security.config.annotation.authentication.builders.AuthenticationManagerBuilder; -import org.springframework.security.config.annotation.web.builders.HttpSecurity; import org.springframework.security.config.annotation.web.configuration.EnableWebSecurity; -import org.springframework.security.config.annotation.web.configurers.AbstractHttpConfigurer; -import org.springframework.security.config.annotation.web.configurers.HeadersConfigurer; import org.springframework.security.core.userdetails.UserDetailsService; import org.springframework.security.crypto.factory.PasswordEncoderFactories; import org.springframework.security.crypto.password.DelegatingPasswordEncoder; import org.springframework.security.crypto.password.NoOpPasswordEncoder; import org.springframework.security.crypto.password.PasswordEncoder; import org.springframework.security.web.AuthenticationEntryPoint; -import org.springframework.security.web.SecurityFilterChain; import org.springframework.security.web.authentication.HttpStatusEntryPoint; -import org.springframework.security.web.authentication.switchuser.SwitchUserFilter; -import org.springframework.security.web.context.SecurityContextPersistenceFilter; import org.springframework.security.web.firewall.StrictHttpFirewall; @Configuration @EnableWebSecurity +@RequiredArgsConstructor public class SecurityConfig { - /** Authentication Bean Name. */ - public static final String BASIC_AUTH_BEAN_NAME = "basicAuthenticationEntryPoint"; - - /** ActivePivot Cookie Name. */ - public static final String AP_COOKIE_NAME = "AP_JSESSIONID"; - /** Name of the User Role. */ public static final String ROLE_USER = "ROLE_USER"; /** Name of the Admin Role. */ public static final String ROLE_ADMIN = "ROLE_ADMIN"; - /** Name of the Tech Role. */ - public static final String ROLE_TECH = "ROLE_TECH"; - - /** Name of the ContentService Root Role. */ - public static final String ROLE_CS_ROOT = IContentService.ROLE_ROOT; - - /** The address the UI is exposed to. */ - public static final String ACTIVEUI_ADDRESS = "activeui.address"; - - private static final String REST_API_URL_PREFIX = "/versions/rest"; /** Name of the Cookies of the MAC application. */ public static final String COOKIE_NAME = "MEMORY_ANALYSIS_CUBE"; - private static final String PING_SUFFIX = "/ping"; - - /** The User Configuration. */ - protected UserConfig userDetailsConfig; - - /** The JWT Configuration. */ - protected IJwtConfig jwtConfig; - /** The name of the Environment to use. */ - protected Environment env; - /** {@code true} to enable the logout URL. */ - protected final WebConfiguration webConfiguration; - - public SecurityConfig( - final UserConfig userDetailsConfig, final IJwtConfig jwtConfig, final Environment env) { - this.userDetailsConfig = userDetailsConfig; - this.jwtConfig = jwtConfig; - this.env = env; - this.webConfiguration = new WebConfiguration(COOKIE_NAME); - } - /** * As of Spring Security 5.0, the way the passwords are encoded must be specified. When logging, * the input password will be encoded and compared with the stored encoded password. To determine @@ -156,35 +100,6 @@ public AuthenticationProvider inMemoryAuthenticationProvider( return authenticationProvider; } - /** - * Configures the authentication of the whole application. - * - *

This binds the defined user service to the authentication and sets the source for JWT - * tokens. - * - * @param auth Spring builder to manage authentication - * @throws Exception in case of error - */ - @Autowired - public void configureGlobal( - final AuthenticationManagerBuilder auth, - final JwtAuthenticationProvider jwtAuthenticationProvider) { - auth - // Required to allow JWT - .authenticationProvider(jwtAuthenticationProvider); - } - - /** - * Returns the spring security bean user details service wrapper. - * - * @return the {@link IUserDetailsService} used as spring security bean user details service - * wrapper. - */ - @Bean - public IUserDetailsService qfsUserDetailsService() { - return new UserDetailsServiceWrapper(this.userDetailsConfig.userDetailsService()); - } - /** * Returns a bean initializing the Cookies name in the Servlet Spring context. * @@ -219,121 +134,4 @@ public StrictHttpFirewall configureFirewall() { firewall.setAllowSemicolon(false); return firewall; } - - @Bean - @Order(1) - public SecurityFilterChain activeUiSecurity(final HttpSecurity http, final JwtFilter jwtFilter) - throws Exception { - configureWebSecurity(http, jwtFilter, this.webConfiguration); - final String activeUiUrl = env.getRequiredProperty(ACTIVEUI_ADDRESS); - // Only these URLs must be handled by this filter chain - http.securityMatcher(url(activeUiUrl)) - .authorizeHttpRequests( - auth -> - auth.requestMatchers(HttpMethod.OPTIONS) - .permitAll() - .requestMatchers(HttpMethod.GET) - .permitAll()); - // this allows pre-flight cross-origin requests - http.cors(Customizer.withDefaults()); - // Authorizing pages to be embedded in iframes to have ActiveUI in ActiveMonitor UI - http.headers( - customizer -> customizer.frameOptions(HeadersConfigurer.FrameOptionsConfig::disable)); - return http.build(); - } - - @Bean - @Order(2) - public SecurityFilterChain jwtSecurity( - final HttpSecurity http, - final ApplicationContext applicationContext, - final AuthenticationEntryPoint authenticationEntryPoint) - throws Exception { - http.securityMatcher(JwtRestServiceConfig.REST_API_URL_PREFIX + "/**") - // As of Spring Security 4.0, CSRF protection is enabled by default. - .csrf(AbstractHttpConfigurer::disable) - .cors(Customizer.withDefaults()) - // Configure CORS - .authorizeHttpRequests( - auth -> - auth.requestMatchers(HttpMethod.OPTIONS, "/**") - .permitAll() - .requestMatchers("/**") - .hasAnyAuthority(ROLE_USER)) - .httpBasic(customizer -> customizer.authenticationEntryPoint(authenticationEntryPoint)); - return http.build(); - } - - @Bean - @Order(3) - public SecurityFilterChain versionSecurity(final HttpSecurity http) throws Exception { - http.securityMatcher(REST_API_URL_PREFIX + "/**") - // As of Spring Security 4.0, CSRF protection is enabled by default. - .csrf(AbstractHttpConfigurer::disable) - .cors(Customizer.withDefaults()) - .authorizeHttpRequests(auth -> auth.requestMatchers("/**").permitAll()); - return http.build(); - } - - @Bean - @Order(4) - public SecurityFilterChain activePivotSecurity( - final HttpSecurity http, - final JwtFilter jwtFilter, - final ContextValueFilter contextValueFilter) - throws Exception { - configureWebSecurity(http, jwtFilter, this.webConfiguration); - http - // The ping service is temporarily authenticated (see PIVOT-3149) - .securityMatcher(url(REST_API_URL_PREFIX, PING_SUFFIX)) - .authorizeHttpRequests( - auth -> auth.requestMatchers(HttpMethod.GET).hasAnyAuthority(ROLE_USER, ROLE_TECH)) - // Rest services - .securityMatcher(REST_API_URL_PREFIX + "/**") - .authorizeHttpRequests( - auth -> - auth.requestMatchers(HttpMethod.OPTIONS) - .permitAll() - .anyRequest() - .hasAnyAuthority(ROLE_USER)) - // SwitchUserFilter is the last filter in the chain. See FilterComparator class. - .addFilterAfter(contextValueFilter, SwitchUserFilter.class); - return http.build(); - } - - // One has to be a user for all the other URLs - @Bean - @Order(5) - public SecurityFilterChain otherSecurity(final HttpSecurity http) throws Exception { - http.securityMatcher("/**") - .authorizeHttpRequests(auth -> auth.anyRequest().permitAll()) - .httpBasic(Customizer.withDefaults()); - return http.build(); - } - - public void configureWebSecurity( - HttpSecurity http, JwtFilter jwtFilter, WebConfiguration webConfig) throws Exception { - http - // As of Spring Security 4.0, CSRF protection is enabled by default. - .csrf(AbstractHttpConfigurer::disable) - .cors(Customizer.withDefaults()) - // To allow authentication with JWT (Required for ActiveUI) - .addFilterAfter(jwtFilter, SecurityContextPersistenceFilter.class); - - if (webConfig.logout) { - // Configure logout URL - http.logout( - auth -> - auth.permitAll() - .deleteCookies(webConfig.cookieName) - .invalidateHttpSession(true) - .logoutSuccessHandler(new NoRedirectLogoutSuccessHandler())); - } - - if (webConfig.useAnonymous) { - // Handle anonymous users. The granted authority ROLE_USER - // will be assigned to the anonymous request - http.anonymous(customizer -> customizer.principal("guest").authorities(ROLE_USER)); - } - } } diff --git a/src/main/java/com/activeviam/mac/cfg/security/impl/UserConfig.java b/src/main/java/com/activeviam/mac/cfg/security/impl/UserConfig.java index 9800b794..a6b12fea 100644 --- a/src/main/java/com/activeviam/mac/cfg/security/impl/UserConfig.java +++ b/src/main/java/com/activeviam/mac/cfg/security/impl/UserConfig.java @@ -7,6 +7,7 @@ package com.activeviam.mac.cfg.security.impl; +import com.activeviam.tech.contentserver.storage.api.IContentService; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.security.core.userdetails.UserDetailsService; @@ -43,7 +44,7 @@ public UserDetailsService userDetailsService() { SecurityConfig.ROLE_USER, SecurityConfig.ROLE_ADMIN, ROLE_KPI, - SecurityConfig.ROLE_CS_ROOT) + IContentService.ROLE_ROOT) .and() // We're done diff --git a/src/main/java/com/activeviam/mac/memory/AnalysisDatastoreFeeder.java b/src/main/java/com/activeviam/mac/memory/AnalysisDatastoreFeeder.java index 4cc24ea4..c3ff1554 100644 --- a/src/main/java/com/activeviam/mac/memory/AnalysisDatastoreFeeder.java +++ b/src/main/java/com/activeviam/mac/memory/AnalysisDatastoreFeeder.java @@ -10,9 +10,10 @@ import com.activeviam.database.api.conditions.BaseConditions; import com.activeviam.database.api.query.ListQuery; import com.activeviam.database.api.schema.FieldPath; +import com.activeviam.database.api.schema.IDataTable; +import com.activeviam.database.datastore.api.IDatastore; import com.activeviam.database.datastore.api.transaction.IOpenedTransaction; import com.activeviam.database.datastore.api.transaction.stats.IDatastoreSchemaTransactionInformation; -import com.activeviam.database.datastore.internal.IInternalDatastore; import com.activeviam.mac.Loggers; import com.activeviam.mac.entities.ChunkOwner; import com.activeviam.mac.entities.DistributedCubeOwner; @@ -22,7 +23,6 @@ import com.activeviam.mac.statistic.memory.visitor.impl.RegularEpochView; import com.activeviam.tech.observability.internal.memory.AMemoryStatistic; import com.activeviam.tech.records.api.ICursor; -import com.activeviam.tech.records.api.IRecordFormat; import com.activeviam.tech.records.api.IRecordReader; import java.util.Collection; import java.util.HashMap; @@ -52,12 +52,13 @@ public class AnalysisDatastoreFeeder { * statistics. */ private final Map> regularEpochsPerOwner; + /** * A mapping giving for each distributed owner the epochs that were expressed in their statistics. */ private final Map> distributedEpochsPerOwner; - final IInternalDatastore datastore; + final IDatastore datastore; /** * Constructor. @@ -65,7 +66,7 @@ public class AnalysisDatastoreFeeder { * @param dumpName the dump name to assign to the statistic * @param datastore */ - public AnalysisDatastoreFeeder(final String dumpName, IInternalDatastore datastore) { + public AnalysisDatastoreFeeder(final String dumpName, IDatastore datastore) { this.dumpName = dumpName; this.datastore = datastore; @@ -85,12 +86,12 @@ public AnalysisDatastoreFeeder(final String dumpName, IInternalDatastore datasto * @return the record */ private static Object[] generateEpochViewTuple( - final IRecordFormat recordFormat, + final IDataTable recordFormat, final ChunkOwner owner, final String dumpName, final long baseEpochId, final EpochView epochView) { - final Object[] tuple = new Object[recordFormat.getFieldCount()]; + final Object[] tuple = new Object[recordFormat.getFields().size()]; tuple[recordFormat.getFieldIndex(DatastoreConstants.EPOCH_VIEW__OWNER)] = owner; tuple[recordFormat.getFieldIndex(DatastoreConstants.CHUNK__DUMP_NAME)] = dumpName; tuple[recordFormat.getFieldIndex(DatastoreConstants.EPOCH_VIEW__BASE_EPOCH_ID)] = baseEpochId; @@ -126,8 +127,7 @@ private void feedChunk(final IOpenedTransaction transaction, final AMemoryStatis } statistic.accept( - new FeedVisitor( - this.datastore.getQueryMetadata().getMetadata(), transaction, this.dumpName)); + new FeedVisitor(this.datastore.getCurrentSchema(), transaction, this.dumpName)); if (LOGGER.isLoggable(Level.FINE)) { LOGGER.fine("Application processed " + statistic); @@ -182,13 +182,8 @@ private void replicateChunksForMissingEpochs(final IOpenedTransaction transactio } private void replicateDatastoreEpochs(final IOpenedTransaction transaction) { - final IRecordFormat epochViewRecordFormat = - this.datastore - .getQueryMetadata() - .getMetadata() - .getStoreMetadata(DatastoreConstants.EPOCH_VIEW_STORE) - .getStoreFormat() - .getRecordFormat(); + final var epochViewRecordFormat = + this.datastore.getCurrentSchema().getTable(DatastoreConstants.EPOCH_VIEW_STORE); for (final var datastoreEpochId : this.datastoreEpochs) { for (final ChunkOwner owner : this.regularEpochsPerOwner.keySet()) { @@ -222,13 +217,8 @@ private void replicateDatastoreEpochs(final IOpenedTransaction transaction) { } private void replicateDistributedEpochs(final IOpenedTransaction transaction) { - final IRecordFormat epochViewRecordFormat = - this.datastore - .getQueryMetadata() - .getMetadata() - .getStoreMetadata(DatastoreConstants.EPOCH_VIEW_STORE) - .getStoreFormat() - .getRecordFormat(); + final var epochViewRecordFormat = + this.datastore.getCurrentSchema().getTable(DatastoreConstants.EPOCH_VIEW_STORE); for (final ChunkOwner owner : this.distributedEpochsPerOwner.keySet()) { final Collection epochs = this.distributedEpochsPerOwner.get(owner); diff --git a/src/main/java/com/activeviam/mac/statistic/memory/visitor/impl/ADatastoreFeedVisitor.java b/src/main/java/com/activeviam/mac/statistic/memory/visitor/impl/ADatastoreFeedVisitor.java index b63d201f..9bc95391 100644 --- a/src/main/java/com/activeviam/mac/statistic/memory/visitor/impl/ADatastoreFeedVisitor.java +++ b/src/main/java/com/activeviam/mac/statistic/memory/visitor/impl/ADatastoreFeedVisitor.java @@ -7,8 +7,8 @@ package com.activeviam.mac.statistic.memory.visitor.impl; +import com.activeviam.database.api.schema.IDatabaseSchema; import com.activeviam.database.datastore.api.transaction.IOpenedTransaction; -import com.activeviam.database.datastore.internal.IDatastoreSchemaMetadata; import java.util.Collection; /** @@ -21,8 +21,10 @@ public abstract class ADatastoreFeedVisitor extends AFeedVisitorWithDictionar /** Names of the currently visited fields. */ protected Collection fields; + /** ID of the current index. */ protected Long indexId; + /** ID of the current reference. */ protected Long referenceId; @@ -34,7 +36,7 @@ public abstract class ADatastoreFeedVisitor extends AFeedVisitorWithDictionar * @param dumpName dumpName of the ongoing import */ public ADatastoreFeedVisitor( - IOpenedTransaction transaction, IDatastoreSchemaMetadata storageMetadata, String dumpName) { + IOpenedTransaction transaction, IDatabaseSchema storageMetadata, String dumpName) { super(transaction, storageMetadata, dumpName); } } diff --git a/src/main/java/com/activeviam/mac/statistic/memory/visitor/impl/AFeedVisitor.java b/src/main/java/com/activeviam/mac/statistic/memory/visitor/impl/AFeedVisitor.java index 08c1a305..5743a952 100644 --- a/src/main/java/com/activeviam/mac/statistic/memory/visitor/impl/AFeedVisitor.java +++ b/src/main/java/com/activeviam/mac/statistic/memory/visitor/impl/AFeedVisitor.java @@ -7,8 +7,9 @@ package com.activeviam.mac.statistic.memory.visitor.impl; +import com.activeviam.database.api.schema.IDataTable; +import com.activeviam.database.api.schema.IDatabaseSchema; import com.activeviam.database.datastore.api.transaction.IOpenedTransaction; -import com.activeviam.database.datastore.internal.IDatastoreSchemaMetadata; import com.activeviam.mac.entities.ChunkOwner; import com.activeviam.mac.memory.DatastoreConstants; import com.activeviam.tech.observability.internal.memory.AMemoryStatistic; @@ -25,10 +26,13 @@ public abstract class AFeedVisitor implements IMemoryStatisticVisitor { /** Ongoing transaction. */ protected final IOpenedTransaction transaction; + /** Metadata of the Analysis Datastore. */ - protected final IDatastoreSchemaMetadata storageMetadata; + protected final IDatabaseSchema storageMetadata; + /** Name of the import. */ protected final String dumpName; + /** Owner of the visited statistics. */ protected ChunkOwner owner = null; @@ -41,7 +45,7 @@ public abstract class AFeedVisitor implements IMemoryStatisticVisitor { */ public AFeedVisitor( final IOpenedTransaction transaction, - final IDatastoreSchemaMetadata storageMetadata, + final IDatabaseSchema storageMetadata, final String dumpName) { this.transaction = transaction; this.storageMetadata = storageMetadata; @@ -54,7 +58,7 @@ public AFeedVisitor( * @param storageMetadata metadata of the application datastore * @return the {@link DatastoreConstants#CHUNK_STORE} record format */ - protected static IRecordFormat getChunkFormat(IDatastoreSchemaMetadata storageMetadata) { + protected static IDataTable getChunkFormat(IDatabaseSchema storageMetadata) { return FeedVisitor.getRecordFormat(storageMetadata, DatastoreConstants.CHUNK_STORE); } @@ -64,7 +68,7 @@ protected static IRecordFormat getChunkFormat(IDatastoreSchemaMetadata storageMe * @param storageMetadata metadata of the application datastore * @return the {@link DatastoreConstants#PROVIDER_STORE} record format */ - protected static IRecordFormat getProviderFormat(IDatastoreSchemaMetadata storageMetadata) { + protected static IDataTable getProviderFormat(IDatabaseSchema storageMetadata) { return FeedVisitor.getRecordFormat(storageMetadata, DatastoreConstants.PROVIDER_STORE); } @@ -74,7 +78,7 @@ protected static IRecordFormat getProviderFormat(IDatastoreSchemaMetadata storag * @param storageMetadata metadata of the application datastore * @return the {@link DatastoreConstants#LEVEL_STORE} record format */ - protected static IRecordFormat getLevelFormat(IDatastoreSchemaMetadata storageMetadata) { + protected static IDataTable getLevelFormat(IDatabaseSchema storageMetadata) { return FeedVisitor.getRecordFormat(storageMetadata, DatastoreConstants.LEVEL_STORE); } @@ -84,7 +88,7 @@ protected static IRecordFormat getLevelFormat(IDatastoreSchemaMetadata storageMe * @param storageMetadata metadata of the application datastore * @return the {@link DatastoreConstants#INDEX_STORE} record format */ - protected static IRecordFormat getIndexFormat(IDatastoreSchemaMetadata storageMetadata) { + protected static IDataTable getIndexFormat(IDatabaseSchema storageMetadata) { return FeedVisitor.getRecordFormat(storageMetadata, DatastoreConstants.INDEX_STORE); } @@ -94,7 +98,7 @@ protected static IRecordFormat getIndexFormat(IDatastoreSchemaMetadata storageMe * @param storageMetadata metadata of the application datastore * @return the {@link DatastoreConstants#REFERENCE_STORE} record format */ - protected static IRecordFormat getReferenceFormat(IDatastoreSchemaMetadata storageMetadata) { + protected static IDataTable getReferenceFormat(IDatabaseSchema storageMetadata) { return FeedVisitor.getRecordFormat(storageMetadata, DatastoreConstants.REFERENCE_STORE); } @@ -104,7 +108,7 @@ protected static IRecordFormat getReferenceFormat(IDatastoreSchemaMetadata stora * @param storageMetadata metadata of the application datastore * @return the {@link DatastoreConstants#VERSION_STORE} record format */ - protected static IRecordFormat getVersionStoreFormat(IDatastoreSchemaMetadata storageMetadata) { + protected static IDataTable getVersionStoreFormat(IDatabaseSchema storageMetadata) { return FeedVisitor.getRecordFormat(storageMetadata, DatastoreConstants.VERSION_STORE); } @@ -114,7 +118,7 @@ protected static IRecordFormat getVersionStoreFormat(IDatastoreSchemaMetadata st * @param storageMetadata metadata of the application datastore * @return the {@link DatastoreConstants#DICTIONARY_STORE} record format */ - protected static IRecordFormat getDictionaryFormat(IDatastoreSchemaMetadata storageMetadata) { + protected static IDataTable getDictionaryFormat(IDatabaseSchema storageMetadata) { return FeedVisitor.getRecordFormat(storageMetadata, DatastoreConstants.DICTIONARY_STORE); } diff --git a/src/main/java/com/activeviam/mac/statistic/memory/visitor/impl/AFeedVisitorWithDictionary.java b/src/main/java/com/activeviam/mac/statistic/memory/visitor/impl/AFeedVisitorWithDictionary.java index 98d193fa..b15d9da6 100644 --- a/src/main/java/com/activeviam/mac/statistic/memory/visitor/impl/AFeedVisitorWithDictionary.java +++ b/src/main/java/com/activeviam/mac/statistic/memory/visitor/impl/AFeedVisitorWithDictionary.java @@ -10,15 +10,14 @@ import static com.activeviam.tech.observability.internal.memory.MemoryStatisticConstants.ATTR_NAME_CREATOR_CLASS; import static com.activeviam.tech.observability.internal.memory.MemoryStatisticConstants.ATTR_NAME_DICTIONARY_ID; +import com.activeviam.database.api.schema.IDatabaseSchema; import com.activeviam.database.datastore.api.transaction.IOpenedTransaction; -import com.activeviam.database.datastore.internal.IDatastoreSchemaMetadata; import com.activeviam.database.datastore.private_.structure.impl.StructureDictionaryManager; import com.activeviam.mac.Loggers; import com.activeviam.mac.memory.DatastoreConstants; import com.activeviam.tech.observability.api.memory.IStatisticAttribute; import com.activeviam.tech.observability.internal.memory.DictionaryStatistic; import com.activeviam.tech.observability.internal.memory.MemoryStatisticConstants; -import com.activeviam.tech.records.api.IRecordFormat; import java.util.logging.Logger; import lombok.AllArgsConstructor; import lombok.Data; @@ -40,7 +39,7 @@ public abstract class AFeedVisitorWithDictionary extends AFeedVisitor { * @param dumpName Name of the import */ public AFeedVisitorWithDictionary( - IOpenedTransaction transaction, IDatastoreSchemaMetadata storageMetadata, String dumpName) { + IOpenedTransaction transaction, IDatabaseSchema storageMetadata, String dumpName) { super(transaction, storageMetadata, dumpName); } @@ -88,7 +87,7 @@ protected DictionaryAttributes processDictionaryStatistic( if (!this.dictionaryAttributes .getDictionaryClass() .equals(StructureDictionaryManager.class.getName())) { - final IRecordFormat format = getDictionaryFormat(this.storageMetadata); + final var format = getDictionaryFormat(this.storageMetadata); final Object[] tuple = FeedVisitor.buildDictionaryTupleFrom( format, @@ -114,12 +113,16 @@ public static class DictionaryAttributes { /** An instance representing no dictionary (all attributes set to {@code null}. */ public static final DictionaryAttributes NONE = new DictionaryAttributes(); + /** ID of the current dictionary. */ protected Long dictionaryId; + /** Class of the current dictionary. */ protected String dictionaryClass; + /** Size of the current dictionary. */ protected Integer dictionarySize; + /** Order of the current dictionary (i.e. base-2 log of its size). */ protected Integer dictionaryOrder; diff --git a/src/main/java/com/activeviam/mac/statistic/memory/visitor/impl/ChunkSetStatisticVisitor.java b/src/main/java/com/activeviam/mac/statistic/memory/visitor/impl/ChunkSetStatisticVisitor.java index 14873f36..8ca783ab 100644 --- a/src/main/java/com/activeviam/mac/statistic/memory/visitor/impl/ChunkSetStatisticVisitor.java +++ b/src/main/java/com/activeviam/mac/statistic/memory/visitor/impl/ChunkSetStatisticVisitor.java @@ -7,8 +7,9 @@ package com.activeviam.mac.statistic.memory.visitor.impl; +import com.activeviam.database.api.schema.IDataTable; +import com.activeviam.database.api.schema.IDatabaseSchema; import com.activeviam.database.datastore.api.transaction.IOpenedTransaction; -import com.activeviam.database.datastore.internal.IDatastoreSchemaMetadata; import com.activeviam.mac.Workaround; import com.activeviam.mac.entities.ChunkOwner; import com.activeviam.mac.memory.DatastoreConstants; @@ -26,7 +27,6 @@ import com.activeviam.tech.observability.internal.memory.IndexStatistic; import com.activeviam.tech.observability.internal.memory.MemoryStatisticConstants; import com.activeviam.tech.observability.internal.memory.ReferenceStatistic; -import com.activeviam.tech.records.api.IRecordFormat; import java.time.Instant; import java.util.Collection; import java.util.Collections; @@ -41,30 +41,37 @@ public class ChunkSetStatisticVisitor extends ADatastoreFeedVisitor { /** The record format of the store that stores the chunks. */ - protected final IRecordFormat chunkRecordFormat; + protected final IDataTable chunkRecordFormat; /** The export date, found on the first statistics we read. */ protected final Instant current; /** Type of the root structure. */ protected final ParentType rootComponent; + /** Type of the direct parent structure. */ protected final ParentType directParentType; + /** id of the direct parent structure. */ protected final String directParentId; + /** Aggregate provider being currently visited. */ protected final Long providerId; /** The partition id of the visited statistic. */ protected final int partitionId; + /** Whether or not to ignore the field attributes of the visited statistics. */ protected final boolean ignoreFieldSpecifications; + /** The epoch id we are currently reading statistics for. */ protected Long epochId; + /** * Whether or not the currently visited statistics were flagged as used by the current version. */ protected UsedByVersion usedByVersion; + /** ID of the current {@link ChunkSet}. */ protected Long chunkSetId = null; @@ -93,7 +100,7 @@ public class ChunkSetStatisticVisitor extends ADatastoreFeedVisitor { * the encountered fields */ public ChunkSetStatisticVisitor( - final IDatastoreSchemaMetadata storageMetadata, + final IDatabaseSchema storageMetadata, final IOpenedTransaction transaction, final String dumpName, final Instant current, @@ -122,11 +129,7 @@ public ChunkSetStatisticVisitor( this.usedByVersion = usedByVersion; this.ignoreFieldSpecifications = ignoreFieldSpecifications; - this.chunkRecordFormat = - this.storageMetadata - .getStoreMetadata(DatastoreConstants.CHUNK_STORE) - .getStoreFormat() - .getRecordFormat(); + this.chunkRecordFormat = this.storageMetadata.getTable(DatastoreConstants.CHUNK_STORE); } @Override @@ -234,7 +237,7 @@ public Void visit(final ChunkStatistic chunkStatistic) { this.fields = Collections.singleton(fieldAttribute.asText()); } - final IRecordFormat format = this.chunkRecordFormat; + final var format = this.chunkRecordFormat; final Object[] tuple = FeedVisitor.buildChunkTupleFrom(format, chunkStatistic); FeedVisitor.setTupleElement( diff --git a/src/main/java/com/activeviam/mac/statistic/memory/visitor/impl/DatastoreFeederVisitor.java b/src/main/java/com/activeviam/mac/statistic/memory/visitor/impl/DatastoreFeederVisitor.java index 30f3d898..aba87fe5 100644 --- a/src/main/java/com/activeviam/mac/statistic/memory/visitor/impl/DatastoreFeederVisitor.java +++ b/src/main/java/com/activeviam/mac/statistic/memory/visitor/impl/DatastoreFeederVisitor.java @@ -9,8 +9,9 @@ import static com.activeviam.mac.statistic.memory.visitor.impl.DebugVisitor.DEBUG; +import com.activeviam.database.api.schema.IDataTable; +import com.activeviam.database.api.schema.IDatabaseSchema; import com.activeviam.database.datastore.api.transaction.IOpenedTransaction; -import com.activeviam.database.datastore.internal.IDatastoreSchemaMetadata; import com.activeviam.database.datastore.private_.IStore; import com.activeviam.mac.entities.StoreOwner; import com.activeviam.mac.memory.DatastoreConstants; @@ -27,7 +28,6 @@ import com.activeviam.tech.observability.internal.memory.IndexStatistic; import com.activeviam.tech.observability.internal.memory.MemoryStatisticConstants; import com.activeviam.tech.observability.internal.memory.ReferenceStatistic; -import com.activeviam.tech.records.api.IRecordFormat; import java.time.Instant; import java.util.Arrays; import java.util.Collection; @@ -46,17 +46,21 @@ public class DatastoreFeederVisitor extends ADatastoreFeedVisitor { /** The record format of the store that stores the chunks. */ - protected final IRecordFormat chunkRecordFormat; + protected final IDataTable chunkRecordFormat; + /** * A boolean that if true tells us that the currently visited component is responsible for storing * versioning data. */ // FIXME find a cleaner way to do that. (specific stat for instance). protected boolean isVersionColumn = false; + /** The export date, found on the first statistics we read. */ protected Instant current = null; + /** The epoch id we are currently reading statistics for. */ protected Long epochId = null; + /** Branch owning {@link #epochId}. */ protected String branch = null; @@ -67,10 +71,13 @@ public class DatastoreFeederVisitor extends ADatastoreFeedVisitor { /** Type of the root component visited. */ protected ParentType rootComponent; + /** Types of the direct parent component owning the chunk. */ protected ParentType directParentType; + /** Id of the direct parent owning the chunk. */ protected String directParentId; + /** The partition id of the visited statistic. */ protected Integer partitionId = null; @@ -85,20 +92,15 @@ public class DatastoreFeederVisitor extends ADatastoreFeedVisitor { * @param dumpName The name of the off-heap dump. Can be null. */ public DatastoreFeederVisitor( - final IDatastoreSchemaMetadata storageMetadata, + final IDatabaseSchema storageMetadata, final IOpenedTransaction transaction, final String dumpName) { super(transaction, storageMetadata, dumpName); - this.chunkRecordFormat = - this.storageMetadata - .getStoreMetadata(DatastoreConstants.CHUNK_STORE) - .getStoreFormat() - .getRecordFormat(); + this.chunkRecordFormat = this.storageMetadata.getTable(DatastoreConstants.CHUNK_STORE); } - private static Object[] buildIndexTupleFrom( - final IRecordFormat format, final IndexStatistic stat) { - final Object[] tuple = new Object[format.getFieldCount()]; + private static Object[] buildIndexTupleFrom(final IDataTable format, final IndexStatistic stat) { + final Object[] tuple = new Object[format.getFields().size()]; tuple[format.getFieldIndex(DatastoreConstants.INDEX_ID)] = stat.getAttribute(MemoryStatisticConstants.ATTR_NAME_INDEX_ID).asLong(); @@ -221,7 +223,7 @@ public Void visit(final DefaultMemoryStatistic stat) { final String initialBranch = this.branch; if (readEpochAndBranchIfAny(stat)) { - final IRecordFormat versionStoreFormat = getVersionStoreFormat(this.storageMetadata); + final var versionStoreFormat = getVersionStoreFormat(this.storageMetadata); final Object[] tuple = FeedVisitor.buildVersionTupleFrom( versionStoreFormat, stat, this.dumpName, this.epochId, this.branch); @@ -295,7 +297,7 @@ public Void visit(final ChunkSetStatistic stat) { @Override public Void visit(final ReferenceStatistic referenceStatistic) { final Object[] tuple = buildPartOfReferenceStatisticTuple(referenceStatistic); - final IRecordFormat refStoreFormat = getReferenceFormat(this.storageMetadata); + final var refStoreFormat = getReferenceFormat(this.storageMetadata); // fill out the tuple this.referenceId = @@ -332,7 +334,7 @@ public Void visit(final ReferenceStatistic referenceStatistic) { @Override public Void visit(final IndexStatistic stat) { - final IRecordFormat format = getIndexFormat(this.storageMetadata); + final var format = getIndexFormat(this.storageMetadata); final Object[] tuple = buildIndexTupleFrom(format, stat); this.indexId = stat.getAttribute(MemoryStatisticConstants.ATTR_NAME_INDEX_ID).asLong(); @@ -562,9 +564,9 @@ private void readFieldsIfAny(final IMemoryStatistic stat) { */ protected Object[] buildPartOfReferenceStatisticTuple( final ReferenceStatistic referenceStatistic) { - final IRecordFormat refStoreFormat = getReferenceFormat(this.storageMetadata); + final var refStoreFormat = getReferenceFormat(this.storageMetadata); - final Object[] tuple = new Object[refStoreFormat.getFieldCount()]; + final Object[] tuple = new Object[refStoreFormat.getFields().size()]; tuple[refStoreFormat.getFieldIndex(DatastoreConstants.REFERENCE_FROM_STORE)] = referenceStatistic.getAttribute(DatastoreConstants.REFERENCE_FROM_STORE).asText(); tuple[refStoreFormat.getFieldIndex(DatastoreConstants.REFERENCE_FROM_STORE_PARTITION_ID)] = diff --git a/src/main/java/com/activeviam/mac/statistic/memory/visitor/impl/FeedVisitor.java b/src/main/java/com/activeviam/mac/statistic/memory/visitor/impl/FeedVisitor.java index d89b6904..7d5c8279 100644 --- a/src/main/java/com/activeviam/mac/statistic/memory/visitor/impl/FeedVisitor.java +++ b/src/main/java/com/activeviam/mac/statistic/memory/visitor/impl/FeedVisitor.java @@ -9,8 +9,9 @@ import static com.activeviam.tech.observability.internal.memory.MemoryStatisticConstants.ATTR_NAME_CREATOR_CLASS; +import com.activeviam.database.api.schema.IDataTable; +import com.activeviam.database.api.schema.IDatabaseSchema; import com.activeviam.database.datastore.api.transaction.IOpenedTransaction; -import com.activeviam.database.datastore.internal.IDatastoreSchemaMetadata; import com.activeviam.mac.Loggers; import com.activeviam.mac.memory.DatastoreConstants; import com.activeviam.tech.observability.api.memory.IMemoryStatistic; @@ -40,7 +41,7 @@ public class FeedVisitor implements IMemoryStatisticVisitor { private static final Logger LOGGER = Logger.getLogger(Loggers.LOADING); - private final IDatastoreSchemaMetadata storageMetadata; + private final IDatabaseSchema storageMetadata; private final IOpenedTransaction transaction; private final String dumpName; private static final AtomicLong chunkIdGenerator = new AtomicLong(0L); @@ -53,9 +54,7 @@ public class FeedVisitor implements IMemoryStatisticVisitor { * @param dumpName name of the import being currently executed */ public FeedVisitor( - final IDatastoreSchemaMetadata storageMetadata, - final IOpenedTransaction tm, - final String dumpName) { + final IDatabaseSchema storageMetadata, final IOpenedTransaction tm, final String dumpName) { this.storageMetadata = storageMetadata; this.transaction = tm; this.dumpName = dumpName; @@ -74,8 +73,8 @@ protected static void add( transaction.add(store, tuple); } - static Object[] buildChunkTupleFrom(final IRecordFormat format, final ChunkStatistic stat) { - final Object[] tuple = new Object[format.getFieldCount()]; + static Object[] buildChunkTupleFrom(final IDataTable format, final ChunkStatistic stat) { + final Object[] tuple = new Object[format.getFields().size()]; tuple[format.getFieldIndex(DatastoreConstants.CHUNK_ID)] = getChunkId(stat); tuple[format.getFieldIndex(DatastoreConstants.CHUNK__CLASS)] = stat.getAttribute(ATTR_NAME_CREATOR_CLASS).asText(); @@ -125,7 +124,7 @@ static void writeChunkTupleForFields( final ChunkStatistic statistic, final IOpenedTransaction transaction, final Collection fields, - final IRecordFormat format, + final IDataTable format, final Object... tuple) { if (fields == null || fields.isEmpty()) { FeedVisitor.add(statistic, transaction, DatastoreConstants.CHUNK_STORE, tuple); @@ -139,12 +138,12 @@ static void writeChunkTupleForFields( } static Object[] buildDictionaryTupleFrom( - final IRecordFormat format, + final IDataTable format, final long dictionaryId, final String dictionaryClass, final int dictionarySize, final int dictionaryOrder) { - final Object[] tuple = new Object[format.getFieldCount()]; + final Object[] tuple = new Object[format.getFields().size()]; tuple[format.getFieldIndex(DatastoreConstants.DICTIONARY_ID)] = dictionaryId; tuple[format.getFieldIndex(DatastoreConstants.DICTIONARY_CLASS)] = dictionaryClass; tuple[format.getFieldIndex(DatastoreConstants.DICTIONARY_SIZE)] = dictionarySize; @@ -153,12 +152,12 @@ static Object[] buildDictionaryTupleFrom( } static Object[] buildVersionTupleFrom( - final IRecordFormat format, + final IDataTable format, final IMemoryStatistic statistic, final String dumpName, final long epochId, final String branch) { - final Object[] tuple = new Object[format.getFieldCount()]; + final Object[] tuple = new Object[format.getFields().size()]; FeedVisitor.setTupleElement(tuple, format, DatastoreConstants.VERSION__DUMP_NAME, dumpName); FeedVisitor.setTupleElement(tuple, format, DatastoreConstants.VERSION__EPOCH_ID, epochId); FeedVisitor.setTupleElement(tuple, format, DatastoreConstants.VERSION__BRANCH_NAME, branch); @@ -209,9 +208,8 @@ static void includeApplicationInfoIfAny( } } - static IRecordFormat getRecordFormat( - final IDatastoreSchemaMetadata storageMetadata, final String storeName) { - return storageMetadata.getStoreMetadata(storeName).getStoreFormat().getRecordFormat(); + static IDataTable getRecordFormat(final IDatabaseSchema storageMetadata, final String storeName) { + return storageMetadata.getTable(storeName); } /** @@ -223,7 +221,7 @@ static IRecordFormat getRecordFormat( * @param value data to insert */ protected static void setTupleElement( - Object[] tuple, IRecordFormat format, String field, final Object value) { + Object[] tuple, IDataTable format, String field, final Object value) { if (value == null) { throw new RuntimeException("Expected a non-null value for field " + field); } diff --git a/src/main/java/com/activeviam/mac/statistic/memory/visitor/impl/LevelStatisticVisitor.java b/src/main/java/com/activeviam/mac/statistic/memory/visitor/impl/LevelStatisticVisitor.java index 1072ebd1..7f8e37e4 100644 --- a/src/main/java/com/activeviam/mac/statistic/memory/visitor/impl/LevelStatisticVisitor.java +++ b/src/main/java/com/activeviam/mac/statistic/memory/visitor/impl/LevelStatisticVisitor.java @@ -7,8 +7,8 @@ package com.activeviam.mac.statistic.memory.visitor.impl; +import com.activeviam.database.api.schema.IDatabaseSchema; import com.activeviam.database.datastore.api.transaction.IOpenedTransaction; -import com.activeviam.database.datastore.internal.IDatastoreSchemaMetadata; import com.activeviam.mac.Loggers; import com.activeviam.mac.memory.DatastoreConstants; import com.activeviam.mac.memory.MemoryAnalysisDatastoreDescriptionConfig; @@ -23,7 +23,6 @@ import com.activeviam.tech.observability.internal.memory.IndexStatistic; import com.activeviam.tech.observability.internal.memory.MemoryStatisticConstants; import com.activeviam.tech.observability.internal.memory.ReferenceStatistic; -import com.activeviam.tech.records.api.IRecordFormat; import java.util.logging.Logger; /** @@ -39,6 +38,7 @@ public class LevelStatisticVisitor extends AFeedVisitorWithDictionary { private final PivotFeederVisitor parent; private final IOpenedTransaction transaction; private final Long epochId; + /** The number of members of the visited level. */ protected Integer memberCount; @@ -57,7 +57,7 @@ public class LevelStatisticVisitor extends AFeedVisitorWithDictionary { public LevelStatisticVisitor( final PivotFeederVisitor parent, final IOpenedTransaction transaction, - final IDatastoreSchemaMetadata storageMetadata, + final IDatabaseSchema storageMetadata, final String dumpName, final Long epochId) { super(transaction, storageMetadata, dumpName); @@ -97,7 +97,7 @@ public Void visit(final ChunkStatistic stat) { recordLevelForStructure(this.directParentType, this.directParentId); - final IRecordFormat format = getChunkFormat(this.storageMetadata); + final var format = getChunkFormat(this.storageMetadata); final Object[] tuple = FeedVisitor.buildChunkTupleFrom(format, stat); FeedVisitor.setTupleElement(tuple, format, DatastoreConstants.CHUNK__DUMP_NAME, this.dumpName); FeedVisitor.setTupleElement(tuple, format, DatastoreConstants.VERSION__EPOCH_ID, this.epochId); @@ -182,9 +182,9 @@ public Void visit(AMemoryStatistic memoryStatistic) { } private void recordLevelForStructure(final ParentType type, final String id) { - final IRecordFormat format = + final var format = FeedVisitor.getRecordFormat(this.storageMetadata, DatastoreConstants.CHUNK_TO_LEVEL_STORE); - final Object[] tuple = new Object[format.getFieldCount()]; + final Object[] tuple = new Object[format.getFields().size()]; FeedVisitor.setTupleElement(tuple, format, DatastoreConstants.CHUNK__DUMP_NAME, this.dumpName); FeedVisitor.setTupleElement( tuple, format, DatastoreConstants.CHUNK_TO_LEVEL__MANAGER_ID, this.parent.manager); diff --git a/src/main/java/com/activeviam/mac/statistic/memory/visitor/impl/PivotFeederVisitor.java b/src/main/java/com/activeviam/mac/statistic/memory/visitor/impl/PivotFeederVisitor.java index 8d45733a..229b895b 100644 --- a/src/main/java/com/activeviam/mac/statistic/memory/visitor/impl/PivotFeederVisitor.java +++ b/src/main/java/com/activeviam/mac/statistic/memory/visitor/impl/PivotFeederVisitor.java @@ -13,8 +13,9 @@ import com.activeviam.activepivot.core.intf.api.cube.metadata.HierarchyIdentifier; import com.activeviam.activepivot.core.intf.api.cube.metadata.LevelIdentifier; import com.activeviam.activepivot.dist.impl.api.cube.IMultiVersionDistributedActivePivot; +import com.activeviam.database.api.schema.IDataTable; +import com.activeviam.database.api.schema.IDatabaseSchema; import com.activeviam.database.datastore.api.transaction.IOpenedTransaction; -import com.activeviam.database.datastore.internal.IDatastoreSchemaMetadata; import com.activeviam.mac.entities.CubeOwner; import com.activeviam.mac.entities.DistributedCubeOwner; import com.activeviam.mac.memory.DatastoreConstants; @@ -32,7 +33,6 @@ import com.activeviam.tech.observability.internal.memory.IndexStatistic; import com.activeviam.tech.observability.internal.memory.MemoryStatisticConstants; import com.activeviam.tech.observability.internal.memory.ReferenceStatistic; -import com.activeviam.tech.records.api.IRecordFormat; import java.time.Instant; import java.util.Objects; @@ -45,28 +45,40 @@ public class PivotFeederVisitor extends AFeedVisitorWithDictionary { /** The export date, found on the first statistics we read. */ protected Instant current = null; + /** The epoch id we are currently reading statistics for. */ protected Long epochId = null; + /** The branch of the pivot we're currently reading statistics. */ protected String branch = null; + /** Current {@link ActivePivotManager}. */ protected String manager; + /** Aggregate provider being currently visited. */ protected Long providerId; + /** Partition being currently visited. */ protected Integer partition; + /** Dimension being currently visited. */ protected String dimension; + /** Hierarchy being currently visited. */ protected String hierarchy; + /** Level being currently visited. */ protected String level; + /** Type of the aggregate Provider being currently visited. */ protected ProviderComponentType providerComponentType; + /** Type of the root structure. */ protected ParentType rootComponent; + /** Type of the direct parent structure. */ protected ParentType directParentType; + /** Id of the direct parent structure. */ protected String directParentId; @@ -81,9 +93,7 @@ public class PivotFeederVisitor extends AFeedVisitorWithDictionary { * @param dumpName name of the current import */ public PivotFeederVisitor( - final IDatastoreSchemaMetadata storageMetadata, - final IOpenedTransaction tm, - final String dumpName) { + final IDatabaseSchema storageMetadata, final IOpenedTransaction tm, final String dumpName) { super(tm, storageMetadata, dumpName); } @@ -100,8 +110,8 @@ private static boolean isPivotDistributed(final IMemoryStatistic pivotStat) { } private static Object[] buildProviderTupleFrom( - final IRecordFormat format, final IMemoryStatistic stat) { - final Object[] tuple = new Object[format.getFieldCount()]; + final IDataTable format, final IMemoryStatistic stat) { + final Object[] tuple = new Object[format.getFields().size()]; final IStatisticAttribute indexAttr = stat.getAttribute(MemoryStatisticConstants.ATTR_NAME_PROVIDER_NAME); @@ -120,8 +130,8 @@ private static Object[] buildProviderTupleFrom( } private static Object[] buildLevelTupleFrom( - final IRecordFormat format, final IMemoryStatistic stat) { - final Object[] tuple = new Object[format.getFieldCount()]; + final IDataTable format, final IMemoryStatistic stat) { + final Object[] tuple = new Object[format.getFields().size()]; tuple[format.getFieldIndex(DatastoreConstants.LEVEL__ON_HEAP_SIZE)] = stat.getShallowOnHeap(); tuple[format.getFieldIndex(DatastoreConstants.LEVEL__OFF_HEAP_SIZE)] = stat.getShallowOffHeap(); @@ -197,8 +207,8 @@ public Void visit(final DefaultMemoryStatistic stat) { case MemoryStatisticConstants.STAT_NAME_PIVOT: processPivot(stat); break; - // Unless said otherwise we assume all providers are partial,safer than the - // other way + // Unless said otherwise we assume all providers are partial,safer than the + // other way case MemoryStatisticConstants.STAT_NAME_PROVIDER: case MemoryStatisticConstants.STAT_NAME_PARTIAL_PROVIDER: case MemoryStatisticConstants.STAT_NAME_FULL_PROVIDER: @@ -257,7 +267,7 @@ public Void visit(final ChunkSetStatistic stat) { @Override public Void visit(final ChunkStatistic stat) { - final IRecordFormat format = getChunkFormat(this.storageMetadata); + final var format = getChunkFormat(this.storageMetadata); final Object[] tuple = FeedVisitor.buildChunkTupleFrom(format, stat); FeedVisitor.setTupleElement(tuple, format, DatastoreConstants.CHUNK__DUMP_NAME, this.dumpName); FeedVisitor.setTupleElement(tuple, format, DatastoreConstants.VERSION__EPOCH_ID, this.epochId); @@ -379,7 +389,7 @@ private void processPivot(final AMemoryStatistic stat) { readEpochAndBranchIfAny(stat); if (readEpochAndBranchIfAny(stat)) { - final IRecordFormat versionStoreFormat = getVersionStoreFormat(this.storageMetadata); + final var versionStoreFormat = getVersionStoreFormat(this.storageMetadata); final Object[] tuple = FeedVisitor.buildVersionTupleFrom( versionStoreFormat, stat, this.dumpName, this.epochId, this.branch); @@ -415,7 +425,7 @@ private void processPivot(final AMemoryStatistic stat) { } private void processProvider(final AMemoryStatistic stat) { - final IRecordFormat format = getProviderFormat(this.storageMetadata); + final var format = getProviderFormat(this.storageMetadata); final Object[] tuple = buildProviderTupleFrom(format, stat); FeedVisitor.setTupleElement( @@ -458,7 +468,7 @@ private void processHierarchy(final AMemoryStatistic stat) { } private void processLevel(final AMemoryStatistic stat) { - final IRecordFormat format = getLevelFormat(this.storageMetadata); + final var format = getLevelFormat(this.storageMetadata); final Object[] tuple = buildLevelTupleFrom(format, stat); String levelDescription = diff --git a/src/main/java/com/activeviam/mac/statistic/memory/visitor/impl/VectorStatisticVisitor.java b/src/main/java/com/activeviam/mac/statistic/memory/visitor/impl/VectorStatisticVisitor.java index 2e5db8a3..40115b41 100644 --- a/src/main/java/com/activeviam/mac/statistic/memory/visitor/impl/VectorStatisticVisitor.java +++ b/src/main/java/com/activeviam/mac/statistic/memory/visitor/impl/VectorStatisticVisitor.java @@ -7,8 +7,9 @@ package com.activeviam.mac.statistic.memory.visitor.impl; +import com.activeviam.database.api.schema.IDataTable; +import com.activeviam.database.api.schema.IDatabaseSchema; import com.activeviam.database.datastore.api.transaction.IOpenedTransaction; -import com.activeviam.database.datastore.internal.IDatastoreSchemaMetadata; import com.activeviam.mac.entities.ChunkOwner; import com.activeviam.mac.memory.DatastoreConstants; import com.activeviam.mac.memory.MemoryAnalysisDatastoreDescriptionConfig; @@ -23,7 +24,6 @@ import com.activeviam.tech.observability.internal.memory.IndexStatistic; import com.activeviam.tech.observability.internal.memory.MemoryStatisticConstants; import com.activeviam.tech.observability.internal.memory.ReferenceStatistic; -import com.activeviam.tech.records.api.IRecordFormat; import java.time.Instant; import java.util.Collection; @@ -36,7 +36,7 @@ public class VectorStatisticVisitor extends AFeedVisitor { /** The record format of the store that stores the chunks. */ - protected final IRecordFormat chunkRecordFormat; + protected final IDataTable chunkRecordFormat; /** The export date, found on the first statistics we read. */ protected final Instant current; @@ -45,8 +45,10 @@ public class VectorStatisticVisitor extends AFeedVisitor { protected final int partitionId; private final UsedByVersion usedByVersion; + /** The epoch id we are currently reading statistics for. */ protected Long epochId; + /** The fields corresponding to the vector block statistic. */ protected Collection fields; @@ -64,7 +66,7 @@ public class VectorStatisticVisitor extends AFeedVisitor { * @param usedByVersion the used by version flag for the current statistic */ public VectorStatisticVisitor( - final IDatastoreSchemaMetadata storageMetadata, + final IDatabaseSchema storageMetadata, final IOpenedTransaction transaction, final String dumpName, final Instant current, @@ -81,11 +83,7 @@ public VectorStatisticVisitor( this.epochId = epochId; this.usedByVersion = usedByVersion; - this.chunkRecordFormat = - this.storageMetadata - .getStoreMetadata(DatastoreConstants.CHUNK_STORE) - .getStoreFormat() - .getRecordFormat(); + this.chunkRecordFormat = this.storageMetadata.getTable(DatastoreConstants.CHUNK_STORE); } /** @@ -182,7 +180,7 @@ public Void visit(DictionaryStatistic dictionaryStatistic) { protected void visitVectorBlock(final ChunkStatistic statistic) { assert statistic.getChildren().isEmpty() : "Vector statistics with children"; - final IRecordFormat format = this.chunkRecordFormat; + final var format = this.chunkRecordFormat; final Object[] tuple = FeedVisitor.buildChunkTupleFrom(format, statistic); FeedVisitor.setTupleElement( diff --git a/src/main/resources/application.yml b/src/main/resources/application.yml index 469f97e9..29e658c1 100644 --- a/src/main/resources/application.yml +++ b/src/main/resources/application.yml @@ -1,10 +1,5 @@ server: port: 9092 - remote: - uri: localhost:9090 - -activeui: - address: http://localhost:9092/ui management: endpoints: @@ -12,13 +7,6 @@ management: exposure: include: "*" -contentServer: - security: - calculatedMemberRole: ROLE_USER - kpiRole: ROLE_USER - cache: - entitlementsTTL: 3600 - bookmarks: folder: ui diff --git a/src/main/resources/static/activeui/env.js b/src/main/resources/static/activeui/env.js deleted file mode 100644 index 2ef832bf..00000000 --- a/src/main/resources/static/activeui/env.js +++ /dev/null @@ -1,14 +0,0 @@ -var baseUrl = window.location.href.split('/ui')[0]; - -window.env = { - contentServerUrl: baseUrl, - contentServerVersion: "6.0.6", - // WARNING: Changing the keys of activePivotServers will break previously saved widgets and dashboards. - // If you must do it, then you also need to update each one's serverKey attribute on your content server. - activePivotServers: { - "MAC": { - url: baseUrl, - version: "6.0.6", - }, - }, -}; diff --git a/src/main/resources/static/atoti-ui/env.js b/src/main/resources/static/atoti-ui/env.js new file mode 100644 index 00000000..6a783ffd --- /dev/null +++ b/src/main/resources/static/atoti-ui/env.js @@ -0,0 +1,19 @@ +const baseUrl = window.location.href.split('/ui')[0]; +const version = "6.1.3"; + +window.env = { + contentServer: { + url: baseUrl, + version, + }, + atotiServers: { + "MAC": { + url: baseUrl, + version, + }, + }, + jwtServer: { + url: baseUrl, + version, + } +}; diff --git a/src/main/resources/static/activeui/extensions.json b/src/main/resources/static/atoti-ui/extensions.json similarity index 54% rename from src/main/resources/static/activeui/extensions.json rename to src/main/resources/static/atoti-ui/extensions.json index ead25337..883ad1ba 100644 --- a/src/main/resources/static/activeui/extensions.json +++ b/src/main/resources/static/atoti-ui/extensions.json @@ -1,5 +1,5 @@ { - "@activeviam/starter": "extensions/@activeviam/starter/@activeviam/starter.js", + "@activeviam/starter":"extensions/@activeviam/starter/extensionEntry.js", "text-editor-extension": "extensions/text-editor-extension/text-editor-extension.js", - "@activeviam/advanced-extension": "extensions/@activeviam/advanced-extension/@activeviam/advanced-extension.js" + "@activeviam/advanced-extension": "extensions/@activeviam/advanced-extension/extensionEntry.js" } diff --git a/src/main/resources/static/activeui/extensions/text-editor-extension/static/js/492.84c9d447.js b/src/main/resources/static/atoti-ui/extensions/text-editor-extension/static/js/492.84c9d447.js similarity index 100% rename from src/main/resources/static/activeui/extensions/text-editor-extension/static/js/492.84c9d447.js rename to src/main/resources/static/atoti-ui/extensions/text-editor-extension/static/js/492.84c9d447.js diff --git a/src/main/resources/static/activeui/extensions/text-editor-extension/static/js/7.b5b094db.chunk.js b/src/main/resources/static/atoti-ui/extensions/text-editor-extension/static/js/7.b5b094db.chunk.js similarity index 100% rename from src/main/resources/static/activeui/extensions/text-editor-extension/static/js/7.b5b094db.chunk.js rename to src/main/resources/static/atoti-ui/extensions/text-editor-extension/static/js/7.b5b094db.chunk.js diff --git a/src/main/resources/static/activeui/extensions/text-editor-extension/static/js/main.6b2474f9.js b/src/main/resources/static/atoti-ui/extensions/text-editor-extension/static/js/main.6b2474f9.js similarity index 100% rename from src/main/resources/static/activeui/extensions/text-editor-extension/static/js/main.6b2474f9.js rename to src/main/resources/static/atoti-ui/extensions/text-editor-extension/static/js/main.6b2474f9.js diff --git a/src/main/resources/static/activeui/extensions/text-editor-extension/text-editor-extension.js b/src/main/resources/static/atoti-ui/extensions/text-editor-extension/text-editor-extension.js similarity index 100% rename from src/main/resources/static/activeui/extensions/text-editor-extension/text-editor-extension.js rename to src/main/resources/static/atoti-ui/extensions/text-editor-extension/text-editor-extension.js From e86ed5ad4f4cb7efce9d4f264551ad4e680e6a34 Mon Sep 17 00:00:00 2001 From: Olivier Peyrusse Date: Thu, 5 Dec 2024 15:31:56 +0100 Subject: [PATCH 08/13] Use an event to setup the registry --- .../activeviam/mac/app/MacSpringBootApp.java | 6 ---- .../mac/cfg/impl/ContentServiceConfig.java | 16 ++++++---- .../cfg/impl/ManagerDescriptionConfig.java | 8 ++--- .../impl/RegistryInitializationConfig.java | 31 +++++++++++++++++++ .../ReverseEpochViewComparator.java | 2 +- .../{ => mac}/formatter/ByteFormatter.java | 2 +- .../{ => mac}/formatter/ClassFormatter.java | 2 +- .../formatter/PartitionIdFormatter.java | 2 +- src/main/resources/META-INF/spring.factories | 1 + src/main/resources/application.yml | 3 +- .../resources/static/atoti-ui/extensions.json | 1 - .../TestAggregateProvidersBookmark.java | 3 +- .../memory/TestAnalysisDatastoreFeeder.java | 4 +-- .../mac/statistic/memory/TestBranches.java | 3 +- .../memory/TestDistributedCubeEpochs.java | 3 +- .../mac/statistic/memory/TestEpochs.java | 4 +-- .../statistic/memory/TestFieldsBookmark.java | 4 +-- ...tFieldsBookmarkWithDuplicateFieldName.java | 3 +- .../TestIndexAndDictionaryBookmarks.java | 4 +-- .../mac/statistic/memory/TestMACMeasures.java | 3 +- .../memory/TestOverviewBookmark.java | 3 +- .../statistic/memory/TestRatioMeasures.java | 3 +- .../memory/TestVectorBlockBookmark.java | 4 +-- .../mac/statistic/memory/TestViewEpochs.java | 4 +-- .../memory/scenarios/TestMissingChunkId.java | 3 +- .../TestMultipleFieldsDictionary.java | 3 +- .../TestNullableLevelDictionary.java | 3 +- .../TestReverseEpochViewComparator.java | 2 +- 28 files changed, 85 insertions(+), 45 deletions(-) create mode 100644 src/main/java/com/activeviam/mac/cfg/impl/RegistryInitializationConfig.java rename src/main/java/com/activeviam/{ => mac}/comparators/ReverseEpochViewComparator.java (98%) rename src/main/java/com/activeviam/{ => mac}/formatter/ByteFormatter.java (98%) rename src/main/java/com/activeviam/{ => mac}/formatter/ClassFormatter.java (97%) rename src/main/java/com/activeviam/{ => mac}/formatter/PartitionIdFormatter.java (96%) create mode 100644 src/main/resources/META-INF/spring.factories diff --git a/src/main/java/com/activeviam/mac/app/MacSpringBootApp.java b/src/main/java/com/activeviam/mac/app/MacSpringBootApp.java index dfd3d01e..95c2c7f3 100644 --- a/src/main/java/com/activeviam/mac/app/MacSpringBootApp.java +++ b/src/main/java/com/activeviam/mac/app/MacSpringBootApp.java @@ -8,7 +8,6 @@ package com.activeviam.mac.app; import com.activeviam.mac.cfg.impl.MacServerConfig; -import com.activeviam.tech.core.api.registry.Registry; import jakarta.servlet.MultipartConfigElement; import org.springframework.beans.factory.ObjectProvider; import org.springframework.boot.SpringApplication; @@ -35,11 +34,6 @@ @Import({MacServerConfig.class}) public class MacSpringBootApp { - /* Before anything else we statically initialize the Quartet FS Registry. */ - static { - Registry.initialize(Registry.RegistryContributions.builder().build()); - } - /** * Starts the Memory Analysis Cube application. * diff --git a/src/main/java/com/activeviam/mac/cfg/impl/ContentServiceConfig.java b/src/main/java/com/activeviam/mac/cfg/impl/ContentServiceConfig.java index c9c13d71..7025e4a1 100644 --- a/src/main/java/com/activeviam/mac/cfg/impl/ContentServiceConfig.java +++ b/src/main/java/com/activeviam/mac/cfg/impl/ContentServiceConfig.java @@ -129,12 +129,16 @@ public Properties contentServiceHibernateProperties() { @Override @Bean public IContentService contentService() { - final SessionFactory sessionFactory; - try { - sessionFactory = loadConfiguration(contentServiceHibernateProperties()); - return new HibernateContentService(sessionFactory); - } catch (HibernateException | IOException e) { - throw new BeanInitializationException("Failed to initialize the Content Service", e); + if ("db".equals(this.env.getProperty("content-service.type", "db"))) { + return IContentService.builder().inMemory().build(); + } else { + final SessionFactory sessionFactory; + try { + sessionFactory = loadConfiguration(contentServiceHibernateProperties()); + return new HibernateContentService(sessionFactory); + } catch (HibernateException | IOException e) { + throw new BeanInitializationException("Failed to initialize the Content Service", e); + } } } diff --git a/src/main/java/com/activeviam/mac/cfg/impl/ManagerDescriptionConfig.java b/src/main/java/com/activeviam/mac/cfg/impl/ManagerDescriptionConfig.java index d321ee5e..21c863d1 100644 --- a/src/main/java/com/activeviam/mac/cfg/impl/ManagerDescriptionConfig.java +++ b/src/main/java/com/activeviam/mac/cfg/impl/ManagerDescriptionConfig.java @@ -30,11 +30,11 @@ import com.activeviam.activepivot.core.intf.api.description.builder.dimension.ICanStartBuildingDimensions; import com.activeviam.activepivot.server.spring.api.config.IActivePivotManagerDescriptionConfig; import com.activeviam.activepivot.server.spring.api.config.IDatastoreSchemaDescriptionConfig; -import com.activeviam.comparators.ReverseEpochViewComparator; +import com.activeviam.mac.comparators.ReverseEpochViewComparator; import com.activeviam.database.api.schema.FieldPath; -import com.activeviam.formatter.ByteFormatter; -import com.activeviam.formatter.ClassFormatter; -import com.activeviam.formatter.PartitionIdFormatter; +import com.activeviam.mac.formatter.ByteFormatter; +import com.activeviam.mac.formatter.ClassFormatter; +import com.activeviam.mac.formatter.PartitionIdFormatter; import com.activeviam.mac.entities.ChunkOwner; import com.activeviam.mac.entities.ChunkOwner.OwnerType; import com.activeviam.mac.memory.DatastoreConstants; diff --git a/src/main/java/com/activeviam/mac/cfg/impl/RegistryInitializationConfig.java b/src/main/java/com/activeviam/mac/cfg/impl/RegistryInitializationConfig.java new file mode 100644 index 00000000..1257ef77 --- /dev/null +++ b/src/main/java/com/activeviam/mac/cfg/impl/RegistryInitializationConfig.java @@ -0,0 +1,31 @@ +/* + * (C) ActiveViam 2024 + * ALL RIGHTS RESERVED. This material is the CONFIDENTIAL and PROPRIETARY + * property of ActiveViam. Any unauthorized use, + * reproduction or transfer of this material is strictly prohibited + */ + +package com.activeviam.mac.cfg.impl; + +import com.activeviam.tech.core.api.registry.Registry; +import com.activeviam.tech.core.api.registry.Registry.RegistryContributions; +import java.util.List; +import org.springframework.boot.context.event.ApplicationStartingEvent; +import org.springframework.context.ApplicationListener; + +/** + * Component initializing the registry as soon as possible when an application is starting. + * + * @author ActiveViam + */ +public class RegistryInitializationConfig implements ApplicationListener { + + public void onApplicationEvent(final ApplicationStartingEvent ignored) { + setupRegistry(); + } + + public static void setupRegistry() { + Registry.initialize( + RegistryContributions.builder().packagesToScan(List.of("com.activeviam.mac")).build()); + } +} diff --git a/src/main/java/com/activeviam/comparators/ReverseEpochViewComparator.java b/src/main/java/com/activeviam/mac/comparators/ReverseEpochViewComparator.java similarity index 98% rename from src/main/java/com/activeviam/comparators/ReverseEpochViewComparator.java rename to src/main/java/com/activeviam/mac/comparators/ReverseEpochViewComparator.java index 2b7b50ef..45d45d81 100644 --- a/src/main/java/com/activeviam/comparators/ReverseEpochViewComparator.java +++ b/src/main/java/com/activeviam/mac/comparators/ReverseEpochViewComparator.java @@ -5,7 +5,7 @@ * reproduction or transfer of this material is strictly prohibited */ -package com.activeviam.comparators; +package com.activeviam.mac.comparators; import com.activeviam.mac.statistic.memory.visitor.impl.DistributedEpochView; import com.activeviam.mac.statistic.memory.visitor.impl.EpochView; diff --git a/src/main/java/com/activeviam/formatter/ByteFormatter.java b/src/main/java/com/activeviam/mac/formatter/ByteFormatter.java similarity index 98% rename from src/main/java/com/activeviam/formatter/ByteFormatter.java rename to src/main/java/com/activeviam/mac/formatter/ByteFormatter.java index 2c59043a..eb284192 100644 --- a/src/main/java/com/activeviam/formatter/ByteFormatter.java +++ b/src/main/java/com/activeviam/mac/formatter/ByteFormatter.java @@ -5,7 +5,7 @@ * reproduction or transfer of this material is strictly prohibited */ -package com.activeviam.formatter; +package com.activeviam.mac.formatter; import com.activeviam.tech.core.api.format.IFormatter; import com.activeviam.tech.core.api.registry.AtotiExtendedPluginValue; diff --git a/src/main/java/com/activeviam/formatter/ClassFormatter.java b/src/main/java/com/activeviam/mac/formatter/ClassFormatter.java similarity index 97% rename from src/main/java/com/activeviam/formatter/ClassFormatter.java rename to src/main/java/com/activeviam/mac/formatter/ClassFormatter.java index 5952a9d6..edcf926c 100644 --- a/src/main/java/com/activeviam/formatter/ClassFormatter.java +++ b/src/main/java/com/activeviam/mac/formatter/ClassFormatter.java @@ -5,7 +5,7 @@ * reproduction or transfer of this material is strictly prohibited */ -package com.activeviam.formatter; +package com.activeviam.mac.formatter; import com.activeviam.tech.core.api.format.IFormatter; import com.activeviam.tech.core.api.registry.AtotiExtendedPluginValue; diff --git a/src/main/java/com/activeviam/formatter/PartitionIdFormatter.java b/src/main/java/com/activeviam/mac/formatter/PartitionIdFormatter.java similarity index 96% rename from src/main/java/com/activeviam/formatter/PartitionIdFormatter.java rename to src/main/java/com/activeviam/mac/formatter/PartitionIdFormatter.java index 00223c3b..1f627d88 100644 --- a/src/main/java/com/activeviam/formatter/PartitionIdFormatter.java +++ b/src/main/java/com/activeviam/mac/formatter/PartitionIdFormatter.java @@ -5,7 +5,7 @@ * reproduction or transfer of this material is strictly prohibited */ -package com.activeviam.formatter; +package com.activeviam.mac.formatter; import com.activeviam.mac.memory.MemoryAnalysisDatastoreDescriptionConfig; import com.activeviam.tech.core.api.format.IFormatter; diff --git a/src/main/resources/META-INF/spring.factories b/src/main/resources/META-INF/spring.factories new file mode 100644 index 00000000..4dd14a61 --- /dev/null +++ b/src/main/resources/META-INF/spring.factories @@ -0,0 +1 @@ +org.springframework.context.ApplicationListener=com.activeviam.mac.cfg.impl.RegistryInitializationConfig diff --git a/src/main/resources/application.yml b/src/main/resources/application.yml index 29e658c1..cf9c9d02 100644 --- a/src/main/resources/application.yml +++ b/src/main/resources/application.yml @@ -37,7 +37,7 @@ activeviam: lULiNZ73+TSdoT8yD6mH2hVArkajsnv1PNw0cR2V2aLY1Cg030jyTtmdOky/ZBhMiT/bH7H1M/BNjsC23rcOtdwFRlApUlOkGMecZN\ 8IzqaYV0zuL+cQt2Iwo=" # The time of validity of a token in seconds - expiration: 86400 + expiration: PT24H # The path of the folder containing statistic files in .json or .json.sz (Snappy-compressed) formats # This path is relative to the execution directory of the Application @@ -45,6 +45,7 @@ statistic: folder: input_statistics content-service: + mode: "in-memory" # "in-memory" or "db" db: hibernate: dialect: org.hibernate.dialect.H2Dialect diff --git a/src/main/resources/static/atoti-ui/extensions.json b/src/main/resources/static/atoti-ui/extensions.json index 883ad1ba..d8471156 100644 --- a/src/main/resources/static/atoti-ui/extensions.json +++ b/src/main/resources/static/atoti-ui/extensions.json @@ -1,5 +1,4 @@ { "@activeviam/starter":"extensions/@activeviam/starter/extensionEntry.js", - "text-editor-extension": "extensions/text-editor-extension/text-editor-extension.js", "@activeviam/advanced-extension": "extensions/@activeviam/advanced-extension/extensionEntry.js" } diff --git a/src/test/java/com/activeviam/mac/statistic/memory/TestAggregateProvidersBookmark.java b/src/test/java/com/activeviam/mac/statistic/memory/TestAggregateProvidersBookmark.java index ff1bdb4c..4e9f1d02 100644 --- a/src/test/java/com/activeviam/mac/statistic/memory/TestAggregateProvidersBookmark.java +++ b/src/test/java/com/activeviam/mac/statistic/memory/TestAggregateProvidersBookmark.java @@ -17,6 +17,7 @@ import com.activeviam.database.datastore.api.IDatastore; import com.activeviam.database.datastore.internal.IInternalDatastore; import com.activeviam.mac.cfg.impl.ManagerDescriptionConfig; +import com.activeviam.mac.cfg.impl.RegistryInitializationConfig; import com.activeviam.mac.memory.MemoryAnalysisDatastoreDescriptionConfig; import com.activeviam.tech.core.api.agent.AgentException; import com.activeviam.tech.core.api.query.QueryException; @@ -37,7 +38,7 @@ public class TestAggregateProvidersBookmark extends ATestMemoryStatistic { @BeforeAll public static void setupRegistry() { - Registry.initialize(Registry.RegistryContributions.builder().build()); + RegistryInitializationConfig.setupRegistry(); } @BeforeEach diff --git a/src/test/java/com/activeviam/mac/statistic/memory/TestAnalysisDatastoreFeeder.java b/src/test/java/com/activeviam/mac/statistic/memory/TestAnalysisDatastoreFeeder.java index 5ff20f8f..c5d0eaf3 100644 --- a/src/test/java/com/activeviam/mac/statistic/memory/TestAnalysisDatastoreFeeder.java +++ b/src/test/java/com/activeviam/mac/statistic/memory/TestAnalysisDatastoreFeeder.java @@ -22,13 +22,13 @@ import com.activeviam.database.datastore.internal.IInternalDatastore; import com.activeviam.database.datastore.internal.query.impl.DatastoreQueryHelper; import com.activeviam.mac.cfg.impl.ManagerDescriptionConfig; +import com.activeviam.mac.cfg.impl.RegistryInitializationConfig; import com.activeviam.mac.entities.ChunkOwner; import com.activeviam.mac.entities.CubeOwner; import com.activeviam.mac.memory.DatastoreConstants; import com.activeviam.mac.memory.MemoryAnalysisDatastoreDescriptionConfig; import com.activeviam.mac.statistic.memory.visitor.impl.EpochView; import com.activeviam.tech.core.api.agent.AgentException; -import com.activeviam.tech.core.api.registry.Registry; import com.activeviam.tech.mvcc.api.IEpochHistory; import com.activeviam.tech.observability.internal.memory.AMemoryStatistic; import com.activeviam.tech.records.api.ICursor; @@ -55,7 +55,7 @@ public class TestAnalysisDatastoreFeeder extends ATestMemoryStatistic { @BeforeAll public static void setupRegistry() { - Registry.initialize(Registry.RegistryContributions.builder().build()); + RegistryInitializationConfig.setupRegistry(); } @BeforeEach diff --git a/src/test/java/com/activeviam/mac/statistic/memory/TestBranches.java b/src/test/java/com/activeviam/mac/statistic/memory/TestBranches.java index 675c66ae..faf2891e 100644 --- a/src/test/java/com/activeviam/mac/statistic/memory/TestBranches.java +++ b/src/test/java/com/activeviam/mac/statistic/memory/TestBranches.java @@ -20,6 +20,7 @@ import com.activeviam.database.datastore.api.transaction.ITransactionManager; import com.activeviam.database.datastore.internal.IInternalDatastore; import com.activeviam.mac.cfg.impl.ManagerDescriptionConfig; +import com.activeviam.mac.cfg.impl.RegistryInitializationConfig; import com.activeviam.mac.memory.DatastoreConstants; import com.activeviam.mac.memory.MemoryAnalysisDatastoreDescriptionConfig; import com.activeviam.mac.memory.MemoryAnalysisDatastoreDescriptionConfig.ParentType; @@ -51,7 +52,7 @@ public class TestBranches extends ATestMemoryStatistic { @BeforeAll public static void setupRegistry() { - Registry.initialize(Registry.RegistryContributions.builder().build()); + RegistryInitializationConfig.setupRegistry(); } @BeforeEach diff --git a/src/test/java/com/activeviam/mac/statistic/memory/TestDistributedCubeEpochs.java b/src/test/java/com/activeviam/mac/statistic/memory/TestDistributedCubeEpochs.java index 27d772be..75917841 100644 --- a/src/test/java/com/activeviam/mac/statistic/memory/TestDistributedCubeEpochs.java +++ b/src/test/java/com/activeviam/mac/statistic/memory/TestDistributedCubeEpochs.java @@ -20,6 +20,7 @@ import com.activeviam.database.datastore.api.IDatastore; import com.activeviam.database.datastore.internal.IInternalDatastore; import com.activeviam.mac.cfg.impl.ManagerDescriptionConfig; +import com.activeviam.mac.cfg.impl.RegistryInitializationConfig; import com.activeviam.mac.memory.DatastoreConstants; import com.activeviam.mac.memory.MemoryAnalysisDatastoreDescriptionConfig; import com.activeviam.mac.statistic.memory.visitor.impl.DistributedEpochView; @@ -49,7 +50,7 @@ public class TestDistributedCubeEpochs extends ATestMemoryStatistic { @BeforeAll public static void setupRegistry() { - Registry.initialize(Registry.RegistryContributions.builder().build()); + RegistryInitializationConfig.setupRegistry(); } @BeforeEach diff --git a/src/test/java/com/activeviam/mac/statistic/memory/TestEpochs.java b/src/test/java/com/activeviam/mac/statistic/memory/TestEpochs.java index c4614788..898887da 100644 --- a/src/test/java/com/activeviam/mac/statistic/memory/TestEpochs.java +++ b/src/test/java/com/activeviam/mac/statistic/memory/TestEpochs.java @@ -19,12 +19,12 @@ import com.activeviam.database.datastore.api.IDatastore; import com.activeviam.database.datastore.internal.IInternalDatastore; import com.activeviam.mac.cfg.impl.ManagerDescriptionConfig; +import com.activeviam.mac.cfg.impl.RegistryInitializationConfig; import com.activeviam.mac.memory.DatastoreConstants; import com.activeviam.mac.memory.MemoryAnalysisDatastoreDescriptionConfig; import com.activeviam.mac.memory.MemoryAnalysisDatastoreDescriptionConfig.ParentType; import com.activeviam.mac.memory.MemoryAnalysisDatastoreDescriptionConfig.UsedByVersion; import com.activeviam.tech.core.api.agent.AgentException; -import com.activeviam.tech.core.api.registry.Registry; import com.activeviam.tech.observability.internal.memory.AMemoryStatistic; import com.activeviam.tech.records.api.ICursor; import com.activeviam.tech.records.api.IRecordReader; @@ -50,7 +50,7 @@ public class TestEpochs extends ATestMemoryStatistic { @BeforeAll public static void setupRegistry() { - Registry.initialize(Registry.RegistryContributions.builder().build()); + RegistryInitializationConfig.setupRegistry(); } @BeforeEach diff --git a/src/test/java/com/activeviam/mac/statistic/memory/TestFieldsBookmark.java b/src/test/java/com/activeviam/mac/statistic/memory/TestFieldsBookmark.java index 4e9120fb..62fcb958 100644 --- a/src/test/java/com/activeviam/mac/statistic/memory/TestFieldsBookmark.java +++ b/src/test/java/com/activeviam/mac/statistic/memory/TestFieldsBookmark.java @@ -11,10 +11,10 @@ import com.activeviam.database.datastore.internal.IInternalDatastore; import com.activeviam.database.datastore.internal.monitoring.MemoryStatisticsTestUtils; import com.activeviam.mac.cfg.impl.ManagerDescriptionConfig; +import com.activeviam.mac.cfg.impl.RegistryInitializationConfig; import com.activeviam.mac.memory.MemoryAnalysisDatastoreDescriptionConfig; import com.activeviam.tech.core.api.agent.AgentException; import com.activeviam.tech.core.api.query.QueryException; -import com.activeviam.tech.core.api.registry.Registry; import com.activeviam.tech.observability.internal.memory.AMemoryStatistic; import java.nio.file.Path; import java.util.List; @@ -33,7 +33,7 @@ public class TestFieldsBookmark extends ATestMemoryStatistic { @BeforeAll public static void setupRegistry() { - Registry.initialize(Registry.RegistryContributions.builder().build()); + RegistryInitializationConfig.setupRegistry(); } @BeforeEach diff --git a/src/test/java/com/activeviam/mac/statistic/memory/TestFieldsBookmarkWithDuplicateFieldName.java b/src/test/java/com/activeviam/mac/statistic/memory/TestFieldsBookmarkWithDuplicateFieldName.java index 91fec44f..2d9c0692 100644 --- a/src/test/java/com/activeviam/mac/statistic/memory/TestFieldsBookmarkWithDuplicateFieldName.java +++ b/src/test/java/com/activeviam/mac/statistic/memory/TestFieldsBookmarkWithDuplicateFieldName.java @@ -18,6 +18,7 @@ import com.activeviam.database.datastore.internal.IInternalDatastore; import com.activeviam.database.datastore.internal.monitoring.MemoryStatisticsTestUtils; import com.activeviam.mac.cfg.impl.ManagerDescriptionConfig; +import com.activeviam.mac.cfg.impl.RegistryInitializationConfig; import com.activeviam.mac.memory.MemoryAnalysisDatastoreDescriptionConfig; import com.activeviam.tech.core.api.query.QueryException; import com.activeviam.tech.core.api.registry.Registry; @@ -39,7 +40,7 @@ public class TestFieldsBookmarkWithDuplicateFieldName extends ATestMemoryStatist @BeforeAll public static void setupRegistry() { - Registry.initialize(Registry.RegistryContributions.builder().build()); + RegistryInitializationConfig.setupRegistry(); } @BeforeEach diff --git a/src/test/java/com/activeviam/mac/statistic/memory/TestIndexAndDictionaryBookmarks.java b/src/test/java/com/activeviam/mac/statistic/memory/TestIndexAndDictionaryBookmarks.java index b95112ee..f1020435 100644 --- a/src/test/java/com/activeviam/mac/statistic/memory/TestIndexAndDictionaryBookmarks.java +++ b/src/test/java/com/activeviam/mac/statistic/memory/TestIndexAndDictionaryBookmarks.java @@ -19,10 +19,10 @@ import com.activeviam.activepivot.server.spring.api.config.IDatastoreSchemaDescriptionConfig; import com.activeviam.database.datastore.internal.IInternalDatastore; import com.activeviam.mac.cfg.impl.ManagerDescriptionConfig; +import com.activeviam.mac.cfg.impl.RegistryInitializationConfig; import com.activeviam.mac.memory.MemoryAnalysisDatastoreDescriptionConfig; import com.activeviam.tech.core.api.agent.AgentException; import com.activeviam.tech.core.api.query.QueryException; -import com.activeviam.tech.core.api.registry.Registry; import com.activeviam.tech.dictionaries.api.IDictionaryProvider; import com.activeviam.tech.observability.internal.memory.AMemoryStatistic; import java.nio.file.Path; @@ -42,7 +42,7 @@ public class TestIndexAndDictionaryBookmarks extends ATestMemoryStatistic { @BeforeAll public static void setupRegistry() { - Registry.initialize(Registry.RegistryContributions.builder().build()); + RegistryInitializationConfig.setupRegistry(); } @BeforeEach diff --git a/src/test/java/com/activeviam/mac/statistic/memory/TestMACMeasures.java b/src/test/java/com/activeviam/mac/statistic/memory/TestMACMeasures.java index 27f543ed..550a34a4 100644 --- a/src/test/java/com/activeviam/mac/statistic/memory/TestMACMeasures.java +++ b/src/test/java/com/activeviam/mac/statistic/memory/TestMACMeasures.java @@ -16,6 +16,7 @@ import com.activeviam.database.datastore.internal.NoTransactionException; import com.activeviam.database.datastore.internal.monitoring.MemoryStatisticsTestUtils; import com.activeviam.mac.cfg.impl.ManagerDescriptionConfig; +import com.activeviam.mac.cfg.impl.RegistryInitializationConfig; import com.activeviam.mac.memory.MemoryAnalysisDatastoreDescriptionConfig; import com.activeviam.tech.core.api.agent.AgentException; import com.activeviam.tech.core.api.exceptions.ActiveViamRuntimeException; @@ -68,7 +69,7 @@ public class TestMACMeasures extends ATestMemoryStatistic { @BeforeAll public static void init() { - Registry.initialize(Registry.RegistryContributions.builder().build()); + RegistryInitializationConfig.setupRegistry(); } private static Map extractApplicationStats(final IMemoryStatistic export) { diff --git a/src/test/java/com/activeviam/mac/statistic/memory/TestOverviewBookmark.java b/src/test/java/com/activeviam/mac/statistic/memory/TestOverviewBookmark.java index dbbac772..2eb4887e 100644 --- a/src/test/java/com/activeviam/mac/statistic/memory/TestOverviewBookmark.java +++ b/src/test/java/com/activeviam/mac/statistic/memory/TestOverviewBookmark.java @@ -10,6 +10,7 @@ import com.activeviam.database.datastore.internal.IInternalDatastore; import com.activeviam.database.datastore.internal.monitoring.MemoryStatisticsTestUtils; import com.activeviam.mac.cfg.impl.ManagerDescriptionConfig; +import com.activeviam.mac.cfg.impl.RegistryInitializationConfig; import com.activeviam.mac.memory.MemoryAnalysisDatastoreDescriptionConfig; import com.activeviam.tech.core.api.agent.AgentException; import com.activeviam.tech.core.api.query.QueryException; @@ -33,7 +34,7 @@ public class TestOverviewBookmark extends ATestMemoryStatistic { @BeforeAll public static void setupRegistry() { - Registry.initialize(Registry.RegistryContributions.builder().build()); + RegistryInitializationConfig.setupRegistry(); } @BeforeEach diff --git a/src/test/java/com/activeviam/mac/statistic/memory/TestRatioMeasures.java b/src/test/java/com/activeviam/mac/statistic/memory/TestRatioMeasures.java index 7e1064e3..f62d3ec5 100644 --- a/src/test/java/com/activeviam/mac/statistic/memory/TestRatioMeasures.java +++ b/src/test/java/com/activeviam/mac/statistic/memory/TestRatioMeasures.java @@ -10,6 +10,7 @@ import com.activeviam.database.datastore.api.IDatastore; import com.activeviam.database.datastore.internal.IInternalDatastore; import com.activeviam.mac.cfg.impl.ManagerDescriptionConfig; +import com.activeviam.mac.cfg.impl.RegistryInitializationConfig; import com.activeviam.mac.memory.MemoryAnalysisDatastoreDescriptionConfig; import com.activeviam.tech.core.api.query.QueryException; import com.activeviam.tech.core.api.registry.Registry; @@ -30,7 +31,7 @@ public class TestRatioMeasures extends ATestMemoryStatistic { @BeforeAll public static void setupRegistry() { - Registry.initialize(Registry.RegistryContributions.builder().build()); + RegistryInitializationConfig.setupRegistry(); } @BeforeEach diff --git a/src/test/java/com/activeviam/mac/statistic/memory/TestVectorBlockBookmark.java b/src/test/java/com/activeviam/mac/statistic/memory/TestVectorBlockBookmark.java index 914447d3..b011c94e 100644 --- a/src/test/java/com/activeviam/mac/statistic/memory/TestVectorBlockBookmark.java +++ b/src/test/java/com/activeviam/mac/statistic/memory/TestVectorBlockBookmark.java @@ -20,10 +20,10 @@ import com.activeviam.database.datastore.internal.IInternalDatastore; import com.activeviam.database.datastore.internal.monitoring.MemoryStatisticsTestUtils; import com.activeviam.mac.cfg.impl.ManagerDescriptionConfig; +import com.activeviam.mac.cfg.impl.RegistryInitializationConfig; import com.activeviam.mac.memory.MemoryAnalysisDatastoreDescriptionConfig; import com.activeviam.tech.core.api.agent.AgentException; import com.activeviam.tech.core.api.query.QueryException; -import com.activeviam.tech.core.api.registry.Registry; import com.activeviam.tech.observability.internal.memory.AMemoryStatistic; import java.nio.file.Path; import java.util.List; @@ -43,7 +43,7 @@ public class TestVectorBlockBookmark extends ATestMemoryStatistic { @BeforeAll public static void setupRegistry() { - Registry.initialize(Registry.RegistryContributions.builder().build()); + RegistryInitializationConfig.setupRegistry(); } @BeforeEach diff --git a/src/test/java/com/activeviam/mac/statistic/memory/TestViewEpochs.java b/src/test/java/com/activeviam/mac/statistic/memory/TestViewEpochs.java index 2d4f57ae..8ef9feca 100644 --- a/src/test/java/com/activeviam/mac/statistic/memory/TestViewEpochs.java +++ b/src/test/java/com/activeviam/mac/statistic/memory/TestViewEpochs.java @@ -18,6 +18,7 @@ import com.activeviam.database.datastore.api.transaction.ITransactionManager; import com.activeviam.database.datastore.internal.IInternalDatastore; import com.activeviam.mac.cfg.impl.ManagerDescriptionConfig; +import com.activeviam.mac.cfg.impl.RegistryInitializationConfig; import com.activeviam.mac.entities.ChunkOwner; import com.activeviam.mac.entities.CubeOwner; import com.activeviam.mac.entities.StoreOwner; @@ -25,7 +26,6 @@ import com.activeviam.mac.memory.MemoryAnalysisDatastoreDescriptionConfig; import com.activeviam.mac.statistic.memory.visitor.impl.EpochView; import com.activeviam.tech.core.api.agent.AgentException; -import com.activeviam.tech.core.api.registry.Registry; import com.activeviam.tech.observability.internal.memory.AMemoryStatistic; import com.activeviam.tech.records.api.ICursor; import com.activeviam.tech.records.api.IRecordReader; @@ -53,7 +53,7 @@ public class TestViewEpochs extends ATestMemoryStatistic { @BeforeAll public static void setupRegistry() { - Registry.initialize(Registry.RegistryContributions.builder().build()); + RegistryInitializationConfig.setupRegistry(); } @BeforeEach diff --git a/src/test/java/com/activeviam/mac/statistic/memory/scenarios/TestMissingChunkId.java b/src/test/java/com/activeviam/mac/statistic/memory/scenarios/TestMissingChunkId.java index 8626f166..bff4dde3 100644 --- a/src/test/java/com/activeviam/mac/statistic/memory/scenarios/TestMissingChunkId.java +++ b/src/test/java/com/activeviam/mac/statistic/memory/scenarios/TestMissingChunkId.java @@ -15,6 +15,7 @@ import com.activeviam.database.datastore.api.description.IDatastoreSchemaDescription; import com.activeviam.database.datastore.internal.IInternalDatastore; import com.activeviam.mac.cfg.impl.ManagerDescriptionConfig; +import com.activeviam.mac.cfg.impl.RegistryInitializationConfig; import com.activeviam.mac.memory.MemoryAnalysisDatastoreDescriptionConfig; import com.activeviam.mac.statistic.memory.ATestMemoryStatistic; import com.activeviam.mac.statistic.memory.deserializer.RetroCompatibleDeserializer; @@ -46,7 +47,7 @@ public class TestMissingChunkId { @BeforeAll public static void setupRegistry() { - Registry.initialize(Registry.RegistryContributions.builder().build()); + RegistryInitializationConfig.setupRegistry(); } @BeforeEach diff --git a/src/test/java/com/activeviam/mac/statistic/memory/scenarios/TestMultipleFieldsDictionary.java b/src/test/java/com/activeviam/mac/statistic/memory/scenarios/TestMultipleFieldsDictionary.java index e7a98049..181aa800 100644 --- a/src/test/java/com/activeviam/mac/statistic/memory/scenarios/TestMultipleFieldsDictionary.java +++ b/src/test/java/com/activeviam/mac/statistic/memory/scenarios/TestMultipleFieldsDictionary.java @@ -24,6 +24,7 @@ import com.activeviam.database.datastore.internal.IInternalDatastore; import com.activeviam.database.datastore.internal.dictionary.ISchemaDictionaryProvider; import com.activeviam.mac.cfg.impl.ManagerDescriptionConfig; +import com.activeviam.mac.cfg.impl.RegistryInitializationConfig; import com.activeviam.mac.entities.ChunkOwner; import com.activeviam.mac.memory.DatastoreConstants; import com.activeviam.mac.memory.MemoryAnalysisDatastoreDescriptionConfig; @@ -67,7 +68,7 @@ public class TestMultipleFieldsDictionary extends ATestMemoryStatistic { @BeforeAll public static void setupRegistry() { - Registry.initialize(Registry.RegistryContributions.builder().build()); + RegistryInitializationConfig.setupRegistry(); } @BeforeEach diff --git a/src/test/java/com/activeviam/mac/statistic/memory/scenarios/TestNullableLevelDictionary.java b/src/test/java/com/activeviam/mac/statistic/memory/scenarios/TestNullableLevelDictionary.java index 3a6046ec..eaa01870 100644 --- a/src/test/java/com/activeviam/mac/statistic/memory/scenarios/TestNullableLevelDictionary.java +++ b/src/test/java/com/activeviam/mac/statistic/memory/scenarios/TestNullableLevelDictionary.java @@ -23,6 +23,7 @@ import com.activeviam.database.datastore.api.description.IDatastoreSchemaDescription; import com.activeviam.database.datastore.internal.IInternalDatastore; import com.activeviam.mac.cfg.impl.ManagerDescriptionConfig; +import com.activeviam.mac.cfg.impl.RegistryInitializationConfig; import com.activeviam.mac.memory.MemoryAnalysisDatastoreDescriptionConfig; import com.activeviam.mac.statistic.memory.ATestMemoryStatistic; import com.activeviam.tech.core.api.exceptions.ActiveViamRuntimeException; @@ -59,7 +60,7 @@ public class TestNullableLevelDictionary { @BeforeAll public static void setupRegistry() { - Registry.initialize(Registry.RegistryContributions.builder().build()); + RegistryInitializationConfig.setupRegistry(); } @BeforeEach diff --git a/src/test/java/com/activeviam/mac/statistic/memory/visitor/TestReverseEpochViewComparator.java b/src/test/java/com/activeviam/mac/statistic/memory/visitor/TestReverseEpochViewComparator.java index 9898f82d..a4706aa8 100644 --- a/src/test/java/com/activeviam/mac/statistic/memory/visitor/TestReverseEpochViewComparator.java +++ b/src/test/java/com/activeviam/mac/statistic/memory/visitor/TestReverseEpochViewComparator.java @@ -9,7 +9,7 @@ import static org.assertj.core.api.Assertions.assertThat; -import com.activeviam.comparators.ReverseEpochViewComparator; +import com.activeviam.mac.comparators.ReverseEpochViewComparator; import com.activeviam.mac.statistic.memory.visitor.impl.DistributedEpochView; import com.activeviam.mac.statistic.memory.visitor.impl.EpochView; import com.activeviam.mac.statistic.memory.visitor.impl.RegularEpochView; From 5365931c01b74a96825c54034acdced7573d4fb7 Mon Sep 17 00:00:00 2001 From: Olivier Peyrusse Date: Thu, 5 Dec 2024 17:10:16 +0100 Subject: [PATCH 09/13] Refactor security a bit --- .../mac/cfg/impl/MacServerConfig.java | 72 ++++++++----------- .../InMemoryUserDetailsManagerBuilder.java | 54 -------------- .../mac/cfg/security/impl/SecurityConfig.java | 22 ++++++ .../mac/cfg/security/impl/UserConfig.java | 53 -------------- .../cfg/security/impl/WebConfiguration.java | 12 ---- 5 files changed, 50 insertions(+), 163 deletions(-) delete mode 100644 src/main/java/com/activeviam/mac/cfg/security/impl/InMemoryUserDetailsManagerBuilder.java delete mode 100644 src/main/java/com/activeviam/mac/cfg/security/impl/UserConfig.java delete mode 100644 src/main/java/com/activeviam/mac/cfg/security/impl/WebConfiguration.java diff --git a/src/main/java/com/activeviam/mac/cfg/impl/MacServerConfig.java b/src/main/java/com/activeviam/mac/cfg/impl/MacServerConfig.java index 4fbe7cd1..b7f81e14 100644 --- a/src/main/java/com/activeviam/mac/cfg/impl/MacServerConfig.java +++ b/src/main/java/com/activeviam/mac/cfg/impl/MacServerConfig.java @@ -11,7 +11,6 @@ import com.activeviam.activepivot.server.spring.api.config.IActivePivotContentServiceConfig; import com.activeviam.activepivot.server.spring.api.config.IDatastoreConfig; import com.activeviam.mac.cfg.security.impl.SecurityConfig; -import com.activeviam.mac.cfg.security.impl.UserConfig; import com.activeviam.tech.core.api.agent.AgentException; import com.activeviam.web.spring.internal.JMXEnabler; import com.activeviam.web.spring.internal.config.JwtConfig; @@ -28,71 +27,56 @@ * Spring configuration of the ActivePivot Sandbox application. * *

We use {@link PropertySource} annotation(s) to define some .properties file(s), whose content - * will be loaded into the Spring {@link Environment}, allowing some externally-driven configuration of the - * application. Parameters can be quickly changed by modifying the {@code sandbox.properties} file. + * will be loaded into the Spring {@link Environment}, allowing some externally-driven configuration + * of the application. Parameters can be quickly changed by modifying the {@code sandbox.properties} + * file. * *

We use {@link Import} annotation(s) to reference additional Spring {@link Configuration} - * classes, so that we can manage the application configuration in a modular way (split by domain/feature, re-use - * of core config, override of core config, customized config, etc...). + * classes, so that we can manage the application configuration in a modular way (split by + * domain/feature, re-use of core config, override of core config, customized config, etc...). * *

Spring best practices recommends not to have arguments in bean methods if possible. One should - * rather autowire the appropriate spring configurations (and not beans directly unless necessary), and use the - * beans from there. + * rather autowire the appropriate spring configurations (and not beans directly unless necessary), + * and use the beans from there. * * @author ActiveViam */ @Configuration @Import( value = { - JwtConfig.class, - ManagerDescriptionConfig.class, + JwtConfig.class, + ManagerDescriptionConfig.class, - // Pivot - ActivePivotWithDatastoreConfig.class, + // Pivot + ActivePivotWithDatastoreConfig.class, - // Content server - ContentServiceConfig.class, + // Content server + ContentServiceConfig.class, - // Specific to monitoring server - SecurityConfig.class, - UserConfig.class, - SourceConfig.class, + // Specific to monitoring server + SecurityConfig.class, + SourceConfig.class, }) public class MacServerConfig { - /** - * Datastore spring configuration. - */ - @Autowired - protected IDatastoreConfig datastoreConfig; + /** Datastore spring configuration. */ + @Autowired protected IDatastoreConfig datastoreConfig; - /** - * ActivePivot spring configuration. - */ - @Autowired - protected IActivePivotConfig apConfig; + /** ActivePivot spring configuration. */ + @Autowired protected IActivePivotConfig apConfig; - /** - * ActivePivot content service spring configuration. - */ - @Autowired - protected IActivePivotContentServiceConfig apContentServiceConfig; + /** ActivePivot content service spring configuration. */ + @Autowired protected IActivePivotContentServiceConfig apContentServiceConfig; - /** - * Content Service configuration. - */ - @Autowired - protected ContentServiceConfig contentServiceConfig; + /** Content Service configuration. */ + @Autowired protected ContentServiceConfig contentServiceConfig; - /** - * Spring configuration of the source files of the Memory Analysis Cube application. - */ - @Autowired - protected SourceConfig sourceConfig; + /** Spring configuration of the source files of the Memory Analysis Cube application. */ + @Autowired protected SourceConfig sourceConfig; /** - * Initialize and start the ActivePivot Manager, after performing all the injections into the ActivePivot - * plug-ins. + * Initialize and start the ActivePivot Manager, after performing all the injections into the + * ActivePivot plug-ins. * * @return void */ diff --git a/src/main/java/com/activeviam/mac/cfg/security/impl/InMemoryUserDetailsManagerBuilder.java b/src/main/java/com/activeviam/mac/cfg/security/impl/InMemoryUserDetailsManagerBuilder.java deleted file mode 100644 index d8e006dd..00000000 --- a/src/main/java/com/activeviam/mac/cfg/security/impl/InMemoryUserDetailsManagerBuilder.java +++ /dev/null @@ -1,54 +0,0 @@ -/* - * (C) ActiveViam 2015 - * ALL RIGHTS RESERVED. This material is the CONFIDENTIAL and PROPRIETARY - * property of ActiveViam. Any unauthorized use, - * reproduction or transfer of this material is strictly prohibited - */ - -package com.activeviam.mac.cfg.security.impl; - -import java.util.ArrayList; -import org.springframework.security.config.annotation.authentication.builders.AuthenticationManagerBuilder; -import org.springframework.security.config.annotation.authentication.configurers.provisioning.InMemoryUserDetailsManagerConfigurer; -import org.springframework.security.config.annotation.authentication.configurers.provisioning.UserDetailsManagerConfigurer; -import org.springframework.security.core.userdetails.UserDetailsService; -import org.springframework.security.provisioning.InMemoryUserDetailsManager; -import org.springframework.security.provisioning.UserDetailsManager; - -/** - * An In-memory {@link UserDetailsService} builder which can be used without {@link - * AuthenticationManagerBuilder} contrary to {@link InMemoryUserDetailsManagerConfigurer}. - * - * @author ActiveViam - */ -public class InMemoryUserDetailsManagerBuilder - extends UserDetailsManagerConfigurer< - AuthenticationManagerBuilder, InMemoryUserDetailsManagerBuilder> { - - /** Creates a new instance. */ - public InMemoryUserDetailsManagerBuilder() { - super(new InMemoryUserDetailsManager(new ArrayList<>())); - } - - @Override - public void configure(AuthenticationManagerBuilder builder) throws Exception { - if (null != builder) { - throw new IllegalArgumentException(); - } - initUserDetailsService(); - } - - /** - * Builds the In-memory {@link UserDetailsManager} and returns it. - * - * @return the built object - */ - public UserDetailsManager build() { - try { - configure(null); - return getUserDetailsService(); - } catch (Exception e) { - throw new RuntimeException(e); - } - } -} diff --git a/src/main/java/com/activeviam/mac/cfg/security/impl/SecurityConfig.java b/src/main/java/com/activeviam/mac/cfg/security/impl/SecurityConfig.java index 1518f233..541b6749 100644 --- a/src/main/java/com/activeviam/mac/cfg/security/impl/SecurityConfig.java +++ b/src/main/java/com/activeviam/mac/cfg/security/impl/SecurityConfig.java @@ -1,5 +1,6 @@ package com.activeviam.mac.cfg.security.impl; +import com.activeviam.tech.contentserver.storage.api.IContentService; import com.activeviam.web.spring.api.config.IJwtConfig; import com.activeviam.web.spring.api.jwt.JwtAuthenticationProvider; import lombok.RequiredArgsConstructor; @@ -12,11 +13,14 @@ import org.springframework.security.authentication.ProviderManager; import org.springframework.security.authentication.dao.DaoAuthenticationProvider; import org.springframework.security.config.annotation.web.configuration.EnableWebSecurity; +import org.springframework.security.core.userdetails.User; +import org.springframework.security.core.userdetails.User.UserBuilder; import org.springframework.security.core.userdetails.UserDetailsService; import org.springframework.security.crypto.factory.PasswordEncoderFactories; import org.springframework.security.crypto.password.DelegatingPasswordEncoder; import org.springframework.security.crypto.password.NoOpPasswordEncoder; import org.springframework.security.crypto.password.PasswordEncoder; +import org.springframework.security.provisioning.InMemoryUserDetailsManager; import org.springframework.security.web.AuthenticationEntryPoint; import org.springframework.security.web.authentication.HttpStatusEntryPoint; import org.springframework.security.web.firewall.StrictHttpFirewall; @@ -35,6 +39,24 @@ public class SecurityConfig { /** Name of the Cookies of the MAC application. */ public static final String COOKIE_NAME = "MEMORY_ANALYSIS_CUBE"; + /** + * [Bean] Create the users that can access the application. + * + * @return {@link UserDetailsService user data} + */ + @Bean + public UserDetailsService userDetailsService(final PasswordEncoder passwordEncoder) { + final UserBuilder builder = User.builder().passwordEncoder(passwordEncoder::encode); + final InMemoryUserDetailsManager service = new InMemoryUserDetailsManager(); + service.createUser( + builder + .username("admin") + .password("admin") + .authorities(ROLE_USER, ROLE_ADMIN, IContentService.ROLE_ROOT) + .build()); + return service; + } + /** * As of Spring Security 5.0, the way the passwords are encoded must be specified. When logging, * the input password will be encoded and compared with the stored encoded password. To determine diff --git a/src/main/java/com/activeviam/mac/cfg/security/impl/UserConfig.java b/src/main/java/com/activeviam/mac/cfg/security/impl/UserConfig.java deleted file mode 100644 index a6b12fea..00000000 --- a/src/main/java/com/activeviam/mac/cfg/security/impl/UserConfig.java +++ /dev/null @@ -1,53 +0,0 @@ -/* - * (C) ActiveViam 2017 - * ALL RIGHTS RESERVED. This material is the CONFIDENTIAL and PROPRIETARY - * property of ActiveViam. Any unauthorized use, - * reproduction or transfer of this material is strictly prohibited - */ - -package com.activeviam.mac.cfg.security.impl; - -import com.activeviam.tech.contentserver.storage.api.IContentService; -import org.springframework.context.annotation.Bean; -import org.springframework.context.annotation.Configuration; -import org.springframework.security.core.userdetails.UserDetailsService; - -/** - * Spring configuration that defines the users and their associated roles in the Sandbox - * application. - * - * @author ActiveViam - */ -@Configuration -public class UserConfig { - - /** - * ROLE_KPI is added to users, to give them permission to read kpis created by other users in the - * content server In order to "share" kpis created in the content server, the kpi reader role is - * set to : ROLE_KPI. - */ - public static final String ROLE_KPI = "ROLE_KPI"; - - /** - * [Bean] Create the users that can access the application. - * - * @return {@link UserDetailsService user data} - */ - @Bean - public UserDetailsService userDetailsService() { - return new InMemoryUserDetailsManagerBuilder() - - // "Real users" - .withUser("admin") - .password("admin") - .authorities( - SecurityConfig.ROLE_USER, - SecurityConfig.ROLE_ADMIN, - ROLE_KPI, - IContentService.ROLE_ROOT) - .and() - - // We're done - .build(); - } -} diff --git a/src/main/java/com/activeviam/mac/cfg/security/impl/WebConfiguration.java b/src/main/java/com/activeviam/mac/cfg/security/impl/WebConfiguration.java deleted file mode 100644 index b44ab869..00000000 --- a/src/main/java/com/activeviam/mac/cfg/security/impl/WebConfiguration.java +++ /dev/null @@ -1,12 +0,0 @@ -package com.activeviam.mac.cfg.security.impl; - -public class WebConfiguration { - final boolean useAnonymous = false; - final String cookieName; - final boolean logout; - - public WebConfiguration(String cookieName) { - this.cookieName = cookieName; - this.logout = cookieName != null; - } -} From 0d92236ba0449b3c8f74872d9a2dcf5cbcffd2d4 Mon Sep 17 00:00:00 2001 From: lha Date: Thu, 12 Dec 2024 10:15:47 +0100 Subject: [PATCH 10/13] provide continuous build --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index c3240feb..ce2ac285 100644 --- a/pom.xml +++ b/pom.xml @@ -25,7 +25,7 @@ 21 - 6.1.3-SNAPSHOT + 6.1.3-1733969770-ef208661 10.1.30 From ade4b183985ec6d6b47601195123a48f0db4bdbe Mon Sep 17 00:00:00 2001 From: lha Date: Tue, 14 Jan 2025 14:14:06 +0100 Subject: [PATCH 11/13] upate atoti server version --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index ce2ac285..d4046bba 100644 --- a/pom.xml +++ b/pom.xml @@ -25,7 +25,7 @@ 21 - 6.1.3-1733969770-ef208661 + 6.1.4-1736843675-42834d84 10.1.30 From 17e03b1c99298965d247d68898191e723cbc7736 Mon Sep 17 00:00:00 2001 From: ntestu <189612740+ntestu@users.noreply.github.com> Date: Wed, 15 Jan 2025 11:11:27 +0100 Subject: [PATCH 12/13] Remove activepivot-server-test from dependencies (module was deleted in https://github.com/activeviam/activepivot/pull/11729) --- pom.xml | 6 ------ 1 file changed, 6 deletions(-) diff --git a/pom.xml b/pom.xml index d4046bba..fd3c49cd 100644 --- a/pom.xml +++ b/pom.xml @@ -122,12 +122,6 @@ ${atoti-server.version} test - - com.activeviam.activepivot - activepivot-server-test - ${atoti-server.version} - test - org.mockito mockito-core From 99b5e633ba66683be26c86dfa5dc4a467eb48a27 Mon Sep 17 00:00:00 2001 From: ntestu <189612740+ntestu@users.noreply.github.com> Date: Mon, 20 Jan 2025 10:46:10 +0100 Subject: [PATCH 13/13] PIVOT-10924 Move backward compatibility tests to Java (#125) * Move compatibility check to Java * Remove compatibility-check leftovers in CI * Use JDK21 on CI and update to 6.1.3 * Update fmt-maven-plugin to the version used in activepivot (which supports Java 21) --- .circleci/config.yml | 114 +-------- .github/PULL_REQUEST_TEMPLATE.md | 5 - .github/actions/circle-ci/action.yaml | 1 - .github/actions/parser.bash | 9 - .github/workflows/pr-steps-checker.yml | 6 +- pom.xml | 6 +- scripts/get_compatible_ap_releases.sh | 14 -- scripts/mac_export_load.sh | 222 ------------------ scripts/queries/input/query1.json | 1 - scripts/queries/input/query2.txt | 1 - scripts/queries/ref/query1.json | 7 - scripts/queries/ref/query2.json | 4 - scripts/sandbox_export_generator.sh | 219 ----------------- src/main/java/com/activeviam/mac/Loggers.java | 2 + .../cfg/impl/ManagerDescriptionConfig.java | 63 ++++- .../mac/cfg/security/impl/CorsConfig.java | 12 +- .../mac/formatter/ByteFormatter.java | 3 + .../mac/memory/DatastoreConstants.java | 53 +++++ ...oryAnalysisDatastoreDescriptionConfig.java | 1 + .../memory/visitor/impl/DebugVisitor.java | 3 + .../mac/TestMemoryStatisticBuilder.java | 4 +- .../memory/ATestMemoryStatistic.java | 8 + .../TestAggregateProvidersBookmark.java | 1 - .../mac/statistic/memory/TestBranches.java | 1 - .../memory/TestDistributedCubeEpochs.java | 1 - ...tFieldsBookmarkWithDuplicateFieldName.java | 1 - .../mac/statistic/memory/TestMACMeasures.java | 4 +- .../TestMemoryStatisticsCompatibility.java | 181 ++++++++++++++ .../memory/TestOverviewBookmark.java | 1 - .../statistic/memory/TestRatioMeasures.java | 1 - .../memory/scenarios/TestMissingChunkId.java | 14 +- .../TestMultipleFieldsDictionary.java | 1 - .../TestNullableLevelDictionary.java | 1 - ...VersionPivot_EquityDerivativesCube.json.sz | Bin 0 -> 836169 bytes ...ionPivot_EquityDerivativesCubeDist.json.sz | Bin 0 -> 4793 bytes .../MultiVersionStore_City.json.sz | Bin 0 -> 12389 bytes .../MultiVersionStore_CounterParty.json.sz | Bin 0 -> 23699 bytes .../MultiVersionStore_Desk.json.sz | Bin 0 -> 15263 bytes .../MultiVersionStore_Forex.json.sz | Bin 0 -> 13122 bytes .../MultiVersionStore_Product.json.sz | Bin 0 -> 28821 bytes .../MultiVersionStore_Risk.json.sz | Bin 0 -> 455971 bytes .../MultiVersionStore_Trade.json.sz | Bin 0 -> 260032 bytes .../export_5.11.19_query_results.csv | 40 ++++ ...VersionPivot_EquityDerivativesCube.json.sz | Bin 0 -> 815462 bytes ...ionPivot_EquityDerivativesCubeDist.json.sz | Bin 0 -> 71537 bytes .../MultiVersionStore_City.json.sz | Bin 0 -> 17671 bytes .../MultiVersionStore_CounterParty.json.sz | Bin 0 -> 30528 bytes .../MultiVersionStore_Desk.json.sz | Bin 0 -> 22973 bytes .../MultiVersionStore_Forex.json.sz | Bin 0 -> 25378 bytes .../MultiVersionStore_Product.json.sz | Bin 0 -> 41773 bytes .../MultiVersionStore_Risk.json.sz | Bin 0 -> 419336 bytes .../MultiVersionStore_Trade.json.sz | Bin 0 -> 249584 bytes .../export_6.0.19_query_results.csv | 40 ++++ ...VersionPivot_EquityDerivativesCube.json.sz | Bin 0 -> 817488 bytes .../MultiVersionStore_City.json.sz | Bin 0 -> 14314 bytes .../MultiVersionStore_CounterParty.json.sz | Bin 0 -> 26097 bytes .../MultiVersionStore_Desk.json.sz | Bin 0 -> 17688 bytes .../MultiVersionStore_Forex.json.sz | Bin 0 -> 14512 bytes .../MultiVersionStore_Product.json.sz | Bin 0 -> 30838 bytes .../MultiVersionStore_Risk.json.sz | Bin 0 -> 460847 bytes .../MultiVersionStore_Trade.json.sz | Bin 0 -> 258471 bytes .../export_6.1.3_query_results.csv | 38 +++ 62 files changed, 446 insertions(+), 637 deletions(-) delete mode 100644 .github/PULL_REQUEST_TEMPLATE.md delete mode 100644 .github/actions/parser.bash delete mode 100644 scripts/get_compatible_ap_releases.sh delete mode 100644 scripts/mac_export_load.sh delete mode 100644 scripts/queries/input/query1.json delete mode 100644 scripts/queries/input/query2.txt delete mode 100644 scripts/queries/ref/query1.json delete mode 100644 scripts/queries/ref/query2.json delete mode 100644 scripts/sandbox_export_generator.sh create mode 100644 src/test/java/com/activeviam/mac/statistic/memory/TestMemoryStatisticsCompatibility.java create mode 100644 src/test/resources/compatibility_exports/export_5.11.19/MultiVersionPivot_EquityDerivativesCube.json.sz create mode 100644 src/test/resources/compatibility_exports/export_5.11.19/MultiVersionPivot_EquityDerivativesCubeDist.json.sz create mode 100644 src/test/resources/compatibility_exports/export_5.11.19/MultiVersionStore_City.json.sz create mode 100644 src/test/resources/compatibility_exports/export_5.11.19/MultiVersionStore_CounterParty.json.sz create mode 100644 src/test/resources/compatibility_exports/export_5.11.19/MultiVersionStore_Desk.json.sz create mode 100644 src/test/resources/compatibility_exports/export_5.11.19/MultiVersionStore_Forex.json.sz create mode 100644 src/test/resources/compatibility_exports/export_5.11.19/MultiVersionStore_Product.json.sz create mode 100644 src/test/resources/compatibility_exports/export_5.11.19/MultiVersionStore_Risk.json.sz create mode 100644 src/test/resources/compatibility_exports/export_5.11.19/MultiVersionStore_Trade.json.sz create mode 100644 src/test/resources/compatibility_exports/export_5.11.19_query_results.csv create mode 100644 src/test/resources/compatibility_exports/export_6.0.19/MultiVersionPivot_EquityDerivativesCube.json.sz create mode 100644 src/test/resources/compatibility_exports/export_6.0.19/MultiVersionPivot_EquityDerivativesCubeDist.json.sz create mode 100644 src/test/resources/compatibility_exports/export_6.0.19/MultiVersionStore_City.json.sz create mode 100644 src/test/resources/compatibility_exports/export_6.0.19/MultiVersionStore_CounterParty.json.sz create mode 100644 src/test/resources/compatibility_exports/export_6.0.19/MultiVersionStore_Desk.json.sz create mode 100644 src/test/resources/compatibility_exports/export_6.0.19/MultiVersionStore_Forex.json.sz create mode 100644 src/test/resources/compatibility_exports/export_6.0.19/MultiVersionStore_Product.json.sz create mode 100644 src/test/resources/compatibility_exports/export_6.0.19/MultiVersionStore_Risk.json.sz create mode 100644 src/test/resources/compatibility_exports/export_6.0.19/MultiVersionStore_Trade.json.sz create mode 100644 src/test/resources/compatibility_exports/export_6.0.19_query_results.csv create mode 100644 src/test/resources/compatibility_exports/export_6.1.3/MultiVersionPivot_EquityDerivativesCube.json.sz create mode 100644 src/test/resources/compatibility_exports/export_6.1.3/MultiVersionStore_City.json.sz create mode 100644 src/test/resources/compatibility_exports/export_6.1.3/MultiVersionStore_CounterParty.json.sz create mode 100644 src/test/resources/compatibility_exports/export_6.1.3/MultiVersionStore_Desk.json.sz create mode 100644 src/test/resources/compatibility_exports/export_6.1.3/MultiVersionStore_Forex.json.sz create mode 100644 src/test/resources/compatibility_exports/export_6.1.3/MultiVersionStore_Product.json.sz create mode 100644 src/test/resources/compatibility_exports/export_6.1.3/MultiVersionStore_Risk.json.sz create mode 100644 src/test/resources/compatibility_exports/export_6.1.3/MultiVersionStore_Trade.json.sz create mode 100644 src/test/resources/compatibility_exports/export_6.1.3_query_results.csv diff --git a/.circleci/config.yml b/.circleci/config.yml index 7d4fdb71..17fd22ff 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -7,13 +7,10 @@ parameters: base_ref: type: string default: NONE - run_compatibility: - type: boolean - default: false executors: jdk11-docker: docker: - - image: cimg/openjdk:17.0.13 + - image: cimg/openjdk:21.0.5 environment: LANG: C.UTF-8 LC_ALL: C.UTF-8 @@ -46,122 +43,15 @@ jobs: -v "$HOME/.m2/repository:/tmp/repository" \ -v "$PWD:/home/circleci/mac" \ -w /home/circleci/mac -u root \ - cimg/openjdk:17.0.13 \ + cimg/openjdk:21.0.5 \ mvn package --settings .circleci/circleci-settings.xml -Dmaven.repo.local=/tmp/repository - save_cache: paths: [ ~/.m2/repository ] key: mac-java-{{ .Branch }}-{{ checksum "pom.xml" }} - launch_compatibility_checks: - executor: vm - resource_class: medium - steps: - - unless: - condition: <> - steps: - - run: - name: Fail if no compatibility enabled - command: exit 1 - - when: - condition: <> - steps: - - checkout -# Somehow fails on ubuntu 20.04 (https://askubuntu.com/questions/1240056/unable-to-install-libxml2-utils-on-ubuntu-20-04-wsl) -# - run: -# name: Try downloading xmllint -# command: sudo apt-get install libxml2-utils - - run: - name: Compatibility enabled, fetch matching releases using artifacts.activeviam.com - command: bash ./scripts/get_compatible_ap_releases.sh - compatibility_check: - executor: vm - resource_class: large - working_directory: ~/mac - parameters: - ap-version: - type: string - steps: - - checkout - - restore_cache: - keys: - - mac-java-{{ .Branch }}-{{ checksum "pom.xml" }} - - mac-java-{{ .Branch }}- - - mac-java- - - mac-export-<< parameters.ap-version >>-{{ checksum "pom.xml" }} - - run: - name: "Run sandbox memory export" - command: | - sudo sysctl -w vm.overcommit_memory=1 && \ - # using cached exports if available - if [[ ! -d ${PWD}/target/exported_statistics || -z $(ls -A ${PWD}/target/exported_statistics) ]]; then - echo "No available export cache : Run sandbox export script." - bash ./scripts/sandbox_export_generator.sh << parameters.ap-version >> "${ARTIFACTS_READER}:${ARTIFACTS_PWD}" - else - echo "Use available export cache." - fi - - run: - name: "Run checks on export" - command: bash ./scripts/mac_export_load.sh $(cat ./logs/jmxterm.log | tail -1) << parameters.ap-version >> - - store_artifacts: - path: ./logs - - save_cache: - paths: [ target/exported_statistics ] - key: mac-export-<< parameters.ap-version >>-{{ checksum "pom.xml" }} workflows: version: 2 check: jobs: - build_and_test: context: rnd-server - - launch_compatibility_checks: - context: rnd-server - requires: - - build_and_test - - compatibility_check: - matrix: - parameters: - ap-version: [ - "5.9.0", - "5.9.1", - "5.9.2", - # The following two versions have their export broken (NPE on export) - # "5.9.3", - # "5.9.4", - "5.9.5", - "5.9.6", - "5.9.7", - "5.9.8", - "5.9.9", - "5.9.10", - "5.9.11", - "5.9.12", - "5.9.13", - # Early releases of the 5.10 sandbox have a dependency on a now removed Atoti UI snapshot : activeui:jar:5.0.0-beta-20210224125715-19abcee - # "5.10.0", - # "5.10.1", - # "5.10.2", - "5.10.3", - "5.10.4", - "5.10.5", - "5.10.6", - "5.10.7", - "5.10.8", - "5.10.9", - "5.10.10", - "5.10.11", - "5.10.12", - "5.10.13", - # Early releases of the 5.11 sandbox have a dependency on a now removed Atoti UI snapshot : activeui:jar:5.0.4-20211117104705-da07c29 - # "5.11.0", - "5.11.1", - "5.11.2", - "5.11.3", - "5.11.4", - "5.11.5", - "6.0.0", - "6.0.1", - "6.0.2" - ] - context: rnd-server - requires: - - launch_compatibility_checks diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md deleted file mode 100644 index a24cd3d3..00000000 --- a/.github/PULL_REQUEST_TEMPLATE.md +++ /dev/null @@ -1,5 +0,0 @@ ------- - -### CI Checklist - -- [ ] Enable Integration Checks diff --git a/.github/actions/circle-ci/action.yaml b/.github/actions/circle-ci/action.yaml index 6aa02d19..17e564eb 100644 --- a/.github/actions/circle-ci/action.yaml +++ b/.github/actions/circle-ci/action.yaml @@ -9,7 +9,6 @@ runs: steps: - run : | echo "PARAMETER_DATA=\"parameters\":{\ - \"run_compatibility\":${{ env.compatibility-check }},\ \"head_ref\":\"${{ github.head_ref }}\",\ \"base_ref\":\"${{ github.base_ref }}\"\ }" >> $GITHUB_ENV diff --git a/.github/actions/parser.bash b/.github/actions/parser.bash deleted file mode 100644 index 77c31b6d..00000000 --- a/.github/actions/parser.bash +++ /dev/null @@ -1,9 +0,0 @@ -#!/usr/bin/env bash -parsePR () { -variable=$1 -value=$(echo "$PR_BODY" | grep "" - | cut -d'[' -f2 | cut -d']' -f1) - if [ "$value" == 'x' ]; - then result="true"; - else result="false"; fi -echo "$variable"="$result" >> "$GITHUB_ENV" -} diff --git a/.github/workflows/pr-steps-checker.yml b/.github/workflows/pr-steps-checker.yml index 933d9ceb..015caf9f 100644 --- a/.github/workflows/pr-steps-checker.yml +++ b/.github/workflows/pr-steps-checker.yml @@ -79,9 +79,6 @@ jobs: - name: Checkout Repository to run local actions uses: actions/checkout@v3.3.0 # Necessary to access local actions & files - - name: parse the PR description for the Test execution - run: . ./.github/actions/parser.bash && parsePR compatibility-check - # LAUNCH CIRCLECI MAIN WORKFLOW # Reuse the existing "check" workflow of CircleCI but add the parameters to the payload - name: start Checks CI Pipeline @@ -92,8 +89,7 @@ jobs: # RUN BLOCKER STEP - name: Parse the PR description for all mandatory steps run: echo "Run blocker parser" - - if: ${{ contains(fromJson('["main"]'), github.event.pull_request.base.ref) - && !( env.compatibility-check == 'true' ) }} + - if: ${{ contains(fromJson('["main"]'), github.event.pull_request.base.ref) }} # Failing step name: Block merge due to missing mandatory steps run: exit 1 diff --git a/pom.xml b/pom.xml index fd3c49cd..485fc5de 100644 --- a/pom.xml +++ b/pom.xml @@ -25,7 +25,7 @@ 21 - 6.1.4-1736843675-42834d84 + 6.1.3 10.1.30 @@ -249,9 +249,9 @@ - com.coveo + com.spotify.fmt fmt-maven-plugin - 2.9 + 2.24 none diff --git a/scripts/get_compatible_ap_releases.sh b/scripts/get_compatible_ap_releases.sh deleted file mode 100644 index 0ce42d25..00000000 --- a/scripts/get_compatible_ap_releases.sh +++ /dev/null @@ -1,14 +0,0 @@ -#! /bin/bash - -# Returns the ordered list of released AP versions with version > 5.8 -curl -q -u "${ARTIFACTS_USER}:${ARTIFACTS_PASSWORD}" https://artifacts.activeviam.com/share/ActivePivot_stable/ | xmllint --html -xpath '///table/tr/td/a' - | grep -E '^.*[0-9]*\.[0-9]*\.[0-9]*.*$' - | cut -d '>' -f2 | cut -d '/' -f1 | sort -V - > all_versions.txt -while read line; do - human_version=$(cut -d '.' -f1 <<< ${line}) - major_version=$(cut -d '.' -f2 <<< ${line}) - if [[ ( ${human_version} -ge 5 && ${major_version} -ge 8 ) || ${human_version} -ge 6 ]]; then - echo ${line} >>compatible_versions.txt - fi -done < all_versions.txt -cat compatible_versions.txt -rm -f compatible_versions.txt -rm -f all_versions.txt diff --git a/scripts/mac_export_load.sh b/scripts/mac_export_load.sh deleted file mode 100644 index 4ff53de2..00000000 --- a/scripts/mac_export_load.sh +++ /dev/null @@ -1,222 +0,0 @@ -#! /bin/bash - -# Script loading the result of an Atoti Server SandBox Memory Analysis Service's Export into a mac project - -# 1- Build the mac project as a sandbox jar -# 2- Load data from the input folder -# 3- Perform queries on the content of the loaded - - -# This script EXPECTS to be executed from the ROOT of a buildable mac project - -# REQUIREMENTS : -# Java Development Kit 11+ (JRE is not enough as we use the jps command) -# Maven -# ActiveViam artifacts access -# Valid Atoti Server License -# cURL -# jq - -# INPUT : -# - 1 String : string containing the exported folder string -# - 2 Optional String : Path to the maven settings file, this file is expected to grant read access to ActiveViam artifacs - -# OUTPUT : -# - File : Server logs -# The server logs of both sandbox and mac applications as well as the maven outputs will be saved in the -# "logs" subfolder of the execution directory of the script - - -# Functions are defined to avoid command duplication and make the main script easily readable -# Make sure any variable used are defined before calling these -check_root(){ - #Just making sure the execution path is at the Root of a mac project - if [[ -z $(cat pom.xml) || -z $(cat pom.xml | grep "${MAC_ARTIFACTID}") ]]; then - echo "The execution directory of the script ${PWD} is not the root of a buildable mac project." - exit 1 - fi -} - -check_requirements(){ - #Java - #No version check as it's too vendor-dependent on the installed JDK - if [ -z $(which java) ]; then - echo "Java is not installed." - exit 1 - #Maven - elif [ -z $(which mvn) ]; then - echo "Maven is not installed." - exit 1 - #cURL - elif [ -z $(which curl) ]; then - echo "cURL is not installed." - exit 1 - #jq - elif [ -z $(which jq) ]; then - echo "jq is not installed." - exit 1 - fi -} - -cleanup(){ - echo "Killing the java processes and removing temporary files..." - kill -n 15 ${PID_MAC} - rm -rdf ${BASE_DIR}/queries/output - rm -rf ${BASE_DIR}/queries/tmp - rm -rf ${BASE_DIR}/queries/cur_ref -} - - - -run_query_mdx(){ - curl -X POST -u admin:admin -H "Content-Type:application/json" \ - -d @${BASE_DIR}/queries/input/${QUERY}.json \ - http://localhost:9092/activeviam/pivot/rest/v8/cube/query/mdx \ - | jq .cells[].value > ${BASE_DIR}/queries/output/${QUERY}.txt -} - -run_query_table(){ - curl -u admin:admin \ - http://localhost:9092/activeviam/pivot/rest/v8/database/discovery/tables/$(cat ${BASE_DIR}/queries/input/${QUERY}.txt)/size \ - > ${BASE_DIR}/queries/output/${QUERY}.txt -} - -verify_query(){ - # The reference file for the queries is a .json file with the first valid version as key for a given value - # It is assumed that any later version in the document (following the semantic versionining order) supersedes the expected value - # When the reference value is "IGNORED_RESULT", all entries are accepted, this avoids flakiness when the export data is not consistent - MATCH_VERSION=$(jq -r '.[] | .version' < ${BASE_DIR}/queries/ref/${QUERY}.json | sort -V | grep "${SANDBOX_VERSION}" - -wn | cut -d ':' -f1) - - echo $MATCH_VERSION - if [[ -n ${MATCH_VERSION} ]]; then - POSITION_VERSION=$((MATCH_VERSION - 1)) #0-indexing in jq vs 1-indexing in grep - else - echo "The reference file did not have the exact version to fetch, trying with implied ranges." - jq -r '.[] | .version' < ${BASE_DIR}/queries/ref/${QUERY}.json > ${BASE_DIR}/queries/tmp - echo "${SANDBOX_VERSION}" >> ${BASE_DIR}/queries/tmp - POSITION_VERSION=$(($(cat ${BASE_DIR}/queries/tmp | sort -V | grep "${SANDBOX_VERSION}" - -wn | cut -d ':' -f1 )-2)) # -1 due doe indexing -1 due to position shift - fi - - jq -r ".[$POSITION_VERSION].values[]" < ${BASE_DIR}/queries/ref/${QUERY}.json > ${BASE_DIR}/queries/cur_ref - - if [[ -z $(diff --strip-trailing-cr --ignore-all-space ${BASE_DIR}/queries/output/${QUERY}.txt ${BASE_DIR}/queries/cur_ref) ]]; then - echo ${QUERY}"... OK" - elif [[ $(cat ${BASE_DIR}/queries/cur_ref) == "IGNORE_RESULT" ]]; then - echo ${QUERY}"... IGNORED" - else - echo "Error when comparing expected query output to query result:" - echo $(diff --strip-trailing-cr --ignore-all-space ${BASE_DIR}/queries/output/${QUERY}.txt ${BASE_DIR}/queries/cur_ref) - # Do the cleanup to make sure we don't leave open processes - cleanup - exit 1 - fi -} - -# Function executing a remote call to the a loaded MAC cube available at localhost:9092 -# Usage : check_query_mdx queryId -# queryId : String , Id of the checked query, its payload is expected to be available at ${BASE_DIR}/queries/input/${queryId}.json -# and the values obtained for the cells to match the content of ${BASE_DIR}/queries/ref/${queryId}.json -check_query_mdx(){ - if [ -z "$1" ]; then - echo "No argument supplied to the query function" - exit 1 - else - QUERY=$1 - run_query_mdx - fi - verify_query -} - -# Function executing a remote call to the a loaded MAC cube available at localhost:9092 -# Usage : check_query_table queryId -# queryId : String , Id of the checked query, its table is in ${BASE_DIR}/queries/input/${queryId}.json the values obtained for the cells are expected to match the content of ${BASE_DIR}/queries/ref/${queryId}.json -check_query_table(){ - if [ -z "$1" ]; then - echo "No argument supplied to the query function" - exit 1 - else - QUERY=$1 - run_query_table - fi - verify_query -} - - -################### -# MAIN SCRIPT START - -if [ -z "$1" ]; then - echo "No first argument supplied. Script usage : $0 export_folder sandbox_version [maven_settings_path]" - exit 1 -elif [ -z "$2" ]; then - echo "No second argument supplied. Script usage : $0 export_folder sandbox_version [maven_settings_path]" - exit 1 -fi - -FILES_PATH=$1 -SANDBOX_VERSION=$2 -echo "Read exported files at : ${FILES_PATH}" - -if [ ! -z "$3" ]; then - MAVEN_SETTINGS=$3 -else - MAVEN_SETTINGS=${PWD}/.circleci/circleci-settings.xml -fi - -BASE_DIR=${PWD}/scripts -M2_PATH=$(mvn -s ${MAVEN_SETTINGS} help:evaluate -Dexpression=settings.localRepository -q -DforceStdout) -M2_UNIX=/$(echo "${M2_PATH}" | sed -e 's/\\/\//g' -e 's/://') -echo "Maven repository location: ${M2_UNIX}" -LOG_DIR=${PWD}/logs -mkdir -p ${LOG_DIR} -echo "Output logs folder location: ${LOG_DIR}" -BUILD_DIR=${PWD}/target - -check_requirements - -MAC_ARTIFACTID=$(mvn -s ${MAVEN_SETTINGS} help:evaluate -Dexpression=project.artifactId -q -DforceStdout) -MAC_VERSION=$(mvn -s ${MAVEN_SETTINGS} help:evaluate -Dexpression=project.version -q -DforceStdout) - -check_root - -# 1- Execute the install goal to generate the MAC springBoot jar in the state of the repository - -mvn -s ${MAVEN_SETTINGS} install -DskipTests=true > ${LOG_DIR}/maven.log -echo "Built the MAC app springboot JAR to ${BUILD_DIR}..." -echo - -# Move the execution path of the mac app to the target folder to use avoid content service file locking -cd ${BUILD_DIR} -mkdir -p ./exported_statistics - -java -jar ./${MAC_ARTIFACTID}-${MAC_VERSION}.jar --statistic.folder=exported_statistics > ${LOG_DIR}/mac.log& -cd ${PWD} -echo "Launched the MAC jar..." -echo - -# Use jps to find the vmid matching the exact jar -VMID_MAC=$(jps -l | grep ${MAC_ARTIFACTID}-${MAC_VERSION}.jar | cut -d ' ' -f 1) -# Use ps to find the PID -PID_MAC=$(ps S | grep ${VMID_MAC} | xargs | cut -d ' ' -f 1) - -# 2- Load files in MAC - -#Move the exported files to the folder watched by the mac app -cp -r ${FILES_PATH} ${BUILD_DIR}/exported_statistics -#Wait for the cube being ready & loaded -echo "Pause the script for 30 seconds for the MAC data to be loaded (VM & app load takes ~20 sec on CI)..." -echo -sleep 30 -echo "Resumed the script..." - -# 3- Run queries on MAC & verify content -mkdir -p ${BASE_DIR}/queries/output -#Query 1 : COUNT Grand Total -check_query_mdx "query1" - -## Query 2 : Table-size checks cannot be done due to PIVOT-6749 -check_query_table "query2" - -# Cleanup -# Use the apps' PIDs to kill them -cleanup diff --git a/scripts/queries/input/query1.json b/scripts/queries/input/query1.json deleted file mode 100644 index 786bbc64..00000000 --- a/scripts/queries/input/query1.json +++ /dev/null @@ -1 +0,0 @@ -{"mdx" : "SELECT {[Measures].[contributors.COUNT]} ON COLUMNS FROM [MemoryCube]"} \ No newline at end of file diff --git a/scripts/queries/input/query2.txt b/scripts/queries/input/query2.txt deleted file mode 100644 index 589fcf29..00000000 --- a/scripts/queries/input/query2.txt +++ /dev/null @@ -1 +0,0 @@ -Application \ No newline at end of file diff --git a/scripts/queries/ref/query1.json b/scripts/queries/ref/query1.json deleted file mode 100644 index 7d75f86c..00000000 --- a/scripts/queries/ref/query1.json +++ /dev/null @@ -1,7 +0,0 @@ -[{ - "version": "5.9.0", - "values": ["IGNORE_RESULT"] -},{ - "version": "5.10.0", - "values": [2381] -}] diff --git a/scripts/queries/ref/query2.json b/scripts/queries/ref/query2.json deleted file mode 100644 index af470d9f..00000000 --- a/scripts/queries/ref/query2.json +++ /dev/null @@ -1,4 +0,0 @@ -[{ - "version": "5.8.0", - "values": [1] -}] \ No newline at end of file diff --git a/scripts/sandbox_export_generator.sh b/scripts/sandbox_export_generator.sh deleted file mode 100644 index 4806e8ff..00000000 --- a/scripts/sandbox_export_generator.sh +++ /dev/null @@ -1,219 +0,0 @@ -#! /bin/bash - -# Script Exporting the Memory Analysis Service output of a released Atoti Server sandbox - -# 1- Executes a maven goal that builds a customized (no real time) Sandbox springboot jar for a given version of Atoti Server -# 2- Run the sandbox -# 3- Generate the memory statistics file for the Sandbox - -# This script EXPECTS to be executed from the ROOT of a buildable mac project - -# REQUIREMENTS : -# Java Development Kit 11+ (JRE is not enough as we use the jps command) -# Maven -# ActiveViam artifacts access -# Valid Atoti Server License -# cURL - -# INPUT : -# - 1 String : Atoti Server version used by the sandbox app -# - 2 String : URL of the Artifactory Sandbox repository -# - 3 Optional String : Path to the maven settings file, this file is expected to grant read access to ActiveViam artifacs - -# OUTPUT : exportFolder -# - Files : Server logs -# The server logs of both sandbox and mac applications as well as the maven outputs will be saved in the -# "logs" subfolder of the execution directory of the script -# - Files : Memory Export - -# Functions are defined to avoid command duplication and make the main script easily readable -# Make sure any variable used are defined before calling these -check_root(){ - #Just making sure the execution path is at the Root of a mac project - if [[ -z $(cat pom.xml) || -z $(cat pom.xml | grep "${MAC_ARTIFACTID}") ]]; then - echo "The execution directory of the script ${PWD} is not the root of a buildable mac project." - exit 1 - fi -} - -check_requirements(){ - #Java - #No version check as it's too vendor-dependent on the installed JDK - if [ -z $(which java) ]; then - echo "Java is not installed." - exit 1 - #Maven - elif [ -z $(which mvn) ]; then - echo "Maven is not installed." - exit 1 - #cURL - elif [ -z $(which curl) ]; then - echo "cURL is not installed." - exit 1 - fi -} - -cleanup(){ - echo "Killing the java processes and removing temporary files..." - kill -n 15 ${PID_SANDBOX} - rm -f jmxterm-${JMXTERM_VERSION}-uber.jar - rm -f ${BASE_DIR}/jmxtermCommands.txt - rm -rdf ${BASE_DIR}/queries/output - rm -rdf ${SANDBOX_DATA_DIR} - rm -f ${PWD}/sandbox.zip - rm -rdf ${SANDBOX_BUILD_DIR} -} - -print_bean_name(){ -AP_HUMAN=$(echo ${AP_VERSION} | cut -f1 -d.) -AP_MINOR=$(echo ${AP_VERSION} | cut -f2 -d.) -AP_BUGFIX=$(echo ${AP_VERSION} | cut -f3 -d.) -# For now assume that versions prior to 5.11 use the old bean name -if [[ ${AP_HUMAN} -le 5 && ${AP_MINOR} -le 10 ]]; then - echo com.quartetfs:node0=MemoryAnalysisService -else - echo com.activeviam:node0=MemoryAnalysisService -fi -} - -get_sandbox_url(){ -AP_HUMAN=$(echo ${AP_VERSION} | cut -f1 -d.) -AP_MINOR=$(echo ${AP_VERSION} | cut -f2 -d.) -AP_BUGFIX=$(echo ${AP_VERSION} | cut -f3 -d.) -if [[ ${AP_HUMAN} == 5 && ${AP_MINOR} == 8 ]]; then - echo https://artifacts.activeviam.com/share/ActivePivot_stable/${AP_VERSION}/${JDK_VERSION}/sandbox-release-${AP_VERSION}-${JDK_VERSION}.zip -elif [[ ${AP_HUMAN} == 6 && ${AP_MINOR} == 1 ]]; then - echo https://artifacts.activeviam.com/share/ActivePivot_stable/${AP_VERSION}/sandbox-${AP_VERSION}.zip -else - echo https://artifacts.activeviam.com/share/ActivePivot_stable/${AP_VERSION}/${JDK_VERSION}/sandbox-release-${AP_VERSION}.zip -fi -} - - -################### -# MAIN SCRIPT START - -if [ -z "$1" ]; then - echo "No first argument supplied. Script usage : $0 sandbox_version artifacts_credentials(user:password) [maven_settings_path]" - exit 1 -elif [ -z "$2" ]; then - echo "No second argument supplied. Script usage : $0 sandbox_version artifacts_credentials(user:password) [maven_settings_path]" - exit 1 -fi -if [ ! -z "$3" ]; then - MAVEN_SETTINGS=$3 -else - MAVEN_SETTINGS=${PWD}/.circleci/circleci-settings.xml -fi - -AP_VERSION=$1 -ARTIFACTS_CREDENTIALS=$2 - -AP_REPO_PATH=/com/activeviam/sandbox/sandbox-activepivot/ - -JDK_VERSION=jdk11 - -echo "Script executed from: ${PWD} for ActivePivot version ${AP_VERSION}" -BASE_DIR=${PWD}/scripts -M2_PATH=$(mvn -s ${MAVEN_SETTINGS} help:evaluate -Dexpression=settings.localRepository -q -DforceStdout) -M2_UNIX=/$(echo "${M2_PATH}" | sed -e 's/\\/\//g' -e 's/://') -echo "Maven repository location: ${M2_UNIX}" -LOG_DIR=${PWD}/logs -mkdir -p ${LOG_DIR} -echo "Output logs folder location: ${LOG_DIR}" -BUILD_DIR=${PWD}/target -SANDBOX_DATA_DIR=${PWD}/sandbox_data -SANDBOX_BUILD_DIR=${PWD}/sandbox - -BEAN_NAME=$(print_bean_name) -check_requirements - -MAC_ARTIFACTID=$(mvn -s ${MAVEN_SETTINGS} help:evaluate -Dexpression=project.artifactId -q -DforceStdout) - -check_root - -JMXTERM_VERSION=1.0.4 -JMX_REPO_PATH=https://github.com/jiaqi/jmxterm/releases/download/ -JMX_JAR_PATH=${JMX_REPO_PATH}v${JMXTERM_VERSION}/jmxterm-${JMXTERM_VERSION}-uber.jar - -# 2- Download a sandbox project zip - -SANDBOX_URL=$(get_sandbox_url) -echo "$SANDBOX_URL" -curl -u "${ARTIFACTS_CREDENTIALS}" "${SANDBOX_URL}" -o sandbox.zip -mkdir ${SANDBOX_BUILD_DIR} -cd ${SANDBOX_BUILD_DIR} -unzip -o -q ../sandbox.zip - -# Make sure there is a pom.xml file at the root of the current folder -if [ ! -f "${PWD}/pom.xml" ]; then - echo "No pom.xml at the root of the un-zipped sandbox folder, something went wrong. Aborting." - cleanup - exit 1 -else - echo "Dowloaded the ${AP_VERSION} sandbox zip from the shared artifacts." -fi - -# 3 - Build a SpringBoot jar from the sandbox zip - -SANDBOX_VERSION=$(mvn -s ${MAVEN_SETTINGS} help:evaluate -Dexpression=project.version -q -DforceStdout) -if [ ! SANDBOX_VERSION==AP_VERSION ];then - echo "The downloaded sandbox version and the expected version do not match, something went wrong. Aborting." - cleanup - exit 1 -fi - -mvn clean install -s ${MAVEN_SETTINGS} -DskipTests=true -T1C >> ${LOG_DIR}/maven.log -cd ../ - -if [ -f ${M2_PATH}${AP_REPO_PATH}${AP_VERSION}"/sandbox-activepivot-"${AP_VERSION}".jar" ]; then - echo "Built the ${AP_VERSION} sandbox jar in the m2 repo from the released artifact" -else - echo "Failed to build the sandbox jar from the released project. Aborting." - cleanup - exit 1 -fi -echo - - -# 4- extract the csv files in SANDBOX_DATA_DIR -unzip -o -q -j ${M2_PATH}${AP_REPO_PATH}${AP_VERSION}"/sandbox-activepivot-"${AP_VERSION}".jar" 'BOOT-INF/classes/data/*' -d ${SANDBOX_DATA_DIR}/ - -# 5- Run the sandbox app without real-time -java -jar ${M2_PATH}${AP_REPO_PATH}${AP_VERSION}"/sandbox-activepivot-"${AP_VERSION}".jar" --csvSource.dataset=${SANDBOX_DATA_DIR} --tradeSource.timerDelay=1000000000 --ratings.random=false --risks.random=false>logs/sandbox.log& - -echo "Extracted CSV files and launched the sandbox jar..." -echo - -# Use jps to find the vmid matching the exact jar -VMID_SANDBOX=$(jps -l | grep sandbox-activepivot-${AP_VERSION}.jar | cut -d ' ' -f 1) -# Use ps to find the PID -PID_SANDBOX=$(ps S | grep ${VMID_SANDBOX} | xargs | cut -d ' ' -f 1) - -# 6- Generate the memory statistics file for the Sandbox - -# Download the jmxterm jar -curl -s -OL ${JMX_JAR_PATH} > ${LOG_DIR}/curl.log -# Generate a script file with correct vmid for rmid connection -touch ${BASE_DIR}/jmxtermCommands.txt -# Use jxmterm to access the mbean -echo open ${VMID_SANDBOX} >> ${BASE_DIR}/jmxtermCommands.txt -echo bean ${BEAN_NAME} >> ${BASE_DIR}/jmxtermCommands.txt -echo run Dump\\ memory\\ statistics folder >> ${BASE_DIR}/jmxtermCommands.txt -echo exit >> ${BASE_DIR}/jmxtermCommands.txt - echo "Pause the script for 60 seconds for the Sandbox App to be ready to export stats ..." -echo -sleep 60 -echo "Resumed the script..." -echo -# run jmxterm in non-interactive mode with the script file -java -jar jmxterm-${JMXTERM_VERSION}-uber.jar -n -o ${LOG_DIR}/jmxterm.log < ${BASE_DIR}/jmxtermCommands.txt -echo "Ran the export MBean..." -# Ensure the mbean call succeeded -if [ -z "$(cat ${LOG_DIR}/jmxterm.log)" ]; then - echo "No output in the export MBean execution, something went wrong. Aborting." - # Do the cleanup to make sure we don't leave open processes - cleanup - exit 1 -fi -cleanup diff --git a/src/main/java/com/activeviam/mac/Loggers.java b/src/main/java/com/activeviam/mac/Loggers.java index 23fd58ec..152d64b0 100644 --- a/src/main/java/com/activeviam/mac/Loggers.java +++ b/src/main/java/com/activeviam/mac/Loggers.java @@ -16,8 +16,10 @@ public class Loggers { /** Logger for the loading of generic memory statistics. */ public static final String LOADING = "com.activeviam.mac.loading"; + /** Logger for the loading of datastore-related memory stistics. */ public static final String DATASTORE_LOADING = "com.activeviam.mac.loading.datastore"; + /** Logger for the loading of pivot-related memory statistics. */ public static final String ACTIVEPIVOT_LOADING = "com.activeviam.mac.loading.activepivot"; } diff --git a/src/main/java/com/activeviam/mac/cfg/impl/ManagerDescriptionConfig.java b/src/main/java/com/activeviam/mac/cfg/impl/ManagerDescriptionConfig.java index 21c863d1..e3264545 100644 --- a/src/main/java/com/activeviam/mac/cfg/impl/ManagerDescriptionConfig.java +++ b/src/main/java/com/activeviam/mac/cfg/impl/ManagerDescriptionConfig.java @@ -30,13 +30,13 @@ import com.activeviam.activepivot.core.intf.api.description.builder.dimension.ICanStartBuildingDimensions; import com.activeviam.activepivot.server.spring.api.config.IActivePivotManagerDescriptionConfig; import com.activeviam.activepivot.server.spring.api.config.IDatastoreSchemaDescriptionConfig; -import com.activeviam.mac.comparators.ReverseEpochViewComparator; import com.activeviam.database.api.schema.FieldPath; +import com.activeviam.mac.comparators.ReverseEpochViewComparator; +import com.activeviam.mac.entities.ChunkOwner; +import com.activeviam.mac.entities.ChunkOwner.OwnerType; import com.activeviam.mac.formatter.ByteFormatter; import com.activeviam.mac.formatter.ClassFormatter; import com.activeviam.mac.formatter.PartitionIdFormatter; -import com.activeviam.mac.entities.ChunkOwner; -import com.activeviam.mac.entities.ChunkOwner.OwnerType; import com.activeviam.mac.memory.DatastoreConstants; import com.activeviam.mac.memory.MemoryAnalysisDatastoreDescriptionConfig; import com.activeviam.mac.memory.MemoryAnalysisDatastoreDescriptionConfig.ParentType; @@ -74,71 +74,100 @@ public class ManagerDescriptionConfig implements IActivePivotManagerDescriptionC // region formatters /** Formatter for Numbers. */ public static final String NUMBER_FORMATTER = IFormatter.NUMBER_PLUGIN_KEY + "[#,###]"; + /** Formatter for Percentages. */ public static final String PERCENT_FORMATTER = IFormatter.NUMBER_PLUGIN_KEY + "[#.##%]"; + // endregion // region dimensions /** Name of the Chunk Hierarchy. */ public static final String CHUNK_DIMENSION = "Chunks"; + /** Name of the component dimension. */ public static final String COMPONENT_DIMENSION = "Components"; + /** Name of the component dimension. */ public static final String OWNER_DIMENSION = "Owners"; + /** Name of the owner type analysis hierarchy. */ public static final String OWNER_TYPE_HIERARCHY = "Owner Type"; + /** Name of the field dimension. */ public static final String FIELD_DIMENSION = "Fields"; + /** Name of the index dimension. */ public static final String INDEX_DIMENSION = "Indices"; + /** Name of the version dimension. */ public static final String VERSION_DIMENSION = "Versions"; + /** Name of the aggregate provider dimension. */ public static final String AGGREGATE_PROVIDER_DIMENSION = "Aggregate Provider"; + /** Name of the partition dimension. */ public static final String PARTITION_DIMENSION = "Partitions"; + /** Name of the used by version dimension. */ public static final String USED_BY_VERSION_DIMENSION = "Used by Version"; + // endregion // region hierarchies /** The name of the hierarchy of indexed fields. */ public static final String INDEXED_FIELDS_HIERARCHY = "Indexed Fields"; + /** The name of the hierarchy of indexed fields. */ public static final String INDEX_TYPE_HIERARCHY = "Index Type"; + /** Name of the owner hierarchy. */ public static final String OWNER_HIERARCHY = "Owner"; + /** Name of the component hierarchy. */ public static final String COMPONENT_HIERARCHY = "Component"; + /** Name of the field hierarchy. */ public static final String FIELD_HIERARCHY = "Field"; + /** The name of the hierarchy of reference names. */ public static final String REFERENCE_NAMES_HIERARCHY = "Reference Names"; + /** The name of the hierarchy of provider ids. */ public static final String PROVIDER_ID_HIERARCHY = "ProviderId"; + /** The name of the hierarchy of provider types. */ public static final String PROVIDER_TYPE_HIERARCHY = "ProviderType"; + /** The name of the hierarchy of provider categories. */ public static final String PROVIDER_CATEGORY_HIERARCHY = "ProviderCategory"; + /** The name of the hierarchy of managers. */ public static final String MANAGER_HIERARCHY = "Manager"; + /** The name of the hierarchy of owner components. */ public static final String CHUNK_ID_HIERARCHY = "ChunkId"; + /** The name of the hierarchy of partitions. */ public static final String PARTITION_HIERARCHY = "Partition"; + /** Name of the branch hierarchy. */ public static final String BRANCH_HIERARCHY = "Branch"; + /** Name of the internal epoch id hierarchy. */ public static final String INTERNAL_EPOCH_ID_HIERARCHY = "Internal Epoch Id"; + /** Name of the epoch id hierarchy. */ public static final String EPOCH_ID_HIERARCHY = "Epoch Id"; + /** Name of the date hierarchy. */ public static final String DATE_HIERARCHY = "Date"; + // endregion // region levels /** Java class of the chunk. */ public static final String CHUNK_CLASS_LEVEL = "Class"; + /** Type of the structure owning the chunk. */ public static final String CHUNK_TYPE_LEVEL = "Type"; @@ -150,10 +179,13 @@ public class ManagerDescriptionConfig implements IActivePivotManagerDescriptionC /** Level for the Ids of the dictionary. */ public static final String CHUNK_DICO_ID_LEVEL = "DicoID"; + /** Level for the Ids of the references. */ public static final String CHUNK_REF_ID_LEVEL = "ReferenceID"; + /** Level for the Ids of the indexes. */ public static final String CHUNK_INDEX_ID_LEVEL = "IndexID"; + // endregion // region measures @@ -181,62 +213,87 @@ public class ManagerDescriptionConfig implements IActivePivotManagerDescriptionC * entire on-heap footprint of the entire ActivePivot Application */ public static final String HEAP_MEMORY_SUM = "HeapMemory.SUM"; + /** Total on-heap memory footprint of the application. */ public static final String USED_HEAP = "UsedHeapMemory"; + /** Total on-heap memory committed by the JVM. */ public static final String COMMITTED_HEAP = "CommittedHeapMemory"; + /** Total off-heap memory footprint of the application. */ public static final String USED_DIRECT = "UsedDirectMemory"; + /** Total off-heap memory committed by the JVM. */ public static final String MAX_DIRECT = "MaxDirectMemory"; + /** Total on-heap memory footprint, relative to the total memory footprint of the application. */ public static final String USED_MEMORY_RATIO = "UsedDirectMemory.Ratio"; + /** Total off-heap memory footprint, relative to the total memory committed by the JVM. */ public static final String MAX_MEMORY_RATIO = "MaxDirectMemory.Ratio"; + /** The dictionary size of the dictionary associated to a chunk. */ public static final String DICTIONARY_SIZE = "DictionarySize.SUM"; + /** For vector block facts, the number of references to the vector block. */ public static final String VECTOR_BLOCK_REFCOUNT = "VectorBlock.RefCount"; + /** For vector block facts, the size the vector block. */ public static final String VECTOR_BLOCK_SIZE = "VectorBlock.Length"; + /** Measure of the chunk size. */ public static final String CHUNK_SIZE_SUM = "ChunkSize.SUM"; + /** Measure of the the non-written rows in Chunks. */ public static final String NON_WRITTEN_ROWS_COUNT = "Unused rows"; + /** * Measure of the the non-written rows in Chunks, relative to the total non-written rows in the * application. */ public static final String NON_WRITTEN_ROWS_RATIO = "Unused rows ratio"; + /** Measure of the deleted rows in Chunks. */ public static final String DELETED_ROWS_COUNT = "Deleted rows"; + /** * Measure of the deleted rows in Chunks, relative to the total deleted rows in the application. */ public static final String DELETED_ROWS_RATIO = "Deleted rows ratio"; + /** The number of committed rows within chunks. */ public static final String COMMITTED_ROWS_COUNT = "Used rows"; + /** The size in bytes of chunk memory used to store effective data. */ public static final String COMMITTED_CHUNK_MEMORY = "CommittedChunkMemory.SUM"; + /** The ratio of committed rows within chunks. */ public static final String COMMITTED_ROWS_RATIO = "CommittedRows.Ratio"; + // endregion // region folders /** The name of the folder for measures related to application memory metrics. */ public static final String APPLICATION_FOLDER = "Application Memory"; + /** The name of the folder for measures related to dictionaries. */ public static final String DICTIONARY_FOLDER = "Dictionary"; + /** The name of the folder for measures related to chunks. */ public static final String CHUNK_FOLDER = "Chunk"; + /** The name of the folder for measures related to datastore-related chunks. */ public static final String STORE_CHUNK_FOLDER = "Datastore Chunk"; + /** The name of the folder for measures related to chunk memory usage. */ public static final String CHUNK_MEMORY_FOLDER = "Chunk Memory"; + /** The name of the folder for measures related to vectors. */ public static final String VECTOR_FOLDER = "Vector"; + /** The name of the folder for internal measures not intended for regular uses. */ public static final String INTERNAL_FOLDER = "Internal"; + // endregion protected IDatastoreSchemaDescriptionConfig datastoreDescriptionConfig = diff --git a/src/main/java/com/activeviam/mac/cfg/security/impl/CorsConfig.java b/src/main/java/com/activeviam/mac/cfg/security/impl/CorsConfig.java index cb5ca029..8227a109 100644 --- a/src/main/java/com/activeviam/mac/cfg/security/impl/CorsConfig.java +++ b/src/main/java/com/activeviam/mac/cfg/security/impl/CorsConfig.java @@ -17,8 +17,8 @@ import org.springframework.web.cors.CorsConfiguration; /** - * Generic implementation for security configuration of a server hosting ActivePivot, or Content server or - * ActiveMonitor. + * Generic implementation for security configuration of a server hosting ActivePivot, or Content + * server or ActiveMonitor. * *

This class contains methods: * @@ -35,14 +35,10 @@ @Configuration public class CorsConfig implements ICorsConfig { - /** - * The name of the Environment to use. - */ + /** The name of the Environment to use. */ protected Environment env; - /** - * The address the UI is exposed to. - */ + /** The address the UI is exposed to. */ public static final String ACTIVEUI_ADDRESS = "activeui.address"; public CorsConfig(@Autowired Environment env) { diff --git a/src/main/java/com/activeviam/mac/formatter/ByteFormatter.java b/src/main/java/com/activeviam/mac/formatter/ByteFormatter.java index eb284192..c90d0d10 100644 --- a/src/main/java/com/activeviam/mac/formatter/ByteFormatter.java +++ b/src/main/java/com/activeviam/mac/formatter/ByteFormatter.java @@ -20,10 +20,13 @@ public class ByteFormatter implements IFormatter { /** Plugin key. */ public static final String KEY = "ByteFormatter"; + /** Number of bytes in 1 GB. */ protected static final long GB = 1_000_000_000; + /** Number of bytes in 1 MB. */ protected static final long MB = 1_000_000; + /** Number of bytes in 1 kB. */ protected static final long KB = 1_000; diff --git a/src/main/java/com/activeviam/mac/memory/DatastoreConstants.java b/src/main/java/com/activeviam/mac/memory/DatastoreConstants.java index 98612628..522dbe62 100644 --- a/src/main/java/com/activeviam/mac/memory/DatastoreConstants.java +++ b/src/main/java/com/activeviam/mac/memory/DatastoreConstants.java @@ -20,6 +20,7 @@ public class DatastoreConstants { // Default values /** Default long value. */ public static final long LONG_IF_NOT_EXIST = -1L; + /** Default int value. */ public static final int INT_IF_NOT_EXIST = -1; @@ -115,132 +116,184 @@ public class DatastoreConstants { /** Field for the category of aggregate provider. */ public static final String PROVIDER__CATEGORY = "category"; + /** Partition id field. */ public static final String CHUNK__PARTITION_ID = MemoryStatisticConstants.ATTR_NAME_PARTITION_ID; // store and partition info. /** Aggregate provider id field. */ public static final String CHUNK__PROVIDER_ID = PROVIDER__PROVIDER_ID; + /** Chunk class field. */ public static final String CHUNK__CLASS = "class"; // ## CHUNK_STORE ## Field names of the chunk store /** Used by version field. */ public static final String CHUNK__USED_BY_VERSION = "usedByVersion"; + /** Direct memory footprint size field. */ public static final String CHUNK__OFF_HEAP_SIZE = "offHeapMemorySize"; + /** On heap memory footprint size field. */ public static final String CHUNK__ON_HEAP_SIZE = "onHeapMemorySize"; + /** Field for the vector block length of the chunk, if relevant. */ public static final String CHUNK__VECTOR_BLOCK_LENGTH = "vectorBlockLength"; + /** Field for the vector block reference count of the chunk, if relevant. */ public static final String CHUNK__VECTOR_BLOCK_REF_COUNT = "vectorBlockRefCount"; + /** Import name field. */ public static final String CHUNK__DUMP_NAME = "dumpName"; // The name of the off-heap dump + /** The epoch corresponding to the chunk. */ public static final String VERSION__EPOCH_ID = "epochId"; + /** Reference name field. */ public static final String REFERENCE_NAME = MemoryStatisticConstants.ATTR_NAME_REFERENCE_NAME; // ## REFERENCES_STORE ## Field names of the Reference store /** Field for the name of the base field of the reference. */ public static final String REFERENCE_FROM_STORE = MemoryStatisticConstants.ATTR_NAME_FROM_STORE; + /** Field for the partition id in the base of the reference. */ public static final String REFERENCE_FROM_STORE_PARTITION_ID = MemoryStatisticConstants.ATTR_NAME_FROM_STORE_PARTITION_ID; + /** Field for the name of the target fields of the reference. */ public static final String REFERENCE_TO_STORE = MemoryStatisticConstants.ATTR_NAME_TO_STORE; + /** Field for the partition id of the target store. */ public static final String REFERENCE_TO_STORE_PARTITION_ID = MemoryStatisticConstants.ATTR_NAME_TO_STORE_PARTITION_ID; + /** Reference class field. */ public static final String REFERENCE_CLASS = MemoryStatisticConstants.ATTR_NAME_CLASS; + /** Index type field. */ public static final String INDEX_TYPE = "type"; // ## INDEX_STORE ## Field names of the Index store /** Index class field. */ public static final String INDEX_CLASS = MemoryStatisticConstants.ATTR_NAME_CLASS; + /** Field for the name of the indexed fields (by an index). */ public static final String INDEX__FIELDS = "fields"; + /** Field for the size of a dictionary. */ public static final String DICTIONARY_SIZE = MemoryStatisticConstants.ATTR_NAME_LENGTH; // ## DICTIONARY_STORE ## Field names of the Dictionary store /** Dictionary size field. */ public static final String DICTIONARY_ORDER = "order"; + /** Dictionary class field. */ public static final String DICTIONARY_CLASS = MemoryStatisticConstants.ATTR_NAME_CLASS; + /** Field for the {@link ActivePivotManager} name. */ public static final String LEVEL__MANAGER_ID = "managerId"; + /** Field for the Pivot name. */ public static final String LEVEL__PIVOT_ID = "pivotId"; + /** Field for the dimension name. */ public static final String LEVEL__DIMENSION = "dimension"; + /** Field for the hierarchy name. */ public static final String LEVEL__HIERARCHY = "hierarchy"; + /** Field for the level name. */ public static final String LEVEL__LEVEL = "level"; + /** Field for the on-heap footprint of levels. */ public static final String LEVEL__ON_HEAP_SIZE = "onHeap"; + /** Field for the direct memory footprint of levels. */ public static final String LEVEL__OFF_HEAP_SIZE = "offHeap"; + /** member count field. */ public static final String LEVEL__MEMBER_COUNT = "memberCount"; + /** Name of the store for joining chunk and level data. */ public static final String CHUNK_TO_LEVEL_STORE = "ChunkToLevel"; + /** {@link ActivePivotManager} id field. */ public static final String CHUNK_TO_LEVEL__MANAGER_ID = "managerId"; + /** Pivot id field. */ public static final String CHUNK_TO_LEVEL__PIVOT_ID = "pivotId"; + /** Dimension field. */ public static final String CHUNK_TO_LEVEL__DIMENSION = "dimension"; + /** Hierarchy field. */ public static final String CHUNK_TO_LEVEL__HIERARCHY = "hierarchy"; + /** level field. */ public static final String CHUNK_TO_LEVEL__LEVEL = "level"; + /** The chunk ID field in the store of chunk owners. */ public static final String OWNER__CHUNK_ID = CHUNK_ID; + /** The owner field in the store of chunk owners. */ public static final String OWNER__OWNER = "owner"; + /** The component field in the store of chunk owners. */ public static final String OWNER__COMPONENT = "component"; + /** The field name field in the store of chunk owners. */ public static final String OWNER__FIELD = "field"; + /** Class of the aggregate provider compoent. */ public static final String PROVIDER_COMPONENT__CLASS = "class"; + /** Id of the Pivot. */ public static final String PIVOT__PIVOT_ID = "pivotId"; + /** Id of the {@link ActivePivotManager}. */ public static final String PIVOT__MANAGER_ID = "managerId"; + /** Date. */ public static final String APPLICATION__DATE = "date"; + /** Name of the import. */ public static final String APPLICATION__DUMP_NAME = "dumpName"; + /** Used on heap memory. */ public static final String APPLICATION__USED_ON_HEAP = "usedOnHeap"; + /** Maximum Application on heap memory. */ public static final String APPLICATION__MAX_ON_HEAP = "maxOnHeap"; + /** Used direct memory. */ public static final String APPLICATION__USED_OFF_HEAP = "usedOffHeap"; + /** Maximum Application direct memory. */ public static final String APPLICATION__MAX_OFF_HEAP = "maxOffHeap"; + /** The dump name field in the branch store. */ public static final String VERSION__DUMP_NAME = "dumpName"; + /** The branch name field in the branch store. */ public static final String VERSION__BRANCH_NAME = "branch"; + /** The name of the epoch view store. */ public static final String EPOCH_VIEW_STORE = "EpochView"; + /** The base epoch id field in the epoch view store. */ public static final String EPOCH_VIEW__BASE_EPOCH_ID = "baseEpochId"; + /** The owner field in the epoch view store. */ public static final String EPOCH_VIEW__OWNER = "owner"; + /** The view epoch id field in the epoch view store. */ public static final String EPOCH_VIEW__VIEW_EPOCH_ID = "viewEpochId"; private static final String LEVEL_SUFFIX = "Lvl"; + /** parent id field. */ public static final String CHUNK_TO_LEVEL__PARENT_ID = "parentId" + LEVEL_SUFFIX; + /** Parent type in the chunk to level store. */ public static final String CHUNK_TO_LEVEL__PARENT_TYPE = "parentType" + LEVEL_SUFFIX; diff --git a/src/main/java/com/activeviam/mac/memory/MemoryAnalysisDatastoreDescriptionConfig.java b/src/main/java/com/activeviam/mac/memory/MemoryAnalysisDatastoreDescriptionConfig.java index 232d90cb..3522c723 100644 --- a/src/main/java/com/activeviam/mac/memory/MemoryAnalysisDatastoreDescriptionConfig.java +++ b/src/main/java/com/activeviam/mac/memory/MemoryAnalysisDatastoreDescriptionConfig.java @@ -55,6 +55,7 @@ public class MemoryAnalysisDatastoreDescriptionConfig implements IDatastoreSchem /** Partition value for chunks held by no partitions. */ public static final int NO_PARTITION = -3; + /** Partition value for chunks held by multiple partitions. */ public static final int MANY_PARTITIONS = -2; diff --git a/src/main/java/com/activeviam/mac/statistic/memory/visitor/impl/DebugVisitor.java b/src/main/java/com/activeviam/mac/statistic/memory/visitor/impl/DebugVisitor.java index 786439b2..0e2a842f 100644 --- a/src/main/java/com/activeviam/mac/statistic/memory/visitor/impl/DebugVisitor.java +++ b/src/main/java/com/activeviam/mac/statistic/memory/visitor/impl/DebugVisitor.java @@ -30,12 +30,15 @@ public class DebugVisitor implements IMemoryStatisticVisitor { /** Boolean stating if the debug mode is activated or not. */ public static final Boolean DEBUG = false; + /** key string for the debug-id attribute. */ protected static final String ID_KEY = "debug-id"; private static final String DEPTH_KEY = "debug-depth"; + /** Debug Id of the current {@link IMemoryStatistic}. */ protected final AtomicLong id = new AtomicLong(0); + /** Depth of the current memory statistic in the tree. */ protected int depth = 0; diff --git a/src/test/java/com/activeviam/mac/TestMemoryStatisticBuilder.java b/src/test/java/com/activeviam/mac/TestMemoryStatisticBuilder.java index 56d72b56..0bbd5922 100644 --- a/src/test/java/com/activeviam/mac/TestMemoryStatisticBuilder.java +++ b/src/test/java/com/activeviam/mac/TestMemoryStatisticBuilder.java @@ -16,7 +16,9 @@ import com.activeviam.tech.observability.internal.memory.MemoryStatisticConstants; import com.activeviam.tech.observability.internal.memory.ReferenceStatistic; -/** @author ActiveViam */ +/** + * @author ActiveViam + */ public class TestMemoryStatisticBuilder extends AMemoryStatisticBuilder { /** Name of the statistic */ diff --git a/src/test/java/com/activeviam/mac/statistic/memory/ATestMemoryStatistic.java b/src/test/java/com/activeviam/mac/statistic/memory/ATestMemoryStatistic.java index 68564659..e0cefd08 100644 --- a/src/test/java/com/activeviam/mac/statistic/memory/ATestMemoryStatistic.java +++ b/src/test/java/com/activeviam/mac/statistic/memory/ATestMemoryStatistic.java @@ -49,6 +49,7 @@ import com.activeviam.mac.memory.AnalysisDatastoreFeeder; import com.activeviam.mac.memory.MemoryAnalysisDatastoreDescriptionConfig; import com.activeviam.mac.memory.MemoryAnalysisDatastoreDescriptionConfig.ParentType; +import com.activeviam.mac.statistic.memory.deserializer.RetroCompatibleDeserializer; import com.activeviam.tech.chunks.api.types.TypeValues; import com.activeviam.tech.mvcc.api.policy.KeepAllEpochPolicy; import com.activeviam.tech.observability.api.memory.IMemoryStatistic; @@ -1432,6 +1433,13 @@ static Collection loadPivotMemoryStatFromFolder(final Path fol return (Collection) allStat.getChildren(); } + public static Collection retroCompatiblyLoadMemoryStatFromFolder( + final Path path) throws IOException { + try (Stream children = Files.list(path)) { + return children.map(Path::toFile).map(RetroCompatibleDeserializer::readStatistic).toList(); + } + } + static AMemoryStatistic loadMemoryStatFromFolder( final Path folderPath, final Predicate filter) { final Stream fileList; diff --git a/src/test/java/com/activeviam/mac/statistic/memory/TestAggregateProvidersBookmark.java b/src/test/java/com/activeviam/mac/statistic/memory/TestAggregateProvidersBookmark.java index 4e9f1d02..651bde8b 100644 --- a/src/test/java/com/activeviam/mac/statistic/memory/TestAggregateProvidersBookmark.java +++ b/src/test/java/com/activeviam/mac/statistic/memory/TestAggregateProvidersBookmark.java @@ -21,7 +21,6 @@ import com.activeviam.mac.memory.MemoryAnalysisDatastoreDescriptionConfig; import com.activeviam.tech.core.api.agent.AgentException; import com.activeviam.tech.core.api.query.QueryException; -import com.activeviam.tech.core.api.registry.Registry; import com.activeviam.tech.observability.internal.memory.AMemoryStatistic; import java.nio.file.Path; import java.util.List; diff --git a/src/test/java/com/activeviam/mac/statistic/memory/TestBranches.java b/src/test/java/com/activeviam/mac/statistic/memory/TestBranches.java index faf2891e..e3c63119 100644 --- a/src/test/java/com/activeviam/mac/statistic/memory/TestBranches.java +++ b/src/test/java/com/activeviam/mac/statistic/memory/TestBranches.java @@ -25,7 +25,6 @@ import com.activeviam.mac.memory.MemoryAnalysisDatastoreDescriptionConfig; import com.activeviam.mac.memory.MemoryAnalysisDatastoreDescriptionConfig.ParentType; import com.activeviam.tech.core.api.agent.AgentException; -import com.activeviam.tech.core.api.registry.Registry; import com.activeviam.tech.observability.internal.memory.AMemoryStatistic; import com.activeviam.tech.records.api.ICursor; import com.activeviam.tech.records.api.IRecordReader; diff --git a/src/test/java/com/activeviam/mac/statistic/memory/TestDistributedCubeEpochs.java b/src/test/java/com/activeviam/mac/statistic/memory/TestDistributedCubeEpochs.java index 75917841..e266d40b 100644 --- a/src/test/java/com/activeviam/mac/statistic/memory/TestDistributedCubeEpochs.java +++ b/src/test/java/com/activeviam/mac/statistic/memory/TestDistributedCubeEpochs.java @@ -27,7 +27,6 @@ import com.activeviam.mac.statistic.memory.visitor.impl.EpochView; import com.activeviam.mac.statistic.memory.visitor.impl.RegularEpochView; import com.activeviam.tech.core.api.agent.AgentException; -import com.activeviam.tech.core.api.registry.Registry; import com.activeviam.tech.observability.internal.memory.AMemoryStatistic; import com.activeviam.tech.records.api.ICursor; import java.nio.file.Path; diff --git a/src/test/java/com/activeviam/mac/statistic/memory/TestFieldsBookmarkWithDuplicateFieldName.java b/src/test/java/com/activeviam/mac/statistic/memory/TestFieldsBookmarkWithDuplicateFieldName.java index 2d9c0692..8ba7545b 100644 --- a/src/test/java/com/activeviam/mac/statistic/memory/TestFieldsBookmarkWithDuplicateFieldName.java +++ b/src/test/java/com/activeviam/mac/statistic/memory/TestFieldsBookmarkWithDuplicateFieldName.java @@ -21,7 +21,6 @@ import com.activeviam.mac.cfg.impl.RegistryInitializationConfig; import com.activeviam.mac.memory.MemoryAnalysisDatastoreDescriptionConfig; import com.activeviam.tech.core.api.query.QueryException; -import com.activeviam.tech.core.api.registry.Registry; import com.activeviam.tech.observability.internal.memory.AMemoryStatistic; import java.nio.file.Path; import java.util.List; diff --git a/src/test/java/com/activeviam/mac/statistic/memory/TestMACMeasures.java b/src/test/java/com/activeviam/mac/statistic/memory/TestMACMeasures.java index 550a34a4..9ffb423c 100644 --- a/src/test/java/com/activeviam/mac/statistic/memory/TestMACMeasures.java +++ b/src/test/java/com/activeviam/mac/statistic/memory/TestMACMeasures.java @@ -22,7 +22,6 @@ import com.activeviam.tech.core.api.exceptions.ActiveViamRuntimeException; import com.activeviam.tech.core.api.properties.ActiveViamProperty; import com.activeviam.tech.core.api.query.QueryException; -import com.activeviam.tech.core.api.registry.Registry; import com.activeviam.tech.core.internal.properties.ActiveViamPropertyExtension; import com.activeviam.tech.core.internal.util.ArrayUtil; import com.activeviam.tech.observability.api.memory.IMemoryStatistic; @@ -83,7 +82,8 @@ private static Map extractApplicationStats(final IMemoryStatistic MemoryStatisticConstants.STAT_NAME_GLOBAL_USED_DIRECT_MEMORY, ManagerDescriptionConfig.MAX_DIRECT, MemoryStatisticConstants.STAT_NAME_GLOBAL_MAX_DIRECT_MEMORY) - .entrySet().stream() + .entrySet() + .stream() .collect( toMap( Map.Entry::getKey, diff --git a/src/test/java/com/activeviam/mac/statistic/memory/TestMemoryStatisticsCompatibility.java b/src/test/java/com/activeviam/mac/statistic/memory/TestMemoryStatisticsCompatibility.java new file mode 100644 index 00000000..b532ff67 --- /dev/null +++ b/src/test/java/com/activeviam/mac/statistic/memory/TestMemoryStatisticsCompatibility.java @@ -0,0 +1,181 @@ +package com.activeviam.mac.statistic.memory; + +import static org.assertj.core.api.Assertions.assertThat; + +import com.activeviam.activepivot.core.impl.internal.utils.ApplicationInTests; +import com.activeviam.activepivot.server.impl.api.dataexport.DataExportServiceBuilder; +import com.activeviam.activepivot.server.intf.api.dataexport.IDataExportService; +import com.activeviam.activepivot.server.json.api.dataexport.IJsonOutputConfiguration; +import com.activeviam.activepivot.server.json.api.dataexport.JsonCsvTabularOutputConfiguration; +import com.activeviam.activepivot.server.json.api.dataexport.JsonDataExportOrder; +import com.activeviam.activepivot.server.json.api.query.JsonMdxQuery; +import com.activeviam.activepivot.server.spring.api.config.IDatastoreSchemaDescriptionConfig; +import com.activeviam.database.datastore.internal.IInternalDatastore; +import com.activeviam.mac.cfg.impl.ManagerDescriptionConfig; +import com.activeviam.mac.cfg.impl.RegistryInitializationConfig; +import com.activeviam.mac.memory.MemoryAnalysisDatastoreDescriptionConfig; +import com.activeviam.tech.observability.internal.memory.AMemoryStatistic; +import java.io.ByteArrayOutputStream; +import java.io.IOException; +import java.net.URISyntaxException; +import java.net.URL; +import java.nio.file.Files; +import java.nio.file.Path; +import java.util.Collection; +import java.util.List; +import java.util.Map; +import java.util.Objects; +import java.util.stream.Stream; +import org.junit.jupiter.api.BeforeAll; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Disabled; +import org.junit.jupiter.api.io.TempDir; +import org.junit.jupiter.params.ParameterizedTest; +import org.junit.jupiter.params.provider.MethodSource; +import org.springframework.web.servlet.mvc.method.annotation.StreamingResponseBody; + +/** + * Checks that exports from various Atoti Server versions can be loaded and that querying them + * returns the expected results. + * + *

To test a new version: + * + *

    + *
  1. Create an export from the sandbox. + *
  2. Copy it in a new subdirectory of the {@value BASE_DATA_DIRECTORY_NAME} resource directory. + *
  3. Run {@link #testGenerateExpectedQueryResults(Path, Path)} to generate a file containing the + * results of {@link #STATISTICS_QUERY} and manually check that the generated file is correct. + *
+ */ +public class TestMemoryStatisticsCompatibility extends ATestMemoryStatistic { + + private static final String STATISTICS_QUERY = + """ + SELECT + NON EMPTY { + [Measures].[contributors.COUNT], + [Measures].[HeapMemory.SUM], + [Measures].[DirectMemory.SUM] + } ON COLUMNS, + NON EMPTY Crossjoin( + Hierarchize( + Descendants( + { + [Owners].[Owner].[ALL].[AllMember] + }, + 1, + SELF_AND_BEFORE + ) + ), + Hierarchize( + Descendants( + { + [Components].[Component].[ALL].[AllMember] + }, + 1, + SELF_AND_BEFORE + ) + ) + ) ON ROWS + FROM [MemoryCube] + """; + private static final String BASE_DATA_DIRECTORY_NAME = "compatibility_exports"; + private static final String QUERY_RESULTS_SUFFIX = "_query_results.csv"; + private static Path baseDataDirectory; + private ApplicationInTests monitoringApp; + + @BeforeAll + public static void setupAll() { + RegistryInitializationConfig.setupRegistry(); + + final URL baseDataDirectoryUrl = + TestMemoryStatisticsCompatibility.class + .getClassLoader() + .getResource(BASE_DATA_DIRECTORY_NAME); + try { + baseDataDirectory = Path.of(Objects.requireNonNull(baseDataDirectoryUrl).toURI()); + } catch (URISyntaxException e) { + throw new RuntimeException(e); + } + } + + @BeforeEach + public void initializeMonitoringApplication() { + final ManagerDescriptionConfig config = new ManagerDescriptionConfig(); + final IDatastoreSchemaDescriptionConfig schemaConfig = + new MemoryAnalysisDatastoreDescriptionConfig(); + this.monitoringApp = + ApplicationInTests.builder() + .withDatastore(schemaConfig.datastoreSchemaDescription()) + .withManager(config.managerDescription()) + .build(); + this.resources.register(this.monitoringApp); + this.monitoringApp.start(); + } + + private static List getExportDirectories() throws IOException { + try (Stream children = Files.list(baseDataDirectory)) { + return children.filter(Files::isDirectory).sorted().toList(); + } + } + + @ParameterizedTest + @MethodSource("getExportDirectories") + public void testQueryWithExport( + final Path exportDirectory, @TempDir final Path dataExportServiceDirectory) + throws IOException { + loadExport(exportDirectory); + final String actualQueryResults = queryStatistics(dataExportServiceDirectory); + final Path expectedQueryResultsPath = + baseDataDirectory.resolve(getExpectedQueryResultsFileName(exportDirectory)); + final String expectedQueryResults = Files.readString(expectedQueryResultsPath); + assertThat(actualQueryResults).isEqualTo(expectedQueryResults); + } + + @ParameterizedTest + @MethodSource("getExportDirectories") + @Disabled("This test should only be run manually to generate files for expected results") + public void testGenerateExpectedQueryResults( + final Path exportDirectory, @TempDir final Path dataExportServiceDirectory) + throws IOException { + loadExport(exportDirectory); + final String queryResults = queryStatistics(dataExportServiceDirectory); + final String outputFileName = getExpectedQueryResultsFileName(exportDirectory); + final Path outputPath = + Path.of("src", "test", "resources", BASE_DATA_DIRECTORY_NAME, outputFileName); + Files.writeString(outputPath, queryResults); + } + + private void loadExport(final Path exportDirectory) throws IOException { + final String dumpName = exportDirectory.getFileName().toString(); + final Collection statistics = + retroCompatiblyLoadMemoryStatFromFolder(exportDirectory); + feedMonitoringApplication(this.monitoringApp.getDatabase(), statistics, dumpName); + } + + private String queryStatistics(final Path dataExportServiceDirectory) throws IOException { + final IDataExportService dataExportService = + new DataExportServiceBuilder() + .withManager(this.monitoringApp.getManager()) + .withDirectory(dataExportServiceDirectory) + .build(); + + final StreamingResponseBody streamingResponseBody = + dataExportService.streamMdxQuery( + new JsonDataExportOrder( + new JsonMdxQuery(STATISTICS_QUERY, Map.of()), + Map.of( + IJsonOutputConfiguration.FORMAT_PROPERTY, + JsonCsvTabularOutputConfiguration.PLUGIN_KEY))); + + try (final ByteArrayOutputStream outputStream = new ByteArrayOutputStream()) { + streamingResponseBody.writeTo(outputStream); + return outputStream.toString(); + } + } + + private String getExpectedQueryResultsFileName(final Path exportDirectory) { + final String dumpName = exportDirectory.getFileName().toString(); + return dumpName + QUERY_RESULTS_SUFFIX; + } +} diff --git a/src/test/java/com/activeviam/mac/statistic/memory/TestOverviewBookmark.java b/src/test/java/com/activeviam/mac/statistic/memory/TestOverviewBookmark.java index 2eb4887e..92c5818d 100644 --- a/src/test/java/com/activeviam/mac/statistic/memory/TestOverviewBookmark.java +++ b/src/test/java/com/activeviam/mac/statistic/memory/TestOverviewBookmark.java @@ -14,7 +14,6 @@ import com.activeviam.mac.memory.MemoryAnalysisDatastoreDescriptionConfig; import com.activeviam.tech.core.api.agent.AgentException; import com.activeviam.tech.core.api.query.QueryException; -import com.activeviam.tech.core.api.registry.Registry; import com.activeviam.tech.observability.internal.memory.AMemoryStatistic; import java.nio.file.Path; import java.util.List; diff --git a/src/test/java/com/activeviam/mac/statistic/memory/TestRatioMeasures.java b/src/test/java/com/activeviam/mac/statistic/memory/TestRatioMeasures.java index f62d3ec5..542c1fe3 100644 --- a/src/test/java/com/activeviam/mac/statistic/memory/TestRatioMeasures.java +++ b/src/test/java/com/activeviam/mac/statistic/memory/TestRatioMeasures.java @@ -13,7 +13,6 @@ import com.activeviam.mac.cfg.impl.RegistryInitializationConfig; import com.activeviam.mac.memory.MemoryAnalysisDatastoreDescriptionConfig; import com.activeviam.tech.core.api.query.QueryException; -import com.activeviam.tech.core.api.registry.Registry; import com.activeviam.tech.observability.internal.memory.AMemoryStatistic; import java.nio.file.Path; import java.util.List; diff --git a/src/test/java/com/activeviam/mac/statistic/memory/scenarios/TestMissingChunkId.java b/src/test/java/com/activeviam/mac/statistic/memory/scenarios/TestMissingChunkId.java index bff4dde3..a5bb8baa 100644 --- a/src/test/java/com/activeviam/mac/statistic/memory/scenarios/TestMissingChunkId.java +++ b/src/test/java/com/activeviam/mac/statistic/memory/scenarios/TestMissingChunkId.java @@ -18,15 +18,12 @@ import com.activeviam.mac.cfg.impl.RegistryInitializationConfig; import com.activeviam.mac.memory.MemoryAnalysisDatastoreDescriptionConfig; import com.activeviam.mac.statistic.memory.ATestMemoryStatistic; -import com.activeviam.mac.statistic.memory.deserializer.RetroCompatibleDeserializer; import com.activeviam.tech.core.api.query.QueryException; -import com.activeviam.tech.core.api.registry.Registry; import com.activeviam.tech.observability.internal.memory.AMemoryStatistic; import com.activeviam.tech.test.internal.junit.resources.Resources; import com.activeviam.tech.test.internal.junit.resources.ResourcesExtension; import com.activeviam.tech.test.internal.junit.resources.ResourcesHolder; import java.io.IOException; -import java.nio.file.Files; import java.nio.file.Path; import java.util.Collection; import java.util.List; @@ -43,7 +40,7 @@ public class TestMissingChunkId { @Resources public ResourcesHolder resources; private Collection memoryStatistics; - private final ApplicationInTests analysisApplication = createAnalysisApplication();; + private final ApplicationInTests analysisApplication = createAnalysisApplication(); @BeforeAll public static void setupRegistry() { @@ -54,7 +51,7 @@ public static void setupRegistry() { public void setup() throws IOException { final Path statisticsPath = Path.of("src", "test", "resources", "stats_files_with_missing_chunk_id"); - memoryStatistics = loadMemoryStatistic(statisticsPath); + memoryStatistics = ATestMemoryStatistic.retroCompatiblyLoadMemoryStatFromFolder(statisticsPath); resources.register(analysisApplication).start(); } @@ -67,13 +64,6 @@ protected ApplicationInTests createAnalysisApplication() { return ApplicationInTests.builder().withDatastore(desc).withManager(manager).build(); } - protected Collection loadMemoryStatistic(final Path path) throws IOException { - return Files.list(path) - .map(Path::toFile) - .map(RetroCompatibleDeserializer::readStatistic) - .collect(Collectors.toList()); - } - protected void loadStatisticsIntoDatastore( final Collection statistics, final IInternalDatastore analysisDatastore) { diff --git a/src/test/java/com/activeviam/mac/statistic/memory/scenarios/TestMultipleFieldsDictionary.java b/src/test/java/com/activeviam/mac/statistic/memory/scenarios/TestMultipleFieldsDictionary.java index 181aa800..859dc1ab 100644 --- a/src/test/java/com/activeviam/mac/statistic/memory/scenarios/TestMultipleFieldsDictionary.java +++ b/src/test/java/com/activeviam/mac/statistic/memory/scenarios/TestMultipleFieldsDictionary.java @@ -32,7 +32,6 @@ import com.activeviam.mac.statistic.memory.ATestMemoryStatistic; import com.activeviam.tech.core.api.agent.AgentException; import com.activeviam.tech.core.api.exceptions.ActiveViamRuntimeException; -import com.activeviam.tech.core.api.registry.Registry; import com.activeviam.tech.observability.internal.memory.AMemoryStatistic; import com.activeviam.tech.records.api.ICursor; import com.activeviam.tech.records.api.IRecordReader; diff --git a/src/test/java/com/activeviam/mac/statistic/memory/scenarios/TestNullableLevelDictionary.java b/src/test/java/com/activeviam/mac/statistic/memory/scenarios/TestNullableLevelDictionary.java index eaa01870..b0b3ddcb 100644 --- a/src/test/java/com/activeviam/mac/statistic/memory/scenarios/TestNullableLevelDictionary.java +++ b/src/test/java/com/activeviam/mac/statistic/memory/scenarios/TestNullableLevelDictionary.java @@ -27,7 +27,6 @@ import com.activeviam.mac.memory.MemoryAnalysisDatastoreDescriptionConfig; import com.activeviam.mac.statistic.memory.ATestMemoryStatistic; import com.activeviam.tech.core.api.exceptions.ActiveViamRuntimeException; -import com.activeviam.tech.core.api.registry.Registry; import com.activeviam.tech.dictionaries.api.IDictionary; import com.activeviam.tech.dictionaries.internal.impl.NullableDictionary; import com.activeviam.tech.observability.internal.memory.AMemoryStatistic; diff --git a/src/test/resources/compatibility_exports/export_5.11.19/MultiVersionPivot_EquityDerivativesCube.json.sz b/src/test/resources/compatibility_exports/export_5.11.19/MultiVersionPivot_EquityDerivativesCube.json.sz new file mode 100644 index 0000000000000000000000000000000000000000..1c99acacb8741c6d6c28f98664acdc707ff131e8 GIT binary patch literal 836169 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%0A_(=TgLVq zdt2aS3`;`)ycR+^*nqv=DnG)KnDtzH;qt(1D_ydHaSr=grHz)6Ds{X9PG>MzpnA^h zYS0UTV}<_D#B-0>JP9kn*n{x1##puyXAd9#WfT2qf0N6}1H9?4-yRyn2tbu!}L8K>be zWw)n6*Hh?4hL$YI64Lp=xPQ3W_99s3O!+XS%;^g|NyQ+>;wqrHZR(Bwj_q{jF!dnI z=&^%zSG7hx4RCrKF2mfTKs)~_B_hl+!rk6^wALle?ARK|^2bm%E2d(lm1BgS*^kr*A8wt& za0?1CBso79qR)1$|H>5G`a_8n4SjuFB3z~|xse9HP^D1c7D@#2_wY7s_&sZ^)q)ZF z?D(FVY+A?J@==I$ls>))7oejs82HABto=k1VRrM3=)D(7DYZY|Ma;-E4noYKSv7Q+ z>$0d_4Hmq7ndm=c%kM$Q96SB?>dqgMhLW6lI^54n?smk%7K?rLUZOOv5SbZLdFEf=eMQU91;^t$_vZy zz~zBuF&8aEfDU6tm8q0hgtXa%h%L)Mur$VgCLyWV^)rcDM&4fqE7E~wrdatn3<6MYvBW+f4xlaR z^4a%Gkw1KYH>pa3&<|?tg+{Wq@B^^Bu==j~A0%BSqHOAsA5#hszZCw_APliD&`>}b z79aI|NXFb>MLz)AHbNl&@6O0%kaqdK9ip%-TbNk*`jK~7$|-c1pysD-Z3z^a_hUvc z2`9AQYn3yl6^^)dotJZ4Yw zEDqGmn(>#Zm*JWN81pO`?f7OI&0Pvn#kl7yLysL&G(nxNvbNT4@<*%dAy zLdy(=IdM)HQNOMeQT|ktbQximJD5cSwpge-f^ekqrX=;U&7D!jh13k9-Dpq$WsRFI zUB0Ylv&S6yvVzzMe~>TZPBJ22&PH_9xF$)zj6sBRUTE_GJ;KlmW(^AF02-i1eqO|m ziRZ44pf@0jz&={S46B;GI(o*jmK1uM|cy z(Yhdt2E%h=R$z!GC{Tyl!BQes1`ehqqesQOVR{x-9oq_9xSho=Eu`*D&*L zh;G|(RF~a+B@RolAm)Vy$r@&rs4@>7JAWpHqtJS*P_7}=r07vL*{Blxgp)PQx(k)b z4^ck^OJ#spSg?0W6fqxM;w8!mCP7+a(T>|DkSrJyX6QNjo`f}qlQ5q~U7Y6D#SvJD z$zAg&p_I7?MA@V@PHZ_8Q6|M2Zil#H?WnW;37;iheluCR3`+!5b0HVk1fixMSC)&H z=_I{CxycbPJLPc*N>Ru3<~R~kP_Y~hXPg3SEGNmyZ{h6@$8czG7nv#qP4Q<$V!mFAMC*j)^IEg zJ*=*Y3Gqtqj0K2KpuEOE{CZl~2O&%K5F{C;S&{h*t*8p22}aL2r&{rJ?YsyiM?h}T z-m4blJrb@}SF}R#B*!3I#zvNGc_9hc@Cw2;{99dd9-=2#w#-p7>ZB!EGD5kl*#-Xr zE?h>(E>g$7H#|&+av9ftn%P+);$O&?PoqluYja7rE@e+k@A8sls}V@gGK(ZbX_H-4 zgK8qeAGUIt{oOJw@)9B>XCn7hA;F8)u5g(>u>sx}4X@Ba&IsLH1fPr5E>i$WbTYWe zH0Zk6Ns2Xmyv-C~Jopmww*gg+^?k99R&pPv9mLmgycu;kHbU2qr$K*w1Gc^rTcAZr zADRHgz?^$OtfAE$Dic<~7`M{G%AgM0CMQv4th1=Hi6#?@mnxHP`F@fidYQ7NTb|UI zLxrD?AgWA2K|ymF7bqk` z0dsy&Is2YA+jnMKE~V532F8J>ZL zGTY1P%VQba^Fvr&IIwI%2HZWK`e^ElX)=S9$dp?|CuzsBJCNDi^&45QstRrpP!a(s`y!HcMAI%K*IE}oA5ibW3c0}39IyyqfeEWNh zC|#yr1~>^qJ@5cqoh}y+WhM_`xE_G=i88`O40Fk*^L84uoE{haHW^&MviJ#CH^r`U zwsmC7UciiO9+VGk!48TdV3Dt~v#3K#mZ5{929Bf)qcZ_tme?#Ov&m0>2nV15C9yB( z(08RQq9;ko=`!`qHQiEM+!KPF?pE63^JVAr9lnf4#4cTiW|{iN8zgbI5{Xj(ZK?QG zE!}be^4!SD*wldq!wMY!&U@NE z0M3a!1uplALYLipbOlz&;qquZtr+_C(%$#3!z#-SP*QR0Dr?x~*U*tL*Q;92Jwtao zl8!vFh!`!ja8);a0*-6D0ru@GEJ9iwMB6zf^1y9LVA&~OK?)T`u6K>4U0u<#Q@Vmj z1^&3G*88~*P!6IQu-tnkU*{$jB`RD=1j|s@{U;#BwD39z)Klfr<-=>NzGyu~P<9%WFzKt}nK)8<( zf0L&_#wK34V&+{i^8&a@n8|^%=~P2vzK2b`ZspZNYPuXE3I{S*y5>vFB` z7$|^*J={Itj;ir!V>hdm4OzqA@v@cQl~N5n;x&!;#`s++_*ee}MNpvFEzo(X*&%Wo zQI<2?O)8?+T*6c!^pwN=-|8F#rW`w1UH7rIqdN(xdMxtOOpGWHg`vt3sP%+1q~W{R zeEGS#aoZ0+W_>=M^2&>( z^3U+GL$ydwpxK^&7B=jbCkri!j2j?Og(S?=Vqz-VT-cKarXGieIsgsz#M3kbSdQH< zI{hi3G&Pw1To$#EYAcwsAdFtp%eDe&=Yz+pR(s|3R(s|7)Lyxk+AFUXFRUKAz4Bk& zSObl9&OGPyw9jw}vkFBPU}hp=*5ID-2w~(ll5Cmg--4N2Fc}ZyxfZeMSznF?m}5xC zC5o1z2*I;xeIh)wmoT43aVTO#cvh!FMo>e4CZ_YwVpxgi9V@MUF&Z1xAwvPywN%US zzTqfZOWML=QY}L+fVI}n!#2p!yrN}NUs|9Rw=;%kcowa}76jbGNtV&r24tEFsA%kq zzztb0?_rahV|XRYRAY+fl9pl_&oULh4v&^GlNJhEozyU#H|lGmh+m(f%4CuOY5kkS zaxJQ2w8*zFv$^v3MscAsl9_U7clyXe!4gXEv{V=HOwGl;0fEM~%h-Ql#xgiE}?g?_`um-Jm zw0B=RS~_PXcf*KT(F+Y_(Q<=Eq8}+$rpco0!dy}+qcapx??vhame3KS4|AyKC<@{u zU23QqBaKJ7aiAFXW_A zwdYUif303Q-k}@KV~~p+vNMJw!2))I-0bDc2dkB#!Xl`=_1E3QF;riSQz`wY68mDz9f2v&pE$tmzz%|PG|ffl&jY=6;s-v2elgi7yLvdJ z{9Z0XKm1)Zp)SKS9}fiY=4~<7U)H#8P+N@iK+0#&7qSPal)3AHBHljsA8A^sjt7eT znC<2t<0`YHju-=$3)oPOaV2~~uDo}-;%cpSz;uwd7 z5K68Y0wp7O)G+f7ZH)+`|9U(4z;ewHQZ-b7#@Mw>X%qmIV8oShh~N09Q-PrFiq(J* zi0-=WH%<0=nlFmTHa|d8`7=V3?5ix0%rM9>*d5#Ltr4Kq3;~h@=(xqwsgWLqA_ggv zan>k+uBkw^BqUz9EyWvzk!vbiYbqd-(Xj-IK!W5_qR4m!ij05xpEb!?S4~AeTEF><@c6g zEzyH3dF3-&zV%)iuY3+_V0e97gV@G$y4s_ZoaOX@{4a=x9(p>BQ1T|u4>nQxGkd}j zrhAYPKZdeY-hyVU{pSiXbRoOy zg$XwlTQH&XccnBps>)_8$4%eyyHf0;SdN0`(1pj~FoC9Or%0Pond-Gv% zLg+f0z?b|QEPo$0{3M_as^Gu`xAjp6S|4FXM}z1CSU##z6ikgcs2YWOADIazAMRY@ zg)hAE#n+u_$Y3@(4WS>*WAp>4#|u4Mj2pocDJ$$7&K~@(7)+0OUkcagf7RI0_tT5;j@A08scas8DJs{2@joy`H44^P#ve_RisMQnL=m@5L^TS8 zM!eUunh%I+*Q0=D;_o-S`H>|}o@Ty{=0^x3-D(t|W6ab+)hJrz&9t7-a_nNE<5px4 zHQkjZqbXs)G~~!{QYnjw&*df`b6|iJThr-aoP^;+PYqVO;Mf^sA&ZE#sVawFry&-$ zh+BV$9|Npwkw?nB0D00GRD)Dn<{#0WuIN3hh}=5HpS?}pk5D`ULK=&FnJO(kYw=uh zCjq<+27dS09?)d$>+<98uCelmxNc@&0zP)MHW;Vj&QhX%9)OJeA$`g*v6pLWuHTC0DAdToGVKU95IYNVFiy&jCqz22JAn!+mWko^R z8T)Cm1&{-nv@9~DCfP#BG=;W{kS$Fz5VG4~S<m!GVUIc)^J3x?9JPsHMt;AO zXAnQ2IW?n^f7)b8PUv6U$W{`Ox4v+cCYUxrVoPI`;3J($EMdxExA8?Rq45PtvP0Qn z#Pv8eJnm6TtV~7}K46eo8Ad;}yaxBKGyOa^fjyzzCf_^>CX-Sb)k|6@W)iZ*BvIDn zw3bE+kt;B~4ggJ+f%Jf@o$g1-rE?ds&&nVU)%hZ{@+vgGuwB4TyH=1~0G_4Q;ygsP zqq2pjhp%pb;lq?$fMsZMzGYhzU@l=>1&#_`9hSNsh2yAMREC^9~N1}!(%hLZMcfM~5@nsiA_8KE0`LCUo^;As3Y#?+t*2mT1CjI1sk zELSX3O8BGuU|7{g9lsnG`Xukqj20T)m!oCY{vmo_aH%p{B%vttl@U8Ee|()U{^AbH zk^6IbgJqh72!rr9{MIxL&?xJANlnK85=~z53?i`FCoZ|~1+nB9(5PXEUm6i5Q{xMW zf#W1uKOp8HJ%9;5xk7oU*2;Q(Fbi90hVG4A8cmLO_{vhDt=FPGZv_XjWK^bEEE$DZ zIf!T=ZP&Y@Q@+pDDSI0%qd*xE*s8!FkZko=M&N@=J3ZFBCXmdK*@M)8nKr-?Fo|N| zuLZ~kVkG?0@EDBC(1!xZRLMgVP$JO6L}sQ*daERc{0_}b5&g@%D>seH#W#>{FKNvA zZ|$v|ol!UfM3#}~ppF-x^@Z-7*|&htbhvyZhF-2V<$Ot^w72Bgw3;`2+DklZmN~GD>W|=XO-C8B>2Wk3ujj*s+#S>de_Ol{!mqsWW&nY$EQyZD9%>uuf%f zIiv8Q_%Uy3K@)T$P@p{!t)LHyCtAU24X$?%=+Kk9JuN)>Zfp&f;H`EhfDClP0Wz_r zQCn>A;K9c(MnG+Iz*J)p0y+=@ng&Ox=MZG7b(XyeZFJ4npslt!0`F?U8FEKW1#D_4 zZ+_3_c{ni(BJa7PoWui{#E`ROw2Q+H{D*>PoH-V>XvsIyu=i0uwE}$%{w#t}!wK@0 z=7lRw$`91o1o=vnm6aW>@ptsk4WrM69P52H11tAquFvUZtryZTwAp&CB|=66S0!>? z8}S2ts>2VixfY8kY7QF)8n*P*uEI*<2Q?fVFS*vzActm$&|0czJFT@P$TP0RI1a3s z7yTeh5KH9>WPG%Pj`@rQ=xKrZu8c@}Gm&Gg<-Q74%YXDcE;4G$q2*kF%vYx`!3vsJ z%2NuYsZlxf_Glsu*yay*YYU8VUH6EP8hiqxwD=+L1UQZ{fSK17KKoXANN5z;HpJ55nuwY>XY=%p&(V7p}y!YXnP{vevqQ0-J#7p`cPJ@Q+ErNgr zTskKe*;iAMg_h4WN0Z}5U@Eis-hqwc;J79(LWAV+TjS&0*zq0MoaSgcUns=RPFv1K zQ(1H8=-B~WjL6etEe+ae2$B;V2JK|!k0pP-tQ z9<-}@H10&O`4G$ifL^g=KHC zy#*YAm1;|pq3LMuOG7(cRNm0Y+uZ_p!)g)fu(Rl2;p7X^lUaemCso|1=Ho}e*LMp~ z2HAVc6k?`?jXaZ=q&XhS+6Sn2&hInulOb)$&@taiw87^ON)y7+2UH~H-r_YO$9xBH zBF8A{Fl?5P8d}UIfK6FK=cl!jcrfsXpYfeV2Pi)04>U|9aKCmbxhd$Gd`;H9V>ziL z`%a)3H9Y0i-;3yH;n5N|1 z0(==eKUg+TFed%mT>5s?wSDN1JW_%X?G2$C(lGI}Qs;_`bx`DsBPIu-+VXToc5{Ph z>KHY&-qFkP0d8&(KYpJ#H7H}=jNTw^;uv?>D>pN!pgC+W`0`L`K|u>WGPdVmuEWYW z80Kj~^an)GDB0+JmsVPqov^Tz6(q^C86_-?wT@-SNzIx=)ZfkAE&)nPbicIoE1afwitNM$m1yGo~A>tqWI^Mr6}$| z9uU(Hsgdu7Eu#)eF_Pi1<*re8Rl)-Vm@e+12N?4Z`mV3B+yJEmqf{GX9fT(k2bGj?Yp$>z^lL>OkWKld5r7pxokTGS3 zDT!ap^Qe>Y12%|74O!NNflc7U5KeroeE2j*w8kJ9Y&EdJtT`w>$8&+8!o|Ut*1*D` zGT$NEB17|tPgN6nFzyP^gfs~P<1>f{Wa7Q9z8Lj4ird1%tH>EFF6PLUw?yuE(wBo8 z21LE2?X_7jA{x)=YUug*yd*e)9=xdcAZKu>dqA(jLH3Ik5&s0g{CBI zvcCx}E50|1I52c5m{jm1II!}ubwIvk4vg&iX4u^- z&>q{+-ymJ_X{%esjlOPPky@EEs9VLIe`&Xhw3O_7tZo%2|KQ7h!rQIlN#3nuT_-g8 ziK62Bc&m!0)XlF`tBM&L{b;vIv+Qm1pTEF+RT!EfQAuw1g|x<3yuB)R`Ljx!cW>TV z$6iaT{A@bv6>snPOuSP?&_rMC(BF@uIre@qM5_vWjy=>wp&u8`3elrn*7&XAT2=he znPpGKfYlnaQVqWzx^oPPiXTaAR^b%SLQ)LDjUL$*rfwCzUJC4~pADmQ#!wODG=4I< zTZOld)-=q}xe&sg#+IaR6>&ft#GudY-IU!}ed)a_lx+4*>Q%81{kw2`MBOnjs;i`E z=(|PKuj2Zoeid$GN6eieN4iMpoWz7N;U09ws653J6&*Ja9oPTqkDP69Pjp;vV{(^@ zogec=d)a3v5)9^DDiRgNo0sGSZ5BK}9Ten}1jPwWDlQQRkKCl<44PDQrJsK>ZDu}j zFs5$ORGLcE?tL6AQKKm5o~{2hZJ4R{98EDN!f2oGMuF$}oJd1Timfgc1CRkY(=bEZ z8-rF0qo}=@DnnIb(*Bp@(y(MG{1eHQ6+bx@18Xn>OpSn&V+?<7RWVJoS6OV2XyZ`$ zJii&2=t z`w1g{M8N8qOUc2)XA;=}(7w!OlIV`6Y*u0=GpI=@F6KG3r{GNZ&6U*fn3`R(ZQ@DZ z@E9Tz+&Wf4Hbs&qBnEb9>jlGu8dPA)UYZ;0p&XE5Oy?XxSx5gJ^Pwz$$C4F8@sK#R z63{UCPJ7H6573JQHf$**5+!E%fuJ4#J)h{>3{VBMmlzDyq=Lc+J%FFLgQnN>Xnzsv z@Fo>p`|Gx;034vu{PT+`20+llH6FGCY{(`RChk{WrA$>&uR8bw0gKZC!TKbn(`XI`fu4l97)|m2!ZFX~J8kjPJ^EyRWg4p3iVNCJAlOY1FWfL_NjHs6NB zK?(CYT6+^4wnW8cHX9by&{G?F7jDMeHX44IihGW&vCuHtM^x+7GQK=7fQ*x%hD)1Qci~ zto;rPA;8_k5DizBEFqe7T}L87I0PXv(iYxM`9bh~qw60tG3p?ofSksDTg&ei5?j;h zId#ba3FTt{Qc9yG7#d&%>{S+XJp|5-k~d%vRC(!o2(+vH(k(7W&<5*?kzzrTggR5W z#mP|=9I7+Oc7P+`DClxIh$DDr)1&%E9j*JgK#aKHH=OUnkw8*)GN=J5EC?Lf;|=%Y z9fEM=2R^qY1$h8mtGJ+;-B*S0Oe`E=cu0Ie)_8OYkz`O}jiGJ4m0EQG0!^l;xRxI( z;(&%EsWX`#yPL`w2%irnDTas`Pguzu`m#6xW>dvPG?4bWi9npuAZs7MbS&%#E%>^W z3Dgs;z4Z+etv#=CA5D`D5*yy^B*i#i8bVAgqZ&AuYC&pkSlnLtF#LlQ#ne|3b6K%$UUdRv?`?SO$dwa}J(^KPEn`nN zgJ*Ice7I%m6Ow?KW0;jtdkhGRF$3mTuZOKCxD7);q>vc-wp&v{lWarJWyB~X2qNJo z_5Q33J6S5?*0OoHc_R<-@{FNpP{p>Ej+pj0FsunZN!7U>@A`Tbv5)5g0qf>z`Pgve zIugv*{z$wB1-JC*L6L2#eJ?EXM5bN@zhKsf+}7 zwllWkaC7n}NKEWleKe!+4686!4BfW^+8V5P6M~op&uVh7ON!R}ttwjQaN&SGLmno9 zQ1#v;L$8B7i1j|s*KuNe6cr>go3$P${|rn%TzFLP`%dFfpNr1D*>}&gVYJJPuUL<5 zldZihk5oOvrz~JxN~|ayXi1U3mNJ2VEjLCt3QV1&;d);&B|d~ei|9zrl{mK{*)b3r z&U&{9^Uq!>yl{6)zeA2;`1wjyz@KgryF#-A7&?O&<6iFw&9+uqrp7_XM1h^^5dz0i zOr`PQ^%TecuGHGzO#?dS-dj52N4NC8Cdb;-g?AHy*ql$DN^drakd$=(ToR(8-)A76 zCv^zDO4`9P+zFK7N3nANbWW#=q(b`TbcIYtsV7T1a6g=P9)3mdCZMfpF6ja}ifs-R_A z6eMa`ZroZU=IGL2jE#k8{nNhb*VS#S-MP4_y`lY9)JB06qfge*-6#yy3L~MIh>K<1 z?)W8XXfVPgdNfl|A}yXu-6+u36>+K6`j0m}=5y!~J+?m*;gq)>1<_*OaDvlfcv$Mn zP579`-|)ApeN$l#r^SKh<{cQe4N$=ipRt_7VsgQnZiHS8fDa=ZjkRd9{Fk9(0?p3& z3wN{k8VuKmf(Byfux_}%8Lr=Z&}2;P?L&d*8Kcg+8!fR8H5Q|O$M!`UkrPv57y3M| z*@4Rz%>6^ih0%f*m^jowMu_&jGOS*BGYvDM|MQ^O84Xeoial@mr(zCbBui2Mh+5oC zyWTXWnI&gOgA^z9HGcblrmyk!Ph-TKgo=mhYW#EvU5$DFi5R*StD!ZSn13O$t#KR` zzn)f!`F;(cVo%E~K@VM#Ch*DfhH7eTlVa4rhC$Pjwg1ST#?*cy4vG;DVIo3#h^EGf zczEjx$b~VttQw6xHjO}Wysa_h!nmdRsFo(mgDg50BTzi3t#KR_(@+~U8KU9jrp9qh z97eG%#8}V`{}nxrdtMX?thmZ3jId3Ugu}@_ja^2J%3Tnp!Lnfs5fktSBR(dcj*dHU z=SMQ))~s9<8{S^hkSH1cxG8bu)Mz0}oVaA@&J*@DdF7u4i&D@o?4vtR?D#7>Ps|yi z^TfP~15Tx|1&T2X8#)`6%8ow3G|GpaAuoXuBQhB@&>y1h#H)qUdB3a=yjmD9A2t!p zZp(C=kzsOj^eVH0s6^#3yp<3e_*}gE#0}GV_X$i@1L5hDQ!)1RaN_Lvlt*Y~?6#i3 zd>CBv1@SP=&w49OtU)Ek=tJfV=e>xS`c9yOgryRLpg^WdoiC~stO5fla{sv5K*SiC z4eC2_kKK0y4knCP0i!=I6QfKdOeX?9?w%3(c`@;!!Cj0o3_>RXf`m{O@UELqfH|~) zn3@O~RBS-Y{T}t6AoVb{dO*-=m7ZCo_^ssL z6Q~AM;?pk6%rh?@Vgq+Xj0zuTPP_o_HCzS~k^vatc&+6h0Sr*+g$eTL_ezqIaa?ei zAWuRCvIb?hD<=C$U_kTk{(2>SIzkqAIPc&BZ}&G8&=qj2?qc$IP?^(M%3HF5^eksW|7u+}6-4|0uVRZNp69^b!y$cKq*5jq!yO`G=AFi&zMdcl;2lcL`%43Ok zwotL7NfAqAq6)cJ)l z1U=on;`q&#HYjx}j$t>>LgD3zhC`U=j%N-b8a}W-UQmJ$w>wsjpY7%g(V8A4__kC$ zrXBaFI2#y!7cRI(!)RjZh|3~)fLygOpAKn+3ga;9&|tzIp^o`v{MGnm_HZA#go8R( zqQj*Y`nz#1FF<|?7}M=q$&+a4T6uO?IZXQdpfBiHPmR^@Otnls`<=5jEdHPxW90u3 zJ|gpo+GRQ=5CetbdRqR-DKw_q2bg)MQ#}eY!PmK&zhgdCk$MY624w+(f`Q18S+aXA z!O*)LmZ#B@x(o3x#njN}IS!IhA)+RrVg4Nsk(%jjTRBFg7rA*4Nbn>ZC)l>$+g`}Y z)45<6<~@i)Skp50lmzse`XQ5mXq3(JHjw3prB@Ryz4P%2WEgFF?BWvwNa_yjdXg}C zP!bT`g;2#irP ^V#5Av^_0)gindhR=jYf+QN{28cH<40`W|SAM@j|K;I9LCkg7%1?Dlfhiyp8DaV$nNpN>d~-$th)gkXhy z-czT~P{-mj06sl?!yPmQ9$X{uGt~NenxMIS7@a0C?iNK%AwwR?sT0Xqk44mp2wEof z_rt1qCUEq6+t%v<;-M=;Nm!VTTJNL+;rXNfM0rH5!N7OCKq-VL!g<|{O`m^Tq<&3rmE z8rCDDrqMZ!)L3ZGfn9qj7x=gI7NRD_P+Fj$G^^ruhT=rH8Hr5&CXcE23W}*(&o%Y` zKXdN_A60p+|IeNzWF}08FeD*_1Ve-fa>?8;5xFVheh~;NDiR<-E(S~h6*RWdlb)ib z8g1G}OKqyLUP?WjR$HyKTBVj+Y^kN^aN4xBEmd35(pEj5cKiRXckey3Cl|z?Ur+y^ z&;BHPW?yG!zwcV>S zL!ray(CRNpbqIY=dzQth4iP!#p@88q`TgWX|AuX%AB;dO$lSXZ%dIfWt0sAv*yWnz zwnE3@J3oCf#NkJ$me)6Ls=NNu`W;*An^)Af)HUx&6O$0yEmSCl8wbZYn*PynaU>Y{ zXTimD=W0_iT5-@OC4#IN#wn;6H3rJbKL9EYC(Z;FcYG5Sg&~mP(BQ~$!cPthCC3yp zEI2MINOo8>u=$X4>fD{J_06;?tZA;_0m>_JwzQ#7hlVF9XgD0fpAuzaAtx`WyS{c8 ze%G03#IYoeSb*WU1QC{|1YWew_S&K0;{;WTCTtAkdl#2QY*O)Fo z1Ul?b#%37F{R$qY@m*4&Sj(Is@Nks!VBo}|;o;5h3`hL`9vz1G(UT30*n3@e%jfB1 z5Dyd3Qb7F&XID_`-jT7nD#H;Y9Q-G;h!Kt1xVuPmw2pT~A9D15Ad8raiU4{K@iVfB z*L~cbiJF9sM4V6eNYt^V-Q8duVw;#mEEY<5XG==^EJ(zrm;|y}ILs6(bsicqfI=Kk zLBml$9OBOx4df6fQju(c0#(t^O6L&w;M%}+P#%rwHw4l6QrK{R3UR6y7CrDpC?MGI z-@zg7QVDYl8kUAy-P4N(kcWvptUK~V6Y#?RS~!qA>@_r(%HiT4Zmy^5F<23ar7T20tVx*z8t{9MCK-) z$sw7;(t6`7s%aXqFmvV*u0ATS{Bp^yS# z>W*tGL?DfpcIuvzmBj;q0#TBnwC{f|#J%B55M7Cw-KG=1N{0@x9dwfuE~z2{q|lZXz)3JyM@`ur%Q0Efjz+Rb1X3o2~$RwQ0d?`fx$BcgN>GPBqE=*x`X--zS~ z(U1s{F5Z%70tHk_TM(}TI{H-^6FxX%dw&|0NAkL?o?kELGQtP5Py%Ua6t?>wkg31A z$iNA3I#g>EP_jXZ!h#VXkC{@Uj3&9lU4!p^1>m(0rc;JN&rwJkg9c4QrK?4Dj%!J_YvaonVj&(NJ3OWqCBYp<`*)je~ruWv1Qrue4I z9QB(&vn2n9`sOXIvr9etvRWeQQ`>s}?8_GA zJ2F@8(0<(f^py=^$KzYIyoJrpbuIe8J0HGAI~3Hi?pySxqy4K_>WkOvH)QHZ9VGgg*ulXRLCpGGR@12wJYer1i+mKg0uVmfNypB-S$LF{f*WI8O zI*nyzp`@Gi^N+gu-#c&Ev!BY#3`NKNV1(l;{bslRtOobI?`F66;>&sIt@BZVe>!WF z?$=oMf7H$M*6u#>(y(+`kE^LZ-U_!BrhU(;`O zpS)Ez-RdR>`tX5_Q}+#%^&91rJj}|crk%Jkn~cw&>Lw)kk?Hq@1Xx@Bn63-8Qyp%o zcU3!sI^OUY<{;;W1C@@*>Bj8i!=2-Q)%}{|*^kK{L1+|Jh5Gl%Vz>_Pa~FTPtn((f zes7NM)mS>bnm1N>z^CcqLVdi(()WoRSy#XBvtyj+$2Yz=-l>XS8=F16nGuDh?Y zuy>M6f7H|ds7JO|YbPrUz5kPWs9Mt>@tk}_y?Kpx;E{||&$)TW_;nsu?;rboPIqOY z68ZVX9Q`3rZIAvXkMRR^@k>+|9&^jzmdZl-ft>qUZ7&k+m$)4DyZ=)E-flO=2qdx2 z*NkQF9ybum9`}hChOIj^qAlV&@;}$}^3W(3f4MK;GofA8kTiI-AJ@w`e5HG zXH$KTY)^gw&d&$9$J26R2Hz}OZ1>;2oBRLbZh1F(|Mz(0{<&>+|F5&cR(1c6tNTAP z79PLHa4t%^z`0>$-Fcc`4q7>{)FU*u-?^;AL8pgk=Ez9 zSACAVa=PyI__pmf_ROpbRef@ktgFu=D}0c9Jw5mGS;O+u`Xp=ixV@WQC3P)8W;v$3@SJs*4{Ix(!5s1SMEzTIa6FH{jOq>ZwYFhi-hOAI{%y~}Z+kfQ z+a7aF|I97x#+X)HKDzqo6FH9P?z@^NF{-Keh+w_o7WH(n&W(U)7)pD@sK{)fh1yH7@-&HZqdm76rnSXXO|NN?4{};Ehm`@ZF5bx}f35XSWqV{CB{foPdcEZS+ zgwgzow6a0FL$5A0?r=Z%`7iEcIr6vVzIl#N@v$rP`7-0|{iQ>{!nNi$_f&Y6v**`s z+tO0IeXBmBPeS~1tk)$Sri$8DYM&eoef zdN!G6?PRv*ZT56BX0GuV7P#-S99cI$h0i%J8?lDILT4V?pn(5$?new#uGRL;XnmK*v5h~|4>tvhOW z;2zX(%(}hw#=%u9a&IfD+g!V|X~)v6QFPincLs;0b=vFvy<@%MhQXiSP``Wn_WE7h zc1+*6b3@&99I`y|lv>@_nXXdF+}hSUPEj9y-{D>xzPPTnarRtDwm44ZH;tcMmK5HI z_KHr2IMKk8V! z*jZ9T2BM|uhI-%EhcU*E$>eR#;3+R{%x4@EEH|y8R%;&8OVZn=;8o_3$VJgZ207;f9V*_|s{&r`p4WLmvPmqT_{ z2G37(SY*nK{#$l`N6r<9#!nr09CrilN1uF78`G4(d_zOs#vRSyAisIj%1?Oo7SpBc zXmO{Z^e0;JG01iq#+ko+cesiFcDPSGGi>dM3`eAGx~sP`gEx!?+t&VMjw2$L&3ezY zY~Obm&8Td#+@H;VD>&ZdM$~{H zLrs_b-P`2Gr*qT{hrPsT4=G_9P%)a&RV=npI%$r-?`ZL!Wt4P$YZ89IuL{iNE{|zg zA9L$>SuW09%Eh@Yr~57s92b&EY`M#mSryPm55hj> z2RDDx)3?nnpW+;irF*-q_dPxA#8YzV%Amg8z1QX9FSoPz@f_nFdAZ$f-puX8+IF_*VO653ylEdq?akMb@}G;F30QxxL*G=%5=SM%VE9mKeA8UCjCO1%k=^T_h~nJ&b9ZiRtlOb)&e7c(%X@Ckdu>^FuBNw?=_R=CTHlp9vTi&O z`Of?`wM{$g%6vC^cpUQ4Gskx`J`jKRj>DRQy4)xp@VYh8%tWH?J2(+Nmk-n1Jnhlp zLQTC{ta`&jt?dgj@5wQT7HaxOJx3NRbG|}5G|DpPwWc{|77M-IeSu}qn>#!cVq(zI zgQEnq!y^X$9puaOk9iD}&ZCLiqqo$1@~4jDxz6#weewnE;k_Ojru+5VJo<}T&x_i@ z1+Kj2+NK*?yIb59Tiit#-_TrpP5nl_%cJLO#xl3tv#&_gzu?i&(^%U0`+!IPtApj# zUmXv}GEN6nqHupgk21Klo*ULbTvxUU?#v5iwM>zDl;W`hPTGo!%x+}D0znbevoc^~w;|{xL z%6xjE`^1~sCl)Uu#Cmpw{-=Uhs@(eN0(s_^@SgtHspis?V-A%=*?LcoIaGSoGxu57 zzMh zSAE*yUYHL)vZJnLUC3FoqGj8zdJMIm(Do%X&yE|m*Dd;jBX4QVlGO{lM{1e)IN6$G zd+yWu)0xV4)Vpsln%}f-Lv7PiZRFJLO?7j&Y-yn$YDeA3R}+De7cM(kx^|l8sm3?Z z1Ni0|M1%50HLF%%y>Qvps~0Yv_jX*%Y^X1uk(Iw_XX}oI&E8=Jc@k~ad$(q0)@?d| zA>r!o24_L7K3Cf}R|ZkEL~9BCId+3=p3va-dIHkRV(ImvZa7TuoO zil@ylWbMdG@$iuS$m{uZ~O#( zgVt|xH0$5XIPkqx56_m}6X}Y1Ze$-LKTg|QY zbyYt(zrAf>NN{yd2iFrj<2+uEJEq26DmILTG*pMRMBa%WgQc8N4qN~KTntImgg(9vQw`*M$UV7nzMNE ztg_85b#xX!vS0!#0_q(hUE4syN2%5c*#uVL?p&j85aD)v((V{9 zrTkF8S~ZwoPlI^`ltul843nhmd>8r~sCo>fr|S>^Dq=R-v~%MQ_*#9OB&F*h6&++H zb}7X+WPgHo?H+qg2eLoZ8zAl=ktK3JC!4jFJy~Uhl~MGk;d(wTjE!XFBPzON`i#_- z2nJD}=~}R@mF(LqB;Z0v$=NA-FGPJ*Z-OuyJ2rB>WNgCrgdVN1pLCXwo2jqVj@V>@ z;dK<*0Ku5IUNvHQGvkE^tbbC<`D(OMpB@I|bTawQJ3(Qgq9wMVB z^2pCMO8o^Xw7A}ymrUt7;tjl2uYcWn3{?n4J5K5Wi6nHukco#HmWg)hr`$>`A5_g|>WuE-R-EHHZMF^D;#dCdIZr#rbKteC&jj&rQlv zTGvF5J)CPu2k)iT9MPZDdWha3RHK-Fc`C8juy(ArD|2V7c|lvjhlggJalKfYq_#=L zhxaA3bxpg<@^RU5f89equV4MC3e$R|Nu9_@C9m|9lPgtR*ut01bBlxIMHuAm!CgR$z1MUJ=QU3(;C$Wo$;OUR_-AS*sy(U-d1AdI(@mTdTMaj zInI{1HAOP2-W>Eb#63%Ew{O=sT%|V#qZQi3yT=t?UQrj^@ScBn%t4=0aPoO&j@Cun zX6A>9#6nT;m$vTO6zQ4kd=hVVUCyanGfpmQ@m`gKIF7W;EzCW*D`VY^3>R#+s_zs_ z`nk%* zsGoc9g|6ByTZ&(eN5ACIcSSq?MnX4wWLK2dZ(q-0Rr+1-iblV-3!N0l^w-}q3PRBw z3WjTYI^N1|m@;za1dPG42Cw0F7Ia&x8&0l~ssFVO#-z36-%1n+{;`|fe; zj{@OpRga1q9{L$0M|C_(6xqVN56aT>ARJ|56?s1o@M_fitBu0VagEV@Sv$+NwX{yZ zXnD=D)%rm#I(ie-WhnF)Ld(=>jc)6M?klqnv z*&(XGSZYiK?Jt(*`B4v!>C>h&Tz0=$N>5)u#~TA%DnU5zQjz^RcC=KljUpf4RvXRp zQ;J|(7+$JluAgE~dXPe1t~R8Cj@>vVDHJ4~GGmw&na^Q@WL21#U|M5$r5!;@;+`q` zrg5j6wYIu(^y`q%^0NyVk-MLr#6^N>9O0L%O-%?cqO6AMGa1#3Rb3n0!sMsG0wi~~ z#D*~r^r#92Yu92R4DJWr9jBN#rH&Y+C`6=NKRN}wD#QD|y8 zWn!TAPp`FhX8q-Abaq51D4x^_!UP~h6b^e^CNSZ0N3ewhzJDt>jDq~-3WnCc%?x0z zP)vVUeXG3Pn(Ds7?#2&ipZ8HF3+i{M7U4|$^kTN=Q}sie+CSEe&m^B0iSe`PlT^cL z?n;3c)|}53OlpN~wnqT~O|p&BGNgZrhk7ayho`pCn&Tmm=0&M>k30Uo&{6*W^+o?U z`1z8ZwW6$H!Osg6{Ok{e6jj(jpApSCAIC21!mX?7cG$q%Ab@HLivCpTzYGpVyYF^i zGIH!t^2u|DX;+%W<^g2y>dB50uA%tdizaK@E|9BoN;oH9(qGr3;Y#K$x;{bAwqenA zS&J^bq9_7>sz6nPZQP)}(xBxTBbjOff6n!QCgKV=~)n9x2Plo)mt z7$*j2XPfqlvZE7J143YnNCK`du9qnoy$k1QP*W<5U1W18+f#xLvCaSGOxn^w^W`tu zjOqU^W7jaeYY#iYZjoTSDkndRA4`{!-(=d%?*rLlewF6$h5Zb$M*sl#*9I}d;bic> zYR9&gI>Q#1ZYwhq8W?2vRaIYdG#6wPe$LSSeb$jteAur0`(35`yJ(-Y2*MNv1$NSI zuaf?~F>Aw{*|ondZ?Keqn=<=M^9>yVQNg#eQB`>}dl2(&>Hq#Yd*#SIW zqmRONh3+2mb`Kk9z=KHxjt>^{JwF`#?FepuP#a*urya~(vd#ChCI1^5XvQ6(&7aX` zn1);s49k#@`IeayXjt!N8jKg;>q*q4^*OuOeexm=vmX7q!?7XjGw!u2Y{tAtBkrjd z@FL*HxM?{?Yk_Foov#u}+jAeB`!h%RQuoO3xyT@SGqN1pNB*$tMQzSX;H*h5UxU}N zaL%0s)tU7hwHq9@%}#AyK?cB*Qn;P7>?o|eK@@Jc4j=QNqkQutZbED$TeGOIXzj*i z!?WIDgE|zwws5;4?kv8h;Lsl(gNNI@wvRk&IUCc;cHiMHLY@jrYE*x@Xs>cODB24I zs+;qN(6=2m0>^{p^twDL@53nO9l`yxxgHI3^U93uk`)K*BgRJhz!XHX@WoOXg>5gE z7STB>NFtIdCER^H5ov@w`&_0Zqa?L|$QvZ&P4ZM?G5fpcC5eDYiH_o)+gO5>dQ6)g(a#4G@;K1*{Ewrj%H? zC+`#NqOxmuVQ2%KfVV0knJQGbc`#hm$T6NV+NIM-IMqx&qQ9M!bZLeNc3olG);t+9 z>8s&UgT%UM-`f3}{BSTTNgShEg-{oG`fNj8Lq=f3A^lih@F^boQjCO0j zMO0wLyY0lgQa419E8i22j}TXlQ|$egbBK5s?+0T?fd0CY7<lTp5>ll_q4?Xp+n-t<_<32lQISl@;BCguRf4V-6@6Q(B_ET>bVo zt)2LT<~UGVe^kb(;w8^^xTmjx%_4xy>sUPDJ3dBOt@wi!zP?=D!n<+k*f`*g!Jfw8 zlV6|b*eI{aXz^DqhA!g%m#b+k5{|Z=a(0Ea?p+z1U#`x?2Y9)L0!6@utk(e@qn7o&g=NSm#^W9QydpnfkPOEjL|6|Jtsb zE=op|1XbZgxC`0^ccUW7$q(}VsWk~Cqw%QU`))3Vh#iF7`f_!%88@=p{zXlHe1shO za&`H!VLXzoZg=hfxufId>friZuRbrcwrO0xgoOKEaA>=ijflAS<^j_N%9j=^gw_Rg zzif^}p|ri3&Sjzb<-_MEW|p6t53D|S&isl;b4Jcxbb)ijMRc}WaCDFMIzj#N1-?2w z`~~_O)tf(ckt5dj`|8YitcR8X|2kLyeYGs>>6wmNM-h~ z%6LL~#S_Zkzm4zv+xSd!_3ar)ewFEnwtqHT=pX!mCXaAz()XVW4H}Mf_t-549~wzx^c!dtzcsI_d6=OWJ!B3vHWdN@gHA9F2E&ZEJ8OJX>n7xkkS}gLC&nwT^airL7a&?}das ziea;LB1_Qe|r?tO_`%9IJ_nTg{gc~}dncH{i?>Jd{-jSHMS2KjD!308a z?|p@Ig>b}L9-rb`Q@2I$$%JU$OYM2WAe@WRSA??dMCW%T$^Yb(BMiqUr!+7e4I!(z zFPgLW%UZ{lpl^f(_yxK8^V+HBH67WD=e1+cYs^;BgfFLbFFC$oI~%?vODER}>r(>y z7e?=&pmnhF{&fufE*^u&D%U+$$)opJrM_bN>no;v_vLoa(z@T6%u8AN4OU(n@L#0@vxsD)SM*iP27K%vJlcT^(1KiGN1Zqsr6C(fU}WjMm%E>AUS5 zAcUC}tO_D`+c~=bd>O5UquE_XYvg>WgbPAPaKj?!iyIa>KVKSn(re%`C6%#db>Uk# z?z_f|y%b?41}z5~gZ9r;S!d8|$=daP1JdA}+7g>S;B zl`-4C2R%8;psb2cMs2WX3WBqhGHM^IM6R0;>D`^ru;tDD4BE#kcYXO15MaKJQcrKG z=gGULGh%tgh*e(^e@~QX$A6W%m#-+8@W((pvae*Yu1jR_oRJiGtg?NP)@_Ve;}B!K zK2~Xr*S?8)O1Yii%Nnsi9?OW`ecz~jiWSin=+c*SmY&_2`mwPs%a&nT?=EM=O5d~u z0yD;DV=P7<(qAnzh9Yv*iBR_+s^mV^IAz<5vW=F}d59|~qMb7*$i{oh8F^1K1aA%) zL(qEy__}kw+GrlxeR)7Wh#Glv%wv_2OS-i{a@^(da0L87PO?!AxyilyngHYNIKuC$ zZlv=Ww`_a_^0s#2Bl;Bq{-gDP7H=Zh^?p9v#Na(viNVv?b2W|1NKYsd5Bt6{O6ocI zK^ef8Wi)?@v{XWW&dUg(@n>c%;JskiJ_ZCQSA#3aUu2Zj;PRd`8|}q&a%CgK=6S7? zzrXRaa-30x5=yx1V|B7o4Jec%SpCB2o-fFwY6M%XwDHrRbbTXxF{B>9R>pI3G#xFGpYiqf zjK0SzOMs31a6}XBzjt;8wC>i7hL@_@+HuCw^a`U%)Ltg4a1iUK#!}lYi(#G7!lDav zXAPz1KV(ba$L#5hC7drb6TyMH=3UAT)`02$WKKzTxR z$?EDtkIFWl>LwfGiTr>+*!8s9XpN_JliAfip2~0Dqi0Vhv3ndV7NzjN3pEtZW(_9C zWMeS7P$K9aks+I`q0}_o97>5`DBR_k&bHK0>N?*XO8gd~?thc#*ceAGJn|X!JoqQ1 zdu}M){qO1-PY$7B^k-G}38HTI*VMKFBM9{?C@P)UD{jXeLYPNh7$)hl%HX~d?}_Q+ zmcBJT>6V_(Gu+Z(`O?b=x}}Sq%SQOie^-fHdc-eoX{o>B=VO#xx-Pf|dw0xmOQ!_t zHi-56e&yy>)X)UlUaa(G6?e_XgP)?mSSicEj=A4eZs{}%VI6y8PMwu$f&ItF>z(fQ zPWOA$0)XL>h&EaO*?5NL&&GSF1;DGP1yVzET0pFvYy2y&@zmTwp%^b?(=}fI@)R+0 zcNMX>2wxqX!aV)+^``LEw1Bted|na>woMCgU~vDzDJk>DAO2#8D;I19&K2W-U2&ntZSy#cf9vbYP*H6V`oTmL?y)b&?LU7=h#kEY) z%;zq2P@}R{o4i%=9h$GwO7PSS5s%ebg2}seC>s~91D;_9eT5m6(BB5g2oE79JOl&! zZq{CD)|#JomI>Y+#g#~)e)F`m&7vYmONz6kBEUV!qdN^342qzH2HB`8Sk^nWse!Nf;W(XDBEMqZ>QoiFniuh!VKe@WTQ#-L!Yk3Zz znof7#l3|&g?m6kwkvaDU?Xecs%>4sM3iK%w=}ch%TLoShEy^H38D5&9MVZc1NXts) z@mt}k8O{FyZ*VsIgEvO0L=p@+kP8M9^LF_3M(sqS*8C)e1_^QXBcT8eyufotrhHcm zLOlUm8IkMQtGXE($}B0~!|tpT&p3~LEtj(7)7vzfAmgQgO)4Q4X?8(3Gn4vo26b+` zlqHxBAj@=>(Bg{=+7(wCHl{Hjz(6eK1C|(&ZkN&yRcWwfg|WhdJc0!oI^1}|woVwJ zEj&5vt!&siqYV2`hGkGN2(h^q`A4=cX6@fD!fJi3SplK?Lq1-PVLi5E>0GA zZ0-`8=fu0+mru*jSIo2WwMR1A>{N*A;_0)&4}=R5j!i8$h-5Qsok<>q_d#j>JOfOYIk-hR@rl4nQJp1lWb!cRIK;x+EQ|<;@ zhBP-3iPsu_&HhI;?-$1!>qiI^5TutTPDrbKbEy7|Ke7@uL0le|qmL0>M}mc?+!CLE z&DNfA|AW+L#PItJ*N;9wL0^2703Tnp_h-}}9%cj?pp7Bl$Es){)$ob_?HN;w+H{}~ z2feQqpb^(_ldU}?*oCMzDcA4FLv&4`3m9`!XU}j)to`3-6iM;V8F7-?h59$7J0r>} z$>!BajqSgnsNw4VJsHR37#=BTcVXicZelM0XnsLj@@jIy$nSZB*&ZAbBX>1#)!NK_-#k&=?o7{I z6=vjx0!mnA&6i4ge(O|n+rKU{*`d=f8a<|$tW`%rDr>dNF1P)5=Aiyy&v#QK(T13_ zxcUro+Y3vNxk@QQJaLr1jJv<+&X14^W@3MT*1jv;9iCFMufb^b{IVgER&NyR@e-EP zaqvngX7Lgumx1z$3)_Y)b zCg&Ps$zP|_G|4hSZtDu`?UN=?dYB)6KT2~?y#qI_<B~h)9~g1@ZzGbl>N!O^`KR|T9veAe)Xt3oGGOYeUk^E@=+HD!P{zOVAMM#!W z9)x2P`33r`XEzL@lj1=|BcR_UdB-+b9NawKhe6OG1!O!!WSK0-0v2T+^8UDR%AIR7 z+CV3r8TAPU%B2t`#q>YQ=XETg8FX69EglM$Wja2uQ9Rxz%IE0xE*(H74-gotZVpxBPJDY6sKAL{jXLpg zqHEh?Ij02+^ekjm5VlYlT%*LxHh~2iYb2!v>M14?j7@%dUs&m>HrkpihV*M!U>yM& z^YBvOyL@SwoZQ06EXzoLF@KO^aNcLDiEilZtI`3CA-GOnM;JR~+umKd!q^p91$D0= z;$K^3vwn$zM1qE4>0Z)~p`aa%hQe`?O|hNcvT>j;;fQzYbo1<%fHsK&RvVRs_MKx{ zY5uHspphRC!XaldB(zyk_K0`d8fzGeypgkdb76+}KfSwiR+GN}t+V^V<-8}$P(T6) z89)Lne0y%wICMAGq)%4u||-Dcu8Np#1lklkX3;a zFa~#-#(>=gN_edT>2}3h=v4-wcQSziBDlM+H4H%SWZF;Y&}5S+AIB*?!69@7WIzSy zdzYy{8sd@vt_Y5{zk9J9^jVQt6&Wb#lZ{rV#S}Hc?6GiInqwiS&F}IV>ncqC9H1tD zgOqS@SO}E&hCzF!Yw)NlnH=s7iw`4JP-0AskHTc$ zXlk;e5N0tDBw+CCYu9(F$sZ0`&!>c^FR21`KtBd$+rQ`H>`)r7S6(KcT-xmh^qbP5h1hCw|q1D;8;g{9H)|Dz#M=sS4uC3Xer{=D%Id z{I}0yaz;<<(0p#E<92!{gz42lFuKoZt;_9PrX7&($jJ~CwJaBmF8#M_`BtTS!elF^ zWAZd^zhAROL?86WgjUYv`D%eZ-eiB1a%l@S!OwiZ6RA(c&!n}k$ZMO^=M!=TV|q>o znS_#=i4fDRsg>o3`2Ka0LFJRbJbyIpv{?YcNv89-_hvq|OwbSwY*$d9fh$N$$52vQ z8&|-)_-6gIX#swhqc1esyCRy!b3uN`7E~$=;MboP9dV)3f3!6<{WtcX{$<9e)o<2h z`GINQ6zLf`j#J9y&twqtc9wK9`}5N=`#09KG}bU!CO*WfDXG0&rhi^B{i~7R$59b| zn!S4ht|63+h<v+=K{4S?8y1vricfa64m z1zuW*N)H93vWx}|;O@R1+s!ju7NC2d>@6)6J~@^Z=KqK5(LswBZjZ=W3}J0n3=2?S z(^k)qE?Zn;0T>JIuGM7pu>cP&=RH}5vH%=pSO8Y|X|lxv^c~IK&-JiP_e|D3r5#te z_j*cwx28_o?Te*c*KtLmBe3s+ z_g{WLW3`QuOf{xz`L}%YMOyZaXJ92OH4d%vVzW=+HQUf1-qr$&GQD7eAI-6Awzb?~ zGz=7u@>{bA^3qf?$_@310eT-pF_!1TSRNY8o{$2wv%bA(nq%Y-CuSF!Z42GcIOtiJ z_1*r=X0v0Vg7@krmLJNg&)0NoMqY7$ljdwTwVUuHeWvycDxIgp_v@M|RY9yjtM#OJSRm??w=l zS<9x~Jp_^rSK_T4R~!#hwakzzI$QsuG$@%OI{A8RSh9<@fJRqkc!k(FOs_@P{~$2g zlOXSDgnR-g|GdC7$cLnEZ!kES8~t4llN&m!y@Cu27!W!;NLdPNpcn>Itu;hH?QB40 z#50jQmh@VGR2fjhH?oA8e?zU-^37qYj*d)H#QVjO|G$KlRWFZFS(y^*B;6aPna6Se{_xEG}+i+#Z#q=~>S&FQqh_?sB-k`hVOu+J*H?lp61ftzGT-k&76(%l4 zwEKr8MO6KzkmVjoUMbOT602d~zedguScV8>0?UGl#eFNs_eYkyAmtFO1(Miu9#%Ku z@4Pf49a?4tDi?~5j>rZVt_co`EvGcH^AI72MfU2*G-Mg-9Wj}Tx<#WD{qaEX?}L@U zKiu%PDANr4zFE@ok~R=p{@!rIouii}_}&n`9DhFi??IL^ZvS{>*>|nygQ4YRPmG|k z>;F&CB)S}mpB1`{OX$7clkzA(0A0=u1f?dzf|ua~Nl&Tu0{FIpE(gFu zDw1S{{uL1lEl}t(aB?2dFFakaVghZ@WsG%FX&Q*ZLYF}da8#|1T`qEG`t#DSTQG(Q ztA?Q<+b%~K7(-kNAMQ~Y1CVkg?)^eJzL4A@FOAC>n1MRT=;MMZOBOu{$Pfxd+Mg*R zN=JcNpCIbaW-ph)FlI+$&a+8xhY16W&$fR*i~&%=6C;&JO@qYr0L^|U-v$i9zq3 z!$6xQ+Dt;smq3%20VJw;?Elg)$!m1_~5kFFyhxL&wh*I%J2LBeKPSnZwua%2}Nm zRVc&%0%xYA1b|$RFTh6Z%`HWk%lB^+xJs&u!iFTP5$dSmiQnBjnKGP!{vQEzCS(pzBF)lo$UvHbmXT3-ag2TtKi2n8wSF7KD#^bi(=}J76-8Q6aja=0i~bbA}zfjB*7a|jm&tZ-@TRZ zO46Tpz?t2XfHMGikm*YB@7rhbO@;I&HanmY=YtsNoOw)Khqnp6{vC{`dZ771e%VD>NtGfDr(iYgT*+^16!Q^#-9ye`T%ly$*^vV*$MTw(7rEG6-0M3e%$yYcMF{416+c zmx(xsCEchH=eEWg5?Mk2{{NE0q?V10)x4SfNdB{ioZGI7m+(Z;BNx7RuuKr=X|o-n znO?z*PYw+@_XWr}iaJ9;WgIQQdH16;GGjsSi9$!T^HescFd^qawd5)eNzxHszXvoV z(B&1#*sukONATW!D|tcM(S?YEZ)ppG72CxYD9Bj{VOBkRNe4uHZ{>*{un^~6@Nw>2 zW+WYj$R6q{Qs=gez~`4?51{;0^#E^wwAyCcfbLtD8RmfY3=p{!@o*R5Gxud~$62zX zBC(VPWdw{aj-SZo4LjI;K;Y!U`q{GI zpjdNMw%D=e#Qzd&M$Q5z3Rtrw8$G3h;ndf>mrONUSaYAG8tFBG1u#>M=~#0wSTm`` zW3joqg*7AeUiki0qn_aY$!v}4$8Gb!1vVd}A7K(|4g~QfL_}eHq2rp5|Lu);-_Q6% zI?p%_@jXi^=MqH4>RQ2gvnGm`^L&RPrV)+@ZP2xLsUfB@bE+M-)}~If6O6k`JBA<_ ze@bv_!I4dvTDz~TYLAIh2k&zn zO<-nWAU_Y;xrRG_d(vlgC zDk?t2W{M?`4*@bC!DvT>ovR4TnDD$H0x4nrLG=Z&Q4r^(MF;e?7|XPWv}4R3QVU@T zQVo;-A^6I)dRyvErj%`$8xmv2fKLO9F6}MPklRskd~8G>>W=z5v_vc3aTtA z6o^LtApvG&^BmE1-ZFTkP_k7dh)23#HH1XBh*p?)xtl?lwM_5ty!mJ`;YQI9atPY8 zJL8{8TV7S#a$iPCfLwDt0wMl(pAme58b+$Br5EHsi?_V&ds+EV%7>&a*M2j}TK0NO z)^a2k0g(>I&&XO9a5;wZQ4(AZLR5~DX$XeA*AE{IU+#WHlO(>1j)i_juY<6+b@bUG z%#1oSBM+Vwi*;#P1BlBw@`|{8lvtUXE?5Dd_NIf&`tl6ZQz8N5_kN{dP;ePIMas7Y zIF8^sM#=0C0GH`IZtg>L{Hf8MO@$wlvfTNSCb}Dn&UN%9Eg#w|0VPrPKzP|o=_BGp zAs%klK;|-e{SS#QHKN2y zxN0503?Mg4gv(sL`8{4>bKkZ)cB=zSr9Vz@c{Z*X^Z$QO6}t#n2!Yu~IyU#VvD7^1 z0!5*PVP$I756aw6*csic%4 zb?}EaRl?>LUh_~SWhKk`fPkuP)K!5`{>1__01pP^DU%`#`f@68NVo!WtGRiDrHmiclZ$-a;U;k#GEt!GTPsJfj_M2)W*dmyQKR8J*j)$d z753R86E;ZLS<2`n5@dIQ8-Q#ZJmq;aaf!kWykRochD4E}G*3;05lBMjKM@0DdH!l( zgLPFI7!_$I*-+DNR31TA=4>plDY9~d;;ID`eL3JbTtI0T?h-k*LJr0q1%@&WqW6}Yfi!@R*=RunwzkKp zV#Pw8fX%7R`e~EIMn9b5C$Zf_#T?&xNPf0M$^we1L=ACHb;q;KvO$Z4EW}s=VP=H06sn?RKwr zgakO~UCw*53`J7oAcLgF3SXI3!?M4j#)GL1Ut!Nzv3Org$~UQl^G} z;MC9VLQ{LSg6h_FpQlq`B}E9we^=ofgOq?D_jZ2FnDaByBYe)nXMqGcPIY+A4EqH< zwklMla*qrmx*js+2lXkJ4V>}~VzZS%%%m3Nmh-rX%=zb8c|F^l?+6QQtY-c8Uj{sW znAu+U^~s5!XV+I{&dj!npDd*X8#B;pqoT@j#k4T@+cDz-=|hk~aF&?AZO>TY1QW#K z5ZYp3KDt?=5=oY*DB15|$E>>;LpX|0{)Lg|lNdk;46D-INSy}P%H z=>jl*z^a!SV$Mgq0TtZe6i7BxRjTmhoN>nY=5EzDjTKABgwM_cCVb){Ti(zmX~WOR z-AHxHEoQwBx@a6baK=~YxJnxePArmc=9I~bmDIBbl!86#N9yG4%<^`5G9v@skC`ml z?miU`0uZO)`@jj`1GpH%A>gCRln(nB$}c{D4xu7m27iL7E7-DzX%l`T z=$kdyh-%>}ct-&HCLB ztmR~OxY*z(kK0uw7ctU?tQgb2!A(xc785V_3pY9Pzr>5Fln>~iuIyCIwG`s1+x=dYik-lESkw8;(!~_!ywvEpm}KWGED>w z6=k^fe4orUKw8PJAISe;1`WVAUGYLBNF(W>F`YLih~7mY5|KV*Hq4lPr4>i&MEx*h z1^Om6)Fa_J!&Qj!9!#AuoD7@2927H7Br#(#w<;AJaLKF;OM|B+?f9WU<0Icu3LYuF z3nB6#hLq50k7N*ef_6J>!No_v?M#BjZQphl`9;*7&=7?Pj*@CoiCQt={dF$-1IAJ+ zi#Zdg0;{~s5>g)uE>;Q`H97qhE^y%t{M5pWcee;!|6$-_DU|1q|}Pq7Y2V9Io;_K?T9iQrCq5@raAK2* z46ihxwGT~1{wD&(LPXwuWzGZ=(ummj<8Z#xn8-!B|6HUPEc1?G4!aEbnTW`fAR?pi zO!0-^|3OeOtw`R;w(DECI52BS8gj&Nh7@zkAB+S8owJ9Zg}#MJL&i5E;X+YIXFrr! z+LI&<_XuG#@Poo5#p&V}y+}vKy@jSqk~Ft?)UYYe7vVX}~qBJYX7AP56_GdBa|Bq4#bFGe-0|y--!|jBL8@lc;TwG zS^2(d5x2PO?O{rmeK)e~8QQwh84%x;xW&qm-d=x^61VtGQrzNVL)_wHHgSvV?BW*h z3?^>zLPpOE>Eagi&meBGsPq{1%N_0$FClKxc0b}4u|$+0@UxYBuM}`V#4Tdg3x*Q6 zI904CN?6`bl)#}0u_hD)-ZDsLmkw`OGeFwnwTeKWKw!n9xk%3Wew=F{2NXAhp1x=y8tM=e1pdJc12PtA z3*2Gj{Fsl47C3=(Gk|G^(V)^V0T3ca6bnMvUNbNrif1N><0oc;4GQHrEQG5hVxU-N z2Y`eFNlyjGM9a`aql}!ke!?n&##0%rs#&-`e-Zt2ToYm*Tg?=^4=ieiKpOMqOjkY} z#50#reS3>Q4eVvjkj&DGn(4ivUs)!fS5eH6+%lX7JH^Zf8#rQGR;u_ZiULT|$uK^` z0q}ufG9`^$;fV;G6cxu%u!D&HTg!r595V=DY1o0E48nS)RE~!c)<0s^5wn|mhWghv zLrK;Ddc8bApa=ZMwhzz`Jy5NJVzA5P^OAXvBuVIl^2?}b#uIybyI|4kX@D_ioct+g zGd$A9np5JPC!qt}2ar=d!CR)|yBcN98}j6)Ravu#Bww&=_-x)V%bKfaGE$ZDfx$TL zU)9W>hN#6}^bADxoyYygQbVc=MT=Op>LaCklf^e~s$ty(iFuRw)l{@V5P(&g4ZvAe zilW8t12a%Tf@mHIc9tyVFae3f)eWbzMPw-26;4r(A#^9AUA{}@+!k`MWHGCfT8+_l zuWPhy6P&ooUek>DlLw)jsPCPG0L4wVs^;ka=wibEgmlcoE${rRTQ0@$~ffuvFHi zlci*Y#znJsn0z0TJ+vlZU>SZ;j3p0f3@E8IVShu)=yT@&?Vk(t@Zom9qHgMQVd{cd zw;y55_E-l3vcqWlFxyA`g@0={=0HYxtmkJEh?>$AO_r8Ls+)#{t})uj8A6S`Lf68) z0w#hl^9t?Ycbs;R*t=j4!6~0vru;daH0;;^XSoEk*n*fo!zN|XG+2!Z zi3+_-0kZ_8HvSSflbZ8Cp@b|xF^lR6_*Av)<@BGJC122_%ThBw_hSfIM3QqpT8h%1 zOjW>2eaR+kN@Kz|ZoglBNg@stDJh(o#zf+Peo!$pyaxhjNIxMaMS@BzqNaNWyBqUy z+H4=7q^4k;?9KdsV5K?1vTi&-{g7hO^tp6_JU>K`@f5pB-92ZQ0-R`CdJyzBDUX=Y zZQ(2b=BjS^C! z_tjGUk$U=&Qe5=6fu#QTP>8F>{1j8sk#$_#>!k*@dVvsKu{C>W6v zq}QIkzQjYM73tpYku$5wKJtiAS=Fi_#l(|Q@At9=DNfdxFu6as%18{-xHBH_I(!)$ zQ)xlwZl&*>Picxj5$;!5vSW5K*ThK=TTwt)V@)1hG{4^$Ek(zOGL&_rLIH%B|N5B93 zqwi;Y^(I(eTkD%P(U-lv>Iws;MY7_etvj0=q3&*L-db0?y}T;fnC?p^V>j7M@1myK z)>e+#_`$jrS?fe_`0f-VSSZLzN^lxX9gY`VSEL%>wYCP&acob6t-)`wRw>vT?coV2 z$U5uEV3~vJuW;!R$42d;q-e!cO0?n`CAd3&b{?N^;U*yJvQRh_F?5R87&^u8i%#)+ ze)$#J$rak{0j>T%JeuqZp*iv`v-6&zY;0l1=)g!#kPS0Ni2^wYJJf4aNfyjln(x^} zlC5sdWYQoW?2%lWAtBGM>DY5W$XH>%7G&%S!;DaR6yS6`>SqFs>0xD-0V#oG3@xp_ z>ylkKWtOoYJ``Ro^2j0nV36P5DHhlhL#8{~$tn|O3d!33U=dELggo>#Y!WtkvowV(? zEbtkHD+DQq|Kiv0RE12~`4E!G$CI zNk$OevGU_sX68XfEao*={4Xm?Jp)`UB33+n>+?)*P^jk@1xc*f;uKGSk&PCFAL{a% zNX3rm|C@%Df0r2YM&G*oGHhfdJk~v>1{p~yB8SVsi;oz6D=&9MPtyTHl{BrLFhCLc zjv*D1R}8L*JSwB`9#auncNRZqS44hZDI%|Y0V#HLo$YY({Ynpcch-hCvc3C8Rctl& zkaInKr?T_-x?_|!Wjo^gPGvXzZg4r|KV+}{LpB7Cn>z1Gi6K*78}$7pOGw2p4I)|* zGaMm7i=#BPL=;bT zeps5W_>&p+JU|s-=M}Do+xyEQr`S|r3o+jprD(R{Mw=S4XjTLb2a6aQ!2Iq}otJ-hIEj2nHQl`k?-csRnG!oh5vaO^E(Ddk9rzJ8&Ez^_&C@3~uqDz_Dl| zXGWE3g`yX?!!=XgZ^eXvEvI5sPl2e8fn3B8xE$APjmx`YyBBPjR75+v14MPsCWwnaJf z>$@!}=)ovwlqrLz0#GOQx1=S4>FuyGm}G@_`4ki@45vkJGP$%;rL2g?5-!J+lE`hh z&7u%C9`^mHijSbU#-L<=J-RdnDGWw7cA<rfrCVB&x|^h4tc%;=ridrX3c; zcQEo9h=TV=b^6VVWOqCdh0X|-ne{=LXCY$dXGMcj6e|My_bd@&0)E9kGdhu5%E&;* zFyR9FVReMcO4|`+>k3I9gJ-~n62AUJ#cjJTtLM$-q`-lf1W-_PuijN8HE zJ*x2IL+m^l@vQ9^1>TQjA%bOk6M-btxDBz2aKi7+YQlq%Pi;_*t7kIEe1AHRcZMLI zvBiKC;2PK6SEL#`0nYq7)9iLYdo*wLMFKz6JN3C4CJynMqxrJgtRGbf@++Z)BV7Aj zO0Plz$Zad7BWS?;ezWLRSom@CscZt!ZVNq*QmF$Ro=5~c;SzHd3qJ-iHt=J7_k{Oz zKEV@g5VBrE=OtmD<%bhwGyR=^^sw2~s)#Per~nrmm;!b%j3#Cpe4OkW;33|RcCB#9 zrA+WezpeI6$&~&*i?h=lWus=CFktcQr}!faDP66^r(fO7xZr{meHi!bMUjf(0DELjDjg zP09=m#EpZ;J1H_$Vwm8@Qn0^as?4h3#u%OrQw?Wb2xo)g#!}fC1vUmY6WEv}7qekxmi2Xtf7HSGtq>h{s4yDQ#X~lUJ%`(Kx0}^M!fHiHIjs%3p+wHAG+Bv z4>0?=rGBU}V_G25Q&L1AbNo}bA`xq6yY{gQzP^4$Niu^H!gI9}kb?onGRa5c%#VK2 zJ{HIr#mM>Q$7PaNnCrt3mO}nyno#C>P*g%$5h$kmRe#*V)ma}5H1?2s4e94gdmEuK zy>13CGS3e{jlqe@Qeo8Ur5I9BW0J-159puD4=LQ3JYmFN^?*#$rY;euVKIPXD^JKQFJpj|mFj_M&dSif_JY)wt?ejV*0rF<`XOptfr6?1AcIjB=Sq7Y*jMZ~`G+XOIXt2MvBn`zDA zRF--#SF~blbKoHn6<2!_`QWcog>ZU=nLV^7dc037tRd_S5M==%TW5$o#FJ*7z(s#J z-zp_%#P%d&+;cU%_n+!msl~7v<0dtkw4C@0_QTJB6eqK`7-2>RUyt8tpobY2gZ9BlG0l2l9wwpUOoWeY z0oNI@;wZ`R3l!%CtT)Sd21cf=)LQzCdky)xt#2gcQ3#xUk-043!~2D*+0Z=ucD% zrY)@E*cn;HN5Q#+X_AA~r^JndAjt}c?O9E#(NNgt*qqZA~jQ{l+3B~t#{y7cvOhR!{SV%}T zslO$QAhOqzHjY-^T>8%?6z5Ywn~o5liBLQNgg8!baJr3m9?2QHVV=@8j)qgx6IIga zhZZj0tPz6=Pl&K_#BhOBSrvMu-mm4Ko$f@6QjB)rS4TPglv|}KPxM2H@$ur`Z%j;Q z6$?rXIH5cx>aOybwvj#tB_7Z;FXhE##uJ6Nohu-*y=5LCv5{HFQOb|dR1G4P0*U|L zc6oVFxY0%)M0WyT((F`fz%~XNptY@$SWBLqg%UPtesw>qOQvF_2L#dbqy` zr1U2U{`Fr-=R2VjuZfwLA?{DoiGLL^=)`UGN}_odHx`nVAulO0H{2RQc-0{$owzSx z(221Xu4pvuT{=|(q*O|YI^wQ0lCXJ*B}0J(VqO)V_PX_k10+mRKkfg_8^e`BAJk}< z7fU)U%0Yq0Q-IOHd6A2J(*_z05U>=UnKZ*LQ(Pomlx1^Gh=KLNsKuh!Zq_|fjf_v& zYbxoc30Q)XDgjIBkp%3l^47A>?R*fiSoAR?MnSUB%xp<&?g#lz5FT6o5?|7*1uj1b z)yA=6l5sX{Z57N<@I+d}JP*Z0A)_~Mf1cTZZb>w5cqmtdOm5pMParOaKP7buUN9)F z7=2$Vlw^Me3n%>;Tqx@TNq>U-_aoXR6=XlhX zgl!fuw5%js4LUqPz7lRRYIQ`f7HAOc2@5sJq!v?{8R(iik2efz@h&VAZV6U1#JYkhb}`UN$hZAmK@T{!g&s7nU=@P%t_Jo2DL|GFBr%iHd6Funu*%D*5iUORl_tu-SjOj`>qI;iT%F1j$&5QuMxB;eyzAj7*>}z1Q0W9^Z9_h zppc!gn-eaRoe3LerS04=D=3_%M2y*1ag1g1Cwj2;<>B`GsTa%SFY3aHrGlsnlpL#K z?p1;63I3|Ipa>X?GNQgkJ8TFTlUWJR$%fHHq7M_0NJEWPc2JagZCdt%NyoiEK2MoG zbcpzp;yt&`A|8ExXdxn@qy9#U(FHh;rvb+Ul7kX(qAl!=Ed)A7tN~#nbSPgMh^L7SH5DMK0 zU{=wM=)Imy4>ALwydIBr_e&0jqP}}P+~*L1k#s8Q`pz;=U{H=7{+0*N(`l31s~zhVpMKp?n92LQmvyb(z}qHrEba32@2oPWe##_}M(XTQ zr?!yeXIB}>F+J>~(#xFpxv)9)>*NAe_Af6Hhk+xhL2F}qna3!vBp4!T=WV>2SV*=e zCF~W)_&8HOvg1+jsFCRu8NJDT=XbKTo4O2723EvF)_6MgK$7M^- z>eH%OD)aprMC^_Ep52Z4o)x|}i)OrE^snR8S=@fJWCtlU3=7Gi(NX-7eZ)YR!w}a0SqO9W0?j=*yiCa!RKg+Q<>srkqDbfr z=rWWVM{x5q&ZImtbFGA33I3!*$c8`#*Ap$_6xmoX2AAkrmmPkSiam1DeQ22*ymyH1q#)_a^XB)#v{I zoUAip7{U-j2mv8N1jS_bB~msa$SS)U0Sy?I5CSFv1vIv4OK-8|*4Ufc)KX0?DlV-fV7Xl)SW9C{;k&Stcvjuh~w=ZQ1JhKC2q+gL0Wy?~>A|{SX$q3JoLHp(MoybJ z0UsW7`tXMO5fi6xZQ0ON-_o*-*^|b#Q-CrM(2c(L!5J|^aKfn zEQMIpE2goHkCDbfFC<*n4mXH1cZY$2t;SJkT<1iQk7YC#F+4~wR&7Z5c}K3-4}dJr z9(^(LU^RJ%2+-l`dqK!)#bQ{H)4WQJia(-7h_6@05c0lrqsU=>doF;0;rne2*&-Ut zc)TdZ+Mw?TWBUh@KPV$8_{V_AOj-Svw|VG5iV88`Hz9R^`CGCSppcWJ!ZQ8`>KD60 zb^q3%D21>9LbUrM$&O6)hD@uAP7=xi$ZwJ^@{CQ~=>kTEl zLTO~vB5*d!*1JfQ*p(gK{uYcWYwIJ{pnML!wO6mwlNHk3t}7pUD4#WvVld> zXfyzSsQgk>qXPbD@WM1Im_OS)j&ucfKe|{e+85FEx1ktQ8KqaPR0$ZDRsj&w-Z25c z&{kTNLqAHsB^n8GV700pgC1s~$1t@LaET=?20WHYH@It)R%~E?ULjrS?kvqJK(+F+dah6QY3Y2&t|`>D!}QSz2ueCY)7YfB~oS zZmmHt>t^p~v)(ZzixpZ7S|A^0opxlM5X#ihhIbWu4^j{VE-)N&pJ1`fHws52=)hNj z78~D-tzF64T&rcU%NT{7U>=fuRIp;}TNHAcaqbyKX|hs#HUdOq!I;}tid1JMqDVrg>4ed5HTZ)_t3j>y4y zedlx|2^!GgPNaf{!w%9KawJPMCwsWLHP;WLeAFeW2}h2CGcOOb>_CQ8F$lUsh)sOJ z!iRCa-Ge(mekBLl(i6t-GCsP0eDqMi!V|Q!GBOSlf$tA>`bSrrqweC&dE=!_ed04} z${Jsyfec%{$frU{?0;q}a@%8*ym3n1{$ForrYxHcV4(TewCm`wJMxou!;nj0nhib6*OY+4ksvZkk(`Q@CIjC^!<}b zA(A2GLTy*J`$OLR*`clvl5-W=hM?1)P zb<2ix$B15p+F3@}g`|1m-iVwJ1;B8qdrTEIK$Biq(nHpuKXOcNnnjuk{9427+>GC|&3O**)HWx@7VguYN06v5P#9~5 z#DqF|`GJ$pBoTghG(|IVIYroFGSA6EmSOOj~H%Y#aU_3Nz!SNRnz`hJo;xZMt6LNufNE2Z3r zi;=6tNh9I|_hr>1M&>6f6XCSF9}NkPFSV+1nOo`8g8lks#r5T2TYWxhiV4xu zKqB}=iL=yKe$OD?dUaeL>E6R5#C>qQUF@qArF&C~SQYyomsX#E5}Y>3!tCv=^abT` z^yfuTDBO=z;Qs^^~U$ll3r9Y6L?xZb6>@4+3oZO*xI z<<+9ukggk{Rn0iRY=n%F`^}Vo=)1k4-J)OpJ}QRm#}ft&{)8|Sgb zBfhP~BVIlq$Q)0m&!F3wJLe;HCAN6Rzz-P3a`I-)!8H!pV$5{d2ek=h{Zozk){{o5 zR1n8LpkLU-qRWtp{TlRP01nu;Df)0TIukfxJgC9m1qsg3naCJu2lQKpHZfrp!2ix% ztfWmKPNyL|2*hs+C)fslF|odF!kDqy!y#79_wR>2oH5J}oipw09Hh)`4y_u_<1Y~T zEu^I!sO|-&89_~!ucZ(6@DV`Lq}|4&>au{JpU5@*GWFL!v0tYoF=U(~BnU;wS?Tif zSV+g`1%Ckq;=a3xr?rzCwI&GF2KvjSAeDw0Q|wSBb~gG@{agF3tg?Ca>*^Y3HnoE5 zI?2OiVuaFE1WjcuRldau8c-#Qz2}C0Y5PHNhf)`{Yl)QT0*ds5{vM`o8wxmkf!smj zhZTwmgjaV+NcA(qPWpk+!Acr_Uh2AzAv5O`o1m)eMbcdSyqx6)(uXAqR0A5nspLSE z|_K!eHMp0TK%>v)-6g0Kz^v zQN4g)dNws9Sdxi)A>Tdzbo%h)aH67iz=ZT7%9?#bzb0cBRR?T{Z-c)t=r=X+w=f8+ zEc_SIhrtBwW~?wKIM647IE6AJNtmD=xYy`9WQmc_`15h!W^mtF@bAwd_P;d973!Zx z?EC2u7c620{E9-?1;|YNU4dVr5hvhRi8#Op)oO+?8Iu2mj+KKhL}o(zdF?pTq7i3c zzb7pAFgSs4a2XXMJ-1w-R$v2iH0B+r!v;bGwwS|h@6Vv=C`j7+sVOG<8){s3TFWc|A@QyekmH#y*(Tw%e0X}C)b#f>>53ceqM$K}KfT%qDa zvuzAG+M6pZA`)R|4-#N~%=hptVr8OCq6i6JoFAe$S4>qww@fzPMG+dfD%2Ni6NUkU z4}u#|A8yn-pUQ&H3J>5Z)l?055WN80AdtchV%_-@_^>8l7`K)1{hvhy3GxM~k@w9t zGP*9>z!N58?EKh4BoP7s2uIt0mDL&2x>~c>GRP=?Ui9EpFzFjM0`Ndo3hDb+;6dBM z8mdV_Bq2IVW%8U29+1R8yTAs9pIOk6HnvWGegO^>F=E6|i$8L^NJ%)c1B)vx6LS66 z-jGQZzF)@OQwfFJ2whI8E^)X8AL#d)6YmRyv;s>RR5mJbp!}ACu1}`KDbbFnlq#e# zYX=4qtu=*+y^&Bd-1*1#vdxALtig3MM69b?aeFP);p5hEu_W|3_b@rmh79hzfrpup zfs6!Yr#>Nruxzm)1K7c?r~t!%DLJ@H$iYy>gXjx^8SG|eT`+Ji$RL8gt8MCgLk5u( zRr6C5N(1!he@zwmm{1yFJ`s0>6um5FFv#JF$b5qtEW$xhdN9Ha_yimlW^e@c`4l+Z z7cJP!;NVc(+#&GMIybX`W(Z*Mr&4B|U9x|0$h{>N$rDK>?I z=!wjo*U`9;ZM`dgIk9+geX&^fUKKxv(-kHHNZ)kaEXUe*9b8svNE9ZS3mOr-&PL1p z76~K_)t8G8hL`VJr6FN$7cQ{cftsK+CNL)@g9}`3VZvcVc6{^3rgMQ)2Q!){lt~2c zs=9_V$)EvKeOG|KvhKS!E{nb7D!U5SYhCl2^?F^2{(@`h3q@P&np^8zbC0-oRNlPI zwSMr!qboPn*R^bIu5a<|bj|npDqnKBHY^Ba4IJ-kS(RHW&GYNp z0S#!|SwvhLOm z19k7TTQ{@}eXjJ=*Sa>WePCYE_6<$zTBeTl>X&EhgEf{@gEjB8dGn?o8mi4nP@+ug zV>M&Bd~8!ByL!t6y(~+A-^H@4EGzW6#d<}Sx4fE$yoxNnQe)Xukrn!UL1#x7ANw3j*YMA)D;&6>N z`pWgq8(JXlv|Kvx+Brq8oF%Q=51U?I(GYRfuGd^si(J#j-lYBShuOcG*N?pM?53vr z<{2B-v~JkkRM)&6Y&jj5zA!!G;j_>)9=)O$GHr5~b5~4CL#IWOxKWx$Jxg=%OMQls z57)lx8hce;%lf5ts~hWE&VJWbQoputYh&yD+#&i=*QukfYcu7TBebG!Uc1&aP(YZ| zKX>J>So>2~QDc46y4Llf<1Sojd9@IWm4b5hZ(UO@{p2J~#88goF(=Yo)y7DpArdsmnTqTxP@&fnV`t5pgma!}@hMN&foIc??;X%GQ zcIX9dcw^Dks~hUqv^IT{`I2M4IXEl%oOz)>uj$WggExQPxX#zMRIc8zqjJlJZJS#w z*KA!~U%B4AA=LHQ0(V+2$g2jIlufT|5pMW~*!wO|?bsA$ye{tX6{^d$((77Pl4V`_ zm8DtCr=^4((2V8s09Srb;gy@WHnrAt=Hw)9UwMiCO5Xlg@>W#<0}3T;%7QmZfx0JW zmtT@&T#6_2LO*l4*3?dRaXl7pZic8n{V|s-R(o~UbDouVJ8CrFA9J3r(ey{Wryh|lk9hS>+WtqfPru-ibxMhRd{(N8kA0<}tEw34 ztnca~{bBD14|~O)JmfX5t4=O3_VLKy=Bi>!2UW#fJG;@@U*vAu;c+jh+obQ{YlOI_ zU#c0)?wuYIs-2#bFXgRzdQe-`jhcTfni$)5I>&)5?qWm$dGe7@zH4{4tOFs?9CM zZJxm%{i0%hfW~rafabfXxOsj*` z`428%>*L(3KF-|*o%ebRLuBazV`q0YtVMRRKhwSHGu`WLK2XlZ#}?}&E#K+!t#y~x zH!sA+Zl78?(4{}%)rV*-r-o?$2fR-Y)8sO)&{%ptS0L-gZ!;>Za$r{Btme&Ix9AhI z{7*!3C~JJnt4B4Kj?1(3k&}7`6s)=~uWjTcYNuz%>CZ65@e=-GAy&`Q+VXrn{rhqH zv)%*GdbvKI^^%zEe?0s2e|u!zun5n3MM!XP^^qqFeBt3cMocP$1|B7HL6g(V;;p7R zSbxr|56fcd97eGP`8wZ`f~@^FO@ID5FJQ+`pWa%fe_PX+yY)N8giK?E7|q6*6J-VW z?D9ZUc)h&m2YIWy#spY{x83f1_Ogq{mpy3k%c5GdtzpWkoKm zo%wB_^o)%wC6S1z6IEQz7B~GpdQGu$j(a)NPkN3O$lvDsW){D(P@h$dk?MHerC;w} zey3;R27ZWH^_$l<*KJv^Pb${k8p}Iw%|EHQ!^?2wVts_h($iKT>&CA!Bx~lNo}w)M zM7cgvW9b?y>peZ5lPAhup?!1n^t-(6cX?%djdn_&)5D9~XKBkTT?eny^qaj;&)1&z zYfpd1!@7Q*GDoZ&EPr!dLHogSWOn%phq7%$yUqj+`@%X{E;q};^5*x3@{*ga3oGtk zywp>&w7Kr4`j)Ale7(u5=W8sd@-<(Rw}ZQ8lh=s7daf;yb>ma`vu5U_g4I);#np`6 zKeKO$VT|_<&vL_z)?2+N-|(!e%0pPK?YUw4Hm_?le<~k$>9=_G*;>`$!)Kozd}3z-H)mwW7gmiG zl`ElIBtZ5S>ASqX?{iD97aKGp>nQgy@>gdzJzfMCou8Fz4#T+=o$4b8>dd+ym_NnPROeTY4tSoWP2Ou zwnzEDwf{TxM59NKPc&|jF16nC&AgNGiTf(D^^Lr$Ebq+J+F}#+29LcQYgCS6SDrj` zi@Kj1)cstS-_hXVS|mc$d;Dzm|74TC!J~6`4b9ra-wmE)Zu#59lj}YDbK0K&a_RHk z%m3S-vw8EF!V?@Fj7wjYatr+3z0m^_5}n@jRNktB?6&B1{m@)}lV^9Ho4@>mIpx*9 zj-kzbMciia{^Q+02?cUllRex%{VO;p@e`bB){&|Oi`Mh|p{WJ5P|Gbx%`}t7&$8P#(Z_j3re1wZM zmaZ+b-t(=zlTXR}R)zE}p51OYe>s=k2Mdg6Nc_yF9lZQrJutj~H>+<(*A+!nT z@9$s}p$*&Zi;m;CCAN5)d2&S)9(11(*K8xM+0ddrTePOGaYkLMZ_ick4V&uq0mVj$ zc}haemaEr}al58Ijx+t^5Yw67S-^VFf90RNQ-(k^jn?lh*nP2wzw+go&&d_QmW>7G z74RuY5Cw*LW<@;CYIny*BXIrBtvrQ!W(WJ6Hx|e_Z!BnLM?E{tvdwAet6GC1*_KO zwY_s0X71f#deZ>;yFhz$Zr15fa1#&Ehi6ML&&s>Qj;-?Sd3PA%|I)uObgsT(KwZ0D zTb{DB?7|Q9?y#o%0j@~xr>AxHLX0=B@GgL0Cc|528X`;Dw z7npa#)A@RLfq5r%tIO((?mgWFMU)L>emj?PcL706MDM;eb?O|=sdpDNcNbK5-&*;i z=33}`Dxb68b66{^-?Dkl`o(8Li>GgKwp>MyuFvx`78TI-uvg|o_xR-^i6J*n+UYVOwUTViLjJ@*&R zUp8;)?5@FD4jFU4=GrpwTSb)^sn!ji&y>t++`PK3alSTq;+DqxY3tTCLj-EAAN*D_ zIQSzA4veh5T=UidtLQ-jDh+U;e9p2ZOK+IH;D)8M=g&Nw&~h3!lupVmnzOZ~b#{|4 zZ)l+e$Qyj?b8_l$I`I*5jU5eHL+kYE+Melhr^L#%ror0a6V-mre>|@;&y07BkOzB| zFVT;&l*TTy*IAkKnbcOoBYq!iM^;J)gq;uP1pM|x**9)Kl6}8E#QAVSKFo5*OO=0f zf^Fer*La9d~+Y``PoN%OAU+_-fUpqMGuI<2|6ZhObPiuRct4V)3`|+1k5OuB~sbJnAap zsiu|<_0`8OEen)audQorsqgyOSf)r-?wiDD`9NInsy=ep*vm&ZeYrxqGoc&;bomZf z=wGgA`*Own)lIj~azjoY_4e3`PrGM#>kn6SSR_~1*nz`56%$@$idXZC724?2Z@C7~ zeE#yR(z#PcuWhccziIL2TUr+9W({1q;E)D>mR!3ickna5{fk`nv4>szzTjE#5tnOw zv1?22%O`&RVfL;4K#2d}WVy<0GDe|U;tEuZBHZjYQl=G+#pqc0hBN0MfrH24dgj}K@I_zN~%l4K+kaQ@9W;Sfal%g)5Muc*luav=vO-Uip zXF#<&6tg68X)6TzqrRx*zYcgsz0Q1C9Lm*mdDddpM$!j8p5V6G&V4a}mlB8=$>Dvn<7IEE!*5^IQ&$ISm zDi`ES6qWx21C1K)t^)&^FfKFgq$bF-VXJph_>~Ro`qD4ZpB!k6L*I29UH;VP_1}qt zZu@OA6ZEZ=91%x*C3A(Udz32VBLi7EqbiTy01eSRlB19?i0f}#bF!6$L6M}ovu~pE zDAElN3}gjuB9Sl%5=&gGh_BxykWLXodXZQ~1vh$Z|3JtlXEtlQp|Jwen==80#v0eJ zOA$~SYDZ|>a<;aZZ;0A0Bm8(nxsqh!PpJ$JXyZcS!gjDwc+(Pz%L&=_A)}a?X7gC3 zJr%7ZbPeQNr9IVtGc*ipN0?DCUwV(~Pb`$`K|GZ;j_^J02LO>*+m z5w6(YXR~^dT4jJ5syZ}%24sNRmJx;Pse3Ti#T{(A?v-s9Wi_AG*1~E1)UdyV)4J+| zz>c_!A*|rTGe^5xYF1u071jAjA{>h_bj)x%lk2ikyIus)Ey>$gVw{|R+=7(y2}p%)K4uq}Jlq-^LWvFdM^B53eEH8!pCzI<2UOen7lkMlcM?Iq^iw1b6P zTk3C`KDco5-R9i1Gp>joiY-CRre0st_uRDN?Bc!V+%zq_^gGVEX)md{X$!uK%8Bor z1!Q^!M_Yzn4!e4fj_nCM;V*KRqtDnyX#Tlz-FF( zP!`dxjT)<>H~=&mOLWW_(BK)a`E$39-rU?$dF9p17A(~dXqO+znYY=0+?tyf@1&cP zF>4?vU)7GR@pL~qsNt<)leTWTi7>TNg3u*Pr_EpZbf-4_8LMto;}e;f;xBuX%hLMv zzw9}6rN$`O-hKK}kJYFD&l5&f78u<&v4p2cm6f&(d~o`IyUOQ#2EXj4lH|+Ib!{2^ zYW4TDnTu=3yZsw|uG!P>A|}e&utwYNs%y&9Rt?Q2DNtphX=*N5R7QSh=)SHWF#JJR z`PxT3gh)npXwJ_{YS(B*MoF)DUtUJEBoANC-scFH8WLHhO+%R&+jqFM?dHKp1B3Nu z5%jx!^p4MYgj*G%aV~$%o?6eY@L&k@!BEZSqJD;g4H=}bDr7mcs*u)lh>@!bWq>@- z`9>W5r|fPN{*KqkNZG;>3<9F9eWYPB+rK}uFo0-lT(7LesOxrSpbugAWgez2_1CVzXzlp+c-|zGM%p}HV|L;5Cf1D8 z96sBK8DixyjP|F%U)nocY#v-GZD8S0ojuf)(i87)^LdWf^ugN{5!3d|h(?eXA`rP@ zn)#XWrN?V}_wCD&j@B4PQ~EqtTRXFUyoT0y5&2^XdrIW5FcFbSu}_A@5#cyNkQ|Pa zgUpfZ4sXf8Gl1Rq)wjyiEv63=Ib7?9bNWX&iZl9MYN9*tky+c8*HJ&T*^X~{Mtosm zG|tbaj~9<4t}&>;X*tv<GEcYpnnDi9=z#E^N-gwefkP+ zt0Zgs#?Zcvp+n!C$+U1Df#UL4EyifCy}TY1TJ(vR9o&}PaJ&X%d%R}Xe9iDQ=FV@s zy5E)qPti+wORVRX7(W}5`7wi}b4yHbzw+RwoVNBW;p)TZ?EGy$J0JXLj$S!)Ticbc zKxf;PrkSst>89t*AFja4Z{sv<8y~W5Jdr`ze|Uh5Z8=^ebR9m)(<@z$h0}N>OL`({m_`BF*!_pD zJqh`dS@v4yZ}0IMFGQWF@8Rq9@L(>A@L;}luDs(lsfKoL&bM3`xgN216x92(cl)t- zu!%+D?)xJlskME7B;ly)X-^IJBFd@ z-yZKg#;|tG{J@+kdnfloGD+n6{vBM|Jkl38n;*oocyQX$O?BEl^x=~9G0Op}oB6yZ z58ZwJvZQJ97%P?1P~#WrZSvd^*x^rw*ScWO;B$P=QHGBDHZNfgTwnPyLYP-XUZ9j^)1 z4fK6DGpDX`)X*9N&^<4?v>giyqn_P`Ab7#@`K1cH6I6G>G?xPK_T^+Ph|DVY&Pq-$ ze|Hvu>-6cfDjqEuJblg;S*vFt6@S&yo!UF(DGRUi*XQzAKV7r7^GYZazpBYe#JjK0 z>iYC_{Z}=z+^A(PFJ_B5op+VUg~qaEW!_a?5BkYsdulwL^R6n1MFMKtYyQaHKPcF> z-w%Sw?E2R)U?-GN_E3DuD7>gW4NdH6iv+&3z@>$nh?^f6riTBe=*+;k<52hQ2%27!ItdRT_vvIsOCv+578! zee60e!;=qc%wkLU&s-v1eU}b$-K2lzVwkK49@e@>t~1!J)emd5}FZzYL- zSYwf4A6JcIMM$qeON=e)ycDT|U2~TCJ~qldzjf1?14TF7aPbW{1ak8N^{Q5JIgB=n z6~2x^`k;X{>2=blw`H6ucY{PMN!~r18?ut#b#9=O{>ibY*i*@o|8^*QY3q4~9 zch81#EWt%xhbr_BvJS4&+CLzproF)TE#IyUTEjoZa<**Kf1kzD{doAsqeGWk(1{p1Q1oa3rDs za;qsT0UVd~eYRX$CLdbh+NNKd%_7Z^!BjIOEMi8WeAUBq>zGfhu~hQ+=0a9ZJf^v! zL-=C_yC2hbtq=JJNhm*bp#GwE`bAA=dc}*{u@^O_+Q*Xq0V8))2MV>b;UQT%M2KFW z7}W0{ws)+yixurwY(OWM!V^`io~Ys)e4A9n zD0U6|=yU$VdiHOofYvtFwX|dsNda~H0_xK!t%|7#dHW?{g9ao0;Mg|t6ks?-g4J$c z+8+mYA!OuDo13?r>bo{o6)x<>H}WENt*y-)R&Q;sZz-?dX<^M**8aC^@McARy=KR+ zT^J)4?T031b@~>qNWn@IpYJaR9&MHknp#8ifVj<~LG2)|P;q0Y4UaUfudmxuUTupl z6ahB`;-S;ywcHzeMq9A-2%1MD)4qN!B+FBPi6taUEf;XG$Sijfv~35rB@*q zAJV2x2iQqyg)IUSQG{@ncdy6-+^LMBSnr_I~K9^;~ky!Kp6kHx1TV>MQ zccP_EUy{`yw=*{<6yAF%E3}H%t|$fS8#I)WoBxz8Xd=udDD{awV&K;v&+-bMxZxz) z389_=+sd+{ZEZY*`={WAoB+FZ=HI zedJm)h%;X)G(1G@*j`ZK=WM8OYziv$P4npsGm*m5d;CaI;!1Y?DT}{{D+;~g7->L- z!g4AKeYN@eGeh=m%-M1Okdj0I5vh2j@ad!i_w$V3jl7!buQ9ue}#xDJUk#7S8Od8uhU<}ZGTm$T4_3- z^SI&-$iFrXFVyK8>PoDAMC%72?I^-;EyjfTua0I;tDz?RRR z@ce)I3d3Ob@bTw-3YKeP-zP@kEM4Up?$Y*~x)JB%UVrG?MV!mZ6IETcqxGTg_Mz^x zPgIq}l5x7c1Nx1lcjdcx-8fp%{s=pzaDykRB+R|@qMkc1^3@J!MS|QrFVcgTN|0MT zjGZOOja@3E0TgTyyHsEUp1^zt{DaDrK+;)bhxp#ur5H|8pCj7kP!;VO$iWj;67N1y zRY(UT(?pDMC{I+$>n5CrlEVbA!aPPWkFLZApPWF<+x(OwVxq<^J$|Z**pT8`$rXd4 zd&My#&8cR5hI%B5xCA6${us(tGG%DhYmhMDVM=HU6Gdac}z* zRff6;Dq!vZPgZA8>mu|`X6JB{PgL!mtC@kXag-7GK2c=^zHe3(x<$psGEe%CMiBU7 zn~I2g88*^MsQW}!H*De`j%fOIehxT-yAm@*_Ei)P1b_)UcaD_vQN|?raM$N9HC83; zMXAI8ML)*J-XZ$1K79f^NGDe~nWVq>4>_{&-g3;xA&kh{31&PSMf@?+Q8(6cXx9xB zcx1$}^7Io`!A1J_;<($Bgs?F>+Q+<(FOy9we4VgQ*Ct>NPV6H}Plmb%Wy_{VXm`*) z@`&CzfdA=XMjbI6>C`IOCcqirJjvr1E;Xe+_+i3b2ju$OM;v@@b~B-4TpuyexVfQr zMY{e?wi>r`h#NW|`CAp9Lci@gsJ0PzzNmHZ*S?dnw-^P&RgP34Y49PUV;&e0=@V6< ze=hU=v{KU3-&We`>6t*M1|&Tl6{vV^xJpk~MV1rp z9y8L@iNX5S68wIzYVDFj%H?g}ukz=Xc1{JpyiEUol`M?6&se^r($mVIq^EJZ!-6b( ze>_I-@U(Y$KBx>LA{UMFZND}Kuff3$)kuWtz|n;zBRbPlsiK(dlp@Q4Nr>8avx|I_!$?`^p-QHKZ&XMvar+5-R{`!W~E}f%sYy`huHHI522W;$3v`*s)6u`n_Foo$_q*D!ir#6B`O8p0>L8#U|vvW^NprN|%YU3uNUt07E61CWo z!%dU@iCW3T6TU6E;E!A^$=WUu$YgDE(`0UHW|`HR+Lm9-kzVqP`z3=-9rHTWb5lt{pl0ikjwEZsYnHzRYkTXwU}3 zUEAie+3+FJNBAbkE;hYLBp!-%w$A0L?F$9**uGHw$b`j)A7Q3dsQ6uv#EM~k(hYmR zM(qwQ+HeSON+ zqFT|_xDr!hZ67rnQt}FRAPt}&o1xlWBUUg5;NK?6E-G9P@pp8A;cqEZ?wwS^FJm1a zd{`e|V0dbTZsJ|jSHPXVWtl$d8bcR@2FI@DEA)p}OXu`mBbvTZsXx4W|HG^03r0I< zxgm_P>(p}BL}~PX$<@J6uyNTcv`~ZcgfT=Z*!@4}9HL~n9d^$cqV!46$)ovQ2xU{l zqm98eb3)v|QJT*X7 zX6PX!anp^dQd2J(Wr|D8cVv{@ZUUqv?rmshaPGJb^-&F_BDshh({x~;6~fuUP^wX=Z4~5L zx8Fp4fZlQ$Sl+mPMn10VDrTuV$LVlVMoH>K%|;51XBugsVxVG3yU!5JP@%{7AcRTi z(dY0~nVbiYB4R6^%ePrN-xl_2z|!{V&9?g#sN9<;jbiIe~5e8RZfP zY3(AU%vP0aF*!BlT2<_7K6&Vcw?E9Dcl+%Vcb3ykQZIn8E$zE7UE0?cBv@*ou1+jj z@M~@Ag$VtwM(B4=F9=zQ7-T@;mY#v)hErD~n(RaKHxzbF6!073vBijnk}Qm95G#WW z$Gcf{=$GeQ<{JEyabqmp*KM!QB+XC&w{F6EZpy~do_;~Q|xTZRhq75R$VPHig zH&1j3K^Tm^(Ka#)ZWPK-;YQPzYLM7WU^7;%X1bp{9n(z^tpWcAn2CXkLD*w@A#^xEDEoeLSACWkKCR0 zTJ!au`KudV%?G{;2a8|Luk`gJ(pdhMhw4MIyWo`70P#mpssUp4PYT@J!qNhP6rE~; zu*(noMim&vhqbi>?6O1m@&OIY2K25jc%{1FyJFz(d$Nh=1QkoKE{vtRKpYZ6CYFGQ z%+#X%Gv77#;edWi3&OB*5dMu$JK>*5#*gBf~){HN+cqvXphh#Zpxtg zr}#J|yC&SVpZ{`!aj{k74P#@@yesCpA0*zc>f!5R`JFp%qrfg9KNH=rylzS@@P9&CYYKL zg}EEzr#?2woSKn{RIe(ahIgd&#wq2uO(XyRN`BXRMfay@CheP^6y5(WyM|Z(#VM{O zzWH%|kyP)dFQ4kJTeq(Cfh(kN7fSB>-z*ud97-b6?-W%-F|#p;SxQAHnm``ycxiUS zTO+0Rbas{=s_8;<8j!iuF?GX>&RMW?*nF7zXJ;w4#QhR0!j|ZI&77coGyw4`4K{UG9;(Fz!6CHjXI%l|LHqIocW==hOZ8%K=ok` zktHk(JFYBDB3&Npm{QpA*%CKpM2U0_a>|)StVno5P>SMXhRo(7YjATU27DuOY$)B? zI-6VE2B;uCM8T-cU}CEZT4g{-vw1AE$6&~}zt@0{J+iy0$EF5!>=%i>MDfk0-sT=? ztGpheJWIo}wuWV3Dm;PSW-%i=f-<5bCb+^m^fnD#frAWOffc0t+#_-4JxBBR@_v!1 z@7@Xez>&MI7rjmYXI8PpI~H?*bpf*zWp4r}gnT(MR)ygPs9>mV0xC2pP~k0xGso3% z=C4fWh;EB?MKt*m@VdsZ!l!u%1kz;Nh1d0%m_H;-#BO+@_q` zmm++y_qQ0nx1FqC9cHpu)1Yj`_4TpW%Dcc_WfqCyIsgfJX>Z~U!E2%5GK zwNbTyZ>~NQ2mMcuw!}B(W8VR@PIa%r*6&k&GlZ+0>=uAKgSx8JH-)aBw8^XD{NmB* z$y;&{a6UM{knMT;)!!ss_g^csnE;sYoWigVKw`&ird}GHK+-w%1JM4+TYyMA&{y(u z<0H^y@x(wwfzwsD>#dSH@ z;oJ|1fVZ<88NSQSh&f|&FAutJor8m+YJp4PfDCj&2(L*r47^R8ks!{mS?vSr17rXT zoX;M(rJgo<2d<0nI-rHV)HwaWyi&iag5XGo?)^`# zoHHa>baI1<5QF4@GL2^hSwM<&=45U%|BO=B``6+WxMXSGQKiIrW+6(Pibi--LZ7(B z6yjv=Y#b0`mklrjO0pQpf-!&31egO{;5NX#$OM>+Vocx#A+BA?QG0=x!!=E(^W916 zrw%nvZjUe({`+RjOIrW~%FITg5`;P0SuARmwjd|9NC1UzXh&(=B6nL?ZrgmF?oG)Jy9x4=`K|GfxO1J3mt^8*S0$*94d~ zz-3mNzNqbIU|C6a8o+Y=uK||#Zd~S#Cg5wAUuxjW zK*!u%16X=aB(@$4;huN*Q4<8T$c-V3a7rQ9y2P565DpEyF zd#bAc4tpG*7sxl_J3ZEL0Km!^x#^a&FjT*qD^^dypLhi+0D|}$C%h13{t`j`-X4FBpL-xLrd4F zNg78SIFw~)NK&>;PJ3R`11h7we4FxS9NUvFfM$v)llXGKFkR_BT`!?m__O5IO7fB7=QF05fBzVrW6L zJ8&~!X)kmsMX&kWlm+i{+Gv4IId*cDVY{^uUwe&Thk1lGOPJT3+Z(s5hCCIGMWz>4nPfKc|6KmYC2+mlxMiWQ_XO z4c_B`m$waG>`HV-QhLnpWFqE&XFMEh0eVdrK*XZfjy|HnXbm!{s$;}_wwpNfN3H^* zw%q^(fmqnrIxrJyHa&sJGl!CK*k)O|PNW%uWka5s0W^_B2bn_Svcq7Z^NU@}zj*KW zfA?Yby%w;VMsil9UxG5nBv<@wajm=G#_@B3%)TK$17r>g$Skwp zsVewl1C zPHxd4u?x%`r$btllT$D=04;C)ry|$Nj^RE#63Wz;iKau%CW{?YMh2=_><+9s(jV5W z5^Jlu(~YeoJQ9}!2P}Rrq&b<1G|Q01r~us@#S18)S%x(Nd=n@sppB&22{iW{QW-a? zuIl`3yCt_sh#6>|{CbeYLW-KhRx5*s8_iTfOK6RNiIB?~Mint5I1F5`;x37#Li%a5 zW-V;6^8(GpQbI8e5id#%Lu8fK8QLEsj3bBx=vG%LHol3Fsu#ozCoBi;M$>}L-(V^V?j7XY%Ji->^E2meT35$I(#Eh`onvmgT1V=<4A;o#g&l%5Z z(W#!vO2?bw(~yC$*Pdrj`tSvDHX&yoimm`#4M;W(bLOM-<=NRf0a{@^8X;bTKE9LMxoA5x|l?6u`q%G_K4+}UNFHt z=v7a9&fX-4M--{egUx;(^Z;d#& ztxS}0#WEV12re{Q0O!l6GQ6aE*ucLJ;Cwg)D?yYUz@CX45sX%V^Nz6x=)c@N;BFoGL17*`DhZ6Jj{D zphzbGG>DA_L!?FIlW+pT)yJ4#AH?OD<#5pEgoQQMsuSA>+V`y%KK%93gCYzvj4a+{T z(FO}~?n#tkv+3DRl*v`n3vu2D;!G9ySYkRuoead8ewQNNP0=qf<{8tw3{NUP(J*WV zZfr`PoHh3aU1nyJ?-xrM?Sw(w@ui4*hoy1ztT@;PkC{2Byd@c==-$6kYa-2Ej$wZG z&JK+P=>WU#Msyey#L)eDspkT43VTfrd2&JwxIO@Xy*4gIFKE&HwCNc0jxRj-MB1rh|?H#$GEdLP43SrpD%{(1pHGW<1%m zSpoqI2RcRZ?F(eaZ6QR3iT{Rp1#x1q6iw9`5mYdsa-ig>O<}`f5iP~^NjpuH84YYp zcg8}Q4>)S2cquPfe?$Nh!)H18&AdTxjG0Mz^L++brNq?im+uQ@7AHlGJfZ(sNkR}h zB~l+*f!GGXU<)ejVwhh5O&Cg>ay~dF?;6vmv92&?Dk83!d|);H7t)#=ki>V=L1~U8 zy6;>sCts(v0X8G_gZkF0sAwu!qo0}tZ;ll2S-~?GhBq%6*?eENZ*r425oMy~XZ+@L zUWVsY*9--hc*h_#16{DBNhUh)@yTnOaI=1OwgEGMO@{)$ZwyUGn`KXBsKJ^dLEpcvk=`No98Y7% z@0IE#cHEWlbq?#;R4m&R*nAL{Rk%y7;s#=L9zw)P_?vFafSj$`qZ>^`f8h-C}Z_@;1htKUSQ8vs46NGM_G3>WUxv-JL#23wWWb03#%!;2H2@LoteTTN;A=v7w82!yP_xl zFay3aK44dA73A`O{;?_C>}{o0g!y-g^%OEMH@m`{G3J2HG|?QrS=%M}a#)NB#^?PR z?B3@X*X3~=Xr`Eiv8s|A3pa3&WttUWY}o!|%i{VQK``cBZvj!6scB`;!yrO2IpJ)(UizmSD0xR1Npig``8T0>_)bw}@{zUcLgyJn!=f2=& zNq&@4;XZ*|+em&uF5j~X2G~=X5X%BhXt*_UL{6E zbr>DUaJ&y>o}bW{!!-@m7{iRJDVcBfK_a8j#RFcpH?~Y4LNL%pxzV!rqS+DB|2WUE z_b`~l{uvVmSGFwvHf;Sh*#>`^yEM}Ehk5eS%Gi%ON>*%Id*3JTAbt5Tr-RQov)J_? z7Y%se4vdhJm1J^$L$h30^^Hio zL8NnUg!l^{t;Vc{=`yqNXzg>_cmy1BZ|M(?p4y8qo%{O8SI2MK+_V8P2$TvchmI{V z6*oLT^T3c^+BZSEI;3geumEV9EQG2E(A*aQU1ss2=d@{KQ%q=FAd4WmsYd@2s5G=N zDSY>@U@wR5G^!|sv}z*I53U?B&Ox!4`3TWa|G0AWuVOF9{_*T(|3kU1zXVr~hyO3& z%6|oW*>}dB1}w*D<_`K^@MQqYbW|}f_isR7hR*#rqA#Ny){DL@;wY3$qha6Lfuy>Y zIEsjT$D{r6m%)?CDbrEqGW>3sR>g$>jeLA*TN;Bo)*q^@bOx=myE{qL_Oz6@&xWeEZxO1XF1*riCgh;IRhf53x$*ko{&@) znKuhj76zm`T2R{lAmt<9mI#Qnd8>A0tH8+MRlBB)k_p8?%1PN`1yg-N%7jcZk2}TL zI%w_RKVum+K;VftOZkcgOGcXETv#$iY$uXzG#S&ZBgK1SJ{w3Th1^$S=hzvHWpHFC zUl~j_?kml+qAd<}w2SqLB1cz~Tsq79T&@u!Fu6=r0!{>OV8NLvvYmqydU-+L69#Kp zs9p+RHsIVe1lh@2mQ0+8C9YSw<-JIb9omEE>of+?P3k==$CfBfu50rw`-6|U;=JH@ zVZwLbP69NzF7TO+v&_Vgk1~}xEl?BS1A>P-_9-9-Ffl?jdjnE$`%tx z4hVBO`d8w}2$=@;d#XAVZ#gFro-=DSZ?V4@kSqv77w|fsSP80nJ^VbHAip+NXxX~OtWZM6yyvHP(Wlk z#xBVw>0x>F65}=oOn6Z!Yw|WYKaMacYf+)By)JM<`|H6%`U2u{DvM%nUJr6=e5HUr@ zg*XU`e3`XxUx+f?E?1WfTu$yC zIupz@^)dRw7J!p6dUxf4EeLfD&#&mq;K_w?^ojzV4GT%{Z8SLt-Kb}!Ga7*; z&RCsnR4xPb*#eIdAqa#zBWjynL=1NI0*?v5Z4&6 zbYHNf>!GW8LY52xCLX?|G?+NTXj)-~PV$10OangoN`6=4vLf`qVnnrFRl8SscKJqv zfitPJ(E%Sfs=k$E*_%m*4HK3nRS_{+rhk64IbfnuwXM8UAsE?+DwDDN-~@U_QChAq zRaL|f9-JWNuziYYYq+sFO!ciCqe}P(RYd#)MMNr0acIh1@9lq>0j}Ep&;$}FQ*OOc zNlF9e_v)%NEtDj*5AUHdA*id zM&x_hGX;MqY?_D=L#)(?(-(7zT@N}7iCVTE9%3+Q^q)>L_r}~esx}XY&N|jT2S)mP zBAU)RzQ&RAuzSkZe^%N0&rX4E8uu4e8VE8Eg&*w5Z{&oo)edB&H8L|{#c27wiW)G5C$k5M-AMV%V-Awv&aZB=6&u zrpb?XuP$UyG5L+lyp*^?odc%wgwT{5mo?W+=Dr&DFsr7)U$_)CBp#uLr0#b98aVQ9 z?sid>=X$?wq#=WZ07g7k{n3%jH!VB+gB(--V$(96#XyiZIpr_tRZq!ZED`yO9bcb> z9w`iU`e#PY=P*H#qcsih=8L3HtTUP-DN~(G#yW>wBd=}3$ol-btV+p{e!y5~iEI-~ zze&kpn0zjo`uud!ZFCqhG zGL^gL~{9~W~F#FLy@Y7x-L66^nL)2LN)F>sPC1N|N)7`p?wnYr8pcJI8pibwHH>QpG%W8|4P(+kp(!&kvQIG# z5gmtfnPMpm3L8trTwXjLhQAM;ZOLREVi<~{jIBZ5OL8c*Nfkr+#=)y^VD@AtnEXde z4nug(c0OE)k_HY<&Ax1xmacQ^VZ<}>WTl4zm573&N{|f!THI8>EM-BHlXk9*TP%c1 z0*sUW!(tlcD^TzC|!-)+f1C<1QtUwgf1IoBZgxH8932(aIzf zjNt5noLh+Uj%J~hJ2f!=vzG=&)W(!mo3M~BBydU3wEKjU(`73`Tw!xnstI42Y_4=l zvK@;NeKFINc=e=&dy;)y-~lsoUh3pH%`FFJa6&5`5RR`k-q=tyZ`d`UDg7R2?% zN(19sLj&V$N&_RTG%z3-D0-Qrn;D%nC6@_r3|*~g=O1S^ysacK-k*h5S{GykBmkZ5 zYB1h0<;$UVP9LX0j`CI)-U>vg~Fj8z}+J>o6cYJq2 z!@*KDn*}DqHQCI*)JH5PloW+(dgTJi2%T;X52VRo%w1@}2i^!siSOfs({q(>|i78IEP+yVmr(q;Km)9hh$k8KjZ~e_ zju)_y1a$1dx`mI-MjJ*3NNBV=pOKNH^SKddFcJ2D{8HJ^;3KnQFwxi*$-9tj8L;&9 zfTi4%27tidL?#VwkAe|WG_-k&hDN8K1tWAeE-R$H0rFscr0x?Qns21Lni6ofB?xBJ3rpDd4nT4^er)wb{Xs=YesF@DH^8luM(yAMvZ~#`bhJO) zP{P`Y29yAHAoC<5dVD@0V7wG>o zMRo^ckZ_|nn9vNefp1%<9ah+}?>ZTyENCZBK4|vaita@(G@rf-wS0SxN9r76Vf-gfBwLQ>Z1y;;GgZaAT$jNb3p>Bl*&; zY~jYu6dOSk9HJMrJcs;ebEV~(*R}8ju;NEFsWrwBH4An=DkNMRIwp2d{muv>(G3v^ z`A&l0kpvwUv@4@=> zDo<*iAMvB^$hxI?5gGOKO|r=-AF^T*kWoVAa^Z=BrE7;}=TPkx8nR67eDG?Xlchfl znS(L}l@*4(7eVDPwcU{Z`a}alrv9GvKQWefNtu2__`(2@Ws>Bn ziQDK?_=0|=X!}%)OT%4hNlC*{?nO*SL)jY*09ae{N1&CC%!dO+Iw&1e_Fa7$vKOWg zXf$cJ;sdys7HJ}Sk&ybK61`~q%oHz-{)j%PNf2%!B?oZIx?MlyjCv!=Xr=X;)tKk+ z(7cf9AwpNQRw{WYmB+MNOkl2vUbJLV7~ipa{i8}L37dcYjmFn0Lq4%Ly`khVk@L5= zaPwKOkc_#;eBNIdh%6ysGL%^TJL(8kLUh8();rkdU# zKUJUFpde?*gM?fC&uLP4*ZJtF!PmV?U;U}kPK2%APpm_4Wy>&0%c>&Ff=090 zjuedCBrtL?S^U?+$Vyc?6waU}|D`x`BGwB>R;*-t=|wj`MM_5P0+2m&E+9FP4kRm8 zK5g6Gs-c3kcT4JMWL+K;c&_Vlw+iouN`DFFBGHFGa%9_UB6wMCc$|k~qjb0jS04 zI5I~$lV>j^bYUe+(OCFbe`#=E%rF!oSsT%qNlc7F@Q(*EtW=eMfV6u|AK+y!iPv20;dm8Ly zuw!*a0OUp?Dv( z!DQfLZxC@_I=9Tie#BYW?*~p+!WJ^plrTvSBb%m9@n;~)?ijTJTiL=9oLR~iXQNJK z3jvcsBovs;dIox(DWz=Z=`;&N>5pq)x3lz!Gg@m{JfdiMUE|jJ(cBm(<>s-|br=9> zaz~*vm~mU0vc=t=p4En&ax~y8o6@n`DW~j2lY@U-G#O>r+XHA^7BU?HcJS}YpH@&Z z1cGRw`fL9$ckcopRek3F&&hQr48t&l5JJEZA%a3O_e(?&gdoU8ZeCE(009z6z$Bo8 zrfu4$UF@kTA%pF)zOsSZ6$hz8M=TasXQ#|^_v{MroU8p7d3*Y^q}>FS23hr*A4VB*L6%Bu|D z(Ko|Kw~x*pS2sNFK#$Q+7E&bAXhu&a2u!((iTpr6{8;HIAAbn&fs#AlbxJc6|JA~W z-^pPW{6G};!@kvH1VFGhhaRTKr|mt_D?1qW{Z`SC*~7IQ?BEa(a@fwAgT{scC_t30 zPoVKfT1^a?GaOjqH_u=}$gU_(4F?DpxpN#VfC&d1QBh9Frx>0uk8X01;S$$}!9$qBTNIfwm7!wdEo~5k`!c62!o&Fngs@ zgvK-#4bI`$#-#D%Pg`8HM#V+@j|x}fczCg1Dm3Kw(keIKN8qVZ1{19mR&rQhKh22a zq?(z73?|x-L;AY{A#}Vum%>>0bmnaU1bLw!nx6&`8qJ1GM_&us<;*Bo=`YQYFcIkZ zakGwA2*~WLpacD9Arm_OS%~J#iMa2FMGSs8Xg>=Hzl?9hfP>XBU@L2M>)x{A9T8j&Wi-i50);sA%Sk>`y}z?lB&DNse_;}b^!3LLVA=(~DEdWw zr>bdyBVo$k26k{9$%?&-jkXv185Xf#aLbOpv-l0Td%KvK3+j&>NHP>*Ek#7jNQRnM z?|==kS#A;O`E`Lr(opW+un<)BIAq8rW2s<>g|SZZ`#zqvj|+KR1?hkW1gZl;0}-*P zQlgz$ChM1#kX}7HKnBNWEVcmyA-P|7r7*-GpN(kZR|VdY5^U?EZL~m95o7wo3b|@b zm!m|6oinIsl1V2GPfdra;mLpt8ijk72@?~e{aVm^p&EZE*414 zq-7@&DM*QTIaM*igI_R}DqJz&KaT4B<01}C1H>vxDCH&?!DQFFveBTJ2|R2i2!;2Y z3JN^TR%?1^qnh4xlBuFkTxe$htc@x+D21^xTG0igf(~=2$_*YuqsZ#F=L-3@-yySl z`g1XP>O(l#6)rKvDcEYw>D>q-_fHERAT3BXSU$p-(phol1mm)0*vbZSf=SrLJOyCG ze=fhc2f|_~9-`ast$P)_SWW6HCGVJ?)UB+b@QZ1FkcNi)^NSChsz6!hM<|j?MsN>w zVn)pZNxro|I2Et#K~rr^=5v(}JU~V$e)L4hNC7?EE~O!xLlNIT!kXEs`WRV_`Mc?6!xTtrFepVbj%4D1+7dOR1N@I>aEo3A zCwWQ?nj}M+=8eQ!|J)$OP9c5bdSRgg2rspYa9AIVXG~)TEQZPqidYdp)7f%^9e+Pd z3ISARP}aGebFz#PR`cC+nepqvGY;wlGK2Dqr|U}ip57Sk4pQZ_ew;bUJLQUuo5<+5 zNAZU*OXhYgl*B4ddJDImG0`Kt|1jOxBl;&c%VP*UO!C##C6T$_NHII|g9;p`T%=M7 z8Y*zuDOhBkz@F~8g&-=^;fQakkY>0j=KK{FV6DzDScwS~gAgnhxoIYSQi2BeWw6|! z1RIDtrGt%dZ&ck)B>@_g|SrLYk&T z)K5nB8w#jlM76>l4F;<#w^Lg3_A5DONe}jgasQD%45y6ln?xO|vZQ@kjW-zzM}0Te zQj;i{y;8<+j?^&N`sWCvk-#k%X5*Q7rDe zdt_#c5U~p7<%{fIqAPm?2R~1H@9ZLy*uVYA@Bebe<5Y_7Yj#(@{~HvK`SC=46;9~@ zG+7jnO(Z$3c>I2Vep<0~QRLbD}{+SXMh&>T<@tj#=fQ898 zL2Y~plsFxR6_SI1WjQ!XEIs(be-TIw<@^5vkT~&vLE)5@)vHJ3plOJVh+d z4HeUGC>8~4ZB9eQ&Hs|0lZgLykm5w}uYeS*{(F(=;7~DQFd^T>TnARH1S~>lgNmi& zgM)KiCi)dLQvm|}WcttoC{fda;^g!{Z( z>=^Zoj0Swg0L2Lr3XBXV3bN_O(SDzj(S0v$gTw?y-k69-S&=a&=)6&4K)R@bdtxi` zrkw|#7u7gLiproGi(iE!=V&%$A;d>AJS&PCe79X_xH5#%5&UsS&fNxx(L?4|@cSTN zDLG__7Cfs4DOpVfijgD^2~`%(1bSlNW{$|)0TmzV@0m%jow!?w7HA+-5No?l{bkwc(IbMYHco zbuym9gyFL>dgzke4=L`;pmo7NRJ1PXXw+Z+c-_o0QLRAwJ(=ish*mfu;=hLev4e0N zC@2FUE(Rc0jgli}=|CS*%KtgGaTE@|Eo^4P1AvLN2=e{FgPdgs;aEl~{h0S@N6|h; zQ!*6odVYy3l*u>dcUWWBmFmw9zns;t0-5dA7r znP39&fufqB+LMAt+z(CYen_-3S%kzKNm2=&K{Iwm1S1}ZC`5_dxrRXz1%)*XTY2WM z04BJ>^y_Z6D8@d5jTEO%D_uIFgb*>1%`)o`CG3Y@Ool~tDioN|My)d0fMmzZ!@)`g zS|I)M$Z~ULweSR>0hek7VAU$S`FeeSoXgZrdQgg$IckNY!JZNRaa77_D!owCl89q6 z0ZOs*0Fp7~ptOd`leu+Iqy(WPvlXDO; z9<*+SJ*@rhOeydINgS-_Y{g3^V6;D8?VbS?10=wEcCd`~2iBOt_)s{47@X2-6D5x6 z!{?DcBL5jl& z{g+6wi_|Jh=Fs@HgkYv3d?Coe>NKsCR4YeFGT-c%BiNKUH-X~i z21H>a2>kqB)VY9HR7)rx28U7Nax&P(lC?z0OrI}$8BmRBk@S`2Sff+Q6tVwcm~lkE zJr`KXutDr&Vh1GYLS6q_!y5*6AeG9YSm0hS@0j$mA(_Qe>5QUK-1h_&gkamRvbrK# zw@NsI+RcoW@e!uNF`vaU05f)lYyUB=NTG}ZiWG(Lk}0n4%)pGpAsaImdKo1m7>~~W zsBtun8i!Hw@hx!+!OU)_gy<#Rgr%z<6f=c#rtT2vzyTifC_ph*1T%U&`W{%amzP|- zS*$Ew@svCTO{yZXu76r1+bn>1^tG%?axejns_U7-w_ywtT~DcPc3BC|;Rc9+Hk@*<-Sh&TJNE<2@(^pDf z@XrO15vcIv!ti|uCtB0Kw;Dcapz$KkG$@D+2**|L(3t)8H!5ELcy=%BVoRbzZG>5T zc)Qjyt_pN8iV5IZZyQ%-Y%-=A$DDuEDk%{JIY?FIf#pnPO!vnAHmTT}?Va@`WNiZv zHd*u;`D%=hS3oe}F>}4V*`ystl<4)4E9gTI?&TTc8_TPV0}NS;e&r+(K8{GvQD%9{ zOdJTXsbOJ(#soJ?5&11a1)1{okBdl#$s!)ClmsSb*f(jX-9;6NhjG>C0F0$-^Vh2l zz_^#aZ5<+OnwJ~eq#fQQ#UpM?W%XYx{GLcAE;S~`MF z&<;09#UoOMN#84O1Hn}xic{LycyKaMVhLyM;NzS#JVM>b5Lz?*ceWefqya$>ObYrY zTx8ccIyos^@*vYY__<=DWK8emqI*YnI?6^QAEzdJeb(Wn%6m;-m!1pF3R;*GO+n{ zK8`juhDvJ4754@6JD*=7A8J;MbpO=sr(OLBVgqC>i(Kx#508BJZ>>`d87z$=|BZBtDZx%i+rhzM<5G)& zEIP$$#MrQSf~lsVV3GY#5(Ev(7EVLKh16xz>_?9MGoj$UX!((evVmY?FEC!-bq%6D z;Q)dWHi0ny|6?F{_6nNWo;MPlw8bX?0{&luf~7ZFDjaW1Bf)4-NcBqaFUNxK^59s< z{t8%d$7i#>(QsT;7KJJXlA*n>y5tp$nsEyEY?D*WSn-A_(ilR3g2*%{A^M9BG}us} zpbrZvE+e>g;K7N(h{J*hrv(||4Wn9zMY7@GWIrG`gElO>j3UYQ>KGiM6HQw4?pzU| zNN|sYMXIT=MH{AGt=}hQK*DLYM*JZ^{sM82p-N0z9RSgZ?Vg=F40aSY^kjuPOn%gP z=%BE$2pT7CDMyKt<5IEQW_HP=eVmg{H3TpWw#sE*BH*mhhDF&y0%daa$Qlnp8>Tug zVmBeCi;Pp^>s%@nrJ_O+<*7FuE1NbdC0IMetU=81$W({`>Yj|-&U#3{Y*BY$hFDuq?Sm{sD z2T#!kBK^vWm5^~EWsztdcG)_{zn@RDi=JQQ_c-c`(Wd)Q=eDZ=gMV-EhI>ukFh8J8 z8-sb4puy33s2I~M%ftleRtRHk`Bj-s@c5z>DnRd}LON-necSo16&V`FaRVa|4PyjE zARt36qeRaF2LKL?%Hs(9%1cH`6hFvT>fREeSZ3jIwV(sXK?maDWH>BnuyttpXGaJm zVZsiyne*)*XMVH|5L8{u?xuFJDn33Sg@r*W{Wh^+R-C2BA=zS-9!DZldK?mZ+50R# z?xForho|qA{GKi7;faRL?-m;LGO^Wi@-!mstUIO>CXERHvceRvwCaw9?6c572HN*c zbtjXtzyp&F!tlPS48bb}bd`Xan9wRZK3Y~~lpNFj2+6@v```Ofu-~f+j(@Y%ghj1_ z;{(rR9f#Ou3I6+NY-b5H?b|R7y9UT66fufQ4O-cxD*ZksS$SU+aei>$-2#cW-52F* z?z4I^sRPVl9~Dch{ZW88$4ZBuv%uI-K_#>BKT0nqVUtDEo$RrD18R&hZtf68J)atF zqXXoOU+sY}+9$+<+2eP+vb9nna$v z7s@4p4@7jnPa7Xlb;hPjv8pm||HLe+XeI3{_<$4{N1UZEoFW4S1`{BxBUNR}OaT$t z%q<`SqfFYt7gi$0ND=8r6l_e5OSB<nOhycyIXl2Nzku<)138d_<7iRqLQ0PJ8F+9aF>{1qo@c>>!40Hpx_^$a zZFvoFUc9LJ1DU8n%tnLhjY@`E)Ak}Wkp>R*F=nZ;D>l460|mB01KhuG$QSixfWW$f z4PX%a(TNL(Ivo_^&_gx^>`&2-Gnv64Rv0jOJ-!oPL%^B!LuS|ph(oZoeE)Tk3FX=p zVub=T&qMZ01h%OTcifO=L9C;Z$WK!D?2r~RTAdCC1S1U_k}qY@oS&&IwDZ}jlqZoDx^c1~8m4=`#geE0&fSmn=Em7}G{lypYx!vQ@#&|neG`($f22)RBK)Meg zI0r)Z=VfPOuK%TVyF;Y=ByQD@Nm&SOPJ3@i5XXob^HABoDEwAyn%Cd8jDnTx%TSUK z4tMT6xfJGj)e+C03OBa+xOQQ(;V)>2Y^okn}RK~Z3mDX?8+k|fm^ z>!(FO7!FLfDX`}fTTG~5AtTRQMz&9&;AF&iLCB6p;{9fMi_q&#_A%)_xxj{kV`;Nv z5r#!iA|m%}=}Dk(fn=}hj3QJNJJ=Z_-$z|b+_!zE#TN!z=b2Dns}m6JSEz{AmT#7* z-SK?#C+3Vdxa+}C;b1z@i1+4CWiK=B2L_S!{cf2|_1wOtQB0rKxXL_DiFHycl9~AH z%is-{C8EhF@e`%L|C!Yl*1B7>H&$o662uJHi&JOS6!I01!}%9oF^e(WwydTw7K05D z%n%jgyLoPj4G=%Oq_ba_J6*{MAy1r>NEFSwQ)c?Xn8I+3Vu95+WfFyZml*hPF|v0w zXNtS7q#O6OBmQvmJf(-DY3bqZhV<~xx=po%DGy)#=O_>FaiJoI9^bU`rX7v7OSWyO zn^Wepm50CLQtj@dXg1qqvER2<2m`XEMT+G< zkl!OHwnQo#ww1ZB+}486AR5JKgjkWJC@xoJR{(T5(8Zh}?^*F-WaPgeV0R-niaW#Q zh9S{m)y&6gcc*$Q|E>V1%B;-7oidQ#w5~)ZYgmwucjOSkhNW-2dBo7zFj~Dp;OIdr z2TMwNNv<2;%(?l(1~?3e-Em6=sD}2Ock{O9*7qkW5st=u-<`sx@=Z~m3n>k!MP0y9 zx)OA}i`e)uQMaFm80f>6mWVsU?jbN@+%mUhMik4KFx=^r4XrAX6N%HA2WWVs{E0i` z?{kS1)4Di`iiH`9Q-f?ly=Q@kU5PzEjGL+^Va{lNEtvwv((5kjbk<6P_$&9%+zH|y()^>4dI zf4gu;ZF6f~Ywls!uFB?BuFWGKE~7beZOe}4x)#rF*J6*a@+Ft6en~KE_!L*m+T23_ zqPm@RTlHMcSbB0b&#zV&XvK@`8rRh|w_H3m2WDmB%z_DeiN+Ey(OiwWuLdr>bm6~^ zb=|2?%+|9s7XR&)wYSv|*S)iEt8W?oT*;p6T=g3tSX6jB9hzG%AMe$tXX_(1mXjkj z@9ag3E-gbj4+P3osIF?rzln1W$F4?hlt8d};o%J^?pYFP5%?)dByy5yL zy+-S+(K`O=#usa}vMV+>*SEAb*0x-{__~FKuACLE+7Frz-`Eg!J+@i%FKBA2Yu3M! zwZBn&I;`b>ap7C8_UCTYuUoC(o}(XeEuSzc-0crMbm7ULxsJc;^ZlK_=^!8|rRqUn z&r}fB(n)(7{3Y{B*Z#ZD6{+r;?Y^q+cD*ReSe6$_&TQBvM?Cz$Z(iQ>pY}6hPI!5Q zYmNQ^kN&&{@4W8=9^bO-dFiVQP>6pfca$E~Sb9F>;c0EB<5b?-3haE_Wo}ovcV@Q! zVNd&qJ&c79d-VC*#`$>AZTtznIA7C0;yL*d+4K<)S>gQ$vQK|8PuA~{JK4`l@AMOQ z1z6nGp-^>uSpS$uADhLp?#U`w?97(@-mp) z$mxbZ?$N7@^ncd$weA=9dP=@p)_JE#zpp^|X)GN+&6g-T5YY5!kv>sl>HGTvSyw;r z^JB9vp11zpiCKD8kv>&p=~C;f-|@7+USAWQB`~+S67F9(@J@U7? zstC3fpZ&bH2fc-5Zdd)TtcG`YdAuR=_WH$|vFzFHVSd`}Iq_27+NVdf#oUM8xAXGp zQEvWnU4iE!J8PI}c(~*ZV`wC?1Z-5%dYcWGVo)l9UvUtT%frGMG0kJ4C9j?w~O_C7sE9G>N$-@I+dc70k_(bf$-RZn^Kn8wmMJxd=yqi;SA6<#ApXH02}J|D3Ns=heq#v8){<^@%^d?MOk^{ta`Uf6fcGw%ez-R_Wi;^lRMu zT{0O28g4;1WGUKd7^gbw|&$DSS8{nQ3QbIw6H<@q+U~GTwxE_`BBf&0{Pqg#d)qs z$lCl(%l-%DYq7wQPkta&5)3bXX%<@$JyrF*oj_w{*B94~i;_g$5z-|cO`+bi3deB?bnvb=r1 zc1@-0u`AKJ_CCE>dpe*!{Rt22`t@p3W#zH**EbckKUR){Gr!_!w$-=m+Z}`Cv2qzC zkCiw7ZZsdc&3d#F?&T{z#Vea@H`KLU?#b7iyn4RIax!1@HF-N3GmT!u2KQZ8AnV3m z1hVGk=PcOJSCr)^KNJd{**D6VYJ0}wz!SN&dQZIOSzDEd=vLcvWAvR~*EarC9&qWm zdi4cb(*n&EY+F|H;sR}9n|s0<&%Qgo!^4MGXnMQ%>FYFfy`Jvzu&y_#8*KNMd}Qaz zU+}9HFfz4{=HD07@R?o?-5=nQJiScs@cLe6Ja3k%XI$2iaaj^@o~h42UXoQ*QQKUS zCA_2UkQ=>v@{* zm)^Yvntsx&kJVUS=S-}tFXHKuS*42r_qNV!YW1xedmN+n)3wGo(WTb=<`kUx=~}+= z=`-}#yn99z>#utGVLL`FG~Rn-^1(MI>$i?&#t@_8Ezo~w8I=>Xvm1N#M+Kd?js*dU z2gdvL9~Q{+%gM%k(ao&E9{jAgj%~hmEWyT>D%+|oZ}v=^v!kWHsjj7ERa1TIi53hD z=?`OO=I@?X4@b0mPCS>_*STh2RW|F!!kpHAs6cOTv)?gC(I@ld9b;Z@RikK2eore_ zBcb0|#iof9WxG8uw<^QZ>S^XpKJ0mIud;U=|9kZDtsXrw%@`fsYQ67?yc3CO`zo^a zEgoYzHBW1cPtzM{=xi=Ww~BZ4bVr`NbE_K54eBat^E(?nJcvOIL|=fdfgd&M^&Xv} zH9BiAf9pL*-SW4IH#d9q=d`{5=F%6tule^t&bDn6{l_^v1a2KPECPS`Y!MG8HmC2& zytM_{ZLvA}p{w*p&z?MV*~I$hlvn#YM>jL&KXDauOuKHLEss{W{ngu<<#&(iJb-*0c$Q z;oM0K#&C`6Yvl z-ngy#_TjsV>o(Tz*xI@{ca&?z$O~s=Y8UsMaEXGf=h_X*VYPkQx%KN?>$f%4Hs4-; zr}pD?pR>^~<-Ql?L$)<-uB+W%UJVv}`nW51>Bb|j!mV{pn_4%AUvg1VqwP5KEp6=9 z!lmmP>ejb5d=qbS;y1@;rJgUd0*%}C?`SL|x7}<+8XH?G*VXT;++M$PTWjU|9qZ~U zi8=fd477M|HKT#jIkhcyoV`B&-!9K;?Vd?HTGZ&~rq||WnGuMZvYEA;-9~`W<+X#5 zI|~_hv_+LEoMrkrLXdy=U$JdRQ)|sfv*WMj=%cKVVN}+X1uZM;8+UB2ZLQnzI{pK* zu;m5qCH|x$w8S`|ECKXZy z{2n`=c>3!e|CO~Zn^(@hL&p@U@w>dOpg0QMciYB|p5fAO=rlI*u7a{icv^Ywh7HYi z)xUAo1#To=tHKOGQ^g0jGY&N_8dhJLefl1+lr?_JVQ4-j-q?P^j8A#pq4=H4@A1l{ zprVY9R!_-hPv16kCb~e=)v{;1%tYHgC!We%JuKT5Yr7bZM(-uryk#shAw5P%4so%p z_e>Y-6M6EEF(qwRgKblO&vp-l2Khu5A_^MxIA*2oYF66rX;x>=O?$h`cY54c*0*TS z2G`eaoy!l|a{0>o#yWjikr7v%^zn$aEZsQK?YjH`?$&#wOn2+90@nNfE&s$_1r)gV z*5v5CqZTf_P2LnQeaZH`gSQksj}6~aVA}AHp@CCi*l$lXk>KhAmkH+$@NAulM z);(O)o6Gc4ymqbc#sXP4?08|8sbw0t!^>k^ND>CO&A2cA?wNogMbQ5a)A^Mq7j56d zf#|(HPjBH3Gfhp$q${A%s#QI;*QHEp>FktU<3)8@RX z!>c5ZgXqFRgYEFL_{*!qL?a*b8YaDqL4=~$c;Cq%x{eRen)r)DFKPStcu89X^}D?K z_q5*cX$P-#`KAD&ZTx+} ztN+o(a{7<1{fX=|A!>g3%(!MOJz?}r$M#)Nuy#{k+o?--0yk z2*dQT*%I8c^46H6Ydw448dD6#N0id_`e7_N)lq$QdHP3WFMhJBM=vy#>v^aBAauMU^jTuB&}d=5rH! zU)20{+qbRXyu51s^4Xq6^KRLJpFFp&xqc@WXlGr^6+71XlJ32ew6*uSr$#Pk^1cSh z2m8TXy{@^osroZ6&w@grlGeKBwUMmStDCp&tY`YuQ`+8?=54)wd)>nOUH-+Z7Oh;+ zJyOfT7UXNL?ZclctYiXit@nJQc>dOH>uR?y)<#a-zO`=lrcKSbXsvZ4-$;cPi2lI7Lq3srx=V ziIenoTE^mP(*HU8z(1#(tTykOj3&|Hix-v7Uf0svT)Vzi`&RL!IXgCPtZS}3;wt8? zrk47;>SGs|2Ft5A)^2U7>;BNBoLIPW-wZER1qr>o`taS8rk6E+zM?D{6Fw>S+V^6G z{`rcw&sQv7*L2%_Hw5VkZ%(TCJNJTK{o#sEi(KWJG<=MwV(JSyb*;@WRA^sYLP8U5U`IkTQ!GEN`yg#s<4_vI zddGUn4pDU=6|-i-k8EXZO%JLnX zRrH~=bzFs`r@Lo}2m>-m+=EJJR$r|hA2OjSipk&JB2+H&gGs%`ZxV>*RRe$O^>1d0 z1d^g7+Y(436CE;S@*$1oAf5D>b&HSjYixWh9ZU1IA+4?-91hs@Vw2W!5Z*Fa(o;%j zhj$}Z$+0k58#axb;s|y3cbD?qT>p&z_;5(!FG69y10@Bh9{O)pI`t0eMc|Y!+BD89 zp+8J8kuG{L6Rk=6Oz0M^ z9#?T$Gha5(IokFm^Mm>}?Zh^%>FKOeRdz%ZAN{Ti`T5PVqm|=a@t$Y193?AFwOaE( z<&`31gj7v3<*V8)smbl*{F{kGXv5^LnHJu8L00qI+D1>dD_OHK9B4>-7uRmzuCH68 zZwbdMw8@{EP;`AoU3lHQ!CeU#(!`+U^U7Q;3%AWIj1sIz;=YGA@7xgUos)G4$98SO z>5pWeT-fYeQ-D4W?PBzz;RknSubq(%%PU^}trDek|KN=BFXq4f>v%U4^_zT|rfDTbCurYQ7j^t5zhTc7ihcrg!xZ^4+o_jz=>!F@%m{)$K&!UhbCqCFgmOWu7@7RfG}btiN@MLZ2l z@cMe%-8Fc|YJuDxW!sutDz8|&YRO9dpcXIQK(cZ<3KxkkilGgL(wDTu>pi`Xk7#&f zO!1EG8}N%NeYf50U$Jub;;WzT()OQPFWI5&S*ca7If2@F{>8PeB>Fx+pDw52pSWiJ zVIE&X^^z;~V>Q%=v?o2REcuT$^0H;#sg`+x#q}Z^;h)V*Sq9igtfRyi?EeGT-ei`n z9INRGj?|l_Fr@2P4YCnJ(mhtwx!Tha8HrX;sQl?Iygq7KHP#Qm;nLUo`_}qVJ4o@` zNDHs^>%MVjb;z-rL!Zpv=O4!oasB1-##GS$@_2s`G2w(>S;=tO_40ViV}l&eR4cq& z>*Vn~Sly6%X_XjCaFf9x()iJkUVorKgi5#mDl0QWUcV1#ti3ml8`n&`t zMdovu!+90vDVWyST`5So5=Za2M6a80rb%ntIKdwSvrOqfxs(yP>swPeNw^<-_*jiu zEW$}tv4}{Db8qA3$`FPrYTpHx!`|7Fk-#`m+8GJguD01PL7lT3_pOc?s2AjpAsO3# ziNSTjpx!jwyk|_rv6_Lh^3tlMHO|BU&qZHn?acbI8u+)O7L>Hrf}~U=8HKj4KOPa| z1&ufqc(mNG3G$Z{D1Nom3V36QWDF{ee5sg$7ISiy;v4ICb58rPJHq;fie;B zi0KHsY~ak!-f2egv6{EHX>E)*hyYMbR*d6kZa-GTbEhtrI;9fK(@Fxi3!vQcV){Bp^KJ zPA#M3S}u9rF$1$nhxUW_I~K-7_*nkx~nsVhaI@=)$r~YwnpX5`>6OUW!*T?Glnu zNas9WLXsH*qMONVBQ^c4tRs}+hxs#H*LP?qc4*Dt&MK1}AEjwrz3PmeGv{{g>&*zc zy`pN>(EJGz`;fC^D(h~qgvE`3@gL;(mq-w>tkAnJNSN}b** zkfNA_!$D`UP=VigJ($#6)l!WCn^KoAL7436gzmGxGvf+6!0 z=HNORN)akpaS}ua4^|}3m4tiHu$a8$_Is>0+v=Rf0>!T(Jfii9rD5ZV2C>`sy zimmx1fq06b#=Kq?wWRxU^{L3kP?{!qd0hoBIq{V5ABwTqSi65Imz|#~Cf(3C z+74gt@kschl{K(|fhj zxpq2jW0!!olRxFTetKb{f|1HsAI@%b#x*r-F1Z|!Q39K2Vp_R@3eBv|vOys;(D_n6 zfzIj|vyiz*_p&#?n0|Fc3Q;WV0W02#nSH&yl9sFdV!kVJ#Hw`7NdnwnA4OsXO{5mmTL4j-iu42vA zGSMYy(t~-RNo()SUH9w!+LIMOpGZYx@a?i};-yIfYvHs&2kRUvS}G)3B11;BwET%2 zKlJhFot=(wiKqc7)2`dRLxoE5B*ImH7(PU(H2q-CqHTd=X4^0oFHxl%3P95Rl6GQU zUdLxO0;U;ez$7rS6)=r`#>!jPA`}w~mweuvS~X>kf*Muq6!^U7shVfNy4a^FS>kxH?^$3cB_GL6Hs-%6r0Fs>%UoWN z5OC(NT!eruP4TRvUla{l-m&wIz>x<7fG>SDp6O+~@`n}2qrsST7SA8Q=U)ms_6NKO zkjH9Hj$Y8~YSA0A_F8eGfqu5_@$1J%vYa_K(o17W9MF;CJn`N~OC?x5;%#_hWSNm- z1-aCZ%sKk8QuYi-#E<&sBxywU%}Jz%!ukVMOqIL7ISGHVIL6dN2tmx~3L!V=zGB-3 zrt70JrHd=|qlCncKT7x+)LiRr7l|+RqlE8Em-ojd^=BsauFwwtlax3h-LhMZXvc0^ zOCw6~Od&48-rcC1_tu8>KTSM%lh*d9iO8mE<-Q52j$<;@>l3@TX#8zDSVSM8kEU4F z$9ttz@AWdga$ez;^H-nPr%x1P+@5{-wH#Nx{d4(3wf9{a(m$8~SWEW0?qXMHX5+$Z z-kbRLRa*BZ0Z8=sCdy*C=kHAv_q@V?vO=`O`JB5_C3g+eo z>r~chI%y-)PQK0&`iSAkWpp7Bwtcdpn^B0&FyJW~VGUU+@21+uM*X&IK71dS67S+v z^^@E0Bk?~96IDN%CA6&jP=)?()?;h6_IH_nsU-3}(ZNp!$-B_cn#~uWBrn{Jq7` z%JHviUU+$-?wlDNo5O(-!`W%{aQy}C^b4Af`o#;{(HBrD4aQS}VdM9Z&kMJ+;UQT% zIZITZ7Sit@(=$oym=YWc`3^f zqhI!?pI|&oRvxYDUR|b-cDIjqpLw(jF)!p4=nKDQZ@#w>8T{MQ>1^$U&41;h%2k)dbWTg5 zG-GTw#$)VZ{mn9CIHE(Higcf@=1_av%d!pSTR*DGsd(qCNwV?2az@`FhT#W8#xV4q z0I}|@RU6ePk3HPII>fHV;FDt>t%@z{&Z57gIrRKI9-$y8lWbI@Zt6b$+7LtTII8ff zBBk>=k8FGd*0y%pBl?XY{-+!m5#Cg|%Qc#968S$`MdYv7h8SdM|I!IJ84c70q#T%^ zlrel=cGE)|UZehPAESTtG z2Q8jT#N)neF4b=?16#Pc%=c8Y`usr$lW+A{hLRY^!G@BX-|^_aHhUzYc@_@_MwBY4 zowwr`%Xa<#8!?L}lxh#9huXL!F^60bm4l3J)vSb$P6Xo|{cYP&;X$`9N@ zR^!8~jlpCz8Ck>p*+X1ujVLlap4#q9PjNt+mLF1w5pW8oI!MyE!hpuDBPHi8(3OZsmlI;3bKF1iN zsR>gEcvN_WV+y$>I%a)# zm29(z)W)gCkRmG(40k=FHd-Hi(^PhK4yp3?-MV`!>D=SkvN&1`U0!u1)_BsU8so{G zNQJvcWXp-H(X@4#Ihyd0qFq`g+tQ=yGZ&kqiJv3VeNY}{V<-tF2@{2m`q+6mg&)|@IRFLeq5PTyLG~E zDj8FIl{S%TH+6uzfqN%S^nK1{_~s(!HS=ZHN5BOHJH7l%5!F= zZk-sx?^SJFK?O~y?d7UKZb{eWK$(~5FIUMjuy^ivRI;NoB(^R=DN%@}=Z6#ZPEUKM z=iSPX)C9)(u75I-(fN~!zRD1;Wo0NmIx9nB>f94wcTZGp{oE5}c)BO*2QCpycTX{U zW9jyP;}WLopWbZBU{!{EEf@0=9HFf;#DU?SZ-_RAY2!FV**H1i7VYpYT02)lJ#JY4 z%w|D>Y4w*(t~hlth*GMNtIKGt<1d`s*y*Buyom4(L`OUy}netd;q#%Gu4Gw z^ph5SmAM1R4+s3ItPIf491*0jw6F6NAa+o=LaO0gcEVFh4PY%aU7<~pf@(T%pida@ z{4wF&#vf-HyoJdVnfNB&yvoG>)?uWB!HEz5HPF8~cWZMY44f1GL!eVAw=46G{31ta z+q>@1FD2&YYJm$J%{E}_#;U)ZFRhyl5bz86uAtqo`K;C0nIPbDQS2ND0*=lu`n(AO zy0S}Nbb^52u|U9L8jhhB?gRn%DG>0E+;wl|!~Cyo0AhmTMn#f#;@A081P3ID#jyzQ z{WVv-@vZ#A?K?#}XWs&?c~_1F0-nxa{*4@g7_as2{j|r3x2vTk6tiEVtIN|sGmxgO zMBBB7*V2O&5CFOIVCW!9W0kNpXCep>Z+t`>K%6kpz@ru#7&fBtBlHJJ#ll5zc?c0) zk&V0*oa5STmYxTZ;YgQ#BN7n~q(%X9kZa-3PW?|gI4p$g`u;pth$Z~Qp*&!JLU6Ue zHjV%gX>D}+%}2w&Q=Z6i*iRHQl!tftVXYW69zo$yXYa6vtwm9j>LxW1XN5*) z7wLya;Wr92Vs)!VW~^sMal_4{`@O-daQZoI?6Veddf903+*tI^>Yc^?fYaMYpPZ{vcs>9)jgK5X z&45geB+`TeX#6ggc;RRZ7=3Wgzq`t(jvo2XzHq*m$!q(_?^l0Mo3~<}%eQj|_5XUmlcs_; zB(h58PaGQQTsZzH3aKCUoH&vX()lG%X^hN!65T|7`1p<+JRQTwgZhW#HCL7m0d@YW zL{FBooJp3F$4|0m#QD5=Pnr0O*9>b|H7t#FDwd}HW<{*e6+QZ9g}zTZbR(kbMYSN} zyQsoaQFRBC@t%_vwg>4%JOMjhv9)WxJDp?Nj@!1tVgaz36bBV zBxW*&$lo1p5;D_5TP`SG|dKaQWNZe?sW_y#XzvTwEMm4ov!+n&uT1b!hH*Jrx< zrtv)icKa)k_e?UJ&5VSnKZ&AH3=MMml4;`tS;+X3(U^H;vQZXlrw!4yvlLtXVLAoI z#hHczihyg7Ae&%)nYKsi`87RRF_eEv53d}00C{HH4rU6m7t?D)bEU37mGjyQc;pb4 zNjP0h^2^|N52)Ud{kwV%p(-PKu5m`g(aGW`KAx3UdFkg|I#tI-)D_{5kbcjF9Mkqh zRt}_P{7&`toXfpL)zyy}7(bno{%eEv!@BL!rlnlAEox%fuanmE&ARIiDY=el_4p^ zej);h+-oov>aLwBr-JIUWmU7hg#d_>dX>K6OILzQ@(NUvziKhN!)#fFS~xUYnrtO> ztA!-MU^HI+!x7gY6Bs)4FF8W{`7f8~iLe+@%GOnaO-56F(G>kcX#EpSNr(%UM3Wd; zKP^|`WtFU{g-6LjJs^|Onx<$C5!`btu>2>0+3}oGUG#Yb_4MOi(Rb{jJo#`7xU+3|lE^yI$xAkxP>as4 zMv5Xt0xuFZ54C`p;MK;CAUxhsBpmJ1H_O46+$-1|hWHijD8k+hvS_k@n@8IO0{|h= zG`$kHKo0-5#)5(inG05p)?c0DSZVs4M(Zy(oJZMhfZ}T#KZ~jOy0IwR_aomf)$8#W zS!e6}Wndb7oPlYug5qa^X}1u46+Ut>@ZDRiwqH5b;lS5NvePLmF~_=~8p+bWB#AaO zELoM`95ZF~d%Pyy_X`nI;WN?O5p3i5n-u|CKBBQ3^6kFGuue$7Qau1!*Tx-b8K&S3 zgVSU+ee?(85$KXHi5{x-eB>ad{<;@QRFDp<3z#b^**iTPFt4o+TM$1PuU%{Ut_vnSyGHoCM3zOCEkEISWNSrib#xf`xCs2l){Ez;zSsWrf z&H*a02dDrD*@gzTHqZVIH+Lx`gHS|omzWvBPWZ?H9l_eZF&ux4Dt$e8o!q&!Iu7Z_ zXV~}!hYZ5xq*DC7r6!Y;E?I^^I807MN!7udQ4PTovG&IfIv=1|8Y3lV`sK$s`Dd({>jzy6`}ZTfg(dU z1p{gQx^UZ>N8$S4X|eG6X$NS*ViADz0>4Zs_~Bi7CEDNST#vaJAO?#8$Vo+*brmO* zKe52arx@fJ`OEVM9k@TNk;xCUIz;!!J|zM>{qmzf&!IMMO;QX2)Zs8c!qE|C+lXYevtbo6 zXfUta5P@x=&6;Hc8k7wPr(O@IXefgStl_p&etmV#V_S3DzB+?>n65HiH>}~Ho?SV5 zxJK}FkoPf*4WQbK>lNza6(4FEf$pD}eZu08X#OO&DcrU2Dz=LuXi$bAY3En{(NHoP z=^VG5Ek>)bChS1cm)wdSU^xt8Pr4Y5ZRU4QF~Ah0qSRA#&hpDf%M_ehW|#smCL|iT ze5cITj?K%=ZomjQ`uw#5^|SH6mofbxl0>!D?iWTM?H_n)9V!hTQ0_8XN00~z?A&gC zvSkOl_sZU8e+O>$bK3p}8bBtCZi&gKEGpa!p_LUCG_lggPZNNAi0(9~SDqsYd9sXZZNQC)Tn<+6FY3HsE!Fl&~)+ zjt!6`E;it#>hORKXjmoC_8av4O{ku~52*0ufvH|H_fdUp70-Ix15+ikA8UmN3~-Jz zrhio>_Ip(&_WQYhdLk!MzRAUg=lT1&ob`z?bhjNZLI#$}+0%hxO&t-q1^Q!#^viNgQIexs%+3~^A z=$@=bu=W1?mR)c=?Vj-aps# zOM-@Y;Hy^|Hik$v5_PRAay|0>DZT&p{|E(p;Z#?##lS9c-8d8qp8GTq_{bxZb8Q0l zGm3!y!Vm;(3-l(==ug1j1Oa&B8lx`jeR5uUIFC_!m|Gzcj z91N!32jVQ1dU0g;snm;jXeV+u$oZPn`QB72c4wyparWZoL=h%~;1$XQoqK_o<2L5( z2Xc-@J4=1%1vw{d$hi<4ESZdS-jJOEId?(HAvOvb{)u7~BvPqh=e60Hm@|`^a#v_W zRmhJ9BLoV|V6bzVg6EG%aalUw9NEw|rXK^3AV_&PaPa(z1ZwPm0p9%GVYoWSRfB8V zH{#(8gq;6*nBhUu+8a18J}Bng{gYwuA90qiE?IP2aq61?X~;Qni}&1^^ODC$(5v7) zVdu5$YLyQ@xnS7FYP&Amfl&cd>lINj=fx$}idrPPXm`9kjnGq&;ObvLObNq;7T4LHZ0p+4j= z)hbYcU%Wn4#g*T-NBM1;m~#@3&y@`PG~M~qFU2>IJEi~nX}G;I8*hXlS~A@Yr4|l&BRtXXP^XT$IHR+X7Ll{=Q*XSTL20YL*vbdRVeI4 zoCzkADgEc84a8YQrxwkz9mcZ*&TfcUVAbMx0UewRZSGHJ$O$C_yJi7G&xXji90sf0bGrff+=+ zoc(|qq_J2ip6V*NoYyAOT)xmP71QTNnmM?X7Blp2hHQR+z9BvC#~Deaq?7l#VP@*O ze4TmV%o1|m9CT_c4|3-x$B;%gl)JX0W+2Tk4 zVF3+=*Rm>kWBQ8$3zJV~qXjgKHrqW?1(S-!I!_7OI$)!hWKZ08x8KB!Ey!871j9i) zDx(>Av-QC_saVnJ;taGotru=#%?E*s(1YjXgF?+Q*)mKZ24DOZ`ioHvEf~W?OU*W8 zLtzXYH3Zho4Fi(vsVn#1;MqfeF`Q`5k*3c%fMzOReWMD}#>qmOx#rHOrk|?V@mX|D z#2`H=FasUNNYP7u`kNIDkX;W>rRF)L|0rYz=L$(Qfd*CZp>Sr^Rm}IjvHFigJoL02 zle5k%><2U0NVCEx6w(Z|Q1Y`9i%7?#aOq<6G#C#XXcl^l0W?diF@Y~niyIk_AF z-av`#Qu7QJ;w*RrP3cYz0eCa^!1oWE_5V;(41iD@xoO@^ex%@e1I}%0lBGNmwDx5#50?qv zJpFQ4gyxdhoEvfO3zKyenF#t1V+}0CdDmBGfcyD=Oy{r8xAF!5F)-(Fjif7{k;Eg# z2Ht2i66zWun6Y61QjhSsk6O+PQjc!bBm%$9lkQ^<%vlFw{AN#8L%Md zoj}d^OZPD;w;-V(=^Cp(+p+;)Tw>S&N--!VC|27{6VUz9CB}pwCoqdZ2Z(loK672> zc3c-LZbLdb6*ITmXmhOAjK$#e$CVXGAFHJ9>tRppsr!nyLQ6S0-O6J;YjZb%z&A2 z><>2Y18gR{cr-ajx4>p(=Zjp^jUtB!rm{7z|IlFsEVTJ3%_nWFITRM15~WDi_WQXU zlhom!7)dl@5rqyOz^ROo-!aJ40xr*;)6KXh(TM7l<-)U~aOQ)o(05qLVYS^GrO&wU z=PUKubC?Ns-AlW0&ahJY9Gl5W8#n&dQe*DN!J|xHe{Ho1GL!l=c4peQcXo)yNTuNQ zl4BIIbiDUdjua!`t#<>^3oGWV0PvMujmm zA=?u^GrSk1pUQ5<&tZ#$-z-nXfFvWm8W;QQ6rFMV0!>y4z}D+*zvBSBhK)4`|#W8-kXG5Pfqmo92`Z(WXstl9E3?{-Z;Xl0PLH zAwyDBDTC5%Ak4_BQDMN3O$Dlh(j4khLTsQBF+7D@4Mk|A z3?>PsnSVGbXGNGrjV=5)XEaX=k;_fSVsYjL8()T~7Wo_F%S#UD7Q$s85?-!-s-hvs zkn9}c?K9}iu|y0+I-EQQomsGD`bwv< zvXw=Le@rpn;OO#RTH2evJB<$+PIf? z`r2uxGlWa#&~gAB#%+0Ms)aH)zc8to0ZAJTVb|j9ygyPi^>T;-{{g>N@FlUZ=(R6Ou+ zlIZ8e00Sf<`0wnvGVY*X1V57o{Mm+X6QJYoERf+X)~(i+^Ixz_6XafOwlUS7%6g#YY?P$?a=$f$`WS)u$)=S zMS?dGr=%TeJXnP*3xzph3p>#ZlinzS=SC@H`Q0b^)d}Rz1ucuD+2@K)JRxNR%TSmR zaU}5W0#MkZ00l_Q01CWy9?&v$=O9{lNdzarU{T}MznFipHG6G!HujHreeV{*myM>D z(3lMd^qa2UH)UOD%#l=I1V8~TXjUb{1fpIh6t-OlW)xE%5P}BS`R;tVG>FWRnugQ) zhz5mp+LtRt!Hwh7-LIFq16!sfA{6W{Sg_j!rhWG5CYp4Scoy%Yf<68MTN3ru-CS%YU5W)${Pg=TAsUMSHVg|89|mGT*`a0 z423Lnkbx|-!k1=M-}G!*<;5Wg=_6tQ%N@S);0eC#MzKqpzqZB6VW!&OX_`7do_z}b z+7`uMd$S@Z99jDXk6uzG6y`T70ww4k;Lhq-CYYJqN~)xT(hC-N3tq@^*J|JcBCN;D zcNB%~ow;sm63K2NL(={Z^fi6jbz!xEu=7l`sd_o zuo3!4OfDb-Q|vF-?qID+rct1Cm1z_ZS)>ci`I!~w7s8RXEt_7@3Hql zJi#4d`s!2pTF~SE*KT~a%~+G?0MIdF8e!q9MRe$F2Hrg6%wKZxY-`##zDncUVfG&^ zpGc`oVAdSN98tPLc)~T+YKLoQ1{knF48g8T=JB3gyTZT%MrNleF;T?IEMDnj;)v-c zZ&|^}l+xnfC4D8!^w)Ftfh1QWPd@VtJI(`1hP%uU5KgtP()bH;`7pEoS7)HQ91j(R zJsnOM*^mPH!UAK`Cz)P!#m$mZ1UWNPiu(Ohz#_G(5z;S#hu37n$S+*StWWrcP*~FU zk*RwfFtTJ5<3{8rKr&^faVScd0zTe^lCi&P4N4Gg>l5Ak>tv%f^QYr55nN9Cu2U_D z(>v%JR0*#38D;F6C*XSi#Y zc^_vbFH7Ax7a~9x;(Cmn%_v<&{=ma{#7%s)1>z z$hC9Tbz{2zl>L&~NUo)&pA?3YPDU9*A*104fhIZ>mNG>6V%Oz@+#(i{R>-Jc==z{R z9X@wIL?`k*=aVj|li|q!66!oBPrGp_E$a7$I5(|j%1(vO3OV!4%_f7Yo!F{1J(*Q3 zg3`%I*dt}2Z5FaYSVdzOM;w&_FZTf_M219{(PE`yHUnMm-JNTz%R3?QCJ z?$EsDnBj*gLQ@c8dZ=^uu=hh;#xe0D7#oRq4gi*=g-OcrPK30KY;P>s*)p;puDlPo zBnh?I@=>G-LL9-4!J%c7wtNIxP-GE#7CTqCGqGhFt($&FBtk)O=cqpiS?+R{WyMmA zkh7!8NDha?15xEu6zYa3(fV_6ttMc7M+Z%#vi5LxWjYe z6?8J%zU%?=Nr70t;Im4O{nhAXBx)86rIT^GL{F8nyqzkA^AcfAuo~VnNMY9wYq(~B zO2(;*P#@4#!e)rIQ;8f!gw|JAVpSsZVbPvn4z80SoMkC2v(e-iClSH;Ci&e61Up1B zZXUUg;@4R3LsMamiQA&o*WMG6jN{@P2KC8RHfMnH{lG5*mYYZC9w&1kgS32fa+NFj z?r*1vzXxNCWMJS2!;Mg%muLVwk8RlI(8s`2#G$jA&Pa!ew&yLPa>^OLH+*PFeGI%m znk+;0VSk}m;{Z}L<_P^8IxTsO4-O&11`xm(oZ^cxy}_uktSltJ>I85Yr!QoCggAX# zwjLQJ6jc1bA6s?LD6oBD5K# zR|QhUjWY>%HHqw+_`v`QfJOFQnqczV{S+|>F+iZD*iYb-TXSa)mvT4`>f`SKN*X25 zZiLYEu-Y5iN=%1lW}E>xNL4`}5T{4J1SN*i{?pN5sxT}*T*(tj6GXd6-uWAG7)!-Kcp(81VN4` z_B5in;QQ{flZGHaAadg>Squ=l(W!-jl0aGuV})p8?E2aaWS*e2$HJZC7ju|^$g!G+ zxAK9UWAUz74S)g*Qdr&?o^{u#Yvr>oNMZ3+tcoT^f}Vk0#j;Is=UbRUy3EK=#v4IvsBUaFQ3Yd_{I3rU&Xn)v zQ4;w(HrL-|7-&B{i z;ibGO%Rn^wC8hJpQ3jgK3g6r?(?)eSuA=&j<_7J@R7uSUWSkPz7B)JF%8d$5PL=kh zAgJ-2*d}S?r_1)O)lS@?bzD1)Bcveu|D*0*;G-z-_3@d_ZFkuWn%glK>S5<0=20MXFq4eE1!=(n94jh*fcC5ukwmg;Q6Lx_?`b57!?6?sxb}_4v@+gmvQ) z0!{#%SqLxT=7yM=lQoI>35msE?^}cnqo0;|#+wO9K7e|pPw#{#C^-oKJE7@`N6^Gj z-+>>HNK#Yg?FN#7&y0ZtDX3xW!0RVLkv$k||9+*4BLvwLgAB&zWH>S^86=>}M~;{t zXj}_Aj@-d}pgX3a`67gNlI!T@JEqYWH12ABw4n33S|$+;e{2sll|$(b;!p%}`i2f@ zV8?)C;bm6Bz05Ey#M0Bm`5UlgVkCq4>18Kr6e1WwLqYan9g!vxN_KK6ecoJ{bpF1Q(Hw~=WTpd#@GiRu^5 z2?9xm2ohfYwvFoE2>hFqbf%c$AHtmL)Tke#`XSC55=aOQLENidyXWEwiu#*ZL^iL$ zY$<>>z{nK!mr&HlBSd|EqvNlL`t6%n6hQvPjnIhN(TyVx^1u%RN`Kkc97`Kle6oL# zm{O{vg$VjW0LdFZ<%Rf#7n_9m1ri+yAo0o}m_U%w^mqMj4z>~#845@!9D;XdY)!HG z0pWFDZ=)CIA>aQ9(O~&10m+#829%>21SIRNDG2eeEEDBJn2&}+T|d4W8>7WTL~yQF zosF&*R7T@^Qsys4>_<F!rSojtqNylECOADI||O>{mwQQ`nEbfi8jpMR;J`R7Au^J?=vTLntAkgvgbU z_CpED6Y@H48BhBOUNTlhX})s((s8Sx%V`-0^V z^}~xE(WWI`jVtUR+qqnh;0SF}VlMN9ohg(}oYIkG(VxP@KJrc_+lshPT}g(i2=*r{ zgEPgb#svG;P897an0%P=2AFstQ>Eq=gXr9(oqjg2TsfB6)l^{dm!5;R0}3yiv$A)v=Lu@Qx0emExPgE7pT7lrP{eVSVq z;-)zN*r;ztbC~knM4grFg;1Uv3IQD_(>^kjEQKERzoYGqsLxf2jErPb#S4R!7!CWz z3L-9uSVl6z#~@9(*zLS6265ku-0}llZh3dw+Ou44xn9td z2|@lK!%k|;XhF)5LLDEF^2OQYV$1JmRK1@8O2ti`cSfa_(Ff~soKH*2OeW!rpvXH2 zK!!9mib$Q)F9;z2OcPr+NOD0G9`NZ;2FEdzV*%uBFYL9#fexU`Mycif^lLv?{ZVAc!o6=QX%w(1~?LZo{>4Qp*^qcoIdBcF^U8FG(VbOlr%-lZv9qlXLcc z{i15ik%BxakhkMsAbc@4uKO+dV7Y;A zfvLGNqJ1^-zEFM+dk1DG8*yYejBIoqS+J9n;>e`7jQ%IU$T9Tfe5&DbTf6i^q)!?< zIW-&}NO(D31Ouwe1SpRh0l@>K3dVI=)z`vu1%27EG8i0E?kD~cu?;lJ7)-)|AaGmH zR-}LAxQWzFK%fMkwc*bq`E9mBChcX?!4NEE(8tg*>Fghm-8oH}NNu~cO8T>=D4^Vr zuH;~h^aWTZn8&|AnDQv3ft;r-SOFIRl&LqF@>vpVCU}tNgUBpJ3I>|;Me$^?l5OZ{ z^tVk{sbx?~6C7odu}IEQCT9;n6zX+)8JIRaNmP|D1^|_nDz|;dAtr2~>n0ld88-YWc#jG9(j|0tOcYm4PEea1kN|kjtR&mg5Id z1ramw7+CpOJcxjdn|+S!t`XpTX`nI{yj`q-V--M^kzsO}7kqO}_Y+9Uq<#^OQNI8& zmRh0cR5?lEqR28XGwAg@a;M{sK>GmR!)r5BdYce9s z2~@S#-{vTvOJj43RerKt=O?#;;kKQ@*g|t9d0Ve!+p|)@2phfL+liW5ku4;L!li zu!brJ(2@kOJPb2c+-kl2iYm37Ai*pLI`UTmhfRv`u>@BWONQV?2U1F@^9COL*Z78_)owBj^)4tH9Y&f|F#BC5J^pgln-uR zL5e}xD=DDtqb;`OX8qRE~UclZRF z+y*q6L;%)JB$5`;WK=uWMZ0709*Jl&7>;OVc#Z2S158Hw3;|qJ0#t`Des&W4~6q$w$e+W_4O^w9_DR|l8IZ;S~ z1F`$j$KrMAB}f`F0Iho15mG#+D&$id*pBsNNU{y$@m@Bb!Xe=bXVkhJ;R*>*GQeZh zurPeq+X=M*l#EFmKn$Ia#-U`Rm?pquD!qP0Ul4%`UVWG*R&r7(+3SZC{&PIOVkq#( zbUO17K%LHRV{s9>Cv2M5=w!joao6BV{F z#C!eaW3Xg^C>%?s3u4GR<4X%9+1QPO9*iK1w9=`dQNN%E7MMPdn)ryE_H)^5} zXR6Vjt6Ok1xs{@VOUa+sxppefOTfw7M^~aJ;=d;2355GSpe0`jPtNv$RE7)muZ4$& z&Y~ND3hcdcG_@iOP(MVJPX)M#QWiJq1%pzA`R`7)L+ip5?0VgbjiP!O!Q3yvuAi?q zpalJ1M_n_Kk#T-ngx4yEc8m}R|4oarQ7;{`a##SxDf1IjCakSAYRh)^eZFWBl_g1kd=4CLI zL-)d82di~OEz~0i(dJv29=kCM1gxyR0@_@nqKCjbJ&t8u9|_xa9QnR$v3q>5M{nekr+`{&Y7GWDo~h@h~(%sQ)#rSE+E={>d!#yO~wl2715_ zQRq`UPn*QP(kkR_M%z|Bayc>^PTgwgAw5OT6$k8VZBJzkxD z>`$y5qBM2_+7(*m5K}oXqCKJwqCI{De0;qDB_Y_8ax%JYIk)6es)l9~(fPBLvRu?h z-_sZ&7{3!rhP?d*MY`Yf29c*s`*0#p@dSFHiXn+vl$z)+6bP($snDJxinlf_J^} zasF)XdU1I4|AD(6S25-s>M$Bs<$IE;7!#fh72{lA_@4$MAEg2D*fS>Z-f&TI$qVq0 z$8!EL2^}C(aqO6*7u&IOj7DG*0y24L#No$9B%lm_LIAT*OzC3OEdl~QraG3F85zh> z@%8&hy>n3pa`4}a9`9Oh&Giv4$RBdt0)?&AeVTYO5=4V|@{}sQRQxaT>LX!`51mk7$B8rhai7Ls`21B;?$2*b01*3u`(7Yg~T$C$)3**gwN}1 z{i+>(wb>{-mhWtFUPlgn$*9M`iTmD;CU)pj4Wf07Ca9bahV*Ozh`8^RTWD6o4ap9> zER5=2(j&yfRFGu&fiyceBE-#YU0kvROLYb$)hjrbxsEkD{^BAAZWd^JU_)CZ? zW1`__T^e}-=_{unlafVPH{$~?j7C2!3d3uv5G+*d^Yl2KuH)|g_K1Tm}o~A2_~8y;s}9oXY*og zjZ)DdT_J=qA=eq~N?A`YtU?IgZ!Hk3Wu%WBfNU?uYTB-X2$&>kLn3-NLt*7zg+PMn z4y;z|O2&LU+|}r$ZCuLY0K}wxF6A#F0U{iI6T+MUw@Z0(96`p0SI{WPX5izFJ2<%+ zTXhftBxIpy@%5;l1%1J&#L}yXzGkdwnidc;K@7qZ*5wV$bER;rbvY0nVj*8Z(?YP2 zagagNq6eB5?Uw#GGrCZE2n9VLfPGlmx!Tg9jF5tky`^}MD3-uAE!KwfTPG1xY)0-C z9h~0fu1r7^xT?jzKNO?P=1ki&PBYW4Lt_ zZusdjJIBEZL`Mq;5vMr^nIw@gsu``Al1f>Sc5xXo_5dTNdV^)?72@^AllaROAxIvX zlrh-``G}B5Mv=ugBSS|N!Z83cZYiCMtZQ0e_7PHkez{g=#FrH6y=@u_jb{edwIFQc z_teNv7;-2ELlz$-j+h4JVkI<>6VpC{`VnS#Msy*WxCNS<(4K;KXeCcR17{dx1{b#= zU}V~MRPD|+P}Ppcy>HE?>w;JCqVPgeZ3|4CF~6j}fiD={m^9rCBY;eVebTd_!3Wnz z_`+iOWYUE!1t0Ml{sy=*KD_0e<;}fYyN?S zBWuM}w0SwcZNtl8C>TK2g1$O#67R4UZ1)!A0z~HCs+un={NV#-6*-r}NruFTKPqOV zQ<4EoBB|+mc@c&rK}nWek%um4uwmUN_mLO73q{$k7iqf~03ePWWDB$&6gTWL#L+YW za9>uoOa+o9pYrO}U8~pPX|+rUc29`CyiAM$Xr_R`Qs;gAr8N}!rDYfbh>IM8ydZBC zr8iaw0EWsSuLat}A=HwnP^fJzEU<~*P?|6K-Ad!Nn4Qs9T_2ybkWV1+L)Sc@+z^Z< zA$LC%BW8sD(>NY7w?xMa5`wHTk>Saj>I*xjB_fAt%b?}wxF0K`{slDhMbyXc zaT@uY*V01*+acty9XC_05OWhBu@@3G^27O5D|91$NtljcZ)!UM0~vJ=eFg%7d>hIE zq4qa20jAP?1VxZX)HZ;2M0|~bEODKC&4$(NhRMR;XCa6|xRiWYan!P)3X!5-C|IOw zucRLHp=^844Y*w~)xmtjpGZVT)Q9^F&?GV0paw@69kChXDSTk6fp=MH&`0L%Vh9tV z10K@>y|Xa@sWe^4=%DslG&ZtP$Ov-@cpHOZHltik_VkzMyC;eL_^zTo? zoQ#NUCX2)TG6J3fCi@w*=0!~vai7z8DeimqxQ{xa*^erz=E9d;6<;GGgMN&AY|a(* zVetl-GQd6Lz|v^ZP!q-1naET$4ESoV6Ehk_{6I{^PfA6m&f0u(DI_R)t=5XiuZ%LkdhIV>(qd$5s|4u1hhEFOUp+ZD8!q+XePYQPDfx<&^RAZucEjX6xiG_ zCvR9m#OG6h_A6z{?v$?lQB?3s21tE?LHc4EWG0ilW@58StU@6@`+)NXkXm5>-e$26Eu@=}ekdy`RJfElY^<+$BRcMQ(EPT+L33nz+B;&Hyk>r3IEsL0)Hgx31 zv5=#4RC^Fg-M%C^GV)Gs9*e0Q0N{TRNbba>7JW3lERGp1R5Q>J9PFB$n_$3a;6{UI z3{!*TJY-J{4|z(?zS}R#Lnf7EfRO(ZH48A2=Z_dj&BE*Dcrr1OLA1C;KsiPx`JW9b zx8`TU*T|2H)ip|M96fm)of_y~J`c82fvr}#mQ2uNM<>Of*1hk%Vn_U1@Imj%Ij?$1xEIBs&gNK?< zLPiE+#EA#Sm(Rj|?;dkUA3yRssw87>tMwi6Z*cNdB4V z2FMd(6lk8U=ZP0lwLs51I^5_TdBSMWJxhu$$EsS;6qP+rr2?WK2aSDf10c)jROS|P z-{Ari$QyyD3dVAbphaIoBIyVE@upc&fhjZjOcKcuSdQWd24EREsNlK9;0Vwk4+$KB zxGN;gtfn*?qMqVB@Su&E26YyjL5rD*V8k!0sXkaq%-rlUvTV~>vbRi2Q zY?v~R_3yusj0IX^i{NpMk|p|U(e0fnI+|@k*vvuVg42yPnJjuaECNQ>dYVsr!x*&U zTbf%BOoo+}JK$5U%Y^AJwhIIyau&Tv?Bh9tiY5gVS4O7+K$!AK_iyKj;k=AmjFjGa zC=BE1D1wkrRAZPc0e*o!VCPQ=B8WoBki+0SW7w@L<4AN0TQv+>tP+3#i=$xIqqX#e z1|RTMGC%^T0dUy>A3)Jk-v~Su^r8d=J88b8CEM4K_xDG(fmG=zydv z5`hE6YP{rv>|UrKV?}FUZUv@*K^@P)VGqg`o=_{m11}_+{x{$OVy`^CTditB@d~dW zWf?cFkl#D>o&>~z^Ni6wF)(%jx%0j=#TZkFd-r zG%N-C?(*sF%lIyf)^rQh00)dVI4WtV0fWi~=aYeDOnm+JX?O#IiJ_UK6Unf%AQ?k_ zLXgkUx$L1{iMxGtKGeDF=`Ae9xPf*6qN{0e0Wf9Jxs03FM(vsG;8GP51bVD$^(J-F z!!UunaN^B~q@>e>M_k5JXD0LJWm3Nk>FSpl7@*1ocLJ^v0je=11uFHC0q2xRKI65{ zzma4G(Tsmv8wVN03m-!*C2Gg&VO~`WGHL%Zbu7aQFgg;Ts(N#!J`&LBBuF2deQ=Q) z#1Yvz!3uuz^aF==*-L-~;D!66pxiR{5#V{NeTuE9)ubs9K5%KqVM^--@5mXfl*DtgS-?hn8q7i?xaL%}h|im^24 zrY(@WCxs$!8|3cY|C`ca59$oy(^F+ofW%NW4(0ufe!7#oRE5yH7onaSKJ-u@TNvE` zhhp4a+bbb>d=!x$mB3KQ?|5Jg=c#_qBf@QpKy`h_g*8}04*H=`kR|9Ey_p{w;6zKQ* za5f0(y3Da&;Co}T&OUMA9@6Q>hSo%!dK|r&Fkv)Ek(e;%7ImaV>Z?#y8?(-Ei%qRa$hgC=T+LlEWRpLb$cC31Y>p2ua`zd#~*6y^V0+gmFL8lya! zqd;{JdEstOoIvL9W%xeDxPyL@WaU6ENGLM?+osV88QV#4La}ikxjnKi6qr;YCPaFj znSo%LPzyvhPe@FV9otIL61lxE1{~&+70JE}%a_K6Zbe_8H|T5H(XieVm<6d4XDu#O8j>ljUou2EYsh-$jW#5(p}04XL{J@-Ja zdOpm~{7GE(lJbtpRL}1N#|AviUn6m=`?blw5hTOf7_j*N1xvlv)&kx$3UMAU9MiQ) z9ITIwq~ntBWTc{fRGZKJONhrykD`eiSCUb)B02Av9aU6IJrM9?bjCs9MGixw)XgQozlsVK=+-g*LV<936?ygDlZBX$pj5x*U! zAcH`me2ze3&IurAGy}|Q1c{+jp_7nFqYN^5KA@kJ0Ai+(&e?%fDoz+U$e5bC+ceQ* zkuwr&88Q&OR$N%$0$UQ~w!|;ofWD6U8;52SkP;>l|iUZU}r4 zN#SDo!rBy&CBpzNXs%b7l`WSG(s3I;UNV6SPYgH=4!I5q;0g$T7I6x+vE83bUk%V< zq9BW`l&s}yhmS4a)?D9I+uXdOseb=emw`4Giw>gz>)11av&kUjiNh~WJSKP;($(xi z&f?-E14AA;0P`5>qvUZuGfxMH{n6|;3GbMsDZDY#6wtsAh%c9TW;#kSAdG;L?$)W| z-2f!eq3YLS0Ems<%5bmeid_UlA@xb3c}x=^P4Sq6#I7ic5a`Vq2arJ1J4R=_^5GJ6 zQQ^5B(9IfGM4(OK2aNw2fCOL22Qb9zZ~K#}%OiKUq|^aRKsvr@Mf(LQ$EQ7EC3iTW z1QI|*%QJ@(T9;I0`~7ZYd7Z<__)dos@YTGqNC%3aU(^}nn#W#RgwY&Y$M#?l4m~7T zVMG!%rZGu#I;yUXx6JEZq>j|k-3&M$&83EA%(qoAf!(_Zt3ZnFZuApVF_$)SsGx9% zwY%M*dg*~m7Ke+q9RL?^P<4(Wh8^~H{m(`^SO*d`*F17C>%M|hgEb7|3)*pkFnD#A zp>&)MAl!Q`9>xO*1G(3J@4j zGzftNj|El?og*}1|78q@8?JMNQ^M;fLI?&vG1(sdh%___8}x%NEN*E6iW5Kt0*b@V zpE`61A&>|m04F|Cwh(B+`E6W-BH$c5P6H5dIt%FI5?%sonV5dZ_NG8M*2g}!s`$Yo z?aN7q9}ul9fHr`Ie69}kz%LB)XzUvZJ%EB>`}M_S)(3w)el~i0asqfjv@(y+VV;VC z3gb8*2)?b#Xc|58PC$G)Y^Kryl!;KS285%_Q3Mj<1EWhG!agMXSRZLi#C4nC+Yu!? zBX$6GEsS&!_UmX;T13AUuqq)6ln4_8FATvIm3~`<_s=)0dvo9;vHT|m_xv(ISJ{rV zM7beqCh-|VJG$+^Un%fmFrSLGGr@WSgP590Ahjtd!~_oqbP{npj5F~S|E!3@IzF(* zB9?s4`*-1qfl0)Y+p(hX^a%OH?^98`_|*&|5~HlMHm+!xNpiT zu0x@1Ck`>+fl7qvX@D<`p$d2iJew;tfY^(qS6NsT%OQ>)409sLB*zIEyRO1%#?gn( z7-i|?d2nxUToHIx%AZ?b8>xw`+sM}DvX`Ztm$SFkL|STF(vC{IN+K(yjad&Dlx(i8 zY2Fs8ZMN)|7Fv{&S0$-_k;{}hR%)(J%eF75-Co35_PZ!5}I>`ey&g`!i~rSyyg&YEAer@@{#JHPrjisUWpnqi(_yOTLhVp-~>D%79} z$1M1N-|X}kzhOt@8TrOwX$`yC!d{fYO7FkfqAXd3hf1vjDh}t;hA@|mrRVb&%*xx~ zf0JHajNzhn3OwR^r>3x5EN!<~kQv=#VRPiVIheb*;*a~t9GQK=a{3Fj=?fN&WBU)J zoV_QV)^DUwvL7qGlTO~4A$fL5bw#-TgKigSd4bmYVO>+?v+Wi@W@T+2_9a*uny{>W zrd0Bu+mvx)kZIKKy8j@(_$AuI^JNPwbF$ZDR&74gVaa=}pz|gR+iPWtjHO+Xm7w#0 zLuNiF8zp1u|EiVN`S1JUFw^+i>pmG}Vx>+tPR7#3*ZV)V^p`sKjWx4JZEcU*XlsRh zy40!sE%k7P%pS3weuO`{Sw8Sc%GsAKct-p>`}y;I-?4U=I>DuOvp>yX58G;b*+Vw* z19ah+D0TK(=x?Od2|ff~`$c&VRNa@DrTSf_hEH}`(5Z;()_7Sgdv;qe0PeP&d^NrL z@ZeUz`KWm(9v&WI#$TM5;|1^b3J?=;Y0(p6*(`VA%)XgU5BYV2m3_EkA{jmOa!N6< zdD<6~HT=&n4?4Bo7CN=vmZsenl=4}jlf5eUz6v{MoLke8tl{PLRSTD-;PwBOigZrRq<;#nsZaaCqPHO|Q9 z;j2(wQ23kqacceg$||W~?w013MKzmirm*}s-^Ne%=8&z)X58|Mw@E6dmNDazEW zZLIb5OVYZksS;w1eM@A0ZKV8B3Ez9g^Y%um(|{qU`j%8X?`5BHqttxuLcVOk=PRUrpHGEC^**gou%u45r5#RPu%*6Owk_>V34AXj zK9rf=fza6#(g_Q|^}wN*p7cnhYnIpR_1v9rr zBDGEHc23W-R9j8#i&k+lw+|AdLhoRiea^~8%2>`|1uaiJR6OZ4l{-vFhnrAr!yu>) z8GG`HKfc#?@(-4(U^*h-%0ZH^_o{R}C6+UEYqsK#m+nvPStjn!A0kkxkpnAqf8Js3 z+H13WFn@Q6oy}$FXTVPSExOl6x9DD5(_R~?-eHq=i>};lQR>Y3wUNabfp<Y=3h&xEDAgV6-IdOsv$Z{ELu`7^CIWwJx{~S+Qrv&ucKUhR^1Mxr z`@gZ!x`_MF+W?V!aEY9F%BpyWZGYZYfNCw&-azlCy`Hz(%0T60FWA^n6PB)_=&}g| zia%;KDMuBG{4dymkL*?|u=lMN_L9t2nxDi)3JOihrV-i;Ar`es+`bA4YkSnS9 zf?oM`#aJpZ#^wCviky;{$2w9&)LsKtCr)$hBZ?#OU#}6~7cFTrH z&DM=w_0gk{5nHSvj_KQo7jm$HbTbIokQ#W{g#s_ z3MJ3J`RVL-Tifk6+Ky4`M4|G8?Qn&>Xq)-q4%>@!Wp=&o@Iv{pLq2?)1?y}TAAGU$ zWZ|g|*0v`Lp@r;b=X0>FzKv})Txw4i(xvufVdTRce2ZJOD=lbVy4;exJW{j1wt2cG zgEiS$hK%KOhO9K%Ix#kEwuxM=|7s|{X&0HpG&=(VNBvF{u5S$W=k^T|BXZ9$_%$yEc*7_Iq=dpKeC(Er>H>D%Jd>h&8WcEATp24{c>&PSrL(Y$$dvDCa z_r|at@SftSh|S7A)KZa?@H!jT_bY4Xj$xSa1RNvm?3Y$r-W?;NNjG8&_P|fPV_0Oz zFiZnCmFl_3(uifE0S#?A*^IOV(771I@OMv(1xK`4PQH*{H8@4`x0aaqm8Recu^{fX z9kNP(ih9~}YSjCBIz1z@k`{hzZOZ6rLBbJat4pzI)F|4n2fP-ZleAbOc*6i~(bA>5 z|H(PgXko#L;-2Z|>-|rspA1giR}ApSB9=3=<<`JN)?m?>zD7!|54We&GduV#-oVeJ zCZn^#f~(U7YIVN@Ta`msuzCx_4VPo;#NT>LpPBwP;mM5__JZ8;9}-(=UilkG>Xt2| z>?d%vJ4hXOeEh)QJ)7vH{pJ17q*q&0TK(nh(0sPpvL_vCfRwzM3(MTC&EwhA^V<-H z?t@3N<(RlxH>G2pRq?Z1#LuoGqi2yN6*GUno8ujYcHpPhfxnCRsV%ZJEuu92>9Op` za_^62v@+vnmG3ZbYo5-Y87txq{yLr++l6@Z>{vD4tg_O&7H`JRYhG5rd0S&mOYQno zxHp~~D}MGazTW?~5X4|O=gYcKG$mhl)68DYxzmQ1dnX4!b_dUmo4#i2-(sPUaG8vydn>K? zKbwB?8G7GR58GaV2&Sm_Q)@odK{7HIdt3^GT+tTTwxbn90?{q^(&sGayefIG# zY(k=r?fR96<8X6qwM6jb>L!e{`*;?ybi2hox4v0^K6_nFv` z(+X0F<}2$)nWgCmFy#Jih&trnYQ=j0e`K7zl}t&R3fQgIJ)A+SAM*-0Owe~ zZQZ8Y7FK6v78%PY7TGamWml%mA_Xj8#?rsqO6%f6$TnrKtZCdXiX0+_vuqHf$xLcB^gAk>%`WirQmNw$4NJTiI4AANahD zWvv8Cc<_#tvm#X2sG%CqpWJQj&RU5E(aV;L(5!s43>UH%oN?(v{>RHwS02qYIa615 z|4Djrj}5NtE_SPpy)O5@E+3q0wl~!@?riRkSc*4Ta%b&qs@Yt>j&<2swk($NZd*sL z%onjKnR6WLJPqNk{V!4j(-#BdGqrD~|$T`Vv9UAYuK z_k>-XVfR!DFjFiiKgc*ae}UxN_u^po*PK&j7IrR&E~^E2j{SY2y7XGrJK=B!>$R$P zLNC9pzGd#{wPvIAKu!d>lzXj+O+W^3h@Lu*#;NyOBfZwL-Wy6@k)_4TGZ{Ghjw7yt8>!!p>D~6)=9$~pDj{=6kzBpkJkC2E6E5<$#_R_( ztF@7urm}BJmU-ELL|SSi)m~Hn;>ecm^_ah~u-p-rZ7n;u)>hst*%z)@uzX&3mYj-t zP=+jR&3rby1YxSB-f~;+oW?C{YZ@2ISrfN5*3Q_lA%fwxr8eumusdtYqJtxJlc*}$s6P~KCE;(^oO)>P=7@Ges_rR;kXP?)eSFI`1CkE++!uL`fB6Dk&jjx zA1>-G)E^=pW%I52L${eNh(0R(a*nX}S3>E6i;W^QTRwi)yCc}*>~8)_pnB9WS%oePTF!cvuV1+uYGMGPA1v5VBi zUQ0RfTGUNCvTF=XF^`U4kUwK>b4#RVU5oruZc+KRy1Lp($uTJxPc=2y*Onb0pYJLx ztE*{juI>JOQL5ilvTrgsTxZ>7M{h5hRM2#HF}16LKZ<#^a-^8uUEF$i@xrxDH_U-> zLU80Cii*Etp4ZDBF7AwFT#S1qwYDYlO0isU_B|RS}8V;G1~(RIUxOLBt3gAmDfPn2(mwD*4DhEPbqK3G!|t#YFWHL z6Dtq`qFxU-2F|NFSr{d}tx*O=QY#UE-+tAidJhcifZmfX5H;z53mo)HcRQt%y))*# z`~M>@Fwi^-2J1a}(m$08?8OB9AK(H<#fpRQMwQ16Bv#zCMn*CnR`IpTGqc z3d8}3Gy%MbDiA~cI29a-XVhz)WFrD~u(=bdG_K`-T)e?V*@yxz8v(16pfW5S7XuoY z4bl+tujfaghw{b%Zd?J3oh zQ*gxxLIIR`mydZ}_|{z`dC&hWwHssDU!|(c6P)Yr7|^+HS#sw(XNt2&b*__B@_uY| zu6va`*Dd-9T49x^tud+*4|40eo6^?)Iiu!u;igpbIm0NkIko>U8C-rC@={QV?tGo( zhyR>0acfiKEZDl$lq_4ZaNm`3>Q=BA_nfv6U>ny!bkzT}I^5kt>*CYQeq3m|q@)-*kAMTQeJ*VR1O%;k6 zke2gqTX@CTa-JV8tZ7-d(Q&us^h_BJxPiAMX>HnFmMWf81s;+De#=BHDW}AEWQkR@ z1_eTvY+gXwn)zV)Z=}M7maNyzsF^4!Y0}oLpO(EY&t6(J*6i4%Nb_dgj(jV%ex1Bi zs%bLG)j27cZ=eXYK4%8eTan)+(pxtU8up-6Soeqp>6fT*RQ@)%YMrbp>+VaB%f#s6 zYbpB-saQkEl-HC4uiWIR*!JtQj=8c}gyae*73})DB^T5$v>toeQ0Ja1OS?A}uG)^Cdf0JS+o>-N&nd%?anqZIa(jWO$7necvk!+1LV&$7LX1^y zZ;Zfq0bXMOElU^%cD(@?IOMxMnZq%tQA21#I@I^(2wnZ)j{@5CL7pR;5jh{rNBR?+ z5jAXa444n0W0lNegUE;|8389Ly%?zov2G{9ZB3E5A>jT7>0L~2POD=Zf1odpekKH{%RO>F30hvh;wrv9PM@oQTAa?Nt2%gi3_0{8q1Onz; zpf71m*Vq&&q>E%xH&n<6emZ-~OW7Jp>;^we3WOjM@`E}>KMHc7=BT~hCFMXM3whY> zZpvnm0>R!~qrAdVEqMxrtjF#T;!uC^mzoHBBy|5rx;}Mv;U^EHsC9E8;h@&=9_8fvmI7w*I7t32<4R44e z;vCySbA$3QB)>*-mm?@7uF}2?4A;ji4)6|b;;kO9IKM@1JzfE6CodRI%ZB4BX**uQ zoe7Uuz?l2U?N=zrE3(nDh~~=9+poY8y&yRquW0(p74TIHV~uU{?Azoy^z>{Px8o6D zO#J1G@Kx)<>%kX?O`P!L_LPR>6&M4KSF{TwwZCdR3rf@RiqmMs+!5&C5#Zdf9RWdV z+7V!FGoRd?+S)b~9T(ugcKsy-FY@H)Qd!CD?X5EioT$bBt~ECPD+CI;Y7ryUV=A9fYaCd#t2MB zlpn2SB_+6e5OB#oYQ|_>aB7z*4!cT*c&y~1DdXAz+-Ta?2B3|JAbt7@ToA2m1Nf= z2&HhKV=s+09wS;n;e&}eAD0otwGS06Sfyj7h5B68xY!?zX3`Sjr)e#VRasb|zTM4v8V zZxZACp~)B}!A-_kuxbXK4sRJjG$cZ&IAjl2#7PU$&$c!+Q|c$&D_f2~sE z9bMl2Idt+hJpKhkVaJJKMC!z+=kYFrC>BDpgj;u$r}tv8bV&Abtd%dqcQJMWYg#m@pau`qZ8zTZrp>0 zWE&mm0hjXMnej1?(rO$LAM^Ofc1xCp@+AgE;_}%gg5!KWfb?ue`#vb{1@{<{sNE zpFtsJ@mxo38ve4g6?I)RK_K~4MQSM6dyT34E9LA@6|`I@$1ks>P%K?Amn2yOCR$lA zxBEc{;EVnWOV@(AAQHK_*Kfv%JwLOy?{|<>$IYv-S2UU~m`l<0cvk=MEVvMZFn>IY za@pfq?2Gx7%O0~~cSO^DU&;qjAVdTTuF(@_Vnm0Ld@g~E|ssEiD^AICM%*r@JJGX6Flbi(%T zi(#y?5jK)7K2?Cx7>_U-<1ZW4&qje}TwZ)SUq11>R4LH*tqf?m29&vO_N|O3n^V?y z=SuFWn=4oTZIn_{dwRayy@6(^>~EuJ5u@|pM$zb8Y(HI0n$-Bi{qKtH?4glQZc1&v zcZkgol%Tt41Lgtd$i^+~$^tAs?`N>04Y(#xV&o0No9Eo+xC$G_50=)m?~DfV_u#{F z_lOOG3|#iG3`v79dt;-$tgr>$z7NY-_T%r|F<2pvFn~ljvfk^5%tL$S3gz=7%?n#L zk2;ur?X{z?z1EeM?yBWgnMo+Cpe&pD9)o*M)$@gv z-#MuxHpHHpa1`mtGZPw+j)d5|+f+#ofUjZYtA!w3H$1dR+Rm;{!9pFaZo#i67afqU z;eB%-@pLwL*kdx568yd1j+GOS$!4%Y90BW|$K>{n9>-wPyUEF9ugGU#kr~t=UXlA= zk!^4T3Ofdk*n^6frwtn(qNNk><6{%u?B1b0MRGe<M-`x@7iAs$6dSY-XYl`7hGI|UD9G~?FAL= z=ffk57h!z;Mj`H65c+LlD6fdk;(qi$%>GayZb#@ehrQir%W$Z^?G4(-+4>~v-8rp@ zHtsFNy>|#V;pg1qCR9#B%BQo2Z{&Bm|KaW`H+B{G9v$;Useehg2@Z+sod*$65UPO7 z(?)*NjoZhrLIab00-ET&ccSwJ3vGM^>}7e%BW$%B|D#h4)1k1ZOUl7EO8B2BB}Yh$D; z7RO3e==9L#98m);G?w}+Prnr5inS1~s7xUIa)N1da}3*;NV9JAB$Lvs7sWH=Wl4mV zJzfd;B=&?U@k~!N=rL4~eMlPD`H^6Sa9U z9YG08CxQ_iYiX526x3FHa$7=#%JvaWdCinZeFm7XHd1)@t8)GW zn>;T|(~X#4J<*i~>NjG`L<4tPKz{|%qB}Ru=*2MG?GR{15sfgxA#gcLLQ&YS-@H%Uo$*aI~;R#i$mE?BW4rMgDL z1?%q{D9BEIUqX<@(iFgm6%2%q422?evKno+sL@V!XXqu`s=>13-SqJ}W)x}>n-Aoe zw-?B}yykpZ#{|*g?b`LZjILTal3`xB7O3U13;+hcyki+9wgKAW3nyEfW|^F;t*5mb z?H4T38tvLITFkhOs7i}~!K<|P=9VoHUZ!1V6=mAG1A{QV)JnANor4-u2FIa|dPVkY znN*R57d)oHU`Wq!0)0FgEy;p)4Ef8CQxTqpnc^A@(t-aOBxXrTDzY>))9= z_wb^v5d#&sSE0JB^Ltr!*V3qsQ9(duFPIv#vT{`sZnSRqVVLk?m>}{cYqp-=BuAbx z@!Begm%Ow>=R+Fb+i^bOo+;TV4#c+x_ z90~-m!}2k&VoWp#!=7%iR)di% zE|1ATS>qrvFhU6hhMAo&flOKV$Us$?&TI^nOEEfrbG#TavvC!oVAOd{3hLU(Rn?Sq zKQ6!^8=k4Q`r(z`!A>Nr7?62F>OtHO=z{^=vH{F=UY1GQwOG&oQ^ER)S9m0F+&mPK zo;LGLbkak(z3@OJqED21zLu~2x`ZaCe<{%?rswQpV(KYexGHgCI^VR&?kaq*6cf{* zxM*TJ(pCJ{Fg`Jr{M7|60`|;zvH40$Sufr%hC$LWa!j;( zV$hF9$;7dr$|tB8QTZfRK6*~^1(-z^coUcL|j0(If*@ls;KINPeu8K5G#Z3+ixhhqJbi^vm8Sw~nM*Iy|^@ppV6QLSaeYYxdZ$>WEI`B&Pj;)7y ze>wNFxIbg*6;+bw{G(yD$NY*ahDA&tuc)Hwqc_~|4P%xBwRbPqB89F|b;Xm7sk;tL zCT&*b7mGS~F2=pJb8$D+NLN=hWo}3Fqk*@3`+V#qrf2>~@NE_? zRVQe^pvTwMG9ORvTudOy&c!rE8@E&pIIw>7I6tsphK9+&ti}#d0t2|>^7*@mua<&s-=9poU>^IX?7`mxtC-EA*4Z;T7r&2oy!&A`%!fHEw4xf;g{nU3Ij&6l`wN;DiUA47ivbBM(4>TE;TJ6@k7bas2&#I3=B4Q! z*I3#!sTL19_a=i1wGbu^<@bjGgyQ}VRAYBQVaxre<;>13vG}A z@G6%Vi!o{6xKtdTrzu4PF6HW^ymHa^O-N>FwuLTU9)a@{h9oGA;Gml{VP*_Xn!*Tl zpH%J~s`=1?@v^#!bjP8Z4?R-7I-)C#K!}tpj6jyu?k52qWl%)8Wjxq>R zYqB8>f~1?|Bb#K@?}>Rhi3GJN2!u(3RU1TbN{LdXP{twi;SZ>o-HKrchKVG+K@~TY zskl@r=}`xCJ!&$)rFp@yGQb;nfFsUSVInb*(nu>t89*;!U>2;SZwmf}(BW8rU9|Kh zO#k9aPq1orL826&1L7l5?GqH9l4+IVX3Sd$P4IRomEzS~4T{vs#6~b92&tOU&?)`1 z#wO%)9VE1h-+b97AzjP$sBx)vG}EcXIanpLD}+!=i1m%3y`PHJqfRC>VuJvMo82)Q zySKu+5a*7ega2SjrA9zTw1ZiMXvv4)Rw~N7jAH}7ow%Yr(h!8-AUj9jr8F0Ywu!EV zs8XG%*hE~`MzoQorG`E7JwkDWCnB#y%aRfij0|}FXifgNIjG5#mK5fw&uk?YD%RaD zU2_D+g)rW5ch^j%9}R=SrWFx-3hlaFaHJQe16MA`V1P#$4EQ~dzoHnAgP}$ZwkTJL z)f@|f;`st)zZ|?0GWQ|ZSy7w+FNriTu!x~RxDNQj{XPr@E~r-d_)vh#Dr^f;ns1(u zhQ_=#HSMTVLEs8FqOYRKSAkLCg=H87PGSVWTr=DS4@11B2GHF%PmTYWg@n6CDA=a! zjUZZM2;dMM{rnC;sXtQqq>Gvsj-z$ z?Eqn7Ur|wTqm1QMWFKaNhV9+1#bQ?s4>q?KqZ8Xmn>Fh~3^aTcAn8U=zzfsftuf{U zTJ*PhQD0Ifm8h?-sY;>JfK?$q(m5O}P2ZB?TxbS6irz)&N?`?2A4}tkR`@)4XbTJo zoGHq$lwI7t5aIsjtTPUAqBnbaP&k*5XH!#GMn`j5R3js7X-OBFkMf@ip0x#<%J!ne45esw+ zL(V(UEDY_gfEO43tE9?D4u&|W+ZP4gH7^1K?*MKDQo!*}o;DxB4+EnD@irhEXoduW zdT=-S)gcK`F4Z+x2a{Q-0+xLyHJT1|yQR}_8-j6Z^FV_|86v@b5GoK_7bis5%A z0Mh~rj=`mUp`0DLDq!uoOxmj9)EqejjT4BM0WzK^72%f}(Rd z6rF*Rb0EBOoNS+oCaywUFypR_S8Hxsh2+g0IQB!65MtgSpV}Zto-*ZAM+8-NF_(Xe zt0Sw{db^iP+CO8SqTxPi>_v}UBYNj}AAZ$*6ehQ1dt61ZoieHqQ(B9S!M1HtIo z#Fof=xK}WSfx2f6Z3Mg0PP_oo0N1e>h`@o{W{Z4kiwuNPaJJEL5dfW!5-}5$XPctW4(qoi{A3H`%RVfVKu~=0P!*f0m z*NdXfyZA(LlRV6r;0TK6)m8%_gT_zo$ETLJr*3P;s~*McdG+}o(mRMup;&}1__#Rd zcdf|xjBlRATTyqOz%UQlL!a&{gf9c5yZE?ZsRZK*^2RBk4gL@?k+KqKfDzyC@8K?r z0s+1(wW&sq{3zW{7_e9A%$JA?->`Xja#idx4@+x+wz(El1DJ{h7oP2iDTZ`Wm*to{ zEvqJFXY=N-!m6VwtxXlH^4A z>=fr-L4-ddr8r+P65)??nH03C8`ZEM;57K%X=~4BC_l3of2Rm{yX$;G%9#%` zs2R-50IkHRVzrUZc@_VUJo%Y<+d8c8ri|pU6godO1 z-|*A?Tol<*|F02QPcKUS0kL}Q5!jR>8}o!h9goNjKN>y&4gO~u4L+o2MA<$!E(A{p zH~~M%<7|toQW&2Tn=xBOQiO$A_GqAjVDv-j4fhQLO#5jnk|Qt&^wh{6hRC|7bDF*3 ztMQ(R@Pj4t1?IomNUfmzNK)804UIv{q2`2LsMhNX0F59a>`hLe+KEPzLKoy_On0)U zhaijM+zhjrNK+e?+fOps*X9_Y^IkyrZU*f({%#-vx>c)>I3et_FU#E>W~I-^rsVWZ z$?5(2MZFRuQ*xZw`%4yP$8-qn%sD*^B%|!a4uPzk*bV_J#G@!j3uNcSbO?;g$$Cxk zWY{oTiUt8ku2Pkn?UJFRxmwl>wdSQ{$m%Ak#li>HTrEQ?nsx%BvVPaC^YK5y#Aw8TKDTdqC@b z7IOe;>)vrJb42?!mOYsxkeLQ5<`fLj9PoY~GD9rq0T6hU)BskAmVxI^7Ymr6Va1@h zavgiG*xgSS9h5abz`d&;7zbh=CNjfHDKC3q9BiktjsPlhM#&BSqIu?)^%$k}PRWlr za_|wfNs08RjL8)U=0~&0U1Leq{TgWYCpigdHnCR0LVaa2A%Z{;V0@*ej`6(!A>Iq{ zZOS0qzU{N2m(8nsoqXGe4*ggtyQyFxC>!@@P#I2UPXPOnM@}GTD1i(#d~Q^(+6usa zFsIMZ34jzb8}%%*-PW2R*?CQ@6^#J57hVL(ChkAK)6S#8^VVrF z!|^$;R=*59gjOu!Jxk;cp77w9I7bw~)TtQR(GLqO29UJ@ki`g(-35c^iA*7BD%G^V zmy?Q0$}N?20Dx()F?qoO_!LG(Q&4{XYz2cFA}!S8NT9UApbEK513>}%k)R;2F#ys) z5W~VS8;scA8!C}9Ak`#|?5txd2*iQ_2Lqj~?0F6_}yEEC`Vq_m=aQOQwI&Y9+ z8&;r5DTo5ZutPA~Jg_ZcN9lJgln}#;X0>p_dy7QiSgoJ3Y10<_eUJx4gx}4+?MX&?xp@1+4#UOhO9cMrm zL!mR`w601y1TGXNxo&-QwISeym5;4NtHn+#?$G_#0L*1yWSpQ^@7$_;vbUd3+VyA{8=opLLz{m`%Vx|H#Jw*}c2bHYL32Y8x zT)L2o^##G^9@t>{L*R86j@PkffJg&i&A7Z2aGCW%BoS*yUCVy6+Elg=qXxy_tvhJc z0MhLC^`0({7C&_#EXU1JC2N4d;QazM#$+2fGs0ZCCf01gnSmMrs?f}^QiDEa;WkVq za8Chs@F!KX#uN_-!d?zE09^Ki23iQHnI=zoDBedKV(|F|a6pqdt;>N*oL*(vPDFZ9 z@Vv07HI+5PGhWok1tgdF4aGZXV6zcv0JLBWq7KA9B$aB63pk)fYjFq80B9F6G`7P5 ztZc_m)PWUHGd{#cm96R9J;NIi(Bu$I#F`KAc^8I)+xSp$+cfkb5%u>!bMT80;*2+e z*tR|rBt@LT1VL>VzdE$86A@?hrx+a&K_*4aewzS9TFLwmsM<{y-|p~TT}iX0B*M7WCH9L1!DS%BovN`D4*2G(6~0c1K}>~bUaq^ z=E6$cV~(2(@yq}c*VrNuXB?gn&jMJmqH1_=h8p?-I0wtpb1xBarWn0|dWze`Lo|5CtSj@zLplJgDk`_J`U;>s+y>-C=IUwlR^OU*3 zDLD2_g8&!=0k6`M8IL}z;{Zusd%{7VtJ9Q5Z=s>j2;)NX8dgIee z3j38xB^G&WhCB8V|S$pZ!u-|z$Hx730*7dG6(D@*M zWq01rTspf2+3gqsup&kPfjax?34uBXuHQarIocO#AoyRv&S+KvUe3aEF%poSLCE7c zScG?p_GcJiXSAy+L#)xEAQpGtccz%y;bOdV>_POQhS(p9apmsoUyyl^+ zqt6%=K(=usjm;{<$U|d16-oki+7MD)vH@+OgH3SrdFs=wK4ly?S|EJ;$aSu9fq{{_sBql0Nc70HLk~{J9ADGdh<8 z;AH|%C3Kh5Mu9lH5<0Hq@MljV{ydiB&nP}%{H2_uUKRi}(TCs}d_nvf3?h_b;^F6f zvJVVGO(5+a%+y*{^f_|aMA)$rh#d%i=2@5SNdeOf6ka&~OfxvxqiVz?LaO87XY`+| z@H6#y6Z{-?B_cD#0pMqRE%>JO86C!OxTyOuq;DnI8*@5j!bTMM!Vok{$hcuW0Q4Wr zr12MXJP7ab+m%pvBmRsxHlojn4roZ%%#O)s+xV^*!k#h6!>&}XW%_WVByJ)_TW*F72exG%svMV8vFA^7W3XpC388tEUpu8h=Y^2xs_&&LU6u|b?(Fk< z-O5mFGTgc65n1`oXp#3EMc#t|0!GiJ;m*`4g9XhpU_JO9f3YJMiou;p+r{9*2tv76 zxu06>V{vCpnRt3c9czdXJ`Z^?CLqsI4@SEe92cMR6(`b|c;N-fcPge~bLHAqIo?>)9kR8KBPuUWGc51i?bfBnL*IIi?6LLSzUyj1tN~@10Rb z!=)k6zyzv-pftg65w|bEhIl2uqmbA0^?g4RU!m~h#t7*6<|I5sN($rwpU|kUAmCdA z$qf)R$X_7qeU}>%a_He=7&I!ZIG~8rE(n4~%{{O%3Opo(pb_hyHxVV6NYha)HW>nq zj0Ht-jOmY4CP4WM7>$~09%df`M+eO8r(!U-MrgG7jYyG!L(l-y z^=t*{i4Da8AAu)4Sz!i3GSW_BlIN@eAZL)t4bxs1q;Xy&d^rk2!-iM~p*{QL>;TYs zkGE^fe0pgPJ?wlF1x>z2{izWD^L5RqtvU|PUS5VF_XPS=gZS4ar(vT`eM?21gx7e{ z>jWYw^m)4OQs}ic^x?`Bfj$7R_PCVCb7CQA+EY|g{YaLS@2?}6fIo+)0YUFwCN=|K z=o;F&*-6_t0{tX9oxI(A6+>nK?M=ubLXM^z<8WxLQfv0YOVmC~eR&;-?jT#oI3QZN z;yQYp1V_bIpwLt%VAkbl357oT*ClN~TZTvFJ1%FzWpRbiPk7<84+;^y`>}oga+ExA z^brH=*#>J#pQCg=#uY@B%n|l7)VE#ODcXpm@t#kC_e@rg`bd(1L`(h?|2->es7SIR zpC^hK87lhO?G#$6xQ9DkBRm6xX4n6J)V&LQ6y>=;KC`*)hRv`n$r3_lk<5Om*$fDS+-%LGeBJ zFlcskvHJNM>`c8B6BdbHiUd0oWs04xR{3o(x_ky8X;rMm#hpWb`)?`R$E`oUpqq#b zPNZlE?Zjm`ll~%ZntlK%kO9&BPy;;%AvvQ6$!$-~7qMI!$Q_EaKx&bK7dWC7bBt;7?L=}gU*`zBE~8kXK@^)*CT zxB6U%2URd#{3k~I>LX1a@e>G4c%a=+L;`u~F1i?){ScZfs=LGNYoD)2qj(~~!UDya zo*<&YM`s;5_im2_V8 zRRqx)ABZK|rL7`JFmm@HTyuq%h zwz&q(85IjIXP2RGE(w0P*{92e!3W#fV_!I(@Mg{AH^bP2;KTJ8FigE&e_Kvh%&q;n z(||)%bFX~$76gsJnz2#Enla7rHJ%kj(BG9B5>{;~$!DHj=XWj#@^T53Jrs5Q-n zzRaw`Xd~bCFwGKJz>tQj1@f-cToIqFnR&@a9OnUsoOq+(`+W!kn1-2heG)5MQaY(qdX3de@ z)DUKjbt_eQ!wk~o0`qT#m$d_Qc$u&!_{q+eePc+a2>fO=0pv$e++r~QFnIrx#&*l6 zcr#rvZQABgC1nTv{}63~C0`9XoJ0EHKJ((9&k`Psqh1k(Et8A|#1n*y#c1g(0&C_i z>(q{5Ky+0mF-N8$WU=$IP;@NuSKc6xLRY$51P~2rcQ=6OUH0HLGQ%+HdVd0d#;4^~wW-f}d|?7bY! z>>mg-iy~E&d4xdhJx03E5ttb<^JQV?-~gC8hhSzX?f3#pRx;*e4QOr##Ol8+&U^|% zxStQq2+tXQpum|iZzIUTpcUNRfjF}stWgmwG6F$CawfhIN1z4Pi&ukCoGE0(^cG-+ zR18h{ax}|$XnYxfGEhy(eQO~cVb?}reK3TX#yJo*kKi8BtPb8puLez1;(B|uCitn? z37(>55C%9I{7GO%fM+nZi?3wZ@gED6V zWk!L3%i*>R$!`YA49&Y3dNVXblv^|7!OTQ&_KLukvg;n?Af4`xxx+pOyV);LX5`$V zfEQG5pVA(KGIs-I_KUcebg599;g?$ng3N&k$n5n(FbMw8K#(~Y@rock9CUU3%`yOC zM%^I!H*k&sdxz|ohQmAhG6d(2m!XyK)G=m6)lK8$LCjIE8pIep13_jGoFzBhsxJmI zgXBE!3qj23LJ`T49~}3&3C@+D4FxY_s@j$@cjX<>)b{}g@BM;>}}#Dw2Ur9lUlZAy6TlhfnnFkcn9WF|&Wo_sG+4PGpW-p1%76qd9l9V;{|%@*9k09SO6?KhGB9?T{T_+Q&F_Tz)>EQ z+zfA$g3H|{6gC1_fQw^vCQ&N+&|0-^>vN`4sGAPxP9>oV&|wNOwA~V9Hn(sqRZu|? zf(>LguxYE;gRSjmch8|C04+FsMi;?*AZ25q3UMK2su+h0L^CzY1e-N!azG04NX?*} zg5RVv+3uV}-vb~@oyistP$q!`Tmzi|kis@Ciq`<;L-=KbI+u+gWjB&c@K5k45v%|e z8BGBLKFa`7GklaqKNT(X9b0x(I=&g#`TNXL??XVKGC zLJg5aD|T>pR?&7b#m;&Z5tc?}EZlgDVA$jQCDjwYnX61J0}h3+%)uF*%~kNx)qJN@Ox&(*+VD>Sd%onF3;V+#8*`MFTvgPo1w@e#0? zfs5kf|*O2eUiXQREbh#74?#7NEaZGn9n6MKwR_tdJaqhaZQzK=d87ZJlJ8A3U$>C zbesZ(n(ChkRA|%AfmuMSnC`>g8fndp`Y!vg(*&Y`dTE3J14wH}P_J@&ra+TvEjeNu)wFDCnO&A~Bm_zrA6rz{?L<_-SGex0y zGO-J`--eDQ zBLGF)1fQs2Ap*0P-P)+00(Mz2A5mrtzV@F}FVz#H$qZgA`}>Xb0D<0w-&lma{079Q z>qs&^4FH}$rk#;mz{N~bp9h*$@H|9wmr+Ga@p}V)0r50|iYz`H7Qco{S15bv(X)pr zUIC(t8TYmVOz8w9`+6#DbkQhasabDDip$+OY%bm)`f|_nhW-V>jj6PpQM5I7nFQmLQl8nA#bJb?-Nd=)U@_{=3 z%R(EawJ`R_VD+JX#H~KWBHi|ba|lm19IFv*(9X`|>O7Bb-w`Ysyc)bDs}JHb?)5(T zVC{OS%c7qR_7Zj z!;ckwbHm0mVfbs;qc{~x{HK1TZ<^4@3; z41eu<67c&|z7#n7r+jvR${yPeOyOde=cs#4%YiBAsL9Sn7$* zQsSg~^mA%#h?mrE@SoSJMi9xvTAuTVaR9f23m?JAqX!XMSMv@z;F(aGP>d>qgt0$w z(80RZ{ad@ec=!Nrzr`=A+ly)>tQ(IIDM3sTLL~_U8y%({tWFq04D&$GtK`U|4vrw< zT1_J((wu`}zf~?-b10vq@Ra*b6`6t!jJ<4Fk~*3;X`sr{xJd<ELrvfntd^8T1HROQe> z3|UZ>Lty-)lE*+*-W#R|dPoSFlrns-K`>-+XDAPk;U@%v0U&=qoeUmsYxpsA-;s`p zOw&pJVK5{v5_D8@Nq8} z$haw~;=L5*{R#Qii3s+gdUi_bf1me>M53A`sXN|JseU)UKE}nA4Hr{LJ?G{QqZlN_ zHGEyyTdP5hGHPRVKPppQHFtITK#M|%?N|PijP4lK#|IO~=+ne8A|&PX5J*W*C&9-@ z4dNI?QuYYnha{p=_vH+EQMFb5BcnD3yi?5qLLWR-p4~PAqxIe-hLZ!1OKm_HQ&o7TL&%ut7JO zmqOWyF_rXGtP=!e00ycz43NpV0GW(LPoS@2x~{EeMoA1H0t84XaDz&etH)5@7Q;~P z+df?{akKfMF6wSU#}~v&e_MznJ)**m;8M;{{#2F7=-WA6u+GSFM6|*l=asO43SQ6{ z4g)}B$f*fuld9a1WDKzl#EhUSH(a6-FsQCK$YTH{i0EvBAK z#&~=&AZNg#MlPBUR)e360!BBA-t;4Z9zPsGk54~m(y?Q>kZ3gqr0_%1ToORSx8}qE z2{DDx%3o92cjwUV02m0dRd*i*NkHE%Oj{aoj8Qx!meBIeInU{u6_ zKZ5Q-PIiva3UW?&ZkD0p%!L=^ln5GbW$1`!dZjpTA^%mAybW8#vc#+y@rNp zkiwDUCLK^9#Z5dHTWl&X&C~N*2EIxnBiDeJhAM1l=WPq{j=&S@fG2nW@&h=S?CTv0 zPYBl-X=$L_>>Dd+X;x@qxPf3&7oVNH^A^xdEJozm9Xjt0B_gPFa}qL0Js=^Yh0j0D zgimh&AcabpHQYG-=afW12?iYu)Iq!LA0<&8G(J}Y6Mz*zDr2UF9wHJ7osSU(cRyFc zI6{cAK#o!NV?za=+uiYt;n*%n$izs~&|`q=KKoCKjqov%(yB`Zcx(d{d1ai!2Tm%rySXep~d$D&Vc6C-yMmWlaAF{Y0qAz;s^*Vx}v~iJPrIv$X4OO z@;JK;@Nqk5qp`>3&RKTq4jPfb@Q!<{mQElFps}KH(!fK+!-6-!Ndu1H4z+S248RBv zuflt@3{s@Lanq0APfF6 za0IZ4fg?b5+2t=w-K>++9QIqx6cr@rVLX9@Ox-?ztA*_t-kgN2H}2$=G_cUj=)_?E z)y=SH7$2OJc8I_PBH9|5$kAdLQpo=I8lGDGggSpZ?fsiY=?eV?ZB{h= z7h4~oG#|0j0>;+KI7F4g2t-L?fF%Qf;LpP;8-+Q6vy!R41pvVSS{jVMQo03?t*()T zAHhIkj=>Wsd5BsrU+Y|rlZFAQiA~32BtvG|>T?3A))bKdQyOAnTo9=VMT5!8s%g-{ zpsPpbutw$E5|oUAv_?LJh$%>@Dp$d1`NkZ`#X|pTcpX98#71_qfT0#89vc~bs#HCs z*wmq5R2zU~N*uxuMSr!eWNkUesY#;%^M`}3|8Z^zwMrDFuabR*izmU{b9jch&RB=3 z8Hgc!5Y#-^Kp&19bFovJ<`Cuqa1}SmB!Ur&LXkm*WiRj}c=FJQBWq{SEk7OrGlb&V zuPSi{yy$s<6=F}|OJw-*Gz@@|seU$}if9O1GNQ->sK_m^Whh@sf&h|g@?AO=xdr+c zXeFd1*FbTR?pkn>i)UkK+5d6{-uWD4ao@ zmOmfSzu+)(%T>jw({(9wJ?UR)D01CjGz{5~01L=?2o)-z8w1eP3_oyVfg-~J z3Mt)ogjm?D1IcXc)v*0!_`M;d@03ZSjW}{RuncwaC zpyNx!$DOs5Nb>$QuqH3l!XCPxs**5yP(`$doyx3M$?34+N0iXYck30J#+a zGKvA&*6Czg0U%>`*&3mi-~{jPXqM`R`G=0a^N= z8LCM*c1-z2qt6d!Kl{Z@vNiDey;#+Keq4PVQx6m}*zCGSn(UB#-#+xoXa6lC7TM_i zRoO_=6_ZH1VzIP@q$@nY4LJ8!NLI*K%cM-4G<#=sw?Ma1h&icqY}+7W72mb288K#J zM5;o5Ag5@b+JVpgfK}q++)v4}u*dq*g_!H0)S+Ylc!-4iZsILynR7L&Jini2p;gvd>r{8U-Am z0wC%*_Ig9UMHy>`W~x@V#=GW4r{w5C!92o_~yACZcX( zn6?L1x1a%zNRPbUXJI34UP={}?aW;UA4oBzrAx0EfE?dFC~|yNeB{`X;OJJ7V>uz~1tW6&qCk#+k(3T8;%Maf zVU8T%oK*3C3ZBV=T`F>Hv-W?$wUr^QjB1bYbQ9QcB-T0nT-EM`uJ= z8Ja9en|I!0i3N^{bsQAV4dKSYAe4;0Y9-wG#9+AbuQl8_B%)m8%$1o6EFZ^>A2;B} zXf#9|KFE8C`YW()k~r=7AtP=q#FfuN*#f1~E-xutd@BYs24tr>H>ep_N=Ff&_!a|Z z3<#Gxc4@IMB%IKnjbP*2&kq~Vcd#c_Rb_IkUJ-*s*P=WIGe&%?oew~t+kO?P zjSZAlmb_pcM}Xtm8ND5s2afZyz!C{K_QV3mdxwx$)_~*5Uj#V5b^-y%OX35^Ze%rx zdko-s)WpvP9PjxO!12-{faB$3`!pH>2aeOBa!rkwc3nXb0C|Ewmwmn4|LZ~er?zOw z@kgO-@c4c_Dgqp9eqkKo_)i2J2SR<|5@Zttxi!1cjHkeUd?X%3P;|2kDeGr&6l0O& z-=p_3@eSHOS%{ifvnsu;1pGJu)6aByq)%}*6sEVxvA>vOXJ|}SF1MzWVE}-d#BJEjfQbI%oXdVMD(6lVz zeGXL6w4#F;N=b==2Ix2uGp`XisEq?0fMaKWfb^>1pM!_yi_%gCFNK2#XQ5Ql&Ut9< zAfBO^yoxZ(w)Q#riST{sWz4vwXbu|bC_{OUQ_x~@19ANZ+yK>3W>QpoKb1mhknP^l z&{Oy@;@SsX0(u-E<`4wInBbZi z#Gp1-GMPYPNW;8OSUqvh$g{wQ66Xv|As5_2f5*9bc!xmZS|XiE!EygN6RW@r_Jd`- zhFE8K1=bn<@%2Wi=OC1t?26D0BstJf#v}f{!NT>n@&yk{K zbZ6p?`p|pZ<;2{XO*)rEE=GH%iz#>px(s5O=FHRM^7zAJR^#}8M-ndTTh=qpeqyDh4?&d8Mdw({g{H_7UMYpIy{6r=8){- zZqOB7(Dh?wHxNdkh?!v>aTOyNfstKIZRT{0KxkuX?BYWg@*yhoJIIt0$!tHAFfnqL zQbrC$V|d>WPf=|o1~KOqQYUxpZTX=EoR$ zJ{qPi2r9rpxgm-#93xhNnvW4hm^L?W5fcRA1x_lU(Xxv;3Gf2y$QP+B;dUL+e+Gs( zEIys&IL&!#VTnkr8462a)lnqoV!70hk66a5v;v*Ma)T(CSBpwoVc+pHsS3SudB$zu zoI`~GJTpk^xSY#!jG=_5{A{N9^}sTAvH_XF=(-YoPw!-yoj|CzlJ-3rdZSX2ph`y@ zdMj!_JfeRqr3MYWC48qbmL6LCkED^{$v1Y=GYEhfsaI8!L}cy;>Q$iabqE|K+MmP2 zx*$e8nlY~5X(rT6Sw+RPm^WeauOdbvLDrZ~IMaAQc?rs0T%aV;9mD1$>=e^ayu=`d zlO*n@hm-CeFIgUyXpFA#uFmO;@P&z8=_z_&no&vgfQ|Zr>jgCHLMLND$T}wyr4#0mtoC zHkPB%lMrlJe@}7PQ;e||og(yl?AK3-NfFjizg7fQAgPhwK1w<95qfzEJGBzw6R8wI z3IS5ZBVtu6AXFhH01(^)oeA3rFITC?MxlJktF+w`og#z_qgiUI5(z19bD3luuT2q^ zrDBQz4iV5Rok`H|aw^YGA;{S92^!@XT?5?qyE&N|TlL8R zq+?NP@@*2sCekq_1JLL2hD`dDxamSwtEhTirW9&PT?b5)CWJ4TF6@R}QJbaz<&;jO z3&D1TO3H^N9UCp}V44K%_ZQ;qk@>)wEW{KYnGfFPy;rnkVeh;7W)PbCkPhtS-Bx<1 zfD#-4p##p;UcB%E1JY4fObS}Akme9gyaL^^T)?}2ngT1=0{tR1qw1@RQc31{9-0+k zuz4&%3=$Mev;X9MM-dGCMDwy?-noJW(fPf7h#k0Ue(U{^vI9`$Nu%q+i>T}3$EXIr zU!4-*=3yMY#Cy14$j>rZ_5nFUjPXRwnUk&|m>J`JZq&|3*!bDqvXtnMnqO=G-FH4q zcyW53+RrXZkHXm44lzLhouDGfr+cb2m$2DLbGrpKV80#K^kB5uqHX8e#!7){)~rC?xwx zA(<-Fev`;{$mjGHeF0>yyz^2Jd}zF5!j9ozTn0NHOe5I~WSjUr2I4VkBqNR=l6f3o zBY7ehuRsT1H~}A!V(%A1k0S!fn598e1hXHVL4XWjn)ijlY;{!zO2_9}^+ZWZY2*HH#icu;ZGIYNg3OlB1 z3(~5l$c_4`HRcRwT#|0n6jYtM|bg?!PNv5{@O z)Dg`#rha^Y%+S_G`L(5OD86yofh!UXY-41=!5l>!LuJ@V(yRDYOgp}AP>wNY>M^bh z((1~+W4;jO7|?M#gl)VYXU7NDD9Um7!?JSi2zWqPPJwfbnH<&6?a)Pz<{SrwPlTc? zh*SE#^4;+$#|)Wrl};QCpm+@Z_>6>OfX5gWyy})m#x7UT7y6Q%<4(9qoNOyJ15&v~qa0g{yv{($Wf{l7jm<8EIRl`AII!`Bd|yB6sr6pYEhtMyLM7Pt zQW{`V;0X96clY3gV^jfQ`q8SB&3Fox|5~U{<ieTt+J>X+a2L z!ra4w9E^2*@;Dl?@xFX|r84!%n>Ur_G=K>>83ZmhFd>2;zX|-?*{?ufHG!8V2iJ$uK=e2z<}07 z-~j5P6`Xk-Q^bt!Wq1&AIolcF1-~)vt=>ZnhD@dK*+e}fXrV$Y>cztn4_ZJkKrhQ8 z7BST?Q{GryKXK1Ewm{rDuszclcS@*&*@MjJ78@ObO@YgU3uuGI9Gs^NH)Kd?0pPI} zdUpU_$p0WH+2DQPas-rYOjx7B+s_tL_a(|#`+FW+3!j6iYVmLdjwO58o+RDVz-OwU z0urUJ&VMh)8v;}Skc`LL{yi(+QJH6h)-O}_bC6)5C#W{F<!s>= zp9_G?@!i=fT&)8M&a1Jns##G(K*AwFLm*(?HkCd@aL=$JxM$cCz)*;`pzjiuFMC>s zty5;KBmUW!MV7g41zL<_2u_%)5|6<(wbx#O^F*)&1GWr!4p*{U#-xE(t#96u(4!&C z2Z1bex_g6s3gydV3IQ6T`@@8yo#U??!sUNAF#;86NP-aLLf8h%F`oq|PB@5k+DjVcU_k?itZx zs3f5zA%9vY`wk9OM*{nRwsav##e7oEZmm%DhXUv&*G?HJYOF4_?C}L+i8kx!p+7{% zMWDo>bZTbZ8h|38{k=U1udrF<2*VdsfWv;gSm+N)e#M#6@$5?aP#!VOdbI1c#bUJx z6r6z4v$O*WUk4!}R!Q45JI+^$Cyd}Oh>yckZdthw1vKEmjgC$bM*6%!d&5aJ zl=Q*6B?lxt(2|1;fPI#y_dwAYE1DT^AtTR!PhrR1LD+H0^M4~h)Q#WG%jCITYIZOb zg!7Mc9;`NXy)AXkO2GQ5cO=+s&LD=$%m9}kdr;}fg?uQJ_g%;r=|R#S3Zb-=xmJ)B zN3swlUl1k|mQXX}lrIYOL3f^e_hh?6Y~rRaZpP^VbkEiq#F`x^QF~7C0E3wL_-&+) zPcA*=g*3+;m!#@XKutohL68|lADSTYgmgV{7--s9LWsng0ZKht@0zf-o%q! zZ{iu=)h>6g4fnTn8$jqB^q6uFp)5T2zXvWx4uCWngftdG!VpgcvdJM~L_rw4;uD63g3ajvsyLFh z`4~F4G%JfE2PYEqs0-BPoRQ=sfJTgRGbCEYVHBSMmz}t@@v5rY-8JP+mAIY0=tmsjG?D? ztK@749{frS9!yMPPXrDIYbv1JPvudcL%Y|we zXn>*M*a!q4jRk^1jPPRO{RuT^B45%QX?f4F;NJLTVju+2zVs>I$qL zfdzu0677eWA+XJ+@P2y(XvNyc>$GADHK5_7R!`AWGEZxBgj2;WL=HN0>j3}*>)_AE zfLdgt!0^H@y=;l#2%Tri@9$dcPJX*b>&q#C)OL~;#6 zR4srI(D23Ybu^WroTyiz!hyi-;RJgQfeHgYpfFDFiX_m3wZ-XR;sWqBg2DtI_;gGd zdX^w%$ueeLoB>npu}9@Ppa`SXQe?@O)*6EZ>)-(xpKg}|j#xAh%s702UH~>U+;h7+ z4E$o(0UZXmh1}38jiDEF92k=nz7(a}PDRMLCJkKBL1GuEc*=iXp`r^qzxYaB$I=zB z*YoCgagK&YV-R)G1^|HsjQw5lz+kAxy66hxQjED&>9BRpPuDgR!5FBpx&&j}-?eiU z%RasR-E!Xku4es7O}B_(V34sOGtH`b@d+r#&|A;?6+u4d;(`cN^{dYh(G+6>f_-N- ziZM_FWd!O|(BFmEmjFZnZ|$OHYcvpnuw9L0-14`DaD!Y3r0yU&c0v??xaO@DZE|;z4F8tqk+McFmscck0=*=DCw!f!9LVp!^(Gv#&>by zVB}NSk1{FdLc-4%rBg31KRV%uoRfY3G+k&Ys;m|F8zVMBm~haejCW}_fe+h~WbN?{ zXadG)gy-k^C!ts$n*r0SDPen2f)qf+hbiO2kdi}6 z<`{5_NvBL>6t}D?PWSo1FLB0b4&l3bW~B}lKfSUesskS5YD17NhL)^j&dp@&<1vY; zA*;P~b1ad#XQe=jtq>jb+aJp`stv)|YfAN~ya~9X#D?;2NbPD{DQr8ns&m6L_L9Lj z@PK!yvc*=f8=YJKzLU1;YC~ENJft9;T~~7EuQpNKt{vwOxxAg0QFNRR6+gHcFDdD# zv4;;~?xt>{*lB=LeT>o&Qhrbx@)1=0WvRnmL>&g7+y$i}6qD>n`#YDD4E-*Hp*M1e zy%1m14ZRi!U~eHbBzdXcE{nG^$wI~t<=?$LvgZ-wyq zp)h2FtSrp%*GM}JFR6lmzE&V%kQj<04Wni5Jhe$N?EHfH>KS0QIcpe67Sb>la540R zJU+(0fF?5 z4C#)GD}VeamhgXoV1z5no9e?H>5W2ZMY}o;`Q1vGaly8#aOKt}0r)OVvPui&%!RA# z8>^bCnk$#qHC67Y43oY@A?Zu35gq9u#^nN)cHux6I;rIUbxS(;k0m7CGvaoob32hm zBUOvK-L>T_>$g?TUn(J?71fmvy`*m5bn|rIh9uI&uzZ$S*)(elBD2-<`PK3l$Bs{F zP%v+yz;R;q$RoBesKbO46J(4J-;Y@quXN(@5I8aNhWLkBNW+PnkCF|?G|F*J)aS%g zoEQ`)2K1gZ1rLti@s5CE|K&Nu1A*en#2H3!M@X)c_8?u}n%(8wsNY>63O5}DDaK5A zI8BI7KxV?`by7QFO?84gw|*Y17}K;FnLNQajw$*XOstrYVUHhOTrgvA#~(D_!(Z`r zViLVPObmo8h;FqsSb-A5RsNhPF-fWGf)nnjbH-xC)alM^oW*UBw#DI3()SDn3ga9; zC`L>LLeMjeNC*0jtYJ-Wf`i0<=(mGIGXzNdKP@+riJ#epPPfdIsn(zZ(2L~_N0QC| z5Sik&r;=>J!Fj`^HKC~#54S?4nDd5FdI}!UFH#2=DK16(-heksqgZ(|M;V_Sk1|XU zail6X-G|4-9c=$x8pUdhI|yq*$kDOg0VgMlFH91}0iE1r1*bMBI@}FL7q*4ad6$b# z3=k+*yVpSp5hESkHRW2aHxWY_rt$?1u%+T2v^D;6GR2+9th*u*u?O+^Wl6*6pakLM zusIGq{AEbPxmi*$>+`D=7tbD@y`-u#Tpr%KlT~E0f0Hu)Eq!-+xT&%!>6ElLD=Q;? z>+Xumf}JBC$w6ASym5E9veB|nT47NNUX-M&l}=OIWT~+%Dc!cbvbnN`CCOsxPLeHu zE=`p)S5($kRE8U;PDuneF>q<=IF==2@n^|WZPM%Z30IcUe%S~V=8H;UCLHUhU zY0NtB#;V4QXOz{cWur~g*Vk>U4A<DDP!@ox2IY$i*L)AUGkq6<#!X>J#zZ?MtCY)E#Jysxx1#OyrQPk-7l5> zF?;O{$yOi66&61xl`b<~TgQs!{$k`%TJXnrvRKYpurplM*i>8IIQm{`VoAD`cvX}9 z>*{j3&MO_=DchFT)m4VsznBiz$|u}%(gP*$NoBVs+Ln|z?p!zTCaLkGUr20EB0DW@ z7&p<~WwRfcaQ-dn?CXm1bz9vL0FS5~cPiaefNEw>++S_WT9jS(AByBD>YQg@R=I~c zOk!E<0KmqEO*?JD|GkTnpZ%^4Q_{GXhD)2+Ef)5y4CZ|QEf#4(c>u3%MJ^b>OGzV{ zQ^wMLs|8qeEBZerm*v9~Y?+0gYdy0Q*lm{9+bo#OZ?mw)^7h3Lp=rS%*U7~)yWMjB zcG`5i1up8rLkSljNT&6h=vEG5rDw*un^KhDPHJwmWCsK2#uNj zXW7C=o3M0_Mvas2(yo-V!%VqvbiFG*`!x#~aqc@TtjNKBF0(T8$#zTDKjn1XY+?7O zGDXJHrpQXbamX$+uY={vSo*)2O6&ZIcy_dDMTXt&_$b%J3LR{UjHQ#W_kV2ZFLd-y zHnYd9t&dr0Yq5O3(4l;qc%oQlk6O<^%HOP&4?UW2@!u?XNBleo`TKo8NbM?gfUWFe z|7RY1#9H3N4p_x6(21X-(9vh1zu`g${6c*8v+{oEAFMIg?X{R!me;bq7L*h_J#4Bh zmi_xIu(kUv=Uz-MJ2AY)hqk;u{sg=smJ9Td(UTUylcvARYUNH`+&#(k4u5vA(u=1i zoYK9|LZH+{2j0Q8VLN|7=-T#K=-T#K>aYv4-+2!9qTKT$`mUST-fA%~sc&?&SVmab zcn2FMV>v%eR>nJehRZD5!N$p0`oEG&>*5P`nC9C}Y>bIbkg;5vAn(Qc_pE*ISkAqY zE_r*i%y=ahx(Rp7#!<}S(BJFhqv6Ek7J5hA!uPCn3mvJQ-?Ngy-&1+mRMkV<^;^K_ z;}*VW4WFBduNPbNJJ@Tk<-^5XV6Q{<2 zCE@(&H#Z3D(v?l#=Ka=l?^;R&$*rRbdNZcrrC8`z0`z-$==adxRez74;_0;daWmq6 zu=VcL{`;-=oA!!56N@}W_iv+henYf^ySd-mb3bm_OE0zC*|5)|Y&U1C9lz%mq)F^Y zRyI<`a(<+2|B>~?C>hT$0}h%m_kTN;*2T{<&Qy?QQkzLmH#usy;psYVWj+~8#|#r2 zJF|aSYT32PEn{cGTzoW%J%v__SKu$kcg144C0W7Sf1SjhwjO!fiesO)s-ycqEVM30 zH{WvWy3>!RO8&hM)J?`59Rw=_b1>o(D;9H++f(%O6!wgjjWS^=8wDhby>{d2RMWw2 z^Phdj3S4WS!kP-%b28gtW_Map4Q#Kz9(oq1_X(4PzpZT+9QAr$|F4qEx^i2-mkYy| zh+b~AGnR{FiT1)0y^+VhY7vY2SiuzG9kiV~En$Tot9>agU$p=wBH0lyGBfiVu|fVe zD|U!0?8bF|)zX(rf5Q(fk~~>`*RjQ9efGaDvFpqm?zBv=YT7e*ab^9EaCyT{Hq*h( zGL{Qw**??JVU?N7!N$l~`ddT>JT_Lw(v?B${r#46XY(X?@3Lfe zm$mgSD{Y4vqW73*ZR=urLxFU32^6TUCsxQO?DC0kSg_8n<;E2&NAup?k=lAR58BH3 z6*I7{s+BbuM#|AV8YxHf!XIYfBkQ$CD_~x`&LaBIG|si8usSPCk+Galk(D}Y2gXdT zRm|c2*QC$x{9WrfL!PG`$Aqgb<5 zs>h##LlV2e%9hG?OJ&K~vL@@~Qn{qXJZ_Vv_hxIF``A@7Yqg%ZMuvvjiEazlSv9}G zR%_Pn&FBA!UoF*)wBz1;%Fvn0jaC(1x8RYyxQ4Y^m6tG{car@XV>&&?WJU*$OI0an zvrLZs@^F?Z2hxf@ROF-RCCh|mUKYmmJ61Nu)HB7z4w=`!Y{^+z*|=-&{QCM`%IXyM zwv{EzSl&#QmA9?!sWLlnWus**Z{kc?=U>E$5vJ_rl{?C77S%N=>qno(^z~Yq_$Dxk zVZDET>bcj-@Qu%y$=_r!>2KKL~hlGQA^= zSrZ>cyHdKFFnI*n#zJh$&86+Sac<)COOqvxH}PT5%I$pS+y3{Avo#hLm@Y;~7hmsx zBKcfkdT)LL+hq~Ug++3Ue>$tS=u2M>IZP+olIfir_*kyyS5cnQQEkD4=)^41Z^u^q z?`m0?v)mT8~ASaw-nkzzqpnB;#OMf@Min<>;<{^1sO%k7?<+h=G~2R*^`rn zWx-$jlao7PS&mOuEz7m3w60l}$r0k&wl^^no|-Iv?M}Yl|GMQ|(zt`Gl3Anm&1u8% zmmb8YCd0nJk)bYkTh*WXpDpZeZ63ax&%<}7cHM2IIl zD?aY64E@Kh`_qlUg;@<*++b z_fN3kFMWCHd-Mcg%dS-Q3HTZy=Tu>vu|l&=g}Gx_Dn@aLy>KJmf^EhQ`Ze!LrEA`m z8pg(k9QB$5<_#aO&A~O!-@SELWfR+;$}BRLPb{*1J|>{*CBDEPd*b zrr+@6_doh9;SUDE1ki4Is0Ki_v8lWXaY@zIA^EtgqxiTBE4P>Lu4!74G*Y^1#Dt9l zc)2R>o3wdmEb2R={yQSFL>N_3wYQ+5s=2Ny(l@F>Cyvy($ZjtZKLPOz;_r-nM4zwO zxDv2?tCUR=6-YAOylLD-gn>;}^>yXpJs(XlWh~zQiIiSbS+}EUXUScXRmdnxOZ{)k znVeqip577A1H-!_f#K_tw6%1$q=$y{4@pQplwM_;7>Q*u>z&7}7i_^F7v{Z4nAlN5 zv-`1ST4;Em>ELSl#7KmOD=$c;uSjZWxJ8795oFdc{zf{RX3G8Ju@~jhb?K`rs)6p; z9hX5s%{@Na6nY^KKrlJRDdgF7pa8Ih__9r_Eo|mQ7%9AO$v-Xp+ zt+Jth>(1goK+mdlo@M!>>vzKuURW8fYKDPnu54VeyFx*G`iXMc{pKm2xj>XQ029I} z!w9Vim)8~DBUzTF10QLs43~LK*{j3#%~b$YSV(RU$=0Sl4V5JiO12g2m#JYsr7P362DJHqh6nkq-U6LO81werZ=(iyU~ z7^n?%!3&o$+Ve`*U$t)Y(v_RnEnTtbqoABvU6nO6DZONOW7E<)B{{>k8YozmvNJKU za@*Nih)(xbn=;DTe7Su-Sy+FzTsJ}fT5E?ySk+WR+&0{l5t+K7Ys;+5i?xl~CpzGinV?7y0LoEHw4@99{c-x`uir7Ip=Za*ppd0rib9N-9mIVBFod%o?*OnKvGv$gUmL-z+zt!#cYcqEwy zLAOQI`>5mm)yGWAnK_PIv(oo04%hE)V9%Lid%r<)-_6X_K$)~2aT6e6X&Sy#pcAj2 zHl2=Ec%*K{P7tz$iZ3AHMjH+xNl0UA8Jbj>S<$LuhkSAek+Be+hfrEKb)+ERQnTix z+D)p-WIb%gH%IL;j-&}^I=h8)Z*Q1sA5@ED@$C$~6sP_oZA zxq7+ogejXBexacbyK@3)b86w&x-pW!`)O0$VjyVeKy8WVc^k&qb|R~Ro=E26>F(z7 zrtnAdc1wa3EZ*+6R|l;t${QM3#U{4P?a!AdeP^8G+Wbm)#V5|a0SO|(z{wZoNR1`+ zv(vo@&cR|ku(NrauV=pL7{Z>i)Qh(#oG%G0n^K|IgZ4Pgk#?jxp=@RX=v4lq=d!3n zK-R-E^Y7WjCfBsXRQ^RmcYypK&9d!otlTz#gl%@DGeF+!Go`DP4lm;^0p@>ymbrY# zj;wcs{sX|P{A~;fi~rOOe%SaY0Lu7@8g_%l6{y`G8GSlvUF7Y{T7D4Y>&xBkD>n$ z9zn%E5{=p_{Rb;>Rlo9KGS$#nM$7i3-8uE)#)1W_)~{U0 zj>!JZZK%mv3r&eYCrXgf;|`F|59L!^Ej^D9uYPA#=I(}V@RSOa8@Jf5S~qXS>Jy#v z!3$d{Gn6nVv|gHTFJEL^QQm|E;T?;ih~$1%n*Fy$_#TQ@E@5YiQR&+nv|wfBpEl9U z#zhwz7ui=-kx+we9$wNiV7|m`NwFCA|FzT}G||eL;%?^%7UqhNXNqkg*TDrnQ`}K% zY4ePLgpMok#4fz<)22AAQI!77UkS!C;=IBT4*(#DF$<^*ER+__}NQi zg-K|AX)KDY&;^VY6kycseQ7KpL?@1i(IuKIC?GiQYOcWW@>o{kr^%+m5B?T3F~nqp zm;9JL(^TUJ0@s;hRkh*fX}anoHM0z0cEM?gsGFRxo&x3#yK~hBR1@Dcja81jR42D= zA7}GndI_;tuf&+#``l!l#2rP}JyWc*xNs6)tifAB`q`L;G>E~<)b9dwh`zJdGYGSW z)sOhByj09KpmaGI&MxkoA7PY#JhhwV1vBZ}wobzoix-$%H_ub=8Pmg=;(9J&|OKSCup1*(2LV+-!Tn#7rYo!0k$8`6LSOo#R<5UfN?fJKfIui zeayd9Ob3kyF0=N#8O=Y4Gj4X5iwrreKiYO{R+azGDg#$D{IK;lUjV-vo6M&wT$PKx zscF4GP8X!oV+}Un>WAzA+sZ2`Vf3%jPJng(P>7aqnx%)}9|_yP6N0J7EyL2&b1r@Z zBH-$0(2P9!2&x*uh%&?s6Y{ViCmL zaU+0q@s}?`%)J|*hgK(S`n03X3Dp>;K5T7UA$M^TtnU1-)blPKc>YB)u>CjqIo}Bu zcEKrbTUqOZqqT`GtqW|(5<5MeX!wR_<12}*U{Q0+0?FCgvOqPQ1&gS*%I?Xh2A8-D zZYO6vj9*@}n3(oF_LIYiK6|E^bbN6)u#Xcmb`7*NNObkYxmlfG1d-rRrHX8 z?bECssK9PEzPeM`I<(1S&rLQSBW#@%)Md(OD1<`rkUzeK#xv~Q+OT>fn!Q6M1C(@) z77sFNA=Dhv0Wf&(%Nsm231HJgs=@O`36sS$cxEqZ0-p3>f3kSqk-9&O$Aip^p+o_m zF!%iP?lA`qJM3qkKDKh=bPoJv&$yb-nHU4#`POJC}UQ; zN+t<&zfM&oeKC(RVWZHa!7GTCO3yo_H#TnQ?EfrbT{Qg7ImfHEFOXAi8lo8;$He8r zh4r-s*8^`FLZX6N)4e|jP*!by;iksAEwVY}b&4>6`m7_g zFPDktv_PH=MfV^ij6;y00O3;#Z2!GUgaVUt5$5G?S^sh*8t~*k@{d%Dg){)>*O2?- zSo!Q96QSbn4L1KFadLoSd!!J(FgJflJj5djglN8y|Bs1!v$0v%L4eA6QJc*EA>GDG zzJ=%8r=+GzTlZ$lQe&<}kd2|;So!(9U5VuB0~@JLM7yzxgdf2l00Xb%gA~cR{r!|U z(MUR?5s=ytjjVkl(T09ZV1pXM5xC^ukhk+js|ZCfn-W#i5Qq4KP-FUA8m3iXE)UBC zB9R$KD1C57YdRJu9FaWR@0Dk&0SN)KT0k=TDK(2wU2cIOo;&ON*3kON^EtG~V-x%L zE$0`IV5|RCNvcS?*HX&iK!ho?PfAXX<(Ah7SQ+zo=Zg|h#iymT{WhSAuDlgl98fd^ zXkIx_;-F%0qRDZOMX(-KY_=bgMORGnW1SXt!%;K7n|5)mX`6X9k!YRGS zJYo^>;eB%ZKKVknJo{=B07oLItE1~o8PgYe%KD2qrcdKn);Ms*?zAR%wCxKgZ8#x zrM4ZkTaohd6`#*o+9NfxY7@oKTyaUjjV=3a?92!(m(Gl^x6ukGzeQX5t?kfx_zZBRNvSOnLo3 zgM~T`N%MV4mv+f*`_OY4)%s7R!?9`KM-oom@HRfnJ+fJD`79R#TXJ4vFxY;EGEFSE zYnP0_bw?cd4v>gqxooVpXRP(un>p~0@e2Mi{<7SDmYaxj?$(4;ZzM|o*85U8**pZJ zd0)!W#)OKlOsLFy+dst#F3p(SwS({q_GvCH!dd<_mz?E%+xdJOoK*bbu5!MO9T<0X zS7OV9Bh!7bUnpJuG}j#7S`Gax78!mcSHV1q``=u)gKA1XO+Qxn` z0c_|a5UenE#S4b)PYok=4ZC7)0)F#|jO8HyE}4WC5?cm}Njk9Sts2&<+&a#@qNz6b zNc!f@6E<&lCM7#7d17b=GCRl&DILSv@HEh+L7Qd`ldy6YO)4PK>sKnLw}DFS-Hz8g z%4=)cjR`nOFD}X7iBnchYP}yUs*$igRg>`&w}ob;i&%$KR(U8p>hZ7Nklz%FL>=CUHSyg2fe{i z$8*GdeRA3<1PV`1s|If!v=B|@#0vB`qEVCIQQ#1Hfz|5+-1=qeasX zEqHH-oBflFr2v1gw_)Y%Kgm|m<6K>dGuw8$?ZYX?&PZd=%NL)Q85AO(m;0Vab+;4s zb)B~l1LE0kV>8h9Sf+D$*>o3sa8&n1xox^jn$8Xv!n}3hu{c~LS1aA8e> z(w^2eNA9{f1utnC#8}Y&zn1p}!S}X-p^!B>(~f zN`JVpZJDf&VR4KY!-osS81B!vA>a*RKYbMc`xuPky%@zoCv?98oziM-?Ez!)*JHw~ zSHk=KZXU)kD*qwGfW~5cvly4YN7%bLVpu|)IppcOScF6MZ73?uO?RKb9esGI}J&{57e^3m>lq^s10UB%#|V-6Sk)^wTBAyFNAHas9MCy*c7 z$Vc6jUUoH#B;~Uha=ehH;~5KWd=xZldDf$BqYM9|92QcvA$O;gfo&9zA1*{Z&dOaF zW~dWEYv7>Q{?8++9QJTwFUIgS33UfxzC-Na6pRCEIEw6;$K8RUhY#n&%Zv^TGfF6aA6C6 z8ZW)Uhm#cSy?xA=9!($NIrE1Ce!sHeO132j5&xDP<#?EXe%#Tdl#a$&qRBMgShC`G z&yJJ5nxVldfIZi>b*qO;B6 zLi*UCafZZ>gfn40d1*Yg+=R)o^_H6udfiqkh7-?!HE)6~q#05hQ%JzLoc8qT#vv8H zX8}YEXxypOAS}nqs1^G7xJ0ld01scQqzdzfz1t_YXOy-o%(91(bXalwe-u zBdX=A%RmhDdV-yQPQgcr0ab@t5kbGX03!;JI@%?`u5>QGnl4X!_`f|>tfGJ#vXM%e zs~uY++u8gnVpv%{Az12r*V8tARBfN4&TrtRxI3TX8?_JKJO#TNM^#?yK4zYRjO$rU zXMQLSbXxh9XhTY#B8HS1t#-PG^JiWgP&LEU0Tpt4yq$6ZJ~=X=?wP6%DEu6rt|Rm` zi_sLugP&A|XaC#*_@5qc*T3>7T^~p(K{1eEqI_LP`L+S$2;y2GkaS??!hNd)3G*gi zi0SEYq5E6e%I^yj%WKAcP=I08PEPpBOEwF4!rgf*t{v!vFEg#QIrH8r49(8_g%e)) z{Bh3wS4VT7yUe=*b6+3#wy{!KK{Mem3%6f|q83-nONI8Ntj@W>7^kt93Tc5XNX+sA z&p{NpXu=Di7RZIA`!~6)!_wMe`J}*QMfIZ(-}S4x7@)7_Dg`cpM+L6P04;FQbZ5?e z)11p2-IXA%r<*-i%6OxuPyoP zsS^a~f+RO|BLNp_3F$WHL}{h`I$JMOUOPZ}ZFbRv6h!Mq59twxAYcNpZu=(}JyM|e z2V3z%h>li|n-n*XjnsqvASI)zQj{x1VEk)2?CQn&*&5#oy8z8I;&XU#TnMpU)XR_n zIwyOT;3pwCQho0gf~DuUWsp2JIuk0{$*iM}@Hfaychu?WiFhe&v{JHx-;caE&tb

CD$m)Fz5htjepjfEuZxm|MIF%ZoO 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

%P19M;0hPi-%9#~+$^>Ga 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%0D}&}>8U)^LFh9OZ&nfVym=3pR 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

Ot4|g$1t6Yn!#7)YWJWQP-i3THb<&hT2B`|G4*W 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 W+H$^Z2^X=(mhKsXE#0$Sw)}r+HGg9O literal 0 HcmV?d00001 diff --git a/src/test/resources/compatibility_exports/export_5.11.19/MultiVersionPivot_EquityDerivativesCubeDist.json.sz b/src/test/resources/compatibility_exports/export_5.11.19/MultiVersionPivot_EquityDerivativesCubeDist.json.sz new file mode 100644 index 0000000000000000000000000000000000000000..a6eb3c9976cb16e3a0fb2679e024d92f276f7fd8 GIT binary patch literal 4793 zcmYjVeRLGpb$@SmcJo#{dPuU^2qA$Okc_YpJNvzBj8`9gNRb3Zz%e8y9_@~#h1IT@ z+2tS;bQ&3{G2zIT+F*Ozs#JAxD^r~s8yqV+s>5*=cm0usb5IZ?D|t=0FXlJRs(jVF8RS8v)^ z->3AY)PeeVUw@*$S?QMHRqfWtP-pSRU&CAEbXtvfWzq_~;j|c&(@G?oN~V=$`oKWH z683w=uoUq4L*Ag*6|586&HszlRjD=L+v>G(;-%C;7`x1nbwFT7Lq)k{*n6oMT@RYivFR#୕n?$NTC% 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 ayaNHGa1i**P|tQ0m!rM#^(4Bf|Nj7xKeMg? literal 0 HcmV?d00001 diff --git a/src/test/resources/compatibility_exports/export_5.11.19/MultiVersionStore_CounterParty.json.sz b/src/test/resources/compatibility_exports/export_5.11.19/MultiVersionStore_CounterParty.json.sz new file mode 100644 index 0000000000000000000000000000000000000000..de05f6922a1d18cd2210d13abdbc121861b0a818 GIT binary patch literal 23699 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 HZrJ|6MzyI) literal 0 HcmV?d00001 diff --git a/src/test/resources/compatibility_exports/export_5.11.19/MultiVersionStore_Forex.json.sz b/src/test/resources/compatibility_exports/export_5.11.19/MultiVersionStore_Forex.json.sz new file mode 100644 index 0000000000000000000000000000000000000000..8beb7fa2e3f79ac3700a424fea4f4c0f8cb86b1a GIT binary patch literal 13122 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 literal 0 HcmV?d00001 diff --git a/src/test/resources/compatibility_exports/export_5.11.19/MultiVersionStore_Product.json.sz b/src/test/resources/compatibility_exports/export_5.11.19/MultiVersionStore_Product.json.sz new file mode 100644 index 0000000000000000000000000000000000000000..7102b363cd7a5808cbb6a665314ed36eb3f6587c GIT binary patch literal 28821 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�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

K>}zzZxZDSC6@Zv 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 literal 0 HcmV?d00001 diff --git a/src/test/resources/compatibility_exports/export_5.11.19/MultiVersionStore_Trade.json.sz b/src/test/resources/compatibility_exports/export_5.11.19/MultiVersionStore_Trade.json.sz new file mode 100644 index 0000000000000000000000000000000000000000..b1fa342e8e5be1eecee63e26c757755892c90b48 GIT binary patch literal 260032 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%0Ddh8qdM^D?6&DGpXtg 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%0A^>;ej&@0Xb&}5oq?Y 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

B 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