From f93589af303956bc28e526106c80cb8330dd6d94 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 23 Aug 2024 20:19:00 +0000 Subject: [PATCH 01/35] chore(deps): bump micromatch (#400) Bumps the npm_and_yarn group with 1 update in the /ui directory: [micromatch](https://github.com/micromatch/micromatch). Updates `micromatch` from 4.0.5 to 4.0.8 - [Release notes](https://github.com/micromatch/micromatch/releases) - [Changelog](https://github.com/micromatch/micromatch/blob/4.0.8/CHANGELOG.md) - [Commits](https://github.com/micromatch/micromatch/compare/4.0.5...4.0.8) --- updated-dependencies: - dependency-name: micromatch dependency-type: indirect dependency-group: npm_and_yarn ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- ui/yarn.lock | 18 ++++-------------- 1 file changed, 4 insertions(+), 14 deletions(-) diff --git a/ui/yarn.lock b/ui/yarn.lock index b0596175..1b8ea5bb 100644 --- a/ui/yarn.lock +++ b/ui/yarn.lock @@ -10217,23 +10217,13 @@ __metadata: languageName: node linkType: hard -"micromatch@npm:^4.0.4": - version: 4.0.5 - resolution: "micromatch@npm:4.0.5" - dependencies: - braces: "npm:^3.0.2" - picomatch: "npm:^2.3.1" - checksum: 10/a749888789fc15cac0e03273844dbd749f9f8e8d64e70c564bcf06a033129554c789bb9e30d7566d7ff6596611a08e58ac12cf2a05f6e3c9c47c50c4c7e12fa2 - languageName: node - linkType: hard - -"micromatch@npm:~4.0.7": - version: 4.0.7 - resolution: "micromatch@npm:4.0.7" +"micromatch@npm:^4.0.4, micromatch@npm:~4.0.7": + version: 4.0.8 + resolution: "micromatch@npm:4.0.8" dependencies: braces: "npm:^3.0.3" picomatch: "npm:^2.3.1" - checksum: 10/a11ed1cb67dcbbe9a5fc02c4062cf8bb0157d73bf86956003af8dcfdf9b287f9e15ec0f6d6925ff6b8b5b496202335e497b01de4d95ef6cf06411bc5e5c474a0 + checksum: 10/6bf2a01672e7965eb9941d1f02044fad2bd12486b5553dc1116ff24c09a8723157601dc992e74c911d896175918448762df3b3fd0a6b61037dd1a9766ddfbf58 languageName: node linkType: hard From 712dc1f61498c2bea034a7a8ebaaf25e52497143 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Sat, 24 Aug 2024 09:48:52 +0200 Subject: [PATCH 02/35] chore(deps-dev): bump @testing-library/jest-dom in /ui (#403) Bumps [@testing-library/jest-dom](https://github.com/testing-library/jest-dom) from 6.4.8 to 6.5.0. - [Release notes](https://github.com/testing-library/jest-dom/releases) - [Changelog](https://github.com/testing-library/jest-dom/blob/main/CHANGELOG.md) - [Commits](https://github.com/testing-library/jest-dom/compare/v6.4.8...v6.5.0) --- updated-dependencies: - dependency-name: "@testing-library/jest-dom" dependency-type: direct:development update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- ui/package.json | 2 +- ui/yarn.lock | 13 ++++++------- 2 files changed, 7 insertions(+), 8 deletions(-) diff --git a/ui/package.json b/ui/package.json index a55c14ed..833ae69e 100644 --- a/ui/package.json +++ b/ui/package.json @@ -64,7 +64,7 @@ "@eslint/eslintrc": "^3.1.0", "@eslint/js": "^9.9.0", "@testing-library/dom": "^10.4.0", - "@testing-library/jest-dom": "^6.4.8", + "@testing-library/jest-dom": "^6.5.0", "@testing-library/react": "^16.0.0", "@testing-library/user-event": "^14.5.2", "@types/hat": "^0.0.4", diff --git a/ui/yarn.lock b/ui/yarn.lock index 1b8ea5bb..1c44532f 100644 --- a/ui/yarn.lock +++ b/ui/yarn.lock @@ -1811,7 +1811,7 @@ __metadata: languageName: node linkType: hard -"@babel/runtime@npm:^7.12.5, @babel/runtime@npm:^7.14.0, @babel/runtime@npm:^7.8.4, @babel/runtime@npm:^7.9.2": +"@babel/runtime@npm:^7.12.5, @babel/runtime@npm:^7.14.0, @babel/runtime@npm:^7.8.4": version: 7.20.13 resolution: "@babel/runtime@npm:7.20.13" dependencies: @@ -3730,19 +3730,18 @@ __metadata: languageName: node linkType: hard -"@testing-library/jest-dom@npm:^6.4.8": - version: 6.4.8 - resolution: "@testing-library/jest-dom@npm:6.4.8" +"@testing-library/jest-dom@npm:^6.5.0": + version: 6.5.0 + resolution: "@testing-library/jest-dom@npm:6.5.0" dependencies: "@adobe/css-tools": "npm:^4.4.0" - "@babel/runtime": "npm:^7.9.2" aria-query: "npm:^5.0.0" chalk: "npm:^3.0.0" css.escape: "npm:^1.5.1" dom-accessibility-api: "npm:^0.6.3" lodash: "npm:^4.17.21" redent: "npm:^3.0.0" - checksum: 10/011e5a309e2cfc0c5cee6454427030d9a5d690df212bedcc78c15ee8d23218c3e51be32617ca879f060445ba0ba38e1b8d224b5ab11444ee076c37ed8c1c123a + checksum: 10/3d2080888af5fd7306f57448beb5a23f55d965e265b5e53394fffc112dfb0678d616a5274ff0200c46c7618f293520f86fc8562eecd8bdbc0dbb3294d63ec431 languageName: node linkType: hard @@ -12310,7 +12309,7 @@ __metadata: "@fortawesome/react-fontawesome": "npm:^0.2.2" "@mapbox/mapbox-gl-draw": "npm:~1.4.3" "@testing-library/dom": "npm:^10.4.0" - "@testing-library/jest-dom": "npm:^6.4.8" + "@testing-library/jest-dom": "npm:^6.5.0" "@testing-library/react": "npm:^16.0.0" "@testing-library/user-event": "npm:^14.5.2" "@turf/bearing": "npm:^7.1.0" From abab2de6dd2e41f53b91c64ae29916ba160dc39a Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Sat, 24 Aug 2024 07:52:11 +0000 Subject: [PATCH 03/35] chore(deps-dev): bump @eslint/js from 9.9.0 to 9.9.1 in /ui (#401) Bumps [@eslint/js](https://github.com/eslint/eslint/tree/HEAD/packages/js) from 9.9.0 to 9.9.1. - [Release notes](https://github.com/eslint/eslint/releases) - [Changelog](https://github.com/eslint/eslint/blob/main/CHANGELOG.md) - [Commits](https://github.com/eslint/eslint/commits/v9.9.1/packages/js) --- updated-dependencies: - dependency-name: "@eslint/js" dependency-type: direct:development update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- ui/package.json | 2 +- ui/yarn.lock | 11 +++++++++-- 2 files changed, 10 insertions(+), 3 deletions(-) diff --git a/ui/package.json b/ui/package.json index 833ae69e..8bf86d18 100644 --- a/ui/package.json +++ b/ui/package.json @@ -62,7 +62,7 @@ "devDependencies": { "@eslint/compat": "^1.1.1", "@eslint/eslintrc": "^3.1.0", - "@eslint/js": "^9.9.0", + "@eslint/js": "^9.9.1", "@testing-library/dom": "^10.4.0", "@testing-library/jest-dom": "^6.5.0", "@testing-library/react": "^16.0.0", diff --git a/ui/yarn.lock b/ui/yarn.lock index 1c44532f..0852518f 100644 --- a/ui/yarn.lock +++ b/ui/yarn.lock @@ -2246,13 +2246,20 @@ __metadata: languageName: node linkType: hard -"@eslint/js@npm:9.9.0, @eslint/js@npm:^9.9.0": +"@eslint/js@npm:9.9.0": version: 9.9.0 resolution: "@eslint/js@npm:9.9.0" checksum: 10/9d6e94d0334aecaa7e5c78e654297d9b11679f56c8ec1b64db122cbecf64b5a04138617e901d0c79727d03abce8a898cce4288259435bde78460ebdab202998f languageName: node linkType: hard +"@eslint/js@npm:^9.9.1": + version: 9.9.1 + resolution: "@eslint/js@npm:9.9.1" + checksum: 10/c3fac3389bda97e790eea03c0a0be2dc1cfb0eec3863f8c4b88033ca7bad4265e4c48abe40d4dc8f82b456a2617fc8a499b2b90837c8bd39a05ebc8cb34c3a04 + languageName: node + linkType: hard + "@eslint/object-schema@npm:^2.1.4": version: 2.1.4 resolution: "@eslint/object-schema@npm:2.1.4" @@ -12302,7 +12309,7 @@ __metadata: "@apollo/client": "npm:^3.11.4" "@eslint/compat": "npm:^1.1.1" "@eslint/eslintrc": "npm:^3.1.0" - "@eslint/js": "npm:^9.9.0" + "@eslint/js": "npm:^9.9.1" "@fortawesome/fontawesome-svg-core": "npm:^6.6.0" "@fortawesome/free-regular-svg-icons": "npm:^6.6.0" "@fortawesome/free-solid-svg-icons": "npm:^6.6.0" From af99dc3e09c411bd48df4a73f108d5a07d5e65ac Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Sat, 24 Aug 2024 07:55:10 +0000 Subject: [PATCH 04/35] chore(deps-dev): bump ts-jest from 29.2.4 to 29.2.5 in /ui (#404) Bumps [ts-jest](https://github.com/kulshekhar/ts-jest) from 29.2.4 to 29.2.5. - [Release notes](https://github.com/kulshekhar/ts-jest/releases) - [Changelog](https://github.com/kulshekhar/ts-jest/blob/main/CHANGELOG.md) - [Commits](https://github.com/kulshekhar/ts-jest/compare/v29.2.4...v29.2.5) --- updated-dependencies: - dependency-name: ts-jest dependency-type: direct:development update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- ui/package.json | 2 +- ui/yarn.lock | 30 +++++++++++++++--------------- 2 files changed, 16 insertions(+), 16 deletions(-) diff --git a/ui/package.json b/ui/package.json index 8bf86d18..e6fc94c1 100644 --- a/ui/package.json +++ b/ui/package.json @@ -94,7 +94,7 @@ "sass": "^1.77.8", "semver": "^7.6.3", "source-map-explorer": "^2.5.3", - "ts-jest": "^29.2.4", + "ts-jest": "^29.2.5", "typescript": "^5.5.4", "vite": "^5.4.2", "vite-plugin-checker": "^0.7.2", diff --git a/ui/yarn.lock b/ui/yarn.lock index 0852518f..34e51111 100644 --- a/ui/yarn.lock +++ b/ui/yarn.lock @@ -5194,7 +5194,7 @@ __metadata: languageName: node linkType: hard -"bs-logger@npm:0.x": +"bs-logger@npm:^0.2.6": version: 0.2.6 resolution: "bs-logger@npm:0.2.6" dependencies: @@ -9566,7 +9566,7 @@ __metadata: languageName: node linkType: hard -"lodash.memoize@npm:4.x": +"lodash.memoize@npm:^4.1.2": version: 4.1.2 resolution: "lodash.memoize@npm:4.1.2" checksum: 10/192b2168f310c86f303580b53acf81ab029761b9bd9caa9506a019ffea5f3363ea98d7e39e7e11e6b9917066c9d36a09a11f6fe16f812326390d8f3a54a1a6da @@ -9731,7 +9731,7 @@ __metadata: languageName: node linkType: hard -"make-error@npm:1.x": +"make-error@npm:^1.3.6": version: 1.3.6 resolution: "make-error@npm:1.3.6" checksum: 10/b86e5e0e25f7f777b77fabd8e2cbf15737972869d852a22b7e73c17623928fccb826d8e46b9951501d3f20e51ad74ba8c59ed584f610526a48f8ccf88aaec402 @@ -12368,7 +12368,7 @@ __metadata: sass: "npm:^1.77.8" semver: "npm:^7.6.3" source-map-explorer: "npm:^2.5.3" - ts-jest: "npm:^29.2.4" + ts-jest: "npm:^29.2.5" typescript: "npm:^5.5.4" usehooks-ts: "npm:^3.1.0" uuid: "npm:^10.0.0" @@ -13259,19 +13259,19 @@ __metadata: languageName: node linkType: hard -"ts-jest@npm:^29.2.4": - version: 29.2.4 - resolution: "ts-jest@npm:29.2.4" +"ts-jest@npm:^29.2.5": + version: 29.2.5 + resolution: "ts-jest@npm:29.2.5" dependencies: - bs-logger: "npm:0.x" + bs-logger: "npm:^0.2.6" ejs: "npm:^3.1.10" - fast-json-stable-stringify: "npm:2.x" + fast-json-stable-stringify: "npm:^2.1.0" jest-util: "npm:^29.0.0" json5: "npm:^2.2.3" - lodash.memoize: "npm:4.x" - make-error: "npm:1.x" - semver: "npm:^7.5.3" - yargs-parser: "npm:^21.0.1" + lodash.memoize: "npm:^4.1.2" + make-error: "npm:^1.3.6" + semver: "npm:^7.6.3" + yargs-parser: "npm:^21.1.1" peerDependencies: "@babel/core": ">=7.0.0-beta.0 <8" "@jest/transform": ^29.0.0 @@ -13292,7 +13292,7 @@ __metadata: optional: true bin: ts-jest: cli.js - checksum: 10/69db25e06b93f4ea4e454a54afc4e49c59b71f7efdef94fe728f4d62b8c475364d0fed7253212c5394669dcd143516ab6f630f4b139b2f9c37119245cf5a963c + checksum: 10/f89e562816861ec4510840a6b439be6145f688b999679328de8080dc8e66481325fc5879519b662163e33b7578f35243071c38beb761af34e5fe58e3e326a958 languageName: node linkType: hard @@ -14650,7 +14650,7 @@ __metadata: languageName: node linkType: hard -"yargs-parser@npm:^21.0.1, yargs-parser@npm:^21.1.1": +"yargs-parser@npm:^21.1.1": version: 21.1.1 resolution: "yargs-parser@npm:21.1.1" checksum: 10/9dc2c217ea3bf8d858041252d43e074f7166b53f3d010a8c711275e09cd3d62a002969a39858b92bbda2a6a63a585c7127014534a560b9c69ed2d923d113406e From 94bdfc71e60a37b17ab28725b1c34a247247b501 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 26 Aug 2024 08:49:17 +0200 Subject: [PATCH 05/35] chore(deps-dev): bump eslint from 9.9.0 to 9.9.1 in /ui (#402) Bumps [eslint](https://github.com/eslint/eslint) from 9.9.0 to 9.9.1. - [Release notes](https://github.com/eslint/eslint/releases) - [Changelog](https://github.com/eslint/eslint/blob/main/CHANGELOG.md) - [Commits](https://github.com/eslint/eslint/compare/v9.9.0...v9.9.1) --- updated-dependencies: - dependency-name: eslint dependency-type: direct:development update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- ui/package.json | 2 +- ui/yarn.lock | 31 ++++++++++++------------------- 2 files changed, 13 insertions(+), 20 deletions(-) diff --git a/ui/package.json b/ui/package.json index e6fc94c1..1f725d09 100644 --- a/ui/package.json +++ b/ui/package.json @@ -83,7 +83,7 @@ "@vite-pwa/assets-generator": "^0.2.4", "@vitejs/plugin-react-swc": "^3.7.0", "@vitest/coverage-v8": "^2.0.5", - "eslint": "^9.9.0", + "eslint": "^9.9.1", "eslint-plugin-react": "^7.35.0", "globals": "^15.9.0", "husky": "^9.1.5", diff --git a/ui/yarn.lock b/ui/yarn.lock index 34e51111..072f61da 100644 --- a/ui/yarn.lock +++ b/ui/yarn.lock @@ -2218,14 +2218,14 @@ __metadata: languageName: node linkType: hard -"@eslint/config-array@npm:^0.17.1": - version: 0.17.1 - resolution: "@eslint/config-array@npm:0.17.1" +"@eslint/config-array@npm:^0.18.0": + version: 0.18.0 + resolution: "@eslint/config-array@npm:0.18.0" dependencies: "@eslint/object-schema": "npm:^2.1.4" debug: "npm:^4.3.1" minimatch: "npm:^3.1.2" - checksum: 10/d837852445d3cfc62da5e0d94ab036aa4393751cf2ee71676df61ec77bffabaa73f87207bfa200b8d0e7e95b556704f29f35f2f22d63d1ce2e285db4a325a2df + checksum: 10/60ccad1eb4806710b085cd739568ec7afd289ee5af6ca0383f0876f9fe375559ef525f7b3f86bdb3f961493de952f2cf3ab4aa4a6ccaef0ae3cd688267cabcb3 languageName: node linkType: hard @@ -2246,14 +2246,7 @@ __metadata: languageName: node linkType: hard -"@eslint/js@npm:9.9.0": - version: 9.9.0 - resolution: "@eslint/js@npm:9.9.0" - checksum: 10/9d6e94d0334aecaa7e5c78e654297d9b11679f56c8ec1b64db122cbecf64b5a04138617e901d0c79727d03abce8a898cce4288259435bde78460ebdab202998f - languageName: node - linkType: hard - -"@eslint/js@npm:^9.9.1": +"@eslint/js@npm:9.9.1, @eslint/js@npm:^9.9.1": version: 9.9.1 resolution: "@eslint/js@npm:9.9.1" checksum: 10/c3fac3389bda97e790eea03c0a0be2dc1cfb0eec3863f8c4b88033ca7bad4265e4c48abe40d4dc8f82b456a2617fc8a499b2b90837c8bd39a05ebc8cb34c3a04 @@ -6714,15 +6707,15 @@ __metadata: languageName: node linkType: hard -"eslint@npm:^9.9.0": - version: 9.9.0 - resolution: "eslint@npm:9.9.0" +"eslint@npm:^9.9.1": + version: 9.9.1 + resolution: "eslint@npm:9.9.1" dependencies: "@eslint-community/eslint-utils": "npm:^4.2.0" "@eslint-community/regexpp": "npm:^4.11.0" - "@eslint/config-array": "npm:^0.17.1" + "@eslint/config-array": "npm:^0.18.0" "@eslint/eslintrc": "npm:^3.1.0" - "@eslint/js": "npm:9.9.0" + "@eslint/js": "npm:9.9.1" "@humanwhocodes/module-importer": "npm:^1.0.1" "@humanwhocodes/retry": "npm:^0.3.0" "@nodelib/fs.walk": "npm:^1.2.8" @@ -6759,7 +6752,7 @@ __metadata: optional: true bin: eslint: bin/eslint.js - checksum: 10/88616421c9cb873d8f116d1ef6aa665cc898d35361351739c8041f11c30fe004bcfa641a2b6074655393eac7e7e5f9a661675dd1c01a24cf1e65cc6b556e06b3 + checksum: 10/d53dcfff396642cc33907b7c4a04536205f8889ae264fe105eea29de571b5923eb9b0bc6fc95b5d30414796cbe180dc93a523e0fdd4f26b2b4b4cf0195969908 languageName: node linkType: hard @@ -12342,7 +12335,7 @@ __metadata: bulma: "npm:^1.0.2" classnames: "npm:^2.5.1" dayjs: "npm:^1.11.13" - eslint: "npm:^9.9.0" + eslint: "npm:^9.9.1" eslint-plugin-react: "npm:^7.35.0" globals: "npm:^15.9.0" graphql: "npm:^16.9.0" From 78f1a38153af010d242c655dfcd99a0d440cdba8 Mon Sep 17 00:00:00 2001 From: Dani Aschwanden Date: Tue, 27 Aug 2024 21:30:34 +0200 Subject: [PATCH 06/35] Update dependabot.yml --- .github/dependabot.yml | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/.github/dependabot.yml b/.github/dependabot.yml index 66070fb6..7aa991be 100644 --- a/.github/dependabot.yml +++ b/.github/dependabot.yml @@ -11,6 +11,13 @@ updates: interval: "daily" time: "20:00" open-pull-requests-limit: 10 + groups: + development-dependencies: + dependency-type: "development" + applies-to: version-updates + update-types: + - "minor" + - "patch" labels: - "javascript" - "dependencies" From e42d312486445c775330b56b84abe6c5c5a29315 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 27 Aug 2024 19:34:26 +0000 Subject: [PATCH 07/35] chore(deps-dev): bump jsdom from 24.1.1 to 25.0.0 in /ui (#405) Bumps [jsdom](https://github.com/jsdom/jsdom) from 24.1.1 to 25.0.0. - [Release notes](https://github.com/jsdom/jsdom/releases) - [Changelog](https://github.com/jsdom/jsdom/blob/main/Changelog.md) - [Commits](https://github.com/jsdom/jsdom/compare/24.1.1...25.0.0) --- updated-dependencies: - dependency-name: jsdom dependency-type: direct:development update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- ui/package.json | 2 +- ui/yarn.lock | 10 +++++----- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/ui/package.json b/ui/package.json index 1f725d09..9732eba0 100644 --- a/ui/package.json +++ b/ui/package.json @@ -88,7 +88,7 @@ "globals": "^15.9.0", "husky": "^9.1.5", "jest": "^29.7.0", - "jsdom": "^24.1.1", + "jsdom": "^25.0.0", "lint-staged": "^15.2.9", "prettier": "^3.3.3", "sass": "^1.77.8", diff --git a/ui/yarn.lock b/ui/yarn.lock index 072f61da..554d208a 100644 --- a/ui/yarn.lock +++ b/ui/yarn.lock @@ -9239,9 +9239,9 @@ __metadata: languageName: node linkType: hard -"jsdom@npm:^24.1.1": - version: 24.1.1 - resolution: "jsdom@npm:24.1.1" +"jsdom@npm:^25.0.0": + version: 25.0.0 + resolution: "jsdom@npm:25.0.0" dependencies: cssstyle: "npm:^4.0.1" data-urls: "npm:^5.0.0" @@ -9269,7 +9269,7 @@ __metadata: peerDependenciesMeta: canvas: optional: true - checksum: 10/7b6e1ea1f02b75c388f4c833d4da710e252f8a3efc7093ae018b643a414e3f19d4c588e34feb1f484ae1ee70f2501bbcc8ccc9c6377e480706f9b69db22f0579 + checksum: 10/f07271fe3922458885540b4dd9fb6170a11059f3128ec3cec2688c5c10fde5ca2e8ddcc207fff540e21dfaf592fae6a791c3359038ba4d116250dd3258fbd8cb languageName: node linkType: hard @@ -12344,7 +12344,7 @@ __metadata: i18next: "npm:^23.14.0" i18next-browser-languagedetector: "npm:^8.0.0" jest: "npm:^29.7.0" - jsdom: "npm:^24.1.1" + jsdom: "npm:^25.0.0" lint-staged: "npm:^15.2.9" lodash: "npm:^4.17.21" mapbox-gl-style-switcher: "npm:^1.0.11" From 929783c3af55a403ce2ab41c3789b484f3db5602 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 27 Aug 2024 19:38:11 +0000 Subject: [PATCH 08/35] chore(deps-dev): bump the development-dependencies group (#409) Bumps the development-dependencies group in /ui with 2 updates: [@typescript-eslint/eslint-plugin](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin) and [@typescript-eslint/parser](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/parser). Updates `@typescript-eslint/eslint-plugin` from 8.2.0 to 8.3.0 - [Release notes](https://github.com/typescript-eslint/typescript-eslint/releases) - [Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/eslint-plugin/CHANGELOG.md) - [Commits](https://github.com/typescript-eslint/typescript-eslint/commits/v8.3.0/packages/eslint-plugin) Updates `@typescript-eslint/parser` from 8.2.0 to 8.3.0 - [Release notes](https://github.com/typescript-eslint/typescript-eslint/releases) - [Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/parser/CHANGELOG.md) - [Commits](https://github.com/typescript-eslint/typescript-eslint/commits/v8.3.0/packages/parser) --- updated-dependencies: - dependency-name: "@typescript-eslint/eslint-plugin" dependency-type: direct:development update-type: version-update:semver-minor dependency-group: development-dependencies - dependency-name: "@typescript-eslint/parser" dependency-type: direct:development update-type: version-update:semver-minor dependency-group: development-dependencies ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- ui/package.json | 4 +- ui/yarn.lock | 153 +++++++++++++++++------------------------------- 2 files changed, 57 insertions(+), 100 deletions(-) diff --git a/ui/package.json b/ui/package.json index 9732eba0..377ec5d3 100644 --- a/ui/package.json +++ b/ui/package.json @@ -78,8 +78,8 @@ "@types/react-router-dom": "^5.3.3", "@types/semver": "^7.5.8", "@types/uuid": "^10.0.0", - "@typescript-eslint/eslint-plugin": "^8.2.0", - "@typescript-eslint/parser": "^8.2.0", + "@typescript-eslint/eslint-plugin": "^8.3.0", + "@typescript-eslint/parser": "^8.3.0", "@vite-pwa/assets-generator": "^0.2.4", "@vitejs/plugin-react-swc": "^3.7.0", "@vitest/coverage-v8": "^2.0.5", diff --git a/ui/yarn.lock b/ui/yarn.lock index 554d208a..fd6faed9 100644 --- a/ui/yarn.lock +++ b/ui/yarn.lock @@ -4305,15 +4305,15 @@ __metadata: languageName: node linkType: hard -"@typescript-eslint/eslint-plugin@npm:^8.2.0": - version: 8.2.0 - resolution: "@typescript-eslint/eslint-plugin@npm:8.2.0" +"@typescript-eslint/eslint-plugin@npm:^8.3.0": + version: 8.3.0 + resolution: "@typescript-eslint/eslint-plugin@npm:8.3.0" dependencies: "@eslint-community/regexpp": "npm:^4.10.0" - "@typescript-eslint/scope-manager": "npm:8.2.0" - "@typescript-eslint/type-utils": "npm:8.2.0" - "@typescript-eslint/utils": "npm:8.2.0" - "@typescript-eslint/visitor-keys": "npm:8.2.0" + "@typescript-eslint/scope-manager": "npm:8.3.0" + "@typescript-eslint/type-utils": "npm:8.3.0" + "@typescript-eslint/utils": "npm:8.3.0" + "@typescript-eslint/visitor-keys": "npm:8.3.0" graphemer: "npm:^1.4.0" ignore: "npm:^5.3.1" natural-compare: "npm:^1.4.0" @@ -4324,68 +4324,68 @@ __metadata: peerDependenciesMeta: typescript: optional: true - checksum: 10/b5ca84a76259b5208ce312e61e67eeabfae91b1f915fede7e994e195bfd20608da7484e1fe4302ae46e61c574db58f166c76369eb649b08c7e94ad5f65373398 + checksum: 10/00dc71345066940fed070308f585f812173c357d48b8aafa3fc4de89951d1803ad8f3f47f298320d334cd141c55fbe45210b37ad2899570d306ad66b25faef26 languageName: node linkType: hard -"@typescript-eslint/parser@npm:^8.2.0": - version: 8.2.0 - resolution: "@typescript-eslint/parser@npm:8.2.0" +"@typescript-eslint/parser@npm:^8.3.0": + version: 8.3.0 + resolution: "@typescript-eslint/parser@npm:8.3.0" dependencies: - "@typescript-eslint/scope-manager": "npm:8.2.0" - "@typescript-eslint/types": "npm:8.2.0" - "@typescript-eslint/typescript-estree": "npm:8.2.0" - "@typescript-eslint/visitor-keys": "npm:8.2.0" + "@typescript-eslint/scope-manager": "npm:8.3.0" + "@typescript-eslint/types": "npm:8.3.0" + "@typescript-eslint/typescript-estree": "npm:8.3.0" + "@typescript-eslint/visitor-keys": "npm:8.3.0" debug: "npm:^4.3.4" peerDependencies: eslint: ^8.57.0 || ^9.0.0 peerDependenciesMeta: typescript: optional: true - checksum: 10/7c365c7ab1e6d1af1bec9ac4cc3438f7cafbd8eb711be1c3a78f8796a14b6dd85c17d46355998db4037c3f488d9bb45769de072872563a658bacc4a091a1f127 + checksum: 10/627e8d0b3376a1453c122c5dc8eda2ec1427328012d34f087291e52b484adde47a97fd0febb80cabcb058d80cea3b5df1ff44ba21ccb3ff001a6043bb068de62 languageName: node linkType: hard -"@typescript-eslint/scope-manager@npm:8.2.0": - version: 8.2.0 - resolution: "@typescript-eslint/scope-manager@npm:8.2.0" +"@typescript-eslint/scope-manager@npm:8.3.0": + version: 8.3.0 + resolution: "@typescript-eslint/scope-manager@npm:8.3.0" dependencies: - "@typescript-eslint/types": "npm:8.2.0" - "@typescript-eslint/visitor-keys": "npm:8.2.0" - checksum: 10/90345e18e2a5cb2fdcd0f1ecd4a971cd57bf12b9f7c999bc70302f595c4b86068eb6bcb806ab25556dc50186265f6ed61830a7f6481c544bd513c33dd48e1adc + "@typescript-eslint/types": "npm:8.3.0" + "@typescript-eslint/visitor-keys": "npm:8.3.0" + checksum: 10/ce56dbd82606daae889d0a913308b743b43d5df827aeedd7349de181e1fb4cf1af4795cfabf395bcd9871925217c301b75ee0d1c7c1dd6c2c79105714d1c6629 languageName: node linkType: hard -"@typescript-eslint/type-utils@npm:8.2.0": - version: 8.2.0 - resolution: "@typescript-eslint/type-utils@npm:8.2.0" +"@typescript-eslint/type-utils@npm:8.3.0": + version: 8.3.0 + resolution: "@typescript-eslint/type-utils@npm:8.3.0" dependencies: - "@typescript-eslint/typescript-estree": "npm:8.2.0" - "@typescript-eslint/utils": "npm:8.2.0" + "@typescript-eslint/typescript-estree": "npm:8.3.0" + "@typescript-eslint/utils": "npm:8.3.0" debug: "npm:^4.3.4" ts-api-utils: "npm:^1.3.0" peerDependenciesMeta: typescript: optional: true - checksum: 10/d3c63ca0474cc92b2231b2d9c850227b38b294e3b96eb9c701550aa22f8f972e09af393bdad725275397e85765fad7a21263730abec09f840c4a5759b33a01a9 + checksum: 10/70dac55d8d9e33e3291c555b8454fd8dbc0c20ac7b0652521d5bae37d2e81db08eef229449f837c6b96de7853565a249dc38242406d83ba38ee5851f1ff06697 languageName: node linkType: hard -"@typescript-eslint/types@npm:8.2.0": - version: 8.2.0 - resolution: "@typescript-eslint/types@npm:8.2.0" - checksum: 10/1ed705fb25532707d41c932f72981ddcb556948191363380682e873e79090acc76b141e1bed7235ae41284efe8deac0928df4ce5c8589459d52d6c287ae8b5b1 +"@typescript-eslint/types@npm:8.3.0": + version: 8.3.0 + resolution: "@typescript-eslint/types@npm:8.3.0" + checksum: 10/0265f6b6999db53ea5246cf2ab69d58d3860616a3ad384efdbe8b6f71334d6fbcf09ddc1eb38956ff537056636bd993d349c7037fcb458359c257be857fedc0a languageName: node linkType: hard -"@typescript-eslint/typescript-estree@npm:8.2.0": - version: 8.2.0 - resolution: "@typescript-eslint/typescript-estree@npm:8.2.0" +"@typescript-eslint/typescript-estree@npm:8.3.0": + version: 8.3.0 + resolution: "@typescript-eslint/typescript-estree@npm:8.3.0" dependencies: - "@typescript-eslint/types": "npm:8.2.0" - "@typescript-eslint/visitor-keys": "npm:8.2.0" + "@typescript-eslint/types": "npm:8.3.0" + "@typescript-eslint/visitor-keys": "npm:8.3.0" debug: "npm:^4.3.4" - globby: "npm:^11.1.0" + fast-glob: "npm:^3.3.2" is-glob: "npm:^4.0.3" minimatch: "npm:^9.0.4" semver: "npm:^7.6.0" @@ -4393,31 +4393,31 @@ __metadata: peerDependenciesMeta: typescript: optional: true - checksum: 10/dd63d724e79bb8488369dcab5285f4b52cf4269fe5b24237363b568b442f110364d34a4ec5224bdedcf8af4680c16fccd481a245b18b80ecdaad2ca8ca7d9115 + checksum: 10/61243c9251f98120ec8cf1abb03841bc65652c53ec80f0b628c2f853f4d9796b934fd7f27adab53b5670241f4eeb72afcfedcb9861e1c3e36241e36bd54ed909 languageName: node linkType: hard -"@typescript-eslint/utils@npm:8.2.0": - version: 8.2.0 - resolution: "@typescript-eslint/utils@npm:8.2.0" +"@typescript-eslint/utils@npm:8.3.0": + version: 8.3.0 + resolution: "@typescript-eslint/utils@npm:8.3.0" dependencies: "@eslint-community/eslint-utils": "npm:^4.4.0" - "@typescript-eslint/scope-manager": "npm:8.2.0" - "@typescript-eslint/types": "npm:8.2.0" - "@typescript-eslint/typescript-estree": "npm:8.2.0" + "@typescript-eslint/scope-manager": "npm:8.3.0" + "@typescript-eslint/types": "npm:8.3.0" + "@typescript-eslint/typescript-estree": "npm:8.3.0" peerDependencies: eslint: ^8.57.0 || ^9.0.0 - checksum: 10/2abf660f64d9599186b1b07db260865ed18ffb3f7f0e10dceba230043a82004c9e6bfab84940119d36c0caa369b4c98aec78da5881ed5c7ec086961020632206 + checksum: 10/9d3494c15f56792f7867616c18142a3cedca8f93d77c71f58891f7fa6f1bcdef8277e85abd359687ab0c2d44b897096b007612725793850748d9c3cf49620110 languageName: node linkType: hard -"@typescript-eslint/visitor-keys@npm:8.2.0": - version: 8.2.0 - resolution: "@typescript-eslint/visitor-keys@npm:8.2.0" +"@typescript-eslint/visitor-keys@npm:8.3.0": + version: 8.3.0 + resolution: "@typescript-eslint/visitor-keys@npm:8.3.0" dependencies: - "@typescript-eslint/types": "npm:8.2.0" + "@typescript-eslint/types": "npm:8.3.0" eslint-visitor-keys: "npm:^3.4.3" - checksum: 10/509dbef0a6352c65235f6aa03813b3b44ab62374d77a57e003301fa5ead58df1f2b4722ddb9acf7819d9fbf2520ab4c4cac187b55644e37a0a6ac862bfd9b6d8 + checksum: 10/4ee45dd25891d5677b8d4aaab23234a9d1fe8af3d8e39d7777b3a4cfb6aa61fabc13623d8596c11e6140f9129dc9ad7e6bb6f48a4c8c40704018ddd5beafd6c2 languageName: node linkType: hard @@ -4862,13 +4862,6 @@ __metadata: languageName: node linkType: hard -"array-union@npm:^2.1.0": - version: 2.1.0 - resolution: "array-union@npm:2.1.0" - checksum: 10/5bee12395cba82da674931df6d0fea23c4aa4660cb3b338ced9f828782a65caa232573e6bf3968f23e0c5eb301764a382cef2f128b170a9dc59de0e36c39f98d - languageName: node - linkType: hard - "array.prototype.findlast@npm:^1.2.5": version: 1.2.5 resolution: "array.prototype.findlast@npm:1.2.5" @@ -6119,15 +6112,6 @@ __metadata: languageName: node linkType: hard -"dir-glob@npm:^3.0.1": - version: 3.0.1 - resolution: "dir-glob@npm:3.0.1" - dependencies: - path-type: "npm:^4.0.0" - checksum: 10/fa05e18324510d7283f55862f3161c6759a3f2f8dbce491a2fc14c8324c498286c54282c1f0e933cb930da8419b30679389499b919122952a4f8592362ef4615 - languageName: node - linkType: hard - "doctrine@npm:^2.1.0": version: 2.1.0 resolution: "doctrine@npm:2.1.0" @@ -6946,7 +6930,7 @@ __metadata: languageName: node linkType: hard -"fast-glob@npm:^3.2.7": +"fast-glob@npm:^3.2.7, fast-glob@npm:^3.3.2": version: 3.3.2 resolution: "fast-glob@npm:3.3.2" dependencies: @@ -6959,19 +6943,6 @@ __metadata: languageName: node linkType: hard -"fast-glob@npm:^3.2.9": - version: 3.2.12 - resolution: "fast-glob@npm:3.2.12" - dependencies: - "@nodelib/fs.stat": "npm:^2.0.2" - "@nodelib/fs.walk": "npm:^1.2.3" - glob-parent: "npm:^5.1.2" - merge2: "npm:^1.3.0" - micromatch: "npm:^4.0.4" - checksum: 10/641e748664ae0fdc4dadd23c812fd7d6c80cd92d451571cb1f81fa87edb750e917f25abf74fc9503c97438b0b67ecf75b738bb8e50a83b16bd2a88b4d64e81fa - languageName: node - linkType: hard - "fast-json-stable-stringify@npm:2.x, fast-json-stable-stringify@npm:^2.0.0, fast-json-stable-stringify@npm:^2.1.0": version: 2.1.0 resolution: "fast-json-stable-stringify@npm:2.1.0" @@ -7493,20 +7464,6 @@ __metadata: languageName: node linkType: hard -"globby@npm:^11.1.0": - version: 11.1.0 - resolution: "globby@npm:11.1.0" - dependencies: - array-union: "npm:^2.1.0" - dir-glob: "npm:^3.0.1" - fast-glob: "npm:^3.2.9" - ignore: "npm:^5.2.0" - merge2: "npm:^1.4.1" - slash: "npm:^3.0.0" - checksum: 10/288e95e310227bbe037076ea81b7c2598ccbc3122d87abc6dab39e1eec309aa14f0e366a98cdc45237ffcfcbad3db597778c0068217dcb1950fef6249104e1b1 - languageName: node - linkType: hard - "globrex@npm:^0.1.2": version: 0.1.2 resolution: "globrex@npm:0.1.2" @@ -9973,7 +9930,7 @@ __metadata: languageName: node linkType: hard -"merge2@npm:^1.3.0, merge2@npm:^1.4.1": +"merge2@npm:^1.3.0": version: 1.4.1 resolution: "merge2@npm:1.4.1" checksum: 10/7268db63ed5169466540b6fb947aec313200bcf6d40c5ab722c22e242f651994619bcd85601602972d3c85bd2cc45a358a4c61937e9f11a061919a1da569b0c2 @@ -12326,8 +12283,8 @@ __metadata: "@types/react-router-dom": "npm:^5.3.3" "@types/semver": "npm:^7.5.8" "@types/uuid": "npm:^10.0.0" - "@typescript-eslint/eslint-plugin": "npm:^8.2.0" - "@typescript-eslint/parser": "npm:^8.2.0" + "@typescript-eslint/eslint-plugin": "npm:^8.3.0" + "@typescript-eslint/parser": "npm:^8.3.0" "@vite-pwa/assets-generator": "npm:^0.2.4" "@vitejs/plugin-react-swc": "npm:^3.7.0" "@vitest/coverage-v8": "npm:^2.0.5" From 8c51d3d821fc84f3f8e7372425f850c9b4f3f8fd Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 27 Aug 2024 21:43:17 +0200 Subject: [PATCH 09/35] chore(deps): bump @watergis/maplibre-gl-export in /ui (#407) Bumps [@watergis/maplibre-gl-export](https://github.com/watergis/maplibre-gl-export) from 3.8.2 to 3.8.3. - [Release notes](https://github.com/watergis/maplibre-gl-export/releases) - [Commits](https://github.com/watergis/maplibre-gl-export/compare/@watergis/maplibre-gl-export@3.8.2...@watergis/maplibre-gl-export@3.8.3) --- updated-dependencies: - dependency-name: "@watergis/maplibre-gl-export" dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- ui/package.json | 2 +- ui/yarn.lock | 88 ++++++++++++++++++++++++++++++++++++++++++++----- 2 files changed, 80 insertions(+), 10 deletions(-) diff --git a/ui/package.json b/ui/package.json index 377ec5d3..ac3933ab 100644 --- a/ui/package.json +++ b/ui/package.json @@ -13,7 +13,7 @@ "@turf/bearing": "^7.1.0", "@turf/center": "^7.1.0", "@turf/helpers": "^7.1.0", - "@watergis/maplibre-gl-export": "~3.8.2", + "@watergis/maplibre-gl-export": "~3.8.3", "bulma": "^1.0.2", "classnames": "^2.5.1", "dayjs": "^1.11.13", diff --git a/ui/yarn.lock b/ui/yarn.lock index fd6faed9..483620b2 100644 --- a/ui/yarn.lock +++ b/ui/yarn.lock @@ -3115,7 +3115,7 @@ __metadata: languageName: node linkType: hard -"@maplibre/maplibre-gl-style-spec@npm:^20.3.0": +"@maplibre/maplibre-gl-style-spec@npm:^20.3.0, @maplibre/maplibre-gl-style-spec@npm:^20.3.1": version: 20.3.1 resolution: "@maplibre/maplibre-gl-style-spec@npm:20.3.1" dependencies: @@ -4540,14 +4540,14 @@ __metadata: languageName: node linkType: hard -"@watergis/maplibre-gl-export@npm:~3.8.2": - version: 3.8.2 - resolution: "@watergis/maplibre-gl-export@npm:3.8.2" +"@watergis/maplibre-gl-export@npm:~3.8.3": + version: 3.8.3 + resolution: "@watergis/maplibre-gl-export@npm:3.8.3" dependencies: js-loading-overlay: "npm:^1.2.0" jspdf: "npm:^2.5.1" - maplibre-gl: "npm:^4.1.0" - checksum: 10/72122609c22ca327ca631462e2726547ee829d68fcc0655c41f9e4a467da58fa5b365bd71a22b69cf327bede7ebebf474dce2646c1bf83086a4dbd3e196795a0 + maplibre-gl: "npm:^4.6.0" + checksum: 10/62312a15262209baba69876059345abd71e1b27b38c320b136b2be3ff6ef42a0aca728306a547bfcb12d4b1cf09f3e509a180c9faa75ea8414202213fdc65115 languageName: node linkType: hard @@ -7434,6 +7434,17 @@ __metadata: languageName: node linkType: hard +"global-prefix@npm:^4.0.0": + version: 4.0.0 + resolution: "global-prefix@npm:4.0.0" + dependencies: + ini: "npm:^4.1.3" + kind-of: "npm:^6.0.3" + which: "npm:^4.0.0" + checksum: 10/535489396c0e5828682f081f5227556a3b7a30ebecde9f5eb35aee4aea121fe5c5fb1b04e0fba85d1e34e6004687e51b306bdd446d391eca8449adbb4666dbe2 + languageName: node + linkType: hard + "globals@npm:^11.1.0": version: 11.12.0 resolution: "globals@npm:11.12.0" @@ -7955,6 +7966,13 @@ __metadata: languageName: node linkType: hard +"ini@npm:^4.1.3": + version: 4.1.3 + resolution: "ini@npm:4.1.3" + checksum: 10/f536b414d1442e5b233429e2b56efcdb354109b2d65ddd489e5939d8f0f5ad23c88aa2b19c92987249d0dd63ba8192e9aeb1a02b0459549c5a9ff31acd729a5d + languageName: node + linkType: hard + "inline-style-parser@npm:0.2.3": version: 0.2.3 resolution: "inline-style-parser@npm:0.2.3" @@ -8498,6 +8516,13 @@ __metadata: languageName: node linkType: hard +"isexe@npm:^3.1.1": + version: 3.1.1 + resolution: "isexe@npm:3.1.1" + checksum: 10/7fe1931ee4e88eb5aa524cd3ceb8c882537bc3a81b02e438b240e47012eef49c86904d0f0e593ea7c3a9996d18d0f1f3be8d3eaa92333977b0c3a9d353d5563e + languageName: node + linkType: hard + "isobject@npm:^3.0.1": version: 3.0.1 resolution: "isobject@npm:3.0.1" @@ -9398,7 +9423,7 @@ __metadata: languageName: node linkType: hard -"kind-of@npm:^6.0.2": +"kind-of@npm:^6.0.2, kind-of@npm:^6.0.3": version: 6.0.3 resolution: "kind-of@npm:6.0.3" checksum: 10/5873d303fb36aad875b7538798867da2ae5c9e328d67194b0162a3659a627d22f742fc9c4ae95cd1704132a24b00cae5041fc00c0f6ef937dc17080dc4dbb962 @@ -9761,7 +9786,7 @@ __metadata: languageName: node linkType: hard -"maplibre-gl@npm:4.5.2, maplibre-gl@npm:^4.1.0": +"maplibre-gl@npm:4.5.2": version: 4.5.2 resolution: "maplibre-gl@npm:4.5.2" dependencies: @@ -9795,6 +9820,40 @@ __metadata: languageName: node linkType: hard +"maplibre-gl@npm:^4.6.0": + version: 4.6.0 + resolution: "maplibre-gl@npm:4.6.0" + dependencies: + "@mapbox/geojson-rewind": "npm:^0.5.2" + "@mapbox/jsonlint-lines-primitives": "npm:^2.0.2" + "@mapbox/point-geometry": "npm:^0.1.0" + "@mapbox/tiny-sdf": "npm:^2.0.6" + "@mapbox/unitbezier": "npm:^0.0.1" + "@mapbox/vector-tile": "npm:^1.3.1" + "@mapbox/whoots-js": "npm:^3.1.0" + "@maplibre/maplibre-gl-style-spec": "npm:^20.3.1" + "@types/geojson": "npm:^7946.0.14" + "@types/geojson-vt": "npm:3.2.5" + "@types/mapbox__point-geometry": "npm:^0.1.4" + "@types/mapbox__vector-tile": "npm:^1.3.4" + "@types/pbf": "npm:^3.0.5" + "@types/supercluster": "npm:^7.1.3" + earcut: "npm:^3.0.0" + geojson-vt: "npm:^4.0.2" + gl-matrix: "npm:^3.4.3" + global-prefix: "npm:^4.0.0" + kdbush: "npm:^4.0.2" + murmurhash-js: "npm:^1.0.0" + pbf: "npm:^3.3.0" + potpack: "npm:^2.0.0" + quickselect: "npm:^3.0.0" + supercluster: "npm:^8.0.1" + tinyqueue: "npm:^3.0.0" + vt-pbf: "npm:^3.1.3" + checksum: 10/ddfe52d5663c26ac6fe016af68dac6a2449b603a4400a3bf6344f18bc8f0409c02ca2717aa725144857a83a89dbaa456200bc0ec2ee8f4ef3e19de4996bb79bb + languageName: node + linkType: hard + "material-colors@npm:^1.2.1": version: 1.2.6 resolution: "material-colors@npm:1.2.6" @@ -12288,7 +12347,7 @@ __metadata: "@vite-pwa/assets-generator": "npm:^0.2.4" "@vitejs/plugin-react-swc": "npm:^3.7.0" "@vitest/coverage-v8": "npm:^2.0.5" - "@watergis/maplibre-gl-export": "npm:~3.8.2" + "@watergis/maplibre-gl-export": "npm:~3.8.3" bulma: "npm:^1.0.2" classnames: "npm:^2.5.1" dayjs: "npm:^1.11.13" @@ -14266,6 +14325,17 @@ __metadata: languageName: node linkType: hard +"which@npm:^4.0.0": + version: 4.0.0 + resolution: "which@npm:4.0.0" + dependencies: + isexe: "npm:^3.1.1" + bin: + node-which: bin/which.js + checksum: 10/f17e84c042592c21e23c8195108cff18c64050b9efb8459589116999ea9da6dd1509e6a1bac3aeebefd137be00fabbb61b5c2bc0aa0f8526f32b58ee2f545651 + languageName: node + linkType: hard + "why-is-node-running@npm:^2.3.0": version: 2.3.0 resolution: "why-is-node-running@npm:2.3.0" From 5efe7be2a00f084cbc41f06d03920769e0470461 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Sat, 31 Aug 2024 13:18:50 +0200 Subject: [PATCH 10/35] chore(deps): bump @apollo/client from 3.11.4 to 3.11.5 in /ui (#411) Bumps [@apollo/client](https://github.com/apollographql/apollo-client) from 3.11.4 to 3.11.5. - [Release notes](https://github.com/apollographql/apollo-client/releases) - [Changelog](https://github.com/apollographql/apollo-client/blob/main/CHANGELOG.md) - [Commits](https://github.com/apollographql/apollo-client/compare/v3.11.4...v3.11.5) --- updated-dependencies: - dependency-name: "@apollo/client" dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- ui/package.json | 2 +- ui/yarn.lock | 10 +++++----- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/ui/package.json b/ui/package.json index ac3933ab..176df6f6 100644 --- a/ui/package.json +++ b/ui/package.json @@ -4,7 +4,7 @@ "private": true, "type": "module", "dependencies": { - "@apollo/client": "^3.11.4", + "@apollo/client": "^3.11.5", "@fortawesome/fontawesome-svg-core": "^6.6.0", "@fortawesome/free-regular-svg-icons": "^6.6.0", "@fortawesome/free-solid-svg-icons": "^6.6.0", diff --git a/ui/yarn.lock b/ui/yarn.lock index 483620b2..afb7fa0e 100644 --- a/ui/yarn.lock +++ b/ui/yarn.lock @@ -69,9 +69,9 @@ __metadata: languageName: node linkType: hard -"@apollo/client@npm:^3.11.4": - version: 3.11.4 - resolution: "@apollo/client@npm:3.11.4" +"@apollo/client@npm:^3.11.5": + version: 3.11.5 + resolution: "@apollo/client@npm:3.11.5" dependencies: "@graphql-typed-document-node/core": "npm:^3.1.1" "@wry/caches": "npm:^1.0.0" @@ -102,7 +102,7 @@ __metadata: optional: true subscriptions-transport-ws: optional: true - checksum: 10/fe6e8e0125510867e7f3863ebd8383f425276167f313d661d93855171fec93b0fd812f3cc0326d1a0dbf91c6edf36de427af195c767f432f6d5baa3e82374354 + checksum: 10/c7dcb362ff68c3e063cf00a1d1d0647ea47f8b941e6b74291fc3be5957a9d4f6a6e2b0fb511f3f24685ebf8a895f9137134e5a4593d1d0b7ef2dd354d1d6edb0 languageName: node linkType: hard @@ -12315,7 +12315,7 @@ __metadata: version: 0.0.0-use.local resolution: "sitrep@workspace:." dependencies: - "@apollo/client": "npm:^3.11.4" + "@apollo/client": "npm:^3.11.5" "@eslint/compat": "npm:^1.1.1" "@eslint/eslintrc": "npm:^3.1.0" "@eslint/js": "npm:^9.9.1" From 05729412849a93c755baaa9a57f5752df230566b Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 3 Sep 2024 22:11:59 +0200 Subject: [PATCH 11/35] chore(deps-dev): bump the development-dependencies group across 1 directory with 7 updates (#415) * chore(deps-dev): bump the development-dependencies group across 1 directory with 7 updates Bumps the development-dependencies group with 7 updates in the /ui directory: | Package | From | To | | --- | --- | --- | | [@testing-library/react](https://github.com/testing-library/react-testing-library) | `16.0.0` | `16.0.1` | | [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node) | `20.16.1` | `20.16.3` | | [@types/react](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/react) | `18.3.4` | `18.3.5` | | [@typescript-eslint/eslint-plugin](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin) | `8.3.0` | `8.4.0` | | [@typescript-eslint/parser](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/parser) | `8.3.0` | `8.4.0` | | [lint-staged](https://github.com/lint-staged/lint-staged) | `15.2.9` | `15.2.10` | | [vite-plugin-pwa](https://github.com/vite-pwa/vite-plugin-pwa) | `0.20.1` | `0.20.2` | Updates `@testing-library/react` from 16.0.0 to 16.0.1 - [Release notes](https://github.com/testing-library/react-testing-library/releases) - [Changelog](https://github.com/testing-library/react-testing-library/blob/main/CHANGELOG.md) - [Commits](https://github.com/testing-library/react-testing-library/compare/v16.0.0...v16.0.1) Updates `@types/node` from 20.16.1 to 20.16.3 - [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases) - [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/node) Updates `@types/react` from 18.3.4 to 18.3.5 - [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases) - [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/react) Updates `@typescript-eslint/eslint-plugin` from 8.3.0 to 8.4.0 - [Release notes](https://github.com/typescript-eslint/typescript-eslint/releases) - [Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/eslint-plugin/CHANGELOG.md) - [Commits](https://github.com/typescript-eslint/typescript-eslint/commits/v8.4.0/packages/eslint-plugin) Updates `@typescript-eslint/parser` from 8.3.0 to 8.4.0 - [Release notes](https://github.com/typescript-eslint/typescript-eslint/releases) - [Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/parser/CHANGELOG.md) - [Commits](https://github.com/typescript-eslint/typescript-eslint/commits/v8.4.0/packages/parser) Updates `lint-staged` from 15.2.9 to 15.2.10 - [Release notes](https://github.com/lint-staged/lint-staged/releases) - [Changelog](https://github.com/lint-staged/lint-staged/blob/master/CHANGELOG.md) - [Commits](https://github.com/lint-staged/lint-staged/compare/v15.2.9...v15.2.10) Updates `vite-plugin-pwa` from 0.20.1 to 0.20.2 - [Release notes](https://github.com/vite-pwa/vite-plugin-pwa/releases) - [Commits](https://github.com/vite-pwa/vite-plugin-pwa/compare/v0.20.1...v0.20.2) --- updated-dependencies: - dependency-name: "@testing-library/react" dependency-type: direct:development update-type: version-update:semver-patch dependency-group: development-dependencies - dependency-name: "@types/node" dependency-type: direct:development update-type: version-update:semver-patch dependency-group: development-dependencies - dependency-name: "@types/react" dependency-type: direct:development update-type: version-update:semver-patch dependency-group: development-dependencies - dependency-name: "@typescript-eslint/eslint-plugin" dependency-type: direct:development update-type: version-update:semver-minor dependency-group: development-dependencies - dependency-name: "@typescript-eslint/parser" dependency-type: direct:development update-type: version-update:semver-minor dependency-group: development-dependencies - dependency-name: lint-staged dependency-type: direct:development update-type: version-update:semver-patch dependency-group: development-dependencies - dependency-name: vite-plugin-pwa dependency-type: direct:development update-type: version-update:semver-patch dependency-group: development-dependencies ... Signed-off-by: dependabot[bot] * chore: update dependencies --------- Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Daniel Aschwanden --- .gitignore | 1 + ui/package.json | 20 ++-- ui/vite.config.ts | 28 +++-- ui/yarn.lock | 288 +++++++++++++++++++++------------------------- 4 files changed, 161 insertions(+), 176 deletions(-) diff --git a/.gitignore b/.gitignore index aeb91381..76445035 100644 --- a/.gitignore +++ b/.gitignore @@ -5,6 +5,7 @@ .vscode node_modules ui/node_modules +ui/stats.html ui/.pnp.* ui/.yarn/* !ui/.yarn/patches diff --git a/ui/package.json b/ui/package.json index 176df6f6..24d8b7ca 100644 --- a/ui/package.json +++ b/ui/package.json @@ -23,7 +23,7 @@ "i18next-browser-languagedetector": "^8.0.0", "lodash": "^4.17.21", "mapbox-gl-style-switcher": "^1.0.11", - "maplibre-gl": "4.5.2", + "maplibre-gl": "4.6.0", "react": "^18.3.1", "react-autocomplete-hint": "^2.0.0", "react-color": "^2.19.3", @@ -65,21 +65,21 @@ "@eslint/js": "^9.9.1", "@testing-library/dom": "^10.4.0", "@testing-library/jest-dom": "^6.5.0", - "@testing-library/react": "^16.0.0", + "@testing-library/react": "^16.0.1", "@testing-library/user-event": "^14.5.2", "@types/hat": "^0.0.4", "@types/jest": "^29.5.12", "@types/lodash": "^4.17.7", "@types/mapbox__mapbox-gl-draw": "~1.4.6", - "@types/node": "^20.16.1", - "@types/react": "^18.3.4", + "@types/node": "^20.16.3", + "@types/react": "^18.3.5", "@types/react-color": "^3.0.12", "@types/react-dom": "^18.3.0", "@types/react-router-dom": "^5.3.3", "@types/semver": "^7.5.8", "@types/uuid": "^10.0.0", - "@typescript-eslint/eslint-plugin": "^8.3.0", - "@typescript-eslint/parser": "^8.3.0", + "@typescript-eslint/eslint-plugin": "^8.4.0", + "@typescript-eslint/parser": "^8.4.0", "@vite-pwa/assets-generator": "^0.2.4", "@vitejs/plugin-react-swc": "^3.7.0", "@vitest/coverage-v8": "^2.0.5", @@ -89,8 +89,9 @@ "husky": "^9.1.5", "jest": "^29.7.0", "jsdom": "^25.0.0", - "lint-staged": "^15.2.9", + "lint-staged": "^15.2.10", "prettier": "^3.3.3", + "rollup-plugin-visualizer": "^5.12.0", "sass": "^1.77.8", "semver": "^7.6.3", "source-map-explorer": "^2.5.3", @@ -99,7 +100,7 @@ "vite": "^5.4.2", "vite-plugin-checker": "^0.7.2", "vite-plugin-eslint": "^1.8.1", - "vite-plugin-pwa": "^0.20.1", + "vite-plugin-pwa": "^0.20.2", "vite-plugin-svgr": "^4.2.0", "vite-tsconfig-paths": "^5.0.1", "vitest": "^2.0.5" @@ -107,7 +108,8 @@ "resolutions": { "vite": "^5.4.2", "sharp": "^0.33.5", - "braces": "^3.0.3" + "braces": "^3.0.3", + "maplibre-gl": "4.6.0" }, "packageManager": "yarn@4.4.0" } diff --git a/ui/vite.config.ts b/ui/vite.config.ts index 2e6d6c89..5cae63cd 100644 --- a/ui/vite.config.ts +++ b/ui/vite.config.ts @@ -8,33 +8,47 @@ import eslint from "vite-plugin-eslint"; import { VitePWA } from "vite-plugin-pwa"; import svgrPlugin from "vite-plugin-svgr"; import viteTsconfigPaths from "vite-tsconfig-paths"; +import { visualizer } from "rollup-plugin-visualizer"; // https://vitejs.dev/config/ export default defineConfig({ base: "/", build: { outDir: "build", + sourcemap: false, + minify: "esbuild", + rollupOptions: { + treeshake: { + preset: "recommended", + }, + output: { + minifyInternalExports: true, + sourcemap: false, + manualChunks: { + maplibregl: ["maplibre-gl", "@watergis/maplibre-gl-export", "@mapbox/mapbox-gl-draw"], + }, + }, + }, }, define: { global: "window", }, plugins: [ - react(), + react({ devTarget: "es2022" }), viteTsconfigPaths(), svgrPlugin(), eslint(), + visualizer(), checker({ typescript: true, }), VitePWA({ - registerType: "prompt", + registerType: "autoUpdate", injectRegister: "auto", workbox: { globPatterns: ["**/*.{js,css,html,ico,png,svg,woff2,pbf}"], - navigateFallbackDenylist: [ - /^\/oauth2/, - /^\/api/, - ] + navigateFallbackDenylist: [/^\/oauth2/, /^\/api/], + maximumFileSizeToCacheInBytes: 3145728, // 3MB }, manifest: { short_name: "SitRep", @@ -66,7 +80,7 @@ export default defineConfig({ start_url: ".", theme_color: "#000000", background_color: "#ffffff", - } + }, }), ], resolve: { diff --git a/ui/yarn.lock b/ui/yarn.lock index afb7fa0e..f1f2a46a 100644 --- a/ui/yarn.lock +++ b/ui/yarn.lock @@ -3115,7 +3115,7 @@ __metadata: languageName: node linkType: hard -"@maplibre/maplibre-gl-style-spec@npm:^20.3.0, @maplibre/maplibre-gl-style-spec@npm:^20.3.1": +"@maplibre/maplibre-gl-style-spec@npm:^20.3.1": version: 20.3.1 resolution: "@maplibre/maplibre-gl-style-spec@npm:20.3.1" dependencies: @@ -3745,9 +3745,9 @@ __metadata: languageName: node linkType: hard -"@testing-library/react@npm:^16.0.0": - version: 16.0.0 - resolution: "@testing-library/react@npm:16.0.0" +"@testing-library/react@npm:^16.0.1": + version: 16.0.1 + resolution: "@testing-library/react@npm:16.0.1" dependencies: "@babel/runtime": "npm:^7.12.5" peerDependencies: @@ -3761,7 +3761,7 @@ __metadata: optional: true "@types/react-dom": optional: true - checksum: 10/b32894be94e31276138decfa6bcea69dfebc0c37cf91499ff6c878f41eb1154a43a7df6eb1e72e7bede78468af6cb67ca59e4acd3206b41f3ecdae2c6efdf67e + checksum: 10/904b48881cf5bd208e25899e168f5c99c78ed6d77389544838d9d861a038d2c5c5385863ee9a367436770cbf7d21c5e05a991b9e24a33806e9ac985df2448185 languageName: node linkType: hard @@ -4125,12 +4125,12 @@ __metadata: languageName: node linkType: hard -"@types/node@npm:^20.16.1": - version: 20.16.1 - resolution: "@types/node@npm:20.16.1" +"@types/node@npm:^20.16.3": + version: 20.16.3 + resolution: "@types/node@npm:20.16.3" dependencies: undici-types: "npm:~6.19.2" - checksum: 10/9bae1dffd2094694147a91ebec51dc89a60a607d16d47a0d770320f1a75d3ba58663708fd93c37954a63acb701a4e0fd64245139c57ae810d3ad524e75481d4e + checksum: 10/3b14b8b3cb92adc7db69f8cf351e7b6b5001e5c7cdb07470943215afeafc2952ae588c918543784e8f8e975d43d609ce0c7bced91f1b8745f1669d6137adaabc languageName: node linkType: hard @@ -4212,13 +4212,13 @@ __metadata: languageName: node linkType: hard -"@types/react@npm:^18.3.4": - version: 18.3.4 - resolution: "@types/react@npm:18.3.4" +"@types/react@npm:^18.3.5": + version: 18.3.5 + resolution: "@types/react@npm:18.3.5" dependencies: "@types/prop-types": "npm:*" csstype: "npm:^3.0.2" - checksum: 10/359973924be42cf9e7366e1d885b28e0b3bd56d31f24458c5351af7a3f2fc070511e90d517b2195fb229146cdcb70342db6318e279c31dd5057beec1105b704e + checksum: 10/ba0477c5ad4a762157c6262a199af6ccf9e24576877a26a7f516d5a9ba35374a6ac7f8686a10e5e8030513214f02bcb66e8363e43905afb7cd313deaf673de05 languageName: node linkType: hard @@ -4305,15 +4305,15 @@ __metadata: languageName: node linkType: hard -"@typescript-eslint/eslint-plugin@npm:^8.3.0": - version: 8.3.0 - resolution: "@typescript-eslint/eslint-plugin@npm:8.3.0" +"@typescript-eslint/eslint-plugin@npm:^8.4.0": + version: 8.4.0 + resolution: "@typescript-eslint/eslint-plugin@npm:8.4.0" dependencies: "@eslint-community/regexpp": "npm:^4.10.0" - "@typescript-eslint/scope-manager": "npm:8.3.0" - "@typescript-eslint/type-utils": "npm:8.3.0" - "@typescript-eslint/utils": "npm:8.3.0" - "@typescript-eslint/visitor-keys": "npm:8.3.0" + "@typescript-eslint/scope-manager": "npm:8.4.0" + "@typescript-eslint/type-utils": "npm:8.4.0" + "@typescript-eslint/utils": "npm:8.4.0" + "@typescript-eslint/visitor-keys": "npm:8.4.0" graphemer: "npm:^1.4.0" ignore: "npm:^5.3.1" natural-compare: "npm:^1.4.0" @@ -4324,66 +4324,66 @@ __metadata: peerDependenciesMeta: typescript: optional: true - checksum: 10/00dc71345066940fed070308f585f812173c357d48b8aafa3fc4de89951d1803ad8f3f47f298320d334cd141c55fbe45210b37ad2899570d306ad66b25faef26 + checksum: 10/3f1373be2ecd9248e000646b43e9fc94e19da3bbc829526e6c0422d58c7af7942a279d96bded8a505ad5bd666564749236fd5515a95fc48f1f4e3329d786e0da languageName: node linkType: hard -"@typescript-eslint/parser@npm:^8.3.0": - version: 8.3.0 - resolution: "@typescript-eslint/parser@npm:8.3.0" +"@typescript-eslint/parser@npm:^8.4.0": + version: 8.4.0 + resolution: "@typescript-eslint/parser@npm:8.4.0" dependencies: - "@typescript-eslint/scope-manager": "npm:8.3.0" - "@typescript-eslint/types": "npm:8.3.0" - "@typescript-eslint/typescript-estree": "npm:8.3.0" - "@typescript-eslint/visitor-keys": "npm:8.3.0" + "@typescript-eslint/scope-manager": "npm:8.4.0" + "@typescript-eslint/types": "npm:8.4.0" + "@typescript-eslint/typescript-estree": "npm:8.4.0" + "@typescript-eslint/visitor-keys": "npm:8.4.0" debug: "npm:^4.3.4" peerDependencies: eslint: ^8.57.0 || ^9.0.0 peerDependenciesMeta: typescript: optional: true - checksum: 10/627e8d0b3376a1453c122c5dc8eda2ec1427328012d34f087291e52b484adde47a97fd0febb80cabcb058d80cea3b5df1ff44ba21ccb3ff001a6043bb068de62 + checksum: 10/852ad7037e14c83a4637b95a2211e7f49900ed31cb0a4f7e6df4b444feab64caeb8918eec157f57fc32c1a92c721cbbbf22d5b24fb0b469b5fe880191f98237d languageName: node linkType: hard -"@typescript-eslint/scope-manager@npm:8.3.0": - version: 8.3.0 - resolution: "@typescript-eslint/scope-manager@npm:8.3.0" +"@typescript-eslint/scope-manager@npm:8.4.0": + version: 8.4.0 + resolution: "@typescript-eslint/scope-manager@npm:8.4.0" dependencies: - "@typescript-eslint/types": "npm:8.3.0" - "@typescript-eslint/visitor-keys": "npm:8.3.0" - checksum: 10/ce56dbd82606daae889d0a913308b743b43d5df827aeedd7349de181e1fb4cf1af4795cfabf395bcd9871925217c301b75ee0d1c7c1dd6c2c79105714d1c6629 + "@typescript-eslint/types": "npm:8.4.0" + "@typescript-eslint/visitor-keys": "npm:8.4.0" + checksum: 10/e43a96ef057ccef2ad7dc4a04713d362f5cd17a684e867548c9744ad79960c41e56a706d9ff86b851bec989771e535b1c72fd922e1dee3fe6fdd9bf167c5f0f4 languageName: node linkType: hard -"@typescript-eslint/type-utils@npm:8.3.0": - version: 8.3.0 - resolution: "@typescript-eslint/type-utils@npm:8.3.0" +"@typescript-eslint/type-utils@npm:8.4.0": + version: 8.4.0 + resolution: "@typescript-eslint/type-utils@npm:8.4.0" dependencies: - "@typescript-eslint/typescript-estree": "npm:8.3.0" - "@typescript-eslint/utils": "npm:8.3.0" + "@typescript-eslint/typescript-estree": "npm:8.4.0" + "@typescript-eslint/utils": "npm:8.4.0" debug: "npm:^4.3.4" ts-api-utils: "npm:^1.3.0" peerDependenciesMeta: typescript: optional: true - checksum: 10/70dac55d8d9e33e3291c555b8454fd8dbc0c20ac7b0652521d5bae37d2e81db08eef229449f837c6b96de7853565a249dc38242406d83ba38ee5851f1ff06697 + checksum: 10/f5d3e07c2985f97f72949d69962d0a3bb52814714e33d991ae5f815ae008bdfac25cd62f26feef4b0f835fe967609d60f34e0c30682ba47200867d1342343d80 languageName: node linkType: hard -"@typescript-eslint/types@npm:8.3.0": - version: 8.3.0 - resolution: "@typescript-eslint/types@npm:8.3.0" - checksum: 10/0265f6b6999db53ea5246cf2ab69d58d3860616a3ad384efdbe8b6f71334d6fbcf09ddc1eb38956ff537056636bd993d349c7037fcb458359c257be857fedc0a +"@typescript-eslint/types@npm:8.4.0": + version: 8.4.0 + resolution: "@typescript-eslint/types@npm:8.4.0" + checksum: 10/962eb0b45ca7634264698086dadb917d96684bd8a88926026e0c314984e68d14e1f30e0291f196408935a507aa9e9976ec4d27fc6aa632d34295059b4e436bae languageName: node linkType: hard -"@typescript-eslint/typescript-estree@npm:8.3.0": - version: 8.3.0 - resolution: "@typescript-eslint/typescript-estree@npm:8.3.0" +"@typescript-eslint/typescript-estree@npm:8.4.0": + version: 8.4.0 + resolution: "@typescript-eslint/typescript-estree@npm:8.4.0" dependencies: - "@typescript-eslint/types": "npm:8.3.0" - "@typescript-eslint/visitor-keys": "npm:8.3.0" + "@typescript-eslint/types": "npm:8.4.0" + "@typescript-eslint/visitor-keys": "npm:8.4.0" debug: "npm:^4.3.4" fast-glob: "npm:^3.3.2" is-glob: "npm:^4.0.3" @@ -4393,31 +4393,31 @@ __metadata: peerDependenciesMeta: typescript: optional: true - checksum: 10/61243c9251f98120ec8cf1abb03841bc65652c53ec80f0b628c2f853f4d9796b934fd7f27adab53b5670241f4eeb72afcfedcb9861e1c3e36241e36bd54ed909 + checksum: 10/ec3396795b877c8ea0c3f0bdfb67c60b5e195f94569c0581ae7b9f3acbed047714722ff908f0ea1cbf19c16aaaa57826c2069c6383fcb9a3ad29bc26898a7125 languageName: node linkType: hard -"@typescript-eslint/utils@npm:8.3.0": - version: 8.3.0 - resolution: "@typescript-eslint/utils@npm:8.3.0" +"@typescript-eslint/utils@npm:8.4.0": + version: 8.4.0 + resolution: "@typescript-eslint/utils@npm:8.4.0" dependencies: "@eslint-community/eslint-utils": "npm:^4.4.0" - "@typescript-eslint/scope-manager": "npm:8.3.0" - "@typescript-eslint/types": "npm:8.3.0" - "@typescript-eslint/typescript-estree": "npm:8.3.0" + "@typescript-eslint/scope-manager": "npm:8.4.0" + "@typescript-eslint/types": "npm:8.4.0" + "@typescript-eslint/typescript-estree": "npm:8.4.0" peerDependencies: eslint: ^8.57.0 || ^9.0.0 - checksum: 10/9d3494c15f56792f7867616c18142a3cedca8f93d77c71f58891f7fa6f1bcdef8277e85abd359687ab0c2d44b897096b007612725793850748d9c3cf49620110 + checksum: 10/46d6dda136e5513c703a905264fb96b9cc560ec1501a991fb9ef7386baf878081494bc9131f25d772b34ccfecbfa8c2fce0fb5ad6deb447b0f24758e131afd47 languageName: node linkType: hard -"@typescript-eslint/visitor-keys@npm:8.3.0": - version: 8.3.0 - resolution: "@typescript-eslint/visitor-keys@npm:8.3.0" +"@typescript-eslint/visitor-keys@npm:8.4.0": + version: 8.4.0 + resolution: "@typescript-eslint/visitor-keys@npm:8.4.0" dependencies: - "@typescript-eslint/types": "npm:8.3.0" + "@typescript-eslint/types": "npm:8.4.0" eslint-visitor-keys: "npm:^3.4.3" - checksum: 10/4ee45dd25891d5677b8d4aaab23234a9d1fe8af3d8e39d7777b3a4cfb6aa61fabc13623d8596c11e6140f9129dc9ad7e6bb6f48a4c8c40704018ddd5beafd6c2 + checksum: 10/3ac1d15d1beca887b333b9f1da9d6b819da5f965dbd7eb1c76342574adeaffe584b27c7e00a0e7fb69db7f4c307eeb8dd4410bdf177d6b14395cdd52e3e205e7 languageName: node linkType: hard @@ -5336,17 +5336,10 @@ __metadata: languageName: node linkType: hard -"caniuse-lite@npm:^1.0.30001400": - version: 1.0.30001651 - resolution: "caniuse-lite@npm:1.0.30001651" - checksum: 10/fe4857b2a91a9cb77993eec9622de68bea0df17c31cb9584ca5c562f64bb3b8fda316d898aa3b1ee3ee9f7d80f6bf13c42acb09d9a56a1a6c64afaf7381472fa - languageName: node - linkType: hard - -"caniuse-lite@npm:^1.0.30001580": - version: 1.0.30001584 - resolution: "caniuse-lite@npm:1.0.30001584" - checksum: 10/908e4fcafa1e8d52d6c5d79e8c614c4d0cf62af544935f7a78fb5a434157505571ce4c2eacfb549e5d4a6e6e38525350c7a9bf696068ad86eb74e890df1d688f +"caniuse-lite@npm:^1.0.30001400, caniuse-lite@npm:^1.0.30001580": + version: 1.0.30001655 + resolution: "caniuse-lite@npm:1.0.30001655" + checksum: 10/98e80bdb5a5e4ac1738df7df14379a51aed2fcf3402b18361ac4902ac8afacf35920498afd0bfb71d6902ad4ab4ccbf2d09c792ec3a4925c2e3d186b803f6bc7 languageName: node linkType: hard @@ -6019,6 +6012,13 @@ __metadata: languageName: node linkType: hard +"define-lazy-prop@npm:^2.0.0": + version: 2.0.0 + resolution: "define-lazy-prop@npm:2.0.0" + checksum: 10/0115fdb065e0490918ba271d7339c42453d209d4cb619dfe635870d906731eff3e1ade8028bb461ea27ce8264ec5e22c6980612d332895977e89c1bbc80fcee2 + languageName: node + linkType: hard + "define-properties@npm:^1.1.3, define-properties@npm:^1.1.4": version: 1.1.4 resolution: "define-properties@npm:1.1.4" @@ -7423,17 +7423,6 @@ __metadata: languageName: node linkType: hard -"global-prefix@npm:^3.0.0": - version: 3.0.0 - resolution: "global-prefix@npm:3.0.0" - dependencies: - ini: "npm:^1.3.5" - kind-of: "npm:^6.0.2" - which: "npm:^1.3.1" - checksum: 10/a405b9f83c7d88a49dc1c1e458d6585e258356810d3d0f41094265152a06a0f393b14d911f45616e35a4ce3894176a73be2984883575e778f55e90bf812d7337 - languageName: node - linkType: hard - "global-prefix@npm:^4.0.0": version: 4.0.0 resolution: "global-prefix@npm:4.0.0" @@ -7959,13 +7948,6 @@ __metadata: languageName: node linkType: hard -"ini@npm:^1.3.5": - version: 1.3.8 - resolution: "ini@npm:1.3.8" - checksum: 10/314ae176e8d4deb3def56106da8002b462221c174ddb7ce0c49ee72c8cd1f9044f7b10cc555a7d8850982c3b9ca96fc212122749f5234bc2b6fb05fb942ed566 - languageName: node - linkType: hard - "ini@npm:^4.1.3": version: 4.1.3 resolution: "ini@npm:4.1.3" @@ -8156,7 +8138,7 @@ __metadata: languageName: node linkType: hard -"is-docker@npm:^2.0.0": +"is-docker@npm:^2.0.0, is-docker@npm:^2.1.1": version: 2.2.1 resolution: "is-docker@npm:2.2.1" bin: @@ -8493,7 +8475,7 @@ __metadata: languageName: node linkType: hard -"is-wsl@npm:^2.1.1": +"is-wsl@npm:^2.1.1, is-wsl@npm:^2.2.0": version: 2.2.0 resolution: "is-wsl@npm:2.2.0" dependencies: @@ -9423,7 +9405,7 @@ __metadata: languageName: node linkType: hard -"kind-of@npm:^6.0.2, kind-of@npm:^6.0.3": +"kind-of@npm:^6.0.3": version: 6.0.3 resolution: "kind-of@npm:6.0.3" checksum: 10/5873d303fb36aad875b7538798867da2ae5c9e328d67194b0162a3659a627d22f742fc9c4ae95cd1704132a24b00cae5041fc00c0f6ef937dc17080dc4dbb962 @@ -9468,9 +9450,9 @@ __metadata: languageName: node linkType: hard -"lint-staged@npm:^15.2.9": - version: 15.2.9 - resolution: "lint-staged@npm:15.2.9" +"lint-staged@npm:^15.2.10": + version: 15.2.10 + resolution: "lint-staged@npm:15.2.10" dependencies: chalk: "npm:~5.3.0" commander: "npm:~12.1.0" @@ -9478,13 +9460,13 @@ __metadata: execa: "npm:~8.0.1" lilconfig: "npm:~3.1.2" listr2: "npm:~8.2.4" - micromatch: "npm:~4.0.7" + micromatch: "npm:~4.0.8" pidtree: "npm:~0.6.0" string-argv: "npm:~0.3.2" yaml: "npm:~2.5.0" bin: lint-staged: bin/lint-staged.js - checksum: 10/2f7342ca3fc7e2a8a0cc3db79ca8d2ad0269b98b13220f3a6745a514aacf1f83487a23a550569081ea962f9a576af7df8d687a8330a9c3c2c27348d5a4d5440e + checksum: 10/ab6930cd633dbb5b6ec7c81fc06c65df41e9f80d93dd22e0d79c6e272cdfd8110a0fbdec60303d46a06b30bcd92261153630e2c937531b77ec5ae41e7e9d90d3 languageName: node linkType: hard @@ -9786,41 +9768,7 @@ __metadata: languageName: node linkType: hard -"maplibre-gl@npm:4.5.2": - version: 4.5.2 - resolution: "maplibre-gl@npm:4.5.2" - dependencies: - "@mapbox/geojson-rewind": "npm:^0.5.2" - "@mapbox/jsonlint-lines-primitives": "npm:^2.0.2" - "@mapbox/point-geometry": "npm:^0.1.0" - "@mapbox/tiny-sdf": "npm:^2.0.6" - "@mapbox/unitbezier": "npm:^0.0.1" - "@mapbox/vector-tile": "npm:^1.3.1" - "@mapbox/whoots-js": "npm:^3.1.0" - "@maplibre/maplibre-gl-style-spec": "npm:^20.3.0" - "@types/geojson": "npm:^7946.0.14" - "@types/geojson-vt": "npm:3.2.5" - "@types/mapbox__point-geometry": "npm:^0.1.4" - "@types/mapbox__vector-tile": "npm:^1.3.4" - "@types/pbf": "npm:^3.0.5" - "@types/supercluster": "npm:^7.1.3" - earcut: "npm:^3.0.0" - geojson-vt: "npm:^4.0.2" - gl-matrix: "npm:^3.4.3" - global-prefix: "npm:^3.0.0" - kdbush: "npm:^4.0.2" - murmurhash-js: "npm:^1.0.0" - pbf: "npm:^3.3.0" - potpack: "npm:^2.0.0" - quickselect: "npm:^3.0.0" - supercluster: "npm:^8.0.1" - tinyqueue: "npm:^3.0.0" - vt-pbf: "npm:^3.1.3" - checksum: 10/112bdb65ced7751cb4ec3d5333e1ef38c6409ca21ad871098c3a6d218fbae21511ea0e6e250f5573ae8d8507e7384b912b9058be255e9a19b077022f9d7b2acc - languageName: node - linkType: hard - -"maplibre-gl@npm:^4.6.0": +"maplibre-gl@npm:4.6.0": version: 4.6.0 resolution: "maplibre-gl@npm:4.6.0" dependencies: @@ -10232,7 +10180,7 @@ __metadata: languageName: node linkType: hard -"micromatch@npm:^4.0.4, micromatch@npm:~4.0.7": +"micromatch@npm:^4.0.4, micromatch@npm:~4.0.8": version: 4.0.8 resolution: "micromatch@npm:4.0.8" dependencies: @@ -10744,6 +10692,17 @@ __metadata: languageName: node linkType: hard +"open@npm:^8.4.0": + version: 8.4.2 + resolution: "open@npm:8.4.2" + dependencies: + define-lazy-prop: "npm:^2.0.0" + is-docker: "npm:^2.1.1" + is-wsl: "npm:^2.2.0" + checksum: 10/acd81a1d19879c818acb3af2d2e8e9d81d17b5367561e623248133deb7dd3aefaed527531df2677d3e6aaf0199f84df57b6b2262babff8bf46ea0029aac536c9 + languageName: node + linkType: hard + "optimism@npm:^0.18.0": version: 0.18.0 resolution: "optimism@npm:0.18.0" @@ -11833,6 +11792,25 @@ __metadata: languageName: node linkType: hard +"rollup-plugin-visualizer@npm:^5.12.0": + version: 5.12.0 + resolution: "rollup-plugin-visualizer@npm:5.12.0" + dependencies: + open: "npm:^8.4.0" + picomatch: "npm:^2.3.1" + source-map: "npm:^0.7.4" + yargs: "npm:^17.5.1" + peerDependencies: + rollup: 2.x || 3.x || 4.x + peerDependenciesMeta: + rollup: + optional: true + bin: + rollup-plugin-visualizer: dist/bin/cli.js + checksum: 10/47358feb672291d6edcfd94197577c192a84c24cb644119425dae8241fb6f5a52556efd0c501f38b276c07534642a80c0885ef681babb474e83c7b5a3b475b84 + languageName: node + linkType: hard + "rollup@npm:^2.43.1, rollup@npm:^2.77.2": version: 2.79.1 resolution: "rollup@npm:2.79.1" @@ -12326,7 +12304,7 @@ __metadata: "@mapbox/mapbox-gl-draw": "npm:~1.4.3" "@testing-library/dom": "npm:^10.4.0" "@testing-library/jest-dom": "npm:^6.5.0" - "@testing-library/react": "npm:^16.0.0" + "@testing-library/react": "npm:^16.0.1" "@testing-library/user-event": "npm:^14.5.2" "@turf/bearing": "npm:^7.1.0" "@turf/center": "npm:^7.1.0" @@ -12335,15 +12313,15 @@ __metadata: "@types/jest": "npm:^29.5.12" "@types/lodash": "npm:^4.17.7" "@types/mapbox__mapbox-gl-draw": "npm:~1.4.6" - "@types/node": "npm:^20.16.1" - "@types/react": "npm:^18.3.4" + "@types/node": "npm:^20.16.3" + "@types/react": "npm:^18.3.5" "@types/react-color": "npm:^3.0.12" "@types/react-dom": "npm:^18.3.0" "@types/react-router-dom": "npm:^5.3.3" "@types/semver": "npm:^7.5.8" "@types/uuid": "npm:^10.0.0" - "@typescript-eslint/eslint-plugin": "npm:^8.3.0" - "@typescript-eslint/parser": "npm:^8.3.0" + "@typescript-eslint/eslint-plugin": "npm:^8.4.0" + "@typescript-eslint/parser": "npm:^8.4.0" "@vite-pwa/assets-generator": "npm:^0.2.4" "@vitejs/plugin-react-swc": "npm:^3.7.0" "@vitest/coverage-v8": "npm:^2.0.5" @@ -12361,10 +12339,10 @@ __metadata: i18next-browser-languagedetector: "npm:^8.0.0" jest: "npm:^29.7.0" jsdom: "npm:^25.0.0" - lint-staged: "npm:^15.2.9" + lint-staged: "npm:^15.2.10" lodash: "npm:^4.17.21" mapbox-gl-style-switcher: "npm:^1.0.11" - maplibre-gl: "npm:4.5.2" + maplibre-gl: "npm:4.6.0" prettier: "npm:^3.3.3" react: "npm:^18.3.1" react-autocomplete-hint: "npm:^2.0.0" @@ -12374,6 +12352,7 @@ __metadata: react-map-gl: "npm:~7.1.7" react-markdown: "npm:^9.0.1" react-router-dom: "npm:^6.26.1" + rollup-plugin-visualizer: "npm:^5.12.0" sass: "npm:^1.77.8" semver: "npm:^7.6.3" source-map-explorer: "npm:^2.5.3" @@ -12384,7 +12363,7 @@ __metadata: vite: "npm:^5.4.2" vite-plugin-checker: "npm:^0.7.2" vite-plugin-eslint: "npm:^1.8.1" - vite-plugin-pwa: "npm:^0.20.1" + vite-plugin-pwa: "npm:^0.20.2" vite-plugin-svgr: "npm:^4.2.0" vite-tsconfig-paths: "npm:^5.0.1" vitest: "npm:^2.0.5" @@ -13903,9 +13882,9 @@ __metadata: languageName: node linkType: hard -"vite-plugin-pwa@npm:^0.20.1": - version: 0.20.1 - resolution: "vite-plugin-pwa@npm:0.20.1" +"vite-plugin-pwa@npm:^0.20.2": + version: 0.20.2 + resolution: "vite-plugin-pwa@npm:0.20.2" dependencies: debug: "npm:^4.3.4" pretty-bytes: "npm:^6.1.1" @@ -13920,7 +13899,7 @@ __metadata: peerDependenciesMeta: "@vite-pwa/assets-generator": optional: true - checksum: 10/e4c136ea4b52c43d25d0ca38884cd87d58cda0a14174c5399ca1232d896f01d99c877828148a9ba3e6aed967c6c0b669b464cd303e95f15c5eaff082aa066e8c + checksum: 10/335e339cf4b02ab04b35578df50c0eb7e53d0cd689e59e731cb51032c5c76a20b0c41441921c5b99425b18ea59850074707f6d832bb77c02a3d1f26be5b43849 languageName: node linkType: hard @@ -14303,17 +14282,6 @@ __metadata: languageName: node linkType: hard -"which@npm:^1.3.1": - version: 1.3.1 - resolution: "which@npm:1.3.1" - dependencies: - isexe: "npm:^2.0.0" - bin: - which: ./bin/which - checksum: 10/549dcf1752f3ee7fbb64f5af2eead4b9a2f482108b7de3e85c781d6c26d8cf6a52d37cfbe0642a155fa6470483fe892661a859c03157f24c669cf115f3bbab5e - languageName: node - linkType: hard - "which@npm:^2.0.1, which@npm:^2.0.2": version: 2.0.2 resolution: "which@npm:2.0.2" @@ -14692,7 +14660,7 @@ __metadata: languageName: node linkType: hard -"yargs@npm:^17.3.1": +"yargs@npm:^17.3.1, yargs@npm:^17.5.1": version: 17.7.2 resolution: "yargs@npm:17.7.2" dependencies: From 10e2664b5c6fae0e71a7e4e162e067e8545be0c0 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 3 Sep 2024 20:55:38 +0000 Subject: [PATCH 12/35] chore(deps): bump @apollo/client from 3.11.5 to 3.11.6 in /ui (#417) Bumps [@apollo/client](https://github.com/apollographql/apollo-client) from 3.11.5 to 3.11.6. - [Release notes](https://github.com/apollographql/apollo-client/releases) - [Changelog](https://github.com/apollographql/apollo-client/blob/main/CHANGELOG.md) - [Commits](https://github.com/apollographql/apollo-client/compare/v3.11.5...v3.11.6) --- updated-dependencies: - dependency-name: "@apollo/client" dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- ui/package.json | 2 +- ui/yarn.lock | 10 +++++----- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/ui/package.json b/ui/package.json index 24d8b7ca..1a08a7d4 100644 --- a/ui/package.json +++ b/ui/package.json @@ -4,7 +4,7 @@ "private": true, "type": "module", "dependencies": { - "@apollo/client": "^3.11.5", + "@apollo/client": "^3.11.6", "@fortawesome/fontawesome-svg-core": "^6.6.0", "@fortawesome/free-regular-svg-icons": "^6.6.0", "@fortawesome/free-solid-svg-icons": "^6.6.0", diff --git a/ui/yarn.lock b/ui/yarn.lock index f1f2a46a..ade7b2b5 100644 --- a/ui/yarn.lock +++ b/ui/yarn.lock @@ -69,9 +69,9 @@ __metadata: languageName: node linkType: hard -"@apollo/client@npm:^3.11.5": - version: 3.11.5 - resolution: "@apollo/client@npm:3.11.5" +"@apollo/client@npm:^3.11.6": + version: 3.11.6 + resolution: "@apollo/client@npm:3.11.6" dependencies: "@graphql-typed-document-node/core": "npm:^3.1.1" "@wry/caches": "npm:^1.0.0" @@ -102,7 +102,7 @@ __metadata: optional: true subscriptions-transport-ws: optional: true - checksum: 10/c7dcb362ff68c3e063cf00a1d1d0647ea47f8b941e6b74291fc3be5957a9d4f6a6e2b0fb511f3f24685ebf8a895f9137134e5a4593d1d0b7ef2dd354d1d6edb0 + checksum: 10/114434c68e0ed5c93aae0fa04bce1c9269399b24d8a4c03715ff93625d59da1b6c22dac90f72520f36fdb63bf0c3cad210a618c83671fd0872b18a5a1088f424 languageName: node linkType: hard @@ -12293,7 +12293,7 @@ __metadata: version: 0.0.0-use.local resolution: "sitrep@workspace:." dependencies: - "@apollo/client": "npm:^3.11.5" + "@apollo/client": "npm:^3.11.6" "@eslint/compat": "npm:^1.1.1" "@eslint/eslintrc": "npm:^3.1.0" "@eslint/js": "npm:^9.9.1" From 37dfa538453b5643fd5880e07687a0030319877a Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 3 Sep 2024 21:00:06 +0000 Subject: [PATCH 13/35] chore(deps-dev): bump the development-dependencies group (#416) Bumps the development-dependencies group in /ui with 4 updates: [@vite-pwa/assets-generator](https://github.com/vite-pwa/assets-generator), [eslint-plugin-react](https://github.com/jsx-eslint/eslint-plugin-react), [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite) and [vite-plugin-pwa](https://github.com/vite-pwa/vite-plugin-pwa). Updates `@vite-pwa/assets-generator` from 0.2.4 to 0.2.5 - [Release notes](https://github.com/vite-pwa/assets-generator/releases) - [Commits](https://github.com/vite-pwa/assets-generator/compare/v0.2.4...v0.2.5) Updates `eslint-plugin-react` from 7.35.0 to 7.35.2 - [Release notes](https://github.com/jsx-eslint/eslint-plugin-react/releases) - [Changelog](https://github.com/jsx-eslint/eslint-plugin-react/blob/master/CHANGELOG.md) - [Commits](https://github.com/jsx-eslint/eslint-plugin-react/compare/v7.35.0...v7.35.2) Updates `vite` from 5.4.2 to 5.4.3 - [Release notes](https://github.com/vitejs/vite/releases) - [Changelog](https://github.com/vitejs/vite/blob/main/packages/vite/CHANGELOG.md) - [Commits](https://github.com/vitejs/vite/commits/v5.4.3/packages/vite) Updates `vite-plugin-pwa` from 0.20.2 to 0.20.3 - [Release notes](https://github.com/vite-pwa/vite-plugin-pwa/releases) - [Commits](https://github.com/vite-pwa/vite-plugin-pwa/compare/v0.20.2...v0.20.3) --- updated-dependencies: - dependency-name: "@vite-pwa/assets-generator" dependency-type: direct:development update-type: version-update:semver-patch dependency-group: development-dependencies - dependency-name: eslint-plugin-react dependency-type: direct:development update-type: version-update:semver-patch dependency-group: development-dependencies - dependency-name: vite dependency-type: direct:development update-type: version-update:semver-patch dependency-group: development-dependencies - dependency-name: vite-plugin-pwa dependency-type: direct:development update-type: version-update:semver-patch dependency-group: development-dependencies ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- ui/package.json | 8 ++++---- ui/yarn.lock | 32 ++++++++++++++++---------------- 2 files changed, 20 insertions(+), 20 deletions(-) diff --git a/ui/package.json b/ui/package.json index 1a08a7d4..c4df777e 100644 --- a/ui/package.json +++ b/ui/package.json @@ -80,11 +80,11 @@ "@types/uuid": "^10.0.0", "@typescript-eslint/eslint-plugin": "^8.4.0", "@typescript-eslint/parser": "^8.4.0", - "@vite-pwa/assets-generator": "^0.2.4", + "@vite-pwa/assets-generator": "^0.2.5", "@vitejs/plugin-react-swc": "^3.7.0", "@vitest/coverage-v8": "^2.0.5", "eslint": "^9.9.1", - "eslint-plugin-react": "^7.35.0", + "eslint-plugin-react": "^7.35.2", "globals": "^15.9.0", "husky": "^9.1.5", "jest": "^29.7.0", @@ -97,10 +97,10 @@ "source-map-explorer": "^2.5.3", "ts-jest": "^29.2.5", "typescript": "^5.5.4", - "vite": "^5.4.2", + "vite": "^5.4.3", "vite-plugin-checker": "^0.7.2", "vite-plugin-eslint": "^1.8.1", - "vite-plugin-pwa": "^0.20.2", + "vite-plugin-pwa": "^0.20.3", "vite-plugin-svgr": "^4.2.0", "vite-tsconfig-paths": "^5.0.1", "vitest": "^2.0.5" diff --git a/ui/yarn.lock b/ui/yarn.lock index ade7b2b5..20ffd116 100644 --- a/ui/yarn.lock +++ b/ui/yarn.lock @@ -4428,9 +4428,9 @@ __metadata: languageName: node linkType: hard -"@vite-pwa/assets-generator@npm:^0.2.4": - version: 0.2.4 - resolution: "@vite-pwa/assets-generator@npm:0.2.4" +"@vite-pwa/assets-generator@npm:^0.2.5": + version: 0.2.5 + resolution: "@vite-pwa/assets-generator@npm:0.2.5" dependencies: cac: "npm:^6.7.14" colorette: "npm:^2.0.20" @@ -4440,7 +4440,7 @@ __metadata: unconfig: "npm:^0.3.11" bin: pwa-assets-generator: bin/pwa-assets-generator.mjs - checksum: 10/2fb28ce3730af8619431c46fda65316fffb5b9c716d494a5a4470e5524d1116a4d730cd2c010310f4f080cbe24fac7702e7c3861872e32a892c2ec742bae037d + checksum: 10/0ca97cd814006a6197dea098ba954c005613669ea2fed45cb07825716830ccd6c6b87d31f6cc334074f543891e107fcb606d506de31151baa5bbf6fd50e029fd languageName: node linkType: hard @@ -6632,9 +6632,9 @@ __metadata: languageName: node linkType: hard -"eslint-plugin-react@npm:^7.35.0": - version: 7.35.0 - resolution: "eslint-plugin-react@npm:7.35.0" +"eslint-plugin-react@npm:^7.35.2": + version: 7.35.2 + resolution: "eslint-plugin-react@npm:7.35.2" dependencies: array-includes: "npm:^3.1.8" array.prototype.findlast: "npm:^1.2.5" @@ -6656,7 +6656,7 @@ __metadata: string.prototype.repeat: "npm:^1.0.0" peerDependencies: eslint: ^3 || ^4 || ^5 || ^6 || ^7 || ^8 || ^9.7 - checksum: 10/fa0a54f9ea249cf89d92bb5983bf7df741da3709a0ebd6a885a67d05413ed302fd8b64c9dc819b33df8efa6d8b06f5e56b1f6965a9be7cc3e79054da4dbae5ed + checksum: 10/f4631612444f9066c8007e9433c0972754b75d33be410cd18dcf003e4209600240dec3e50a9962aae35e9a08920a1eb60e51d3cc140e5f6c95582e727ebec74e languageName: node linkType: hard @@ -12322,7 +12322,7 @@ __metadata: "@types/uuid": "npm:^10.0.0" "@typescript-eslint/eslint-plugin": "npm:^8.4.0" "@typescript-eslint/parser": "npm:^8.4.0" - "@vite-pwa/assets-generator": "npm:^0.2.4" + "@vite-pwa/assets-generator": "npm:^0.2.5" "@vitejs/plugin-react-swc": "npm:^3.7.0" "@vitest/coverage-v8": "npm:^2.0.5" "@watergis/maplibre-gl-export": "npm:~3.8.3" @@ -12330,7 +12330,7 @@ __metadata: classnames: "npm:^2.5.1" dayjs: "npm:^1.11.13" eslint: "npm:^9.9.1" - eslint-plugin-react: "npm:^7.35.0" + eslint-plugin-react: "npm:^7.35.2" globals: "npm:^15.9.0" graphql: "npm:^16.9.0" hat: "npm:^0.0.3" @@ -12360,10 +12360,10 @@ __metadata: typescript: "npm:^5.5.4" usehooks-ts: "npm:^3.1.0" uuid: "npm:^10.0.0" - vite: "npm:^5.4.2" + vite: "npm:^5.4.3" vite-plugin-checker: "npm:^0.7.2" vite-plugin-eslint: "npm:^1.8.1" - vite-plugin-pwa: "npm:^0.20.2" + vite-plugin-pwa: "npm:^0.20.3" vite-plugin-svgr: "npm:^4.2.0" vite-tsconfig-paths: "npm:^5.0.1" vitest: "npm:^2.0.5" @@ -13882,9 +13882,9 @@ __metadata: languageName: node linkType: hard -"vite-plugin-pwa@npm:^0.20.2": - version: 0.20.2 - resolution: "vite-plugin-pwa@npm:0.20.2" +"vite-plugin-pwa@npm:^0.20.3": + version: 0.20.3 + resolution: "vite-plugin-pwa@npm:0.20.3" dependencies: debug: "npm:^4.3.4" pretty-bytes: "npm:^6.1.1" @@ -13899,7 +13899,7 @@ __metadata: peerDependenciesMeta: "@vite-pwa/assets-generator": optional: true - checksum: 10/335e339cf4b02ab04b35578df50c0eb7e53d0cd689e59e731cb51032c5c76a20b0c41441921c5b99425b18ea59850074707f6d832bb77c02a3d1f26be5b43849 + checksum: 10/733d749a413e8cb25b267e20a39a4edf3f24e13c9e15461948d25ed71aa579275db143cd06c4203e98ec54fbbb684c55db0ef94f20b500a4323f954a2c16b7bc languageName: node linkType: hard From 875f9487a9f1ed99f005361538a89799d67758a0 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 5 Sep 2024 17:14:33 +0000 Subject: [PATCH 14/35] chore(deps): bump @apollo/client from 3.11.6 to 3.11.7 in /ui (#419) Bumps [@apollo/client](https://github.com/apollographql/apollo-client) from 3.11.6 to 3.11.7. - [Release notes](https://github.com/apollographql/apollo-client/releases) - [Changelog](https://github.com/apollographql/apollo-client/blob/main/CHANGELOG.md) - [Commits](https://github.com/apollographql/apollo-client/compare/v3.11.6...v3.11.7) --- updated-dependencies: - dependency-name: "@apollo/client" dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- ui/package.json | 2 +- ui/yarn.lock | 10 +++++----- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/ui/package.json b/ui/package.json index c4df777e..2b11f940 100644 --- a/ui/package.json +++ b/ui/package.json @@ -4,7 +4,7 @@ "private": true, "type": "module", "dependencies": { - "@apollo/client": "^3.11.6", + "@apollo/client": "^3.11.7", "@fortawesome/fontawesome-svg-core": "^6.6.0", "@fortawesome/free-regular-svg-icons": "^6.6.0", "@fortawesome/free-solid-svg-icons": "^6.6.0", diff --git a/ui/yarn.lock b/ui/yarn.lock index 20ffd116..f0a85634 100644 --- a/ui/yarn.lock +++ b/ui/yarn.lock @@ -69,9 +69,9 @@ __metadata: languageName: node linkType: hard -"@apollo/client@npm:^3.11.6": - version: 3.11.6 - resolution: "@apollo/client@npm:3.11.6" +"@apollo/client@npm:^3.11.7": + version: 3.11.7 + resolution: "@apollo/client@npm:3.11.7" dependencies: "@graphql-typed-document-node/core": "npm:^3.1.1" "@wry/caches": "npm:^1.0.0" @@ -102,7 +102,7 @@ __metadata: optional: true subscriptions-transport-ws: optional: true - checksum: 10/114434c68e0ed5c93aae0fa04bce1c9269399b24d8a4c03715ff93625d59da1b6c22dac90f72520f36fdb63bf0c3cad210a618c83671fd0872b18a5a1088f424 + checksum: 10/adf734642fbeecea7a52b99689de06d5be879d6d50aa42c7635e30c5c4d486a179b47c81890156b3589163d07dd864ad6a37a27bc8df18144e8d5bbd35857221 languageName: node linkType: hard @@ -12293,7 +12293,7 @@ __metadata: version: 0.0.0-use.local resolution: "sitrep@workspace:." dependencies: - "@apollo/client": "npm:^3.11.6" + "@apollo/client": "npm:^3.11.7" "@eslint/compat": "npm:^1.1.1" "@eslint/eslintrc": "npm:^3.1.0" "@eslint/js": "npm:^9.9.1" From 007bfdc59dee730f3121ff4face30fb0f79131f1 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 5 Sep 2024 17:17:04 +0000 Subject: [PATCH 15/35] chore(deps-dev): bump the development-dependencies group (#418) Bumps the development-dependencies group in /ui with 5 updates: | Package | From | To | | --- | --- | --- | | [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node) | `20.16.3` | `20.16.4` | | [@vite-pwa/assets-generator](https://github.com/vite-pwa/assets-generator) | `0.2.5` | `0.2.6` | | [sass](https://github.com/sass/dart-sass) | `1.77.8` | `1.78.0` | | [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite) | `5.4.2` | `5.4.3` | | [vite-plugin-pwa](https://github.com/vite-pwa/vite-plugin-pwa) | `0.20.3` | `0.20.5` | Updates `@types/node` from 20.16.3 to 20.16.4 - [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases) - [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/node) Updates `@vite-pwa/assets-generator` from 0.2.5 to 0.2.6 - [Release notes](https://github.com/vite-pwa/assets-generator/releases) - [Commits](https://github.com/vite-pwa/assets-generator/compare/v0.2.5...v0.2.6) Updates `sass` from 1.77.8 to 1.78.0 - [Release notes](https://github.com/sass/dart-sass/releases) - [Changelog](https://github.com/sass/dart-sass/blob/main/CHANGELOG.md) - [Commits](https://github.com/sass/dart-sass/compare/1.77.8...1.78.0) Updates `vite` from 5.4.2 to 5.4.3 - [Release notes](https://github.com/vitejs/vite/releases) - [Changelog](https://github.com/vitejs/vite/blob/main/packages/vite/CHANGELOG.md) - [Commits](https://github.com/vitejs/vite/commits/v5.4.3/packages/vite) Updates `vite-plugin-pwa` from 0.20.3 to 0.20.5 - [Release notes](https://github.com/vite-pwa/vite-plugin-pwa/releases) - [Commits](https://github.com/vite-pwa/vite-plugin-pwa/compare/v0.20.3...v0.20.5) --- updated-dependencies: - dependency-name: "@types/node" dependency-type: direct:development update-type: version-update:semver-patch dependency-group: development-dependencies - dependency-name: "@vite-pwa/assets-generator" dependency-type: direct:development update-type: version-update:semver-patch dependency-group: development-dependencies - dependency-name: sass dependency-type: direct:development update-type: version-update:semver-minor dependency-group: development-dependencies - dependency-name: vite dependency-type: direct:development update-type: version-update:semver-patch dependency-group: development-dependencies - dependency-name: vite-plugin-pwa dependency-type: direct:development update-type: version-update:semver-patch dependency-group: development-dependencies ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Dani Aschwanden --- ui/package.json | 8 +++---- ui/yarn.lock | 62 ++++++++++++++++++++++++------------------------- 2 files changed, 35 insertions(+), 35 deletions(-) diff --git a/ui/package.json b/ui/package.json index 2b11f940..ac5e21cc 100644 --- a/ui/package.json +++ b/ui/package.json @@ -71,7 +71,7 @@ "@types/jest": "^29.5.12", "@types/lodash": "^4.17.7", "@types/mapbox__mapbox-gl-draw": "~1.4.6", - "@types/node": "^20.16.3", + "@types/node": "^20.16.4", "@types/react": "^18.3.5", "@types/react-color": "^3.0.12", "@types/react-dom": "^18.3.0", @@ -80,7 +80,7 @@ "@types/uuid": "^10.0.0", "@typescript-eslint/eslint-plugin": "^8.4.0", "@typescript-eslint/parser": "^8.4.0", - "@vite-pwa/assets-generator": "^0.2.5", + "@vite-pwa/assets-generator": "^0.2.6", "@vitejs/plugin-react-swc": "^3.7.0", "@vitest/coverage-v8": "^2.0.5", "eslint": "^9.9.1", @@ -92,7 +92,7 @@ "lint-staged": "^15.2.10", "prettier": "^3.3.3", "rollup-plugin-visualizer": "^5.12.0", - "sass": "^1.77.8", + "sass": "^1.78.0", "semver": "^7.6.3", "source-map-explorer": "^2.5.3", "ts-jest": "^29.2.5", @@ -100,7 +100,7 @@ "vite": "^5.4.3", "vite-plugin-checker": "^0.7.2", "vite-plugin-eslint": "^1.8.1", - "vite-plugin-pwa": "^0.20.3", + "vite-plugin-pwa": "^0.20.5", "vite-plugin-svgr": "^4.2.0", "vite-tsconfig-paths": "^5.0.1", "vitest": "^2.0.5" diff --git a/ui/yarn.lock b/ui/yarn.lock index f0a85634..d80b1b6e 100644 --- a/ui/yarn.lock +++ b/ui/yarn.lock @@ -4125,12 +4125,12 @@ __metadata: languageName: node linkType: hard -"@types/node@npm:^20.16.3": - version: 20.16.3 - resolution: "@types/node@npm:20.16.3" +"@types/node@npm:^20.16.4": + version: 20.16.4 + resolution: "@types/node@npm:20.16.4" dependencies: undici-types: "npm:~6.19.2" - checksum: 10/3b14b8b3cb92adc7db69f8cf351e7b6b5001e5c7cdb07470943215afeafc2952ae588c918543784e8f8e975d43d609ce0c7bced91f1b8745f1669d6137adaabc + checksum: 10/3c6ecc81ee77b67938004a0ffc7459ad9df242218a3eea8249036950262ba32061cfac0d7b74781d50cd9399bfd9b903c3b250caa2f4e76f526c4b55b929b670 languageName: node linkType: hard @@ -4428,9 +4428,9 @@ __metadata: languageName: node linkType: hard -"@vite-pwa/assets-generator@npm:^0.2.5": - version: 0.2.5 - resolution: "@vite-pwa/assets-generator@npm:0.2.5" +"@vite-pwa/assets-generator@npm:^0.2.6": + version: 0.2.6 + resolution: "@vite-pwa/assets-generator@npm:0.2.6" dependencies: cac: "npm:^6.7.14" colorette: "npm:^2.0.20" @@ -4440,7 +4440,7 @@ __metadata: unconfig: "npm:^0.3.11" bin: pwa-assets-generator: bin/pwa-assets-generator.mjs - checksum: 10/0ca97cd814006a6197dea098ba954c005613669ea2fed45cb07825716830ccd6c6b87d31f6cc334074f543891e107fcb606d506de31151baa5bbf6fd50e029fd + checksum: 10/9e12b81cab7c0b4ba10fe7534da6bb72c8a79462714c8bddef413836aafb5e21fd41fd90c80ec5f6745b4e8d5d68ac88b09dcbff258ae73f041662672b391661 languageName: node linkType: hard @@ -5884,7 +5884,7 @@ __metadata: languageName: node linkType: hard -"debug@npm:^4.3.5, debug@npm:~4.3.6": +"debug@npm:^4.3.5, debug@npm:^4.3.6, debug@npm:~4.3.6": version: 4.3.6 resolution: "debug@npm:4.3.6" dependencies: @@ -11002,14 +11002,14 @@ __metadata: languageName: node linkType: hard -"postcss@npm:^8.4.41": - version: 8.4.41 - resolution: "postcss@npm:8.4.41" +"postcss@npm:^8.4.43": + version: 8.4.45 + resolution: "postcss@npm:8.4.45" dependencies: nanoid: "npm:^3.3.7" picocolors: "npm:^1.0.1" source-map-js: "npm:^1.2.0" - checksum: 10/6e6176c2407eff60493ca60a706c6b7def20a722c3adda94ea1ece38345eb99964191336fd62b62652279cec6938e79e0b1e1d477142c8d3516e7a725a74ee37 + checksum: 10/7eaf7346d04929ee979548ece5e34d253eae6f175346e298b2c4621ad6f4ee00adfe7abe72688640e910c0361ae50537c5dda3e35fd1066491282c342b3ee5c8 languageName: node linkType: hard @@ -11985,16 +11985,16 @@ __metadata: languageName: node linkType: hard -"sass@npm:^1.77.8": - version: 1.77.8 - resolution: "sass@npm:1.77.8" +"sass@npm:^1.78.0": + version: 1.78.0 + resolution: "sass@npm:1.78.0" dependencies: chokidar: "npm:>=3.0.0 <4.0.0" immutable: "npm:^4.0.0" source-map-js: "npm:>=0.6.2 <2.0.0" bin: sass: sass.js - checksum: 10/4bf6e3007fef62dd6dfc657c89c2890872a6b5dc43e2dc4d61bcf9ae1bdc2dd95b59454a3cbd3c8363c98b673b028e1578b26135190d0f2a8a184a38ab41e99b + checksum: 10/a180135addd9108d9a3549e111b2b442a97761bc429ef04374d57ef741d4343378e7092a6cba12e1f94e48b02d9b997cc79e737c0a2b834ad9204a761b14734d languageName: node linkType: hard @@ -12313,7 +12313,7 @@ __metadata: "@types/jest": "npm:^29.5.12" "@types/lodash": "npm:^4.17.7" "@types/mapbox__mapbox-gl-draw": "npm:~1.4.6" - "@types/node": "npm:^20.16.3" + "@types/node": "npm:^20.16.4" "@types/react": "npm:^18.3.5" "@types/react-color": "npm:^3.0.12" "@types/react-dom": "npm:^18.3.0" @@ -12322,7 +12322,7 @@ __metadata: "@types/uuid": "npm:^10.0.0" "@typescript-eslint/eslint-plugin": "npm:^8.4.0" "@typescript-eslint/parser": "npm:^8.4.0" - "@vite-pwa/assets-generator": "npm:^0.2.5" + "@vite-pwa/assets-generator": "npm:^0.2.6" "@vitejs/plugin-react-swc": "npm:^3.7.0" "@vitest/coverage-v8": "npm:^2.0.5" "@watergis/maplibre-gl-export": "npm:~3.8.3" @@ -12353,7 +12353,7 @@ __metadata: react-markdown: "npm:^9.0.1" react-router-dom: "npm:^6.26.1" rollup-plugin-visualizer: "npm:^5.12.0" - sass: "npm:^1.77.8" + sass: "npm:^1.78.0" semver: "npm:^7.6.3" source-map-explorer: "npm:^2.5.3" ts-jest: "npm:^29.2.5" @@ -12363,7 +12363,7 @@ __metadata: vite: "npm:^5.4.3" vite-plugin-checker: "npm:^0.7.2" vite-plugin-eslint: "npm:^1.8.1" - vite-plugin-pwa: "npm:^0.20.3" + vite-plugin-pwa: "npm:^0.20.5" vite-plugin-svgr: "npm:^4.2.0" vite-tsconfig-paths: "npm:^5.0.1" vitest: "npm:^2.0.5" @@ -13882,24 +13882,24 @@ __metadata: languageName: node linkType: hard -"vite-plugin-pwa@npm:^0.20.3": - version: 0.20.3 - resolution: "vite-plugin-pwa@npm:0.20.3" +"vite-plugin-pwa@npm:^0.20.5": + version: 0.20.5 + resolution: "vite-plugin-pwa@npm:0.20.5" dependencies: - debug: "npm:^4.3.4" + debug: "npm:^4.3.6" pretty-bytes: "npm:^6.1.1" tinyglobby: "npm:^0.2.0" workbox-build: "npm:^7.1.0" workbox-window: "npm:^7.1.0" peerDependencies: - "@vite-pwa/assets-generator": ^0.2.4 + "@vite-pwa/assets-generator": ^0.2.6 vite: ^3.1.0 || ^4.0.0 || ^5.0.0 workbox-build: ^7.1.0 workbox-window: ^7.1.0 peerDependenciesMeta: "@vite-pwa/assets-generator": optional: true - checksum: 10/733d749a413e8cb25b267e20a39a4edf3f24e13c9e15461948d25ed71aa579275db143cd06c4203e98ec54fbbb684c55db0ef94f20b500a4323f954a2c16b7bc + checksum: 10/dd1480f87a3777b5029905d7a155707d666c856ab2d7755d43cba0ff2f90b6a95735ed9dd1fc8f4516c16bfebbe68c8dafbcfd2b51169ee7c5d86915a50f6f23 languageName: node linkType: hard @@ -13933,12 +13933,12 @@ __metadata: linkType: hard "vite@npm:^5.4.2": - version: 5.4.2 - resolution: "vite@npm:5.4.2" + version: 5.4.3 + resolution: "vite@npm:5.4.3" dependencies: esbuild: "npm:^0.21.3" fsevents: "npm:~2.3.3" - postcss: "npm:^8.4.41" + postcss: "npm:^8.4.43" rollup: "npm:^4.20.0" peerDependencies: "@types/node": ^18.0.0 || >=20.0.0 @@ -13971,7 +13971,7 @@ __metadata: optional: true bin: vite: bin/vite.js - checksum: 10/c449f9295060fa88c9b5cc1bd17c2de198deae596b7da1250db9662fb15e7b21e0dbe9a40a9106fb7438b1231494b169457e809ecbb65e732648d87dd284ab23 + checksum: 10/864bf64fe57bd26b1527ea6d8dac2f4f8b834791f836590043463c0ded6a150a9407ffac6a859abc34ec013ecfcd23f405c20aa76f4ad99deab1176d5f017574 languageName: node linkType: hard From 01d4c371f28a546fc9d94ee3f31fb4ccfdd92edd Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Sat, 7 Sep 2024 20:12:07 +0000 Subject: [PATCH 16/35] chore(deps-dev): bump the development-dependencies group across 1 directory with 4 updates (#424) Bumps the development-dependencies group with 4 updates in the /ui directory: [@eslint/js](https://github.com/eslint/eslint/tree/HEAD/packages/js), [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node), [eslint](https://github.com/eslint/eslint) and [vite-plugin-checker](https://github.com/fi3ework/vite-plugin-checker). Updates `@eslint/js` from 9.9.1 to 9.10.0 - [Release notes](https://github.com/eslint/eslint/releases) - [Changelog](https://github.com/eslint/eslint/blob/main/CHANGELOG.md) - [Commits](https://github.com/eslint/eslint/commits/v9.10.0/packages/js) Updates `@types/node` from 20.16.4 to 20.16.5 - [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases) - [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/node) Updates `eslint` from 9.9.1 to 9.10.0 - [Release notes](https://github.com/eslint/eslint/releases) - [Changelog](https://github.com/eslint/eslint/blob/main/CHANGELOG.md) - [Commits](https://github.com/eslint/eslint/compare/v9.9.1...v9.10.0) Updates `vite-plugin-checker` from 0.7.2 to 0.8.0 - [Release notes](https://github.com/fi3ework/vite-plugin-checker/releases) - [Changelog](https://github.com/fi3ework/vite-plugin-checker/blob/main/CHANGELOG.md) - [Commits](https://github.com/fi3ework/vite-plugin-checker/compare/vite-plugin-checker@0.7.2...vite-plugin-checker@0.8.0) --- updated-dependencies: - dependency-name: "@eslint/js" dependency-type: direct:development update-type: version-update:semver-minor dependency-group: development-dependencies - dependency-name: "@types/node" dependency-type: direct:development update-type: version-update:semver-patch dependency-group: development-dependencies - dependency-name: eslint dependency-type: direct:development update-type: version-update:semver-minor dependency-group: development-dependencies - dependency-name: vite-plugin-checker dependency-type: direct:development update-type: version-update:semver-minor dependency-group: development-dependencies ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- ui/package.json | 8 +++---- ui/yarn.lock | 55 ++++++++++++++++++++++++++++--------------------- 2 files changed, 36 insertions(+), 27 deletions(-) diff --git a/ui/package.json b/ui/package.json index ac5e21cc..9bed0753 100644 --- a/ui/package.json +++ b/ui/package.json @@ -62,7 +62,7 @@ "devDependencies": { "@eslint/compat": "^1.1.1", "@eslint/eslintrc": "^3.1.0", - "@eslint/js": "^9.9.1", + "@eslint/js": "^9.10.0", "@testing-library/dom": "^10.4.0", "@testing-library/jest-dom": "^6.5.0", "@testing-library/react": "^16.0.1", @@ -71,7 +71,7 @@ "@types/jest": "^29.5.12", "@types/lodash": "^4.17.7", "@types/mapbox__mapbox-gl-draw": "~1.4.6", - "@types/node": "^20.16.4", + "@types/node": "^20.16.5", "@types/react": "^18.3.5", "@types/react-color": "^3.0.12", "@types/react-dom": "^18.3.0", @@ -83,7 +83,7 @@ "@vite-pwa/assets-generator": "^0.2.6", "@vitejs/plugin-react-swc": "^3.7.0", "@vitest/coverage-v8": "^2.0.5", - "eslint": "^9.9.1", + "eslint": "^9.10.0", "eslint-plugin-react": "^7.35.2", "globals": "^15.9.0", "husky": "^9.1.5", @@ -98,7 +98,7 @@ "ts-jest": "^29.2.5", "typescript": "^5.5.4", "vite": "^5.4.3", - "vite-plugin-checker": "^0.7.2", + "vite-plugin-checker": "^0.8.0", "vite-plugin-eslint": "^1.8.1", "vite-plugin-pwa": "^0.20.5", "vite-plugin-svgr": "^4.2.0", diff --git a/ui/yarn.lock b/ui/yarn.lock index d80b1b6e..6c720fea 100644 --- a/ui/yarn.lock +++ b/ui/yarn.lock @@ -2246,10 +2246,10 @@ __metadata: languageName: node linkType: hard -"@eslint/js@npm:9.9.1, @eslint/js@npm:^9.9.1": - version: 9.9.1 - resolution: "@eslint/js@npm:9.9.1" - checksum: 10/c3fac3389bda97e790eea03c0a0be2dc1cfb0eec3863f8c4b88033ca7bad4265e4c48abe40d4dc8f82b456a2617fc8a499b2b90837c8bd39a05ebc8cb34c3a04 +"@eslint/js@npm:9.10.0, @eslint/js@npm:^9.10.0": + version: 9.10.0 + resolution: "@eslint/js@npm:9.10.0" + checksum: 10/cbda2bf268c8ac7a2b2493aaaa0113a78165a576ee5178b9fbdaf245c3d40ffaf41d006f75afab5718f68d816f00319e267b4c88ead100b19022fe491f9e0175 languageName: node linkType: hard @@ -2260,6 +2260,15 @@ __metadata: languageName: node linkType: hard +"@eslint/plugin-kit@npm:^0.1.0": + version: 0.1.0 + resolution: "@eslint/plugin-kit@npm:0.1.0" + dependencies: + levn: "npm:^0.4.1" + checksum: 10/3c6b10505f53c6e32b40572f780164b75389bbabd1bf80ab8742222710d90683a2cc9480468fca132da636f6a3053ae60b173181d14f4975fde2e6f8f9564c6d + languageName: node + linkType: hard + "@fortawesome/fontawesome-common-types@npm:6.6.0": version: 6.6.0 resolution: "@fortawesome/fontawesome-common-types@npm:6.6.0" @@ -4125,12 +4134,12 @@ __metadata: languageName: node linkType: hard -"@types/node@npm:^20.16.4": - version: 20.16.4 - resolution: "@types/node@npm:20.16.4" +"@types/node@npm:^20.16.5": + version: 20.16.5 + resolution: "@types/node@npm:20.16.5" dependencies: undici-types: "npm:~6.19.2" - checksum: 10/3c6ecc81ee77b67938004a0ffc7459ad9df242218a3eea8249036950262ba32061cfac0d7b74781d50cd9399bfd9b903c3b250caa2f4e76f526c4b55b929b670 + checksum: 10/39a8457149dc17cdea57afc90d4da53182fdb8b958d5bb065a15d123d81d4efa6b51a0de92428d05ead2e63ce07195586f71083401b99cdbcd04662344fbf7a1 languageName: node linkType: hard @@ -6691,15 +6700,16 @@ __metadata: languageName: node linkType: hard -"eslint@npm:^9.9.1": - version: 9.9.1 - resolution: "eslint@npm:9.9.1" +"eslint@npm:^9.10.0": + version: 9.10.0 + resolution: "eslint@npm:9.10.0" dependencies: "@eslint-community/eslint-utils": "npm:^4.2.0" "@eslint-community/regexpp": "npm:^4.11.0" "@eslint/config-array": "npm:^0.18.0" "@eslint/eslintrc": "npm:^3.1.0" - "@eslint/js": "npm:9.9.1" + "@eslint/js": "npm:9.10.0" + "@eslint/plugin-kit": "npm:^0.1.0" "@humanwhocodes/module-importer": "npm:^1.0.1" "@humanwhocodes/retry": "npm:^0.3.0" "@nodelib/fs.walk": "npm:^1.2.8" @@ -6722,7 +6732,6 @@ __metadata: is-glob: "npm:^4.0.0" is-path-inside: "npm:^3.0.3" json-stable-stringify-without-jsonify: "npm:^1.0.1" - levn: "npm:^0.4.1" lodash.merge: "npm:^4.6.2" minimatch: "npm:^3.1.2" natural-compare: "npm:^1.4.0" @@ -6736,7 +6745,7 @@ __metadata: optional: true bin: eslint: bin/eslint.js - checksum: 10/d53dcfff396642cc33907b7c4a04536205f8889ae264fe105eea29de571b5923eb9b0bc6fc95b5d30414796cbe180dc93a523e0fdd4f26b2b4b4cf0195969908 + checksum: 10/bbb6da7db83f5182cff5a5e1681cf77be761e37bfbfedf66add9d3d2a216dbc336e787d02d05a2ea85179c51a10203713b2438b86adfd7666c29afd3ee008fe8 languageName: node linkType: hard @@ -12296,7 +12305,7 @@ __metadata: "@apollo/client": "npm:^3.11.7" "@eslint/compat": "npm:^1.1.1" "@eslint/eslintrc": "npm:^3.1.0" - "@eslint/js": "npm:^9.9.1" + "@eslint/js": "npm:^9.10.0" "@fortawesome/fontawesome-svg-core": "npm:^6.6.0" "@fortawesome/free-regular-svg-icons": "npm:^6.6.0" "@fortawesome/free-solid-svg-icons": "npm:^6.6.0" @@ -12313,7 +12322,7 @@ __metadata: "@types/jest": "npm:^29.5.12" "@types/lodash": "npm:^4.17.7" "@types/mapbox__mapbox-gl-draw": "npm:~1.4.6" - "@types/node": "npm:^20.16.4" + "@types/node": "npm:^20.16.5" "@types/react": "npm:^18.3.5" "@types/react-color": "npm:^3.0.12" "@types/react-dom": "npm:^18.3.0" @@ -12329,7 +12338,7 @@ __metadata: bulma: "npm:^1.0.2" classnames: "npm:^2.5.1" dayjs: "npm:^1.11.13" - eslint: "npm:^9.9.1" + eslint: "npm:^9.10.0" eslint-plugin-react: "npm:^7.35.2" globals: "npm:^15.9.0" graphql: "npm:^16.9.0" @@ -12361,7 +12370,7 @@ __metadata: usehooks-ts: "npm:^3.1.0" uuid: "npm:^10.0.0" vite: "npm:^5.4.3" - vite-plugin-checker: "npm:^0.7.2" + vite-plugin-checker: "npm:^0.8.0" vite-plugin-eslint: "npm:^1.8.1" vite-plugin-pwa: "npm:^0.20.5" vite-plugin-svgr: "npm:^4.2.0" @@ -13816,9 +13825,9 @@ __metadata: languageName: node linkType: hard -"vite-plugin-checker@npm:^0.7.2": - version: 0.7.2 - resolution: "vite-plugin-checker@npm:0.7.2" +"vite-plugin-checker@npm:^0.8.0": + version: 0.8.0 + resolution: "vite-plugin-checker@npm:0.8.0" dependencies: "@babel/code-frame": "npm:^7.12.13" ansi-escapes: "npm:^4.3.0" @@ -13844,7 +13853,7 @@ __metadata: vite: ">=2.0.0" vls: "*" vti: "*" - vue-tsc: ">=2.0.0" + vue-tsc: ~2.1.6 peerDependenciesMeta: "@biomejs/biome": optional: true @@ -13864,7 +13873,7 @@ __metadata: optional: true vue-tsc: optional: true - checksum: 10/95ff8631896a3d3999e5a99e808e4e33289f63ff96b932a6b722a58879ebebfd0335cad8897e8279c47145636a03c10372b3b8e7b92eabe91779d163768994f8 + checksum: 10/a38a90ac706b4fdd21db52caca7e380118ae1e8cd520184b000481cf40baac491723c71e90b6d36197051131f0e20509d2e297e199831bf3428cf4b1c50114ef languageName: node linkType: hard From 1f32757f46b7cb5b126896544e17901e6a36d451 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Sat, 7 Sep 2024 20:15:24 +0000 Subject: [PATCH 17/35] chore(deps): bump @apollo/client from 3.11.7 to 3.11.8 in /ui (#422) Bumps [@apollo/client](https://github.com/apollographql/apollo-client) from 3.11.7 to 3.11.8. - [Release notes](https://github.com/apollographql/apollo-client/releases) - [Changelog](https://github.com/apollographql/apollo-client/blob/main/CHANGELOG.md) - [Commits](https://github.com/apollographql/apollo-client/compare/v3.11.7...v3.11.8) --- updated-dependencies: - dependency-name: "@apollo/client" dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- ui/package.json | 2 +- ui/yarn.lock | 10 +++++----- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/ui/package.json b/ui/package.json index 9bed0753..b610b764 100644 --- a/ui/package.json +++ b/ui/package.json @@ -4,7 +4,7 @@ "private": true, "type": "module", "dependencies": { - "@apollo/client": "^3.11.7", + "@apollo/client": "^3.11.8", "@fortawesome/fontawesome-svg-core": "^6.6.0", "@fortawesome/free-regular-svg-icons": "^6.6.0", "@fortawesome/free-solid-svg-icons": "^6.6.0", diff --git a/ui/yarn.lock b/ui/yarn.lock index 6c720fea..f4dcc789 100644 --- a/ui/yarn.lock +++ b/ui/yarn.lock @@ -69,9 +69,9 @@ __metadata: languageName: node linkType: hard -"@apollo/client@npm:^3.11.7": - version: 3.11.7 - resolution: "@apollo/client@npm:3.11.7" +"@apollo/client@npm:^3.11.8": + version: 3.11.8 + resolution: "@apollo/client@npm:3.11.8" dependencies: "@graphql-typed-document-node/core": "npm:^3.1.1" "@wry/caches": "npm:^1.0.0" @@ -102,7 +102,7 @@ __metadata: optional: true subscriptions-transport-ws: optional: true - checksum: 10/adf734642fbeecea7a52b99689de06d5be879d6d50aa42c7635e30c5c4d486a179b47c81890156b3589163d07dd864ad6a37a27bc8df18144e8d5bbd35857221 + checksum: 10/ea9f8d8e5575bd2f2e897c53c4c3cbbea741aa2b40a103a41df0ff2fd0ff43ede127f65f0bdb6dfded28c2e2cada32551b2f558db702ebb40cf88aab9127dc1c languageName: node linkType: hard @@ -12302,7 +12302,7 @@ __metadata: version: 0.0.0-use.local resolution: "sitrep@workspace:." dependencies: - "@apollo/client": "npm:^3.11.7" + "@apollo/client": "npm:^3.11.8" "@eslint/compat": "npm:^1.1.1" "@eslint/eslintrc": "npm:^3.1.0" "@eslint/js": "npm:^9.10.0" From f63ff025f53d2eba8383ccdabb4e0744e1579947 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 12 Sep 2024 06:47:53 -0400 Subject: [PATCH 18/35] chore(deps): bump react-router-dom from 6.26.1 to 6.26.2 in /ui (#426) Bumps [react-router-dom](https://github.com/remix-run/react-router/tree/HEAD/packages/react-router-dom) from 6.26.1 to 6.26.2. - [Release notes](https://github.com/remix-run/react-router/releases) - [Changelog](https://github.com/remix-run/react-router/blob/main/packages/react-router-dom/CHANGELOG.md) - [Commits](https://github.com/remix-run/react-router/commits/react-router-dom@6.26.2/packages/react-router-dom) --- updated-dependencies: - dependency-name: react-router-dom dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- ui/package.json | 2 +- ui/yarn.lock | 32 ++++++++++++++++---------------- 2 files changed, 17 insertions(+), 17 deletions(-) diff --git a/ui/package.json b/ui/package.json index b610b764..9b15ff4f 100644 --- a/ui/package.json +++ b/ui/package.json @@ -31,7 +31,7 @@ "react-i18next": "^15.0.1", "react-map-gl": "~7.1.7", "react-markdown": "^9.0.1", - "react-router-dom": "^6.26.1", + "react-router-dom": "^6.26.2", "usehooks-ts": "^3.1.0", "uuid": "^10.0.0", "web-vitals": "^4.2.3" diff --git a/ui/yarn.lock b/ui/yarn.lock index f4dcc789..90454068 100644 --- a/ui/yarn.lock +++ b/ui/yarn.lock @@ -3198,10 +3198,10 @@ __metadata: languageName: node linkType: hard -"@remix-run/router@npm:1.19.1": - version: 1.19.1 - resolution: "@remix-run/router@npm:1.19.1" - checksum: 10/2800c2f6567a982fe942aacc4cb5b170e7cc89bd455960e3bea2424161ff7dac32d01886322d88dd19b88d1bea711f39566d17f02b73eeb74999affb471f8f52 +"@remix-run/router@npm:1.19.2": + version: 1.19.2 + resolution: "@remix-run/router@npm:1.19.2" + checksum: 10/31b62b66ea68bd62018189047de7b262700113438f62407df019f81a9856a08a705b2b77454be9293518e2f5f3bbf3f8b858ac19f48cb7d89f8ab56b7b630c19 languageName: node linkType: hard @@ -11343,27 +11343,27 @@ __metadata: languageName: node linkType: hard -"react-router-dom@npm:^6.26.1": - version: 6.26.1 - resolution: "react-router-dom@npm:6.26.1" +"react-router-dom@npm:^6.26.2": + version: 6.26.2 + resolution: "react-router-dom@npm:6.26.2" dependencies: - "@remix-run/router": "npm:1.19.1" - react-router: "npm:6.26.1" + "@remix-run/router": "npm:1.19.2" + react-router: "npm:6.26.2" peerDependencies: react: ">=16.8" react-dom: ">=16.8" - checksum: 10/1bd255d1ff88f477699c72656e7c07702a907e644388a1bea1c648f2df0c3c86db2e90bea945b1d43eaf84ebab194f3868f3788502965ad5f20c508c6874f1fe + checksum: 10/4eee37839bd1a660807c090b4d272e4aa9b95d8a9a932cdcdf7c5b10735f39b6db73bad79b08a3012386a7e225ff6bf60435e2741fb7c68e137ac5a6295d4308 languageName: node linkType: hard -"react-router@npm:6.26.1": - version: 6.26.1 - resolution: "react-router@npm:6.26.1" +"react-router@npm:6.26.2": + version: 6.26.2 + resolution: "react-router@npm:6.26.2" dependencies: - "@remix-run/router": "npm:1.19.1" + "@remix-run/router": "npm:1.19.2" peerDependencies: react: ">=16.8" - checksum: 10/b3761515c75da65a1678f005d08a6285ceccd9df7237ae6fdd9ab2ab816ef328435b75610f705ecd9ecd41c6878fd22eb9b44c5391cdef2e1ed99ddbc78de8a4 + checksum: 10/496e855b53e61066c1791e354f5d79eab56a128d9722fdc6486c3ecd3b3a0bf9968e927028f429893b157f3cc10fc09e890a055847723ee242663e7995fedc9d languageName: node linkType: hard @@ -12360,7 +12360,7 @@ __metadata: react-i18next: "npm:^15.0.1" react-map-gl: "npm:~7.1.7" react-markdown: "npm:^9.0.1" - react-router-dom: "npm:^6.26.1" + react-router-dom: "npm:^6.26.2" rollup-plugin-visualizer: "npm:^5.12.0" sass: "npm:^1.78.0" semver: "npm:^7.6.3" From 65d56713caef169e963666759e515ff35073a1ab Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 12 Sep 2024 10:50:57 +0000 Subject: [PATCH 19/35] chore(deps): bump i18next from 23.14.0 to 23.15.1 in /ui (#428) Bumps [i18next](https://github.com/i18next/i18next) from 23.14.0 to 23.15.1. - [Release notes](https://github.com/i18next/i18next/releases) - [Changelog](https://github.com/i18next/i18next/blob/master/CHANGELOG.md) - [Commits](https://github.com/i18next/i18next/compare/v23.14.0...v23.15.1) --- updated-dependencies: - dependency-name: i18next dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- ui/package.json | 2 +- ui/yarn.lock | 10 +++++----- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/ui/package.json b/ui/package.json index 9b15ff4f..05250006 100644 --- a/ui/package.json +++ b/ui/package.json @@ -19,7 +19,7 @@ "dayjs": "^1.11.13", "graphql": "^16.9.0", "hat": "^0.0.3", - "i18next": "^23.14.0", + "i18next": "^23.15.1", "i18next-browser-languagedetector": "^8.0.0", "lodash": "^4.17.21", "mapbox-gl-style-switcher": "^1.0.11", diff --git a/ui/yarn.lock b/ui/yarn.lock index 90454068..76559f4e 100644 --- a/ui/yarn.lock +++ b/ui/yarn.lock @@ -7837,12 +7837,12 @@ __metadata: languageName: node linkType: hard -"i18next@npm:^23.14.0": - version: 23.14.0 - resolution: "i18next@npm:23.14.0" +"i18next@npm:^23.15.1": + version: 23.15.1 + resolution: "i18next@npm:23.15.1" dependencies: "@babel/runtime": "npm:^7.23.2" - checksum: 10/661c1b22ae20bf75a616b3a804b96fd55bd04ed880853a05ef93912ed37f65b9546d8f8bbe55dfe2967a5b0f2ce110a7e9f4b7a6a3d90eb097d06c858d2b3e3f + checksum: 10/bfd4935517ddd68bd12ccc0b7bd454f1a19403b627d79a2fe81c9059380674f085804f8d7475dd248a887f90d9e2da0f9be64179ddf32e9eebac47e4b9f92889 languageName: node linkType: hard @@ -12344,7 +12344,7 @@ __metadata: graphql: "npm:^16.9.0" hat: "npm:^0.0.3" husky: "npm:^9.1.5" - i18next: "npm:^23.14.0" + i18next: "npm:^23.15.1" i18next-browser-languagedetector: "npm:^8.0.0" jest: "npm:^29.7.0" jsdom: "npm:^25.0.0" From 68b0fa73431d9ea4ec54c4809baa5a34fa72b2a5 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 12 Sep 2024 10:59:41 +0000 Subject: [PATCH 20/35] chore(deps-dev): bump the development-dependencies group across 1 directory with 6 updates (#430) Bumps the development-dependencies group with 6 updates in the /ui directory: | Package | From | To | | --- | --- | --- | | [@typescript-eslint/eslint-plugin](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin) | `8.4.0` | `8.5.0` | | [@typescript-eslint/parser](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/parser) | `8.4.0` | `8.5.0` | | [eslint-plugin-react](https://github.com/jsx-eslint/eslint-plugin-react) | `7.35.2` | `7.36.0` | | [husky](https://github.com/typicode/husky) | `9.1.5` | `9.1.6` | | [typescript](https://github.com/microsoft/TypeScript) | `5.5.4` | `5.6.2` | | [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite) | `5.4.3` | `5.4.4` | Updates `@typescript-eslint/eslint-plugin` from 8.4.0 to 8.5.0 - [Release notes](https://github.com/typescript-eslint/typescript-eslint/releases) - [Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/eslint-plugin/CHANGELOG.md) - [Commits](https://github.com/typescript-eslint/typescript-eslint/commits/v8.5.0/packages/eslint-plugin) Updates `@typescript-eslint/parser` from 8.4.0 to 8.5.0 - [Release notes](https://github.com/typescript-eslint/typescript-eslint/releases) - [Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/parser/CHANGELOG.md) - [Commits](https://github.com/typescript-eslint/typescript-eslint/commits/v8.5.0/packages/parser) Updates `eslint-plugin-react` from 7.35.2 to 7.36.0 - [Release notes](https://github.com/jsx-eslint/eslint-plugin-react/releases) - [Changelog](https://github.com/jsx-eslint/eslint-plugin-react/blob/master/CHANGELOG.md) - [Commits](https://github.com/jsx-eslint/eslint-plugin-react/compare/v7.35.2...v7.36.0) Updates `husky` from 9.1.5 to 9.1.6 - [Release notes](https://github.com/typicode/husky/releases) - [Commits](https://github.com/typicode/husky/compare/v9.1.5...v9.1.6) Updates `typescript` from 5.5.4 to 5.6.2 - [Release notes](https://github.com/microsoft/TypeScript/releases) - [Changelog](https://github.com/microsoft/TypeScript/blob/main/azure-pipelines.release.yml) - [Commits](https://github.com/microsoft/TypeScript/compare/v5.5.4...v5.6.2) Updates `vite` from 5.4.3 to 5.4.4 - [Release notes](https://github.com/vitejs/vite/releases) - [Changelog](https://github.com/vitejs/vite/blob/v5.4.4/packages/vite/CHANGELOG.md) - [Commits](https://github.com/vitejs/vite/commits/v5.4.4/packages/vite) --- updated-dependencies: - dependency-name: "@typescript-eslint/eslint-plugin" dependency-type: direct:development update-type: version-update:semver-minor dependency-group: development-dependencies - dependency-name: "@typescript-eslint/parser" dependency-type: direct:development update-type: version-update:semver-minor dependency-group: development-dependencies - dependency-name: eslint-plugin-react dependency-type: direct:development update-type: version-update:semver-minor dependency-group: development-dependencies - dependency-name: husky dependency-type: direct:development update-type: version-update:semver-patch dependency-group: development-dependencies - dependency-name: typescript dependency-type: direct:development update-type: version-update:semver-minor dependency-group: development-dependencies - dependency-name: vite dependency-type: direct:development update-type: version-update:semver-patch dependency-group: development-dependencies ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- ui/package.json | 12 ++-- ui/yarn.lock | 144 ++++++++++++++++++++++++------------------------ 2 files changed, 78 insertions(+), 78 deletions(-) diff --git a/ui/package.json b/ui/package.json index 05250006..c0cdf6ff 100644 --- a/ui/package.json +++ b/ui/package.json @@ -78,15 +78,15 @@ "@types/react-router-dom": "^5.3.3", "@types/semver": "^7.5.8", "@types/uuid": "^10.0.0", - "@typescript-eslint/eslint-plugin": "^8.4.0", - "@typescript-eslint/parser": "^8.4.0", + "@typescript-eslint/eslint-plugin": "^8.5.0", + "@typescript-eslint/parser": "^8.5.0", "@vite-pwa/assets-generator": "^0.2.6", "@vitejs/plugin-react-swc": "^3.7.0", "@vitest/coverage-v8": "^2.0.5", "eslint": "^9.10.0", - "eslint-plugin-react": "^7.35.2", + "eslint-plugin-react": "^7.36.0", "globals": "^15.9.0", - "husky": "^9.1.5", + "husky": "^9.1.6", "jest": "^29.7.0", "jsdom": "^25.0.0", "lint-staged": "^15.2.10", @@ -96,8 +96,8 @@ "semver": "^7.6.3", "source-map-explorer": "^2.5.3", "ts-jest": "^29.2.5", - "typescript": "^5.5.4", - "vite": "^5.4.3", + "typescript": "^5.6.2", + "vite": "^5.4.4", "vite-plugin-checker": "^0.8.0", "vite-plugin-eslint": "^1.8.1", "vite-plugin-pwa": "^0.20.5", diff --git a/ui/yarn.lock b/ui/yarn.lock index 76559f4e..2bf5c88b 100644 --- a/ui/yarn.lock +++ b/ui/yarn.lock @@ -4314,15 +4314,15 @@ __metadata: languageName: node linkType: hard -"@typescript-eslint/eslint-plugin@npm:^8.4.0": - version: 8.4.0 - resolution: "@typescript-eslint/eslint-plugin@npm:8.4.0" +"@typescript-eslint/eslint-plugin@npm:^8.5.0": + version: 8.5.0 + resolution: "@typescript-eslint/eslint-plugin@npm:8.5.0" dependencies: "@eslint-community/regexpp": "npm:^4.10.0" - "@typescript-eslint/scope-manager": "npm:8.4.0" - "@typescript-eslint/type-utils": "npm:8.4.0" - "@typescript-eslint/utils": "npm:8.4.0" - "@typescript-eslint/visitor-keys": "npm:8.4.0" + "@typescript-eslint/scope-manager": "npm:8.5.0" + "@typescript-eslint/type-utils": "npm:8.5.0" + "@typescript-eslint/utils": "npm:8.5.0" + "@typescript-eslint/visitor-keys": "npm:8.5.0" graphemer: "npm:^1.4.0" ignore: "npm:^5.3.1" natural-compare: "npm:^1.4.0" @@ -4333,66 +4333,66 @@ __metadata: peerDependenciesMeta: typescript: optional: true - checksum: 10/3f1373be2ecd9248e000646b43e9fc94e19da3bbc829526e6c0422d58c7af7942a279d96bded8a505ad5bd666564749236fd5515a95fc48f1f4e3329d786e0da + checksum: 10/344f5aca7e167544af718b81269b87b8c2a041210882cac76e1608dbec7c2a646de74387920ca9a5704fcd4c24ada052c2bc5adbeee39e950e7bce83647dae7d languageName: node linkType: hard -"@typescript-eslint/parser@npm:^8.4.0": - version: 8.4.0 - resolution: "@typescript-eslint/parser@npm:8.4.0" +"@typescript-eslint/parser@npm:^8.5.0": + version: 8.5.0 + resolution: "@typescript-eslint/parser@npm:8.5.0" dependencies: - "@typescript-eslint/scope-manager": "npm:8.4.0" - "@typescript-eslint/types": "npm:8.4.0" - "@typescript-eslint/typescript-estree": "npm:8.4.0" - "@typescript-eslint/visitor-keys": "npm:8.4.0" + "@typescript-eslint/scope-manager": "npm:8.5.0" + "@typescript-eslint/types": "npm:8.5.0" + "@typescript-eslint/typescript-estree": "npm:8.5.0" + "@typescript-eslint/visitor-keys": "npm:8.5.0" debug: "npm:^4.3.4" peerDependencies: eslint: ^8.57.0 || ^9.0.0 peerDependenciesMeta: typescript: optional: true - checksum: 10/852ad7037e14c83a4637b95a2211e7f49900ed31cb0a4f7e6df4b444feab64caeb8918eec157f57fc32c1a92c721cbbbf22d5b24fb0b469b5fe880191f98237d + checksum: 10/f0d5a11a8d4b42750c3e7a3a8f6874740c7bb006b6bf3037a2b1422ba8f4eb2ff2d46e673a9f54007b95d3e4302b7966677b2481da58b6307d0ceb962478ee95 languageName: node linkType: hard -"@typescript-eslint/scope-manager@npm:8.4.0": - version: 8.4.0 - resolution: "@typescript-eslint/scope-manager@npm:8.4.0" +"@typescript-eslint/scope-manager@npm:8.5.0": + version: 8.5.0 + resolution: "@typescript-eslint/scope-manager@npm:8.5.0" dependencies: - "@typescript-eslint/types": "npm:8.4.0" - "@typescript-eslint/visitor-keys": "npm:8.4.0" - checksum: 10/e43a96ef057ccef2ad7dc4a04713d362f5cd17a684e867548c9744ad79960c41e56a706d9ff86b851bec989771e535b1c72fd922e1dee3fe6fdd9bf167c5f0f4 + "@typescript-eslint/types": "npm:8.5.0" + "@typescript-eslint/visitor-keys": "npm:8.5.0" + checksum: 10/18f9958cdf196a0beede93535e564313d27dfd392a335952c785e46c32def55fdeae8c3c7d46f07c81c105ed2b48e9cd36a1fe5101fccd80e83c04cf1693dbed languageName: node linkType: hard -"@typescript-eslint/type-utils@npm:8.4.0": - version: 8.4.0 - resolution: "@typescript-eslint/type-utils@npm:8.4.0" +"@typescript-eslint/type-utils@npm:8.5.0": + version: 8.5.0 + resolution: "@typescript-eslint/type-utils@npm:8.5.0" dependencies: - "@typescript-eslint/typescript-estree": "npm:8.4.0" - "@typescript-eslint/utils": "npm:8.4.0" + "@typescript-eslint/typescript-estree": "npm:8.5.0" + "@typescript-eslint/utils": "npm:8.5.0" debug: "npm:^4.3.4" ts-api-utils: "npm:^1.3.0" peerDependenciesMeta: typescript: optional: true - checksum: 10/f5d3e07c2985f97f72949d69962d0a3bb52814714e33d991ae5f815ae008bdfac25cd62f26feef4b0f835fe967609d60f34e0c30682ba47200867d1342343d80 + checksum: 10/ed487c8b530a0a6ea292385c82b2d9d9d94b99768ddd93882899be3319ea6af09c1b9f1a07e0381beb6149bbbb1f66ae95a635279fad8946345fd2298bce3549 languageName: node linkType: hard -"@typescript-eslint/types@npm:8.4.0": - version: 8.4.0 - resolution: "@typescript-eslint/types@npm:8.4.0" - checksum: 10/962eb0b45ca7634264698086dadb917d96684bd8a88926026e0c314984e68d14e1f30e0291f196408935a507aa9e9976ec4d27fc6aa632d34295059b4e436bae +"@typescript-eslint/types@npm:8.5.0": + version: 8.5.0 + resolution: "@typescript-eslint/types@npm:8.5.0" + checksum: 10/5cc55411fbf3f46d1571fe6ad1ef88f937093629a58e2b7bafb389646dde8a4e29d938fd57309eb30ee3f20978b4bdc5f823b31d718e053ba4c54c637a6df4e4 languageName: node linkType: hard -"@typescript-eslint/typescript-estree@npm:8.4.0": - version: 8.4.0 - resolution: "@typescript-eslint/typescript-estree@npm:8.4.0" +"@typescript-eslint/typescript-estree@npm:8.5.0": + version: 8.5.0 + resolution: "@typescript-eslint/typescript-estree@npm:8.5.0" dependencies: - "@typescript-eslint/types": "npm:8.4.0" - "@typescript-eslint/visitor-keys": "npm:8.4.0" + "@typescript-eslint/types": "npm:8.5.0" + "@typescript-eslint/visitor-keys": "npm:8.5.0" debug: "npm:^4.3.4" fast-glob: "npm:^3.3.2" is-glob: "npm:^4.0.3" @@ -4402,31 +4402,31 @@ __metadata: peerDependenciesMeta: typescript: optional: true - checksum: 10/ec3396795b877c8ea0c3f0bdfb67c60b5e195f94569c0581ae7b9f3acbed047714722ff908f0ea1cbf19c16aaaa57826c2069c6383fcb9a3ad29bc26898a7125 + checksum: 10/69f21c49a158c394106e0d627f57451430cf32449a6c01118ee4afbb9f92f06be3aa87f3478ffc84d1062c3b21dca983e458f70f2cbe4fee1ad206f84ab97eb8 languageName: node linkType: hard -"@typescript-eslint/utils@npm:8.4.0": - version: 8.4.0 - resolution: "@typescript-eslint/utils@npm:8.4.0" +"@typescript-eslint/utils@npm:8.5.0": + version: 8.5.0 + resolution: "@typescript-eslint/utils@npm:8.5.0" dependencies: "@eslint-community/eslint-utils": "npm:^4.4.0" - "@typescript-eslint/scope-manager": "npm:8.4.0" - "@typescript-eslint/types": "npm:8.4.0" - "@typescript-eslint/typescript-estree": "npm:8.4.0" + "@typescript-eslint/scope-manager": "npm:8.5.0" + "@typescript-eslint/types": "npm:8.5.0" + "@typescript-eslint/typescript-estree": "npm:8.5.0" peerDependencies: eslint: ^8.57.0 || ^9.0.0 - checksum: 10/46d6dda136e5513c703a905264fb96b9cc560ec1501a991fb9ef7386baf878081494bc9131f25d772b34ccfecbfa8c2fce0fb5ad6deb447b0f24758e131afd47 + checksum: 10/f4727ebdee15082debe61a815eaad588f006a4f93d7fe94d065da563b4d3f91b7b7f795b5c77aa4cdebdf0936f83aa878089f22b8dbdbb738c557e8974129f54 languageName: node linkType: hard -"@typescript-eslint/visitor-keys@npm:8.4.0": - version: 8.4.0 - resolution: "@typescript-eslint/visitor-keys@npm:8.4.0" +"@typescript-eslint/visitor-keys@npm:8.5.0": + version: 8.5.0 + resolution: "@typescript-eslint/visitor-keys@npm:8.5.0" dependencies: - "@typescript-eslint/types": "npm:8.4.0" + "@typescript-eslint/types": "npm:8.5.0" eslint-visitor-keys: "npm:^3.4.3" - checksum: 10/3ac1d15d1beca887b333b9f1da9d6b819da5f965dbd7eb1c76342574adeaffe584b27c7e00a0e7fb69db7f4c307eeb8dd4410bdf177d6b14395cdd52e3e205e7 + checksum: 10/32cc9d8120531bb1b5da79d697ab80bbbf18e5630d74c8b6c0f835d7914be7833ed9e5b95fa05f6f7b724d928cd4208b4028a2cc9d767401434d88214614887b languageName: node linkType: hard @@ -6641,9 +6641,9 @@ __metadata: languageName: node linkType: hard -"eslint-plugin-react@npm:^7.35.2": - version: 7.35.2 - resolution: "eslint-plugin-react@npm:7.35.2" +"eslint-plugin-react@npm:^7.36.0": + version: 7.36.0 + resolution: "eslint-plugin-react@npm:7.36.0" dependencies: array-includes: "npm:^3.1.8" array.prototype.findlast: "npm:^1.2.5" @@ -6665,7 +6665,7 @@ __metadata: string.prototype.repeat: "npm:^1.0.0" peerDependencies: eslint: ^3 || ^4 || ^5 || ^6 || ^7 || ^8 || ^9.7 - checksum: 10/f4631612444f9066c8007e9433c0972754b75d33be410cd18dcf003e4209600240dec3e50a9962aae35e9a08920a1eb60e51d3cc140e5f6c95582e727ebec74e + checksum: 10/f28098e02f611fbdde36c9ef3b256a5c51c7ec0cc21ddcf9ac45f3b8f53728fc2dcb91dbd3de1ae234c6941d336e5045d4b32c09d50be29e4e2663b13f8bd2f1 languageName: node linkType: hard @@ -7819,12 +7819,12 @@ __metadata: languageName: node linkType: hard -"husky@npm:^9.1.5": - version: 9.1.5 - resolution: "husky@npm:9.1.5" +"husky@npm:^9.1.6": + version: 9.1.6 + resolution: "husky@npm:9.1.6" bin: husky: bin.js - checksum: 10/21a3036dd03141c41347693bde301c62502b4e3bffb87310e7e42b3011c2e55691af2e4a9a5f39bd94e6b1d69e3cfc26ec636d8e164e19737b26f11c556caf10 + checksum: 10/421ccd8850378231aaefd70dbe9e4f1549b84ffe3a6897f93a202242bbc04e48bd498169aef43849411105d9fcf7c192b757d42661e28d06b934a609a4eb8771 languageName: node linkType: hard @@ -12329,8 +12329,8 @@ __metadata: "@types/react-router-dom": "npm:^5.3.3" "@types/semver": "npm:^7.5.8" "@types/uuid": "npm:^10.0.0" - "@typescript-eslint/eslint-plugin": "npm:^8.4.0" - "@typescript-eslint/parser": "npm:^8.4.0" + "@typescript-eslint/eslint-plugin": "npm:^8.5.0" + "@typescript-eslint/parser": "npm:^8.5.0" "@vite-pwa/assets-generator": "npm:^0.2.6" "@vitejs/plugin-react-swc": "npm:^3.7.0" "@vitest/coverage-v8": "npm:^2.0.5" @@ -12339,11 +12339,11 @@ __metadata: classnames: "npm:^2.5.1" dayjs: "npm:^1.11.13" eslint: "npm:^9.10.0" - eslint-plugin-react: "npm:^7.35.2" + eslint-plugin-react: "npm:^7.36.0" globals: "npm:^15.9.0" graphql: "npm:^16.9.0" hat: "npm:^0.0.3" - husky: "npm:^9.1.5" + husky: "npm:^9.1.6" i18next: "npm:^23.15.1" i18next-browser-languagedetector: "npm:^8.0.0" jest: "npm:^29.7.0" @@ -12366,10 +12366,10 @@ __metadata: semver: "npm:^7.6.3" source-map-explorer: "npm:^2.5.3" ts-jest: "npm:^29.2.5" - typescript: "npm:^5.5.4" + typescript: "npm:^5.6.2" usehooks-ts: "npm:^3.1.0" uuid: "npm:^10.0.0" - vite: "npm:^5.4.3" + vite: "npm:^5.4.4" vite-plugin-checker: "npm:^0.8.0" vite-plugin-eslint: "npm:^1.8.1" vite-plugin-pwa: "npm:^0.20.5" @@ -13457,23 +13457,23 @@ __metadata: languageName: node linkType: hard -"typescript@npm:^5.5.4": - version: 5.5.4 - resolution: "typescript@npm:5.5.4" +"typescript@npm:^5.6.2": + version: 5.6.2 + resolution: "typescript@npm:5.6.2" bin: tsc: bin/tsc tsserver: bin/tsserver - checksum: 10/1689ccafef894825481fc3d856b4834ba3cc185a9c2878f3c76a9a1ef81af04194849840f3c69e7961e2312771471bb3b460ca92561e1d87599b26c37d0ffb6f + checksum: 10/f95365d4898f357823e93d334ecda9fcade54f009b397c7d05b7621cd9e865981033cf89ccde0f3e3a7b73b1fdbae18e92bc77db237b43e912f053fef0f9a53b languageName: node linkType: hard -"typescript@patch:typescript@npm%3A^5.5.4#optional!builtin": - version: 5.5.4 - resolution: "typescript@patch:typescript@npm%3A5.5.4#optional!builtin::version=5.5.4&hash=379a07" +"typescript@patch:typescript@npm%3A^5.6.2#optional!builtin": + version: 5.6.2 + resolution: "typescript@patch:typescript@npm%3A5.6.2#optional!builtin::version=5.6.2&hash=74658d" bin: tsc: bin/tsc tsserver: bin/tsserver - checksum: 10/746fdd0865c5ce4f15e494c57ede03a9e12ede59cfdb40da3a281807853fe63b00ef1c912d7222143499aa82f18b8b472baa1830df8804746d09b55f6cf5b1cc + checksum: 10/060a7349adf698477b411be4ace470aee6c2c1bd99917fdf5d33697c17ec55c64fe724eb10399387530b50e9913b41528dd8bfcca0a5fc8f8bac63fbb4580a2e languageName: node linkType: hard From 5aece5aa87ad23144ddb0646ae1699b150c36a5c Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 13 Sep 2024 10:15:16 -0400 Subject: [PATCH 21/35] chore(deps-dev): bump the development-dependencies group (#431) Bumps the development-dependencies group in /ui with 5 updates: | Package | From | To | | --- | --- | --- | | [@types/jest](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/jest) | `29.5.12` | `29.5.13` | | [@vitest/coverage-v8](https://github.com/vitest-dev/vitest/tree/HEAD/packages/coverage-v8) | `2.0.5` | `2.1.0` | | [eslint-plugin-react](https://github.com/jsx-eslint/eslint-plugin-react) | `7.36.0` | `7.36.1` | | [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite) | `5.4.3` | `5.4.4` | | [vitest](https://github.com/vitest-dev/vitest/tree/HEAD/packages/vitest) | `2.0.5` | `2.1.0` | Updates `@types/jest` from 29.5.12 to 29.5.13 - [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases) - [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/jest) Updates `@vitest/coverage-v8` from 2.0.5 to 2.1.0 - [Release notes](https://github.com/vitest-dev/vitest/releases) - [Commits](https://github.com/vitest-dev/vitest/commits/v2.1.0/packages/coverage-v8) Updates `eslint-plugin-react` from 7.36.0 to 7.36.1 - [Release notes](https://github.com/jsx-eslint/eslint-plugin-react/releases) - [Changelog](https://github.com/jsx-eslint/eslint-plugin-react/blob/master/CHANGELOG.md) - [Commits](https://github.com/jsx-eslint/eslint-plugin-react/compare/v7.36.0...v7.36.1) Updates `vite` from 5.4.3 to 5.4.4 - [Release notes](https://github.com/vitejs/vite/releases) - [Changelog](https://github.com/vitejs/vite/blob/v5.4.4/packages/vite/CHANGELOG.md) - [Commits](https://github.com/vitejs/vite/commits/v5.4.4/packages/vite) Updates `vitest` from 2.0.5 to 2.1.0 - [Release notes](https://github.com/vitest-dev/vitest/releases) - [Commits](https://github.com/vitest-dev/vitest/commits/v2.1.0/packages/vitest) --- updated-dependencies: - dependency-name: "@types/jest" dependency-type: direct:development update-type: version-update:semver-patch dependency-group: development-dependencies - dependency-name: "@vitest/coverage-v8" dependency-type: direct:development update-type: version-update:semver-minor dependency-group: development-dependencies - dependency-name: eslint-plugin-react dependency-type: direct:development update-type: version-update:semver-patch dependency-group: development-dependencies - dependency-name: vite dependency-type: direct:development update-type: version-update:semver-patch dependency-group: development-dependencies - dependency-name: vitest dependency-type: direct:development update-type: version-update:semver-minor dependency-group: development-dependencies ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- ui/package.json | 8 +- ui/yarn.lock | 193 ++++++++++++++++++++++++++++-------------------- 2 files changed, 115 insertions(+), 86 deletions(-) diff --git a/ui/package.json b/ui/package.json index c0cdf6ff..e85a2a83 100644 --- a/ui/package.json +++ b/ui/package.json @@ -68,7 +68,7 @@ "@testing-library/react": "^16.0.1", "@testing-library/user-event": "^14.5.2", "@types/hat": "^0.0.4", - "@types/jest": "^29.5.12", + "@types/jest": "^29.5.13", "@types/lodash": "^4.17.7", "@types/mapbox__mapbox-gl-draw": "~1.4.6", "@types/node": "^20.16.5", @@ -82,9 +82,9 @@ "@typescript-eslint/parser": "^8.5.0", "@vite-pwa/assets-generator": "^0.2.6", "@vitejs/plugin-react-swc": "^3.7.0", - "@vitest/coverage-v8": "^2.0.5", + "@vitest/coverage-v8": "^2.1.0", "eslint": "^9.10.0", - "eslint-plugin-react": "^7.36.0", + "eslint-plugin-react": "^7.36.1", "globals": "^15.9.0", "husky": "^9.1.6", "jest": "^29.7.0", @@ -103,7 +103,7 @@ "vite-plugin-pwa": "^0.20.5", "vite-plugin-svgr": "^4.2.0", "vite-tsconfig-paths": "^5.0.1", - "vitest": "^2.0.5" + "vitest": "^2.1.0" }, "resolutions": { "vite": "^5.4.2", diff --git a/ui/yarn.lock b/ui/yarn.lock index 2bf5c88b..9e6baf95 100644 --- a/ui/yarn.lock +++ b/ui/yarn.lock @@ -4034,13 +4034,13 @@ __metadata: languageName: node linkType: hard -"@types/jest@npm:^29.5.12": - version: 29.5.12 - resolution: "@types/jest@npm:29.5.12" +"@types/jest@npm:^29.5.13": + version: 29.5.13 + resolution: "@types/jest@npm:29.5.13" dependencies: expect: "npm:^29.0.0" pretty-format: "npm:^29.0.0" - checksum: 10/312e8dcf92cdd5a5847d6426f0940829bca6fe6b5a917248f3d7f7ef5d85c9ce78ef05e47d2bbabc40d41a930e0e36db2d443d2610a9e3db9062da2d5c904211 + checksum: 10/7d6e3e4ef4b1cab0f61270d55764709512fdfbcb1bd47c0ef44117d48490529c1f264dacf3440b9188363e99e290b80b79c529eadc3af2184116a90f6856b192 languageName: node linkType: hard @@ -4464,88 +4464,111 @@ __metadata: languageName: node linkType: hard -"@vitest/coverage-v8@npm:^2.0.5": - version: 2.0.5 - resolution: "@vitest/coverage-v8@npm:2.0.5" +"@vitest/coverage-v8@npm:^2.1.0": + version: 2.1.0 + resolution: "@vitest/coverage-v8@npm:2.1.0" dependencies: "@ampproject/remapping": "npm:^2.3.0" "@bcoe/v8-coverage": "npm:^0.2.3" - debug: "npm:^4.3.5" + debug: "npm:^4.3.6" istanbul-lib-coverage: "npm:^3.2.2" istanbul-lib-report: "npm:^3.0.1" istanbul-lib-source-maps: "npm:^5.0.6" istanbul-reports: "npm:^3.1.7" - magic-string: "npm:^0.30.10" + magic-string: "npm:^0.30.11" magicast: "npm:^0.3.4" std-env: "npm:^3.7.0" test-exclude: "npm:^7.0.1" tinyrainbow: "npm:^1.2.0" peerDependencies: - vitest: 2.0.5 - checksum: 10/bb774d1a52b85adf94dcf62dc9684c59bd6aba6f8d43ce4d4afa06e3ca85651ec217f74842c0c4a81ea0158f029e484055207869e5d741cfbc3119257399fb83 + "@vitest/browser": 2.1.0 + vitest: 2.1.0 + peerDependenciesMeta: + "@vitest/browser": + optional: true + checksum: 10/146934ecae4c9e255074ce0381da215e37686243ab4187e8cc0cf0abe41a27f27dbd66983e7c5bdafc15583bebaed63b940555e9ae80cb2c6f1d1f3b8c13116f languageName: node linkType: hard -"@vitest/expect@npm:2.0.5": - version: 2.0.5 - resolution: "@vitest/expect@npm:2.0.5" +"@vitest/expect@npm:2.1.0": + version: 2.1.0 + resolution: "@vitest/expect@npm:2.1.0" dependencies: - "@vitest/spy": "npm:2.0.5" - "@vitest/utils": "npm:2.0.5" + "@vitest/spy": "npm:2.1.0" + "@vitest/utils": "npm:2.1.0" chai: "npm:^5.1.1" tinyrainbow: "npm:^1.2.0" - checksum: 10/ca9a218f50254b2259fd16166b2d8c9ccc8ee2cc068905e6b3d6281da10967b1590cc7d34b5fa9d429297f97e740450233745583b4cc12272ff11705faf70a37 + checksum: 10/e7343ef92184cfe1886eac2055576cb3517c0b888a6f5eec645eceefec0836dd4e3a584d93340a344c32ebd2bafcc66093718f9352b5163b0b386c818fc7422e languageName: node linkType: hard -"@vitest/pretty-format@npm:2.0.5, @vitest/pretty-format@npm:^2.0.5": - version: 2.0.5 - resolution: "@vitest/pretty-format@npm:2.0.5" +"@vitest/mocker@npm:2.1.0": + version: 2.1.0 + resolution: "@vitest/mocker@npm:2.1.0" + dependencies: + "@vitest/spy": "npm:^2.1.0-beta.1" + estree-walker: "npm:^3.0.3" + magic-string: "npm:^0.30.11" + peerDependencies: + "@vitest/spy": 2.1.0 + msw: ^2.3.5 + vite: ^5.0.0 + peerDependenciesMeta: + msw: + optional: true + vite: + optional: true + checksum: 10/a4eb2e859b358746ccdbf4e3db14f829c26847173ad631579703acebc6fde4a60f1ad87e9496c0c36c50f8cc6a04942daa2f2c6b6607df03f096f69aac38f945 + languageName: node + linkType: hard + +"@vitest/pretty-format@npm:2.1.0, @vitest/pretty-format@npm:^2.1.0": + version: 2.1.0 + resolution: "@vitest/pretty-format@npm:2.1.0" dependencies: tinyrainbow: "npm:^1.2.0" - checksum: 10/70bf452dd0b8525e658795125b3f11110bd6baadfaa38c5bb91ca763bded35ec6dc80e27964ad4e91b91be6544d35e18ea7748c1997693988f975a7283c3e9a0 + checksum: 10/e4c920535c72d534971a1133bb3d314b2625c04068069eb7152685118e27bb4a67c400b7701dc26893134e0b3bab8689e9575d993c5af9feeba5355bd2bc2080 languageName: node linkType: hard -"@vitest/runner@npm:2.0.5": - version: 2.0.5 - resolution: "@vitest/runner@npm:2.0.5" +"@vitest/runner@npm:2.1.0": + version: 2.1.0 + resolution: "@vitest/runner@npm:2.1.0" dependencies: - "@vitest/utils": "npm:2.0.5" + "@vitest/utils": "npm:2.1.0" pathe: "npm:^1.1.2" - checksum: 10/464449abb84b3c779e1c6d1bedfc9e7469240ba3ccc4b4fa884386d1752d6572b68b9a87440159d433f17f61aca4012ee3bb78a3718d0e2bc64d810e9fc574a5 + checksum: 10/dddcaa657429863df11113a612a855c9ade67792df223f7fbda11c71076804447e535362a7de6307c660af3c682bdab698f6818c8e662b8d4db942beb7616df0 languageName: node linkType: hard -"@vitest/snapshot@npm:2.0.5": - version: 2.0.5 - resolution: "@vitest/snapshot@npm:2.0.5" +"@vitest/snapshot@npm:2.1.0": + version: 2.1.0 + resolution: "@vitest/snapshot@npm:2.1.0" dependencies: - "@vitest/pretty-format": "npm:2.0.5" - magic-string: "npm:^0.30.10" + "@vitest/pretty-format": "npm:2.1.0" + magic-string: "npm:^0.30.11" pathe: "npm:^1.1.2" - checksum: 10/fb46bc65851d4c8dcbbf86279c4146d5e7c17ad0d1be97132dedd98565d37f70ac8b0bf51ead0c6707786ffb15652535398c14d4304fa2146b0393d3db26fdff + checksum: 10/c6681789d016f6fde776d5bd65207478ea1b1d140552e6c913831d666c739d656beb53a75f4ca87efdab793fabcb0f41443b983e06ba431e6380c001d5059961 languageName: node linkType: hard -"@vitest/spy@npm:2.0.5": - version: 2.0.5 - resolution: "@vitest/spy@npm:2.0.5" +"@vitest/spy@npm:2.1.0, @vitest/spy@npm:^2.1.0-beta.1": + version: 2.1.0 + resolution: "@vitest/spy@npm:2.1.0" dependencies: tinyspy: "npm:^3.0.0" - checksum: 10/ed19f4c3bb4d3853241e8070979615138e24403ce4c137fa48c903b3af2c8b3ada2cc26aca9c1aa323bb314a457a8130a29acbb18dafd4e42737deefb2abf1ca + checksum: 10/5b1037a13c73828503b83c1dde0e48a2b148b1a5dea9ce71df56d48b859c17e1bc2fea47b8112132c4638aa7de7b09285515359fa1c3c1bb07e44fd929adbea9 languageName: node linkType: hard -"@vitest/utils@npm:2.0.5": - version: 2.0.5 - resolution: "@vitest/utils@npm:2.0.5" +"@vitest/utils@npm:2.1.0": + version: 2.1.0 + resolution: "@vitest/utils@npm:2.1.0" dependencies: - "@vitest/pretty-format": "npm:2.0.5" - estree-walker: "npm:^3.0.3" + "@vitest/pretty-format": "npm:2.1.0" loupe: "npm:^3.1.1" tinyrainbow: "npm:^1.2.0" - checksum: 10/d631d56d29c33bc8de631166b2b6691c470187a345469dfef7048befe6027e1c6ff9552f2ee11c8a247522c325c4a64bfcc73f8f0f0c525da39cb9f190f119f8 + checksum: 10/226b3b248eb4b080457b45cc33656a11e48b3d518852885d2c61711470a5c6055d92a114df08b1daeb36009f955cc60352ffd105cc0f8c7f8f6e0ea93adedb1d languageName: node linkType: hard @@ -5893,7 +5916,7 @@ __metadata: languageName: node linkType: hard -"debug@npm:^4.3.5, debug@npm:^4.3.6, debug@npm:~4.3.6": +"debug@npm:^4.3.6, debug@npm:~4.3.6": version: 4.3.6 resolution: "debug@npm:4.3.6" dependencies: @@ -6641,9 +6664,9 @@ __metadata: languageName: node linkType: hard -"eslint-plugin-react@npm:^7.36.0": - version: 7.36.0 - resolution: "eslint-plugin-react@npm:7.36.0" +"eslint-plugin-react@npm:^7.36.1": + version: 7.36.1 + resolution: "eslint-plugin-react@npm:7.36.1" dependencies: array-includes: "npm:^3.1.8" array.prototype.findlast: "npm:^1.2.5" @@ -6665,7 +6688,7 @@ __metadata: string.prototype.repeat: "npm:^1.0.0" peerDependencies: eslint: ^3 || ^4 || ^5 || ^6 || ^7 || ^8 || ^9.7 - checksum: 10/f28098e02f611fbdde36c9ef3b256a5c51c7ec0cc21ddcf9ac45f3b8f53728fc2dcb91dbd3de1ae234c6941d336e5045d4b32c09d50be29e4e2663b13f8bd2f1 + checksum: 10/bca154b446c35af4859a92fd043dcfe5c74851eb27652234020548570bb81d37cc9f1eb1795b3c9e7514de6c9b48f42fcc00153062eca879dab45ab84e49d0b1 languageName: node linkType: hard @@ -6856,7 +6879,7 @@ __metadata: languageName: node linkType: hard -"execa@npm:^8.0.1, execa@npm:~8.0.1": +"execa@npm:~8.0.1": version: 8.0.1 resolution: "execa@npm:8.0.1" dependencies: @@ -9659,7 +9682,7 @@ __metadata: languageName: node linkType: hard -"magic-string@npm:^0.30.10": +"magic-string@npm:^0.30.11": version: 0.30.11 resolution: "magic-string@npm:0.30.11" dependencies: @@ -12319,7 +12342,7 @@ __metadata: "@turf/center": "npm:^7.1.0" "@turf/helpers": "npm:^7.1.0" "@types/hat": "npm:^0.0.4" - "@types/jest": "npm:^29.5.12" + "@types/jest": "npm:^29.5.13" "@types/lodash": "npm:^4.17.7" "@types/mapbox__mapbox-gl-draw": "npm:~1.4.6" "@types/node": "npm:^20.16.5" @@ -12333,13 +12356,13 @@ __metadata: "@typescript-eslint/parser": "npm:^8.5.0" "@vite-pwa/assets-generator": "npm:^0.2.6" "@vitejs/plugin-react-swc": "npm:^3.7.0" - "@vitest/coverage-v8": "npm:^2.0.5" + "@vitest/coverage-v8": "npm:^2.1.0" "@watergis/maplibre-gl-export": "npm:~3.8.3" bulma: "npm:^1.0.2" classnames: "npm:^2.5.1" dayjs: "npm:^1.11.13" eslint: "npm:^9.10.0" - eslint-plugin-react: "npm:^7.36.0" + eslint-plugin-react: "npm:^7.36.1" globals: "npm:^15.9.0" graphql: "npm:^16.9.0" hat: "npm:^0.0.3" @@ -12375,7 +12398,7 @@ __metadata: vite-plugin-pwa: "npm:^0.20.5" vite-plugin-svgr: "npm:^4.2.0" vite-tsconfig-paths: "npm:^5.0.1" - vitest: "npm:^2.0.5" + vitest: "npm:^2.1.0" web-vitals: "npm:^4.2.3" languageName: unknown linkType: soft @@ -13098,7 +13121,7 @@ __metadata: languageName: node linkType: hard -"tinybench@npm:^2.8.0": +"tinybench@npm:^2.9.0": version: 2.9.0 resolution: "tinybench@npm:2.9.0" checksum: 10/cfa1e1418e91289219501703c4693c70708c91ffb7f040fd318d24aef419fb5a43e0c0160df9471499191968b2451d8da7f8087b08c3133c251c40d24aced06c @@ -13112,6 +13135,13 @@ __metadata: languageName: node linkType: hard +"tinyexec@npm:^0.3.0": + version: 0.3.0 + resolution: "tinyexec@npm:0.3.0" + checksum: 10/317cc536d091ce7e50271287798d91ef53c4dc80088844d890752a2c7387d213004cba83e5e1d9129390ced617625e34f4a8f0ba5779e31c9b6939f9be0d3543 + languageName: node + linkType: hard + "tinyglobby@npm:^0.2.0": version: 0.2.2 resolution: "tinyglobby@npm:0.2.2" @@ -13810,18 +13840,17 @@ __metadata: languageName: node linkType: hard -"vite-node@npm:2.0.5": - version: 2.0.5 - resolution: "vite-node@npm:2.0.5" +"vite-node@npm:2.1.0": + version: 2.1.0 + resolution: "vite-node@npm:2.1.0" dependencies: cac: "npm:^6.7.14" - debug: "npm:^4.3.5" + debug: "npm:^4.3.6" pathe: "npm:^1.1.2" - tinyrainbow: "npm:^1.2.0" vite: "npm:^5.0.0" bin: vite-node: vite-node.mjs - checksum: 10/de259cdf4b9ff82f39ba92ffca99db8a80783efd2764d3553b62cd8c8864488d590114a75bc93a93bf5ba2a2086bea1bee4b0029da9e62c4c0d3bf6c1f364eed + checksum: 10/b3e3043bc02ed16cd51ca6b05692ab3976bef8526656e93a7b7d57247177daab538714850174a46a230da89ecaec1153357b0ed7a6a29e8c9acb4175fd12e15e languageName: node linkType: hard @@ -13942,8 +13971,8 @@ __metadata: linkType: hard "vite@npm:^5.4.2": - version: 5.4.3 - resolution: "vite@npm:5.4.3" + version: 5.4.4 + resolution: "vite@npm:5.4.4" dependencies: esbuild: "npm:^0.21.3" fsevents: "npm:~2.3.3" @@ -13980,38 +14009,38 @@ __metadata: optional: true bin: vite: bin/vite.js - checksum: 10/864bf64fe57bd26b1527ea6d8dac2f4f8b834791f836590043463c0ded6a150a9407ffac6a859abc34ec013ecfcd23f405c20aa76f4ad99deab1176d5f017574 + checksum: 10/8c2ded5cc99464362d35af6b78bd6466b9c36533a26311d360c327d0a1580d0016f4f3c4828ded5945be4adc2990f257eae85ff95b4522a6d040cdfef6e5f7b2 languageName: node linkType: hard -"vitest@npm:^2.0.5": - version: 2.0.5 - resolution: "vitest@npm:2.0.5" - dependencies: - "@ampproject/remapping": "npm:^2.3.0" - "@vitest/expect": "npm:2.0.5" - "@vitest/pretty-format": "npm:^2.0.5" - "@vitest/runner": "npm:2.0.5" - "@vitest/snapshot": "npm:2.0.5" - "@vitest/spy": "npm:2.0.5" - "@vitest/utils": "npm:2.0.5" +"vitest@npm:^2.1.0": + version: 2.1.0 + resolution: "vitest@npm:2.1.0" + dependencies: + "@vitest/expect": "npm:2.1.0" + "@vitest/mocker": "npm:2.1.0" + "@vitest/pretty-format": "npm:^2.1.0" + "@vitest/runner": "npm:2.1.0" + "@vitest/snapshot": "npm:2.1.0" + "@vitest/spy": "npm:2.1.0" + "@vitest/utils": "npm:2.1.0" chai: "npm:^5.1.1" - debug: "npm:^4.3.5" - execa: "npm:^8.0.1" - magic-string: "npm:^0.30.10" + debug: "npm:^4.3.6" + magic-string: "npm:^0.30.11" pathe: "npm:^1.1.2" std-env: "npm:^3.7.0" - tinybench: "npm:^2.8.0" + tinybench: "npm:^2.9.0" + tinyexec: "npm:^0.3.0" tinypool: "npm:^1.0.0" tinyrainbow: "npm:^1.2.0" vite: "npm:^5.0.0" - vite-node: "npm:2.0.5" + vite-node: "npm:2.1.0" why-is-node-running: "npm:^2.3.0" peerDependencies: "@edge-runtime/vm": "*" "@types/node": ^18.0.0 || >=20.0.0 - "@vitest/browser": 2.0.5 - "@vitest/ui": 2.0.5 + "@vitest/browser": 2.1.0 + "@vitest/ui": 2.1.0 happy-dom: "*" jsdom: "*" peerDependenciesMeta: @@ -14029,7 +14058,7 @@ __metadata: optional: true bin: vitest: vitest.mjs - checksum: 10/abb916e3496a3fa9e9d05ecd806332dc4000aa0e433f0cb1e99f9dd1fa5c06d2c66656874b9860a683cec0f32abe1519599babef02e5c0ca80e9afbcdbddfdbd + checksum: 10/3013112ae0069c56b89b5c361ec6865644ee911cb15f9574ca5666eb90afd5abd59215e1b82199b5f49c6dbabc94dc2b5c354687163ce6104b989f4c8eaa31e8 languageName: node linkType: hard From d9cfb2850d5039f176f569bafcf66cce2aa8e2ab Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 16 Sep 2024 17:37:03 -0400 Subject: [PATCH 22/35] chore(deps): bump react-i18next from 15.0.1 to 15.0.2 in /ui (#433) Bumps [react-i18next](https://github.com/i18next/react-i18next) from 15.0.1 to 15.0.2. - [Changelog](https://github.com/i18next/react-i18next/blob/master/CHANGELOG.md) - [Commits](https://github.com/i18next/react-i18next/compare/v15.0.1...v15.0.2) --- updated-dependencies: - dependency-name: react-i18next dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- ui/package.json | 2 +- ui/yarn.lock | 20 ++++++++++---------- 2 files changed, 11 insertions(+), 11 deletions(-) diff --git a/ui/package.json b/ui/package.json index e85a2a83..3eff6bb2 100644 --- a/ui/package.json +++ b/ui/package.json @@ -28,7 +28,7 @@ "react-autocomplete-hint": "^2.0.0", "react-color": "^2.19.3", "react-dom": "^18.3.1", - "react-i18next": "^15.0.1", + "react-i18next": "^15.0.2", "react-map-gl": "~7.1.7", "react-markdown": "^9.0.1", "react-router-dom": "^6.26.2", diff --git a/ui/yarn.lock b/ui/yarn.lock index 9e6baf95..90c25b9b 100644 --- a/ui/yarn.lock +++ b/ui/yarn.lock @@ -1829,12 +1829,12 @@ __metadata: languageName: node linkType: hard -"@babel/runtime@npm:^7.24.8": - version: 7.25.0 - resolution: "@babel/runtime@npm:7.25.0" +"@babel/runtime@npm:^7.25.0": + version: 7.25.6 + resolution: "@babel/runtime@npm:7.25.6" dependencies: regenerator-runtime: "npm:^0.14.0" - checksum: 10/6870e9e0e9125075b3aeba49a266f442b10820bfc693019eb6c1785c5a0edbe927e98b8238662cdcdba17842107c040386c3b69f39a0a3b217f9d00ffe685b27 + checksum: 10/0c4134734deb20e1005ffb9165bf342e1074576621b246d8e5e41cc7cb315a885b7d98950fbf5c63619a2990a56ae82f444d35fe8c4691a0b70c2fe5673667dc languageName: node linkType: hard @@ -11286,11 +11286,11 @@ __metadata: languageName: node linkType: hard -"react-i18next@npm:^15.0.1": - version: 15.0.1 - resolution: "react-i18next@npm:15.0.1" +"react-i18next@npm:^15.0.2": + version: 15.0.2 + resolution: "react-i18next@npm:15.0.2" dependencies: - "@babel/runtime": "npm:^7.24.8" + "@babel/runtime": "npm:^7.25.0" html-parse-stringify: "npm:^3.0.1" peerDependencies: i18next: ">= 23.2.3" @@ -11300,7 +11300,7 @@ __metadata: optional: true react-native: optional: true - checksum: 10/2998565bdcdc37ba8d2b3531e36441e00c8bb7fb7c1cac35364a81722cb4e5a363288906566c91f3ad835abc5b0b78e14d8511f57b154a8e5c057a8e6096cb07 + checksum: 10/25e6a611e2d1f250103120023ceb5dbf285e796cc0a2ab7685844438c3f698793d68bc454025aa0ca3379708bd468c9acfe6603c7b64f850358f2deb9b37a570 languageName: node linkType: hard @@ -12380,7 +12380,7 @@ __metadata: react-autocomplete-hint: "npm:^2.0.0" react-color: "npm:^2.19.3" react-dom: "npm:^18.3.1" - react-i18next: "npm:^15.0.1" + react-i18next: "npm:^15.0.2" react-map-gl: "npm:~7.1.7" react-markdown: "npm:^9.0.1" react-router-dom: "npm:^6.26.2" From 204d883b8d0307ed3f289b1e04f07e1eb1e6ab06 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 16 Sep 2024 21:45:05 +0000 Subject: [PATCH 23/35] chore(deps-dev): bump the development-dependencies group across 1 directory with 6 updates (#434) Bumps the development-dependencies group with 6 updates in the /ui directory: | Package | From | To | | --- | --- | --- | | [@types/react](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/react) | `18.3.5` | `18.3.6` | | [@typescript-eslint/eslint-plugin](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin) | `8.5.0` | `8.6.0` | | [@typescript-eslint/parser](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/parser) | `8.5.0` | `8.6.0` | | [@vitest/coverage-v8](https://github.com/vitest-dev/vitest/tree/HEAD/packages/coverage-v8) | `2.1.0` | `2.1.1` | | [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite) | `5.4.4` | `5.4.6` | | [vitest](https://github.com/vitest-dev/vitest/tree/HEAD/packages/vitest) | `2.1.0` | `2.1.1` | Updates `@types/react` from 18.3.5 to 18.3.6 - [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases) - [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/react) Updates `@typescript-eslint/eslint-plugin` from 8.5.0 to 8.6.0 - [Release notes](https://github.com/typescript-eslint/typescript-eslint/releases) - [Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/eslint-plugin/CHANGELOG.md) - [Commits](https://github.com/typescript-eslint/typescript-eslint/commits/v8.6.0/packages/eslint-plugin) Updates `@typescript-eslint/parser` from 8.5.0 to 8.6.0 - [Release notes](https://github.com/typescript-eslint/typescript-eslint/releases) - [Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/parser/CHANGELOG.md) - [Commits](https://github.com/typescript-eslint/typescript-eslint/commits/v8.6.0/packages/parser) Updates `@vitest/coverage-v8` from 2.1.0 to 2.1.1 - [Release notes](https://github.com/vitest-dev/vitest/releases) - [Commits](https://github.com/vitest-dev/vitest/commits/v2.1.1/packages/coverage-v8) Updates `vite` from 5.4.4 to 5.4.6 - [Release notes](https://github.com/vitejs/vite/releases) - [Changelog](https://github.com/vitejs/vite/blob/v5.4.6/packages/vite/CHANGELOG.md) - [Commits](https://github.com/vitejs/vite/commits/v5.4.6/packages/vite) Updates `vitest` from 2.1.0 to 2.1.1 - [Release notes](https://github.com/vitest-dev/vitest/releases) - [Commits](https://github.com/vitest-dev/vitest/commits/v2.1.1/packages/vitest) --- updated-dependencies: - dependency-name: "@types/react" dependency-type: direct:development update-type: version-update:semver-patch dependency-group: development-dependencies - dependency-name: "@typescript-eslint/eslint-plugin" dependency-type: direct:development update-type: version-update:semver-minor dependency-group: development-dependencies - dependency-name: "@typescript-eslint/parser" dependency-type: direct:development update-type: version-update:semver-minor dependency-group: development-dependencies - dependency-name: "@vitest/coverage-v8" dependency-type: direct:development update-type: version-update:semver-patch dependency-group: development-dependencies - dependency-name: vite dependency-type: direct:development update-type: version-update:semver-patch dependency-group: development-dependencies - dependency-name: vitest dependency-type: direct:development update-type: version-update:semver-patch dependency-group: development-dependencies ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- ui/package.json | 12 +-- ui/yarn.lock | 241 +++++++++++++++++++++++++----------------------- 2 files changed, 131 insertions(+), 122 deletions(-) diff --git a/ui/package.json b/ui/package.json index 3eff6bb2..60b79173 100644 --- a/ui/package.json +++ b/ui/package.json @@ -72,17 +72,17 @@ "@types/lodash": "^4.17.7", "@types/mapbox__mapbox-gl-draw": "~1.4.6", "@types/node": "^20.16.5", - "@types/react": "^18.3.5", + "@types/react": "^18.3.6", "@types/react-color": "^3.0.12", "@types/react-dom": "^18.3.0", "@types/react-router-dom": "^5.3.3", "@types/semver": "^7.5.8", "@types/uuid": "^10.0.0", - "@typescript-eslint/eslint-plugin": "^8.5.0", - "@typescript-eslint/parser": "^8.5.0", + "@typescript-eslint/eslint-plugin": "^8.6.0", + "@typescript-eslint/parser": "^8.6.0", "@vite-pwa/assets-generator": "^0.2.6", "@vitejs/plugin-react-swc": "^3.7.0", - "@vitest/coverage-v8": "^2.1.0", + "@vitest/coverage-v8": "^2.1.1", "eslint": "^9.10.0", "eslint-plugin-react": "^7.36.1", "globals": "^15.9.0", @@ -97,13 +97,13 @@ "source-map-explorer": "^2.5.3", "ts-jest": "^29.2.5", "typescript": "^5.6.2", - "vite": "^5.4.4", + "vite": "^5.4.6", "vite-plugin-checker": "^0.8.0", "vite-plugin-eslint": "^1.8.1", "vite-plugin-pwa": "^0.20.5", "vite-plugin-svgr": "^4.2.0", "vite-tsconfig-paths": "^5.0.1", - "vitest": "^2.1.0" + "vitest": "^2.1.1" }, "resolutions": { "vite": "^5.4.2", diff --git a/ui/yarn.lock b/ui/yarn.lock index 90c25b9b..22bf4db1 100644 --- a/ui/yarn.lock +++ b/ui/yarn.lock @@ -4221,13 +4221,13 @@ __metadata: languageName: node linkType: hard -"@types/react@npm:^18.3.5": - version: 18.3.5 - resolution: "@types/react@npm:18.3.5" +"@types/react@npm:^18.3.6": + version: 18.3.6 + resolution: "@types/react@npm:18.3.6" dependencies: "@types/prop-types": "npm:*" csstype: "npm:^3.0.2" - checksum: 10/ba0477c5ad4a762157c6262a199af6ccf9e24576877a26a7f516d5a9ba35374a6ac7f8686a10e5e8030513214f02bcb66e8363e43905afb7cd313deaf673de05 + checksum: 10/ba0d337244347ecbf921de174d9db9bb80b03d41ad3ae7aa65500b3339925852c97e501d7657b5cd629ffed9f7fe3820a63069847e7b8529e4d02934d0f182e9 languageName: node linkType: hard @@ -4314,15 +4314,15 @@ __metadata: languageName: node linkType: hard -"@typescript-eslint/eslint-plugin@npm:^8.5.0": - version: 8.5.0 - resolution: "@typescript-eslint/eslint-plugin@npm:8.5.0" +"@typescript-eslint/eslint-plugin@npm:^8.6.0": + version: 8.6.0 + resolution: "@typescript-eslint/eslint-plugin@npm:8.6.0" dependencies: "@eslint-community/regexpp": "npm:^4.10.0" - "@typescript-eslint/scope-manager": "npm:8.5.0" - "@typescript-eslint/type-utils": "npm:8.5.0" - "@typescript-eslint/utils": "npm:8.5.0" - "@typescript-eslint/visitor-keys": "npm:8.5.0" + "@typescript-eslint/scope-manager": "npm:8.6.0" + "@typescript-eslint/type-utils": "npm:8.6.0" + "@typescript-eslint/utils": "npm:8.6.0" + "@typescript-eslint/visitor-keys": "npm:8.6.0" graphemer: "npm:^1.4.0" ignore: "npm:^5.3.1" natural-compare: "npm:^1.4.0" @@ -4333,66 +4333,66 @@ __metadata: peerDependenciesMeta: typescript: optional: true - checksum: 10/344f5aca7e167544af718b81269b87b8c2a041210882cac76e1608dbec7c2a646de74387920ca9a5704fcd4c24ada052c2bc5adbeee39e950e7bce83647dae7d + checksum: 10/8f8c72b47e59973c6aaa955a01d2bce834dbd317b37f66355aba564aa30bed4ed7be26080d20ed2ae834bc628706da534da6a87a9720608835b27f165d59bd2b languageName: node linkType: hard -"@typescript-eslint/parser@npm:^8.5.0": - version: 8.5.0 - resolution: "@typescript-eslint/parser@npm:8.5.0" +"@typescript-eslint/parser@npm:^8.6.0": + version: 8.6.0 + resolution: "@typescript-eslint/parser@npm:8.6.0" dependencies: - "@typescript-eslint/scope-manager": "npm:8.5.0" - "@typescript-eslint/types": "npm:8.5.0" - "@typescript-eslint/typescript-estree": "npm:8.5.0" - "@typescript-eslint/visitor-keys": "npm:8.5.0" + "@typescript-eslint/scope-manager": "npm:8.6.0" + "@typescript-eslint/types": "npm:8.6.0" + "@typescript-eslint/typescript-estree": "npm:8.6.0" + "@typescript-eslint/visitor-keys": "npm:8.6.0" debug: "npm:^4.3.4" peerDependencies: eslint: ^8.57.0 || ^9.0.0 peerDependenciesMeta: typescript: optional: true - checksum: 10/f0d5a11a8d4b42750c3e7a3a8f6874740c7bb006b6bf3037a2b1422ba8f4eb2ff2d46e673a9f54007b95d3e4302b7966677b2481da58b6307d0ceb962478ee95 + checksum: 10/6e6bb37841665e5fac8c5505a5b755ef499d5caf8cb975043e8b0e459520d315a1c7e7ae60a1d6bc20e7f4193b6d7cb74bc95dede203851087a1713c8d0b8abc languageName: node linkType: hard -"@typescript-eslint/scope-manager@npm:8.5.0": - version: 8.5.0 - resolution: "@typescript-eslint/scope-manager@npm:8.5.0" +"@typescript-eslint/scope-manager@npm:8.6.0": + version: 8.6.0 + resolution: "@typescript-eslint/scope-manager@npm:8.6.0" dependencies: - "@typescript-eslint/types": "npm:8.5.0" - "@typescript-eslint/visitor-keys": "npm:8.5.0" - checksum: 10/18f9958cdf196a0beede93535e564313d27dfd392a335952c785e46c32def55fdeae8c3c7d46f07c81c105ed2b48e9cd36a1fe5101fccd80e83c04cf1693dbed + "@typescript-eslint/types": "npm:8.6.0" + "@typescript-eslint/visitor-keys": "npm:8.6.0" + checksum: 10/4a42020caf1b45f661a2722c60ca3aaec34eb93c39fae71fd7a7d9c7824d2930447ecab1059ed2908e31f9995df37c32e2cb599f0795f01012d6c63847b9e907 languageName: node linkType: hard -"@typescript-eslint/type-utils@npm:8.5.0": - version: 8.5.0 - resolution: "@typescript-eslint/type-utils@npm:8.5.0" +"@typescript-eslint/type-utils@npm:8.6.0": + version: 8.6.0 + resolution: "@typescript-eslint/type-utils@npm:8.6.0" dependencies: - "@typescript-eslint/typescript-estree": "npm:8.5.0" - "@typescript-eslint/utils": "npm:8.5.0" + "@typescript-eslint/typescript-estree": "npm:8.6.0" + "@typescript-eslint/utils": "npm:8.6.0" debug: "npm:^4.3.4" ts-api-utils: "npm:^1.3.0" peerDependenciesMeta: typescript: optional: true - checksum: 10/ed487c8b530a0a6ea292385c82b2d9d9d94b99768ddd93882899be3319ea6af09c1b9f1a07e0381beb6149bbbb1f66ae95a635279fad8946345fd2298bce3549 + checksum: 10/9b537821e180818915e75422a4e4810f7cc87f2223ad7fb145fca76b808f97425f81e4db7909542f76e6b53519f9b3a47d86fc8d1881a156158432c0ba748f89 languageName: node linkType: hard -"@typescript-eslint/types@npm:8.5.0": - version: 8.5.0 - resolution: "@typescript-eslint/types@npm:8.5.0" - checksum: 10/5cc55411fbf3f46d1571fe6ad1ef88f937093629a58e2b7bafb389646dde8a4e29d938fd57309eb30ee3f20978b4bdc5f823b31d718e053ba4c54c637a6df4e4 +"@typescript-eslint/types@npm:8.6.0": + version: 8.6.0 + resolution: "@typescript-eslint/types@npm:8.6.0" + checksum: 10/b89e26ce5aa03be56ad5d261aa28aecf3bab5ba78983ea51630ccaee7c7066489ee7c58fc3f18811c63418c900e69ac2b7d12e206485f45b2331d00d8bdb760f languageName: node linkType: hard -"@typescript-eslint/typescript-estree@npm:8.5.0": - version: 8.5.0 - resolution: "@typescript-eslint/typescript-estree@npm:8.5.0" +"@typescript-eslint/typescript-estree@npm:8.6.0": + version: 8.6.0 + resolution: "@typescript-eslint/typescript-estree@npm:8.6.0" dependencies: - "@typescript-eslint/types": "npm:8.5.0" - "@typescript-eslint/visitor-keys": "npm:8.5.0" + "@typescript-eslint/types": "npm:8.6.0" + "@typescript-eslint/visitor-keys": "npm:8.6.0" debug: "npm:^4.3.4" fast-glob: "npm:^3.3.2" is-glob: "npm:^4.0.3" @@ -4402,31 +4402,31 @@ __metadata: peerDependenciesMeta: typescript: optional: true - checksum: 10/69f21c49a158c394106e0d627f57451430cf32449a6c01118ee4afbb9f92f06be3aa87f3478ffc84d1062c3b21dca983e458f70f2cbe4fee1ad206f84ab97eb8 + checksum: 10/34b7920e34860d33e38081c3ca9f780890822c6a28e29804ae053a1a618a45d6513c014dcb46480b10a4ba3c3fd2ed4b80ccc6094a50032eb25d68c433b14203 languageName: node linkType: hard -"@typescript-eslint/utils@npm:8.5.0": - version: 8.5.0 - resolution: "@typescript-eslint/utils@npm:8.5.0" +"@typescript-eslint/utils@npm:8.6.0": + version: 8.6.0 + resolution: "@typescript-eslint/utils@npm:8.6.0" dependencies: "@eslint-community/eslint-utils": "npm:^4.4.0" - "@typescript-eslint/scope-manager": "npm:8.5.0" - "@typescript-eslint/types": "npm:8.5.0" - "@typescript-eslint/typescript-estree": "npm:8.5.0" + "@typescript-eslint/scope-manager": "npm:8.6.0" + "@typescript-eslint/types": "npm:8.6.0" + "@typescript-eslint/typescript-estree": "npm:8.6.0" peerDependencies: eslint: ^8.57.0 || ^9.0.0 - checksum: 10/f4727ebdee15082debe61a815eaad588f006a4f93d7fe94d065da563b4d3f91b7b7f795b5c77aa4cdebdf0936f83aa878089f22b8dbdbb738c557e8974129f54 + checksum: 10/778caa5767d306d17dea8d648baf158eda4099717fd1067d5362446adb7e51af357d4a9a53430327cc7f0229c69347a3b9b434ab937256fb0b4a0e3458184068 languageName: node linkType: hard -"@typescript-eslint/visitor-keys@npm:8.5.0": - version: 8.5.0 - resolution: "@typescript-eslint/visitor-keys@npm:8.5.0" +"@typescript-eslint/visitor-keys@npm:8.6.0": + version: 8.6.0 + resolution: "@typescript-eslint/visitor-keys@npm:8.6.0" dependencies: - "@typescript-eslint/types": "npm:8.5.0" + "@typescript-eslint/types": "npm:8.6.0" eslint-visitor-keys: "npm:^3.4.3" - checksum: 10/32cc9d8120531bb1b5da79d697ab80bbbf18e5630d74c8b6c0f835d7914be7833ed9e5b95fa05f6f7b724d928cd4208b4028a2cc9d767401434d88214614887b + checksum: 10/76d94f33d27fd33c324bb5245ec571bede6f5f22e67f0412abccf603402d55df7f46ea05a36b8bdfe6266bb990e3298f5595292c0b8940a149409064605b5ee9 languageName: node linkType: hard @@ -4464,9 +4464,9 @@ __metadata: languageName: node linkType: hard -"@vitest/coverage-v8@npm:^2.1.0": - version: 2.1.0 - resolution: "@vitest/coverage-v8@npm:2.1.0" +"@vitest/coverage-v8@npm:^2.1.1": + version: 2.1.1 + resolution: "@vitest/coverage-v8@npm:2.1.1" dependencies: "@ampproject/remapping": "npm:^2.3.0" "@bcoe/v8-coverage": "npm:^0.2.3" @@ -4481,36 +4481,36 @@ __metadata: test-exclude: "npm:^7.0.1" tinyrainbow: "npm:^1.2.0" peerDependencies: - "@vitest/browser": 2.1.0 - vitest: 2.1.0 + "@vitest/browser": 2.1.1 + vitest: 2.1.1 peerDependenciesMeta: "@vitest/browser": optional: true - checksum: 10/146934ecae4c9e255074ce0381da215e37686243ab4187e8cc0cf0abe41a27f27dbd66983e7c5bdafc15583bebaed63b940555e9ae80cb2c6f1d1f3b8c13116f + checksum: 10/f53e4ce5174b88007428faa0d253c62ed7cab6186172691f43e8a2fd2b7b569e8b06f92fd783f34c52f1251e7b5943be58515588b0634155be9c6a234b412b5b languageName: node linkType: hard -"@vitest/expect@npm:2.1.0": - version: 2.1.0 - resolution: "@vitest/expect@npm:2.1.0" +"@vitest/expect@npm:2.1.1": + version: 2.1.1 + resolution: "@vitest/expect@npm:2.1.1" dependencies: - "@vitest/spy": "npm:2.1.0" - "@vitest/utils": "npm:2.1.0" + "@vitest/spy": "npm:2.1.1" + "@vitest/utils": "npm:2.1.1" chai: "npm:^5.1.1" tinyrainbow: "npm:^1.2.0" - checksum: 10/e7343ef92184cfe1886eac2055576cb3517c0b888a6f5eec645eceefec0836dd4e3a584d93340a344c32ebd2bafcc66093718f9352b5163b0b386c818fc7422e + checksum: 10/ece8d7f9e0c083c5cf30c0df9e052bba4402649736293a18e56a8db4be46a847b18dc7b33cdd1c08bea51bf6f2cb021e40e7227d9cfc24fdba4a955bffe371a2 languageName: node linkType: hard -"@vitest/mocker@npm:2.1.0": - version: 2.1.0 - resolution: "@vitest/mocker@npm:2.1.0" +"@vitest/mocker@npm:2.1.1": + version: 2.1.1 + resolution: "@vitest/mocker@npm:2.1.1" dependencies: "@vitest/spy": "npm:^2.1.0-beta.1" estree-walker: "npm:^3.0.3" magic-string: "npm:^0.30.11" peerDependencies: - "@vitest/spy": 2.1.0 + "@vitest/spy": 2.1.1 msw: ^2.3.5 vite: ^5.0.0 peerDependenciesMeta: @@ -4518,41 +4518,50 @@ __metadata: optional: true vite: optional: true - checksum: 10/a4eb2e859b358746ccdbf4e3db14f829c26847173ad631579703acebc6fde4a60f1ad87e9496c0c36c50f8cc6a04942daa2f2c6b6607df03f096f69aac38f945 + checksum: 10/4fbdaac36e3f603235b131e25d9e561381bd989a34e49522e16652077021532ae6653907b47bbca93c14ae4629e3e6a8f61438e3812620dc5654b61595b45208 languageName: node linkType: hard -"@vitest/pretty-format@npm:2.1.0, @vitest/pretty-format@npm:^2.1.0": - version: 2.1.0 - resolution: "@vitest/pretty-format@npm:2.1.0" +"@vitest/pretty-format@npm:2.1.1, @vitest/pretty-format@npm:^2.1.1": + version: 2.1.1 + resolution: "@vitest/pretty-format@npm:2.1.1" dependencies: tinyrainbow: "npm:^1.2.0" - checksum: 10/e4c920535c72d534971a1133bb3d314b2625c04068069eb7152685118e27bb4a67c400b7701dc26893134e0b3bab8689e9575d993c5af9feeba5355bd2bc2080 + checksum: 10/744278a3a91d080e51a94b03eaf7cf43779978d6391060cbfdda6d03194eef744ce8f12a2fe2fa90a9bf9b9f038d4c4c4d88f6192f042c88c5ee4125f38bf892 languageName: node linkType: hard -"@vitest/runner@npm:2.1.0": - version: 2.1.0 - resolution: "@vitest/runner@npm:2.1.0" +"@vitest/runner@npm:2.1.1": + version: 2.1.1 + resolution: "@vitest/runner@npm:2.1.1" dependencies: - "@vitest/utils": "npm:2.1.0" + "@vitest/utils": "npm:2.1.1" pathe: "npm:^1.1.2" - checksum: 10/dddcaa657429863df11113a612a855c9ade67792df223f7fbda11c71076804447e535362a7de6307c660af3c682bdab698f6818c8e662b8d4db942beb7616df0 + checksum: 10/cf13a2f0bebb494484e60614ff0e7cab06f4310b36c96fe311035ab2eec9cbc057fa5702e904d43e8976fb2214fe550286ceb0b3dc1c72081e23eb1b1f8fa193 languageName: node linkType: hard -"@vitest/snapshot@npm:2.1.0": - version: 2.1.0 - resolution: "@vitest/snapshot@npm:2.1.0" +"@vitest/snapshot@npm:2.1.1": + version: 2.1.1 + resolution: "@vitest/snapshot@npm:2.1.1" dependencies: - "@vitest/pretty-format": "npm:2.1.0" + "@vitest/pretty-format": "npm:2.1.1" magic-string: "npm:^0.30.11" pathe: "npm:^1.1.2" - checksum: 10/c6681789d016f6fde776d5bd65207478ea1b1d140552e6c913831d666c739d656beb53a75f4ca87efdab793fabcb0f41443b983e06ba431e6380c001d5059961 + checksum: 10/820f429d950cf63316464e7f2bc1f0ba4b7d2691c51f6ad03ba1c6edc7dbdc6a86b017c082f2a519b743ae53880b41366bbb596c8b43cf8cd68032f9433ec844 languageName: node linkType: hard -"@vitest/spy@npm:2.1.0, @vitest/spy@npm:^2.1.0-beta.1": +"@vitest/spy@npm:2.1.1": + version: 2.1.1 + resolution: "@vitest/spy@npm:2.1.1" + dependencies: + tinyspy: "npm:^3.0.0" + checksum: 10/47e83b4a3d091c4fdc2fbf861ccf2df697d3446a6c69d384b168f9c3e0fa1cabec03e52cc8bec1909735969176ac6272cc4dee8dda945ff059183a5c4568a488 + languageName: node + linkType: hard + +"@vitest/spy@npm:^2.1.0-beta.1": version: 2.1.0 resolution: "@vitest/spy@npm:2.1.0" dependencies: @@ -4561,14 +4570,14 @@ __metadata: languageName: node linkType: hard -"@vitest/utils@npm:2.1.0": - version: 2.1.0 - resolution: "@vitest/utils@npm:2.1.0" +"@vitest/utils@npm:2.1.1": + version: 2.1.1 + resolution: "@vitest/utils@npm:2.1.1" dependencies: - "@vitest/pretty-format": "npm:2.1.0" + "@vitest/pretty-format": "npm:2.1.1" loupe: "npm:^3.1.1" tinyrainbow: "npm:^1.2.0" - checksum: 10/226b3b248eb4b080457b45cc33656a11e48b3d518852885d2c61711470a5c6055d92a114df08b1daeb36009f955cc60352ffd105cc0f8c7f8f6e0ea93adedb1d + checksum: 10/605f1807c343ac01cde053b062bda8f0cc51b321a3cd9c751424a1e24549a35120896bd58612a14f068460242013f69e08fc0a69355387e981a5a50bce9ae04e languageName: node linkType: hard @@ -12346,17 +12355,17 @@ __metadata: "@types/lodash": "npm:^4.17.7" "@types/mapbox__mapbox-gl-draw": "npm:~1.4.6" "@types/node": "npm:^20.16.5" - "@types/react": "npm:^18.3.5" + "@types/react": "npm:^18.3.6" "@types/react-color": "npm:^3.0.12" "@types/react-dom": "npm:^18.3.0" "@types/react-router-dom": "npm:^5.3.3" "@types/semver": "npm:^7.5.8" "@types/uuid": "npm:^10.0.0" - "@typescript-eslint/eslint-plugin": "npm:^8.5.0" - "@typescript-eslint/parser": "npm:^8.5.0" + "@typescript-eslint/eslint-plugin": "npm:^8.6.0" + "@typescript-eslint/parser": "npm:^8.6.0" "@vite-pwa/assets-generator": "npm:^0.2.6" "@vitejs/plugin-react-swc": "npm:^3.7.0" - "@vitest/coverage-v8": "npm:^2.1.0" + "@vitest/coverage-v8": "npm:^2.1.1" "@watergis/maplibre-gl-export": "npm:~3.8.3" bulma: "npm:^1.0.2" classnames: "npm:^2.5.1" @@ -12392,13 +12401,13 @@ __metadata: typescript: "npm:^5.6.2" usehooks-ts: "npm:^3.1.0" uuid: "npm:^10.0.0" - vite: "npm:^5.4.4" + vite: "npm:^5.4.6" vite-plugin-checker: "npm:^0.8.0" vite-plugin-eslint: "npm:^1.8.1" vite-plugin-pwa: "npm:^0.20.5" vite-plugin-svgr: "npm:^4.2.0" vite-tsconfig-paths: "npm:^5.0.1" - vitest: "npm:^2.1.0" + vitest: "npm:^2.1.1" web-vitals: "npm:^4.2.3" languageName: unknown linkType: soft @@ -13840,9 +13849,9 @@ __metadata: languageName: node linkType: hard -"vite-node@npm:2.1.0": - version: 2.1.0 - resolution: "vite-node@npm:2.1.0" +"vite-node@npm:2.1.1": + version: 2.1.1 + resolution: "vite-node@npm:2.1.1" dependencies: cac: "npm:^6.7.14" debug: "npm:^4.3.6" @@ -13850,7 +13859,7 @@ __metadata: vite: "npm:^5.0.0" bin: vite-node: vite-node.mjs - checksum: 10/b3e3043bc02ed16cd51ca6b05692ab3976bef8526656e93a7b7d57247177daab538714850174a46a230da89ecaec1153357b0ed7a6a29e8c9acb4175fd12e15e + checksum: 10/c21892b560cad87414ef774d7e53b207e8d66b511b7ef085940fd2f2160d8f6c42dfa9af2ef5465e775b767fc3312ec5b3418b898041f592b8e0b093b4b7110a languageName: node linkType: hard @@ -14013,17 +14022,17 @@ __metadata: languageName: node linkType: hard -"vitest@npm:^2.1.0": - version: 2.1.0 - resolution: "vitest@npm:2.1.0" - dependencies: - "@vitest/expect": "npm:2.1.0" - "@vitest/mocker": "npm:2.1.0" - "@vitest/pretty-format": "npm:^2.1.0" - "@vitest/runner": "npm:2.1.0" - "@vitest/snapshot": "npm:2.1.0" - "@vitest/spy": "npm:2.1.0" - "@vitest/utils": "npm:2.1.0" +"vitest@npm:^2.1.1": + version: 2.1.1 + resolution: "vitest@npm:2.1.1" + dependencies: + "@vitest/expect": "npm:2.1.1" + "@vitest/mocker": "npm:2.1.1" + "@vitest/pretty-format": "npm:^2.1.1" + "@vitest/runner": "npm:2.1.1" + "@vitest/snapshot": "npm:2.1.1" + "@vitest/spy": "npm:2.1.1" + "@vitest/utils": "npm:2.1.1" chai: "npm:^5.1.1" debug: "npm:^4.3.6" magic-string: "npm:^0.30.11" @@ -14034,13 +14043,13 @@ __metadata: tinypool: "npm:^1.0.0" tinyrainbow: "npm:^1.2.0" vite: "npm:^5.0.0" - vite-node: "npm:2.1.0" + vite-node: "npm:2.1.1" why-is-node-running: "npm:^2.3.0" peerDependencies: "@edge-runtime/vm": "*" "@types/node": ^18.0.0 || >=20.0.0 - "@vitest/browser": 2.1.0 - "@vitest/ui": 2.1.0 + "@vitest/browser": 2.1.1 + "@vitest/ui": 2.1.1 happy-dom: "*" jsdom: "*" peerDependenciesMeta: @@ -14058,7 +14067,7 @@ __metadata: optional: true bin: vitest: vitest.mjs - checksum: 10/3013112ae0069c56b89b5c361ec6865644ee911cb15f9574ca5666eb90afd5abd59215e1b82199b5f49c6dbabc94dc2b5c354687163ce6104b989f4c8eaa31e8 + checksum: 10/5bbbc7298a043c7ca0914817a2c30e18af5a1619f4a750d36056f64f4d907a1fad50b8bab93aaf39f8174eb475108c9287f6e226e24d3a3ccd6f0b71d3f56438 languageName: node linkType: hard From 2d8d17fa445b79e6f8b79bcb599e197c5d27c838 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 18 Sep 2024 14:45:59 -0400 Subject: [PATCH 24/35] chore(deps-dev): bump the development-dependencies group (#436) Bumps the development-dependencies group in /ui with 2 updates: [@types/react](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/react) and [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite). Updates `@types/react` from 18.3.6 to 18.3.7 - [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases) - [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/react) Updates `vite` from 5.4.4 to 5.4.6 - [Release notes](https://github.com/vitejs/vite/releases) - [Changelog](https://github.com/vitejs/vite/blob/v5.4.6/packages/vite/CHANGELOG.md) - [Commits](https://github.com/vitejs/vite/commits/v5.4.6/packages/vite) --- updated-dependencies: - dependency-name: "@types/react" dependency-type: direct:development update-type: version-update:semver-patch dependency-group: development-dependencies - dependency-name: vite dependency-type: direct:development update-type: version-update:semver-patch dependency-group: development-dependencies ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- ui/package.json | 2 +- ui/yarn.lock | 16 ++++++++-------- 2 files changed, 9 insertions(+), 9 deletions(-) diff --git a/ui/package.json b/ui/package.json index 60b79173..adf6d126 100644 --- a/ui/package.json +++ b/ui/package.json @@ -72,7 +72,7 @@ "@types/lodash": "^4.17.7", "@types/mapbox__mapbox-gl-draw": "~1.4.6", "@types/node": "^20.16.5", - "@types/react": "^18.3.6", + "@types/react": "^18.3.7", "@types/react-color": "^3.0.12", "@types/react-dom": "^18.3.0", "@types/react-router-dom": "^5.3.3", diff --git a/ui/yarn.lock b/ui/yarn.lock index 22bf4db1..15d262ad 100644 --- a/ui/yarn.lock +++ b/ui/yarn.lock @@ -4221,13 +4221,13 @@ __metadata: languageName: node linkType: hard -"@types/react@npm:^18.3.6": - version: 18.3.6 - resolution: "@types/react@npm:18.3.6" +"@types/react@npm:^18.3.7": + version: 18.3.7 + resolution: "@types/react@npm:18.3.7" dependencies: "@types/prop-types": "npm:*" csstype: "npm:^3.0.2" - checksum: 10/ba0d337244347ecbf921de174d9db9bb80b03d41ad3ae7aa65500b3339925852c97e501d7657b5cd629ffed9f7fe3820a63069847e7b8529e4d02934d0f182e9 + checksum: 10/30cfbe33c82e8033df5f70a4f54068f4344a691cff3f2b3901dd678e89ce5477dc8faada4a45d333ea570e1992ca8fda5b096d9deddfafb8c373acababc40c70 languageName: node linkType: hard @@ -12355,7 +12355,7 @@ __metadata: "@types/lodash": "npm:^4.17.7" "@types/mapbox__mapbox-gl-draw": "npm:~1.4.6" "@types/node": "npm:^20.16.5" - "@types/react": "npm:^18.3.6" + "@types/react": "npm:^18.3.7" "@types/react-color": "npm:^3.0.12" "@types/react-dom": "npm:^18.3.0" "@types/react-router-dom": "npm:^5.3.3" @@ -13980,8 +13980,8 @@ __metadata: linkType: hard "vite@npm:^5.4.2": - version: 5.4.4 - resolution: "vite@npm:5.4.4" + version: 5.4.6 + resolution: "vite@npm:5.4.6" dependencies: esbuild: "npm:^0.21.3" fsevents: "npm:~2.3.3" @@ -14018,7 +14018,7 @@ __metadata: optional: true bin: vite: bin/vite.js - checksum: 10/8c2ded5cc99464362d35af6b78bd6466b9c36533a26311d360c327d0a1580d0016f4f3c4828ded5945be4adc2990f257eae85ff95b4522a6d040cdfef6e5f7b2 + checksum: 10/8489fa55c48675fc12b64bf7af58b5e2f8a11b2aebc63cb177861bd53dc196d7c496d6918f5a8c48828f51b6fe498166a1a2350334bbfaae10d015a0c71f1c77 languageName: node linkType: hard From fd0f7ad0610244488ffa329e9aebb1ef7dda95ce Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 24 Sep 2024 10:27:11 +0200 Subject: [PATCH 25/35] chore(deps-dev): bump the development-dependencies group across 1 directory with 9 updates (#440) Bumps the development-dependencies group with 9 updates in the /ui directory: | Package | From | To | | --- | --- | --- | | [@eslint/js](https://github.com/eslint/eslint/tree/HEAD/packages/js) | `9.10.0` | `9.11.1` | | [@types/lodash](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/lodash) | `4.17.7` | `4.17.9` | | [@types/react](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/react) | `18.3.7` | `18.3.8` | | [@typescript-eslint/eslint-plugin](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin) | `8.6.0` | `8.7.0` | | [@typescript-eslint/parser](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/parser) | `8.6.0` | `8.7.0` | | [eslint](https://github.com/eslint/eslint) | `9.10.0` | `9.11.1` | | [jsdom](https://github.com/jsdom/jsdom) | `25.0.0` | `25.0.1` | | [sass](https://github.com/sass/dart-sass) | `1.78.0` | `1.79.3` | | [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite) | `5.4.6` | `5.4.7` | Updates `@eslint/js` from 9.10.0 to 9.11.1 - [Release notes](https://github.com/eslint/eslint/releases) - [Changelog](https://github.com/eslint/eslint/blob/main/CHANGELOG.md) - [Commits](https://github.com/eslint/eslint/commits/v9.11.1/packages/js) Updates `@types/lodash` from 4.17.7 to 4.17.9 - [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases) - [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/lodash) Updates `@types/react` from 18.3.7 to 18.3.8 - [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases) - [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/react) Updates `@typescript-eslint/eslint-plugin` from 8.6.0 to 8.7.0 - [Release notes](https://github.com/typescript-eslint/typescript-eslint/releases) - [Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/eslint-plugin/CHANGELOG.md) - [Commits](https://github.com/typescript-eslint/typescript-eslint/commits/v8.7.0/packages/eslint-plugin) Updates `@typescript-eslint/parser` from 8.6.0 to 8.7.0 - [Release notes](https://github.com/typescript-eslint/typescript-eslint/releases) - [Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/parser/CHANGELOG.md) - [Commits](https://github.com/typescript-eslint/typescript-eslint/commits/v8.7.0/packages/parser) Updates `eslint` from 9.10.0 to 9.11.1 - [Release notes](https://github.com/eslint/eslint/releases) - [Changelog](https://github.com/eslint/eslint/blob/main/CHANGELOG.md) - [Commits](https://github.com/eslint/eslint/compare/v9.10.0...v9.11.1) Updates `jsdom` from 25.0.0 to 25.0.1 - [Release notes](https://github.com/jsdom/jsdom/releases) - [Changelog](https://github.com/jsdom/jsdom/blob/main/Changelog.md) - [Commits](https://github.com/jsdom/jsdom/compare/25.0.0...25.0.1) Updates `sass` from 1.78.0 to 1.79.3 - [Release notes](https://github.com/sass/dart-sass/releases) - [Changelog](https://github.com/sass/dart-sass/blob/main/CHANGELOG.md) - [Commits](https://github.com/sass/dart-sass/compare/1.78.0...1.79.3) Updates `vite` from 5.4.6 to 5.4.7 - [Release notes](https://github.com/vitejs/vite/releases) - [Changelog](https://github.com/vitejs/vite/blob/v5.4.7/packages/vite/CHANGELOG.md) - [Commits](https://github.com/vitejs/vite/commits/v5.4.7/packages/vite) --- updated-dependencies: - dependency-name: "@eslint/js" dependency-type: direct:development update-type: version-update:semver-minor dependency-group: development-dependencies - dependency-name: "@types/lodash" dependency-type: direct:development update-type: version-update:semver-patch dependency-group: development-dependencies - dependency-name: "@types/react" dependency-type: direct:development update-type: version-update:semver-patch dependency-group: development-dependencies - dependency-name: "@typescript-eslint/eslint-plugin" dependency-type: direct:development update-type: version-update:semver-minor dependency-group: development-dependencies - dependency-name: "@typescript-eslint/parser" dependency-type: direct:development update-type: version-update:semver-minor dependency-group: development-dependencies - dependency-name: eslint dependency-type: direct:development update-type: version-update:semver-minor dependency-group: development-dependencies - dependency-name: jsdom dependency-type: direct:development update-type: version-update:semver-patch dependency-group: development-dependencies - dependency-name: sass dependency-type: direct:development update-type: version-update:semver-minor dependency-group: development-dependencies - dependency-name: vite dependency-type: direct:development update-type: version-update:semver-patch dependency-group: development-dependencies ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- ui/package.json | 18 +-- ui/yarn.lock | 314 +++++++++++++++++++++++++----------------------- 2 files changed, 171 insertions(+), 161 deletions(-) diff --git a/ui/package.json b/ui/package.json index adf6d126..532ebf82 100644 --- a/ui/package.json +++ b/ui/package.json @@ -62,42 +62,42 @@ "devDependencies": { "@eslint/compat": "^1.1.1", "@eslint/eslintrc": "^3.1.0", - "@eslint/js": "^9.10.0", + "@eslint/js": "^9.11.1", "@testing-library/dom": "^10.4.0", "@testing-library/jest-dom": "^6.5.0", "@testing-library/react": "^16.0.1", "@testing-library/user-event": "^14.5.2", "@types/hat": "^0.0.4", "@types/jest": "^29.5.13", - "@types/lodash": "^4.17.7", + "@types/lodash": "^4.17.9", "@types/mapbox__mapbox-gl-draw": "~1.4.6", "@types/node": "^20.16.5", - "@types/react": "^18.3.7", + "@types/react": "^18.3.8", "@types/react-color": "^3.0.12", "@types/react-dom": "^18.3.0", "@types/react-router-dom": "^5.3.3", "@types/semver": "^7.5.8", "@types/uuid": "^10.0.0", - "@typescript-eslint/eslint-plugin": "^8.6.0", - "@typescript-eslint/parser": "^8.6.0", + "@typescript-eslint/eslint-plugin": "^8.7.0", + "@typescript-eslint/parser": "^8.7.0", "@vite-pwa/assets-generator": "^0.2.6", "@vitejs/plugin-react-swc": "^3.7.0", "@vitest/coverage-v8": "^2.1.1", - "eslint": "^9.10.0", + "eslint": "^9.11.1", "eslint-plugin-react": "^7.36.1", "globals": "^15.9.0", "husky": "^9.1.6", "jest": "^29.7.0", - "jsdom": "^25.0.0", + "jsdom": "^25.0.1", "lint-staged": "^15.2.10", "prettier": "^3.3.3", "rollup-plugin-visualizer": "^5.12.0", - "sass": "^1.78.0", + "sass": "^1.79.3", "semver": "^7.6.3", "source-map-explorer": "^2.5.3", "ts-jest": "^29.2.5", "typescript": "^5.6.2", - "vite": "^5.4.6", + "vite": "^5.4.7", "vite-plugin-checker": "^0.8.0", "vite-plugin-eslint": "^1.8.1", "vite-plugin-pwa": "^0.20.5", diff --git a/ui/yarn.lock b/ui/yarn.lock index 15d262ad..89e0fabe 100644 --- a/ui/yarn.lock +++ b/ui/yarn.lock @@ -2229,6 +2229,13 @@ __metadata: languageName: node linkType: hard +"@eslint/core@npm:^0.6.0": + version: 0.6.0 + resolution: "@eslint/core@npm:0.6.0" + checksum: 10/ec5cce168c8773fbd60c5a505563c6cf24398b3e1fa352929878d63129e0dd5b134d3232be2f2c49e8124a965d03359b38962aa0dcf7dfaf50746059d2a2f798 + languageName: node + linkType: hard + "@eslint/eslintrc@npm:^3.1.0": version: 3.1.0 resolution: "@eslint/eslintrc@npm:3.1.0" @@ -2246,10 +2253,10 @@ __metadata: languageName: node linkType: hard -"@eslint/js@npm:9.10.0, @eslint/js@npm:^9.10.0": - version: 9.10.0 - resolution: "@eslint/js@npm:9.10.0" - checksum: 10/cbda2bf268c8ac7a2b2493aaaa0113a78165a576ee5178b9fbdaf245c3d40ffaf41d006f75afab5718f68d816f00319e267b4c88ead100b19022fe491f9e0175 +"@eslint/js@npm:9.11.1, @eslint/js@npm:^9.11.1": + version: 9.11.1 + resolution: "@eslint/js@npm:9.11.1" + checksum: 10/77b9c744bdf24e2ca1f99f671139767d6c31cb10d732cf22a85ef28f1f95f2a621cf204f572fd9fee67da6193ff2597a5d236cef3b557b07624230b622612339 languageName: node linkType: hard @@ -2260,12 +2267,12 @@ __metadata: languageName: node linkType: hard -"@eslint/plugin-kit@npm:^0.1.0": - version: 0.1.0 - resolution: "@eslint/plugin-kit@npm:0.1.0" +"@eslint/plugin-kit@npm:^0.2.0": + version: 0.2.0 + resolution: "@eslint/plugin-kit@npm:0.2.0" dependencies: levn: "npm:^0.4.1" - checksum: 10/3c6b10505f53c6e32b40572f780164b75389bbabd1bf80ab8742222710d90683a2cc9480468fca132da636f6a3053ae60b173181d14f4975fde2e6f8f9564c6d + checksum: 10/ebb363174397341dea47dc35fc206e24328083e4f0fa1c539687dbb7f94bef77e43faa12867d032e6eea5ac980ea8fbb6b1d844186e422d327c04088041b99f3 languageName: node linkType: hard @@ -3954,6 +3961,13 @@ __metadata: languageName: node linkType: hard +"@types/estree@npm:^1.0.6": + version: 1.0.6 + resolution: "@types/estree@npm:1.0.6" + checksum: 10/9d35d475095199c23e05b431bcdd1f6fec7380612aed068b14b2a08aa70494de8a9026765a5a91b1073f636fb0368f6d8973f518a31391d519e20c59388ed88d + languageName: node + linkType: hard + "@types/geojson-vt@npm:3.2.5": version: 3.2.5 resolution: "@types/geojson-vt@npm:3.2.5" @@ -4051,10 +4065,17 @@ __metadata: languageName: node linkType: hard -"@types/lodash@npm:^4.17.7": - version: 4.17.7 - resolution: "@types/lodash@npm:4.17.7" - checksum: 10/b8177f19cf962414a66989837481b13f546afc2e98e8d465bec59e6ac03a59c584eb7053ce511cde3a09c5f3096d22a5ae22cfb56b23f3b0da75b0743b6b1a44 +"@types/json-schema@npm:^7.0.15": + version: 7.0.15 + resolution: "@types/json-schema@npm:7.0.15" + checksum: 10/1a3c3e06236e4c4aab89499c428d585527ce50c24fe8259e8b3926d3df4cfbbbcf306cfc73ddfb66cbafc973116efd15967020b0f738f63e09e64c7d260519e7 + languageName: node + linkType: hard + +"@types/lodash@npm:^4.17.9": + version: 4.17.9 + resolution: "@types/lodash@npm:4.17.9" + checksum: 10/49e35caaf668686be0bad9e9bef88456903a21999d3fd8bf91c302e0d5328398fb59fee793d0afbaf6edeca1b46c3e8109899d85ff3a433075178f1ab693e597 languageName: node linkType: hard @@ -4221,13 +4242,13 @@ __metadata: languageName: node linkType: hard -"@types/react@npm:^18.3.7": - version: 18.3.7 - resolution: "@types/react@npm:18.3.7" +"@types/react@npm:^18.3.8": + version: 18.3.8 + resolution: "@types/react@npm:18.3.8" dependencies: "@types/prop-types": "npm:*" csstype: "npm:^3.0.2" - checksum: 10/30cfbe33c82e8033df5f70a4f54068f4344a691cff3f2b3901dd678e89ce5477dc8faada4a45d333ea570e1992ca8fda5b096d9deddfafb8c373acababc40c70 + checksum: 10/75e64e7f481c28e6c8ce6dae12f49ccc3f36c7b10b82da3eb7728ad9c02bec58a2c967105603e38665902e8db9296962c7718bc2062e2cb64a16e92333bd1f4b languageName: node linkType: hard @@ -4314,15 +4335,15 @@ __metadata: languageName: node linkType: hard -"@typescript-eslint/eslint-plugin@npm:^8.6.0": - version: 8.6.0 - resolution: "@typescript-eslint/eslint-plugin@npm:8.6.0" +"@typescript-eslint/eslint-plugin@npm:^8.7.0": + version: 8.7.0 + resolution: "@typescript-eslint/eslint-plugin@npm:8.7.0" dependencies: "@eslint-community/regexpp": "npm:^4.10.0" - "@typescript-eslint/scope-manager": "npm:8.6.0" - "@typescript-eslint/type-utils": "npm:8.6.0" - "@typescript-eslint/utils": "npm:8.6.0" - "@typescript-eslint/visitor-keys": "npm:8.6.0" + "@typescript-eslint/scope-manager": "npm:8.7.0" + "@typescript-eslint/type-utils": "npm:8.7.0" + "@typescript-eslint/utils": "npm:8.7.0" + "@typescript-eslint/visitor-keys": "npm:8.7.0" graphemer: "npm:^1.4.0" ignore: "npm:^5.3.1" natural-compare: "npm:^1.4.0" @@ -4333,66 +4354,66 @@ __metadata: peerDependenciesMeta: typescript: optional: true - checksum: 10/8f8c72b47e59973c6aaa955a01d2bce834dbd317b37f66355aba564aa30bed4ed7be26080d20ed2ae834bc628706da534da6a87a9720608835b27f165d59bd2b + checksum: 10/5bc774b1da4e1cd19c5ffd731c655c53035fd81ff06a95c2f2c54ab62c401879f886da3e1a1235505341e8172b2841c6edc78b4565a261105ab32d83bf5b8ab1 languageName: node linkType: hard -"@typescript-eslint/parser@npm:^8.6.0": - version: 8.6.0 - resolution: "@typescript-eslint/parser@npm:8.6.0" +"@typescript-eslint/parser@npm:^8.7.0": + version: 8.7.0 + resolution: "@typescript-eslint/parser@npm:8.7.0" dependencies: - "@typescript-eslint/scope-manager": "npm:8.6.0" - "@typescript-eslint/types": "npm:8.6.0" - "@typescript-eslint/typescript-estree": "npm:8.6.0" - "@typescript-eslint/visitor-keys": "npm:8.6.0" + "@typescript-eslint/scope-manager": "npm:8.7.0" + "@typescript-eslint/types": "npm:8.7.0" + "@typescript-eslint/typescript-estree": "npm:8.7.0" + "@typescript-eslint/visitor-keys": "npm:8.7.0" debug: "npm:^4.3.4" peerDependencies: eslint: ^8.57.0 || ^9.0.0 peerDependenciesMeta: typescript: optional: true - checksum: 10/6e6bb37841665e5fac8c5505a5b755ef499d5caf8cb975043e8b0e459520d315a1c7e7ae60a1d6bc20e7f4193b6d7cb74bc95dede203851087a1713c8d0b8abc + checksum: 10/896ac60f8426f9e5c23198c89555f6f88f7957c5b16bb7b966dac45c5f5e7076c1a050bcee2e0eddff88055b9c0d7bdfaef9c64889e3bdf3356d20356b0daa04 languageName: node linkType: hard -"@typescript-eslint/scope-manager@npm:8.6.0": - version: 8.6.0 - resolution: "@typescript-eslint/scope-manager@npm:8.6.0" +"@typescript-eslint/scope-manager@npm:8.7.0": + version: 8.7.0 + resolution: "@typescript-eslint/scope-manager@npm:8.7.0" dependencies: - "@typescript-eslint/types": "npm:8.6.0" - "@typescript-eslint/visitor-keys": "npm:8.6.0" - checksum: 10/4a42020caf1b45f661a2722c60ca3aaec34eb93c39fae71fd7a7d9c7824d2930447ecab1059ed2908e31f9995df37c32e2cb599f0795f01012d6c63847b9e907 + "@typescript-eslint/types": "npm:8.7.0" + "@typescript-eslint/visitor-keys": "npm:8.7.0" + checksum: 10/6a6aae28437f6cd78f82dd1359658593fcc8f6d0da966b4d128b14db3a307b6094d22515a79c222055a31bf9b73b73799acf18fbf48c0da16e8f408fcc10464c languageName: node linkType: hard -"@typescript-eslint/type-utils@npm:8.6.0": - version: 8.6.0 - resolution: "@typescript-eslint/type-utils@npm:8.6.0" +"@typescript-eslint/type-utils@npm:8.7.0": + version: 8.7.0 + resolution: "@typescript-eslint/type-utils@npm:8.7.0" dependencies: - "@typescript-eslint/typescript-estree": "npm:8.6.0" - "@typescript-eslint/utils": "npm:8.6.0" + "@typescript-eslint/typescript-estree": "npm:8.7.0" + "@typescript-eslint/utils": "npm:8.7.0" debug: "npm:^4.3.4" ts-api-utils: "npm:^1.3.0" peerDependenciesMeta: typescript: optional: true - checksum: 10/9b537821e180818915e75422a4e4810f7cc87f2223ad7fb145fca76b808f97425f81e4db7909542f76e6b53519f9b3a47d86fc8d1881a156158432c0ba748f89 + checksum: 10/dba4520dd3dce35b765640f9633100bd29d2092478cb467e89bde51dc23fb19f7395e87f4486b898315aab081263003cbc78f03f0f40079602713aafc2f2a6a5 languageName: node linkType: hard -"@typescript-eslint/types@npm:8.6.0": - version: 8.6.0 - resolution: "@typescript-eslint/types@npm:8.6.0" - checksum: 10/b89e26ce5aa03be56ad5d261aa28aecf3bab5ba78983ea51630ccaee7c7066489ee7c58fc3f18811c63418c900e69ac2b7d12e206485f45b2331d00d8bdb760f +"@typescript-eslint/types@npm:8.7.0": + version: 8.7.0 + resolution: "@typescript-eslint/types@npm:8.7.0" + checksum: 10/9adbe4efdcb00735af5144a161d6bb2f79a952a9701820920ad33adba02032d65d5b601087e953c2918f7efa548abbcd9289f83ec6299f66941d7c585886792e languageName: node linkType: hard -"@typescript-eslint/typescript-estree@npm:8.6.0": - version: 8.6.0 - resolution: "@typescript-eslint/typescript-estree@npm:8.6.0" +"@typescript-eslint/typescript-estree@npm:8.7.0": + version: 8.7.0 + resolution: "@typescript-eslint/typescript-estree@npm:8.7.0" dependencies: - "@typescript-eslint/types": "npm:8.6.0" - "@typescript-eslint/visitor-keys": "npm:8.6.0" + "@typescript-eslint/types": "npm:8.7.0" + "@typescript-eslint/visitor-keys": "npm:8.7.0" debug: "npm:^4.3.4" fast-glob: "npm:^3.3.2" is-glob: "npm:^4.0.3" @@ -4402,31 +4423,31 @@ __metadata: peerDependenciesMeta: typescript: optional: true - checksum: 10/34b7920e34860d33e38081c3ca9f780890822c6a28e29804ae053a1a618a45d6513c014dcb46480b10a4ba3c3fd2ed4b80ccc6094a50032eb25d68c433b14203 + checksum: 10/c4f7e3c18c8382b72800681c37c87726b02a96cf6831be37d2d2f9c26267016a9dd7af4e08184b96376a9aebdc5c344c6c378c86821c374fe10a9e45aca1b33d languageName: node linkType: hard -"@typescript-eslint/utils@npm:8.6.0": - version: 8.6.0 - resolution: "@typescript-eslint/utils@npm:8.6.0" +"@typescript-eslint/utils@npm:8.7.0": + version: 8.7.0 + resolution: "@typescript-eslint/utils@npm:8.7.0" dependencies: "@eslint-community/eslint-utils": "npm:^4.4.0" - "@typescript-eslint/scope-manager": "npm:8.6.0" - "@typescript-eslint/types": "npm:8.6.0" - "@typescript-eslint/typescript-estree": "npm:8.6.0" + "@typescript-eslint/scope-manager": "npm:8.7.0" + "@typescript-eslint/types": "npm:8.7.0" + "@typescript-eslint/typescript-estree": "npm:8.7.0" peerDependencies: eslint: ^8.57.0 || ^9.0.0 - checksum: 10/778caa5767d306d17dea8d648baf158eda4099717fd1067d5362446adb7e51af357d4a9a53430327cc7f0229c69347a3b9b434ab937256fb0b4a0e3458184068 + checksum: 10/81674503fb5ea32ff5de8f1a29fecbcfa947025e7609e861ac8e32cd13326fc050c4fa5044e1a877f05e7e1264c42b9c72a7fd09c4a41d0ac2cf1c49259abf03 languageName: node linkType: hard -"@typescript-eslint/visitor-keys@npm:8.6.0": - version: 8.6.0 - resolution: "@typescript-eslint/visitor-keys@npm:8.6.0" +"@typescript-eslint/visitor-keys@npm:8.7.0": + version: 8.7.0 + resolution: "@typescript-eslint/visitor-keys@npm:8.7.0" dependencies: - "@typescript-eslint/types": "npm:8.6.0" + "@typescript-eslint/types": "npm:8.7.0" eslint-visitor-keys: "npm:^3.4.3" - checksum: 10/76d94f33d27fd33c324bb5245ec571bede6f5f22e67f0412abccf603402d55df7f46ea05a36b8bdfe6266bb990e3298f5595292c0b8940a149409064605b5ee9 + checksum: 10/189ea297ff4da53aea92f31de57aed164550c51ac7cf663007c997c4f0f75a82097e35568e3a0fbcced290cb4c12ab7d3afd99e93eb37c930d7f6d6bbfd6ed98 languageName: node linkType: hard @@ -5500,7 +5521,7 @@ __metadata: languageName: node linkType: hard -"chokidar@npm:>=3.0.0 <4.0.0, chokidar@npm:^3.5.1": +"chokidar@npm:^3.5.1": version: 3.5.3 resolution: "chokidar@npm:3.5.3" dependencies: @@ -5519,6 +5540,15 @@ __metadata: languageName: node linkType: hard +"chokidar@npm:^4.0.0": + version: 4.0.1 + resolution: "chokidar@npm:4.0.1" + dependencies: + readdirp: "npm:^4.0.1" + checksum: 10/62749d2173a60cc5632d6c6e0b7024f33aadce47b06d02e55ad03c7b8daaaf2fc85d4296c047473d04387fd992dab9384cc5263c70a3dc3018b7ebecfb5b5217 + languageName: node + linkType: hard + "chownr@npm:^2.0.0": version: 2.0.0 resolution: "chownr@npm:2.0.0" @@ -5847,12 +5877,12 @@ __metadata: languageName: node linkType: hard -"cssstyle@npm:^4.0.1": - version: 4.0.1 - resolution: "cssstyle@npm:4.0.1" +"cssstyle@npm:^4.1.0": + version: 4.1.0 + resolution: "cssstyle@npm:4.1.0" dependencies: - rrweb-cssom: "npm:^0.6.0" - checksum: 10/180d4e6b406c30811e55a64add32a2111c9c5da4ed2dc67638ddb55c29b877ec1ed71e2e70a34f59c3523dbee35b0d35aa13b963db1ca8cb929d69c7ce81e3b0 + rrweb-cssom: "npm:^0.7.1" + checksum: 10/8ca9e2d1f1b24f93bb5f3f20a7a1e271e58060957880e985ee55614e196a798ffab309ec6bac105af8a439a6764546761813835ebb7f929d60823637ee838a8f languageName: node linkType: hard @@ -6732,19 +6762,22 @@ __metadata: languageName: node linkType: hard -"eslint@npm:^9.10.0": - version: 9.10.0 - resolution: "eslint@npm:9.10.0" +"eslint@npm:^9.11.1": + version: 9.11.1 + resolution: "eslint@npm:9.11.1" dependencies: "@eslint-community/eslint-utils": "npm:^4.2.0" "@eslint-community/regexpp": "npm:^4.11.0" "@eslint/config-array": "npm:^0.18.0" + "@eslint/core": "npm:^0.6.0" "@eslint/eslintrc": "npm:^3.1.0" - "@eslint/js": "npm:9.10.0" - "@eslint/plugin-kit": "npm:^0.1.0" + "@eslint/js": "npm:9.11.1" + "@eslint/plugin-kit": "npm:^0.2.0" "@humanwhocodes/module-importer": "npm:^1.0.1" "@humanwhocodes/retry": "npm:^0.3.0" "@nodelib/fs.walk": "npm:^1.2.8" + "@types/estree": "npm:^1.0.6" + "@types/json-schema": "npm:^7.0.15" ajv: "npm:^6.12.4" chalk: "npm:^4.0.0" cross-spawn: "npm:^7.0.2" @@ -6777,7 +6810,7 @@ __metadata: optional: true bin: eslint: bin/eslint.js - checksum: 10/bbb6da7db83f5182cff5a5e1681cf77be761e37bfbfedf66add9d3d2a216dbc336e787d02d05a2ea85179c51a10203713b2438b86adfd7666c29afd3ee008fe8 + checksum: 10/38de03a51044a5f708c93302cff5e860355447d424f1a21fa67f5b2f0541d092d3f3807c0242820d9795553a3f1165db51769e9a042816334d05c86f015fdfef languageName: node linkType: hard @@ -9244,11 +9277,11 @@ __metadata: languageName: node linkType: hard -"jsdom@npm:^25.0.0": - version: 25.0.0 - resolution: "jsdom@npm:25.0.0" +"jsdom@npm:^25.0.1": + version: 25.0.1 + resolution: "jsdom@npm:25.0.1" dependencies: - cssstyle: "npm:^4.0.1" + cssstyle: "npm:^4.1.0" data-urls: "npm:^5.0.0" decimal.js: "npm:^10.4.3" form-data: "npm:^4.0.0" @@ -9261,7 +9294,7 @@ __metadata: rrweb-cssom: "npm:^0.7.1" saxes: "npm:^6.0.0" symbol-tree: "npm:^3.2.4" - tough-cookie: "npm:^4.1.4" + tough-cookie: "npm:^5.0.0" w3c-xmlserializer: "npm:^5.0.0" webidl-conversions: "npm:^7.0.0" whatwg-encoding: "npm:^3.1.1" @@ -9274,7 +9307,7 @@ __metadata: peerDependenciesMeta: canvas: optional: true - checksum: 10/f07271fe3922458885540b4dd9fb6170a11059f3128ec3cec2688c5c10fde5ca2e8ddcc207fff540e21dfaf592fae6a791c3359038ba4d116250dd3258fbd8cb + checksum: 10/e6bf7250ddd2fbcf68da0ea041a0dc63545dc4bf77fa3ff40a46ae45b1dac1ca55b87574ab904d1f8baeeb547c52cec493a22f545d7d413b320011f41150ec49 languageName: node linkType: hard @@ -11183,13 +11216,6 @@ __metadata: languageName: node linkType: hard -"psl@npm:^1.1.33": - version: 1.9.0 - resolution: "psl@npm:1.9.0" - checksum: 10/d07879d4bfd0ac74796306a8e5a36a93cfb9c4f4e8ee8e63fbb909066c192fe1008cd8f12abd8ba2f62ca28247949a20c8fb32e1d18831d9e71285a1569720f9 - languageName: node - linkType: hard - "punycode@npm:^2.1.0": version: 2.1.1 resolution: "punycode@npm:2.1.1" @@ -11197,7 +11223,7 @@ __metadata: languageName: node linkType: hard -"punycode@npm:^2.1.1, punycode@npm:^2.3.1": +"punycode@npm:^2.3.1": version: 2.3.1 resolution: "punycode@npm:2.3.1" checksum: 10/febdc4362bead22f9e2608ff0171713230b57aff9dddc1c273aa2a651fbd366f94b7d6a71d78342a7c0819906750351ca7f2edd26ea41b626d87d6a13d1bd059 @@ -11211,13 +11237,6 @@ __metadata: languageName: node linkType: hard -"querystringify@npm:^2.1.1": - version: 2.2.0 - resolution: "querystringify@npm:2.2.0" - checksum: 10/46ab16f252fd892fc29d6af60966d338cdfeea68a231e9457631ffd22d67cec1e00141e0a5236a2eb16c0d7d74175d9ec1d6f963660c6f2b1c2fc85b194c5680 - languageName: node - linkType: hard - "queue-microtask@npm:^1.2.2": version: 1.2.3 resolution: "queue-microtask@npm:1.2.3" @@ -11428,6 +11447,13 @@ __metadata: languageName: node linkType: hard +"readdirp@npm:^4.0.1": + version: 4.0.1 + resolution: "readdirp@npm:4.0.1" + checksum: 10/f8a2d3308c9dd19d9da4fc7f19a02fc057259a80014949d8f3d98f4e6042896119fb96eb3f3e6a743747d12f0bf781b771902b0b03aba58f884589c50968fad4 + languageName: node + linkType: hard + "readdirp@npm:~3.6.0": version: 3.6.0 resolution: "readdirp@npm:3.6.0" @@ -11642,13 +11668,6 @@ __metadata: languageName: node linkType: hard -"requires-port@npm:^1.0.0": - version: 1.0.0 - resolution: "requires-port@npm:1.0.0" - checksum: 10/878880ee78ccdce372784f62f52a272048e2d0827c29ae31e7f99da18b62a2b9463ea03a75f277352f4697c100183debb0532371ad515a2d49d4bfe596dd4c20 - languageName: node - linkType: hard - "resolve-cwd@npm:^3.0.0": version: 3.0.0 resolution: "resolve-cwd@npm:3.0.0" @@ -11929,13 +11948,6 @@ __metadata: languageName: node linkType: hard -"rrweb-cssom@npm:^0.6.0": - version: 0.6.0 - resolution: "rrweb-cssom@npm:0.6.0" - checksum: 10/5411836a4a78d6b68480767b8312de291f32d5710a278343954a778e5b420eaf13c90d9d2a942acf4718ddf497baa75ce653a314b332a380b6eaae1dee72257e - languageName: node - linkType: hard - "rrweb-cssom@npm:^0.7.1": version: 0.7.1 resolution: "rrweb-cssom@npm:0.7.1" @@ -12026,16 +12038,16 @@ __metadata: languageName: node linkType: hard -"sass@npm:^1.78.0": - version: 1.78.0 - resolution: "sass@npm:1.78.0" +"sass@npm:^1.79.3": + version: 1.79.3 + resolution: "sass@npm:1.79.3" dependencies: - chokidar: "npm:>=3.0.0 <4.0.0" + chokidar: "npm:^4.0.0" immutable: "npm:^4.0.0" source-map-js: "npm:>=0.6.2 <2.0.0" bin: sass: sass.js - checksum: 10/a180135addd9108d9a3549e111b2b442a97761bc429ef04374d57ef741d4343378e7092a6cba12e1f94e48b02d9b997cc79e737c0a2b834ad9204a761b14734d + checksum: 10/9b83e91c44a4c5d738ded27fcd2c88260f5f407e49c6aab92f75a1f768831182a8f4f89f30e2599b74447451d6536ea6f3a55cac34c5ec00b45983d493732e5d languageName: node linkType: hard @@ -12337,7 +12349,7 @@ __metadata: "@apollo/client": "npm:^3.11.8" "@eslint/compat": "npm:^1.1.1" "@eslint/eslintrc": "npm:^3.1.0" - "@eslint/js": "npm:^9.10.0" + "@eslint/js": "npm:^9.11.1" "@fortawesome/fontawesome-svg-core": "npm:^6.6.0" "@fortawesome/free-regular-svg-icons": "npm:^6.6.0" "@fortawesome/free-solid-svg-icons": "npm:^6.6.0" @@ -12352,17 +12364,17 @@ __metadata: "@turf/helpers": "npm:^7.1.0" "@types/hat": "npm:^0.0.4" "@types/jest": "npm:^29.5.13" - "@types/lodash": "npm:^4.17.7" + "@types/lodash": "npm:^4.17.9" "@types/mapbox__mapbox-gl-draw": "npm:~1.4.6" "@types/node": "npm:^20.16.5" - "@types/react": "npm:^18.3.7" + "@types/react": "npm:^18.3.8" "@types/react-color": "npm:^3.0.12" "@types/react-dom": "npm:^18.3.0" "@types/react-router-dom": "npm:^5.3.3" "@types/semver": "npm:^7.5.8" "@types/uuid": "npm:^10.0.0" - "@typescript-eslint/eslint-plugin": "npm:^8.6.0" - "@typescript-eslint/parser": "npm:^8.6.0" + "@typescript-eslint/eslint-plugin": "npm:^8.7.0" + "@typescript-eslint/parser": "npm:^8.7.0" "@vite-pwa/assets-generator": "npm:^0.2.6" "@vitejs/plugin-react-swc": "npm:^3.7.0" "@vitest/coverage-v8": "npm:^2.1.1" @@ -12370,7 +12382,7 @@ __metadata: bulma: "npm:^1.0.2" classnames: "npm:^2.5.1" dayjs: "npm:^1.11.13" - eslint: "npm:^9.10.0" + eslint: "npm:^9.11.1" eslint-plugin-react: "npm:^7.36.1" globals: "npm:^15.9.0" graphql: "npm:^16.9.0" @@ -12379,7 +12391,7 @@ __metadata: i18next: "npm:^23.15.1" i18next-browser-languagedetector: "npm:^8.0.0" jest: "npm:^29.7.0" - jsdom: "npm:^25.0.0" + jsdom: "npm:^25.0.1" lint-staged: "npm:^15.2.10" lodash: "npm:^4.17.21" mapbox-gl-style-switcher: "npm:^1.0.11" @@ -12394,14 +12406,14 @@ __metadata: react-markdown: "npm:^9.0.1" react-router-dom: "npm:^6.26.2" rollup-plugin-visualizer: "npm:^5.12.0" - sass: "npm:^1.78.0" + sass: "npm:^1.79.3" semver: "npm:^7.6.3" source-map-explorer: "npm:^2.5.3" ts-jest: "npm:^29.2.5" typescript: "npm:^5.6.2" usehooks-ts: "npm:^3.1.0" uuid: "npm:^10.0.0" - vite: "npm:^5.4.6" + vite: "npm:^5.4.7" vite-plugin-checker: "npm:^0.8.0" vite-plugin-eslint: "npm:^1.8.1" vite-plugin-pwa: "npm:^0.20.5" @@ -13196,6 +13208,24 @@ __metadata: languageName: node linkType: hard +"tldts-core@npm:^6.1.47": + version: 6.1.47 + resolution: "tldts-core@npm:6.1.47" + checksum: 10/a8947de8a4cff75e9f41365e523c96ec2fd66f5bed195a53d81135bcea7771907c555c2bdb01de7b33b3d6180a5a925b1b2c57ac4f2aac783e47b8febfe400f3 + languageName: node + linkType: hard + +"tldts@npm:^6.1.32": + version: 6.1.47 + resolution: "tldts@npm:6.1.47" + dependencies: + tldts-core: "npm:^6.1.47" + bin: + tldts: bin/cli.js + checksum: 10/e2301ebc14203ce9cd68d541086d7e81c08f9e7b840948cd38db73f45ec6c839f76f2b1233016afd1ae7ba62027b4443200ef65176f4b76e6c7a2f87fab00d41 + languageName: node + linkType: hard + "tmpl@npm:1.0.5": version: 1.0.5 resolution: "tmpl@npm:1.0.5" @@ -13226,15 +13256,12 @@ __metadata: languageName: node linkType: hard -"tough-cookie@npm:^4.1.4": - version: 4.1.4 - resolution: "tough-cookie@npm:4.1.4" +"tough-cookie@npm:^5.0.0": + version: 5.0.0 + resolution: "tough-cookie@npm:5.0.0" dependencies: - psl: "npm:^1.1.33" - punycode: "npm:^2.1.1" - universalify: "npm:^0.2.0" - url-parse: "npm:^1.5.3" - checksum: 10/75663f4e2cd085f16af0b217e4218772adf0617fb3227171102618a54ce0187a164e505d61f773ed7d65988f8ff8a8f935d381f87da981752c1171b076b4afac + tldts: "npm:^6.1.32" + checksum: 10/a98d3846ed386e399e8b470c1eb08a6a296944246eabc55c9fe79d629bd2cdaa62f5a6572f271fe0060987906bd20468d72a219a3b4cbe51086bea48d2d677b6 languageName: node linkType: hard @@ -13713,13 +13740,6 @@ __metadata: languageName: node linkType: hard -"universalify@npm:^0.2.0": - version: 0.2.0 - resolution: "universalify@npm:0.2.0" - checksum: 10/e86134cb12919d177c2353196a4cc09981524ee87abf621f7bc8d249dbbbebaec5e7d1314b96061497981350df786e4c5128dbf442eba104d6e765bc260678b5 - languageName: node - linkType: hard - "universalify@npm:^2.0.0": version: 2.0.0 resolution: "universalify@npm:2.0.0" @@ -13771,16 +13791,6 @@ __metadata: languageName: node linkType: hard -"url-parse@npm:^1.5.3": - version: 1.5.10 - resolution: "url-parse@npm:1.5.10" - dependencies: - querystringify: "npm:^2.1.1" - requires-port: "npm:^1.0.0" - checksum: 10/c9e96bc8c5b34e9f05ddfeffc12f6aadecbb0d971b3cc26015b58d5b44676a99f50d5aeb1e5c9e61fa4d49961ae3ab1ae997369ed44da51b2f5ac010d188e6ad - languageName: node - linkType: hard - "usehooks-ts@npm:^3.1.0": version: 3.1.0 resolution: "usehooks-ts@npm:3.1.0" From 1fe260b1e1599a0dc98a9c7d29458361e9378ce3 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 24 Sep 2024 08:30:34 +0000 Subject: [PATCH 26/35] chore(deps): bump dompurify (#435) Bumps the npm_and_yarn group with 1 update in the /ui directory: [dompurify](https://github.com/cure53/DOMPurify). Updates `dompurify` from 2.4.1 to 2.5.6 - [Release notes](https://github.com/cure53/DOMPurify/releases) - [Commits](https://github.com/cure53/DOMPurify/compare/2.4.1...2.5.6) --- updated-dependencies: - dependency-name: dompurify dependency-type: indirect dependency-group: npm_and_yarn ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- ui/yarn.lock | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/ui/yarn.lock b/ui/yarn.lock index 89e0fabe..b9d5e94f 100644 --- a/ui/yarn.lock +++ b/ui/yarn.lock @@ -6207,9 +6207,9 @@ __metadata: linkType: hard "dompurify@npm:^2.2.0": - version: 2.4.1 - resolution: "dompurify@npm:2.4.1" - checksum: 10/5d1bc1a9cdf8c3e9f4051524ee73a414d91f81d5cdcb6a29a0167a857d08a66ad851457091e693342ef6cd2011a94a7396285573298d6fb4910e2c2c0d39c04f + version: 2.5.6 + resolution: "dompurify@npm:2.5.6" + checksum: 10/ef5fdc075ee448246b2b54bf8c7e2608dbaa176d9366137d2ff4e4ed4e580a2e913d5a58f1d3609f63d67871574e5fdcce534b185a1b1efdd8b931cd843b045a languageName: node linkType: hard From 9dbe2dc9ff227d35c1c4e96c2f796fa8a5bc0fa8 Mon Sep 17 00:00:00 2001 From: Daniel Aschwanden Date: Tue, 24 Sep 2024 11:47:37 +0200 Subject: [PATCH 27/35] feat(map): switch mapstyle to basemap vector tiles and enable housenumbers --- ui/package.json | 2 +- .../ch.swisstopo.leichte-basiskarte.vt.json | 7450 ++++++++++++----- ui/yarn.lock | 2 +- 3 files changed, 5237 insertions(+), 2217 deletions(-) diff --git a/ui/package.json b/ui/package.json index 532ebf82..7f36beac 100644 --- a/ui/package.json +++ b/ui/package.json @@ -23,7 +23,7 @@ "i18next-browser-languagedetector": "^8.0.0", "lodash": "^4.17.21", "mapbox-gl-style-switcher": "^1.0.11", - "maplibre-gl": "4.6.0", + "maplibre-gl": "4.7.1", "react": "^18.3.1", "react-autocomplete-hint": "^2.0.0", "react-color": "^2.19.3", diff --git a/ui/src/assets/map/styles/ch.swisstopo.leichte-basiskarte.vt.json b/ui/src/assets/map/styles/ch.swisstopo.leichte-basiskarte.vt.json index eab639bd..7e0b0f73 100644 --- a/ui/src/assets/map/styles/ch.swisstopo.leichte-basiskarte.vt.json +++ b/ui/src/assets/map/styles/ch.swisstopo.leichte-basiskarte.vt.json @@ -1,14 +1,14 @@ { "version": 8, - "id": "f101c24c-3cbe-4c43-9ede-e09d7b28c858", - "name": "lightbasemap_v3.0.0", + "id": "7ddfe552-9888-40f8-97ce-c21cbf83d5c8", + "name": "lightbasemap_v1.15.0", "sources": { "terrain_v1.0.0": { "url": "https://vectortiles.geo.admin.ch/tiles/ch.swisstopo.relief.vt/v1.0.0/tiles.json", "type": "vector" }, - "leichtebasiskarte_v3.0.1": { - "url": "https://vectortiles.geo.admin.ch/tiles/ch.swisstopo.leichte-basiskarte.vt/v3.0.1/tiles.json", + "base_v1.0.0": { + "url": "https://vectortiles.geo.admin.ch/tiles/ch.swisstopo.base.vt/v1.0.0/tiles.json", "type": "vector" } }, @@ -311,7 +311,7 @@ { "id": "contour_line", "type": "line", - "source": "leichtebasiskarte_v3.0.1", + "source": "base_v1.0.0", "source-layer": "contour_line", "minzoom": 13.0, "layout": { @@ -586,7 +586,7 @@ { "id": "landcover", "type": "fill", - "source": "leichtebasiskarte_v3.0.1", + "source": "base_v1.0.0", "source-layer": "landcover", "minzoom": 5.0, "layout": { @@ -740,7 +740,7 @@ { "id": "landcover_casing", "type": "line", - "source": "leichtebasiskarte_v3.0.1", + "source": "base_v1.0.0", "source-layer": "landcover", "minzoom": 10.0, "layout": { @@ -796,10 +796,54 @@ ] ] }, + { + "id": "landcover_pt", + "type": "symbol", + "source": "base_v1.0.0", + "source-layer": "landcover_pt", + "minzoom": 14, + "layout": { + "icon-size": [ + "interpolate", + [ + "exponential", + 1.6 + ], + [ + "zoom" + ], + 14, + 0.2, + 18, + 1 + ], + "text-font": [], + "icon-image": "dot_green", + "visibility": "visible", + "icon-allow-overlap": false, + "icon-pitch-alignment": "map", + "icon-ignore-placement": false, + "icon-rotation-alignment": "map" + }, + "paint": { + "icon-opacity": { + "stops": [ + [ + 14, + 0.4 + ], + [ + 18, + 0.6 + ] + ] + } + } + }, { "id": "landuse", "type": "fill", - "source": "leichtebasiskarte_v3.0.1", + "source": "base_v1.0.0", "source-layer": "landuse", "layout": { "visibility": "visible" @@ -860,7 +904,7 @@ { "id": "landuse_outline", "type": "line", - "source": "leichtebasiskarte_v3.0.1", + "source": "base_v1.0.0", "source-layer": "landuse", "layout": { "visibility": "visible" @@ -919,7 +963,7 @@ { "id": "water_line_intermittent", "type": "line", - "source": "leichtebasiskarte_v3.0.1", + "source": "base_v1.0.0", "source-layer": "waterway", "minzoom": 12.0, "layout": { @@ -1131,7 +1175,7 @@ { "id": "water_line", "type": "line", - "source": "leichtebasiskarte_v3.0.1", + "source": "base_v1.0.0", "source-layer": "waterway", "minzoom": 7.0, "layout": { @@ -1360,13 +1404,20 @@ "!=", "intermittent", 1 + ], + [ + "!in", + "class", + "riverbank", + "shoreline", + "shoreline_changing_level" ] ] }, { "id": "water_polygon", "type": "fill", - "source": "leichtebasiskarte_v3.0.1", + "source": "base_v1.0.0", "source-layer": "water", "layout": { "visibility": "visible" @@ -1428,7 +1479,7 @@ { "id": "contour_line_water", "type": "line", - "source": "leichtebasiskarte_v3.0.1", + "source": "base_v1.0.0", "source-layer": "contour_line", "minzoom": 13.0, "layout": { @@ -1683,7 +1734,7 @@ { "id": "label_contour_line_20_grey", "type": "symbol", - "source": "leichtebasiskarte_v3.0.1", + "source": "base_v1.0.0", "source-layer": "contour_line", "minzoom": 16.0, "layout": { @@ -1826,7 +1877,7 @@ { "id": "label_contour_line_20_blue", "type": "symbol", - "source": "leichtebasiskarte_v3.0.1", + "source": "base_v1.0.0", "source-layer": "contour_line", "minzoom": 16.0, "layout": { @@ -1970,7 +2021,7 @@ { "id": "label_contour_line_20_brown", "type": "symbol", - "source": "leichtebasiskarte_v3.0.1", + "source": "base_v1.0.0", "source-layer": "contour_line", "minzoom": 16.0, "layout": { @@ -2113,7 +2164,7 @@ { "id": "label_contour_line_100_grey", "type": "symbol", - "source": "leichtebasiskarte_v3.0.1", + "source": "base_v1.0.0", "source-layer": "contour_line", "minzoom": 14.0, "layout": { @@ -2265,7 +2316,7 @@ { "id": "label_contour_line_100_blue", "type": "symbol", - "source": "leichtebasiskarte_v3.0.1", + "source": "base_v1.0.0", "source-layer": "contour_line", "minzoom": 14.0, "layout": { @@ -2418,7 +2469,7 @@ { "id": "label_contour_line_100_brown", "type": "symbol", - "source": "leichtebasiskarte_v3.0.1", + "source": "base_v1.0.0", "source-layer": "contour_line", "minzoom": 14.0, "layout": { @@ -2570,7 +2621,7 @@ { "id": "water_outline", "type": "line", - "source": "leichtebasiskarte_v3.0.1", + "source": "base_v1.0.0", "source-layer": "water", "layout": { "visibility": "visible" @@ -2608,9 +2659,12 @@ { "id": "pattern_landcover_vineyard", "type": "fill", - "source": "leichtebasiskarte_v3.0.1", + "source": "base_v1.0.0", "source-layer": "landcover", "minzoom": 13.0, + "layout": { + "visibility": "visible" + }, "paint": { "fill-opacity": [ "interpolate", @@ -2642,9 +2696,12 @@ { "id": "pattern_landcover_wetlands", "type": "fill", - "source": "leichtebasiskarte_v3.0.1", + "source": "base_v1.0.0", "source-layer": "landcover", "minzoom": 13.0, + "layout": { + "visibility": "visible" + }, "paint": { "fill-color": "#000000", "fill-opacity": [ @@ -2678,9 +2735,12 @@ { "id": "pattern_landcover_orchard", "type": "fill", - "source": "leichtebasiskarte_v3.0.1", + "source": "base_v1.0.0", "source-layer": "landcover", "minzoom": 13.0, + "layout": { + "visibility": "visible" + }, "paint": { "fill-opacity": [ "interpolate", @@ -2712,9 +2772,12 @@ { "id": "park", "type": "line", - "source": "leichtebasiskarte_v3.0.1", + "source": "base_v1.0.0", "source-layer": "park", "minzoom": 7.0, + "layout": { + "visibility": "visible" + }, "paint": { "line-color": "rgba(171, 197, 159, 1)", "line-width": [ @@ -2763,7 +2826,7 @@ { "id": "boundary_disputed", "type": "line", - "source": "leichtebasiskarte_v3.0.1", + "source": "base_v1.0.0", "source-layer": "boundary", "minzoom": 0.0, "layout": { @@ -2883,7 +2946,7 @@ { "id": "boundary", "type": "line", - "source": "leichtebasiskarte_v3.0.1", + "source": "base_v1.0.0", "source-layer": "boundary", "minzoom": 0.0, "layout": { @@ -3005,7 +3068,7 @@ { "id": "tunnel_public_transport", "type": "line", - "source": "leichtebasiskarte_v3.0.1", + "source": "base_v1.0.0", "source-layer": "transportation", "minzoom": 8.0, "layout": { @@ -3121,7 +3184,18 @@ [ "zoom" ], - 8, + 9, + [ + "match", + [ + "get", + "subclass" + ], + "rail", + 0.75, + 0 + ], + 10, [ "match", [ @@ -3152,12 +3226,24 @@ "yard", "siding" ], - 0.2, + 0, 0.75 ], - 0.2 + 0.5 ], - 0.2 + [ + "match", + [ + "get", + "subclass" + ], + [ + "cable_car", + "funicular" + ], + 0.75, + 0.5 + ] ], 14, [ @@ -3166,6 +3252,8 @@ "get", "class" ], + "transit", + 1, [ "rail" ], @@ -3190,16 +3278,24 @@ "yard", "siding" ], - 0.1, - 1.25 + 0, + 2 ], 1 ], [ - "cable_car" - ], - 1, - 0.75 + "match", + [ + "get", + "subclass" + ], + [ + "cable_car", + "funicular" + ], + 1, + 0 + ] ], 18, [ @@ -3209,39 +3305,22 @@ "class" ], [ - "rail" + "transit" ], + 1.5, [ "match", [ "get", - "subclass" - ], - [ - "rail", - "narrow_gauge", - "rack_rail" + "service" ], [ - "match", - [ - "get", - "service" - ], - [ - "yard", - "siding" - ], - 1, - 2 + "yard", + "siding" ], + 1.5, 2 - ], - [ - "cable_car" - ], - 2, - 1.5 + ] ] ], "line-opacity": [ @@ -3259,12 +3338,21 @@ "match", [ "get", - "class" + "is_route" ], + 99, [ - "rail" + "match", + [ + "get", + "class" + ], + [ + "rail" + ], + 0.8, + 0 ], - 0.8, 0 ], 13, @@ -3374,7 +3462,7 @@ { "id": "tunnel_road", "type": "line", - "source": "leichtebasiskarte_v3.0.1", + "source": "base_v1.0.0", "source-layer": "transportation", "minzoom": 7.0, "layout": { @@ -3392,166 +3480,127 @@ "zoom" ], 7, + 3, + 8, + 0.4 + ], + "line-color": { + "stops": [ + [ + 6, + "rgba(170, 170, 170, 1)" + ], + [ + 11, + "rgba(130, 130, 130, 1)" + ] + ] + }, + "line-width": [ + "interpolate", [ - "literal", - 2 + "linear" ], - 8, [ - "literal", - 1 + "zoom" ], - 9, + 8, [ "match", [ "get", - "class" + "is_route" ], [ - "motorway", - "trunk", - "primary" + 5, + 10, + 99 ], - 0.4, - 3 + 1, + [ + "match", + [ + "get", + "ramp" + ], + 1, + 1, + 0 + ] ], 10, [ "match", [ "get", - "class" + "is_route" ], [ - "motorway", - "trunk", - "primary", - "secondary" + 5, + 6, + 7, + 8, + 10, + 99 ], - 0.4, - 3 + [ + "match", + [ + "get", + "class" + ], + [ + "motorway", + "trunk" + ], + 1.2, + [ + "primary", + "secondary", + "tertiary", + "minor" + ], + 1, + 0 + ], + 0 ], 11, [ "match", [ "get", - "class" - ], - [ - "motorway", - "trunk", - "primary", - "secondary" + "is_route" ], - 0.4, - 3 - ], - 12, - [ - "match", [ - "get", - "class" + 5, + 6, + 7, + 8, + 10, + 99 ], [ - "motorway", - "trunk", - "primary", - "secondary", - "tertiary" + "match", + [ + "get", + "class" + ], + [ + "motorway", + "trunk" + ], + 1.3, + [ + "primary", + "secondary", + "tertiary", + "minor" + ], + 1, + 0 ], - 0.4, - 3 - ], - 13, - [ - "match", - [ - "get", - "class" - ], - [ - "motorway", - "trunk", - "primary", - "secondary", - "tertiary" - ], - 0.4, - [ - "minor" - ], - 1, - 3 - ], - 15, - 0.4 - ], - "line-color": { - "stops": [ - [ - 6, - "rgba(170, 170, 170, 1)" - ], - [ - 11, - "rgba(130, 130, 130, 1)" - ] - ] - }, - "line-width": [ - "interpolate", - [ - "linear" - ], - [ - "zoom" - ], - 8, - 1, - 10, - [ - "match", - [ - "get", - "class" - ], - [ - "motorway", - "trunk" - ], - 1.2, - [ - "primary", - "secondary", - "tertiary", - "minor" - ], - 1, - 0 - ], - 11, - [ - "match", - [ - "get", - "class" - ], - [ - "motorway", - "trunk" - ], - 1.3, - [ - "primary", - "secondary", - "tertiary", - "minor" - ], - 1, - 0 + 0.25 ], 13, [ @@ -3688,10 +3737,24 @@ "class", "rail", "ferry", + "car_ferry", "transit", "cable_car", + "chair_lift", "gondola", - "path" + "drag_lift", + "aerialway_transportation", + "aerialway_closed", + "aerialway_goods", + "goods_conveyor", + "path", + "footway", + "trail", + "rail", + "track", + "transit", + "via_ferrata", + "mask_terrain" ], [ "==", @@ -3703,7 +3766,7 @@ { "id": "tunnel_road_path_footway", "type": "line", - "source": "leichtebasiskarte_v3.0.1", + "source": "base_v1.0.0", "source-layer": "transportation", "minzoom": 6.0, "layout": { @@ -3804,9 +3867,12 @@ { "id": "construct_line", "type": "line", - "source": "leichtebasiskarte_v3.0.1", + "source": "base_v1.0.0", "source-layer": "construct", "minzoom": 14.0, + "layout": { + "visibility": "visible" + }, "paint": { "line-blur": 0.4, "line-color": "hsl(220, 10%, 67%)", @@ -3847,9 +3913,12 @@ { "id": "construct", "type": "fill", - "source": "leichtebasiskarte_v3.0.1", + "source": "base_v1.0.0", "source-layer": "construct", "minzoom": 13.0, + "layout": { + "visibility": "visible" + }, "paint": { "fill-color": [ "interpolate", @@ -3934,7 +4003,7 @@ { "id": "aeroway_polygon_casing", "type": "line", - "source": "leichtebasiskarte_v3.0.1", + "source": "base_v1.0.0", "source-layer": "aeroway", "minzoom": 11.0, "layout": { @@ -3984,7 +4053,7 @@ { "id": "aeroway_line_casing", "type": "line", - "source": "leichtebasiskarte_v3.0.1", + "source": "base_v1.0.0", "source-layer": "aeroway", "minzoom": 11.0, "layout": { @@ -4027,7 +4096,7 @@ { "id": "road_via_ferrata_trail", "type": "line", - "source": "leichtebasiskarte_v3.0.1", + "source": "base_v1.0.0", "source-layer": "transportation", "minzoom": 14.0, "layout": { @@ -4146,9 +4215,10 @@ { "id": "road_path_footway", "type": "line", - "source": "leichtebasiskarte_v3.0.1", + "source": "base_v1.0.0", "source-layer": "transportation", "minzoom": 11.0, + "maxzoom": 22.0, "layout": { "line-cap": "butt", "line-join": "bevel", @@ -4193,21 +4263,43 @@ [ "zoom" ], + 11, + [ + "match", + [ + "get", + "is_route" + ], + 11, + 0.5, + 0 + ], 12, [ "match", [ "get", - "class" + "is_route" ], + 11, [ - "path", - "track", - "footway" + "match", + [ + "get", + "class" + ], + [ + "path", + "track", + "footway" + ], + 0.5, + 1 ], - 0.5, - 1 + 0 ], + 14, + 0.7, 15, 1 ], @@ -4301,9 +4393,12 @@ { "id": "building_ln", "type": "line", - "source": "leichtebasiskarte_v3.0.1", + "source": "base_v1.0.0", "source-layer": "building_ln", "minzoom": 13.0, + "layout": { + "visibility": "visible" + }, "paint": { "line-blur": 0.4, "line-color": [ @@ -4342,12 +4437,38 @@ 0.2, 1 ] - } + }, + "filter": [ + "all", + [ + "match", + [ + "get", + "class" + ], + [ + "horse_racing", + "ski_jump", + "toboggan", + "track", + "weir" + ], + true, + false + ], + [ + "==", + [ + "geometry-type" + ], + "LineString" + ] + ] }, { "id": "road_casing", "type": "line", - "source": "leichtebasiskarte_v3.0.1", + "source": "base_v1.0.0", "source-layer": "transportation", "minzoom": 7.0, "layout": { @@ -4368,7 +4489,7 @@ 3, 8, 0.4, - 12, + 11, [ "match", [ @@ -4378,7 +4499,7 @@ [ 11 ], - 2, + 4, 0.4 ], 13, @@ -4443,362 +4564,548 @@ "zoom" ], 7, - [ - "literal", - 0 - ], + 0, 8, [ "match", [ "get", - "ramp" - ], - 1, - 1.5, - 3 - ], - 10, - [ - "match", - [ - "get", - "class" + "is_route" ], [ - "motorway" + 5, + 10, + 99 ], [ "match", [ "get", - "ramp" + "class" ], - 1, - 2.5, - 4 - ], - [ - "trunk" - ], - 4, - [ - "match", [ - "get", - "is_route" + "motorway" ], - 11, - 0, + [ + "match", + [ + "get", + "ramp" + ], + 1, + 1.5, + 3 + ], + [ + "trunk" + ], + 3, 3 - ] + ], + 0 ], - 11, + 9, [ "match", [ "get", - "class" + "is_route" ], [ - "motorway" + 5, + 10, + 99 ], [ "match", [ "get", - "ramp" + "class" ], - 1, - 2.5, - 4 - ], - [ - "trunk" - ], - 4, - [ - "match", [ - "get", - "is_route" + "motorway" ], - 11, - 0, + [ + "match", + [ + "get", + "ramp" + ], + 1, + 2, + 3.5 + ], + [ + "trunk" + ], + 3.5, 3 - ] + ], + 0 ], - 12, + 10, [ "match", [ "get", - "class" - ], - [ - "motorway" + "is_route" + ], + [ + 5, + 6, + 7, + 8, + 10, + 99 ], [ "match", [ "get", - "ramp" + "class" ], - 1, + [ + "motorway" + ], + [ + "match", + [ + "get", + "ramp" + ], + 1, + 2, + 4 + ], + [ + "trunk" + ], + 4, + "primary", + 3.5, + "secondary", + 3.5, + "tertiary", 3, - 5 - ], - [ - "trunk" + [ + "minor", + "service" + ], + 2.5, + 0 ], [ "match", [ "get", - "oneway" + "ramp" ], 1, - 5, - 5 + 2, + 0 + ] + ], + 11, + [ + "match", + [ + "get", + "is_route" ], [ - "primary" + 5, + 6, + 7, + 8, + 10, + 99 ], [ "match", [ "get", - "is_route" + "class" ], [ - 11 + "motorway" ], - 0.75, [ - 5, - 6, - 7, - 8, - 9, - 10, - 99 + "match", + [ + "get", + "ramp" + ], + 1, + 2.5, + 4.5 ], - 5, - 0 - ], - [ - "secondary" - ], - [ - "match", [ - "get", - "is_route" + "trunk" ], + 4.5, + "primary", + 4, + "secondary", + 4, + "tertiary", + 3.5, [ - 11 + "minor", + "service" ], - 0.75, + 2.75, [ - 5, - 6, - 7, - 8, - 9, - 10, - 99 + "track", + "path", + "footway" ], - 4.5, + 0.5, 0 ], - [ - "tertiary" - ], [ "match", [ "get", - "is_route" - ], - [ - 11 - ], - 0.75, - [ - 5, - 6, - 7, - 8, - 9, - 10, - 99 + "ramp" ], - 3.25, + 1, + 2.5, 0 + ] + ], + 12, + [ + "match", + [ + "get", + "is_route" ], [ - "track" + 5, + 6, + 7, + 8, + 10, + 99 ], [ "match", [ "get", - "is_route" + "class" ], [ - 11 + "motorway", + "trunk" ], - 0.75, [ - 5, - 6, - 7, - 8, - 9, - 10, - 99 + "match", + [ + "get", + "ramp" + ], + 1, + 2.75, + 5 + ], + "primary", + 5, + "secondary", + 4.5, + "tertiary", + 4, + [ + "minor", + "service" + ], + 3, + [ + "track", + "path", + "footway" ], 0.75, 0 ], [ - "minor" + 11 ], [ "match", [ "get", - "is_route" + "class" ], [ - 11 + "motorway", + "trunk", + "primary", + "secondary", + "tertiary", + "minor" ], - 0.75, [ - 5, - 6, - 7, - 8, - 9, - 10, - 99 + "match", + [ + "get", + "ramp" + ], + 1, + 2.75, + 0.75 ], - 3, - 0 - ], - 0 - ], - 13, - [ - "match", - [ - "get", - "class" - ], - [ - "motorway" - ], - [ - "match", [ - "get", - "ramp" + "track", + "path", + "footway" ], - 1, - 3.5, - 5.5 - ], - [ - "trunk" + 0.5, + 0 ], [ "match", [ "get", - "oneway" + "ramp" ], 1, - 5.5, - 5.5 - ], - [ - "primary" - ], - 5.5, - [ - "secondary" - ], - 5, - [ - "tertiary" - ], - 4, - [ - "minor" - ], - 3, - [ - "track" - ], - 0.5, - 0 + 2.75, + 0 + ] ], - 15, + 13, [ "match", [ "get", - "class" + "is_route" ], [ - "motorway" + 5, + 6, + 7, + 8, + 10, + 99 ], [ "match", [ "get", - "ramp" + "class" ], - 1, - 6.5, - 8 - ], - [ - "trunk" - ], - [ - "match", [ - "get", - "oneway" + "motorway" ], - 1, - 8, - 9 - ], - [ - "primary" - ], - 9, - [ - "secondary" - ], - 8, - [ - "tertiary" + [ + "match", + [ + "get", + "ramp" + ], + 1, + 3, + 6 + ], + [ + "trunk" + ], + 6, + "primary", + 5.5, + "secondary", + 5, + "tertiary", + 4.5, + [ + "minor", + "service" + ], + 3.5, + [ + "track", + "path", + "footway" + ], + [ + "match", + [ + "get", + "subclass" + ], + "covered_bridge", + 3, + 1 + ], + 3 ], - 7, + 11, [ - "minor" + "match", + [ + "get", + "class" + ], + [ + "motorway", + "trunk" + ], + [ + "match", + [ + "get", + "ramp" + ], + 1, + 3, + 6 + ], + "primary", + 4, + "secondary", + 3.75, + "tertiary", + 3.75, + [ + "minor", + "service" + ], + 3, + [ + "track", + "path", + "footway" + ], + [ + "match", + [ + "get", + "subclass" + ], + "covered_bridge", + 3, + 0.5 + ], + 3 ], - 5, + 0 + ], + 14, + [ + "match", [ - "track" + "get", + "is_route" ], - 1.1, - 4 + [ + 5, + 6, + 7, + 8, + 10, + 99 + ], + [ + "match", + [ + "get", + "class" + ], + [ + "motorway" + ], + [ + "match", + [ + "get", + "ramp" + ], + 1, + 4, + 7 + ], + [ + "trunk" + ], + 7, + "primary", + 6.5, + "secondary", + 6, + "tertiary", + 5, + [ + "minor", + "service" + ], + 4, + [ + "track", + "path", + "footway" + ], + [ + "match", + [ + "get", + "subclass" + ], + "covered_bridge", + 3.5, + 0.75 + ], + 3.5 + ], + [ + "match", + [ + "get", + "class" + ], + [ + "motorway", + "trunk" + ], + [ + "match", + [ + "get", + "ramp" + ], + 1, + 4, + 7 + ], + "primary", + 4.5, + "secondary", + 4, + "tertiary", + 4, + [ + "minor", + "service" + ], + 3.5, + [ + "track", + "path", + "footway" + ], + [ + "match", + [ + "get", + "subclass" + ], + "covered_bridge", + 3.5, + 0.75 + ], + 3.5 + ] ], - 16, + 15, [ "match", [ @@ -4806,7 +5113,8 @@ "class" ], [ - "motorway" + "motorway", + "motorway_construction" ], [ "match", @@ -4815,11 +5123,12 @@ "ramp" ], 1, - 10, - 12 + 6.5, + 8 ], [ - "trunk" + "trunk", + "trunk_construction" ], [ "match", @@ -4828,32 +5137,56 @@ "oneway" ], 1, - 12, - 15 + 8, + 12 ], [ - "primary" + "primary", + "primary_construction" ], - 15, + 8, [ - "secondary" + "secondary", + "secondary_construction" ], - 13, + 7, [ - "tertiary" + "tertiary", + "tertiary_construction" ], - 11, + 6, [ - "minor" + "minor", + "minor_construction", + "service", + "service_construction", + "rail", + "rail_construction" ], - 9, + 5, [ - "track" + "track", + "track_construction", + "path", + "path_construction", + "footway", + "footway_construction", + "transit", + "transit_construction" ], - 1.1, - 8 + [ + "match", + [ + "get", + "subclass" + ], + "covered_bridge", + 4, + 1.1 + ], + 4.5 ], - 20, + 16, [ "match", [ @@ -4862,28 +5195,158 @@ ], [ "motorway", + "motorway_construction" + ], + [ + "match", + [ + "get", + "ramp" + ], + 1, + 10, + 12 + ], + [ "trunk", + "trunk_construction" + ], + [ + "match", + [ + "get", + "oneway" + ], + 1, + 12, + 15 + ], + [ "primary", - "rail" + "primary_construction" ], - 120, + 12, [ - "secondary" + "secondary", + "secondary_construction" ], - 115, + 11, [ - "tertiary" + "tertiary", + "tertiary_construction" ], - 110, + 10, [ - "minor" + "minor", + "minor_construction", + "service", + "service_construction", + "rail", + "rail_construction" ], - 100, + 9, [ - "track" + "track", + "track_construction", + "path", + "path_construction", + "footway", + "footway_construction", + "transit", + "transit_construction" ], - 3, - 95 + [ + "match", + [ + "get", + "subclass" + ], + "covered_bridge", + 8.5, + 1.1 + ], + 8 + ], + 20, + [ + "match", + [ + "get", + "class" + ], + [ + "motorway", + "motorway_construction" + ], + [ + "match", + [ + "get", + "ramp" + ], + 1, + 115, + 130 + ], + [ + "trunk", + "trunk_construction" + ], + [ + "match", + [ + "get", + "oneway" + ], + 1, + 130, + 140 + ], + [ + "primary", + "primary_construction" + ], + 120, + [ + "secondary", + "secondary_construction" + ], + 115, + [ + "tertiary", + "tertiary_construction" + ], + 110, + [ + "minor", + "minor_construction", + "service", + "service_construction", + "rail", + "rail_construction" + ], + 100, + [ + "track", + "track_construction", + "path", + "path_construction", + "footway", + "footway_construction", + "transit", + "transit_construction" + ], + [ + "match", + [ + "get", + "subclass" + ], + "covered_bridge", + 84, + 5 + ], + 100 ] ], "line-offset": 0, @@ -4906,12 +5369,18 @@ "chair_lift", "ferry", "gondola", + "drag_lift", + "aerialway_transportation", + "aerialway_closed", + "aerialway_goods", + "goods_conveyor", "path", "footway", "trail", "rail", "transit", - "via_ferrata" + "via_ferrata", + "mask_terrain" ], false, true @@ -4950,7 +5419,7 @@ { "id": "landuse_parking", "type": "fill", - "source": "leichtebasiskarte_v3.0.1", + "source": "base_v1.0.0", "source-layer": "landuse", "layout": { "visibility": "visible" @@ -4982,7 +5451,7 @@ { "id": "landuse_parking_outline", "type": "line", - "source": "leichtebasiskarte_v3.0.1", + "source": "base_v1.0.0", "source-layer": "landuse", "layout": { "visibility": "visible" @@ -5028,7 +5497,7 @@ { "id": "road_fill", "type": "line", - "source": "leichtebasiskarte_v3.0.1", + "source": "base_v1.0.0", "source-layer": "transportation", "minzoom": 7.0, "layout": { @@ -5097,395 +5566,721 @@ "zoom" ], 7, - [ - "literal", - 0 - ], + 0, 8, [ "match", [ "get", - "ramp" - ], - 1, - 0.5, - 2 - ], - 10, - [ - "match", - [ - "get", - "class" + "is_route" ], [ - "motorway" + 5, + 10, + 99 ], [ "match", [ "get", - "ramp" + "class" ], - 1, - 1.5, - 2.75 - ], - [ - "trunk" + [ + "motorway" + ], + [ + "match", + [ + "get", + "ramp" + ], + 1, + 0.5, + 2 + ], + [ + "trunk" + ], + 2, + 2 ], - 2.75, [ "match", [ "get", - "is_route" + "ramp" ], - 11, - 0, - 2 + 1, + 0.5, + 0 ] ], - 11, + 9, [ "match", [ "get", - "class" + "is_route" ], [ - "motorway" + 5, + 10, + 99 ], [ "match", [ "get", - "ramp" + "class" ], - 1, - 1.5, - 2.75 - ], - [ - "trunk" + [ + "motorway" + ], + [ + "match", + [ + "get", + "ramp" + ], + 1, + 0.75, + 2.25 + ], + [ + "trunk" + ], + 2.25, + 2 ], - 2.75, [ "match", [ "get", - "is_route" + "ramp" ], - 11, - 0, - 2 + 1, + 0.75, + 0 ] ], - 12, + 10, [ "match", [ "get", - "class" + "is_route" ], [ - "motorway" + 5, + 6, + 7, + 8, + 10, + 99 ], [ "match", [ "get", - "ramp" + "class" + ], + [ + "motorway" + ], + [ + "match", + [ + "get", + "ramp" + ], + 1, + 0.75, + 2.75 + ], + [ + "trunk" + ], + 2.75, + "primary", + 2.5, + "secondary", + 2.5, + "tertiary", + 2, + [ + "minor", + "service" ], - 1, 1.5, - 3.75 - ], - [ - "trunk" + 0 ], [ "match", [ "get", - "oneway" + "ramp" ], 1, - 3.75, - 3.75 + 0.75, + 0 + ] + ], + 11, + [ + "match", + [ + "get", + "is_route" ], [ - "primary" + 5, + 6, + 7, + 8, + 10, + 99 ], [ "match", [ "get", - "is_route" + "class" ], [ - 5, - 6, - 7, - 8, - 9, - 10, - 99 + "motorway" ], - 3.75, - 0 - ], - [ - "secondary" - ], - [ - "match", [ - "get", - "is_route" + "match", + [ + "get", + "ramp" + ], + 1, + 1.25, + 3.25 ], [ - 5, - 6, - 7, - 8, - 9, - 10, - 99 + "trunk" ], 3.25, + "primary", + 3, + "secondary", + 3, + "tertiary", + 2.5, + [ + "minor", + "service" + ], + 1.75, 0 ], - [ - "tertiary" - ], [ "match", [ "get", - "is_route" - ], - [ - 5, - 6, - 7, - 8, - 9, - 10, - 99 + "ramp" ], - 2.25, + 1, + 1.25, 0 + ] + ], + 12, + [ + "match", + [ + "get", + "is_route" ], [ - "minor", - "path", - "track", - "footway" + 5, + 6, + 7, + 8, + 10, + 99 ], [ "match", [ "get", - "is_route" + "class" ], [ - 5, - 6, - 7, - 8, - 9, - 10, - 99 + "motorway" + ], + [ + "match", + [ + "get", + "ramp" + ], + 1, + 1.5, + 3.75 + ], + [ + "trunk" + ], + 3.75, + "primary", + 4, + "secondary", + 3.5, + "tertiary", + 3, + [ + "minor", + "service" ], 2, 0 ], - 0 + [ + "match", + [ + "get", + "ramp" + ], + 1, + 1.5, + 0 + ] ], 13, [ "match", [ "get", - "class" + "is_route" ], [ - "motorway" + 5, + 6, + 7, + 8, + 10, + 99 ], [ "match", [ "get", - "ramp" + "class" ], - 1, - 2.75, - 4.25 + [ + "motorway" + ], + [ + "match", + [ + "get", + "ramp" + ], + 1, + 1.75, + 4.5 + ], + [ + "trunk" + ], + 4.5, + "primary", + 4.5, + "secondary", + 4, + "tertiary", + 3.5, + [ + "minor", + "service" + ], + 2.5, + 2 ], + 11, [ - "trunk" + "match", + [ + "get", + "class" + ], + [ + "motorway", + "trunk" + ], + [ + "match", + [ + "get", + "ramp" + ], + 1, + 1.75, + 4.5 + ], + "primary", + 3, + "secondary", + 2.75, + "tertiary", + 2.75, + [ + "minor", + "service" + ], + 2, + 2 ], [ "match", [ "get", - "oneway" + "ramp" ], 1, - 4.25, - 4.25 - ], - [ - "primary" - ], - 4.25, - [ - "secondary" - ], - 3.75, - [ - "tertiary" - ], - 2.75, - [ - "minor" - ], - 1.75, - 0 + 1.75, + 0 + ] ], - 15, + 14, [ "match", [ "get", - "class" + "is_route" ], [ - "motorway" + 5, + 6, + 7, + 8, + 10, + 99 ], [ "match", [ "get", - "ramp" + "class" ], - 1, + [ + "motorway" + ], + [ + "match", + [ + "get", + "ramp" + ], + 1, + 2.75, + 5.5 + ], + [ + "trunk" + ], + 5.5, + "primary", + 5.5, + "secondary", 5, - 6.5 - ], - [ - "trunk" + "tertiary", + 4, + [ + "minor", + "service" + ], + 3, + 2.5 ], [ "match", [ "get", - "oneway" + "class" ], - 1, - 6.5, - 7.5 - ], - [ - "primary" - ], - 7.5, - [ - "secondary" - ], - 6.5, - [ + [ + "motorway", + "trunk" + ], + [ + "match", + [ + "get", + "ramp" + ], + 1, + 2.75, + 5.5 + ], + "primary", + 3.5, + "secondary", + 3, "tertiary", - "rail" - ], - 5.5, - [ - "minor" - ], - 3.5, - 2.5 + 3, + [ + "minor", + "service" + ], + 2.5, + 2.5 + ] ], - 16, + 15, [ "match", [ "get", - "class" - ], - [ - "motorway" + "subclass" ], + "funicular", + 3, [ "match", [ "get", - "ramp" + "class" ], - 1, - 8.5, - 10.5 - ], - [ - "trunk" - ], - [ - "match", [ - "get", - "oneway" + "motorway", + "motorway_construction" ], - 1, - 10.5, - 13.5 - ], - [ - "primary" - ], - 13.5, - [ - "secondary" - ], - 11.5, + [ + "match", + [ + "get", + "ramp" + ], + 1, + 5, + 6.5 + ], + [ + "trunk", + "trunk_construction" + ], + [ + "match", + [ + "get", + "oneway" + ], + 1, + 6.5, + 10.5 + ], + [ + "primary", + "primary_construction" + ], + 6.5, + [ + "secondary", + "secondary_construction" + ], + 5.5, + [ + "tertiary", + "tertiary_construction" + ], + 4.5, + [ + "minor", + "minor_construction", + "service", + "service_construction" + ], + 3.5, + [ + "rail", + "rail_construction" + ], + 5, + [ + "track", + "track_construction", + "path", + "path_construction", + "footway", + "footway_construction", + "transit", + "transit_construction" + ], + 1.25, + 3 + ] + ], + 16, + [ + "match", [ - "tertiary", - "rail" + "get", + "subclass" ], - 9.5, + "funicular", + 6, [ - "minor" - ], - 7.5, - 6.5 + "match", + [ + "get", + "class" + ], + [ + "motorway", + "motorway_construction" + ], + [ + "match", + [ + "get", + "ramp" + ], + 1, + 8, + 10 + ], + [ + "trunk", + "trunk_construction" + ], + [ + "match", + [ + "get", + "oneway" + ], + 1, + 10, + 13 + ], + [ + "primary", + "primary_construction" + ], + 10, + [ + "secondary", + "secondary_construction" + ], + 9, + [ + "tertiary", + "tertiary_construction" + ], + 8, + [ + "minor", + "minor_construction", + "service", + "service_construction" + ], + 7, + [ + "rail", + "rail_construction" + ], + 9.5, + [ + "track", + "track_construction", + "path", + "path_construction", + "footway", + "footway_construction", + "transit", + "transit_construction" + ], + 6.5, + 6 + ] ], 20, [ "match", [ "get", - "class" - ], - [ - "motorway", - "trunk", - "primary", - "rail" - ], - 117, - [ - "secondary" - ], - 112, - [ - "tertiary" + "subclass" ], - 107, + "funicular", + 20, [ - "minor" - ], - 97, - 92 + "match", + [ + "get", + "class" + ], + [ + "motorway", + "motorway_construction" + ], + [ + "match", + [ + "get", + "ramp" + ], + 1, + 112, + 126 + ], + [ + "trunk", + "trunk_construction" + ], + [ + "match", + [ + "get", + "oneway" + ], + 1, + 126, + 136 + ], + [ + "primary", + "primary_construction" + ], + 117, + [ + "secondary", + "secondary_construction" + ], + 112, + [ + "tertiary", + "tertiary_construction" + ], + 107, + [ + "minor", + "minor_construction", + "service", + "service_construction" + ], + 97, + [ + "rail", + "rail_construction" + ], + 120, + [ + "track", + "track_construction", + "path", + "path_construction", + "footway", + "footway_construction", + "transit", + "transit_construction" + ], + 81, + 92 + ] ] ] }, @@ -5503,13 +6298,19 @@ "chair_lift", "ferry", "gondola", + "drag_lift", + "aerialway_transportation", + "aerialway_closed", + "aerialway_goods", + "goods_conveyor", "path", "footway", "trail", "rail", "track", "transit", - "via_ferrata" + "via_ferrata", + "mask_terrain" ], false, true @@ -5548,7 +6349,7 @@ { "id": "aeroway_line_fill", "type": "line", - "source": "leichtebasiskarte_v3.0.1", + "source": "base_v1.0.0", "source-layer": "aeroway", "minzoom": 11.0, "layout": { @@ -5602,7 +6403,7 @@ { "id": "aeroway_polygon_fill", "type": "fill", - "source": "leichtebasiskarte_v3.0.1", + "source": "base_v1.0.0", "source-layer": "aeroway", "minzoom": 11.0, "layout": { @@ -5644,7 +6445,7 @@ { "id": "car_ferry", "type": "line", - "source": "leichtebasiskarte_v3.0.1", + "source": "base_v1.0.0", "source-layer": "transportation", "minzoom": 9.0, "layout": { @@ -5760,7 +6561,7 @@ { "id": "ferry", "type": "line", - "source": "leichtebasiskarte_v3.0.1", + "source": "base_v1.0.0", "source-layer": "transportation", "minzoom": 12.0, "layout": { @@ -5849,7 +6650,7 @@ { "id": "public_transport", "type": "line", - "source": "leichtebasiskarte_v3.0.1", + "source": "base_v1.0.0", "source-layer": "transportation", "minzoom": 8.0, "layout": { @@ -5963,85 +6764,133 @@ [ "zoom" ], - 8, + 9, [ "match", [ "get", - "class" + "is_route" ], + 99, [ - "rail" + "match", + [ + "get", + "subclass" + ], + "rail", + 0.75, + 0 + ], + 0 + ], + 10, + [ + "match", + [ + "get", + "is_route" ], + 99, [ "match", [ "get", - "subclass" + "class" ], [ - "rail", - "narrow_gauge", - "rack_rail" + "rail" ], [ "match", [ "get", - "service" + "subclass" ], [ - "yard", - "siding" + "rail", + "narrow_gauge", + "rack_rail" + ], + [ + "match", + [ + "get", + "service" + ], + [ + "yard", + "siding" + ], + 0, + 0.75 ], - 0.2, 0.5 ], - 0.2 + 0.5 ], - 0.2 + [ + "match", + [ + "get", + "subclass" + ], + [ + "cable_car", + "funicular" + ], + 0.75, + 0 + ] ], 14, [ "match", [ "get", - "class" - ], - [ - "rail" + "is_route" ], + 99, [ "match", [ "get", - "subclass" + "class" ], + "transit", + 1, [ - "rail", - "narrow_gauge", - "rack_rail" + "rail" ], [ "match", [ "get", - "service" + "subclass" ], [ - "yard", - "siding" + "rail", + "narrow_gauge", + "rack_rail" ], - 0.2, + 2, 1 ], - 1 + 0 ], [ - "cable_car" - ], - 1, - 0.75 + "match", + [ + "get", + "subclass" + ], + [ + "cable_car", + "funicular" + ], + 1, + 0 + ] ], 18, [ @@ -6051,35 +6900,22 @@ "class" ], [ - "rail" + "transit" ], + 1.5, [ "match", [ "get", - "subclass" + "service" ], [ - "rail", - "narrow_gauge", - "rack_rail" - ], - [ - "match", - [ - "get", - "service" - ], - [ - "yard", - "siding" - ], - 1.5, - 2 + "yard", + "siding" ], + 1.5, 2 - ], - 1.5 + ] ] ], "line-opacity": [ @@ -6105,19 +6941,6 @@ 1, 0 ], - 12, - [ - "match", - [ - "get", - "class" - ], - [ - "rail" - ], - 1, - 0 - ], 13, [ "match", @@ -6193,7 +7016,7 @@ { "id": "sinkhole", "type": "symbol", - "source": "leichtebasiskarte_v3.0.1", + "source": "base_v1.0.0", "source-layer": "spot_elevation", "minzoom": 14.0, "layout": { @@ -6271,7 +7094,7 @@ { "id": "building_2d", "type": "fill", - "source": "leichtebasiskarte_v3.0.1", + "source": "base_v1.0.0", "source-layer": "building", "minzoom": 13.0, "layout": { @@ -6304,10 +7127,43 @@ } } }, + { + "id": "housenumber", + "type": "symbol", + "source": "base_v1.0.0", + "source-layer": "housenumber", + "minzoom": 17, + "layout": { + "text-font": [ + "B612 Regular" + ], + "text-size": [ + "interpolate", + [ + "linear" + ], + [ + "zoom" + ], + 17, + 11, + 18, + 13 + ], + "text-field": [ + "get", + "housenumber" + ], + "visibility": "visible" + }, + "paint": { + "text-color": "rgba(90, 90, 90, 1)" + } + }, { "id": "building_2d_casing", "type": "line", - "source": "leichtebasiskarte_v3.0.1", + "source": "base_v1.0.0", "source-layer": "building", "minzoom": 15.0, "layout": { @@ -6345,10 +7201,152 @@ ] } }, + { + "id": "lake_elevation", + "type": "symbol", + "source": "base_v1.0.0", + "source-layer": "spot_elevation", + "minzoom": 12.0, + "layout": { + "icon-size": 1, + "text-font": [ + "B612 Italic" + ], + "text-size": [ + "interpolate", + [ + "linear" + ], + [ + "zoom" + ], + 14, + 10.5, + 18, + 13 + ], + "icon-image": [ + "case", + [ + "has", + "lake_depth" + ], + "arrow_line_blue", + [ + "==", + [ + "length", + [ + "to-string", + [ + "get", + "ele" + ] + ] + ], + 3 + ], + "line_blue_short", + "line_blue_long" + ], + "text-field": [ + "case", + [ + "has", + "lake_depth" + ], + [ + "concat", + [ + "get", + "ele" + ], + "\n\n", + [ + "get", + "lake_depth" + ] + ], + [ + "get", + "ele" + ] + ], + "visibility": "visible", + "icon-offset": [ + 0, + 0 + ], + "text-anchor": "center", + "text-offset": [ + "case", + [ + "has", + "lake_depth" + ], + [ + "literal", + [ + 0.35, + -0.5 + ] + ], + [ + "literal", + [ + 0, + -0.5 + ] + ] + ], + "text-justify": "center", + "icon-optional": false, + "text-optional": false, + "symbol-placement": "point", + "text-line-height": 1, + "text-keep-upright": false, + "icon-allow-overlap": true, + "text-allow-overlap": false, + "text-radial-offset": 0, + "text-pitch-alignment": "auto", + "icon-ignore-placement": true, + "text-ignore-placement": false, + "text-rotation-alignment": "auto" + }, + "paint": { + "icon-color": "#000000", + "text-color": "rgba(20, 136, 205, 1)", + "icon-opacity": 1, + "text-opacity": 1, + "text-halo-blur": 1, + "text-halo-color": "rgba(242, 242, 242, 0.6)", + "text-halo-width": [ + "interpolate", + [ + "linear" + ], + [ + "zoom" + ], + 12, + 1, + 18, + 2 + ] + }, + "filter": [ + "all", + [ + "==", + "class", + "lake_elevation" + ] + ] + }, { "id": "bridge-l1_road_casing", "type": "line", - "source": "leichtebasiskarte_v3.0.1", + "source": "base_v1.0.0", "source-layer": "transportation", "minzoom": 7.0, "layout": { @@ -6369,7 +7367,7 @@ 3, 8, 0.4, - 12, + 11, [ "match", [ @@ -6379,7 +7377,7 @@ [ 11 ], - 2, + 4, 0.4 ], 13, @@ -6444,30 +7442,19 @@ "zoom" ], 7, - [ - "literal", - 0 - ], + 0, 8, [ "match", [ "get", - "ramp" + "is_route" ], - 1, - 1.5, - 3 - ], - 10, - [ - "match", [ - "get", - "is_route" + 5, + 10, + 99 ], - 11, - 0, [ "match", [ @@ -6484,318 +7471,519 @@ "ramp" ], 1, - 2.5, - 4 + 1.5, + 3 ], [ "trunk" ], - 4, + 3, 3 - ] + ], + 0 ], - 11, + 9, [ "match", [ "get", - "class" + "is_route" ], [ - "motorway" + 5, + 10, + 99 ], [ "match", [ "get", - "ramp" + "class" ], - 1, - 2.5, - 4 - ], - [ - "trunk" - ], - 4, - [ - "match", [ - "get", - "is_route" + "motorway" ], - 11, - 0, + [ + "match", + [ + "get", + "ramp" + ], + 1, + 2, + 3.5 + ], + [ + "trunk" + ], + 3.5, 3 - ] + ], + 0 ], - 12, + 10, [ "match", [ "get", - "class" + "is_route" ], [ - "motorway" + 5, + 6, + 7, + 8, + 10, + 99 ], [ "match", [ "get", - "ramp" + "class" ], - 1, + [ + "motorway" + ], + [ + "match", + [ + "get", + "ramp" + ], + 1, + 2, + 4 + ], + [ + "trunk" + ], + 4, + "primary", + 3.5, + "secondary", + 3.5, + "tertiary", 3, - 5 - ], - [ - "trunk" + [ + "minor", + "service" + ], + 2.5, + 0 ], [ "match", [ "get", - "oneway" + "ramp" ], 1, - 5, - 5 + 2, + 0 + ] + ], + 11, + [ + "match", + [ + "get", + "is_route" ], [ - "primary" + 5, + 6, + 7, + 8, + 10, + 99 ], [ "match", [ "get", - "is_route" + "class" ], [ - 11 + "motorway" ], - 0.75, [ - 5, - 6, - 7, - 8, - 9, - 10, - 99 + "match", + [ + "get", + "ramp" + ], + 1, + 2.5, + 4.5 ], - 5, - 0 - ], - [ - "secondary" - ], - [ - "match", [ - "get", - "is_route" + "trunk" ], + 4.5, + "primary", + 4, + "secondary", + 4, + "tertiary", + 3.5, [ - 11 + "minor", + "service" ], - 0.75, + 2.75, [ - 5, - 6, - 7, - 8, - 9, - 10, - 99 + "track", + "path", + "footway" ], - 4.5, + 0.5, 0 ], - [ - "tertiary" - ], [ "match", [ "get", - "is_route" - ], - [ - 11 - ], - 0.75, - [ - 5, - 6, - 7, - 8, - 9, - 10, - 99 + "ramp" ], - 3.25, + 1, + 2.5, 0 + ] + ], + 12, + [ + "match", + [ + "get", + "is_route" ], [ - "track" + 5, + 6, + 7, + 8, + 10, + 99 ], [ "match", [ "get", - "is_route" + "class" ], [ - 11 + "motorway", + "trunk" ], - 0.75, [ - 5, - 6, - 7, - 8, - 9, - 10, - 99 + "match", + [ + "get", + "ramp" + ], + 1, + 2.75, + 5 + ], + "primary", + 5, + "secondary", + 4.5, + "tertiary", + 4, + [ + "minor", + "service" + ], + 3, + [ + "track", + "path", + "footway" ], 0.75, 0 ], [ - "minor" + 11 ], [ "match", [ "get", - "is_route" + "class" ], [ - 11 + "motorway", + "trunk", + "primary", + "secondary", + "tertiary", + "minor" ], - 0.75, [ - 5, - 6, - 7, - 8, - 9, - 10, - 99 + "match", + [ + "get", + "ramp" + ], + 1, + 2.75, + 0.75 ], - 3, - 0 - ], - 0 - ], - 13, - [ - "match", - [ - "get", - "class" - ], - [ - "motorway" - ], - [ - "match", [ - "get", - "ramp" + "track", + "path", + "footway" ], - 1, - 3.5, - 5.5 - ], - [ - "trunk" + 0.5, + 0 ], [ "match", [ "get", - "oneway" + "ramp" ], 1, - 5.5, - 5.5 - ], - [ - "primary" - ], - 5.5, - [ - "secondary" - ], - 5, - [ - "tertiary" - ], - 4, - [ - "minor" - ], - 3, - 0 + 2.75, + 0 + ] ], - 15, + 13, [ "match", [ "get", - "class" + "is_route" ], [ - "motorway" + 5, + 6, + 7, + 8, + 10, + 99 ], [ "match", [ "get", - "ramp" + "class" ], - 1, - 6.5, - 8 - ], - [ - "trunk" - ], - [ - "match", [ - "get", - "oneway" + "motorway" ], - 1, - 8, - 9 - ], - [ - "primary" - ], - 9, - [ - "secondary" - ], - 8, + [ + "match", + [ + "get", + "ramp" + ], + 1, + 3, + 6 + ], + [ + "trunk" + ], + 6, + "primary", + 5.5, + "secondary", + 5, + "tertiary", + 4.5, + [ + "minor", + "service" + ], + 3.5, + [ + "track", + "path", + "footway" + ], + [ + "match", + [ + "get", + "subclass" + ], + "covered_bridge", + 3, + 1 + ], + 3 + ], + 11, [ - "tertiary" + "match", + [ + "get", + "class" + ], + [ + "motorway", + "trunk" + ], + [ + "match", + [ + "get", + "ramp" + ], + 1, + 3, + 6 + ], + "primary", + 4, + "secondary", + 3.75, + "tertiary", + 3.75, + [ + "minor", + "service" + ], + 3, + [ + "track", + "path", + "footway" + ], + [ + "match", + [ + "get", + "subclass" + ], + "covered_bridge", + 3, + 0.5 + ], + 3 ], - 7, + 0 + ], + 14, + [ + "match", [ - "minor" + "get", + "is_route" ], - 5, [ - "track" + 5, + 6, + 7, + 8, + 10, + 99 ], - 1.1, - 4 + [ + "match", + [ + "get", + "class" + ], + [ + "motorway" + ], + [ + "match", + [ + "get", + "ramp" + ], + 1, + 4, + 7 + ], + [ + "trunk" + ], + 7, + "primary", + 6.5, + "secondary", + 6, + "tertiary", + 5, + [ + "minor", + "service" + ], + 4, + [ + "track", + "path", + "footway" + ], + [ + "match", + [ + "get", + "subclass" + ], + "covered_bridge", + 3.5, + 0.75 + ], + 3.5 + ], + [ + "match", + [ + "get", + "class" + ], + [ + "motorway", + "trunk" + ], + [ + "match", + [ + "get", + "ramp" + ], + 1, + 4, + 7 + ], + "primary", + 4.5, + "secondary", + 4, + "tertiary", + 4, + [ + "minor", + "service" + ], + 3.5, + [ + "track", + "path", + "footway" + ], + [ + "match", + [ + "get", + "subclass" + ], + "covered_bridge", + 3.5, + 0.75 + ], + 3.5 + ] ], - 16, + 15, [ "match", [ @@ -6803,7 +7991,8 @@ "class" ], [ - "motorway" + "motorway", + "motorway_construction" ], [ "match", @@ -6812,11 +8001,12 @@ "ramp" ], 1, - 10, - 12 + 6.5, + 8 ], [ - "trunk" + "trunk", + "trunk_construction" ], [ "match", @@ -6825,32 +8015,56 @@ "oneway" ], 1, - 12, - 15 + 8, + 12 ], [ - "primary" + "primary", + "primary_construction" ], - 15, + 8, [ - "secondary" + "secondary", + "secondary_construction" ], - 13, + 7, [ - "tertiary" + "tertiary", + "tertiary_construction" ], - 11, + 6, [ - "minor" + "minor", + "minor_construction", + "service", + "service_construction", + "rail", + "rail_construction" ], - 9, + 5, [ - "track" + "track", + "track_construction", + "path", + "path_construction", + "footway", + "footway_construction", + "transit", + "transit_construction" ], - 1.1, - 8 + [ + "match", + [ + "get", + "subclass" + ], + "covered_bridge", + 4, + 1.1 + ], + 4.5 ], - 20, + 16, [ "match", [ @@ -6859,28 +8073,158 @@ ], [ "motorway", + "motorway_construction" + ], + [ + "match", + [ + "get", + "ramp" + ], + 1, + 10, + 12 + ], + [ "trunk", + "trunk_construction" + ], + [ + "match", + [ + "get", + "oneway" + ], + 1, + 12, + 15 + ], + [ "primary", - "rail" + "primary_construction" ], - 120, + 12, [ - "secondary" + "secondary", + "secondary_construction" ], - 115, + 11, [ - "tertiary" + "tertiary", + "tertiary_construction" ], - 110, + 10, [ - "minor" + "minor", + "minor_construction", + "service", + "service_construction", + "rail", + "rail_construction" ], - 100, + 9, [ - "track" + "track", + "track_construction", + "path", + "path_construction", + "footway", + "footway_construction", + "transit", + "transit_construction" ], - 3, - 95 + [ + "match", + [ + "get", + "subclass" + ], + "covered_bridge", + 8.5, + 1.1 + ], + 8 + ], + 20, + [ + "match", + [ + "get", + "class" + ], + [ + "motorway", + "motorway_construction" + ], + [ + "match", + [ + "get", + "ramp" + ], + 1, + 115, + 130 + ], + [ + "trunk", + "trunk_construction" + ], + [ + "match", + [ + "get", + "oneway" + ], + 1, + 130, + 140 + ], + [ + "primary", + "primary_construction" + ], + 120, + [ + "secondary", + "secondary_construction" + ], + 115, + [ + "tertiary", + "tertiary_construction" + ], + 110, + [ + "minor", + "minor_construction", + "service", + "service_construction", + "rail", + "rail_construction" + ], + 100, + [ + "track", + "track_construction", + "path", + "path_construction", + "footway", + "footway_construction", + "transit", + "transit_construction" + ], + [ + "match", + [ + "get", + "subclass" + ], + "covered_bridge", + 84, + 5 + ], + 100 ] ], "line-offset": 0, @@ -6906,7 +8250,14 @@ "footway", "transit", "cable_car", - "gondola" + "gondola", + "drag_lift", + "aerialway_transportation", + "aerialway_closed", + "aerialway_goods", + "goods_conveyor", + "mask_terrain", + "via_ferrata" ], [ "==", @@ -6923,7 +8274,7 @@ { "id": "bridge-l1_fill", "type": "line", - "source": "leichtebasiskarte_v3.0.1", + "source": "base_v1.0.0", "source-layer": "transportation", "minzoom": 7.0, "layout": { @@ -7026,409 +8377,721 @@ "zoom" ], 7, - [ - "literal", - 0 - ], + 0, 8, [ "match", [ "get", - "ramp" - ], - 1, - 0.5, - 2 - ], - 10, - [ - "match", - [ - "get", - "class" + "is_route" ], [ - "motorway" + 5, + 10, + 99 ], [ "match", [ "get", - "ramp" + "class" ], - 1, - 1.5, - 2.75 - ], - [ - "trunk" + [ + "motorway" + ], + [ + "match", + [ + "get", + "ramp" + ], + 1, + 0.5, + 2 + ], + [ + "trunk" + ], + 2, + 2 ], - 2.75, [ "match", [ "get", - "is_route" + "ramp" ], - 11, - 0, - 2 + 1, + 0.5, + 0 ] ], - 11, + 9, [ "match", [ "get", - "class" + "is_route" ], [ - "motorway" + 5, + 10, + 99 ], [ "match", [ "get", - "ramp" + "class" ], - 1, - 1.5, - 2.75 - ], - [ - "trunk" + [ + "motorway" + ], + [ + "match", + [ + "get", + "ramp" + ], + 1, + 0.75, + 2.25 + ], + [ + "trunk" + ], + 2.25, + 2 ], - 2.75, [ "match", [ "get", - "is_route" + "ramp" ], - 11, - 0, - 2 + 1, + 0.75, + 0 ] ], - 12, + 10, [ "match", [ "get", - "class" + "is_route" ], [ - "motorway" + 5, + 6, + 7, + 8, + 10, + 99 ], [ "match", [ "get", - "ramp" + "class" + ], + [ + "motorway" + ], + [ + "match", + [ + "get", + "ramp" + ], + 1, + 0.75, + 2.75 + ], + [ + "trunk" + ], + 2.75, + "primary", + 2.5, + "secondary", + 2.5, + "tertiary", + 2, + [ + "minor", + "service" ], - 1, 1.5, - 3.75 - ], - [ - "trunk" + 0 ], [ "match", [ "get", - "oneway" + "ramp" ], 1, - 3.75, - 3.75 + 0.75, + 0 + ] + ], + 11, + [ + "match", + [ + "get", + "is_route" ], [ - "primary" + 5, + 6, + 7, + 8, + 10, + 99 ], [ "match", [ "get", - "is_route" + "class" ], [ - 5, - 6, - 7, - 8, - 9, - 10, - 99 + "motorway" ], - 3.75, - 0 - ], - [ - "secondary" - ], - [ - "match", [ - "get", - "is_route" + "match", + [ + "get", + "ramp" + ], + 1, + 1.25, + 3.25 ], [ - 5, - 6, - 7, - 8, - 9, - 10, - 99 + "trunk" ], 3.25, + "primary", + 3, + "secondary", + 3, + "tertiary", + 2.5, + [ + "minor", + "service" + ], + 1.75, 0 ], - [ - "tertiary" - ], [ "match", [ "get", - "is_route" - ], - [ - 5, - 6, - 7, - 8, - 9, - 10, - 99 + "ramp" ], - 2.25, + 1, + 1.25, 0 + ] + ], + 12, + [ + "match", + [ + "get", + "is_route" ], [ - "minor", - "path", - "track", - "footway" + 5, + 6, + 7, + 8, + 10, + 99 ], [ "match", [ "get", - "is_route" + "class" ], [ - 5, - 6, - 7, - 8, - 9, - 10, - 99 + "motorway" + ], + [ + "match", + [ + "get", + "ramp" + ], + 1, + 1.5, + 3.75 + ], + [ + "trunk" + ], + 3.75, + "primary", + 4, + "secondary", + 3.5, + "tertiary", + 3, + [ + "minor", + "service" ], 2, 0 ], - 0 + [ + "match", + [ + "get", + "ramp" + ], + 1, + 1.5, + 0 + ] ], 13, [ "match", [ "get", - "class" + "is_route" ], [ - "motorway" + 5, + 6, + 7, + 8, + 10, + 99 ], [ "match", [ "get", - "ramp" + "class" ], - 1, - 2.75, - 4.25 + [ + "motorway" + ], + [ + "match", + [ + "get", + "ramp" + ], + 1, + 1.75, + 4.5 + ], + [ + "trunk" + ], + 4.5, + "primary", + 4.5, + "secondary", + 4, + "tertiary", + 3.5, + [ + "minor", + "service" + ], + 2.5, + 2 ], + 11, [ - "trunk" + "match", + [ + "get", + "class" + ], + [ + "motorway", + "trunk" + ], + [ + "match", + [ + "get", + "ramp" + ], + 1, + 1.75, + 4.5 + ], + "primary", + 3, + "secondary", + 2.75, + "tertiary", + 2.75, + [ + "minor", + "service" + ], + 2, + 2 ], [ "match", [ "get", - "oneway" + "ramp" ], 1, - 4.25, - 4.25 - ], - [ - "primary" - ], - 4.25, - [ - "secondary" - ], - 3.75, - [ - "tertiary" - ], - 2.75, - [ - "minor" - ], - 1.75, - 0 + 1.75, + 0 + ] ], - 15, + 14, [ "match", [ "get", - "class" + "is_route" ], [ - "motorway" + 5, + 6, + 7, + 8, + 10, + 99 ], [ "match", [ "get", - "ramp" + "class" ], - 1, + [ + "motorway" + ], + [ + "match", + [ + "get", + "ramp" + ], + 1, + 2.75, + 5.5 + ], + [ + "trunk" + ], + 5.5, + "primary", + 5.5, + "secondary", 5, - 6.5 - ], - [ - "trunk" + "tertiary", + 4, + [ + "minor", + "service" + ], + 3, + 2.5 ], [ "match", [ "get", - "oneway" + "class" ], - 1, - 6.5, - 7.5 - ], - [ - "primary" - ], - 7.5, - [ - "secondary" - ], - 6.5, - [ + [ + "motorway", + "trunk" + ], + [ + "match", + [ + "get", + "ramp" + ], + 1, + 2.75, + 5.5 + ], + "primary", + 3.5, + "secondary", + 3, "tertiary", - "rail" - ], - 5.5, - [ - "minor" - ], - 3.5, - [ - "transit", - "track", - "path", - "footway" - ], - 2.5, - 2.5 + 3, + [ + "minor", + "service" + ], + 2.5, + 2.5 + ] ], - 16, + 15, [ "match", [ "get", - "class" - ], - [ - "motorway" + "subclass" ], + "funicular", + 3, [ "match", [ "get", - "ramp" + "class" ], - 1, - 8.5, - 10.5 - ], - [ - "trunk" - ], - [ - "match", [ - "get", - "oneway" + "motorway", + "motorway_construction" ], - 1, - 10.5, - 13.5 - ], - [ - "primary" - ], - 13.5, - [ - "secondary" - ], - 11.5, - [ - "tertiary", - "rail" - ], - 9.5, + [ + "match", + [ + "get", + "ramp" + ], + 1, + 5, + 6.5 + ], + [ + "trunk", + "trunk_construction" + ], + [ + "match", + [ + "get", + "oneway" + ], + 1, + 6.5, + 10.5 + ], + [ + "primary", + "primary_construction" + ], + 6.5, + [ + "secondary", + "secondary_construction" + ], + 5.5, + [ + "tertiary", + "tertiary_construction" + ], + 4.5, + [ + "minor", + "minor_construction", + "service", + "service_construction" + ], + 3.5, + [ + "rail", + "rail_construction" + ], + 5, + [ + "track", + "track_construction", + "path", + "path_construction", + "footway", + "footway_construction", + "transit", + "transit_construction" + ], + 1.25, + 3 + ] + ], + 16, + [ + "match", [ - "minor" + "get", + "subclass" ], - 7.5, + "funicular", + 6, [ - "transit", - "track", - "path", - "footway" - ], - 6.5, - 6.5 + "match", + [ + "get", + "class" + ], + [ + "motorway", + "motorway_construction" + ], + [ + "match", + [ + "get", + "ramp" + ], + 1, + 8, + 10 + ], + [ + "trunk", + "trunk_construction" + ], + [ + "match", + [ + "get", + "oneway" + ], + 1, + 10, + 13 + ], + [ + "primary", + "primary_construction" + ], + 10, + [ + "secondary", + "secondary_construction" + ], + 9, + [ + "tertiary", + "tertiary_construction" + ], + 8, + [ + "minor", + "minor_construction", + "service", + "service_construction" + ], + 7, + [ + "rail", + "rail_construction" + ], + 9.5, + [ + "track", + "track_construction", + "path", + "path_construction", + "footway", + "footway_construction", + "transit", + "transit_construction" + ], + 6.5, + 6 + ] ], 20, [ "match", [ "get", - "class" - ], - [ - "motorway", - "trunk", - "primary", - "rail" - ], - 117, - [ - "secondary" - ], - 112, - [ - "tertiary" + "subclass" ], - 107, + "funicular", + 20, [ - "minor" - ], - 97, - 92 + "match", + [ + "get", + "class" + ], + [ + "motorway", + "motorway_construction" + ], + [ + "match", + [ + "get", + "ramp" + ], + 1, + 112, + 126 + ], + [ + "trunk", + "trunk_construction" + ], + [ + "match", + [ + "get", + "oneway" + ], + 1, + 126, + 136 + ], + [ + "primary", + "primary_construction" + ], + 117, + [ + "secondary", + "secondary_construction" + ], + 112, + [ + "tertiary", + "tertiary_construction" + ], + 107, + [ + "minor", + "minor_construction", + "service", + "service_construction" + ], + 97, + [ + "rail", + "rail_construction" + ], + 120, + [ + "track", + "track_construction", + "path", + "path_construction", + "footway", + "footway_construction", + "transit", + "transit_construction" + ], + 81, + 92 + ] ] ], "line-opacity": 1 @@ -7445,7 +9108,14 @@ "class", "ferry", "cable_car", - "gondola" + "gondola", + "drag_lift", + "aerialway_transportation", + "aerialway_closed", + "aerialway_goods", + "goods_conveyor", + "mask_terrain", + "via_ferrata" ], [ "==", @@ -7462,7 +9132,7 @@ { "id": "bridge-l1_road_track", "type": "line", - "source": "leichtebasiskarte_v3.0.1", + "source": "base_v1.0.0", "source-layer": "transportation", "minzoom": 14.0, "layout": { @@ -7525,9 +9195,44 @@ [ "zoom" ], + 11, + [ + "match", + [ + "get", + "is_route" + ], + 11, + 0.5, + 0 + ], 12, - 0.5, + [ + "match", + [ + "get", + "is_route" + ], + 11, + [ + "match", + [ + "get", + "class" + ], + [ + "path", + "track", + "footway" + ], + 0.5, + 1 + ], + 0 + ], 14, + 0.7, + 15, 1 ] }, @@ -7561,7 +9266,7 @@ { "id": "bridge-l1_road_path_footway", "type": "line", - "source": "leichtebasiskarte_v3.0.1", + "source": "base_v1.0.0", "source-layer": "transportation", "minzoom": 11.0, "layout": { @@ -7608,9 +9313,44 @@ [ "zoom" ], + 11, + [ + "match", + [ + "get", + "is_route" + ], + 11, + 0.5, + 0 + ], 12, - 0.5, + [ + "match", + [ + "get", + "is_route" + ], + 11, + [ + "match", + [ + "get", + "class" + ], + [ + "path", + "track", + "footway" + ], + 0.5, + 1 + ], + 0 + ], 14, + 0.7, + 15, 1 ], "line-dasharray": [ @@ -7682,7 +9422,7 @@ { "id": "bridge-l1_public_transport", "type": "line", - "source": "leichtebasiskarte_v3.0.1", + "source": "base_v1.0.0", "source-layer": "transportation", "minzoom": 10.0, "layout": { @@ -7793,127 +9533,170 @@ [ "zoom" ], - 8, + 9, [ "match", [ "get", - "class" - ], - [ - "rail" + "is_route" ], + 99, [ "match", [ "get", "subclass" ], - [ - "rail", - "narrow_gauge", - "rack_rail" - ], - [ - "match", - [ - "get", - "service" - ], - [ - "yard", - "siding" - ], - 0.2, - 0.5 - ], - 0.2 + "rail", + 0.75, + 0 ], - 0.2 + 0 ], - 14, + 10, [ "match", [ "get", - "class" - ], - [ - "rail" + "is_route" ], + 99, [ "match", [ "get", - "subclass" + "class" ], [ - "rail", - "narrow_gauge", - "rack_rail" + "rail" ], [ "match", [ "get", - "service" + "subclass" ], [ - "yard", - "siding" + "rail", + "narrow_gauge", + "rack_rail" ], - 0.1, - 1 + [ + "match", + [ + "get", + "service" + ], + [ + "yard", + "siding" + ], + 0, + 0.75 + ], + 0.5 ], - 1 + 0.5 ], [ - "cable_car" - ], - 1, - 0.75 + "match", + [ + "get", + "subclass" + ], + [ + "cable_car", + "funicular" + ], + 0.75, + 0 + ] ], - 18, + 14, [ "match", [ "get", - "class" - ], - [ - "rail" + "is_route" ], + 99, [ "match", [ "get", - "subclass" + "class" ], + "transit", + 1, [ - "rail", - "narrow_gauge", - "rack_rail" + "rail" ], [ "match", [ "get", - "service" + "subclass" ], [ - "yard", - "siding" + "rail", + "narrow_gauge", + "rack_rail" ], - 1.5, - 2 + [ + "match", + [ + "get", + "service" + ], + [ + "yard", + "siding" + ], + 0, + 2 + ], + 1 ], - 2 + 0 ], [ - "cable_car" + "match", + [ + "get", + "subclass" + ], + [ + "cable_car", + "funicular" + ], + 1, + 0 + ] + ], + 18, + [ + "match", + [ + "get", + "class" ], - 2, - 1.5 + [ + "transit" + ], + 1.5, + [ + "match", + [ + "get", + "service" + ], + [ + "yard", + "siding" + ], + 1.5, + 2 + ] ] ], "line-opacity": [ @@ -8036,7 +9819,7 @@ { "id": "bridge-l2_road_casing", "type": "line", - "source": "leichtebasiskarte_v3.0.1", + "source": "base_v1.0.0", "source-layer": "transportation", "minzoom": 7.0, "layout": { @@ -8057,7 +9840,7 @@ 3, 8, 0.4, - 12, + 11, [ "match", [ @@ -8067,7 +9850,7 @@ [ 11 ], - 2, + 4, 0.4 ], 13, @@ -8132,293 +9915,547 @@ "zoom" ], 7, - [ - "literal", - 0 - ], + 0, 8, [ "match", [ "get", - "ramp" + "is_route" ], - 1, - 1.5, - 3 + [ + 5, + 10, + 99 + ], + [ + "match", + [ + "get", + "class" + ], + [ + "motorway" + ], + [ + "match", + [ + "get", + "ramp" + ], + 1, + 1.5, + 3 + ], + [ + "trunk" + ], + 3, + 3 + ], + 0 ], - 10, + 9, [ "match", [ "get", - "class" + "is_route" ], [ - "motorway" + 5, + 10, + 99 ], [ "match", [ "get", - "ramp" + "class" ], - 1, - 2.5, - 4 - ], - [ - "trunk" + [ + "motorway" + ], + [ + "match", + [ + "get", + "ramp" + ], + 1, + 2, + 3.5 + ], + [ + "trunk" + ], + 3.5, + 3 ], - 4, - 3 + 0 ], - 11, + 10, [ "match", [ "get", - "class" + "is_route" ], [ - "motorway" + 5, + 6, + 7, + 8, + 10, + 99 ], [ "match", [ "get", - "ramp" + "class" + ], + [ + "motorway" + ], + [ + "match", + [ + "get", + "ramp" + ], + 1, + 2, + 4 + ], + [ + "trunk" + ], + 4, + "primary", + 3.5, + "secondary", + 3.5, + "tertiary", + 3, + [ + "minor", + "service" ], - 1, 2.5, - 4 - ], - [ - "trunk" + 0 ], - 4, [ "match", [ "get", - "is_route" + "ramp" ], - 11, - 0, - 3 + 1, + 2, + 0 ] ], - 12, + 11, [ "match", [ "get", - "class" + "is_route" ], [ - "motorway" + 5, + 6, + 7, + 8, + 10, + 99 ], [ "match", [ "get", - "ramp" + "class" ], - 1, - 3, - 5 - ], - [ - "trunk" + [ + "motorway" + ], + [ + "match", + [ + "get", + "ramp" + ], + 1, + 2.5, + 4.5 + ], + [ + "trunk" + ], + 4.5, + "primary", + 4, + "secondary", + 4, + "tertiary", + 3.5, + [ + "minor", + "service" + ], + 2.75, + [ + "track", + "path", + "footway" + ], + 0.5, + 0 ], [ "match", [ "get", - "oneway" + "ramp" ], 1, - 5, - 5 + 2.5, + 0 + ] + ], + 12, + [ + "match", + [ + "get", + "is_route" ], [ - "primary" + 5, + 6, + 7, + 8, + 10, + 99 ], [ "match", [ "get", - "is_route" + "class" ], [ - 11 + "motorway", + "trunk" ], - 0.75, [ - 5, - 6, - 7, - 8, - 9, - 10, - 99 + "match", + [ + "get", + "ramp" + ], + 1, + 2.75, + 5 ], + "primary", 5, + "secondary", + 4.5, + "tertiary", + 4, + [ + "minor", + "service" + ], + 3, + [ + "track", + "path", + "footway" + ], + 0.75, 0 ], [ - "secondary" + 11 ], [ "match", [ "get", - "is_route" + "class" ], [ - 11 + "motorway", + "trunk", + "primary", + "secondary", + "tertiary", + "minor" ], - 0.75, [ - 5, - 6, - 7, - 8, - 9, - 10, - 99 + "match", + [ + "get", + "ramp" + ], + 1, + 2.75, + 0.75 ], - 4.5, + [ + "track", + "path", + "footway" + ], + 0.5, 0 ], - [ - "tertiary" - ], [ "match", [ "get", - "is_route" - ], - [ - 11 - ], - 0.75, - [ - 5, - 6, - 7, - 8, - 9, - 10, - 99 + "ramp" ], - 3.25, + 1, + 2.75, 0 + ] + ], + 13, + [ + "match", + [ + "get", + "is_route" ], [ - "track" + 5, + 6, + 7, + 8, + 10, + 99 ], [ "match", [ "get", - "is_route" + "class" ], [ - 11 + "motorway" ], - 0.75, [ - 5, - 6, - 7, - 8, - 9, - 10, - 99 + "match", + [ + "get", + "ramp" + ], + 1, + 3, + 6 ], - 0.75, - 0 - ], - [ - "minor" + [ + "trunk" + ], + 6, + "primary", + 5.5, + "secondary", + 5, + "tertiary", + 4.5, + [ + "minor", + "service" + ], + 3.5, + [ + "track", + "path", + "footway" + ], + [ + "match", + [ + "get", + "subclass" + ], + "covered_bridge", + 3, + 1 + ], + 3 ], + 11, [ "match", [ "get", - "is_route" + "class" ], [ - 11 + "motorway", + "trunk" ], - 0.75, [ - 5, - 6, - 7, - 8, - 9, - 10, - 99 + "match", + [ + "get", + "ramp" + ], + 1, + 3, + 6 + ], + "primary", + 4, + "secondary", + 3.75, + "tertiary", + 3.75, + [ + "minor", + "service" ], 3, - 0 + [ + "track", + "path", + "footway" + ], + [ + "match", + [ + "get", + "subclass" + ], + "covered_bridge", + 3, + 0.5 + ], + 3 ], 0 ], - 13, + 14, [ "match", [ "get", - "class" + "is_route" ], [ - "motorway" + 5, + 6, + 7, + 8, + 10, + 99 ], [ "match", [ "get", - "ramp" + "class" ], - 1, - 3.5, - 5.5 - ], - [ - "trunk" - ], - [ - "match", [ - "get", - "oneway" + "motorway" ], - 1, - 5.5, - 5.5 - ], - [ - "primary" - ], - 5.5, - [ - "secondary" - ], - 5, - [ - "tertiary" - ], - 4, - [ - "minor" - ], - 3, - 0 - ], + [ + "match", + [ + "get", + "ramp" + ], + 1, + 4, + 7 + ], + [ + "trunk" + ], + 7, + "primary", + 6.5, + "secondary", + 6, + "tertiary", + 5, + [ + "minor", + "service" + ], + 4, + [ + "track", + "path", + "footway" + ], + [ + "match", + [ + "get", + "subclass" + ], + "covered_bridge", + 3.5, + 0.75 + ], + 3.5 + ], + [ + "match", + [ + "get", + "class" + ], + [ + "motorway", + "trunk" + ], + [ + "match", + [ + "get", + "ramp" + ], + 1, + 4, + 7 + ], + "primary", + 4.5, + "secondary", + 4, + "tertiary", + 4, + [ + "minor", + "service" + ], + 3.5, + [ + "track", + "path", + "footway" + ], + [ + "match", + [ + "get", + "subclass" + ], + "covered_bridge", + 3.5, + 0.75 + ], + 3.5 + ] + ], 15, [ "match", @@ -8427,7 +10464,8 @@ "class" ], [ - "motorway" + "motorway", + "motorway_construction" ], [ "match", @@ -8440,7 +10478,8 @@ 8 ], [ - "trunk" + "trunk", + "trunk_construction" ], [ "match", @@ -8450,29 +10489,53 @@ ], 1, 8, - 9 - ], - [ - "primary" + 12 ], - 9, [ - "secondary" + "primary", + "primary_construction" ], 8, [ - "tertiary" + "secondary", + "secondary_construction" ], 7, [ - "minor" + "tertiary", + "tertiary_construction" + ], + 6, + [ + "minor", + "minor_construction", + "service", + "service_construction", + "rail", + "rail_construction" ], 5, [ - "track" + "track", + "track_construction", + "path", + "path_construction", + "footway", + "footway_construction", + "transit", + "transit_construction" ], - 1.1, - 4 + [ + "match", + [ + "get", + "subclass" + ], + "covered_bridge", + 4, + 1.1 + ], + 4.5 ], 16, [ @@ -8482,7 +10545,8 @@ "class" ], [ - "motorway" + "motorway", + "motorway_construction" ], [ "match", @@ -8495,7 +10559,8 @@ 12 ], [ - "trunk" + "trunk", + "trunk_construction" ], [ "match", @@ -8508,25 +10573,49 @@ 15 ], [ - "primary" + "primary", + "primary_construction" ], - 15, + 12, [ - "secondary" + "secondary", + "secondary_construction" ], - 13, + 11, [ - "tertiary" + "tertiary", + "tertiary_construction" ], - 11, + 10, [ - "minor" + "minor", + "minor_construction", + "service", + "service_construction", + "rail", + "rail_construction" ], 9, [ - "track" + "track", + "track_construction", + "path", + "path_construction", + "footway", + "footway_construction", + "transit", + "transit_construction" + ], + [ + "match", + [ + "get", + "subclass" + ], + "covered_bridge", + 8.5, + 1.1 ], - 1.1, 8 ], 20, @@ -8538,28 +10627,77 @@ ], [ "motorway", + "motorway_construction" + ], + [ + "match", + [ + "get", + "ramp" + ], + 1, + 115, + 130 + ], + [ "trunk", + "trunk_construction" + ], + [ + "match", + [ + "get", + "oneway" + ], + 1, + 130, + 140 + ], + [ "primary", - "rail" + "primary_construction" ], 120, [ - "secondary" + "secondary", + "secondary_construction" ], 115, [ - "tertiary" + "tertiary", + "tertiary_construction" ], 110, [ - "minor" + "minor", + "minor_construction", + "service", + "service_construction", + "rail", + "rail_construction" ], 100, [ - "track" + "track", + "track_construction", + "path", + "path_construction", + "footway", + "footway_construction", + "transit", + "transit_construction" ], - 3, - 95 + [ + "match", + [ + "get", + "subclass" + ], + "covered_bridge", + 84, + 5 + ], + 100 ] ], "line-offset": 0, @@ -8585,7 +10723,14 @@ "footway", "transit", "cable_car", - "gondola" + "gondola", + "drag_lift", + "aerialway_transportation", + "aerialway_closed", + "aerialway_goods", + "goods_conveyor", + "mask_terrain", + "via_ferrata" ], [ "==", @@ -8602,7 +10747,7 @@ { "id": "bridge-l2_fill", "type": "line", - "source": "leichtebasiskarte_v3.0.1", + "source": "base_v1.0.0", "source-layer": "transportation", "minzoom": 7.0, "layout": { @@ -8705,407 +10850,721 @@ "zoom" ], 7, - [ - "literal", - 0 - ], + 0, 8, [ "match", [ "get", - "ramp" - ], - 1, - 0.5, - 2 - ], - 10, - [ - "match", - [ - "get", - "class" + "is_route" ], [ - "motorway" + 5, + 10, + 99 ], [ "match", [ "get", - "ramp" + "class" ], - 1, - 1.5, - 2.75 - ], - [ - "trunk" + [ + "motorway" + ], + [ + "match", + [ + "get", + "ramp" + ], + 1, + 0.5, + 2 + ], + [ + "trunk" + ], + 2, + 2 ], - 2.75, [ "match", [ "get", - "is_route" + "ramp" ], - 11, - 0, - 2 + 1, + 0.5, + 0 ] ], - 11, + 9, [ "match", [ "get", - "class" + "is_route" ], [ - "motorway" + 5, + 10, + 99 ], [ "match", [ "get", - "ramp" + "class" ], - 1, - 1.5, - 2.75 - ], - [ - "trunk" + [ + "motorway" + ], + [ + "match", + [ + "get", + "ramp" + ], + 1, + 0.75, + 2.25 + ], + [ + "trunk" + ], + 2.25, + 2 ], - 2.75, [ "match", [ "get", - "is_route" + "ramp" ], - 11, - 0, - 2 + 1, + 0.75, + 0 ] ], - 12, + 10, [ "match", [ "get", - "class" + "is_route" ], [ - "motorway" + 5, + 6, + 7, + 8, + 10, + 99 ], [ "match", [ "get", - "ramp" + "class" + ], + [ + "motorway" + ], + [ + "match", + [ + "get", + "ramp" + ], + 1, + 0.75, + 2.75 + ], + [ + "trunk" + ], + 2.75, + "primary", + 2.5, + "secondary", + 2.5, + "tertiary", + 2, + [ + "minor", + "service" ], - 1, 1.5, - 3.75 - ], - [ - "trunk" + 0 ], [ "match", [ "get", - "oneway" + "ramp" ], 1, - 3.75, - 3.75 + 0.75, + 0 + ] + ], + 11, + [ + "match", + [ + "get", + "is_route" ], [ - "primary" + 5, + 6, + 7, + 8, + 10, + 99 ], [ "match", [ "get", - "is_route" + "class" ], [ - 5, - 6, - 7, - 8, - 9, - 10, - 99 + "motorway" ], - 3.75, - 0 - ], - [ - "secondary" - ], - [ - "match", [ - "get", - "is_route" + "match", + [ + "get", + "ramp" + ], + 1, + 1.25, + 3.25 ], [ - 5, - 6, - 7, - 8, - 9, - 10, - 99 + "trunk" ], 3.25, + "primary", + 3, + "secondary", + 3, + "tertiary", + 2.5, + [ + "minor", + "service" + ], + 1.75, 0 ], - [ - "tertiary" - ], [ "match", [ "get", - "is_route" - ], - [ - 5, - 6, - 7, - 8, - 9, - 10, - 99 + "ramp" ], - 2.25, + 1, + 1.25, 0 + ] + ], + 12, + [ + "match", + [ + "get", + "is_route" ], [ - "minor", - "path", - "track", - "footway" + 5, + 6, + 7, + 8, + 10, + 99 ], [ "match", [ "get", - "is_route" + "class" ], [ - 5, - 6, - 7, - 8, - 9, - 10, - 99 + "motorway" + ], + [ + "match", + [ + "get", + "ramp" + ], + 1, + 1.5, + 3.75 + ], + [ + "trunk" + ], + 3.75, + "primary", + 4, + "secondary", + 3.5, + "tertiary", + 3, + [ + "minor", + "service" ], 2, 0 ], - 0 + [ + "match", + [ + "get", + "ramp" + ], + 1, + 1.5, + 0 + ] ], 13, [ "match", [ "get", - "class" + "is_route" ], [ - "motorway" + 5, + 6, + 7, + 8, + 10, + 99 ], [ "match", [ "get", - "ramp" + "class" ], - 1, - 2.75, - 4.25 + [ + "motorway" + ], + [ + "match", + [ + "get", + "ramp" + ], + 1, + 1.75, + 4.5 + ], + [ + "trunk" + ], + 4.5, + "primary", + 4.5, + "secondary", + 4, + "tertiary", + 3.5, + [ + "minor", + "service" + ], + 2.5, + 2 ], + 11, [ - "trunk" + "match", + [ + "get", + "class" + ], + [ + "motorway", + "trunk" + ], + [ + "match", + [ + "get", + "ramp" + ], + 1, + 1.75, + 4.5 + ], + "primary", + 3, + "secondary", + 2.75, + "tertiary", + 2.75, + [ + "minor", + "service" + ], + 2, + 2 ], [ "match", [ "get", - "oneway" + "ramp" ], 1, - 4.25, - 4.25 - ], - [ - "primary" - ], - 4.25, - [ - "secondary" - ], - 3.75, - [ - "tertiary" - ], - 2.75, - [ - "minor" - ], - 1.75, - 0 + 1.75, + 0 + ] ], - 15, + 14, [ "match", [ "get", - "class" + "is_route" ], [ - "motorway" + 5, + 6, + 7, + 8, + 10, + 99 ], [ "match", [ "get", - "ramp" + "class" ], - 1, + [ + "motorway" + ], + [ + "match", + [ + "get", + "ramp" + ], + 1, + 2.75, + 5.5 + ], + [ + "trunk" + ], + 5.5, + "primary", + 5.5, + "secondary", 5, - 6.5 - ], - [ - "trunk" + "tertiary", + 4, + [ + "minor", + "service" + ], + 3, + 2.5 ], [ "match", [ "get", - "oneway" + "class" ], - 1, - 6.5, - 7.5 - ], - [ - "primary" - ], - 7.5, - [ - "secondary" - ], - 6.5, - [ + [ + "motorway", + "trunk" + ], + [ + "match", + [ + "get", + "ramp" + ], + 1, + 2.75, + 5.5 + ], + "primary", + 3.5, + "secondary", + 3, "tertiary", - "rail" - ], - 5.5, - [ - "minor" - ], - 3.5, - [ - "transit", - "track", - "path" - ], - 2.5, - 2.5 + 3, + [ + "minor", + "service" + ], + 2.5, + 2.5 + ] ], - 16, + 15, [ "match", [ "get", - "class" - ], - [ - "motorway" + "subclass" ], + "funicular", + 3, [ "match", [ "get", - "ramp" + "class" ], - 1, - 8.5, - 10.5 - ], + [ + "motorway", + "motorway_construction" + ], + [ + "match", + [ + "get", + "ramp" + ], + 1, + 5, + 6.5 + ], + [ + "trunk", + "trunk_construction" + ], + [ + "match", + [ + "get", + "oneway" + ], + 1, + 6.5, + 10.5 + ], + [ + "primary", + "primary_construction" + ], + 6.5, + [ + "secondary", + "secondary_construction" + ], + 5.5, + [ + "tertiary", + "tertiary_construction" + ], + 4.5, + [ + "minor", + "minor_construction", + "service", + "service_construction" + ], + 3.5, + [ + "rail", + "rail_construction" + ], + 5, + [ + "track", + "track_construction", + "path", + "path_construction", + "footway", + "footway_construction", + "transit", + "transit_construction" + ], + 1.25, + 3 + ] + ], + 16, + [ + "match", [ - "trunk" + "get", + "subclass" ], + "funicular", + 6, [ "match", [ "get", - "oneway" + "class" ], - 1, - 10.5, - 13.5 - ], - [ - "primary" - ], - 13.5, - [ - "secondary" - ], - 11.5, - [ - "tertiary", - "rail" - ], - 9.5, - [ - "minor" - ], - 7.5, - [ - "transit", - "track", - "path" - ], - 6.5, - 6.5 + [ + "motorway", + "motorway_construction" + ], + [ + "match", + [ + "get", + "ramp" + ], + 1, + 8, + 10 + ], + [ + "trunk", + "trunk_construction" + ], + [ + "match", + [ + "get", + "oneway" + ], + 1, + 10, + 13 + ], + [ + "primary", + "primary_construction" + ], + 10, + [ + "secondary", + "secondary_construction" + ], + 9, + [ + "tertiary", + "tertiary_construction" + ], + 8, + [ + "minor", + "minor_construction", + "service", + "service_construction" + ], + 7, + [ + "rail", + "rail_construction" + ], + 9.5, + [ + "track", + "track_construction", + "path", + "path_construction", + "footway", + "footway_construction", + "transit", + "transit_construction" + ], + 6.5, + 6 + ] ], 20, [ "match", [ "get", - "class" - ], - [ - "motorway", - "trunk", - "primary", - "rail" - ], - 117, - [ - "secondary" - ], - 112, - [ - "tertiary" + "subclass" ], - 107, + "funicular", + 20, [ - "minor" - ], - 97, - 92 + "match", + [ + "get", + "class" + ], + [ + "motorway", + "motorway_construction" + ], + [ + "match", + [ + "get", + "ramp" + ], + 1, + 112, + 126 + ], + [ + "trunk", + "trunk_construction" + ], + [ + "match", + [ + "get", + "oneway" + ], + 1, + 126, + 136 + ], + [ + "primary", + "primary_construction" + ], + 117, + [ + "secondary", + "secondary_construction" + ], + 112, + [ + "tertiary", + "tertiary_construction" + ], + 107, + [ + "minor", + "minor_construction", + "service", + "service_construction" + ], + 97, + [ + "rail", + "rail_construction" + ], + 120, + [ + "track", + "track_construction", + "path", + "path_construction", + "footway", + "footway_construction", + "transit", + "transit_construction" + ], + 81, + 92 + ] ] ], "line-opacity": 1 @@ -9122,7 +11581,14 @@ "class", "ferry", "cable_car", - "gondola" + "gondola", + "drag_lift", + "aerialway_transportation", + "aerialway_closed", + "aerialway_goods", + "goods_conveyor", + "mask_terrain", + "via_ferrata" ], [ "==", @@ -9139,7 +11605,7 @@ { "id": "bridge-l2_road_track", "type": "line", - "source": "leichtebasiskarte_v3.0.1", + "source": "base_v1.0.0", "source-layer": "transportation", "minzoom": 14.0, "layout": { @@ -9202,9 +11668,44 @@ [ "zoom" ], + 11, + [ + "match", + [ + "get", + "is_route" + ], + 11, + 0.5, + 0 + ], 12, - 0.5, + [ + "match", + [ + "get", + "is_route" + ], + 11, + [ + "match", + [ + "get", + "class" + ], + [ + "path", + "track", + "footway" + ], + 0.5, + 1 + ], + 0 + ], 14, + 0.7, + 15, 1 ] }, @@ -9238,7 +11739,7 @@ { "id": "bridge-l2_road_path_footway", "type": "line", - "source": "leichtebasiskarte_v3.0.1", + "source": "base_v1.0.0", "source-layer": "transportation", "minzoom": 11.0, "layout": { @@ -9285,9 +11786,44 @@ [ "zoom" ], + 11, + [ + "match", + [ + "get", + "is_route" + ], + 11, + 0.5, + 0 + ], 12, - 0.5, + [ + "match", + [ + "get", + "is_route" + ], + 11, + [ + "match", + [ + "get", + "class" + ], + [ + "path", + "track", + "footway" + ], + 0.5, + 1 + ], + 0 + ], 14, + 0.7, + 15, 1 ], "line-dasharray": [ @@ -9359,7 +11895,7 @@ { "id": "bridge-l2_public_transport", "type": "line", - "source": "leichtebasiskarte_v3.0.1", + "source": "base_v1.0.0", "source-layer": "transportation", "minzoom": 10.0, "layout": { @@ -9470,85 +12006,145 @@ [ "zoom" ], - 8, + 9, [ "match", [ "get", - "class" + "is_route" ], + 99, [ - "rail" + "match", + [ + "get", + "subclass" + ], + "rail", + 0.75, + 0 + ], + 0 + ], + 10, + [ + "match", + [ + "get", + "is_route" ], + 99, [ "match", [ "get", - "subclass" + "class" ], [ - "rail", - "narrow_gauge", - "rack_rail" + "rail" ], [ "match", [ "get", - "service" + "subclass" ], [ - "yard", - "siding" + "rail", + "narrow_gauge", + "rack_rail" + ], + [ + "match", + [ + "get", + "service" + ], + [ + "yard", + "siding" + ], + 0, + 0.75 ], - 0.2, 0.5 ], - 0.2 + 0.5 ], - 0.2 + [ + "match", + [ + "get", + "subclass" + ], + [ + "cable_car", + "funicular" + ], + 0.75, + 0 + ] ], 14, [ "match", [ "get", - "class" - ], - [ - "rail" + "is_route" ], + 99, [ "match", [ "get", - "subclass" + "class" ], + "transit", + 1, [ - "rail", - "narrow_gauge", - "rack_rail" + "rail" ], [ "match", [ "get", - "service" + "subclass" ], [ - "yard", - "siding" + "rail", + "narrow_gauge", + "rack_rail" + ], + [ + "match", + [ + "get", + "service" + ], + [ + "yard", + "siding" + ], + 0, + 2 ], - 0.1, 1 ], - 1 + 0 ], [ - "cable_car" - ], - 1, - 0.75 + "match", + [ + "get", + "subclass" + ], + [ + "cable_car", + "funicular" + ], + 1, + 0 + ] ], 18, [ @@ -9558,39 +12154,22 @@ "class" ], [ - "rail" + "transit" ], + 1.5, [ "match", [ "get", - "subclass" - ], - [ - "rail", - "narrow_gauge", - "rack_rail" + "service" ], [ - "match", - [ - "get", - "service" - ], - [ - "yard", - "siding" - ], - 1.5, - 2 + "yard", + "siding" ], + 1.5, 2 - ], - [ - "cable_car" - ], - 2, - 1.5 + ] ] ], "line-opacity": [ @@ -9712,152 +12291,10 @@ ] ] }, - { - "id": "lake_elevation", - "type": "symbol", - "source": "leichtebasiskarte_v3.0.1", - "source-layer": "spot_elevation", - "minzoom": 12.0, - "layout": { - "icon-size": 1, - "text-font": [ - "B612 Italic" - ], - "text-size": [ - "interpolate", - [ - "linear" - ], - [ - "zoom" - ], - 14, - 10.5, - 18, - 13 - ], - "icon-image": [ - "case", - [ - "has", - "lake_depth" - ], - "arrow_line_blue", - [ - "==", - [ - "length", - [ - "to-string", - [ - "get", - "ele" - ] - ] - ], - 3 - ], - "line_blue_short", - "line_blue_long" - ], - "text-field": [ - "case", - [ - "has", - "lake_depth" - ], - [ - "concat", - [ - "get", - "ele" - ], - "\n\n", - [ - "get", - "lake_depth" - ] - ], - [ - "get", - "ele" - ] - ], - "visibility": "visible", - "icon-offset": [ - 0, - 0 - ], - "text-anchor": "center", - "text-offset": [ - "case", - [ - "has", - "lake_depth" - ], - [ - "literal", - [ - 0.35, - -0.5 - ] - ], - [ - "literal", - [ - 0, - -0.5 - ] - ] - ], - "text-justify": "center", - "icon-optional": false, - "text-optional": false, - "symbol-placement": "point", - "text-line-height": 1, - "text-keep-upright": false, - "icon-allow-overlap": true, - "text-allow-overlap": false, - "text-radial-offset": 0, - "text-pitch-alignment": "auto", - "icon-ignore-placement": true, - "text-ignore-placement": false, - "text-rotation-alignment": "auto" - }, - "paint": { - "icon-color": "#000000", - "text-color": "rgba(20, 136, 205, 1)", - "icon-opacity": 1, - "text-opacity": 1, - "text-halo-blur": 1, - "text-halo-color": "rgba(242, 242, 242, 0.6)", - "text-halo-width": [ - "interpolate", - [ - "linear" - ], - [ - "zoom" - ], - 12, - 1, - 18, - 2 - ] - }, - "filter": [ - "all", - [ - "==", - "class", - "lake_elevation" - ] - ] - }, { "id": "spot_elevation", "type": "symbol", - "source": "leichtebasiskarte_v3.0.1", + "source": "base_v1.0.0", "source-layer": "spot_elevation", "minzoom": 14.0, "layout": { @@ -9963,7 +12400,7 @@ { "id": "waterway_line_label", "type": "symbol", - "source": "leichtebasiskarte_v3.0.1", + "source": "base_v1.0.0", "source-layer": "waterway", "minzoom": 9.0, "layout": { @@ -10033,14 +12470,123 @@ "get", "name:latin" ], - "text-padding": 0, - "symbol-spacing": 650, - "symbol-z-order": "auto", - "text-max-width": 9999, - "symbol-placement": "line", - "text-keep-upright": true, - "text-allow-overlap": false, - "text-letter-spacing": [ + "visibility": "visible", + "text-padding": 0, + "symbol-spacing": 650, + "symbol-z-order": "auto", + "text-max-width": 9999, + "symbol-placement": "line", + "text-keep-upright": true, + "text-allow-overlap": false, + "text-letter-spacing": [ + "interpolate", + [ + "linear" + ], + [ + "zoom" + ], + 8, + 0.1, + 12, + [ + "match", + [ + "get", + "class" + ], + [ + "river" + ], + 0.4, + 0.2 + ] + ], + "text-pitch-alignment": "map", + "text-ignore-placement": false, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "rgb(20, 136, 205)", + "text-halo-blur": 1, + "text-halo-color": "rgba(242, 242, 242, 0.6)", + "text-halo-width": 2 + }, + "filter": [ + "all", + [ + "==", + "$type", + "LineString" + ], + [ + "!=", + "intermittent", + 1 + ] + ] + }, + { + "id": "aerialway", + "type": "line", + "source": "base_v1.0.0", + "source-layer": "transportation", + "minzoom": 12.0, + "layout": { + "visibility": "visible" + }, + "paint": { + "line-blur": 0.25, + "line-color": { + "stops": [ + [ + 7, + "rgba(255, 50, 50, 1)" + ], + [ + 15, + "rgba(255, 80, 80, 1)" + ] + ] + }, + "line-width": [ + "interpolate", + [ + "linear" + ], + [ + "zoom" + ], + 8, + 0.2, + 14, + [ + "match", + [ + "get", + "class" + ], + [ + "cable_car" + ], + 1, + 0.75 + ], + 18, + [ + "match", + [ + "get", + "class" + ], + [ + "cable_car" + ], + 2, + 1.5 + ] + ], + "line-opacity": [ "interpolate", [ "linear" @@ -10048,9 +12594,9 @@ [ "zoom" ], - 8, - 0.1, 12, + 0, + 13, [ "match", [ @@ -10058,40 +12604,44 @@ "class" ], [ - "river" + "cable_car", + "gondola" ], - 0.4, - 0.2 + 1, + 0 + ], + 14, + [ + "match", + [ + "get", + "class" + ], + [ + "cable_car", + "gondola", + "chair_lift" + ], + 1, + 0 ] - ], - "text-pitch-alignment": "map", - "text-ignore-placement": false, - "text-rotation-alignment": "map" - }, - "paint": { - "text-color": "rgb(20, 136, 205)", - "text-halo-blur": 1, - "text-halo-color": "rgba(242, 242, 242, 0.6)", - "text-halo-width": 2 + ] }, "filter": [ "all", [ - "==", - "$type", - "LineString" - ], - [ - "!=", - "intermittent", - 1 + "in", + "class", + "cable_car", + "gondola", + "chair_lift" ] ] }, { "id": "transportation_label", "type": "symbol", - "source": "leichtebasiskarte_v3.0.1", + "source": "base_v1.0.0", "source-layer": "transportation_name", "minzoom": 13.0, "layout": { @@ -10230,7 +12780,7 @@ "gondola", "chair_lift" ], - 1, + 1.5, 1.5 ], 20, @@ -10240,130 +12790,31 @@ "filter": [ "all", [ - "==", - "$type", - "LineString" - ] - ] - }, - { - "id": "aerialway", - "type": "line", - "source": "leichtebasiskarte_v3.0.1", - "source-layer": "transportation", - "minzoom": 12.0, - "layout": { - "visibility": "visible" - }, - "paint": { - "line-blur": 0.25, - "line-color": { - "stops": [ - [ - 7, - "rgba(255, 50, 50, 1)" - ], - [ - 15, - "rgba(255, 80, 80, 1)" - ] - ] - }, - "line-width": [ - "interpolate", - [ - "linear" - ], - [ - "zoom" - ], - 8, - 0.2, - 14, - [ - "match", - [ - "get", - "class" - ], - [ - "cable_car" - ], - 1, - 0.75 - ], - 18, - [ - "match", - [ - "get", - "class" - ], - [ - "cable_car" - ], - 2, - 1.5 - ] - ], - "line-opacity": [ - "interpolate", - [ - "linear" - ], - [ - "zoom" - ], - 12, - 0, - 13, - [ - "match", - [ - "get", - "class" - ], - [ - "cable_car", - "gondola" - ], - 1, - 0 - ], - 14, - [ - "match", - [ - "get", - "class" - ], - [ - "cable_car", - "gondola", - "chair_lift" - ], - 1, - 0 - ] - ] - }, - "filter": [ - "all", - [ - "in", + "!in", "class", "cable_car", "gondola", - "chair_lift" + "chair_lift", + "drag_lift", + "aerialway_transportation", + "aerialway_closed", + "aerialway_goods", + "goods_conveyor" + ], + [ + "==", + "$type", + "LineString" ] ] }, { "id": "road_number", "type": "symbol", - "source": "leichtebasiskarte_v3.0.1", + "source": "base_v1.0.0", "source-layer": "transportation_name", - "minzoom": 11.0, + "minzoom": 13.0, + "maxzoom": 22.0, "layout": { "icon-size": 1, "text-font": [ @@ -10446,7 +12897,7 @@ { "id": "area_name_glacier_point_label", "type": "symbol", - "source": "leichtebasiskarte_v3.0.1", + "source": "base_v1.0.0", "source-layer": "area_name", "minzoom": 14.0, "layout": { @@ -10467,6 +12918,7 @@ 20 ], "text-field": "{name:latin}", + "visibility": "visible", "symbol-spacing": { "stops": [ [ @@ -10513,7 +12965,7 @@ { "id": "area_name_glacier_line_label", "type": "symbol", - "source": "leichtebasiskarte_v3.0.1", + "source": "base_v1.0.0", "source-layer": "area_name", "minzoom": 12.0, "layout": { @@ -10534,6 +12986,7 @@ 20 ], "text-field": "{name:latin}", + "visibility": "visible", "symbol-spacing": { "stops": [ [ @@ -10591,7 +13044,7 @@ { "id": "poi_rank3", "type": "symbol", - "source": "leichtebasiskarte_v3.0.1", + "source": "base_v1.0.0", "source-layer": "poi", "minzoom": 15.0, "layout": { @@ -10860,7 +13313,7 @@ { "id": "poi_rank2", "type": "symbol", - "source": "leichtebasiskarte_v3.0.1", + "source": "base_v1.0.0", "source-layer": "poi", "minzoom": 13.0, "layout": { @@ -11301,10 +13754,10 @@ { "id": "peaks_other", "type": "symbol", - "source": "leichtebasiskarte_v3.0.1", + "source": "base_v1.0.0", "source-layer": "mountain_peak", "minzoom": 15.0, - "maxzoom": 24.0, + "maxzoom": 22.0, "layout": { "icon-size": 1, "text-font": [ @@ -11483,10 +13936,10 @@ { "id": "peaks_rank5", "type": "symbol", - "source": "leichtebasiskarte_v3.0.1", + "source": "base_v1.0.0", "source-layer": "mountain_peak", "minzoom": 13.0, - "maxzoom": 24.0, + "maxzoom": 22.0, "layout": { "icon-size": 1, "text-font": [ @@ -11670,10 +14123,10 @@ { "id": "peaks_rank4", "type": "symbol", - "source": "leichtebasiskarte_v3.0.1", + "source": "base_v1.0.0", "source-layer": "mountain_peak", "minzoom": 12.0, - "maxzoom": 24.0, + "maxzoom": 22.0, "layout": { "icon-size": 1, "text-font": [ @@ -11857,10 +14310,10 @@ { "id": "peaks_rank3", "type": "symbol", - "source": "leichtebasiskarte_v3.0.1", + "source": "base_v1.0.0", "source-layer": "mountain_peak", "minzoom": 11.0, - "maxzoom": 24.0, + "maxzoom": 22.0, "layout": { "icon-size": 1, "text-font": [ @@ -11989,23 +14442,89 @@ "literal", "auto" ], - "text-max-width": 8, - "symbol-placement": "point", - "text-line-height": 1.15, - "icon-allow-overlap": false, - "text-allow-overlap": false, - "text-radial-offset": 0.3, - "text-letter-spacing": 0.025, - "icon-pitch-alignment": "auto", - "icon-ignore-placement": false, - "text-ignore-placement": false, - "icon-rotation-alignment": "auto" - }, - "paint": { - "icon-color": "rgba(0, 0, 0, 1)", - "text-color": "rgba(48, 48, 48, 1)", - "icon-opacity": 1, - "text-opacity": 1, + "text-max-width": 8, + "symbol-placement": "point", + "text-line-height": 1.15, + "icon-allow-overlap": false, + "text-allow-overlap": false, + "text-radial-offset": 0.3, + "text-letter-spacing": 0.025, + "icon-pitch-alignment": "auto", + "icon-ignore-placement": false, + "text-ignore-placement": false, + "icon-rotation-alignment": "auto" + }, + "paint": { + "icon-color": "rgba(0, 0, 0, 1)", + "text-color": "rgba(48, 48, 48, 1)", + "icon-opacity": [ + "step", + [ + "zoom" + ], + 0, + 8, + [ + "match", + [ + "get", + "class" + ], + "alpine_peak", + 1, + 0 + ], + 11, + [ + "match", + [ + "get", + "class" + ], + [ + "alpine_peak", + "main_peak" + ], + 1, + 0 + ], + 12, + 1 + ], + "text-opacity": [ + "step", + [ + "zoom" + ], + 0, + 8, + [ + "match", + [ + "get", + "class" + ], + "alpine_peak", + 1, + 0 + ], + 11, + [ + "match", + [ + "get", + "class" + ], + [ + "alpine_peak", + "main_peak" + ], + 1, + 0 + ], + 12, + 1 + ], "icon-halo-blur": 0, "text-halo-blur": 1, "icon-halo-color": "rgba(255, 255, 255, 1)", @@ -12044,10 +14563,10 @@ { "id": "peaks_rank2", "type": "symbol", - "source": "leichtebasiskarte_v3.0.1", + "source": "base_v1.0.0", "source-layer": "mountain_peak", "minzoom": 10.0, - "maxzoom": 24.0, + "maxzoom": 22.0, "layout": { "icon-size": 1, "text-font": [ @@ -12191,8 +14710,74 @@ "paint": { "icon-color": "rgba(0, 0, 0, 1)", "text-color": "rgba(48, 48, 48, 1)", - "icon-opacity": 1, - "text-opacity": 1, + "icon-opacity": [ + "step", + [ + "zoom" + ], + 0, + 8, + [ + "match", + [ + "get", + "class" + ], + "alpine_peak", + 1, + 0 + ], + 11, + [ + "match", + [ + "get", + "class" + ], + [ + "alpine_peak", + "main_peak" + ], + 1, + 0 + ], + 12, + 1 + ], + "text-opacity": [ + "step", + [ + "zoom" + ], + 0, + 8, + [ + "match", + [ + "get", + "class" + ], + "alpine_peak", + 1, + 0 + ], + 11, + [ + "match", + [ + "get", + "class" + ], + [ + "alpine_peak", + "main_peak" + ], + 1, + 0 + ], + 12, + 1 + ], "icon-halo-blur": 0, "text-halo-blur": 1, "icon-halo-color": "rgba(255, 255, 255, 1)", @@ -12231,10 +14816,10 @@ { "id": "place_other", "type": "symbol", - "source": "leichtebasiskarte_v3.0.1", + "source": "base_v1.0.0", "source-layer": "place", "minzoom": 14.0, - "maxzoom": 24.0, + "maxzoom": 22.0, "layout": { "icon-size": 1, "text-font": [ @@ -12397,7 +14982,7 @@ { "id": "poi_rank1", "type": "symbol", - "source": "leichtebasiskarte_v3.0.1", + "source": "base_v1.0.0", "source-layer": "poi", "minzoom": 14.0, "layout": { @@ -12524,10 +15109,10 @@ { "id": "place_hamlet_isolated_dwelling", "type": "symbol", - "source": "leichtebasiskarte_v3.0.1", + "source": "base_v1.0.0", "source-layer": "place", - "minzoom": 11.0, - "maxzoom": 24.0, + "minzoom": 12.0, + "maxzoom": 22.0, "layout": { "icon-size": 1, "text-font": [ @@ -12740,10 +15325,10 @@ { "id": "place_country_exclave", "type": "symbol", - "source": "leichtebasiskarte_v3.0.1", + "source": "base_v1.0.0", "source-layer": "place", "minzoom": 11.0, - "maxzoom": 24.0, + "maxzoom": 22.0, "layout": { "text-font": [ "B612 Regular" @@ -12796,7 +15381,7 @@ { "id": "place_village", "type": "symbol", - "source": "leichtebasiskarte_v3.0.1", + "source": "base_v1.0.0", "source-layer": "place", "minzoom": 7.0, "maxzoom": 18.0, @@ -12815,101 +15400,251 @@ 1 ], [ - "zoom" + "zoom" + ], + 4, + 11, + 10, + [ + "case", + [ + "<=", + 3000, + [ + "get", + "population" + ] + ], + 16, + 14 + ], + 16, + [ + "case", + [ + "<=", + 3000, + [ + "get", + "population" + ] + ], + 28, + 24 + ] + ], + "icon-image": [ + "step", + [ + "zoom" + ], + "circle_dark_grey_4", + 6, + "circle_dark_grey_4", + 8, + "circle_dark_grey_6", + 10, + "circle_dark_grey_8", + 12, + "circle_dark_grey_10" + ], + "text-field": [ + "get", + "name:latin" + ], + "visibility": "visible", + "text-anchor": [ + "literal", + "bottom-left" + ], + "text-offset": [ + "literal", + [ + 0.4, + 0.2 + ] + ], + "text-justify": "auto", + "text-padding": 10, + "icon-optional": false, + "text-optional": false, + "symbol-z-order": [ + "literal", + "auto" + ], + "text-max-width": 10, + "text-transform": "none", + "symbol-sort-key": [ + "to-number", + [ + "get", + "rank" + ] + ], + "text-letter-spacing": 0.025 + }, + "paint": { + "text-color": "rgba(64, 64, 64, 1)", + "icon-opacity": [ + "step", + [ + "zoom" + ], + 0, + 7, + [ + "match", + [ + "get", + "capital" + ], + [ + 2, + 4 + ], + 1, + 0 + ], + 8, + [ + "case", + [ + ">", + 14, + [ + "get", + "rank" + ] + ], + 1, + 0 + ], + 9, + [ + "case", + [ + ">", + 15, + [ + "get", + "rank" + ] + ], + 1, + 0 + ], + 10, + [ + "case", + [ + ">", + 18, + [ + "get", + "rank" + ] + ], + 1, + 0 + ], + 11, + [ + "case", + [ + ">", + 28, + [ + "get", + "rank" + ] + ], + 1, + 0 + ], + 12, + 1, + 13, + 0 + ], + "text-opacity": [ + "step", + [ + "zoom" + ], + 0, + 7, + [ + "match", + [ + "get", + "capital" + ], + [ + 2, + 4 + ], + 1, + 0 ], - 4, - 11, - 10, + 8, [ "case", [ - "<=", - 3000, + ">", + 14, [ "get", - "population" + "rank" ] ], - 16, - 14 + 1, + 0 ], - 16, + 9, [ "case", [ - "<=", - 3000, + ">", + 15, [ "get", - "population" + "rank" ] ], - 28, - 24 - ] - ], - "icon-image": [ - "step", - [ - "zoom" + 1, + 0 ], - "circle_dark_grey_4", - 6, - "circle_dark_grey_4", - 8, - "circle_dark_grey_6", 10, - "circle_dark_grey_8", - 12, - "circle_dark_grey_10" - ], - "text-field": [ - "get", - "name:latin" - ], - "visibility": "visible", - "text-anchor": [ - "literal", - "bottom-left" - ], - "text-offset": [ - "literal", - [ - 0.4, - 0.2 - ] - ], - "text-justify": "auto", - "text-padding": 10, - "icon-optional": false, - "text-optional": false, - "symbol-z-order": [ - "literal", - "auto" - ], - "text-max-width": 10, - "text-transform": "none", - "symbol-sort-key": [ - "to-number", [ - "get", - "rank" - ] - ], - "text-letter-spacing": 0.025 - }, - "paint": { - "text-color": "rgba(64, 64, 64, 1)", - "icon-opacity": [ - "step", + "case", + [ + ">", + 18, + [ + "get", + "rank" + ] + ], + 1, + 0 + ], + 11, [ - "zoom" + "case", + [ + ">", + 28, + [ + "get", + "rank" + ] + ], + 1, + 0 ], - 1, - 13, - 0 + 12, + 1 ], - "text-opacity": 1, "text-halo-blur": 1, "text-halo-color": "rgba(242, 242, 242, 0.6)", "text-halo-width": [ @@ -12942,7 +15677,7 @@ { "id": "aerodrome_label", "type": "symbol", - "source": "leichtebasiskarte_v3.0.1", + "source": "base_v1.0.0", "source-layer": "aerodrome_label", "minzoom": 11.0, "layout": { @@ -13017,6 +15752,7 @@ "get", "name:latin" ], + "visibility": "visible", "icon-anchor": "center", "text-anchor": "left", "text-offset": [ @@ -13048,10 +15784,51 @@ "paint": { "text-color": "rgba(64, 64, 64, 1)", "icon-opacity": [ - "literal", + "step", + [ + "zoom" + ], + 0, + 11, + [ + "match", + [ + "get", + "class" + ], + [ + "international", + "regional" + ], + 1, + 0 + ], + 12, + 1 + ], + "text-opacity": [ + "step", + [ + "zoom" + ], + 0, + 11, + [ + "match", + [ + "get", + "class" + ], + [ + "international", + "regional" + ], + 1, + 0 + ], + 12, 1 ], - "text-opacity": 1, "text-halo-blur": 1, "text-halo-color": "rgba(242, 242, 242, 0.8)", "text-halo-width": [ @@ -13080,10 +15857,10 @@ { "id": "peaks_rank1", "type": "symbol", - "source": "leichtebasiskarte_v3.0.1", + "source": "base_v1.0.0", "source-layer": "mountain_peak", "minzoom": 9.0, - "maxzoom": 24.0, + "maxzoom": 22.0, "layout": { "icon-size": 1, "text-font": [ @@ -13305,7 +16082,7 @@ { "id": "place_town", "type": "symbol", - "source": "leichtebasiskarte_v3.0.1", + "source": "base_v1.0.0", "source-layer": "place", "minzoom": 6.0, "maxzoom": 16.0, @@ -13400,11 +16177,73 @@ [ "zoom" ], + 0, + 6, + [ + "case", + [ + ">", + 10, + [ + "get", + "rank" + ] + ], + 1, + [ + "match", + [ + "get", + "capital" + ], + [ + 2, + 4 + ], + 1, + 0 + ] + ], + 8, 1, 12, 0 ], - "text-opacity": 1, + "text-opacity": [ + "step", + [ + "zoom" + ], + 0, + 6, + [ + "case", + [ + ">", + 10, + [ + "get", + "rank" + ] + ], + 1, + [ + "match", + [ + "get", + "capital" + ], + [ + 2, + 4 + ], + 1, + 0 + ] + ], + 8, + 1 + ], "text-halo-blur": 1, "text-halo-color": "rgba(242, 242, 242, 0.6)", "text-halo-width": [ @@ -13437,10 +16276,10 @@ { "id": "water_name_point_label", "type": "symbol", - "source": "leichtebasiskarte_v3.0.1", + "source": "base_v1.0.0", "source-layer": "water_name", "minzoom": 7.0, - "maxzoom": 24.0, + "maxzoom": 22.0, "layout": { "text-font": [ "B612 Italic" @@ -13822,7 +16661,7 @@ { "id": "park_label", "type": "symbol", - "source": "leichtebasiskarte_v3.0.1", + "source": "base_v1.0.0", "source-layer": "park", "minzoom": 8.0, "layout": { @@ -13847,6 +16686,7 @@ 28 ], "text-field": "{name:latin}", + "visibility": "visible", "text-padding": [ "interpolate", [ @@ -13888,7 +16728,7 @@ { "id": "area_name_massif_label", "type": "symbol", - "source": "leichtebasiskarte_v3.0.1", + "source": "base_v1.0.0", "source-layer": "area_name", "minzoom": 11.0, "layout": { @@ -13909,6 +16749,7 @@ 23 ], "text-field": "{name:latin}", + "visibility": "visible", "symbol-spacing": { "stops": [ [ @@ -13955,7 +16796,7 @@ { "id": "place_city", "type": "symbol", - "source": "leichtebasiskarte_v3.0.1", + "source": "base_v1.0.0", "source-layer": "place", "minzoom": 2.0, "maxzoom": 14.0, @@ -14073,7 +16914,7 @@ { "id": "place_country_LI", "type": "symbol", - "source": "leichtebasiskarte_v3.0.1", + "source": "base_v1.0.0", "source-layer": "place", "minzoom": 0.0, "maxzoom": 7.0, @@ -14136,7 +16977,7 @@ { "id": "place_country_CH", "type": "symbol", - "source": "leichtebasiskarte_v3.0.1", + "source": "base_v1.0.0", "source-layer": "place", "minzoom": 0.0, "maxzoom": 7.0, @@ -14198,14 +17039,193 @@ } ], "metadata": { - "maputnik:renderer": "mbgljs", - "openmaptiles:version": "3.x", - "ga:version": "v1.13.0", - "ga:publisher": "CI:ac3e99d6-5d72-4d5b-9d12-59f8c5af5468", + "maptiler:template": { + "groups": [ + { + "id": "4rZcx2YUdbGIJ_xQaDQb6", + "icon": "variant2", + "name": "label", + "layers": [ + "place_country_CH", + "place_country_LI", + "place_city", + "area_name_massif_label", + "park_label", + "water_name_point_label", + "place_town", + "place_village", + "place_country_exclave", + "place_hamlet_isolated_dwelling", + "place_other", + "area_name_glacier_line_label", + "area_name_glacier_point_label" + ] + }, + { + "id": "spbW1YO3D6JmGqVeeVEo3", + "icon": "poi", + "name": "poi", + "layers": [ + "poi_rank1", + "poi_rank2", + "poi_rank3" + ] + }, + { + "id": "Egb2j0u2wyQyI8FftRcqF", + "icon": "terrain", + "name": "mountain_peak", + "layers": [ + "peaks_rank1", + "peaks_rank2", + "peaks_rank3", + "peaks_rank4", + "peaks_rank5", + "peaks_other" + ] + }, + { + "id": "o-n3H-7f0sOIKwDFxFRaG", + "icon": "builtUp", + "name": "infrastructure", + "layers": [ + "housenumber", + "building_2d_casing", + "building_2d", + "building_ln", + "construct", + "construct_line" + ] + }, + { + "id": "_olyvAt6o8QUN9qePUZap", + "icon": "transport", + "name": "transportation", + "layers": [ + "road_number", + "transportation_label", + "aerialway", + "bridge-l2_public_transport", + "bridge-l2_road_path_footway", + "bridge-l2_road_track", + "bridge-l2_fill", + "bridge-l2_road_casing", + "bridge-l1_public_transport", + "bridge-l1_road_path_footway", + "bridge-l1_road_track", + "bridge-l1_fill", + "bridge-l1_road_casing", + "public_transport", + "ferry", + "car_ferry", + "road_fill", + "road_casing", + "road_path_footway", + "road_via_ferrata_trail", + "tunnel_road", + "tunnel_road_path_footway", + "tunnel_public_transport", + "aerodrome_label", + "aeroway_polygon_fill", + "aeroway_line_fill", + "aeroway_polygon_casing", + "aeroway_line_casing", + "landuse_parking", + "landuse_parking_outline" + ] + }, + { + "id": "z959Ue-RzB_dh5_EJgGry", + "icon": "administrative", + "name": "boundary", + "layers": [ + "boundary", + "boundary_disputed", + "park" + ] + }, + { + "id": "jQ4N1YUSpDNjoXrIHGNpp", + "icon": "water", + "name": "water", + "layers": [ + "waterway_line_label", + "lake_elevation", + "water_outline", + "water_line_intermittent", + "water_polygon", + "contour_line_water", + "water_line" + ] + }, + { + "id": "QZWB1txCT3r3H5wy13N86", + "icon": "nature", + "name": "land", + "layers": [ + "pattern_landcover_orchard", + "pattern_landcover_wetlands", + "pattern_landcover_vineyard", + "landcover", + "landcover_casing", + "landcover_pt", + "landuse_outline", + "landuse" + ] + }, + { + "id": "terrain", + "icon": "terrain", + "name": "terrain", + "layers": [ + "hillshade_grey", + "hillshade_yellow", + "sinkhole", + "label_contour_line_100_brown", + "label_contour_line_100_blue", + "label_contour_line_100_grey", + "label_contour_line_20_brown", + "label_contour_line_20_blue", + "label_contour_line_20_grey", + "hachure", + "scree_z11", + "scree_z13", + "scree_z15", + "scree_z17", + "spot_elevation", + "contour_line" + ] + }, + { + "id": "background", + "icon": "background", + "name": "Background", + "layers": [ + "background" + ] + } + ], + "viewState": { + "mapType": "Style", + "activeBlock": null, + "toolPanelType": "Layers", + "selectedLayers": [ + "tunnel_road" + ], + "propertyPanelType": "Edit", + "editorFocusProperty": null, + "layersViewPanelType": "Verticality" + }, + "userSettings": { + "preferredViewPanelType": "Verticality" + } + }, + "ga:version": "v1.17.0", + "ga:publisher": "CI:597e6ccf-63c7-4a22-9279-940877bf6866", "ga:branch": "master" }, "glyphs": "/map/fonts/{fontstack}/{range}.pbf", - "sprite": "https://vectortiles.geo.admin.ch/styles/ch.swisstopo.leichte-basiskarte.vt/sprite/sprite", + "sprite": "https://vectortiles.geo.admin.ch/styles/ch.swisstopo.lightbasemap.vt/sprite/sprite", "bearing": 0.0, "pitch": 0.0, "center": [ diff --git a/ui/yarn.lock b/ui/yarn.lock index b9d5e94f..00ac59bd 100644 --- a/ui/yarn.lock +++ b/ui/yarn.lock @@ -12395,7 +12395,7 @@ __metadata: lint-staged: "npm:^15.2.10" lodash: "npm:^4.17.21" mapbox-gl-style-switcher: "npm:^1.0.11" - maplibre-gl: "npm:4.6.0" + maplibre-gl: "npm:4.7.1" prettier: "npm:^3.3.3" react: "npm:^18.3.1" react-autocomplete-hint: "npm:^2.0.0" From be1953dad063ba48a9aac88e182f37940a5252c8 Mon Sep 17 00:00:00 2001 From: Daniel Aschwanden Date: Tue, 24 Sep 2024 19:46:01 +0200 Subject: [PATCH 28/35] feat(map): also adjust imagery map with new style --- ...isstopo.leichte-basiskarte-imagery.vt.json | 3368 ++++++++++------- .../ch.swisstopo.leichte-basiskarte.vt.json | 714 +--- 2 files changed, 1908 insertions(+), 2174 deletions(-) diff --git a/ui/src/assets/map/styles/ch.swisstopo.leichte-basiskarte-imagery.vt.json b/ui/src/assets/map/styles/ch.swisstopo.leichte-basiskarte-imagery.vt.json index 11f87a00..89f1414b 100644 --- a/ui/src/assets/map/styles/ch.swisstopo.leichte-basiskarte-imagery.vt.json +++ b/ui/src/assets/map/styles/ch.swisstopo.leichte-basiskarte-imagery.vt.json @@ -1,10 +1,10 @@ { "version": 8, - "id": "18808082-340d-4827-9c35-a22244e6a16d", - "name": "imagerybasemap_v3.0.0", + "id": "0b8f7418-1dcb-48a2-aff6-57e2a9439ffc", + "name": "imagerybasemap_v1.15.0", "sources": { - "leichtebasiskarte_v3.0.1": { - "url": "https://vectortiles.geo.admin.ch/tiles/ch.swisstopo.leichte-basiskarte.vt/v3.0.1/tiles.json", + "base_v1.0.0": { + "url": "https://vectortiles.geo.admin.ch/tiles/ch.swisstopo.base.vt/v1.0.0/tiles.json", "type": "vector" }, "swissimage_wmts": { @@ -36,7 +36,7 @@ { "id": "water_line", "type": "line", - "source": "leichtebasiskarte_v3.0.1", + "source": "base_v1.0.0", "source-layer": "waterway", "minzoom": 9.0, "layout": { @@ -224,15 +224,25 @@ "!=", "intermittent", 1 + ], + [ + "!in", + "class", + "riverbank", + "shoreline", + "shoreline_changing_level" ] ] }, { "id": "park", "type": "line", - "source": "leichtebasiskarte_v3.0.1", + "source": "base_v1.0.0", "source-layer": "park", "minzoom": 7.0, + "layout": { + "visibility": "visible" + }, "paint": { "line-color": "rgba(112, 180, 70, 1)", "line-width": [ @@ -276,7 +286,7 @@ { "id": "boundary_disputed", "type": "line", - "source": "leichtebasiskarte_v3.0.1", + "source": "base_v1.0.0", "source-layer": "boundary", "minzoom": 0.0, "layout": { @@ -286,7 +296,7 @@ }, "paint": { "line-blur": 1, - "line-color": "rgba(255, 0, 255, 1)", + "line-color": "hsl(318,65%,45%)", "line-width": [ "interpolate", [ @@ -337,7 +347,7 @@ ], 2, 16, - 10 + 7 ] ], "line-opacity": 0.4, @@ -374,7 +384,7 @@ { "id": "boundary", "type": "line", - "source": "leichtebasiskarte_v3.0.1", + "source": "base_v1.0.0", "source-layer": "boundary", "minzoom": 0.0, "layout": { @@ -384,7 +394,7 @@ }, "paint": { "line-blur": 1, - "line-color": "rgba(188, 40, 144, 1)", + "line-color": "hsl(318,65%,45%)", "line-width": [ "interpolate", [ @@ -424,7 +434,7 @@ ], 2, 16, - 10 + 7 ] ], "line-opacity": 0.4 @@ -457,7 +467,7 @@ { "id": "tunnel_public_transport", "type": "line", - "source": "leichtebasiskarte_v3.0.1", + "source": "base_v1.0.0", "source-layer": "transportation", "minzoom": 8.0, "layout": { @@ -573,7 +583,18 @@ [ "zoom" ], - 8, + 9, + [ + "match", + [ + "get", + "subclass" + ], + "rail", + 0.75, + 0 + ], + 10, [ "match", [ @@ -604,12 +625,24 @@ "yard", "siding" ], - 0.2, - 1 + 0, + 0.75 ], - 0.2 + 0.5 ], - 0.2 + [ + "match", + [ + "get", + "subclass" + ], + [ + "cable_car", + "funicular" + ], + 0.75, + 0.5 + ] ], 14, [ @@ -618,6 +651,8 @@ "get", "class" ], + "transit", + 1, [ "rail" ], @@ -642,16 +677,24 @@ "yard", "siding" ], - 0.2, - 1.5 + 0, + 2 ], - 1.5 + 1 ], [ - "cable_car" - ], - 1.5, - 1 + "match", + [ + "get", + "subclass" + ], + [ + "cable_car", + "funicular" + ], + 1, + 0 + ] ], 18, [ @@ -661,35 +704,22 @@ "class" ], [ - "rail" + "transit" ], + 1.5, [ "match", [ "get", - "subclass" - ], - [ - "rail", - "narrow_gauge", - "rack_rail" + "service" ], [ - "match", - [ - "get", - "service" - ], - [ - "yard", - "siding" - ], - 1.5, - 2 + "yard", + "siding" ], + 1.5, 2 - ], - 1.5 + ] ] ], "line-opacity": [ @@ -774,9 +804,9 @@ { "id": "tunnel_road", "type": "line", - "source": "leichtebasiskarte_v3.0.1", + "source": "base_v1.0.0", "source-layer": "transportation", - "minzoom": 7.0, + "minzoom": 8.0, "layout": { "line-cap": "butt", "line-join": "miter", @@ -898,55 +928,65 @@ [ "zoom" ], - 7, - [ - "literal", - 0 - ], 8, [ "match", [ "get", - "class" + "is_route" ], [ - "motorway", - "trunk", - "primary" + 5, + 10, + 99 ], 1, - 0 - ], - 9, - [ - "match", - [ - "get", - "class" - ], [ - "motorway", - "trunk", - "primary" - ], - 1.1, - 0 + "match", + [ + "get", + "ramp" + ], + 1, + 1, + 0 + ] ], 10, [ "match", [ "get", - "class" + "is_route" ], [ - "motorway", - "trunk", - "primary", - "secondary" + 5, + 6, + 7, + 8, + 10, + 99 + ], + [ + "match", + [ + "get", + "class" + ], + [ + "motorway", + "trunk" + ], + 1.2, + [ + "primary", + "secondary", + "tertiary", + "minor" + ], + 1, + 0 ], - 1.2, 0 ], 11, @@ -954,33 +994,37 @@ "match", [ "get", - "class" - ], - [ - "motorway", - "trunk", - "primary", - "secondary" + "is_route" ], - 1.3, - 0 - ], - 12, - [ - "match", [ - "get", - "class" + 5, + 6, + 7, + 8, + 10, + 99 ], [ - "motorway", - "trunk", - "primary", - "secondary", - "tertiary" + "match", + [ + "get", + "class" + ], + [ + "motorway", + "trunk" + ], + 1.3, + [ + "primary", + "secondary", + "tertiary", + "minor" + ], + 1, + 0 ], - 1.4, - 0 + 0.25 ], 13, [ @@ -1054,26 +1098,34 @@ ] ], "line-offset": 0, - "line-opacity": { - "stops": [ - [ - 9, - 0 - ], - [ - 10, - 0.4 - ], + "line-opacity": [ + "interpolate", + [ + "linear" + ], + [ + "zoom" + ], + 8, + 0, + 9, + [ + "match", [ - 16, - 0.35 + "get", + "oneway" ], - [ - 17, - 0.25 - ] - ] - }, + 2, + 0, + 0.4 + ], + 10, + 0.6, + 15, + 0.35, + 16, + 0.25 + ], "line-dasharray": [ 6, 3 @@ -1091,11 +1143,24 @@ "class", "rail", "ferry", + "car_ferry", "transit", "cable_car", + "chair_lift", "gondola", + "drag_lift", + "aerialway_transportation", + "aerialway_closed", + "aerialway_goods", + "goods_conveyor", "path", - "footway" + "footway", + "trail", + "rail", + "track", + "transit", + "via_ferrata", + "mask_terrain" ], [ "==", @@ -1107,7 +1172,7 @@ { "id": "tunnel_road_path_footway", "type": "line", - "source": "leichtebasiskarte_v3.0.1", + "source": "base_v1.0.0", "source-layer": "transportation", "minzoom": 6.0, "layout": { @@ -1138,11 +1203,11 @@ "line-opacity": { "stops": [ [ - 16, + 15, 0.4 ], [ - 17, + 16, 0.3 ] ] @@ -1178,7 +1243,7 @@ { "id": "road_via_ferrata", "type": "line", - "source": "leichtebasiskarte_v3.0.1", + "source": "base_v1.0.0", "source-layer": "transportation", "minzoom": 14.0, "layout": { @@ -1246,7 +1311,7 @@ { "id": "road_paths", "type": "line", - "source": "leichtebasiskarte_v3.0.1", + "source": "base_v1.0.0", "source-layer": "transportation", "minzoom": 13.0, "layout": { @@ -1287,11 +1352,11 @@ "line-opacity": { "stops": [ [ - 16, + 15, 0.35 ], [ - 17, + 16, 0.275 ] ] @@ -1337,7 +1402,7 @@ { "id": "road_fill", "type": "line", - "source": "leichtebasiskarte_v3.0.1", + "source": "base_v1.0.0", "source-layer": "transportation", "minzoom": 8.0, "layout": { @@ -1381,395 +1446,721 @@ "zoom" ], 7, - [ - "literal", - 0 - ], + 0, 8, [ "match", [ "get", - "ramp" - ], - 1, - 0.5, - 2 - ], - 10, - [ - "match", - [ - "get", - "class" + "is_route" ], [ - "motorway" + 5, + 10, + 99 ], [ "match", [ "get", - "ramp" + "class" ], - 1, - 1.5, - 2.75 - ], - [ - "trunk" + [ + "motorway" + ], + [ + "match", + [ + "get", + "ramp" + ], + 1, + 0.5, + 2 + ], + [ + "trunk" + ], + 2, + 2 ], - 2.75, [ "match", [ "get", - "is_route" + "ramp" ], - 11, - 0, - 2 + 1, + 0.5, + 0 ] ], - 11, + 9, [ "match", [ "get", - "class" + "is_route" ], [ - "motorway" + 5, + 10, + 99 ], [ "match", [ "get", - "ramp" + "class" ], - 1, - 1.5, - 2.75 - ], - [ - "trunk" + [ + "motorway" + ], + [ + "match", + [ + "get", + "ramp" + ], + 1, + 0.75, + 2.25 + ], + [ + "trunk" + ], + 2.25, + 2 ], - 2.75, [ "match", [ "get", - "is_route" + "ramp" ], - 11, - 0, - 2 + 1, + 0.75, + 0 ] ], - 12, + 10, [ "match", [ "get", - "class" + "is_route" ], [ - "motorway" + 5, + 6, + 7, + 8, + 10, + 99 ], [ "match", [ "get", - "ramp" + "class" + ], + [ + "motorway" + ], + [ + "match", + [ + "get", + "ramp" + ], + 1, + 0.75, + 2.75 + ], + [ + "trunk" + ], + 2.75, + "primary", + 2.5, + "secondary", + 2.5, + "tertiary", + 2, + [ + "minor", + "service" ], - 1, 1.5, - 3.75 - ], - [ - "trunk" + 0 ], [ "match", [ "get", - "oneway" + "ramp" ], 1, - 3.75, - 3.75 + 0.75, + 0 + ] + ], + 11, + [ + "match", + [ + "get", + "is_route" ], [ - "primary" + 5, + 6, + 7, + 8, + 10, + 99 ], [ "match", [ "get", - "is_route" + "class" ], [ - 5, - 6, - 7, - 8, - 9, - 10, - 99 + "motorway" ], - 3.75, - 0 - ], - [ - "secondary" - ], - [ - "match", [ - "get", - "is_route" + "match", + [ + "get", + "ramp" + ], + 1, + 1.25, + 3.25 ], [ - 5, - 6, - 7, - 8, - 9, - 10, - 99 + "trunk" ], 3.25, + "primary", + 3, + "secondary", + 3, + "tertiary", + 2.5, + [ + "minor", + "service" + ], + 1.75, 0 ], - [ - "tertiary" - ], [ "match", [ "get", - "is_route" - ], - [ - 5, - 6, - 7, - 8, - 9, - 10, - 99 + "ramp" ], - 2.25, + 1, + 1.25, 0 + ] + ], + 12, + [ + "match", + [ + "get", + "is_route" ], [ - "minor", - "path", - "track", - "footway" + 5, + 6, + 7, + 8, + 10, + 99 ], [ "match", [ "get", - "is_route" + "class" ], [ - 5, - 6, - 7, - 8, - 9, - 10, - 99 + "motorway" + ], + [ + "match", + [ + "get", + "ramp" + ], + 1, + 1.5, + 3.75 + ], + [ + "trunk" + ], + 3.75, + "primary", + 4, + "secondary", + 3.5, + "tertiary", + 3, + [ + "minor", + "service" ], 2, 0 ], - 0 + [ + "match", + [ + "get", + "ramp" + ], + 1, + 1.5, + 0 + ] ], 13, [ "match", [ "get", - "class" + "is_route" ], [ - "motorway" + 5, + 6, + 7, + 8, + 10, + 99 ], [ "match", [ "get", - "ramp" + "class" ], - 1, - 2.75, - 4.25 + [ + "motorway" + ], + [ + "match", + [ + "get", + "ramp" + ], + 1, + 1.75, + 4.5 + ], + [ + "trunk" + ], + 4.5, + "primary", + 4.5, + "secondary", + 4, + "tertiary", + 3.5, + [ + "minor", + "service" + ], + 2.5, + 2 ], + 11, [ - "trunk" + "match", + [ + "get", + "class" + ], + [ + "motorway", + "trunk" + ], + [ + "match", + [ + "get", + "ramp" + ], + 1, + 1.75, + 4.5 + ], + "primary", + 3, + "secondary", + 2.75, + "tertiary", + 2.75, + [ + "minor", + "service" + ], + 2, + 2 ], [ "match", [ "get", - "oneway" + "ramp" ], 1, - 4.25, - 4.25 - ], - [ - "primary" - ], - 4.25, - [ - "secondary" - ], - 3.75, - [ - "tertiary" - ], - 2.75, - [ - "minor" - ], - 1.75, - 0 + 1.75, + 0 + ] ], - 15, + 14, [ "match", [ "get", - "class" + "is_route" ], [ - "motorway" + 5, + 6, + 7, + 8, + 10, + 99 ], [ "match", [ "get", - "ramp" + "class" ], - 1, - 5, - 6.5 - ], - [ - "trunk" - ], - [ - "match", [ - "get", - "oneway" + "motorway" ], - 1, - 6.5, - 7.5 - ], - [ - "primary" - ], - 7.5, - [ - "secondary" - ], - 6.5, - [ + [ + "match", + [ + "get", + "ramp" + ], + 1, + 2.75, + 5.5 + ], + [ + "trunk" + ], + 5.5, + "primary", + 5.5, + "secondary", + 5, "tertiary", - "rail" + 4, + [ + "minor", + "service" + ], + 3, + 2.5 ], - 5.5, [ - "minor" - ], - 3.5, - 2.5 + "match", + [ + "get", + "class" + ], + [ + "motorway", + "trunk" + ], + [ + "match", + [ + "get", + "ramp" + ], + 1, + 2.75, + 5.5 + ], + "primary", + 3.5, + "secondary", + 3, + "tertiary", + 3, + [ + "minor", + "service" + ], + 2.5, + 2.5 + ] ], - 16, + 15, [ "match", [ "get", - "class" - ], - [ - "motorway" + "subclass" ], + "funicular", + 3, [ "match", [ "get", - "ramp" + "class" ], - 1, - 8.5, - 10.5 - ], + [ + "motorway", + "motorway_construction" + ], + [ + "match", + [ + "get", + "ramp" + ], + 1, + 5, + 6.5 + ], + [ + "trunk", + "trunk_construction" + ], + [ + "match", + [ + "get", + "oneway" + ], + 1, + 6.5, + 10.5 + ], + [ + "primary", + "primary_construction" + ], + 6.5, + [ + "secondary", + "secondary_construction" + ], + 5.5, + [ + "tertiary", + "tertiary_construction" + ], + 4.5, + [ + "minor", + "minor_construction", + "service", + "service_construction" + ], + 3.5, + [ + "rail", + "rail_construction" + ], + 5, + [ + "track", + "track_construction", + "path", + "path_construction", + "footway", + "footway_construction", + "transit", + "transit_construction" + ], + 1.25, + 3 + ] + ], + 16, + [ + "match", [ - "trunk" + "get", + "subclass" ], + "funicular", + 6, [ "match", [ "get", - "oneway" + "class" ], - 1, - 10.5, - 13.5 - ], - [ - "primary" - ], - 13.5, - [ - "secondary" - ], - 11.5, - [ - "tertiary", - "rail" - ], - 9.5, - [ - "minor" - ], - 7.5, - 6.5 + [ + "motorway", + "motorway_construction" + ], + [ + "match", + [ + "get", + "ramp" + ], + 1, + 8, + 10 + ], + [ + "trunk", + "trunk_construction" + ], + [ + "match", + [ + "get", + "oneway" + ], + 1, + 10, + 13 + ], + [ + "primary", + "primary_construction" + ], + 10, + [ + "secondary", + "secondary_construction" + ], + 9, + [ + "tertiary", + "tertiary_construction" + ], + 8, + [ + "minor", + "minor_construction", + "service", + "service_construction" + ], + 7, + [ + "rail", + "rail_construction" + ], + 9.5, + [ + "track", + "track_construction", + "path", + "path_construction", + "footway", + "footway_construction", + "transit", + "transit_construction" + ], + 6.5, + 6 + ] ], 20, [ "match", [ "get", - "class" - ], - [ - "motorway", - "trunk", - "primary", - "rail" - ], - 117, - [ - "secondary" - ], - 112, - [ - "tertiary" + "subclass" ], - 107, + "funicular", + 20, [ - "minor" - ], - 97, - 92 + "match", + [ + "get", + "class" + ], + [ + "motorway", + "motorway_construction" + ], + [ + "match", + [ + "get", + "ramp" + ], + 1, + 112, + 126 + ], + [ + "trunk", + "trunk_construction" + ], + [ + "match", + [ + "get", + "oneway" + ], + 1, + 126, + 136 + ], + [ + "primary", + "primary_construction" + ], + 117, + [ + "secondary", + "secondary_construction" + ], + 112, + [ + "tertiary", + "tertiary_construction" + ], + 107, + [ + "minor", + "minor_construction", + "service", + "service_construction" + ], + 97, + [ + "rail", + "rail_construction" + ], + 120, + [ + "track", + "track_construction", + "path", + "path_construction", + "footway", + "footway_construction", + "transit", + "transit_construction" + ], + 81, + 92 + ] ] ], "line-opacity": [ @@ -1784,22 +2175,10 @@ 8, 0, 9, - [ - "match", - [ - "get", - "class" - ], - [ - "motorway", - "trunk" - ], - 0.3, - 0.4 - ], - 16, 0.3, - 17, + 15, + 0.2, + 16, [ "match", [ @@ -1830,17 +2209,23 @@ "class" ], [ - "ferry", "cable_car", "car_ferry", "chair_lift", + "ferry", "gondola", + "drag_lift", + "aerialway_transportation", + "aerialway_closed", + "aerialway_goods", + "goods_conveyor", "path", "footway", "trail", "rail", "transit", - "via_ferrata" + "via_ferrata", + "mask_terrain" ], false, true @@ -1865,7 +2250,7 @@ { "id": "car_ferry", "type": "line", - "source": "leichtebasiskarte_v3.0.1", + "source": "base_v1.0.0", "source-layer": "transportation", "minzoom": 10.0, "layout": { @@ -1946,7 +2331,7 @@ { "id": "ferry", "type": "line", - "source": "leichtebasiskarte_v3.0.1", + "source": "base_v1.0.0", "source-layer": "transportation", "minzoom": 12.0, "layout": { @@ -2000,7 +2385,7 @@ { "id": "public_transport", "type": "line", - "source": "leichtebasiskarte_v3.0.1", + "source": "base_v1.0.0", "source-layer": "transportation", "minzoom": 9.0, "layout": { @@ -2016,98 +2401,163 @@ [ "zoom" ], - 8, - [ - "match", - [ - "get", - "class" - ], + 14, + 0.6, + 18, + 0.4 + ], + "line-color": { + "stops": [ [ - "rail" + 12, + "rgba(240, 60, 60, 1)" ], [ - "match", - [ - "get", - "subclass" - ], - [ - "rail", - "narrow_gauge", - "rack_rail" + 15, + "rgba(240, 80, 85, 1)" + ] + ] + }, + "line-width": [ + "interpolate", + [ + "linear" + ], + [ + "zoom" + ], + 9, + [ + "match", + [ + "get", + "is_route" + ], + 99, + [ + "match", + [ + "get", + "subclass" + ], + "rail", + 0.75, + 0 + ], + 0 + ], + 10, + [ + "match", + [ + "get", + "is_route" + ], + 99, + [ + "match", + [ + "get", + "class" + ], + [ + "rail" ], [ "match", [ "get", - "service" + "subclass" ], [ - "yard", - "siding" + "rail", + "narrow_gauge", + "rack_rail" ], - 2.5, - 0.6 + [ + "match", + [ + "get", + "service" + ], + [ + "yard", + "siding" + ], + 0, + 0.75 + ], + 0.5 ], - 0.6 + 0.5 ], - 0.6 + [ + "match", + [ + "get", + "subclass" + ], + [ + "cable_car", + "funicular" + ], + 0.75, + 0 + ] ], 14, [ "match", [ "get", - "class" - ], - [ - "rail" + "is_route" ], + 99, [ "match", [ "get", - "subclass" + "class" ], + "transit", + 1, [ - "rail", - "narrow_gauge", - "rack_rail" + "rail" ], [ "match", [ "get", - "service" + "subclass" ], [ - "yard", - "siding" + "rail", + "narrow_gauge", + "rack_rail" ], - 2.5, - 0.6 + 2, + 1 ], - 0.6 - ], - 0.6 - ], - 18, - 0.4 - ], - "line-color": { - "stops": [ - [ - 12, - "rgba(240, 60, 60, 1)" + 0 ], [ - 15, - "rgba(240, 80, 85, 1)" + "match", + [ + "get", + "subclass" + ], + [ + "cable_car", + "funicular" + ], + 1, + 0 ] - ] - }, - "line-width": [ + ], + 16, + 0.5 + ], + "line-opacity": [ "interpolate", [ "linear" @@ -2116,6 +2566,21 @@ "zoom" ], 8, + 0, + 9, + [ + "match", + [ + "get", + "class" + ], + [ + "rail" + ], + 1, + 0 + ], + 12, [ "match", [ @@ -2134,7 +2599,8 @@ [ "rail", "narrow_gauge", - "rack_rail" + "rack_rail", + "funicular" ], [ "match", @@ -2146,14 +2612,14 @@ "yard", "siding" ], - 0.2, + 0, 1 ], - 0.2 + 0 ], - 0.2 + 0 ], - 14, + 13, [ "match", [ @@ -2172,7 +2638,8 @@ [ "rail", "narrow_gauge", - "rack_rail" + "rack_rail", + "funicular" ], [ "match", @@ -2184,18 +2651,14 @@ "yard", "siding" ], - 0.2, - 1.5 + 0, + 1 ], - 1.5 - ], - [ - "cable_car" + 0 ], - 1.5, 1 ], - 18, + 14, [ "match", [ @@ -2214,7 +2677,8 @@ [ "rail", "narrow_gauge", - "rack_rail" + "rack_rail", + "funicular" ], [ "match", @@ -2226,66 +2690,16 @@ "yard", "siding" ], - 1.5, - 2 + 0, + 1 ], - 2 - ], - 1.5 - ] - ], - "line-opacity": [ - "interpolate", - [ - "linear" - ], - [ - "zoom" - ], - 9, - 0, - 10, - [ - "match", - [ - "get", - "service" - ], - [ - "siding" - ], - 0, - 1 - ], - 12, - [ - "match", - [ - "get", - "service" - ], - [ - "siding" - ], - 0, - 1 - ], - 13, - [ - "match", - [ - "get", - "service" - ], - [ - "siding" + 0 ], - 0, 1 ], + 15, + 1, 16, - 0.5, - 17, 0 ] }, @@ -2312,7 +2726,7 @@ { "id": "spot_elevation", "type": "symbol", - "source": "leichtebasiskarte_v3.0.1", + "source": "base_v1.0.0", "source-layer": "spot_elevation", "minzoom": 14.0, "layout": { @@ -2416,59 +2830,247 @@ ] }, { - "id": "waterway_line_label", + "id": "boundary_canton_l_label", "type": "symbol", - "source": "leichtebasiskarte_v3.0.1", - "source-layer": "waterway", + "source": "base_v1.0.0", + "source-layer": "boundary", "minzoom": 13.0, "layout": { "text-font": [ - "B612 Italic" + "B612 Regular" ], "text-size": [ "interpolate", [ - "exponential", - 1.5 + "linear" ], [ "zoom" ], - 10, - 10.5, - 16, + 13, + 11, + 18, + 14 + ], + "text-field": [ + "get", + "adm4_l" + ], + "visibility": "visible", + "text-offset": [ + 0, + 1 + ], + "text-justify": "center", + "text-padding": 0.01, + "symbol-spacing": [ + "interpolate", [ - "match", - [ - "to-string", - [ - "get", - "width" - ] - ], - [ - "8", - "9", - "10" - ], - 16, - [ - "7", - "6", - "5" - ], - 15, - [ - "4", - "3" - ], - 14, - [ - "2", - "1" - ], - 13, - [ + "linear" + ], + [ + "zoom" + ], + 13, + 200, + 18, + 400 + ], + "text-max-angle": 30, + "text-transform": "uppercase", + "symbol-placement": "line", + "icon-keep-upright": false, + "text-keep-upright": true, + "text-allow-overlap": false, + "text-letter-spacing": 0.3, + "text-pitch-alignment": "auto", + "text-ignore-placement": true, + "text-rotation-alignment": "auto" + }, + "paint": { + "text-color": "hsl(300,90%,84%)", + "text-opacity": 0.9, + "text-halo-blur": 1, + "text-halo-color": "rgba(16, 16, 16, 1)", + "text-halo-width": 1.5, + "text-translate-anchor": "viewport" + }, + "filter": [ + "all", + [ + "match", + [ + "get", + "admin_level" + ], + [ + 2, + 4 + ], + true, + false + ], + [ + "!=", + [ + "get", + "adm4_l" + ], + [ + "get", + "adm4_r" + ] + ] + ] + }, + { + "id": "boundary_canton_r_label", + "type": "symbol", + "source": "base_v1.0.0", + "source-layer": "boundary", + "minzoom": 13.0, + "layout": { + "text-font": [ + "B612 Regular" + ], + "text-size": [ + "interpolate", + [ + "linear" + ], + [ + "zoom" + ], + 13, + 11, + 18, + 14 + ], + "text-field": [ + "get", + "adm4_r" + ], + "visibility": "visible", + "text-offset": [ + 0, + -1 + ], + "text-justify": "center", + "text-padding": 0.01, + "symbol-spacing": [ + "interpolate", + [ + "linear" + ], + [ + "zoom" + ], + 13, + 200, + 18, + 400 + ], + "text-max-angle": 30, + "text-transform": "uppercase", + "symbol-placement": "line", + "icon-keep-upright": false, + "text-keep-upright": true, + "text-allow-overlap": false, + "text-letter-spacing": 0.3, + "text-pitch-alignment": "auto", + "text-ignore-placement": true, + "text-rotation-alignment": "auto" + }, + "paint": { + "text-color": "hsl(300,90%,84%)", + "text-opacity": 0.9, + "text-halo-blur": 1, + "text-halo-color": "rgba(16, 16, 16, 1)", + "text-halo-width": 1.5, + "text-translate-anchor": "viewport" + }, + "filter": [ + "all", + [ + "match", + [ + "get", + "admin_level" + ], + [ + 2, + 4 + ], + true, + false + ], + [ + "!=", + [ + "get", + "adm4_l" + ], + [ + "get", + "adm4_r" + ] + ] + ] + }, + { + "id": "waterway_line_label", + "type": "symbol", + "source": "base_v1.0.0", + "source-layer": "waterway", + "minzoom": 13.0, + "layout": { + "text-font": [ + "B612 Italic" + ], + "text-size": [ + "interpolate", + [ + "exponential", + 1.5 + ], + [ + "zoom" + ], + 10, + 10.5, + 16, + [ + "match", + [ + "to-string", + [ + "get", + "width" + ] + ], + [ + "8", + "9", + "10" + ], + 16, + [ + "7", + "6", + "5" + ], + 15, + [ + "4", + "3" + ], + 14, + [ + "2", + "1" + ], + 13, + [ "match", [ "get", @@ -2487,6 +3089,7 @@ "get", "name:latin" ], + "visibility": "visible", "text-padding": 0, "symbol-spacing": 650, "symbol-z-order": "auto", @@ -2554,7 +3157,7 @@ { "id": "public_transportation_label", "type": "symbol", - "source": "leichtebasiskarte_v3.0.1", + "source": "base_v1.0.0", "source-layer": "transportation_name", "minzoom": 13.0, "layout": { @@ -2623,17 +3226,14 @@ "in", "class", "rail", - "transit", - "cable_car", - "gondola", - "chair_lift" + "transit" ] ] }, { "id": "transportation_label", "type": "symbol", - "source": "leichtebasiskarte_v3.0.1", + "source": "base_v1.0.0", "source-layer": "transportation_name", "minzoom": 13.0, "layout": { @@ -2750,17 +3350,28 @@ "!in", "class", "rail", + "ferry", + "car_ferry", "transit", "cable_car", + "chair_lift", "gondola", - "chair_lift" + "drag_lift", + "aerialway_transportation", + "aerialway_closed", + "aerialway_goods", + "goods_conveyor", + "rail", + "transit", + "via_ferrata", + "mask_terrain" ] ] }, { "id": "aerialway", "type": "line", - "source": "leichtebasiskarte_v3.0.1", + "source": "base_v1.0.0", "source-layer": "transportation", "minzoom": 12.0, "layout": { @@ -2857,10 +3468,10 @@ { "id": "road_number", "type": "symbol", - "source": "leichtebasiskarte_v3.0.1", + "source": "base_v1.0.0", "source-layer": "transportation_name", - "minzoom": 11.0, - "maxzoom": 24.0, + "minzoom": 13.0, + "maxzoom": 22.0, "layout": { "icon-size": 1, "text-font": [ @@ -2942,842 +3553,154 @@ { "id": "area_name_glacier_point_label", "type": "symbol", - "source": "leichtebasiskarte_v3.0.1", + "source": "base_v1.0.0", "source-layer": "area_name", "minzoom": 14.0, "layout": { "text-font": [ "B612 Italic" ], - "text-size": [ - "interpolate", - [ - "linear" - ], - [ - "zoom" - ], - 10, - 11, - 16, - 20 - ], - "text-field": "{name:latin}", - "symbol-spacing": { - "stops": [ - [ - 12, - 250 - ], - [ - 14, - 550 - ] - ] - }, - "symbol-z-order": "auto", - "text-max-width": 99999, - "symbol-placement": "point", - "text-keep-upright": true, - "symbol-avoid-edges": true, - "text-allow-overlap": false, - "text-letter-spacing": 0.3, - "text-pitch-alignment": "map", - "text-ignore-placement": false, - "text-rotation-alignment": "map" - }, - "paint": { - "text-color": "rgba(175, 220, 255,1)", - "text-halo-blur": 1, - "text-halo-color": "rgba(16, 16, 16, 1)", - "text-halo-width": 1 - }, - "filter": [ - "all", - [ - "==", - "$type", - "Point" - ], - [ - "in", - "subclass", - "glacier" - ] - ] - }, - { - "id": "area_name_glacier_line_label", - "type": "symbol", - "source": "leichtebasiskarte_v3.0.1", - "source-layer": "area_name", - "minzoom": 12.0, - "layout": { - "text-font": [ - "B612 Italic" - ], - "text-size": [ - "interpolate", - [ - "linear" - ], - [ - "zoom" - ], - 10, - 11, - 16, - 20 - ], - "text-field": "{name:latin}", - "symbol-spacing": { - "stops": [ - [ - 12, - 250 - ], - [ - 13, - 950 - ] - ] - }, - "symbol-z-order": "auto", - "text-max-width": 99999, - "symbol-placement": "line-center", - "text-keep-upright": true, - "symbol-avoid-edges": true, - "text-allow-overlap": false, - "text-letter-spacing": { - "stops": [ - [ - 10, - 0.15 - ], - [ - 12, - 0.3 - ] - ] - }, - "text-pitch-alignment": "map", - "text-ignore-placement": false, - "text-rotation-alignment": "map" - }, - "paint": { - "text-color": "rgba(175, 220, 255,1)", - "text-halo-blur": 1, - "text-halo-color": "rgba(16, 16, 16, 1)", - "text-halo-width": 1 - }, - "filter": [ - "all", - [ - "==", - "$type", - "LineString" - ], - [ - "in", - "subclass", - "glacier" - ] - ] - }, - { - "id": "poi_rank3", - "type": "symbol", - "source": "leichtebasiskarte_v3.0.1", - "source-layer": "poi", - "minzoom": 15.0, - "layout": { - "icon-size": 1, - "text-font": [ - "B612 Regular" - ], - "text-size": [ - "interpolate", - [ - "linear" - ], - [ - "zoom" - ], - 14, - 12, - 18, - 16 - ], - "icon-image": [ - "match", - [ - "get", - "subclass" - ], - [ - "tram_stop", - "bus_stop", - "elevator", - "halt", - "cable_car_station", - "gondola_station", - "chair_lift_station", - "aerialway_station", - "subway_entrance", - "subway_stop" - ], - "dot_red", - "waterfall", - "waterfall_blue", - "observation_tower", - "observation_tower_white", - [ - "survey_point", - "surveying_pyramid" - ], - "dot_black_4", - "" - ], - "text-field": [ - "get", - "name:latin" - ], - "visibility": "visible", - "icon-rotate": [ - "to-number", - [ - "get", - "direction" - ] - ], - "text-anchor": [ - "match", - [ - "get", - "subclass" - ], - [ - "halt", - "tram_stop", - "bus_stop", - "elevator", - "cable_car_station", - "gondola_station", - "chair_lift_station", - "aerialway_station", - "subway_entrance", - "subway_stop", - "survey_point", - "surveying_pyramid" - ], - "bottom-left", - [ - "driving_centre", - "waterfall", - "observation_tower", - "stone_1", - "stone_2", - "stone_3", - "stone_4", - "stone_5" - ], - "left", - "center" - ], - "text-offset": [ - "match", - [ - "get", - "subclass" - ], - "observation_tower", - [ - "literal", - [ - 0.5, - 0.2 - ] - ], - "waterfall", - [ - "literal", - [ - 0.5, - 0.1 - ] - ], - [ - "literal", - [ - 0.4, - 0.1 - ] - ] - ], - "text-justify": "left", - "text-padding": 2, - "icon-optional": false, - "text-optional": false, - "text-max-width": 10, - "icon-allow-overlap": false, - "text-letter-spacing": 0.03, - "icon-ignore-placement": false, - "icon-rotation-alignment": "map" - }, - "paint": { - "text-color": [ - "match", - [ - "get", - "subclass" - ], - [ - "halt", - "tram_stop", - "bus_stop", - "elevator", - "cable_car_station", - "gondola_station", - "chair_lift_station", - "aerialway_station", - "subway_entrance", - "subway_stop" - ], - "rgba(255, 175, 180, 1)", - "waterfall", - "rgba(150, 220, 255,1)", - "rgba(255, 255, 250, 1)" - ], - "icon-opacity": [ - "step", - [ - "zoom" - ], - 0, - 15, - [ - "case", - [ - "has", - "name" - ], - 1, - 0 - ] - ], - "text-opacity": [ - "step", - [ - "zoom" - ], - 0, - 15, - [ - "match", - [ - "get", - "subclass" - ], - [ - "monument", - "stone_1", - "stone_2", - "stone_3", - "stone_4", - "stone_5", - "tower" - ], - 0, - 1 - ], - 16, - [ - "match", - [ - "get", - "class" - ], - [ - "monument", - "stone" - ], - 0, - 1 - ], - 17, - 1 - ], - "text-halo-blur": 1, - "text-halo-color": [ - "match", - [ - "get", - "subclass" - ], - [ - "halt", - "tram_stop", - "bus_stop", - "elevator", - "cable_car_station", - "gondola_station", - "chair_lift_station", - "aerialway_station", - "subway_entrance", - "subway_stop" - ], - "rgba(32, 32, 32, 1)", - "rgba(48, 48, 48, 1)" - ], - "text-halo-width": 2 - }, - "filter": [ - "all", - [ - "match", - [ - "get", - "class" - ], - [ - "allottments", - "attraction", - "aerialway", - "bus", - "building", - "cave", - "elevator", - "entrance", - "garden", - "monument", - "museum", - "place_of_worship", - "railway", - "survey_point", - "stone", - "tower", - "wastewater_plant", - "waterfall" - ], - true, - false - ], - [ - "match", - [ - "get", - "subclass" - ], - [ - "allottments", - "attraction", - "cave", - "building", - "bus_stop", - "cable_car_station", - "chair_lift_station", - "driving_centre", - "elevator", - "garden", - "gondola_station", - "halt", - "monument", - "museum", - "observation_tower", - "aerialway_station", - "stone_1", - "stone_2", - "stone_3", - "stone_4", - "stone_5", - "subway_entrance", - "subway_stop", - "survey_point", - "surveying_pyramid", - "tram_stop", - "tower", - "wastewater_plant", - "waterfall", - "" - ], - true, - false - ] - ] - }, - { - "id": "poi_rank2", - "type": "symbol", - "source": "leichtebasiskarte_v3.0.1", - "source-layer": "poi", - "minzoom": 13.0, - "layout": { - "icon-size": 1, - "text-font": [ - "B612 Regular" - ], - "text-size": [ - "interpolate", - [ - "linear" - ], - [ - "zoom" - ], - 14, - 12, - 18, - 16 - ], - "icon-image": [ - "match", - [ - "get", - "subclass" - ], - [ - "camp_site", - "caravan_site" - ], - "camping_white", - [ - "golf_course", - "golf" - ], - "golf_white", - [ - "ferry", - "car_ferry", - "ferry_terminal" - ], - "dot_blue", - "funicular_stop", - "dot_red", - "observation", - "observation_tower_white", - "wind_turbine", - "windturbine_white", - "communications_tower", - "communications_tower_white", - "" - ], - "text-field": [ - "get", - "name:latin" - ], - "visibility": "visible", - "icon-offset": [ - 0, - 0 - ], - "text-anchor": [ - "match", - [ - "get", - "class" - ], - [ - "monastery", - "lodging" - ], - "left", - [ - "match", - [ - "get", - "subclass" - ], - [ - "caravan_site", - "camp_site", - "golf_course", - "golf", - "communications_tower", - "observation" - ], - "left", - [ - "ferry", - "car_ferry", - "ferry_terminal", - "funicular_stop" - ], - "bottom-left", - "center" - ] - ], - "text-offset": [ - "match", - [ - "get", - "subclass" - ], - [ - "ferry", - "car_ferry", - "ferry_terminal", - "funicular_stop" - ], - [ - "literal", - [ - 0.4, - 0.1 - ] - ], - [ - "literal", - [ - 0.8, - 0.1 - ] - ] - ], - "text-justify": "left", - "icon-optional": false, - "text-optional": true, - "text-max-width": 10, - "icon-allow-overlap": false, - "text-letter-spacing": [ - "match", - [ - "get", - "class" - ], - [ - "park", - "attraction" - ], - 0.05, - 0.03 - ], - "icon-ignore-placement": false - }, - "paint": { - "text-color": [ - "match", - [ - "get", - "subclass" - ], - [ - "ferry", - "car_ferry", - "ferry_terminal", - "weir" - ], - "rgba(150, 220, 255,1)", - "funicular_stop", - "rgba(255, 175, 180, 1)", - "rgba(255, 255, 250, 1)" - ], - "icon-opacity": [ - "step", + "text-size": [ + "interpolate", [ - "zoom" + "linear" ], - 0, - 14, [ - "match", - [ - "get", - "subclass" - ], - [ - "wind_turbine", - "caravan_site", - "camp_site", - "communications_tower", - "ferry", - "car_ferry", - "ferry_terminal", - "funicular_stop", - "golf_course", - "golf", - "observation", - "cemetery", - "stadium", - "park" - ], - 1, - 0 + "zoom" ], + 10, + 11, 16, - 1 + 20 ], - "text-opacity": [ - "step", - [ - "zoom" - ], - 0, - 14, - [ - "match", + "text-field": "{name:latin}", + "visibility": "visible", + "symbol-spacing": { + "stops": [ [ - "get", - "class" + 12, + 250 ], [ - "ferry_terminal", - "funicular", - "golf", - "golf_course", - "cemetery", - "ruins", - "stadium", - "park", - "pitch" - ], - 1, - 0 + 14, + 550 + ] + ] + }, + "symbol-z-order": "auto", + "text-max-width": 99999, + "symbol-placement": "point", + "text-keep-upright": true, + "symbol-avoid-edges": true, + "text-allow-overlap": false, + "text-letter-spacing": 0.3, + "text-pitch-alignment": "map", + "text-ignore-placement": false, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "rgba(175, 220, 255,1)", + "text-halo-blur": 1, + "text-halo-color": "rgba(16, 16, 16, 1)", + "text-halo-width": 1 + }, + "filter": [ + "all", + [ + "==", + "$type", + "Point" + ], + [ + "in", + "subclass", + "glacier" + ] + ] + }, + { + "id": "area_name_glacier_line_label", + "type": "symbol", + "source": "base_v1.0.0", + "source-layer": "area_name", + "minzoom": 12.0, + "layout": { + "text-font": [ + "B612 Italic" + ], + "text-size": [ + "interpolate", + [ + "linear" ], - 15, [ - "match", - [ - "get", - "class" - ], - [ - "campsite", - "ferry", - "ferry_terminal", - "funicular", - "golf", - "golf_course", - "cemetery", - "stadium", - "park", - "pitch", - "place_of_worship", - "ruins", - "sports_centre", - "zoo" - ], - 1, - 0 + "zoom" ], + 10, + 11, 16, - [ - "match", + 20 + ], + "text-field": "{name:latin}", + "visibility": "visible", + "symbol-spacing": { + "stops": [ [ - "get", - "class" + 12, + 250 ], [ - "campsite", - "dam", - "ferry_terminal", - "fuel", - "funicular", - "golf", - "golf_course", - "horse_racing", - "lodging", - "cemetery", - "stadium", - "military", - "park", - "pitch", - "place_of_worship", - "power", - "ruins", - "sports_centre", - "tower", - "zoo" + 13, + 950 + ] + ] + }, + "symbol-z-order": "auto", + "text-max-width": 99999, + "symbol-placement": "line-center", + "text-keep-upright": true, + "symbol-avoid-edges": true, + "text-allow-overlap": false, + "text-letter-spacing": { + "stops": [ + [ + 10, + 0.15 ], - 1, - 0 - ], - 17, - 1 - ], + [ + 12, + 0.3 + ] + ] + }, + "text-pitch-alignment": "map", + "text-ignore-placement": false, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "rgba(175, 220, 255,1)", "text-halo-blur": 1, - "text-halo-color": [ - "match", - [ - "get", - "subclass" - ], - [ - "funicular_stop" - ], - "rgba(32,32,32, 1)", - "rgba(48, 48, 48, 1)" - ], - "text-halo-width": 2 + "text-halo-color": "rgba(16, 16, 16, 1)", + "text-halo-width": 1 }, "filter": [ - "any", - [ - "match", - [ - "get", - "subclass" - ], - [ - "observatory", - "tower", - "communications_tower" - ], - true, - false - ], + "all", [ - "match", - [ - "get", - "class" - ], - [ - "antenna_area", - "cemetery", - "college", - "ferry_terminal", - "funicular", - "attraction", - "fuel", - "golf", - "golf_course", - "horse_racing", - "lock", - "lodging", - "military", - "monastery", - "park", - "pitch", - "prison", - "ruins", - "school", - "sports_centre", - "stadium", - "swimming_pool", - "university", - "power", - "weir", - "zoo" - ], - true, - false + "==", + "$type", + "LineString" ], [ - "match", - [ - "get", - "subclass" - ], - "camp_site", - true, - false + "in", + "subclass", + "glacier" ] ] }, { "id": "poi_rank1", "type": "symbol", - "source": "leichtebasiskarte_v3.0.1", + "source": "base_v1.0.0", "source-layer": "poi", "minzoom": 14.0, "layout": { @@ -3995,14 +3918,14 @@ { "id": "place_other", "type": "symbol", - "source": "leichtebasiskarte_v3.0.1", + "source": "base_v1.0.0", "source-layer": "place", "minzoom": 11.0, "maxzoom": 17.0, "layout": { "icon-size": 1, "text-font": [ - "B612 Regular" + "B612 Bold" ], "text-size": [ "interpolate", @@ -4167,10 +4090,10 @@ { "id": "peaks_other", "type": "symbol", - "source": "leichtebasiskarte_v3.0.1", + "source": "base_v1.0.0", "source-layer": "mountain_peak", "minzoom": 15.0, - "maxzoom": 24.0, + "maxzoom": 22.0, "layout": { "icon-size": 1, "text-font": [ @@ -4355,10 +4278,10 @@ { "id": "peaks_rank5+", "type": "symbol", - "source": "leichtebasiskarte_v3.0.1", + "source": "base_v1.0.0", "source-layer": "mountain_peak", "minzoom": 13.0, - "maxzoom": 24.0, + "maxzoom": 22.0, "layout": { "icon-size": 1, "text-font": [ @@ -4536,10 +4459,10 @@ { "id": "peaks_rank4", "type": "symbol", - "source": "leichtebasiskarte_v3.0.1", + "source": "base_v1.0.0", "source-layer": "mountain_peak", "minzoom": 12.0, - "maxzoom": 24.0, + "maxzoom": 22.0, "layout": { "icon-size": 1, "text-font": [ @@ -4717,10 +4640,10 @@ { "id": "peaks_rank3", "type": "symbol", - "source": "leichtebasiskarte_v3.0.1", + "source": "base_v1.0.0", "source-layer": "mountain_peak", "minzoom": 11.0, - "maxzoom": 24.0, + "maxzoom": 22.0, "layout": { "icon-size": 1, "text-font": [ @@ -4859,8 +4782,74 @@ }, "paint": { "text-color": "rgba(255, 255, 248, 1)", - "icon-opacity": 1, - "text-opacity": 1, + "icon-opacity": [ + "step", + [ + "zoom" + ], + 0, + 8, + [ + "match", + [ + "get", + "class" + ], + "alpine_peak", + 1, + 0 + ], + 11, + [ + "match", + [ + "get", + "class" + ], + [ + "alpine_peak", + "main_peak" + ], + 1, + 0 + ], + 12, + 1 + ], + "text-opacity": [ + "step", + [ + "zoom" + ], + 0, + 8, + [ + "match", + [ + "get", + "class" + ], + "alpine_peak", + 1, + 0 + ], + 11, + [ + "match", + [ + "get", + "class" + ], + [ + "alpine_peak", + "main_peak" + ], + 1, + 0 + ], + 12, + 1 + ], "icon-halo-blur": 0, "text-halo-blur": 1, "icon-halo-width": 0, @@ -4898,10 +4887,10 @@ { "id": "peaks_rank2", "type": "symbol", - "source": "leichtebasiskarte_v3.0.1", + "source": "base_v1.0.0", "source-layer": "mountain_peak", "minzoom": 10.0, - "maxzoom": 24.0, + "maxzoom": 22.0, "layout": { "icon-size": 1, "text-font": [ @@ -5040,8 +5029,74 @@ }, "paint": { "text-color": "rgba(255, 255, 248, 1)", - "icon-opacity": 1, - "text-opacity": 1, + "icon-opacity": [ + "step", + [ + "zoom" + ], + 0, + 8, + [ + "match", + [ + "get", + "class" + ], + "alpine_peak", + 1, + 0 + ], + 11, + [ + "match", + [ + "get", + "class" + ], + [ + "alpine_peak", + "main_peak" + ], + 1, + 0 + ], + 12, + 1 + ], + "text-opacity": [ + "step", + [ + "zoom" + ], + 0, + 8, + [ + "match", + [ + "get", + "class" + ], + "alpine_peak", + 1, + 0 + ], + 11, + [ + "match", + [ + "get", + "class" + ], + [ + "alpine_peak", + "main_peak" + ], + 1, + 0 + ], + 12, + 1 + ], "icon-halo-blur": 0, "text-halo-blur": 1, "icon-halo-color": "rgba(0, 0, 0, 0)", @@ -5080,14 +5135,14 @@ { "id": "place_hamlet_isolated_dwelling", "type": "symbol", - "source": "leichtebasiskarte_v3.0.1", + "source": "base_v1.0.0", "source-layer": "place", - "minzoom": 11.0, + "minzoom": 12.0, "maxzoom": 17.0, "layout": { "icon-size": 1, "text-font": [ - "B612 Regular" + "B612 Bold" ], "text-size": [ "interpolate", @@ -5280,10 +5335,10 @@ { "id": "place_country_exclave", "type": "symbol", - "source": "leichtebasiskarte_v3.0.1", + "source": "base_v1.0.0", "source-layer": "place", "minzoom": 11.0, - "maxzoom": 24.0, + "maxzoom": 22.0, "layout": { "text-font": [ "B612 Bold" @@ -5312,8 +5367,8 @@ "text-letter-spacing": 0.12 }, "paint": { - "text-color": "rgba(255, 147, 255, 0.9)", - "text-opacity": 1, + "text-color": "hsl(300,90%,80%)", + "text-opacity": 0.9, "text-halo-blur": 1, "text-halo-color": "rgba(16, 16, 16, 1)", "text-halo-width": 1 @@ -5336,14 +5391,14 @@ { "id": "place_village", "type": "symbol", - "source": "leichtebasiskarte_v3.0.1", + "source": "base_v1.0.0", "source-layer": "place", "minzoom": 7.0, "maxzoom": 16.0, "layout": { "icon-size": 1, "text-font": [ - "B612 Regular" + "B612 Bold" ], "text-size": [ "interpolate", @@ -5357,97 +5412,247 @@ [ "zoom" ], - 4, + 4, + [ + "case", + [ + "<=", + 3000, + [ + "get", + "population" + ] + ], + 12, + 10 + ], + 16, + [ + "case", + [ + "<=", + 3000, + [ + "get", + "population" + ] + ], + 26, + 24 + ] + ], + "icon-image": [ + "step", + [ + "zoom" + ], + "circle_black_4", + 6, + "circle_black_4", + 8, + "circle_black_6", + 10, + "circle_black_8", + 12, + "circle_black_10" + ], + "text-field": [ + "get", + "name:latin" + ], + "visibility": "visible", + "text-anchor": [ + "literal", + "bottom-left" + ], + "text-offset": [ + "literal", + [ + 0.4, + 0.2 + ] + ], + "text-justify": "auto", + "text-padding": 20, + "icon-optional": false, + "text-optional": false, + "symbol-z-order": [ + "literal", + "auto" + ], + "text-max-width": 10, + "text-transform": "none", + "symbol-sort-key": [ + "to-number", + [ + "get", + "rank" + ] + ], + "text-letter-spacing": 0.03 + }, + "paint": { + "text-color": "rgba(255, 255, 250, 1)", + "icon-opacity": [ + "step", + [ + "zoom" + ], + 0, + 7, + [ + "match", + [ + "get", + "capital" + ], + [ + 2, + 4 + ], + 1, + 0 + ], + 8, + [ + "case", + [ + ">", + 14, + [ + "get", + "rank" + ] + ], + 1, + 0 + ], + 9, + [ + "case", + [ + ">", + 15, + [ + "get", + "rank" + ] + ], + 1, + 0 + ], + 10, + [ + "case", + [ + ">", + 18, + [ + "get", + "rank" + ] + ], + 1, + 0 + ], + 11, + [ + "case", + [ + ">", + 28, + [ + "get", + "rank" + ] + ], + 1, + 0 + ], + 12, + 1, + 13, + 0 + ], + "text-opacity": [ + "step", + [ + "zoom" + ], + 0, + 7, + [ + "match", + [ + "get", + "capital" + ], + [ + 2, + 4 + ], + 1, + 0 + ], + 8, [ "case", [ - "<=", - 3000, + ">", + 14, [ "get", - "population" + "rank" ] ], - 12, - 10 + 1, + 0 ], - 16, + 9, [ "case", [ - "<=", - 3000, + ">", + 15, [ "get", - "population" + "rank" ] ], - 26, - 24 - ] - ], - "icon-image": [ - "step", - [ - "zoom" + 1, + 0 ], - "circle_black_4", - 6, - "circle_black_4", - 8, - "circle_black_6", 10, - "circle_black_8", - 12, - "circle_black_10" - ], - "text-field": [ - "get", - "name:latin" - ], - "visibility": "visible", - "text-anchor": [ - "literal", - "bottom-left" - ], - "text-offset": [ - "literal", - [ - 0.4, - 0.2 - ] - ], - "text-justify": "auto", - "text-padding": 20, - "icon-optional": false, - "text-optional": false, - "symbol-z-order": [ - "literal", - "auto" - ], - "text-max-width": 10, - "text-transform": "none", - "symbol-sort-key": [ - "to-number", [ - "get", - "rank" - ] - ], - "text-letter-spacing": 0.03 - }, - "paint": { - "text-color": "rgba(255, 255, 250, 1)", - "icon-opacity": [ - "step", + "case", + [ + ">", + 18, + [ + "get", + "rank" + ] + ], + 1, + 0 + ], + 11, [ - "zoom" + "case", + [ + ">", + 28, + [ + "get", + "rank" + ] + ], + 1, + 0 ], - 1, - 13, - 0 + 12, + 1 ], - "text-opacity": 1, "text-halo-blur": 1, "text-halo-color": "rgba(48, 48, 48, 1)", "text-halo-width": 1.5 @@ -5464,10 +5669,10 @@ { "id": "peaks_rank1", "type": "symbol", - "source": "leichtebasiskarte_v3.0.1", + "source": "base_v1.0.0", "source-layer": "mountain_peak", "minzoom": 9.0, - "maxzoom": 24.0, + "maxzoom": 22.0, "layout": { "icon-size": 1, "text-font": [ @@ -5626,7 +5831,29 @@ 10, 1 ], - "text-opacity": 1, + "text-opacity": [ + "step", + [ + "zoom" + ], + 0, + 9, + [ + "case", + [ + "<=", + 3200, + [ + "get", + "ele" + ] + ], + 1, + 0 + ], + 10, + 1 + ], "icon-halo-blur": 0, "text-halo-blur": 1, "icon-halo-color": "rgba(255, 255, 255, 1)", @@ -5665,7 +5892,7 @@ { "id": "aerodrome_label", "type": "symbol", - "source": "leichtebasiskarte_v3.0.1", + "source": "base_v1.0.0", "source-layer": "aerodrome_label", "minzoom": 11.0, "layout": { @@ -5740,6 +5967,7 @@ "get", "name:latin" ], + "visibility": "visible", "icon-anchor": "center", "text-anchor": "left", "text-offset": [ @@ -5771,10 +5999,51 @@ "paint": { "text-color": "rgba(255, 255, 250, 1)", "icon-opacity": [ - "literal", + "step", + [ + "zoom" + ], + 0, + 11, + [ + "match", + [ + "get", + "class" + ], + [ + "international", + "regional" + ], + 1, + 0 + ], + 12, + 1 + ], + "text-opacity": [ + "step", + [ + "zoom" + ], + 0, + 11, + [ + "match", + [ + "get", + "class" + ], + [ + "international", + "regional" + ], + 1, + 0 + ], + 12, 1 ], - "text-opacity": 1, "text-halo-blur": 1, "icon-halo-width": 0, "text-halo-color": "rgba(48, 48, 48, 1)", @@ -5804,7 +6073,7 @@ { "id": "place_town", "type": "symbol", - "source": "leichtebasiskarte_v3.0.1", + "source": "base_v1.0.0", "source-layer": "place", "minzoom": 6.0, "maxzoom": 15.0, @@ -5911,11 +6180,73 @@ [ "zoom" ], + 0, + 6, + [ + "case", + [ + ">", + 10, + [ + "get", + "rank" + ] + ], + 1, + [ + "match", + [ + "get", + "capital" + ], + [ + 2, + 4 + ], + 1, + 0 + ] + ], + 8, 1, 12, 0 ], - "text-opacity": 1, + "text-opacity": [ + "step", + [ + "zoom" + ], + 0, + 6, + [ + "case", + [ + ">", + 10, + [ + "get", + "rank" + ] + ], + 1, + [ + "match", + [ + "get", + "capital" + ], + [ + 2, + 4 + ], + 1, + 0 + ] + ], + 8, + 1 + ], "text-halo-blur": 1, "text-halo-color": "rgba(48, 48, 48, 1)", "text-halo-width": 1.5 @@ -5932,10 +6263,10 @@ { "id": "water_name_point_label", "type": "symbol", - "source": "leichtebasiskarte_v3.0.1", + "source": "base_v1.0.0", "source-layer": "water_name", "minzoom": 7.0, - "maxzoom": 24.0, + "maxzoom": 22.0, "layout": { "text-font": [ "B612 Italic" @@ -6317,7 +6648,7 @@ { "id": "park_label", "type": "symbol", - "source": "leichtebasiskarte_v3.0.1", + "source": "base_v1.0.0", "source-layer": "park", "minzoom": 8.0, "maxzoom": 18.0, @@ -6343,6 +6674,7 @@ 28 ], "text-field": "{name:latin}", + "visibility": "visible", "text-padding": [ "interpolate", [ @@ -6384,7 +6716,7 @@ { "id": "area_name_massif_label", "type": "symbol", - "source": "leichtebasiskarte_v3.0.1", + "source": "base_v1.0.0", "source-layer": "area_name", "minzoom": 11.0, "layout": { @@ -6405,6 +6737,7 @@ 23 ], "text-field": "{name:latin}", + "visibility": "visible", "symbol-spacing": { "stops": [ [ @@ -6464,7 +6797,7 @@ { "id": "place_city", "type": "symbol", - "source": "leichtebasiskarte_v3.0.1", + "source": "base_v1.0.0", "source-layer": "place", "minzoom": 2.0, "maxzoom": 13.0, @@ -6565,14 +6898,127 @@ } ], "metadata": { - "maputnik:renderer": "mbgljs", - "openmaptiles:version": "3.x", - "ga:version": "v1.13.0", - "ga:publisher": "CI:ac3e99d6-5d72-4d5b-9d12-59f8c5af5468", + "maptiler:template": { + "groups": [ + { + "id": "HTRhC5uNor6RDy5nPccLk", + "icon": "variant2", + "name": "label", + "layers": [ + "place_city", + "area_name_massif_label", + "park_label", + "water_name_point_label", + "place_town", + "aerodrome_label", + "place_village", + "place_country_exclave", + "place_hamlet_isolated_dwelling", + "place_other", + "area_name_glacier_line_label", + "area_name_glacier_point_label" + ] + }, + { + "id": "UZ5NoGREoXyWMKvxy0_c3", + "icon": "poi", + "name": "poi", + "layers": [ + "poi_rank1" + ] + }, + { + "id": "nY2FkLbFM-XVY_uuMY6kP", + "icon": "terrain", + "name": "mountain_peak", + "layers": [ + "peaks_rank1", + "peaks_rank2", + "peaks_rank3", + "peaks_rank4", + "peaks_rank5+", + "peaks_other" + ] + }, + { + "id": "rC9bGjQLn98NdUCE2ObLc", + "icon": "transport", + "name": "transportation", + "layers": [ + "ferry", + "car_ferry", + "public_transport", + "road_fill", + "road_paths", + "road_via_ferrata", + "tunnel_road_path_footway", + "tunnel_road", + "tunnel_public_transport", + "road_number", + "public_transportation_label", + "aerialway", + "transportation_label" + ] + }, + { + "id": "administrative", + "icon": "administrative", + "name": "boundary", + "layers": [ + "boundary_canton_l_label", + "boundary_canton_r_label", + "boundary", + "boundary_disputed", + "park" + ] + }, + { + "id": "38biI46S8IApkhroETSU0", + "icon": "terrain", + "name": "terrain", + "layers": [ + "spot_elevation" + ] + }, + { + "id": "rwXlmJdxx8aLmg8LxrDO7", + "icon": "water", + "name": "water", + "layers": [ + "water_line", + "waterway_line_label" + ] + }, + { + "id": "background", + "icon": "background", + "name": "Background", + "layers": [ + "background" + ] + } + ], + "viewState": { + "mapType": "Style", + "activeBlock": "rC9bGjQLn98NdUCE2ObLc", + "toolPanelType": "Layers", + "selectedLayers": [ + "tunnel_road" + ], + "propertyPanelType": "Edit", + "editorFocusProperty": null, + "layersViewPanelType": "Verticality" + }, + "userSettings": { + "preferredViewPanelType": "Verticality" + } + }, + "ga:version": "v1.17.0", + "ga:publisher": "CI:597e6ccf-63c7-4a22-9279-940877bf6866", "ga:branch": "master" }, "glyphs": "/map/fonts/{fontstack}/{range}.pbf", - "sprite": "https://vectortiles.geo.admin.ch/styles/ch.swisstopo.leichte-basiskarte-imagery.vt/sprite/sprite", + "sprite": "https://vectortiles.geo.admin.ch/styles/ch.swisstopo.imagerybasemap.vt/sprite/sprite", "bearing": 0.0, "pitch": 0.0, "center": [ diff --git a/ui/src/assets/map/styles/ch.swisstopo.leichte-basiskarte.vt.json b/ui/src/assets/map/styles/ch.swisstopo.leichte-basiskarte.vt.json index 7e0b0f73..55458f57 100644 --- a/ui/src/assets/map/styles/ch.swisstopo.leichte-basiskarte.vt.json +++ b/ui/src/assets/map/styles/ch.swisstopo.leichte-basiskarte.vt.json @@ -13041,716 +13041,6 @@ ] ] }, - { - "id": "poi_rank3", - "type": "symbol", - "source": "base_v1.0.0", - "source-layer": "poi", - "minzoom": 15.0, - "layout": { - "icon-size": 1, - "text-font": [ - "B612 Regular" - ], - "text-size": [ - "interpolate", - [ - "linear" - ], - [ - "zoom" - ], - 14, - 12, - 18, - 18 - ], - "icon-image": [ - "match", - [ - "get", - "subclass" - ], - [ - "tram_stop", - "bus_stop", - "halt", - "cable_car_station", - "gondola_station", - "chair_lift_station", - "aerialway_station", - "elevator", - "subway_entrance", - "subway_stop" - ], - "dot_red", - "waterfall", - "waterfall_blue", - "observation_tower", - "observation_tower_grey", - [ - "survey_point", - "surveying_pyramid" - ], - "dot_dark_grey_4", - "" - ], - "text-field": [ - "get", - "name:latin" - ], - "visibility": "visible", - "icon-rotate": [ - "to-number", - [ - "get", - "direction" - ] - ], - "text-anchor": [ - "match", - [ - "get", - "subclass" - ], - [ - "halt", - "tram_stop", - "bus_stop", - "cable_car_station", - "gondola_station", - "chair_lift_station", - "aerialway_station", - "elevator", - "subway_entrance", - "subway_stop", - "survey_point", - "surveying_pyramid" - ], - "bottom-left", - [ - "waterfall", - "observation_tower" - ], - "left", - "center" - ], - "text-offset": [ - "match", - [ - "get", - "subclass" - ], - "observation_tower", - [ - "literal", - [ - 0.5, - 0.2 - ] - ], - "waterfall", - [ - "literal", - [ - 0.5, - 0.1 - ] - ], - [ - "literal", - [ - 0.4, - 0.1 - ] - ] - ], - "text-justify": "left", - "text-padding": 2, - "icon-optional": false, - "text-optional": true, - "text-max-width": 10, - "icon-allow-overlap": false, - "icon-ignore-placement": false, - "icon-rotation-alignment": "map" - }, - "paint": { - "text-color": [ - "match", - [ - "get", - "subclass" - ], - [ - "halt", - "tram_stop", - "bus_stop", - "cable_car_station", - "gondola_station", - "chair_lift_station", - "aerialway_station", - "elevator", - "subway_entrance", - "subway_stop" - ], - "rgba(255, 50, 50, 1)", - "waterfall", - "rgba(20, 136, 205, 1)", - "rgba(48, 48, 48, 1)" - ], - "icon-opacity": [ - "case", - [ - "has", - "name" - ], - 1, - 0 - ], - "text-opacity": [ - "step", - [ - "zoom" - ], - 0, - 15, - [ - "match", - [ - "get", - "class" - ], - "college", - 0, - 1 - ], - 16, - 1 - ], - "text-halo-blur": 1, - "text-halo-color": "rgba(242, 242, 242, 0.6)", - "text-halo-width": [ - "interpolate", - [ - "linear" - ], - [ - "zoom" - ], - 14, - 1, - 17, - 2 - ] - }, - "filter": [ - "all", - [ - "match", - [ - "get", - "class" - ], - [ - "allottments", - "antenna_area", - "attraction", - "aerialway", - "bus", - "building", - "cave", - "driving_centre", - "elevator", - "entrance", - "garden", - "place_of_worship", - "railway", - "survey_point", - "tower", - "wastewater_plant", - "waterfall" - ], - true, - false - ], - [ - "match", - [ - "get", - "subclass" - ], - [ - "aerialway_station", - "allottments", - "antenna_area", - "attraction", - "bus_stop", - "cable_car_station", - "cave", - "chair_lift_station", - "building", - "elevator", - "garden", - "gondola_station", - "halt", - "observation_tower", - "observatory", - "subway_entrance", - "subway_stop", - "survey_point", - "surveying_pyramid", - "tower", - "tram_stop", - "wastewater_plant", - "waterfall", - "" - ], - true, - false - ] - ] - }, - { - "id": "poi_rank2", - "type": "symbol", - "source": "base_v1.0.0", - "source-layer": "poi", - "minzoom": 13.0, - "layout": { - "icon-size": 1, - "text-font": [ - "B612 Regular" - ], - "text-size": [ - "interpolate", - [ - "linear" - ], - [ - "zoom" - ], - 14, - 12, - 18, - 18 - ], - "icon-image": [ - "step", - [ - "zoom" - ], - [ - "match", - [ - "get", - "subclass" - ], - "church_tower", - "dot_circle_dark_grey_8", - [ - "golf_course", - "golf" - ], - "golf_grey", - [ - "ferry", - "car_ferry", - "ferry_terminal" - ], - "dot_blue", - "funicular_stop", - "dot_red", - "wind_turbine", - "windturbine_grey", - "communications_tower", - "communications_tower_grey", - "" - ], - 15, - [ - "match", - [ - "get", - "subclass" - ], - [ - "camp_site", - "caravan_site" - ], - "camping_grey", - "church_tower", - "dot_circle_dark_grey_10", - [ - "golf_course", - "golf" - ], - "golf_grey", - [ - "ferry", - "car_ferry", - "ferry_terminal" - ], - "dot_blue", - "funicular_stop", - "dot_red", - "wind_turbine", - "windturbine_grey", - "communications_tower", - "communications_tower_grey", - "" - ], - 16, - [ - "match", - [ - "get", - "subclass" - ], - [ - "camp_site", - "caravan_site" - ], - "camping_grey", - "church_tower", - "dot_circle_dark_grey_12", - [ - "golf_course", - "golf" - ], - "golf_grey", - [ - "ferry", - "car_ferry", - "ferry_terminal" - ], - "dot_blue", - "funicular_stop", - "dot_red", - "hospital", - "hospital_grey", - "wind_turbine", - "windturbine_grey", - "communications_tower", - "communications_tower_grey", - "" - ] - ], - "text-field": [ - "get", - "name:latin" - ], - "visibility": "visible", - "icon-offset": [ - 0, - 0 - ], - "text-anchor": [ - "match", - [ - "get", - "class" - ], - [ - "monastery" - ], - "left", - [ - "match", - [ - "get", - "subclass" - ], - [ - "caravan_site", - "camp_site", - "church_tower", - "golf_course", - "golf", - "hospital", - "communications_tower" - ], - "left", - [ - "ferry", - "car_ferry", - "ferry_terminal", - "funicular_stop" - ], - "bottom-left", - "center" - ] - ], - "text-offset": [ - "match", - [ - "get", - "subclass" - ], - [ - "ferry", - "car_ferry", - "ferry_terminal", - "funicular_stop" - ], - [ - "literal", - [ - 0.4, - 0.1 - ] - ], - [ - "literal", - [ - 0.8, - 0.1 - ] - ] - ], - "text-justify": "left", - "icon-optional": false, - "text-optional": true, - "text-max-width": 10, - "icon-allow-overlap": false, - "text-letter-spacing": [ - "match", - [ - "get", - "class" - ], - [ - "park" - ], - 0.05, - 0 - ], - "icon-ignore-placement": false - }, - "paint": { - "text-color": [ - "match", - [ - "get", - "subclass" - ], - [ - "ferry", - "car_ferry", - "ferry_terminal" - ], - "rgba(20, 136, 205, 1)", - "funicular_stop", - "rgba(255, 50, 50, 1)", - "weir", - "rgba(20, 136, 205, 1)", - "rgba(48, 48, 48, 1)" - ], - "icon-opacity": [ - "step", - [ - "zoom" - ], - 0, - 13, - [ - "match", - [ - "get", - "subclass" - ], - "wind_turbine", - 0, - 0 - ], - 14, - [ - "match", - [ - "get", - "class" - ], - [ - "place_of_worship" - ], - 1, - [ - "match", - [ - "get", - "subclass" - ], - [ - "wind_turbine", - "caravan_site", - "camp_site", - "ferry", - "ferry_terminal", - "funicular_stop", - "golf_course", - "golf", - "cemetery", - "stadium", - "park" - ], - 1, - 0 - ] - ], - 15, - 1 - ], - "text-opacity": [ - "step", - [ - "zoom" - ], - 0, - 14, - [ - "match", - [ - "get", - "class" - ], - [ - "ferry", - "car_ferry", - "ferry_terminal", - "funicular", - "golf", - "golf_course", - "cemetery", - "ruins", - "stadium", - "park", - "pitch" - ], - 1, - 0 - ], - 15, - [ - "match", - [ - "get", - "class" - ], - [ - "campsite", - "ferry", - "car_ferry", - "ferry_terminal", - "funicular", - "golf", - "golf_course", - "cemetery", - "ruins", - "stadium", - "park", - "pitch", - "place_of_worship", - "sports_centre", - "zoo" - ], - 1, - 0 - ], - 16, - [ - "match", - [ - "get", - "class" - ], - [ - "campsite", - "ferry", - "car_ferry", - "ferry_terminal", - "funicular", - "golf", - "golf_course", - "cemetery", - "ruins", - "stadium", - "park", - "pitch", - "place_of_worship", - "sports_centre", - "zoo" - ], - 1, - 0 - ], - 17, - 1 - ], - "text-halo-blur": 1, - "text-halo-color": "rgba(242, 242, 242, 0.6)", - "text-halo-width": [ - "interpolate", - [ - "linear" - ], - [ - "zoom" - ], - 14, - 1, - 17, - 2 - ] - }, - "filter": [ - "any", - [ - "match", - [ - "get", - "class" - ], - [ - "cemetery", - "dam", - "ferry_terminal", - "funicular", - "attraction", - "fuel", - "golf", - "golf_course", - "horse_racing", - "military", - "monastery", - "park", - "pitch", - "prison", - "ruins", - "sports_centre", - "stadium", - "swimming_pool", - "power", - "weir", - "zoo" - ], - true, - false - ], - [ - "match", - [ - "get", - "subclass" - ], - [ - "church_tower", - "camp_site", - "communications_tower" - ], - true, - false - ] - ] - }, { "id": "peaks_other", "type": "symbol", @@ -17066,9 +16356,7 @@ "icon": "poi", "name": "poi", "layers": [ - "poi_rank1", - "poi_rank2", - "poi_rank3" + "poi_rank1" ] }, { From 6d175783b4769cadfe5d935a3df2bf8b3151fe40 Mon Sep 17 00:00:00 2001 From: Daniel Aschwanden Date: Wed, 25 Sep 2024 09:22:55 +0200 Subject: [PATCH 29/35] feat(map): improve styling of railways and aeroways --- .../ch.swisstopo.leichte-basiskarte.vt.json | 50 +++++++++---------- 1 file changed, 25 insertions(+), 25 deletions(-) diff --git a/ui/src/assets/map/styles/ch.swisstopo.leichte-basiskarte.vt.json b/ui/src/assets/map/styles/ch.swisstopo.leichte-basiskarte.vt.json index 55458f57..79a642bd 100644 --- a/ui/src/assets/map/styles/ch.swisstopo.leichte-basiskarte.vt.json +++ b/ui/src/assets/map/styles/ch.swisstopo.leichte-basiskarte.vt.json @@ -3070,7 +3070,7 @@ "type": "line", "source": "base_v1.0.0", "source-layer": "transportation", - "minzoom": 8.0, + "minzoom": 8, "layout": { "line-cap": "butt", "line-join": "miter", @@ -3168,11 +3168,11 @@ "stops": [ [ 7, - "rgba(255, 50, 50, 1)" + "rgba(170, 170, 170, 1)" ], [ 15, - "rgba(255, 80, 80, 1)" + "rgba(170, 170, 170, 1)" ] ] }, @@ -3464,7 +3464,7 @@ "type": "line", "source": "base_v1.0.0", "source-layer": "transportation", - "minzoom": 7.0, + "minzoom": 7, "layout": { "line-cap": "butt", "line-join": "miter", @@ -6652,7 +6652,7 @@ "type": "line", "source": "base_v1.0.0", "source-layer": "transportation", - "minzoom": 8.0, + "minzoom": 8, "layout": { "visibility": "visible" }, @@ -6748,11 +6748,11 @@ "stops": [ [ 7, - "rgba(255, 50, 50, 1)" + "rgba(238, 234, 234, 1)" ], [ 15, - "rgba(255, 80, 80, 1)" + "rgba(116, 114, 114, 1)" ] ] }, @@ -8276,7 +8276,7 @@ "type": "line", "source": "base_v1.0.0", "source-layer": "transportation", - "minzoom": 7.0, + "minzoom": 7, "layout": { "line-cap": "butt", "line-join": "round", @@ -9424,7 +9424,7 @@ "type": "line", "source": "base_v1.0.0", "source-layer": "transportation", - "minzoom": 10.0, + "minzoom": 10, "layout": { "line-cap": "round", "visibility": "visible" @@ -9517,11 +9517,11 @@ "stops": [ [ 7, - "rgba(255, 50, 50, 1)" + "rgba(206, 132, 132, 1)" ], [ 15, - "rgba(255, 80, 80, 1)" + "rgba(85, 53, 53, 1)" ] ] }, @@ -12531,7 +12531,7 @@ "type": "line", "source": "base_v1.0.0", "source-layer": "transportation", - "minzoom": 12.0, + "minzoom": 12, "layout": { "visibility": "visible" }, @@ -12541,11 +12541,11 @@ "stops": [ [ 7, - "rgba(255, 50, 50, 1)" + "rgba(156, 155, 155, 1)" ], [ 15, - "rgba(255, 80, 80, 1)" + "rgba(106, 105, 105, 1)" ] ] }, @@ -12643,10 +12643,10 @@ "type": "symbol", "source": "base_v1.0.0", "source-layer": "transportation_name", - "minzoom": 13.0, + "minzoom": 13, "layout": { "text-font": [ - "B612 Regular" + "B612 Italic" ], "text-size": [ "interpolate", @@ -12715,7 +12715,10 @@ "symbol-avoid-edges": true, "text-letter-spacing": 0.1, "text-pitch-alignment": "map", - "text-rotation-alignment": "map" + "text-rotation-alignment": "map", + "icon-anchor": "center", + "icon-pitch-alignment": "auto", + "icon-allow-overlap": true }, "paint": { "text-color": [ @@ -12727,11 +12730,10 @@ [ "rail", "transit", - "cable_car", "gondola", "chair_lift" ], - "rgba(255, 50, 50, 1)", + "rgba(170, 170, 170, 1)", [ "ferry", "car_ferry" @@ -12792,8 +12794,6 @@ [ "!in", "class", - "cable_car", - "gondola", "chair_lift", "drag_lift", "aerialway_transportation", @@ -14274,7 +14274,7 @@ "type": "symbol", "source": "base_v1.0.0", "source-layer": "poi", - "minzoom": 14.0, + "minzoom": 14, "layout": { "icon-size": 1, "text-font": [ @@ -14300,7 +14300,7 @@ "subclass" ], "railway_station", - "square_red", + "circle_dark_grey_6", "castle", "castle_grey", "" @@ -14360,8 +14360,8 @@ "subclass" ], "railway_station", - "rgba(255, 50, 50, 1)", - "rgba(48, 48, 48, 1)" + "rgba(18, 16, 16, 1)", + "rgba(18, 16, 16, 1)" ], "text-opacity": 1, "text-halo-blur": 1, From 27fee1c8cca78f5ee889ac116b4ad4269374ac4d Mon Sep 17 00:00:00 2001 From: Daniel Aschwanden Date: Wed, 25 Sep 2024 11:19:15 +0200 Subject: [PATCH 30/35] feat(map): improve map loading speed --- ui/public/map/sprite/sprite.json | 282 ------ ui/public/map/sprite/sprite.png | Bin 19824 -> 0 bytes ui/public/map/sprites/.babs.json.swp | Bin 0 -> 16384 bytes ui/public/map/sprites/babs.json | 947 ++++++++++++++++++ ui/public/map/sprites/babs.png | Bin 0 -> 52607 bytes ui/public/map/sprites/babs@2x.json | 947 ++++++++++++++++++ ui/public/map/sprites/babs@2x.png | Bin 0 -> 140979 bytes ui/public/map/sprites/sprite.json | 1 + ui/public/map/sprites/sprite.png | Bin 0 -> 50257 bytes ui/public/map/sprites/sprite@2x.json | 1 + ui/public/map/sprites/sprite@2x.png | Bin 0 -> 107258 bytes .../babs/32/ABCDekontaminationsstelle.svg | 23 + .../assets/babs/32/AbsperrungVerkehrswege.svg | 6 + .../babs/32/Angehoerigensammelstelle.svg | 10 + ui/src/assets/babs/32/Atomunfall.svg | 36 + ui/src/assets/babs/32/Autounfall.svg | 41 + ui/src/assets/babs/32/BLaboratorium.svg | 11 + .../assets/babs/32/BeabsichtigteErkundung.svg | 4 + .../babs/32/BeabsichtigteVerschiebung.svg | 6 + .../assets/babs/32/BeabsichtigterEinsatz.svg | 8 + ui/src/assets/babs/32/Beobachtung.svg | 4 + ui/src/assets/babs/32/Beschaedigung.svg | 5 + ui/src/assets/babs/32/Betreuungsstelle.svg | 8 + .../babs/32/Betriebsstoffabgabestelle.svg | 6 + .../assets/babs/32/Bezirksfuehrungsorgan.svg | 14 + ui/src/assets/babs/32/Biounfall.svg | 36 + ui/src/assets/babs/32/Bombenanschlag.svg | 20 + ui/src/assets/babs/32/Bombendrohung.svg | 22 + ui/src/assets/babs/32/Brand.svg | 36 + ui/src/assets/babs/32/Brandanschlag.svg | 41 + .../babs/32/BrandeinzelnesGebaeudeFlamme.svg | 4 + .../assets/babs/32/BranduebergriffErfolgt.svg | 4 + .../assets/babs/32/BranduebergriffGefahr.svg | 4 + ui/src/assets/babs/32/Chemieunfall.svg | 36 + ui/src/assets/babs/32/Chemikalien.svg | 5 + ui/src/assets/babs/32/Debriefingstelle.svg | 14 + ui/src/assets/babs/32/Demogewaltlos.svg | 36 + ui/src/assets/babs/32/Demogewaltsam.svg | 109 ++ ui/src/assets/babs/32/Drohung.svg | 6 + ui/src/assets/babs/32/Duerre.svg | 36 + .../babs/32/DurchgefuehrteErkundung.svg | 4 + .../babs/32/DurchgefuehrteVerschiebung.svg | 6 + .../assets/babs/32/DurchgefuehrterEinsatz.svg | 8 + .../babs/32/EingesperrteAbgeschnittene.svg | 4 + ui/src/assets/babs/32/Einsatz.svg | 5 + ui/src/assets/babs/32/Einsatzleiter.svg | 8 + ui/src/assets/babs/32/Einsatzleitung.svg | 11 + ui/src/assets/babs/32/Einsatzraum.svg | 4 + ui/src/assets/babs/32/Einsatzzentrale.svg | 13 + ui/src/assets/babs/32/Eisenbahnunglueck.svg | 36 + ui/src/assets/babs/32/Energieausfall.svg | 36 + ui/src/assets/babs/32/Epidemie.svg | 36 + ui/src/assets/babs/32/Erdbeben.svg | 36 + ui/src/assets/babs/32/Erdrutsch.svg | 36 + ui/src/assets/babs/32/Explosion.svg | 4 + ui/src/assets/babs/32/ExplosionGefahr.svg | 6 + ui/src/assets/babs/32/Fluechtlinge.svg | 41 + ui/src/assets/babs/32/Flugzeugabsturz.svg | 36 + ui/src/assets/babs/32/Gas.svg | 7 + ui/src/assets/babs/32/Gebaeudeeinsturz.svg | 18 + ui/src/assets/babs/32/GefahrElektrizitaet.svg | 6 + .../babs/32/GefahrdurchLoeschenmitWasser.svg | 7 + .../babs/32/GefahrentafelmitUNNummer.svg | 14 + .../assets/babs/32/GefahrfuerGrundwasser.svg | 4 + .../assets/babs/32/Gemeindefuehrungsorgan.svg | 14 + ui/src/assets/babs/32/Gruppe.svg | 6 + ui/src/assets/babs/32/Gruppenfuehrer.svg | 6 + .../assets/babs/32/Helikopterlandeplatz.svg | 7 + ui/src/assets/babs/32/Informationsstelle.svg | 7 + ui/src/assets/babs/32/Informationszentrum.svg | 7 + .../assets/babs/32/Infrastrukturschaden.svg | 19 + ui/src/assets/babs/32/KGSNotdepot.svg | 13 + ui/src/assets/babs/32/KGSNotlager.svg | 13 + ui/src/assets/babs/32/KGSSammelpunkt.svg | 15 + ui/src/assets/babs/32/Kadaversammelstelle.svg | 14 + .../assets/babs/32/Kanalisationsausfall.svg | 12 + .../babs/32/KantonalesFuehrungsorgan.svg | 14 + ui/src/assets/babs/32/KommandopostenFront.svg | 10 + .../babs/32/KommandopostenRueckwaertiges.svg | 12 + .../assets/babs/32/Kommunikationsstoerung.svg | 36 + ui/src/assets/babs/32/Kompanie.svg | 6 + ui/src/assets/babs/32/Kontrollstelle.svg | 8 + ui/src/assets/babs/32/Kontrollzentrum.svg | 8 + ui/src/assets/babs/32/Lawine.svg | 36 + ui/src/assets/babs/32/Massenpanik.svg | 56 ++ ui/src/assets/babs/32/Materialdepot.svg | 7 + .../assets/babs/32/MobileEinsatzzentrale.svg | 12 + ui/src/assets/babs/32/Obdachlose.svg | 6 + ui/src/assets/babs/32/Oelverschmutzung.svg | 36 + ui/src/assets/babs/32/OffizierZugfuehrer.svg | 7 + .../assets/babs/32/Patientensammelstelle.svg | 8 + .../babs/32/PatternBeabsichtigteErkundung.svg | 4 + ui/src/assets/babs/32/PatternBrandzone.svg | 35 + .../32/PatternLineBeabsichtigteErkundung.svg | 4 + .../assets/babs/32/PatternLineErkundung.svg | 4 + .../babs/32/PatternLineRettungsachse.svg | 6 + .../babs/32/PatternLineRutschgebiet.svg | 5 + .../32/PatternLineRutschgebietGespiegelt.svg | 5 + .../babs/32/PatternLineUnpassierbar.svg | 4 + ui/src/assets/babs/32/PatternZerstoert.svg | 6 + ui/src/assets/babs/32/Pforte.svg | 4 + ui/src/assets/babs/32/Pluenderung.svg | 41 + ui/src/assets/babs/32/RadioaktiveStoffe.svg | 4 + .../babs/32/RegionalesFuehrungsorgan.svg | 14 + ui/src/assets/babs/32/RettungsAchse.svg | 4 + ui/src/assets/babs/32/Rutschgebiet.svg | 4 + ui/src/assets/babs/32/Sabotage.svg | 36 + ui/src/assets/babs/32/Sammelstelle.svg | 6 + .../assets/babs/32/Sanitaetshilfsstelle.svg | 7 + .../assets/babs/32/Sanitaetsumladestelle.svg | 7 + ui/src/assets/babs/32/Schadengebiet.svg | 4 + ui/src/assets/babs/32/Sperre.svg | 20 + .../babs/32/StandortmobileFuehrungsstelle.svg | 6 + ui/src/assets/babs/32/Starkniederschlag.svg | 60 ++ ui/src/assets/babs/32/Stau.svg | 11 + .../babs/32/Strerschwertbefahrbarbegehbar.svg | 8 + .../assets/babs/32/Streugutsammelstelle.svg | 8 + .../32/Strnichtbefahrbarschwerbegehbar.svg | 14 + .../babs/32/Strunpassierbargesperrt.svg | 33 + ui/src/assets/babs/32/Stuetzpunkt.svg | 20 + ui/src/assets/babs/32/Sturm.svg | 36 + ui/src/assets/babs/32/Tankloeschfahrzeug.svg | 12 + ui/src/assets/babs/32/Teilzerstoerung.svg | 7 + ui/src/assets/babs/32/Terroranschlag.svg | 36 + ui/src/assets/babs/32/Tierseuche.svg | 12 + ui/src/assets/babs/32/Totalzerstoerung.svg | 9 + ui/src/assets/babs/32/Tote.svg | 5 + ui/src/assets/babs/32/Totensammelstelle.svg | 6 + .../babs/32/Trinkwasserabgabestelle.svg | 8 + .../babs/32/TruemmerbereichSignatur.svg | 4 + ui/src/assets/babs/32/Trupp.svg | 5 + .../assets/babs/32/UeberschwemmtesGebiet.svg | 6 + ui/src/assets/babs/32/Ueberschwemmung.svg | 36 + ui/src/assets/babs/32/Ueberwachung.svg | 4 + ui/src/assets/babs/32/Umleitung.svg | 5 + ui/src/assets/babs/32/Unfall.svg | 5 + ui/src/assets/babs/32/Verkehrsposten.svg | 7 + ui/src/assets/babs/32/Verletzte.svg | 6 + ui/src/assets/babs/32/Verletztennest.svg | 6 + ui/src/assets/babs/32/Vermisste.svg | 4 + .../babs/32/Verpflegungsabgabestelle.svg | 5 + ui/src/assets/babs/32/Verschiebung.svg | 4 + ui/src/assets/babs/32/Wasservsgausfall.svg | 36 + ui/src/assets/babs/32/Wasserwerfer.svg | 14 + .../assets/babs/32/ZivilesFuehrungsorgan.svg | 14 + ui/src/assets/babs/32/Zug.svg | 7 + ...isstopo.leichte-basiskarte-imagery.vt.json | 97 +- .../ch.swisstopo.leichte-basiskarte.vt.json | 22 +- .../components/map/EnrichedLayerFeatures.tsx | 4 +- ui/src/views/map/Map.tsx | 33 +- ui/src/views/map/style.ts | 20 +- ui/vite.config.ts | 2 +- 152 files changed, 4046 insertions(+), 365 deletions(-) delete mode 100644 ui/public/map/sprite/sprite.json delete mode 100644 ui/public/map/sprite/sprite.png create mode 100644 ui/public/map/sprites/.babs.json.swp create mode 100644 ui/public/map/sprites/babs.json create mode 100644 ui/public/map/sprites/babs.png create mode 100644 ui/public/map/sprites/babs@2x.json create mode 100644 ui/public/map/sprites/babs@2x.png create mode 100644 ui/public/map/sprites/sprite.json create mode 100644 ui/public/map/sprites/sprite.png create mode 100644 ui/public/map/sprites/sprite@2x.json create mode 100644 ui/public/map/sprites/sprite@2x.png create mode 100644 ui/src/assets/babs/32/ABCDekontaminationsstelle.svg create mode 100644 ui/src/assets/babs/32/AbsperrungVerkehrswege.svg create mode 100644 ui/src/assets/babs/32/Angehoerigensammelstelle.svg create mode 100644 ui/src/assets/babs/32/Atomunfall.svg create mode 100644 ui/src/assets/babs/32/Autounfall.svg create mode 100644 ui/src/assets/babs/32/BLaboratorium.svg create mode 100644 ui/src/assets/babs/32/BeabsichtigteErkundung.svg create mode 100644 ui/src/assets/babs/32/BeabsichtigteVerschiebung.svg create mode 100644 ui/src/assets/babs/32/BeabsichtigterEinsatz.svg create mode 100644 ui/src/assets/babs/32/Beobachtung.svg create mode 100644 ui/src/assets/babs/32/Beschaedigung.svg create mode 100644 ui/src/assets/babs/32/Betreuungsstelle.svg create mode 100644 ui/src/assets/babs/32/Betriebsstoffabgabestelle.svg create mode 100644 ui/src/assets/babs/32/Bezirksfuehrungsorgan.svg create mode 100644 ui/src/assets/babs/32/Biounfall.svg create mode 100644 ui/src/assets/babs/32/Bombenanschlag.svg create mode 100644 ui/src/assets/babs/32/Bombendrohung.svg create mode 100644 ui/src/assets/babs/32/Brand.svg create mode 100644 ui/src/assets/babs/32/Brandanschlag.svg create mode 100644 ui/src/assets/babs/32/BrandeinzelnesGebaeudeFlamme.svg create mode 100644 ui/src/assets/babs/32/BranduebergriffErfolgt.svg create mode 100644 ui/src/assets/babs/32/BranduebergriffGefahr.svg create mode 100644 ui/src/assets/babs/32/Chemieunfall.svg create mode 100644 ui/src/assets/babs/32/Chemikalien.svg create mode 100644 ui/src/assets/babs/32/Debriefingstelle.svg create mode 100644 ui/src/assets/babs/32/Demogewaltlos.svg create mode 100644 ui/src/assets/babs/32/Demogewaltsam.svg create mode 100644 ui/src/assets/babs/32/Drohung.svg create mode 100644 ui/src/assets/babs/32/Duerre.svg create mode 100644 ui/src/assets/babs/32/DurchgefuehrteErkundung.svg create mode 100644 ui/src/assets/babs/32/DurchgefuehrteVerschiebung.svg create mode 100644 ui/src/assets/babs/32/DurchgefuehrterEinsatz.svg create mode 100644 ui/src/assets/babs/32/EingesperrteAbgeschnittene.svg create mode 100644 ui/src/assets/babs/32/Einsatz.svg create mode 100644 ui/src/assets/babs/32/Einsatzleiter.svg create mode 100644 ui/src/assets/babs/32/Einsatzleitung.svg create mode 100644 ui/src/assets/babs/32/Einsatzraum.svg create mode 100644 ui/src/assets/babs/32/Einsatzzentrale.svg create mode 100644 ui/src/assets/babs/32/Eisenbahnunglueck.svg create mode 100644 ui/src/assets/babs/32/Energieausfall.svg create mode 100644 ui/src/assets/babs/32/Epidemie.svg create mode 100644 ui/src/assets/babs/32/Erdbeben.svg create mode 100644 ui/src/assets/babs/32/Erdrutsch.svg create mode 100644 ui/src/assets/babs/32/Explosion.svg create mode 100644 ui/src/assets/babs/32/ExplosionGefahr.svg create mode 100644 ui/src/assets/babs/32/Fluechtlinge.svg create mode 100644 ui/src/assets/babs/32/Flugzeugabsturz.svg create mode 100644 ui/src/assets/babs/32/Gas.svg create mode 100644 ui/src/assets/babs/32/Gebaeudeeinsturz.svg create mode 100644 ui/src/assets/babs/32/GefahrElektrizitaet.svg create mode 100644 ui/src/assets/babs/32/GefahrdurchLoeschenmitWasser.svg create mode 100644 ui/src/assets/babs/32/GefahrentafelmitUNNummer.svg create mode 100644 ui/src/assets/babs/32/GefahrfuerGrundwasser.svg create mode 100644 ui/src/assets/babs/32/Gemeindefuehrungsorgan.svg create mode 100644 ui/src/assets/babs/32/Gruppe.svg create mode 100644 ui/src/assets/babs/32/Gruppenfuehrer.svg create mode 100644 ui/src/assets/babs/32/Helikopterlandeplatz.svg create mode 100644 ui/src/assets/babs/32/Informationsstelle.svg create mode 100644 ui/src/assets/babs/32/Informationszentrum.svg create mode 100644 ui/src/assets/babs/32/Infrastrukturschaden.svg create mode 100644 ui/src/assets/babs/32/KGSNotdepot.svg create mode 100644 ui/src/assets/babs/32/KGSNotlager.svg create mode 100644 ui/src/assets/babs/32/KGSSammelpunkt.svg create mode 100644 ui/src/assets/babs/32/Kadaversammelstelle.svg create mode 100644 ui/src/assets/babs/32/Kanalisationsausfall.svg create mode 100644 ui/src/assets/babs/32/KantonalesFuehrungsorgan.svg create mode 100644 ui/src/assets/babs/32/KommandopostenFront.svg create mode 100644 ui/src/assets/babs/32/KommandopostenRueckwaertiges.svg create mode 100644 ui/src/assets/babs/32/Kommunikationsstoerung.svg create mode 100644 ui/src/assets/babs/32/Kompanie.svg create mode 100644 ui/src/assets/babs/32/Kontrollstelle.svg create mode 100644 ui/src/assets/babs/32/Kontrollzentrum.svg create mode 100644 ui/src/assets/babs/32/Lawine.svg create mode 100644 ui/src/assets/babs/32/Massenpanik.svg create mode 100644 ui/src/assets/babs/32/Materialdepot.svg create mode 100644 ui/src/assets/babs/32/MobileEinsatzzentrale.svg create mode 100644 ui/src/assets/babs/32/Obdachlose.svg create mode 100644 ui/src/assets/babs/32/Oelverschmutzung.svg create mode 100644 ui/src/assets/babs/32/OffizierZugfuehrer.svg create mode 100644 ui/src/assets/babs/32/Patientensammelstelle.svg create mode 100644 ui/src/assets/babs/32/PatternBeabsichtigteErkundung.svg create mode 100644 ui/src/assets/babs/32/PatternBrandzone.svg create mode 100644 ui/src/assets/babs/32/PatternLineBeabsichtigteErkundung.svg create mode 100644 ui/src/assets/babs/32/PatternLineErkundung.svg create mode 100644 ui/src/assets/babs/32/PatternLineRettungsachse.svg create mode 100644 ui/src/assets/babs/32/PatternLineRutschgebiet.svg create mode 100644 ui/src/assets/babs/32/PatternLineRutschgebietGespiegelt.svg create mode 100644 ui/src/assets/babs/32/PatternLineUnpassierbar.svg create mode 100644 ui/src/assets/babs/32/PatternZerstoert.svg create mode 100644 ui/src/assets/babs/32/Pforte.svg create mode 100644 ui/src/assets/babs/32/Pluenderung.svg create mode 100644 ui/src/assets/babs/32/RadioaktiveStoffe.svg create mode 100644 ui/src/assets/babs/32/RegionalesFuehrungsorgan.svg create mode 100644 ui/src/assets/babs/32/RettungsAchse.svg create mode 100644 ui/src/assets/babs/32/Rutschgebiet.svg create mode 100644 ui/src/assets/babs/32/Sabotage.svg create mode 100644 ui/src/assets/babs/32/Sammelstelle.svg create mode 100644 ui/src/assets/babs/32/Sanitaetshilfsstelle.svg create mode 100644 ui/src/assets/babs/32/Sanitaetsumladestelle.svg create mode 100644 ui/src/assets/babs/32/Schadengebiet.svg create mode 100644 ui/src/assets/babs/32/Sperre.svg create mode 100644 ui/src/assets/babs/32/StandortmobileFuehrungsstelle.svg create mode 100644 ui/src/assets/babs/32/Starkniederschlag.svg create mode 100644 ui/src/assets/babs/32/Stau.svg create mode 100644 ui/src/assets/babs/32/Strerschwertbefahrbarbegehbar.svg create mode 100644 ui/src/assets/babs/32/Streugutsammelstelle.svg create mode 100644 ui/src/assets/babs/32/Strnichtbefahrbarschwerbegehbar.svg create mode 100644 ui/src/assets/babs/32/Strunpassierbargesperrt.svg create mode 100644 ui/src/assets/babs/32/Stuetzpunkt.svg create mode 100644 ui/src/assets/babs/32/Sturm.svg create mode 100644 ui/src/assets/babs/32/Tankloeschfahrzeug.svg create mode 100644 ui/src/assets/babs/32/Teilzerstoerung.svg create mode 100644 ui/src/assets/babs/32/Terroranschlag.svg create mode 100644 ui/src/assets/babs/32/Tierseuche.svg create mode 100644 ui/src/assets/babs/32/Totalzerstoerung.svg create mode 100644 ui/src/assets/babs/32/Tote.svg create mode 100644 ui/src/assets/babs/32/Totensammelstelle.svg create mode 100644 ui/src/assets/babs/32/Trinkwasserabgabestelle.svg create mode 100644 ui/src/assets/babs/32/TruemmerbereichSignatur.svg create mode 100644 ui/src/assets/babs/32/Trupp.svg create mode 100644 ui/src/assets/babs/32/UeberschwemmtesGebiet.svg create mode 100644 ui/src/assets/babs/32/Ueberschwemmung.svg create mode 100644 ui/src/assets/babs/32/Ueberwachung.svg create mode 100644 ui/src/assets/babs/32/Umleitung.svg create mode 100644 ui/src/assets/babs/32/Unfall.svg create mode 100644 ui/src/assets/babs/32/Verkehrsposten.svg create mode 100644 ui/src/assets/babs/32/Verletzte.svg create mode 100644 ui/src/assets/babs/32/Verletztennest.svg create mode 100644 ui/src/assets/babs/32/Vermisste.svg create mode 100644 ui/src/assets/babs/32/Verpflegungsabgabestelle.svg create mode 100644 ui/src/assets/babs/32/Verschiebung.svg create mode 100644 ui/src/assets/babs/32/Wasservsgausfall.svg create mode 100644 ui/src/assets/babs/32/Wasserwerfer.svg create mode 100644 ui/src/assets/babs/32/ZivilesFuehrungsorgan.svg create mode 100644 ui/src/assets/babs/32/Zug.svg diff --git a/ui/public/map/sprite/sprite.json b/ui/public/map/sprite/sprite.json deleted file mode 100644 index 491ed8ad..00000000 --- a/ui/public/map/sprite/sprite.json +++ /dev/null @@ -1,282 +0,0 @@ -{ - "windturbine_white": { - "width": 32, - "height": 38, - "x": 0, - "y": 0, - "pixelRatio": 1.0 - }, - "communications_tower_white": { - "width": 24, - "height": 33, - "x": 32, - "y": 0, - "pixelRatio": 1.0 - }, - "observation_tower_white": { - "width": 26, - "height": 31, - "x": 0, - "y": 38, - "pixelRatio": 1.0 - }, - "airplane_large_white": { - "width": 28, - "height": 28, - "x": 26, - "y": 38, - "pixelRatio": 1.0 - }, - "airplane_medium_white": { - "width": 27, - "height": 27, - "x": 54, - "y": 38, - "pixelRatio": 1.0 - }, - "golf_white": { - "width": 26, - "height": 27, - "x": 81, - "y": 38, - "pixelRatio": 1.0 - }, - "camping_white": { - "width": 22, - "height": 24, - "x": 56, - "y": 0, - "pixelRatio": 1.0 - }, - "airplane_small_white": { - "width": 23, - "height": 23, - "x": 78, - "y": 0, - "pixelRatio": 1.0 - }, - "castle_white": { - "width": 16, - "height": 22, - "x": 107, - "y": 38, - "pixelRatio": 1.0 - }, - "viewpoint_white": { - "width": 26, - "height": 21, - "x": 101, - "y": 0, - "pixelRatio": 1.0 - }, - "cave_white": { - "width": 28, - "height": 20, - "x": 0, - "y": 69, - "pixelRatio": 1.0 - }, - "hospital_white": { - "width": 19, - "height": 19, - "x": 28, - "y": 69, - "pixelRatio": 1.0 - }, - "waterfall_blue": { - "width": 12, - "height": 18, - "x": 47, - "y": 69, - "pixelRatio": 1.0 - }, - "circle_black_12": { - "width": 16, - "height": 16, - "x": 59, - "y": 69, - "pixelRatio": 1.0 - }, - "circle_circle_black_12": { - "width": 16, - "height": 16, - "x": 75, - "y": 69, - "pixelRatio": 1.0 - }, - "dot_circle_black_12": { - "width": 16, - "height": 16, - "x": 91, - "y": 69, - "pixelRatio": 1.0 - }, - "helicopter_white": { - "width": 26, - "height": 16, - "x": 0, - "y": 89, - "pixelRatio": 1.0 - }, - "box_white_grey_casing_1": { - "width": 12, - "height": 14, - "x": 26, - "y": 89, - "pixelRatio": 1.0 - }, - "box_white_grey_casing_10": { - "width": 60, - "height": 14, - "x": 38, - "y": 89, - "pixelRatio": 1.0 - }, - "box_white_grey_casing_11": { - "width": 66, - "height": 14, - "x": 0, - "y": 105, - "pixelRatio": 1.0 - }, - "box_white_grey_casing_12": { - "width": 72, - "height": 14, - "x": 0, - "y": 119, - "pixelRatio": 1.0 - }, - "box_white_grey_casing_2": { - "width": 18, - "height": 14, - "x": 66, - "y": 105, - "pixelRatio": 1.0 - }, - "box_white_grey_casing_3": { - "width": 22, - "height": 14, - "x": 84, - "y": 105, - "pixelRatio": 1.0 - }, - "box_white_grey_casing_4": { - "width": 28, - "height": 14, - "x": 72, - "y": 119, - "pixelRatio": 1.0 - }, - "box_white_grey_casing_5": { - "width": 34, - "height": 14, - "x": 0, - "y": 133, - "pixelRatio": 1.0 - }, - "box_white_grey_casing_6": { - "width": 38, - "height": 14, - "x": 34, - "y": 133, - "pixelRatio": 1.0 - }, - "box_white_grey_casing_7": { - "width": 44, - "height": 14, - "x": 72, - "y": 133, - "pixelRatio": 1.0 - }, - "box_white_grey_casing_8": { - "width": 50, - "height": 14, - "x": 106, - "y": 105, - "pixelRatio": 1.0 - }, - "box_white_grey_casing_9": { - "width": 54, - "height": 14, - "x": 156, - "y": 105, - "pixelRatio": 1.0 - }, - "circle_black_10": { - "width": 14, - "height": 14, - "x": 210, - "y": 105, - "pixelRatio": 1.0 - }, - "circle_circle_black_10": { - "width": 14, - "height": 14, - "x": 224, - "y": 105, - "pixelRatio": 1.0 - }, - "dot_circle_black_10": { - "width": 14, - "height": 14, - "x": 238, - "y": 105, - "pixelRatio": 1.0 - }, - "circle_black_8": { - "width": 12, - "height": 12, - "x": 100, - "y": 119, - "pixelRatio": 1.0 - }, - "dot_circle_black_8": { - "width": 12, - "height": 12, - "x": 112, - "y": 119, - "pixelRatio": 1.0 - }, - "circle_black_6": { - "width": 10, - "height": 10, - "x": 124, - "y": 119, - "pixelRatio": 1.0 - }, - "dot_circle_black_6": { - "width": 10, - "height": 10, - "x": 134, - "y": 119, - "pixelRatio": 1.0 - }, - "square_red": { - "width": 10, - "height": 10, - "x": 144, - "y": 119, - "pixelRatio": 1.0 - }, - "circle_black_4": { - "width": 8, - "height": 8, - "x": 154, - "y": 119, - "pixelRatio": 1.0 - }, - "dot_blue": { - "width": 8, - "height": 8, - "x": 162, - "y": 119, - "pixelRatio": 1.0 - }, - "dot_red": { - "width": 8, - "height": 8, - "x": 170, - "y": 119, - "pixelRatio": 1.0 - } -} \ No newline at end of file diff --git a/ui/public/map/sprite/sprite.png b/ui/public/map/sprite/sprite.png deleted file mode 100644 index 689c4594199dff350d5b721d31ff18492268e5d2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 19824 zcmagG2{_c@+cr$Lk!?hb2!o{TvS%F>vZRt^&lVwjwh)6X5enItB9lFmeJheZp{&`* zo{*jIn*Pu8zR!Dn-|>DOC1&}}@4oNrzOM5+&+`_3UFRyz$ulR3h=^!3)Kzc5{|E3d z9zhOYag^?OA|h=m4OQh^Uc}2y6n=~zjHt_c%5|};7jpug#iOLY_R}FlVPm2;eP(Ma z!z_@r%6HYfYE3G%K$=DE zpMwYzabc4Zx_HrEv}fbo*|TRkHss7mk1^uf=ljK1co5B4jFsW)b^Quc#?P_{swFZ? zW@1Z+CREDw)D-&-{nL-!-D_h+KQx|GinEFub7~lv-&mRRK03v-|F|EpG2uK1gN?j8y7( z=V}pAxu2}_33XYdm7Y}DnJ6>Vi&1UeE_p7FC;u)I%Mizt_N1glh{u>Ts`Mp~Mn|?9 zm1sxuui}8ml0`W=EhigJsp*x9ii+x5L^+Zw-yv3-_dXIyrGWc#kQ{l&sP+a%dXh*z zVU`?!{@sA=St9qCwhh6}_`dsEx>{NXOIS(+rB@SaJW76vJ_p5nmLO1{Dlj4dr>U?sScW;F~VRx)Mfc5*HQ1zmT2%6!OuqUZYhTNfj~k=B``Y?8WcYWnOey1P3& zKMt?_Ew_x~R?`z0@GuEcz##PCot_cdr%pU+6eh}4RxA;?eDUJN#UjPSg+Bc2*Q(Ca zY$6uTr#HLPYQ)ZIh@A+Wa+Y3w79L&|u>3=mC7aKNG`Q)CMx4F7N#f**s4JEqx@=O^ z^lnA<-S4z9^z6*b@SpLT3RjHLzIM&y@zHK#MRG2gX~1K{@0WVyod z#fI-snfk5oI;3=YzJrf#66qAdKe0%%xc$x}cfdaF@Y}WHPSf``=XlPapLn-a-CVXz zil<1h-cXM#kL9tmG?b*<(};VW9335ncwyPq>NGb7wwT&tf@ zSGlm}bDbB_k-6o+;#mmdvE&58!n>XH03_=Z-mZnARm$cIjRn<@B2M4}1 zp1!2D8{Iy^J@fnLkcj0ckxFr|Kij+?BTTyAOl;V_)@L2TXD@p;Pqtjm)`*L`g2+cZ zsp%!7u@*^Lx8H5?!c;`U)WcE-YQ*yfiq14X!K4%|orL{cT}0(fj6h%H;+jg>+1c?H z=&+#*y3R^XPDd0-{`fVY<~vS=wOkKFjps^tdpnE9r_Z0Cj5&qz7kx|}uW~cM4J{Qi zs+E?(@aDRt%x2H9vaS>sIvO^am*^$T-i4^eH{BP{P3oF!7w9mRc`&H8-><7^r{MhS zSAc}1q!Upu#kg~exb2M_Q-Kl>#w|o!>4j^5$5UrST7`qAfzp_Gv4 zU%y@|MW9Xk%W2j0j3F3Ql@!rfJ}i>ELyYz8Su);uN|Dx+tuM*~xDU0dtFEqo6P>GUij!iSHScP{Jc)2A{J^a&7}Vj~Wc zEni?2E@k|w)2H8XVZR`$j7cF7MOx?da;{+VUh)qq<=JK&@{hW-IXaJd4B0@U zVquE3KGWvXFTm6hwNz9ix&L=$zH#FC$N*pNI%|&?xBsr5$#*e2cY*OE5f*7J_Ucb+ zH#X(?cbIQd2o>`W%X{~n#38N`=#zUINNm~PzkemRwrC!XJ(?iVbXiB^U&O}JuGQBh z_-~I@xZBu}3mE>1kan3GNEfxd!dh^9$(p)lrcXSL))uYtO$$l-#xB`w`A4{((Fear zNK8?K|Kjfvry2>)4%frsilrE3bswK(VR`v3Ds;x7o&4lWwtr6}Z(J{# z|50jr-c?+iiVMpZRm#%rACJJF$38!eR#m$qdkcSx-r_VpMjZ3yB=ZxVc2uZEsI`ra zQr@3GCq+`aL|mpw`7T}zT^V_VvA5U!`}O5R)UHeLU{dZ zx`%)9>J>4g+PQch782&hG6yK4>xPDgA8KojzjSnjY;KCfq7&EXj+Tk1b3Fl##`^jd!)x2ey@adba88JQZLZ7=kyfT4&LljZ?`$=U(v?)X1Z7FJ$$)wK z3FSr}Y;hkJOk7ejsAoR7vy&R{{@a}1-DhW#Vsi0aanQTs`jhPbJIeog_-kh;QAQ8N zvuDqq$Ho#~s1jlV!g*u_ZFtj@J<=JJY);}WN_ zP@+`p-@hD0&OGxB;&i@tts_xeTl<}#!h|F~q-d#ZWaVgdY0Js8%6Lg}=NI?K!@mR--QQvUSoWA9-~AQ0?Si{oAHEF^ z{*7*%{yEy$xBjYVi3@vZ6WgoHqj8rq=ohStWAC{O7y6Wt*jGFn{0ExVv<)XQy_8L4 zB?2i|``!I+-%bz|7G|!Vot?$__?#IU9cAk&b4Z5;B0IDad*#|`v!TDfzRtkzgC}Of zFsc#9@u2x1AZri*YFhdqJ-+nd!2?AmwRJ}0z=<{C>x^#<_4Un^o6^w`$GXO4Gh{_q&H!|BMgV?Xax$ky8*;JXQ$s_WrD)$9QebX?rM}FCAMlA$Mwz z($YZ`MSVf>xYlI6-0o&g5edu`J#EpostzaJCb!bsz306-F}PK{i1L&(fgm&E-o%5mTfw}ypNvZaLOh_YIritQ!&`; zI=0PS0Xr@7)SD%+l>6=Rc}_2Q@)e+H0k8;lYec!Brq#9kctb@#{uLBc8{HbmQ@QY`$04hI0r0iuR6E9PT7J&DTJe=|ARe(P_?eTBjXG{xT5$?f5Btf!Yd5uQB@U<;kUD zsg~Kq`KF2?ohOAxl}+$i08*_qXnvQwmnwR?2x^Fw)T8B(WK^p;oHLsXns_{(s7C%o zYB%YR`p0>9%_goxuG5WsZI2Iu`*{D;LCS^gQ3ZS}b>Y-uD_W9MMv_;K8 zAZxC>js*AaU2MnfnPpGkzc(4JPm@maY?8Dly|MFwq&#ignMC{Q70d6Rwr2k|e`oyn z7UoYyWZz>J_9q3<5+d*WSJ}kGMB~8&qvdK3R;4%|ul3LKO_R=z9m2xFQ2w=pIN1_- z@|k>;2$Dlnv^ zrpq> z{qA#u#g}96kpi^WOVZ|I0Qo8<<+A5!5ZSgKvh2~C!p`!0;WMgwj6yX69aHYSf&H(D zMk?2CEiJL)#I-jx;%?Cpig2sT=uD}lTd`TaU%uleUeAFO`P6&0s=>w1F2BTm!PRBD zmF}Iry?w&RvDF?mJ-K{7&EQjI4~B$gWMsIVjg8q<)zmPira~3g9ov0Rlzt(gFUq1r zg|ak>Xm#6WJa#|V<|05ZX484!>2riWRPbs@?z%{(K@wtSbFo)fWZ0q=uc)bYp%nan zI3!q~b*5#rjb?)%3S(nqrC^>$ABeqbRpQ`_n4%#);R_pL+_1`(2FeshMTHv?IFG$4AOa{&HJw3K6MlDOhHx_J%HEAE-3>aXrXGJD4EAVDZ~?_RbOf4%H>^} zoKrlQWGAn#{X1+_1W<+q${E?ihPvo5Au48}lD1EuM(+axLSh(G)$|xE`6AlrIE2>g z4*rOVa&whd zc+|-#A`O00bOm97XJy2ov3MnfyXY$v^qQX#Xl`YsI5uP}aFPv)`2k4~a7VGHEW>K5 zj9csPfp-&PFJGSRUtC=Lvbbn3?z4FxNlJXQ9ut6ZbWD@+5^t=1sTi zY`#;z~Ge#VCTC4w2b>5!aB|gyiJm4nKtk@6nHPH}v(rR;vQYp>PIJlLv=Dws`WMFXCGP zpJseE-wkhXHT!GV`1b*lbO7>P^OZ~QVN`Qb=73xV9qMx(Jw|pZAz>Ya_fp|YH9*q? z<|1C4NCczOojY_WA7#B4{Z5q=t!2xzeSLj&id)~~|L(8ub5o*8D0ur64>#ZM&$Qoc zrC}Yvx>i?7Z~tJ)J$kw};An$8;m40VNzyJSSXfyfTz1F*mWIs$yyo{XMHVo)15z2s8#^&KTp)P^i9EDVIanO46$XT&F5ydwk86CeRbeSQCM3)q$n zxN&*d8IuBl&h0Un1FcXC8(v=7n;effEh1sxrb#;P-Q~L|%h>KRY6YDrf5bf<9i5<9 z?yE|9J3GW$8X5~qL7coJ4!2V#){6h^A6`bQ_Lpb!XxOUixetB+ZnJ;rzcHH_!!6t( z*W)~+p8uw_bp4hHN`Rc`baytN<|U&0LIzh$%F8>awtOnf%gY4-JTPv?=Gt*7BSW*Z z?|JR7c%(~>d%d%ts6RAKpO5j9OV?#ovkNOJVOPgDS&2QXfRM<^&Ms2FcJ1uORAdhW zv{Jo=xw*8RHt+kEwiejhBrT#e8Wev$eOl7z=qQAjgrNJIfFmd!5ciJ14udak$GfREVD+*K^ldi3MP+nfE8)u~jV9%(R0$_`~iNU0R%_YLONX!*HcigA2t5K*+Z2n~M-6Y#B{gvOl zeiLUE{cD4G+KI~q49J3;NPe$nDc`xn@w`_JD)^Ng7xmkNoS*NB#&66CBAA#tZq%Bt zF%=IPp*3y*e<1Kp{8>y?RBD?@)Cm(*sGgOf(=r}^Cq^`y39wx5!WgS$ZAO({zf}L# zXJ^9KYBxM@YJOG9&(GJOmLYqLMFJ~!;#io>(gCXgDbmEi;P^C=A6Y{jR269ojkq&B z8uo!DCCAr!+yQx9j=D14n{zcrU-)i$lB1p7uBP6LL35EijMU_jgqTIb^imT2xG#RO zH^c%(hE_chsE5SnK)!opC;Mc6H&!8I&CAWr&E3MHPfNSsOOKKN!2h_X_bLKSf_W;M z(&a2^GIW|q1jA8Ihy@D^3ndJ*c0XxGPv!fB+c(~>Faw-Q(?Y5MP@rl zQW2X7Fj1W#ir_?WyT|h6>%_g5ZJ0QI-){Alo;2&*eQ}$e!=nrj6NAhcSOiF@>CpEQ z3Tt5Qf_o6BCqV5x8L`d@P(950%L9Q)a;Amig?Xx@?tDcl@sn!aS+pt|8`T?(!}-Il z^aB+vj-p;5^e+CKh-M<9GpU~)Bmq*YAViT&OoO(ho16#?ODaX{4|OEA$zd)t<);IA z5GOT+!K9q3o*d=jzlkS57N&uTFDWTe;Lgl|d&54Do$l=Ia+o7RTfv19i73n$XyaIX z01cB6abrV5wpfVaz4xGs48Ubs+g!{=P@M=gxsYfOXB0Zv&GibVGBq{UT>Q*?${>+{ zBct!th0g^VDZ9&tw)$0o$pabF3Kggiz{P&Y(CtTSjl|@|J61H#iIaMT9 zZ^)w}KY!t2FI5mH3hoW4Q?!7S96+31h`1+`A_I4rqO8YAg8A~F=hX2O@Ilo@ z{D`LY(b094UjjTD?B@~9C;q+jKhGl2xT2yXH=-RjpI&jnr%18IY9T12gg-xy*{LlK zt%-<8iOyg{4mpA|V}K3Mwvz>2U{D1L@;lsJ;fQ-@4guA%-e4g1twc~a=rO6e zb}Mo{9P!pw#6pes6*~RmUBU>=8-b1r0?j*0nl~@KQ}iq{(&)aVo1M0Hm*Tpd85^*x?PbOnI$ZfT zA(3FA4c-TFb3J8#@2#d6)0{MNKg=P0@sKph)J5e(;pI+nf zNftqzcYq_-(9mEB5|v!2PX7u7d4hEtF%h8k!lI>9#zY-uRh~8SioiCSg31xj`IH(i z0i{9}AZ+;P83bGT#p!B!`NRwrYKB%o7U1AozD}AsQ5HM^Z zf=X?RK074O-b1Mo*R3QBOkxF)2Xry4iHZ9^EF-58C#-$y>RGwDx!v4NIG&2mAu;7e zOT@q%BeM9uE&##pA)7|mnf};qkiS@6nXtsaXcDf z*?iBEb9W~Vrl8Wdf9jS2^{g`^gO2}pLG*yQ{9h>eA_4vi1$RniZ})HhPzj@Lgf6M% z-siaVpxgveIud&3j6#+}7+Uhz_gf z)5AX={BgN-O;c01C(XA~0*PSzCB5njatnwi9{@*EcRvB_S~HfOk)D2J_F$-}?6$$s zr`6Fae#^FKlY5-VJHNJkwgK4wO-f2)p<)`feI@aLS8k)zO%z(WFqkUF1nXiA(3Ogz zH45zlf9*|*K{EQwqq|<&6t1U=X+I>f`T4XOU1%cWd)S2F%7BlJe2-B7DnAb zWykt&;!AhS1df5%y3L3n^|ViB0%f7Bf5Gn;z?tYI`F$Ha)9G1f^C&~eCeVyH(`NJC z##eV=hE~g`ZoCVs0;0M3DDk;76Ra?(8Zf91La^R7GV1U!q5D2K_<=AvYW?ErxeHGS z8V4QPzd@H;MgMl^w#b4Cw0EtCY9bBOvi$i2h36+8sNVV4+mjTK#@oGFVs$^J-S_LXJ^;z zxH0$e$-H-EHlG4MB%4n#h%>dIuyEuOaL5MG@EbMkuTHSA(O%ZdP@u`x&9H&@gmC!( zkldY)Q9RrC?b{wj!-N?KKwqwMJpLi(`?sriB`@QHirVLVa>E280Cde{JiNU1km=~L zNbNYQ)S;y@>clU#-n-5pyf^-!1(uCP+(pkkyI}Kv*B%DenJjT>3aCZ#wQ&;>TvnFF zxj=>Ap{%(w@o}dp3Jf=BBSoXVCPM;vRK5UQyL0pQ?Z0&}p2q}vWB0%04Z+tcdW_7e zA)JUCLmrqRkJ?9T^;qt!ni6@Jo+3+OsD>F9~}kVj*W)ITBx7HFvRP`KOdh<+pEQUYmVwpP+M1gO*T5 zBktm)9O$)QTt+{Aj^xPa6O{MK!{N>{s(t2<`1aN=nPV?}`eQg-n|7+AB8Tj=GcQSi zNmHuS%W*aT{+12@!G7S(Z|FV%r|2N|yIOuLK5v=yY6MWB`^wehfc0UmkG_^xRLgzw z)v?Nl0iKqYH(Sf?hANB-Z+G~vIa2qE7f$%D$!lqAJGM{>3xsF#+5ejQ9FtnRh->H0 z(@Bf-+{E|g4i8r&;&`S>{t1~X%pe?P^RY9KPL{Myj~VFe3pz~HUz+_rc}ftCCQR>> z@q^VzkFFb-NVGdoKfCm{y!;ma_Vp49c0XtO?*jvmp$}Xyg)%Y82GXX=VsO*1BPC8} zm`=;{y6HFScc$J&Rag6*6BVTgjh9Q5UVG5qbjcgZ*A6*&jLe=mUIV8R4N zpqb2>O)3^9iT`$Oy0}dze){FhJc{Zuc2>}pAej-6pFiwZt~M8j`JSGz`a2c&Gyu8I zf~t5PdpKu-XhIpuMAw``TRpe7ws&yojNRPaBvuKf_Pl-j_E~=6;$Em{sp58+#Uhi2 za%nct_1qMv@@l_h`uY+LkN3M@w1m+uQBtnoa&VyDw5q%s2!fy!bkDzt1%wRM*hf&dSco`Q`BD&DF`6fLb$L zVWG(gXd!X)yEpJ8u$^4lq+E^;{GLWeKC9juG|C2kW(4={!4)DRUPLob#67Z2`i`<3 z0j6uUoQT2E(Ndn&HV__!5?;JW0Irt=C>-H`lho&70}aW_!B>z7H+OctE=o!=`P}@k z5ON1{b$-jIfmy9owO^cNPebno6EM^HxM3V0Zfbk~s+FzT6>Dpnp!cU4m!D(=jQi)l zc{A$>1&UHpqL)h3U(^fj0wtFp^C@oCAqRrixUzm|<=!k!aS>K8XnuwL0*xI`%@ zoaE-#7S|g&+hN8m<>1wTgHE2IcxXQ@n@<}sQCL=F(Grdm(FT1YI0F)1u!RHZr!)dx z={;VZR3fv-TNP>6KXa%pt$@O^f{kWrF{!+tEb)*SLwazuy{ncY`B;!Z6d(E@Z<`ix z`x0HxiutdQiF?gJ2pJO-`NNH#%W+fF(+i+`;oFzCnup9DI_22mG=@CRYsAF@*dK&Y z^UvnH*bRJKbWBXf_DpNBlh- zYJki!7&`xkV`jqyU|_aj(pjJkIBEzt9AxjnP3YJCZoXy~k^KVuya+|z8rpC$TWTcF z&haWEAfutScIq{x0s^l}Xjme_`f>q_q(WcGp|`ert@4nZt~+#Q#)|jyepw2tl@rJX z=5VyTz32dfpTDMw^V*L--er+jCWm#EHqX;#qZA5J@&bzbICstNg3g5-BmUKQZhv^Q?vmtXa&UJQDRvrf8EAF>E$F#at%}Y(*JC zZV4?ZL7wUcn4i%xJDl|Vxk&e{Yh3`ocQS=9LQI7ji@a&<_hrVjX5uPBPbl#LH>eZR z82tfSX#n#r1aeYcN2l6xWq82h?%j*-{1;?SK#GIJ-=CE?Wa_K(wy0<;JlpF8kvN`A zP0s~XNdvtXlG^c&ztxj*9?*{u%zk?- z!P*Uqg+HDIFjlY1&71ubzu2^RZ-SG71c}LoggM(w6;(=xw$jwrwwPo)b!zGY_Blv* z|M4pY0=NOl8&ESHJ>rQZ?bAYjK@foesN64p4Elw_4^VEU@Du>k;ZJuwPksdCP|$by zA|il(y%ZN8?_^Zt`A=gT)6|S^to5ei0nt}ESS$(@nqH6!#*u@?0mVQ;`v>zyoX=#2 zg;cw8W$rvL?|8P|MHS?ak-@<^5DqOl0{le(L9%}ZZB7sg-0Kh_SR}L=Cj5QJOrXdo zaat{Yzi|I>k0u8iz2`jnv_eFd4#B1nT92S01w}&Z4aA6!x_ag$8<5a4QKhdq5mf(z zHRfnDPmLjqnN`XkaR_Fbr_dddfo3DA5r?EEx5Hl77eT#Xqup<;cwq1zbcf!;*E5LD zlu9LgC#NGev}&Po)n2uAhpA0gM~~v#b0Z_8%IdMzt~efjWx}R|9!>rXGxIh~!EPw@ z^Sz^^)PjP7nRaIYyfIXtmAL^`TKM0fK2%f`GJ;ZO=^zUfZYtoP{^#i6Nx*X~ADqS{ z^Xuy5fk%?XhY-3|&>g;sr)l-Oi*14vtqgo^*MKa8+ztT$u$K;H8QEpSiezA*nLhCKW+w21mg&1S|Bmhf(2KR|99g`HoA zqp33Qo0hgPKy9~%Gn{^&D8=;c+l?$EjduDZsfSN)nVB`@LSYJNw>o2bz2uR-w>Oy; z!N*|NUnG^7XutzfI!h)q0<8&rO!k-AwT5Hm#Xw@0<%%Iw5_uT?N#Mes!;T*O@6ls` z|9jxzaNy9D{KzR_rNZC`%vz&J)T`-_?;!1igNHzBUIB{{KcE!Dgf0-9Rjxey`Xrbl z@|VNSTw}LwND_@3ev|}#Q<;$CL+c} zus=Oaw!I*(AU^WC(tN|nF!cwn@mXbMe>lnnYCtofA`jl5JOPG|Y@|jU77|;Yg!uQH z4Ci$k!^6Wx9DX26Mpph;bl{4M&HABN0V`t;QKo&e4GnoP3pCkT=uhUE7E6PUOo<&^ z@j!xSQt0c;gEqyS(PPGjAPou$p`c)7=Ew#&#p`9y%kHwSuNmjMj5r4d1`6#!o;!!Y zTyWQ8eDe(QXwOFfd99Cep3-bc1S!qAb64e_C}my;IPYEx0xGmrm*1C>j~&b_DmDw5 z)xQ9ri)_K&3i3ICb~^8F7e0B|Fh;sDKd*wp$Qc+IDDtAHU4e9w>q%7N0HCPA)$F-q z@~BIK04-TH;wB@7>u-%Y=|Yz+M`U4vCN)+fkR2cnK17mQ0LRXbzgK!k4uO8)>$}ei z4;N!NcKzzpAl$F%rps0RZlP2B>3O&%MgC~{2c<0``~6$|rKKT=l0qcuBp((i5CJ6O z!1#KJfv|9KpiVG_Es2^QJ#|YI)(xmLO41Yi$-pkjdjFXrnRvW?*hVM!+j*%kr!Dg) zC~m-pgOvOT*zc3_ps~HKs@m-zcsI0%w)*-6MB0wUfwg^=irOD zcFZS~5hqC2l#c_EVqgwS={kcIl1z~RIunWE#h(W*=d!G$bz@B8}s9`%Sa1r+w?ji%FHGPufm;A6*|)gG?cIZ3ZGC+xZ^VSkK}=)}^ttFJ4Q=WDWTyYvTHs+YPlZ1%xzKx#t2r0O zV;-gboBvCh@fsM2bNK8VjUE>Itq(saeo|1N)$5@SNa>Uh8qqwNo13e9yU5sW3EXn; zK|kd2(rKsR7(JFDXpDXU{RTi1^3xa8I(4D)YHj8I!@LrUn&m zqQ@9YBhCvbr*1k*|K5f~>qkHyW-h=}-K8@rh|!6^l{$*xz@>zWI# ztPjBpmB%J`M^!WK)*C)e2ID}14sCQmNJ&Yg5{82ldnbtV$5RBWd*ss+Vr8TN=4ptT zM!$H|^g6-DlPG9dwmCOsX4d^pTn#MR0vSEqB%6&J2cp2s-&AfI|7jLb#{vqGT7FTH z69X(>W(<&rk7~v;Dl03^yeA&hMLRh;jepwkyO0`Ov;@q4n;bjcyla&LD3dg{V7vzN z>mo2z0X}PW8$}sX!e-tF>z_TPrF{1Pp8bQcPYKc0j1`@O z>=-KKS(66-Fo?%rrwHaP(Az5l0w!m+mZVCmX)kK`lK^>c2Wto+D?JKktN!;rN0xVC zi(Lc-JbHfj6g~`Ok00=isCK^^G|KM?jpPQQNCq{T#}Xv@kdE2Abm;xRD-VS)$cPEZ z%KG3lm0uP7>{Nz{{%29j=%JgPJ>5G#Zh98F?7hRIGys3{Ks`ss_EMlM6F3o(E%X+F zLbO*&wUOAb>BFrvdo^ z3IROu7&gVAxHeGo0ivh&K#^!hjj+*D(3rrNNYPwKR3BA&G;ma;Cq{t386jksAkG)f z-k|&j0W>y%bn;OhxUQgU>iyzq5QyQG`+yT*hoiB%3swk_YEEL@O_*WjgWyBBPwj#B zlE9qzWP0>OIaZsFk4g$PYhNWDR82m)ZE1Ie|H5K@o;CcW!XK7fhUfe4jv z{jumSoA)3&ff`M!dZb7CFiT3vPN3UN~YuzoskB$fRFzssxKe?dM-@7-g zXJ0K|vhDr?_833W|Gu`(y?axmeK~Gy+oNuY-e3mB-@5H7?mbrhXr7UYsRHZ^z5iYh z<2u1(O!Pm;MdvKb;KU-%*PoCPAnf)_DXYYyrFA5e3Sj9kt`{%Znjp3RF0oJj+RyOR*0#3oI9q!JhtL<&85jzHRlh*Q)91l?Sx>3l$fJRC1!kp zj*tI*uia-di0Gm7=g*J144Jr5bb&x& z%PMh^Lej}E5v)pGnU5wOudU*67d7Kv_v3IroFMwpR4Isxx~v9~ZN$%m=dN4Qbq0Zw zamDV|ZA&Ik__@s*n+&~q{_oWS%LZJNY>1#tZCGMh(HuM3@dd4q-o2SxM*c^2THw8M z|JuPTlr+9$fz>7}DOJG@<2C2m*TbvCr!0+CKJLu&TbX=`Gy!?~6a_0JRvfG$E>$c2bA2hCK+GzO+J z>^{|hzOMgm)dXk&Jy=mDaCvxX>j;5{&78}3(Pb0Q);3!8sIjUu&6k2r`a1sp z{rl=x|8@E1X8&`id@R5kWr4Ec0Sh+4of=GTJ^W{5&HB$D*Q~rScAs7ZQ8-W`wKUZb z?5Lw>P?nVSZZ+ozaa8=+L|`mR=W7~i?$4t+%!(XXqJ{$8r%p{@I> zt*MzDo1QM|)fBYb3XXE=jQ{sAw0SgSv+RbyK#aa}-sZyJGOA7aF5Y!c;~S+kRqGGs z{>@C-nJppIEMh2Hc7ZckQBOh;tLRtE5X{`=;Lp2$;|6JXxDI}EXF4Esq2Csh2hUvB z7i6(q4irLJg51{K6#RbDfrJ9O%S*NwGe>?k{mkTxV1VZ#Ee2xQ)#IXg5JA~?i)Gsr zW)HCnKKLw(XGG6G{;zG9#c}s;vYv*|j=e`;p z=w#b{OG($-`YIeDfbBj43ehRfOp4@Oisw8m@rj8KLLy7N)^o@ctoso`CC_>6!u*rO zX3uypd`sMUbIoijQRs1a20XyBrw;rn5WDt~kK!TYXlVBv!{N0+c8J6UPz{-w*s&%x zo-I|&!xgM2spx_LkMKuKY2dk_tbydw)saxgj(uJ^?sL}NBn(!sxx_*Sl;~d>#|IDb zKrr>CWn z$x{XqK`aY`;mEd0Es`mjaPVmS^_w?eU%q?^a;Xb+HJLFW?QQHS|{eQgh&YkZ^3@r z&#uEGLLIK!oJc+}g%E<1FXBw*lFzVpq6zs}G~0!c9>wDudysjcMxLxSeYoC@*YUmBQF-M*b( zB;%HAUk8ht3;3iOfDGkNpg~j`cIUoUQP48Vu2#(pZNPr(%`aHyD=^wFDlRE`TbG+V zCm+-HUX4&^2=y;DB>OEf%2GvD6??xl$qtcUTpR`-bqUbD0>BlR25bj-Z#}`NH35Au z*T0mg989k4?!GBfJj6lhliUessBKz;^&-YSmznZd@kz9~d ziic_p5@yf9XNN#-$Acf~9s-=wx!{N_07WbB9S%SWib21k!h=Aw1EO&RhFOJ<@a1XI z(hU_Am3v@Zl8DHb1{*{BFyL>;GJzrR4GI!oa_7f6OtT@Z7$gV@(9%v+zer#w%jgNX zk}x~>;ll?hpvM99$zc!;e}_{Z&CSkUQKB<63?{Nn4HS)5Md(!*bvUzwXr)iQ`XZE$ zWAC_vLa|YAfP%fTVQs~?CgyQXyUi{`S;+7w(lAvr%@%VfKc706o+Yj>PTc8aRK*2l=50Q8q+X8yXIpdI&G*$?Y3`&d(dfGV4B zTm>Ps;w){`Y=gSO6W>n#rR*Tu0_CE`1%BWg`ddMK5!=QeMZ{nd-k>O6e-a4wim0e_9>RG7O-19^%-hdjvt zrq!DYVM|GuY$cs)Rysbq&T5vz=f1g-pRA3}JU6pHHHgIVD0xFbVm*-S5iPzbTp#Sx-vR(iMTkE8^0@xn-0fek)#h=%OBVMSR z`W`5m1Zz7u?M08NP5Q(gbC42XZvLA?U%&2R#~+uDGI6czCUvwoSB5Jd^Z=Q@H1)hi zgu2JY7;SzIe2@XHVba~AR>?M3hPK`%1x~ZsCJ0nL66I|wE0`!Ni2AQv|Kd_(`$@>8 zdXwKz(`h>j#TT*n2{j{~);(g=mAqAAmwd9-0?zg!U2n&|W)|&U{`o#&*;(3e2PM!E zfy2>W;fkFwOt1zbJ|g>V4@a;I8|_u%+$0N>-VZRm3tW%4fB4W=NiX9P?KFhVGlc`ReAQ`Lxqw zJsZ3V!PohgWqkiGcYvZj{0kN80-Ef_esKwKX_pBsy)8cen_4R;%nQ>dT;}65-fAT) zYx?=;ds}6_@0(4f0{lB57y+66K(Nh4b!e*;vMJX|CADa~WMU#-2f3b})#YVpcA0O_ zT3g3lLM<3);4pxd;h;IHwM?L;&~8}bI-`W6bIGgRSB52-of|(aX*PhCi;XIJkVw=T z*d^XI)!f`1w76JIC9ni5pCoEYZf{>75*yp+N3>gVI4c~`v_5_QN?2G}K)g=gzPTkT zbim{A3|~Ytlk|+2T=oaAbuMwqRd-@9qG{4#{>BYCUR?1+6y4$Pu;ZYI{_j7Cp9&WU zZ<{__T@(|P{njp|g%pq>!@69|lJ``2+Mo4ldAY{S>OEF)BartD7LF{&wa;XE$sL`9 zkGL&8^SU3)%2pc~8rsIFuP=Ow+Oj!!$!8Kmr&d>f%k4bxM<0oTm}hFHyx7{IpWa>_ zivwnlz>5C(($xBnVm?mxg-%{iFnn%saMz@>S5L+<$NT!Dnid=`gh#{YYTWDNd#KRU zaOCy<#_xpBk<6zb{#62qvz6 za$Ca$mdMYv>T#PHC8YvOgW`gO&uYxYEuKrTww01t@pe5r*!?&iP4=ayN98srQt9!b z&CL8f`holAnLAACd6&EiAu*}duf=;R+(494yZ;K9;ON6u{WrdFD;}ovMHCGV9yYT+ zWNS*7_uV=;@T;rvX!zaAdKCbw>C0*9c#9;31Z#P?%3TW=l3V(ZV=Pd`ZPP9<6B3e2 z#{7LL>o?yhRhMsiGJJ@LaDDNDkw0|h&uoW0_W8!Y_c)UP4VDI7S@fSjAt@)R=J^uH z?j(c=bd;ff2y~n0#6x1UlM&)2r$k3n4IMZ7v}t3)Kpmh=oM!U6cZ(*bXw~x4)!|kYJg; zN{K#%65b-s2Eipp8X7 z`{3@`aC=zecvLA!b*@B|Iut_eD;&(f2$cLg$Qn`8&eA7=3AqAR1Td$Z=@;)Xw>0$R zWIX9{GUz&eZL!cOKx{kuGE?Ky*3?Y<_#fz?cBkLl?wdUkJQZFW z=mHZ6B z!mn*`)niO-X@yj90gb?@fp4zAx8&T!tg8hVyfidaa2Jdo&?TMz0-of1uz|LWDvzv$ z9ExjQ5&Q-UPt_t5rd}G*qLo`UGE5fpJ8^$_Pi>Mvr0`eDesL`xS((TXNcs&EP3p^z=#XegQDH zhSHs87FHVk9Jz*m_rEV9$;7DkIE#@vfGmDeN$>lMUXRBwtbaa9PiLTl+5MOf-e@~XjdqaYT82qXN`T@c7}uRjC&AW{y8XmhK-}UC|9Kf*2qta+uRQBp+}(sV z*D4WH-uR~a$33koS=Y~_Uvm&fs7+~@5JQjYrlF?xbo@~wGd}j1@s$=i{2d#+T58cU zx6{~Y&WxT(h5h)PyW42fyl@QZDmrUXC9sUNrW&uYH8F_xSgVgWYgFVpLAn#`8c0Ze+A|720$w}pi*UO}9rvz|4Hf8-SDz~%sDZs8nub5fR6`D4e5r|_(| zKf6P6E)CfGt|1m$NOkfyI=sETmtgCMJwv(*#j3l%#rd#I|CTeGS@#Ok$$L*KsjnY) zBmY)quARjURI&gD4m5krF|mw)L&Nxr=LAJcHecI04f{}nnHLm{V0T%Q*L+{^{Xm7v zOmFXBgNjQp`Tza6UVpjB+nCQ!k`tg^t7w}xG`w}IJlUdzRI;NPe8YayFEvk}i*FZ- zn%?qx_gKNK3lN=wG+XoyVB!<3d!nPF+(Gy$vJ(3l!j{*+J1gTh=K$LqJN=QuVp@8Y z2J&*TNzDfX{eg}W@NA1e7%T`7rUH;Ukmbq>fLR!$t|DtKOJWuNlL6- zsPoyn2&y@3WAl!V4kN(P?SPJMi%UpUn~#)Ex1SE9_23c~es~C{eK$$~d}dCV{eA|A zqyqYM1NNp_Ae}#ZrcGB1mON_ojIsEcu^8P(Sj>6P8YvFx-sLBb{keNx5zyJ#qQ4FXJer z#9klCu{T&b*uuL!y!BlXiRp$7W)8o$C>2&UCHahre*ke=a`GAZFuLP)WjL+&eA-?1 zn%B7ZM7-{5k}W`TW_e$reoPgs$jYuJ%^GcFN+- zaMh`EYI@NvfcfB*nr(IZ$W|`f*~l+_rRqa&HRD#OxhNb?1$L?^wVTb*lLV=@xbQD` z#OQx|WX@`bT6Dj~$&xOHI%n2DkBDptYKIZJux-P!O5LLS_V$~NA1vGAFPIEX@L*F_ zqTxcxx$F-eM(gkuL$ag)maXQrn#LhiG_)Tkjz@8EHpi-jL8Ul1|k>BB^&HHjm7_3s9d|2gpmHT zXN$*;3@YiTJ=|+gb~M{T28qqF8y4vhJG>h0ZcuRdG#G`~CRN~v7LiRV$Ryn7A!mR+ zz#o78JT1r3bTA;Xquin;m2lN;5*fH5qqyu@U`v^F(q!wvF{#`y7Lf4zj_$>mi>-N_ z8aLjenbsb-QY0t;gFES; zWp&xDy4sq#>(?9u;8q5)75Y8kE`TW~A8@or>`y&#DBn2@SpO`W3~ZjKfcnL0z+)WP zyMAc^o142*Hvk*^(+&a~e9>&&U5oN0i4qJB4o+_TbqIJw1h5-E`A2-jCT^3mpSza; QPf}y>boFyt=akR{08-_q593}e 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�SUnVW~r581>?9B7)DwODJ zL$*n4cg0HST&;br%ZhIB1_c=2v@nlA;C%BDL2o_ROUI0sJQ?dq%TmfjQ|0<2--2J; z#cf}=g(^%uGW|Cgax^3xY~;k(Rw5jdny7RsWjOIACKqvW)N&v&hSgmX5$&ec9QorOVhFZ#;@TZio_z-VQDbU|yk zFR#LxtoiaRZaXMnSm?(aOwgwUosq!E%n&195+F4od_*$n_@LpJoY=Q{q)I)u zg}D`5pYR&_mS0~|*A}=5o*%@CR-j?wGMKEk?KGhF62!1T_#;L<37+kbwzR7Buo>Er z1p#nQ*-E+26$wb3If^cY3-x$P`(fF@yNK&pu_qy$WEI>V>cKY*N z*VR9PK0_oJ`g32HMUku_uk4OO5Wbbk6cDyQtT{q=|4UVMm>KSqvhj9THuE^T7^dhk z>3c#+VKey0p?NyXU3yu*F$ydQNnw2rqe(Yy{cZm&_vFkagNfk|xv^*j-{jY#%3#B7 zI5>zHC=K6WL8t8mDA3U?aD38Zfo~IZH*_~&h(kXfofnz7eAJ2nBfT6eqF_?#oH^1n z$zIpJt3=U#1?6?nI6gfVcJ=WGXdb>MGbgT>N{u(>Ae%@2i=ivkMbgb6Y!F>s@O*!I z2w5YO6|y)&R8~FWf{uELTv6Kk&cy(siTp0*d_s0h3eExJYD1yeK)^k)!XCM6qghV6 zg(z5JtnlsI%MZ}~{K#Ca&}Hb<_AUgU_VzMRq(~+|*wz6wJ>11$i}gyAGU2YJg#lB0 zNZX$0{zQYR{uh01IL^shjKuoT=UmWEeXJyZm3}hAhq`*oRtkcS+H=fT3#7tr3~sfK zrh_4nDZ<(WVGzhw+jn0)Sw6k+mtbeaiKoVBrbZ8yvA-ncb13?b^(Pob&iOSjuRQAU zvhv(cYjxXUMf)l3PZb&`VgozD6<2@8x={NuLu6gPKMp;JCB|M@!zNBiuoUuq2)%d9 z7X!6!U6>fmcL0h`0YU7izO-*~wg?jbhU_1v)W6OIO#4F&*7!nmkbX#(BR^l#Ma!`o zy6La{Z``}b`pM-cIq^1{j#=jH;PvKHLD(DrwRbQI+yyN~9xr^AnnM(V=52MYNYqtN zse~=qr7=s?m1JzOYlT4J8HwornR~P)=US_#BRSzU8eMEwJGMOL>zPZul;U6^DD0^$ zK~i=%nL9i(V*#tbYS-ovVp5L1w zMECP+1WQyn-A%BPOxk2!gAMUT120`rz| zOe_ASP~72LB}y}G3iaD5F5kcK_0Ah)S73L$6?h~WI|`Gs_8cH0kSdb&=iQIi{G zzCmNExW{wjMH>?2NY0aW?GkQ?$Df$<_T@}v@-Kjrg{PB+1DD)qS;jt-FOJagn7o1+gi&+Wfv>NA83lI2r ze@bNn84GA&wtS*UF3kt3l4{;?++o%Oz1zpE)^ap-diQqJ;JtLpNB-|+)a$g}2<7EF zQk=h)<{X$=kqw zXiA&@?tODSBU9h3jZjn3lW*NMc_KA{*rm8WLO(jJ9%&7qnj;G`$NmRDUtKuaJQzGk zwm799u_g?BG_K-7=VLA$lxP{FW|G&>`C3D&xC@=)T=e7Y5ax%wH@yu%pvazrW8Sr% z7p!uHX6w5qtweC(NsKH&o;KGEQw*7+E~Q} z9a~dOJijz~0B6^-;5zxx*xkqgxJ(1N?bJtCOd$V2;aKqz%8pEtCvug&Bz5oO%FMxS zif7m74H;=uUqBYojsN915W_r5qMqMn#h8p)QWOBLdqBmp+?EnJH|GeNt3=r*6|0Di zhyX`j93_@5d}b&~KJh^H%X>iyKH?xM&gUy7_)r!a{kj+>y3roS_9dlhde*cf$97Jx zUjvLs@?dyQ6-vduAyup&qAnw_CQm5=6*U>%pMrs|6m^ySEeU$uAy-h|!~|1;q>bZq z0rI=0DKuv%`crbey{Nw=cO@BcM!NKNK8XaUv->C4QSJIXKt6Wh-pNm-(y8pP(sl{6 zWBGk?aM(sc6|c!dn??>^5FGo_6$V-()874^Td2P{b2bA~IG?6hx2=}!)<9UFxfCVQ ztGiLMi4qqR!yJ*LCJ1G?6|-@v#ly&li!3N{@Q+aKxi==CbmXmMY&50@XW#EhJ+*t~ zdoiG>L2#)cUqg;mQi~k){I?#Wk!P)QIB*3xijHfmSup$A3r|HQJAKt0n9%>VkF*e| z2xBf_u&QCPc`XhKx4l|VRAb1*O{*AK0is9_f#agUgq~NE`LXCgp#wKQ?mxl|YMYKG zNFWwE0x?eNA0gm)t1XtJ{l^u2`)V6^MAUCrbw$l2zNm4zMAz=JSF4kZ>5g#1>!qdI z7C6qQ`adRciaXa!S@SIq_2Hn>3?fmV?XaR!BhZAz{vIts!`1|klau>Ac^S@yQkX>2 z`=Cz>iGw*u0S0sb8c|?l8@YYxHvVTC_Ig|J#&p2ThSgz2%B`Qia*2UB_YXunT+JFm zbSB(bT{J2K;4)7`-#GW?YRN?$X0e zy!oLf@+6`*oiBTrcm53pAMoQwzo}KbSsZMd=O3>XSP&lgQ45NfB_1}ktE+B)r%sqS zdGQPg=k>Yw|5SEcc~ftzh(<;uQD-}!qhk>@fK56f|8K)zUm31=%^|L{)+<-?o^+mm zI^~&7Yg6|4<-)6Uok3}!^R?Rg1R|x5Q-tG;qi@IKm1z>0bg;4;$#RQhn1@BdW++J3 zb&PnUSe!haa#Xsw`vv13OBQ$0WzcvlFSmtGgHM^%=ymRnDM3M`i{if`wuI5-YZ0&G zvC-RqGwHB$;mU(o(q!5GrznPY{f6d{**lu>SU^gecyBF@;PMdN$U<(#}tsm1}%{ed|v0J|s>`3Bvg z%ZZy~v-PBPW$k*luU56?+e-Q`_`KBnfn)q(wvljxYcX4?%9jzmoE_6IMY7$}rX59u*M5P2!LO zy-!pK|Ka%_c7&7W_l`6arWK3ea17kYJUZ{D3E7Gdb|Yv;F%=-t6af&2$P3L9!)Ncp{$!MjpCAV0OUYz0moskqHj}@N z$mNozsCwDNOzj<eYdh08P z+nd9gG=UhbUeMSpPzQ>KPAXODnE-P{<1h!Ij;KCDw*ic?Yco+yjC7y4TfV&GjPZBo zR_PEJLHd0AcrJ*2teC_`1%Wnqx>MjEd7p81oiuQ5hL?wso`jvFF0}LzN;9*tw@4_a z{&~506)1%VBw2|fFnl>}7w)-i(kxs_8z~H^^U>S7H{(xkVQ;4&d|(^&SB)LCikYsJ zomrIm`ECMo>oDgBqZvSnyhxGFZY?8Q37A!lUp|e+s7#99#6aK}%L>Mo=nFbK5Irt$ z2E~Pcc(A^!fKx`nto4efuj$m69#ssSOBLPhpy*D^U$rH5;567g$9ntlC+B~~dL%E* z14hHV@7^7!-~BiRrMfWfG_d{$7P2lJD@*|4b^f?L#RQ&E1aM$o$u0Bk1GTpoJMnG`pSWncv5I08X|a~66f@0$(>BqC3tCP zxQ)d?cdt!19;YsqlFvAMAStBzHJlWn4hQF|S*pRIhfo}~x(d3=G~Lh&Li}^O)()ki zM{OLmx!rj=)jgQ(f?|ngm%f=4MWsE!!8ucO2~<7UZvBKuoN}mAK7{7O?ht&&*Owy& zR^XiG$SKMVcz92bW(^gP;jTMhQ>SKwY>u+!YkZZ|XM^Ax#?U_6V=KoKcgj|Vc$Y3i z`=R(oDDK-a#|WJnbZjxRR$ZZ#B8=`i%|4C~H4zdggpnDJZM>Yl>mYG5?6P!H=w*{z zBKwDB)ApdnaT1D?-KcZdJdQ-oMX7hCY{a#ddN4>vgXcM=M6E#T-uPn~tD;>qJJ;Mnga-DhFeig}%7c43B$O*m zE9tc@KB6lz#!*{~jt?xAz?$(R*Yp(#I z*43;RinUC^Hb1=#PIJSh=uxe}i}KpWu~O#WLoR#pM_mnlVf1BPw-0!1DyIzD4qj7d z@UUBMBeWrK^2p`NgQ=~}B!Q~>Dk!!)!Od_nQEfpe|78Pcyi?~@o?kU}TLD()dzTQ& zuM!?ge?jH^%nx~9pBuP-w+It0O?8*}bCa6Ns9 z5e3o%<_QhNL5zBm8py3+5>N`n{J+0%RzvRR4PkkMP?}czLh5uYUN3(C{Ea%_RGZ@m z4s-{*iY8=JYJXZ%N%Y$|deJ zHy;qb`jv&lQ0AiW_Icv6&(DY3kKTg_Z44}<++n$GQjHAf998IgMAPS56h{&FGNNDOovDiRCCZ5xS_!p`2 zPlzCadU1BhKi5Vlx1~ga^Ekw|8CjKlRYRueRaqv;$lNdx^Z&%g?zlvPp~UySHmq(X{YRCP_s6erOF!weda}_-*v%p6_{#eNL4Q;-!Bn2NCrj-=8^AmgBHNYK$+6*_AjsmH0=iBsfg3J%7 zk?VzHqxMMlH-cf1Ct&v(u3QrA=C;KtXJr2WCs}@-N188?!ht7T#u8P`P~Z+4V;%HK~P!I zGTn2RkT*L+ul}%=G+WvNFCuTuX?4No<^PI3*zp&R#L$8s;v_0O`jf)6PU?U}!NE`Y zP=;T3PrQHL->u~4HeF4aqE!ck|D);6!=e8E_wh3uGseE}hKgjbWM_y{Dx&PmWG_OA zD9czvvZb8CO{X|nC& zLty*N4kU?xUfZM`H+e8GLZr0Sg%I6C0^h86k@AfK-Fdj;mp8A@@4=~EA;E{jLOyvh zEI60QW5E1_#6lC}yiU1tlMV0EXkB{L$B%_CMF{+G>KSy>CmcwyRKI-szI;7_{~n=> z_d!&o)`236x%r@<=0iJvI6=*Oq0Gt#>}b&C2=C|am+#j3)rG?5W}SjiBrkT-k?*(j znVc)E5?a`F!6M=US(O^NaB`w?rNx1MXffA750`}Bx?MRSRhRKx(4Pr-vBX4jBl(@q z8*3kJCAX826suf^9dmNb_E30rxYNkIe|U&E@@GAg7!svZM&TVFmuSm1hEdWSgWrI`YizYPs(> zHtz^xpI?L6-KB_H+km=MZX0nagyU@X^8s2z9s*2eDxxS@g?^QshY9VkTx{F4Y#|AVX1lpr*7n0J`u zKONcWb&Cg2z~PD*oB1gtd+@}mU$j#fbo-)-Pl)qtnI|8Cn!!5>^Ah0a0rXq;OZmCz zi+cCX-X6SdHE2fIS*;y$__6lssZU)!&*Y=iYMsuyx7~!$6 z%{8h5>D}L|(wD4h4NQ!%=-w;AXMg#MwHndM`gE5@P7LeDy zJ^#?oCvm_`fo+h|cSw<(OX&>DpY(_Et4i+O;YEC<*iqe1&iZp8i7aQ-O>b{0B5WmR zn23*L0CWHGR~*<~wRucm;S&(oRPu)9g%yZqFAqHGFZ?erxIlgrXnQ}`v{G{v|~ z2m&k5HnSS(YIko1$eS*muda7OGFj)ZL3mga;rw{h!Y|@!uFsW^*;>|HX5$P{O{|$K zInjrAdg(>8)ZzM|UXa7}4iF&V=G+5IRk|LASU*}d@S7cMywMq0jT6|I8hG1xb0>Hu z&kf^05&S$(|2T&|Ghh^&|C;j#Br#>A&bVrCZBw~&6N@e36!yxDD`du_$c!domf81m z;4}Rj+B`ze@mxbbE>}eVHJ#>kK)WA-{3PtSjpM9h|aXr z8aV_4kN{}WgLC1kqBO-YpQ%*K>MTfup(qfuo87Wx0M331;F`CXn;kDfvXX+Fg=+!Aa+T<_Dhsi_YkGKyyL7DGQ<6-+3t zdqG#s@|q`%TGj`z<2J{^sDYPacxn3z4WL7ZN72f0@tz9VPy5us#j=x;@(?8-t{U=YvFQKb;U1kCrQCn`+hKvZeWq$;s97*cbKKP zcAq&5tpCj)6THQXpur1oc)R~un1?(WTB7XIyv-kG9`4?I@-D(RRA$Q|Y|}NBNclA^ zHG@H4fMUI*xFGBj*Fn4XxkTPFELDg8tk}z|z+tUQM>@F84m-rLGK=ws zYwTuj2}78d%|p3D>ZUIF;x~8$YqEspn>09nqL~j&+Weac-O(kMyVfgF?omFnbycbb zxmL$6v&*o-d^inb=4kN*@ie$RqCIwEbQ33Cyr9j5cR+sLsf0Rhcwzmfg(e%yQ9?M{ z67ygOYCEoPbAyx@TiIX3*8BL|#Ctb(zQQ4K(H|A`c#8xzgTOWiduErMs2qOOlFdIN zx~Y*UMbU}fKRtn?M22JT{1m*xj@zyca2|Tl|8+fWCdaPRjF^d^tRLT9{T@5#Hk-Jn zokY1aT3ayj_vBqlXg0L7z-2Ywt5YaNACCm?9v(u6r4y**SOo}Ak(SMyoQ0A6lU5&N z(t3w%le|SiQMGE+SQb4la!b`6yY_nbRXgV?=G#OcUUbMaaQ$<;^6Ycl|MY% z#W*-V?l2L77=y(?(*9Jt9DyiV8r?|0p9&+3b~2r$%GIPp`1AT`ivW{PIU z)rUWB5aoZ5X3yN6UloI>&)ZL42wZ7M9!UXpEd{a zV=$-+nT!_coiIRh>w%cXaC*kEodvr`=`2aE5si!vywmqJ0)QtXqv?Vg6R_G}xtBh3 z-{fF81;Kf==|j=aRHb#iixr6ThG^oy$>jeef*fHnwZWHrzmp_ zm?sgc!YgsCMeHYG#do-1@_C}J5og+5WeLbTv_ZP6_2ZTG3;6qrzQX$Bi_l&_Vg!Xg za4XOtcJ1j#bg5zS$%%*Ba|k2-Ez{9-v|*5i#-IB<{_2DYeSG?3&V>HKlV(lqfx8C& z2aI+S@{NCg|H*Qk3X}%nGy4{-Ee-PU#Xr>%qW!OgQ~ETaEKhkgIziX|Wo{?ew)Y?g zI5Qt~@ipL;Z(xBmJSZ!42TtM*${H#`4uyF%ooTAH4S5{H9C|(hj{iZMPQ3M=9i<1H zU4X4QFZgW<(0|zFzX9W;^lqEJyAOu0SoP*kIRx?!>QGhna{kQ-e*~Q3ez3GjV+Q>c z%C|Hu&X|Mh9hTL2KvU{YJnxy=1`8_Ku6ERtZfqo@h+T?}P|fHyZjZKSh;Z}*T^xwj z+_c?3YV4N~a<3H6s%LwomSBNaX63XyDhl&362AYIv(1Sn=KG{#!*neDHl}-(6Ev;w z`C>t)HkP{n2eM^OOK}1O4)>w z9*+#u5HtVwJXZsitmn?3RPY>|}MZTlDD#NTZ0pDnOB(@}m`*3JBx4i;| zZ%1AcOhLzm&*4PhUUS8=rD%wwr|felp#`LNKCcs8xs~Tb{5Qx0)c^OA5#~8VgIz;I zIn#rXanmJV%bg6pDp17HbC6ZnAk2K%w_*OI^-Tps;xQ82!I5E>Y;-cZLrJ{f1Xh5s zKi2SUjN6+29$w_!&W?juTPbQsZBG&CK)~<-Pm-uYaJ-WF_$G~g! zsxJ-23r_mY@-UeT!*KCuh$0gG?q|`@V3*;C)OP9;^=w`6E2E`QL6UG`x62s{gkybM zu3=kflHkdW-`u}nC3x%WaDarhESD(MlA1|pq%dHf9+H(PYEQCm))?7M{81b%ks|kZAx(C3GeGm*QyR zE%WX>r7Jx}#S<&4Zh?1@ptZ@5NI6T@yUu;&Y*5Ijz(56!S4Z7V43uKSG9V11>8}z* zLHhRn_7`t{(&?Ajs7SOWvuEPOVm?lKRyPgGJ$6WU_0Uk5$@NV=*R0>_G=;%E`&YyL z!M+S%y#82v7SCwixx))%pY1%SVacRUxd3fYlJX?(vRbmHtkrrDUnvVDg$|iFtH35AKj%p0LwXtxg!>Lw;^_NmTg-BK3zw<#RUHNWwt6lfX~t3c8@F`#f^ zmR@}XB%HQji6tg0BJnzDC$_S%TVYJ?YA*=rB!&o_pe-=r*?DC|o<0e^BX*G&W0(EH z>SwIa;fYlp`IS(=CL})i@Rrix+@09=p;do><_Pvv)Rzd{>o3I2`NV4Cnf~5|V6WO` zsRW4D4)dtbY^(z0qRG5g+#7JNy24j9G&^FZmPFl|wn9>DeS~(@*X;?;0v|T|rZP)l z8mV812l~KQD+aay>zVl4nIs>Y>%iSRUEktIP{i&r3;iT3le55*^4w?Su6FOe8#fK% z1TM?m3mU^h$-sTPE`hGEn{gNN5FsY`5Udu6Mx?BM1gC}+v1u_8FFxJoiW;vwUy9-ZmZftA0|f2nWU{RAnqZCOg`zUYPET8D-}N0Sq09sKov;5Ygf8ReGq5rQvzR_NVfo=m^5H+4mebT4fUp= zk9xP+1J5p{ow)z&hrI9;!-iqgrm1@NeQl;QS_H10q~p&@q;K-Uv_#K+chp9G+2<}Y z>}_;7UAfGw<5`X#%He3<7pv~eVYhaby&!(hK2jgTrVWVqX!(1GSQr8E-cbJ$KtE`# zBrX`V4#w9L7@shh9f|h;clGyp2QWvcso9URVm#u;KYi|y0Pb-y#~t!ejv3Ks1Z&&*iaedl@X*7?1>(ey_+Na?PZVjkNT4wOH9AQb&JZFke`m6s2{TYrr>PP6_`%URgpIE4=u@ZkF16k4lD4NJ zWkoWOV3HfId?U`2Y%umP`RFjqOd)3}<;tj{{kh_ua@#kzvov@2l2F9!M9BaTW+$JY z_p<0a2|D~X&+b^qrN03IB8st}zfcFl(L{NPXX9H{>pXFSf@frgWh@-DwEXtw#VizG zs(3pY8z(MJB|V%DxII43q^_%>DkM8Vs0uQP>AvKFSHTs?4GFwR^CDmGR}lT&b=S9J zuf4O()Q`q=#?eZIQEs7ZHH(?X#ocMC%mFw`7?^fp} zg2NoT6bHHVL8KOw+XbjD^nm#!Zw1=fNq(>o)>1yBZS-%ayuz{die7rBqb%4XzL1_n zax*~&OoN$f9%d{o)dg>^94eslR2uFak@Tq%mV(JQy@stz9-Uws3Lq;(Z#mO0ui1``VahHaf z+qka4Z^%7e&h8$lAh*Douo0MUeiJWNc6fuLe(&t$GHH28jEv|gg2;i(N*qAtG;2T0 zom_>>9`btSp<){JR#-xgq&`JLIYCZ#Rzc40suF)L7=CFikL`5pfz%U{$kWH+6O_q2@bRTQyej&Ac3E(?BBr9UO7P8$IJop8Vqn1`^u#}p=l@B~Aa4Zx zqX&`O3#Z(Ak2py{G9j-HIl0{M{EU~`Y-hnLcbpBSiyG2Ty&ETh+s_nOjrD+qxjVB!Lpb|6`bA7AjF-ju zk)_@BZTo+Lx08tE@>!up)w}d~Ghg+YZ-2gsnaW4ure0RuVD55yTefzd>0D3GS8^7^ zb9pSW44Az8g93Y7Z2uZErHcWT@afyyw1sYP5MR%sinQf}&gZYgMIH=&>NT{mXw=m7 zosrT)LVJgc9382Dd}m_xS#ML&JE8szkP%{pm*VFIh~u4wgMAFB$5w>1j*D{7JEtam zSJVj%k!B*!I+p$Fbf5ESY_&8s_78Z_~r9LDTFuAU(=IdY>u_Xa(#ncc&`ANJy1 zIIK%t(UEO`i@Lcdbx)e%&R?jz%?mv96(G{3V5;4gn1Kh3_$>5X6Knnav|ttXy%fO)<(pw$;+xl?1; zP&a9a=xWkFz20;ZPjG_Repn#v{Kmn|-t1SVI_bHo@s#Q*D+`P0B@0Lbu&>7ikcT~P zv&NPyxDERH8Fy<3Qb#Dblh|%JsgSY;xbQyP3~= zoF7RcxYEhD9Uk31Q3&v%Izv1AkB$%bO5g;x$oQ*IR$ST}p3PI2{ci-c2#GQq027O$OSP9heh8nptZAsd{=R@j@4X__ zCKKCp7TQ-w`5a_X(`6GJ8hS61FYjh7-nD%HG z;Xf7-H|CgtKb&#;@I`pZ`OEaj1HR0^HEOD(b`S2Gz@U4V-g&gRe*ZI)8O9W9iL*nZ zHJNyctS0ReRF=F^&)ogD8Hw|nYedmEGqcYJsvWE#lLuIm%ROEn>v;_LxWBAg!uK4K z9ki`aNL4Gf(Q^hZ`%!$tvj=ycxp3%$*Os70Kx+9WjDf5lpMyV2iMB+1Y~qZ+DJU2J zN2jqr$12fN5io>l^+v-?|Mf#MB87TG;W_B;E=ouHd!OIfAAr8Gj66+45yM6P;C1dCjFw)msTOrrQnW3^;eQSczvyY=`iQECLjBc<_@90&ew#+e z!HJHgwdc?8IE|iW>xV>{`sJ>56sRFXK6>5@s|)mr;&)VUj5>wd+=ROFx)Daam%1j2 zqryXVF#fxy`N{0y#fu|#_NvTB=)B-(UG14e>#q&dn@7$KhQBR~Q`8=MgC)ofBQ7N} zhv`bOSu^c5RlqUCeTvCBEc`|jGzfZvxQtL^;?P(eIO zUgHM5b8sz^G#*ES$PH=b6n31C%)|~y0j7xKa13MO0P#r=YJq**cE*&ocyFy<={zgq zo7mQnYKLw}NW1@fDMI`|Yr7JCv5ALO5w(PBADR?0XjmS}=S;oLRiWCMN_@~yStvWu zCv@I*g`z|{(c4Fiq0sy7-@os*exqZGDsE~&bHn0o{1s12f;MA@ zs{B+Bse=T}D-=Ni`&bnl{-((R)ItWXR0cA-d%6sj-w!7dP^>_>!-Jdh%C}Ezq3|Uw zV5YTXSHIxKd^odAQ@xix73WAC^8RJr#4??PYzh)b1QL|V1%%Ey+}!2wo||`=4)C3#qWpZ?W<3o zRXiC$C4ay%b^NZ(9J2iTqusc&Qfz34=F*c>`0?i_zk;{(9|F5kgc&`K8Tj00I+kE% z_+M;ZZ_agQw_Ug&2T3Op-LRD3z5%-9Mh8E$rnEg7Z|mXM;BbZT6@<~)?0emo03MKO z=p9;^(D?2z?$^VWJAuqcNg&>?Th`9NtU;aPnOC_M2T zu*1yb2`s}BFDFwvC5Iqrs0bJ~rXZ+TXpY|<7UQI?Zq0&PxVWOa1W0gT#WEWKRa3M3 z;gGs_m}v&sl-K$_Evj9s!nl6Ag!~E|>*TxK5Jo9oLsR*h+B4})J3GHKt^uKh*72i# zM%T?l+P z+5%p7bRkAQ)*!c1wy9*Or=$|_|Go~m`!`UavLfir^TJVSvuvaNM7X82a9IY}(Z)R< z&1{q9+}qtOaJ_)MC#6_{B9d`olGE}KPMl==_mgr<`HbxQ*%rS)=~CY=JbBMf1M> z*Hv4=H@}WySv!4AMt23K;w7cUx~_ta89itWt;yft@HX@~(Ldz#Aq{zRwqrX&Zq9Oi zs$^#l=cBk0m9KmPWtEmf>BrLMD;>NdtVByH`I&c_K*A#Zy5(6f_pQagE?$uM1XYWXC=V!V>Uyn zgw5A^Z$l05v8<}evcC?X_-n&S+_}4Fc>rgNVOT0cxSCD*U?mr`>G*f9a3fuQ=LP2i zd`CzKh4($V{m@W(vzCBf6m5r-ezl&L<4I^_u_PdB!n$0h1GyAk($PitJq{%uU_|jC zy3kCT4U*|fUos;F`LOAt1&qR~G3Ts3mY;;gZk~cgDS*xvP>I4{8q?8vc33X}SAFpY z&-og!K6@k7_S0+#U3XUL_`-b#X4gI1sdXeV8!8ysfq2-iVZwD*BLfMQ)O8Ri1;g1~ zmF}En2|vN}azH0GfC-xhg#wyh@pOofTw>F$J$Ua=-#jA=;h1;dm*-!Gm}NmfeQW#t zVN$QEQ~OmHaCu*6`nJQtNm!>!4?l!eY2$J8&oDk`l~8y!4k#NYaZa#IDh%<0hA)+l zpboxk$-Xhb_a-X`R!g5yxBi;yG6yNn5(IfIc>&Z?9@PBdQZ;Ctf}+%LfvfoN5R+GW zryiWbHB~~8a)sNi6$%_fCRPgt)V@r8LV*{EeXgl9*co6TWB423M6-i)U)RoGGh44X zc>m(fr2QYSf_ohNrZI8dv9_Tg`a;77agqy zl>D3d*~f$xbHCN^qQRM97?Gf@w%GTS!Lol?E@Lm>-A6!A6{;K`z(F|(L8Xh0+O^Rb zxj=k;*Yg(Bfw^UfWP2Y@`7`tmsX`26w*i0XrYxR>cqbSk{J~YFDqZ2UZh7*6lJ&AV zx&NP_&F+}jNZGOi_{{c%S0SW6e4zPJYMfVJ#&GsIc({^0}J==vc+=QvY`?)%?}1)&l+NfTPZSWH^4^%f`qO^>Cr>-g}KBi~lk zjfrtQM8)G+5YG#~26f&?li04=Jghv=`}G>M6o&dH{ zFxGiAFxTM519o?T637h%%JLPaTGIIqoRR^T2l=;#q@oUMC3m0p+Fs#U^vm|OBv=8; z@Y1ZDTg@m0EQ&SQM)K%YglyNM%cr2ZTSqdWjNXl#MS>}Z*V>%CC7Ql ztTqMnzne<@ajltlPHFWrp6W(;^^#DKQ|&OJx>HiADMYQ|1-zCE9b?-uN4Ti<2Oni1 zOD#!?cWhkRJ|&OBoAA)szES*2hTP}R5!7lT#l9ixDP%|t+|;d$KIuv+raej+19zfB zPw9in<PBK1F}{;>}afsD(Lqb437ApOG=~}VOJo*bM#@;7e)~|l2V(4uO;q!m>8T>6V_|W)lsGvDqvW2_jGJ) zufpU!)RI7$G(Ur-AJC#G66{=Za8q_e`>AP>pkBxEanfr9TdO;aAHM%+y@c%)1HLFD z{l^_Lo}qJn>kJ`g2}!mzEE?=UBz=17QonWf_N~1J$FH1VERN%zyQo+wVi;8gbtzDm z)Or%OC@EpW8~v(r;6IUrGYhBOCm+ z%j{nT;g)9Q$D&>7P2Ic4)cGiueGE0#9nWB2z$X^@oG*?_LbxzicG$orSA9Mhuf^oc zpd}9S(dRfk9qjV&e?a9HOt4u8Xk?El*f54;h$$&oUPOp9P_^dYnuYrNG=&!h7r~-n z#nUR^SREX4+fT@~;I*hq8?w6?dQjp9|f zdh1X{+{y>yc*0vIf+@cu_VdCo%n!)c;gDo@LZ^h5z2=N}k)gEA+**~u%{2ZcX^hs*HW|7&>TX)#KRl=KbfoNt+32#9raxanpWt{hzxpf77#lRM$o*%+tzY zZHfIpa_gm#m7)u_Z_as@gDgD!&eP!J$!5nXRchIbp1dFSoUzUO^hA)M#1xPE|aH1-DngI4O=~r}1U^G%uVSGODWjapPn~3MDgS?@o4Z?W@UOHCNur zo{$V5;GqikzoVJQJ%8ED8VcA?A$i|(Du>J^QBDl{d6qC5h)ZLMxN}Qu2f~5J#bCJP zK+D`pmw2B9p_(EV{T)@a7lltvrNTw~`&RDo3?qwY%e4D3dOT)FYC_qD_FhEipE#lY zI-Oo8Zym>BKl_?g%Hz4e5*AKtqb(f~URT z*H7JM#7r*UCthDXC}O@lC-arz3{lGwy=2aA_Fpqko6OFyb|CK`5r5(dMm!1pB8hvu z1y4P;5eHju*;&l^LmvdJ{c-7R9jpqLnq>b)YPoBY>wzM(;c}whnHeZcFk+Oi#%CNp zBMOhPNZg8xYbbhP3D|#VT*L!QK{(|^|K`J{1GJ?W z&Xf@i!{0Oc8EZh25cfW%Gp_7&Rmq;P;N95Fh$p;utS}!u&lemJH56#GPrVT>)RZDo z`th3qm`u+Jq(#VI*MBy0Bc10~uAua02wpzuQvA~|3ON@zuTk~6fMqYEH>$^RKd33F zwQbbTYcz7b=`m!H=A2+<-3cc~j3-mCC~ACGjb|Y9Fo)?+S|i+HIOxa*wSu>28IE_G;KEad7V1Q`y^Ap%>F2(To>u1&%h5? zQW)LB-%}pjw?F^b(WyBHiHn;b-D18Jvda$tWy$ISJr^e+VK*X{2h(Yw zTUV{4{hbSTR5Pw?pdz&fDC$0Z1>aH4CW$c1rdGN;na(XeRmZ|iUPkcC9mCQ$CkotvT}CM5|V~iOkN2YfN5R*7iFbK_DSgGG{57bCMS_pyCgB+k$G2EB?>Bc`rvE^NL z9**rKWA;h){?smyx}7|+?{A(Q2k6k2i&=XkjXt2N1w^;}&2V)a`m7tX<_7>2}) zXl#lrf|*Ykpq&sf!lu5)1IB{J7*Z5(v!;aC6DitcS);#S)Wp%iE%sXn-DzbpFoU64 z)vNvHjX%evUAp>tWBE_^OZdHGf6HWs$3;mzeP!^gFp_ZjHRUt@MH%8|x}{zto@*0v zI)=@}``(jdmg=Nv`YLnc6|bf8K1tTfjc2C&o?Z1C6BB)1SrewO-QYMp^0TmKtyf!< z><%U*0vc8&oi-5Hx@dE||C`p(=tN^$6;Q1z8X*NRNf%wRbU)2-|+v!jJ5qI`*csY z|Dk;))6t{gu3&Cg1t3U#sx=}Q+qM`AQxc}CjbxULE; z?_Bk6W0{UhS;)t;4~^A$6}a}E@E8sbq}sY5goKjeLd zUw}Qk2%0G*)-C)mG8hI=!V@Zx`ip!|O7)Q$^9_jP*J_xgq65X{up%s&6nYn4X8mfd zI*yk551z~Mf|xfCw}kV|aPtAQ{lKlCX;>mhmhXjST#zv}z>C>lkXcQX zsTSrJ={%vh0LL9!hxWJ-z7V*Yl9+?==amJqU+OWQJz;;8J913L)=3Kb_^a(FIfj@h zOLwu05z}Niv2*&GR5E7BVU7b=z;^eg7t*or`B$3oGFP82ANQs9kei8IGbkXv(Ss#Y ze`}^aV?zkgUAnUx=u!=aG zTsLiT{Q5L3Qe1!BY?WUV$Yf45yf%T&re83*;hg?Z;>sIT8*_U|pstwzNt~uGjARWo zFc|PX$hi5V4cGoh(kt6p{PSnL$keXyx&CC#b>!+q>+6|)Hk)1Bkh2W2ab)1$!Qdka zIJp3psHX^Wn)1c@z!`UjH{Qud^b-mMQnP_$a|7R>*M=y>d#|l#XI|lwl8M)+%OO_X zsu$zO{ECvUmm^a0K1Gd-Sy&%ii@^5AeajEBt)-$eYH3M@33A6wVlTvH^+%nsO#a== zefqL6>8s@OQOU?&;@b-ho%eDdTy`*VOitoNTl(wGk21Kb-(zy0zQND5WLS`>7>46{ z8KoDI5_vSiX=#Xlyplv7tIJ)X$jh@beJsRYd^&VexF09MUR>?gHt{iGb20$l92+#Qa$a9)8WUJ z0gDLyPqcuC-NcnJL2w$p_TlfJV_J@CM0pcK2}RHP@Qq;zqLf8@{@+tz%oVbldt*uV zF1pdE#YNlk(twYb=(J9OyD?m^B~o)g9U z!sppQf|ZT9g9bO#L-Warcy3H@iys+L)fLS5prGxHio$12;Yb5a{Gq^52xbyBd3PXf zKpuz||CT3O4I7Aee58Gv)N_SV#zpx}x%x9&s~R`VoOZ;uF7tx~cc3~EPaKZ+J|fNJ zNd?sA!M_@(YS_wZp5{9BiH~EOKv1Fc3RymzO6f)Pvxlp1KEth^fI6+mlt!I#x$DhH4-^ z<9Ek(ceDZ={s6MquWPN_eRBT(G_^;oc?}KN6A9~jk782q{c@unUN5B=7Tz!jT&r~ZYXL%@4^))cMBxyw@_1sdb7DEzykcg&vJ}!v# z7*6r|ye(YXHil6ZzKy}{UkPKwt4wRb+2?%3 z7R={{Qs?}`GH+-^kd3NO+ITBo+rhV+12G8u&)eLSvUQTTj^J$n-Op%LypyjJBeP?s z+D_L^(bZ-iuXsy@#`+YDPT{ld7n?jyq1)g4bp%7x>dr9RzmUT8m+j%&dT4&ol4Q}L zpyf?wTvM7jS_Z8%5Dp`@TJ4wr6#+lbs-u=K1drw%tWN)P;H|cT;qI-tV;PAzSO5zb z$UG+pe}09C^$G2cFe&~obSp?&&zrYxIonB$zmn)u6HGZ#6OU?ZvVamXRIhkhtd$zd zSYoqn#k#ytOZ+nBc6cb1n(doe9^k-Xc5wf9urcGxY)V7cH zO07;OwTj$47*%3rc^M&ADR`}(MKr>=Sxhe~n#83HWb37J=r-122H%h!ZYQfNwJHxb zd$ahWxc9OqQ~!c&r#>ePhjG$@nj2?UXGgKDT&X4V{B~%PAbg8DJGE%2$gm+$z9n-L zB+a_UvzA&Z!_`e^0YQcFCH5_9t_*ROx0TqS#&0=s%_jUkoolA5v0tp=(Wa$4ljjRS z@ZbA-4lf8K7JsHI{q;@WNS+YLW1Wf|ptKq9PW0pIu(bC(g|`1f9jsHfFC0H^blfKo z2?V;|H?wJ{{qF5`AjKd{rn}@9svm+Nx2}{RmRTe@@Cx3rg~Sl{@WzO3ilOEH3r*1B z(TeC9Mi+Ks!ppbL=)TvXXn%6;_Br`g04U{5Rp~s$5Mm8vz_rU^A2>k;q$PzD59|{3 zR9bQy1ytEeF0T3>7eMs(q9Ynd&IHJ|*fZRxv`pFDfbF$;RJ8=EV%w>gE8seT2me@P zzvk-*iZ&1e1;xza>$?i3=q6uJdhf!*J`YovNc56iv~tzXVe{_twpd=?IxLII$qizrSImmOjoA+BbsI4z>B8~42>b~c zq38>O!g{3M`;k{{(*e$w`1MQ1!Yav6{nv*!dmjt0;DB0X>VIJk!W1D!L_;z3sUw{1?9L zCXvI)P&HW|TCpKuXV=I#R^WGC&boc+jNl?=|9yzJ|8&DQPlLUBRxSk@DK^mZR0vk7 zere-khs=)BTr&Ho2#3yLX)+8>DHcRfv@Mxz^F9#mlArCoR0I4=9!6_ZPIo6R@Ayhn zY+NWZE!#h6>yz(`PHdpkXA~}W4GDDo>n-gQ#eh>utxtIn#0BlX+A)oY_{Rf5ye_|Tb{1%HnuD%HrmI&yuCWyD9H4RH}7PQ26t{5m-tzgPTt zd8bR^8wNxDeD|9o+6G>^1bT;=MqpQy{5EgegnxRgo0Jb1OK8rO@x<2@!@+v?@8{LK*8)OQpS5$`Kf5EkmhSS;DLyq(jUe$q91xS|SHya`qllA1!@ zl0)cz*IfnD3R%_yeJU=379K`{S{>|Mxd&t@yOd!tOe?x7XN0cvkwjRN$9?Bo8Ke3P+6$>ioTz zrdPQQZW`8@SSs}3d#`D(Tv%RiIGchHhCk64OE~d?k{&OlViD7;TTnne@5f^M-=_lu z2&AmXHJu#Ui3Tr_tnXs;H>Fyr?gNrc;7HO}@^p2}f4AOj^FpNykAE6+lF;`3*J=}9 z@|NL5?U)%)GK08?h!`$Hk_9aFJ2Wj!?*?_Oe^LhjeJLHssM~$D$M8s!OmPi2VkcBS zxIW}?C41rT$48Eij4`}uKs(Wew9m_ldINp_+taw}+L88iqJ@0KX(|Nm(sYg&L6r#Rq~ zpiukgMVG~{e)svrstg!F96F8t*s_8TDy>>YMzN)}N1lB81gy43o^RNSjC?oFo#OW3 zZ1(#9;^pzv@=k&5D6KYXCD%u3RvK3lB0`;b{T4#f5lQ4L^`|qO0;~P~3NK-RC72bO z*O)*p1%LmLw8z7uCbiY~CvG85T6F|2pCS)EIH*F3ce1kQ`S5O8_Wfdd^Z(s}kZWH9 zx_q!Mk<823A5?p}qq4}A$JU6|^4{Jj-F_jNC|Vn};SRLd82ml4d&NElc{k}pdBa4z zKJA1Z+`&0lg`Ld!@D#G+(5g0vf1&(A3S;Q5Ckue0{bKICi_^kHyukf~j7a9Lll2ZC zbSOcYx5IdHXDwsF?oW?>)tcbGhdH?u4FI}>4CGI8E4h z@cmb6Qp_oLUxfU83FCh;D&m9Y{o^6l!0N^0;8xcF7;oro5HgeyK0q|0Sd`&4lny?J zKdz#nRCC${{W9MNYM;|s^%D@MnwL?d=gtIrY1H**DwEKJj0uK)COd}hoRUB5Z!n7G z<)@GI|2ho2_;BCpD0yLRBrNQGppVb_Za`q8X~}#Tm1?(NPwh)#Cn^8mm}NqBSBH-V z#&2$0=YpOhB}1GddeHMRtY#Lee`{7~gSlh2u~kcpkMS$*q!B^d237L$ghen0?`r0} z%Jvqs>S0+>dm~>tbfiEHqxHWq$aK|V{DNBup_?1f8y4i>gknVLhbmt!=yMEv?bHPi z#`#hGik_cpCQ-scy!p)DV>Lz$`|pyWL)wMT!tn~Skq5!vZ}S`UQV@H3OsePaG5nXE z9#>?^zCRn{xIDiSE^ND`6RIPpO;@r$$hbdP!Z{EWISzYF9Ur%G#wQ-jfRXZkcgD_Y znN`aZ*G7I~OrY<-tsOBQ<}H)mKa9RKk*ZD0*x*yp#4BjhL00|jhYdA}mqj1t*mG(- zztL>oU0<=UK448Lx7)6UF2uKriU{3BE2RLh z#@$UwDhy6DG8G}YZI{7vxfyWgn~fQi;19r3_XO)*F3!sW34h0ap@3bGwL?|{Q%*%266_m$E;~zK!C?Tv8efGE_#StD>v#Vz6z{X;dVYkXl0Nl9bx# z#?SY6&U5%<54-owJ#)>KGq1TWT?fd`S%;|qZHemC%)G7bHzAyr`({hrufMlPxBtB> zHzq{ksH*nlhuIi2Yeq+J@BVoz_^M)$j!xbyk^VO9*-RNP*YHRmbNU&+4hZTOHl+@m z;QVzV&18JMnKNHV(ON4nF%XZrO z<@_wD!ARQx(hdUUI+VbI6!N1yl!W@I{ykJ99wy@)M9wYEY1qhM&p&E*5lCKPX&`-| zYlauMIGY0Vp!ur~ioSyrM>+785jbxaMsg0J>XOgiI;=+$M#D@H4??fML`!D0U7asv z$;p3m7bFON_(_SCoAgqlFvfBIInM7zLL;gXzFfn=Z8LMBid6}y>c;i8-2g*!B-jDm z#ZyZ%aJh!&54kB`eC7QdpB4cv0!`s<94Gg+7>^q`XGUAJDRSZP-9((e2>jS; z9)-yy!5X*|J(PH6!iBms+s^1+!!1qWEinNzbKwLj`0&m(!-hakQ<8niL1hLcgi^}I z?X;Ol^oB~wnUisc%7KfofoBgtx4C@-3NKe#c(<>x<2^+b$9ZZQBE?w2gMLGY^)OlZ z<5ms%A5&*4N({{~NpgcEybFy|d4~p_OhjD*I~ok(p5T{4YT?$%$3dq?nKnTM zuBs&8Mj~?Mt7gLoNleXao5!R9?h5>iL;HCtf#;powk!9Rjzzv2A`<}ILeI-*l66zrWg)+ z1K!%ZdI-EFAdU}`@GBqr%SMVtaUC;3Yz+oiU$U6C(a~2^18KZjD?OPODc%8_HIAUC zHAPm+)uKpXe9yrqv(x7E$3M9m3xx4xT5|&hfJ2N6x%RY<;7t$C{cT!5pF`HI3?v6| zrbibc%?c|o(MXL6fi_yOcKli-`{93f>uzmj5$a;FY}VxEY5?bT`N*Ej@dZKBIY(%7 z2ue_ZAAi11=-OPtIUfjzSu{;uNd-ldr)Q!Eg-_4MR$oHF@MZ5^FL{!i)Np+_ya(eG zZBR!h9fk~{OGJM4=KBS_t()Sc6mKh$SH``Zapi*QGCN;YJFJ-ws! z3Qi%F<0h5;il!I;VDPSnR0`thTwG=pzW6d#Yp0GZixjBqj5w@f{e+_a9D2z{>R-el zM#=E;(#z&?;qX;;aLY=AEtrH5)WZg7rm}2-!+G6QK>*dJhSPRyXJSF zKS>1oj#5!J|MLv1982t;jrB3#+{V%H#ERB(F_POO7kY%E8R2-=iU06Y|7YC&iS*8| z9y&$&P3Of?nst|JQit@j?Bh{RUyBM&fkDMTw_WJoyFz|vYr#9uX(cIcL(KCk3}3&5qeJY_?=SOxvf{0rEfI!b{AelW4@+OO6>NB zMSCMt3?(=JDeGLaoYVcj;3=v^-Bio?r;(!4Zr zkHdyypXGy(U42aC&Aqzn#*#squ2-++ywWJgdslrrDqt$nyMJJwe#qXSZ-Q#3&K$IG z(T6yPo%YdkV{trEW6^O5`OyUZ#o8tpZll6D0D71QTT;9yac2)q>^Nqc&xi9IcaJ?U!`-3@}=gWQi=gDJ@ zsYDfZ%DAsRs|^!l&H+S?KXW~5`%`2`OMeSx7M{8%vFyuY%&qpndJOD0It2*nnwr{Nl;q)_npzVwwavtwupQF7_ZLME>|&yo!a`HFyVwAlZ=U)E zJ4|zMDSYtfp<6~YZ#rv%PyWyg?RkCUPruCL@LLyHG$s0s14$hDH=F_%ZFph4=?l3n zO1=A1fL6PkD~WZklN*E)UCz-&E}ZOUu0-@*i|1TdeGSu`_tw`y00iKRNuw_W=>BW$ z{PUmBbCgzX9YxL^Q#?EVih|?6vGt96T;R>$V-Y)DzE;PLg+YI`+6H8h2>59g$|}?v z8-J~ha(+PmFyiLp&ptQmceV!58{+B^_#AU;A|#-12b3^sjS7OMXwVn)_iyLnbXNf#xc1TnPQ zU(nzWv1_-}{Gf{#-We4eE0wR2IQPza5+iT$yfc3Yn~GORn6Y@)7)DtN%)vptndHpl@ie*{6;WiaVud32GA96oC)-d$l9w~i(Cr1QM=K~RK9MyaNi}2~i zlCsk_dC>!93hxW5aeGE$B;eM(ZmQG7@3D6&YK!f(;OSk!8*#nY^+2@vf|iqy=VZO*RrrHa-$bU!1d(w^a}?tnLwWZAO024zB;!c%D zO&iHP1qfLyU3~w3Qyk=b#64pNdu<%b+S4!zt=jlm4I~CZvlzZI^PrA7WqJREs|lf^ z8?AX6R#b4tWcQvJ$-^Hfb8xh&!ISunGgrT?bM%joGZvt-Z&c4;6hcymUen+*-Cm#p znjG{*60MAkb!>-p3R#;BnjFV64U~ayRqB<+crjUuA`~&3`LFr` zRgmVZS~(K>yGYN%2)J zu;}z}-lPv3uJ^mnY<~H1;m^Cs2>Y7u_=Rx4um1MZD3M$3Ytx6@CsRCoOCK-J?Ea@l zDv|QsMGZx;siX|xzb`5c>iVOP-b+?SJ;P1fz2*53GWp;@G)!mbR`EtkxzuR!Ga}MM z=AZUpR&s2~q+mJ5y*22{`R~*Ez4Xxak2GEHyw6!Yna`9el=4kun}ovEhlP|l1yn*T zGJmL$<{m)`&t+MK;k^IQv^exK-QptVKmP`;BhG&ch0S^VLnkoF|4j}Cf9w`LGXJUF z)ani%s58g!BB2e6SAKJa7ER-)JwOx9Cm5}|e=DQt(fH!!wj+t={0kw?L^$Ks?`vJ~ zjd>th*v<(KSs~>c!*~e+yc2$I@SwOUVEZ%M0im9nqb_}vF$*%`XqquvpE`G|QJzWN z`2T6ec-tpDp{rAW51UO5)}vS_dlfj}$LVpbi3~*XMD*?~{lwxl@|XJXyAVvx#ub(?!v+u|1Rvn$VB!=BRSG1Do9T@NebnSU)S})3^lJX1A zQ!%5F|EH0#HMP@Xu0|nk69TD%CXae#<<$O@06lWodG;Q5Ksj;xnyC84cUX7hJf{ko zchq42*UV^w+B!E^`CTQ2W%RY>no6aw)$QB&iBr^IZ!To} z!dIV`=D9tmR^M|zRdKgxS-w3fW4@(c#m zCz_@4!G*< z$A7$6`gsoes+-dQz8+~+r2FGk?Uvsq=rK{&QmPc4$c&qd3OCmWA_i7|UcM5K_uXU~ z^?Z}!*Jf3Xp@90baPKxVsXT7q$$KNPX1OIH*~-GR{$5)%R0@WF;QSPhjgf||F#5IO zeAjQI&S&Rrf4LDe%n7~x8)IZB>K0uxSkZV7h4eqBEIp?+!-FlM&VIwEW=`J#W)j?V<8ZS|p)?7N)fhHe@i;rWjZVHT&op-3czNugC9$4nqC=RQ1 z1qMBstqj?T`^?BcNk*lDRdS;3{Zw;Nt`9}R1Z1RvU4{a)~SD8jz<@Nw5?)sE@t zGD6>su*XAFP65nftCKfv)0-|+6m+FW?z}_Z8D%#6XT_H_tN8djfh5Vx_k{8Sr}Ox4 z-bR%hQoJvKx8#crw%#kHDm9ChvFB$b2nsX9M%q~B!vgQP4=e18l|S@r+!6(f84P2DHo^&Uo1qs}iGYjRai&lESraQr* zrv|bybALYtCEa-)#%s!p)uOs;5X)FP&8z7cKmE1MdX*9v=s-%+8ZlmU`HzyQ1B1Y( z&YDbi*Nt}b)|jM%R>vics4Gi6Ofm)z6t(G{@)f*L^=P=}u?{xz>7{1_t|f(93I|(u zbe9;pn1PS8d32-+RfB>@j|6Mt?dCk9=uJC)XNxJkZ+@4;HOV-hKjltL3R@)hJ`_A# zsPkK7mEM%@L8)a2SU1rxpI+jU{F9U}fYzU*?LKBu=duII6Z>BM><*V1NHlDj!C;my zHPf|$CoU)@QvK7rj-r`|tj#1&SN06Dn6O7daW0!x!Wa!b6j{%lm^eXP-RWj$Lp$8A zDDr~%9NltuTYZv<;gOtl1qIk*q59toC>ah`C9{rk7HKpaY~I&_b->a2bnghALfbc8 ze=w5W*2)?2PHfZZ9VF`p#Gu8-CpG$#=hhI}nv|qIhKEkwyvbq{c)H+(>HY1PYpxUM)L}iI2zhY%vI&_v*AmF^J612miQDHIIBxkO9=c!o^BQZX&#}^Z6QPdQ z;xz)RXIY)n4@26^DuF(I4h4*GJ$;dHRA{{x{&^De_f`(G7WwpEc;@zjbJx9Tx3&~i zIj3SvUwWSA=VwimHkF=tlXea+%%3;ur{d!;@i10?$TMx1A$(fou<;JqtlOZ+*Z@BG zy@q14c)k5J8ws3^B-F#5`XOA06-1O&E=JPQrSs%_V!A$b@Bd`$XZ9WNj2vSJ#|$(~ z(Nv&$t?|@FTUYnA-&W+j$I*&1!l80Uic#=BMf==e8Q>}y@F-#SeGpL8@_HB_e_SH> z2T<D1GGD!)0i%oM?J{*p&8ub1k)xxj5;eXQ?I{LBrm&9h&4)d9mo^|iJ@zgF_aVYU-c47v@ei2<&fjuK&y()`~nCy|;MQfWtnqoc~KLG^+-m zy8s;riDza&KEU>@cXB_y=(2mqwaFU8EUL*23{516hhjWB-xrh zcAGs#9XsURt1Ljv4l=_ql%B0;Uh3=ToxGY{2+&-k%0A5s#zUdc$(=zmu|rc1aP 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

Lage

-
+
+ reuseMaps={true} + > {/* All Map Controls */} @@ -87,7 +84,7 @@ function MapView() { {/* Layersprovider and Draw */} - + {loaded ? : <>}
diff --git a/ui/src/views/map/style.ts b/ui/src/views/map/style.ts index 6ce83edd..5da251c2 100644 --- a/ui/src/views/map/style.ts +++ b/ui/src/views/map/style.ts @@ -27,7 +27,7 @@ export const drawStyle: LayerProps[] = [ ['!=', 'mode', 'static'] ], 'paint': { - 'fill-pattern': ['match', ['get', 'user_zoneType'], 'Brandzone', 'PatternBrandzone', 'Zerstoerung', 'PatternZerstoert', 'PatternBrandzone'], + 'fill-pattern': ['match', ['get', 'user_zoneType'], 'Brandzone', 'babs:PatternBrandzone', 'Zerstoerung', 'babs:PatternZerstoert', 'babs:PatternBrandzone'], 'fill-opacity': 1 } }, @@ -150,7 +150,7 @@ export const drawStyle: LayerProps[] = [ 'line-join': 'round' }, 'paint': { - 'line-pattern': ['match', ['get', 'user_lineType'], 'unpassierbar', 'PatternLineUnpassierbar', 'beabsichtigteErkundung', 'PatternLineBeabsichtigteErkundung', 'durchgeführteErkundung', 'PatternLineErkundung', 'Rutschgebiet', 'PatternLineRutschgebiet', 'RutschgebietGespiegelt', 'PatternLineRutschgebietGespiegelt', 'PatternLineUnpassierbar', 'rettungsAchse', 'PatternLineRettungsachse'], + 'line-pattern': ['match', ['get', 'user_lineType'], 'unpassierbar', 'babs:PatternLineUnpassierbar', 'beabsichtigteErkundung', 'babs:PatternLineBeabsichtigteErkundung', 'durchgeführteErkundung', 'babs:PatternLineErkundung', 'Rutschgebiet', 'babs:PatternLineRutschgebiet', 'RutschgebietGespiegelt', 'babs:PatternLineRutschgebietGespiegelt', 'babs:PatternLineUnpassierbar', 'rettungsAchse', 'babs:PatternLineRettungsachse'], 'line-opacity': 0.7, 'line-width': ['interpolate', ['exponential', 1], ['zoom'], 12, 2, 19, 22], } @@ -246,7 +246,7 @@ export const drawStyle: LayerProps[] = [ ['!has', 'user_iconRotation'], ], 'layout': { - 'icon-image': ['coalesce', ["get", "user_icon"], 'default_marker'], + 'icon-image': ['coalesce', ['concat', "babs:", ["get", "user_icon"]], ["get", "user_icon"], 'default_marker'], 'icon-pitch-alignment': 'viewport', 'icon-allow-overlap': true, 'icon-size': ['interpolate', ['linear'], ['zoom'], 12, 0.1, 17, 1], @@ -262,7 +262,7 @@ export const drawStyle: LayerProps[] = [ ['has', 'user_iconRotation'], ], 'layout': { - 'icon-image': ['coalesce', ["get", "user_icon"], 'default_marker'], + 'icon-image': ['coalesce', ['concat', "babs:", ["get", "user_icon"]], ["get", "user_icon"], 'default_marker'], 'icon-allow-overlap': true, 'icon-size': ['interpolate', ['linear'], ['zoom'], 12, 0.1, 17, 1], 'icon-rotation-alignment': 'map', @@ -442,7 +442,7 @@ export const displayStyle: LayerProps[] = [ ['in', 'zoneType', 'Brandzone', 'Zerstoerung'], ], 'paint': { - 'fill-pattern': ['match', ['get', 'zoneType'], 'Brandzone', 'PatternBrandzone', 'Zerstoerung', 'PatternZerstoert', 'PatternBrandzone'], + 'fill-pattern': ['match', ['get', 'zoneType'], 'Brandzone', 'babs:PatternBrandzone', 'Zerstoerung', 'babs:PatternZerstoert', 'babs:PatternBrandzone'], 'fill-antialias': true, 'fill-opacity': 1 } @@ -521,7 +521,7 @@ export const displayStyle: LayerProps[] = [ 'line-join': 'round' }, 'paint': { - 'line-pattern': ['match', ['get', 'lineType'], 'unpassierbar', 'PatternLineUnpassierbar', 'beabsichtigteErkundung', 'PatternLineBeabsichtigteErkundung', 'durchgeführteErkundung', 'PatternLineErkundung', 'Rutschgebiet', 'PatternLineRutschgebiet', 'RutschgebietGespiegelt', 'PatternLineRutschgebietGespiegelt', 'PatternLineUnpassierbar', 'rettungsAchse', 'PatternLineRettungsachse'], + 'line-pattern': ['match', ['get', 'lineType'], 'unpassierbar', 'babs:PatternLineUnpassierbar', 'beabsichtigteErkundung', 'babs:PatternLineBeabsichtigteErkundung', 'durchgeführteErkundung', 'babs:PatternLineErkundung', 'Rutschgebiet', 'babs:PatternLineRutschgebiet', 'RutschgebietGespiegelt', 'babs:PatternLineRutschgebietGespiegelt', 'babs:PatternLineUnpassierbar', 'rettungsAchse', 'babs:PatternLineRettungsachse'], 'line-opacity': 0.7, 'line-width': ['interpolate', ['exponential', 1], ['zoom'], 12, 2, 19, 22], } @@ -569,7 +569,7 @@ export const displayStyle: LayerProps[] = [ ['!has', 'iconRotation'], ], 'layout': { - 'icon-image': ["get", "icon"], + 'icon-image': ['coalesce', ['concat', "babs:", ["get", "icon"]], ["get", "icon"], 'default_marker'], 'icon-allow-overlap': true, 'icon-size': ['interpolate', ['linear'], ['zoom'], 12, 0.1, 17, 1], } @@ -583,7 +583,7 @@ export const displayStyle: LayerProps[] = [ ['has', 'icon'], ], 'layout': { - 'icon-image': ["get", "icon"], + 'icon-image': ['coalesce', ['concat', "babs:", ["get", "icon"]], ["get", "icon"], 'default_marker'], 'icon-size': ['interpolate', ['linear'], ['zoom'], 12, 0.1, 17, 1], 'icon-allow-overlap': true, 'icon-rotation-alignment': 'map', @@ -600,7 +600,7 @@ export const displayStyle: LayerProps[] = [ ['!has', 'iconRotation'], ], 'layout': { - 'icon-image': ['coalesce', ["get", "icon"], 'default_marker'], + 'icon-image': ['coalesce', ['concat', "babs:", ["get", "icon"]], ["get", "icon"], 'default_marker'], 'icon-pitch-alignment': 'viewport', 'icon-allow-overlap': true, 'icon-size': ['interpolate', ['linear'], ['zoom'], 12, 0.1, 17, 1], @@ -615,7 +615,7 @@ export const displayStyle: LayerProps[] = [ ['has', 'iconRotation'], ], 'layout': { - 'icon-image': ['coalesce', ["get", "icon"], 'default_marker'], + 'icon-image': ['coalesce', ['concat', "babs:", ["get", "icon"]], ["get", "icon"], 'default_marker'], 'icon-allow-overlap': true, 'icon-size': ['interpolate', ['linear'], ['zoom'], 12, 0.1, 17, 1], 'icon-rotation-alignment': 'map', diff --git a/ui/vite.config.ts b/ui/vite.config.ts index 5cae63cd..5cef7825 100644 --- a/ui/vite.config.ts +++ b/ui/vite.config.ts @@ -46,7 +46,7 @@ export default defineConfig({ registerType: "autoUpdate", injectRegister: "auto", workbox: { - globPatterns: ["**/*.{js,css,html,ico,png,svg,woff2,pbf}"], + globPatterns: ["**/*.{js,css,html,ico,png,svg,woff2,pbf,json}"], navigateFallbackDenylist: [/^\/oauth2/, /^\/api/], maximumFileSizeToCacheInBytes: 3145728, // 3MB }, From 0be95289b28281b762175a187306992e8c4eba54 Mon Sep 17 00:00:00 2001 From: Daniel Aschwanden Date: Wed, 25 Sep 2024 21:02:03 +0200 Subject: [PATCH 31/35] fix(map): improve map styling --- ui/src/App.scss | 18 ------ ui/src/views/map/Map.scss | 130 ++++++++++++++++++++++++++++++++++++++ ui/src/views/map/Map.tsx | 25 +++----- 3 files changed, 138 insertions(+), 35 deletions(-) create mode 100644 ui/src/views/map/Map.scss diff --git a/ui/src/App.scss b/ui/src/App.scss index 2778dbf2..4718658e 100644 --- a/ui/src/App.scss +++ b/ui/src/App.scss @@ -72,8 +72,6 @@ $grey-lightest: hsl(221, 14%, 93%); @import url("assets/b612-mono/b612-mono.css"); @import url("assets/b612/b612.css"); -@import "maplibre-gl/dist/maplibre-gl"; - // Other customizations section { &.is-fullheight-with-navbar { @@ -131,22 +129,6 @@ section { border-color: $red; } -.maplibregl-map { - min-height: 79vh; -} - -.maplibregl-ctrl-bottom-right .maplibregl-ctrl { - float: right; - margin: 0 10px px 30px 0; -} - -.mapboxgl-ctrl-group { - @extend .maplibregl-ctrl-group !optional; -} - -.mapboxgl-ctrl { - @extend .maplibregl-ctrl !optional; -} @media screen { .is-print { diff --git a/ui/src/views/map/Map.scss b/ui/src/views/map/Map.scss new file mode 100644 index 00000000..a70681e9 --- /dev/null +++ b/ui/src/views/map/Map.scss @@ -0,0 +1,130 @@ +@import "maplibre-gl/dist/maplibre-gl"; + +.maplibregl-map { + min-height: 79vh; +} + +.maplibregl-ctrl-bottom-right .maplibregl-ctrl { + float: right; + margin: 0 10px px 30px 0; +} + +.mapboxgl-ctrl-group { + @extend .maplibregl-ctrl-group !optional; +} + +.mapboxgl-ctrl { + @extend .maplibregl-ctrl !optional; +} + + +/* Override default control style */ +.mapbox-gl-draw_ctrl-bottom-left, +.mapbox-gl-draw_ctrl-top-left { + margin-left: 0; + border-radius: 0 4px 4px 0; +} + +.mapbox-gl-draw_ctrl-top-right, +.mapbox-gl-draw_ctrl-bottom-right { + margin-right: 0; + border-radius: 4px 0 0 4px; +} + +.mapbox-gl-draw_ctrl-draw-btn { + border-color: rgba(0, 0, 0, 0.9); + color: rgba(255, 255, 255, 0.5); + width: 30px; + height: 30px; +} + +.mapbox-gl-draw_ctrl-draw-btn.active, +.mapbox-gl-draw_ctrl-draw-btn.active:hover { + background-color: rgb(0 0 0/5%); +} + +.mapbox-gl-draw_ctrl-draw-btn { + background-repeat: no-repeat; + background-position: center; +} + +.mapbox-gl-draw_point { + background-image: url('data:image/svg+xml;utf8,%3Csvg xmlns="http://www.w3.org/2000/svg" width="20" height="20">%3Cpath d="m10 2c-3.3 0-6 2.7-6 6s6 9 6 9 6-5.7 6-9-2.7-6-6-6zm0 2c2.1 0 3.8 1.7 3.8 3.8 0 1.5-1.8 3.9-2.9 5.2h-1.7c-1.1-1.4-2.9-3.8-2.9-5.2-.1-2.1 1.6-3.8 3.7-3.8z"/>%3C/svg>'); +} + +.mapbox-gl-draw_polygon { + background-image: url('data:image/svg+xml;utf8,%3Csvg xmlns="http://www.w3.org/2000/svg" width="20" height="20">%3Cpath d="m15 12.3v-4.6c.6-.3 1-1 1-1.7 0-1.1-.9-2-2-2-.7 0-1.4.4-1.7 1h-4.6c-.3-.6-1-1-1.7-1-1.1 0-2 .9-2 2 0 .7.4 1.4 1 1.7v4.6c-.6.3-1 1-1 1.7 0 1.1.9 2 2 2 .7 0 1.4-.4 1.7-1h4.6c.3.6 1 1 1.7 1 1.1 0 2-.9 2-2 0-.7-.4-1.4-1-1.7zm-8-.3v-4l1-1h4l1 1v4l-1 1h-4z"/>%3C/svg>'); +} + +.mapbox-gl-draw_line { + background-image: url('data:image/svg+xml;utf8,%3Csvg xmlns="http://www.w3.org/2000/svg" width="20" height="20">%3Cpath d="m13.5 3.5c-1.4 0-2.5 1.1-2.5 2.5 0 .3 0 .6.2.9l-3.8 3.8c-.3-.1-.6-.2-.9-.2-1.4 0-2.5 1.1-2.5 2.5s1.1 2.5 2.5 2.5 2.5-1.1 2.5-2.5c0-.3 0-.6-.2-.9l3.8-3.8c.3.1.6.2.9.2 1.4 0 2.5-1.1 2.5-2.5s-1.1-2.5-2.5-2.5z"/>%3C/svg>'); +} + +.mapbox-gl-draw_trash { + background-image: url('data:image/svg+xml;utf8,%3Csvg xmlns="http://www.w3.org/2000/svg" width="20" height="20">%3Cpath d="M10,3.4 c-0.8,0-1.5,0.5-1.8,1.2H5l-1,1v1h12v-1l-1-1h-3.2C11.5,3.9,10.8,3.4,10,3.4z M5,8v7c0,1,1,2,2,2h6c1,0,2-1,2-2V8h-2v5.5h-1.5V8h-3 v5.5H7V8H5z"/>%3C/svg>'); +} + +.mapbox-gl-draw_uncombine { + background-image: url('data:image/svg+xml;utf8,%3Csvg xmlns="http://www.w3.org/2000/svg" width="20" height="20">%3Cpath d="m12 2c-.3 0-.5.1-.7.3l-1 1c-.4.4-.4 1 0 1.4l1 1c.4.4 1 .4 1.4 0l1-1c.4-.4.4-1 0-1.4l-1-1c-.2-.2-.4-.3-.7-.3zm4 4c-.3 0-.5.1-.7.3l-1 1c-.4.4-.4 1 0 1.4l1 1c.4.4 1 .4 1.4 0l1-1c.4-.4.4-1 0-1.4l-1-1c-.2-.2-.4-.3-.7-.3zm-7 1c-1 0-1 1-.5 1.5.3.3 1 1 1 1l-1 1s-.5.5 0 1 1 0 1 0l1-1 1 1c.5.5 1.5.5 1.5-.5v-4zm-5 3c-.3 0-.5.1-.7.3l-1 1c-.4.4-.4 1 0 1.4l4.9 4.9c.4.4 1 .4 1.4 0l1-1c.4-.4.4-1 0-1.4l-4.9-4.9c-.1-.2-.4-.3-.7-.3z"/>%3C/svg>'); +} + +.mapbox-gl-draw_combine { + background-image: url('data:image/svg+xml;utf8,%3Csvg xmlns="http://www.w3.org/2000/svg" width="20" height="20">%3Cpath d="M12.1,2c-0.3,0-0.5,0.1-0.7,0.3l-1,1c-0.4,0.4-0.4,1,0,1.4l4.9,4.9c0.4,0.4,1,0.4,1.4,0l1-1 c0.4-0.4,0.4-1,0-1.4l-4.9-4.9C12.6,2.1,12.3,2,12.1,2z M8,8C7,8,7,9,7.5,9.5c0.3,0.3,1,1,1,1l-1,1c0,0-0.5,0.5,0,1s1,0,1,0l1-1l1,1 C11,13,12,13,12,12V8H8z M4,10c-0.3,0-0.5,0.1-0.7,0.3l-1,1c-0.4,0.4-0.4,1,0,1.4l1,1c0.4,0.4,1,0.4,1.4,0l1-1c0.4-0.4,0.4-1,0-1.4 l-1-1C4.5,10.1,4.3,10,4,10z M8,14c-0.3,0-0.5,0.1-0.7,0.3l-1,1c-0.4,0.4-0.4,1,0,1.4l1,1c0.4,0.4,1,0.4,1.4,0l1-1 c0.4-0.4,0.4-1,0-1.4l-1-1C8.5,14.1,8.3,14,8,14z"/>%3C/svg>'); +} + +.maplibre-map.mouse-pointer .maplibre-canvas-container.maplibre-interactive { + cursor: pointer; +} + +.maplibre-map.mouse-move .maplibre-canvas-container.maplibre-interactive { + cursor: move; +} + +.maplibre-map.mouse-add .maplibre-canvas-container.maplibre-interactive { + cursor: crosshair; +} + +.maplibre-map.mouse-move.mode-direct_select .maplibre-canvas-container.maplibre-interactive { + cursor: grab; + cursor: -moz-grab; + cursor: -webkit-grab; +} + +.maplibre-map.mode-simple_select.feature-feature.mouse-none .maplibre-canvas-container.maplibre-interactive { + cursor: default !important; +} + +.maplibre-map.mode-direct_select.feature-vertex.mouse-move .maplibre-canvas-container.maplibre-interactive { + cursor: move; +} + +.maplibre-map.mode-direct_select.feature-midpoint.mouse-pointer .maplibre-canvas-container.maplibre-interactive { + cursor: cell; +} + +.maplibre-map.mode-direct_select.feature-feature.mouse-move .maplibre-canvas-container.maplibre-interactive { + cursor: move; +} + +.maplibre-map.mode-static.mouse-pointer .maplibre-canvas-container.maplibre-interactive { + cursor: grab; + cursor: -moz-grab; + cursor: -webkit-grab; +} + +.mapbox-gl-draw_boxselect { + pointer-events: none; + position: absolute; + top: 0; + left: 0; + width: 0; + height: 0; + background: rgba(0, 0, 0, .1); + border: 2px dotted #fff; + opacity: 0.5; +} + +.maplibre-canvas-container.maplibre-interactive, +.maplibre-canvas-container.maplibre-interactive:active { + cursor: default; +} \ No newline at end of file diff --git a/ui/src/views/map/Map.tsx b/ui/src/views/map/Map.tsx index e759fb13..095ae0b1 100644 --- a/ui/src/views/map/Map.tsx +++ b/ui/src/views/map/Map.tsx @@ -1,6 +1,6 @@ import './control-panel.css'; -import "@mapbox/mapbox-gl-draw/dist/mapbox-gl-draw.css"; +import "./Map.scss"; import { AddFeatureToLayer, DeleteFeature, GetLayers, ModifyFeature } from './graphql'; import { AddFeatureVars, DeleteFeatureVars, GetLayersData, GetLayersVars, Layer, ModifyFeatureVars } from 'types/layer'; import { BabsIconController } from './controls/BabsIconController'; @@ -15,7 +15,6 @@ import { memo, useCallback, useContext, useEffect, useRef, useState } from 'reac import { useMutation, useQuery, useReactiveVar } from '@apollo/client'; import { useParams } from 'react-router-dom'; import bbox from "@turf/bbox"; -import DefaultMaker from 'assets/marker.svg'; import DrawControl from './controls/DrawControl'; import EnrichedLayerFeatures, { EnrichedSymbolSource } from 'components/map/EnrichedLayerFeatures'; import ExportControl from './controls/ExportControl'; @@ -30,7 +29,6 @@ const modes = { function MapView() { const mapRef = useRef(null); - const [loaded, setLoaded] = useState(false); const mapStyle = useReactiveVar(selectedStyle); const [viewState, setViewState] = useState({ latitude: 46.87148, @@ -43,13 +41,9 @@ function MapView() { maplibregl.setWorkerCount(6); const onMapLoad = useCallback(() => { - setLoaded(true); - // Add the default marker - let defaultMarker = new Image(32, 32); - defaultMarker.onload = () => mapRef && mapRef.current && !mapRef.current.hasImage('default_marker') && mapRef.current.addImage('default_marker', defaultMarker); - defaultMarker.src = DefaultMaker; + console.log("loaded map", mapRef.current?._mapId) - }, [mapRef, setLoaded]); + }, [mapRef]); const mapClass = classNames({ 'maplibre': true, @@ -62,20 +56,17 @@ function MapView() {
setViewState(e.viewState)} + onMove={e => { setViewState(e.viewState) }} mapStyle={mapStyle.uri} - touchPitch={true} - touchZoomRotate={true} scrollZoom={true} - reuseMaps={true} - + reuseMaps={false} > {/* All Map Controls */} @@ -84,7 +75,7 @@ function MapView() { {/* Layersprovider and Draw */} - {loaded ? : <>} +
From 231fab15491605680824e5086fbea309d25fa127 Mon Sep 17 00:00:00 2001 From: Daniel Aschwanden Date: Wed, 25 Sep 2024 21:37:21 +0200 Subject: [PATCH 32/35] fix(map): prevent that style switching causes map to not move anymore --- ui/public/map/sprites/.babs.json.swp | Bin 16384 -> 0 bytes .../map/sprites/{sprite.json => basemap.json} | 0 .../map/sprites/{sprite.png => basemap.png} | Bin .../{sprite@2x.json => basemap@2x.json} | 0 .../sprites/{sprite@2x.png => basemap@2x.png} | Bin ui/public/map/sprites/imagery.json | 282 ++++++++++++++++++ ui/public/map/sprites/imagery.png | Bin 0 -> 19824 bytes ui/public/map/sprites/imagery@2x.json | 282 ++++++++++++++++++ ui/public/map/sprites/imagery@2x.png | Bin 0 -> 48271 bytes ...isstopo.leichte-basiskarte-imagery.vt.json | 2 +- .../ch.swisstopo.leichte-basiskarte.vt.json | 2 +- ui/src/views/map/Map.tsx | 77 +++-- ui/src/views/map/style.ts | 3 +- 13 files changed, 603 insertions(+), 45 deletions(-) delete mode 100644 ui/public/map/sprites/.babs.json.swp rename ui/public/map/sprites/{sprite.json => basemap.json} (100%) rename ui/public/map/sprites/{sprite.png => basemap.png} (100%) rename ui/public/map/sprites/{sprite@2x.json => basemap@2x.json} (100%) rename ui/public/map/sprites/{sprite@2x.png => basemap@2x.png} (100%) create mode 100644 ui/public/map/sprites/imagery.json create mode 100644 ui/public/map/sprites/imagery.png create mode 100644 ui/public/map/sprites/imagery@2x.json create mode 100644 ui/public/map/sprites/imagery@2x.png diff --git a/ui/public/map/sprites/.babs.json.swp b/ui/public/map/sprites/.babs.json.swp deleted file mode 100644 index 962df86724374ee6256c434cee054667e34913aa..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 16384 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 QPf}y>boFyt=akR{08-_qicl?5 zsZ=tq5RxfTrvLrXK4+hEe&<~O>)N%othK)Hd*A1Mo_l!SH|U_YItvpo)1pO-STy#j z9$K_$@g)8TGcLm`Vf+_2ELv1*prNX)=f3#s+wiRBSv15XvE3p>sp=A>;-B1tPgvppo<_8{GM--gcbZSN)RmhSXj zAuSoHu|d4Wc7yBIojbyxL^^HUBlIjv`s1swr(AnIY?Rc0QGcYIzQj`SXW-BCs~DFs zT-d#VosqmtWgj!~6J;ASS46Ui0EgNLZ|SmX3D#3_1%F&{lUHVsQWJ_WNa#I0tiScf zp6;_A;nv1<;^UR4yY5|P6qGDw#aB2S_PZKGr>MoNE&RW<`dR)b-XK+j5qX~^k>F^r z1e<$gzO?Hn($dof9*|G-&uQe5MIHIw#Oj>3;LH84a^r_6>!p+Ybz63Y9mZRp6bvTY zwbYSmyz02o_+_jim)Vmm*M`(63Nco#F*-)2PTL1qsJQbT;!Ks|WZHH!A>sVX{JT!^ zOXVBWyGGm%A0AP-ZTs<>dm!F$n6rkRcNR#-jNc2GdA|8AhoHfiS0;~Ojz@( z(7lFy0ZzonOZ|yw%zANk;Dc4UNOh0soKT~h(@~tNql_9Pk#$u^eGkP6`aQv8TSjaNe!V5wGK5TPRu_tx*dOU9PVF4KYQ3Vm zI&ja$4W%@fRw2R9{7ur~ML9>SG(>`5^RNaw|MLPy$MNLHjc0e0xgKe-`&skXZM)Fu z(z>0NuOh-(BF)cQu^E4|4&7mXjA4AYow@oxna|bKt#(X4)FOtx&T0P=<)ZEUtht{l z_CXkW`Nk}a{1R>7Y9R|_gGz>qUvI^AoyQsqE!-z1L{fR0q}4H2Ce7I$cDr@2YwL0z zqnnaxOn&SiTv{VBD#NyMKS*4$B#rFhJDIyK zs*&)_csZYJE)b;JCa%G;-u>9hxSKccxeoHa`97hvR87~uD!#9;Z}~PFZyiH$^10yT z_Z$c=y{xy@f4f*7BL-M4<&`!@7r_|D%jDm-CUo!I)kB`EX6Jr&tX^VKyn&IXTbF;= zFu116&9wQ}abp8^wLCRM2Oj2}sZT8;fLI#qE~-_HP5(?5DPUK5vX3-ce#Uj@yByO? zaW)A*SJl?m9^85(VMM+$#~@1`GuO3E7>_{G$l^{+7Lmm)+H%*fTtrr8&ym&|yF5^` zsdU9cOs=KnGYH-mj6HBZj$U-zg1e&2W0u-DmKkL|!y4juC@z9zyGD?7BCbcb&MDZ4 zG~zzpb5P{XZIS0b5u_Dt^7ocDG-$;%zbjx$NlD>eugI*--qu}WAHjY$%r;KlqxPE`-oTTbaYpfUti(RF7#NPQDa}^_qKq5fbmX8 ziaKM^Ew69Izw`}FN6wxe7_WHe(n{uf7;x&L=Vf})CVVOB+Wzx%ooqf|nmg}h6z6!o z`1dOh;f^Ze3}PVtthhj#j@ZO}L*+Ose6O=f04Bi9N+k}#u+6qQf5&A+Edn5-xA zS+}Wuj+0ZZc!l%t^kcFRuE&kb6*+=R1r(#KQ-V}2Z)Ikd{VklF0+6Df=9eBpbi7%m zHj+uifg?qJ>@nMHd*JM3xYG5~U;U!d3`Gp(e=KKR@7L&J%Hq4YeP?gHlt;5^qFK<+ zMy0tfhl+`^b*q)8JHw+F7iAvFUjL9hpg)O)!>QJH`??vCqA*O01wzzRwlq{?QXV&d z`sC-4Pfo$QT&t*QyUall0gW7UVp1e^f6A*bM~tKL&U?$AihTBYo!`}EQP%$M@@+L^ zRHpQx{}{1>zPN66lkTZlx*C|ymd>#v!m0uRL{T|aT}GLo$SP=tEH zo@ST$eMwi<)z#%rVZ63*1brqlDe{T&KNDy)X+=wc_i8Pz=nK{#P6|aBsc+G$Lt4X4 zQZC`S@QG+F=Y(GUJxMQX5IB{F*#>OYy%cT9#JMi7obq4KQ#0;Ue?DA;=i$-ps~I+> zj=XkyQ%nqI&zL!tty*F|_3f!~>q(Nvsg;4%G=;`2toYY2U*1cwHeQU(yDq%usA`mT z{r+@5-RiMvj#3uPQ=GN&1@_lh_mN6EL^*dPrKj`Vlyy+iLU3JTe_fe>mp#1h5fVfv z=g2=(($#?D+dY<3{Z-ZvG`m@i^=M^a_MFSVcqCNk-`zkPJr!>qNqSgSH%1NU{mD$l z&z2F_HB%MRY}em0$g1A6r~1pcwne7RPD1#Kb?XK*bUC|)HEoX|`({*2FdsLr{e$g{ zGKSMADpZ&w$mRO$bBO3J4@G||Uv`cVL_4NKzELXW)k$^v^>Z<(!1$%L@w*JW7Ap)v z)nH4-7@2EWzK|i2PFaJjFuX-muacpq(5Lsq+2Xt0C|XYO$r~6OaBF*0UOhz0(BTni z9J@n=ME+gh-5Z9(_TJkk6!BCuj2?A4*?mpw_pXPhoBu2>ULjMGlTtCa<$ZyIDJIA( z!7y8It9aM8-CG*=MLq}~k&%|BUbHs0pw~Wn`6_Rj406xqz1H#*pTya*>bV0(7#8hk z_Y>7>lJ6?9Uy*y^KVq+?XhiJOxh5awhS#Y)63h}3_XLs-eu@0>;e$6y6H-zJff$xv ze|?2Wo#sLjUpSUn#9DAq0aYMv0R}uVMlRfk;#Kd&ufTymzj~$1%q9>3jA5AdR7#nU{sHmvcP;AfRN;UAv#eQCJ;) zKj~N?WUI-;e4%`nG z;6DmY+l8HYqwdxl5)L!J>_4A1MllfbQ|&m+nY!90h$z8W4Zt55a$I3pBl1nKTC(j& zR%GwAv@}nYNFH9^y>1iBzLbQm-oiQh<;%(C)e^5zG+g-WHgz<)%-Gz&f4}0T%evN9 zK8ans0#pRU!@^tv_OwVG10tz?zf+UL!G*Z5k+@QJ{8?lp(?!Q|lp2rEoq+;z#hn3c z)4^B|ds7C(=m#F<$c^=9RnQdXrpGFj*BOWH?bzt&#}ly1iGfI{5to)H>KI4KoHBkV z8l3!TiTTl^1L5Ukx72TE<&=zG-oR)mZk+%58gun(XJwR;F=5wCyvJfOB zCw+Y{yO#AgUdJ%?9WJ}13~AzMSXnigq>gA z!w~tYB!$@6*evh#`jQl=|E9PnE=$Z`oRi6P6Jyn*4zKp9HZPWb`R^|a>pE}Vx;2wZ z(jZodRBT9qtlh7wM^FjL!%jUw>7Aw(@`m>g?}+HS_6$Gsj2LD!z1h)xM$ zf4xXRkQAU+J2tI04E8p+vb@E9N~GWJ!|1j*^GVrjNWtilE6d*y1bB=UiNkmeGCL47 zpK;V0MnRTm$46Nwnf&E&rl9%dPVB;JcJ;C@2%nS z@8?obc4ZKS+p*LF4#hnd$|IjP(SK|9zw?PM1{>8=gmW}w;%#nQU{aFBe+hB-bqK@b z#%3($B#vTjlpmpp%kNsIb~CL!zI|<4#jt;48MC=GubrEzTL3#pOZkl4)IpoR*YysP z^MC91%C&oRHJ9X67Yte@i{$tXRm?VzR}>-q+x?f${&0}3+Zb^fyl+jih}lZwp>R2H zpf+72G6Q(7Vi=usGXFz2g{Rp?e-aTz7D7M+CrU6|1*#-v9XH;);}QSZuc^eUFJHKO zy3ZPa@*LQf@uAdX^*ntb(1zgc3+zIN=K+|Ys_<`QD>|QA)f;||w?6I8kC8GeC)02w~)p6r>q5Mf1vPHl<+1J~tA5($%_5{p@4L zJ21oVe&Zx?bF)2Q!{A1X60MDMD-Fe>Z|IyKeKALb@XF~|0yCYXIXOxS`xt}r$b9}o z#1PBB(Mabrt&h09Z;eZWdsom{2c7cGWOCQ8kBP;D1>rfh3~^}<)Y&m}ik?{Xn#nUQ z29hABh2Wc|Dff()fG!Rf=bY{$oh>Gx5=o7&0%!A8d*WomghD9po12}zX54k~W2mQs zLTkom+V-AJpa;Oi=9>Vr0Od`$$4+MvgWbc-!jjVVYrHU}EywhcF7ZJbzpG2ANe55z zyjV0JqZY`P=cmfx-?MnYRNa-|An!lqh*5yZbjz zCNcuG+_${^R>rIO3P|L!OP8i}t+;D_>6DsN4|jd0Xs^mm(%U-t&Si#Yl1z(}KR-Pg zy{_(+nP*?~w!uMx(b>WF^NN?3D$ev(l=ft1<;Y*$nYn8wCvk52!=)JKZ^ga!$6i=R zo1QxM;(nvz#Oo3IwO*?iOV`FL8Hs#0w7Rg?%-v~{E-GN@8m7(J2M!#ddb_&*Sc_%%lU7kGI+g99aBum_ zPd;2iG9sjX=Y|7Ta;#MD>0xH45*-L<-kdMdlfApR89v$m3^G$=So%) zB!ff#6Wca6x3td$S#rrtk!@}ya-iC=jE_%bpI z5@D%RP0(Kda#U%_Bp{_tE|=J+QH&zT9}-9Di>s>Bg-JGVkZ`LGk@Ky zAA?g9YkWpG3*7Pm8wix_?a#_J`E^Ifj^evhM}DMr&UfhI$`=lm@hinkkFB8MrLuO5 z7l8Dm^>H$TSrWY%;JSC&kG#KbR{AimSm*R0C@5$u>utY7hZM6_`{&P}xtd)>iTE=j zV|++ViRAr8BDb_t_OkoYMz}WkJ?U8KuVT0$A^h>jr3^%sW!vzu#hatWXP0W9=zhK? zLsp*3JqCI0paT%+SX`Xg9*p>QDpIcdYJ!m428=+$T49c;(}rI1FXjB`lQCV*CNfQP zSVqQlnQ@fU_66R1j9d64=y@2u$Zw$J#-Te8nt#XHP3Rj4_`|6acQv=SQ&nW-!2EdRqMck=@dF8v)ALTW!_{=nyt=8)Dn80 z(UR-0Lr{FgmYVOnRjYzfIR!3WrM{(%(Lqon(s8SNWA%qx3FaON${&y$`~hN_1xZm2 zV(Q>p&;GNtZimbPkw_HM2%#vIgX{pRlqM`xRSD+Rb|+67)j63kl!ND%QT9MAPI~t2 z*|q{Z0W0nRL;dlVxU}(Tnsv9pY-iTc%vT$w31_XQ6CG0mbM*ba=B^)7Qz5x^zRPYo z|NTo!iw{I}Y0&;~#gduy_FwP*P?B@~YIMD~cx|EmjE{lki&i%u+eY)b@wC&l?)+ri zBR+XXR0dz`mLHN}7osW2&Z%S;L*F=)p;U?=CS%70tLV6^A;B6c`(J>~U8!Y>8(2qX;9r$lA zvR1A7d`4B-u{KcmyoF)s-d~mHcEI&Img+WkZ4D#+4ohYBX z**^VleAs*NwE3M{OG&k+6W_zVztY8(ejfJ`r4nDs7a+-4DaB0x6I39|Iurr3q{op$ zLox!IZe#ADj%Q6+H0QK(uUofA3oHgDj(gddJdv%yKf}~IDB2P1$q?gf2MF+ltU(|? zW@hH(o|j32R65_>Wx1hg&VFy=r#*oI1Wie912EKH?B7Uu4a$FsOY9u96VV%^XrLQPzJ6o_Y^}`C8w+(Q^O^ zj{D0TS)4OqAg$G60a-T=0=tS`J9qwMU$jzDt0_U6nZ5{e`LV?p?_XI^i5>aZhQMXH zG~~b5%r7Te!r{~@Ch^i?p>t(^aaa+H8^^9_rjABJ`5`laFabh`(OP74Ga? zxCVY%E%9TOiY1Do3xE1$*$eC(tCu7}`?MbRNH83iZwx?sAVh^=RiT}5B`)TIrXvH6 zkN#x%^~*K+1Rl0gp>S=MVY}}^5kLQr9}O(do#Q0@8}JF#;Z>S_oABjMriFe|Fu0tW zq|I6J?0IAwkVg9=NA7^)>2#%5@3ySmS+US&3+@{$%jag&8}rEfMW82b;R?}VaHM|x z{{8zULLenBOaZyul^N44SsVy+6lz0`k;! z>!0Ocfh1PXw|;%?)2F&`zId(}I`2k+xKpqDq%~7H%-lQG>Tkx!S6%pHxl>1_@&Rq_ zBr{ZkUAx{LYwPGZFF!r(T7UZV>6-qx0#8cS*MA5@lwGHF3wR~;;(`yLZ&%sEaJxoW zW@4eLLZbISbbsmlxrB?CoBIhuAD8J*ZL-B8v7}DN99ytDARu6NMwWqkzJ<^&3{C|E z4*i4?UILt`1y%Xq^GI~#S^{s&5VaXWq^mFU{gbm-p656Vlslu0Y`ZmBl9KXN3Mshj zUsXTK9+)NYGygz=-x+pVLTl{CsfWKTDg5Wzv@anU1X#$knZupKvY9nUG9rwO&5yf? zL2e)zHCMb)fCXt%Rkw6m$n7K9VT8hMe!-zRMR8rDF=Lz<1z zq&qScL3iWz#*=yOrW?_We?;^S3WQqS3@9^!#?2_=Y3+tu%p5PJVV&N?6zh3tv!*1>zM0_7^4Aa11L?252uO z#VQ6`Tt%fvZ|W-m%Iu?sNx2T2ds3T1-~W{sR_jpLmgG#d6l7Py+L&9Du7R2bm-kSK zH1KylB$V{t)kY_e9b-RQXkU$(JzLzpFTDv^DqRwAb7aKoBJ8$xbz7kEfr&h^g@p*- zd6yF&k-PkC`t{eT!~W3MmMRbk%{pI!-CBO%kkV6I+A!c@gT$`PSYyRRBwtlVF;sF zI`MCh4Y_xsL7?-4jn9Q=&om^M_jKGR4;1p(rGlt`EST{kyzUT@)Lv))!Y3}Rwz{0o zB{^2({cM(I(!4bU!E`uwObH~(idZkNq_fT0{d%%;%bCE=8oxk%MYE>1K^t^+LbDI!3Nhi*n;RnKhOaMWsGz_WIpz4Y$`|70|Qn1jSg6CbiG>)Jr zgTt+m$tFjm=U5@eQmB*Gg8Z!J8-u&f{+EdaqbNL*U4AC6hX$MDHBg-D|FSGtgOc5g z5l7IabMdjyh<~Yl5VW?W@~B+q52>*~a=#}$t^CKsTypVbS4iU;HOVFBd-e$ZxWM+n zbhax*Tw(H2`^@=Gbxtc_hkBwst%KCf7|+0E69fAV7&WB#Cug-pDJ*GRYFp1;sMCaN z!i3~lG3#2tT5aSAYM3Q=z(gvcat2m+uAzhguL@3PzU{wEr+g&lic%ynhQQ4u)K)%j zZq){`x0y8CS>DZpwC$(xMo|JuRW}m?E-`Ds!}Wa720+(h<_pl4N#ZNxg*76NbkaQ( zVGvv2r$x}L^Ild~ZdkT#859d3(H&S=_z3wr%^I5UazPT%&oV`P#)%hbOIK6;($Kr3 z4$4Q5ik^ZXi5q&Hf0w}=hztMf?;czFeSA<=3()tI#FZH+Ht6bLg;w=H#T$H>J0R$J z{&XN}z_kZrJWaKFhe`)Q3jGmm7!T@Xd{1z2-C_E`*8%)A;LjH{&(+TQIcGw3V)yFEDZ7 zId%I%*y--*`K2QKP(?EEWlcV zrh`m8Hr@?#3Z+@hS7)qKhFyi5fO&kCU0O_m)uO*SQhQc?nSIGl3$d7pzLTV8DAW~@86`Y!)UB=1=Ax0DHd}m zfEd;I1HW(SU&GOz1(b~#+Lj;h!E$m3N~Hdw;z$zG2F$dBDFeTBP^ftWoEF){07!O7 zX^pW{m$UNA2VZ+%=GAE5?2T@Kzz)g@8$Jxsl_#JRdg(nN+;xp( zYl#ug^_j`4_iFcAN8n`m&b6f}>gJE*WPFx{(GMbxcR9?SkP_a!S#qdxu5=|)XhLOk zP9X4f$y{qRB6DQ5oS!QRw2`J4LGFKmj5EGZC06}xb<_Lm`k+LI6wm0CwlQfQOf~5rMEft@& zhI*!;kXWgL_3$2x2jUj`qj;V1e*h6zD%Ip^chp8GPi7!c$mF$k;VTwslgL6Z6!CQ$ zueXA2X+%Ci+uWe?IsgNp4y0Nt*zzcuX_xEKCt5F&4$Sa z2i7FBq;quA!jRHR<&Y9Lh^J4@UO6c7Q68+ri69*c^9*_qz&>$8MULHlJ{knz9 z4HyD@fG5CqJsvKO(Erxe>7oTDGxH-&;tIMm*j2hfjlh@j-y4F-RaTxiiW<*^;eZJ} zbVu)3o=C8vM}iGczz7wlo+KJC(ri_*_ON2A(rrIh#HH=L*t`L=6TgU#1_h!!&%a9e zc9SjndZW(@fGQELkno*hQlYybTdh{hv;IF(Q@kn+hD%G&w5&(5g2HCe^1~0#Cma{6 zGiR9X?6PABNq3<^V_D-^FTQYvugvdGGzJ7inr%5htl(^P(IKW_6TXycoMxOG6=!=a ztp!q<_@cgkx)Mqv(OUU}_yhtol}_n~FFbw2&}^rhds4H6qVu^?Ix!lIWHW$2eH7!Sh|4Xb=ce?P|mdKNv}ZhWFs% z!(=lkWJev!mWIpcuNyl*c5~0<_jIL@=6odBr=W5~PZ{cf*3BK&6L7M{4nxjER|ewv zS8Qx-It=xRPG%_Us!b0zuTkrhX14OdQa1vs`(4t<<#RI^s%fWV(NaZ~%Zn1pG|HNV zOm-8V+s?2QZDiiW1HyCpM&$E0fagj`NI3(IdT76;sNK=)w~ycbTiIqoT>?vy2~tg7 zxtX9QD2YT&Km>ykY~|?a^YxQ+V}sR&k&%%{BfQMjP@!uqSAk(~BrJmac&d7otc<=P zAEs9)7bFF&R}7p(-In}$I_9!aC5O}as_&PfyS`;ew>+L3HlECRY#zMWS*J4dg_>?bUbn-HOt zn_Xm(27lv3EOQU|7mL-414Yw3L*T+`78h0=p?l<#MP( zgv614xq1swBq$Kc?+Ld#f(AJ>Mub&lUPeYEV6+Z;2bjfYqd=p*ZRc)Kao z{cB#JQ=`H}7g`86M(n!_nbT{3>T3Xi`p8ZDzmbtlVv%uVH3+B+E)qIWQqt?84}qF! z=(Q!dwV>6N9pVmH0s4jpw}beU`=#^aS>|1OXIg$}l^TQR&-Wq^eLUTM zsmX%7cJUPRi*IaoR^d;FD$P8TN=>wa>X`|4&m(TK*<_12aKGU zw4EHGdmYHApH;F_Qe%IRkHO(FZBBGGExbqo0v3L=Kr$^Gd1nopvHl}rbR9=t|JJHh z9ks1}-tl+h4_qlm5vZ6MWIP2~qT{Wh&+?Xnq=8*VeR z$vowN{!7CyLw$XL14!$CEpkGU&UHv%?we;frQcEz-pO*-w6IG~ z51;GYX31T90bEst===6iRAUTs;&;ngXuOZTbxYwGkSo#b&eGw?figj~p%R917(H@- z6!|BKiZ;;B@~QG*4EE;j=vp8oLHOaQ$TFyMN5rC+uTlH?Ql{A?bou)C7d;Ex+b+Rw zz^c+gMRyAg3o|XUZ94HgmQjjF11+g;$3T{^y{)LWnqX11;d;j$^b# z<~~E?LSHB0>|T(%QoRD`m3UHg>ep`8c-@b77mjkGE)WG^H4pNQ&)i``cK1N@+tl;! zQ8;yaDwi)eLsxf4QQXg{p(+&N_D9h-_~$i5e+AKU39T5BJHF5q`WUF}9*ht?kPCKI zINZ_mM8Ax2{_$tG2)hiX_pmSp9gr&kNG^(Fa(ul%9>sV!XH9o-GBpGG6`^;7tP&bM zK^qB?7&_Txz0HoQ!b9^xYwu5JFgIx3ttB}_kB|PDm$ym=X52l-oU$JZlZ~*V|3EE3 zcwDtMPRSs27*r9oLxN%l?*Ufvccf6)5iOADLvkL5YT(rFJ+T{YzkKjxeCD(XH3&Wu zZ=I8L`vfG!9*=~@iO4Ik%lPYVt@I5fS}9e)4biK>h7N~w{5Bb=3D8}ctNoC(vDC+| zzkUF)j~+*Z9d;kDY&%-+Pb4+O;RP}+10Z`6KFAXr#rvz!)nP^4$Kk_=k0QL-0;`+x zWZtk-?mZ>S1tNwqo&(c{w#fqg19BKT;sLaXAS8C!xNGtEgWYYpq4~(#*lZBpT00R< zOHm(*-m~A!CI)NS?6u3xW{i1^Rm+dOv&E&bQvaAo>3t?D`~CnI<6Q|^nK!_qY8ZD= zh9p7gkBAVGp9qARZ;;G<8po(dqPi#0ifLMGP1`{*G=hu}y`zv2u-YIvqaSE@sI_rj zrzma-?Gqh#==MczVS4fBJYMi&ht*uZXA!F)W`rUAN;Lx!r)W*nVAR#qpGj908d+;T z)9;OzP<1Q^RN*J`T1~$Irh)PeB+@a|#QhOyTnhjIj`<<6=!q!2MA#LevRhKu0`72y z)ND42YQ@GEgQ#vkBB~HvaN6u24RXyh%gjtgMxt-Ph*+soR}RHp2)E#7E5~z`u1B-) zAx-fvikLNe9Edn)r&LqoeNoboNTY4zDxCS%p<3w?3=BI$(9L`PICpLC;v&M&LA&#E z&D7Ush!^+On5-(;woH|R^>_5P1`?W;%Dw{-5^=N6rf4adrz9cJMm5mJCnX_~L1fk1 zf@2t zN`ZDQx!O89K8;TCwu{zdt(^qeb%R*)xx{|y=Evyj2TEihoLhe)%uvJj6BpF3LfbbU z^PK5g09ws?CruNdl9!Ymafz}{#pG;8^W~qJ{nf*8ehA5=vQ3@ zs*?n9C;~l~SR4I-dFDjj+X)`G4KV?&|M8Y%+5#MJLX%`W3`x_uZb85}`Z`b*0B95&_*#0{g26N{SR!hPRr4dgVy;zW^PQKVe= z`AG=GB-mpTC|)LLsbkQNfHsEZSvf}Cil~OF&bvr#et=;(JT|Vvkj(M15hK!U)l#6z zs0%{5nBs@IXI%0^f;CsUdAt=(MhgpkF=CiPLx(;3l5RW3VdXYU+Xdzf=s@kf0i_D> z^1XlAf_pJEU}9};)F!M3aNa+!r~Q4LWUzE&QBp3-24Oc5RlZTS3dRHATvJA;$Em-=j5JT>yz!+>@?bgzBkAimFWJF;8GD!;jK zg`x{#SrT8D&Q-LxJKG#z8NMXXx>8D0Vna&MW0D$&VBX=QXJ1DKD%*W3->V$o@Ilz@ zQ|aId1tVLpkC${#j>Xjm(+f32{5Vdk)Q)bnzq#+?)fm<73^y&GQTH8`rW^6vp7>UO zYpTqUZ%Te$cExehp17&05dlJQUcx}T{A9b8altahmV(AgjEdOp%uFU{kzgjelAxNd zL|}3Tv0ZKhyU|`!4o4W>pn7e1oulB}xB4-AboIFBii?L=EqOejWG-0m?(%+$ZEjRf zHUAMsb@nC81vDbJqd~9ZkV&&lrxmww@ccYSEe^8Y8%YXR8TG6MtPRqq+S0YX2v6Ni6S+X?-`Mtjj{%ck}Hy^Q3!NzHtNN#T1dPUnwuh3s0m% zYD;`RtjoEk*5^=^wRH!6d1c`SxkIh@>T-sg-*<{dYN=MolMY#tY41Aj9uOX5uH`H`HcWz|7NNl0Ro7Fbv z)f3~?TapvB{~+g5=Y5fS^S{{L5gbvZdED6ES3Dx4j(Gff;?fJ>=2)|@H2jrx851#y zj7zveYquwhY-PrVl%4SpEvomLh((e-=5K}FNScFo8PkD0R&N=xFY@!kPScLymqkoQ zQKr|P9bZpahIn(<#V1qzwETrZSa@mv+vmr1;kv)?OaXgX5-{`6CF*&Dlieo)w=%4a zdB}pes&Nz_RHz580UrOF=%jSq6aDMYj{hLS zfhrxvP0K%hGA?X8^XgQQtp{}VVt(H;)FLRgMRqOs3+xgL$fB3pRY)46`DEE)d2@Ay zn+H0Cq_v!>Xfk{R!Dd7(g7geqHE*F)AEdC_DIT(w{2^Que2Z)U73&XifG~()`DzK> ziyKZ}+@K2PNy`^rs+>XV9aDOMD-aJ&UdcPefp^t8Ifce2Q(6s6H3geW{pghYMx=z^)42Anv_9;nxsPFoOS|?!6Mx-O zz+v=NwCoJavfw^}t2VE=cu+m^c!r5s;u{z5CFKCM&L>Xv$l*bp{4rGZH3wHkp)5>J&psv~Hm(k6{a zCFh>{_D)lHOf927sRC`i$*;a_G};?`pl1~(y;7bt2l}cEMifo&UU@w!WPP`V4U-u_Zz-!>+HX#-=hMT|(}*Z`jPQnJX0fiARA`%QsHFphzd}DJ!b?1~(RJMWs_+i{w9{Ewg21ZuJxHLnii}!G4no~Sa;~2Kx z);TTxmtn#Sl5uHS*feV#c{?0?J|ak4q?nyUvGX$3c9$mm61$ckwkC`9^$SCiW7wBi zcoXA=R0ralbmz|EAXNomMP0GzEbf4xyNgZEFI@!sKxy-b1FnRxZYgNOJ|p+U2bf0%rZH*|1okQwrsQq zc#vtHrxCDIIRn}V*N|lQK#^d#FC~gZoMKaSG!ieQd9;dFulEg)rgdM#h@Xtx;j1R35sBT| za)?%4{c(hEjkWP!FE74dQ_Io8!3@s9501rzK#P{vGQ@Js5_!&5Eujr%Ki@BbCSXMIM^{KiC6!3@RPpl3mGyPe{Ij+#Ys53wcyOi$tkBkIy&o6uT$*rP><@c>=o7>i}Kd(u@JDr(?y<}Mv_{$X+#!!dr3)xTIA&&7C5Ny z;!t_Fe)IVb5^TUVz z+41GrBP$wBoAI@XA(F0%a3tv`62~=q5wE_!QiGF;Nt88ps%2_bc-_m7o=U=-o4yPQ z?B4n|5LXQ*X}Il=JXdIKd<`u+0A#ATs58IKJ7lwxoC@r{Ue=qm5K3sJ+#h-SQD@5| zH?|{33M^2hU$)J9eEs;4kGc9TNGuCE>7dAi(6qixOjsb2=HxbYI+{=CbI}D4h`89q z9hxlCqcjrarG5TaQ(|Umchval#h;e6KYhAiyt7%P*(GGy)VV?C@FQ365!QH@$>Gkm z=SQz84}5uL{)wSOn3ms`Pad$F#2VMvZ+(&fHO@qAVo&M*e(AVF=e zbCSu-B=(LMk!h1Z3MV$M5ATfc@89~Mpe_8}yD3TNFM645Gc%VUslCn2Y+IRV!JU52 zRKNn6Jh%&#+8Y0mWVU*PRXnMu-ztWczi^MTRCtHV`)NDkbq*i?qX*^3AF%2kN{V|l zazLuy)-rOir9!oY{!eN-dKaZpr#lKcL-%jch-5<&LMrzUrx&@9X$EVU{B6)FSP_z3 z^a>U6_^2pfUZq{3ok+##^NLGpeWxAYjW_2uEGk-KW7k?T{sVm;mb9oI>K#3mVw3g6 zCNw+9k_YmPrmiiiII2P^rj0@cv#Cx;x1D&b`uRko`9bZ+)u{E7fcU)#!7!ZcOEb&;rEwkt8V z&xZms%6WV4+M5XZ#b+e7oIl|dhQ_gn*sTaltaW&>_0jTe+gcn2iS`vbYnwbDV5cP$!5aYlkGfXgOoKH0}4^0r(j zns08wEi0i@4hLA={Wdt$HYVpf9UXpbeWNpN@?ri!$qs5JZ&zL=%#|-SP3bxgFI{HP zHgW=*qj+$a@T5^xnP4`*(VjhZ5)u-OSOiY|h1!v%p^nGeLWp0%ixB^ZHsg#BJ$B8$in7F}fP_eUP69gQ+ z#CDz)#Zv4x>W7vVOUyOR@uUhLc91l7HK%JL!8c8s8wN@g(GA6dZ0hn?3HW`#MKRt} z>#O;zC4|v$F^DkQ@7MeDC=!M>&ZrpLMvEh`%E`E#=e=Xz1nz9#E-mIu(m*Nv3IL?Z z?zfILa0r{1da%w8Xs4}W@-H|VHLfJBHFYO5GqJy~uiN$Oql3@m=X)p+`9X@+l%W?-43R$)X$;T396ftz!T|U4+@);}c44Zt<+Zr1{AReE; zlJl6sxpO2ZNq?2aw{9($NH-CyfEM)vSXt~6*7b)o1tD1BWLhYy0jPd2CC5PbdN}qx zio$ZZTxUg;&xVGhPLjCH%h&mU8jJ7f31Hz|3BARHv?dGO)}s;0{J793V4DvTaa)G*qyn&36&PkYDO#cybeha?*{N*vHvOdPsT77d+bwA}+>#>N^^QeZtWi zWK8Bt#IR39knSLmrw7`xQ8Qb?^=pk={)ey2mns*jHIG|FlGLKC9e|X%qc4y&5|T3* zmDwNU3~XGaNv7qjg953eBMvthyo^)raktT2Ua z&s@kY_7L5*E3zm?CCRs-AW%Y4aj|K$`BtuwMr?#dr>@OCMyvv0`a1)^a0H9Qa9_zR zj=njJf-fa?KWTPWnSa-tK=c!1u0uL0tc9P>N-2)TwyPsuiv(YM_DnjsMre6^TbUOz zO>3_maNTgD|I$FoPgq?;v1va&lMYTs^m^& z2^Z8X%DVZ?htZ%yHvacM3XNl*0+r&~moHEB-rw|q;)`zYodFg(+c=r55+|S38Pe~b zJg2W_)4TYkbXjCtpXTIje{MN%jl9puTA%UPHyy%q-$@UeqwIvzi`=yu;_|R7OPcG4 z_phcF(KdH_=-PIwGj*F*lLfF)Bx%cG&NVxjtvInu`o&#LP@1jwRnitp*tI4^;O-#n z4-b)M(O0Op>(*ZR^`H(#90+AH4f~NfnRu}q<+AmMx5I!xYU=77YY&TXzI^wCeXn{Q zG#4QH*~9F^0(5~k7eUMt8WUCnpKRsYuZa@Cx~?DlBvnx6Q!y>7 z$?Jb(UbnX56-NuG41b#$_@H7f1yVTbWXiO88{IVWH^%Rr>XDtBiVNjan(hx;U6;a6Q!P>Jc;jjQCq}45p~DXg3oW*|xUR3{*J@fu^fj?#HFc!i z^F{UswgxK!)550Nc9X;RPkgPsFw;yYw@oCmc{}!-&vv&PUEFZW#Z&;>rhj}qog0Xg zcLJY{$p_w_?Mo~fi?VitT^BQVP3h-GRvToos&en}){}9<@{KgK`s#AlOs9m;j-SC4 zv31-H_nA(}T)kQQN_tZ)MXTvXfJLch(>Xwmc)J!JlVvD4xDblrMUuv2y!hXilBFYm z;KS3WU%q*BnMikU-uTAF$zfS&%__RWkJ zqe!+XB#nxV8i&3;+w8@O-jMqHr`~4XNEVqM{n_hN9tXU%hyt?ep5U`1BBNrl&G-ac zyu5SI0nT!xGp*0sr^Lom_*{r{$efO-eIWm32zz8->Y^y|->& zPEYt%-s#b{9HsJT)QujGa)5AMEOis%|KEAJVT6`O`{M2sI8WoIBT-dQp0T@uIl$sd z_u1kh>^P0UxS_G$Y6Wa}{4;0Z7mQZ5MX=Zu(RfE%)Z)^bnUrMZ-hW4+Qd$f62~#b4 z;~(j2VNo=pFwqD>2dC164&xXxMswh`7sb5^;n}OyI*ZY8WmJu41Ynk6rprW zm^Qz~rZg)a;_d%ySxAJ#?XiYdS#cr=@HC%1i#_+}$E^fTb9f~5N;Ede=9|wFzZiYd_;?z?=Ven<$hlpi?()mjbnm_Szan1fW`k=n_8o1WiElur@A7^U-QR1xi>5>Lz!9WPr605#vO#8v>i4IHlgRX*2^msQTAjBmuuBcku>D zEO0MB%RL{PZa93nNe1n0;Qf+7a zt_4eB)e_}LIehDQcLgLQn4zNzQI2A;Uqe{#s^&P{wP|dUi?(a&JF}z38U%R%0iwhb zwKlh`jAf<1zMAOJqampqbUMAUZ1xx5X;s}%5WwE$-)&;9)&p0$Zznfck`u5=SmU)Y zBt-y;C{o`KH2$273y>T7u&+(ZGu0U2cs>N|@IapuZ$PYgSC}qjvAnwc+xkYYXEQ zy^m~(rsZN^$=n|R{5&wrU(`&SZwf+u4~I1U6X-Y!PJ9~619_Ks z`~GF+X-e4C27owJGHfZpF?D4FC2`iqwq!x<+rn97CmP4dzbAlRr?UagkYFf=mj5yV zVf5n)jZ*m^&O{HC@Paf~s&~qxw!C%m2FGJN$eGF;Fj8V|oDMQJ*OWN>^`k5h&imR> zfhhNc-VWHLNhcqi{k&O;rZvZv#9PzVDji$4WbuuYeWVk28@Itj-r7On_n6ddX1qcku_cq zB5OnXIC<(+rRCQT_tyrpuB(lgvUx#mb&9{+>#=vo&B6Qy&7BfbwG>;LKpRzbuUAUc zyWrd*f@ml7I(UL)JVak-Q=ii@S0ckensy#$@SAP_`WG0I}c@MCf}H7orryo9)Mmm zpP5iB2K#fSvhYQ0p_%Rs3;9rR%hlAdn#0l55UE2(nce<}d?R`mtTiI-1;C3?t+}wZ zN2&V%9{HHSs!gbXads`~JHw7Huf(3lM$q7GoDcYLb6*Yg)yz!`ztwJ?i{-o77k%<9|OUqrQmZu%ny-b%AjRG}iTFwVr#0=n57>mdHw-+=_?0q<) z%P9-*X`TFg4di|DUKbY`0L$x|n{e#aHMkt$ctO@1{;HbIZEXQGmqrDFqZ@;(oYlk2 z?*-6{*j`JUqND9JNkcPP1C`3z)Nr%LXq3QQQANKY(L%?| z`>lkl{Lzp-X99IJ5&OcZEXp0`I=6PoNNyiJtM*|nYnIZ~&&Kd_1&QG^S1i7)Zl5x1 z)GB2wS6~0Lze8zyPcKBp5#-~muz!|yyf5(H1!Q6zH7?-JhWI?);)-+g#-X6%kjPbk zi9a<@Tk)U19sZ2z4eJ-^(hgqMIkK8tAh8k>z&)=CF+vXB3F(N) zYhZ2GP`+`(=<=vo=**DdA)DM()BQyHry@!)AO!jq$a_X72S4&+e=)r8;6r!5?{6v4 zL2mcoB>eZNt;x&`HfVEex7k`(SC{BDGcNn?GT^jJ>s?ebo`5?&6tNR6t{-t8<`AJG z!uFP6KD>odMJS?(MN2Ex=nA$}04HK=e=a2~$~kGE?(cTvwv#DfokQ$H5annx01nUOm+&*x8{`xyojTS3|7d#?c&gX#Z+IJG8_LWkLrPJ}P%30KfDcyz=RCn2)vR?ncO)_uO2Ni{y(CT%_3AX67D7 z&e_%6G2cur{P4e>ar2#P-v%M(?uNMY#qBR`%Mm54wdq&b;Gu`~j45|;3CL-xkx(#_!P?6K;W`AGM}#SnQC?c?BK4!RF(guo8Rd?pFH z|B}?BO{eZ&MnJIm>Y;l~2mv;I{xY?pDKq`>;!m*c>d0E-Xil+!Fc7;Z$8=f+zCWpd zbwrP)#kt(bfsM%|IKtXObBVlCkj4-E9kA}QK_vC2v7d{@M$L8WninI| z4i;C~Ut61zvF%Ii7!8O#%l_RiB;Wwzmf-e$2E$b2BTc8P5{}yQXIRh4Jg?{YptdW zQo``~5#9aw$3?;5M`Z)#9@UWC^=oS@+b-3o2yqmE6`qgnJAsJh0Z2HsI0{*~e*6v{fh1A|N32wBa)Rm@*|3d|1YFB(1?+^5$A1JVy)zZMHll~GPcl=}(7 ztk14yOdOGmn@mA?&`b)7h8lQ>V4KfmuMuJvZv5JtvC{J*97tn zl2O?F{OwQ}d-)IF2MuCAzS0K28XRAMxD6>xQ0Gy3h#1%oc@?nMnD> zA%~xk4gv%MO-lNkmNtI-^pBmdP1zELKBHo=l^_olz*7R>q03a;sPKZ+qaNAt)M{9A z3^8n5K@K8=_Q?Z znu}|FJ=@=shRN&k2_*HkTvsnE+gsijnWpE@FV^}Z_XIDWbX@?K06u2u|8gYIyWb0q z5YE9ipecqYszQ18#cuTU)a)uK99RMaKu5Ch(~w$#38MGa_l_e*yKF9l4n?k{&8mG;hteylUA+Q+#dAK>5(r-@qeLnbsfEckA8TLAq;{yW& z+QfCs&dsHRuLA%?hsnYn-{C1oq(!l*fj$?J8L>DiV z&cd*oG4Nn_?#4qw;yQ27fhxsdIy*ked?(UgC<~4}f8P4U+NYC*FGn;zBJ2qL119<* zrm&rWwvRP6nIv`uP}S7^7YkBW%k~_a)akegY8%l(eTfs$R$17&{|Op9tfUkr0%|&= z#5F&XL~KY*6g8CFWcYu6_;ASE0ud+zlejd-Re&*8{~b(yhlmOk!(2cLd>mwkG!Pm^ zQzcP6svA6=gAV0H@pCk?OIm*&k`fBRPhxXzoE+WUCnJEMq zmw}{gGz10vr*-Kj3)UDq$%+jwJ7I{hkHcKLr1NXni-xDJqCC_E&y}!gDd!IFHZrQR z3JMQrXW4rZnL{X{LdBLx(fuVMa59d! zm53q#0)O5`1AQ0Q{{naaF@x}~tCoX+*6Ed$gnWEeOIusS1ai744#d-fYrY27x%lin zjq_n1N)+Z2qAue@%}0?F0zmo%&?A&8!~Q7;2L}fTZN^2oG~R@&U^m$b<5Efjl!41q zk8Igsb88w9WEjG^?$WCR$<~_oNdzWj4igG48J0V|_FCDsokyHkTz-2%hCiyaW$QR* zk%)5y*JPi!zJQ1*5G=ZQWy-9QrP9~5 zFMvd&=w*^4r1~O!8DDr+i*drZeJ95xDx<^#0+H1YA+`*)sz1X1V`j`*02b#$Bj+wjcmu633R-z0}|Z9$%xv&KP)QIAZ+1pwd*I;VRs0#Gi0^zSmAu6H{>v zzM;4zIKy69$A}-0*P1X-(!l=%+Jc@1?X!v(16M+#3G#$YJAsE;gNQt#iJ1k~^Dd>H z4uhz2`*z*kU(E>h#jX*ainbX$kvOj3gKp=jWR>2tXZj`N1|Azocbc!-rkTO$xeI24 z6z^#9g@0SY1rQz7Sa|3+M^WCqhwPB313Bd=%SB>1)!utytQK@pHlp0AG6x{5lkJ@F zYGK>*btI-mKnu9K%ZUF8(l{Ukqy0Ne1S;4m+D2%WSVQUiW%J$Q<3;kFJ8Z!r-GV%l zFhmkNXT=bokv8Nix_8GVsSX%?)Ykfd@43WJ+XnD*_9EuPMmCq82#y4k1Omt<4~To@db*b1`+u%bx(Ux)}= zzAW^Gk+M1mjAR=GyiYjhv3%#2*DCDfhoG$@EoI~cv$C>obfw8;GvZg(r??{GK;qS~HDEJ^mnVgnwyb9Xe13*#&#Tp?PfxTWOFxE=?%SuXp@(qdK0r(ge zefX^i$w@T0J$T=YnC>TpPr6!h`pp9gYkf6&=iz-OCAlyM3r>2D*%*MJ36XX?VrQ2O zQZHHqFeI?*H|Jm}Hn3abvTi>HX9Yi@`)(SX((N$eFO(c9ak!2aex81n=RevKpD|4> zC*aYouiv>wl*l5f5!ex&@mU63RW>sld;>}L0HL^F4f}NrL9^@3$vXRo*%Ds1QsN;4 zodMrOj-5Tc?-~LY(yhCT8S-(nBzM@2>L0bUFulu2oX zq!JSe9)$NJv+2EniM|dGV(Sa z{rLEbwd~y!A0I2U+rikPVeSBWE57p8nAJpfe8)5%1^_lBD)7X^<3%v zp92GRbFf!|^FC&;lexCLQ1b7W#_-H^M7KU6jY$D6rIm8D1=BYLC*>Kls1LAP8$ zq8gu`G&N~}fRz6$F)3sP-sCtiewZ`xWRur;mpt?`p3h|8zKOcWj~~ltXa8Jjj#eoL zOmCY#KZxII>s}hbG2_ylTAn~^8c|0UMSK+ISSnDh*%6!)^1Po?@`G_y7hqP@tD!sQ z59sxbt4(in62K<_!MSxx0<3f#isn)*#}9hSkS!E4SOT3xT@u|1Te~-$^Z;w$GOzz9 zMlO8=E_D_DS7Cs&qy^gpzy+qK5Hip>*`hm8VRQnVD4sbrE6-5uK0CvNZZJZm#s>ao zGJpVH-ouX2ZyLDN=-pz8vILKDa$H`zPn-RMv=J_%cCi_s_uw(_%O1ENFv}pSJf!~w z>}glPgHzw1=UH2If@2hdfeY@%NU9B>IGbN-LwiVDsV6aV%`g~qi`46NPZ`duoFug$2zbkE=1!2(E!t&}k@I6v zGZ5D2$+-sGtH`{OJe3aojE2KFx>^X6Ku{R&J}4~}0x4xq(~(#4Yi#B|Mqb4WlD9M* zgFoilu^sU7_I?gn2)YbWK@2E{NTV3oT!j6?z!_y+;&KH)0E0GJ9m8ek$Sk~taRCKLCLM5h&`FJ^`HdR^rMbsXjkt_lZ9?4ZLs zK8CQ=hY-k3o1!LcQQ?ruB{OG`z=Qe{{o$0=fe4ea4G$4F4oX#QyCzIA&Pc z-Fx;(CK{~9;R84zTOOy2To2TFL|r#%CGe&HiYzVpFK!>=gNVd3H%fsH`*fZF{u@Z1 z#~ggnQ4%d$K4oTRmZF%@SK2j%P%f~gr2X8l5UXtC5a9Zwz3B!Hcr? z^<_kX04S>lpy32*52@unaecp#5;+^EJ{}Z(Pi;th_WGDtvR(Ux=CwmE<7tQPtVm6b zjdWOT`iEoD9j#TdHP*ML|4_fe-da$QdtAML`uFbM5}m#K9n=rrc%xo?C#FCB_k}4x zMAdg_4gVQ`bNkjyTJ|xT!qz7>>Qt0xhTt%b;y z3x7PJlKkkFakALq#Hd$U4K?<^zN4f4z`V(B?X`u4j$=pezg?Ix!Y_9hSIKzR zTT1F1&@{m7zdo+pZW;b|1nGQ~d(jtJa;x0+r%q?u4N-|SQPEo6*u$eRrpE>7 zAF$r{-+p0{+`8zJly35gRdN^1WVb1v#y2jppG@`lgMxzYMCRW*bLPw}N~#Ay%Qcd^ zybv|!(nw0R-@82~pgr6LR!vAONa6+1)*WZ6I&mydXk31D{H|l^M%-{`LgtVndQ{bS zc6K_mNuu6(#I3bZ6AX;S_!AU|q#?_E!Q4z}jexM{nhQuooXt|+1>s>4 zl9b}yt0c10ni)-kxNr$G>P7TNQCtLq!bYZ`%HD4iQ?Y%0eHC(XjT3MKs|vrill5{- zs@}H>*Md+u`1$!gW0zzBpPAfxav<5p@YJIaxcXZF(da<79|vGze1^rxQSW}0-j#Tj z9h$ev;Thd6I+%1X-Hf;p&T+FuRj`tpony=3%Z}EJ%aWhXZa|IL9rRS%fsPgEp#Rq= ztNdEKugX!^<`3q0Fjevdo$4#{XGytE%cwd&K0A8_&9(p?<fOt zu}nH&C#GU4MnTYKP{goqUT9sC%wk_bZcufhd#P!ifY5fZH~5!*i4HVx%Wsjjk$I39zugUP;F*Wx`qFva{o= z*Sq(8jcxBT6pxkFTH1rW7)w$ftVL7v$N}|lK#cP+{;@F z?jPCShB5sMapgw}ox2ak>48v}F|? z$(+oL8+qu*6o8qs4EdK=(l~IV3-JI#^zVQeMWBGMZesdB{X*Pjy^4UuvU)S39_na0 zL<_Wbbj+&ZZ`WwHPn+v0aG5DWrQ^L3@Zm;VADvJ*QE~I$9ssGqYJSB{m)!e$y!(X zc70{hq@Iz9TofqFyEXZ^3gU1es=9Y&dR+IiU}IG@amqpQ3x*`1xOS-{t$uJ}&7a)~ z63c^Mf@!XT>W&h4Eo*xp3PJLE_^TQM6-|*zEf<6-(5MYiZY0F&mx{Xdg%fqSw!rD(;qDD4lWukp}|r2^XLC`%w1_4tR+l>e-qux;GRa9-vc6hrgP z^=}U2Pxq^=TuecWb8W)pVMDm5)~z1Nj;;0y0N}ZBAj=OJ#bBbID^5xzu0r0jOV}17 zTgEJnYz3R`@$inp*=8$+Q`fm|w5ZQ>Wb~xCsZU_;o)vyoYC`{!768$XJ2HCAl;O$g zji&fV&)B3Lk=ytVoB_jQ!Ds3YF-b8<4dmzY=dEwkOEu_$1s*G)m>?~_pF ze$!8=uE;+yU-?COL^X1M66Phjo;LhY{CwxP2`NW0VaL_PEf)n^MOJqWi9x&?KcDnI z&z&kSa$XK}DGaufsMl)#%>jkn=z!Zfe9BB;|EVPpJ=NuDk~+uesQdO6b~nn)7YSHc zv>kPH)Y-dtd5Ub4CuB=Lv-$IS`dReRErFoGNB1ME zWVf5BjQ?(xTv3WqA)jcV$+W}-pyFml#jF?1T)pDUm4CM@p845- zal85H@ZEh|9*#5}#88TyqxNq@__kw~XFowXO%q)(TzO-oqlZ;`%V-P!zF1JI%nTdf zim5f`?(TcLpX=;R#S+#mzr1k!ip7S{U%fi7Bfc+WV1ViQ4!H*(21)PEXprpT*Nl#q zmzT@pbfw*hF}MvM9Cd#;Fig_IV%o7-WO1*}#J9mE7q?p#Z(SOMFU`sOt#^GVJkhcH z8N95W-NWOS0HDckOa4%z`v?zVu-+0g8QZ9}|`5Ad?8Ep^7(W!$C`{=mav^qzDzf!S*<>f2Fe0>UxyA6Mdot-F)!FK0BKQLR(AIOEE&CEZsYaV z)xi}({p~(+-RGpmx9IDyH$WpTk=ZUyUoirk;fk$;$G8}sSXQRoZTl+S1oZWbrei}PW2e{XY#KI2+i#ujBPxeXsn8sG#vmD_M%3v;tKW0 zaOP#}&DNNU3#FethB@8V@1^WqkOE&BBH=Z1y~n-v~k2@i*}<&CnC!0Npk7!K)=0YCmM zS{Z1tsT&Y5I|8gbLj{0iyTKD^+xkN*rARtS^^fP*ickF9qZ~pGJ>7ZN`@*jbltn0F zcei0iMe~Z{DgOW_3S-M}_Is^I`_Pc5%8ZA8*L#$29EDlDlVhIM+IYnlh-M3#s+ru{ zeXMRJ;^Wsl(d}Yk@P(rmZCA*xg|-&E@}XtnELxQfrrP}c?vQ_Kcqy53q{CTYQ^y2F zxy5rVDC=3T16tvI#V2O~z=e~}*c+=pj!iD6T&S;qFt<*xu}=8`0n+jD@#i`Qo$>Nn z5u81Q?(PuvC(WO*01!h~@BlA%1;V8+hks%p#xTpah$@Lut-@v%{tGcwU=0>5@+LH` z=^bxo0Za-;&!d7=nf*|2yzrU=n1i{&L~nDsmhqOYrK&AYyq3CXz<+d!d4|15HMlB8 z-1LT(Fk#ZcFDXl4C>A9QZ47YJq)IBA1anV4?RXzerd*0q&gO(FdZ6Gh(!zjxYxtC! zfwHJma6fdMO;%74!;|Y9B|4@D#)f|Om!fAWFet;rnV(KmuPocbyhc7Db3)mo{_{`0 z-O%{kq8oa+>Bj&X(H-v1$KVSh6e-a~9SkksK6X?+*k3-iDT~+!%930W{CRFUb|*0W z2XQs_q{bM4W#GvRb4B#my~8^$?%ZH?8;Ua3=Hp`>$ll$MONCK49 zhKFfTZ@d1u+Gfi~yPs7>Xk zKQ<25egE77o7p+q;@LCYkX+lJH&~C+P8_X;WxS#KWk0g>!IjD`W4fi`#EthaoJRS0>h~Xnq;>&bvF0nd=!A*b=OTVYtg9^Y=#s zR2(od8JR|h<2Cf{zu^&H=UJZVO*#+(9b}jNuW}-!0xUYr(@^*|2nR^b{YDyJ&CNw8 zPYQbbbQd~uQCvC!$@rGRJO!cp(>q}(UEYtUw{M5#&vgkm?f0wWB(J1}8mlglL$4~z zUOzvv(04d3L}_}y9~O8xRIS+)d*BFG<3>0Bn~Lh$BTWy5^D4?0L&a1Z0&)9U$&>1U_I+jht458LO_NT{rvJhwV-M_lH%K40hUQ zx^eCdxVwzyuqr+wM8Sy_F!Tx1|D*+FXDi|+COHiVB5=vgt(ft~qrS82G~Tm5 z)Eb^n6|ft1?^+e6Eslsn2{guaL|nvlUH081D79tz<#mQBGT~fud-mAUw(WUEGmp>k zW65>My%zd>>Vx#N&RsJ%7h$TL`}m_>NmWO49~==`MLy0P4idOZN(M5tW%X}%7h_~y z0MOxLkt0^qKi8iccu)W|;Zm-&p{Xu=PxK9xFy(-0#sefL@Z;=tc#Q{P!QVCctm5^gb;e zJ1BdnRuA!c5I4RIRnr;YHYnr zul(eeW|MqDd|ui%s*y2#QI*+1WAA;y%p_c=zq{FK6QKsGhMG1B*!MR^s&lqYwrNK>=>h$hS^i=TrCY2BYj#tEG&YE#` z$d;WV=$`xP%>v!pcdRVCT~HwQ=n#{^{)eY{$ccAonc*yYzm_la+j!5eRGZ;$ZCW;7 zB0xXO`;Ygc2Y3f7V^D3m-{i&ZQVN$Q2P?S7Iszo>Z92-Qvrq;)=7QUtL$N7VoWxC& z)3aY={^$dzuQ^nGcNJ?uU^w)gelg9~#PuT4PZF-Uc_FB*TTEh!m|6?F0M_{R+ISi>mr1#QTpJt8+oM-#rOaP&fY01yzi6MXgcbk zY)RZ56q}u_s#DQqL;%c{UPm+3<0B!<>zzba8$K`Y80SD2X7LcZBzqu*JLUy5q6r*- zUhjC=S}o%baJV+Xj!tcZ7{Y$p$4~CrQ}(%YU@uqqGCuw0_grvk+UQiVOf;IRLR&Sj zrU|12@P9Y}c8?yt8g&2p>(^1Su@=hb-2D0Fnw7Y0X!yng{Ldk&5uB5LSegXSEiJzDW5*fxzX*@(^Fj`y^3&ri36BQrw&U}qV3~Z714B=m4q!-dK)^A z9XnPJ;r|m!o+z8AmPNax1C>J{Ra+ImN7DKd|=FPC} zZdt(&%nd<>jqw3x(V4ZBd%%+5XM~xR{bb{&D+to5Y8i zlNQb#%#8Q3?aR{8W-w)gbxAPo5BIW#fthBqk$DiUOzFj7O=s+xH4 z3?D?X3*{m^(A~f1}UH+R)t6GA3(| zWKBbfd%tT2>Y^In0G_P+`SWKIdhgY!XqvCOvS0Bup6{`WCZ`tK2(5QfAFe%i{N4AZ zO)oR_<>5@4rY%i0K+UsqZy51`NGy;?AQLq^%U!(6+8gH#&(VKu?n!s|o|{Mn#R4%x z|E+oP?p-KBVI(Rba4@e(ys{BVnBuc=;~vp+Py>9P?|7?0O*#a>$xtIX;6X;lkz0t_ zTz)k5u%zT?tIOApj&nW(`$B((Dzwc5rro!r!=(1AQOS0%UNNH8w(e+@gSVRR1tC5$7s`YMYP1pXrFyAOtc(LMED6o-eqgkBt>)5R`a+(|G0WeIx52 z3TaDm%jVSQy~C#xNZ639l(0aWA;0#r;H_ORl)j1-6U(Rvk=Wq$K3Hs%2XQrF9)j@d z1II}> zR<3W^xkXJ}2Q5tMVFUAFEucB;*@%$w(7#u`LRi_M$xHsP)!VZk-bO7e(V)s#Y#Y4u zacjzGYh1Pm$C{UZND=d^)Uk%IUl(qlPh2LP!^!*p+1VV=WHN=dwl1 zWy~B8BayI8QMQN=Ouy+JSr7lNp6n-bl9boBQc#>o(r;*RRg=p^q^<>@QbR-QVi2WM zva|d8Ax^tjjdJ-{RA3HU2N>>=kom|J(A=oOFJRynk8XhfHd}zH6hxISxweOmd>w5q?B$$&yK?hZ&-S{49d9nhmt;stO8s*9%6h*;h26g6yU;AAAf1^4RFx z&vV;cP>e-4d!f~T2UWY6@uTY^&YCwZEiG{%D_f=`0JrMOOaX2L&X_~IX&%5oLAF4E zH46UDv~5B#auf!9cfl#U=7vVrWKr3Ct@}d7*A1~cIMf>N+a}ac)S0_VktzvyfO$*{q&4U@jY|s5jVJS7; zqJ<#KR*58MUN8Z^nJ<8F*d@2J=aP&l(t=jtCV8VpX0qZ2cPlF^2Lw{?IkmaLaZ)gy z^EAE7M#ZChi-5FjZ=(%^cmnHuysZ)=S_=a?wo_9M#J+k;%Q^E4`;TC>M*+Bprie(8 zAORdyxOKtYn&$MgC{x`B=m<=;A4sDYlTnVL(Khny{~sBzrZk8LBy2xY8UJ(ojCeSD zSu_Soscf0>Pp*IYXqhjF{~#H>2*JRW37`}oJvYCjK{;Rs*e&H}2U(g0<}oei1){k# z+=vr^<0fu?bKVK4B9=xDEV)GlA|)e3_+Nj3r!B;@06zbUPGf%UGbEU4kd7+@&3-w9 zpa~a7(gc~@mCa$5aCM0#an5ki1=f=oL?bPyPW$n_+Xe|}5-$x6CS}jLI}(f~X7k_+ z%;v;dz?H-VQ0vbjM8K}hwc}a{wZNe3tV}OJVJo7qO^=Vhs2 zEx4~s^;%U_BIihT37BI`m9G#C4wNT~q?)%&(3%5<`~oCrE-qwyJ66#&A|eK%RAfo$ zbMM|>hj*KFeS;jhs1H@LM{c7&=bBr_Ak4Vmy>R-Xi3@vVK64XV_p6UHBYrPzTYxwi z`Pjd|Zn{1@6Y&I%(mrclYI^bd&H;72qJ)}7LlPn$r^71YK4=st9vmkr@=G@Z(rlRF zE8670;f-{Ad;EtNR!QN>4*9aPBla^>A+)~qxP!qbhp%b|NaE#kD^?lQ%td%j6q-({ ziLZ}qbPS#Q=-H_7X2U(}2k;z~ST0H$f_03o*+sLih5DR2y`RoO`~{)kcb-gyU>Bgh|qDFVA@v z4~P>p_p-0={_!$^s&`0+Mw`In$WcJ3c*YN5Jh*Lvx!X&;6m9~KZP5z- z_~3B&{?}=#X0ij|KV)Z@BZc3sW)o?lp`h@`q1GQ^02SMiqXbU@4?7dEJArQ7V-DMq zWme>*z6$Nxp8aOUUuDIOanOQ9=n@h0v{Z~IcoyWRWoXo^h?SB9UE>!w;nGb-BUh1y z3)d+Kt~OO83zWb`et?OrcE6KhUxBi1%cetX`{$SFYL@bO6076rdXs+;hTEq29G|q! zi<{?2_}MhipB6+xLO07i!ZCtZjwMPnb`>EGgxQxj`F#B?d7EYUtFNI735_^kcGP@? zi~u&xw$-1%?$YXbpIDdnhbm}cjeqxo8_VV%6_f{FyDbzzZ8!zZ`fK2z+1+u`>9-hbQ^SF zTyL4NEBh{u30qFIU=o+C4dh-LCMlE7)_6|?&UzC37tv#oD#S~a(dMWPQ=HU^{vt__ z(Z0D;O5zWHEmi1U$H^@gEge-#OCgTGqdeJ z@+Y!TKeoiD4!_4io=z$;He3=_bc>a@B#gX-Q42t6pCxWNk8!*kpxXwaJ-Eg5hoA=s z1?Gm`?iP$5JcB*_+G#Nc1ATo-h2EnkM~^2&T<+`3-HNVs+6NA73eCwWADS6rjc$M&*|Fj4Z>f&C^6m-HTlk_A;JvGh? z;ad}zB+!DkAZJHEd)t~8=8|+R<3R`X{runUZxvGr%}Dtf9_YZ|g5GTG%7Edz#tBOH zFQgJqB9TOd@v_T{vN5?jU3~VRU%zUHAbSQ7!aBDm=k@9qoa{NjQ2AC-kx*G#Sypjh zwkn(^+bqY{c-Kn}X99YLJ3GKPA{L$V(=*Gn97I=p0`sI9EvZYO{t$RuM3!= zbB?~)Ax{^nAorY~8e_VyKKF-rSpkxj2q1Q%eTR0_gln^s4;9=W)Pgb|dV{lE-B@m{qvBZ0>IpVCU-^^d+b){{nkYG97JoDhO9`psYR zW&72eyjU_*=53pbp1nKBDL_Y=w$uh!L!fr>5|-G0IYBA9p7GX5hTr2v(>i62m=}Fu zAvE@n8Z>Z6_1viL8DZis7K-(S)mwGL+S$kw#y52AWb0czBNc>!O-0(iT?1*Lkq5E={) z^nGBy0UV-}NCZ6nc;abEZcz{CxNo`e^P?wodz8fya8}fB&Oj^6^Tw(?a!p=&a2ha^ zPCoc|Z@_MFBd#}ojCZ%d6uhiC5prF{P4$)JXKx!&UPP75$M`^GZrMXqVhr%bhT{qT z%cGAc4g_<*-7d8j6Sz?GgZoSRGi;$tkrbC&u`4M!JWVIM>ub@0e8*OgFKw-g z%f+Ju;9`{>rPcf3jX%IedFfszmNtalf$sfE+=E)1{ED!g+yTA!9<9fvkgOou3Lpx; zfNevR;7L!3s~TS4K4h-F_Qbns;yGsI_<&r~hwU;VtNwrDezyGDh*0DGV&}K@szxzk zZ=<%Qaddf)cZJ=xs8cDGXwLy{LntN&1jd{u*ekZMgEM5l!Zm`L_a z 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 A$p8QV literal 0 HcmV?d00001 diff --git a/ui/src/assets/map/styles/ch.swisstopo.leichte-basiskarte-imagery.vt.json b/ui/src/assets/map/styles/ch.swisstopo.leichte-basiskarte-imagery.vt.json index 52efcf1c..514c1950 100644 --- a/ui/src/assets/map/styles/ch.swisstopo.leichte-basiskarte-imagery.vt.json +++ b/ui/src/assets/map/styles/ch.swisstopo.leichte-basiskarte-imagery.vt.json @@ -7027,7 +7027,7 @@ "sprite": [ { "id": "default", - "url": "/map/sprites/sprite" + "url": "/map/sprites/imagery" }, { "id": "babs", diff --git a/ui/src/assets/map/styles/ch.swisstopo.leichte-basiskarte.vt.json b/ui/src/assets/map/styles/ch.swisstopo.leichte-basiskarte.vt.json index 3d3c78f5..97d1dae8 100644 --- a/ui/src/assets/map/styles/ch.swisstopo.leichte-basiskarte.vt.json +++ b/ui/src/assets/map/styles/ch.swisstopo.leichte-basiskarte.vt.json @@ -16507,7 +16507,7 @@ "sprite": [ { "id": "default", - "url": "/map/sprites/sprite" + "url": "/map/sprites/basemap" }, { "id": "babs", diff --git a/ui/src/views/map/Map.tsx b/ui/src/views/map/Map.tsx index 095ae0b1..eb8514bc 100644 --- a/ui/src/views/map/Map.tsx +++ b/ui/src/views/map/Map.tsx @@ -8,10 +8,10 @@ import { CleanFeature, FilterActiveFeatures, LayerToFeatureCollection } from './ import { displayStyle, drawStyle } from './style'; import { Feature, Geometry, GeoJsonProperties, FeatureCollection } from "geojson"; import { first } from 'lodash'; -import { FullscreenControl, Map, MapProvider, MapRef, NavigationControl, ScaleControl, Source, useMap, Layer as MapLayer, AttributionControl } from 'react-map-gl/maplibre'; +import { FullscreenControl, Map, MapProvider, NavigationControl, ScaleControl, Source, useMap, Layer as MapLayer, AttributionControl } from 'react-map-gl/maplibre'; import { LayerContext, LayersProvider } from './LayerContext'; import { StyleController, selectedStyle } from './controls/StyleController'; -import { memo, useCallback, useContext, useEffect, useRef, useState } from 'react'; +import { memo, useCallback, useContext, useEffect, useState } from 'react'; import { useMutation, useQuery, useReactiveVar } from '@apollo/client'; import { useParams } from 'react-router-dom'; import bbox from "@turf/bbox"; @@ -28,23 +28,11 @@ const modes = { }; function MapView() { - const mapRef = useRef(null); - const mapStyle = useReactiveVar(selectedStyle); - const [viewState, setViewState] = useState({ - latitude: 46.87148, - longitude: 8.62994, - zoom: 5, - bearing: 0, - }); + const mapStyle = useReactiveVar(selectedStyle); maplibregl.setMaxParallelImageRequests(150); maplibregl.setWorkerCount(6); - const onMapLoad = useCallback(() => { - console.log("loaded map", mapRef.current?._mapId) - - }, [mapRef]); - const mapClass = classNames({ 'maplibre': true, "container-flex": true, @@ -54,30 +42,31 @@ function MapView() { <>

Lage

- - { setViewState(e.viewState) }} - mapStyle={mapStyle.uri} - scrollZoom={true} - reuseMaps={false} - > - - {/* All Map Controls */} - - - - - {/* Layersprovider and Draw */} - - - + console.log(e)} + initialViewState={{ + latitude: 46.87148, + longitude: 8.62994, + zoom: 5, + bearing: 0, + }} + attributionControl={false} + minZoom={9} + maxZoom={19} + mapStyle={mapStyle.uri} + scrollZoom={true} + reuseMaps={false} + > + + {/* All Map Controls */} + + + + + {/* Layersprovider and Draw */} + +
); @@ -333,11 +322,17 @@ function InactiveLayer(props: { featureCollection: FeatureCollection, id: string ) } -const MemoMap = MapView; -export { MemoMap as Map }; +function MapWithProvder() { + return ( + + + + ) +} +export { MapWithProvder as Map }; export type FeatureEvent = { features: Feature[] diff --git a/ui/src/views/map/style.ts b/ui/src/views/map/style.ts index 5da251c2..4bb33996 100644 --- a/ui/src/views/map/style.ts +++ b/ui/src/views/map/style.ts @@ -754,5 +754,4 @@ export const displayStyle: LayerProps[] = [ }, ]; - -export default drawStyle; \ No newline at end of file +export default drawStyle; From 1e2c95a0af430c2594a9d2eca41eb4bada6aaaaa Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 26 Sep 2024 12:55:41 +0200 Subject: [PATCH 33/35] chore(deps-dev): bump the development-dependencies group across 1 directory with 3 updates (#443) Bumps the development-dependencies group with 3 updates in the /ui directory: [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node), [@types/react](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/react) and [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite). Updates `@types/node` from 20.16.5 to 20.16.8 - [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases) - [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/node) Updates `@types/react` from 18.3.8 to 18.3.9 - [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases) - [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/react) Updates `vite` from 5.4.6 to 5.4.8 - [Release notes](https://github.com/vitejs/vite/releases) - [Changelog](https://github.com/vitejs/vite/blob/v5.4.8/packages/vite/CHANGELOG.md) - [Commits](https://github.com/vitejs/vite/commits/v5.4.8/packages/vite) --- updated-dependencies: - dependency-name: "@types/node" dependency-type: direct:development update-type: version-update:semver-patch dependency-group: development-dependencies - dependency-name: "@types/react" dependency-type: direct:development update-type: version-update:semver-patch dependency-group: development-dependencies - dependency-name: vite dependency-type: direct:development update-type: version-update:semver-patch dependency-group: development-dependencies ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- ui/package.json | 6 +++--- ui/yarn.lock | 22 +++++++++++----------- 2 files changed, 14 insertions(+), 14 deletions(-) diff --git a/ui/package.json b/ui/package.json index 7f36beac..72771e26 100644 --- a/ui/package.json +++ b/ui/package.json @@ -71,8 +71,8 @@ "@types/jest": "^29.5.13", "@types/lodash": "^4.17.9", "@types/mapbox__mapbox-gl-draw": "~1.4.6", - "@types/node": "^20.16.5", - "@types/react": "^18.3.8", + "@types/node": "^20.16.8", + "@types/react": "^18.3.9", "@types/react-color": "^3.0.12", "@types/react-dom": "^18.3.0", "@types/react-router-dom": "^5.3.3", @@ -97,7 +97,7 @@ "source-map-explorer": "^2.5.3", "ts-jest": "^29.2.5", "typescript": "^5.6.2", - "vite": "^5.4.7", + "vite": "^5.4.8", "vite-plugin-checker": "^0.8.0", "vite-plugin-eslint": "^1.8.1", "vite-plugin-pwa": "^0.20.5", diff --git a/ui/yarn.lock b/ui/yarn.lock index 00ac59bd..acd1f1a6 100644 --- a/ui/yarn.lock +++ b/ui/yarn.lock @@ -4155,12 +4155,12 @@ __metadata: languageName: node linkType: hard -"@types/node@npm:^20.16.5": - version: 20.16.5 - resolution: "@types/node@npm:20.16.5" +"@types/node@npm:^20.16.8": + version: 20.16.8 + resolution: "@types/node@npm:20.16.8" dependencies: undici-types: "npm:~6.19.2" - checksum: 10/39a8457149dc17cdea57afc90d4da53182fdb8b958d5bb065a15d123d81d4efa6b51a0de92428d05ead2e63ce07195586f71083401b99cdbcd04662344fbf7a1 + checksum: 10/e4917ff29c1d8f2c4e2c7081a50d1c53738aa3cf21b11fc26956e72d679e6eeefc3db87d8e1ebd2d67b4205fb6992102197d6aa11f8d1404bf81a81dfc195578 languageName: node linkType: hard @@ -4242,13 +4242,13 @@ __metadata: languageName: node linkType: hard -"@types/react@npm:^18.3.8": - version: 18.3.8 - resolution: "@types/react@npm:18.3.8" +"@types/react@npm:^18.3.9": + version: 18.3.9 + resolution: "@types/react@npm:18.3.9" dependencies: "@types/prop-types": "npm:*" csstype: "npm:^3.0.2" - checksum: 10/75e64e7f481c28e6c8ce6dae12f49ccc3f36c7b10b82da3eb7728ad9c02bec58a2c967105603e38665902e8db9296962c7718bc2062e2cb64a16e92333bd1f4b + checksum: 10/d1321e874e6523b0a944d4ce514c071cbe44501b04591e17c0b265c9a03fb3e4486337ae1bec74541b72a41f34beef157342205dd07b31d116f4d06fa39cf32f languageName: node linkType: hard @@ -12366,8 +12366,8 @@ __metadata: "@types/jest": "npm:^29.5.13" "@types/lodash": "npm:^4.17.9" "@types/mapbox__mapbox-gl-draw": "npm:~1.4.6" - "@types/node": "npm:^20.16.5" - "@types/react": "npm:^18.3.8" + "@types/node": "npm:^20.16.8" + "@types/react": "npm:^18.3.9" "@types/react-color": "npm:^3.0.12" "@types/react-dom": "npm:^18.3.0" "@types/react-router-dom": "npm:^5.3.3" @@ -12413,7 +12413,7 @@ __metadata: typescript: "npm:^5.6.2" usehooks-ts: "npm:^3.1.0" uuid: "npm:^10.0.0" - vite: "npm:^5.4.7" + vite: "npm:^5.4.8" vite-plugin-checker: "npm:^0.8.0" vite-plugin-eslint: "npm:^1.8.1" vite-plugin-pwa: "npm:^0.20.5" From b0cd8f2b3e0ab332be486ccd27c3f08c7113531a Mon Sep 17 00:00:00 2001 From: Sebastian Gfeller Date: Thu, 26 Sep 2024 13:10:59 +0200 Subject: [PATCH 34/35] Update French Translations (#442) Update French translations with the terminology used on the official message sheets. Co-authored-by: Dani Aschwanden --- ui/src/i18n/locales/fr/translations.json | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/ui/src/i18n/locales/fr/translations.json b/ui/src/i18n/locales/fr/translations.json index 3162550c..83b31443 100644 --- a/ui/src/i18n/locales/fr/translations.json +++ b/ui/src/i18n/locales/fr/translations.json @@ -2,17 +2,17 @@ "add": "ajouter", "all": "tout", "assignPriority": "attribuer la priorité", - "close": "proche", + "close": "fermer", "closedAt": "fermé", "create": "créer", "createIncident": "créer un nouvel incident", "createJournal": "créer un nouveau journal", - "createNewImmediateMeasures": "créer de nouvelles mesures immédiates", - "createNewRequest": "Créer une nouvelle application", - "createNewTask": "enregistrement en attente", + "createNewImmediateMeasures": "créer des nouvelles mesures immédiates", + "createNewRequest": "Créer une nouvelle demande", + "createNewTask": "créer une nouvelle tâche", "createdAt": "ouvert", - "devisionAdd": "ajouter nouvelle département", - "divisions": "départements", + "devisionAdd": "ajouter un nouveau domaine", + "divisions": "domaine", "edit": "éditer", "editIncident": "modifier l'incident", "editor": "éditeur", @@ -27,7 +27,7 @@ "hotline": "Éditeur de la ligne directe", "immediateMeasures": "mesures immédiates", "incident": "incident", - "incidents": "incidentes", + "incidents": "incidents", "journal": "journal des opérations", "journalList": "présentation du journal des opérations", "location": "emplacement", @@ -54,7 +54,7 @@ "type": "communication" }, "messageFlow": "flux de rapports", - "messageSheet": "formulaire d'inscription", + "messageSheet": "formulaire de message", "messageTriageTitle": "trier le message", "name": "nom", "incidentName": "nom d'incident", @@ -72,13 +72,13 @@ "HIGH": "important", "NORMAL": "ordinaire" }, - "radioChannel": "canaliser", + "radioChannel": "canal", "requests": "demandes", "requestsNeeds": "besoins / demandes", "resources": "ressources", - "save": "saveur", + "save": "enregistrer", "saveMoreInfo": "Besoin de plus d'informations", - "saveTriage": "triage", + "saveTriage": "enregistrer triage", "short": "abréviation", "showClosed": "Afficher fermé", "state": "était debout", @@ -88,7 +88,7 @@ "triage": { "DONE": "trié", "MOREINFO": "besoin de plus d'informations", - "PENDING": "en attendant", + "PENDING": "en attente", "RESET": "réinitialiser" }, "write": "écrivez" From 33d4c5fbea7517f4ffe5c1d009d010b57f6cef4d Mon Sep 17 00:00:00 2001 From: Daniel Aschwanden Date: Thu, 26 Sep 2024 13:12:34 +0200 Subject: [PATCH 35/35] chore(docker): add selinux compose file --- README.md | 6 ++ docker-compose.selinux.yml | 118 +++++++++++++++++++++++++++++++++++++ 2 files changed, 124 insertions(+) create mode 100644 docker-compose.selinux.yml diff --git a/README.md b/README.md index 15b29db8..6c35d2e4 100644 --- a/README.md +++ b/README.md @@ -38,6 +38,12 @@ OAUTH2_PROXY_REDIRECT_URL=http://localhost:3000/oauth2/callback # port for yarn docker compose --env-file .env.local up -d ``` +If you are running on a SElinux enabled machine, use the selinux compose file: +``` +docker compose -f docker-compose.selinux.yml --env-file .env.local up -d +``` + + 4. Run yarn ``` diff --git a/docker-compose.selinux.yml b/docker-compose.selinux.yml new file mode 100644 index 00000000..b2e58bc8 --- /dev/null +++ b/docker-compose.selinux.yml @@ -0,0 +1,118 @@ +name: sitrep +services: + graphql-engine: + depends_on: + postgres: + condition: service_started + dex: + condition: service_started + environment: + HASURA_GRAPHQL_ADMIN_SECRET: ${HASURA_GRAPHQL_ADMIN_SECRET} + HASURA_GRAPHQL_DEV_MODE: "true" + HASURA_GRAPHQL_ENABLE_CONSOLE: "false" + HASURA_GRAPHQL_ENABLED_LOG_TYPES: startup, http-log, webhook-log, websocket-log, query-log + HASURA_GRAPHQL_JWT_SECRET: '{"type":"RS256","jwk_url": "http://dex:5556/dex/keys" ,"header":{"type":"Authorization"},"claims_map":{"x-hasura-user-id":{"path":"$.sub"},"x-hasura-email":{"path":"$.email"},"x-hasura-allowed-roles":["viewer","editor"],"x-hasura-default-role":"editor"}}' + HASURA_GRAPHQL_METADATA_DATABASE_URL: postgres://postgres:${POSTGRES_PASSWORD}@postgres:5432/postgres + HASURA_GRAPHQL_UNAUTHORIZED_ROLE: anonymous + PG_DATABASE_URL: postgres://postgres:${POSTGRES_PASSWORD}@postgres:5432/postgres + build: + dockerfile: Dockerfile.hasura + networks: + default: null + ports: + - mode: ingress + target: 8080 + published: "8080" + protocol: tcp + restart: always + oauth2proxy: + depends_on: + graphql-engine: + condition: service_started + dex: + condition: service_started + environment: + OAUTH2_PROXY_CLIENT_ID: ${OAUTH2_PROXY_CLIENT_ID} + OAUTH2_PROXY_CLIENT_SECRET: ${OAUTH2_PROXY_CLIENT_SECRET} + OAUTH2_PROXY_CODE_CHALLENGE_METHOD: S256 + OAUTH2_PROXY_COOKIE_SECRET: ${OAUTH2_PROXY_COOKIE_SECRET} + OAUTH2_PROXY_COOKIE_CSRF_PER_REQUEST: true + OAUTH2_PROXY_COOKIE_CSRF_EXPIRE: 5m + OAUTH2_PROXY_EMAIL_DOMAINS: "*" + OAUTH2_PROXY_HTTP_ADDRESS: :4180 + OAUTH2_PROXY_OIDC_ISSUER_URL: http://dex:5556/dex + OAUTH2_PROXY_INSECURE_OIDC_SKIP_ISSUER_VERIFICATION: true + OAUTH2_PROXY_PASS_ACCESS_TOKEN: "true" + OAUTH2_PROXY_PASS_AUTHORIZATION_HEADER: "true" + OAUTH2_PROXY_PROVIDER: oidc + OAUTH2_PROXY_PROXY_WEBSOCKETS: "true" + OAUTH2_PROXY_UPSTREAMS: http://graphql-engine:8080/v1/graphql + OAUTH2_PROXY_SKIP_PROVIDER_BUTTON: true + OAUTH2_PROXY_REDIRECT_URL: ${OAUTH2_PROXY_REDIRECT_URL} + # disable autodiscovery due to token endpoint not properly accessible on localhost for oauth2proxy + OAUTH2_PROXY_SKIP_OIDC_DISCOVERY: "true" + OAUTH2_PROXY_OIDC_JWKS_URL: http://dex:5556/dex/keys + OAUTH2_PROXY_LOGIN_URL: http://localhost:5556/dex/auth + OAUTH2_PROXY_REDEEM_URL: http://dex:5556/dex/token + OAUTH2_PROXY_SKIP_AUTH_ROUTES: ^\/(manifest\.json|favicon\.ico|asset-manifest\.json|service-worker\.js\.map|service-worker\.js|robots\.txt|logo\d+\.png) + image: quay.io/oauth2-proxy/oauth2-proxy:v7.5.1 + restart: always + networks: + default: null + ports: + - mode: ingress + target: 4180 + published: "4180" + protocol: tcp + postgres: + environment: + POSTGRES_PASSWORD: ${POSTGRES_PASSWORD} + image: postgis/postgis:14-3.2 + networks: + default: null + restart: always + volumes: + - type: volume + source: db_data + target: /var/lib/postgresql/data + volume: {} + ports: + - mode: ingress + target: 5432 + published: "5432" + protocol: tcp + dex: + image: docker.io/dexidp/dex:v2.38.0 + restart: always + environment: + OAUTH2_PROXY_CLIENT_ID: ${OAUTH2_PROXY_CLIENT_ID} + OAUTH2_PROXY_CLIENT_SECRET: ${OAUTH2_PROXY_CLIENT_SECRET} + DEX_CONNECTORS_ENABLE_MOCK: "true" + DEX_CONNECTORS_ENABLE_DEMO_USER: "true" + DEX_ISSUER: http://localhost:5556/dex + networks: + default: null + command: dex serve /etc/dex/config-demo.yaml + volumes: + - "./example/dexidp/config-demo.yaml:/etc/dex/config-demo.yaml:Z" + - type: volume + source: dex_data + target: /var/sqlite/dex + volume: {} + ports: + - mode: ingress + target: 5556 + published: "5556" + protocol: tcp + - mode: ingress + target: 5557 + published: "5557" + protocol: tcp +networks: + default: + name: sitrep_default +volumes: + db_data: + name: sitrep_db_data + dex_data: + name: sitrep_dex_data

8^fl^Nw33mi*VPG9e+S0>z#6sIl(^l^XR zGJ4m25ztT02&f*Yf0)~z{MA!gONkkrm!=TS-S>H5Ho~a4AOXC7#oY9^k+xn9)}!Z& zl-EeGM2hcGalWDnmFR&Vk8&^iNdSd%GroNy-3^iceiYTf9r4&OUqd3)5RH5@_g{6r ztqJ(C{Rwj8 z;^9*=G}qYhVq{@^OP@8W#c+3~Z7J)*2PMIBIIbosr(>~afW@CYSRq=x78Z=SKh(T= z!u4i0z?6B>B5RI|MAO_#pGbzQ|1iOuXaf4qo_Bs+E&*y|pXV*0c4UcJza2Ro_nsIB zkdy_dZ+$*jTw0oWarI8T%}Krt&qcqr1GRS~jXvl%0HgB5N^B|9Lp3LtQhkyk5@3I^ zb`Ct934eJXj(??p;0I-dZDLUTyF_JEp-*fV1CKTKJ2BPeu8+&lp}Fo~czw69ZJ+u& zSw6~%8EU*0KSf$F>$aN~PlnAiL=-?yDFCV1ASFT!$dYx)87cSU2M5xj?Mim9B!-hB z=iyz5*uGn@SKKYLwzZb5>qZ1%$#B7nt_f#wlUmlYi029%dQU;o^3P`GNgxXX*fqbN zI?Y%aSv|I0FZ*c1U;x82{V9XNgV6dZ#w131C2_W2_BZbRcoR{EfU9FtUz#pxFLQB} zPrmej#{}cUj?pCQzeez;o9z(Ce)EIcABmlNVpL5 zac_|;u~}x~FhUrzmh(OhLnx#w0FclX`W_kRoN;kbJgI_eoeVd5jHS1x%F$#JMFb{J zk!~h#hrp7%gCU~9?mtiEp}^JG3-V*ZJV$It+1vU+{|9vM(y$pmr{xY4MU`7CkqmH} znG_(6_w5|{@N-t)ZQ(WKod$`6`d}ap`w8IVcyACr5#AiuE%91gVi(xXUj-ZuA) ztha3`GhrPo=0Ue!4+g;qHt?Qa>@o$={D&CEQiBS=7L$q=o_mq{g^>Ji`m@Z)C0c`- zaaPVI(gMK*&Eu^R1A#$G|6Q9w@PbM&>bu#Od@cs}-2ev98}T1qYAe0+#)+D<`NDT< zxRfL3nv)iD0gZnU%oDrTgZP zY5v-?6uL*Vo=iki{_B;Nb6r!kub{CVpJ5@FC!Au_v;1Ip9$xeGg||DZmY6WoZlj}p z&d_G1-uDOhp|XvA$#g{J?cFeH{jd-m5``9*f}t&LXVT0qZB$p-msMN2XMR=tIIF($ zFsF=Rbnu=+I3MNJG1BX+lUNkBU;UOco3(M`_PFI$qWrk~uLMBo|LbZhIPxnpWkePaUx$cO^ z(O8~AY661i1%FO@fA$k@CEhCUYu7P~SxCErZk=^3cfmPn&W>K2f^@&u|w@P=6S8pI`n2r{Tca?ZgXQ!IIIaLsBm6K zs}zBp0t*3Eoj1bo(>o(_MjRVh=>1s)A)w}^zhJCu>pOCE8lK1L70W$HrhXbs9PhVa z+DAHa1TSmc!6FpDY<_m6r+P?Vs@`^jooozEq+YX|Jn_23dwl!hm$$0BH;LX2^k8Yh ze6JXq4?uk%ZTMP8f|{cILnk?ma1|Z{8I1}cv0pa@!2Dg}A6FP7sG;5-x=d@3F52qT7-nlBE)XIGDwC?M#o3Zw4ABpT79C679ZHNpgqX$jDyX_^xI$p z`N6!xyN)i*RiN*182ZrOSBrhhjA$bjDqd}LRA}{Oj)W+y&Nrubs~w8QJYov!oPF$1 zGc>FA*h2tNY#)DQCSGHbNgz|A=%i%P@Y8U;>q$c5#9<}W#EfQu`3v31LpOo*5*CdF zF=49&QKj?!+kI$7zKyJeDJ*v|xp9h8ixM2yhpz#Y!Ayb{y(o#NXW^94dtseq4wW}P zLf{t89g-f3iRZWQfhmwP_)M`vbnN^Cz87D%F8PG3b+owmpt_UO8R0uJw*x9Bl#rgJYbA1dTf-K0o$_PZ@G3h1xiS!@hd0rYrYqP zIwFL@hPxJ;Eha1oe;wUFH0oTf|Mk$tK~)#72HfshUUvH!AP#5-$*#U6H?U)!(Hg+A z4Q{gm_RBi;p?qa+RPyql=*geTCLwgz>@yWRorg1JBUNDqhA&&eU2VX+;csN)Q+X+) zaYGkaTm#C7Nl5ftNDpHQ3!HyJf=&%(GE7x7AaOBnTF)iS(X+H)A5t;GHz@eXT4+p- z%1;Yw?Q96b%RzTpdY(MUeQG_(<|XcabdUWKsRWLh?KmGCl%Tw$fxRN_(fpT~40Xq^ zT#uS&4>g2_)&5dejHelrfkAu`y6g)1)re08t#+^NT_j=nfz6sY@7H9)a*+dYG?8-^ zC0Nm&--a8>aY-(*mIA9p&KEUW8`m-Esjtd^dC3CU+n|z3)sl+R z8#PGLJYY7+>KGY5F@A2L5|`CX$On+fR^>m_P=kQ0EH+FG(lC0qxbd6w{%cqG1ByR+ zmhK}iz#|I2-iD#S5CYK3?BHo-D%B7=;WC^HbSR6j-u|jDxkOE%FW^$+-3gDW1je7( zf^~hvcd`W9JJ~C9{1Y;10B`!$Kh`65?Z@KVDLK}|vJ&=T*7!kk2 z3*P;C)yDj6{eqd=afz`2)No6F$fL=PLj`4;YQ+1ASNp5_Nwa_J7Ygv4U`ruMu%?hC z9}9EGovrCrt{yqlNX1hvkYr!!R!@+~ypc6*FgO-o-Bs4&c#g(pBcQH)Pb0h3%KxgtKYv-njn1W41O7Q9lvw6Tw&Wg zIsE#WZF*-8JdW(~+{yLoHf4GQCnd>_VjudPzL88V zD^SMI-#;U&!+;;4)HQ>k&)}Gb3%#rZDRXK$*I~)NA888W*K05GQ8Un! z*Y_*<8R(zfs-j)s6A}W+C;3kcQ-8OM4hdMu@BbrEncxLQ_tLQV=>eX$Ac=BtAC-gf zAs>)|3j-eVc(iFstr!MQP)U}QrGwrkb>IzKWsS%k3K(-yYb=Yz#elEhd1#MGeZ~S^ z&?!MJA=AlSuGLaZ32sz*#klC9I0(A9Ekc9l=?M#*ZygPrXX=&SYp4&EaXM(4z3Y@K zGg(Sm1lXw_&)gBo+FEG#k7*j7yI``TQpVje6+h zD?oS;=D#&t!YG1o9p?QZ?#jQQ{cd&-#z(rde>)ia2q&Bjga;*56zxyOqc91bD|9it zd$NfkK45c9;k*lp1Jk-Ui6@ za4OJTrjraf1`)n}E(8^|MYh&cOgV@p8R0gXmfiyC)+E?M>vudxh~pJ!P2ruxe1pN; z7xG(NpoBvJZV=b)-Y>U|Wg0kyy?7NtX>u0Y`_Lai1rPY1?SzlwuXEpk9@Z2bqR*+p z(MQjBG!AQ6!CZHekl?9u;BgQ~_@5P{wol(-92?@!IZAPh6p3{yKPMhJib1Qnk9pI8 zoH*jLlex@`1a$ff-z3*yoQIn(Xt~;(JuV7c_C2WO7wg@rj6j+&=b^bu|C?|EXLaSE za;4C?eU}XU>UxkON{3X4l~Utq3-T2MCxZXVq75rRAppzKR9u?z*>ru}zYevppq51B z5y&{(k5vyh7dIC(BLvgh=FS6B&OQY$mFDhS4UgcfV2Jw(SjNB-E>q$d`pJdUo^HOz zi1=svoYJi`Bx%6b+KKPWBd589b@ZSM3oGY2NMRPSTVM{+oSICL%r8{c=H46QosOdZc_PEgnVhk&Pm9!YSI zf$y`qoO-SDasgK^wInKDnJwZFBYxFtvMNppOp%{KRJOuAgvIKNg-N!kkT}ljF8vEz z#1p3q++!$}K+0)qg=N7E5k*ud9Mhx5_Z;c}upbD6k;{1YbH%T;AoYI1esl7_(&8Zh zq#sVW^F+l4bx9!n0xAE^yLV^amHb7J60pI^UCk3nvi*n6YGww`7Y7An4r};9 zHuMkj74zQLtbm9qoJpJDJs4rrD`Xq}^KQ{yDXiP8#nodRF@-e;qPMCUxTqCzt{Lgu#%-=#N6-1?~Da?9fElOcsm?< zD_sQfkXJ&g<$S?dkx1i*6{8B#b1;IR2PMI8Yk&-&QV?38%?gqtrWhUBdV1jaV?HK9 zw7`A1bJ(YoiiGv|TQoFr!hW2haSRiW!-^%Zx>co4c^v)eZO zz5e?}TN)Kkn!er^eK;4n7(AHr1b%|zLK%f~6XG?Eh#a%Ko^$VFDtfya-&E;JkWTs{toKi4fRodWd7mZ zt)>RwTc=o;4qVw3ad2>Gqq(TH23Ta!nUNQrz3Igh4F;m4c>;^Gtvj4@Ju6LZNlX_m zPt>^6+5IVHzlvkdA{SoD8pFGR^U1J&mfzt%pWf`*Klu7U(|&p6p0$2W_Hrr@(DfHuqT}amwSE_;M0w+` z-R$q2?Bdz1U~@kzbCZlhBU<*MV;_2&u>0(V)5lZ$!VSs_(V61Pt=Y=nQu#hZB0WWG zb&Jn^qTr`IxG3MO?lj|q1AeD7Ibaz z*-xa3AD!O2ckkwhplLN}um|>91u)!KQ%sUk_}ga~%)_{p;AbMVD!IrEZ~c*)23K(} zJetRN97M-$z$EWbOM|`~@HqE+n9p7C6-BK5&yd&oThPSZE@)KR*X(@N!+Fj;=i%n{ zd$KJHzkjcL3vaVH9qnKj!opCOPIo#?Bpbx_;tuB1(t=ybhM5rsxo9kVIl0*R$W(*H z^W|qAno35p-@2~GMgx}&%PU~(c=-TcOEw+#N3j*FG;c9_Ci=d4q<`v@%R+Vgr_;D= z_mB^zdw0({0*g_YNXmgjY29I2z)YK20IFM)X1vnCBPdAS=y`CS{RC-^UbzcMqtKK) zHyCm-BvPnsT=HcXa3Y|@@cB6=mtqYyp#2pP9QtP|j%*iqS0=i;B|ZH1fucfaT3PMO ziP&y#k?fOCY5J!qx{3DS-S4z&SR&UB{Xt@yA*t)_`=F_QkW9X*(-PKPemi_QwA_j& zLa97FGA=obqX|RJ?wO5he~Ir@Sdtp~DfJiix0UaHQVu17Cpc)#J)HE@<#VOi*4E!E z!0}w#82`oDTI5=8bQ9+4c;U(C0Cv=ibq7}YTO*J#wB1nl5b<37cz&qlWnGa{^=YaM zcml)F0DE9y5H$)87_S@4eEUeiUKs#fI-X;4Fy}qrig2H8)-*R~RKTE}l_OXNYu7uAD>yyg)Wp%&PU#V^Ny!|Ym z&~)n}5GRvteOpXs(mk*t^`lWV7ciXk0$L;yP7M>G2faR+t?xI+zMFT5P_g>Vd#hzWSj2 z=+D!ND*BF=uNGUhiWhm5i3j^KZ&p23RGten3}kO-SJXk%f}Xj%EjkZ}_9P?(QOth) z8YmSA8n+TPlRt`I$}$|-@?_X~s+7_39V3eN4b!&D(<{GV#6}9i$Yse9>7H(h@1Sze zo6!+#!V+b9)D-KpKz#du-fi-By4W9q5obOAc@P!5Mc)1Jctw{nc3;*+AfcZfypCJH zKY>8t4iooQ?zhFvNlK6!S|??b0$6$;blWjrmwFEm3qR?lgon(_dF6}PE!8p}H-<-!#c=1Mdo9FW< zaWH&M&8|#1_HN|*@`E>&{8I$GV8g<=n5W?-j^Vz^CeTcG)cxI-_;-Rk4|3-_=E}|@ zpnfs`#mSvVe>uQOuTg0FuyYb_x}BnS?`K#6Er?F>NxBSiKi!Fo-UD~2$WJP*Z%?Qo zcTXXAeI$}`cJ7+g>iODrZMHAMG3F)r7ZMZmH+3(`u5Nbo8XYQt%c7J-bKI|h`hzm^ zRlKCf6CV8KICye@yR%%mm>OFd5mdT3!TrgnzZK{Ih~j2;4mi2)a2C{0E#HmgJCR}- zpN!z z1l}55z4Zi!M+#p*qPb8%`vDIU=hS80?)aHWBE;gGlU7RdXQ*%+66?%z~HV~NC-JiSpQv$ z;4c*=`3un4CL_3pljo!@PW?=ZoEy~>t5FS^6sUg0ss3E!raQUyGLJslRl?bp^)q$x z^8_4AV2`K=0;gH}c6q%RWj8O?_kC>o%fIcz{fm_J&eypRxNN4zz+G*2sy$@BM;nYr z)9KP?M+DT!X&oQF&Rc7hQ?j)srLnO~ySp_! zc{b7~9|8OS`qsaHme}87Ez}y~dT`K9TFa6K{vPGM&JQOwsy$}9 zxcS~|+LIz zbfibzk=*}4))z{xR_zz&A{4OD`BVMkhhHSKG!s4)V9HVppkz7!Tz27AqH7D3i`|vq zCr6Y7r6sAZ36E_%-(PAEbx$1Q4RZ$n=UCiKD1cqL9bfw*EW6nEbME0^nY)0#qv(0y z@Oa&#O=Lmntw@-9zU2XZ|WG-0`pJEa*RsMhat zA__)PXoVD|U$LFUZ~SKm4o*j}$bdv)qL#-x>Gb zbj`Lac66xIrGYOjSYCVl;N~F@$o}kCOyTLY2#M5!&uvocAjp_Hz0yQT8TOXsT{Rs4 z7c}u5rX93UW5+$c!yMT5fdtK?=^oqTpX9<-Fx4C?fr0K`p(5G6^8YD4xQlg z?tZ;rmOn1h1j1_vnfjudpI?x)nIrN!vOZ6n9t$sthk?e(t;+ly8e?8B<3c`bxI1Ns z&_SXb6nBc>!uSGJQdaAJDgL~2fo6`sD-||?KcR!z)em~B* zQOfa`Ea<8{uNQm(n7oAgZA<(Bi<&Mf&wW zw+9q{giBw#fDKb4iQg6m4Zy_>^D*3CJvMBE8cNrE@;SDm(Jyni$+&sK zu+8U>e97enaj~hms3{z8qN+RsW0CoVV6#yk58KEcWvRZVN))ObXz#1 zbb`Y3l)oy6;rr8{!{ZJV@NwtMFE=a-_ZC;8&?=|kka_GocivhrrOf|DUn(edIqbmh znk(x4*hn#u4Q$cqo~S7jc>+Vz@9$W5x{Q5YY;IQa^AYzpRJw~C78jp+Yg*=$^Q!@Dgy2t2)=y(FFCihT!83D>& z?T?}MAl(jd83pqpNrHQoE>x95S?0`#+xD+xv(wn) z_xau2royppM*cHxNlMqRm%WT48L&NdJYx|4scvu2U3O34{>tbFy(H?pb!Yj^l{dzM z7{yUzVXD_u6Kh%-aIlSJM<93;fnFv{7AmGd5MHQ#xT`Q;{3VL}z2n9mQB~~DA4L@U zJPL>0@7-?h+c{jI2PEjElxjGuD10avF7tS=L~AE zA4g-Rn;uR`uQ1`s9Kmm{08` z>0Fw>Cue5IEM@2y=Ddd3f!uQKxuef6DpW`)b!XBRP zhp88ohO-?#knh%nPQ)phBW%gk>J!gbd+-FedbToYMInS0NBfC_NKH2L?cF~QISX#A zc~XvaPdPVeAG@e!20&CyZbMb z;u`eDBC`2-n3#2PH&{x=6P0=Oz}SUsQcZtqt59G6_A6WzOpY224NVXp9Ptqfh~YeI z^=jw{$~x@-r3yXKPhem(imjB^)nlE!->!MHYe1(T0swRqo39S!1~fSRc>H+%qk~L1 zQCV=dv~*pT)m_w4tuZIrt-USVK^!yPjVq)+9cGLc`}Q&$y&IqSP6e^8Z_LF_L>5N*K1E@!spFTD?}{ zZgtz1Iu^$FYr?!VcljGsLHqIE++O5e{IVgH07l$gT<~Sk<5@Y40+O_1DZ|kuQGQLGPKVV z(qV*4tJ6*MFYX&s_lNX_7ru3@eq(_l3SP~jEo?FI=Q32dBoUaQ*S4~mWHh*^)7%k$ZIrf!YHc@hi{(eg z&s6s>eh2;^n~7p9YU@?0>F&G-H|gh=3!__Kc}-d}b5xKWz27&UWgbUZj9W|)rd28E zu%|PPSnXa&*r#CcA6e)(9`}I>Om@_`z9u1eq}aBCHt-sRvsKMgSLF4(p{Zbjyky|3sUj#WY7Qe z!~!$ey_uG5#S5`-U6Vj<3*M>8yifcEWnnTW7_;8aD{pROy{^K24uK(_w0M^j;-#Li z*PreT57?cCeRBNr_H}Got=)wN^>IU$w+p}c!Sc?Vb48mCXRBC6?Zq^T;Icrx(69B3 z$2slGYbczw#Sd1vO&K@V-aq`GOEy9-No3JRV62rVnn(G)1nZ_xUpqrsiAL4&c*-<` ze4_qkO`&|e_Po|BNXzg^1~e9(3h>6QRpIQwiOj@>X_dbC)|g(REriqcrPC$Ty_lS2 zWP+(AIxN(duC*+xs5Ilh$peM3XYW4?|F>QRn4kz=pO=*1#AosnCavpC&}a2uUn}T2 zKaav|v#rvs^t*f;`OZxPm34xQW!$dctZFxOyclY#P9lhSyQ-ZuVZp`2oR#*~s^QUQ z7jRFu=E(JtdHsHwFddmQ=&2~u-x!eP;?sV?24xB#aV*t0e`{xz4J9^k3bwJF1d-3o zlxXDcmx*!$B>%>=8nH4df8AS-vWg9QOzm{C-(E59fYj~+wXb&T^sg^;XUXuL9fnsv z0Dq|oQzEm=RvYG;V^a^d}kB+30 ze0_5JuXKAlIsNi)hl`|@U8yBUUx%Q$L7E}$L5k-{@&3SM$<+8KFk>+UZUS#uN4L++ z{<5zvmys5?8yCwZmQ3!L6kN@!t;4SfO6wfWE!;gi!?O;sqf;Px`EZJRLc_l6>6XFU z?V)e77cw7ZNi~S;ylhujKm4_qm`Jh=hhZW#@ff-C2asVlpW#EiPB@qYE8M_CuK?q} z;!W4YMZV8bTMlynCQJ)ZlsTO8uj=2qMdl7-ysotHw&>3I51bfg!w3}LI0Dw4hITbB zpm5X9Bp+?8724(n8Glk;7Fcy?mX?48T^*3aFyml+P;0l0@p!2-j2c4vvYA^Ad4Boz z^%KfJwLqc+qCglr@WLn@k%K0}ED7vC_#qhX+FQU` zFmR{m%2Dui8vfe0*lt@7aTkq-ymm^FlD43MFNU(pPh?wQ$C`-_L02Dx9rNtl5XeG> zAZXT+b^|wRa8U!j_1oQuyOyOpp1IUo(#QhtdxdK-j7zJlK0FB3f>gaGT{)GWuK`Qt z(|N#M@5%U|0qf;kM$& z?wC_;-C?(l{U86)5^jsFiDe%w16wN>{<3Zg3LOql9@&H{0542Nz-RWW;T8lGuJI?% z6(_HQ=d+;w9bPq?Y?wjbhvPY*ZfNB&q57BSK;()rjyGx=u&+B`Je!35!LLGLA+T>q zD9dn95AsTkEg9qlhz~VnDRs7v%srKtB=|;6Kg_#AuZQB@;1sH@DuetBcJG$YuP}Pq z{v{XC{3=~wbZw!P5%YEqquy5rT=luPgGVZu$19B{ow&W@itS~})o20#)82<~F2ofX z*;2|8aDiu_N|?;+TS{puS>2mAE_nvO`Kwpixcg;4f}7Kz_SWdJ1Cu{xxwv8`CREM1 z6eisoh`XtZ8`+k&K63-ZGX8S%qgZDQmtThUKIgpS@84esaL0rM0A*b%R_(Uv?lq?F~>+bkwKPf z5}MN>4}p_GiA%TY7QGC4)U1>_C(hXQ+FxN~U>>yuTZYHcHn36$@}Ff<${uum4>hP9 zX+gfz4r>gANJv7vCha1ZS(^>>!-dW`mTNC77pBn)&uL6x%suavC?m$n#nM$2j!Fbf z?s0QwEDq}Mb|(dJf^b*4R3;;;YW0d!|9QFt8aSzDJVdlDsW*CKZ8Wm7VVoTZQx?d8 zKIYp~6NiRxNqqjj-62kFOJgPm1^i*u8}CNCF$rUNLb-LYa~L3fn>~=&K8QLvEEoSR zRyNt5r1AV*u_Fo?zWkCcyP*4bkN)VdlaU}pzMoA|nqhx6m9+a*yeuu@gEs0X0@un{ z9F@iASCF;qi)W8bJ#+q3C zJ)7Md<<$jI==!YE-W$3twupirm80*A#+@`EOfK8q6kM($8macq_y0930;YscF2{=( zysowujaPoYh=X8}$FL1t?tm8^5mmlXQ|VTyfW$;4%~=}@AuuTytvjg%5tGO+;PUrY zV6AV&yuZ5?hQ&WRQLm0UOW>HUZ_{F~oSnQ^4dz?+wTLhcdjYzClWB!}f==PmvL?A|Sr# zp}s4RDQ6RG!+@U7y6b=RO_zt#xc3n6^`YqeGCP%X;c8K+r``Z-+aQ*EMz(Mw2(zkl4iMYEBKO=A{ry7mJ@OlnVuXKhr zqV=4?V3U_^9@AeXqw0lFwVM>@?ZsLTC3%m<&7L!uABti{VtOy>(#fsbdzJCvqx6P~j{d-{B(urGFDDL)cskzuZ1fTdYu%QS%HSVhQ%NxiR#6kX& z3vcfWc;qq>WF5XG&YtetOLfs~xvt!7F~Apkb@JiGs>z2P+>c)K3Aj~4m6zZxY@t1>tRr6)c3rf|(=lAO7NEy^k8cST@ zlKVr-WF$v&rh~p-AY<)2HDQ|pY->UZIL4Qfk#)S%Uo?mY|ilryX%MB@9EDHJZ6@+Y+$9HGBI=<3CLN2JRs^_`${ zSr&Qql-&YC?B1jC=2Y-!yt-XNBJZZAr@6V@MD?|hp^T4jmjf?oO^*A&&xT&#z#xuF zZ~Y@@IwlA?$+sAkag8u-o42<2aB*2r^<3AY%3-#{@#EBHx-QTo=I92Okbjx6|JSm! zz5Tua`jmHeUG~NApFz*{yucc@&kwGdkMYs~pJ!q-m;HI9Eo>o!tPmA3ybmvI%}$>0 zuDRgzqU_8hh=~cm{$w%FW6tSgoG7Qfq4 z0LY1{q$ekG7bd9*>viY>ghZ1Q^HF-o9pc+Ayn=Dx{yh#3up&vFoM+)iV*TSa`nk~M`Y)zrisC%$uLXfs~ZUhGT z5Uv=p#wdk*%@wU#CIj_3$Gsz)UfX>}(BK-Pg|_wknQx@`A^9~A_JNsJQTtxj5I zF>(jhTTLgmvUy|A2-;>r*BGv+d1XFXc@)`BKqoGZ*8H zsHLk$Q!euO#u+_$ySfB{Gz}=6-p88+pm3N8d$oYA?zc3awzg-xm6C>+r9AHZVzSXY z9(=#W|JVNM&9T>d@BQu0z-ooAXn{<&)hx<3?0~ZT+NcryJe%9*Hw3!OCDu_~ZPC|F+we~9Bs-WAMkhn;^&dLt_d4`{MZW`f zA*)j4O44Es&rO?BKhgamw%56CU{ctj9 z^u%lcc+hpouoN_N_unlmAzt>KRP*58r_(~q(8oPz9b^YOEHWT{K6vs+0P7)r`013j zu(!s<9tp17^6@fpu4uRgAKH(_o@}NS8$jSACyW!E$CzhV>A~;Q;QlnaZ*hI-KfT3# zwt~zJDgKv|G=h5p6^ZDQw(g{`(7``NB?I=QJ#d2S|s1#3NLERKbGo(*WJdy(EUy?5(Ch zXEi*akCk3Jcbnw)2Ze)r8dv#1WSw1w6I>Cze$+fzg?&C9h^hc%=liJQd)qtqVo+6qZ}Wx@O^CS(Ni?5lJ(yTxoqBzD(6N0{)Ag@ z)Qm;Le$W1gLcyhW|DuDl3dY{g>X0dyP+6b;rT_$SdsMT#S?h+FfQy&h5vIWkH#F#G zAr3tE=AZkD$Mmz9CsW^^?nEr_d?~Dz*B?Elbzlc?D`~-gAYC7^@WfRe7nLpp!YSIC zBGxxXd4J;6p$L)ZHCh}C z&AYT`n@@}X^vJd^Hh|!$P?8}Vbk)Rj7!Fa#JrjU}J2L|j&GoVdAH$T?@^yJ<_?2nV z9_#Rp&M#lsKK`$MgR$ehM8y;hRpG%+*S##kC^M)4%__d$CjrmovG1*B3M)jeXz{$! zRAq-*N)I^I?d9wMLRZ&JGK%!XyZ%$T&v?#0IULhX0Ku8iqM!GmgPT2E9EcXl8rt|D)@@qv3pm_u*%& z-h1yYM2j9}l_WYr^yq>hdUO^+qC{^|qXdaglqkE1E=nQ@QKBb^n&|d@^7(#$zw`d_ zzK*j8XV1Eyd+wS0nwe{6Xo2Zjt0oBhn`lsKggpzO)MoxkjT(uTW9GYeOcJ|AJ}B_e zHTEGfn#IPrEAJl@1JVKq^N(!S#gNlOdr?;1ABYd;sy;po zBA%-yhP4k1K27%_><3UY=N1YB4SjYcgCxm~VgO^mx8CU%^@LbG2`yQwUO4=4 zc*pS9S1?%qc{K7}#KYyQ{SflnRtOfH385H_IMmTm+EBV^Y_nRQZJ5<4xAuFZ{jI;V zbELKXB2MK3`@?F_bUK^u){jr$8ZG(&{Zt?`1JA~u9*plkM&`xFUJ@hpe}xgxg1LV_ z{1dj2d*#>i-QJ}S4!F@C!^(2+gEz?>uii(e0^*bIkTrl@0Ezlqe&r(#bhxyeeEPNb zViaCPxc%fv>?Vld6W%@o>f+oR?dQ2nuQlK7t!ehSyK4=`<^^1Wsh9uwVB^oi8Ip}# z>Ff5FP?0JEx)B2aQDYN^YxQ>EYj8%AUC+hw@5|wdy#YM1UX=~}o?`S&2o zQ}>@)e(xY7fpavsfYVg1SNUq3I8}aDw$;ERMOE^a7S}IOP3+Rdexs#oFZ;_Yuitwf zJQU_TdP4M<{=Oa9hYx?240(18;4nj@nd0ywhZbGM(XgA7QCX1W8$H0*&BhDN7`~}R z-Mbf4H?_b-**fyaVz+-2n07#u!EEqs_CMPe%i=wMlSENXue485`~?h;B=p(oA#H(x zam*e|`eyE5J)PstI}m%$ZCh#*fk1mdcSPId66@dbeQ~>l>z(!LW-=^<7zf$_mRJjdyJN zBwZX9&FI1->~8W2p|FGkoe8I3Q+!9w=PgbD?s6*Se>6tZCB?u)veUy6r_}hGB5x5j~5f~tPZxpcc?er&F?i4?H7m$M|N+0uHyg-#i zz0eQkShUL#WC9**LM)gZ5TfA-8xP*_;)%k&d826kXDm;4w`z~Ti zoWR+cO7RgR5oOg&JCcog=?_Vtw)G_i)roArni!2Ph}!_0M8qp@ontk586y71YNXr> zJ;%KCaGHPQhRGy+t|xyG&w6wgo>OFLGIJHi8Y46F^b^pU5t-Zq5j7Hkq0Fz92%EEP zfi1c-q&;9HjPFm>RbmDv06T~Q$-)@bWBgOAms?%;i`VD=Zr5K=N2xuWJ145YrWL9c zI_Ns$*};*S>ejr06zN@T=CrZ(qwk4gW=0(LO$u@U889%8CE6bv`t-gZi~n~W%ZOzq z6O$8?LjigOo7n#%N8{~t2)5@xoFMhM8s|>^SVtX(MZ&!Ej=nCg%~g395L`@^h1F=* zEfKjbSXO{=QqZ`Re2eWfo4l^mCa%|YMkJ*q6CxtpUgYIGoXel z0TVF4tIynf?~pJ|D6e4TFXVS-ME70T<@s_!!%RI$j<(bq@iQuItv|4LGbFMZw^*Ul$E_%v9a-XTGM4_>-JRDTUm*c|r{^&0t(0GWZf``0(DI%Euu6hcEa?y~%^m5#f%@Bp~b(W>U1Ns&+Aewao2P}{3GiENR4 z(MQN`2H3*TH^0S{@rNL>kNx5l9ks933s6cMsWNpeI}aG+|Hyd7PkE&^T=#zHE+R9l z1w|Y%C{v$(^cz-Ey;~UA7su;OVg1x>$C;CP{^|ZvVRGzg=-x&8H9AeMApObZUfj5h zeRVku4B?vKgU*8V_BO^~rO&e=Dc&YfAEd-oXN+E3a-XEOAH$=4ZqOg|Ipz!iHcU-G zJZ~~65}F77fTxOFp{?Rux!pqlcOlbUX_$M^?&jbj!^Qsq6F)u-wV0z@WWe3Ych6?7SrLQndzEW@NEnl8!jwjL0e77!x_X;-cx_xi$ z))rt)6S+m2wJl2YJCjGy4YEs3co1}^Z9zm2Y?mf@kJ*A2KW*1GXKG+s%QY0w#e3wK zOvwG>TwWDvj%9cDQQ!p?Ao=!s`gnZ%E;~LZo$$FxS3sA&8L7y_a}K2!lzFDwF*Nur zEaS{z`=HgKJG!d9A`0R-O!v5AuIDXa@og>6JB3aKDqjoV3L`;t*L72d=HF$O=XEq5 zmdhUksoJI3v#0#)21XQKWV2i&pvdIfl!c24INe9D!jQkRFSn*Wh|%)h-J(apm&>=F(F@|+u%M>&q|v3o=`Yt-!E z{KozE|4|Y<#%3v(?mtNK8AY5MD_7CIvB?^ni9%>RPZ67!%kExE!|t+J*3qw0M$KC~ zG0L$ZQJHn!!%!RTNe>u2X<=m>ZkDvkms&p;b@n6JmmU<8YIob745qC3Jf_3O2$GP} zJ%GHR$DQ``u_>={EuQ&IgWy2u!zc32iko|qE`2@U(*67jUVJI! zCGrEi$|VGTecM*5`3aJ&xuCN6S*g_hmr^`hYuz8xc?<-QFA?kU99DO7`iieQ9Z^= zFl`bg%gz(-N^DxQfv(E(cKPP?0cz4_~O@&-LUyebD!0)#G2 zKFtn7T}-PwA?(V3^UWI+Iuok1${Ezf~`n;-iJVlgW_@;tUf82G($w2eShBI z%MV*<9Le#;ZPwJh)*KfUG2C#wc{-tRv7^LSp#nw-uk2>+Z^UG9>|SrvUjC$WELN$; zncc+VYSGaHkZtQNelmn7Q5TWpW|Gwvm6&P4^Ke7aL*0s*W|I$}v-~VINV5?;=6KCo zbykm7dX~!()T>7q!qwuKRN*atGFEfHAR+hg~{s+ji_N(LD|1uwI961*_u7tD8%AWI+t}Y}W zt5UI2N4hP+JN5fHs=%=rtB`MS`aI$F?OFVD$3VeW#BtWpqka5kPWrz;DfM?;yk?g-|D*TOCXn-5r#n7HL21Gv$PQVd{sbNOLd;OP?hEt~k7r^NdWo;i zQKJ7Y1cp*CD<~od4eywP5c7X51A2glcA!c2M0(@{wi}@!5S~-GUU3U z>*=8s#0oFABNA7)2JFvf8hb;krcVTYiP>Z~%@-&MezoDtIg_55uRnmdV-n2_7{U1Qilxg@E0n6>N%uw&t_>2qiFiE-rk0AV!-`_-|g}A zu-wC`PQzyFg7W$RRL;|h&&_&>>1SdSzz^*!qfl5; z=F|jGhZ32^lcL7=#3Rgw=Y6jEmaQcc>8_dcq$Ma_+-!m=k=df^(S^yk-OO8jV2pgw zUQ_92aCk)N5hYQO)LlJ%7~1L6xvMdo0qDo6K3Yght%yUSD0g7Qik3sPK42c zS<%@Ssg8+}?r`GHt{z;fB&of}L*Ltf=uOU=ah~{6L5y-QTEeDQ9?XYjoKarNFLR#W zwn@A15(g&Ae?Q|(Q(9Ync{>+M&V{3#nF*i1d*0dRv}J=mcAFSj0tL>Is(ZtOFV z2u1{cPJ%3pP1%G-sD(!r<#KXN+ei0W@uG}KfKW{(h0~Mak$yF;KUaLE5UlHTlc&$o zQ(ikTPu0>kHdf0?)*W(~>_myx-q3Pv$|i#%MIvr4BkL@G)_7!{jjIpVXO2WqhzO5A z!T4N9PS9n zN&uiFqRxodw$`$|-1#lZkVHAaeXt^@p9yX@k>+HHdy;%plnX^P`(}@=1MK+suv_gN zl#kY;H;qqetEs6Y=C`XwYxV9eZC`;?ec6G&gD@c^mTu$}J54>@tn`GC-~M#f@f9@l z5%Dp9KbD>T#%KCj&Wpd1XPTVdivVWA%S;uXN!?cW!<4^|)fy8UwAR-(LOv1s~} zk%BnCjSf9T1}HH^8^=Mwwnx1%&|S{4SPli`KfM zM3A70S@`UI{^P?3E$^YVP5tXa8CG1q{ru=JvHxyRz?l3&A2@sLPEvjO8(NBOKs7rDM;J4fZ1$(NNu?|#BwUu@Yhl2@D3O?*A zt9scJ0iUYtxP#2VTHy;#*GsuR>N>$}X?D_78`7<>2@ygzg~xEF%cS_3wj99r3E~L9 z3r5`2xeexTQ|@PfEJrVamJ)-8|Mz_QezSZpk*j~xid0=PPN)K`b-FdAk#ZmDX8|cX8H{f<A&Kzkigp8DOpRCnDXc#5P; zg$R5^RJls*O}-IBR6qMH^{l9bBWd~e zK6}UXpR|;e`(^#1bGA~q6BGX5UvUgA*~9|8`%>aJ?yIV*RwpT4w~92oFD)MCI~C+K z{3%z;zr=Waa9L!Erwiu}{#98R>eQJ|z_NE4>c8NZ^)tgBtm<@dC{2vgXs75aAU-^) z0!Ea%EjJmCNI)RmNGSiD; z98Tia-UgMn0}Wv$4K~LMW`u4RGt}N>kTJGPegNoBYIcs^wii4}g`UIfqq=KGubwMve8; zCs(U%-453YrG3!(^jx)$8v&Q{OG}uT7^wpJv$WYg zzlBly#wxZH@JM~-=~mpdy~&`%JQP31^ZD~Qt2}uhs?qX5Vd{?J|11a20JBkH1lk=! zB?ASBL2~Z_!34+21k>92BJ^pHDEvw0;X4$WdQ|IAgb9}hP`Oa@H0m8HmR{B?ntN~% zcYRl2gwO)}y^aZ@?Vw>2w(R`)78bib#bJ{?@!sQ)DEwOpX}F_?h|nVuqn49PF~ zbBdv^|M9TpNzUI5^6nde#f}osALJyy7YDeva$(aE_qwgHG!A_9$*cZqtHEMo+$ZJA zW$(ig>eS!1#OU0ngYbyaq=c0p0eZyfm-0fhJx zAU&tyvQfKE@*>Rn2*?m;TUeOrtM^&7^xtJ-99#E2w|ME^Xfd(JO{t_df%`V|k8?^b zHXIM}q+(zI>(=~nC5dQf;!=W}R=_OY?LqzzcEyeH_}7igMsi5Msk8QY(;t*K`0atI zL12r-Mc=b~L8R*Ou;u*9TOl>=qpw2S6wgs+&#;kNC2d6Cs39TvbrV3l2Bp2r=P&GR-B)`L zg5Xn8S}_6rj#UX5KA@)kcbK?DhvNuc&hz^7@m=q;Z?3sgI-(az!OnKA8FzqXdhG3? ze%=>b>zH56KzwBSPtV>=z(JxR^*|5{3FJtm8WHW$(|^#ppY|SoEx6!vsc?rK5PtKs zx4BBxstJlE1Ox$9g<-7NbEm*uvF=ohE={o55{I)KOh&!=7NcIT<7Xm(k4k6JJd$RcmDi39=+;n-X0^_B}AXS(ZhZ7K4- zB}I-~@Gd%Cr{F(@N6S*;^5$o?y7}U4HIa8FfOj^FHJ9Zw227y{Pt(FE5b2g)f7b`OKxxu&tBuO=v|b?Rqmo)_|`B_9RRw8p@7{T)hyd zWu-rr8;Rf6DXxYLYzoHcZnXcPca)PSe5H~@oM>>pedm_K0Q3-8ezwJzyVk3A0&QNv zDU4q*`?OA2Gzi+5VMwgQ)6>BPyaZP$R+hfbPoIjhKoDnU7>d2^p|*Mbw$AV(Q0x4? z9RkHy59$Q^cWUzs3@h&(nfcFD;5(i$cbkC#4^1Pw+cxgDL1gjeZ_1pi*YB<|;Pwe; zTTGPdnRx8fRJr=95rB1)G#-FB zuT2G0B{sDls(H;zrP0tBWuZc)8Cok z-?ME)J4O710V|wf_^4Ml_9W6UA4A7$bR8e9+*X}27K1hh+)hO&?^Of)d6#T{*~`)) zBe1av=9G_wKpGsYTfOnOO1+LF)mH#`ls<$xzxC7{LM~wpm_q96xu`TAK($i^4wU}Z zsvq2C+jP~CTD32>AHEpI@5}zXyzEE;cxSP7560G5A`82WnVQv84hu-3td*!6Nq zl3>%$Xi6Ry+~HE-xGa>GWazX`7_dsv_wJ-G1CqzTe|hK$-+?hTrf^WXLvLasvM45Q zyOUo9PxW3Ry&BNN_2BBWIe=sH(ELW53N3JCR?C$j55ngSK9GamWZ{RGl8t`AM|<;~ ztin@h0Apa*`P2HVhqe4p$FoX&E_RX6)9ZI7Z1zL)90hhGA~w~4%P8^8KL$UCq$sRM z*3BPERLCP{BZwZkRd0GF^@o?Ff7=&z&c5kn>3`aM%+mGp3Oklh~lR+Kxh%L(wmIfvC(V z2j@r*RXBEc*-oT2kN)${@`Z>DM+?o+KSShpT=LLFIfatsB!aS)CWN5_VH!XXLTQw` zwQ}>Y9`Q;8vm`btY6>GJy|4YFyL$k9gf#KYr}d|eQWUkD-r;30d%4c*(Hm2_J``2Z zr$u*jK3%l4YU5ghGjP9(*+WSnZAx96`K|)wfKXo9vtDwF;bJ?y@4uwzOWgzZ7m7A| zG_XB1NkN}i***U0JxBWdr~xN92pv8i#cMd-IE>*-M@i`ph6%0ggBT_met;UBwA~Ci%|$DKjXb;31I}u#ZY0ix5 zSS5px4orgVL>U7g1p!Vut#i(;#(&z+YMjP2?BIR7k9LvtaY0&GIKzIZDCHL)Ndo#j z>cp03twctP38}OJWh=d#u{wG|uiQgj;CdWSb;j0xQyhqloGZ-kz@@}+xOLQzZJScr3kPWq34>8n#U zC0hOLdMLXDM0BnM$OeS8qe6RRtGx;ffeC+7i4bI&*!uRL!tmM#`yvP-*jw96mG7FD z5N(E4@D{iYMf(($idI~<5qlehM0(mq64Pu%8@&}@tTL4+zQp=9A%&9OJS0~i$)4l{ zZ(5<09(6lSNg=pmx^mskt=E;h3Z}9g{aYU%6hLOPpR7LMwGXuBQxeA8|_ib3>|7$h@VVA%7xKfK2X8(}|M zM(bQo1H8sZx2rfqW%gXJB8ku+=63Xw8X~1@FBjg%TISY4vG@>uC=Fc=Ovn<+=6UuZ zELjVj`b$>zJFVx<_ktEE`*D38{xr3$XFTH{L^lMkW6sAS?#jJH>=*(2^cApaQ>bbTA({bmH(2oq za>vub6c~h^s$&h%w5Otuq6se)Z4$qVz9a$V-~}nNcJr|@%Z5Ej;=23D^4DLdXZfsj ze-ea0m1-=@kBpn_MZF+IN<%^x$_SPnJp}+sI$h`)%Qs$h3<0_m4Xf)VL~p&!if^uG z_W0VYu`Pjh@g&~?cwTejl!RNPfp$+wh-ggz3p&)H{ zTSB}hA4;r?)|_4a{x#&9f_FvgI=lbmJR5-`ok~@pO(qLuzK~X7;_V=+LT8G#vz8{A zw5(%-1nSO6Ah#(2Ep({ND?5njmro~JXTQzrR=k>)WouUvj$)pSd4FUILS9A7EVlms z_M8tYQ}ey#H{Zv6xFE$<*SSK=gK{D8aufmVeru2Y3udgA^$8Z zQ19DT8)Yz98;`(}=0VGzltqqT(Q+;#^rao>uvXY*$q8V9|6_-wjEoQzefB0-@eadF ze6*;;3=Ni)nTz{%qPYugZ)W?9Q-nD=@qq<~T6>M4UeerevFwo^46UoDVGDSO$d3O~HYsS7AAqGZ6o7 zLV9s4kY)sHf~up(^@mrDPpHmapmv}I1vQTl_-y~rR!gzko3+|QJ^U-TFOkvobOic% zToei>?HO|y7W_Z>9SvR4y}$7$#@4Oesl=`?*oK`0=9`l+7L_4?77Sd-sAziFh_05% zRJN2R5^8Wj7K-AS0Kq}#T}l~xoLb~n2mFfLpH<#aW5k_h;a*u1y7>dXe1L<>((yaY zOz!g&to98!TE6u*xW)(jW|}UgF87u{6c)Hfj7?b1N*06W8f-URHO52NUj>ND8Ur#! zz*t15jXZz{2r>iyQL$^7+b9qUt0S;Kk`?pDKS*$n#CD!<8jy-I{W$uAKKxdyKBR_Q z=w$B84y!ip(1T+oYm5y=N&O2z?`omE!?QVsd&eFU{m`r9I{K)H{PX)u&Q@aKp~7%T znD8a7JQ1tc57%WYQAF1^Hgp*cJHbyvr!hLEYlIWYBUs@ULv{PBzQV^}gT6hO2oF!BEA#s%W9f+{0b{p zGyu`p$s=7P5&DJ=-COYTVip7};aFuXM*|_R@;C757(1sq&96MrKj^m$bBmZ&Rk4Ny zl0wrKKP?7#*Q z46+Na1}_v@;LU#9?}`r45kb8CL5Q?FT7@tZogso1=_+bMUo!$=bYA#fkL!=$=x;dwuhbte zAz68`7P0Fmy;Y6;Xk4c$(&}gc{nB`>+gp#__CaaSAteHS6yYU^xyai7T;^Qo!Y1tlTuCF&hEZ zC}65e!}%UjQy_}Os@;Nc@0CY3htsqm@kqQMqXWIMS=PV&BQI~AI%gAwb%GDqQSrZ2@#Ra4Ut$r+F{I8eE@HKbS13{rxg{Q z(1qA+8{_4S-qw*g4_*CmarX4%>|aP%XROc8k}}Qy=;1m;sewt3x&vO)89WIWJgxe? zuPg5F-z-B!QMnT&=`4>!Wvn4g_W^=px_ho^L)9drC*0(7Ddc6yBVnh7i%0?>m+`sw zC<$F|wri%*au5R$#+wZh{m4kaDSKQmZ2NH6okHd{F(5m61PW@bEZKm4ue>%UrnjJ| z?C$@_2oQS=Ji`#7lRo<(Tk0%9N#i}AZe)L@M-y@O$0BYIFAI-37$W8;0m)2F3aSN) zZbZrY*u^*}Aex#&GUaXh6I__rmTcYTQQFYw9ZE-kOWM>{kbqPM{+NPJz9SWQEl8h_WAbx#h@ zAMdi0eM%>+LISU$yD97E-^86xm&QKuRNP#CCJ8)Gxx|xjwZ(cLhV>K>l_F80^8oFs z#fgps3{5WyOab`CAFsO=K(So}dA9ILiBx9LoI_8iEbiG(o&Sep&jc{+178x{3I{hq$2{V7xM9R3Fva~oY8v~ z_*;8Qy{*5)3xW!qr!nyTaxQG8vXytjv!Jk_)YaT%pj>Ml%=~0F zpt2i=LQ}=G5FkEkH*v!O2zPcHPWNXTk>l)^P1ap{IX(T&2#|u)HYo4YugP9sZk}$k zB|d%H^%rc4mh|JMhszHy9Ao{g@ZwYa1~zkZ#n`ScAsWEl-D%(SLY}vG(3JB4=IeJ8 zvAlA%=b;>Y0T@(z>^Ji%!z*2Yu-_JmtMsbR#0JcCcqV4iETpbZ%Br@XVYz-8d|!)e z&`yi->ub^$H|iLHvw6Vy%+xCTvX3*zA)Vx+L6wv=ed~Fw9Y?p^Ee*v z!O`taMD`XkA%VocEcy=Gu%4HUfS(k=JWcW#FyeEjd8kPfMM5G0*hL!y5?~2W#QOBl zfbqesUelW(4Lvk8w7-3)z;tp;M9kG#&&n_kyhqE@IcwFZY&Nou6qS=lAE}j}9yd9hRn4(+`a$RHn zbY3Zt)ipTzJ`kqeTwQ7P@5yX$0g=$4$z(T+HKketS0G@HqX@oh&r=~|JA84#1aMWc zC=-eU!*At>>BuC3S98GZYb0tGl=4d?8cnnozh`9}%LuG~p#AL-;a4YjbHbB{NU^U{ zn0*oj!!A9reTF!@7_0q*(`$-$oaq6u$3F>F9ZW?lr_$P*o8R>Z3z2`5*=^D-{UWUy z-(AADCX>gSd@V6If9qpH@Q$pHTtHs!$n1dWJ-wSbN=Ik)Hz|I!m&2IoUKpIfO& z!X6^#pjO8HPQChz&Eaum9pC&(@MqvQ`zL={5N|KZjFSm>^px~r>~2VuXAQ0ZdO@b^ z3&T2wCPmw&rbBWW;ZKV1tmcH`d5FA6J@*HjiAJn(8o^-fx;l3$U^aJpNzlvEe;)mh zApb~%U7Y(q3j^!0Vy&pSfv-hKY{*+8(`io_3b>!eC&QMh5}$H|ZB=FI5I0hZ1nQoP z9h~kFQzUF(TN48Dboa2`?bLOT`+A}$DdRD6Lb;CXB)XmS z-1$?fB(V0;dRRr^vCR$i+7%r0^Op@kZ5_jnfP4jmp1y!o>?NZ-mYzjrc5O8M)wN6HWmdZCT?Xu z9tY@v=a0nostt4t36FJk`kUxF#5~&;->2iI~A>_(a zDw5!ZvUu=mxuhL6kD)2WuUp?^cKl>V65s88bK6*>?KFs|@I^-XlJOJ3C`{N^0!VfY zP4*+&)~agJ1A9c+Fe9-MLpA`nX;PhjWZ38Djz5<*bMMSw(?|m`JmUkklI!%qb$pCo z6nM8R0;V*+6xnM?6xHaH|4_lva&WDC#o+}OGj$dt*MVf2&P3;Y#h0WfziGcqC<-lJ zb<6r7zdW)O`@FIY;>n-06XCvxC$gYa{|r;TtFkJ?)t~D$4u;c@twU}TdkBY#2i8&_ z2@{Y*w3<_#Z`m5wx&r1ggmC~Vk^#tQ;=B)IpF(0$$y(+A zsVQiKHvsQl%3a4hZ`q!kEFN_nX5iV$KLg0y4*i$51%DskpEj%F9}zfg``Y^<1~JJ` z#9HlW2G&K%7nQBk@G@SB=v{PLbEKW|gOg1)SiwSNH>&un`1;-ZX0m8zyv6a++^pB~ z3C+y~9SQ|fCpU@^ z`W8a|7*+(bpR51Rp6qiqPWBd*;YKQcEql|3e0U4Non%mpf5dM^`}w1!OWeIlIuhO+ z_~yuO-2Cf5b%eW!`yNCDk(1PbEUTbF!pRZ*8pFK%GmwV{0@ll>CZgwmkW8;0T=cIT zoUo?_vQWOj*o6+Y{?2yV;pSjI z(3i016cG-GkL+gMWcc$TVR!vtN2Xk5H#cK*!|z%sTBm;|64re8(Ni1vryuEr%&agQ zX`(w#PbldDSJR3}<8_Ac(r25G1l-VDBtq#GY+re7k}Y%X9w;&C!?59DT*_^zv{}Hj z*9{n)jk2NutpI4m!PDWnN^*V2WV()JNgsOy{p77&_t~WPC4V&a8M8Uoe6Nj_?u*zo zMH?peJ*waQ#zSWIx&B`jA0VPWkC=pr`WuJ?`U{8GwvK=LXiJAYpCBcwi_=bF)hxDt&z_@^2? zY5(Z>ItL(Tb@InHFPyE$9U4ZIeYH_11{}=zm2dNYfUpnDjj9kZruhD7hc-X7)(owG zQ%Ruz2C`3Oocarpn#@0&yOx{+_`@RP^!t|--yl(SkO|8>zor2Fe-ArE_Wwa5Bt5Y`IfHP>5{B( zz0$14uaHcRp@+-PU(n0@os0c1Bg37I~xkU8?}IDXES zHa_4)7vBkk6{T9TPZlu(ueBkwtla-|Yf*u=pEpWGZ?ZL`YZ)h%`5^YBSKmErxhG|K zao@$G@%xdDFb1A-k614Gje8eL_HUVnbZEhI5G9FT4pREj)7Ff-!Wf7_Y2onJJHSf@sD)#Mfjn`Nul?je^&iduz?sLn6 zYeoV{0-AUJz4E3(*c&&kPu7k74F@49H_xtvLv9Uar6eIY{jO81c#+jp}lZZ=$aWH4p*0^}9>hLXSdqd0Qb@I?fc;mF4-C}k#}~|y$v8w zlGkx5jJkm4lhAb+gt)DAfJz8v;^a!xFv4-?E)!rjtzQ2v99%gE`|#-@N8Ha~q4Iur zTnsF0Dwe(u>@VR5a#bG#=`sIawOL^(tF)|h#qgLi8VkN?VuH&LW-SfNlZw+JZ>9T! zv&lwq?{e2O_ZcnNFE&TwyL6(s4#V#z!l%fe8!*@$tUTwC8;g8#H{3~RTQ7MzXD=7T zBre=(3iR}zq0wh=ICHP2hC<6+Q6773XIAY47w5D&>T6!A4H);Ng9e=7bSj~qzzC#K4+Wzb%nesj=jTOl3#Z^~BM5_k<|tJk zR>X=#3o2g-51BQAY8pU-7M>2=@=P2lFi1A1^iO4GfP$z4~(s^;)=l!J6MfP(GACZ-|j3WIeuljbDwoJprHO< zqPtRbO^p`2pqkH%k2Ay+HuFVyxn`=Na`YR`nQ4f9Zu3T6fL0yRbqmBCY~Z;SJLHi1 zsPf|6DA5Vmf@gf?#>q{`-^y-t1~v_H%;0Y)^nP0;vmF6?QhbwA=(Ksj1}+Jx*aD|S z+tr__EO%`~)8C{1`n>JvSjyNwD6^9zUJt}rvMxqOoARDrR2Yem85kUPS``}**(q#4 zv6jPLHV~uTq+Hk9vc*;(7;$9Z+B{}1Ctb6v&z<~y$dLDR&bp|igz2X*-y0n*14IJo z4AWLlWd-bb)R`Sc}wyv*~xj#21}UCm^3FO9e=r2J(Qf#ZDTP84=QMSrhtkG z{8me-Al&)6-#fT9UEK#Bb|15s}cHpP< zccE1yud2UVbEV8YNSCxGu4<{P0twPoet^&jJ?GlW!QTCh6!hgx0V#AqTRzPCW$<~) z`#`HN9r-4=CY8qb+dury|Ijl&t5%+?csLsUXqy+hKggDHpAO~1i)*} zbNL=&X{}$O`ce;`q%nLC{B+R8-$ohqjK-eFf!DW;8nW}K&$k)l1=KmXT%E<>*9jH1 z2NTGYV_wC4G(QP+sVx|y;v!(FarenIa*{A-JxO9y8}oS-1p-6y-BX;?TCDfv)=m3^)7#&uP1PSD zH}k$o&CLa|QobPD zg{BH~>)_OwDp3(KqO#~S`iO35kDk*rW%`5uD>`n*bm%Gg(K<1smr5%Zi#Yb}M_`=W z`qtmPLj1wesqnf28wDX;7LMngXpNIQe&uwdaZnRfs13(4trT!fFdb~lQYt|_Cs&(4lNeCMq%5| z^sk(On_`(dn!N(Al`s!pzTzq}O!tmp(ftZ*t#Vc`n_;@cz<073>``T;aK2SCse^L3 z_`7?M!lU&F*M`A$)SK>X_cz3pJ;GwDk<8yP*Qq`s^dT?N7hkF^sFIHCqoShD9~$1L zzVpA|Zz0dcxzyZC`QwWJf4?hrHVP=SZRdhpMjti>mn^zDsv^gOmu;-Gb7f z2uOo80#YK)E-C_obO;EGNJw|Lf`D|VgtT;>H06TN$)SNlz+?hG% zb9hO8$X&M|DBxjiwvP*)%H z-R1;K4JvSZZkvnluB=34wp5o{Bf8JX;=4^zas# zIW;pY6;_6A?dFiMgy7n{4Yd*?GvQFN5`-#fGzkVI^WMvVCLv_o`=bNy?P?+5mmZay zVWVNpY`4#V(tluLIcMqfhD|*ByiX7O{HXzk4)RGoO})yWp`ah@+ra>r^1>B!dG|1V zX;~*kd?Q+!=?4cH^Y^U#(`cQ*Xv{hTN2Os0iv!8O1nWhI8BOgsicF;HFsQ(xB8F;iJ*`aOKaCB zn~G2hQQ%+EJo-&2Hq3&*|C_TRgD!Xh2gfVP9!a7P{xi-S zauUfRZYQ}d-3h{?blxxnU2?SN7hLT@ti^2nULwGEFri?@d#6hhwd3FtNZSNy-eOwr zx@FDC=qj$fXoQ-4MTlNkl8udl&kJ7B_38t7xxpks9{FNXCE1`hTrPz0t;x`=Kh-$E zPNt#ohG7`43TAWunQjT+(b;B&8=;V`&qXdptW<{%n4+vx%8f?cS?DKsad6rovDUm> zWlK3%y7-I9{Kl7X?bcWt@I1Db3{oPDmuREaMC5#LTjrw4a9d7d08$q2=DgMy5>Pb! z7-2La2;M+V7q&g@IBNbHyoX=E+d&5T%qVc*=|7V#=O7HMIEx>o#f}cl{f@?jzbq5O zmXTAv_mcoH&vFfe)q7gFSLLj7>|-6pb~A@7^1hS~gDG1{X-gN6lF(8e@}#%K)7S`! z)An8pQ{9csYK4}Z`IhY{EtU%i#E3;5CCFs-R@Xc)62M$U^Be)DwEoL_bR$Tadlnrq za_TDaWdlxu$#CF8k0r0|Wd+*wlJEz_bVMVz`N+xU%5&8`d7w?GM%M1v!L`t5)Yhv? zR1&5b`ONUFe+do#^#|d+PWr2(1A-|MOKVHK=<6mm_Lr5UG2m;s1uu99F!zhUZpXsSL}A#D?6(zIZA}o&m_yl07iyLWS9CB|dses< zFsf?#zc=~PDka=;0J2Bn2?@dWnw*}YMJ!W0qEs>cK|m8vTixzxlMA!&;*sxs_Nd7n z0YHwsYv%t`IARh$+a23au!+aEvyVb65%HZnOCQGiTK$Aj4aR+?j-9>@X7qCU|)Q+B1wIyeU`l@nFH( zdFOL1v;jq{ zEcfoFG^GZxfQe`3b(}C>I_!@R+^WlWUVkn@`2I)LI09f_;;Zf1XaL_=m!HrOdpN3; zhDxH}Nf>PyF=O9ruF<(>Mq%RHefqqtZ-wUjv(O|Z9I`uf~; z7j(D;t-u^+#7CECtCQc{7mHV@+IP2~#_E!Rj@Cccb3_Ez9ZLn<-@q@5wG#%jlBnQJ z+iTlge1gdazD!oX@8F@Rm{Taqk0;anBk5*7>TG1B6u;6gop73oyGv4A^DbR8WfZ#G zY^y2H$xrHPijRWJR$^F4H05p%vdPClx80yAC=6^*9s%EqCj(W zmTlp0!6Dbrvl_qPym!EN2+L5B3XES_X)SA7@M31e8r~4UK+*^{Ev(!4mt_t6+w`FL zCH5D#b!fZY-Q}&oIw`f_EygpUQ<4dlT zQv_H*U5JI{tb9;YM#eYYRdwB1)b07} zsTl+qI2fEgEhYFpO(mdWLlO-S9WP{5vXKeAl)sJD{yD5uj;->dm3s^sT|P8%DkVV_ z*5fV;ohAy}6gmiA4`Ogr zUA?Y0_&<*PeurT}Z?x}VZTK2NhJN-_G4ZN!OmR`+y#WxJReAJ&o)WM;&;*Y?r!SO} zhBuicouYVLk*!!kwyD4!JPcGXw=&G3xC_JZ*KCb46Shz zV9qYg!BJrz$|ZVRx5>5cl`VqM>1H0R86jNN+FRl2Lg1VJtquww2VOE?V!>Q+>t5Zi zxe>>HiYfb{?KBjg2P_7TI4%mtt2*b%s0w~vc5rGexQD)&UU6v2b%VgSMZ{BLBzO!P zq<$9Q`9JE%e4nXRa2EyZ)3#rpK-w?u3P|>8L}@1FXOU2eeH5c${lo++r~oH(Ilx3S z*u}x|qG&s<6~|KKQXm{GX5@h`2v(xdd7rEqq&8f|2X`BGDagu zjD{_8`jpD*yCYhY^maRxiF}a}x!C#ut4;pLa?Wq#2}P=vQz_pj23as>{3mb_fv|XF z`$@?d>u70aq+G`08J|(Q;&*pt^SIaL*ru>b5wTIr%JQG}ZJ-ipI+iC_vxfJ&uMyzA z-9E~?fLts&dK;K}R9(3i5{8~jFozyml7&mZ|46J4z`M@0876DQV;<(>?lbh3W!Uo_ zjh9Gh7(baQ!Ysn?obp&fPFL)_xR|!}`f(jnvC}*Ly2Q8gz4fEo2D%mim z?TQU7v96aRXIUpi7CHiN^!_)q)TjPhH?p;)APzcU_KpK$a=!)!mXGy*zlBVCjl%4< ztMqw_+4j`xdtE_mxN?w=ZW})w0?Z<-i`abl$-<#=6fju`RvT%NQGAX}Tg6)~9xq~j zoUGx{8_x*w-4S50QjCPzwoC*!+L$P#d8j^QN=7sW%*ItP#=w3GKS=P3wU0E+5Hxtl z67Aa+7R!q``*=oPboc)p+wqZWL^`@|Uq=tIK?>HrllzG0mkp83U(D75=PG}-HkiOCNR$1gY0 z%6?X6E#B(*;B!Ts5DI!!0}#@vzEsgPo;QS{Pf4CeZV>7TAwNQKTbe~7HmBw_l0}pr zP)Khq!pXKZF~c%21LHEUw`R2ne>F(_yk&02*MRf|jN@#*x5n0kU^e*(nl`ul)N33x zl@-5ixjQd$@jcR>cJ_{~gITk`zIy@*I=Iy(3#ySH9=m#hZMg54SVUmhOZPqZ5UMk$ z*?aE$?HtR@=nJ2vC>|P`TlcqEp8%>Al*q)-=2RMGHfhN+Xgu#0Gm#L`_H`u3Ok(|` zm>7`3&N(@9SpRr-bd$c*@?0EGA*ynrZkM^RoChNblVr(E@(*`~2IS3ZI^#g2=)2=fCmY zv$qtQv)yRQhn4rW2G20E6b zABA)aUb2+dhK93oV4?Q0QBT2*^E)DwR7H)foM7tZ-(YSGgT(CnD;0#{T~Wy?Wp66S zL275TfcT^Y#w%)9aUc6}LYU^7l@bQHCrq2;)xf~r{cTx;lE_c3C=S&;adp9#Ybzj< z?Dgp>lUo-+wtqRvH7#)t3A1$e4?FYklNcz~?yfjJlDs0wAEOrZT-(%R>#Cf-FX7uK z$nyr{RIwfEPM(?hX>?<8!S(CUHBrd_Me8{QFb8wcLQ{)M)}>$_R$ce%0_y{xBj6~! zYu(eMR3O4I5V?p7-`cRaMS9s=F@ts}sSmyZaZ2<3je2>|NlS&u?E=Yo0(8;Ds@O2Dd_ebwYX|*R@>3du z@?T?s!Wb>ZRk8!xwoT{%RGuP-N45G;7W8jkaROji)Z5p|{7i@ZK}jAu3Hf3a@eqeH z#stK5AJyhJ<7$M#*3i;+Fp0?k^&Tex+LhS`J<6^z{QTE-LsSzlDc1Va_%_j#>Dctx zyDoNOrz`Cr0oHtcu3}u$z?DC4@PY1x2M>BrvBfg z=(RBvkXl;-dP)wCDfi?+uP)CPVW#)Su2|*KuCEjI|FpIssxRv6=SI-Ck*v51k|^7; zcxq7IHnUTVyMOhhN9N2Hjr|-xfA6tPYpi=NE9iKXlc8sNWJf6QjALfWP4G@=K4P}( zmzwQZK6}DzWtjUVS`S5EhX+Cw!|J@$NKuv-_n)~{NMlLsE1 zeKaN5d<+qhfbAtvt*M78VaXKCi?<+9XCLPB?l3))$>WyDJ{xx9wXFNT$_q5T+$mv? zay9m-pa{>RB_?>mb1PqOfFo|}=g$RlZs6vrO3EQ*r4|ZB5*7e-k&B*DqyhY)5;kX( z8ADG>8S0v!o*hT89&5tTS&3+$pQa{#2HY$by7(lGvLx68*0lS-tsZ)5ymZ}5#=!dn zuh=?2A>;0@b@uw&De-k<0}*FjGVh~=b0k8(h#)#Lf!9~;`Z`3y$Ak4R&U0Q#Suxis zlozr7CvMfe(a$8hrdl8PVaap11}b<(|KMuPYV}txR~biK*4jkRH;^wLgdP{rbqiAo z*!YxVD(Ds?Cmz{6DU^RmWM1zf6Wf$feosBe(c9~KOjcG2uPG?7fAefU@O+664fBR5 z*hJZ}jh!gcPgM5-PG|F4!VQ5vGFw1Y1JHqlL4N)~zr(D&MXNx)`05Tqz=ERbUP z3>>G~K>CB~={rjMgx7`RdAyQFx#trO3S2oOw0Rb&qm`Zl1;`EfOy4B2P)+*`#6tF~ z{Vxv=qpo`!WY^_?UUkJ*)LuaAYdP~cU`n~ySz@>EpbXn$J1GG1hQ`{ww9T|1?Xxvr z((gX1x{!vluO4b7P2f}9fCQ)pM=oP3QxbiiX4Ib!iU{mYwYn4X*&U%Kh`pL_jpX}k zUohiHj<-JG`WS^nAi4Ezhi zxO-5S!9$`FZ=n?J;0qDo%WZh^#_5`T`q3U~C;oY#`5+(UyJrGm?dO}ZC0q4D35fT& zU=CmLvtRd4c>Sc9?j?c}c&SQu-_?-kUsMN1=KJshgtC<|m)r?Og{=ll9YVTZJZgt3w0>Rl(xTi=N)>YNGSq{BzQl2__W!NUTGoTMR|1_>%nJzLp`%vqAoB9hd#qzhC zL!Yincd785y=I=67wEFGdsvrD!Du2En(x7y_Wp}(#ydf{I z>t%N2ezQ*P(Jg@JBDqRE^ACH6KIB}d=%2;L7-EhrQe9RybV-;V1w;$1+yP_Y5OVUu&%EP$9Xg8n~tdm~a8qBS~6SHU@ zX7yuz%rx2|o9Nd6o=DJC6%w=ho}Rg&)U;mycH#iL`_1G5{Wa>)BB=ka`CkwGO-&u;xdH#t5Qz7l`9|9fT z=18o#+2ve2t7gAC_>w#G^4t8S=IR~b(9`>DSuN+VAlY--f~Q%s($8z@M*-G9T9T2| zoT7hfqpHT8Kt&Bqzs8U^-rHvIW|-9w{xzs(zrHv3^ZLW9@NitD`5zpCx$qnv8#ux~ z$WL&U8%Xt4W@&j;ET>y)aK@4NBY~q)pB|~3&oqCwUSc4>ip^~LSU)MMq=T|d?b;TF{t^#K5^xU1%CJ+AADyTO9PHlM;n#0GxDdO*S5=-oS? z4dy?8{C^+2ZI8Owm0D;I-;2O;r^i`z-gG>}zZ;S;E5i7P@tJ{jw^ppeJZ(af(wAfQ zYBvc2LS=6K0YUW!ZSfipcJ0z|afX^|^iSvhDiQgsi`N2|kWe;f)f_D`f}Qi_clABs zj!Cg|b-CN4q_6laoD*+42hhl+>Fd$!UaMGfKH!QR*bo}vT~C%FWIaYHotkwEv#Z6i zs}*ztmO#wSua0jai`JVy&FIqwQ>X9+Kmect{xo5Xhu9cPnI~^F{Q&kMLN2~=1O4i~l!Tw6x8W7{e(8l|O3VzRr7UpLyJvaJjjWq; zhu4kz24!95zMr)qa&9Ex(;+k@!&{gj`L>Z%TLD(*Z#rD!Jichx`c$2 z%xaF_nMP<$t$AP3DS(?GI+rrAW{I80d^8pxzi#z?1$M~}!r{f5$JRA≥1h$P=x& zs}P?-r_Ymtvip=^q2Em8*;U@!Kw8VZMaQeLxj&3OQL>cX7mGQ(t`adKs#^^p33!a)VS$xp$Y8uD&}%S8Js-_bLV6jEjAC>VQ6eExHy# z!kcH(;e>i|4(%dj#ZwP{&9TywaT5??F#}V9zz{Zx&#P(i^OO(d!u7Ob{_ZKw-seGa zP%-KFxg1%GUCBIYP^!IMjDR}ERBu8&t)~@--H#qUuy{QI&{cK@?Qp^)p!}VZO?Zr2S|Go6nRRrtx^TWg`Y;G*6)?t|G-k=J~PtkEP;R*YOhS9 zEEqb|u$Zv8K^Yc*QQ&vuDWmVcv*w(K*7hN9bsFIbwf5gdU{}i`DmAAC01->T&<>b- zRwfQLf^PBL5Z}O2Mtd$$##A?a0>t2&tky?EbOi%C_XgDoXcD2{q9BK5!3y5cULt8lJ859n|37|Ny1j|9QP)gs9xQz785JcqD=n@0>FJ%Ap z6?cej!%|@>Th@nxqmJO=7GVbA+B|=b;a9ETRvHhn?CU?=re0m=C9fd>uweRxfQrx5 z;&u$gGVF$(rzURK3(UbMPu{$8MTdKH05)GIUhx44T47Xz&djUjI$Lch6vA_59F zcMQS23$mp#SZ?Q`JXqLccH8#ru6o~21!g8&ei9=v5*mQ(i_^ophP#sX-4&C;0ywAh zc-eCV9!FQOq*47g{osaR1g0Er-!pG-cy2h+0@}V*0~BAuFJ|z^D>)JPdW=Sl7g3&d zD3FV71f3;<5D=gZrp+CJmDX>%s$k3$%i!BQ7jw*}hh&!r~Ou7{mL4 zI>sa>B1WrQt-H$>g%a(y0RNX4^Ozy?8o~l++8666l0l?H!S(GYcZopc@}LzxeHYy4mjI>8q;6(@3eji*;sm?io-?#<2jLV&dXN#VzCL_g~&- zu3E!+Z~h*;a+}wF0tG*Q=Ka#nzIqkWcOe0Rw8{0$gR82*Ti%~lEB9PXq;hH#eSw&a zL;2HG26R|Z{DORt*_N@|WRsg;96ZYZ+KKp%=!Lot(!v71n;3O=gb&QcH5pHw=jB2h zF4b!DbU!ye_K1FNixcAoES5fw-+O3_I+&}&0+Q~IUZI0SS#uX(LTBS1?--@(=gxBg z+#<-IBtU{0!v6Ao?-F7VuWPW0lllR6$0N*Uw`fx|SdC5SOb`O|TE@4dxh5)A9PSD% zI(@o8nH}24$*Wd#`|@l0eqa~{7AFMJVf+~25ShNbX4S`YBb2t=jOeib<7}k1KJd_| z0m>C5f4%#lbp(<44zO$$2w{l_+LF~XJW!X<2^(G2Uw$dosJ#^v7geLFuA|f6fNhIRQZ6j ztB={jTQ4*r96-iMXb;LI)5BzdQ)VHR#gYcJ!Bx$*Cy|fpcHzg#9Ad2H_)nfMo5^_4^6B?$N?ltIkt}z5PlGievigW3xO@ z{zE#*V*OCp3A+V@Roy=KTx&7QXTZ|DB2<4;6Av$r;)XFF;|bvcCDa+e7PJ;5pYu`AqXO@t z18b-o0oGT(Xdh8D>_NPuv%-KVaEUH3Czjxsm2|n2wte&5YM7H>_i}l28`3QE60)DL z^4#ZAKJU|^%^WQY^1)k38+ncyF;E*D8LxbXh8HqPRO4d`q6KRtul=g*;v z+>rN|u7doacj5ud+>Clu?5utS#EuTobhJde6M&_5G|~&K5I3sJVx6RIWc*$UH7@WC z2N*HE)<)?oUIyIf7%4+)mFA~CtCY}Xd5?B}Cw+?|mvn^$FfD8*<%46D6``TQ{%9ls z5ZdQ6O2zKv_96HQfeGTRd~uOwQLXp)T^!c-<%=iDfR6inRC@UEd_#t400s^Uy0+=O zX81?QGv5A!U{eOjz5+J#eq)dT=gIF@hA|3&Hx*EjN|(h@GkW79cS4x$ z_}3$SLVk$CEi_mZMO~@A0pL_u9?8k_{M$OpsUsg~WF&(veeA&59x}eYWLDt%e+K@JZ zcYiQx^S9o-XL#&7KJv!x>jh#eazf?`$`vKl%?%jRcmQt6e_N>AK7eq!La;LQ0opGF%#*lj`{!uo~VBhKLu>qI>Ow*|ys zeGA(X|Eo>a&PUX1*C?mWCg8q#-1ft0_Cdn3%ChaaOf%vy!i&7=wPV#Q zda@c%FcUlq%UCQ;$us#bB3HuSVIitk?)M-#&V07rdqSS!e_1hj zb{eQmQpR!7SXF^KIc{M0tsXk>@?*RB7^Mshy#W?E{JqKP^(o)FU)3`UyQq91LKjvr z1n~E*gV{N8cr~eU*yzc`>6F;Qv+lmXYZ~`qpOoCRYV5;@y7sB`J3nd5XwKO0PSFrN z$l}f?4bB%nYsvU!BoaUI^7-h1;{__tepuQwO>N+JpvP|g4LNAGBjqKy%Vc}kUB9MH z%QE5T5DA8m+1)XiRi&}JwZc*q=V3DQaZ(Sl0 zh99^fBuht4sf`K^g@e&6xCgC;g9;3F<%u#>P`eohmT0TXZnwa z9GlDDPA}gLMel=9Gd(s+>5>>x_;z_?Vj^sHFSMJ@T{wEmd86ciWNn0+rh3$`kGw2L zsdeSJsCno?g!9MfXciT|-Q)F;q~Ex+U*h4gs9siU)LCvpEqhc52B}shLr7n&IxBL?emy(Z}s2O87=kL+_U`=7*FIx zs`;*Xc*<)0x3q8S{LWpW8TYFU1qkp*0*jAUYp+b0?#t)HWVBj)I836Zpppf?Q=6mZ z`h|_Aa^3OSE@o$IkH&uF%ymks9af+{h3|ZE9M1$4%C>a=Vv?24{v-ghUy0YPo`b(T z-`h(Xk#&btw$RAghP_&SHKjAEl}jfs6ka`gEQ$H`J6-aQ zm365>h%Y|u2zhxg<%8ECHFD;{X!3c(N3#vo`QBVMu<^Qn5+$A7!{jk;Td;90C;m5! z!qNT9=PNZ(OTjJeRbcb&+o1jH*U8Q$pXAkY`LtSJF8HdMX$ryfC;@s`rrPqi^`;XA zi}hA$Ak&2nW7X= zI@Ha!#0^)x|7OZGhDs*ok1^Yr@e;W?h2ReOPw%;L{FA zRm{l1RPnF!#4t4AZ{jI6#%2Dhg&)YJ5SXoVw+Q}a*{ZfysUK*=>^l9_`u%O{wDc5R z1w|0!KS|p%&a28m#1@FPMsUT03%3ldqE2c#G!aH(}Yc<}6ZtbQRE$hxjEF0lsN4q}97SK@!WEFtHcu>&DPx-6RS znAV0qEfpE~PqJ6q9l`t(2(NqRo4acCE!+Y5ma|KjF701atXhta8fh)k_tcnY#`0D9 z^n1;%io&!M?wiC6S(ZJw`e`u5?YvDaW{^!(&YGFY`erC5%aO&>w(X6GA~PvLhjA5a zJC@dlND^)A{!)sL)?cM(77K3s5fyq{tW8=cd`(G5Zd!TCXf`cYWO4|4OgcdCCMj>*+TA zu6u0x9{j=}4-sL(iCHw<<{=7o&Er}9wq!xa#^lmLgx#W%}J5B{JK<|Q_q}4_e)`s z&+(9W-MZYuO$@)}R_QpbhDB916b%N#+`f3HWkanKw7Q|K8r4)G0}q-u`Kb?735;YU)KG0}-?BB;PIz zi`Sgbyv1R7M`>NoD%tMVR<0V`Uajh`tb%^r(4xCi$9FGyrXO8vJ97p7)mJK53q+BU z1SCu0?=S$R?{%t^F~Kl5xgfu(k60p&R$l9KhR~e(WT_t+XL@pE^=XguT>{opBEAs$ z?961l|9n~ychK~@^EOaFxA$crI|bS>M*>Y}6Ic*7f>lasOj?lEAOEci&LJg=frw^eEeIbeKh6pN2?rN>%`vo<8$@G(?=i9_K0;U zS5lS0^xgN!Ydw{KC#Ml|_^4*n9=2d(oyQ^nAIY>+m0ayn-@bbhu6wM<$9)fgkh?!l zSdMH~H&oCUC_#vkALJWVKF^hkvqKq*&R$V|4PN{C|7pX<-X3v$^svpL5T})JNT&hq zB%^5i;!*(jF-hn>aSyfwecJo`v@QEz*>TB<opT2QH~3n@dIiZnHOU zH8>T#qzSQGSWmUq!@UvwKU1eo84ZYfPb53TT6Yn5=N&hS3`mpOXez~n8BU7h% zW<0_brBD76i4AeLVh25h>S6Xe&i>N%lYT@Y^A5j(w$kuqQb@}!jNNUY?_4r81%4(9 z7=U6byXH!QeY_RPQPe13X+?g1tsO0X61M@bT*7imX3F0rgL;7|}P~Tx9YN;7u9OS@~%~nBFv?KzR=xzJvZ`sEz~}!q}|c zz&^>94y4;mKAGdp2Sjl>f5+3s(Ixz@j9NcV2|ad2(;@-t{+W(++{`!(qRP%_!HUnU z7@{rw{McV@5s4cCi>--pv2%TFfQ(MB7M#H_+@Ofv4X4mC*5(5u_!?A2SQC55ey1YH z!Zrku%s(nxgC=@uftKawX%i9q-H_}A2#jnj^ZyL>f z0Wt+TEU1x37ZWW%KoSNL8MQL$XuvYKUK*GuF<$+z{kFxnrqcXS9%s{qQ0Wwi0zBvl zKE6;1#+-p4*Pzv70}rmC!w*_i(yr6xSlcY{ON|TF<<_Vv z+@`$Mij!rel0u|Cevl| zQT-$?1aWB`xy2+79&D(s-DBhU)G6t)9mwgSMmfQ?xVy`Jn+S`!<^hq<>~vhU%C0{ZtxJB1Al^-!`2tZ? ze)g6T&2aFP8Bv)aC!G67T!5x0xNA0B8{H@RcUbaWmsQmjPR9-Z?yulUE~`Ol8>?~^ zpY~Vm?_X2%Yj+EylI;gRYJdgFCsQr=;TJZC_Suo^vMyl~{7{qR5Y&r3Brd2mZ0FDM zxj&&#(@_J?Niz=>cWO%NA4R*=L@~xTWX=U1yGCgav%#cK-j*5>9*H?Uzuvv=fZRC? zRHml6N)MI1s^9GmF1wZUQz!e$(d^9a1&e*9x9rZA}m213I=|noGN$nYuImSa{KvK6v8y#m0 z;c|?NgXBz17Sf$9+Ja`CG1;Y`MgQd@urYq8M3pY<(d{+8-?L-N+b2L>t+;L0u!;tK z&Y?>vB8v4_)AH3@&PVRrL5`kxKectB!wzTBX7)zg0LzH6?|46$Ap5eiH90mIZMk^6 zm5v1ufOCRRtrkD3Q;#3zM{kQy$ewy{RYrz0sEw`VGQz*7`A^GP1{4axhD z;=?ka=SvPxxtm$7mVHC>)mE1e=%?I2OcqBxqz!Sz{CW>%@+)1Cz(n{4!215htd330#!iqgV3g zPSz#2AXq296%!4Z%O98vjoP{8 z;!=3gu$86v)n{H>v*R-#UvdnwB$Ckas#WvV>`a4-b$LIylOW3L3`ROQE0H*h+?>1W zAq4bTP4}lA7lp`h00{})ev~_Cb$&vSMXqjNXV}~ltJ}=Ad9qCo169&|YktR!nLE9J znT%X9C;b?!^K5_F*i$?3^Vxd?LznAo$Q_LRe-rNoE5wSgbXLS(1p!7IWTFT&q z<-SFy>pJ5)pEi3^Ot;GCR?(&X1xXT1?VOiJ3mfpRnQqY6qq!}&99i0Zg1#-$H@xxs zTS}j#&Cs4|E>H0;&T{ew7WwXS5|vi8STzn zv)}-=%g(s} zcPb2V(*ZF8pN1OWhE2OiJtQB#K-JDb+VW3NL-gKaVM`m9Uck7;IY7xiy!uV&g91MN zc7b^PhM)nWB_Hl`J>C}&#cy~xLb5B>9{q8;eyP0mj?(v6c z&+cd79EVUp47pW(dx`C&GyGmi*~5n#F%A$`A0P#|C&NU;sOUIs>SgOb)m;)|9>(c|quhe$?HSejb5d$|SFyaqwF3o2QNvz-X7Pb{$Xr z!FoHnmHrNgSrPZkpU`gbJ^1B{R{(emy40m;N(yaqv57ndbwnx0x^k3o9$lE}StutE zb1IJPbwx}*2(v_cGr>N&5=evwI}OvNG~1;s-FYnA9k6CoIDyoLEL_vdj) zfHeBqRSj&30~{e6-L}XZaJzZ24klOV$N`$+?rx)$RH-i_g2I4b^8_AX)nz0E`MNh| zY`oA``fOsSwmjCdZs?OXMlNRt3($sz2goV@={~2=349slhrp&z6IVWt_w+CqN+%SR z?;Y`#@=O%%`o zXBe=^{s+DrbqbKl->RTNGtY1LX8#nOnBgIx`o!3J?X_^@MOq24Ie4*8Pnf&OZ#R3g zN;nYjbh7p2*_jk$kQkKnm2d0u+&;FWJz8LiWK!{cw150&hdE5kvt9p{d4KN$IaVd5 z(2huwlAYPJ_K8{Kdy5|bhK!_X>^6cv3w5NayqiwcmLG?#N^26bBs!l!7*@&|{HlKP z-u&aM7yG59S_6W`7=>yI!)1J#E&Pywg0i_ae*3|sU-y>09;tU61%0~gDA<$d1PN%p zrSh_-?lG$J{lsKi3S@lt+bg&FAnUfvRW!RY{*$fqtwsp@nRaR69$n@F7ve&wl9Z{> z311Z~`H2tk{^4b2S|0&S0tfl=dBGEIQ-i>J0jQp-ND_mAkGLj|qmx#%^5isc_-&Pf zXX39e2{BKcre6kmwFmoV$sZ{H^cqh>#}BmlmlJh-KumbJP7VZS+gYHaT!Oe30o)ia z;#G&feuqX#>Y!SO^lD)j;icW1J<&g%8ENjW^WOQATe|5v;@Qs|{IUIt(hNSS*k=Fy zxiZaNk#ZYW(6jv?6Yv0@MAoA!Qyb^)FTc^t*RMGVMc;LnpRTZ>Kyljm#*8fEL`S>NJ+5#t7#^Xw(TNDlZj_^Xmz`#ddy)F zozPqeZ2kJQLUm~FJ9H_>{5fLM!$jfe0{5SwHFE-!g^tFDl@M@797-<<* zQPSnn;;1CDd0vt^p|&j{KGLd_f7~pttp1G8PN`*%YlA-QLk^BtwJMl2{WB@50fpS$ z(_D1BUb2*Q#)phl$?Ec2yYPe$arYEEj?9xhE=+Xux0Bo3(;L3e5MtT550f65KdQeP zPfSd#c-C>eJ?Mydq7_w0$Z2F1QyU8Thea^05-NazIC`u_pO_fx&iHcG;vIfSZNcl-88xwY~A=5Q31ux+&J~obyjta$!ny71J@xE?F$ER-) zSZVLGEV-2WwHV2@al&8eoV&{;zzQqy@P-6qe4wxDqA-_nQS_h*u9|-gW}D?$x}qrc zL%Y8bNB`*Vej2!!cZ|5!oLsP)ZJE&%ury-p{8ji1vCfXu0`BJvqGg7YlA73VAQmhd z?JO6UIROU=mlkpC9Y)?!spE*TVPvl8fp1vK=V4-(Bto7$-< z(L)r@BEa$vTT4*r9|gmEOcVD(JA$Q{WZWU~~hp7|}0OzCJnmaIx|g3rAF0y~kd^JA=7uz|#-xPXVW2RDfB7Olvq;=+L4BU` zvJh=oD6Rr;cs=xA-^xEoD>ya>6FZ>FgO3<1IUu6-)$JY@wmbue)4AE1g)XWi5OJzD zexJ?COhb%-H}ObAJBX5Y>@H3ta@t$skE^zJ&L@hHjphYI} z#D?{lV45{Sbg`pziW4I5Gw#!HR#cl*Bz!Re3$@ZP;J$s%;dv7)KCPu8_9)q9YwC1#4+bwkJpZr*V;Fc?yEkw z*9hXO=kirKe9O~IAJ-V?zbS0;r%yn^SfBKm!r|z#LEAfzi_{hRP5&U(Nr|z?T8Zh8 z1A7M9C-wbG@+?0y%X9r%w1B=ai!ZC_)%v&V`%#`f;$DvC8k16E28s}cBBjKPtvHo9 zt-pwS{))QH6MgZ7(r4sKUY>w(P4y7nETy%_(W;e42v9w9`a;&E@xP`ob$a)<6c9YJ zrE0sOSeF`F@ApDUGWjoF21D9Pcsl<{c771_*7sKVHhNgsz;iHaH_48oOYIF!m4c=< zt2Edb!vM?7AMR;?f!g&kGG-*D7o(r(8Mh=?uC*FG9NO2YoBRpB^GxFD;rh!(5(=sF z(p&2j_=#l)F9I&*d0q|%m4@a3{!j4fw;!q$@Yeo~Q7j(>WM)VozWH7FBH&ih^+KBB z;=W8Dnqj&D@G!j{8h;-4chq;T$l2ZQb-kXqgBQ;oGWQ(&q~rYKLN^Ed%Q%~BIo~hiJ5OLTx?@+6 zKH!q)$+dZ&7ES+RfuI*)+9D5u`iCPIO23BwrR3pu4b**qA#HSK5EnwEPd6XGt=AP- zs_{HB4JA0a00p-Jm@<7=yGkL+%-D7R$S5Td0$4uQ_(u458gRoJpRLI4$jfHTgBzke zSu&UXu9{ysBZ?d^mk43$nxgFDM;2Y)h;M_(?^bF@r@S&RU!yn=_Ob`0TdL{kR`A+QnwBIsQ#}khXVs?_!Z^ z@i9(vxZ;m8mDMTzangD7aY0YzmlV`nq#GA9W9$GzO18&jsdcy}1O_R~&4;oX^WQyst7qKrjwciya-WY}|lM z@zohB5K?PM?z(oa8si(!TRl7Y7{JMtX3pEzl!4Mv&u9_xptzdbGJ1Mf6ew>QM{^uO zAne50L+J*kg4@mr>bD3pKf}dWV#FnCNJ$ath4rGJI*B&Pm>+xkaVMXLJX}h8M~(i@ zJ`S-|IhjZy+b*wXaVR{IG5CZ4uo7gx0rQ31`-M-+&h@XC!Jo{XSnI{+u>_uD8q!!0 zzn|E93Rn*JdyDg_xM{l-8oFm%6)pLQhuo=n(LeG`CKuD*@jiK+@59+kL2mc?Mpm&PFn%iujEdj@{*XV>*C?nk&XYL=9&tWl<-u#>QoCKBkJG)(S` zPCdrsm8*Q=ycx81PR&~P!31avxPh4Yiqi$*9lkXyIeDfJdxZvTSrOGrpHxB*;PurH zIf!>_jnI31U#;W6Cif%@Qg^aA!8HA@$|Q0@+>pC#bHJt z3_I|2?L~|UR4v5!ev#R!dPt|hJ(%kH`cnM&yjxa%_v+WHo^ir5RRs9B@h>s&Lz!y^ zwJ3osIRz37#hafw%Q2k!^(Q9%7S@b?5@= zEhHgJWd#Dzb%o|3UYiXxrTsel3^qNIe<0s_*x3xY^Uh|;AfU=Y%h3rI*KD9x^bgp$%M zu&&@16LmyLj%hrG;S=of7XO4J4@C3hfQPr!mN6`bFj0Ap1C^&0Q%uig-$Qb%yx#_BHPBCMj%bLzkkqlnSbkw7%VS#A;C zh&6%hAuZ?w&&ZrvXhCMtXKb1uSj6c4v}CB`z92|P;Z3%3zA3aNGju%YmvZK=K5gCk zT|KuieeFj*V@C}+E!LMszmmXJhDc9H6UrCwVc9s1-`^?_5Vf==nA`LtVcd(uji^+~ zecAr!nxDQath$4tD=h_NqRtV6W@s^WV_cK zhT?>ph@1FH7io~f6iTNL&dS)~CqucM&1j#qqzf;;mnDX?-U3wR#gZ z-s8IHf{(0g?Ez=v(UE65^8eA!li`ga*O)?yHH(ZV|raAK7Pksobo^y|XINEdrN= z&?igD;hbcfLq#RZX)WU|Wx~r*I9k7H@vtRlu*-({mV*6=6oOpxv0d_B%Y{L^M7emQf>DS4QkDKN_hvE)Tdc!hf%{@9E9S242E z`QH*}jTqeM zl3m>Ma;B(`q+}HUuL~%KmZ8XERe4o;l}9U#{fX(nu%U-L+PZ<;G6E_k-zc`_sR#v7 z&5WRHmYeaoN3&5X$@AArPFsuNWSfkXCReNK2UT}%qe&lK6+*jml#3v@M}wnr+D&~H z2K1h1z2JG7D~+ln_Lg_oRyCIh?tL4zC0Hd_CkYtNlxHc1{vWdeCFt|I?RF;&&kEl&?WW~2= z*)%oVxC$QgwHvvH9tIbmDHcw*qHm0R@}!x*GI)xp9?7D5O|j#F$Q1?8stX0DG7{ct zjm^&d^zltuDoM?kknfY&2yRLa3(3s1O>EiO2t+lCe7L2tK;W$A*k!%)bLoH!o_Wmx z#a|-6pYb=Lvca_f06!jdX5Z{Ok^`>sB2&w7eb7D6hJJ+q|(AHJyEWe~E{ zC5cIVQ9MZ&SZWJX;WnzLyaB;h(;jUuWNk+^lrp;cR=p>o0(s|t$KPGnsH^mJvQYEA zOcnA}+)!C?X7>?>_XRJ!I3~8A)G*~Grt@mCkrMXzPYGrH(Hm>S&nYPR;h9Msu!UOc zzs=@uR*S{uuje|!w3j{3BhYUd;*cOT-OepPUN&bEntE8YKs zZeMQ@ghbp_i|n*N@~|=vPQnYon$ATf5dqD3T?j3Fwnxu<^uwp^Vt*gZi)&9xvN=VP zHx9PG!?#E7J%_1?Rq!dCAA;F9d0UT}h^(UArdJ4QaC?E;Efk#=P9y|>k$1C?#L(dh z#`?uaLbUA?p)sWW0=$oi)AcG44Rhu_#t;`>Ls+1eEm>xYgM%ta76%GHF}jJes#pP0 zTiJK(LRcReyB(Cv3o6j^Ri;t@7bTUU27xrh(oktb!)vLL7>3E3KR5@$$N89* zLs7S87BH&NuqW0~x3Xrj4t=JWHx!^!Z`l!b_!eF0m{BXjyOoVVDzGyr>F>841tXF> zNzmUq?Wg#&S<*Pb<{9(jSC>-v^H(kiAhY!MY!A|vHS8DB4LsCFzHdiTLbccC&jj?i z41LWs@F8f4k-&T8Kxs6%#`#-lHIIYCzFeA~X_K!P+IR zjq=0$J$S^vL_;EuRusfvWTk}$%5)sqGIVG0qtt_C%O1N!x9&rD-#6J7D4p-LF~ zR`+>OZGOb=-}|?#5OF(YnY^Y3o!f`nK(i&}?o(jpF=48LK=XBa#BU{Z5f|qq)q21& z9!JOM>gd<)-%Ond*DbJ@wBlA@w=%^ek}AIXJ*M~&&R9!E!Xti zOMk-(>VC-{1H<25=`;?`^ZR0vdO@Z`ST>KEId|I>!)cB{KfcgIAggdi_8Ts$Q!C6L zgU%~%_)nx*En8*=5O0@iLsfj7D_wFChHPEc>ig=;JNj4%wt@`|;fc)DuF-WVmW@ z2VaG&&~sT-o63CcXx^Z`^fjEl=hdE%RL*fjx{e|!b+&DjA=~?3lJ83v>6LkwTCi^G zyxo^3{2fhwG=Z9J>_guxk}YZ0S&NQw2FW4n9+0k4flet*D{AuHO z5j`8?_M`iAUaM^g%Pqol+}yJ{2H$Z0={^oS z`0qz9D1_*7h;Tl4KNTgMUut+Yu48O0u}Us8bBD1uIOg~^p)%VCM^pgd4D&a7#^bLD zqlTf!Zwi@&WIUP}ERiEMQDrchn^P9OoD0Jc7(Yx&{0;BA-({l3YRaX?U^+FY+<)a8 zz+pqaso3lPvdiCa$yYpX83BY;H(WN9p&Xw#3?whfXEIU#4FH3__l3T91y+A!U08ra zQ@U$9VU84p;1MDdp{^W8AySCr1>{)gM+}NpgOQ`Mt^O`zaI~k4zM&&sI>9^D2)HqD z(#&qB_}g30Sp2>F?PC^FARkYi&nFO{NlXSBNcZGyo?8FB+fmFNrzR(v(SyP>gX1Nf zrVrx1I!<>GBhU(fMFlP!ssJ;AMR{^7KYBf+t(!$svgeu)bxjC~BMo+=@aNYh6ux+Y zB5APv^#O*4-i>HRN*OGu3#(Tq%Y*9NPh4u8Veb^kufA!}Rv$g68m<$8Q3fiV1HO%e zeqGw&m{-;gt^sZ)ZX+0Xv9KQy9h+EHxoxNk53M@mr1RiM`l`1y!6f`c<^jR(6C9nM z+57TuN1n;7oFF3ts?4k>XT+zC?r648fzcJZ8r|bkpLTEB8AFkir zyR=5t)|t<}qasHFNWi}GF_gC5Bm#Djnwse~mh=79mgWS_&!MyATC(Wr*J{f`>5OC# zbk)v*4#Xt9v_@mCfdD^=Vyxn!p%zZE}R}yoE|zbm71rfh3oo-+p`thUv_*1 z0PS&8>jFTAdQA);e2Nk2oC(k$g?2TaqJfhvOcgQtHgH{W;b`1)HG^170GG>&K-ZM1 z%u0%jjda3PBq%M*J?8n=p2NX$Lv*W^uvy}Hd=LvF8^&E7YmQPgl_wSL zCPPxcq_{28pm^bEM{e~;f^>Gm?fI4ZyH-~MCdojrF*hv`?tSx=r^C0K9%BqcpNxhE z4pz!u9*MvL$HuP9EcwL2*$eGJynk=)O^fjtmsMzAszZ&Ejx~O~clg000%g>exo5N_ zmJj2E`_kj;4g;si=nR*GvZ|!5DUc1e?Od7{R~{ammV03MRhpfCxu(xcAri=Bvy^{&y+`!GBl$;b=m|aa;K07N zF|+pxdevn8A$#g>U^pC&r=RyD!?j*E^NJ-f;4Eg}1+ObsAF-Ta%3jWKuq@|CcmOtO z4y&>4oyMky>*F7Dz0DipY$Zi+$T}Tc5mb)1mD`$a8}%6;vh}0T|AJ$KUT*a&d%!Rklv&fqE{H?C*SH5fNikWoU6RU+#6?Z5=%48!jm z*6eP-L@CXB;^7$g`4ORBPwJ}7s#g5;G*;j-BVV_%YTsq~#Sb*12`Nz}ly0w{fE*Sg z<@1=Nd|ep&$?-)BLrYNM9G!N?kZ3MgAiw@@b}1I+=ZgTGo-5Q$-{xR#-$WYfM}CQ1 zyJIQftr^5)>u~f+=z!^k?}Mkae#RHvDRHLzQiB1&DsC^fueI@Hvbf;DI-Jn=0aMkS z-A>q1#0gURu2x9bjf01L`SF%jwXGZ9ua6IVaCGA>;J(@~qE~O?`x@Kw7*@adPvcW# znj1g#{YaJmO}%vSJ`>s}giSgmsW|+<)}g;GGs9`M%sC81bt^@rq8TutH!DcuGxYeO zCX0`^H9Fu!iJ2<{Jm&VtzYC2SC&7QFH`q6%EYbsi8dKfj0xmVLxnoz4{$nB{fZ2-) zQNCSQ%Z6Da0SeFbOGL&e)>vzruc9ejz7rSRe!II}wj1%|^edML9cx{xN;u z$c@O~!WRVrIGS}DDE>F?uMYrD5$$xY3WcWwC3ZfusihapV${}FVrX;3mRhT@tpq8B zl$198h~#RakCU^pa0FWU$nqn{W3IDNt4|r%hG7*nr@-I2ea-@m#Voux&H@LU?wvU8 zlzSz<^#-uYhwH9~XInCA1~q`v?~JKSI3W_yxSH|%5%?X+xXla>n)r_ht#9A5ndxuR zKvHWc%<=J$=#vd_3Oq-ZLDVJcSYKCnTZ@%f(mNsb?W8gamAJ>QOyDu-%bPgNR^hTe z^>(~J7kc_U9F1Z0aF$tCLMw;Jf0%Oe%ojKiU2kM3k(v63MPMQ*LftIU0NB z(aEr0Cb59a;L$VF1yw+cxO2^9SL8C6NkZpk`A|-mpVQf(_D;Z$+h{4@$gR&?)wKmz zz@;iz!h`X7Y~Tj_SN?xT5zB+OFw8|v>$CA+XaqVTMy)OecURVyt&LW3q_b5yWQ#M; zd?`HHx6vb30BA;$1Fcw$!3klnK_P7}wj_Y`=05gOgEi6GombdPFpah6#jPm&Ly2oK z(k5^jSg{)^=6$bhZ}TYzuv@crrk}EftN&5Z7Ta!TQpIl-u*k%;}J(J zBa>Tk8OrO{=$SS6d0^q)yG)NUO@Luu2pH8-0pw+)?Uh1Hr(#&b2`wJxfx7zEJivZ^ zu`!n3h6qS`+9RV@Rd@Q@5`h-;1Bvn-pH{zp6Ew})?+9arjKTH-1)egi{K#=R2#xXx4u;__>%mmQ zFZ`n;zap@jjLIL}9!ac>2)1db9$#ISp#dNKIKk_uU<79HhZRI;7Q=7>>&sWxm9v>A zrziC1Vdsh5G!Y6`!w>u0UCwI?x*1>HY;?|rwb9Qv*wr!>+^(LzN^)Tvfl{p9$X$V@(rkbze>`L(=*mdGj-!#Z| z#_^|4-`E@$5)5F$nYP)Bcq_AgCzLW+=|BvD_K7J*gThK8%7WKTLgCHHrhW}DQL|FD z*88Fue)J`9Ac(PF`t;inGey0ofzF2QW_Z|FtU$O%~_STYzjdS*UjRXVm zp&-ic1`eaNnnLsE9W54>rC&eqDjTcOY)aKNkI8E=`cpme9(9l zb)dpeLe}K~^;>~7>VypM8ov$=$_&yD>ai>6=_ilKCe)7=M z0fD7K-Tpx$HUEhKP8_5_D*wjbt({h~RZl{tJq-P0;JHW2@`e-Y+j1XyAFKH7!d*^J zLJUk;wm4|^&T1milNm%rIjou~mu>Ixj%QkZGszIW91F!p;&K@=LySblxgIAw<>31_ zB)ZJ|fMS7_t8$)m-GfMFP7?k8aGW#NgP*WLS$g}!E~hiWTUSKJz^E-D>XKak#w($* z>V@tuJs0o5f&Jb3!VDc`!oRqS;S(GA&uZ{h82@%W|;H57&k5 ze_(14CW*mgUKWZ9#jwzkP|xJrlm|DOrpM!s3geYYL>IVE$tBapT)7@EnqAh5F*WS4 z4rwYSzMd_74j@}h;La6Js%uQ1mrsuP`5JOSX%G8qC>0kUIRlbE>}Hby0s`&i%gk*s z774EmP4|o@9Mluu-w9+IM3KRoUa|FWGJ~OI4@^d%S`csofhm{BagfE2{m;oxUpIqx zYkai;tIetFOp|`g>Zic#tT>6VfLHBme;nGTRs~p4Wsu~EZB@2v*>iN+@gf2VWn~zK z4t+b&PZ?@CG9zIIiQgK+$0Q)wu0AkKf6^=(tDGw4DAjc3Wrc;Bh)VgwEBQ%J6L0ze+bD5f<}Kis&NPCHoZ-rh5p$IBm?Jz&79@e6`7-S{ z*DVVG(StcS#$@^jb~Wbuoq+k_EbW`0$k9#qzS#zF&%--A@1L1p@Qr)S6}NkCzW$-1 z=4Y;k78*iO(tcFD(UCdRX@KvvjXU&dIAUfuS0>$VKuZOkKEk63*eMo2Y`amM>J zN^R}ThMK@|;)`ZKE}|vt-^2fgNvZVD@dJ{+J+3|TbvAW8g1u`sB?(GE@*IeqEhFxu z>pHSV5+o=}!NQxxmQXm(N93xKgWTUBIBsW;)1bEqKe@DWqk1y_^&cj{TU%YlM0?PP zw|8;4x%ne~jmr*ZbyG3%dYc+5>Dzrv!s|uEA=`gXGlAa9_H4(v_h6x{Mww>ns1MgD zGMd-R7_`fGPzxvkmU69(i)=U7=sm}Qv-BmY|DG&k0>tfzsf5=u6zGI{n#zL#G=gTw zyRAHk3$01qUVDYBfsBA?Vg%ovEf(J_1`$J>47y~p;oL7iRKC92c^l|FhY36@jO~fC z)Rr_q9;q_V2t0@K!ts6RRwlq<;4NzT_+kX=8p-k3Dz>*|57LKDAAbh7Z~R>AYjZpP zcyV!Ut>oK-s$uKQ>-l9bt&Gh}zxRL8`rg6D=^~@->f>#QU0Sht*BLl5?t}#3z;?B_ zW%k`~&ydFX47vHC22X$Oe1Z z1K-vDDoA`H#6a{E(2))SR_E<|{*d`Hl-~O&fBK(Dij0D(T&zfyuy1f|hN6pBojx9C z93UaMqkne}>B06LnCWq>=p9f;kNcET;#;&A;{=LGJFI{TrZWPhpqZnC%um=_4l`6( zg-r~$zB!m*38}2&r$7cwRQ#HW19RzRmn<1oP?oodWk1R|hd^&{|Lp$R+fJ1G?>xSI z3WUWN05`cds?_307NS$Egr@2Fx7^TF^3hkt3_V&}c4;Ac`F}TG02fTErsG@8qE{O` zK~4!1dZtcioYRiSU5rUk3rCxOa_dEEFfzJ#-+#(S;}?0`y{^aY|3ewb97q8u{ikwY0;iOZBULG1?xJO>_#Lx8fId9bm!tk$T*v|j}Phi*dILU!Lv^j zS7(?&KdhPv=a~56I_XHMg!EsY(WVSRXus|l0L5#gDjnoiGh0ICo*oz zA|P`s8E|J>G~4`PK;nkpaw#n&w%v20Xg6uQSI;Z;$i+odBHdiyp_w6h7L z-TGl`b9Wear2PW$)TIZUQQ7M)tYC0GU}WJ zSe_nvP>=%eNWdNC-V$<=b?!DObMWhi*A+hF&h-R0I1|6z2h8JPJn z`dyXTHfG}y`n(KkfnkfA2}`SS7-X;Mg$zuB&Xf*%X-Q$8TLK&~y7Z>&>;Ge^(zl7g zILlKd)4PMpiIJZ*St6a!WA1Hj328i{?MR^;`F#r9dK3gM#eBU`C^Ru2-*P0L4OKyp z*Y^Ur8X5-ffB^jHRIt(`y^O9&?JoZ}pZP*;&i)b2*OiBzp8jCs7#5bqM>$Y=wJ#uL zeOG9+4#n{{A5mNzr>L0UTp$X3$#J)VQRNMDm#N{Ix%ss0uE5Itf6J!hwP7nKP~WV> zzM|aT)Ug-$qf=Z>#SA#~4Q@P`DR)GvTctD*BqWg`<*Bf>(@?Bo;Y+TIAA1|QA`~p> zcb(N+MRSt?rZU_9>>nmLwS9Mo*u;{LkEQx>(5u}5$^EAXbZOs&U%Z?@OdD8;V~%S~ z&`#b*{;2bla4?bY%DUD+b)>-zQAb%S0B$UFixcA&f}1N4Q%FX*W&RV-Q-|Im!I2sk zMGf1Vd;D?aisz&y6B}*2Uupx2qPB*yg&RjZqTc0CM%BE%{oJu;9Hn7%Z>FsD@6M%Q>xlnKUa16!g!Jj)|hAa`ih#I*YkxR09=*nbI>pSHG zv6G%F(bGWmkL%;e&zF!TpWhO>M(C>ptK2vJR8q^2Kr*8IhSbF6(*+o3|p*g^l$ zQ^0$o9YNm6wbzL^!&yL5YhbEfjhi6EpofjB{YLNRsS;qUXmfKicuS1NFqA)pFN?zM zDT}#lTV8k=|3;1drE|b-lB+CthM7n-VV4ia*yUa+#(Ee&%DiTC`&#vXjiplg|B7&BEPc`=F88s`4%*E_iXN zjeOs3>Zd~wKOEpmF2W1IZRCPnf~$i0=#_2U3{=Lanzd%JDc1>#da`fccgG|prfPk7 zJ)@vAKIH^|%)wh_sn^aTE|*Z_mL_sCFL-MuwSe&z6QH zRmk^`D0F!4`<9V>veV&Pnu(U8 zqMtfvSNKGo?U?JZf<1c%Ki1KTWN^S_#e``G;x`0f8Yf(QNECrC!ZVF+uN(~6?p17g zO%%9Rjuxy!P*<3Mad^Tv>$v5)7?$Xio~$05KU_Lx<@zv{Nlkn)<hwziBk!P7+;( zKPn4(BeH74qhFoHrwQWQk(hL7WHhj)oBvMYn=T;!T2L(bEL)F3tcVurnv z$DFgbSLRJ-j;HO)y$+kvF|8|a<_jTqz#hUxMoBlK(KUA6%D#c0^=*(XYo1F6R2vG8 zu6eqRHLx92eDc_ek=yCRX(|ff?;p#9d6;g-sP;~4))8(a?33)Llksun@gvEj+R^Xc zoB;vWI{C_axMKB3z6T^kk3JeT`fqa;se`=7QWyeV% zhjL96XtyZda%!0@;3an|c=@;&$SjpyO3U0sJrzgFcxKpl-%N8Q+8*9L4{v$7N}$dg zMm5D*P>>Huj~gl9O-xmU`_)O>NZw84J~EL4ZLgt+kQwMVg4oH z4)XvH1V5g|oJd+XA&5qRcWvtZgGrK%VFGIzCGLE;UElQ3+v1;M?VG1Gv|$2w3P1?6 zF5(TyvG6r}s=IT4h+}wo*TPUr5@?+j=2h|btV3vw(n4HWY~ zijKwAuhXTr)E=L@5I-=YwY7bsPY>pM9zLp)76Zn%M_E*djm8|tJk4@haJpd207#Dc z^akz&Y;qcCN(@dcX~g+pc9><*z4Fy{8QaeC=A!w84sVJ3H6K^lfa&)K#9*sA9GF;d zageWCcf(W!w~P_I4TC>RjGb&(Ljr-L(#?YW zbbqp`*uPw2-p4o7x2u!bk@v$EZX5HXDZeFxT+&aK!pNRGqwqD~6Q)B-0q%Y5qq8~^ z^cZ?FImw}ukG;}2PM`Km=X!Rq+^;aSo)xO0$q3v~&I`FG^$k6MyDilaQ6b982vy*a zwi6$|<(oyg=Rf7DJJXo>al{L0CA_oqW0KGk!k8?ioi;;Yl;#Da8=VTil6Xs=jUn zUq^>O%rM`q`v%De`Mzcsx5S3XU~w2FQ%18(AO|5zy*78l;~^g=Wps2xl~)qAeCR(! zMd~yeos$3qkZ$E@A}=7rkE_@`+{#Q zl2r9QtVmqh{%$B|*;%V)RXgVoG{lxt$$p0nVi&!io6xU${G*=uTL{}T*VlKuj0PCI zl~}}MX>?rq6jy`o#JkjbI`nidtSLYw)V30VJu5d8068>k9KcmsOQMzzM+M?Y7G9oC z8NjkSooS1KG}}F{GAb(Y@DpY30A8P@wq|Y+QgDiiu>|(v50PQbAsdb+O^*o!2c>9? zJBo(qwcCU(3RV6EhH;szt!-HIfDNbdU_u@d0k&VvkZC#aJayFh6k7!45W~q)dlQn? zR5uUv7i0o7M*CM?7yNt%+_y>6QY`1}sn)_6?ja@YUox$x_cT<+!Z0Cy16b@7D-0;2 z=b8HYii;puX`oX#68FpW5{|8ESX%eKIs)ytQKR{;u={KB4ii>KaGN;G&rU&7n@@fC z&<9RAv8n+sWO&onO}b~z#IQ)veVqlkX9T6PP(;Z1J{>KR1RnR}wwJ>Z7pY8bsI7Dt zjQX+KBZdm1zs^ylKNgdA28DiF)imSgpGYW}}FAN`g1lx!!XR@5mSyjH< z9I9J@fG6AoP%(G?8OWJj>2HXtZJVBJj)g#k#x zR2`pU2yWTqQ)C9Gu9Ilxi%2T3T1(>_+$jO$(azJ;qn34rfexZK+I0Z|Df(D{fY?|4 zZ4jcIEazA#?P!9dZ~YS7s3P?E9%z>@=OcI%ZN&HVbl%wIUhB5Av<%GRH<&_;@j%j* zE_!KE);$mbgh^y%I`@CdcRMWn1V(Au!!P80um^=yGmlNs>Qcomu17}*Gb>1skH2QF zYn3g_x2En&oMc1l}buyR!aUm~|Ws$jdW{(vP~Rh03>|0irVT z#q?E$XtC??ZEaI8n#g z0}OBM!t37;#IeigWdpW#pwh*oAC_q>G%fqMsE}aKDblVHeXpV-h?yk7f4Vgu<5lJM zquE&kfu76d^3_x3QUp1-?K%nc%qMciMI_M4Jqj4~U7D}+ShE4zqot?O@$wXL|CQE}+jcGG(U_wr=Ys`)Gn)qdF`*|!+*y}4;6lTIT1=4xK8h28=ZRcdY-G2=Y>*4?g zvFpeXRVcs(L~l-;`cc|t|A$!kMgqRfK7@B0{dm&IB60nVZM{R@#Oh0z#*WxnkM}M) zTBe>Ehj#Zj6lIXYW^ey?InE=VZDIN zMS>0evW9Zzu^DUC8B6Bjn4e1o4HB^QYu_sPGH27O?b$yH43T}JFXYB`@YpNuqt}On z_$7Z5SO!OuuXKq^Sl3YzIfs=LyWagFqiU6s+HFr}%pd~Ls#SpiQ$#;Jp(}bO^~6V9c-E!b?llT2RmqOmbz94I z%Prg;+osqpOABpY4rU0q`u2z9BZhokODAberqfDlKbu*!`Qj=8ciJWB)bes%GV z+3zd_qHP&BUaEKYCSOTX!_cfl!Tb}RHnmr9~f$Uhwr)^nRt(2`lYA*UU@~CL!TDm*{Dvh80 zw|*8-$bnTMu};Ta!yfDl6ao`oz>0rQ34d%QDGAmNZ?`h(@}VxHC5LJC6h1PLaLoI( zP9E5I8;6n8L8T1+7$i~yq9kB7wQ+nZ8;3^~dpmTd-{%tiAG|(lmi3^{hLTd2cRwe{ zLI%FS1CNmcZW+qynFOCXwm;(9#0@qYIBYbn$HC~EIoT{*vvE>@hIG3a4FVU8@m;Y< zbo_yxgPjYZy>sat6b9H5)0!okoA*AQ9n_V5W;qi6^;i?ePX4qYfSKuz`J`vywsm)P zNwY4}ND9*4HC*{H(^JfQPS%~z4RpBI$e?|6PqSSNlA=2zZrVj&YjrRYS?}PTPg~ty z4q06hmiQeWo+e%BGra=4Ar3~2c_?cc>^e^{1PQEgkT+;A%6dr0Vb2gmfU3eYbDD_HiV0lz}Gg4D+U@E?mJ$s@CM<*s! zNO83(Ykafn%3e|HF{v688mnHj@||9Hkb`Kuv{Ct{o#~cht1T=jXaE-svwObvLtl@$ zvTB{i`g?}5@~NqVVtz<6^N#b=5tNj` zMTES8&F5+ypH53R(B8Kk47=sYn~W5W`0dI@$v7b|=BDB}(oKx=MC_6x0x#({Av?w$ zZLB4SQk!7o56;e<`9mJ84U_k5mCM%+PCL1J1?57&*ChHRQ2rMEz|24okAW*nGwU?{ zJB@1S^5v}yyeK}okf0FV0Yk9_-}BZVZiC4%C~wEzYQVhK(B+mV-zQr`~brC!vxTUORk9S-_D;d;qs zTtV0~%rpR>K~FVW+!M52R*T<4TDh)D%JpuOkbwM%Dacl|%*QTKeV2U))&XaKSGYc} z2!;{ej~{RmX>C-67pOAWgM;UoBYGGn9e!p=v4CMC?L1>~pYaj}Wa?$#y-wpXrBF-_ z!z4ns8Dn#*HGZ@_Y>IU4ooRNL!uHkwM6^_pBl9PYKINLZew`j3nl>X21YQ3A58oz~+?kvLBbGUT>wHc}Lc z*qM9eiP75Wr-1Lv#V+;macZ(95$U~e-xNWa5ECS}&)9v5WV&A}LKbFJ`x{~>O?NDZ z=PwZiG9*<@A!FRv(rrfd65}QN+azG%uN6-0F9Xw&ZUvZ9@2B6121=z<`D`d8QVkHi zuLyP;^FAAO8x!I`nsPq%&FOzP#JZ;CGm(uTe`LrihS(yxq|$TiTP7;g(NfTC4b3_C zYSQ4in>DE_6)Y6m_*^6~;XR4D+q&(u1P#8mqGp-#M-+n@<}zTM{*3`);uS z89T)GQekng3c@8u}OV%7}N z9}LV##i6VPE_@})Xtw*G8#U0azgAXMGDSHp@8=y7c-2yRjzr*;<}E)F|KO0Rb&$7) zZ-ZH_+BsFTFCY!*E=%Pu2WV%oy9spS4)!)2r3Jg~k9%AK7GzKtkFvBp>tHJ2PI@cEnx8W6qG1)73Qa-4!p2-I0a?&_-nbnNCu>NUYESgc0Ably+c+_ z#10pREPl|LPqy@xuzKNH-9`scfUPN}2!?6}T^A42tdoJLEfPuSqi+W=$pXC`E^TQiqvd+Q2I zq=G9PZLd!4ovVwbO%I2?GnRol@4Dhqvvr(M;7=s_=87=|YlTbDti} zvDkZFk^w1ZudXgXm{@2uvFm?W-5lsGUHyP94sgdnXKHxD-mPB}ycN$zmjXUH=(j28 znM0O30Gmq>3UeDPucEX1SUOsEa!zZ7!_cYwuH%xtf4Jm3HfL8bbAe2}VbP2gOqyCA zp9F4@#3?*P*fZgBj=;1Nzoy48*=Ur_ zmpOSZ?blBS+3vJNvJu=^fB!ik6!m5H%ADzegRdPdz`vIdgOS>m{f{V6=5sAUNh%3h zQQX~Ab4OT7JUGbtyzo;_;vC@%Icp|cG#(DFFGx+fY7kJN`l;3kSXv3L8Dgs>^GOb9 z5mJY^^{|kwh_(fk`##}@bvnxKye;S-^q_aa?}QvmOG~f@Jt@LRV0_Zcm$9PBwRiq$ z-cN3Eg3mMdX?FPJ0>BVy(0!P#h7@vo0%Tpr*xYEBR`uv}QpIo)X(_9zUi}27W93U7 z?d*iV{|EsdF#(%`2Sf|sW&UtIIEnzhSG1jsktM`dTtKG{fTmng>yOckHC1%g(Xk$+ zGwZO*icAvqbP#pSTeQ56ZI^EyD^YiTocif!_Z+1e39PC{-zb~@5dJMszO%X*8Ns^W zV`oYrK3$Z4RBFO-sFDZ=q&N;+jiPy2%q`z3!k*~hks0b2ihl`FT^ZX$xSx_h_`(Td zH2&}HY|7Z+wXq_Xc=sFCiBqokiBm~yOKy%M<0Ck>Ss?=prHb$!Uz>&MGUeM+2=2sB z-9&70(vV{1fT%0e;l;;0uGGTzfjPS2Ed#KS?xfzIpNVhLZWCw2D0mY?XZwjF^V$N2 zc3FKnuXwvaYql?Bt4%L`yvuNHw|)&9#fF#d_4XKFu#Gk9$`)Q5u42N@_eN!%r)Lr0 z!H$OkZUqKh9y#ko&uQr(t+1)v=y|KR(`;BBssojM180tuuT8Dg1X2Yj__f9{;w~h?)fT+56 ziL9h|=r%}BKZLPs8PGnV>$v{v+CSI%<+N~V%o8%=J7_wo!@nNZ|NSNYF}|FXgyb5d z3%(3LvkoP8nK0B(C_lp^6eX=f+V6Go@0}zeznLQy+KiWEo^+gfQfadP@D#=e+#y>t zcxifnyLs)*-@6#NU~wuj92{Q`BR@;EV7fdf%~GyqUhWz*Z{2XXrEfDa0P}@o*uVpl z4)Xg5jCO@s-tl_wAkwhv6fFrDDLv}AvocBaifH2QaM1IQBl0`>gV{C;N49x`i12G~ zitfn;iBZD8C@yYJ-?i#f!YR@wxT~?@20$ZCymi3~Ab&CpijeKQRt##)aj5%TYf6B* zaycJaO$0@l9|R~&KQY;?BQ6)D-)%X%_3LKa48eoTP1xqtSmgrv3IS-}95F^!90-Bm%?z8|5@ACN{)g0@Si~r{@j@Aoq_3n4*pk z8AG~FF(bm?fQVD@-|LJn0%n>zz>V+{!FUf5>yd|pM_~Tn+NS;i$yv;l;BioP zORT!T#V0%|3T13*puy6C{X6j<9a>INbcIRp;ltxKWoBNx1g_Y`2 zQc%!xw~c@5wVwP{RKmtQ4O39CtLtNo7#rQev(#>(?G$xP*QXU#YDz)jTrb%a;-9xz zfw7Bv*R(YH76ga$wD#C)|K;PAHLR(uzD)T~7R&_P$nEPN)m2DCq$M%#*hW!O_SAy) zNdIRHwuN}TpU=KzKdq`TH=9;?qy^QDp(G_8l*Rd`dc?RQd+sMGbI)TjAr73y;B$gXTY+xhXMt``il{?*+%Iiu!5$b1v5GMFqR4Hl2a@ z(d{Ba+Q}dr1UzIox4mqb@xjJV8QHv>!{VuRiln0RH8Blsy~*d7!NQ_RljlA;ynFA6 zBJnpFdY++nv&MR_915_|w!{urG=3&HwU!UHsMg14QpQ)<&TO3uop?LI>G)r6O-mle&20qW) z;nF!PEtdExG|PuHB#{KP^VKr3N65C1HgWGd5OaV&cpVw8&7hj|gFUd43j1nWy_Ibk zt~iI4>blRN!X?#odfoegztWx^A#-YPsnj5_$V?wY<&7mdwN}#+u+lGgGGB$Tl5TIZ zUAi@r;lupMaWomzw^d;CK)^;&&)YPZ>Wqu=u#T5!mXT9x#6$O~Z3X&b_T`A!lKOeMu5!@Z3O zMj3j^Y|U-a69Mo_uztlWU5IMO8Yl}^g#f7fhC4728hbnN% zT|0r*YvXDgA;S1w!OvE&>Ho%jB}5_6t&AX$hN|t2c1y-;qa5{w*oq(NLJbjk{G(^{ z&=>S)A=+4oy8Wh{W-yscizW!5$q+f{fyq5h0+c$NwSmP%j=&V#4MsU|DTxlm0CxGU z8t|@RU)fGMp!5pq{L_N7_d|_ZABEE+_7nJ(lmisx3VCD4VM-EL0PR1n2I0LJp==(! zlE%GWemsevcA>P6lwbkh2t&I=J`RqEx<8$mtR3Ut9m`lxaB#8Fn7ib`^wIoz$XV75 z?T)x_XTTF0w=9^iwGip&?{bIk^3t#e#kT>inX}8%kSPV)>^=Jd4MIf_`1aTENmt&O zv>DV7rdiXjNMXDQ1zJ5GS*=oJj5U!*4FG!t=EJueON6%!Po{;vPArQeAjKYrxh|>N z>mJ)YG98-!FsmvKe6rKkJd*t~JClJVd#DmSzz_K5@x>Ae#;v!0%@C3NW&xjn38T4G zTT`A2g|*2+VB}GQdyzZHgXrQZmsr+mz=PIzIShgm+*N@owsZVw`eEaJ_` z1kc3h{N{uba?o<~u$}^+tGe(!n3v>5+hwW{e0=UA$+vX6fo1_h9Ki6ig3Fb4x#Mau zOzX#u+Bz-!?n*6}SYlw{<-1fmEXsOzWc4TYGW;(my;%!#y5Q*ZdF~3yn82D94$78u z1=eNM2xS2TKw!0SSW`SJ;wM0>IUO^r-D&e07J$Euc;i5^0Jf z^h4`|qr+irOJx!|pF>Oa{%NuA$ibKkIc6%6y@j`5clhvBNDI-!%Kf9|+ga%?O--A= z;(M9wCCc+M#Xm!Fwl%^Y4XAj`r|mj)tThMlO$iFh|4AP?DT@ntmycjXf@yP@C1Tfg zKvjnUf!@uDKKl6+rHEv$2q{ap>?4Xuq+~ZE`@S2?nD6_=@BhB<*YkLunYrJ)oO|wB z?){u|S-}VC71GdC_LSytBao3tp3(JrNCV<479XGy zZ;K@n=ipck9h*tQ_uV4Wr$VZO#?S~1*|$gF(LAG%fWV|Mf~(b6&{cH#3=fi}?<&K2 zy}7xX`@k&g_u@SfV%aUg%DcwR%|!L;Ft8w?6$anfK_4?j5E$SC2Lu?rL!o3jKrAx# zQ5Er8F{z4nUjbcs3-G?oY@2o(KXs5Y39~v4`v15%V4+Eabdg%W_J_5)ns5g9!{rj5 zb(1>69zL}>OT9aOA90QzXds@H4PU_xUTE)zk`Don1<3Z9B%&=v05lc+*vXYlr}43{ zf(-UVx)es(n4s(3+C0jMnv4rD{afJOT$lMx0Hke=GBcJou&QbLg}d(UShH-qN9hIq z&}M=G_=dJ_iWr8Y*3O*eKzERI2@!boCFYy=_4KaY2k^1#CzYu}C1xsnM^Dg+tKE=4iJmzj z>&)mh`GXNSedZ?~DbCorgbRO51vHyO|2ar^pQC{fX~?3py7o-_{)r@EtaW?Y4e;~& z_6<{PsuqTgsv$P&22PV>(F#nc^rEW)uTQH5FQ}tnIE)Do@+o^}x1KTsFty31!cmtF zdKCUd3n&w6k6BqQ-;9sUPQ`yz&sD;DsuIE7T;Fkz{595aA2O28p4Uf$b^#xw$Dk9|% zsbO#?$Lje)pGLz_RaWrFTM_SSuEhT_V78u%5u8SN-Lst60RMVvmIi(iqM6E7RV9Ez z03zM$9#m+DU_M~8oBS|_I%TRV+Wg4cE}w@J_T|YXzNnF>@Q&QQ>9w5X?_}lB+rtfC zA0@3)2^q2Z{EMW84_!(m(YmoTz?LfWt}>XZ<{|pb%29esffEb3Wh(8q&!f;d6p3#(tf2cirC3rVC^8`QanSzrsMRO#=uTq9PonfP_4_ zLA2cbwQ0FY9VFzE!UN`zw@#KG<^;W~-m-p2!_Mh(BV_m-q~)>F`wY9cRTzf#coY8Q zxbLqwAtpIcdR;xCU?aW`x)>Df2;-g~fIb42^Lq&cx+=twZ0gvke?=A1 z?<;s6#)dqXV+_45SJBM!=B)i^pH3vsitQwEk{-+)1|E3zhPR%!b@Qecu5;kPgtn2YTB zFkM6v6Q$LH??xy<;C+@U`oJ9YLbPTFd@oqREe{$=Ms1+ zfB-aL*zx^1y!p7VCsMV5!j|+-!A`6Gct(6-!1l)X$W4WFC?rzcBRHaD2434RY?%a{ z^pvf}`2yClyK}VQo!6Gtf8g-n44`YeqraQt`!ji!D?R)+($dLpfaF1;T+Ky>WuRI- zROs}aqG7xl4M?+O{IPhd?{ogEuh8{dAP%+pKvWi*{PI7P{WJ}D#Lc2#SnfaGY7l=f z7`Zd0W>!+T*yZLm(qo`0*rDamdQq5I{Bb@dAhmXDWMG~O=iFCn7tbAu>ib~UtbVp*pyTyxF_>RC%OytU*J^TTU|InfU0fXoHhBwLW8 zp5`-WH+-+Qzy)5uM&LWH=*|w``2UATv~fk3Zc$8*L62aWUT?@|Uqn2CgrU-t#`fRE z9Y`T^4!4gX#C7pzV(Fh6$O192mm!APSTEzY(IYmZT3q~e5ub7;HIrfm)5@Xyf5(b@b>LkJBoKLyKEZRF<*IJGe8-1$&Q`*D5n$N&zeWu{e zTU~yBA<*%y})-DEOR$m#pc0>#P0@b00%%07H1W5tdz zz}Ez@E+TLET|3Wt8^|MXjmYFb0=NI$UB3Rz2*i!Px1^G|TM*j$j;=-^3a7-&(@TVe zX=sufeTHjZ1PoEZ4j=lc!i(+lvX%Olh=}gU5K7*kW18ZA%l}jdEGeqJ{w!~4k-8s5 zfe(TrfPbu1_~E+)uoJQTPi`H5q>seCMUmN8*RiK?sY;V71r7tQR10w!7{=-| z(ic;N*ol_q&-9$+CWr{fV;P-(1wk7dg#$Rq4B#mgB@fxVx|y^{k_8Xo(Evlqj>^~b zNvf~E0p^phV(D-_$gJ)|D%wr=_Jvt#49p*DG*17hLS{jXTwO)R&`?HsPi-vwR8_O5 zHZD@-T4tCZ(fjq60na)}g+sBD>2>?8?yE)mrQK+TH2Q*_6JZdI)@W=v4^r0&PDVxj zFX|WyBw=2~E>dp_p}0YC|wSv%Tpf6F=EI>I5%DO{B!%G1WwD z99T-NolP({X~N^v$qh9c>Pu`s^bFAYMqT6+|3N`rEx3LomqJQUUw0tGK>tG4Ie{Y5 zZoMQDcVt7bx%c;K_`Bb$y#p!9xhJU`;v=uFksM8lSU9#}f@6TwNj2;H=hlLilGyD; z4aB|@d{qzt@agGWsF#J~ZQO5ZuOHWr{7B-Gy)AuZ^P6gc9RJ&#$$9uZ7^zcTT_~ZY z16!vtBSfcHcr}OM1mmQr7!jgET6qY>lQT-TMqo;OdnYDJOv?;cDJhQy@r!1oN}+7T zgKbWui!YdghK5&>Ct^{bj*G+IRd%=jG~+#@FVe-T$MH1^Rv;&5nK!RKo2Jnf!!R>l zQ$$xSJPL|!<^U%$B0=@6|9D1P+_9@wcRNTz2b<03EH&U5+#Js(?O4g8>gq-$Zj!Cx zTHEjqQhe4uNd;QwfuIO?)|1WZPVT^DcN@L}1!dHs2`gL6qC>=u!_1Tlj4kRSr^)&z z^FBGU^3Ku#K*uV65?^7t#nMbYZq+{nL675|c!tlx=TxEGjIj7z6uLE^g}|r`7;8Gh zfq79W`N`}~g#rp@%Z|!P7vFtg+D<&60ZJb@K&eft^ zE!6E!VU&HO)qyp24ivpLpqXC(z#wt~jkM|`ba^4em~MCE(`lW;Fw8yJYXEkx@%KIYI!@n`sl7+OtErD}H2T;_3^rbI};B)s(>R%Jc1m!K*ugbE+-^yMx+ zx#1`p*Br;_p{)Yejx4zeM+68UW*V`cVdL`vPKEWH5e!k|b`jLLFe(fQX&f;b@goKZ zttpTvca}7z;Urw&;XGXmz&;r-=EG{_*)7+xcxO|Wc@T5(GBtRtisWE~++#0Yx{=^E z+XLsi65|Eb>_BJQx3S)g5uginkTtY2n&h5wt}&iZOv%U>A5LCYxf4dWVzAEZXs}lg zg7}aMFID^fJtDJ(RTOU(k=LmE!bC(~IPY&ycTeKYdMlbZDL5^sA3fa|ym8-A1;2CR z6JWJwA%{89?cHqeOK)NMZ^?s%!@IV38y#$rps%pf5_yTA} z=oXI}lgDvdo5)nmg^x#CNq&=<=<9Z#dgrFR3?NS;p>waiq|Xhd_V@S`TFZe7d7w zWz(H^MF@$xB<$^8!637rED~<5&}mbh?gKC2k_BVO#tMaXqieQ*D*3YPu}YdDjuH)( z;E!p$4-gBlwLsLL2CHoL(&z1w8-JQu>fE~}7T16K@JpE>&?3;1k!q*Pt+ZDWcifLM zDXIsc&0Nmsh!0ttpOO>zcAFaOsTbaMJwjgOB3y~s<0BwdceTE}oGLz%>32D|7N{xM zCBOa3078Izq>Bs!Cxztj_!s<)b}66t=@ubk{VOkJAZWRRVON`(u6X?5{Y-}d%c*)l(Kd>8H;2QDWpkqy5ZL;1|n?Xjl zWy!I=3DOn8GK3(up7yuxs=_%Kg@mEt@DjZ9Qo==2wJYeLq{{L1`} zL2W>x9K>mQHbO6vczd?YJDc)P!FVI&P+*~Rm&`5pqrUF0$37b@Au^|bKuMld7l}cQ zBq8)W1|E=(xtw9g!X*K;ZbP52JXgVI3`#n^nEAycu#=} zv;Ntek2=BbN2edx&d+~n+-rWSmk9;xNc=1Xi7BtTWftLf67`aU8ETFwyD8A|5FFv7 zcw;D>&v|Eaw?F9ICuiC2#8I`-m0*K9wD+a1(pD#*PQeN^-y z!cNweQurqt!WD^NL>^zztEP5h8V-UoX^R5Khvp^yS zL^fhWP&}JU^^76EmR5cW>t2zwN%mF73+-{vbSo9!^!wICgkjlY$R7pPwC=h|Pp7Xy zVH5ZW_+8rB+Ihqdex}(jw`(W~w%7 z+-n+K{{zrI%QR*g_E-dz&TkNc7=9epozUC9K(X37)S{90-D|X)8m{5_Ha!@3rO*`g zn9+g8_nmSdFgfb%!?bU%P&@&}qJNjB96@xCYb7DopX%cjO>ifTcvtlbP6@6a~7IjgrPdII?X@;CncNHXM&lyt0-9CYy+ z0PwZ$OON_TYXyHF!$meihcU#{`?V}0Q7X}g5T6*;-`B?G#L=a-QHzzWU)`^V2lRK4 z3G!;I^#R)dQt`JNSp(Ru6#=6<7z=MyUsi2q2d&Z2_Oq8IM=-yZ9Cje#t2%DG9DZ zd{I!y5xj%OGs&^c@N3PS>BypeP0hSthZ(Z6X+3KsP)LB&s^hO|x|gt><4c6|s9U{QR7*3HS;au(#J$Cv9b3vS5BCPr#sDJ5@y_u4 zn;{D|tq5^rkLnf`CZ+6_CkK(^P4sbB)(LyMA^*|(8sL{Qm@Es4DLdoM@q`} zn^xZ+zbX$7Z)%sS0RF6Dr{PRKA~ZOEt9bsk<7BJqU8{U2aj5bL-o`1#I4Q8jW`5dK zBt?60N2q0=>EPSP=xN?&peX^uvzIx=F4(0|F@xZnd|gBKIIyHX_N#JTojcLcC;X%% zTjtY|jI)MpP8Az>QUZ=;DA%m1#y$OfVhffuYH%*!J>hqO3LhkV#34Fj9G35-$GRZa z@jY#4^AaHtHFayV(1q6zb*8ZxSCI@AlZ2P&_A?TX0`uL0@0jSFt}-}zF?s{lI|W-P z3?4zO2pxKvUzM=@5qA45;6(Guuc4Vt|2%4)@%X-88i(yP+J2!abH}>(?H!Du3TGMx zRf^)B#=VSDv}3G(ET1$&eP9jmyl$i88S;VZ>F!?EW;tDON2@b}B04(@&vfQ%X6TU+ zg1tqvQUbwv-mMR4CJ$8Mtem`OE5DMq!6nOIQLo0A&s!?~GjVO2T#km$=8i7TI z=)L|=uTbH?P|V6<(6kVRTMTKRuk+M3?nmVlVO{;b8HTMjCvc1KIU4#J13)EHNKgZ- z4`Vm=-Mt@S0~1i;cet)@=CE&`h+{Lv(TyE;nIz2(g~jrZhtVt%ek}Z4m>(XV)hcP* zT2PC1PvMWGN;-_BGdv~0Z~MT)_eGX`b?s36 z9a1w%b5-jpt>BF!En*C9U4i#H;V02-&-H3T3b&&1k41aC-&Q_DW7LF?3!Na7ico51 z+ei~O>nhfk7^jxqT*%Wm7`yKpae>_nU@gEJ+}9I&8e&}0Sf4Sey}Rmm;2mE<;E}l7 ztSy0?i(f;JlMn5CTMU2;$bj1>G=2hG$>*Ibm*$paVg|NXy#(c0*}`qoTqx#``>jA+5zH>_uH7mUp#2V5|iJoJzD z$8`I3rd?!4KTwKVz8&(U+4<+;Zx6bFP@qwJ#5GS{WsNEZ(H^Gl)YkE!H1^8VH*p`C ztBzcg;F`?*6SiPDt>->MxRh^xGxF#GK&24iXxCC7_u_R0LbSO+R$A$YUDlIn>H@!* zWbD$F-i3THMSxyYw_RW7#s2z0M5mcZ6+6WfEis8Z@LKCZE^1aW#zj=Ia!@t@%OmHS zN9R%sZf>oAYhJvDV3lR9yws8Uhdl`4Go78Hpjsi&H%B-%hSL9eTDiC4BKUj~TMH!Q z&hjSs-(y|LEV&33wj>6H|(prH^DZ*W94Gs3(4NQ|J?*&5%nLEMPNb z(Q`R}=ae*He~{EfQyny}aC}Am{?M; zbPrXTZ5-{@P4PW$nQ24wKx0%w>pj4s zL!ohJwb8%rAKxSria=2sy9avHFmLB)*vBHP6QtGlM8tocMtm&*5;PngFQAGd*Qd%a z(SVr&5skHU}ig-e?GVV(}0x zUI5vbUNQCkS7*c5_W&aoY}S1ptE6OQ)JNn5FP2z>|Cu8(E_n|!t3+)j&~QC6p7`~i zr=m$a=fvV6>fc%e@@ULsO{ymu)qI$b1>96$4PdNH#va2-*f%f$lXKS;wY7i!g73yl zq8^l{q}vtM%U!!?1uUYW&j~PGUipxP0Yf(65ezSCtPjoaI{BzHf@iW3%8Ca|DN_CxBCahgj{z}uLZ2}Yu|@W_(heRdC&PX29?>;D3iO#( zwyHl#u%ALW@!)B6)g&G6o@#KAS_&=t0L9)$nA7c4p>XpFfA7`XuFJ42{Wnh!-&3RU zwGOnx-hXAmg*;d3jy4yHLo0PY$Yq9nr4ie?VAFA$&12~1)mxiyjdCEtD7HK#-VtfB zf$n@={qr>LKU$u@Q~_S5k{ORDW2cwM@qd8uc~0EBcLjnUkeOba&=cD92YPg!s%VT3 z#LbQjE-`i~(TwXLJaSoa;h+Z)bwm}g-Uy@EI#4SdjM%_|Lj`gF!XhbBA=HN+*FWM& zgSA6RF(1WbZ~)ihB86jYxCak-V;}Dx@0#X5B@a%h2861h?d4c9lm1u7dV~=Ns2sc; zb88W_FrP+rDv+gr!PC2D029gEsA=lB6RJF{vRd(aE*e+Ifaz#hKSIS2I^^?nXqD*+nAr@x4$1#gr6tSet9Aw$wAM2+Hf(- zEq%@gcGKP>tPDaYD-Ti)*F2%%g2#RvjhEUSJ~Lo4FqxNlDEs?RqL+Y^ zuVN*aX;icTBUAeu>l$X5FJ1^iOkLAftwK+Y1dOulrkErbEPqmD!7C;x+=sdtHPwj3 zYq~ny=r(O`%C?L@lz3q>EyD4LKJrVu(J?DMJ7nfZA#^T))PA1(Z*JLoOcBK4_fG@1 zVP#b4$)of9dk^0n!l#;4>GiBL1C1$K5^848>|nsnoDsv>FFaM$x}#W7bBGj#g#_wTd$>AELM^B{Vh(}-@t zQ9Ond)cHQG&{x@U=AeHP!1k>fEAVdXGzUFy-41%xbLpLR>i^jIa}b=&UY%y4 zaPl4YygydY+J__H3kW|?yz=b>iHXM*V*O7VRBpOu@8BTo?7L zB;cExLbDja%N7@k2~@jz+S^4nGLjgc{@?2U*DnY7C#8P;^h#6_NhW(8&CR;d zEPQ3n5Wy-;rjY>DyQa8a4p4VZ-Y7??X>Bbo0MJKD`~EVRJi}Y=k$hUCmJzy)ezGdU zL9fnpx?&Nif$GoJ$ya>k)|Lt#n|Deud0`6{f&({g_O;i)_oor8^kb{R7LhML+RaaK z1H>0B9_iGXMAh^O_%wfd67>GZDY@VjIj&)e4%KHJ(9izGK#ed)QT*7Ld)!L$ofr)ieVc<0x8TUi#=f6P6x%Z z;9E06T;MK)oLc=%nW3TgX&tO4BNfb=4q6Jz%D-8Rfd(ffEJDbO7gqfH!Y>OxN3QVx z`sGV6bueP^VxZ>g++6oB8PHD;9Zu9YXV<=0r|2ZZfOA=qC1o+XA=1M&jw<6n)#dbT zQ?0HxUWj_|KzeqrWBC?01Mc3!sQ*QK#v^3CJT&2XR?1&&-IvQ;2Z!m}a`3^6P=s4u zZqJ6UG#@OXXVkTcvI%FudvO5gNNoM*RA$yTq?60op)S#v6U!@PRy{oyy*x(=>>c*V zFU``0+FCX8_(ihvc{?PqldW#3KQiJ-SXr!lQbCKG=a2AXPI9fM+~O(spWHS?la_6r zPwp8m9I8W7KtW?Wgy-9Pd0cA4#(aDiQ1MQWbWYt!0ESiP!J6ylB7t2v2-X_N&<*P@ zq{+Emlkq@u1=;LeU(tujHX&CrkadBucp8z}xaM~)!S?2{qTrcwEa|MSN1%QELYUW7 zu#mTw>6rrtcn5=K^%;Nsd~zgyi<)uNoWh=vYh0aN;)sIkVvhdxGeIcyf2# z@o+{waiXJRT3Z;bV^v^XK1+@r7<}9nuta*wdur3$`e1oTf$P`h61beg>vFMz-4 zB;Am5l}!=O0VEzwbEPDnBxqBA*0FbB;n*GXn{?%;+D}F7t5NH}|j=bL67rtYD~ z210Ao=`0f8(o(otFoQKcjE5CT)^EsKmH%k`o(c18QRIb&fN)l_$bBdZjnDLE%+7hi-^v(Jc%kJh{Q`##-A@fXRy-=Kq+3rMCS1 zaY6ubR+e_(t`5A#g3HTm%RbX`eQ`;K8=N-uW@DKfPD^||HR*h7^LNpQLXl^;inVgy zUsg@lI-l-+B#m+?_DOi=)QY8ML@;sD`xS zn{9g;mtG_?0LV6coPQ&A5}Q$n##&aj)iXNtYAhA%1~DI)_hojVlx2&|osaynxha10 zerDl^Axj_1R+2F+^wTt{S>HFvuA9=LF`C9){BE&mjQHt1?Ji`(*-O`y+B2`($Qy&+ zGU;fK4LLFP!mR~xBa|06jPtfEtkwN9pb2Wk>D5?f^C9B{r(}c+v|NX3X6Sb}H>1Bc z5A`xe`Mz7>5A$$Zy~_=p69EP36xWEAp@(zFbgNKwbO>FcPaew}33xrAZd;j8dCh=h z7Ob4KW6o@>^#A?<~}D#qst{t|KFz>#8uabG9adeVU(*JK)rqQRFL_I5>U zfb#Oj2nT2|#w{^`-t#O_u>@?{O=cSyi4A*AYx`F=-}ES|`-oHBJweCCUKP1{3u0kB%czm#Dj7h9$5??fbWH;urwD@@D7+Tw(nt z9q1GgkTiK`)%%P94{zUm$S_r%j~o8PVnj=A(Yzz0?f>6yl{J{6dku0cBneV$Y++tL zB!>n^Tdb*X@g)Rtr4UAsB+)E5Aly5wemd`JKmEKYy)TeBOcA&X-}N;f{gH0cA$@{FZPut<1Jffu7MybIpcWOa}0|1u3s;08HxLSQP;sfQ}eK2r{CoQ&S8 zLgOw^I*zu~ceh$%D=_<@fj3L^;75mDi_7KQ`%J&dY;rZ7&!`7WerQj=g7W?#@Hn?O zD}xul&*&pquhS9b0kt~01jHC3hy!WRvl&s$$5e*pukP*~;I?{%Z65!8PDbG*vH#oM zgWh`~Z~~g2U<-3moqb;UM~9imlD4E+y!d(=(zV!s(&*m$PDy%ZnW$|w8uRift{(7= zEp;G;FQakZZg}m;1)Zl7qyzs@3XZE`86M3;k(T4(+4019Hj z#LR5-@2cw2S7=OV8^V?e=45N2pAB#^Hm9%MRxX#8!{>?y^{|@q^Noeq#}hebe#<_<#A|CFKkZ4 z&aVu*oF1lh`|;?;#r|kKHWyw%E*=Z7)#~|(_IIE^Aw{zU&7~=t@}1;}a{SxU zVtW6<{i9t`^pY2{^v|Y9xSeWadd~ORB!xk&5+Qj(?*&&+vLgv1=A{ue&ty$EtjrYj~DXxC{@Gg2<(xA z`=YP20_Urv=OiAUT=^ZglX$Xs@Xm_>CbFt)F$xofdMQFa0)v19VISertxRaJXvEa{ z?TPzIIt%&#u15Msu1s4uOV9-+{VUl0dYpgoq4)_;@RIPN5B02yK;pdcb2X* z?dbm+fAT`UtVEY?OouX1+OXjg3% z6J1N`%dfSxJ05l36uAFJP0@83jVVL5(EV2<41roatYTpto~N=C^11%<-3EimDkjsT z(u{kx5cB+#0Ij=w#)+i+PzDRDT8fz=7&JuQKW({b2!z252cYj_;uDl6=QH3ZXahM- zyewbRxb0KW+?xhdU7Hia(y2T5Y~?c=la1PRRh=8^xOwP2NAt4dyZEN(<|!Q6=8*;V z7MfF*xPus~^k|^D(RslmXZhukLysHocdE4is3owZ zUNeru5XlQ^{>M&0D1ZX1jKJjV%Jj~JI3&dz&z^CVn31u6PkGF+g%bGNvzU*6CKA5u((d(G-py49S01n}st6H*{_S~%@Ue+}Wf6OS-l z{0;XhpzwYZfhVxyCa~;CTnGwm5o?Cxs3(&xmKBbiU&O(s0Qj{n4y-Q^mtLARh$|~y ztFuPnN@h<$@h~X=2*{lovoz5C_|8K!>v|u};diY+qLF*K(PN&`00V(em3;cVJOl!7 zKn=F~>udFE7ns64rG@YH9KLW(APNDea2Gy{0x^A&XmDo50KWGozvm$b*p%G5YufIO zkWkoC!R=b~iHB3cRkF&)UoyFActINJXE?vn-gtWSXUMEwZMd;(k#zQMef=yndVD6d zr1G^Qxk>l@BB{Tgm2YgMo%;2V*WNII(@kXo@15!T!XFnit!ZfYzKVHu=7oN3Z8$n) zTbF3Zv=WF*i_18)_Y1CAeDrk&g{2*_Id_klZvU&6mkBS|@LA$)-529kP{|gG(?KWe zb8Nbm;@?AkJA~TzUdD*FjCEQ6{nE6_39r_QGY9Ce+h~3f2ECF~!6({m`RlkAL!mIt zWyYL;b<@I@*O>%#xc1t+)g%aBt|_cMR0f}qYw#4l8$D-$=Y!sxe#mp28>)SH=seH2 zW!K3cCf`_$j)Wp^)7*3$$Dny?}dcsy&{~hQ^nn@kZL$dMdMl_1f+ykf z9kl%4Cp~Cg45NJ9o9@j0zbPG*dBytbV@}|ldRwxpp+Z()q(C4=|J;-E$J^1e&H5v@ zg4b=e1*9tmb_q|`c4RKCx94r-JtU`xYwgq3`881MjZ{bD)9Hcy*W^n|DM9aZF8fv6 zuRVRC`_M8?qkENAXu5Tv_s+s~-uzbsbq`vT1(KqAuMBs|%`DEWG?n-1loty8PH(*I z#*=R=?om;!9i0ANP519tsy#WxlkUI;E^l+J9CfLC=GL+k$0A}Dz%(E}_EzBPRg!)C zpgTRF#|dzP`ErT#A;Sq^wRmMmg_KdzFO)5HS;d>%+Dm55Kj-$dyq9899jE?w2o_a( zX*>$qsj1AZC>#hSZf)GkSvey%I&Y$KKIKiUyr}ov9N*^^Qg7 zB^`a3l+9Ja?JL2yJ7e`}=BU>!n#J;WTTIyA>r5?&wt5qNdTWCh+6OgDlrmWESl^x; z^zXQy!&1MfjfLl@9}pe3%%(Sd-$v`GTv)&o!gcfj26T1+yiUfF;bvBm~|E$aJxG(Qc z=`P0uxWf}nmnc4o)(T#nH1D87u2hAS>jK@IH z#_CGa3d8rf%wjFc!nRQ=Iv~T**Zd%SH|@t6^&?heuWD}otqBT?YNy%Pcut)N{A?I4 z;74HA5xBCQ_Z~LY?@~>vW54;R@mw7Ef_or^1Ustg$K>0p2ARv;m3PP=QXf3sHct8F zB-i@rZ%5FRY_Sv=w6XUnv;e1^Xr19>fafPK*q$rC5i8Ghd$rnUZo;)K9pMzY)hg(0 zX{ch7^sl_;sQU!xY~gjUcN{xRA?*t`WjkEs4=V+=>g8NvGzt9R5Gb&?(b){AG3ulS zzIKb1E|{r4<4*!K?ANG4)#43{O+o_qy^5XUM}C% zcn9eLQ;CDh;EDRUBRd>sBsZ?m1ZenWpi5T!H2lv7Xl$t>X_aSNO5n$`<(}`(iasGpTLQkrs|G#trH^?bbhY& z8a@V@WRQu!fHR!CeV&Cxq*^ijWxJKFpTGusEw(+YUA5JndN=vH6dCsW?WC`+GJ9C5 zWFZn(%v}$I!^(eM6|zHtaTmEWF4I67p<>=r4MEGLFR-^_rZLc-QfNA zC0sPkWZ{Ph0cC(IDs>)~Bb>atdeXboj!(yG>Jhj(qNH%9_MWx>R7OM8<(Ri6IrRR-b{< zSHS7wtfMjSWW_z~fIsJLdy3jM`}*fB6LjF;W9YQosMe0A_ji^36%Asw>(r8d4jLu5 z5@dU4&rqLyHr(evjjQL10=_AK6geu!sqX90fRwJGj)73DtgDbF3c#FgI9{9JOF3ma zK$?0Iz`2=t$GYxW*F;C%xduS|R92~R_N!mf>k&A01N*}EQg^amxgizL62~5W`fOz4Ko?v;o zxQk&G`+Q4B3(dIqh5lM`-E>v3gvRe%VIZLmZhhX_?QQ0M zyU}5g0d+6P-{hCDr>9?^y!dVX71`(s5DqsESLaonBYZd-eA?~$o{<1BZkrWrT_GQH zO+!jDe*L7S!u`k;W)}KHg|oeqzyUmrtnjyv-IXRXBQVnl{C)CYovU{Y!;g>ejCr;h zjt3y>IkXp_q%x+j$B;*LN>GAr)pVH!?Y+0`-dYPsi}S_y&+T8@gVQm;(^^NkA@6@C z;;Vi)I`J>Wp3#WD2!h3lX!PgbI9Ml&6zzT1JFBjUKZWC4al;;~r>A&U z3(iwALQu|1T7}r4pS5@9K5Gi4O$()&D=Yyg0W}=Qy&F8bKM>GT?B?{%H#F_mJa&Q^;zG{l>zL{HAuu*6P%`wQ zpre2dFj@hpu#7~xrQ4T&xn110>q-tD4-h>IN22>fnkzSsf9YMU`mS?Oo%%95{PRG# z+B|`K%^;E6x~TI(Bg)3Oi4_jyzO--FgBHin!5xIfp6xqA!kd&Y!p_$4xl9EiQEo-3>%|ndi~c%n0>Br-k2_5N zNK7T<%m-&N+>vABM1k3$`76h%H@`S)Y_%Uqrf<=A5g3Q67U+yBrh*Qbm`}@wRLM2TP-nlfUp8W=r z#0akYw@v|^qS#R|H4Eo1x~Ssf@K==Y`l?RGdDv6a0TQ=r2*#l@ET4~v)35@y5H;TO z9`70x$PYc*{(eRs*g$bgpy)9aD#k zvE1rN93QOspY!>>zV9p7V*At?uY$lYp}|JY7M$t4l`X=O8brHj(<0t&+plFjSFRko ziYxPsQo8n&x}cS_`Z7y@HKXRrJF*2V+aTA)g)3uHvuaNu*C6SSeu@o=7bF8jzUhDN zJAwMk8vjlz;oGCbZ_hLOzCGhgYru`x6D_{SCbj%!{FK*6x3^*#>sZChl?HN6pzp%v z$P;#%5?_goZFVM)u#iZ{xAyp->XYjJmtE^J#)5wb{4@?-htmAhX#j3HJ`4DmEh~!} z%7kXIF5Lb{Gh;)KJ5G;VGDFxel$@ZK17z{(dK=j|nI!5uCZg^$=poqV7rXWq9IYf642F!k)<0cIj(=$W%u)X%4F+NU5s6O=F3Dc>q_c)Mky+L? zYoWqy<-*Y&8+*;AY8mTrr^*2Pa;`m|H>ZN}t*T_9lH8<8*^3txr9KU;JTa)1v9aX< z-BMt%vffQy*c3)T*VFb2me6KHwvbf_a&K^%pMG8f*5x*oYv<(|5)&;Fq-8G``;4pGsFx7k(Mn%4ZJ9eQz#@ODn$?#eT|7 z+A)>`*Y(QHIj)|r0&!(hws0wUccq2L9GHZ_fn{0OEygmq0@Zoe=rCIuh|fKcBz*6} z-Xq+M#M|xGyY?MZ9=*JUb#MQ@*2Mq{t$7nd6q(TgyoVG;oiqF8|GZFnFv5-Liw zCM>e9^(`)(*&VwzY-&Nrsz4^mD(zb`xreZu^7W|BDTW!F4dZi_4fWiCPp`B}A$TZz zy>k-F(}m0K$m||B2EkpQ$+kC7&%cTvOnC`^j)FZ_*jbl!6`&0Ha;#O)bne6i$-fHs_wpuJ^p)5Bk=qo+$GUs0^^JkLYxy)xDjz9&7 z=9&8}(8y7oE;;llMsKeLkj(^ze$Bf=M`TV_p~-f++2iyJNdUbbAsTN`w7e7og9L&+ zLg-LzyM8d|ZkvwT^EJkR^OuOyQCG`(E6D1|u?}`&uMDiQ_KptQOA}kspWZoqBesBJn`Qy&Lcg{Wc zJKs5T=1eZaAGuYEn2QE?y<^nzJ&qb#?uiP)?G*dCu;JO24dS9+Z%h1aO zG`j$+@gX^f{=SVSP)j26jl|A4e(<_yq@2W@?G9XhtgzD9#X=FC1DHhydriuoH7=0M z|1rSFHWGbiT8_7}5$zzI*b?H9x*&%WAF5%%td--k3T z%C36lO7y!ImOlLXT9!?>o|w$0`9j3S?)sS(?o#>hQZ_n8v`zUAyFZv0#MqODXG8Z6 zqUdMR-I9yDE<~VvIuUDji!h9W8%= zS`yyudHR?9m6W@oBbQhewB06UP5dIEaj!Xuvui+CI^&_rhu>#NU6pYM-`)_+Ze_qE zZF@4AgKLl={9ofFjgF!UYCy43{SxbITJrL% z4HUR(@^yB624?3QTe#+E4*15v6^eBUpMoYEL0&Rgs5*QtgztR@TMk0x{=%~3&`Pki zrlYP%U2qe^o~$!E_!bVy|MMKEkT`B3Ac(^Z%Gml=vorCKf)~mo>QPhtm&}S%gC~IK z{Mh|TEATXUWUyCHw+yp0o_}N9fvhr-NYZPPs3mhW5Ur;x_f<^Bcb5EZ3=Y`?5?>xk zf~*}B7D(UBeqU4dHoz6tpkywP%mjZiNG%vPb{#PMkIz?@PS#GgWp|vF0aMkZ|I`{m zT8Z#`6!kW3%;Yl>>tH~eq*}OT0f<2&O0nhP6aNDn=xX1K@WU@y`FG+8!+{qw&jX7@ zc`lbb$c-TJNsFh<1tt2xuzs59Oc~tc*;SMv-loV5-Y}ZIQKkZsN*uQqu!5tn9*!I< z@?utxh1FG7A^)QF7;x#eJeG6Bx#n`eO9Ka&kE{R|nlfvkEN2c9_x-szU;S`9F{Mya zwdCTm|JxzrLur z1&tqR1vz^gC|)1k;bqkK<v5@(DHcmj)CEvImY-dQeSLJ7WMgzGp^g>1 z;vEVR`%kTWZB^oK3GSJWY?UED_4R6|jgFHL$SS-}=V|0P_HhcuYe~=Tw>JK=VBR@s z+-;@={gVhEwR0KM1F3)5mXm0q5S!9-r%HzR@1?Ol?rV*z-l(_o@SFwVSSHY9z+vkK z=UtlcZDe00O{MFP1sU?qRUuA53*w<irJGNGpMhg)Kjf%QKj^L+SlI+?JQ7KBFo^ z?H|jjZpxJta&Y>pz}@O+NB5XMbr&8kNR#;-mI-9&0xXzmJ2Hkbim-M1pcuf?0{BXL zh%TB5lI_H7)~74P?&LBWQP}y*lC^wJVvJcOsI8_Vv28?p4z2=P{uHmUQi30r!NK`T z@uHB^2`TzVvPgJo4v+#)u$ou!G5EQJ>r)@d)N_c-7Y0jm^6Vp;t{Cf$Q(!WZ-o=;K zhx`(eOE!`}h8*ok=Cp=z4MY8kqEE@SYr36`sF=*0x^O(2AlG^CiN+p5TQ=Y@NKqn9 zgmm!7L^pw9MQ|~Z)GSfz3YnUBom;+LAnXmQTp_Unb=f!EjbU}-DLt&phLmerleo=g zYl*65jCCt#xedtMmJ(JNq!A4J(~WCS4x#a#MFxvRdUUq5m!KC14`N-CgAvsj9d~H% zCF$|HDV^&uaTzkTE-MeK_%Olb6dgtW7(li%EDB) zrhu7qVsYXViex~uM7tlq_ch`jB{vlWTKVK7udrqQ))1QO4yjRR<=}|6`i!6BZ1n^Z zncxwl`A-$hR`4qmlFQ_-)eq&`35#yrfBnKU>;CX&vrhx2Pdfj@Hjd9x-^SlR4nBc>GK^z`xqE z;55XW?+@D`O@2m0n_g0UEGq)l%GI(poN@#XC)+?VTK+BqNnq#-_#(1^6k^J)4w0I1 zFMhl$JeP1`$G8-8igl-CS=30Oq6JNUj)e-m)r8y&pq6vJrwARKI*@=9{1j{XVF=H>kB?sj3}%L5MUu3(m;6G+%-0)lp>rw?yqmkuN(?Hm8T?Cq(X zwk~VKGBY$i#vrFz9nUJVoJ=d{-EWnYh{dWv|LX{*ms_O-Y!{u^t za~5FoB>`|f0TCl+t>}VO4s5gGX#i`Ba1=uq*-?6oG+D0n^K7aS2LMhUmYO6F!5*jH) zNr*y7+Jw+1qsB-yR5bAN;w)ciPI`1WmT$(s+U zDFb~}ndIxr>=`lw9@n0^9G4Sm)ryd@*fO2kxd+a@P^RhZ(>Ru1Jj2C( zdFnNn*-~+SJ6y_5>yNzOk@U#r^rMyQEws)BRu&c&71ezx{4n(O=BdPmTR-UUH#ZQz zbAM>A>*3razfNu8llg)5zG)(+E|SgT*2=>H+73kzIv-tA$$O%GXIj43ECu$C5&c~P z8&)YE`{uEBZCB>HXDo)<@RTTX2#IU8l)o1 zjZRsANKrbwIHi?0YKLls>pNTJ#L+pHZ_O|uQ^U;OXmu-x2P1)Y|mpQgLN+hpE&eL3iP$W^i_$v*x+f0SFan{9uKm)>L0F4Ls;hhtHJ$m25W&Y!!ExIq z$eP~o_uWS_Vr$1148FQ#P+s+fm9UG*)2B~ub8jN7Do@4gD6$0}R~clq5A1b|v3K}l z-a8`SB$4aYU78iGxkoXxedwCR8L#e)-AfO0*<5m3X?#XqwnaD8Mui%d5~i>uW{$PB z^%M60{?E8Jjo7g&?*w=LPHk`Dyrk`^Rns?EBU+ag7CvLoV;2@KMySY#hU(nqyuaE? zH!o@S=Ta*Da81e3b?LWn-h4mMQWXBD*9+`1~J*HJ8ty zANFUtvyYl|Y7aF^+lluJCfV;yeLdtV;oz`$@18xuLPZL*66(V3Z#g(T4cEoh^Sz#h zFUnE5CBxZIy-ke5!Ve$bz56Nq`siKd2iv|>4g|VCYTSR|K<2Wg%Ux*St-TYmsW;6JhSbE*r;|6WDTWb6}6d+KmpL z+R~jEh}3Px*3UYv73Q1Q)z;Xbm2FWg>Kg2f?~B!Fu8mxW0Xi$Nue4%Ci;Wo)2hJB3 z>dC}4=b7ieaEZ^z$XJL?d5(OGQNh@Cp0RyRa(~gh6SsVeEB0SCe7~fP>i+J)$-Ijf zN4S|cF3XakD2YbfN=JN>2~)7Zy+*AQjlQNqe>KqB|GA0W`#O(x&$g_4_y?nP?OL@H zeXPx2_8;uVuQxv$(O9u-*APGZ=w4k+);ccJ?g;x^nzK3EpEYgTv=Rj>@9i7?epBa9 z%S&=kcA7s|p`s95UM4OgVUb(U*Clih6?~Y*V?ukGHmugYT#M>vCWpsi5E%aJR80;y_^eim8^93vSX1!h<8*4iPX2nSN6 z)~E#tr|P$l#+*HS*4gY;FO6BUHP#?p;(Kj~HWt=%c3U8K(V4osi7QH$S3PTdUNoM@ z(unZW%rvuAZuLmHPw=}9OcLE@kE#sjAIU*!vvp5A?|lHJ)+n~6 zuj@x`h=8%&X$$>XA(2X!W4QELgu(`fgi$0njrlD7rbj$#>KJlVz{U}U^=r;KW+D}w zS%1#(@EjVGXY;z?jgk?%#hR@ZLaImn)KQVUkwxW^RYbWORSD{vMt_G4=c*CC0VKivO zzEGfUdXcuajLS}3ENyrxC0<8Ez`gqND9V}tbyZtfyKMn~IMTLmsnAK#CJ zVvtNfX7SVc(HW;MIfK0)oSf&Uhz0c;9U(Kdk}74DXFuYS?v?tLUb*tmp&=t%)&4iT ze+(k5zOYhn=%#es@96OLS5Ew{Oc6P4flO(js~fli*TB+Uxacl|I=(<6=IRui3Wjr> zLylMXrgg~|v(2i!jV!5;59wf=%|vMr3*5bD&v>?XkFDDYuhgow$IooK?JC)<@!CYS z-!l<$SLQU|h^@|vBx`fU^HW7nRqiH~>ekySrle(2AdS~5Is67pZ2tgT4H_=%A}3ir>ZoOPO?;L3}jIiYlRrcLdTykOY#8H{t9nwp<<-$%rqke;*lJo_MlXFY6 zqobpR-OME;jBX7K5B)D!qeT}N0Q?GCsTL&pS*f;2E3lmsZqxv|h%$M~8#V?!a9HhW zr*@)duZv6lGJb(3NeMH}aKYOZ#mmTYOJIZtrt|RVSJrF9y4s1a_B>Qrcv&?s&Hh$- z1fzASN6%NWlTF%p@X`}}<>Z_bR!{XbG@iTie%kjlJ$ds%%jAB;N@IryPm}Cd0tsS& z$yIod@@n6VGIcyOSTj;sxL@oc&HbI~4xf!1Hwt6b?*k+}VoSOg_;AzAI+!th;f-?P z%ojqH^#M;u%Nnk`l^;@|w&j@NwRp_%^!3kcJ{6q(o$m3~d9$vs#z)jsz_P12?WKXB%dmT{8bLy-# zsAdA*Vc4Exoar-tcml|T7Jb_l(4&G;H)}1$PTaKHfqC{>DidIn#(-o`Gu z>&k2Ar?e~?*i1m-j2oyf%p0`sVytEKjXKWsm+X}t@MkSU-Z~;kX6VztpwYY)DIXet zo>4x(snph8%-$hjul}sw;5Ya3E|+Ocp|nW*03U6)`1gk!xhS&!PFTj2B?G}{*DPJ5 zA|A{?PeHLlp(|iQvIvuA=R_B1dW6IRWZ}vk)EgqOR)xIho!r{bMRGc?8nN*~0y~ zDo4^;JV?-j0s{MhBr8=CZ|bL7D~HVFzp>>!CRm131W^Y)k8NHT$%CK*C0L(y(_@y6 za$;Q!H|lJQYM$Wj*#b@Sd|_E?M?NbTA7#%0wX)SYeNYjg`LM#iSsN^9T%}gWJpk~R z6B4jP6KQBT-z%8M1|c_q@|j6t?hrwKSF=2BH$O!lg{Gi99Qo-CK>Qc|A(P4|TE*;H z2@{b(i{k6ANsb!2zZ+$Rg6m+Do=+R5sDr@elN>Rx)1sg=B(L!8g20TulIm{(Z>`Tc z9=J6!R%agL)HP;b&ibi8kmfooZJ2q<$xs571K&k*G_+$#)J2`}I@9^44#XgZuq%lG zfT0M@uhocp*9ZlwbSQ=2XXD6<>u#Th)BGa>kv$01;l$`&?e{4MfK0Un`o!>l42#aZ zAp{hEU;BNsTlu$jm08HB3uDV$HloHanQv+$5YqS&)>#IRTdYlv#BLv5|7)iy8~ zJI$IM;VMvoyf)C5K3LK<7+5^JwPHLHi1GBvli%`yn!_EGkGO4BJMkk73!;aTxcBO& zc6W0y$y4UJn#bA)dLvQu3GDI(%mU1H31_takOyY)c5{1~^7hLQamP~#Hmo~8nBBW4 zm;9f8*>8{_g~4u>j%x-t4w2tt!7{$OsqU_)wyaI(PV>%JuU>7!PBif-@&v9-!1rWr z5)%_IH);IbYO2^uAgHJI6%7IBW@+B0j|?5)rQj;8h2TRJ-Gj{l=xvuG1CsA-N$48< zlDRKqFWY}pgIZtO!rqa(H=qFnPnsBM!+wYkFcyQzIc(RH^RO5J*sm${(|2Z-b`2VR z(jTH?_8gjZf%!r@C$G5<0BXZ;2)hfUE=s)_$pWcbqM-0?+@mmnu4StIAj}pX{6{wj z%B;WN+3CLp*?KnnUA;0L+@|u6f`WnD_4T34sZ!UZMaqQ;P6MJsrJufm?cLMIK1$!= zo0|XrriWGw-aD*risS~EL3Jdg4tt?)+Mu=g^)<_vw;U)p;|GXx=t>1(S&ZO+f2(8Zd}^3P#EZaU5s^WK^p)}^V)R$uEN)KXe`Ji} z{bm0cGkaCFSnHX=A1w&)kffCbbqp#~c5NAlBD0SIxsbd{HW4O(2VgV7h5O!{zh)EA z9{}=>y=cQ)4lQ72LQ8225B-RnmH2gW3Hp(oBRU|H@(%*Ws`lvztLsp}Th9WM$E*T` z!H(Bb!9+0>j#&h)>H5+G;Cg|@U3&Fv_lEXNqlu+$fl}(L90D$amaaH{|1h`85kI;0 zrc|jU%(ui*3njzC!5`j8FYA%?P$Qh|k}?~#HUb$K+1lDp?3auv&EW?B)v+1gX?c8q z8ToN{5z&VxG_D2nj(l#8nYrLYqZ%NT@!2)f=hmq8HuAh!(iSyXlZzdyoqV&R*vMYI z-v}A+e0<-}#ZC=`aoHs;-gIT3@67dCUfr{Rw+{ABEM4!C`udRlS?%>_*VKj!g2qkr z{H#B8_j=6C-WH%)Qgr38EoN!^wyjvbdbRxZrF=~qEs}cStsbebH&V_J!GjyjePhvs zjQ+IgC+D2LGkzi8OCA?7xt)tBid8uxLBKUirD5NaHWK?hDfIM}Mkf(ZTFv821)93b zs2B}lReKQJ{=j%^w{9I6ARtN~qEE`5Ep`2Y&yIm*)r*2%ha{l{T;5db46GFrsY^H? zc;1?#2U~rl03hx^e*FEE{n@`L$zU!%d-skIX6_;cVWLYTwl`_B?)%Yk&D+_7KWcaA zjHUP%!BatJJA>FMdtq~7u$EhlOb3#;sQf&&L3 z0Ej(OYSg$Qp3q{4sl3j!nM1#$eyKiFe|%GUZx-)GAL1NFh=q zfuv#)>^Xg=IfkeVMw2N~9hZCC|nw>-DQhY(Vkqmw!3wo7dKje%jk4jyE$ ze5<_Ae4u7lvDb}IlAEV8-$*f-4xkS}nDCZV7@<=zLbAZJ-17b7F3lyQqN zd73ozW7Mr^TyeC|Z5jgpk6eh7P*_-7y8c`S&)s@88kfmz_LYT@cXcFxMK?BcC=mj= z!xTJ$oFZILE=y$315AKS_WpZN@La_dNLWD|?ULSO(;9is#sIfn==M(=UZ2~sWGL{N zBpKfTFon^#+6k)Sye*sW)*mMjd>NLrv$K#*Z24+d z7}(0SzE7E@P%Fy0fUK_feOj#5oYBbh5ORqv7{o&Y1{e)h@8=Trg`+1iwN72x*!3kr zv$=Mf!Zkjkc-l|{ZE0NX+$JBVCY#XMLU!T-ZMsd0KYsieS3PF&WIb4T%p3qDQ~g;J z->vfeWLH=~yBVw**KB^Ym%?Tp`tadHfo2ox72_}jk{p${z$<2defcuBTJc!*1>gt? z8?6%B2gFg&S z6&K=muU@^nKqf*nc9AhvN{KDtCS_`8jY^i8y!rbV&xMFJFegwe!mn%}SB-HwT8Ljy zf}Fup#)3m|N;5ePMFT22U{x+RaN8}cb{R8AB_9y1S!-Q#0IB{0-M4WOE7ipU?vm;n z0)49qd7B|>rnwm`pA?v71RUKpS5({}IHEtKp?FLRrDqpJ$+bvkmc=6QOI(DQH?oLC zFbjKpE;UR%;>A4Ag;=ImP|Qz|`P5xv4<^w3rjb;w@fwm-0BViGYX!D|y_K#6ZaHJy zh5gdruffN@2aOvLot`_kd`N`3vtE=8R$tug(tM~2*JN=oAY2sQVVDfIME=$B-#Ahm zWH>Pko9OOTXrWa4Vi#U~EGFk8In#}eJz7P~ zG)<`AjcDuEf_ngz>hJnwcU$wVbDjaD&j z7&%AMA2Ig!!v{lk%j4k$m3M5Jst9r2c4@kyeQDQ%G`+ng!pGDP(?0J6uw_7e0li8A zj0h1-R+Weu(}R?@9@LMvZZBsfU*h|Mga$2=`@IR%TVzg^@`z1uT$;E!a096*amY?m z?geE`;D=itTFX1MH8p+DgU#0S-Ke;tPB0hp-eKee&qJ|PU?Gv>qY(W;xDpwyXG!io zR)vh0M$-cG`>=cCUh$&(s`o>#VCQSyPwn5oKf_LZvtBB)Y9OW+(*qnBcinC6v~RKx z?Z^P+0JO!R#N4=l|9+{fT)68uHOCZ6sCzs#h#aT+@~2W$e=I7d0JutF9gvL|mrW&i z@?Z|-`N`R*?_@x9UY?(yA1t`yDD4n3W}5$A;Pk_+{AbUe&75Ht7{h4oS^`DerVaMe z%?ka{d}7y}nAE?RiC_kM$f%9GzFf^wS?|f$^l>vJTsMLa*itzvsTiB<4nNH0x@45A zt>sf3p!VX$Qp){uD@+Y+p6fhHty*y{eY+MA<@f{^jU@a4aLd~K!ne~2bb>8#s=4pe zMFi4x&J954TM1qk;I;~T;yVf|2Wetrw z6EC0>tm!KUwW~De=(Xn<( zkaQ6d^K)TH)b0E9a)Gn( z=E#`v3BUkN_x<~S=r}3256}9GpvGl(NrMokOvq2mVv(93saBc*qC_dTU24}A){OkW zzg%h2$cMsroUA-YV#3v$y_~9KQ zulqoM@M)XJBBtX~gtacnDHF^o1gyEVoCi1<%C!>YW>-Rzg`h~Hs?VcExR!KyTEjHn zsu2Uf72&iP0<(z>CgKhGEhn`TA4s9sjKnlkfUs`}ND0t6~4o zzT$bj+!CYJU$p3puW6MMs!TzCzG1vgG4y4`yk;@o%&r9H-(UCgR!l4aKXQ!H{3=d= zwg2|vNqc1llu9+EL1bC&`Ar;1T(@6o$WLVRhpOK%H{<^#(Z zbwf3jZS~M{UM55864d_x{msp=AW?&-Yqr4h4FJ#??Jz%O{h9^GM4CXl(?FOopoZ!h zu8XA(492?5&uxYCzgL8x&a>pnD11=xuvoeYOr*~AFw zzA-YUX?grdxd3cR+t1&Bu55l}c^j&xa;u-bL>9ml6!8_vBMZKM{aTA%h`W$flo6Wz z4N~U-=`1n(Jnj%^A)_~{X$iQWxP?%r>_el#@IR9TE8`48RuNoE#jFDg~sNFW9p7V2Up;z-FAMBgso5 z=`u>&L1Z@ttpz<*Eu_aoSqxSiGB$CTJG6CmFI{w+KQTjb;t1_?2@r@rP`?CMgFo?< z=XtDqXaGRJ;ZbO#hJGuA+t8&|3T=UNK-;QRCjb0*qYev}FFKp#UcJF}+nw zut_6QSE)D$NR_zmI}{LpMR0*!r$ z1?9Hxg6ud#Ry}7!s``R}^MtSjTLo3eosolfhDbu1njf77Sw3lYP2yf}Z%8d_#{wcB z>cH3~29N+$%!^QVKmc4%flvo)KN$SNAH_IZR~KRhl}!T}c~9jblqmvR8J(B>2Wp^% zvs>??e4Jo0z77q3`4J8ZYvvSz5-3CFq+Ys1`#t!gQ1Q{eCDR*`)4cCNB5FbKM=wIl zM}c=w@YIxs;VY%^{Oe3)Fqg}1I`!{jd{ee#cFtkSozc=Wn?-LQu7yrE&a(pKzAr7M zJPQ2m56lnQCN6^5$B59e6|fe#=DiAhMtD%K3opoi+OXDZx;wwBIA0wRAhYhE<{}Z0 zdt>pyFCpd*pLopm4(KYjCsTv~3l{Ts$apM`r>}xfzbQK{DMlyhl!CBa2V+brMC%8DP=%HhV znAmYQjzcIioRn`aL5?HdUI!20c6}^Fvf2cQ>(Xfc3OQ||v~z}8M>PSvZh~Na3leXp zshqGHnf8bKteTREBMMYL)ME*|vuonfO`-6*qod=~iZF#g$l!RGH(W?xU!?0verWp1 z@Bj^)Bu8f@BfG+NZAAhD`ICbn;YwPRrk8|yBS!$s2%(I{Q?P)$&Mon z72x;b$tA;LIui8QUj;@7=M7wm;NF)pl2UC=ev%t5VAr+_@(%~USQa0LWVa92gxeHc z`VuK(^AAJ*LS_&{$rEBM1G0&Ca6G$a)-G*nGX`MiLfC3fXs3JtW<+zWhl6dZ_$ivW zw8`{Y3AXU+IAaxn>oBRNtDEg|#KAF=K1n*G#y=<8zP+omuHrnS-%S}x8O zjV4G0Emf0Z3MqRMMAAS5RLo@gD>s{zM^4feE8Y-Y=0-A10zp{1v!^1BQ0P^EV4vPa z!f=a0v&D2kP_=(vieTT!pVZ}G3O*gaqFEV@1PxtpqDLb(;XuaX2%QSZi9ljd&(suC zu2&Qv0CdQ_Q4u6KDOh?Qf@A`%D-9w0lMSV;Gh^T&cg!k>FU<$7WqXu*aQAsP>{lQ`D^68M8Ou1!U0IOo+p9ief` ze^Vo$#qs-z*2*J5o46&#*OHQwAGK{R=aImd;4<;aU!!*Llz&@U)W4hGrh<#F!4`9$ z@?UC*D>on!`n*QX>?(=y>n{N7H#Pq$>7_L0M;(IVUVB@2tEXr=+|dE$X?MwKd<$tDGehdJJ$_~l z^v)SEU_0WWq1^v2J^sXUAbnm;a#@IJ4Y=eFlW6z@XYv!laJtllq1baGBN%aKs z+I2;@a!GClmnpbyJACD@krC&5Sxhi&|C!08qBX$aA#dK!#iHoKhK-W|9oeNL9k=2n z-94OeNR6hd_n(LgynU}6dv7o#? zx!f?bZi>2!INwG0cxz>Uanc}LuPEE{{UAhVbbn|hAV)+(DDNc>@mR>z&s@F49rkAixFQ_qIX0GTQ?t2Ar3y$EaN7|BWXuk#z|bqZmd5}i#DxdfOc((O=p6*2ku3U zJkS;>IA{T>9=_i~lDsv9QLv!?&xfYiFfz8hLm4t9m&uEij2UKRhl1i3D3(C>KWoq(hVmO#SUA+8?2bMEFqC5* zWqW8{l3z<%m+XvoOPiC&0K-VbSNFVpMCL+-ec8V~?xNej)`wtF)QcNDv)z(cq|6^P zL3f(C4J0^zEJlm+WREOq#VOW;BawRK`b(7(3bag^Xn`xxHLw*0f485XU+K^&%B7@x z$YGr$*WF56w6ObSY>1b)o+Ks|pHtX3C(-1wTm+R#CYHU9=&NW2XqFtULNC~LVk^KaPh3GmiQqpneyf)!XSIMw*n9_4d*|+_G?JXw;;UfzMVv zMmqtT_eRm(IJ=@B>TNvn@5Dro%`=BG9;OU=N93{n$HANKq^Ixy0Kl~ois@S(m!InJ_#5q=5#62EpyK=I*G z)C?p(O$4Aqg(9&jXOQJLO;$(0J(P9h)dZ3w%$$^Yw_DgHZHGZfxFu;57X^FCRk?M6 zFt{5t+9#vtm+$xzq+u~IJPRdyI@Ti@VC3X4=t|~Q>n3X%kd%N8EEv8O@GYDHEuFJ0 zX zRgg4aA!6y6&{WeME~N2>wAIK{fQ4`d-^Gh-s<>o!bWdy8{qCn1aE#CW?GtOwJ)d(dU2U zLEc7MUI~sQ@_k}b8qn)7r3S*-)!m_W-OX1VfpkyFJ<$pcUk;>2YV*;}y5Y*8A~`lh z*<4K&#sGx3NX+%%X0)zVqTfQ3w7dF*Plo<)lS3VCRWnH)8+xvVz?@6^P4MlI#iW;O zF5zPi4p*b0(qWR%ST-t~s`kst$qlW5=uMKmL}13^*We-qj|oo3?9IO+9cwPJuFevF zi659CbRFq!n1MY^TKH0l?2MK1v;#7hiSS*HOipCHKF+SiFdAZkZu~O_#%w8c(gD&A zJiU;xFtS}lJCreBF4&?vp^#UuKB6FzkT!Z!p32+MBWxCfl6o0njnEA8S6}Yqkl|X1 zfNV)Ru%3mtqHiX_H_$M)MG^Oo8<57Rx2v5Wi)97%dIUV zAtzTzYGGBVN;FGZfY=RR}1&#`QDIacaYt8(nqNJP|j|wY9Zt%g`7c z0rC)WxgoZ*59`~Ptnpop=9ttITOMtsY)FrhwWGe(ikIXjYC%?cR3oLN%Dh; zRW1Zra1>{N6f4|F+>yOGgB-?5#nNJQ?s90m_@JKB>i#H8(!KXI3T8|`XYGxDuU4p% z<>NJKUji`>^%ZEU(AI2T`3m_XYKPRnW_PX1|5bFiAehkT=RUbLi2|S``uMoV@9$SL ze{T)a|MrY@Qr|ePhUS$p1vXjNl2!QrNfJyEU_Ce*3V3t(R(bM@pt=r=M1SfBu#AJDrfXGvDke_kCw-rPeQ7*JWX$-SO&DLixEX z?D@IW2v1S*iEq<=_I_^~5AA){Cgp!pqKp)6*0 zmV(c9*cg&==JJQyweL*l3l9sMS6@*)ck9-z6ZeO&aC1#PR6m2(D2gVmvsQT(r1_=M z0kp`#9_KY&VidgJv~3Rb{`~o~_oXOYhuq}Nf_+Qpuq7AT3~&18)OFA+ICy+} zH6Od_#a>I*fim;=@83HML^fS)TwB`J3$i`>QOGT}U(#K-#kY2PR)nzvt(wWKHs8H_ zxBgbi=1BEc>1Jsvef%`d?Y8!v1Iw~kO?PKR&Hy)G9vyvAT<8v>3zBx9tO2}RCp--I*bT*C3RWi-h$s7kLj#X7v zwIGU9Fm>Z{j_~FUMESyZ@`W=OyUGE-?CANbF(2n7dtP(~9MmguuksdlPxsK060XHm zx}4a(aU#nrH3Y(_e0P;W>>{-jR(d|sApdq7yDp-^H8;=RYx=V(a9>VYgM}{Uy#tO;Kp7~8xCnygIu@VC;UxKt(+l#OD3Wm$J3gsW7jyuRb9LoA}B~^{M5;l z`|1V)`KegcfUK8VP*#jiojMhm1^IkB*L=(E+Xq_!v*_BD7cWkn!;OS)x5jVq(l?>i zqRs`K>_2pZpp1|7@x4fsUk0b~vd<|q#bd%yA>+uJS>qA2Z-U&J#-m-P85e@^ir~&Z33(SDJx7Q~;$tsUDA^w4xZF=D&Gk;;*ccTZ} zE|mK$dBWfO?%lfrgZ2&h0W$Fa^2aV%^YMy4%d~9#VFK+tW!=0CpVIz=>NN7NS*Jc( zW!)(Y01-*95JTQY3y4r=-;x%Q>TDeNTILBE#gbh7@R9m}1pnY-v=BiboVDzE1p4UO z@V{|YyqiU5&-)`UuYWeE*IKHRBci8iEoUF#@Y8Gv3`P$F#)MicBFgt4ah2T5Pv6v} zcD7LZf%f~0*qwvbe9*D<>~HC|4?7jFg5jNNp(JFM+hNXSbt8=w7p>ZcMn)43^lR-Rm};9f#r9gK^wCI4bG$ixrN&h`O`ftvLk&u%JhmyReG zD?*$ETTlZR2SG79Wv!gq=Akvq(bz6Y!pv@cnUL10*c7}7!(!z(cz7%G?2WGR>Bjp@ zrevBTEEqX%g7}rXCNKZo-NSblCqy!{Pva&4*!8;N>hnJ1bnv?+ zZLUspeqVX04Cj1$Hg+AHLGES`*)-2gT)C!pk!ILVbAL{{@W#H#Y>{k>DBVDZd2-WEU zTD7+>O`kQQzaTaOzxG^|q*%<_K$<*!1U+10r^Pnq#7`hT;YH$k+C8voa1QS<^(P`C zHU*J@Sa&636l(jfi9FUcm;Ft*#4X=T2pNzq$>it#!ll7&%YKz%-fE;4vEBJlMG+k0S(6ngnu(DUNad^ z-hj^u(3lLb)DawXE-e|{i((Ngvr1cfEEcbYGqc5|5g=&jZ(?y{b4$7Fay^T%Pd(Q) zD2C0f{pQ`fAoNpiE#pbL#~9F0;9**nCiw~3sN_AyexT>2ElWfKnMtJ^qz&sQXBQT} z2+S}RYtrCZyyMZwE}X^_6J#IVq}nf=y2|Q2dgYl`x{=D*=?iGg{YwS{8Ot0Tnuhfc zDZ}#H`Katgsdvw~GOFQK^4r--TVRN>$@JGbUd!G5V<#~==WU2 z4%RHV)7~EPIN+&>nO)BC@UU|rqH)5Y#NYnbcMGM@yZ&opdE)Y`=(hrHsT>ha&&-^- zb$VCr_aPD1+QPzZ_EyT67BM*b4Scw1gh+qdKsgnYr;NK|h{l;uMEM6hk%@qd*QDE? zYY89BTuJo1OLmI4$ll#lTkF?drOShI8w3mVRg}S}6sB?5*PYA60sF_U(P* z+hPQ*>nY}WJKm34amFPb65cMYQ$ZQ1E{NXxANHhXM7ZwY?2PKS|LfbV#iO=?vr^wl ztrB-?`I`AzU;FXGEEQHn$>0Xvfw|9fleQozohbA(GY#q2BuN~7)NJ-cI1-q2F94R! zPp%-&Kc~y*X>afOT1ImdAW`>?O>_5Ts@`dAk!-cIIv-mu>j-)AT-vbM$H{-R*9;<0fq zTXLD0m6wDewwrzG=GcCp=&Bu${ifC?&b8fnT@4bpyaM~$)-79Bl3w!`-?XX8FhCaX zdR)=JBxtT}#uLZ+DbCG`P}`@&6F%(e_v(fScZy1EfSY9V)sH|t@b~3#{9CUq_zK)7 z76dtgLq*43B}W z!C{%z8!ElIj0=&uT0Ade1_*&I$hb4^6tjhAJ|Mmhp;Pb!l1L9`OL~pNqBBYHm`y_m z2X}RK^}1a>U(bI;S8iI4%A#UpoK9Gv-nu_kGkG@queUYh^tSK3+L95z34Kd?x5W0} z%~Ij}q;LDJ`8j_$(-M~l!2FNj?$myNkabNX_5jpw9V{x3nOzjB^I{%n05n|J6$1{3 zIyE3}cGgu8uIm=cEXQnUbjC~5gK4!864OuXc<+DWo7Mx*Rqc@__({Y91)yiyUwg=Lv07mQp`0&CVw|wTpg)d^sn+?J@ z|MTv2`Cp;y7;2vyo}ih$Eb-yPhqh>{6HgZ53qMYBIA%KtDUgre#)lP}%ETzkC;NxB(ca7{(M(;Xkla zxOVpPc$I1{Hm$p}bJz!G%9_|mm&|v;p$7}aV~?z;*&li7w@4tOMc3JU8QhvfyO)kB zNJvRZ1^&Te%&MQm=bnzC;`n%^T#Ih(_D}%h#up!Vq5h6h^ox&qr7nZrMBBLvcMZG? z=UAvu8p9~@S@Kf`NZ*Jey#3e2vFmHPLv9V1@g3k1=bm?_Q0=-Xb`!ZVm)L&f*c@K^ znZ>d~d)>L$IOHK8Nght%?5XFg#pk>X%!rwz(d<`PXx_o5-IEcDyxajTR;TT|FT=#a z;fQj4-xVshf2(9`LxGCbwPF34wX0NiufDn|WZEt}Dfdf2+lR5@on&@`*hdXvK48Jh zxEvf*QJDj4B}Ax z(Uk@A*A$_{yO8|qKy^-+sU?CDDo!XI3T?X8lfIN0q zBS?6jIg>#$&qdOl2RfjKY>Vo1QC|9^KmYvm*}|=D`p^EoU$Tmdwr_#6)Jo3k%%`6r z(+gIkO=tg=ny(9p`9c({&OX{hJkBFCEDAa=!`Y}4>a`92oJg9&mzSCUwp9N}L}6_Izt@g>vdYKQ!e&eySaF{S8yX z$ocyV#m3Igz0ZIt89}+ZxtGvObCosszs`bV7Luf_l+@$6MSOka*c(oc$OF9-;8SLf z+s39CifkuhQ^~d}Z+T6d;VEt3@mQh5(Pa54_?tcifaenzCz1wSrATgE3m4U# zAu-yClE2vAYPt;=J$k*Soj-p*b1DrsGk0ZW<-20XqEa#+1bhey5)gwEpA){IJ_-8m zML9q+fOhpb#jugWq`dWn2uZQQ3ivNvxG?i&TBh;uATw+qF8oj5?&5YKWUDWaoz(Cf-Izr4GGnSlNM$lyD@#qz}&ky zyGcofC^4{Q%N9d!=W~vF?vl;(38*4dkBKNE^^b|vSdWdk=^GHdi`@UXE1l-oX^{XN zG;RnW&yVqI3yB@Pe`j&8{wxSvVMB3?pY2Pay_{K%1E{(1tfmn)X_2YJ1Hm`D_Y2k9 zpWQuo;HMG+h5x_4%5=Gog=p3_ijTqIzO@Vwv=4EuYMJv32sUveoG-whoXPwtYlC{$ zI5#hC=wBba*GSpMLh;%T$pG`i5Bk6T>L#NFpn<7>6iSENT6yJlzJU_?SqX1nTs_5t z;!0V>02Fjl5|u)Y#5937CR^os|Aw{M$lG?`&LlZ5P0zpq30q{geR?xOxoAAAniP>* z%@vPL;XqSx+U;l8bVn4?==SXk*|PMgf`Z@Undb`)qlOC?CMLA>ojw?XXJt5_bu5}w%%rX*7NrG>PeN|TpL1UnLH_sg zE%ZvoW96>I&_2&156gpcOA+ph1|$Elq|G1O5NdUoj|i0XQfMk%L4}1?3!D9_r&8$` z;W1rxESiCx<|c(L@erqmg*}hjuWSbco?$FFvjABfzTRah4d^_b1{^T$qfa`Xo6{HH zrw<}Un6lu^4m1|+2Rg4WDBPxpV6C5H=dfs7>gx$iRUbKJ#+7BII&c?t3(qf_(>~0F zWHk805tB-Qt4-%mNpRK};Mw;Ot(EceOh87+%kq67u>ZrikdHFZDlbJUAi8mKL7u09 zA#4+lY+CFKVc-mI>-j=~zFAgpaQgcDPV|#KPn$s3WIDb8&FJQ^zKQA`5@!$uBtjux zm7P2Ho)_f81gTI5ple&t*M%P;iF}1TAcg_r*&cncRdRrRU;K07k|e)-!@g~{h?$bX z+E;-@J0#=5{O}t~M`%7mOyVg6?SNW7ygbvVw?{DP2I72gpnB|$i;FurCB@`7%uW^o z863e=w020E=i~87x$f@n&h={S@-}T78Dh_+<{v~8^@J-dhE^Q$GI9wQX!@oR#EeQo zd#)kFHUnoph0!M*0ThG>D(3MREBct>*+#*(aE|^c>=r_b9Zezm8o4nl28Vu}p9Kxy znK;-KAviHJh!m8s`n#sICgPmc#9@f2FOrj!56mz-JLM>ZWJ1P^8wsB@!_5#D&ZfO& z%r~}rQ;$eETevMNda$N|0L`QJOIcwY%-3Xw=qG6hJMiz1-9$VZUYR41#RDg^0CMpX zX->J2ozJBDuBVpsg4v%$l@~;@Bh@T)YW=dN|LHraX}IYTHf?K%0`Wv1ap9U1FKc!R zk#7@Bya1ZWNX7uKHqP+MJ`+VMBn`iJFn^m-r8YAyWDUUx6KG7qrW*v4mkXff10&6b62_R9juRc+n`oa2uW^iDnmB^XG-A;|HM|fryjc0e(>y zd>>ts9iKjZGNgzKqG@lS=0gtfC`wC*bOK@N%5MWq1)bubQFxp4Ju9hWY zy?1FgkKYb>+EvB{U}ax(5u<0}IV3$x23iQeiWG~!meSJFGD@*v;IRio&!7N}cNW+V z5%`P8y6yQ2g(Gz6)y>2WXo_k@Sslr@IsG-$@Zf&5g6oGaBG2&po9;X(;JTrq0f+X{ ziPTTN6;2ZH|tJlme`ZpmD{oWIZU=g#K|iwSu$YM>~KpXwgC*7 z8kFy4xJpG_+-Wn3QHDEFJAUL&Jqlt6L&oR(O-$#8PutZfUXsnrsq}*Yee_p&e#zH) z06Unew>2NOS92Z7p&>OT*XvFk!XptV7FW!;74X1ND*X%?-fZ?0Xyw8Eftwx#JY9?Y zAvkl@*)?BXp%H@MgxRM)(Dn``^P4s-PfnSHUfZySat~dyH0BRr8RiXdVx(jYIN+$U0o^ZX=(bT6YCX9w74Lf zR^!!~KL+&K+dJ_E#U`69g9uZ@DF?@~r=c0kgkjH+5RQ+HeHT#*P-Qd}f5> zo$IXLxP<>gdw;|6AatVi67=HJmf$Y+FVvWqBqR+Z2$rbI9m&@0L$rGvO1oCr-wOPt zxc!DwMECoRby+-+-hUz2Evk8kBM>f#6f4v}qS&F4`*@OH#-tDf*=myfG+>C^Qgt*I zEkdU$ip0N$n?;w7GepzoJwhuWOhYee{=aVEAHC*=v`II*D5d46FpLiZ?2Q*YsW~|7hz}m2! z`X=0#su=+zfpew*@2}Z(%ECW?j>Y20twI- zotlyZw|vuPIyl6^s7XRq`X^3)efRf5ma)+&7`fQHyHeheZh8s3W{Lmn+dw+vcgy}( z&&brn7#{Xnn*Pj&8r`(_$6s$E+tYN1%?Lf&0We*_rm3-Au!Q}nwB+n~KhY$S3>W_+ z6CC@!OSP$VZ0Hsp7eR5xY_wY6ZagH za<5;T?Mt3}cmyKk(#tRK;MQH__`S>_nW?|->>-{eJc9NTv?|FuhSKiwXQGr0LU=^B zav{=7@oypBF&f~J(zw|CU!iYIee?d^JAIwSi$_`@s9F44s~L)%je?H%ujp{#r4LO} z2y*`?=CgU}Y}A1eJQ-0VtZkWOy}V{nkNt=a^Bb_$-w+zR_+L-LoTB)|1mUN3k$FvHwdZ=CD@VJA-% z0NwG_uP0#a7olNWS?Q|hRnn?I0R8PjOu?Fhs>(47^po?aek_ApFbQDc`SSy>g5Tw3 z4EQqW;(QlQLqO5RBQAeiJ=!xuBh5(O!u8?ffI4uXVIx8xGSGWs0{xF)!_#q7U_|%$ zrtJb^d%mRYJVgm|<+D{P_hJ1Uwzbm5My*9N$h6Fo!J%DVUf<<)|Jzt$y=(;@1^?QN z2UhRI0g?*%^?LEcHf`U9WeN0UCqO~v3-89K&HYN35D^u71^(QPq5S;a)4atk%E?Ehyv4ffYvENgB{|0U8_f6b5 z2zGe(?Ae!nr!c8oB%61Ubm&QACXuemsg9NnI4H{0+4w`$>0*MGkN6y88X~>5%#CZ80nxUIgUOMB(m0Z5gCYVMpcE5Rj)%yF z;~?Y_$Y^{7Rt-W*_~{S7A3d}G<##7jlFyX?_*I-%A(`?U!Eaw)pWZcoiS}{;p8l+u z>$B3)m#jjv4{Qb~t<@AOuZICoS7Wb55j$qXMVLpj9P{Y(sZ+X#9R7U!w)-&*i%^>A z@c>{;c>25Y}}-4uO;4 zs-2(SR*$Ew2ey4rIFsZL6#E8>(k4RsjH#E-ITl@AkCp&9z4sd%8~0AR-$9GHZpbeW z{)H!i4#4Di{(oqD6L75eu5DQ6nPkdLDpN>8WtK5Alqt$kG#QhSP{t5SGBgmPNyaiH zb5SA9Ds#5%QY48IzVmm{e)sb{_xruy@gB!_A3JwluHk?Ee``F~TIZTjAA>J3w0c~H zxaTlxE~rNI(OMW{`idHbzAhvbH&I*0SkZs^3g}$GB`#dQ>>hrDRR~}yq0wQXtH-U2 z@J@5IYeeWWMq69>(4n?fflqE= zTa1?&NoQ0)JqECPKx)FE3f~(;dW@zC#9LoVJg8&122EV}7KEmD)C;A>7<8BZaZw~f zjU_=lsc2R*>Kb_?#2S42_N`WfJ|(@(M2Cj{@AJ&su1u(K9wXRgICK}xgn_{M%zc*r zBY{in@~KY~kWbrW!-`0LC=5Y~eU`#@;5b^4>4k;sFNB>>po$EjMzcf_0No-I@|OP- z=FDB=P<{~-DH=ZZ{o{+^CvbOaHsIu0u*9cMol?ilCWkXmV_?i;{}!3qM14@vi*vDr zR=F9e2!_&Z)r7nV9O{#>4xLOHrXuITr{7op#ibw@$z~sV6pC0#e*=mek|iaK=|5dJX&7l6e|m+ahS4||V%HMr7eVY3lUIHn zMwrcmn@u1I=^^#kOT@3(GWzmrv&llzQ92Dl#9nX)TsCS#TUo?Ind+NJUj%VaDThRE zBIZcgECEh`t($*kc8th0?Jcl*RW85@j}dwXLxh_@Ee zbvMC^3nEBV4Nh^=DEe)Du%$1CM`l&4S zR-wk9l%D@n8$e`52{p)5S=oSdpN5;LY(rz++T(5zO%RsNI|5oAlt9IYz%Gcu28aztOL%qV zaUfKv+f-6fF#L4{@FV|Z)VGu%CIvTs8WF_{*bWT&w)Y-tUE_w_$qXHX??~@V<1pCR z8GQ-#v>uP6R$@Y1OA5&ZjQ>BqkjM5-#=5;CVC|g*MaS|q3})*tl!U%nklf#z+2s-e zm0|EtFZSB7aO$2~@|BX5)SIdHd_Mpvm}B@iX@~TyJPx7Z?F2uS6=^ zq%+a)S8=%kt+51vqK7!_mK#=kV%aglTTBg4wT!gADx*Wg2fbBRh5#(YflZp9fR z^`-1F-Z}&;0is^Xirdj__r&*NE&>&2Is{m&Q5n6puaUo1yf{<6(?5)K)#d0|zuJc; zt`zju=pjN{3wyI9a33f>#?SyX0E>*Y82ynX>D#-+Xu;T%o~p3+ZPs_%{d+_~rD{Ko z!U4f35!ER}2t>dwz<)d@nt03>-^?lXj=X=~2U`aC(9E)6;qBp1=g$L<6@;gRp^yXU zYd~O0|CIvc32fmkY$RPZs1}7dvP;nW-Z-1|$`)o!?~9@(Q0djnQd*rUxIjbiwAe{;xK%>b^#QyIwpDTcF)x@f*st&@7(4+)F zP8bp%j~0STlYjL~E0YHv6EQ`fR*ZrWdmmsA(s8|;3C#k9BXir)4iyiv#hG+S$K?#H zxr46Cx^q^w1m=f1Gg!VmOdf*N3WP2IH&hNnF(8AoK`~?=J>d?|>WP#Tl7faA)-zz7 zfus-wn`EWpFhi82j9S40kX&D6jEEyFOp5z%281YLq0^1rM)Zj05Pn2}>QS6^+Q@-p z{6eY8t4SFG!*-i7=zt_-_tKr6eWEDZpb@Nu7B2+)t&d`C^*m!j)WyJK4#U$2{0FIig#jxc9Lu!VXMaZd^XZThPVvv zc3%Pd#A3!I7Gb2s-NHI8Zswjg;Qwnx)!b_t!4>(l?I{L!m{c~;{K-xL7619zI#Ftf~g_d&a zc*oxe{Dhj7{)HuGBbXwZi{|jFc3}t5>h$;Y^mO%-!0Gio$2Vh;H3+D))`NFw7rA%o z{G&aeNPWNSI-ptD{uyv#OTRV%YVzf!>8foC=!EUvN+?F7af(G1UYtT;MDoDwxF|Bj0A@kQAM`z534)uk}q|MB2tLmQ0dOTD+ zzg>Q6_UfT3@|1y%&ru=Tfp#^n;|xv?4qc>rltd3}gA4BM*q{|#5lI!e&w@LO6f4l% zwfE^$Wa-lgPFMmrE!Z2b(cb{CT;EEu0-CBURRKajE#inwc25zxaEIbMZl7FRZsZXu&1O0av+V84#tA#)#e zjN%4p)AB%b@ar?2uH0!lsC~kPQM@LChk=clv}eyoaTG*XiqziQ04C7Z>qX%E=Ne0K z$3def@J5VItInRmYeLP?D$aTy6E*jauOx~O0;6VRYRD@0?gQu-r2LFh!xkOBI8RlJ zHKXRlthL7RyWS?2+zG_8!1SC)!FL=(#lmRl(u5_XuziutR-LSc}N!G5=CjVLS~Q(i~zTug!JBg=*VEc zQ(itwO384$0>HDe>0mX^N-ly@<9WK7(tSzjL`de3kfiR6)yDrHp9u(8rJx>wyoU0I zLw}tNA2}Yb-7m3dLp$2rL%<;WnT(T=K6vNJ9Xobt=Aha`{%xzxxCGq@nCp15Tp&6l5Z?r6aQgD@o%N6n*v8l!RFf>|CrKaQU9o6`eE2BEs|mTWRxhqZl& zh4!An+CKjP|FE5}KFQn^mA5ze=$y>RwN$@Bjom~d%T&lNw&Y?Y-JbdnrKdIcj)e21 zSNptKv0tri^mK`b`-!r8MPHQ?_sY{o84t@MbPeKiOH>tHK8stvPd~g-Mdqf%A?usf zzeWl_6*{bYF?_19bL;ng_8eh#SxQEX`}LRSeaC=?=e1&zD2$E=7M{Rp%eK8wE>`hQ z04DKh<4S7T;JAcV=Z!RDZMP5r%9vWF=;#{BK9MXdz=j z204|}cuceJ_4)JXbEQziHot^XY>pCBT=DV*gDmYoUl46n?zyL|j@lvAlv`TY7se-4 z%$V3Bgh47S1tkYs$hdE>?>5O{`d0!N{KYw0TArJ7mZ2hGgd zEmMXLRb7STPsKR%N88h?ez?9}raiExSI|-3_G$SSjAYCLim}=cJJyQ|X8>~H+EW4j zQ!`oz>|YDoiM5u7f)8%2nCh)ZdB^ZXNFew;N zMVM)+ouWxCq|2|W`$c8sAIU|f!=0DI2K<;ewzj!; z9a(x1WI9zCw>pPEJZ%j?K_ikS{Ts7Kjw;AtN?D}siKOp9@Q8N>R4XUwG%73I)H2ixR<@vRJ1)cb#GW>Z?{)~C!949 z)t-!Y_nG?NEV!)$7S?yz(jHN?=G}tUlnxZr8ztYi?VPNmve+C&8_}>8``dcF0@f^O zwX+Ra^M0VgosTN++G%ISH`2ydSG&Fx=B0?(;LTW@6c3&hJgBXiHQz_&vE70QcUmh? zWYgfd;}*uZ7a#5URbQY6X6Z1RVoRO%>(?9Zl(*$%hn}wy--8udA8DEt+XMz0o)2O* z=oC83NSRvT=4M>_$dT%UmZ@8>&QrJP`at(*5QlJp(+C^0?Bp{2t9$N9tpoG(!KdWw z*#GbvQY#RjNqVc&+dw(-DqUYY-O#%ET)ebKy`!#A@f4Qft?nu@!FPND>e>(=2# zW@Z|U?z>(;I1yU#JwM_eKw+z)Qly?voGUlNG6>Z!?LQ_T@n zsF$>1OhxNlyL%Y@2d7HMLYbn@;AMH=8DI1N_uoec5nJSLX+6nq@^PsneYn_XZd#YU z*%oSUzZ+00 zKHcrTfP3Sc@xXPhV3~zU49IB&S#Vp##IN|n+%+8D*b~pZRKEn%MMB}&hvJtW0j(R9 zAZoh-1H&`Wxs4cce_PQP8oYvBaYNJ=vB=vwZC{Rb9wV-RkP|J2VQ zc7KIbUdLr!WN6|kZb})VyAy#4k}-HKtm#UkJ1x1tsCDQaV@%;l&9!1wTVCVa^{Jdyin~+Y|~Hs7Ow^CcIrRN6GK&68Y*&JdlyFcj5PVCTemNxy^1!;Tr`gLt7kW;?E%%T>V zm5hx?pbZUe*gzxF}FJhRvAXWUVqu3Ou zNAWl_v#3@z@zClJ3N_#>HUzJ2ubbmBYhp{Rc z`1}%+kLxPKr;pVpRrYwn$f0AE;tbJw5XZA;er;E?`sbdS3r{ic=1N1uK<;tfcNDmA@jFcz>z7NQ8P$bX{0cx`D7Q}TLp z%3c-KyzJy6fouF0a6^!n57~6Xq}c{bZmngk^mSm*@Iouq9TJeZG9gabC&m3Mwr^}6 z7PobyKSG9sC5&)?k*946w1X=S3Beevh{yrAtszz#Y67G%*iszUa)%W6uJ1={E`Snx zW67!K9}jy2>k(z7J%Y``nsVa0MqAW`=49c8)<4G5iuHDq*4AAMwkIe2@XoPYg@wH+ zD-#_`A=Qitsb>+B>VPp860*oq_#A4tKa zA1pTdNA4f!f7WvEO3$rv*uZ}9Aw;_-K(^(COQD5OI*&MS{M&TUp3H+Jt71!D@)GxU zOkS(FKl7ih1GT^xtLuA6NW~ObUx2#P2g{wEb)N79inbTQc7|#FK5#;F+hotScnFRy z>ar|#j6H-8z)(y-c7jxwzV#550jZKsYiT}P)8DGBxuUI*R^ezD_1IR7ZX*gGAz{eJ z!*}^)FD`1xqL=uhM+g1iXaD*(EK{`0_ub1G!;72XNqv_u*nZTCLlt575wW_{`DV8b zj^8tfCP>BO(;=-V9>1qKQNI^W!OQIEi7|xJgc29uUo`aM##XCs)RI~zG@*hyaYNUZLO8uIwXQ+ z+tsX1fm}SBr9;?x?oa%lQRDy>hlm=nrfnzi-Ae4*dQnthNnZ_7e2k-hz>Gjz5QUUw zH*SPVrnPEd%Xh%?=y6GzlUBckWQ=g5(qmBF=MW->;{$e-V9MX!8)Lw9ZOg>3@VLQx zkuM+RJAjF}T#SWRD_m&*k=-bjXJ|p}|HIPXPHQ=cjZ4H0p}4|<$)lhqy(GGmhCEqS8m^yBh||SWoMjN+TA|_iA>0x6%IY?#VjP5%Jyma6B z*Ae_`@qMYT%FP?U ze5qDaE>EPuYSGy}P$xTJ1o1W}HelCah!j*RBz-j$v0g5A(fSbm3sOUPpo&YU@jHz` z)&lF?W)#h#TqLxPdS86h7vO*`_$FD~++eJ1xQ8~hVdcx0l;^|6te8#T3j&;6h>OdI z_NZ5_;44TPV8#k;u~eoO-#H7Z?<*V;GR@u}I%Ms#oDe|z(qZ=oC;SP|d+IWo1u3`2 zBdzu2o-fM3pjh8A(HT_Jd!b%V8kQEB3QRU6AfMXN*@g~M1$uWIMQ+ zZ_8mYMc8PmtAR^3`XXfV24yw1pCn@=Hg7pK35X$pA%4a_wc5>olpRk*z#P^h^i_R+ z4qdQU5bc3Z9dvopQ2|(8^cjhIRMW_0DCSHl61>#0vJGlU8v!>+_4xHIhbiHEEI1A% z=mSsvYxr7WxbK1N`=>O_aoparw=If>|5EA4i>}v&7iKk~Z>)~RkCT;NRQv5+|B>2= zfNbRaMA{eC<&2u6!9w&UP09b8ct8mMmaHQ6$05`;3zUb>{&Ipl2_86!kj18i654II z_RLPvj1K_Qm`59!Za0Ed&I$94AC!Ctl&q}pBv>6yhd0{*=c&j2fZcJ)9{V|VDvsBR z@C$3r@p-Q2z}eMdX_EDT8hR;AB?6&zTqR_44Ga$%u-{Tb$hFE~XxA#nOW?*fDQ4bR zirXxq1*@qAwI0~HAP|e$kL<}sbLno3gs>g5xi)}=U)a*X(JJBVxK>tYa#4-1o6bH@G%(f-3i+!n~7I9F|WkIDhmkXOVL1N*xA$I z{mVa0{M=pH=<%l51w=HVf3;<-vvo-2X%Qf|Mh!v7AhARoV~xWTp6$pXe4^gM>|sJ; z_95z_h2?UxiR(ck^wtMSdP@iJ4pHQk?-7bNI2WJgEX6jlUJ_r+9!C!H<7kcO3DANM zn66sZB9Mzr^@A8c>k%&9@;@;;ollkHE0~!TKAgIm$obye?S^SZbbG2PA^z*nV-6(L zt8y&746$%X9r7}JakSV3caonyh68|D21z>nB;($<(CJLmk|WT1SAMBU0=LT2!68@| zuR!dQ>bA1j6x42X^`N<~3FISKiogG)CeqFCz;;?oyKn8^!C}J$rED7bnhhqc?(K}9;KTtib?bqrAM${Bs`|4+?)T)*TPCYR zkA?+pebUCyBfKht^^`KYqpTky%y$)m;%!pf4#KbvkvzC?RYeBkxqcq2-Ija>@%R)f z`Bf}_2nZ)hm#3&Roe$FFbcWW__w4LEsO+%2M1dEG4N{*{<;#Rj&JJ;rHyj`=1DqRY z1Hj}JQ*fM(Kp!u6v5 zKr22LCLA|!yrcgRMAc6h9>sklcfHs;I-%!Q*aLz-rc#GE?ktw6sXYM8eXy}&dkDs+W0SIcf z4L^d=*bUzxNC4dHz#yt(qevbi5mE!5jBYX~#Ll+@`Jf@oASEn+H7F4>nh}J20tG&c znO=@mDB!OIW<|#cYXl-Q{dj&0h8eMT3Z9Q3 zA`Q-8bqaJTS40iB&VW@Wn@A%ged#IIN*2$jPOd6g_| zpG#CuiU^u{swu&1aU`e_wOmF1$IHO1Xy*ttVbOia5F-h-pfz0lTniUqELf_BHEFnd zgGC6}?!iLfX+;sTXy#=L#@aQ3z%xR?C6Ei-N~((QDFdKwmq!A&1cR`|u-$+Toj`T9 ze>?hZid@*nVbgZXr(qK16v@`C7r|^H-1!~44?j?nNP@W(h{H$KGIkR?n)h8QUDgB#P<;39ua31_)J2Ao{x&&sF+|(b^iE_>UG&AFl7I<0&Z2cf zkmm^zM51{FJ|;S2nQHoa>~q5UG{XU4I6}6kVNK-_fi>|^u4?gNoX*(sCjEb*ROxZz zk;>R~D&!7YvdZ=36%q@{zW!TKRA`WJe+lsDbDbkKu~tWEO&@UTp2uo1_A;y+?mka! z>zT!z$pfS9SaX?-*`SBpoyRBX2W-UyL@r}M0!xpgS zQAT&%ebMt^3Rp`e7>^1Mql0QZIT7-6*7b2XJEdXgCVB!^J#`fcQruW#=QZ)WlWlxk(k{8sNa|XaL_- zC}uY%{o#VHDgLowDbO#J2{sOhMRwB};{1yvJ-VKlnVI!~#nsOTv5=^#nOR6r`4=IX z#mWQaxFyiHtQt^{};ppU9$ zEKPt{#e}jg_JJcL6-|RYz%XvYs+Qb`YFGoHV0sJzNkUA%n|MTp%Svj-$s&;}AZ-l& z4NAZp353D}!=9RsSPHnLmX1AMhH1P|oaFYCEL(s_$|8HR0cKH8jauhUIDHx+`7~LX z)^EGy2=1Q(uyom$HUxU^Da89yJY?h)+AQCZrjPPs0J z56v}28gA!`psWc9EAg@`-#5Au0epbSD1z=Gf>lbGdDiV`HIR;JvJ3aVwPzU73mJgNIqhPaCe)|7Fn^gFQN_^?E;ZSN|`XRz?JXkEH3IM2z6Nu zRz`Xt3kC(m>O6;)*QYl_vBN=CTv!8 z5Q0?9+9?t{gGKe|Pz?l={}dRWYavowf%xRNCHx$~ct!^x{HOn`mQqYL(pfaW2{lx( za#HdBCqrAzijcw-Ax^Da>&|eoZfu_NmTNU}W@i)^okYp+?qV2DDFdR+LIy^6L$e#+ z`-0?W7-IJ~Ov;~|bQ~6Y{t~PsN-b0@xHtc!E0K;CLCK|tX%LRxEHe4?SVcp_#Bcw&9H9oGifa_E<#*Mt}pLjZufxM?2@lq0ql)E6LNE(6fI$4^8f#v(E zB1xAK+t5RKTJJ|hl`KMsvYQu;fKSHk+*Dm%iG|d~dI?f%c-5qW`$EbFoC_tUFHLSg zX8Pvmnz0muI{pd(0HVPw*lqcBjr@oS6e8wj8;q{wTHHru9)><}c0K0O!blxi{oF8F z)Zu$kw2dcr;h=DD7XEYeg}sfaaz*CFK%S{T0Flrjwhhu%M_ZOth3FE4T6@9fby<#- zhE^{?H5BytH368Pw6*G)K9^T5tae~`aeE_M1BukV!x^@Y)L-68%-R%WsKpR>sVJL2657gyYm|e zjUo5q$BNzi19*TQ0D^A;r)t=|n;_4(Z?;|^e3oJ;Uu$FN@9EhQEQ&`Th_gdDp-1D|o1thkey#=UaRDJ>QQX9K9_K2#H0r zE?&IH$Bu+h*=(c%t5pN`pMOom&@my3)qy;1pbz{n&k&F7wwL2wmcKtU*{x~|ERPx@ zYcKw0PIoW{CZXEe%Mt@?1*DNvcN9Pn6Ka)M*asAoLkLk779=y40SIkD{dO!$4|WCs z0;6~UZ~TKuB<@HjpDW*Dz#7JKEN!N3sh>!C^TpwaUuEQpVbPMViq9Vu&BMj+_hUqo z9SPA|HP)t+gAy2w_f%vplfe2L9}&mP+1UfINZwmbP1X0~JXkEy`MVQ;=ul{DiHV8v z4#yx5T6Kfe&Y2{f0z-m`-_w^b4=bV>cdfemv9tTn3&^{6m3y|VG`_p`oQVcDy1b({ z+_vpS1G*dkyho!D*6DoNzi;0gt&JP+nsrVNUMo(kJG3rlCB90nWb3zf3`*5Gy||rL z(#9w*sN&uGyVI+}p>2;+5pELufP`1=&kr#nntk+CM^N-(K*z@}owwvr2Dm7vH0C_R zFg9qRf{APeA*5F|=ksS{7w+t3k`w4>NE$m;$jKJs&I0|O_d~^cCwPPLky=a$O)g@f z%Ng|rHDq0ux<)K{hc|OZng`eP-on{j#%?M$nDh~#swXvJ+H5efEznQ4|p zY17c6=O8s0w5xd~VpxRPA^7JME zyWzxzDWa{zUgn&#A%_qmyp5=5$)^QxMD39$5w&QAgG3p{|Jn-u#6hl29Gu3ZPpqzA z!M&XAi_#tN$GHoOUs(yq@n!O;;6OThd{#iI`jJ&gw^I58=vsV%OdQ^Oefx6=idVKp zU=L1mHGYYYdWU8wZuXs>^V^9sLlqyFlE^Tu!B+?iH8jzXvJHg+q{sJ0Cyy4Lb*myS z>I>SJn4t<`H%Kf1euCw0FnGS$7=ABG2`50bvC5)(;@&A1R6K9@Vc>_M!n<$I9S75d z7;Dp4c5;NTp+e1a`TIZR?>~UXN4FRGW*q1(-3tbY>Y&Ut3`&2ucGT6=Yg&>yJOqjb zubrJ?WuPTsXdLii5rS6;K7Zjt44yfF(J_VrOl|~RmV+8E0mP%m2pe|D&u_wK=guAx z$IZB3n;zr1FW?m`jSt+{f7#hNbuwpqSAh>P$Ok+;elJb6z^Mk{k1FM4M{u&1C>MuF zt%#Ho{q;14-4&I=?nAGvZ9@j8#|NFzF$68Xz(Ib@??&dF*6HZiE}Bb?pc{o28ip2M zB_UW;7(hBh-1Y>kjnw#mHTD>(xU5KG{Q!o7N+BDh0c!u7=Z+q#x`9(^5^p`km-jsb zY>5^~vj09(T|~@hAu^;3oX-JpUxoQTu_CQ?Rs%&1z^zM&8K#P(nugIrao1@CSu`ts zL>M#-K5u6M#$XKkZh5 zc7htUJ%^bsE-ds?l~+_zDQCbtcT=}aPY0?}EQ6qcz>h7-FHcfL#+zt2dgWpU)G&r^ zOU`x;1m_EmkpoY9gSQk-#7rD6p_kb63|uZS{$6mA@E^}5EVnmy@hIEj?^}YPSLHxQQQh1xt!1k*9_PyN=lOD0xM{&eO_L?pt0*gfj@gYNMbtDZ z`ul@+eF)kWjZ#3xs#UA#`}ghJrzU1>wR=&gzc}-|>!WlEL(tOP{DYN^ZRaH;Ns+Z? z+gjw*J6gdt^6L{AsX}W)W`3v=)z&62gc4W#o+v3P=`c4nWv#~?ltVwJD^}nY#7>~Q z7EL9he6$0faL?zDO?+tABLBe2pMYEOz{PIrm?(u~C#^s5)(Jqg)R_#S^OiZez+k-K4KoNnE`*~Lb7M4!FB{QxbWqS-bOYI>qnuS%SNmzS4Fs^s;h zW%s^6-;(uY=+ItoFfQs?a`(maY)u`y0QRF@fLNV$qbT9S7}jg3qo29R{L;qBoox&D zA^(EcFVS>;#Dd~`a&O!)$3VD3%~;4-@Ylbe<%(kB*KE5sOu}+@WD;-7J$ad<()2BV z(;iQTRwB2AHtT@vQ(XvV)*n1_c)$J3`4=)}I)qHHG2hv@kA)2BX{VGlTnJ^1mHSQ|Hlceo%H za%2NU5PTfNW+(g5Q(aS3UjCzY1bSBO11GUmP15*)ve`D=$u-8wUie$^+|S`IxQ<{V znQs(~tp>p{z){~Yajy*_KnwW?cF!$X4mgv{;jFOQ9%VB&K9}?PDv0rLg5JbufyhK% z&e&=NL4#iVkGx)w;_O_igV%Cy{qY(*7kYa7O6+;}a&|s0$j{$T{)v%}-P=KMtEPsp z5#)%DufRR{x*S4vvtPXDvxu4cEjV%GX5n2e!~?LRF`ixWq#!)h+}tecg?4H1H)sC- z1gy3%R~OCntU_pWWN<^8I*d%-_qS{sj5&@=R{Y9?a?g0q=i#M*erNyznqX)PZ zR9&$V%zua0{IMArat2h{dSp7ZjX1hC6z4{%pd70Sn6S5oot7n}v{2kGLX32tW#y z9?D1ElDfv>m)VP#hDezbl9B=jcc$lGPe@EGM_aUD%J_oIg5Th0jw&Z(sVKzQZt{Yr z{9aShtt1uqKG=6DB}qGo9g}J&x8UQuBJ6QGKVYZtp+24X8!7U<@5N(7%t%Q|4)uw=KNBUEZ? zP{+OFMJDhKXeR)*$x@S#iU`ngCTeg>BDxP%C~4Dgf3yU%7|NXcB{yen{Ni>dfU8qh z8+E0H<++)QP$q?YDDm8c?p#bAvf8KCjiR@WXiXMG0Q%1WD?-{%QO;{Vrm00*snXo4 z;;lBKeL0o06oV$qf%=62+)E-xm%Ivf`Xh)Q5&Zk$(kx9ro`mFGI}Lpq#pJUmVl{a6 zk1^1Fb!=(Mg_Fg+?NZ8Z@jjogi6ioaf(xRwVI z3N&#_du+*hcj$f07?0f6jYwCVa(I?5Nh@av&+QV2b}4Yz>) zCl>tnst?NDB%v1HBZ$bJG-aSSArx)JYA_GjW{1V(%V4+}$V3Cq5)#FSt~)bn;WG;< zJH!hB+I19mO>waq`_B(Xp5{$!9l{KbIhuq;5fffrZ#J^Oue6$>j8%R9WKXS|YE0>m zHPsv1l)nC6abza7M@U`*&K6Go0YY#?1oI*y3#uD|U@QnKN&``8YHCu=SWxrU2y`xQ zI}4{eab@J!I9?!(00SG8&%ipa2I;^N*yd~a4WHAo@nupsuV3E}qQwB>&G(KK2wkg4ITr$ZsD5ioL0&DJ?_V)G_$&x*cF#tm@f6hzW^@(sS zIW>*Hk5>p~Zky-mm{5`j6~PujJ=beye{>}oCm&uRg!>BSw4}j>n|D6Z#S-<4mdqOf)af(k)P(^(4*ob4wve#0PHje2S=YWf^_nite7c^C}?MW4e0HkN6_< z`9uBZsBl+%qz-y}R{$;w3;O=|vm_HF2-qku9=(NR1ghOWO?pxe6<$55NcTrciYSNO z+SMQ}8`IB#<${I%M_DdlWM(7oC<+8x^dvh%3oI$tttAl4V?a+>T#|&M4YVBKRXKV> z(JrwXPzwcW{)GG~FGX_;V--pCcBLSsCmli1;%exMc%+A4b&o#)5foe1mmpTFeud=T zL^?zTq1CFhkIYepI8G8aoWGG6=Nkf|qrI#PyBg*|uC=-!y)_l^!dFXZVcr+~%tc_< zj0jkRs^!ty)l-eW-~M`3)JT|D))+rexN4p?mr2x#X>xLMXXQy^LFIH&y{_vVVRPXH zkfDqe55!ttn6OhzjTK`o!Tl{HNgWLh3R*ceH9bi67)Z1Q2rg?TMh`1vz(UJq4KFU?FpE(S9K4R>+ZHV$xR5iD9i)ff zeIQP0xU$vAFi7FQ8-&fvKud}wmzp8(Fbcl3>;&DooWf4SAB`3TYEr^PH5jyApg9Ej z;u`dwkoqnfY&w7pZ--N*IJ73{%Z`51pNJ-mg{S;~e==1iN=3K+ckfK#IrML@5hAtF zE!UtjHQCuNT0&&e!6t;lsA$>H@qM@kXXT8{#LLmy!{hS=4ngy{J-W|-^h*%kM1qD1 zP&M~~pj`&`AhBtXLn?&_4-$tuMh>_7Km0-6{7+1?t0+JisR9Lp86pTWVy+Ta;uSr+ zevH86ULwAl5}sbk&v)Moa6}Op$*)(t^@t8~xsjhrv!6<``JA!@j*d@$bjtbspz~_j z&-WwS^w1$f{?u(IEd>ft$QU%OKo7}z(k-~&=O7-(W;pMynd(1Z!NV(((2O9bB$;&m zm;$4PSVs+!qsrc__OY*bMttQAODopEBo?}Xk zSpfpj|20s343(#UzXB~tGx+E~uW(^{g^+-yalTXJHR;6J`HzgBbE=nUMA=Ag zcTnW%YEIdtJLTNeRvkX|Meyvvnu$n%2Y2Cs6OT*dOHYkHx9Qv@ANBYfvwDqMbgNkP z=-u|}Px3#cnU3;$m9Tx(64+Pv{C1wF`Z=e4M)%KZjdi|NQ+TmITkP)Lv16Kdk6qfD z=H%%3n`@8K+lpxBb=cn^WRP3Jbv95vbMl0CJ!C%n@?~e1CPg`^+-G(lCw?AS8!Ksy z4%m#9#uDk-+G73uA|e=w*zCi$_3Ab>(z%CBRrj$)kinQqkeM)hS%KH7G;d2O=-J1^Khv>E%H7n;(eWNwHp(Q8vr|)fFGw2Grr_;e?O(T*dVHkeP=AWBWHe1O zwx9Rs=dzAD4ykh{=Zan(xHaJO#zm3;0He4+$gf2#DteA|y@)&wAoY^X%{$-_Vb(Pg zmcn*qOtHKD^OEV)4bE?L7_V=;`HC!7-GUGy2z@w(t0G_Szq8|JgYz}<$d_(=_WUhr zyiqWz#c;cfHMlMAkYewK4IAcvJX)QlUTAZ3>?bmrj`oao!?^O2zwy*>wF#Fw=&@zj=!QwJvD#18l@BD1C5#3S zZ{$hej1N&x3*Nfk3BQ!T)~a#!{F!ghewKVldJ^_a{#w$Lr1dLS^0TU7{3t+&E~3Hx z3OEz$S=X}eehQJej1h4UwCPhnXAE}^`8zvC9<{;htyfz?7_zHd0=uBPofThl>V6`p zYJpmW)2joMIplTVq2+_Z3`WPc3ypjd+iIgl%MhiCn>fs9PAiZk$4x5V@lgbWSA67(Uy*~x zUXdGC*Foy#e;LhzxgZC!j%cvZgJj8^`$?4?dD>~@@ZA`YyXjjrIQyWh?;2A~Q_+p> zH>k;#0lM3V59M(>1Kx%;4<0-S)OD`fYcegPEGn)WH%xMK9WOp}vQ z?R4|l)YutG>ByAu@bES1ph-?ka?s9w_LmsgcK>pw2kpiRv;TOUXC#cdmeMu|fQs=9 zr0T?Q5FZrp$|<6!%DF8`%Kf}t`p?!FTLI8dd*B+hMnPe0X{uYh5$I(urln1xvo0tB zzmhZ-x8&|IS`JNj`96Jy-t^lHN3=lbe1iqeDx%(h9(1rwx)NB^bl4 zIU~^}beBlrW=`6Jetv$TQrzDp%=}tJlhX~z&vxN3BUb_P6J(kCP+{jWD3HX zh!Q)Gub*Ds6y0}chwQaIO2#iCC*<+VX!;e^S<6~xlzb%#G#wIGP9-IYo_gRKVOz9o zR{Q3w9Xcz|8t2&DH3%q!!i**aW^muILq-0-a9(^i2-`cER$i% zbu20xb`dGaPx1%p&(?=~O1;_WuDyT%USs1WFCBd4aNJ{0Wr3Tg40iLZ8V^(-p*eA! zX4|3yGnphyetWWMtUGbJVutCRRcEi$r*sV8gkQT;$%LWi*&?J?!GbTZZ@XHHy5ukR z!tBb*Kyw|P2J=PDfB59duJXelpM!b-5%sHg@9rJ}b)!^15L}$MYHMkp(HY5DjQ&W# z9O$g+ei`_g7;A;8i$^O0oF-+uUFBNOo2}aBxocPNipprDTJsnkKcJU=nh%R6SDm$# zS+FJGjH1nS&k0Z~?A!#RVeS{F$z}aFbJH6%e5s4#NPHZgm7b%>s4U{0 zdsx+=0_TKlT^_v_c6*k)+rpbh-Rn*9Fp zz}F1aOBf1uk|lFqd>n;)VU;;!u(%-ZMeK7jF3Q#fuli=>0!F z&pV4E!fIbOe6J_q?9c>3h2Mt6V9ejUhyU{}Iti~1aIRlpFhDN)`oNv4%P5P4s;aAh zruDZL`aUuyW3Tf2s_mz*JSLJ{S?GUaf&W?^m*c>#AD|}mgFJvBZ5@Dt3{w?jdMoM^ z$8)QyHuQ~6&C{O+dCiyieG(rKaW}_)Yvm}kzl4zGhryCVb*$ee3`nDcS zu`7leqgdt-5&>|B(T5h2M=|-^hX6w6%Eunt8fMC=hBWOFOOP}Mr;T5H>(E`%{n!q{ zw~jk@vpn)4J)=kP@dF!)VTl@4ll4kA$bF;}haU~BM#-CLb&4@Bc*FucRazwYrUd{@hJXMCMT~oswb{PG)juwoZo`3mLkpvN~+zxs8(AM)5bxFywEgXC5AJCK@1HHd=p!Q)`N@)?gWE% z4654yd`)bk_<`=vC6q5X8)4-l0Qn$hmN$NAeRt$yjNyd+vzH>c$qzwXfNzzfJLTU0 z;E<>31V4#Tj#MV*@A!No;Mvl}i9Kudb)@r3hA%RV!;cv94fm8vU-uCvLP@?8-Nmg} zv7(gxqHv2#+1q5$8DR&Z~XmpBCB>VanozG4#?BkR!LFOBFPwW#w!n%I^^i4mRh$J^}WUK6S&C(>H|=I)^IGq+=Ir+uA3$3@jI6RNnRg4<3+Ig+ zz3N~p*!N&DD*WF%ChC@w^A71NNFB!mgZnX%l3+s|GZhR6n zaU}emit_C*3ikH%%HF;A67=-+X1r$}d8@vceQC2Zzh06V$Af;z##?(Ty4Gf2zs}^u zfFO(sm8j|9(ylM*=p~8t=KAxHO7WkE*8O?N(6yp#fFcYX6JAutI-EAn0xB2Q#9p9C z2=#(AH2GfSkw%D*CeGJ`yd`fvj4cqspIB~neS36VTpR~8{)e5Xr|s?RPBI~qR`coC zemOQZbxFu5zjZCSeC-WDq{-PU5mt{f9JgZj)vFAKi9*Z0Jw1gr{6D>Xi~_Z-MLh4CU!6m(X+=eag-^im z7rCn_rgP-MXis&^)-280$3G{AvzFZ1_bexDXYH|{zmVB>H#X}2J$W>+X4mK5n&8jh zKfWj;+ccJ2O!Wqj^};ENdi37QSR*Uj6j@%b^0}v4^(6?n#`bn(_Bej)Q+<_ktmrQ9 z{*9r1cEQhPtA9Ly{yf)QV=^UmI0)}5wCM60(wuWHET3}z1(KLKPWS1 zS5XT{&x;Rs7IqNAti+bV!KuEm`55dO%rH7@B$)$F8~f0pfkqqC-Lbm9pLGskgYw3j zT}haqGH{gdbTG+F4mtg<(l>W&QRi;-qQIg}zCI^w+x(&ZLdDYkFzP>shll6M^W9Gz z{gAOYdaJ_Q8#ZlsH5j&kdz@!(+H$ZS#u$l*=6(TD!$gyFG@s7eeLlP1-hP7-Mgf?Q zwQnb8!66bBwZ)g`G6Xd)=kI2Jpgk_(Jzj=)^Yd4k65(P0UjlKKKcQL1LL_Og#wz<_ zXPuSTpe=gS%+}ktADf;X3!AUKaYN?Hx(n@rKZnxR39}onJu9TFNwoo88 z?lgf@Xm(&>qmS_a`E6)~Lqt72UfI2Dc?^f>lhDs4EtwdOZ@-+X;8Z);-w;t{v|HtZ z@ATJ!&n+UspJTz1Q1EQusFb|?Ttl{Aj9r33ghEPMT5dtXsapjFzZ>4Xc@xHd?0aU} zU%{{L7_IyIEcnTTRWELWD`rRL@OYH;6PAj3!lxc9dsr$jVubE zB_dhfK~U|Q41VA?Iu_pFT%C%+KR#QdcT3O9OMVsDy)8SRJsXFS=)@8#^k{l$@7g62 z`lBrCBUoicGBkqABaP7`B1$7Ru!Ubh;GNbVjUNxV91i>4BY_BvR~kPIIB8XDsfAkX z5gW1LL>wcY?JJ-jf_AQGpPlL(qk7fX7sj|v5e|^}7t;p!vXyIro5^mrJiNjT1!e0c zz-ps>)J~!Nt;0zh+2m5N;|?=mJ8Vkj*?MWC^_!laoevaEw?bcoS`vk&6ck$aAmIji zf6TYHd$ZOPM)Um^TTZKO!u~*U%&6*!3$koT{DMa!|p=e94*4d`k!X&0UAXq zc3EI%3uZsd7#J9)j^BXFK2R?A>N&5WrdG*t+!dAd0)yO!Jpu{z7gW97Q8)`j^=OO2 z?P`9gjO3YS+M5TSM?$p4}d0?by$ab zQyXI&lj-+yw|!ac5H+A0F{XR|K|G&#PqB;Ms%t1GEM2zi=*N{X7{If0N=lZZU#umX zO;BkzbpExEnoyaY9J$wr0c5z8*ugku$Jf!&EsWA~OpO`0Q1OO-%( z7p%i}F|_F854wCS3!1Ba2OIm|g5{Aws|>K^mtTxb5;Km{@#i&pR*znHc52x$uA9{SQ1UtMuH=idCE=OwP{O@6{P2+UqT3_wE!qiSHQ9JM1bN>W4169kL zbecX+83Z$L*ElO>02q3-=LWLB1c#F(hC2O6d&W`bh;<|O)?6+@^9FdlhLD#80t5`1l%g29zWj=T* z?H)Sq#=b}OhGQGH)Y|T3InbXwbrErg-32j5H}#Gcm&6z=k4_#?mD1rvV-A4AWwm0A z)P=ih-kC8j|4VIjsp-HAb1l#49kY!2=!2b;I-ZLikFNvO(bRqqpzGxB-|f$S{5WzD z3eKh53k~??izwhSMWxp(DIKaLqEtIX5hVq*9#bssW=r)Yaf6l2iGu~uXMM}VgBvr$ z=7QR2q1N5BKv7=72W>+jXGP+;KbcwVa;y*Ag}Bw$!s6>$KrAFG{K^LWpaaz$tFpJJ zK7Bd>36l_F&%JwBU>Ob-gcuzsz8$T}gR$I(#8^*VM2kTi>mh8ccI`@Jl22p#2Po<|phbzb-Y!{*N+oBHsjhMf&v>?OntySA`gzW7|9C-Nn>d;r^+S2#k zatexaY&Lv6^6g}pr!9IjprI}%e$ z!LN;0^qNOIVvXTNnZx_*@-^#@-&%iwSHSdwALKu`Zkhp=R1ARziYH8VwV8=&O(L(zss{C+|TwtEuloD1+u zBH*#*xE81$`UK6_xJ_pcAyH}v`Y^u%x5O_>*H-~ZR#5rXtHYf@>x)*j6QglDB=?#a zQc=}^**WpJ96@Oam;Qefw(*rvXM;GYI4=rp^G$uMQBtlo^*uc;^%6rsCda{Ku#j+Y zBio@JBH2n~?6TFVG}B-4jRU+9S-}n-X9}$ootYX-Lf1%Lrkbzo1}nr>Hfbp-_XtLR zehn`RyZ|Me5J_UdEh@{+-M!ul(as&N`f8Bk`gPuNP_14}O?>`(cxD_Gh-cfbZoRcx zK=K6DodHNqhwAMs#_;}TLJZGC zzVuo)=t+7wa&+*w%ivBpfmO_a1jO&L0Z*o`uZ~Asd@jGJx;l93;lqGO+c`wrjwe+H`Aw4{2=;`da1{My*qShWN=(ok;;+`DlISadE2-u5t`p+NlKv&TSQ zIB+4@E5*sa&Y+TXwc7Hyzg-3UQOi!4`G1DB|xJPztev0cUi;y|HnH^AqF7uboFyt=akR{02cRN)&Kwi literal 0 HcmV?d00001 diff --git a/ui/public/map/sprites/sprite@2x.json b/ui/public/map/sprites/sprite@2x.json new file mode 100644 index 00000000..8c9800d8 --- /dev/null +++ b/ui/public/map/sprites/sprite@2x.json @@ -0,0 +1 @@ +{"scree_very_large_1": {"width": 256, "height": 256, "x": 0, "y": 0, "pixelRatio": 2.0}, "scree_very_large_2": {"width": 256, "height": 256, "x": 256, "y": 0, "pixelRatio": 2.0}, "scree_very_large_3": {"width": 256, "height": 256, "x": 0, "y": 256, "pixelRatio": 2.0}, "scree_very_large_4": {"width": 256, "height": 256, "x": 256, "y": 256, "pixelRatio": 2.0}, "scree_large_1": {"width": 128, "height": 128, "x": 512, "y": 0, "pixelRatio": 2.0}, "scree_large_2": {"width": 128, "height": 128, "x": 640, "y": 0, "pixelRatio": 2.0}, "scree_large_3": {"width": 128, "height": 128, "x": 768, "y": 0, "pixelRatio": 2.0}, "scree_large_4": {"width": 128, "height": 128, "x": 896, "y": 0, "pixelRatio": 2.0}, "wetland_blue": {"width": 128, "height": 128, "x": 512, "y": 256, "pixelRatio": 2.0}, "scree_medium_1": {"width": 64, "height": 64, "x": 640, "y": 256, "pixelRatio": 2.0}, "scree_medium_2": {"width": 64, "height": 64, "x": 704, "y": 256, "pixelRatio": 2.0}, "scree_medium_3": {"width": 64, "height": 64, "x": 768, "y": 256, "pixelRatio": 2.0}, "scree_medium_4": {"width": 64, "height": 64, "x": 832, "y": 256, "pixelRatio": 2.0}, "windturbine_grey": {"width": 48, "height": 64, "x": 896, "y": 256, "pixelRatio": 2.0}, "airplane_large_grey": {"width": 56, "height": 56, "x": 944, "y": 256, "pixelRatio": 2.0}, "airplane_medium_grey": {"width": 52, "height": 52, "x": 0, "y": 512, "pixelRatio": 2.0}, "communications_tower_grey": {"width": 36, "height": 52, "x": 52, "y": 512, "pixelRatio": 2.0}, "observation_tower_grey": {"width": 36, "height": 50, "x": 88, "y": 512, "pixelRatio": 2.0}, "airplane_small_grey": {"width": 48, "height": 48, "x": 124, "y": 512, "pixelRatio": 2.0}, "arrow_line_blue": {"width": 48, "height": 38, "x": 172, "y": 512, "pixelRatio": 2.0}, "golf_grey": {"width": 28, "height": 36, "x": 220, "y": 512, "pixelRatio": 2.0}, "arrow_blue": {"width": 12, "height": 32, "x": 248, "y": 512, "pixelRatio": 2.0}, "arrow_brown": {"width": 12, "height": 32, "x": 260, "y": 512, "pixelRatio": 2.0}, "arrow_grey": {"width": 12, "height": 32, "x": 272, "y": 512, "pixelRatio": 2.0}, "castle_grey": {"width": 20, "height": 32, "x": 284, "y": 512, "pixelRatio": 2.0}, "forkknife_crossed_grey": {"width": 34, "height": 32, "x": 304, "y": 512, "pixelRatio": 2.0}, "orchard_green": {"width": 32, "height": 32, "x": 338, "y": 512, "pixelRatio": 2.0}, "scree_small_1": {"width": 32, "height": 32, "x": 370, "y": 512, "pixelRatio": 2.0}, "scree_small_2": {"width": 32, "height": 32, "x": 402, "y": 512, "pixelRatio": 2.0}, "scree_small_3": {"width": 32, "height": 32, "x": 434, "y": 512, "pixelRatio": 2.0}, "scree_small_4": {"width": 32, "height": 32, "x": 466, "y": 512, "pixelRatio": 2.0}, "vinyard_green": {"width": 32, "height": 32, "x": 498, "y": 512, "pixelRatio": 2.0}, "viewpoint_grey": {"width": 36, "height": 30, "x": 530, "y": 512, "pixelRatio": 2.0}, "box_white_grey_casing_1": {"width": 24, "height": 28, "x": 566, "y": 512, "pixelRatio": 2.0}, "box_white_grey_casing_10": {"width": 120, "height": 28, "x": 590, "y": 512, "pixelRatio": 2.0}, "box_white_grey_casing_11": {"width": 132, "height": 28, "x": 710, "y": 512, "pixelRatio": 2.0}, "box_white_grey_casing_12": {"width": 144, "height": 28, "x": 842, "y": 512, "pixelRatio": 2.0}, "box_white_grey_casing_2": {"width": 36, "height": 28, "x": 986, "y": 512, "pixelRatio": 2.0}, "box_white_grey_casing_3": {"width": 44, "height": 28, "x": 0, "y": 564, "pixelRatio": 2.0}, "box_white_grey_casing_4": {"width": 56, "height": 28, "x": 44, "y": 564, "pixelRatio": 2.0}, "box_white_grey_casing_5": {"width": 68, "height": 28, "x": 100, "y": 564, "pixelRatio": 2.0}, "box_white_grey_casing_6": {"width": 76, "height": 28, "x": 168, "y": 564, "pixelRatio": 2.0}, "box_white_grey_casing_7": {"width": 88, "height": 28, "x": 244, "y": 564, "pixelRatio": 2.0}, "box_white_grey_casing_8": {"width": 100, "height": 28, "x": 332, "y": 564, "pixelRatio": 2.0}, "box_white_grey_casing_9": {"width": 108, "height": 28, "x": 432, "y": 564, "pixelRatio": 2.0}, "camping_grey": {"width": 32, "height": 28, "x": 540, "y": 564, "pixelRatio": 2.0}, "hospital_grey": {"width": 28, "height": 28, "x": 572, "y": 564, "pixelRatio": 2.0}, "cave_grey": {"width": 36, "height": 26, "x": 600, "y": 564, "pixelRatio": 2.0}, "helicopter_grey": {"width": 50, "height": 26, "x": 636, "y": 564, "pixelRatio": 2.0}, "circle_circle_dark_grey_12": {"width": 24, "height": 24, "x": 686, "y": 564, "pixelRatio": 2.0}, "circle_dark_grey_12": {"width": 24, "height": 24, "x": 710, "y": 564, "pixelRatio": 2.0}, "dot_circle_dark_grey_12": {"width": 24, "height": 24, "x": 734, "y": 564, "pixelRatio": 2.0}, "circle_circle_dark_grey_10": {"width": 20, "height": 20, "x": 758, "y": 564, "pixelRatio": 2.0}, "circle_dark_grey_10": {"width": 20, "height": 20, "x": 778, "y": 564, "pixelRatio": 2.0}, "dot_circle_dark_grey_10": {"width": 20, "height": 20, "x": 798, "y": 564, "pixelRatio": 2.0}, "waterfall_blue": {"width": 12, "height": 18, "x": 818, "y": 564, "pixelRatio": 2.0}, "circle_dark_grey_8": {"width": 16, "height": 16, "x": 830, "y": 564, "pixelRatio": 2.0}, "dot_circle_dark_grey_8": {"width": 16, "height": 16, "x": 846, "y": 564, "pixelRatio": 2.0}, "dot_dark_grey_8": {"width": 16, "height": 16, "x": 862, "y": 564, "pixelRatio": 2.0}, "square_red": {"width": 14, "height": 14, "x": 878, "y": 564, "pixelRatio": 2.0}, "circle_dark_grey_6": {"width": 12, "height": 12, "x": 892, "y": 564, "pixelRatio": 2.0}, "dot_circle_dark_grey_6": {"width": 12, "height": 12, "x": 904, "y": 564, "pixelRatio": 2.0}, "dot_dark_grey_6": {"width": 12, "height": 12, "x": 916, "y": 564, "pixelRatio": 2.0}, "circle_dark_grey_4": {"width": 8, "height": 8, "x": 928, "y": 564, "pixelRatio": 2.0}, "dot_blue": {"width": 8, "height": 8, "x": 936, "y": 564, "pixelRatio": 2.0}, "dot_dark_grey_4": {"width": 8, "height": 8, "x": 944, "y": 564, "pixelRatio": 2.0}, "dot_red": {"width": 8, "height": 8, "x": 952, "y": 564, "pixelRatio": 2.0}, "dot_dark_grey_3": {"width": 6, "height": 6, "x": 960, "y": 564, "pixelRatio": 2.0}, "line_blue_long": {"width": 48, "height": 4, "x": 966, "y": 564, "pixelRatio": 2.0}, "line_blue_short": {"width": 36, "height": 4, "x": 0, "y": 592, "pixelRatio": 2.0}} diff --git a/ui/public/map/sprites/sprite@2x.png b/ui/public/map/sprites/sprite@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..ccdcd7a00219723c69d884d9a09c874349fbe055 GIT binary patch literal 107258 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 literal 0 HcmV?d00001 diff --git a/ui/src/assets/babs/32/ABCDekontaminationsstelle.svg b/ui/src/assets/babs/32/ABCDekontaminationsstelle.svg new file mode 100644 index 00000000..2dbe140c --- /dev/null +++ b/ui/src/assets/babs/32/ABCDekontaminationsstelle.svg @@ -0,0 +1,23 @@ + + + + + + + + + + + + + + + + + + + + + + + diff --git a/ui/src/assets/babs/32/AbsperrungVerkehrswege.svg b/ui/src/assets/babs/32/AbsperrungVerkehrswege.svg new file mode 100644 index 00000000..e698c506 --- /dev/null +++ b/ui/src/assets/babs/32/AbsperrungVerkehrswege.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/ui/src/assets/babs/32/Angehoerigensammelstelle.svg b/ui/src/assets/babs/32/Angehoerigensammelstelle.svg new file mode 100644 index 00000000..a17be83f --- /dev/null +++ b/ui/src/assets/babs/32/Angehoerigensammelstelle.svg @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/ui/src/assets/babs/32/Atomunfall.svg b/ui/src/assets/babs/32/Atomunfall.svg new file mode 100644 index 00000000..3314968a --- /dev/null +++ b/ui/src/assets/babs/32/Atomunfall.svg @@ -0,0 +1,36 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/ui/src/assets/babs/32/Autounfall.svg b/ui/src/assets/babs/32/Autounfall.svg new file mode 100644 index 00000000..660799b8 --- /dev/null +++ b/ui/src/assets/babs/32/Autounfall.svg @@ -0,0 +1,41 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/ui/src/assets/babs/32/BLaboratorium.svg b/ui/src/assets/babs/32/BLaboratorium.svg new file mode 100644 index 00000000..01b7ce46 --- /dev/null +++ b/ui/src/assets/babs/32/BLaboratorium.svg @@ -0,0 +1,11 @@ + + + + + + + + + + + diff --git a/ui/src/assets/babs/32/BeabsichtigteErkundung.svg b/ui/src/assets/babs/32/BeabsichtigteErkundung.svg new file mode 100644 index 00000000..045dd9ed --- /dev/null +++ b/ui/src/assets/babs/32/BeabsichtigteErkundung.svg @@ -0,0 +1,4 @@ + + + + diff --git a/ui/src/assets/babs/32/BeabsichtigteVerschiebung.svg b/ui/src/assets/babs/32/BeabsichtigteVerschiebung.svg new file mode 100644 index 00000000..1067a5e2 --- /dev/null +++ b/ui/src/assets/babs/32/BeabsichtigteVerschiebung.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/ui/src/assets/babs/32/BeabsichtigterEinsatz.svg b/ui/src/assets/babs/32/BeabsichtigterEinsatz.svg new file mode 100644 index 00000000..0d5eb40b --- /dev/null +++ b/ui/src/assets/babs/32/BeabsichtigterEinsatz.svg @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/ui/src/assets/babs/32/Beobachtung.svg b/ui/src/assets/babs/32/Beobachtung.svg new file mode 100644 index 00000000..b95b7dfe --- /dev/null +++ b/ui/src/assets/babs/32/Beobachtung.svg @@ -0,0 +1,4 @@ + + + + diff --git a/ui/src/assets/babs/32/Beschaedigung.svg b/ui/src/assets/babs/32/Beschaedigung.svg new file mode 100644 index 00000000..5664489e --- /dev/null +++ b/ui/src/assets/babs/32/Beschaedigung.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/ui/src/assets/babs/32/Betreuungsstelle.svg b/ui/src/assets/babs/32/Betreuungsstelle.svg new file mode 100644 index 00000000..21b67fe4 --- /dev/null +++ b/ui/src/assets/babs/32/Betreuungsstelle.svg @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/ui/src/assets/babs/32/Betriebsstoffabgabestelle.svg b/ui/src/assets/babs/32/Betriebsstoffabgabestelle.svg new file mode 100644 index 00000000..19952672 --- /dev/null +++ b/ui/src/assets/babs/32/Betriebsstoffabgabestelle.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/ui/src/assets/babs/32/Bezirksfuehrungsorgan.svg b/ui/src/assets/babs/32/Bezirksfuehrungsorgan.svg new file mode 100644 index 00000000..2f50b3c5 --- /dev/null +++ b/ui/src/assets/babs/32/Bezirksfuehrungsorgan.svg @@ -0,0 +1,14 @@ + + + + + + + + + + + + + + diff --git a/ui/src/assets/babs/32/Biounfall.svg b/ui/src/assets/babs/32/Biounfall.svg new file mode 100644 index 00000000..2ab525cc --- /dev/null +++ b/ui/src/assets/babs/32/Biounfall.svg @@ -0,0 +1,36 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/ui/src/assets/babs/32/Bombenanschlag.svg b/ui/src/assets/babs/32/Bombenanschlag.svg new file mode 100644 index 00000000..d1d771d6 --- /dev/null +++ b/ui/src/assets/babs/32/Bombenanschlag.svg @@ -0,0 +1,20 @@ + + + + + + + + + + + + + + + + + + + + diff --git a/ui/src/assets/babs/32/Bombendrohung.svg b/ui/src/assets/babs/32/Bombendrohung.svg new file mode 100644 index 00000000..d4d38e40 --- /dev/null +++ b/ui/src/assets/babs/32/Bombendrohung.svg @@ -0,0 +1,22 @@ + + + + + + + + + + + + + + + + + + + + + + diff --git a/ui/src/assets/babs/32/Brand.svg b/ui/src/assets/babs/32/Brand.svg new file mode 100644 index 00000000..bc367542 --- /dev/null +++ b/ui/src/assets/babs/32/Brand.svg @@ -0,0 +1,36 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/ui/src/assets/babs/32/Brandanschlag.svg b/ui/src/assets/babs/32/Brandanschlag.svg new file mode 100644 index 00000000..8e1d7f8c --- /dev/null +++ b/ui/src/assets/babs/32/Brandanschlag.svg @@ -0,0 +1,41 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/ui/src/assets/babs/32/BrandeinzelnesGebaeudeFlamme.svg b/ui/src/assets/babs/32/BrandeinzelnesGebaeudeFlamme.svg new file mode 100644 index 00000000..a99c5474 --- /dev/null +++ b/ui/src/assets/babs/32/BrandeinzelnesGebaeudeFlamme.svg @@ -0,0 +1,4 @@ + + + + diff --git a/ui/src/assets/babs/32/BranduebergriffErfolgt.svg b/ui/src/assets/babs/32/BranduebergriffErfolgt.svg new file mode 100644 index 00000000..84a7e343 --- /dev/null +++ b/ui/src/assets/babs/32/BranduebergriffErfolgt.svg @@ -0,0 +1,4 @@ + + + + diff --git a/ui/src/assets/babs/32/BranduebergriffGefahr.svg b/ui/src/assets/babs/32/BranduebergriffGefahr.svg new file mode 100644 index 00000000..177f3ce2 --- /dev/null +++ b/ui/src/assets/babs/32/BranduebergriffGefahr.svg @@ -0,0 +1,4 @@ + + + + diff --git a/ui/src/assets/babs/32/Chemieunfall.svg b/ui/src/assets/babs/32/Chemieunfall.svg new file mode 100644 index 00000000..a232c5dc --- /dev/null +++ b/ui/src/assets/babs/32/Chemieunfall.svg @@ -0,0 +1,36 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/ui/src/assets/babs/32/Chemikalien.svg b/ui/src/assets/babs/32/Chemikalien.svg new file mode 100644 index 00000000..7d1bb3ff --- /dev/null +++ b/ui/src/assets/babs/32/Chemikalien.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/ui/src/assets/babs/32/Debriefingstelle.svg b/ui/src/assets/babs/32/Debriefingstelle.svg new file mode 100644 index 00000000..eb73fcbb --- /dev/null +++ b/ui/src/assets/babs/32/Debriefingstelle.svg @@ -0,0 +1,14 @@ + + + + + + + + + + + + + + diff --git a/ui/src/assets/babs/32/Demogewaltlos.svg b/ui/src/assets/babs/32/Demogewaltlos.svg new file mode 100644 index 00000000..305a1e9d --- /dev/null +++ b/ui/src/assets/babs/32/Demogewaltlos.svg @@ -0,0 +1,36 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/ui/src/assets/babs/32/Demogewaltsam.svg b/ui/src/assets/babs/32/Demogewaltsam.svg new file mode 100644 index 00000000..678fcc51 --- /dev/null +++ b/ui/src/assets/babs/32/Demogewaltsam.svg @@ -0,0 +1,109 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/ui/src/assets/babs/32/Drohung.svg b/ui/src/assets/babs/32/Drohung.svg new file mode 100644 index 00000000..ae922771 --- /dev/null +++ b/ui/src/assets/babs/32/Drohung.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/ui/src/assets/babs/32/Duerre.svg b/ui/src/assets/babs/32/Duerre.svg new file mode 100644 index 00000000..7147ddd6 --- /dev/null +++ b/ui/src/assets/babs/32/Duerre.svg @@ -0,0 +1,36 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/ui/src/assets/babs/32/DurchgefuehrteErkundung.svg b/ui/src/assets/babs/32/DurchgefuehrteErkundung.svg new file mode 100644 index 00000000..55f4a07a --- /dev/null +++ b/ui/src/assets/babs/32/DurchgefuehrteErkundung.svg @@ -0,0 +1,4 @@ + + + + diff --git a/ui/src/assets/babs/32/DurchgefuehrteVerschiebung.svg b/ui/src/assets/babs/32/DurchgefuehrteVerschiebung.svg new file mode 100644 index 00000000..897d4376 --- /dev/null +++ b/ui/src/assets/babs/32/DurchgefuehrteVerschiebung.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/ui/src/assets/babs/32/DurchgefuehrterEinsatz.svg b/ui/src/assets/babs/32/DurchgefuehrterEinsatz.svg new file mode 100644 index 00000000..7c2799c8 --- /dev/null +++ b/ui/src/assets/babs/32/DurchgefuehrterEinsatz.svg @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/ui/src/assets/babs/32/EingesperrteAbgeschnittene.svg b/ui/src/assets/babs/32/EingesperrteAbgeschnittene.svg new file mode 100644 index 00000000..93a4100c --- /dev/null +++ b/ui/src/assets/babs/32/EingesperrteAbgeschnittene.svg @@ -0,0 +1,4 @@ + + + + diff --git a/ui/src/assets/babs/32/Einsatz.svg b/ui/src/assets/babs/32/Einsatz.svg new file mode 100644 index 00000000..45ea2977 --- /dev/null +++ b/ui/src/assets/babs/32/Einsatz.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/ui/src/assets/babs/32/Einsatzleiter.svg b/ui/src/assets/babs/32/Einsatzleiter.svg new file mode 100644 index 00000000..2c487521 --- /dev/null +++ b/ui/src/assets/babs/32/Einsatzleiter.svg @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/ui/src/assets/babs/32/Einsatzleitung.svg b/ui/src/assets/babs/32/Einsatzleitung.svg new file mode 100644 index 00000000..ee6e3670 --- /dev/null +++ b/ui/src/assets/babs/32/Einsatzleitung.svg @@ -0,0 +1,11 @@ + + + + + + + + + + + diff --git a/ui/src/assets/babs/32/Einsatzraum.svg b/ui/src/assets/babs/32/Einsatzraum.svg new file mode 100644 index 00000000..18ebad21 --- /dev/null +++ b/ui/src/assets/babs/32/Einsatzraum.svg @@ -0,0 +1,4 @@ + + + + diff --git a/ui/src/assets/babs/32/Einsatzzentrale.svg b/ui/src/assets/babs/32/Einsatzzentrale.svg new file mode 100644 index 00000000..19630ca6 --- /dev/null +++ b/ui/src/assets/babs/32/Einsatzzentrale.svg @@ -0,0 +1,13 @@ + + + + + + + + + + + + + diff --git a/ui/src/assets/babs/32/Eisenbahnunglueck.svg b/ui/src/assets/babs/32/Eisenbahnunglueck.svg new file mode 100644 index 00000000..d7f0a8f8 --- /dev/null +++ b/ui/src/assets/babs/32/Eisenbahnunglueck.svg @@ -0,0 +1,36 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/ui/src/assets/babs/32/Energieausfall.svg b/ui/src/assets/babs/32/Energieausfall.svg new file mode 100644 index 00000000..3e482552 --- /dev/null +++ b/ui/src/assets/babs/32/Energieausfall.svg @@ -0,0 +1,36 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/ui/src/assets/babs/32/Epidemie.svg b/ui/src/assets/babs/32/Epidemie.svg new file mode 100644 index 00000000..ef499a1f --- /dev/null +++ b/ui/src/assets/babs/32/Epidemie.svg @@ -0,0 +1,36 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/ui/src/assets/babs/32/Erdbeben.svg b/ui/src/assets/babs/32/Erdbeben.svg new file mode 100644 index 00000000..3879844f --- /dev/null +++ b/ui/src/assets/babs/32/Erdbeben.svg @@ -0,0 +1,36 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/ui/src/assets/babs/32/Erdrutsch.svg b/ui/src/assets/babs/32/Erdrutsch.svg new file mode 100644 index 00000000..e2903763 --- /dev/null +++ b/ui/src/assets/babs/32/Erdrutsch.svg @@ -0,0 +1,36 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/ui/src/assets/babs/32/Explosion.svg b/ui/src/assets/babs/32/Explosion.svg new file mode 100644 index 00000000..32b8e0fc --- /dev/null +++ b/ui/src/assets/babs/32/Explosion.svg @@ -0,0 +1,4 @@ + + + + diff --git a/ui/src/assets/babs/32/ExplosionGefahr.svg b/ui/src/assets/babs/32/ExplosionGefahr.svg new file mode 100644 index 00000000..697daffd --- /dev/null +++ b/ui/src/assets/babs/32/ExplosionGefahr.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/ui/src/assets/babs/32/Fluechtlinge.svg b/ui/src/assets/babs/32/Fluechtlinge.svg new file mode 100644 index 00000000..a19f5c91 --- /dev/null +++ b/ui/src/assets/babs/32/Fluechtlinge.svg @@ -0,0 +1,41 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/ui/src/assets/babs/32/Flugzeugabsturz.svg b/ui/src/assets/babs/32/Flugzeugabsturz.svg new file mode 100644 index 00000000..adb66e3d --- /dev/null +++ b/ui/src/assets/babs/32/Flugzeugabsturz.svg @@ -0,0 +1,36 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/ui/src/assets/babs/32/Gas.svg b/ui/src/assets/babs/32/Gas.svg new file mode 100644 index 00000000..5195ba9f --- /dev/null +++ b/ui/src/assets/babs/32/Gas.svg @@ -0,0 +1,7 @@ + + + + + + + diff --git a/ui/src/assets/babs/32/Gebaeudeeinsturz.svg b/ui/src/assets/babs/32/Gebaeudeeinsturz.svg new file mode 100644 index 00000000..8cbc8251 --- /dev/null +++ b/ui/src/assets/babs/32/Gebaeudeeinsturz.svg @@ -0,0 +1,18 @@ + + + + + + + + + + + + + + + + + + diff --git a/ui/src/assets/babs/32/GefahrElektrizitaet.svg b/ui/src/assets/babs/32/GefahrElektrizitaet.svg new file mode 100644 index 00000000..6a3fcad2 --- /dev/null +++ b/ui/src/assets/babs/32/GefahrElektrizitaet.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/ui/src/assets/babs/32/GefahrdurchLoeschenmitWasser.svg b/ui/src/assets/babs/32/GefahrdurchLoeschenmitWasser.svg new file mode 100644 index 00000000..d2bc854a --- /dev/null +++ b/ui/src/assets/babs/32/GefahrdurchLoeschenmitWasser.svg @@ -0,0 +1,7 @@ + + + + + + + diff --git a/ui/src/assets/babs/32/GefahrentafelmitUNNummer.svg b/ui/src/assets/babs/32/GefahrentafelmitUNNummer.svg new file mode 100644 index 00000000..3bad582e --- /dev/null +++ b/ui/src/assets/babs/32/GefahrentafelmitUNNummer.svg @@ -0,0 +1,14 @@ + + + + + + + + + + + + + + diff --git a/ui/src/assets/babs/32/GefahrfuerGrundwasser.svg b/ui/src/assets/babs/32/GefahrfuerGrundwasser.svg new file mode 100644 index 00000000..4941f62b --- /dev/null +++ b/ui/src/assets/babs/32/GefahrfuerGrundwasser.svg @@ -0,0 +1,4 @@ + + + + diff --git a/ui/src/assets/babs/32/Gemeindefuehrungsorgan.svg b/ui/src/assets/babs/32/Gemeindefuehrungsorgan.svg new file mode 100644 index 00000000..14e5318b --- /dev/null +++ b/ui/src/assets/babs/32/Gemeindefuehrungsorgan.svg @@ -0,0 +1,14 @@ + + + + + + + + + + + + + + diff --git a/ui/src/assets/babs/32/Gruppe.svg b/ui/src/assets/babs/32/Gruppe.svg new file mode 100644 index 00000000..e0c58507 --- /dev/null +++ b/ui/src/assets/babs/32/Gruppe.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/ui/src/assets/babs/32/Gruppenfuehrer.svg b/ui/src/assets/babs/32/Gruppenfuehrer.svg new file mode 100644 index 00000000..1e75eaec --- /dev/null +++ b/ui/src/assets/babs/32/Gruppenfuehrer.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/ui/src/assets/babs/32/Helikopterlandeplatz.svg b/ui/src/assets/babs/32/Helikopterlandeplatz.svg new file mode 100644 index 00000000..f011b38d --- /dev/null +++ b/ui/src/assets/babs/32/Helikopterlandeplatz.svg @@ -0,0 +1,7 @@ + + + + + + + diff --git a/ui/src/assets/babs/32/Informationsstelle.svg b/ui/src/assets/babs/32/Informationsstelle.svg new file mode 100644 index 00000000..47ac715e --- /dev/null +++ b/ui/src/assets/babs/32/Informationsstelle.svg @@ -0,0 +1,7 @@ + + + + + + + diff --git a/ui/src/assets/babs/32/Informationszentrum.svg b/ui/src/assets/babs/32/Informationszentrum.svg new file mode 100644 index 00000000..c9468c36 --- /dev/null +++ b/ui/src/assets/babs/32/Informationszentrum.svg @@ -0,0 +1,7 @@ + + + + + + + diff --git a/ui/src/assets/babs/32/Infrastrukturschaden.svg b/ui/src/assets/babs/32/Infrastrukturschaden.svg new file mode 100644 index 00000000..35cd198e --- /dev/null +++ b/ui/src/assets/babs/32/Infrastrukturschaden.svg @@ -0,0 +1,19 @@ + + + + + + + + + + + + + + + + + + + diff --git a/ui/src/assets/babs/32/KGSNotdepot.svg b/ui/src/assets/babs/32/KGSNotdepot.svg new file mode 100644 index 00000000..f4a34313 --- /dev/null +++ b/ui/src/assets/babs/32/KGSNotdepot.svg @@ -0,0 +1,13 @@ + + + + + + + + + + + + + diff --git a/ui/src/assets/babs/32/KGSNotlager.svg b/ui/src/assets/babs/32/KGSNotlager.svg new file mode 100644 index 00000000..18dc5df7 --- /dev/null +++ b/ui/src/assets/babs/32/KGSNotlager.svg @@ -0,0 +1,13 @@ + + + + + + + + + + + + + diff --git a/ui/src/assets/babs/32/KGSSammelpunkt.svg b/ui/src/assets/babs/32/KGSSammelpunkt.svg new file mode 100644 index 00000000..d60bbe2a --- /dev/null +++ b/ui/src/assets/babs/32/KGSSammelpunkt.svg @@ -0,0 +1,15 @@ + + + + + + + + + + + + + + + diff --git a/ui/src/assets/babs/32/Kadaversammelstelle.svg b/ui/src/assets/babs/32/Kadaversammelstelle.svg new file mode 100644 index 00000000..40e94a8c --- /dev/null +++ b/ui/src/assets/babs/32/Kadaversammelstelle.svg @@ -0,0 +1,14 @@ + + + + + + + + + + + + + + diff --git a/ui/src/assets/babs/32/Kanalisationsausfall.svg b/ui/src/assets/babs/32/Kanalisationsausfall.svg new file mode 100644 index 00000000..c7de5b3d --- /dev/null +++ b/ui/src/assets/babs/32/Kanalisationsausfall.svg @@ -0,0 +1,12 @@ + + + + + + + + + + + + diff --git a/ui/src/assets/babs/32/KantonalesFuehrungsorgan.svg b/ui/src/assets/babs/32/KantonalesFuehrungsorgan.svg new file mode 100644 index 00000000..f930978c --- /dev/null +++ b/ui/src/assets/babs/32/KantonalesFuehrungsorgan.svg @@ -0,0 +1,14 @@ + + + + + + + + + + + + + + diff --git a/ui/src/assets/babs/32/KommandopostenFront.svg b/ui/src/assets/babs/32/KommandopostenFront.svg new file mode 100644 index 00000000..1c5b8f61 --- /dev/null +++ b/ui/src/assets/babs/32/KommandopostenFront.svg @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/ui/src/assets/babs/32/KommandopostenRueckwaertiges.svg b/ui/src/assets/babs/32/KommandopostenRueckwaertiges.svg new file mode 100644 index 00000000..5704e6f3 --- /dev/null +++ b/ui/src/assets/babs/32/KommandopostenRueckwaertiges.svg @@ -0,0 +1,12 @@ + + + + + + + + + + + + diff --git a/ui/src/assets/babs/32/Kommunikationsstoerung.svg b/ui/src/assets/babs/32/Kommunikationsstoerung.svg new file mode 100644 index 00000000..55a4bbe9 --- /dev/null +++ b/ui/src/assets/babs/32/Kommunikationsstoerung.svg @@ -0,0 +1,36 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/ui/src/assets/babs/32/Kompanie.svg b/ui/src/assets/babs/32/Kompanie.svg new file mode 100644 index 00000000..4fa8d073 --- /dev/null +++ b/ui/src/assets/babs/32/Kompanie.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/ui/src/assets/babs/32/Kontrollstelle.svg b/ui/src/assets/babs/32/Kontrollstelle.svg new file mode 100644 index 00000000..2011a0f7 --- /dev/null +++ b/ui/src/assets/babs/32/Kontrollstelle.svg @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/ui/src/assets/babs/32/Kontrollzentrum.svg b/ui/src/assets/babs/32/Kontrollzentrum.svg new file mode 100644 index 00000000..c661267f --- /dev/null +++ b/ui/src/assets/babs/32/Kontrollzentrum.svg @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/ui/src/assets/babs/32/Lawine.svg b/ui/src/assets/babs/32/Lawine.svg new file mode 100644 index 00000000..669193ad --- /dev/null +++ b/ui/src/assets/babs/32/Lawine.svg @@ -0,0 +1,36 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/ui/src/assets/babs/32/Massenpanik.svg b/ui/src/assets/babs/32/Massenpanik.svg new file mode 100644 index 00000000..26f7dd40 --- /dev/null +++ b/ui/src/assets/babs/32/Massenpanik.svg @@ -0,0 +1,56 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/ui/src/assets/babs/32/Materialdepot.svg b/ui/src/assets/babs/32/Materialdepot.svg new file mode 100644 index 00000000..b82aadbd --- /dev/null +++ b/ui/src/assets/babs/32/Materialdepot.svg @@ -0,0 +1,7 @@ + + + + + + + diff --git a/ui/src/assets/babs/32/MobileEinsatzzentrale.svg b/ui/src/assets/babs/32/MobileEinsatzzentrale.svg new file mode 100644 index 00000000..42a2c480 --- /dev/null +++ b/ui/src/assets/babs/32/MobileEinsatzzentrale.svg @@ -0,0 +1,12 @@ + + + + + + + + + + + + diff --git a/ui/src/assets/babs/32/Obdachlose.svg b/ui/src/assets/babs/32/Obdachlose.svg new file mode 100644 index 00000000..3c4af213 --- /dev/null +++ b/ui/src/assets/babs/32/Obdachlose.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/ui/src/assets/babs/32/Oelverschmutzung.svg b/ui/src/assets/babs/32/Oelverschmutzung.svg new file mode 100644 index 00000000..33ea3a46 --- /dev/null +++ b/ui/src/assets/babs/32/Oelverschmutzung.svg @@ -0,0 +1,36 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/ui/src/assets/babs/32/OffizierZugfuehrer.svg b/ui/src/assets/babs/32/OffizierZugfuehrer.svg new file mode 100644 index 00000000..a699a47a --- /dev/null +++ b/ui/src/assets/babs/32/OffizierZugfuehrer.svg @@ -0,0 +1,7 @@ + + + + + + + diff --git a/ui/src/assets/babs/32/Patientensammelstelle.svg b/ui/src/assets/babs/32/Patientensammelstelle.svg new file mode 100644 index 00000000..22c89b8f --- /dev/null +++ b/ui/src/assets/babs/32/Patientensammelstelle.svg @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/ui/src/assets/babs/32/PatternBeabsichtigteErkundung.svg b/ui/src/assets/babs/32/PatternBeabsichtigteErkundung.svg new file mode 100644 index 00000000..cd70fe01 --- /dev/null +++ b/ui/src/assets/babs/32/PatternBeabsichtigteErkundung.svg @@ -0,0 +1,4 @@ + + + + diff --git a/ui/src/assets/babs/32/PatternBrandzone.svg b/ui/src/assets/babs/32/PatternBrandzone.svg new file mode 100644 index 00000000..31505c0b --- /dev/null +++ b/ui/src/assets/babs/32/PatternBrandzone.svg @@ -0,0 +1,35 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/ui/src/assets/babs/32/PatternLineBeabsichtigteErkundung.svg b/ui/src/assets/babs/32/PatternLineBeabsichtigteErkundung.svg new file mode 100644 index 00000000..a3c8bf4a --- /dev/null +++ b/ui/src/assets/babs/32/PatternLineBeabsichtigteErkundung.svg @@ -0,0 +1,4 @@ + + + + diff --git a/ui/src/assets/babs/32/PatternLineErkundung.svg b/ui/src/assets/babs/32/PatternLineErkundung.svg new file mode 100644 index 00000000..7c345e72 --- /dev/null +++ b/ui/src/assets/babs/32/PatternLineErkundung.svg @@ -0,0 +1,4 @@ + + + + diff --git a/ui/src/assets/babs/32/PatternLineRettungsachse.svg b/ui/src/assets/babs/32/PatternLineRettungsachse.svg new file mode 100644 index 00000000..4e1bb365 --- /dev/null +++ b/ui/src/assets/babs/32/PatternLineRettungsachse.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/ui/src/assets/babs/32/PatternLineRutschgebiet.svg b/ui/src/assets/babs/32/PatternLineRutschgebiet.svg new file mode 100644 index 00000000..a503480b --- /dev/null +++ b/ui/src/assets/babs/32/PatternLineRutschgebiet.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/ui/src/assets/babs/32/PatternLineRutschgebietGespiegelt.svg b/ui/src/assets/babs/32/PatternLineRutschgebietGespiegelt.svg new file mode 100644 index 00000000..276308a3 --- /dev/null +++ b/ui/src/assets/babs/32/PatternLineRutschgebietGespiegelt.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/ui/src/assets/babs/32/PatternLineUnpassierbar.svg b/ui/src/assets/babs/32/PatternLineUnpassierbar.svg new file mode 100644 index 00000000..36153581 --- /dev/null +++ b/ui/src/assets/babs/32/PatternLineUnpassierbar.svg @@ -0,0 +1,4 @@ + + + + diff --git a/ui/src/assets/babs/32/PatternZerstoert.svg b/ui/src/assets/babs/32/PatternZerstoert.svg new file mode 100644 index 00000000..cedaea63 --- /dev/null +++ b/ui/src/assets/babs/32/PatternZerstoert.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/ui/src/assets/babs/32/Pforte.svg b/ui/src/assets/babs/32/Pforte.svg new file mode 100644 index 00000000..e4d2ae94 --- /dev/null +++ b/ui/src/assets/babs/32/Pforte.svg @@ -0,0 +1,4 @@ + + + + diff --git a/ui/src/assets/babs/32/Pluenderung.svg b/ui/src/assets/babs/32/Pluenderung.svg new file mode 100644 index 00000000..c4a89034 --- /dev/null +++ b/ui/src/assets/babs/32/Pluenderung.svg @@ -0,0 +1,41 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/ui/src/assets/babs/32/RadioaktiveStoffe.svg b/ui/src/assets/babs/32/RadioaktiveStoffe.svg new file mode 100644 index 00000000..1969e584 --- /dev/null +++ b/ui/src/assets/babs/32/RadioaktiveStoffe.svg @@ -0,0 +1,4 @@ + + + + diff --git a/ui/src/assets/babs/32/RegionalesFuehrungsorgan.svg b/ui/src/assets/babs/32/RegionalesFuehrungsorgan.svg new file mode 100644 index 00000000..0c84aec8 --- /dev/null +++ b/ui/src/assets/babs/32/RegionalesFuehrungsorgan.svg @@ -0,0 +1,14 @@ + + + + + + + + + + + + + + diff --git a/ui/src/assets/babs/32/RettungsAchse.svg b/ui/src/assets/babs/32/RettungsAchse.svg new file mode 100644 index 00000000..831474f3 --- /dev/null +++ b/ui/src/assets/babs/32/RettungsAchse.svg @@ -0,0 +1,4 @@ + + + + diff --git a/ui/src/assets/babs/32/Rutschgebiet.svg b/ui/src/assets/babs/32/Rutschgebiet.svg new file mode 100644 index 00000000..d9389db5 --- /dev/null +++ b/ui/src/assets/babs/32/Rutschgebiet.svg @@ -0,0 +1,4 @@ + + + + diff --git a/ui/src/assets/babs/32/Sabotage.svg b/ui/src/assets/babs/32/Sabotage.svg new file mode 100644 index 00000000..3dc01182 --- /dev/null +++ b/ui/src/assets/babs/32/Sabotage.svg @@ -0,0 +1,36 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/ui/src/assets/babs/32/Sammelstelle.svg b/ui/src/assets/babs/32/Sammelstelle.svg new file mode 100644 index 00000000..09c6b0ed --- /dev/null +++ b/ui/src/assets/babs/32/Sammelstelle.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/ui/src/assets/babs/32/Sanitaetshilfsstelle.svg b/ui/src/assets/babs/32/Sanitaetshilfsstelle.svg new file mode 100644 index 00000000..5282bb79 --- /dev/null +++ b/ui/src/assets/babs/32/Sanitaetshilfsstelle.svg @@ -0,0 +1,7 @@ + + + + + + + diff --git a/ui/src/assets/babs/32/Sanitaetsumladestelle.svg b/ui/src/assets/babs/32/Sanitaetsumladestelle.svg new file mode 100644 index 00000000..b3ec0b64 --- /dev/null +++ b/ui/src/assets/babs/32/Sanitaetsumladestelle.svg @@ -0,0 +1,7 @@ + + + + + + + diff --git a/ui/src/assets/babs/32/Schadengebiet.svg b/ui/src/assets/babs/32/Schadengebiet.svg new file mode 100644 index 00000000..d28d396d --- /dev/null +++ b/ui/src/assets/babs/32/Schadengebiet.svg @@ -0,0 +1,4 @@ + + + + diff --git a/ui/src/assets/babs/32/Sperre.svg b/ui/src/assets/babs/32/Sperre.svg new file mode 100644 index 00000000..7e1b732d --- /dev/null +++ b/ui/src/assets/babs/32/Sperre.svg @@ -0,0 +1,20 @@ + + + + + + + + + + + + + + + + + + + + diff --git a/ui/src/assets/babs/32/StandortmobileFuehrungsstelle.svg b/ui/src/assets/babs/32/StandortmobileFuehrungsstelle.svg new file mode 100644 index 00000000..41b00d38 --- /dev/null +++ b/ui/src/assets/babs/32/StandortmobileFuehrungsstelle.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/ui/src/assets/babs/32/Starkniederschlag.svg b/ui/src/assets/babs/32/Starkniederschlag.svg new file mode 100644 index 00000000..3d39ca5b --- /dev/null +++ b/ui/src/assets/babs/32/Starkniederschlag.svg @@ -0,0 +1,60 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/ui/src/assets/babs/32/Stau.svg b/ui/src/assets/babs/32/Stau.svg new file mode 100644 index 00000000..cced949e --- /dev/null +++ b/ui/src/assets/babs/32/Stau.svg @@ -0,0 +1,11 @@ + + + + + + + + + + + diff --git a/ui/src/assets/babs/32/Strerschwertbefahrbarbegehbar.svg b/ui/src/assets/babs/32/Strerschwertbefahrbarbegehbar.svg new file mode 100644 index 00000000..9dbeff50 --- /dev/null +++ b/ui/src/assets/babs/32/Strerschwertbefahrbarbegehbar.svg @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/ui/src/assets/babs/32/Streugutsammelstelle.svg b/ui/src/assets/babs/32/Streugutsammelstelle.svg new file mode 100644 index 00000000..0af0c24b --- /dev/null +++ b/ui/src/assets/babs/32/Streugutsammelstelle.svg @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/ui/src/assets/babs/32/Strnichtbefahrbarschwerbegehbar.svg b/ui/src/assets/babs/32/Strnichtbefahrbarschwerbegehbar.svg new file mode 100644 index 00000000..febbd47d --- /dev/null +++ b/ui/src/assets/babs/32/Strnichtbefahrbarschwerbegehbar.svg @@ -0,0 +1,14 @@ + + + + + + + + + + + + + + diff --git a/ui/src/assets/babs/32/Strunpassierbargesperrt.svg b/ui/src/assets/babs/32/Strunpassierbargesperrt.svg new file mode 100644 index 00000000..294350d7 --- /dev/null +++ b/ui/src/assets/babs/32/Strunpassierbargesperrt.svg @@ -0,0 +1,33 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/ui/src/assets/babs/32/Stuetzpunkt.svg b/ui/src/assets/babs/32/Stuetzpunkt.svg new file mode 100644 index 00000000..48668777 --- /dev/null +++ b/ui/src/assets/babs/32/Stuetzpunkt.svg @@ -0,0 +1,20 @@ + + + + + + + + + + + + + + + + + + + + diff --git a/ui/src/assets/babs/32/Sturm.svg b/ui/src/assets/babs/32/Sturm.svg new file mode 100644 index 00000000..982fc9e8 --- /dev/null +++ b/ui/src/assets/babs/32/Sturm.svg @@ -0,0 +1,36 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/ui/src/assets/babs/32/Tankloeschfahrzeug.svg b/ui/src/assets/babs/32/Tankloeschfahrzeug.svg new file mode 100644 index 00000000..83fa78b1 --- /dev/null +++ b/ui/src/assets/babs/32/Tankloeschfahrzeug.svg @@ -0,0 +1,12 @@ + + + + + + + + + + + + diff --git a/ui/src/assets/babs/32/Teilzerstoerung.svg b/ui/src/assets/babs/32/Teilzerstoerung.svg new file mode 100644 index 00000000..fad72401 --- /dev/null +++ b/ui/src/assets/babs/32/Teilzerstoerung.svg @@ -0,0 +1,7 @@ + + + + + + + diff --git a/ui/src/assets/babs/32/Terroranschlag.svg b/ui/src/assets/babs/32/Terroranschlag.svg new file mode 100644 index 00000000..a6225bfa --- /dev/null +++ b/ui/src/assets/babs/32/Terroranschlag.svg @@ -0,0 +1,36 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/ui/src/assets/babs/32/Tierseuche.svg b/ui/src/assets/babs/32/Tierseuche.svg new file mode 100644 index 00000000..211f313a --- /dev/null +++ b/ui/src/assets/babs/32/Tierseuche.svg @@ -0,0 +1,12 @@ + + + + + + + + + + + + diff --git a/ui/src/assets/babs/32/Totalzerstoerung.svg b/ui/src/assets/babs/32/Totalzerstoerung.svg new file mode 100644 index 00000000..2e90bff4 --- /dev/null +++ b/ui/src/assets/babs/32/Totalzerstoerung.svg @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/ui/src/assets/babs/32/Tote.svg b/ui/src/assets/babs/32/Tote.svg new file mode 100644 index 00000000..503a59db --- /dev/null +++ b/ui/src/assets/babs/32/Tote.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/ui/src/assets/babs/32/Totensammelstelle.svg b/ui/src/assets/babs/32/Totensammelstelle.svg new file mode 100644 index 00000000..4d2fdf62 --- /dev/null +++ b/ui/src/assets/babs/32/Totensammelstelle.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/ui/src/assets/babs/32/Trinkwasserabgabestelle.svg b/ui/src/assets/babs/32/Trinkwasserabgabestelle.svg new file mode 100644 index 00000000..c51ff5bd --- /dev/null +++ b/ui/src/assets/babs/32/Trinkwasserabgabestelle.svg @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/ui/src/assets/babs/32/TruemmerbereichSignatur.svg b/ui/src/assets/babs/32/TruemmerbereichSignatur.svg new file mode 100644 index 00000000..0a790cdc --- /dev/null +++ b/ui/src/assets/babs/32/TruemmerbereichSignatur.svg @@ -0,0 +1,4 @@ + + + + diff --git a/ui/src/assets/babs/32/Trupp.svg b/ui/src/assets/babs/32/Trupp.svg new file mode 100644 index 00000000..d4afeb94 --- /dev/null +++ b/ui/src/assets/babs/32/Trupp.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/ui/src/assets/babs/32/UeberschwemmtesGebiet.svg b/ui/src/assets/babs/32/UeberschwemmtesGebiet.svg new file mode 100644 index 00000000..931bcb8e --- /dev/null +++ b/ui/src/assets/babs/32/UeberschwemmtesGebiet.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/ui/src/assets/babs/32/Ueberschwemmung.svg b/ui/src/assets/babs/32/Ueberschwemmung.svg new file mode 100644 index 00000000..e6e578e5 --- /dev/null +++ b/ui/src/assets/babs/32/Ueberschwemmung.svg @@ -0,0 +1,36 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/ui/src/assets/babs/32/Ueberwachung.svg b/ui/src/assets/babs/32/Ueberwachung.svg new file mode 100644 index 00000000..681d7df5 --- /dev/null +++ b/ui/src/assets/babs/32/Ueberwachung.svg @@ -0,0 +1,4 @@ + + + + diff --git a/ui/src/assets/babs/32/Umleitung.svg b/ui/src/assets/babs/32/Umleitung.svg new file mode 100644 index 00000000..a7799d6e --- /dev/null +++ b/ui/src/assets/babs/32/Umleitung.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/ui/src/assets/babs/32/Unfall.svg b/ui/src/assets/babs/32/Unfall.svg new file mode 100644 index 00000000..f0173c9e --- /dev/null +++ b/ui/src/assets/babs/32/Unfall.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/ui/src/assets/babs/32/Verkehrsposten.svg b/ui/src/assets/babs/32/Verkehrsposten.svg new file mode 100644 index 00000000..9c905f87 --- /dev/null +++ b/ui/src/assets/babs/32/Verkehrsposten.svg @@ -0,0 +1,7 @@ + + + + + + + diff --git a/ui/src/assets/babs/32/Verletzte.svg b/ui/src/assets/babs/32/Verletzte.svg new file mode 100644 index 00000000..1c2f0ff4 --- /dev/null +++ b/ui/src/assets/babs/32/Verletzte.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/ui/src/assets/babs/32/Verletztennest.svg b/ui/src/assets/babs/32/Verletztennest.svg new file mode 100644 index 00000000..97d7ba58 --- /dev/null +++ b/ui/src/assets/babs/32/Verletztennest.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/ui/src/assets/babs/32/Vermisste.svg b/ui/src/assets/babs/32/Vermisste.svg new file mode 100644 index 00000000..c032b434 --- /dev/null +++ b/ui/src/assets/babs/32/Vermisste.svg @@ -0,0 +1,4 @@ + + + + diff --git a/ui/src/assets/babs/32/Verpflegungsabgabestelle.svg b/ui/src/assets/babs/32/Verpflegungsabgabestelle.svg new file mode 100644 index 00000000..946abb88 --- /dev/null +++ b/ui/src/assets/babs/32/Verpflegungsabgabestelle.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/ui/src/assets/babs/32/Verschiebung.svg b/ui/src/assets/babs/32/Verschiebung.svg new file mode 100644 index 00000000..3eefb0e8 --- /dev/null +++ b/ui/src/assets/babs/32/Verschiebung.svg @@ -0,0 +1,4 @@ + + + + diff --git a/ui/src/assets/babs/32/Wasservsgausfall.svg b/ui/src/assets/babs/32/Wasservsgausfall.svg new file mode 100644 index 00000000..a61fc8ad --- /dev/null +++ b/ui/src/assets/babs/32/Wasservsgausfall.svg @@ -0,0 +1,36 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/ui/src/assets/babs/32/Wasserwerfer.svg b/ui/src/assets/babs/32/Wasserwerfer.svg new file mode 100644 index 00000000..d541c470 --- /dev/null +++ b/ui/src/assets/babs/32/Wasserwerfer.svg @@ -0,0 +1,14 @@ + + + + + + + + + + + + + + diff --git a/ui/src/assets/babs/32/ZivilesFuehrungsorgan.svg b/ui/src/assets/babs/32/ZivilesFuehrungsorgan.svg new file mode 100644 index 00000000..b4c6f404 --- /dev/null +++ b/ui/src/assets/babs/32/ZivilesFuehrungsorgan.svg @@ -0,0 +1,14 @@ + + + + + + + + + + + + + + diff --git a/ui/src/assets/babs/32/Zug.svg b/ui/src/assets/babs/32/Zug.svg new file mode 100644 index 00000000..a9dc9de8 --- /dev/null +++ b/ui/src/assets/babs/32/Zug.svg @@ -0,0 +1,7 @@ + + + + + + + diff --git a/ui/src/assets/map/styles/ch.swisstopo.leichte-basiskarte-imagery.vt.json b/ui/src/assets/map/styles/ch.swisstopo.leichte-basiskarte-imagery.vt.json index 89f1414b..52efcf1c 100644 --- a/ui/src/assets/map/styles/ch.swisstopo.leichte-basiskarte-imagery.vt.json +++ b/ui/src/assets/map/styles/ch.swisstopo.leichte-basiskarte-imagery.vt.json @@ -567,11 +567,11 @@ "stops": [ [ 12, - "rgba(240, 60, 60, 1)" + "rgba(170, 170, 170, 1)" ], [ 15, - "rgba(240, 80, 85, 1)" + "rgba(170, 170, 170, 1)" ] ] }, @@ -2410,11 +2410,11 @@ "stops": [ [ 12, - "rgba(240, 60, 60, 1)" + "rgba(238, 234, 234, 1)" ], [ 15, - "rgba(240, 80, 85, 1)" + "rgba(116, 114, 114, 1)" ] ] }, @@ -3198,7 +3198,7 @@ "text-rotation-alignment": "map" }, "paint": { - "text-color": "rgba(255, 175, 180, 1)", + "text-color": "rgba(227, 227, 227, 1)", "text-halo-blur": 1, "text-halo-color": "rgba(32,32,32, 1)", "text-halo-width": [ @@ -3373,33 +3373,21 @@ "type": "line", "source": "base_v1.0.0", "source-layer": "transportation", - "minzoom": 12.0, + "minzoom": 12, "layout": { - "line-cap": "butt", "visibility": "visible" }, "paint": { - "line-blur": { - "stops": [ - [ - 14, - 0.6 - ], - [ - 18, - 0.4 - ] - ] - }, + "line-blur": 0.25, "line-color": { "stops": [ [ - 12, - "rgba(240, 60, 60, 1)" + 7, + "rgba(156, 155, 155, 1)" ], [ 15, - "rgba(240, 80, 85, 1)" + "rgba(106, 105, 105, 1)" ] ] }, @@ -3412,7 +3400,7 @@ "zoom" ], 8, - 1, + 0.2, 14, [ "match", @@ -3423,8 +3411,8 @@ [ "cable_car" ], - 1.5, - 1 + 2, + 0.75 ], 18, [ @@ -3436,7 +3424,7 @@ [ "cable_car" ], - 2, + 4, 1.5 ] ], @@ -3448,10 +3436,37 @@ [ "zoom" ], + 12, + 0, + 13, + [ + "match", + [ + "get", + "class" + ], + [ + "cable_car", + "gondola" + ], + 1, + 0 + ], 14, - 1, - 15, - 0.8 + [ + "match", + [ + "get", + "class" + ], + [ + "cable_car", + "gondola", + "chair_lift" + ], + 1, + 0 + ] ] }, "filter": [ @@ -3746,7 +3761,7 @@ "subclass" ], "railway_station", - "square_red", + "circle_dark_grey_6", "castle", "castle_white", "hospital", @@ -3811,16 +3826,7 @@ "text-letter-spacing": 0.03 }, "paint": { - "text-color": [ - "match", - [ - "get", - "subclass" - ], - "railway_station", - "rgba(255, 175, 180, 1)", - "rgba(255, 255, 250, 1)" - ], + "text-color": "rgba(240, 240, 240, 1)", "icon-opacity": [ "step", [ @@ -7018,7 +7024,16 @@ "ga:branch": "master" }, "glyphs": "/map/fonts/{fontstack}/{range}.pbf", - "sprite": "https://vectortiles.geo.admin.ch/styles/ch.swisstopo.imagerybasemap.vt/sprite/sprite", + "sprite": [ + { + "id": "default", + "url": "/map/sprites/sprite" + }, + { + "id": "babs", + "url": "/map/sprites/babs" + } + ], "bearing": 0.0, "pitch": 0.0, "center": [ diff --git a/ui/src/assets/map/styles/ch.swisstopo.leichte-basiskarte.vt.json b/ui/src/assets/map/styles/ch.swisstopo.leichte-basiskarte.vt.json index 79a642bd..3d3c78f5 100644 --- a/ui/src/assets/map/styles/ch.swisstopo.leichte-basiskarte.vt.json +++ b/ui/src/assets/map/styles/ch.swisstopo.leichte-basiskarte.vt.json @@ -14353,16 +14353,7 @@ "symbol-avoid-edges": true }, "paint": { - "text-color": [ - "match", - [ - "get", - "subclass" - ], - "railway_station", - "rgba(18, 16, 16, 1)", - "rgba(18, 16, 16, 1)" - ], + "text-color": "rgba(18, 16, 16, 1)", "text-opacity": 1, "text-halo-blur": 1, "text-halo-color": "rgba(242, 242, 242, 0.6)", @@ -16513,7 +16504,16 @@ "ga:branch": "master" }, "glyphs": "/map/fonts/{fontstack}/{range}.pbf", - "sprite": "https://vectortiles.geo.admin.ch/styles/ch.swisstopo.lightbasemap.vt/sprite/sprite", + "sprite": [ + { + "id": "default", + "url": "/map/sprites/sprite" + }, + { + "id": "babs", + "url": "/map/sprites/babs" + } + ], "bearing": 0.0, "pitch": 0.0, "center": [ diff --git a/ui/src/components/map/EnrichedLayerFeatures.tsx b/ui/src/components/map/EnrichedLayerFeatures.tsx index d2a75c07..a7d8a412 100644 --- a/ui/src/components/map/EnrichedLayerFeatures.tsx +++ b/ui/src/components/map/EnrichedLayerFeatures.tsx @@ -20,7 +20,7 @@ const enrichFeature = (f: Feature): Feature): Feature(null); + const [loaded, setLoaded] = useState(false); const mapStyle = useReactiveVar(selectedStyle); const [viewState, setViewState] = useState({ latitude: 46.87148, @@ -38,32 +39,27 @@ function MapView() { bearing: 0, }); + maplibregl.setMaxParallelImageRequests(150); + maplibregl.setWorkerCount(6); + const onMapLoad = useCallback(() => { + setLoaded(true); // Add the default marker let defaultMarker = new Image(32, 32); defaultMarker.onload = () => mapRef && mapRef.current && !mapRef.current.hasImage('default_marker') && mapRef.current.addImage('default_marker', defaultMarker); defaultMarker.src = DefaultMaker; - Object.values(AllIcons).forEach(icon => { - let customIcon = new Image(48, 48); - customIcon.onload = () => mapRef && mapRef.current && !mapRef.current.hasImage(icon.name) && mapRef.current.addImage(icon.name, customIcon) - customIcon.src = icon.src; - }); - mapRef && mapRef.current && mapRef.current.on('styleimagemissing', function (e) { - const id = e.id; - Object.values(Object.assign({}, AllIcons, LinePatterns, ZonePatterns)).filter(icon => id === icon.name).forEach(icon => { - let customIcon = new Image(icon.size, icon.size); - customIcon.src = icon.src; - customIcon.onload = () => mapRef && mapRef.current && !mapRef.current.hasImage(icon.name) && mapRef.current.addImage(icon.name, customIcon) - }); - }); + }, [mapRef, setLoaded]); - }, [mapRef]); + const mapClass = classNames({ + 'maplibre': true, + "container-flex": true, + }); return ( <>