From 318fb13c2026cb961e9fec277d2af3cf0e9d6b68 Mon Sep 17 00:00:00 2001 From: Martin Weise <martin.weise@tuwien.ac.at> Date: Mon, 13 Jan 2025 22:16:43 +0100 Subject: [PATCH] WIP Signed-off-by: Martin Weise <martin.weise@tuwien.ac.at> --- .docs/api/data-service.md | 17 ++- .docs/concepts/data-visibility.md | 24 ++-- dbrepo-analyse-service/Pipfile.lock | 6 +- .../lib/dbrepo-1.6.1.tar.gz | Bin 39952 -> 40030 bytes .../at/tuwien/endpoints/SubsetEndpoint.java | 35 ++---- .../tuwien/validation/EndpointValidator.java | 65 ++++++++++- .../impl/SubsetServiceMariaDbImpl.java | 9 +- .../at/tuwien/endpoints/TableEndpoint.java | 22 ++-- dbrepo-search-service/Pipfile.lock | 2 +- dbrepo-search-service/init/Pipfile.lock | 2 +- dbrepo-search-service/init/database.json | 25 ++--- .../init/lib/dbrepo-1.6.1.tar.gz | Bin 39952 -> 40030 bytes dbrepo-search-service/lib/dbrepo-1.6.1.tar.gz | Bin 39952 -> 40030 bytes dbrepo-ui/components/ResourceStatus.vue | 3 + dbrepo-ui/components/dialogs/EditAccess.vue | 2 +- dbrepo-ui/components/dialogs/EditTuple.vue | 105 +++++++++++------- .../components/search/AdvancedSearch.vue | 4 +- dbrepo-ui/components/subset/Results.vue | 16 +++ dbrepo-ui/components/subset/SubsetList.vue | 6 +- dbrepo-ui/components/table/TableList.vue | 2 +- dbrepo-ui/composables/container-service.ts | 18 ++- dbrepo-ui/composables/table-service.ts | 1 + dbrepo-ui/locales/en-US.json | 12 +- .../pages/database/[database_id]/info.vue | 21 +++- .../pages/database/[database_id]/settings.vue | 33 +++++- .../[database_id]/subset/[subset_id]/info.vue | 7 +- .../database/[database_id]/subset/index.vue | 44 +++++++- .../[database_id]/table/[table_id]/data.vue | 86 +++++++++++--- .../[database_id]/table/[table_id]/info.vue | 32 +++++- .../[database_id]/table/[table_id]/schema.vue | 45 ++++++-- .../table/[table_id]/settings.vue | 12 +- .../database/[database_id]/table/index.vue | 53 +++++++-- .../[database_id]/view/[view_id]/schema.vue | 12 +- .../[database_id]/view/[view_id]/settings.vue | 12 +- .../database/[database_id]/view/index.vue | 54 +++++++-- dbrepo-ui/pages/search.vue | 2 +- dbrepo-ui/utils/index.ts | 42 +++++-- lib/python/dbrepo/api/dto.py | 4 +- 38 files changed, 623 insertions(+), 212 deletions(-) diff --git a/.docs/api/data-service.md b/.docs/api/data-service.md index 257c68c195..bc43a5d363 100644 --- a/.docs/api/data-service.md +++ b/.docs/api/data-service.md @@ -24,25 +24,32 @@ author: Martin Weise ## Overview -The Data Service is responsible for inserting AMQP tuples from the Broker Service into the Data DB +The Data Service is responsible for inserting AMQP tuples from the Broker Service into the Data DB via [Spring AMQP](https://docs.spring.io/spring-amqp/reference/html/). To increase the number of consumers, scale the Data Service up. ## Data Processing -The Data Service uses [Apache Spark](https://spark.apache.org/), a data engine to load data from/into +The Data Service uses [Apache Spark](https://spark.apache.org/), a data engine to load data from/into the [Data Database](../data-db) with a wide range of open-source connectors. The default deployment uses a local mode of -embedded processing directly in the service until there exists +embedded processing directly in the service until there exists a [Bitnami Chart](https://artifacthub.io/packages/helm/bitnami/spark) for Spark 4. Retrieving data from a subset internally generates a view with the 64-character hash of the query. This view is not automatically deleted currently. +## Caching + +The Data Service uses [Caffeine](https://github.com/ben-manes/caffeine), a caching solution that is used to temporarily +cache the connection details from the [Metadata Service](../metadata-service) such that they don't have to be queried +everytime e.g. a sensor measurement is inserted. By default, this information is stored for 60 minutes. System +administrators can disable this behavior by setting `CREDENTIAL_CACHE_TIMEOUT=0` (cache is deleted after 0 seconds). + ## Limitations -* Views in DBRepo can only have 63-character length (it is assumed only internal views have the maximum length of 64 +* Views in DBRepo can only have 63-character length (it is assumed only internal views have the maximum length of 64 characters). -* Local mode of embedded processing of Apache Spark directly in the service using +* Local mode of embedded processing of Apache Spark directly in the service using a [`local[2]`](https://spark.apache.org/docs/latest/#running-the-examples-and-shell) configuration. !!! question "Do you miss functionality? Do these limitations affect you?" diff --git a/.docs/concepts/data-visibility.md b/.docs/concepts/data-visibility.md index e76448ec3e..04f37c6979 100644 --- a/.docs/concepts/data-visibility.md +++ b/.docs/concepts/data-visibility.md @@ -2,32 +2,34 @@ author: Martin Weise --- -There are several ways to set the visibility of (meta-)data in DBRepo. It is possible to set the data to public/private -and the schema to be public/private for each database and separately for each table, each view and each subset of a -database. +There are several ways to set the visibility of (meta-)data in DBRepo. It is possible to set the data visibility to +visible/hidden and the schema to be visible/hidden for each database and separately for each table, each view and each +subset of a database. + +## Visibility In total there are three possible scenarios: -## Public +#### Public !!! info "Possible use-case: data publication supplement to an open-access publication" -Where the database's data and metadata is set to be *public*. This means everything in the database (tables, views, +Where the database's data and metadata is set to be *visible*. This means everything in the database (tables, views, subsets) are visible by anyone from the public. -## Mixed +#### Private !!! info "Possible use-case: private sensor measurements with timed embargo" -Where the database's data and metadata is set to be *private*. This means everything in the database (tables, views, -subsets) are by default not visible by anyone from the public. You can however make specific views that join tables -and/or filter certain columns and apply a 14-day delay-embargo. +Where the database's data set to be *hidden* but the schema to be *visible*. This means everything in the database +(tables, views, subsets) are by default not visible by anyone from the public. You can however make specific views that +join tables and/or filter certain columns and apply a 14-day delay-embargo. <figure markdown>  <figcaption>Figure 1: Public view that joins two private tables and applies a time-embargo</figcaption> </figure> -## Private +#### Draft -!!! info "Possible use-case: data storage for trusted-/virtual research environments" \ No newline at end of file +!!! info "Possible use-case: project data storage before publication" \ No newline at end of file diff --git a/dbrepo-analyse-service/Pipfile.lock b/dbrepo-analyse-service/Pipfile.lock index 80237c91cf..99d70b6132 100644 --- a/dbrepo-analyse-service/Pipfile.lock +++ b/dbrepo-analyse-service/Pipfile.lock @@ -412,7 +412,7 @@ }, "dbrepo": { "hashes": [ - "sha256:79ae690b125dcc6ba7ada28f07af47bca6e943ae3079232b3b4ae2d369095bb5" + "sha256:7cddcbdcb3eade84f67db01fa32e0649ecc01d4c3cc5e7542d3c402ad52efc19" ], "path": "./lib/dbrepo-1.6.1.tar.gz" }, @@ -1612,7 +1612,7 @@ "sha256:1cee9ad369867bfdbbb48b7dd50374c0967a0bb7710050facf0dd6911440e3df", "sha256:f8c5449b3cf0861679ce7e0503c7b44b5ec981bec0d1d3795a07f1ba96f0204d" ], - "markers": "python_version >= '3.9'", + "markers": "python_version >= '3.10'", "version": "==2.3.0" }, "werkzeug": { @@ -2236,7 +2236,7 @@ "sha256:1cee9ad369867bfdbbb48b7dd50374c0967a0bb7710050facf0dd6911440e3df", "sha256:f8c5449b3cf0861679ce7e0503c7b44b5ec981bec0d1d3795a07f1ba96f0204d" ], - "markers": "python_version >= '3.9'", + "markers": "python_version >= '3.10'", "version": "==2.3.0" }, "wrapt": { diff --git a/dbrepo-analyse-service/lib/dbrepo-1.6.1.tar.gz b/dbrepo-analyse-service/lib/dbrepo-1.6.1.tar.gz index 6e6884a28d818166eec6ded367274d57b137f4af..a1197ff6465d77567108f3389aae9d54dc9c8ab6 100644 GIT binary patch delta 36470 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 delta 36256 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	|lyP18B3dLf$yX<M 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 S+IrVN=^2l|JY`tG$^ZaFOt`cF diff --git a/dbrepo-data-service/rest-service/src/main/java/at/tuwien/endpoints/SubsetEndpoint.java b/dbrepo-data-service/rest-service/src/main/java/at/tuwien/endpoints/SubsetEndpoint.java index 8194ca624c..8a106b6cfd 100644 --- a/dbrepo-data-service/rest-service/src/main/java/at/tuwien/endpoints/SubsetEndpoint.java +++ b/dbrepo-data-service/rest-service/src/main/java/at/tuwien/endpoints/SubsetEndpoint.java @@ -76,7 +76,7 @@ public class SubsetEndpoint extends AbstractEndpoint { @GetMapping @Observed(name = "dbrepo_subset_list") @Operation(summary = "Find subsets", - description = "Finds subsets in the query store. The result can be optionally filtered by setting `persisted`. When set to *true*, only persisted queries are returned, otherwise only non-persisted queries are returned.", + description = "Finds subsets in the query store. When the database schema is marked as hidden, the user needs to be authorized, have at least read-access to the database and have the role `list-queries`. The result can be optionally filtered by setting `persisted`. When set to *true*, only persisted queries are returned, otherwise only non-persisted queries are returned.", security = {@SecurityRequirement(name = "basicAuth"), @SecurityRequirement(name = "bearerAuth")}) @ApiResponses(value = { @ApiResponse(responseCode = "200", @@ -107,13 +107,8 @@ public class SubsetEndpoint extends AbstractEndpoint { QueryNotFoundException, NotAllowedException, MetadataServiceException { log.debug("endpoint find subsets in database, databaseId={}, filterPersisted={}", databaseId, filterPersisted); final PrivilegedDatabaseDto database = credentialService.getDatabase(databaseId); - if (!database.getIsPublic() || !database.getIsSchemaPublic()) { - if (principal == null) { - log.error("Failed to find subset: database is private & missing authentication"); - throw new NotAllowedException("Failed to find subset: database is private & missing authentication"); - } - metadataServiceGateway.getAccess(databaseId, getId(principal)); - } + endpointValidator.validateOnlyPrivateSchemaAccess(database, principal); + endpointValidator.validateOnlyPrivateSchemaHasRole(database, principal, "list-queries"); final List<QueryDto> queries; try { queries = subsetService.findAll(database, filterPersisted); @@ -128,7 +123,7 @@ public class SubsetEndpoint extends AbstractEndpoint { @GetMapping("/{subsetId}") @Observed(name = "dbrepo_subset_find") @Operation(summary = "Find subset", - description = "Finds a subset in the data database. Requests with HTTP header `Accept=application/json` return the metadata, requests with HTTP header `Accept=text/csv` return the data as downloadable file.", + description = "Finds a subset in the data database. When the database schema is marked as hidden, the user needs to be authorized, have at least read-access to the database and have the role `find-query`. Requests with HTTP header `Accept=application/json` return the metadata, requests with HTTP header `Accept=text/csv` return the data as downloadable file.", security = {@SecurityRequirement(name = "basicAuth"), @SecurityRequirement(name = "bearerAuth")}) @ApiResponses(value = { @ApiResponse(responseCode = "200", @@ -175,13 +170,8 @@ public class SubsetEndpoint extends AbstractEndpoint { log.debug("endpoint find subset in database, databaseId={}, subsetId={}, accept={}, timestamp={}", databaseId, subsetId, accept, timestamp); final PrivilegedDatabaseDto database = credentialService.getDatabase(databaseId); - if (!database.getIsPublic() || !database.getIsSchemaPublic()) { - if (principal == null) { - log.error("Failed to find subset: database is private & missing authentication"); - throw new NotAllowedException("Failed to find subset: database is private & missing authentication"); - } - metadataServiceGateway.getAccess(databaseId, getId(principal)); - } + endpointValidator.validateOnlyPrivateSchemaAccess(database, principal); + endpointValidator.validateOnlyPrivateSchemaHasRole(database, principal, "find-query"); final QueryDto subset; try { subset = subsetService.findById(database, subsetId); @@ -194,7 +184,7 @@ public class SubsetEndpoint extends AbstractEndpoint { timestamp = Instant.now(); log.debug("timestamp not set: default to {}", timestamp); } - if (accept == null) { + if (accept == null || accept.isEmpty() || accept.isBlank()) { accept = MediaType.APPLICATION_JSON_VALUE; log.debug("accept header not set: default to {}", accept); } @@ -219,7 +209,7 @@ public class SubsetEndpoint extends AbstractEndpoint { throw new DatabaseUnavailableException("Failed to find data: " + e.getMessage(), e); } } - throw new FormatNotAvailableException("Must provide either application/json or text/csv headers"); + throw new FormatNotAvailableException("Must provide either application/json or text/csv value for header 'Accept': provided " + accept + " instead"); } @PostMapping @@ -303,13 +293,7 @@ public class SubsetEndpoint extends AbstractEndpoint { } /* create */ final PrivilegedDatabaseDto database = credentialService.getDatabase(databaseId); - if (!database.getIsPublic() || !database.getIsSchemaPublic()) { - if (principal == null) { - log.error("Failed to find subset: database is private & missing authentication"); - throw new NotAllowedException("Failed to find subset: database is private & missing authentication"); - } - metadataServiceGateway.getAccess(databaseId, getId(principal)); - } + endpointValidator.validateOnlyPrivateSchemaAccess(database, principal); try { final Long subsetId = subsetService.create(database, data.getStatement(), timestamp, userId); return getData(databaseId, subsetId, principal, request, page, size); @@ -375,6 +359,7 @@ public class SubsetEndpoint extends AbstractEndpoint { } credentialService.getAccess(databaseId, getId(principal)); } + log.trace("visibility for database: is_public={}, is_schema_public={}", database.getIsPublic(), database.getIsSchemaPublic()); /* parameters */ if (page == null) { page = 0L; diff --git a/dbrepo-data-service/rest-service/src/main/java/at/tuwien/validation/EndpointValidator.java b/dbrepo-data-service/rest-service/src/main/java/at/tuwien/validation/EndpointValidator.java index 1c6adfd6a5..25b858f51b 100644 --- a/dbrepo-data-service/rest-service/src/main/java/at/tuwien/validation/EndpointValidator.java +++ b/dbrepo-data-service/rest-service/src/main/java/at/tuwien/validation/EndpointValidator.java @@ -1,14 +1,17 @@ package at.tuwien.validation; import at.tuwien.api.database.AccessTypeDto; +import at.tuwien.api.database.DatabaseAccessDto; +import at.tuwien.api.database.internal.PrivilegedDatabaseDto; import at.tuwien.config.QueryConfig; -import at.tuwien.exception.NotAllowedException; -import at.tuwien.exception.PaginationException; -import at.tuwien.exception.QueryNotSupportedException; +import at.tuwien.endpoints.AbstractEndpoint; +import at.tuwien.exception.*; +import at.tuwien.gateway.MetadataServiceGateway; import lombok.extern.log4j.Log4j2; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; +import java.security.Principal; import java.util.Arrays; import java.util.LinkedList; import java.util.List; @@ -18,13 +21,15 @@ import java.util.regex.Pattern; @Log4j2 @Component -public class EndpointValidator { +public class EndpointValidator extends AbstractEndpoint { private final QueryConfig queryConfig; + private final MetadataServiceGateway metadataServiceGateway; @Autowired - public EndpointValidator(QueryConfig queryConfig) { + public EndpointValidator(QueryConfig queryConfig, MetadataServiceGateway metadataServiceGateway) { this.queryConfig = queryConfig; + this.metadataServiceGateway = metadataServiceGateway; } public void validateDataParams(Long page, Long size) throws PaginationException { @@ -43,6 +48,56 @@ public class EndpointValidator { } } + public void validateOnlyPrivateSchemaAccess(PrivilegedDatabaseDto database, Principal principal) + throws NotAllowedException, RemoteUnavailableException, MetadataServiceException { + validateOnlyPrivateSchemaAccess(database, principal, false); + } + + public void validateOnlyPrivateSchemaAccess(PrivilegedDatabaseDto database, Principal principal, + boolean writeAccessOnly) throws NotAllowedException, + RemoteUnavailableException, MetadataServiceException { + if (database.getIsSchemaPublic()) { + log.trace("database schema with id {} is public: no access needed", database.getId()); + return; + } + validateOnlyAccess(database, principal, writeAccessOnly); + } + + public void validateOnlyPrivateSchemaHasRole(PrivilegedDatabaseDto database, Principal principal, String role) + throws NotAllowedException { + if (database.getIsSchemaPublic()) { + log.trace("database with id {} has public schema: no access needed", database.getId()); + return; + } + log.trace("database with id {} has private schema", database.getId()); + if (principal == null) { + log.error("Access not allowed: no authorization provided"); + throw new NotAllowedException("Access not allowed: no authorization provided"); + } + log.trace("principal: {}", principal.getName()); + if (!hasRole(principal, role)) { + log.error("Access not allowed: role {} missing", role); + throw new NotAllowedException("Access not allowed: role " + role + " missing"); + } + log.trace("principal has role '{}': access granted", role); + } + + public void validateOnlyAccess(PrivilegedDatabaseDto database, Principal principal, boolean writeAccessOnly) + throws NotAllowedException, RemoteUnavailableException, MetadataServiceException { + if (principal == null) { + throw new NotAllowedException("No principal provided"); + } + if (isSystem(principal)) { + return; + } + final DatabaseAccessDto access = metadataServiceGateway.getAccess(database.getId(), getId(principal)); + log.trace("found access: {}", access); + if (writeAccessOnly && !(access.getType().equals(AccessTypeDto.WRITE_OWN) || access.getType().equals(AccessTypeDto.WRITE_ALL))) { + log.error("Access not allowed: no write access"); + throw new NotAllowedException("Access not allowed: no write access"); + } + } + public void validateForbiddenStatements(String query) throws QueryNotSupportedException { final List<String> words = new LinkedList<>(); Arrays.stream(queryConfig.getForbiddenKeywords()) diff --git a/dbrepo-data-service/services/src/main/java/at/tuwien/service/impl/SubsetServiceMariaDbImpl.java b/dbrepo-data-service/services/src/main/java/at/tuwien/service/impl/SubsetServiceMariaDbImpl.java index 4d688393cb..fb244bb301 100644 --- a/dbrepo-data-service/services/src/main/java/at/tuwien/service/impl/SubsetServiceMariaDbImpl.java +++ b/dbrepo-data-service/services/src/main/java/at/tuwien/service/impl/SubsetServiceMariaDbImpl.java @@ -90,13 +90,14 @@ public class SubsetServiceMariaDbImpl extends HibernateConnector implements Subs @Override public Dataset<Row> getData(PrivilegedDatabaseDto database, QueryDto subset, Long page, Long size) throws ViewMalformedException, SQLException, QueryMalformedException, TableNotFoundException { - if (!viewService.existsByName(database, metadataMapper.queryDtoToViewName(subset))) { - log.warn("Missing internal view {} for subset with id {}: create it from subset query", metadataMapper.queryDtoToViewName(subset), subset.getId()); + final String viewName = metadataMapper.queryDtoToViewName(subset); + if (!viewService.existsByName(database, viewName)) { + log.warn("Missing internal view {} for subset with id {}: create it from subset query", viewName, subset.getId()); viewService.create(database, subset); } else { - log.debug("internal view {} for subset with id {} exists", metadataMapper.queryDtoToViewName(subset), subset.getId()); + log.debug("internal view {}.{} for subset with id {} exists", database.getInternalName(), viewName, subset.getId()); } - return tableService.getData(database, metadataMapper.queryDtoToViewName(subset), subset.getExecution(), page, size, null, null); + return tableService.getData(database, viewName, subset.getExecution(), page, size, null, null); } @Override diff --git a/dbrepo-metadata-service/rest-service/src/main/java/at/tuwien/endpoints/TableEndpoint.java b/dbrepo-metadata-service/rest-service/src/main/java/at/tuwien/endpoints/TableEndpoint.java index 21a1659923..6ed865ca25 100644 --- a/dbrepo-metadata-service/rest-service/src/main/java/at/tuwien/endpoints/TableEndpoint.java +++ b/dbrepo-metadata-service/rest-service/src/main/java/at/tuwien/endpoints/TableEndpoint.java @@ -203,7 +203,7 @@ public class TableEndpoint extends AbstractEndpoint { principal.getName()); final Database database = databaseService.findById(databaseId); final Table table = tableService.findById(database, tableId); - if (!table.getOwner().getId().equals(getId(principal))) { + if (!table.getOwner().getId().equals(getId(principal)) && !isSystem(principal)) { log.error("Failed to update table statistics: not owner"); throw new NotAllowedException("Failed to update table statistics: not owner"); } @@ -480,16 +480,24 @@ public class TableEndpoint extends AbstractEndpoint { UserNotFoundException, NotAllowedException, AccessNotFoundException { log.debug("endpoint find table, databaseId={}, tableId={}", databaseId, tableId); final Database database = databaseService.findById(databaseId); - endpointValidator.validateOnlyPrivateDataAccess(database, principal); - endpointValidator.validateOnlyPrivateDataHasRole(database, principal, "find-table"); final Table table = tableService.findById(database, tableId); boolean isOwner = false; if (principal != null) { isOwner = table.getOwner().getId().equals(getId(principal)); - try { - accessService.find(table.getDatabase(), userService.findById(getId(principal))); - } catch (UserNotFoundException | AccessNotFoundException e) { - /* ignore */ + if (table.getIsSchemaPublic()) { + try { + accessService.find(table.getDatabase(), userService.findById(getId(principal))); + } catch (UserNotFoundException | AccessNotFoundException e) { + if (!isOwner && !isSystem(principal)) { + log.error("Failed to find table with id {}: private and not authorized", table); + throw new NotAllowedException("Failed to find table with id " + tableId + ": private and not authorized"); + } + } + } + } else { + if (!table.getIsSchemaPublic()) { + log.error("Failed to find table with id {}: private and not authorized", table); + throw new NotAllowedException("Failed to find table with id " + tableId + ": private and not authorized"); } } if (!table.getIsSchemaPublic() && !isOwner && !isSystem(principal)) { diff --git a/dbrepo-search-service/Pipfile.lock b/dbrepo-search-service/Pipfile.lock index 92168e4d68..9a33916adf 100644 --- a/dbrepo-search-service/Pipfile.lock +++ b/dbrepo-search-service/Pipfile.lock @@ -360,7 +360,7 @@ }, "dbrepo": { "hashes": [ - "sha256:79ae690b125dcc6ba7ada28f07af47bca6e943ae3079232b3b4ae2d369095bb5" + "sha256:7cddcbdcb3eade84f67db01fa32e0649ecc01d4c3cc5e7542d3c402ad52efc19" ], "path": "./lib/dbrepo-1.6.1.tar.gz" }, diff --git a/dbrepo-search-service/init/Pipfile.lock b/dbrepo-search-service/init/Pipfile.lock index 79939b60d1..93c8b42916 100644 --- a/dbrepo-search-service/init/Pipfile.lock +++ b/dbrepo-search-service/init/Pipfile.lock @@ -254,7 +254,7 @@ }, "dbrepo": { "hashes": [ - "sha256:79ae690b125dcc6ba7ada28f07af47bca6e943ae3079232b3b4ae2d369095bb5" + "sha256:7cddcbdcb3eade84f67db01fa32e0649ecc01d4c3cc5e7542d3c402ad52efc19" ], "path": "./lib/dbrepo-1.6.1.tar.gz" }, diff --git a/dbrepo-search-service/init/database.json b/dbrepo-search-service/init/database.json index fb175700c6..363624ff05 100644 --- a/dbrepo-search-service/init/database.json +++ b/dbrepo-search-service/init/database.json @@ -244,7 +244,7 @@ "created": { "type": "date" }, - "creator": { + "owner": { "properties": { "id": { "type": "text", @@ -310,7 +310,7 @@ "created": { "type": "date" }, - "creator": { + "owner": { "properties": { "id": { "type": "text", @@ -359,9 +359,9 @@ } } }, - "creators": { + "owners": { "properties": { - "creator_name": { + "owner_name": { "type": "text", "fields": { "keyword": { @@ -610,7 +610,7 @@ "auto_generated": { "type": "boolean" }, - "column_type": { + "type": { "type": "text", "fields": { "keyword": { @@ -640,9 +640,6 @@ "is_null_allowed": { "type": "boolean" }, - "is_public": { - "type": "boolean" - }, "mean": { "type": "float" }, @@ -733,7 +730,7 @@ "created": { "type": "date" }, - "creator": { + "owner": { "properties": { "id": { "type": "text", @@ -906,7 +903,7 @@ "auto_generated": { "type": "boolean" }, - "column_type": { + "type": { "type": "text", "fields": { "keyword": { @@ -950,7 +947,7 @@ "created": { "type": "date" }, - "creator": { + "owner": { "properties": { "id": { "type": "text", @@ -1010,7 +1007,7 @@ "created": { "type": "date" }, - "creator": { + "owner": { "properties": { "id": { "type": "text", @@ -1059,9 +1056,9 @@ } } }, - "creators": { + "owners": { "properties": { - "creator_name": { + "owner_name": { "type": "text", "fields": { "keyword": { diff --git a/dbrepo-search-service/init/lib/dbrepo-1.6.1.tar.gz b/dbrepo-search-service/init/lib/dbrepo-1.6.1.tar.gz index 6e6884a28d818166eec6ded367274d57b137f4af..a1197ff6465d77567108f3389aae9d54dc9c8ab6 100644 GIT binary patch delta 36470 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 delta 36256 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	|lyP18B3dLf$yX<M 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 S+IrVN=^2l|JY`tG$^ZaFOt`cF diff --git a/dbrepo-search-service/lib/dbrepo-1.6.1.tar.gz b/dbrepo-search-service/lib/dbrepo-1.6.1.tar.gz index 6e6884a28d818166eec6ded367274d57b137f4af..a1197ff6465d77567108f3389aae9d54dc9c8ab6 100644 GIT binary patch delta 36470 zcmbQRgX!K5rh55q4vuT=t?5kvQ<92O3-Wah_004P^-2<p7~bstU3J@SlEtk3UqvF` zo$UI>>w0&o%kDX`QHzrON~8n3)E|FTcV_WWVq;`uP&K}1bM@yr?mzS1goMUl*de5% z=(X*n{zi`l`d6=BEq%S}-LJ6P*Y)eZ_~-lFHQ4)p-jmH|?IP>zw{QRc?a=!lHR;vm z>Cdg-UM~0k(eu~g`-0!^_nkfeZlW2_nuRxSSl+U>vASh><Nn(BZ~p&yeDU3_^3~_B z|2KSRTl^&N-4*`V*3tKE@BXs4vN*8c+MWIOtN5MI%D?r0D=*vry|0Wv@$dV0`S0tO z%jy*W<(Kz8ZNB-mZ}tDyx>x#*;r}1cIsWtiy{`ZIt^eP9{oDWh@xy};&%H~mtv>o| zzwf{LYj&BjB~ktx|M7qSZv5l_yNBoQF@F00_VC-qcmFCs`Ct8exBLCf+oxmx-`Dsb ze|cH$Eakn{23w6Mhcha9KVG}``0?Yr{O(?fUB5qd^SVE4P1jUh-evbb<7{{E+b5qM zZK=JyZ_kU2_4@0#-u7F)EOz_4b^8AK{vQf^z2<JSHoyKheEW|UsT(V^mrp*z=pb!> z?D?#B*=%K*Qn&uPyq*zz?F8SJ_d6f|bNC%NS)NIn(Q2|aQ#xb+<i$*?jEg6qWYW=+ znPE~hqxMz!@@=7KY@$4TFL+&L^2n(A(`b5VT2&bT21}#8dS<b<H~!U4mS>h^oITl+ zS&p|kwP&NQfAGs@^MpF4$tld*j2)9FFe@ted&Jq5a!gKQ_;&Qx;<gIoH4eUO{?EHA zU;RaH*-<mmZ-tfrCtqRqF|SRybNhJNja#y_+LmS?Oj*MBd+qC5AA?r+3J(Ecc_%OK z=?zai5>K!m2sqwu%5vEGvV6(uYwvR>hqLI$etF1I)z)?3R^ypSSDl+Oy*@8~3hSud zuD!#tu^_AJ8gs(OgI5F;>s0+1Z@63W{diI7&BM<0q5AIelf@aDQa9Lx>;w28hu#qN z6<^nSyz#26#u)}RZ3amO?aRjUI+Gu=M6t+o7Ji>>&#K7iI60BkjPd*A8LX;|vnTIk zRb<<nCoF4QHTfxPMp%C5<JLtd|ENq5kX^mNU82i=)2`(5H-{g|zPjh0QX98ImUHUq zFKhQX?~(TqeBL22+pF`$8ZGgL{Mg{@S$ikN95VbH#TUKiz)G$DE{7-mha;BXVrbZD zK6x>lDx3d`u*B`^lh3gkG4@YpWLJ=_F4%qIgz%*~x9e{#+^}r{+nSAnmkOIMx4x+{ z+1EbVj$Mm&sq*E&T$6Lz<(cXYCik&7F$zu=<gjG?HQAdZhVlC36&&u2ag#rAXfei3 zmgbzm_2|>G+DoerJo+s%c`IiKW5i@Gu3$#<$#Gn_Ik)q91kP7G`-f$+6StB===;w) z%Ot}$bNI9-L<swonjU$lyt@7&TZHGkdlPDQmQQZsHej4Qc`LUKBlF}>-0t;#uWqe; zI{9VG>}|GhbzjVHnBEz~B6Q_9r*Xo`Pj156Da<C_DSKMtHbhw@*1Y|#xFWPgbS_(= zaHwwYyVED0<SmHjj;LFD^Wv?!UEfyS%q(Xqy1y;|Ud+9F8TqrXUq9PDyKMF1*tpfV zKTTi1_1V$&x6Z%q4h|^S*~a{bbMN9h3!&)lA6*M~cpesYsSAqzu#!_^XN#6m#~zh# z)|7i&^3O$?9{6=M?f0XvrN197zgGGB(XwT8x3BZR$1vq=_}k6j&aQWHT7TPId@Uch ze8wlUb+fJ;ByLYXoBj6Hw_mR|O%~=2sIOabIKMGyO-b6z@6&u|KhK@AM{0$=pF_b0 zvj-D>&-pb7>f|21s#LbAp@HdY>Vp}zx0&9q&d$5?B(Gfe(W$BP=CAw`m)gbj>r3wI zc_LO!>-zt3?95l(#bdy9aQWSjU%npPk?vBnAlS`kW^Ul|JIW5htNFjyU1{&%>gwSj zA@iWW-setqc-j0!$Ht`7+k^rd6YXN}OnBVO#n)?R-XMMVs@!d3cTK%i(|1zGd1DVf zi}*CdusX@I#z=JEsw$pUJF6ctX~}GRYt;01_qvZ6H&?y?pv;k4ZgT0OcZbzM3C8y? zr`dj+VRGs1y&IfUrG=U_Co1gVZaA{~QFCd|F9!>c_7(LDj>{JA;eF|Iy_db)%(L32 zhB=JEy@@05!P(8CAChCU%L3ID#8{pmoi}^of-te8w;5NxyZBV<zRsDudBRZ{<qvk9 z;r5z$?nIjP<!2*E5g!H(V8L*>&0Urh?lU-cvj8x4bwfV<izKWOYO$DwlEhvwOGi zaJyEW7TY9yrRHWBcYP20b?)u!b?i6YWoA1j{asL3G0n@XMbK_)+u@IaF5Su6yA^|; zKfA5;<jB+hi4)s$raVyfRlnoPX<79`Gw4La@0N>co2q*3A2+4Ho?CEv@(#l@ax=8o zuw@)`>v|pYz3oV6OOftI3BBhVpSSK#y;IC%Be|x?By6Ve)@fg)@B8nl-z3PF(Iml9 zs5SMcd#jY_*1$uDIChj4b`_cG^7P#^U%zgF$8Y)L7OhWo8TzaqKIG1NA-7LCK<;Ur zP}_CUH35$kMFR7i0#?UHn99v~*!Usqij()g^qJcpW-BNpY&2e0-@ki`T0q*<yT83M zmMlnb^4{I4p!R6homas+FL#C6me$WLmDFFbCh+2q{ka(_YbVcq)m+6mg+XgyOLH`P z*Nw1mX@zTl2tRl}|B0K1<X0Ys2f_gtzZEujO?_4ubnxg(oyF1%jIKn?yy=?t%!4C& z<JPMDHbw0%&RPl|Hzu(*C?7Zd^nmMB*Nb!N{B@27jURM&%AYq>{}#KnTCJq$MO=A9 zz4f&oi9=_PlnejZbN!y+9ftIr>0fO{pSvV!m<3O%$;xtA5q6Zx=vmQY`;DB5{R+wn zkGglCZ<Wfoyu+h<O+(Xbl||Rp_xC1m_vzp9hDGspqr&%0#pO0ERl*L-v|LTT=-h2S zK4<O9xKkYaSSlnAEf6_z>4131{?<pn8Lwxgv9Q!TK3Q^&;p~A6bN)$i@P#l5aQoS8 z>aX^8s=e#qw|XDf`uL~+*L<=M|2cp4`RNn?7k~Zi|H5TwOxC~i|IS^kv-w~AKB0Q* z|IJg*@05JeCih}?Ot>{$YHs;kCXxNgy%&$os&RJNbWM`~VsX`)x%+mtUB7izMPi49 z1AEnW^T_JQd}r%@uY~k_Uj4LlUFz3ARR(oie3q{(e_geqb)mFX-lvjgLk*4SHJf!` zBxkSn3|w^lmSx7u1%Z2A&wOs5Ey0~5pDp?|)_3>LtM{C4i@x38_GORX=CAfy{q?br zvrcX_vwfNQ?aA_=lNWTUId>LiIdiMJFEy3$pXQ|<ocC$Uo%`CVo%LGs_gW{fy7Hp! z=A_j|jM}O<z4C5On^vM~w^Swm<i%-|T14CGrcCG&Js2bD8M*0T>*URwJkl<vtTi~7 zzHP}`oeD3XM_p}?bmp8<eY|s-YH2EO?n4#*lLlTM--4KI#Qc5*?R@v;$$FhHQzr7L z*{Q0ww$@}nd}8o%rm3e6cl1)#`rc0e%9F{HRHw{zQL}rhHrZ8aotKx^<eEiio*0FO zYfMO)=4#5VK6hool*u(}(K@P}zDoPgq?o9-t=+O@i_FvfcTY?{YU+FH8d*M7S>0;0 z^~@5}P?o7v_Ndt{Ro$rSyhz+TZStyYP0!rm$YX~*^NJ*=PJOdX=i4IB{LIBV#+>zf zG1rzZi9UJbk<q1flWv{4bF$EA-JUfnmLF$YN9yG!d3(?MEtIzP%o3}Qnz}pngp}i* zCe8h!GcQNoPF3~pN=epKmHVw`Zx(r06n&jOxo7#YuhS<^S-xd^LD9S)QzkE2{)9)w z`<i#MYpUvd*B?&~dDa9a>L}0DzhYNB`Ipg`9@qNGf1Y`LJKeN&&y)R;lNmNEXz6Nh zxboz{rb#T`zG8FcnapT?QZ$KUzQW86PnH~-G@0Am&q&Ai=7uXv4u6`=@9pcPV=uY! z%90~RlZCzggLEt-H$GW%^ySHJ$)2@aQrt8jo%YNMi8-IDV!rCE?u;iZs%Cq8mi6rV zy-dw^nQzKU&k6Ml_pe!!;&D_-TUFEO?vr`8mO(YAyeEY$-_(<Gvg2fgL8ei!otN*T zDQmWFN%3+$uC2S$=*e|%_3&khTjr#A@4O=ByUS;X)-(ToQ_@m2J!b^j>gr1dU$heQ zJ0&vz(j?=jJ=3Nx(LCyFd2&|fmYAqd%N8Y0n{Y(awpUfP*lS;CP<_zyA5*5^S$U)A zsY+$rE-%fK^91=XKk}U4wZ8h}lk*uVw~{;;7zGv0OS!N`G%T(tBWZK}M3svk1%8|- z7j^Z9cwNdUnO*wvNnq;qjZ;*DT!nP!_(;9Gp*JUF)rN_aCV5Y7JU2gO);5Drll(59 zIzPK*R^s1jlcs2$oh>veSoCqx$9k2}so^?v)~q^~rZZ!UR`186N#RT7YbUCN?MzGa zNb^-*B{?bj@~Y_*-e}pSs_Z?s*X8o0c;jg|bxv-`^qn$AX7-1D`jb?mC(RV`oF+Pd z(xfzJR#W}TvbU#-3%T<@fBVIA^VNlvtQ&VCO(%ZyTfFZ>rL=6|C;v5X&De^6CN8ek zuHW$W_pgiv(QV6xI~%!P<_6uHXm`x=s(J5k-<+$*e_TEpcK(9-&dZ1H-@3EtgMs}m z@Al&*)32Vsb^aMkO4q~gGs|viUOBQL>TOh5q_yL`j_58q5$3ta%iNEYSvQ>AxL#I1 z`}eJ7-%jy-@wg~m&hn(NC*bpq(yc}|=`Vv5qTE*<tZ(=|&rU{3aW3brrb{-@x%R!i zT3)6Us^^}Op4iIAdNFaKcZ7;Vyu`Ae!ltZ3$5SDzdN-b#*L^Yi!)#*<&W#>TyV6eI zy`K^wlU<)HAhLX6%?+ExyxC`GpFClsws2ePK6U1ZH6Dj=)$rQzGbGrk<$M(p`)T-5 z<TC%C{bpsatF7xlZdZQ2cwU8>;RVZ!z4q;ylD<N%iJGte-FnHgq~WUVGsOiD-#4B} zijMyMy~kzy*3)w5AH29F_IciA?nhkjBj$d;`cv#$U2Q)18AaK{VjV2komQn9u3GYC zu~E*VJINdGXEWTjZrriq^~IEwi$xL}pKey|N)Ug~a;xZ6w^GQw3p4A3XWYxrU9<4m z2fpW;>k}*Xwr*eb=l6c*#$O5H$s8|l-D>BTzwnEpwEpe?ixS-z&DsrKD|4-Kd_DiU zn$yXxrbV-vHr5@vdNA;D_e-Zsf4E;idY`=dx8P;l=B-=jpJ_P0SFrEqxe4o7&&+;V z%yiLCfxm*+`@)|Bp8~^-Ybz|87uMDD?yyNzIpDNr%ZHP<q}2P`K5gK7UGSvI>dFd^ zD;t)Ty-G88Qk=@GV9yeI{f{EAbmG@Qhs9I=^Ez`kG0xJP_xr_qN!u6gr4jFEAC&EV z#`ijeRq<}5+v63-j&<HI|CY66lIb=_wdnd8ygzckNSWWeaVJ7~?%J#`0$hJ;cD>$p zK(Rh_u5gZ_j9gW-&X3^r*SE6Ym7A?ob*NOQ*~#CqpGE5CwJmcG|2p{Y;kk*+_L^lH z9seHn^;J!}w8(@1zyE*T-uD0d|J1V?yR8>^X5RXC&QOhKv)uhT`&-k>(z4R@SI@jV zbC%_q3^u8%?e0IW+htnsZV;)qDf#og$Lw~GQpP=onUnn_R7Jn<Vh{10VrKNJs8XQO z)NXyTP^A5|$sH2vR_)Ati*2=PuREWR_PB2nen82pr@DcmCim5mDO>+DWWHmc9sc6% zVvmJeec#SGbdj@|!6xFa#Kh&H_a!I4l+a*dKV36rvZ$m6Bj;p0NqfeJlj|gv*$;k- zX`gbNeew!P#d^Iv2lkZT?YDFN@`%Uqx>!MwlAXX+`BxXNv&-FP(rSPE>dCKdOve(h zuZx~Ld-t=@-|I>Xt4eR~+cEQ;&|$0XbFY1M{k-RBMDmY6t8TvBvv-eO>KlWadzo|Z z#5re*%%8gT+0XmyUwoW>+HYcB>d)1uvo-1qDz>b)={YDQ)^|v0{{Q+*`}Xb3o%iuv z<Z_uSw^wgI{VcPvN5Hbzz2mknSIruOHc!Wi2C@m$jl1u^{az`@9ngBmrTO@*-e-KP z)}`%@zi#(HQ@J=R<PYcj?B4&bwa<C>&5A2s%r|#_VtwdGq20G5m~T$h(s@{^!MHAQ zf^%(4%s%H`rkP7}0$CK8u3h`bUq35#@2+p_UP`>^y}HhE#>}`K5zGeRi+?z8V@msU zufP4a{T23u7w-MgzYzTYl>gcv>vjJyzMZ#iVd&R{Zl>IK{|ZXB?4Et|#jAhcum1FB zeP4gy`o?{`TX&=H{{MG&-v5%jS@Y&?f90G!^SOPl{5!def8SUCzFl3t`}XgOf0rLV zeD$Y(`O=!OduykbXFt6gRk<BIb05e1Yo}`dd!4Jl@Biz6S@^&GOMm>Y^RWK^_rdYS zbLGS04&<Nxe>`-}@`(TL?Cg>M?4v$!{CuCEzi;1VzOaA$^PB&#|5hJ&<lp&o56`{h zuXbPkcYgky|K{!c`)3Gz43PJoSNH$<gM|MAKkZ-0O+G5^C|-Sc`>r$6!Ks>Fy<gw2 z-gV!#ZOg;#`{9#iWrCR2-<n(~BPGH=ZQi@oRfhb`V&Z-U*Gx-p@7gtG@_ZRNvE)_D z?pD8Zzr0&|hlG#6hS1}q?xk-hO};GS!`M1mK~|Q1_u<8>-@jWm*+q6H)9(Js_hrpk z4qN>`F<Da1fRS~wmz)91#E89<CfCWSu&vLzTjY0W@(MXUM)k?p<uvN2zyE*p_TR$% z{|^$L{{MOGul@7=><5MZ+W)@Y?*8Kc&AZlChbCx!`u|3D-5>k&kN(em^m*dJ8s_bG zELJN&PhhrrAXZlwYqzjKQKi=D;qF6r3qS9_f2YRVPSNt-(ORcXD}Cl)ILB}Q=IW+e z^G%I2Ys?e3KmC;_aAW$r>70VU_Q;9V&uKQY(b+WDhX1sQe@jk^qQ47=m*u>U^{4ND zP_^JmSs;7TK`v9gUU%U>Y1?~@)qOLs8**F3&3wFb))#Y?7~WeC%NFf=yKAwv7rW;n zRSxZ>tIs61Occ9&vD+*oeE!tG`#1f6zUe=I|F`dTKN6?@|GoD1|HKbJgx=I|_)=b8 z7V)S4{<(7pFP>Ap`QQ4t_V4=6Z}n&P_?NOP%#IMYcbTTU`Fmxae7*YRXFt5>C1}Sz zp4s5*EZ;a&vQ+#|5TBcgsZ;H=54sWy75~<AS;(!sdGX@2&g>aWSg&n~Ue~kL?%~#> ze-gRh8}-@jENDKFpC+@vY;Uy}_ap!FrP5zLE(>gZ#9RNrHm7PbpTw<2zppK4_`UsR zVDH3Z!BehDeY3d2+_3B?gTf--xXbHq`g{<QEt`}2C45KWr%8Kt6>oc1MNgSCbJ0Dq zGptUxYgbjPzKeMHZraLsQ(fMLW^f(j;z$;p#kET_PvTl~pK+R)c@M*+nPE)ap9*)$ zx5=~Ixz7AKaDIn#V7>Oue<C;E`TP@!)IL4`Q1;KX@;8qD`I?32mPD_sGKf@*J*7Ug z-)0I!zW#y=_5&++%=M8f{A0#owdVJ;HJh)#oYT6j_vOdnrG~nKGu-B?zTRl<c;UjW zBTL*i2w$Bf&GpJI!R$`^3UiG)O|6FtW@tAiKDt->cII7&LW^rZO`h*+suwHxutcQ$ zp#RM8l6eX{cTM7(d?bjuPq|CH{GQ6S$1&$-yUa>CQaM?8mGJ4sbEK9W4w%l~n6rYh zxO+wHe6iWew^QO%7!U5?{aklvz1yp=*Cw9Oxx4M3!N)qaJ@HculjiZ9F8*lmuJ+Mi z_4B{YKiK$hGVT3bE3K`-Q@>7IZ~bofdj9ujUv`}5zH$G6>5kpmZ*KmPHst&tQ5}AC zzVv(6p9i}+S8?-x%XTo+o#HGXY1Y}K@p4xA2|bmW`_lHbajt$5yeRHq!z-ty7Gdgk zITI$8t$rz|v&+!-Z0pvID)M3vgxRh}_xs*SulV=8iY@iawWCvN(&GPxJUaNuHS<tJ z@x<2pgUj@1|9bqk<K@3I`;J5<PY&5*YPfR#&FOm>Ii7uujI`c(&$3taeVowK^nY*9 z-|4WrSl8UKW7ovn+a90#q+s&cWBJmFyel*=2;6_=d|~oi>k>|_ze17POj_5yXL~(< zdAIn${m@w@BHO>RU(98_Ubg<zsVlaZAAeT3^=tE_?w)lX^`FzHU)?$F;@w^8Zy!h~ zMfgiMFceR7EO;VP@<ps+mPkqO$7K`dyUqG<EMnjLs^QH<-qeD5l0CNSPa^(!Pu0E8 z_S^Z)R>uF=SFC6Ir(99$toZMxV&V(eyaJ|4GCL0b=Q?*cp+4)9)B^i1i35*o>#BJ= z+KU1wteTdRZ~XVIp@UPs*L{JVOI{m&2)ej`@7~18&py4rbd+`Dmw=erC-hU?rcTIV z)H=||#d)W{#M8v<m>kD(#_CCTq&iofpLF4v-Q)XQyTi(oLo|X!%Ww9v{Bh3Estq{X zdE}dSi1G9-dleiu&1GU}6);p{T^5mHm-VO1U{1rm8+|4%hc5L;K05xWtDyeiBe|Dq z-ftB4tcc{%x)^rl)bedL;?sF0=PqHdoOpV1>C{Hm+ujqOuuAi0t48~7|FYa<O-t0L z)A7omXJ7T4xa?-H$)g^gr+zAxlLPboIm6E~X>`3+Kh_#DrCIx#bIWNr*UWqK7AIM` z{P<_Gw_Dbk>29tddt|tU#bMTvNij7n^~a(^KjkFtS|VSwj-x?av3NzMD5HyN%)<IS zmoLm0z3(oc?elI|L**9jvhC%IA0K`Z&eS^n__^dN&gqtO*o$o+G3szI&+rtL*0}QZ z-?y?^S~9VB6pWp9C7!Tt5(rqAGP~lthfn(Hclr8j_iHeFyyw5lD7#+XxVNeH?Z1GC zv;Ot31LmA+m1XAN^3rG4M~~G-uJ`$0PRRZE|GS&v0lr6{&oX#F*MGU;>l5V#p>wy* z3Jp8V#5Lt<yvT;VG6%RCoBIm_FPOHzWZ2*){6>9m>P{m;x2Z2gF8mj{_2^f~-Id$< zx_wuh`TIqMo3FjxYhpA_ODNp@QP!jiADfmfi(bCEU|PRASub3%%hBtiQl#lV)xQaP zp66<h8+(3UK56696Wa^hD!K!FpIUgi#xM2|&Q6+{q<iW4nMJvEoI)?l88w4iI^BO& z`MLeGDEPY2_08-EQ>jh=XN#Y0KYp#Nd*RJ%-crj$*7_V1IJ=;tC$_D-!|%-7&?LSN zuUA2y;qzUE#q(CwXECSz5A&?hSrje%Lht}rUB?RJ)BN`yvc1zjZ&dyM@<!L=+_%k2 zpDkD7nw@z4z~uI%SubX^XFJ6+JZir2<W$m(NzThYxgA>mrN8*QFYAY(iT7qV-N~<x zd$;_}o$%xv_g8SIRUGfL>G^m>$$L|}CEM&a^~j00qrQH6{%5O4$g_xg$EH&cA{Dg` z@4DsA{+{KTk%XGp@(t02dRcaYNzD2U93N92>9=t_eKN(p#e(;|SIfRT%!k*PPZNCg zX~&DA6B8mWOy26um>p^3wr)y<)JfZ^*JOGxOq8<iy<6aG=BhSL<3#gzyW%7Ne+G#& zT{_6r^<s_J!YAiGS6FZRez~gKFRDH+-?sdX#Ova&$<L!sygBjyN7S_05*zP!&q_<W z6In7>INm${%^RQmEjML9PmI#r^YVZ`$MmmTiuYtayyvoyoh{<x+NKKQPGRL66)$#h z{IS}5zt!T3u=Lk6{bwJ2eYE?v<~OsT$xkmF@-dq)R3<T7DJj%or`efJhLvXjPI}yU zU{vq={qWI<GyU@XOG8#B-V)e9Nw;^CNo~o`_Cre#Jd{zAXfxze*}3YD6Q8d0&T^f7 z1$I{!)OTBjl!*x@9eFbCMNp#4S=YmpVzegOJx^BlSItsh;3`&=vhn=8jrZ^WGvu8j z@@zV<|B5rmB9a{i%K9!jbZlO#^mq1buIp7<{t+x~_0u=bpTsCszvo7u*OIsD0oTg5 zygFIB+VZNnxtye?)a(uWG=4;A<!^iU<#<*6pEr^7<W-nMa%`VwYMrTCpMF!!uqi`$ z-Sw@L81-(3J<#Pnq@TvwR;AP%^g<!PD<k`hvBZnUXZ&|I=1$n>7AwKo+yD5v+M2YW zlpW4i=|{KyVxCf;DC+#(?ooWzhR)rd6<50}gzY>^1e9XGDavJvT-6bgxw-shz~;0~ zx~a!j7@Dc|t=cl-8;4A0X!WlPo76AAa#M?1yKYZF-t&{0oxyFljy?VA`P*diH}7lf zrsw_9e{?<JM4gxWp^P=Js=Qnb@5Y)pe>y&cQL}!Fg!GsE6MLl|b=My{DD~-fjr)Pl zqZb9@v$QhJr@WuD)AYrC_4|9GFC-eRo^^6X%Fe81mzF1O)jt?7ESVEhIVVuOW6PI0 z(#2gy1?mMeSBbjZv0!a27ARg~)4ZXts<efnbHX{Vv?Zr{LN`3!qg3D>5LUU#!1YRO z=haySc{N9k+#=84pRl2`R7TvQeyQa1Y|lU=-g(m#xA`~s?vFoH7jFH~>_M?t-W|uM zid`o=CJKLCbfT^9hS$4owGnTAet)N`6Mu%SF2~L5_EG-yr<U74sfxsuPucI;ewZaq z#kaG0&)nL`(5u46W#67Fo?YXsaPw`j#O30P->#*L_Ue~)$DMn{q;+u3A;HC$Rg3DM z-M8&G{ao|f{T_$h<HyVYR0^8u-98bkwdu-d<3h$$;)f3}-W({!Jw5o7lE#O=qC6+7 zEk^=PJ8$ruIy=*^a?KpCs=`yhnK<|-SBo#T@e7lX)_MJ5Nut%~MV~S!7sTKEajCN- zoAFV)3#UN0hCe%prfM)dM}PQK+m7I{kB)IV^$RpMv&1e`QRlK|FSX2@l3A;pU6@xJ zruO})mVMK#=_`J_O#3Zd%~JGBH|eK)=F7~S|2`WemS*qoKf6(Aq2I}pnFVLh<juEy zV|1)w>W0%TtZaAArJFOBDyxU4=GQw`?zc8*uZr5rv}exI6xSP;RSB1L_k2i{n$N#| z;nf@G3~tvegxOgAn9Xr|+oahnTuB?=G(V00KJ9FOh_LL{&a)enZ!tME)EwkX+iiX` z@L6p2A*l_Q&-VrN2X!|I94@s|Su;W9dB}pK)Mw54i8p_;zUvm5{(7Uc9=F36>uU{5 zIYa09_<r!c`&ut^dumj?en5La>vTPVf&&(_AJmo9Wi%gUs9!N>`NDqzH}ak9X8-@T z(_(+d5qX=+fNaiL=jRx%UHB$8FD5(WdDWx0^IhgE7S9TNe7Yl`cjJaX=Y$td;Iek^ z6Y%^O9dsunF;rxp`_8MAkM%uMI9s%dai(I^7thl3ivpL#F!oyi6XgwwJHxytf5rE+ z0fJw355IYJ>Z<KS<w{HcdcJI#%4^IEmgGy7e~elD!B^+4$KEgPu5<d<9`SXvtaW-> zA?&)%WZhXioqU^K|EmtNGvt<cJKjs19xJ<8eQSbCq^xDj$)s3^oL>v$E{X2ix<-(x z-k#6o`oYUZU)ZngWLDfPoVm**<oll*vnhuH`eb!t`!&zjIkfZ7UiR>_l}&wHT$vP) zP5B-94U2>9B=W?0b@JbAXp~{Eiob1Q_ayThSM%bU{}Bg2oLaj<!OmM(MkvPT=ke#6 zY7SFWlAF`tZ>sJV%CAb@by-_*?i9C^7k?!RZu=}VuYJPZFq0RWyVn{pY26Du<?y29 zXSLUq2d~oJ9NX-|F}-xUdHSrxpUTnm>t`69?wTLPa(e0V^f`OjqmIouv!DOQnf5Jq z#)<Qn@8@Ux?Y6e=K;O+>XN>v}UHy@J+g<$Qp8aL|nLmWxm4hC<EVOyQ<ezJc@RVF% z56?xjgiHL*b_;lK*wXf6(}Am3wYF!kuwT@)W8uGu1-nJeu6tC5`SB-O#C($6f2`)< z!-8Yi>L1i+H@!CbabMkh@2MMw^Dlo3Dmy(ryXI)w@9D|4nscY+*2Vhx^ZC5DJ*oeE zv(h}XcZtVROm<!suCg)yCLo;mCaP`zu7>8Q-r(t4g;$=hdU2|2vsLo+jVI<knG|zg z|Iq$FzE%^T=ICeU|L`vVCC0bO|GvaMuFM~nLFdoK9)9IpU&pyKY}WMcHu-Pgi9cEU z^y4MXp3<8Kf3H-~(QmQe{5zfZiGS;>)QX^PM+vsC=ih|H&Sp0^&h)(K@Xx0AcrDM~ z<({ePg$B1|q<Ft>;7L`}&*VSvtmF_Db<j(@qH1k}$6L-%?`Q1Uzr-|KlGpE}_Q$<K z_wR4}p~v`Sy~{k~y><2fI9`MZ_Dw#i_p)k(!vwF(zcpK`!pv;W&yDYVDRk7t_fb$w zNuB?B#YL=w`GSSh)mA@0d-lY%gT}mU*PmBqUFPmjzh)>JVi-4V*1;RkH?Ndf^gBI3 z|H``fwk$=3s+n<(DkY~cD7dUQ&f?cuVz1iJH6wo6&-F*lMDKh%@gcS>w!Yd%q;kRg z8-1U7%W9qU?_K|~wpGF9L%<IY#-BEea}R&nJ<qgD{+0VKKGTmvwW2R2Ss$eY%$k~? zvsrDXv*0D>{#-%+u7%#0WLEpycU|oX5ILLjLt$_0OLc~zovl;DUUOfIyxd$gBhxV1 z;hfjs)Gy{=>o(ZTElk_H{Yi)NqqAA{TQ1gAhZnnD((vB3ux34{-^B;@%9B<utf~KG zAbsfkC+D0FooTXhhpl7dGI}pP3~I`(sPDObw&uvULnpcR{C+uW%c&LfO#BrYC;p0g zR-!Xy#ev-w$37_8Oler~;j>K965-2P`bFosve&b$pJg$r)zl)^v@-M8k<W8j3^w1W zxo2FTEV5}<S%S~Y?PkV@qPW7tcTZ;7a$=*;qK(h3rtTE1OSZ&LEBO~Jk*zSfCn zC*{xIe9zVQwtz|I_nJhVj)Qwt<oB5LPEYFadH>e(=BsPzjyC$=j!bpk`f2C7mgsp^ zGVk*$-FJ(G1x_zp<;}F{#6-PUkF;KfOkW-x!F@tTA)~%{m9vFr*(Uu!yQOUL(;oZ` znw#To|LL`NS+Ag~{yVAJ{t_EgxBOuHn0M=8t^ea6i3<8RKMKDs;hdy<^I=d*^p@Mx zH%^_&DqO$sg{9!dXY)T#DAK#!CChK?JL#w8a_4lpDGCLGzUPi93-R33*vF*y%-6zs z%3ig6)A?0eP3e4h>)D0ZPY>yL49MQ0oV(z6Gr!L}zB3b+s(4pBhnZ<kTP|Dh&DZme zx>%s<oa29=o?7zs`ENDrxOq8R4?RAnc%QHJWC>oxVjTS>BTj;E*H`6>%MUR8?UbK! z_$>S7&xx*`x|MY|lA}b9I~lIjzaaS4M{c&bsKd@HF>OERKAcoB{f%gS|JU6!!ecVu z%)I-!d_gwrI&;lu>knLZ{bz7gGRpe)ZB~93{&1!DeSD7?PwYwP{v2K2vWIipw*M}6 zJx3<`*LQr_`0>NM)-{?2OXjMwJpQXCvU%p5&-z!KKeGJ$r0X~PfA5luKYIS3d+YpP zsPfYqu4O6dNrC#lhkagF&fKJM>$Ok4-GrNacr<OrEVtP1b2eQ+gR8pMPO<f-#ARpu zy2hZJj`DU-V}71Kvvt$YZ91iYL}N0iR+hBS(*Asi*|Nh!jO*cyZ0!ji33W>Yb01eu zPh8g3p|6}RWH?vc-BELbYgqCOgPk9)O=Fql`bd3Nk4}8e|D+_%eH?llzRpzsakNcV zp*~R0`V~XrracRqH*9Z}I9vQta$bAvjH@a}tM(b(n>=^6NE+kD(>7UKf+Ah_|Ip0U z*4rkcCsusSRsWY;k&kuIo0I%9kw&{8M^5ujuIT*tEU|K;+q}!C&j))JN6w$*=~Zri zW?HCKtNE$f^CTu0&a<o*Ug#0>aPhv0<sU^>ZrLSSzv{!;04=%wFHKHgTh4HP^ET@( zx?;I09ed`#W>spOFj<-BX3M6&mwkV)ZcNZW_A;RClB#Ek>hnoz`yKyJt8l&YIi7#( z0w%-scPf*Qp7xy^Gwaf%7x~kUoV<JG;?fVR-so9=-Xt?CKr!IC)3-xEr|>KiFZ~!S zqq3)V`5Nu{^L&o$)X(xb$^0{|_=zaz3+*+AdY5N@|9bq4XlRhjoI75gk!e4E-#OQ! zZ+@X*<s|D%&p#dFp02r5Irf-}dA+-LmFL6n`kry=4Iy27`nLSNGjaYAhoUCC$9x|J z?_D{*c=NW$2cwL_UT<wbH{D0RvO@3WX~DN2U%$<mW1iywE7|%0`?SMP>Y2EodzCii zJa=hSl|EE1S(va>uUzWh^%o9_&Dx&&j7`sclG%<vdF}V0Pm4E1>xrhzdb=$j-|amW z<X$4HHe2w@wM<o|r>poEpP9Nf<oM2lo~%;Y*%9e`l9QFUt8CkS?nYNo(X|s6*Rq=b z&iuY1T=I+CnKgYc50}roS!#QD{joXq(*6?v)TaLqa=t$$Zo0@fvDbwkKhImHX}{5L zV&Q{B$(!o(rXPKCv7C!X>$JuKcHgUPRj*Z#ywv<)dv{swM1j4_ef$$IR>wOUo$9{N zeBOekdTRfqt>5M;%BrrtUAZ~%QLb&dk=MGF!lzwMZY?!3k7dg4kg2v%YRh|ce%Fsh za@F-Vljo}V-_cIfu>F`QtA8%6>#(e!<BsY1bw<0B)vOD>xaP6_xjHNAwExAQNqt*? zCB0E<aGF&0F)md!BcLumGCDEn)TOh!TW>F2CV4is;OzY5FHL7<L=QZ_7<lEhTv|}D zMcCSRTV$`AEj?`X$JzJ$($}In35yJ+6uojLJbj}gT0iZc_iVA6XoI4Fy`5oAJCYVK z3MJ_*X81Xk>1k)-TCe3h=fv)7`gd%b<B~=NK6kyQ9UCWo<~~(vcGF+&i8$Y<uA>DD zHC88y^ZrRc7qDvio#50THGG}ZFMSqjiE~@8dV24j-IIeHW(11qX}kzxs5n-kcue}a zK!vTudD%9%dpqUoL-)L{R4R%6eLtZ4On3Je-zkQSo8-!51DA#!^zb$}csjX0^ufgg zS9om}u{+;+_%QqKw_@pSy2tkz%N~#}*t9`&xsk7hu-S(nM*kZF8X9kwq^<O0jtfc3 zK0AB%wWGejKPkPL|3mAwc-jokQ@#N^eff88$hX=j>ahC%v8L^!JKE}#?JuzHkn}SW zc>Mb4Q(L8swxo9(HGRJ;yDwwir7pVe=?lS`Uy7VJ$)-w8p4yUbrNDPV(PjIyPlAja z7o1cNTm9NG_ISg^#K~8ZE-e%cn(3f;IQWNKsf)@b!49dzt0zkAK5*RUK^c1h-<FAc z+*tlLHG~H5t(wLj+;K#!=2#PhMt$s|^_hAipXDa5JaQ`9&Og(`n_<D%iDv>j)^<r- z`S<@7I<b6PqK@;skDj^zpG2+Rw^inF?HBW~U$?I>+FzP`T4npIw;a!3w$z3B9+%j8 z;H%W$Q|XsZ9%;7sJTD!5Q#WRFo$4#$nLTH+jxD<HpyW}wchZMLS||8fZodnC6@9Q^ zOa0H8Hf=xrOCO*2TGDsXns4@Dt(SL?y}H8uoo|MtsP*Bd?~mi0zr``fNIqN6CTv>6 zxH<lzf$#14Tz^FZKI}cbAWb+RU1RO3X-+fD#IA4Mej}=C+8!>onAO{Et9s>kEWGYy zcW1)=9a0w-)Tf_c`{47@e^(@)2j7TNKE!1n7q>w*yq;s;VFQnEdw32j?7g0U+Q8${ z150M%Qh{H>^CekNoH_c@CQvNATl1r7faWphl`9von!CMf<A>M>x01a3Pi6P8o^s15 zj(l@XQNx$%?5F1;j{;SnFTSj!V$`pxvCiLfD$A7fGu&1vB&voos!UM{O=q?4*4S38 zx$&b_j@qJ^OLOY#kNhm3Wv}4MJ!Q?m8((T|1T8}>WvAP=K79US+e48_|K8uau;a4o z{`qU<-fqeIDtp~|dSZWE!Nysa+Z8%~M5sh%R;j*A-KVp9x`b%8Oxo31a*q$++OM?a zlz*LHruhTQEeYi%-<%}Z35fl2{>yO0e-&Hrh4j2iDYeNV7u-BDz3<llJ#(Rn^K$<# z`AumTgC?(E<~Q@ys&nC$yLM%LWeIh8w#G-dtnRN)tYL}BTanYtbMo9?g<N-C`*l`M z!eTLP<?H`<9qJZdS}=F*=A-j}@r4`I_s1VzxW_--%5rAD=gSTIuB<(M*R`o5L~zrQ zE8&Vohg@y92br&~ntH8Nze+`*Jiq=Z>%|@`pD1^I$IhP_eqFEhBTpSa|LjTU*S?AA zyoJfU4YfDBj$T*mTRvyTLXMPxTsy6IMybcP=#{wJq^PbA-&ExnY3q7JN&L6dlQoBQ z=X)Pf+BVPq(589DEIIAQPtJv_Cd`~IXwC8`BDVh8?+EKnX}b!Z#&q9hayho->ebv^ z^=6H&@Ae;IxO=DLnm};;jx9fw^vi3zF0*`cO<49Z<Vdl+&}rfMyLRoqkh=b%R2|zi z`S>vJ=YKpImb5IN5}v=1=br?_&UtTgI!+a5OqZB7i#Jc_dHlX8i{JLUPd}fs^iRqi z*Czk$nC}__9jEy8L>pJcS4n6czWXO|#m09MVjHdNP2Ntq=g?Qe?zE}m-Qu3Do+Te# zCJLJT39UFXxy9W;sp{B=YlRzMgl#KXd~t2gQ}Yk=#dpj<+y9`p?eCi@^QM>QeJp;L zzPw?>oxg8H7~&3yZr|*E{gBYq`;Y&%dR!4#dlYuayE=3F&huLPmdRy_dl_sC@o3tc zvT<qLg}pHwr(XJ8KWTm4|FENBTzqlI&K?l4<(jo$*yim`&dqZdFr4+Zv~G0xSLGk@ zW5eHtbBsmo-YnS?a!!*=hAZ6if$yA@f4%coZm`<_ZsnDhpMI$a`u;cB{x=WHt2tKx z|4;uF?Wk_q9R~6eTpF+c3qE~vvNmb!hx+x)`Q4pv{m|Ket|-93ZG(P&Ri)JTi_FXU z{0kE%eyo!{;$8Yzezy9F#n<P*3Sn1coafl>Rko++@&91!+FysiO!}+$)@E-^uO8?1 zBGFwb|Ib$+OcQj~D|GqqlXb1zX0^Sm{6vNNzfmV&1>8-y3Hcs9Y13)@)n*spUrKp% z>HKQnlHZe5-u!95F-<99dXd{(lb`ikl}&z^l;2Oer8f1z>%+zGCN4Gd7Fi|vY0}}w zk9DhO$8~qHv~8JQ<-gV9?6irASqDO7pZ|Wzw`X$8ae=K{g5L-Ip8GxHwoCH)lDs<y z-qg)${hd(ec}#ZgjVb$+Y_+c$Pyg5XJLmI9p0N2vh4Vc!oloiI|4cXezJ}dh>@kDE z<puSb7xld?4<9XEqoLCJMYwRfas2!|$9E03`gw1?e{5WkW3;c_@o<;n#3G5a;x)P( zUmLcF_E<!iY^bYr{HlLR|G<i@*T(8M?B~DR;JGbswa0$mKk3PmE6+U5oKPJ1WOl;- z(|a#}w=B7_XI*;Nlo?M~?W_51&%Eg6wEvggzx%hZm97^|nYLK>QP+tVZ&_Qu>Ia%8 zd_1TV-nUqE^4U_gim+9Oyh0;Zay?zeWz71nK6%z53m=mzK3~Pvzn`Wu?osen<X$v= zfu>J;?{p2<;1jRjvM$j$vshEa%eUg9)IqO;^(@~nv3|cYrB!_P<PR~AOhDSy_b3$3 zV!h}su>5l3W7T>u!R3*AZ69A1yQBKP|9!2o^`$<g6+1TChVOIn4ENopu}pr(igl&` z>eQHaFRHF%zML%1SaN(``<^K+XB^tS8q;R)l4scGX!1$YSNut-$ZoCnBOW$3$JVa4 zF8L$n9csWECV!9R#BR+QQEUOt7X^6CUfq)BK0kf)E*qAKTN^e+*ZXLFzLm|HqPxQB zLnL>w(u6r@6zBc?s=BPS<>MQJiT%v0tvQzJ-pmYh2&`*3cg60Xw?IqIi}jb2^cSvN zf3y5h@j|Zbq<VL)LyLE|JX$nK%!Zd;szZEbGD|6^Lbe@4@{xa$);+8rpFQ!F?|Yr| z>#?Byx{r%3E01)G?RWg!yD+`JQ&Q#VW)CIa|L##n>>Nhx-M0sY?E7E(`S-(T-;bUB zp5M3M-u~ad&*x9IUCK6UOyQIGS8XVfcJIq0!8N_-MN8y*n@(*EYn0k{RIl)c)AHb_ z=OyzR9~AXniw-S%%eJ=HGCyPU-8%X68tzr>OP{pNXFC-x8@Nie^X!x6s_>u3)9P=p z*b`p*bb67X*8LL+$r0by&3aK<IXg3}e{;*ncQQ-AiYGs-lwG!|qADUp`~JxTg+4-0 z7!6%jY!V|1`2vD-B%;FJ=%}4L{rvVS;k&kr7dA8==IQxU>{u}~>E%_|l7HF7mwB%K z3z=$vTl{#p{;Qr~wxuhy;=QWAFzKeQI4;9jAOE`d^TN6_FVfxopH5%dQdG(R`qSt6 z#Tm<@=RZ}7tlIQ>O}h<uZSViToAR5|Rd#)u{orcebP-|s_n$iRo5FWjXIaX>fB$n* zvxua<>ff?5&-pXwM|brsmtU9cAF*!g`I&NFHvex=`hR~%@M~$ITk)MW|FnX-e|LQs z`c=u6dFFS0>?(_}Uol-a&;HuBI>ep6b<pRF-Q)_fMdq=W#6;Gs*q=<DJh$Vt!;|Tn zdpTZPI17l{9C*~q-M6Ke=iZVNTKxSBzMT;i;CyR$u)18P=a_b+NwUnTpy2+@wYmka zhu6f+S+_rOk-z1|`#$W>GUpzi@BJe2>HWm#b`fmcZ4w**derZX=vXk{ZBdHDXOm~K zOEy2>{5Il@W8SH+k^!f!7ybSIvx)7Nrbd?6iH&Y63{KB3|MSS@_^BHwZY`^e^pV}% zIIGQ$i-Do_lKHEq!}ojD7^Z!G(lbx^(<h7CC5P2Rt}LFb+q(Xf!Sd&ct8Mag)nfOx zZ7=_25c%fcmCRMO?CZZyTvh)v;JaN{ci_>?XHlWYwL^0ojx0{->=obRtkyQKOka!H z?M_73cgfDnRyUrmpYwTRK?S?p?aRBDRRw0<II&;Im?yaZM6;Um4&mqD`Wu}M_OlCl z<n?z;nca7|@Goa!(nssmux|lBIZJhBbm;GA`~Uk%WNG)Tz~W~Y3ukV)^TzUC{mV~9 z&!+IrH<Q!275~a8&2^s1%ii+;SG-)eY=7=k`uO0_1X=6GtD6&Err*nSSottF@<ZFE zeazY$eDmz~CJWYk3D*3y)7L08QF}7$(WP>x<6k#P*(9#Ne?7ug?01E^VQD|(%*&G# zf5o0(^mfgfYyO9o-d7%Ti0ihE;7e0mvHoTK+8lT04Br`yfq#1b>RjqyYyH<S_t)Hy z`I|1TxTG$>db!x?_KDV-TqUcMZd_2mc<jn_=j)touF+q8LKJyhA1vb7llI=(W?y)* z`Jv-K(+wM4rm319zFd7UXV-EI?wzNdBMx6H^7A>6zd7WIcKcJ=2j3;Nv|qEmK0V*q zL{M+5bYMN>jw$;MwM8bnYBVPLo7Px4H(zx1nk-~@vfX!Qjq<e>G0V-DG+*woyv-GE zXm+gr?A;kLH?GWxxbxX$YO3^8)3V%ucH3;u=u0(RbX%@ak{4eZWxi@_vgMMXrzLaC z9{lLJ`|ncT-nnZpe_5T9_U7BNpRd-KM(^ibCZS$YVR4;hS-ruPipyUr)*TC;smFbN zL-JaYWlwoNo9O)EO)=eg`P|Q>=%RH$x2(P#|I75POY9By<=aeFPRM-K*6LguF~Qfl zdv#K%>lO1U?|qi%vUDlkPN>gX=#qOPpLJ5UiDszuBk!Ql+#~W=l#13b{HJk6eR?ME zKl3Z5(vQ4-y{5PQSftTk&--(2K>3`9=0ENSY|iP>-)b>G=SZFSEA@jy(w*vCO|D(@ zsND9E<v8!B{hyzDiI(TLl<aYlXZPpgG~Ds#iu%^)PnX&st**V6%o3W=WudYt=9g#j z<V%ju=~i7mJ`QOf?m^WR$EK*r1YNQevg5d`%qpvvee=7GU-^<VZ}lRz57j3-n|r-H zH|gmPuX#rUKZ)c`T3$NoLfZUy27g7a8XpaJYWMy)JN{~R+ZTlkyP3B+trbc4%5ink zZQNqJYwGvZr?rul@nQF-!<hR*-k-kqyyL<D;-|flmC0V;j`hqxB)R#wt7Y<x*u6F3 zK8x<FS|kPiu8}kMVVW}iQA_<v#-7`G-ByW0wl?V<T<Jeu?-;bcxvzaKPRGlkGv2p5 zWNzMrbs?LkdVOOG-K4v(#*6#cA1zlM_e;edH@B>tu8^^LSFK#+Y__xBg4=&?n5t5E z*{afSVfW6OLvf0Q(#zg)*4LDMns>JNr3-V@v|{1+POml8)Rr6B$9?WT$sx>9KWCb7 z*q4y`7j%EsRL<XEV7T4PPh0)XNA2@Q)vO$DTNc%p+;P{u`Bbmvf?3f^k1dAQvL9!~ z^T@hRh!!*C{9>zasJX7Gr{GJa*|$yG<ATlpI0=Q7-~1=OJ$CuzjZF3{{HOI=7RMxh zKcg6~8~g6e)spr0$2OOz+d5`_`^)jwM!o*s#P3`Az0~C=a2e>H<KcR1qH`tTm)@Zq z-)A2hPpJ58-eYt|x-5ag{!G8e-7N+Cox0`s@?<Ogx?uLN>HPGfCC8mQQ$33h&p&zZ zgL1o#=I4+n5$eoS9=WN+>Ry_)<nfzrlWLdA-_gBs|9x_Rn(Fh#OFK0VX$z&K&r`78 zn(A4yvEF&r;oy_?$2TrXy~)^9^HC>RX3=U(_m2&WALP0mSGe}th)wbLtYQ(yJ|~l) zLx%I_U%$EW_3Pues%qY@|G%^3<oXj!TKU9gJoj05!fe^`X9E6}{A$~5PW4{d-pW_i zdGpoIW64abG;YiFIVv#hRjDYmIz8`k#90Zic^@Y*xP6MfUN6T#_l=KT=>3(MYqtEF zZE|4u#`M4$k&SEgBC7hPu5h%v!nt)`xxL<+BMbR{ymqt6RhU+?PQ-v=qVAIU`U=bf zAK3Nxe8^;$yydCXr|u%h`l)5FI+s>Ns_V<fvg*6%0-rkVxujbAK|4<I@cT0gKc#BV z`7fBVHs(UAMyn*dz=pZ?jR8{mhL`UA(z))}sV*e4pP|)I{@A=#r(We~+|MrhYkFk5 zy8XEZ$1Q(8^W4bM`R%~`s&pp1l!mO`%+=PrZ@&~5(mT9(E^DwR<DZMi(ru1~eD!zU ze}Apr`Hw5}uWtYM-0T0BHkUV-zib3;lij|(oc}O%m+X7%x0j6s80y8E-#LE2|KiX4 zcUjIhk5_Lj-m<-T$L8OM?*-OYZ<W|Tv%m2DOy%<8<#iGFZzkDq%X430I`@Xyy|<RL zrfdT3X8rj7+{J_2eu>*xA7I#b`=<RZ%Ny)Bch@t#{{NvM{kL^)^~~4xKQfvQoYpgc z`&aze#<q&jGk2WN@BLp=`|+&t(aFo)m37~*-gSTJVV2srzgI0jJpJt4*gtu*`InuQ zlX>)B@y7Zp`BQ7Jn^avFc)LwME`HhMZ|+9*%h#_<tj)N-_FV6^JxrJPWZssNe4o}Z zUH0SYib8g`?X}_68%oZW$mtmDEx6u3U+Kq!YB4E~I$z`0f2~B#Ws{#gnkMp<_3xH- zdhesemxoV(+dW%~HC(YvX??!++SlFBD!FHI?kas7Uhc!NgMZochk_?K3||Xg@jGx~ zhxCC9A_bF|dq}J8*?N^-^<&`toFdi9JSPkl>sGU`S`y#s<9#FeMI6`M`0{eGsPyv5 zFFa($%D0E7Pd^)MY5H1`Ly%wg+Y!ej|K7Pxmi7#j?Qhf$k?8ti5SuDz@4oEed9RF# z6L=4XWi@}E^Xu&7K2P2Hx%+P3zW3+j-*~fsU)S$v$ZVN<bwcAjhjeG@YrhQ+FMjpy z*zUQH&(8gxE%|-*rjzED`|P|e{;LG{`M2K)UXuFv;t^(U*YH)D=WF>NUG=&ieY0Ns zcYf;sw=!@4Ra7vDJ?Pi|{a$+e|CYYcwzuI2{w+4;|91b|!*3Vg9sI_(=6~~Im*%@u z|9(IF;s4&hD*x}te*C}m!+&|F|MwpX{z@o&ZT*|wUheIm4U?GeYy5Xl-udQheMx~q z@BjDj-{ifQU8uKX^ZxzY|IVFU?<G;cVfXe+|HJ>(AN@c5#Q&N9_HW<&=)d;A{i!T@ zk?-bf{`sHqU!Y>&mH!7n+`ngOVR0++<Nwr}4EO)<`tF98m#c64QhL1bX6?>@vp5(I zMA)Z@>ToeUuFE`p=Zovod8xP9s<W*gFRZxJ^xmc@!Dx}Q$IW7&{FNtbAJ4j$QakII zl(udCED4+NhN<;Se?PNqJ9TY~cJ%f+eJ>+-<^F9vzIM;Db=UJ4Y-XH)=#kxWc5m|U zO)|fB{g{-oH0$-@YUk^6eOudi$yeCwgvS2=cm3@9_SyHP&F}BG{P*wAkKcZOf8YCc zZ1>}{d%xd`-}1G7-Sr>SZpq4KwN>xQexLf|;C;E~XBHA6^{OAFbDoDUe|u^7fxj76 zTMYLc`}VAA-b?;R{kqEkj{Gq>6rve$Nn^5dkmXz11&`j{d$ZHvxbpRFyC#2_dcX8z zLg+=KGt2vr*Cbw8_G!ki{mJPY9vK_%`xfwicIU;9EW&(Y@@i80`-O5JZcG00n(=*K z@zjly2J&g<0df^$BD)sz)gNBIU-J81YcZ{LBB>kM%RLMfIXqUg?6!#hE+Ut(OjK@} zcSy9TXtkA_r;pT(`@02YRaN7k^Oc@DASBTJ?B>qO<u;S-F1l{Hx$bqsK8Fe+A?CyT zliRm!jCMF`3|{8&B~(JP+54gR=^7utQ~v7@G1v+U_%xP0_;pGrs^c(6{TbyM;it`h zFDq1MiaGS?)M>$zzb~pzne?x<zP96m-1`T;7Lt)u5=<1l9oA12vRuFT@ZPV%ZnIb< zHt)@4{l{@3aL)2=5(j)V&$gyt>r%Hp{h9e%`m+rSCuh2Ti95eZ_t9I+r7`QfgQxzA z<6~=^xL4yzjH-bt>w!J%KK^~5{NVbA`mEmFn!JHrH@7(1)@IzCyeDXql+j7M+3Xio z*I#%Ld+$_-k#>~&@t&tsoZfK$NKZ}CatSfd&$xHvV2m28*b@c80`^_@GrF?R1k4l- zSil`SQQ%|AiLFOC1uB^nH}x?#ZE`wP)~xHpuDkVnhWM$*#fCLc7}?Iu>=wJ+QS^I} zP(yv#P34gNyXPPIA*^#PO`zi1Ukii3nKoIsyyl+Ex>A?^L}?exXA8D(n+rNMdvrA! z@&u+=O8ABCd}O2=s2zL5#Phhzt+kg#g;sRryCf%kocQvjNz6>u(^oE6EqPPAx{~Yg z%7y@wloQW-cbt=Q_W#KHtSr#FbdCGbdvV+Iqsph}*XwWiwm6;jnQTCOmGGBYuI5Q5 z_thq9MsKlG{rl|OMH_4G-wjSbYXgjb`nun^s57HyiSgx5w<Yy%hE<=IRrY=;W8Zar z-k(c*#Q5b6)&<zqU)`4x_rI(Ey{`LrwM`{Im`<&JpLa`q|30hTHLdHJPS3n^`(5pi zXUo3!OMhf5{{KU|{$q%ppl-|7^U=%S-YyO-%8<HNAu%mI-&OaU*_!II%8!#*WbXE} zU(=rNqFW<;Ei?AcyvM;?G;U7zd%f%KlFDx<%Y^;&ZzwZX{%%{S&EbA`--Kp1uE$UH z^jGSp^z2z$te_lsMV`s_#HO5*KcdoeYL3rud%LavQUANO`)Ypudb6qClfQb~>d)!R zr*B_>F6zgHf=2Jze==V$sXf=0IU`o!pv<nz&v>=DZ4_&YF56A_znCMMY?oh}H|u$L z&Xqf6eD^z#zd5;H*R7($sLbQnqq?b!TJ*nMlUQk<nN@1H@~qn5OF!3N|FZgc{a>H` zcArlEu=YLt{*Ua$rgNN)joQ;ZCf}&<KKJvKbd)gjK8abfRmYXj&fb4vJ^R1z3k!-> zOjgd*d-Zp6-QR=Dr&R5KzIXp3!#kf1x8!wt9RDM`wetM!8rKPTi%-PuT^P^osMh21 zL%-?syu&}cj+N_29Pt0L`n>1F2Qoz#{v6Zv+MlL3eSREZAbBk5hknzV(~7$ngvs1H zWxuliiTom!-W8|aOPnlT7tQ(mXIfRollOWr=bo-NoOWzso%4RSKi4^X*T3dIl&W&N zK9Ha7{lg}W`+_e1pA-HlMldCF{1N|}_vxObxPZ?B*TtqkGvb3!%IW|7mH*|n`M>UG z3y(j4XzF<Paln4HUvCP3{poB;nBRS1KF2w`_Rl@fPCTnG{$kwwezAmn^a7b_^H=Wg z-?LwAYtpB%x@Gb5KiALC*ivhEYko%9ubQxX7c$suw&bta&-ng5?^p8&fA=c#@L90k z4|vaf@3-`!(+!WG@_sdVV7n#rn2ud?u2$y9Nx4#MkGkJh+Y=$9pWAfw(S|LYV%>)? zEtAu^$h@|^d;RzME8^<ouO!<{?SG&D<(>Jzclj>*`#HN*bZVbO{F?dfz4HA1^D}wm ze@fIX`)Bv*-@498wtgq=gJ;XT&NkWCpJbN#M*ioGdbL+SPpo{NE_Kn}ZqfYA(Aqg1 z7mu|_{dY~?@KfU43j5jL%a0wIFEGu--E971W2yOPkCz{FSs^g*%I>q(_RH%(^8WmB zE|bUkpecv2b6;oiqRooSHy5j2t(a{um{QAk)AFFvlMQo(%i3jjKR;sHHYYpga)zzl zt>UJt6ASk(*l1nzM*K>%@-^$g{=+MuH!Uc$xFYUi+o#E5JNfe;*{{z({L|xT<~#m? z_3OJ2_imf8b@xB~#8SUA_Fs3}<)@n~J?kGA|NNoXIeXWf*>OT_v3&=%vx<-0-m~aq z?~fnrRy^sLUgP_|>XB?>-4Vlj*BSDKXa3Jk`&@1}`}&pL$E)`*6RfOpxgK&!ntN-j zrp_Pn#0$?Q-UPh2d%xE?`TNfs)+SN&`?opU{@Bybced+%`cmh`Uw>v;yQJ@%aM?#u zSWDz=SN-|)rH4Z_?e=lMI{)zRRt|3^_BGDRpN@89<o>G3EnBff-%IH0k2zI&E50{; zuXBE_FVJO>sPtgQ4n-dp8DVoD`6;jTgX@0kFM928;-&X86|Se9EB*e6@8v#X-DLcr z;GTdTbKiMssp<pA>zpNcEZFihwlK=S)pfLe7H~i4q@jL&rT5yNO6~1OZXTbr`M*<g z#e?J@tq*D*6#R24uq&{*FQg`CspiL#9^1DWoR9Y|t?J)%&z?hnzC~Q!QaQCf?eQz0 zv`qh_{`CX<`-k&Qw%7MKUk$R@Gjr}Nlh%`r!crSA@fXNc$tAD5wMf_1_jP3UQN3)R zkSUzYeoXV*UZhlCZe8jV%zV1N#(LJnvX>qK?^F-|as6MBeOkW%!qV{Nxn>68uh(6_ z-?Zu9w2Dod=T6;C(VKU+{qNtiiZ?b^{63pf{A8!{Wp16z|G)3`-4&z0YJz)B(hsY% zUv*+74{>$uu$E{_k(63@Bh>TbVt?n`!Ojz_7N+jw_Wycbmt*>+bj5m^rw4cV?08gO z{!FPSwngM~_^0+)h0kx+ZL7GsTVlsYE|=eG)@Hi5`G2mcJ|=r(<@cR)Hz&>E`F!{C z%ImY#0zR)@&^*6ro|Du=iKWWZ<z;60oj56bQRU;|!^vki>~ies_1EsTx1S|!ANKRg zma{#lG?zxUl`T?H3v{2pI6vuE>4SPL=k((@H0^%eKb|*X_w01bXR;?c7d{m!TD1E3 zoTG|8GF~(GPF6XuaON$i)V8Y0@jCZ+ZO_r3;d9qPZ-eaFTYG9siprQ4J#mya4F0wt z{f=m&y6TGq=Mx@Hjq^M7e2<KhWmTxYeuw_DqoPmp|1Bw&Uiwor+3!tE;KYr&_dgb2 zUsTT=H%I42+SJ6lU7LNE%kvbK-K~AiZ~T1g#Ls-T2li>*75K{GwuRaFg#MJSP|MvX zd+UxLD$ak(dey7=a+*ZOn%{v}p8S{<mi{Et`R?pHf&c#Lh#GD?{>r+%CtWk;=d8Uy zZq5<uE9<<kHBbBV&)V)n&FyCrSaVWlr7SUOZOL1sQvX==*%{GgoDU09jvnw@Zy>wt zP8DlK?J?iao{XCpHLst=CuDx{c~L9-T{(4^phcXTb6-3Qn03cxX7)cVw+WXIRu%~q z{qp0tRpbcT#h2d^{-Z4E=*9&To`ildnxnU8Rb1apy{l(4rs+KWUKp#gdP|b}zVMvM zEo*$ud$~?}AKqG2ztiQ=KHpcTAC)c9@OdP*Ov#~P1N+D9r<zKM9D!+qmCashoUhc) zPw_r1`0&G|$L}2XW<&d#cRz|;n^9$4dFza7$9{opHkXf!TTYDiTG{e+Cdb*H_<wOL zRQ8{>HD_C=@O@V9&!ir&Bbq1smK=7@zxqkGN-6v7mI=u+O3mgj)2iz)w%Yv`ir0Oo zpI=yi_q3I5NA0!*AG`F4^J|_M-80NxnC_mbCd;4T79AkOsgcyY`W%Z4_jjcub23hf zMqgQ!yvA14d#A^Y!@bROrwGYdbH{C#wUX4(x43zdA@ZxzzB__$f93?Qnf+*;LP_u< znJlNq&V1FoqMCW`o^dZu)VL?s$1Kc$@z<vB*!;7eY77g{PbqCZZ7Sy8*(7k{@~dSl z-;_I_iC*+!$A^jkJZnu%O4Wbe-mu93&w(ArXV^b_upQ~sDeI_Z%8rTPp7PN+BUDCe z<BFIfnUfQLX#Ts#v*xswVpLwE$NcU^Q7Z9g_CMzGINII0d-BGO-L~5nIX0g9`*KPB z;w7wy&Cch2u(>_^oBrC}v%m3ncjVkU!ou|W;1WOA83(i@7a8y4KV)ux{cQKS$j{44 zrM4A5e%a@L$v^Yar)R$1+b-&Vw43R*ZL0NYgPk&cJm!`cE_>fHZnsaep1(-^LI021 zgLUy82JW~1w%b4YZhuRs>EiG9uL_4a;^)R};@DhY{aSA2ROTCdZrnV){7b8Sc6r1U z_FBP($>Pg-qVr3R3wUJxKf?7WUXbrtljO(s6-C8|=G~doaX|InzsMW^BHLTrAI8gl zDLOarLHxfK<wsgaj)<D_)>kMTl3V?GM|)!0%wV-MUyGKny}Q#oQ#o<(q6Zz@>XRIo zhAS}%#|1uMx2yk}+I#Np)vJ-O_mmbEA7A8ht1jI}>gJXed3UB1d9f#++#uib=+mQR zwS}vln6xH6?GeqW5M&dqmv$<>^=eMc_IOQQgRB4TavVh#iXDlL7w~@mZcpiDo7_zq zv&?tZpGy`@5r6deZnl{3)oHGA-3PRCo=v}2y1cgXVD!({rCU$9)&ID?`}FlSod5o9 zQumJ8a!<`Gc1Hinrts@)<8Mvhe$s5c&F6zf$2D`~P1oliO4=pfQO;qp?@7Sp)f+Co z)mHdz-f-(1>-v*xEf>r3z1j73SLxkd7J+FGZoQc~kMmUP9Hz*QXAb+qmwo*7#LUfT zxy>w>nI3T+zAE)^wU3n4UA61JP=BeQ<@@fIB`&NMsuy=}_@;mMb(wI6wAxRbIjS~} zcQ`+M3uc`?{knv}eVguSd%qZ1#BEP*y}g{F@HdNBcj)1;^6>3bU7Le%RY@OITve&X zwvoYIeqYe^1Ew6aF7Lj6U1uNvbcSV;((7#nU$vk9^y%BLC8`VG?nqvrtyK`W{a@Yf z`h9&44&@PA0s)MCOuO$Jxtv^m?rEg=+<m93?;pLJ5g9MCknKoxJm<nLxBN4T{i42# zp<4T2HTc*nM&;jotQQ%s=6q+*P8-z&=QNk!<iBhjWzZ^aaZ%yi%~!`vsxRlaPoLdc zuqQmdBR(ms$;)%=t~ZMJxiY^lEB*AW$%83+SyFvkc|-b_+c&cIg{Z$x6Jwd^IH8SS zMMEq&-Og=OcSNuI-REM~Cxn0SovJwS&in{h;;u{g^P_dL+gFKZbi|rTdwR|CcRwj! zH1lxqs>ppmOb=d`dF0Ie)aS_~fitbM1KUr0j+(W8mh8mqPT!Iq9((fl<0eZbQ?Wmq zlXJLCT$UPtsF$ny^6Y@!X3I-zj;92;xWyhRvnNHiUAnR6VZj;)-xYiE_AS#iwAnk| zT)DwQ=is{QS7aG3ZOYwqnaM|I!4dW4`<o`K?E7_*bJonPD`k^Jf-?+P_@3D*a78WX zTIH_HWl?P_>okuRYV^B$ey%mxzU|3`o9||tsB=~&2NWKvZWR4q?{y?!qIA;=zw;k% zOitoEVic38<Dn(Hyhg*Yf0~7k%FdJNpcUaqWI{IP9*?M5-(=DCuPe3Se!uSR1oNY( zk4qRG-lMcL(DaP=r1&EO;hUd`KQ=FvuJrtKOk_fj<_8JZ2E#7LrscbNUVNJ1Q_mq( z88>r9b5@%&JJ&ozhn+V!*UMQfkjdQ8usHqT3hie(lh>bID5ia2PrjvV#e|tbZl#OW zl+I2mx?~(?Bb0M%o?BeQjV-%ao9`?WQ<yY2ic9Q5?8ZqA{nqDezkD`Z+mdaXK5xl- z)8#!SYtyC#erG%t>AP8Hde7a)o(IP>yI*TZo23TiANjlYg_!@UdqUi6L(2};FFLq$ zW5=DFeBO+)DLKdd*A*VGxGT-QcTV|k&1&|tV{5M`^~~)}jyiF><XwQ7^CkITH=f28 zMp<o_v3ZhUHmR%Yt&*>bYjN7*na?+#^|`R%@59Qn!oPd0FU+l*!*%-Rw<+yMWRLgN zYR&YTxpR|DRJ!`sBfFIzX<p&BWO#fv&_}dh`0wFAA4JNM{Dk&pOiEt3P9^opn%5Q+ z&($mox0)$ByE7z7r+1mrHSeTc&E3lnuq|Kz>oLdTlT%Fp)b6mBX1m}mUsER(BhgvE zCdBVswanA#M*{x)cnhY-Y25kxh&BE8f+tfi)#z93e_A?wXVpO^ejD!{RsOT)PFA}e z`{q?$xOshw*1xlNkG_?(?^ahZ^<MJyzNvr9`|E}8zvR96d^BqL+UsX;8y6<^8?b6? zTFgIoWwL2n1gnsI6HCyuU$uIynxChJ9w~iy>`6($HP@7Hi<Zk<HSm7<<gY8s`|hM< z{ghKrKNfjj5Y7;EnX%&cmE>JXnFg2BjO%05b>}{MY1gxLPyKnX4S_+~mxSw#f~pQ( z+*|){@wM>h|JR@UAAk4%CaeGUb^q)O(!}%i^d9pyWPaZ-Bct}N{^otln7RM=_wd_C z|2LQ4Jp0DMe=aPg3QfBNcRc#=w}9Kz<KpRwFH2s0dM&nis+L*M|LEtRn(RAXF51rc zv@3g!RY!1d2haA%k70$C^>&K)GVi{N$+DNpd!L~b$G~;Ke%gA=Wu4a(?)$H(?)@si zYU3xivULHUv~S$~ec$X5_w}`MTT&Xi7A#idf1ma6#gwE|u{Q&j<^9xaUOH=s*KPU! zgfE;mS6;AO?%mbEy0D^fPO0ku@K5z1!d~&e{X;kAWu3a~n0zMwuiowcyWa3;{g&d2 z4U_(#{=tzx$-Zf&nZHBcMxM@TGyeaWnWnJPHg47?r2sAIu>PK(4$0U5@O-G*Jn`ny z8>SmxEzVQ3S#4AF&U#l$)cgZ_-<Fr__BAe#P?hF?Gw*@py$=$lOm_<n-}QSvExC1Q zwpG`+jJ%{wUvnObZTkcEiyQNZSS?Pd4}N=*i>)E>N^QX%wX5e}AK^`V@BIB^n?k_0 zV|^1Zf6KnUdppnJl4aY^%G52{<al_?*IDdecjhfFOO?7Dz3lLng?AUOm~>gE^=Apw zb>q{y;YT(tR_9EfKj&Ra6}y8Be^_{=)FX!d0lQg4dK1DDRG*$_TCvdJ{8{z|KDXL+ zFXc|JfA^*7+g*0<X}JeD7({|qQoeE9#&bw`FtV{)_I(Z$vOl`PxUuT+BaIikl5a0~ zSa$beK~LbGMwQa11upY%on>Tre=Vu;;f>_PO-~YCH%wFhT5R>o;6&mf+0D^w^bK#! z>-+d6<LZK5$BDCc96xw_=Dp`OwvCQWE;6&jYoq$NE8nia%Dv{G;nc}BhvhFn3(L=W zzNPl;0gXe`RxD7sQ7seyswpBfKfd$t_U+TR{4Wdpc0cIN{>3-`uK&IJ>)gNc^)|O+ zb=T)#`L}xZ-+#-Vez~(&==%SQ2M=!fz5nLl^)I+@S>CX2_*%bV)Bmu4`$hl9Py6rx z>HpOK`A7eE{*V9r=dxN_biLim|M~ULGwjd(=l{<CE&Sj9)S4Fc<j>-T(I4|_%ilIF zS|VY&=A^lcO7`530?pxlTQ7%S{}8o%77Me%%JXZg`Q_H{Eo^`GtRqSFXe?WQe}C!f z=hvG*E>5*7-5Y(qSy#cp|2uR3oujjl*FLOnv)gv<!m8uKIp<3CH^{uzO`2z4f9J{d zH(^)GP2WBXtLDxP-|}DT(r2r)*Z!}t{a4yMU!-h}>$e|8_Gc&FW1T$Zx=v7kGWUfY zv6ufXvrcyC+Qyw?x7BD-ce3~LyqD+L3*X$Fwr0Iq3G5h9n@<n7^a_^C^7hB<c)KO* zR_W_kzdn7L#`G~O<kgm5!@Bi(A3f`{nypLUUU_qIrRR&^{<_U&7RNnYKeJaPD=o9$ z5F2w@ded!@-RqJ!gk`KR@44L4r+Qstvh*UcY@yc@6~Pv9k2)o;)ZRI^Rc71$+llXl z;%_(BfwoO$*k5w(ejz35S$6qB>0XutvE?Qo*ZfmRU|c4Z>&?Eyf35Jr#AQlf<g@kb z*Dm|;=&S9XZS&q|727;zNc&bAogFxx^TDyc9e$I3uUinxIM=y6^w_NAx(uzRpG#PT zj$N)=7kjznyoh~{R0ywoxBp8C`%g!A`mJ$|bF_HAz?RKH_U{Ci>ltr)V-{Q}FjHYX z`h3Ts=+zelYS(7vZcw}9en;P2hd)iSag)rqy>0d9)~xHRE7K6q?iE$!sk{|X-tbaE zP(kM34(kUE*R~vQ^vqz?TJ*2<l`?N}{}G=BTUW78xVYsPb9RgFw>5GJwJBAxZx&T; z`1_Zw^mUcm`~?-wj~SeKH1;tr6Rnt&AvtTGxvWFb^`@2mUltvh>ua=s*W<3R)@>hV zhu;iX$+mu0W4)ccPI6Cf^(?RWjcsTA4WxKlUp(H?HtqdoCgoqL-F?f7wKz8?8)}KH z7F_;7@aUwf3o?7(Ui7IwqSsz=&%S)muR^DdbJp3aU12m<kYAk3Ysf77@?d%OLFGxh z_xByhT@ht+(d?Rxc7$-v%Ji?tZ8UbZKcAVx|Mt^AbA^phE|jF#ADU+<ZpGvk9q%mc z{QYA<m&M@&&MTfg6t^&Bw4c_sz92R^V@X<eAj^?kT?-eV_Rl$JAR1%GBU`(`puf+w zOF^yoHIrLK-<1BhhH_3nGqYw?NLAh2b?-RK<*Jr;6QxJ<J#Ib}V(C2FJ~N_$=W5Ll z=M8SAv2XGV{w?`%S;~uDrT)vhbDp98A9N4SWsH3xBmQP)qF8_RqRb1;45_+_K@RfS ztGJkr?Oz_A==-~`hW)6(Z?&@*Pq28{9bB~S?(yE7oQs^sCDUfMb$r$?>^ijXa^ca9 z!r2oadhzgFb|~0CHKO^T-)6;CDK=uem%Kb?`om(wu4a*Ct;cP4RIFUrc3erY-t)mK zMv+gYt7aM~uT!sc44xBn<*H0}NS^w|H7_sh%)Xq|^6Jfx`69DCPffR|f9rZ9*tdJ} z^kngH?)k;9+Pq!)MNhKKUvOD?;v<24lRXPx&iuyW@A1c@V=wzE=c>bZZ}2*rO!2*Z zdAABnw&t!TmpUeoBlBK<+q9DH^Y#|MDPD&4AGfMSx^u}0J*+v%eb?zwd#~HGN!L0K zn(nOV);p|vwXG<!d9`LYfB%<-JPg))eSbdMelR(ArDdPn6)$C_f}fKX^Lg5-UfEzV zwIZk4&RuI&mz<Y46Z7?pdpS?MW9(X{U4L|oq7`RL??$2Q$uFIQ);OeIZexAFQ^6<8 zBKrF--})~d)2B1@P3;Xn!o6<YmXn6gE=qFD_M5i<Zm{y4x5D>B$X5R!`YnOZn|Y)U z+URA33Z4yWP1(J(ZWagA-Q=7_9&aY)9q=~V<mh>Ri}lLQt0o6~CngKN3QTK#w`2RC zcQ@46w$GjB{AbSU*ZG~y>aOd4dMapkF*{zLG0O&g>}@^sW(Mgm%A1n(uV_79wfbdr zZTnoS6M9RQb9yYzNSQU2yJyjbkhp;LKIxK%)$WU2*L*p&YEf6gllzAy3~n(r>@oMf z6ZL+UN@apUR{hDN?;hK&7rw#acD?my;wvsGsZ&P&={>tk->QcM3(gVl)LXbRYp!9i z+7BrYQ?KA@TeW<B>MwAauuhcPWF#S+d3=d_<0sw-hO?C^Yz+r3BAK(d^}2JH8Xhk- z>ujny!1M18i|)nOiyhzil~~Wn`DP<r7r8*gen+f`!^~Se-`N!y4$W$twPBh24nH9o z3(dZWXKD#^<>Q07=YLqyD0Qw+S5)_^p1<+oC2tfSt1>!vNjcl-)z&9{pVGPaQeZ^Q z(alk*fzwL%MJvo;WPD?MxXfAFP)1`j-!owos|)fzmnJ=Cm^A<B(Fz-(v}L*1f9%(p zG~ai{6Yo0)4{w=n-2bCP&^0HIRpeJj%HrySr41PwW)rp-1?=9IcW}>!O`6SYIl;-V zbUf_d&yes~R4rE6I*&ajFk;cNdeP}`wU}4^lAe{fyYHl`-G-Odbu&z_7wYK8DcS`H z*153o9!~Nq5{bBXRoQw{|H)6guDw&dtCABTZ=tzP(z3JhYP!P9TG@DE;b(kvvotz{ zxAi>#^-oPvto?fF@fG=-?mHOnN_*Y^?*^9u>$aQehk7=t-AI^Z71&e#+%Tc+4O>0$ zk>`5TQ>yP47^x@iNcz{d<Y)36QC@Sei-l8zEaZQ9iL}M<Xxr%_9;H4x@6n4-7HePb z3n(xQ4;9!rhc!d=ZN2hb(YM#PW(R-uxW>6;p&h4X{v2zj`P*9FO+Texyd`CpSIGW_ zmkkXP7r9^g@nHSz3m%K!2`@X9QgACOW0TOMN%c#tOnlvRZN-&MXU<cucvU!UUf@-8 z3AbYoCu?Q+o6f&+R1oG4X!Hp+H53Z7m%S<O-r@I2FYn>sbeG<a!$s>49Fl2UsM%a* z@T+o$@kM7L*3ajPCh*NHKj6>E9l0sS>xP;2)Po5fhrWGMe5EB&sW$ImpzycuN3RmU zJNpZHcrey`FbN68@P^l{kiGKb)hfkkbDt~D*_x-sb$b<J{>iW>ektSGr*l!@YR^m& zfn322ZKso>eEHk^U!==4@VWZRCI+>hbl<eG@l5z7aq}+|TeQTdo4=hL#yaEh@`h*L zwiB*$T{2j+uB<h6>6#lyd@k55H_?pY-_;iQ_(?QJ=WU<4^=yR|-nX_CKJ%H=!#klZ zOxuWG^X$^|KCf&9J~~BjTlqUfZu#4`kE;~L8CfUug+EAm&Gf9m&xvPQ(8~GTm+My@ z(sJ68S)=xf<EV|pN%6qa7wu9Go8+&rPCehISCV=3^{L#QB0ArU!c;V)_$!Rw%%~}z zmY(zIfqIeN&6_h9NHx|orM-%qdnk4HpBYcyybO5JGDYWE(8O~Y8-6-1XU!^k`QYPL zADL32o3|$=1)B5xdAIQHs-QBj>?9AFX4kNY-m{bVg{PT?ZJK;hw~dqQScS%!7LKEw zY{%c!82*jiGfmCOVn2iL%I;7%&CQQb9*ZnFBM@E^Zy>sKp{R!bvj<&4XX+Ve8@1k; z(eXFDtz})(%)QEMdqhray{z)Pc`5a*X7!Fdeb!x3MU~%9cp98EPz+taF=o>hy`~9| za`_m&-e|dR5zJ(LD91I^#G`-ZJG;!pV>(;!blNB^p89@`VZ7^#(%+?TuWdA3$)SGx z4+}$yZb^Fp|Eac=L-A&v+3&l8Lkkzzr|t5aEGFqBP%dF~^;g{8+L_0nJbR_xxK=<e zyK5$&o6W6;TD?0A+NWbfCQbjYXS{7<?w6A_?u8x;g5<X4OR3$SarEglqp5q6mz92e zJ?YGaEpMC8`f+C;3Rj4{^+@BJ$>cz#GseGn9sgGS*ev;&+%3fo1q)aFJaJCc`gnow zv{=V_wTYXYyM>RMADKBz{Jz|k_7~TuN-0z&S2l6{=iKng^bl9KtD;+wca{Cl*-mqg zdv9Uo>g6x))Z(4UqT!&|#wJ)|p#8>RW3^o==VHNfC86K^Nng8uKD(srI%R3{mlf;g zM%m3gCUNHC<$F#0_<zhkaa66nz&^2$=hK-5oO4sWT_z{y7}V$AHqY0~&)>5B?CaOh zj{5GtdQorv)erMeUyu6yDE#g7Z$~v(w2F0e{4`ng<>(O(-AC1Jn|KA*MciV)z$$;# znv-K{%7dz#ix?;PmFr(k*rsPt_hDD<N8!7<!I#fPUsum(c=c@cx5(em!j+C*e>=N7 zti4s&G&%R7srK8+w>LjCjjQJ`DZQC#nA`mJ-|Zd7$2SM+-rBl&uKzP$4|VGqh391} z#b$Z7OppuE7E`U_Q*GTOe_+qkef+zW7b)uH>C9J|^1e*>rCs8o&g0=1)-_8dOf1P- za`_W~X@&kW25HO9U#hK~7q8nI$b8Wuw&X_Q-!;A!DU*fe6Uz5`c4_;+(P6KsU(x=k zsOZeT+^-*P*7eTnnY7Y%n}N{0V=G^;JSC!Whk5hb>YyIZ8+N}o3;nKVYGF{GThq19 zGrqp(w)+tUtG|zebE8=}zN-jkzNqL(PC3sVEx6F_e|`1+TXQTXss5T9zi?^3&IWEK zTZY@^GbOg4Hhnv@YHO^iZE>ya7KcM&;tKUqLZL@XuB^YcqduYj=Gn<Js}^l<IS{(? z#R{_^E#uNpPb!~QR`|JJb7Q_ghhx3SoM#i{jy4`}KWFgZz?`yo1!5am7r$?KEIs+h zjRuj;>Z>0xoSCqY*}3-hr9HYk7q5T$==Y2IDXlB#zOa6LM(DsslM`$eCOls^@9WuA zTJLhGV<Tf?`8mC56SsYE6iC})$~irBTKC&q!v72=`+x9hzHEF$q^@FOXNH)Q&4KiQ z35VDo1;oEgoV=*+(#Fe&n|4iHDC^ev#3J}&;-c~!mggPg&hg%R&$qlmGPbIzEC2G} zPb^v?6MQCr$dj&LmLEGOv!r?Q^$GoV1UB0(J!jo>{8kq4y8Pd5QJZ+YpU<{P-nQgg zfX?-=jXX_lj(sMDIh)@eUEnUaS&8+7`eWmabw^wtFo_(#Z{G0z?hWSry*(DGC8e@e zcRKjBU*szMklT6u^YKXw%B^;u@3iS&!aw(gB*%+gznVS>E10yLOQ^r0`z>L47Wa~{ zN#+yP7P-l&YChu%c5$CsxNwiZ+qPvd=cZj27Cz!^BHaFR(&5H;|13}DxVNtR%YT=# z#pcHDQ&-aE!+syhFVDLu{rJ~e?g`3^?sO~Pj^9_^9=G%7an=P)+td{OHY|P@SSOxU z(YE}T<+mL1JF|?-E-ZZ)?YKHPqJFR8g>|Op0gwB$-o~E4)I9lO)PznhLB&Hy(jK%f zSSWj8PkqKa?db^@7sb>)S6ID2Wy1MQhl<~dAKUfxm%Qr*uJjG{uO~c6&snx%UO|n` zl)Ht`T(_Ff{~`2nHe>bGTZ;d_94)Om;3jXR=(0b6-J6@Q&ojG9PT-l>580;aV!qam z^;a|Eml{mSSmAxt=X1=f4el-#X<{W8TqYl5w?5!K>i~E2JiaTQ{OPR0I<@Efk9+F- z{MC!uJU?Bf`AqbKi$c92^Clno%NNUk$M&Dz7g@#p?)DScH9xJii?!&O7Q6qk{q;7s zb^SHZ>woVq`r@S!)6#o6S;PJ8rR!H@8a?-PudEJUwCKE7%9#zK;hZz3&E;Kuqwuzl z?vn?im$u%!6Z>63MQ2sFj#TIz9{1V`>A-8>8RpDAf1omL4_oG}AWzeifjvwQ_Fdj` zV9Ffdwxg~sv-2dYRe}^JM;A&mo|s%(sF4uJ(>WoH|G2DXbVTsd<>#s{tY-bUeD^=6 z(5fpLiC?R0-^iu0y6;?UcQ>^6(vR8OoNZjU&N;Dc-Q?)GyG!FUV;Fsp>^u`_tnyi> zmsf4~5)qm5!h<Jc`hN#*p6YP<`!TkKlm8Y<)H^H*=gV7o&Ey%^U)7II0u@i+vOWLp zraxhc&V?7cw^TUxAMlm@!}9m6Y{;>-c?YK7G&xYs{dXD5xw#vKS)N|m_-0~cOhNsu z2a!Lr0>5RvJ$A2p&Ox~uQSv$dT1p%JB*NY=<=Z)1v-e|FZKHO<MHPi>^VO8}IUg>U z{=0ZndH(XI`obi+ef`r?H{Z_g*|sRjH13Unc!SBeBdk|`|9#@J(NxO*2+J<hdwLlx z$7@y!zqYJvSb4~{^7+EpoaB>xuDHLN5I$wy!$jSWfk&O}ISyMqR{8ihZ^6yG)(xNA z?!7Uyy2mHIsrHwju*9Q#jL}Zj%Q^G<56-+GVgJ5dO2P2XVJp@8(jK|*);3Ka`8gbQ zmxMQSXD<Hudj0;UZ;eO(9{c}@qw`^v_Lf)DZ$g-F+4uUo=t}eEn7N+#C0NGJ+WS;T ze8IE&Ns4v%UVZKtc$aA|Rev$()ps```-hViqkJaJv0`c}*w4gU(YbBGx7V!m#Ao^{ z1i#X4dMfJ3I7{d1ZswEuAL=J}zE6{Wd$_mp$U@J{jJz+s9&D{-aGoXGQfCm_x;gB} z=EQYk1{n`N?QhI({L8Y6`$~D{3T_iV$qDsWawc7q4bRE^y=sonvDocAr(7oNicp!& zvunqli!6V`#3z4$7WUd?!<lPg;s)G1_W3+#TQs3=rtr(850y)p1do5T@#lIVI9aen zLgV4lJLh(M+kO2I1LuMNpa0AKUj6@P{v}>@E{{o%b~F|+G9FGjGC%Hr)8xPsiTae= z^$I&Goei2)#G{*&Tqa-py|Hr<?@`MGc3aJOUhlH}s&=+D(Pa0;!c`OUIcGdxVj1ky zGF9TTnb!L}{+@)%_E93PQQ~?TyJJot6)xE=%2u*kT3Yfp(~_q07eQNgZ4isM{xZ3e zsb@_FpOKkfxsj<)(6J0g<M|AAkGDFhJnE|t;6K6;pT(ti>dt=Uyu6!x%M;EXp6Apn z_g!lD;^Y&i1uw-voOpce`zpijU6=j{p4<KNuuORI3&-oWw+fd(=DYdfm1yMB<F}($ z9GCN06(Dt7_Lk%U^EK8Qy2Xe8Rx`hPx#QS2t^GCzHaG3QtkzwtBq6-#<wd)X4of=P zf*Gf{1plb_x)oxq*Ad&F{hhm7I`(LD{N&3=*;Y<ml`YEKzD4qfPtamcewH;ylFOGY z2$H|<`s%WmUxj$gMFCHhzcEeKl9%3gOqAYjU2yD}ZO*ZiH{aMjn9ynLEL0mBU4O|p zxwrMUe*m8x+oI>QU)cBFx<38Kih_-?hfcEC9c66~T=((1ZoN{Ehip~yjaz37?4oWg z77y!~u}whr=!y1-uj_53UWdQB-Q>b|!n=K~f!V?hyeqPd_tumf@2&g%=<e;==I<|i zF8Y41efR6z=F``&=gj=_ZvXB*yMI4@`<B~@Z}0E&>*4Zwf!PW3&mMdFdj9=~x9#`t zJ#Dn+_P@Kgqp#FiNOkX<y|8{~MQ?L);rsu8pMCq=emcCQz(`~6tM>Bs_u}@Q;1lfe zQ+XaQZ*6DBdGLte#0<*`aegLsk3UX4wozeC0sqAdxp|zg_|7$+u>W*t{e;jZ3tU{^ zU)U)1<-fxFJx=vmX}b?EJ{W(nBKNr>&-F}&dx9r*F4p!l-&xcjqba@Mlge!CY4si_ zmo;n(={;885Vh^W&fllEa$SpfCuV4T_KVr--YZuX{xqynFpad5=RNmBy?X1LKjM>u z|GR7s`x7o-x1cWm&VsnVow`O}H0SjmUnFr`^Ys5CpX@jO@qeQ=<^RifZ`*ILer<j4 zUy{7u|H}>&R4k|b&(!f+^Uqs%dUoCJeKj9{&8m-I*?YEcR(i$l2wmxp>3QaV(ylMK z^z`Yg@4OFZ@0-28e*4?Kv*p^q-c^xo`<~~&TtL}&Zq@d0n<tnGT_}D(Gx_bD_sax! z<-3{{U2<@@+tPbh#9MdY@(6)j^R@S_z2)|zFWh;hV0h%h#AIigKh~;_=Y!p?JL<ZE z&#=#Lm}KLcRe!5!`*)$bC)b*Kt0au2>Ylx{5A?79o#TFYS-X2+zr)U(uC@(XlP~Y= z7Jhg<!oRahfSu<;hStiMuW#dh{w05spZtHuA92n9u7($1J+=QKIpx2Lqu4Q@f2$uS zMbG_Mf9${H|MWleKmM<qR99p1`+S0d$l-7EH=cQ8zcohDUi(c%_S32$!Rwl@w2yw{ zdi=lVzwy8G>)yBhXZLx){^Wmip~ruBk%R+3>T6%0H?slB*MI*LFO>Q)CgIQj>Zkt? zF8=TJy`Jg6c<VuqANx(Fscw0He8<1VCtlTGExLPIv_9iO#SPBqRb5u1Oc!)}CZDgU ztLIt3-t=JcyF*7eDi+qyDoAiGI>w$n>9_e-P0RfoGf&ob==wCU_Wr&Z7Qf2&(c4F7 zk4p3WR=(M`@yOv`f$dG-PedDcERA1nki1^9f4*<{2A37}?T2#DF8z9;;851Xsf+e~ zJL{$}W1CO7$((IB6%@DpTepg9QLb6Wyfa+C^Nj3HO+Hg8S^sx_#{bFg3qRXOinROu zTkrbsx}5y-gg3PrH%>hkIql_Pa=^aeYzwD(hC$GQANHI78~&Exy^sB0eB}cdssHX3 z;+y^}1~%OMpS82@$M%2MjD8!}-o1Wpe#R!*PPgRO)Anxty7cJzg{Mq;_Z;)Mq)?cc zJITCd7SCK4xhq8$3(K6J*Ka#tW04uhc1iVTmzGtk1(Ta|-|bnaJqx*eFLN6j`7x=v zepfW*T(mRsu|&#V?!6XA)sA~M9lV(7zgaMH@^6Qt$p%Z9$}3YBTmMv(w=%t$u<XC_ z-}x{9_xw-(=l@89f7ActhZCFrpI2D&-`n}ae_5k{=fBvy{eOM=|B;0nT|WQof1i6< z?_<=|{IY(L%O88ex9*RQS8)8BKS{^v@A|%Ot<ni*jMwg-T(|Y^tE|Iky>}k&mpY=| z^gAK*8T*xgw!3bY#XWg=U3AIY-5Ck8&(1&5ty@^nSi7dzL?gL-i}s|*DPbW6ucrCW z4V$(t#=+OpT;AonukDSGuP!)g-@D#1`$v2|r&+PFxZj?XU5%VhaY=HQE=<&nc)M)< z`eo*!dvrbeoXVqp*1oM-m$|A{{oQQEud$A=GNc_&9=0#qefeP~V`JIo>u-wAraiAK zP~_P&=d=BTM5%qh3<BOTm5csLvojH0)OFZCc6-B$&fxfC&#(LJD#`Zx^!SnJ>qGh6 znMbvc*4OVAZZTb%Q26(ESmd^o(dXDd<dyG?<LsI7;hA*u+xpAtnJ=D1=4?^ovpCGX z|L%&$*6)+zk3Dke+uHNqcEUxIh6{VvmDR5P5)}DvdWP1fR|i9n-Boj#$1^*BuJS!j zT@xi+?mVwaTm5#PY{~XpuHAC+a^~a%*Hx_xw%<);;-36}rt_ckPwLA;b^c%GiGKRM zzUhxX@0`!_?*H8V+jaiEe)6QgMx!O=H0z&|zGjDa|7UOeZLRY6{KPH)BzC!!@hWNj zcGP6OF?msqQ~g%`Q(2p@{MflMOZCLubKG_pFYmmnxllOhp>5&YPp_HuWE?+y&o`QP z?~PMlF3Y27U25G4udmE=GT#zb=bEr^_O#yXYrbAGD5yX8US3rAZ<rYOl8Fi8-#xqC z5=A7A8$5r}9Ca>G?_a0wxkk}14YFTS0wumKY5dW@<Y<ZA?O3m)^~<&%)RALWdl~zw z_1)_JU+THGsucqNg&3QEUvi3kc{=u0wB8b>^jFMTLFzXbh}yE$wXY0$lk`je@_(VP z_MRdvnHFHqA<w1!EB|v&GGY1aKc#IF$Ib^AFJGMS^S^BH|6(Vr<=V;rF7D)<mcC}2 zqu`o1tLE)ry6Ix2sMo<s^=Tf<_8zfV7QN2PBQN7+)I#lsV3WCZSIRzWNtJ2w)QJ6; z`pf(^X~83@J3BZyHs6}gD|EirILG<_Wcw(q5Oe90ozt|9oVOZ(xjk{lMgNc4>KAVE zS2P^ZwP9T%xGma3*XD1B9Z!?W&igtlX^S;KXggn>7F@df))wp7n9%%eU&Z?Me_Uib z9y&64xlP*ij6G6X-0il;x64bmO7ORxs#wPN%s5as>r%wbPUA=!z9koD8U(nQ7;|sQ zIcj#sb9J=CzvmvZ3qKrmT5_j*-~Gv%GdWH_u~+*q8}x7T`KN|VwxEK2d%We7f=~A& zgf{+PuF`eMVOqgI^NCOEt^58=S7XSkchD*FsOLO%e`<4V?7Os9@7ue}>r6^>9rG{m zSIp%J5x)QW;_Bs(rRBVN!aclpnfWsFemJ&a{r(p(sz2n1Un^lhqnO(yc>k`%wUFps zp&ExG@3}9V7FlmoR=sC0BF5Z&|B|2J@ptk}mm-8hw5A<;|NY1rg;iUOe_BpVSb9C6 z|4aSR{y7E@SR1F$TDksZwlp8-wBS$wxbB6g2PYbcwq&+_Kl`?7?Rxo6`OsGh4WESh zKi)oSvx6x(_gVdY?uVzimhOFRUTW69#@fH_)!8MJZ=Ii<Wa~St+xTNl==mv|jUz3D zuQsllb8>O3iPWlDY8{I<1hih{&{S!%u@_ED@BZ9cQEwNc(=yRw+WD;y7f8B1ZNF5_ z^YG!{2Z{@NuWo&NC@SF6zG#hKoAQ)Iu6RBTS#jgpyCi;YuEwqj|7xrD-?x=9Q*&IG z)%0}Ia-QGYIU==OCvOs7qJDUj`VI9>)4kjpzWT8QPHI2-RwwrAvo1^CFLxK0&%Sx@ zXtL)eg;WiB!?T|5^}cTfJ-MIp`3kHzTQ6<tkr4PQy6KhDmauK!w_DF>9ACX_)0Jl# zx;&pJ)?Z3*h}d@Q@@*T}GvZIu=V{Kg`n5oF+7^%JB1$$J*#5EB%~`zPqis^M702ae zW|I^SJMPS!u3Wh-^zJR4sj_#A%dc-YpT2%p>^tE(r~GGiBq$4*a_@Rjzv`bzQQVTv z%o}%Zd{sZ^>(<ixW%i5C-q*M4%k!<jFSX5$x8O#zgnDhGRQHjE&lFod<y)MeCs@`h zp0kVMb<ShI`&|3+xyxG<{l$-!t-W@Bnc<l~JyCWVi~U#>pWbqus?(QhJXwG9f1}^| zw%_8P{XhF=f8o)E{N?}bTjCS{zyDZ2<LZAa#ozkdc3Nr9S^h7_p+0=tuCCUwtjM*8 zjNUBac<*+jV{ZC%kNE9t^xXgPf7<!IXI9U_opb*Ete5`n=DfdlC)ett>D8GtjAKK$ zn*RM86{*KlymaN4?@zDQHBEX|Y=2;d=B=64e%@O)yY?q^l(nrp!S}Y#Gtzhq`y`75 z7s>jm%sVdMo9wpuEc+3ADYw24Ee3YVKC^dtaENtWyXj#yn?GfxxyX}5|9P3|wyu{_ zzFhzD=TFQG#oEl42QPn}-_CI}({)8k#1Xfw-v`+^Zq0}~ay88?T-nZ4Lg&re`_5~B zgzxM%Gxl1h)wq)JF^j6K3eThacJGcpy31JjZo!YX6ZLN=Z>qbZu};uQ=GV5K9}-+K z`6_MZ@68KMuY11e&=mJ9ShKS}aN4Yu1x*LI_gwM1n|$St@Ku8vJ(0{so#sW$zP>lN z-*%zIHLfS~srliZvhTL?<Vm~_U(VN6pujzGc9!Fc9+@loLR<%4JP=!GF~Rj#!-L6N z&ZL{iCAEB27jRl$@6piH_UPUk=Of!LbNFhjTyZ<2o$Gho^rXbf|K8S}OGUHdZ`l@F z{(hC_yXjDc+T)o$>0(M!(ucc*7hj%p?y_g6bkN(yl6pqwQ<v%U?XcvY%luQrFKC|f zuKvR_`;tT_dYHX+^PaRI;ZnMKs|4fmuxZ|pKOf|*{vyTta#u*ty6N?i3z^porOG=7 zdllXboZc`sb>ox#(v4kRg%hi}Px_uOUmG+@IfU&ahj&uh2JsWA$6R#PvJ3-POKiRQ z?sa-?{^?Nh*Wqh#Of^(}D7Vw=tjJ8AuAOsBEk8x2T?$>CFm2Z&b*&|`CBDk6+c*7L zVfIn?`J_|#FHcJQeC5<u|7?Lz+v>kY+q{nG;W)YeLRUiI8;MWzjDpj<H-9elm!3EO zdrIyKg^4+aFM8V_{k%DIjV7~W!Y8@O-}h-&^5?faS9<mEWSi!+$z6K4|DDx(_i$l> z+Uqrc(-vmAi?Pl<TBjD2aHUB6oN^qS@2bfPwk8&{K1lSk7&$lPcmy<_dAXSNxS;v! z`lF3&oYI$SN8YRw6OCqG{)+3{*E1ShgpOY@bE)yQQ4jq0?bjz)E}I9%r@7X${fgOq zb>+#sOZ^p!1J;Xk{Z&Xyee$`^Ja!M$T%OZ0^5Xt%nW{N^lsLrGCl(6WP5T}wQ}Z;q zA)oP`u-)mTEn2^poQ?ficdXKFwU1$d<vJzNUgr8l-&F^+<eLoD1+p8=&TN{@dpz84 zhV$R&+jef$^vGdTuTrY7IJ44Y4Y%8lDT-5$TmQD_<4gS_vVvW>Pw$z!;?a$B)_Of^ zJ(A)5wrl~5iPa?G2v3zsl0vd~`;MsmwD^7PA<NIpRsuh-J^3NQv);Gwe%<P%nztRr zHimX=?R_<0>c9DN<eV4n*0R{KIy&KY-Re)bijOXQ^<-<Z+#gxS)=hH!b@Ja>R1&f* zQ+}M<(AX2L>Le5OYv~sysf5(I4Mw_Nu}SG)vx`kmeqPWW)>|X7`Nr3i?d=hHFMmh8 zV`_>yRCHbOgly8rr|*+Da(l#hR{#DWbe(f;sl%mJxkrmQTy^Se^>#=6i=Xy?`qld6 z@PB{y@8ZfyTR2^ZVfvi^;SwjC6L<WZt+M&o{`)R}w=Xf-Z?0EWT3bIkWMBA?JvYn4 zw@(+`{xRQUt+&u0H=7%;5AFWwwE5YxzRiE$eV3{D;T370SNJP&mWRcaAF7uM9%!HV z8=c$vFZA#H?d9C}57fT5Rbr^W@qP}E?8Tk>=Qo!B<~zMzQu|q}uxPumWV^7ex~kE) zWfPRA8kXvR;PAW3I&)9tLobJBk;iHCK6Lu;`X+hHGs(+Y=t-xe+1<=8&TY1qr>(C| zPV<X;Z(p!~f$h|=V#(P>%{Pwx|NHFM^eNY;i5ykuTle{T{-uT|xq{h6@;gfzZa5}g zzb{nF9%Xs%`m(E)9=}y?>}*v05Z88Ysa~bm?xWu?TgN=m6@4-BjnRvscbA@<aD98K zuYbAP<m9$5i3Q7yoU3<F7HAi%Kgn5N`uX3lbrYV-J@!>Gd=$TDuP5t)IRbYWd^82y z@}<h=iixZW@3Oq?Q+)mDzpRK|pQi97E!yb6$V2A;yTkqK^WN3%^0VHu!h|tUeSPqZ zb{X|~Ip=4;s7olnaxze@=<%CJ9@p-j+t$7KL}J*kS-ppLE>WCye7o_)HjgX;WtlDY z%HOMYZr<K3)Mccie8Na5WnEd_w1<HUBs4e9^=drzr1YM6VxNGx-~xl?vact&Bzs+) zxhligv!?g$W*%N^j(OAjo_=`vC(!1b@P@dgi1QolIA3?WOSWv-_l%*LWzKZTbH;Q0 z5B+@f@NA-2eD;Ajom2d)`%a~IRL|;&R_pHY7q4G^Ye&WW%e!Wr-ZSIwzK9bCA`Tpi zxN;=o$gzm|6E{|AKW04Bb8%X0OxTf4aeKE$NoX1QT}zm|=7>$?#@bJc>1AT_L8@X` zUl;k`h&?jv&qbEyAA9fac`)l#+T(!vc6)CBiPCyMA>XL-^n1hg>d*ck{!>5WKmYDi zKmY&vc2h6%mvwW}|ML!VoK6@1yG!u9O#J!(%8UQZe`fvYwAgd8khd_#Y?q9|X^H;} zyjIoy|GJs?S8R>zn<Gv)IKn$El`Q?4WtaHIUdw&FxNQq-Zu!s0p=&a7vba@ZY$|&v zn#kUc2;W=w|Ht#mY@G@9@)PU0c53lu88Xe>(eJ)i?|a##Gp`gDrkm&L@+^M3dCs=9 zuA5rXcGr%6eKPAk&tu7B*V{g(7Tk&~ayu;P*1q`FYnK-Wa@&+QE=x*2QkW~?^FRHU z{pJ5N|H-fXuY7N@<J4)B%o;@g#>?<L-SE$T(lMX^_H%#C&w5lFCs<M>TJwv;+I<Fx z#~cyO$!|O5>tp9_D;F@%jE((T_b1)|8GFHllvk6lP0r0<(_JSoKmX<YEju?xEu8tO z?dOXFr(c~ftNr3-|MQJuMa}Oe6BD$qsFu6_dZL$m`$~Fr#=(pGEZ<~jEIj{u<*ui; zVb`?oI3H3@*ReR7xvt2A^Z$v3Y-Umkd22#t&9~1NnSDoTdBdE%`odFb$x_n6?n<AF z*!csZeV<0}^uKy2L%4KN7`NKSWTP^}pYu=t_xYC|uJ%*DljqsGKb#4h{^)xtdvcxr zf2rcYlmENU|L2>_&0u~<;i69=^ZAE8@0YG@+0CiRXU{A*$)fzzdS%Y6u<14`hM(8n z4{4n6y`ZDoK<~iS$PXDmnQzyxeS5}fQq)zYU-G)Kxv>RK)3Ytr{a&cs75}>R^hL1Y z7ZJY&``B6|N*#l5Jl^_%u_{>j<R`URS_|0tlUA`ZrTkkE9^a<N#Of}<SNf({EBo)_ za%SUv&JU96f`Z=5<oup(WlX=uIBU^Aeck5U`5z8lDZR93cU@`i*LlrSJI?9ste?I; zKfZWcBTKQ#ouJ2cKVSa(CT03C?_NRfLhZ6y8yDG4nUGiQy|VF1{?@Cl{-55fJbF>M z+H$8x(XE5s6JJcYeRZo7kB01F_wfHWM9Y(|#V5U<pZT}jee=(2|0|XjC56SOt)8Fx zwflJK&+__9j5fj{UR+u$Cvi=7U&bvvQQl^D{i=@w-tPrM47=EUmnuqpJe(1~#d2Gy zzl?8J`M-?E8+32zyx8CP-hR94pU?WqYd=O;&of|)yco7nG<Ru9cSdWci)%|p)>q|( z??T}lAJ_jYsQrEZ$2G~91~b2bIuTK;jAC@$7Vlicb9}L}rv&$`9T8`??&P>xZkk)7 z)_;y|Rs90q16GFNM>k)5RAV5udU0`J*p<yKJC(QG)62E$vzc`KQ^K+ymOzpA=S?QF zIS<dYh~k)JBG=FUxcFy{nM~H=g%xGX=FUC8^yp2WdHqi=?p$;>z37m|F4MaTN-ZaB zqZ+4Y1ZS=+j>-==Zn>Q=@J!{)>wcZ;7b5x}d^|$xOD3$Ue{%6l|0cs54^sbJtYLX^ z!u3S0flY<vr#T9`dWCHVs<&`G*?3^8KkE)w7Apy!gw^5oPJXF7+cycUf59-fE;Y#V z`=51J`ChDIixNAzSnuLuv73(r4!QGQa`*eFTx?SB%jA(O<e?|1GMz_A%xRUf<y7l< znJHXzTfPLgznRF`b+rCzuYpUyPQew$yp;BIN5N(<y$k=pC+m1kQTn)7VsaqsDn7PS z!P?~wjB0xhd^pc^FU`C5lDF@U?p+Vos<WOuJa^%V_s&TtI#--Lcj(Fz?dQ=eig<K* z-Y(8QdvU`wf39ny2HP#0il6pLC#iinZ0KzD=Wn}UxIv_glJ4yzM_y!y)?evpc<AtK zTgHUz?m?Rl?(~~AN%+pyKr#L=r5C0vHB9#x_;B;Y8P8p}jsNFA`+xS&{+a*Fm;B$} zY3tH)-;q=Q!<HZZk&_O8z27Eu`hUps|JxInrqw&~+&;-T)mF-+Tx+>y(xq)X=Q?Yh zvsh?-<n!dc8Q)wks<r6EefjO3yiR96PyOk<GTHl5xoh)yYIEK9)h0Kd-Q_#m>RSho zudMp!6U!pLFXPqC-DfKM^2hljww@cG`|nwG{_VEJg+FUA`L2-s-hMmu^S58`{(kv% z_w1KnXS>Vu^Y86x51Hc^q9&&P!s+Ji^BE#>Ge2|vdeXsXcPIA#zMVC-ys|nx%A3ya zKD~Q)eEq$9`x?xQkM`sgm)CxMIPD9QJJS~4P*)}KS#{UFyf19giujV!k>bR3OPY;; zI;-dlZi%oMv6chJH6}_3a$0qGw=Nd?5+-?}@_2jKu1nV&dqO{izh;o`+VhrghU}~q zx0?qfckcJIR^{&gpYrK{;FJFsBc`b)9(Yo(_Fwp?{BFN`8LNNAD!r_NPwFEDS}qp2 zJhFG~Jo$gQ<o}trU7ItMZhUVj^D|8S^O(!qrbGL-*sgq??b<7D?5Ur8t<UUQ!nDPz z6CIx~sGr1jYKObWx%JW8?8@(#zAxEXzHDF6nY;J5#7^H*w|4!-xl1o!`P(UP^>_-0 zo$u=Hf7lM16*Sj)x>(jv(JTLZl#Mg1a{K0-T+yDmqo2>p@9lc&;1%R{$8_Zp!I#&Z zoAMHtq-DuUU+OE7yl!>(IhP_E8;j=43tJwyuRHkOZ~L<O2ST}Cw!UI%x%46}V{xu& zR5O#B%;VZrsp#l<dq4ZE-JYi}rX?JV+2C-H-)<p$!QDewlZ4coZ$*4oug_h&#C&db zb>XAi(;Jc;tku5r|4a&0___4ojyC=?|BYsS{*(Ogx>?Hg<OTPtRTjkR?9#rpUO=Gg z(Q*yHm$MpX`<XVMHC#E1MI&ss*s4RnE$h~Y6|wGL`T0WUVVN27Azg>+pEQ_hESGei z!@;_v^5U6mdmIwt<0iCqOkS5ZXV#{z^}R0_x4jUZa>(<>#6anL?GJ9oA33){uKH>H zo}Z`B&i;Or-B(#w@co+Yr<WFg^Zw)Y*KZbkpW{*O%12*!ev~=9d`cak^m*UCywm$_ z+NK%t7k8)z*v%8veBGMd!X=ubX8n0bB(KaItG7$o+z+feoDgRCMr*E9W5TVC#u_e< zXB{c1f6G$1wqjRX@G;Yw4{vckiu(9OK;-&^9WIA$=LoEuYaC<k8pC~SHJ8w~sBUk0 zuFFAQKJuLLe4VDMh0A?<(|OJ+r?B-0%X_<7Og?{7G-}2)-8oJxURlVU7r1vWiP_VX zP27}Qe9OZWb5ZfFxgxis5~hbO-y9p3UGht&$?SzuVf|J|oAowpwlTa~eoR6|K3T-& z@0Q~JGcV@JUo>7+VfSR6CcERY&l6<Qm9Ea|esc4s<@b`S=_*UldwR{8dZjon==aQ% znsa79v9Q)GuM2vRpz?g9_rc9ml%8v*o(u7syLyUMv}X0bpf5eDmo2>wCoa&JQ@J0$ zWZn}+Pt!#QCoZ00TmM7W=9+=H#pzb@ss*-DCyHbeo?d3iVLUB!D>Q0VvR|r$>f+Sa z>}gzcQs3lXdGL(gQRsj$L-_r=^Xvx~%U*xNl56Ucl<)a!fpDd`OWiu|plLg<q;#&$ zv}O9TizUQcS~K#QN_y^j{%O9)nM>ZhnioD-<oNa-I@y<uBc4?StNpCsuvo8siH>(r zXLQh3?~pr^>MYMEUwC;g+gmAE;?mMByC0`7^=jE%<5ZwGW6~-1=aWx+h&KIwC=}G% z7%<~r`WE(|2V%u{o@03^^|I8?A>3`NzcTBMj~(TT8>Xv2Tt4C7>xwCR1TL&z^qisO zk9b`{QG>m`<pK92me0N$uMXqZe^8$$#{1rxeVWS;on<GCB+pNMP<!Nu?A*`m+m>qk zzjz#VO8L%&_7~^fb9<jKSM<zSb?w(J&)5aR9QRht_!*WWzNU_`TmKQGlV(=f11_EY zN2b}={XFeveq~jtSVYZC-MT-I#3yublipf(ZqM1%GqNpj-)TM)C{cWD-NyGblPBGK z{H*?Wca*gGeLMZMxW9|!D;_Qu+b^Y=AfK5vg=yP)Z;l^f7ne1B5$HAB>cM~exvEXg zYLDP+w-?H-RK9uh;f$u^at1;llv+Q&KfG1%SUkg?<InyseGtcc{%-vG;KF`u&u!6P zyQY@TSv~cxXq5iX*-`7gEY5mbTo2tHvr(=rlwt3R+x4*ycN7JUL**BwbMN=$o_A8H zf3oQ!wO|h4bu(txI2!$2lvLDyFr}}0=H!wE!u3%X$|fqTTf5SKPRjFFIg3~BIwbup zxxV?x?SG<7Cl@!C9kC9c{aX6&F^yYitl1*l668G(=1w?V{AiiQ*`JaB_<#NRY5YI( z{|e@^hwGba)87BGujfAW^JYPbUjOXM!>6WM9n$T-ouQWgcVDPaZ?s}of?Az_Nk~wn ztk0XtzW2p9sg((5`@Io!T=*z<(%dWjmlrLZX0iM8!La)L*S_6v<{0VO1b+F)a;A^b z#3u6c<A)pGKgbA|-4~j&d&vYV&ey3--#mGK`w9L&HOry)MtO>I2GhIxlRV%31izn} zcmJ1WJa6ZoS1x-Sx}sM<2%CH-%+g5o>TS^_GvDc$pS!vCX2Ap%yExB|Z+2T3M4J6$ z;Qgr-W4P!qr{)FiT3f*%j?)j@Ptl)T{A1&#DPL1O{y9BZTpzv7Ds-#A@I-m<-*z7} z6Zu870$03iTw&#^ey-g(uaIx@QpI{P(O3LSPI3MBQu*WM7#Fjum$m+Hp#9MU`t$jI z_^*sHS^fXmtNj~)onP}WI_0nVh2^KF*L$!0uXak=lj~Z&*f9^i#IN_W*8HCq^m*;1 zO?eZ7Cr$C(y(Kqze(uGFpQo1H4Z8V(Yhy{&+c(UiKbfyyTqo!q!^XX$m21_+Uzra# zWlyaCdgaj8TklLhPqw?>)Os~R%JS8!+B%~tQ{{9GE!}!H?C`ypsV+L_Th?<oKJn!y zqNYoKq<O8?^ekR-v}xh)9hFWY5;m*Nn~QhU7>XGsN{OZx9*e)CH*>qB)k>TG6Z4*M zX2fVc&hFXhSZMx7Wyk;98HW$PUX@gr(|W1FCS+&J)OvM|b6ZxeEPPfGnH?}^5<|%c zj@udmfuR}wiw<wktaNJS+i0kDs&0<*I}Ops)8b0rnl22@Tfcwbyq<55>RI2DZre=~ z*85Gi&yJsRHErd`;^eEV7Q~3hou9eL@8zb@E!Oj19txXx_hG?m+01CIZFA>#hDPT- zySeDVPh;msj+uKT>g5*9K2?_K@7t`Vl=7p1L9Di*hC?g<XaFOBrXdRhi@>q-JdB5a zRg{TXOnFtT;ktams$ie8_tRH$1=n_!iPtZi$r#=FE95n2$jzfG+;3}b<xyQ}R@z~4 zHukjbtNB|@b=5vc8Rpi;UJg4Zr!_UH-$Fq9?rrwM484Zl*t~_ar`6BR?NwU0bW`0O zt^OCOyn9bv+#2<&-@j}%)AFS0&#t_<5NUYTa%R$j<Ia<6I)q;KNA{>(d(~4Zb?4RY z<FmCQGUxV95nX(CLzLq49o_K)tV(@i-47c#ht9|e)x7jgc86WK;%V2OJ=Kdi{<Zru z9jZ!Lml7?pMtkyx7@PXAMPV{h^>de<3DrLL<j`y`)^!X@w!$a1<$6=v+<snM!S(aB z>*D@fdHYPJ^q&{+ZtIZ{J*c$*aX9Oe7nK~Jr#=o~Te+{yN286u()CxB%&(dM?LYt5 zfAQa5>hva^z8N5%`oI74OWuAy`1k+PMwOEf{_Ar$8A$QFe)#Wxe&+xB-hclS&eUh5 zbh94F`z4*aR%>1SzG#m1vm6@tD{p!IsNQo<?)1-}oSt$^a9ICnKg@7w-(NwUyQLr7 ze?BSr*uFU8hW*!Ho7$ZpB(jO_-1xYk)6HtymrV5sD{rloy{4(kD}6DXAzOISW9OL{ zuROUXIeF7dj{K4<>NQp;b4Blq)$ZIm+vNSa`1;uRz0XUgR#*Q1X1e{>!xusCrq5rO zzh2Nrey4q5bDEd_W%Z*~vrNuE{TU(Goo?(H;P#w3S7U{8rOurBz30xkRO;}GHybC~ zc%PC?sENydwnS<EN*0S$pLcDyB0sC=E=|dP*Yfdx^^v7>?M0oVg!V`Dc%NH0y{~!a z{qwW53{E-J%b)o=y=iq|_`9Au)ej2QT07fWQi2-4>6d84b#y#+c1_v->B8hcQ!K7d z?3(asaoC3?2G%?3L$tn}5-n?fxB6KopZDaXLUV5S(?>6C3ha}4vqmT{OxJjI`}9<m z#Ge+Csy#aP^4iDRyoxqH@>yfTzq+Ay>Vt$z$%u~nsme!dHS5nw?=^YPwcPulitveO z(U><kSog=?klhoN!xu13TcBF$kRwaT)8K|IM#o0C7=y^hlUzPw37ZZXPZV9`o${;n z?x(<4SAQM<`66e=vfnEcBtBH0^?Iri!Rq*V#zdLzUPViO*;$C%PhPC(WSOE7>%KFs z(}F$AgU580L+>NgX|Y%8E#gX_YWddj7;0Vhdi5#5+9GZV%U=2PQthb6i!!%nMy|`c zdVbH*<4U2ws!qo&d-3a|gLRqeX^G+!o>w-U$#>9<TeB(cquTQ#kMqTrUEzz?OfJ5% zSuF4>&u8Z?8gt8XZ(W_Hx~$L0Z{<<F>qQs1PZ{a+EdILn^u^^#FJAf>M#tATt3Q6l z^!3@UhK~=XnwoC4JmkNcH;hp(hf(as#<`c$h5S}}<>Y$2wE4c%C8hP$m&2R_47cum z&t9-KI=A%U<y+RB+}!_l9>i`t5~};L)%<o>_-u*PE3Empnh*M3^mx?C^Lf6~FBaTw z#O@mqky6=pTF_Bq{*jA`OOLMOXLu^qUe>{KsyKP~w$*B->6>h(9h;f(e~D(6)Q9;6 z7Ccjw|GB^Cde+UcICb_6j@q?t7X>V2zUkayf4}R6yV#3s?hZwaJGG3Q7~<p&Px2SN pJmN5~ciEg22HD*=j_Q?d?2dhtB#vNS?~MO1|NhPOUWNs%3;<JS>(u}N delta 36256 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	|lyP18B3dLf$yX<M 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 S+IrVN=^2l|JY`tG$^ZaFOt`cF diff --git a/dbrepo-ui/components/ResourceStatus.vue b/dbrepo-ui/components/ResourceStatus.vue index 9ff310ce1b..36544b1c29 100644 --- a/dbrepo-ui/components/ResourceStatus.vue +++ b/dbrepo-ui/components/ResourceStatus.vue @@ -44,6 +44,9 @@ export default { } return 'private' } + if (!this.resource.is_schema_public) { + return 'private' + } return 'public' }, status () { diff --git a/dbrepo-ui/components/dialogs/EditAccess.vue b/dbrepo-ui/components/dialogs/EditAccess.vue index b3bd8dbf96..856a442592 100644 --- a/dbrepo-ui/components/dialogs/EditAccess.vue +++ b/dbrepo-ui/components/dialogs/EditAccess.vue @@ -229,7 +229,7 @@ export default { const userService = useUserService() userService.findAll() .then((users) => { - this.users = users.filter(u => u.username !== this.database.owner.username) + this.users = users.filter(u => u.id !== this.database.owner.id) }) .catch(({code}) => { const toast = useToastInstance() diff --git a/dbrepo-ui/components/dialogs/EditTuple.vue b/dbrepo-ui/components/dialogs/EditTuple.vue index 8935043316..3290d230d1 100644 --- a/dbrepo-ui/components/dialogs/EditTuple.vue +++ b/dbrepo-ui/components/dialogs/EditTuple.vue @@ -27,7 +27,7 @@ type="number"> <template v-slot:append> - {{ column.column_type.toUpperCase() }} + {{ column.type.toUpperCase() }} <NuxtLink target="_blank" class="ml-2" @@ -61,7 +61,7 @@ type="text"> <template v-slot:append> - {{ column.column_type.toUpperCase() }} + {{ column.type.toUpperCase() }} <NuxtLink target="_blank" class="ml-2" @@ -94,7 +94,7 @@ type="number"> <template v-slot:append> - {{ column.column_type.toUpperCase() }} + {{ column.type.toUpperCase() }} <NuxtLink target="_blank" class="ml-2" @@ -126,7 +126,7 @@ :hint="hint(column)"> <template v-slot:append> - {{ column.column_type.toUpperCase() }} + {{ column.type.toUpperCase() }} <NuxtLink target="_blank" class="ml-2" @@ -161,7 +161,7 @@ :items="isSet(column) ? column.sets : column.enums"> <template v-slot:append> - {{ column.column_type.toUpperCase() }} + {{ column.type.toUpperCase() }} <NuxtLink target="_blank" class="ml-2" @@ -192,7 +192,7 @@ :clearable="!required(column)"> <template v-slot:append> - {{ column.column_type.toUpperCase() }} + {{ column.type.toUpperCase() }} <NuxtLink target="_blank" class="ml-2" @@ -221,7 +221,7 @@ :hint="hint(column)"> <template v-slot:append> - {{ column.column_type.toUpperCase() }} + {{ column.type.toUpperCase() }} <NuxtLink target="_blank" class="ml-2" @@ -313,6 +313,8 @@ export default { oldTuple: null, error: false, menu: false, + loadContainer: false, + container: null, bools: [ { title: 'true', value: true }, { title: 'false', value: false } @@ -321,6 +323,7 @@ export default { } }, mounted() { + this.fetchContainer() this.$refs.form.validate() this.oldTuple = Object.assign({}, this.tuple) }, @@ -328,11 +331,20 @@ export default { database () { return this.cacheStore.getDatabase }, + table () { + return this.cacheStore.getTable + }, columnTypes () { - if (!this.database) { + if (!this.container) { + return [] + } + return this.container.image.data_types + }, + primaryKeyColumns () { + if (!this.table) { return [] } - return this.database.container.image.data_types + return this.table.constraints.primary_key.map(pk => pk.column) }, title () { return (this.edit ? this.$t('toolbars.table.data.edit') : this.$t('toolbars.table.data.add')) + ' ' + this.$t('toolbars.table.data.tuple') @@ -360,7 +372,7 @@ export default { if (!is_null_allowed) { hint += this.$t('pages.table.subpages.data.required.hint') } - if (column.column_type === 'sequence') { + if (column.type === 'sequence') { hint += ' ' + this.$t('pages.table.subpages.data.auto.hint') } if (is_primary_key) { @@ -371,47 +383,47 @@ export default { } return hint }, - documentationLink ({column_type}) { - const filter = this.columnTypes.filter(t => t.value === column_type) + documentationLink ({type}) { + const filter = this.columnTypes.filter(t => t.value === type) if (filter.length !== 1) { return null } return filter[0].documentation }, - formatHint ({column_type}) { - const filter = this.columnTypes.filter(t => t.value === column_type) + formatHint ({type}) { + const filter = this.columnTypes.filter(t => t.value === type) if (filter.length !== 1) { return null } return filter[0].data_hint }, isTextField (column) { - const { column_type } = column - return ['char', 'varchar', 'tinytext', 'mediumtext'].includes(column_type) + const { type } = column + return ['char', 'varchar', 'tinytext', 'mediumtext'].includes(type) }, isTextArea (column) { - return ['text'].includes(column.column_type) + return ['text'].includes(column.type) }, isFileField (column) { - return ['blob', 'longblob', 'mediumblob', 'tinyblob'].includes(column.column_type) + return ['blob', 'longblob', 'mediumblob', 'tinyblob'].includes(column.type) }, isBoolean (column) { - return ['bool'].includes(column.column_type) + return ['bool'].includes(column.type) }, isNumber (column) { - return ['int', 'binary', 'bit', 'tinyint', 'smallint', 'mediumint', 'bigint'].includes(column.column_type) + return ['int', 'binary', 'bit', 'tinyint', 'smallint', 'mediumint', 'bigint', 'serial'].includes(column.type) }, isFloatingPoint (column) { - return ['float', 'double', 'decimal'].includes(column.column_type) + return ['float', 'double', 'decimal'].includes(column.type) }, isEnum (column) { - return column.column_type === 'enum' + return column.type === 'enum' }, isSet (column) { - return column.column_type === 'set' + return column.type === 'set' }, isTimeField (column) { - return ['date', 'datetime', 'timestamp', 'time', 'year'].includes(column.column_type) + return ['date', 'datetime', 'timestamp', 'time', 'year'].includes(column.type) }, rules (column) { if (column.is_null_allowed) { @@ -419,7 +431,7 @@ export default { } const rules = [] rules.push(v => v !== null || this.$t('validation.required')) - if (column.column_type === 'decimal' || column.column_type === 'double') { + if (column.type === 'decimal' || column.type === 'double') { rules.push(v => !(!v || v.split('.')[0].length > column.size) || `${this.$t('pages.table.subpages.data.float.max')} ${column.size} ${this.$t('pages.table.subpages.data.float.before')}`) rules.push(v => !(!v || (column.d && v.split('.')[1].length > column.d)) || `${this.$t('pages.table.subpages.data.float.max')} ${column.d} ${this.$t('pages.table.subpages.data.float.after')}`) } @@ -439,19 +451,11 @@ export default { }, updateTuple () { const constraints = {} - if (this.table.constraints.primary_key.length > 0) { - this.table.constraints.primary_key - .forEach((pk) => { - constraints[pk.column.internal_name] = this.oldTuple[pk.column.internal_name] - }) - console.debug('table has primary key: set update tuple constraints', constraints) - } else { - this.table.columns - .forEach((column) => { - constraints[column.internal_name] = this.oldTuple[column.internal_name] - }) - console.debug('table does not have a primary key: set update tuple constraints', constraints) - } + this.primaryKeyColumns + .forEach((pk) => { + constraints[pk.internal_name] = this.oldTuple[pk.internal_name] + }) + console.debug('table has primary key: set update tuple constraints', constraints) const tupleService = useTupleService() this.loading = true tupleService.update(this.$route.params.database_id, this.$route.params.table_id, { data: this.tuple, keys: constraints }) @@ -494,7 +498,7 @@ export default { this.$emit('close', { success: true }) this.loading = false }) - .catch(({message}) => { + .catch(({code, message}) => { this.loading = false const toast = useToastInstance() if (typeof code !== 'string') { @@ -510,6 +514,29 @@ export default { const toast = useToastInstance() toast.success(this.$t('success.upload.blob')) this.tuple[column.internal_name] = s3key + }, + fetchContainer () { + if (!this.database) { + return + } + this.loadContainer = true + const containerService = useContainerService() + containerService.findOne(this.database.container.id) + .then((container) => { + this.container = container + this.loadContainer = false + }) + .catch(({code, message}) => { + this.loadContainer = false + const toast = useToastInstance() + if (typeof code !== 'string') { + return + } + toast.error(message) + }) + .finally(() => { + this.loadContainer = false + }) } } } diff --git a/dbrepo-ui/components/search/AdvancedSearch.vue b/dbrepo-ui/components/search/AdvancedSearch.vue index 13de402e01..b312b2dc52 100644 --- a/dbrepo-ui/components/search/AdvancedSearch.vue +++ b/dbrepo-ui/components/search/AdvancedSearch.vue @@ -75,14 +75,14 @@ :variant="inputVariant" :label="field.attr_friendly_name" /> <v-text-field - v-if="(field.type === 'keyword' && field.attr_name !== 'column_type') || field.type === 'text' || field.type === 'date'" + v-if="(field.type === 'keyword' && field.attr_name !== 'type') || field.type === 'text' || field.type === 'date'" v-model="advancedSearchData[field.attr_name]" type="text" :variant="inputVariant" :label="field.attr_friendly_name" clearable /> <v-select - v-if="field.type === 'keyword' && field.attr_name === 'column_type'" + v-if="field.type === 'keyword' && field.attr_name === 'type'" v-model="advancedSearchData[field.attr_name]" :items="columnTypes" item-value="value" diff --git a/dbrepo-ui/components/subset/Results.vue b/dbrepo-ui/components/subset/Results.vue index e9e3c0deb5..e558186daf 100644 --- a/dbrepo-ui/components/subset/Results.vue +++ b/dbrepo-ui/components/subset/Results.vue @@ -2,12 +2,15 @@ <div> <v-data-table-server flat + v-model="selection" :headers="headers" :loading="loading || loadingCount || loadingExecute" :options="options" :items="result.rows" :items-length="total" :footer-props="footerProps" + :show-select="select" + return-object :items-per-page-options="footerProps.itemsPerPageOptions" @update:options="updateOptions" /> </div> @@ -24,6 +27,10 @@ export default { type: Boolean, default: () => false }, + select: { + type: Boolean, + default: () => false + }, timestamp: { type: String, default: () => new Date().toISOString() @@ -35,6 +42,7 @@ export default { loadingExecute: false, resultId: null, id: null, + selection: null, result: { headers: [], rows: [] @@ -64,6 +72,11 @@ export default { this.reExecute(this.id) }, deep: true + }, + selection: { + handler () { + this.$emit('selection', this.selection) + } } }, methods: { @@ -224,6 +237,9 @@ export default { this.options.page = page this.options.itemsPerPage = itemsPerPage this.reExecute(this.id) + }, + resetSelection () { + this.selection = [] } } } diff --git a/dbrepo-ui/components/subset/SubsetList.vue b/dbrepo-ui/components/subset/SubsetList.vue index ae8f2bf448..6d84a6a48e 100644 --- a/dbrepo-ui/components/subset/SubsetList.vue +++ b/dbrepo-ui/components/subset/SubsetList.vue @@ -88,7 +88,11 @@ export default { queryService.findAll(this.$route.params.database_id, true) .then((subsets) => { this.loadingSubsets = false - this.subsets = subsets + this.subsets = subsets.map(subset => { + subset.is_public = this.database.is_public + subset.is_schema_public = this.database.is_schema_public + return subset + }) }) .catch(({code}) => { this.loadingSubsets = false diff --git a/dbrepo-ui/components/table/TableList.vue b/dbrepo-ui/components/table/TableList.vue index 2cb42a1633..234470076d 100644 --- a/dbrepo-ui/components/table/TableList.vue +++ b/dbrepo-ui/components/table/TableList.vue @@ -56,7 +56,7 @@ export default { dialogDelete: false, headers: [ { value: 'name', title: 'Name' }, - { value: 'column_type', title: 'Type' }, + { value: 'type', title: 'Type' }, { value: 'column_concept', title: 'Concept' }, { value: 'column_unit', title: 'Unit' }, { value: 'is_primary_key', title: 'Primary Key' }, diff --git a/dbrepo-ui/composables/container-service.ts b/dbrepo-ui/composables/container-service.ts index 9aaf116e7e..f128051756 100644 --- a/dbrepo-ui/composables/container-service.ts +++ b/dbrepo-ui/composables/container-service.ts @@ -17,5 +17,21 @@ export const useContainerService = (): any => { }) } - return {findAll} + async function findOne(containerId: number): Promise<ContainerDto> { + const axios = useAxiosInstance(); + console.debug('find containers'); + return new Promise<ContainerDto>((resolve, reject) => { + axios.get<ContainerDto>(`/api/container/${containerId}`) + .then((response) => { + console.info(`Find container with id ${containerId}`) + resolve(response.data) + }) + .catch((error) => { + console.error('Failed to find container', error) + reject(axiosErrorToApiError(error)) + }) + }) + } + + return {findAll, findOne} } diff --git a/dbrepo-ui/composables/table-service.ts b/dbrepo-ui/composables/table-service.ts index f2e7a3a2f9..4abaebec93 100644 --- a/dbrepo-ui/composables/table-service.ts +++ b/dbrepo-ui/composables/table-service.ts @@ -287,6 +287,7 @@ export const useTableService = (): any => { exportData, create, remove, + updateSemantics, removeTuple, history, suggest, diff --git a/dbrepo-ui/locales/en-US.json b/dbrepo-ui/locales/en-US.json index 737e880820..c4d5ef5eba 100644 --- a/dbrepo-ui/locales/en-US.json +++ b/dbrepo-ui/locales/en-US.json @@ -1099,16 +1099,16 @@ }, "error": { "permission": { - "title": "You do not have permission to view this resource", - "text": "This a default-fallback error message since this resource marked as private. Please try logging in or request read-access permissions from the owner." + "title": "You do not have permission to view this {resource}", + "text": "This a default-fallback error message since this {resource} marked as private. Please try logging in or request read-access permissions from the owner." }, "missing": { - "title": "The requested resource was not found", - "text": "We could not find the requested resource anywhere." + "title": "The requested {resource} was not found", + "text": "We could not find the requested {resource} anywhere." }, "gone": { - "title": "The requested resource does not exist anymore", - "text": "We could not find the requested resource anymore." + "title": "The requested {resource} does not exist anymore", + "text": "We could not find the requested {resource} anymore." }, "auth": { "connection": "Failed to contact auth service", diff --git a/dbrepo-ui/pages/database/[database_id]/info.vue b/dbrepo-ui/pages/database/[database_id]/info.vue index 840e31bf50..4d88b2c6c8 100644 --- a/dbrepo-ui/pages/database/[database_id]/info.vue +++ b/dbrepo-ui/pages/database/[database_id]/info.vue @@ -1,5 +1,6 @@ <template> - <div> + <div + v-if="canViewSchema"> <DatabaseToolbar /> <v-window v-model="tab"> @@ -160,6 +161,12 @@ :items="items" class="pa-0 mt-2" /> </div> + <JumboBox + v-if="error" + :title="$t(errorCodeKey(error).title, { resource: 'database' })" + :subtitle="$t(errorCodeKey(error).subtitle)" + :text="$t(errorCodeKey(error).text, { resource: 'database' })" /> + <pre v-if="error">{{ error }}</pre> </template> <script> @@ -168,7 +175,7 @@ import Summary from '@/components/identifier/Summary.vue' import Select from '@/components/identifier/Select.vue' import UserBadge from '@/components/user/UserBadge.vue' import JumboBox from '@/components/JumboBox.vue' -import { sizeToHumanLabel } from '@/utils' +import { sizeToHumanLabel, errorCodeKey } from '@/utils' import { useUserStore } from '@/stores/user' import { useCacheStore } from '@/stores/cache' @@ -198,7 +205,6 @@ export default { useServerSeoMeta(identifierService.databaseToServerSeoMeta(data.value)) } return { - database: data, error } }, @@ -356,7 +362,16 @@ export default { return null } return this.database.preview_image + }, + canViewSchema () { + if (this.error) { + return false + } + return this.database } + }, + methods: { + errorCodeKey } } </script> diff --git a/dbrepo-ui/pages/database/[database_id]/settings.vue b/dbrepo-ui/pages/database/[database_id]/settings.vue index 0e833914a2..5e52a90816 100644 --- a/dbrepo-ui/pages/database/[database_id]/settings.vue +++ b/dbrepo-ui/pages/database/[database_id]/settings.vue @@ -1,5 +1,6 @@ <template> - <div> + <div + v-if="canView"> <DatabaseToolbar ref="toolbar" /> <v-window @@ -241,6 +242,11 @@ </v-window> <v-breadcrumbs :items="items" class="pa-0 mt-2" /> </div> + <JumboBox + v-if="error" + :title="$t(errorCodeKey(error).title, { resource: 'database' })" + :subtitle="$t(errorCodeKey(error).subtitle)" + :text="$t(errorCodeKey(error).text, { resource: 'database' })" /> </template> <script> @@ -248,12 +254,30 @@ import DatabaseToolbar from '@/components/database/DatabaseToolbar.vue' import EditAccess from '@/components/dialogs/EditAccess.vue' import { useUserStore } from '@/stores/user' import { useCacheStore } from '@/stores/cache' +import { errorCodeKey } from '@/utils' export default { components: { DatabaseToolbar, EditAccess }, + setup () { + const config = useRuntimeConfig() + const userStore = useUserStore() + const { database_id } = useRoute().params + const { error } = useFetch(`${config.public.api.server}/api/database/${database_id}`, { + immediate: true, + method: 'HEAD', + timeout: 90_000, + headers: { + Accept: 'application/json', + Authorization: userStore.getToken ? `Bearer ${userStore.getToken}` : null + } + }) + return { + error + } + }, data () { return { dialogDelete: false, @@ -405,6 +429,12 @@ export default { } return this.roles.includes('modify-database-image') }, + canView () { + if (this.error) { + return false + } + return this.database + }, previewImage () { if (this.file) { return URL.createObjectURL(this.file) @@ -456,6 +486,7 @@ export default { this.modifyOwner.id = this.database.owner.id }, methods: { + errorCodeKey, submit () { this.$refs.form.validate() }, diff --git a/dbrepo-ui/pages/database/[database_id]/subset/[subset_id]/info.vue b/dbrepo-ui/pages/database/[database_id]/subset/[subset_id]/info.vue index 33f370e2f2..88add5804e 100644 --- a/dbrepo-ui/pages/database/[database_id]/subset/[subset_id]/info.vue +++ b/dbrepo-ui/pages/database/[database_id]/subset/[subset_id]/info.vue @@ -38,8 +38,13 @@ :title="$t('pages.subset.visibility.title')" density="compact"> <ResourceStatus + v-if="!identifier" :inline="true" - :resource="subset" /> + :resource="database" /> + <ResourceStatus + v-else + :inline="true" + :resource="identifier" /> </v-list-item> <v-list-item v-if="subset.creator" diff --git a/dbrepo-ui/pages/database/[database_id]/subset/index.vue b/dbrepo-ui/pages/database/[database_id]/subset/index.vue index 8d454ce83d..7866e6d5de 100644 --- a/dbrepo-ui/pages/database/[database_id]/subset/index.vue +++ b/dbrepo-ui/pages/database/[database_id]/subset/index.vue @@ -1,18 +1,43 @@ <template> - <div> + <div + v-if="canViewSchema"> <DatabaseToolbar /> <SubsetList /> <v-breadcrumbs :items="items" class="pa-0 mt-2" /> </div> + <JumboBox + v-if="error" + :title="$t(errorCodeKey(error).title, { resource: 'subset' })" + :subtitle="$t(errorCodeKey(error).subtitle)" + :text="$t(errorCodeKey(error).text, { resource: 'subset' })" /> </template> <script> import SubsetList from '@/components/subset/SubsetList.vue' +import { errorCodeKey } from '@/utils' +import { useCacheStore } from '@/stores/cache' export default { components: { SubsetList }, + setup () { + const config = useRuntimeConfig() + const userStore = useUserStore() + const { database_id } = useRoute().params + const { error } = useFetch(`${config.public.api.server}/api/database/${database_id}`, { + immediate: true, + method: 'HEAD', + timeout: 90_000, + headers: { + Accept: 'application/json', + Authorization: userStore.getToken ? `Bearer ${userStore.getToken}` : null + } + }) + return { + error + } + }, data () { return { items: [ @@ -29,8 +54,23 @@ export default { to: `/database/${this.$route.params.database_id}/subset`, disabled: true } - ] + ], + cacheStore: useCacheStore() } + }, + computed: { + database () { + return this.cacheStore.getDatabase + }, + canViewSchema () { + if (this.error) { + return false + } + return this.database + } + }, + methods: { + errorCodeKey } } </script> diff --git a/dbrepo-ui/pages/database/[database_id]/table/[table_id]/data.vue b/dbrepo-ui/pages/database/[database_id]/table/[table_id]/data.vue index fc4b046df8..6d84d8a6d6 100644 --- a/dbrepo-ui/pages/database/[database_id]/table/[table_id]/data.vue +++ b/dbrepo-ui/pages/database/[database_id]/table/[table_id]/data.vue @@ -9,14 +9,14 @@ <v-spacer /> <v-btn v-if="canAddTuple" - :prepend-icon="$vuetify.display.lgAndUp ? 'mdi-plus' : null" + :prepend-icon="$vuetify.display.mdAndUp ? 'mdi-plus' : null" variant="flat" :text="$t('toolbars.table.data.add')" class="ml-2" @click="addTuple" /> <v-btn v-if="canEditTuple" - :prepend-icon="$vuetify.display.lgAndUp ? 'mdi-pencil' : null" + :prepend-icon="$vuetify.display.mdAndUp ? 'mdi-pencil' : null" color="warning" variant="flat" :text="$t('toolbars.table.data.edit')" @@ -24,7 +24,7 @@ @click="editTuple" /> <v-btn v-if="canDeleteTuple" - :prepend-icon="$vuetify.display.lgAndUp ? 'mdi-delete' : null" + :prepend-icon="$vuetify.display.mdAndUp ? 'mdi-delete' : null" color="error" variant="flat" :text="$t('toolbars.table.data.delete')" @@ -32,14 +32,14 @@ :loading="loadingDelete" @click="deleteItems" /> <v-btn - :prepend-icon="$vuetify.display.lgAndUp ? 'mdi-download' : null" + :prepend-icon="$vuetify.display.mdAndUp ? 'mdi-download' : null" variant="flat" :loading="downloadLoading" :text="$t('toolbars.table.data.download')" class="ml-2" @click.stop="download" /> <v-btn - :prepend-icon="$vuetify.display.lgAndUp ? 'mdi-refresh' : null" + :prepend-icon="$vuetify.display.mdAndUp ? 'mdi-refresh' : null" variant="flat" :text="$t('toolbars.table.data.refresh')" class="ml-2" @@ -47,7 +47,7 @@ :loading="loadingData" @click="reload" /> <v-btn - :prepend-icon="$vuetify.display.lgAndUp ? 'mdi-update' : null" + :prepend-icon="$vuetify.display.mdAndUp ? 'mdi-update' : null" variant="flat" :text="$t('toolbars.table.data.version')" class="ml-2 mr-2" @@ -61,13 +61,16 @@ {{ $t('error.table.connection') }} </v-card-text> </v-card> - <v-card tile> + <v-card + tile> <QueryResults id="query-results" ref="queryResults" + class="mt-0 mb-0" type="table" + :select="canSelectTuples" :timestamp="versionISO || lastReload.toISOString()" - class="mt-0 mb-0" /> + @selection="updateSelect" /> </v-card> <v-dialog v-model="pickVersionDialog" @@ -99,18 +102,24 @@ </v-dialog> <v-breadcrumbs :items="items" class="pa-0 mt-2" /> </div> + <JumboBox + v-if="error" + :title="$t(errorCodeKey(error).title, { resource: 'table' })" + :subtitle="$t(errorCodeKey(error).subtitle)" + :text="$t(errorCodeKey(error).text, { resource: 'table' })" /> </template> <script> import TableHistory from '@/components/table/TableHistory.vue' import TimeDrift from '@/components/TimeDrift.vue' import TableToolbar from '@/components/table/TableToolbar.vue' -import { formatTimestamp } from '@/utils' +import { errorCodeKey, formatTimestamp } from '@/utils' import { useUserStore } from '@/stores/user' import { useCacheStore } from '@/stores/cache' import EditTuple from '@/components/dialogs/EditTuple.vue' import BlobDownload from '@/components/table/BlobDownload.vue' import QueryResults from '@/components/subset/Results.vue' +import JumboBox from '@/components/JumboBox.vue' export default { components: { @@ -119,7 +128,29 @@ export default { EditTuple, TableHistory, TableToolbar, - TimeDrift + TimeDrift, + JumboBox + }, + setup () { + const config = useRuntimeConfig() + const userStore = useUserStore() + const { database_id, table_id } = useRoute().params + const { error, data } = useFetch(`${config.public.api.server}/api/database/${database_id}/table/${table_id}`, { + immediate: true, + timeout: 90_000, + headers: { + Accept: 'application/json', + Authorization: userStore.getToken ? `Bearer ${userStore.getToken}` : null + } + }) + if (data.value) { + const identifierService = useIdentifierService() + useServerHead(identifierService.databaseToServerHead(data.value)) + useServerSeoMeta(identifierService.databaseToServerSeoMeta(data.value)) + } + return { + error + } }, data () { return { @@ -144,7 +175,6 @@ export default { version: null, lastReload: new Date(), tab: null, - error: false, tuple: null, options: { page: 1, @@ -193,9 +223,6 @@ export default { user () { return this.userStore.getUser }, - tables () { - return this.cacheStore.getTable - }, access () { return this.userStore.getAccess }, @@ -238,8 +265,16 @@ export default { } return this.access.type === 'write_all' }, + primaryKeyColumns () { + if (!this.table) { + return [] + } + return this.table.constraints.primary_key.map(pk => pk.column) + }, canViewTableData () { - /* view when database is public or when private: 1) view-table-data role present 2) access is at least read */ + if (this.error) { + return false + } if (!this.table) { return false } @@ -258,6 +293,13 @@ export default { const userService = useUserService() return userService.hasWriteAccess(this.table, this.access, this.user) && this.roles.includes('insert-table-data') }, + canSelectTuples () { + if (!this.roles) { + return false + } + const userService = useUserService() + return userService.hasWriteAccess(this.table, this.access, this.user) && this.roles.includes('insert-table-data') + }, canEditTuple () { if (!this.roles || this.selection === null || this.selection.length !== 1) { return false @@ -282,6 +324,7 @@ export default { this.reload() }, methods: { + errorCodeKey, addTuple () { this.tuple = {} this.columns.forEach((c) => { @@ -299,8 +342,7 @@ export default { for (const select of this.selection) { /* remove in container */ const constraints = {} - this.columns - .filter(c => c.is_primary_key) + this.primaryKeyColumns .forEach((c) => { constraints[c.internal_name] = select[c.internal_name] }) @@ -327,6 +369,7 @@ export default { toast.success(`Deleted ${this.selection.length} row(s)`) this.$emit('modified', { success: true, action: 'delete' }) this.selection = [] + this.$refs.queryResults.resetSelection() this.reload() }) this.loadingDelete = false @@ -399,11 +442,14 @@ export default { }, reload () { this.lastReload = new Date() + if (!this.canViewTableData) { + return + } this.$refs.queryResults.reExecute(Number(this.$route.params.table_id)) this.$refs.queryResults.reExecuteCount(Number(this.$route.params.table_id)) }, isFileField (column) { - return ['blob', 'longblob', 'mediumblob', 'tinyblob'].includes(column.column_type) + return ['blob', 'longblob', 'mediumblob', 'tinyblob'].includes(column.type) }, close ({ success }) { console.debug('closed edit/create tuple dialog') @@ -412,7 +458,11 @@ export default { if (success) { this.reload() this.selection = [] + this.$refs.queryResults.resetSelection() } + }, + updateSelect (selection) { + this.selection = selection } } } diff --git a/dbrepo-ui/pages/database/[database_id]/table/[table_id]/info.vue b/dbrepo-ui/pages/database/[database_id]/table/[table_id]/info.vue index 5c258e75ec..93c16d6792 100644 --- a/dbrepo-ui/pages/database/[database_id]/table/[table_id]/info.vue +++ b/dbrepo-ui/pages/database/[database_id]/table/[table_id]/info.vue @@ -1,6 +1,6 @@ <template> <div - v-if="table"> + v-if="canViewSchema"> <TableToolbar :selection="selection" /> <v-card @@ -116,6 +116,11 @@ </v-card> <v-breadcrumbs :items="items" class="pa-0 mt-2" /> </div> + <JumboBox + v-if="error" + :title="$t(errorCodeKey(error).title, { resource: 'table' })" + :subtitle="$t(errorCodeKey(error).subtitle)" + :text="$t(errorCodeKey(error).text, { resource: 'table' })" /> </template> <script> @@ -125,6 +130,7 @@ import Summary from '@/components/identifier/Summary.vue' import UserBadge from '@/components/user/UserBadge.vue' import { useUserStore } from '@/stores/user' import { useCacheStore } from '@/stores/cache' +import { errorCodeKey } from '@/utils' export default { components: { @@ -151,7 +157,6 @@ export default { useServerSeoMeta(identifierService.databaseToServerSeoMeta(data.value)) } return { - table: data, error } }, @@ -201,6 +206,9 @@ export default { database () { return this.cacheStore.getDatabase }, + table () { + return this.cacheStore.getTable + }, roles () { return this.userStore.getRoles }, @@ -213,6 +221,21 @@ export default { } return this.access.type === 'read' || this.access.type === 'write_own' || this.access.type === 'write_all' }, + canViewSchema () { + if (this.error) { + return false + } + if (!this.table) { + return false + } + if (this.table.is_schema_public || this.table.is_public) { + return true + } + if (!this.user) { + return false + } + return this.hasReadAccess || this.table.owner.id === this.user.id || this.database.owner.id === this.user.id + }, canWrite () { if (!this.table || !this.user || !this.access) { return false @@ -288,6 +311,9 @@ export default { return this.$t('pages.table.connection.permissions.read') } } - } + }, + methods: { + errorCodeKey + }, } </script> diff --git a/dbrepo-ui/pages/database/[database_id]/table/[table_id]/schema.vue b/dbrepo-ui/pages/database/[database_id]/table/[table_id]/schema.vue index 5364b6c899..e0d4f9555f 100644 --- a/dbrepo-ui/pages/database/[database_id]/table/[table_id]/schema.vue +++ b/dbrepo-ui/pages/database/[database_id]/table/[table_id]/schema.vue @@ -118,17 +118,44 @@ :items="items" class="pa-0 mt-2" /> </div> + <JumboBox + v-if="error" + :title="$t(errorCodeKey(error).title, { resource: 'table' })" + :subtitle="$t(errorCodeKey(error).subtitle)" + :text="$t(errorCodeKey(error).text, { resource: 'table' })" /> </template> <script> import TableToolbar from '@/components/table/TableToolbar.vue' import { useUserStore } from '@/stores/user' import { useCacheStore } from '@/stores/cache' +import { errorCodeKey } from '@/utils' export default { components: { TableToolbar }, + setup () { + const config = useRuntimeConfig() + const userStore = useUserStore() + const { database_id, table_id } = useRoute().params + const { error, data } = useFetch(`${config.public.api.server}/api/database/${database_id}/table/${table_id}`, { + immediate: true, + timeout: 90_000, + headers: { + Accept: 'application/json', + Authorization: userStore.getToken ? `Bearer ${userStore.getToken}` : null + } + }) + if (data.value) { + const identifierService = useIdentifierService() + useServerHead(identifierService.databaseToServerHead(data.value)) + useServerSeoMeta(identifierService.databaseToServerSeoMeta(data.value)) + } + return { + error + } + }, data () { return { selection: [], @@ -160,7 +187,7 @@ export default { ], headers: [ { value: 'internal_name', title: this.$t('pages.table.subpages.schema.internal-name.title') }, - { value: 'column_type', title: this.$t('pages.table.subpages.schema.column-type.title') }, + { value: 'type', title: this.$t('pages.table.subpages.schema.column-type.title') }, { value: 'extra', title: this.$t('pages.table.subpages.schema.extra.title') }, { value: 'column_concept', title: this.$t('pages.table.subpages.schema.concept.title') }, { value: 'column_unit', title: this.$t('pages.table.subpages.schema.unit.title') }, @@ -195,6 +222,9 @@ export default { return this.userStore.getRoles }, canViewSchema () { + if (this.error) { + return false + } if (!this.table) { return false } @@ -204,7 +234,7 @@ export default { if (!this.user) { return false } - return this.hasReadAccess || this.table.owned_by === this.user.id || this.database.owner.id === this.user.id + return this.hasReadAccess || this.table.owner.id === this.user.id || this.database.owner.id === this.user.id }, primaryKeysColumns () { return this.table.constraints.primary_key.map(pk => pk.column.internal_name).join(', ') @@ -235,10 +265,11 @@ export default { } }, methods: { + errorCodeKey, extra (column) { - if (column.column_type === 'float') { + if (column.type === 'float') { return `precision=${column.size}` - } else if (['decimal', 'double'].includes(column.column_type)) { + } else if (['decimal', 'double'].includes(column.type)) { let extra = '' if (column.size !== null) { extra += `size=${column.size}` @@ -250,11 +281,11 @@ export default { extra += `d=${column.d}` } return extra - } else if (column.column_type === 'enum') { + } else if (column.type === 'enum') { return `(${column.enums.join(', ')})` - } else if (column.column_type === 'set') { + } else if (column.type === 'set') { return `(${column.sets.join(', ')})` - } else if (['int', 'char', 'varchar', 'binary', 'varbinary', 'tinyint', 'size="small"int', 'mediumint', 'bigint'].includes(column.column_type)) { + } else if (['int', 'char', 'varchar', 'binary', 'varbinary', 'tinyint', 'size="small"int', 'mediumint', 'bigint'].includes(column.type)) { return column.size !== null ? `size=${column.size}` : '' } return null diff --git a/dbrepo-ui/pages/database/[database_id]/table/[table_id]/settings.vue b/dbrepo-ui/pages/database/[database_id]/table/[table_id]/settings.vue index 936db0ab73..45a8a3a5f2 100644 --- a/dbrepo-ui/pages/database/[database_id]/table/[table_id]/settings.vue +++ b/dbrepo-ui/pages/database/[database_id]/table/[table_id]/settings.vue @@ -167,7 +167,7 @@ export default { ], headers: [ { value: 'internal_name', title: this.$t('pages.table.subpages.schema.internal-name.title') }, - { value: 'column_type', title: this.$t('pages.table.subpages.schema.column-type.title') }, + { value: 'type', title: this.$t('pages.table.subpages.schema.column-type.title') }, { value: 'extra', title: this.$t('pages.table.subpages.schema.extra.title') }, { value: 'column_concept', title: this.$t('pages.table.subpages.schema.concept.title') }, { value: 'column_unit', title: this.$t('pages.table.subpages.schema.unit.title') }, @@ -258,9 +258,9 @@ export default { this.$refs.form.validate() }, extra (column) { - if (column.column_type === 'float') { + if (column.type === 'float') { return `precision=${column.size}` - } else if (['decimal', 'double'].includes(column.column_type)) { + } else if (['decimal', 'double'].includes(column.type)) { let extra = '' if (column.size !== null) { extra += `size=${column.size}` @@ -272,11 +272,11 @@ export default { extra += `d=${column.d}` } return extra - } else if (column.column_type === 'enum') { + } else if (column.type === 'enum') { return `(${column.enums.join(', ')})` - } else if (column.column_type === 'set') { + } else if (column.type === 'set') { return `(${column.sets.join(', ')})` - } else if (['int', 'char', 'varchar', 'binary', 'varbinary', 'tinyint', 'size="small"int', 'mediumint', 'bigint'].includes(column.column_type)) { + } else if (['int', 'char', 'varchar', 'binary', 'varbinary', 'tinyint', 'size="small"int', 'mediumint', 'bigint'].includes(column.type)) { return column.size !== null ? `size=${column.size}` : '' } return null diff --git a/dbrepo-ui/pages/database/[database_id]/table/index.vue b/dbrepo-ui/pages/database/[database_id]/table/index.vue index 7198c88cf3..9616074fdd 100644 --- a/dbrepo-ui/pages/database/[database_id]/table/index.vue +++ b/dbrepo-ui/pages/database/[database_id]/table/index.vue @@ -1,15 +1,27 @@ <template> - <div> + <div + v-if="canViewSchema"> <DatabaseToolbar /> - <v-window v-model="tab"> + <v-window + v-model="tab"> <TableList /> </v-window> - <v-breadcrumbs :items="items" class="pa-0 mt-2" /> + <v-breadcrumbs + :items="items" + class="pa-0 mt-2" /> </div> + <JumboBox + v-if="error" + :title="$t(errorCodeKey(error).title, { resource: 'table' })" + :subtitle="$t(errorCodeKey(error).subtitle)" + :text="$t(errorCodeKey(error).text, { resource: 'table' })" /> </template> + <script> import TableList from '@/components/table/TableList.vue' import DatabaseToolbar from '@/components/database/DatabaseToolbar.vue' +import { useCacheStore } from '@/stores/cache' +import { errorCodeKey } from '@/utils' export default { name: 'Tables', @@ -17,9 +29,26 @@ export default { TableList, DatabaseToolbar }, + setup () { + const config = useRuntimeConfig() + const userStore = useUserStore() + const { database_id } = useRoute().params + const { error } = useFetch(`${config.public.api.server}/api/database/${database_id}`, { + immediate: true, + method: 'HEAD', + timeout: 90_000, + headers: { + Accept: 'application/json', + Authorization: userStore.getToken ? `Bearer ${userStore.getToken}` : null + } + }) + return { + error + } + }, data () { return { - db: null, + tab: 0, items: [ { title: this.$t('navigation.databases'), @@ -34,13 +63,23 @@ export default { to: `/database/${this.$route.params.database_id}/table`, disabled: true } - ] + ], + cacheStore: useCacheStore() } }, computed: { - tab () { - return 1 + database () { + return this.cacheStore.getDatabase + }, + canViewSchema () { + if (this.error) { + return false + } + return this.database } + }, + methods: { + errorCodeKey } } </script> diff --git a/dbrepo-ui/pages/database/[database_id]/view/[view_id]/schema.vue b/dbrepo-ui/pages/database/[database_id]/view/[view_id]/schema.vue index e9559bca7a..e126e19d90 100644 --- a/dbrepo-ui/pages/database/[database_id]/view/[view_id]/schema.vue +++ b/dbrepo-ui/pages/database/[database_id]/view/[view_id]/schema.vue @@ -88,7 +88,7 @@ export default { ], headers: [ { value: 'internal_name', title: this.$t('pages.table.subpages.schema.internal-name.title') }, - { value: 'column_type', title: this.$t('pages.table.subpages.schema.column-type.title') }, + { value: 'type', title: this.$t('pages.table.subpages.schema.column-type.title') }, { value: 'extra', title: this.$t('pages.table.subpages.schema.extra.title') }, { value: 'column_concept', title: this.$t('pages.table.subpages.schema.concept.title') }, { value: 'column_unit', title: this.$t('pages.table.subpages.schema.unit.title') }, @@ -144,9 +144,9 @@ export default { }, methods: { extra (column) { - if (column.column_type === 'float') { + if (column.type === 'float') { return `precision=${column.size}` - } else if (['decimal', 'double'].includes(column.column_type)) { + } else if (['decimal', 'double'].includes(column.type)) { let extra = '' if (column.size !== null) { extra += `size=${column.size}` @@ -158,11 +158,11 @@ export default { extra += `d=${column.d}` } return extra - } else if (column.column_type === 'enum') { + } else if (column.type === 'enum') { return `(${column.enums.join(', ')})` - } else if (column.column_type === 'set') { + } else if (column.type === 'set') { return `(${column.sets.join(', ')})` - } else if (['int', 'char', 'varchar', 'binary', 'varbinary', 'tinyint', 'size="small"int', 'mediumint', 'bigint'].includes(column.column_type)) { + } else if (['int', 'char', 'varchar', 'binary', 'varbinary', 'tinyint', 'size="small"int', 'mediumint', 'bigint'].includes(column.type)) { return column.size !== null ? `size=${column.size}` : '' } return null diff --git a/dbrepo-ui/pages/database/[database_id]/view/[view_id]/settings.vue b/dbrepo-ui/pages/database/[database_id]/view/[view_id]/settings.vue index 80c746292b..f9c905ffd4 100644 --- a/dbrepo-ui/pages/database/[database_id]/view/[view_id]/settings.vue +++ b/dbrepo-ui/pages/database/[database_id]/view/[view_id]/settings.vue @@ -140,7 +140,7 @@ export default { ], headers: [ { value: 'internal_name', title: this.$t('pages.table.subpages.schema.internal-name.title') }, - { value: 'column_type', title: this.$t('pages.table.subpages.schema.column-type.title') }, + { value: 'type', title: this.$t('pages.table.subpages.schema.column-type.title') }, { value: 'extra', title: this.$t('pages.table.subpages.schema.extra.title') }, { value: 'column_concept', title: this.$t('pages.table.subpages.schema.concept.title') }, { value: 'column_unit', title: this.$t('pages.table.subpages.schema.unit.title') }, @@ -226,9 +226,9 @@ export default { this.$refs.form.validate() }, extra (column) { - if (column.column_type === 'float') { + if (column.type === 'float') { return `precision=${column.size}` - } else if (['decimal', 'double'].includes(column.column_type)) { + } else if (['decimal', 'double'].includes(column.type)) { let extra = '' if (column.size !== null) { extra += `size=${column.size}` @@ -240,11 +240,11 @@ export default { extra += `d=${column.d}` } return extra - } else if (column.column_type === 'enum') { + } else if (column.type === 'enum') { return `(${column.enums.join(', ')})` - } else if (column.column_type === 'set') { + } else if (column.type === 'set') { return `(${column.sets.join(', ')})` - } else if (['int', 'char', 'varchar', 'binary', 'varbinary', 'tinyint', 'size="small"int', 'mediumint', 'bigint'].includes(column.column_type)) { + } else if (['int', 'char', 'varchar', 'binary', 'varbinary', 'tinyint', 'size="small"int', 'mediumint', 'bigint'].includes(column.type)) { return column.size !== null ? `size=${column.size}` : '' } return null diff --git a/dbrepo-ui/pages/database/[database_id]/view/index.vue b/dbrepo-ui/pages/database/[database_id]/view/index.vue index dc87510ae8..5d8cee4836 100644 --- a/dbrepo-ui/pages/database/[database_id]/view/index.vue +++ b/dbrepo-ui/pages/database/[database_id]/view/index.vue @@ -1,16 +1,26 @@ <template> - <div> + <div + v-if="canViewSchema"> <DatabaseToolbar /> - <v-window v-model="tab"> + <v-window + v-model="tab"> <ViewList /> </v-window> - <v-breadcrumbs :items="items" class="pa-0 mt-2" /> + <v-breadcrumbs + :items="items" + class="pa-0 mt-2" /> </div> + <JumboBox + v-if="error" + :title="$t(errorCodeKey(error).title, { resource: 'view' })" + :subtitle="$t(errorCodeKey(error).subtitle)" + :text="$t(errorCodeKey(error).text, { resource: 'view' })" /> </template> <script> import DatabaseToolbar from '@/components/database/DatabaseToolbar.vue' import ViewList from '@/components/view/ViewList.vue' +import { useCacheStore } from '@/stores/cache' export default { name: 'Views', @@ -18,9 +28,26 @@ export default { ViewList, DatabaseToolbar }, + setup () { + const config = useRuntimeConfig() + const userStore = useUserStore() + const { database_id } = useRoute().params + const { error } = useFetch(`${config.public.api.server}/api/database/${database_id}`, { + immediate: true, + method: 'HEAD', + timeout: 90_000, + headers: { + Accept: 'application/json', + Authorization: userStore.getToken ? `Bearer ${userStore.getToken}` : null + } + }) + return { + error + } + }, data () { return { - db: null, + tab: 0, items: [ { title: this.$t('navigation.databases'), @@ -35,20 +62,23 @@ export default { to: `/database/${this.$route.params.database_id}/view`, disabled: true } - ] + ], + cacheStore: useCacheStore() } }, computed: { - tab () { - return 1 + database () { + return this.cacheStore.getDatabase + }, + canViewSchema () { + if (this.error) { + return false + } + return this.database } }, - mounted () { - }, methods: { + errorCodeKey } } </script> - -<style scoped> -</style> diff --git a/dbrepo-ui/pages/search.vue b/dbrepo-ui/pages/search.vue index c437dff556..04f94a2d8e 100644 --- a/dbrepo-ui/pages/search.vue +++ b/dbrepo-ui/pages/search.vue @@ -230,7 +230,7 @@ export default { } return description } else if (this.isColumn(item)) { - let text = item.column_type + let text = item.type if (item.size) { text += `(${item.size}${item.d ? ',' + item.d : ''})` } diff --git a/dbrepo-ui/utils/index.ts b/dbrepo-ui/utils/index.ts index 4a9b239497..46a5e9e555 100644 --- a/dbrepo-ui/utils/index.ts +++ b/dbrepo-ui/utils/index.ts @@ -1,6 +1,7 @@ import {format} from 'date-fns' import moment from 'moment' import type {AxiosError} from 'axios' +import type {H3Error} from "h3"; export function notEmpty(str: string) { @@ -24,6 +25,29 @@ export function notFile(files: [File[]]) { return files.length === 1 } +export function errorCodeKey(error: H3Error): any { + switch (error.statusCode) { + case 404: + return { + title: 'error.missing.title', + subtitle: 'ERR_NOT_FOUND', + text: 'error.missing.text' + } + case 403: + return { + title: 'error.permission.title', + subtitle: 'ERR_NOT_AUTHORIZED', + text: 'error.permission.text' + } + default: + return { + title: 'error.gone.title', + subtitle: 'ERR_GONE', + text: 'error.gone.text' + } + } +} + export function castNumberOptional(str: string): string | number { const num = Number(str) const ss = String(num) @@ -1055,6 +1079,14 @@ export function isActiveMessage(message: any) { } export function axiosErrorToApiError(error: AxiosError): ApiErrorDto { + if (!error || !('data' in error.response)) { + const errorObj: ApiErrorDto = { + status: 'NOT_SET', + code: 'error.axios.connection', + message: '' + } + return errorObj + } if (error.code === 'ECONNABORTED') { /* timeout */ const errorObj: ApiErrorDto = { @@ -1064,15 +1096,7 @@ export function axiosErrorToApiError(error: AxiosError): ApiErrorDto { } return errorObj } - if ('data' in error.response) { - const errorObj: ApiErrorDto = (error.response.data as ApiErrorDto) - return errorObj - } - const errorObj: ApiErrorDto = { - status: error.code ? error.code : 'NOT_SET', - code: 'error.axios.connection', - message: error.message - } + const errorObj: ApiErrorDto = (error.response.data as ApiErrorDto) return errorObj } diff --git a/lib/python/dbrepo/api/dto.py b/lib/python/dbrepo/api/dto.py index c6188098f9..b1caa578ca 100644 --- a/lib/python/dbrepo/api/dto.py +++ b/lib/python/dbrepo/api/dto.py @@ -117,7 +117,7 @@ class ColumnBrief(BaseModel): database_id: int table_id: int internal_name: str - column_type: ColumnType + type: ColumnType class TableBrief(BaseModel): @@ -889,8 +889,6 @@ class Column(BaseModel): ord: int internal_name: str type: ColumnType - is_public: bool - is_null_allowed: bool alias: Optional[str] = None description: Optional[str] = None size: Optional[int] = None -- GitLab